Exercices Algorithmiques

Slides:



Advertisements
Présentations similaires
Les carrés et les racines carrées
Advertisements

La Méthode de Simplexe Standardisation
Les Structures.
Introduction a L’algorithme
Tris.
?...1…-13…( )…+…-… …-(-2)…-(5-7)…-2+6…? Boîte à outils :
1 CNAM Vendredi 29 Novembre 2002 Bases de Données Avancées UV C Responsable : Mr Scholl PROTOCOLE A DEUX PHASES Meryem Guerrouani.
Algorithmique (suite)
Portée des variables VBA & Excel
Fonctions & procédures
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
M. DELTA A ETE CHOISI CETTE ANNEE PAR LE RECTEUR POUR CORRIGER LEPREUVE DE MATHEMATIQUE DU DPECF (DIPLÔME PREPARATOIRE AUX ETUDES COMPTABLES ET FINANCIERE).
EXERCICE 2.1 : APRES AVOIR DEMANDE LA SAISIE DUN NOMBRE POSITIF (ERREUR DE SAISIE A TRAITER). AFFICHER LE DECOMPTE EN PARTANT DE CE NOMBRE JUSQUÀ ARRIVER.
DECLARATION DE VARIABLES
But de l’exercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
But de lexercice 3.1 PREPARER UN ALGORITHME QUI EFFECTUE DEUX TACHES IMPORTANTES : PREMIERE TACHE : Grâce à la fonction aléatoire, un nombre compris entre.
? ? En mémoire vive : I NB ALGORITHME EXERCICE 4 ETAPE 2 DEBUT
BUT DE LALGORITHME Afficher la table de multiplication dune valeur saisie au clavier (valeur comprise entre 1 et 9). Gérer lerreur de saisie.
Programme de seconde 2009 Géométrie
Algorithmique et évaluation
La logique algorithmique
LA LOGIQUE ALGORITHMIQUE. Algorithme Définition Ensemble dopérations Effectuées dans un ordre logique Afin dobtenir un résultat, Afin de résoudre un problème.
Exercice 1 Pour être admis en crèche, un enfant doit avoir moins de 3 ans. Les variables retenues sont les suivantes: AnnéeNaissance, Annéeactuelle.
Algorithmique Résume.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
Les Structures. Introduction : Imaginons que lon veuille afficher les notes dune classe délèves par ordre croissant avec les noms et prénoms de chaque.
Les Algorithmes de tri.
Problème de 8 dames: Sachant que dans un jeu des échecs, une dame peut pendre toute pièce se trouvant sur la colonne ou sur la ligne ou sur les diagonales.
VBA Les tableaux correction du TD du mardi 11 mars 2008 correction du TD du mardi 11 mars 2008.
Lecture et Ecriture.
VBA / Excel TP 6 La boucle FOR.
et évaluation des compétences
Tableaux Certains problèmes nécessitent beaucoup de variables du même type. Exemple : relevé de températures matin et soir dans 10 villes pour 10 jours.
Section VIII Modularité Partie II
Quelques algorithmes au lycée…
Initiation à la programmation et algorithmique cours 3
Lycée Louis Vincent SEANCE 6 Python Les listes Lundi 25 novembre 2013.
Section VI Structures répétitives (suite)
Les bases de l’Algorithmique
Partie 1 Etude de l'existant
Récursivité.
Probabilités.
Un algorithme Dans un distributeur automatique de monnaie, on ne trouve que des billets de 10 et 5 €, des pièces de 2 et 1 €. Dans ce distributeur, on.
Les éléments de base de l’algorithmique
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
Algorithmes et résolution de problèmes FGE
Les pointeurs Modes d’adressage de variables. Définition d’un pointeur. Opérateurs de base. Opérations élémentaires. Pointeurs et tableaux. Pointeurs et.
Les Algorithmes de Tri Introduction Tri par Sélection
Parcours d'une séquence de longueur fixe
Programmation linéaire en nombres entiers : les méthodes de troncature
Question 1 Une série d'échantillons sont analysés dans un laboratoire. On constate que la teneur en carbone des différents échantillons varie d'un échantillon.
1 Notations Asymptotiques Et Complexité Notations asymptotiques : 0 et  Complexité des algorithmes Exemples de calcul de complexité.
Institut de Formation aux Métiers de l’industrie Automobile.
Déclaration des données constantes Déclaration des données variables
Université de Sherbrooke
Organisation des données Introduction à la programmation Traitements simples Affectation Parcours Définition du tableau Les Tableaux Mise en situation.
Cours LCS N°4 Présenté par Mr: LALLALI
Les fichiers 1ère partie
CPI/BTS 2 Algorithmique & Programmation La récursivité Algo – Prog CPI/BTS2 – M. Dravet – 14/09/2003 Dernière modification: 14/09/2003.
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 13 Gestion des applications Technologie de l’information (LEA.BW)
Algorithmique Tableaux de données
02/10/2015Les structures de contrôle1 COURS A2I12 Initiation à l'algorithmique illustrée par le langage C Guillaume BOURLET Département GEII IUT Sénart/Fontainebleau.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
Transcription de la présentation:

Exercices Algorithmiques

Structure Itérative Exercice Écrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse convienne.

Début Variable N : Entier N  0 Saisir “Entrez un nombre entre 1 et 3”; N TantQue N < 1 ou N > 3 Faire               Afficher “Saisie erronée. Recommencez” FinTq Fin

Exercice Écrire un algorithme qui demande un nombre compris entre 10 et 20, jusqu’à ce que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaître un message : « Plus petit ! », et inversement, « Plus grand ! » si le nombre est inférieur à 10.

Debut Variable N : Entier N  0 Saisir “Entrez un nombre entre 10 et 20” ; N TantQue N < 10 ou N > 20 Faire         Si N < 10 Alors        Afficher “Plus grand !”      Sinon       Afficher “Plus petit !”   Finsi FinTantQue Fin

Exercice Écrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera les nombres de 18 à 27.

Début Variables N, i : Entier Saisir “Entrez un nombre : ”; N Afficher “Les 10 nombres suivants sont : ” Pour i = N + 1 à N + 10     Afficher i Fin Pour équivalent à (ii+1) Fin

Écrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table de multiplication de ce nombre, présentée comme suit (cas où l'utilisateur entre le nombre 7) : Table de 7 : 7 x 1 = 7 7 x 2 = 14 7 x 3 = 21 … 7 x 10 = 70

Debut Variables N, i : Entier Saisir “Entrez un nombre : ” ; N Ecrire “La table de multiplication de ce nombre est : ” Pour i = 1 à 10     Afficher N;“x”;i; “ = ”; N*i Fin Pour Fin

Ecrire un algorithme qui demande un nombre de départ, et qui calcule la somme des entiers jusqu’à ce nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 + 4 + 5 = 15

Debut Variables N, i, Somme : Entier Saisir “Entrez un nombre : ” ; N Somme  0 Pour i = 1 à N      Somme  Somme + i Fin Pour Afficher “La somme est : ”, Somme Fin

Ecrire un algorithme qui demande un nombre de départ, et qui calcule sa factorielle. NB : la factorielle de 8, notée 8 !, vaut  1 x 2 x 3 x 4 x 5 x 6 x 7 x 8

Debut Variables N, i, F : Entier Saisir “Entrez un nombre : ”; N F  1 Pour i = 2 à N      F F * i Fin Pour Afficher “La factorielle est : ”, F Fin

Écrire un algorithme qui demande successivement 5 nombres à l’utilisateur, afin de déterminer quel était le plus grand parmi ces 5 nombres : Entrez le nombre numéro 1 : 12 Entrez le nombre numéro 2 : 14 Etc. Entrez le nombre numéro 5 : 6 Le plus grand de ces nombres est  : 14 Modifiez ensuite l’algorithme pour que le programme affiche de surcroît en quelle position avait été saisie ce nombre : C’était le nombre numéro 2

Début Variables N, i, PG : Entier PG <- 0 Pour i <- 1 à 20     Saisir “Entrez un nombre : ”; i; “=”; N         Si N > PG Alors           PG <- N     FinSi Fin Pour Ecrire “Le nombre le plus grand était : ”, PG Fin

Version Améliorée Début Variables N, i, PG, IPG : Entier PG  0 Pour i  1 à 5     Saisir “Entrez un nombre : ” ; N     Si N > PG Alors           PG  N           IPG  i     FinSi Fin Pour Ecrire “Le nombre le plus grand était : ”, PG Ecrire “Il a été saisi en position numéro ”, IPG Fin

Réécrire l’algorithme précédent, mais cette fois-ci on ne connaît pas d’avance combien l’utilisateur souhaite saisir de nombres. La saisie des nombres s’arrête lorsque l’utilisateur entre un zéro.

Début Variables N, i, PG, IPG : Entier N 1 i  1 PG <- 0 TantQue N <> 0     Saisir “Entrez un nombre : ”; N              Si N > PG Alors           PG  N           IPG  i     FinSi i  i + 1 FinTantQue Ecrire “Le nombre le plus grand était : ”, PG Ecrire “Il a été saisi en position numéro ”, IPG Fin

Lire la suite des prix (en euros entiers et terminée par zéro) des achats d’un client. Calculer la somme qu’il doit, lire la somme qu’il paye, et simuler la remise de la monnaie en affichant les textes « 10 E », « 5 E » et « 1 E » autant de fois qu’il y a de coupures de chaque sorte à rendre.

Début VariablesMT, somdue, MV, IPG, Reste, Nb10, Nb5 : Entier MT  1 somdue <- 0 TantQue MT <> 0     Saisir “Entrez le montant : ” ; MT      somdue  somdue + MT FinTantQue Afficher “Vous devez :”,MT Saisir ”Montant versé :”; MV Reste  MV – MT Nb10  0 TantQue Reste >= 10      Nb10  Nb10 + 1      Reste  Reste – 10 Nb5  0 Si Reste >= 5      Nb5  1      Reste  Reste – 5 FinSi Ecrire “Rendu de la monnaie :” Ecrire “Pièces de 10 E : ”, Nb10 Ecrire “Pièces de  5 E: ”, Nb5 Ecrire “Pièces de  1 E : ”, reste Fin

Fin de cette Partie

- Les Tableaux et Vecteurs

Écrire un algorithme qui déclare et remplisse un Vecteur de 7 valeurs numériques en les mettant toutes à zéro.

Tableau Truc(7), i : Entier Debut dim truc(7) as Integer Pour i  0 à 6 For i = 0 to 6      Truc(i)  0 truc(i) = 0 Fin Pour next i Fin

Écrire un algorithme qui déclare et remplisse un vecteur contenant les six voyelles de l’alphabet latin.

Tableau Truc(6) : Chaine Debut Truc(0)  “a” Truc(1)  ”e“ Truc(2)  ”i“ Truc(3)  ”o“ Truc(4)  ”u“ Truc(5)  ”y“ Fin

Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisateur.

Début Tableau Notes(9) : Entier Variable i : Entier Pour i  0 à 8      Saisir "Entrez la note numéro ", i + 1; Notes(i) Fin Pour Fin

Que produit l’algorithme suivant ? Début Tableau Nb(6) : Entier Variable i : Entier Pour i  0 à 5      Nb(i)  i * i Fpour      Afficher Nb(i) Finpour Fin

Cet algorithme remplit un tableau avec six valeurs : 0, 1, 4, 9, 16, 25. Il les écrit ensuite à l’écran.

Que produit l’algorithme suivant ? Début Tableau N(7) : Entier Variables i, k : Entier N(0)  1 Pour k  1 à 6      N(k)  N(k-1) + 2 FinPour Pour i 0 à 6      Afficher N(i) Fin

Cet algorithme remplit un tableau avec les sept valeurs : 1, 3, 5, 7, 9, 11, 13. Il les écrit ensuite à l’écran

Que produit l’algorithme suivant ? Début Tableau Suite(7) : Entier Variable i en Entier Suite(0)  1 Suite(1)  1 Pour i  2 à 6      Suite(i)  Suite(i-1) + Suite(i-2) Fin Pour Pour i  0 à 6      Afficher Suite(i) Fin

Cet algorithme remplit un tableau de 7 valeurs : 1, 1, 2, 3, 5, 8, 13

Vecteur etTableaux dynamiques Il arrive fréquemment que l’on ne connaisse pas à l’avance le nombre d’éléments que devra comporter un tableau. Bien sûr, une solution consisterait à déclarer un tableau gigantesque. Mais d’une part, on n’en sera jamais parfaitement sûr, d’autre part, en raison de l’immensité de la place mémoire réservée – et la plupart du temps non utilisée, c’est un gâchis préjudiciable à la rapidité, voire à la viabilité, de notre algorithme. Aussi, pour parer à ce genre de situation, a-t-on la possibilité de déclarer le tableau sans préciser au départ son nombre d’éléments. Ce n’est que dans un second temps, au cours du programme, que l’on va fixer ce nombre via une instruction de dimensionnement : Redim. Notez que tant qu’on n’a pas précisé le nombre d’éléments d’un tableau, d’une manière ou d’une autre, ce tableau est inutilisable. Ex: Tableau Notes() : Entier Variable nb en Entier Saisir “Combien y a-t-il de notes à saisir ?“, nb Redim Notes(nb)

Ecrivez un algorithme permettant à l’utilisateur de saisir un nombre quelconque de valeurs, qui devront être stockées dans un tableau. L’utilisateur doit donc commencer par entrer le nombre de valeurs qu’il compte saisir. Il effectuera ensuite cette saisie. Enfin, une fois la saisie terminée, le programme affichera le nombre de valeurs négatives et le nombre de valeurs positives.

Debut Variables Nb, Nbpos, Nbneg en Entier Tableau T() : Entier Saisir “Entrez le nombre de valeurs :“; NB Redim T(Nb) Nbpos  0 Nbneg  0 Pour i  0 à Nb - 1      Saisir “Entrez le nombre n° “, T(i)           Si T(i) > 0 alors           Nbpos  Nbpos + 1      Sinon si T(i) <0 alors           Nbneg  Nbneg + 1 Finsi       Finsi Fin Pour Ecrire “Nombre de valeurs positives : “, Nbpos Ecrire “Nombre de valeurs négatives : “, Nbneg Fin

Ecrivez un algorithme calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi). on ne programme pas la saisie du tableau, dont on suppose qu’il compte N éléments Tableau T() : Entier

Variables i, Som, N : Entier Tableau T() : Entier Saisir “Entrez le nombre de valeurs :“; N Redim T(N) … Som  0 Pour i  0 à N - 1      Som  Som + T(i) Fin Pour Ecrire “Somme des éléments du tableau : “, Som Fin

Écrivez un algorithme constituant un tableau, à partir de deux tableaux de même longueur préalablement saisis. Le nouveau tableau sera la somme des éléments des deux tableaux de départ. (on suppose que T1 et T2 comptent N éléments, et qu’ils sont déjà saisis) EX : Tableaux T1(), T2(), T3() en Entier Exemple : Tableau 1 :                                4 – 8 – 7 – 9 – 1 – 5 – 4 – 6 Tableau 2 :                                7 – 6 – 5 – 2 – 1 – 3 – 7 – 4 Tableau à constituer :     11 – 14 – 12 – 11 – 2 – 8 – 11 - 10

Debut Variables i, N en Entier Tableaux T1(), T2(), T3() en Entier … (on suppose que T1 et T2 comptent N éléments, et qu’ils sont déjà saisis) Redim T3(N) … Pour i  0 à N - 1      T3(i)  T1(i) + T2(i) Afficher T3(I) Fpour Fin

Toujours à partir de deux tableaux précédemment saisis, écrivez un algorithme qui calcule le Gone des deux tableaux. Pour calculer le Gone, il faut multiplier chaque élément du tableau 1 par chaque élément du tableau 2, et additionner le tout. Exemple : Tableau 1 :                     4 – 8 – 7  - 12 Tableau 2 :                     3 – 6 Le Gone : 3*4 + 3*8 + 3*7 + 3*12 + 6*4 + 6*8 + 6*7 + 6*12 = 279

Début Variables i, j, N1, N2, S en Entier Tableaux T1(), T2() en Entier N12 N24 … On ne programme pas la saisie des tableaux T1 et T2.     On suppose que T1 possède N1 éléments, et que T2 en possède N2 éléments … S <- 0 Pour i  0 à N1 – 1 soit (1)      Pour j  0 à N2 – 1 soit (3)           S  S + T1(i) * T2(j)      Fin Pour Fin Pour Ecrire "Le Gone est de : ", S Fin

Ecrivez un algorithme qui permette la saisie d’un nombre quelconque de valeurs, Toutes les valeurs doivent être ensuite augmentées de 1, et le nouveau tableau sera affiché à l’écran. L’utilisateur déterminera la taille du vecteur

Debut Variables Nb, i : Entier Tableau T() : Entier Saisir “Entrez le nombre de valeurs :“ ; Nb Redim T(Nb ) Pour i  0 à Nb - 1     Saisir “Entrez le nombre n° “, i; T(I) +1  Fin Pour Afficher "Nouveau tableau :" Pour i <- 0 à Nb – 1      T(i) <- T(i) + 1 ( autre solution A supprimer éventuellement )      Afficher T(i) Finpour Fin

Ecrivez un algorithme permettant, toujours sur le même principe, à l’utilisateur de saisir un nombre déterminé de valeurs. Le programme, une fois la saisie terminée, renvoie la plus grande valeur en précisant quelle position elle occupe dans le tableau. On prendra soin d’effectuer la saisie dans un premier temps, et la recherche de la plus grande valeur du tableau dans un second temps.

Variables Nb, Posmaxi : Entier Tableau T() en Entier Saisir “Entrez le nombre de valeurs :“; Nb Redim T(Nb) Pour i  0 à Nb - 1      Saisir “Entrez le nombre n° “, i + 1; T(i) Fin Pour Posmaxi  0 Pour i  1 à Nb - 1      Si T(i) > T(Posmaxi) alors           Posmaxi  i      Finsi Ecrire “Element le plus grand : “, T(Posmaxi) Ecrire “Position de cet élément : “, Posmaxi Fin

Toujours et encore sur le même principe, écrivez un algorithme permettant, à l’utilisateur de saisir les notes d'une classe. Le programme, une fois la saisie terminée, renvoie le nombre de ces notes supérieures à la moyenne de la classe.

Debut Variables Nb, i, Som, Moy, Nbsup : Entier Tableau T() en Entier Saisir “Entrez le nombre de notes à saisir : “; Nb Redim T(Nb ) Pour i  0 à Nb - 1      Saisir “Entrez le nombre n° “, i + 1 FinPour Som  0      Som  Som + T(i) Fin Pour Moy  Som / Nb NbSup  0 Pour i <- 0 à Nb - 1      Si T(i) > Moy Alors           NbSup - NbSup + 1      FinSi Ecrire NbSup, " élèves dépassent la moyenne de la classe" Fin

Fin De cette Partie