Chapitre 3 Algorithme Module 1 : Premiers pas en algorithmique I structure d’un algorithme A) Représentation L’en-tête nom de l’algorithme Les déclarations constantes variables Les corps de l’algorithme Const : listes des constantes Varia : listes des variables Début Actions 1 Actions 2 Fin Remarque - tous les mots clés sont soulignés et écrits en minuscule - une marque de terminaison (;) est utilisée entre chaque action L’en-tête : il permet d’identifier un algorithme Les déclarations : c’est une liste exhaustive des objets utilisés et manipulés dans le corps d’algorithme ; cette liste est placée en début d’algorithme Les corps : dans cette partie de l’algorithme, sont placées les taches à exécuter Les commentaires pour permettre une interprétation aisée de l’algorithme B) Déclarations de constantes / de variables 1) les constantes Elles représentent des chiffres, les nombres, les chaines de caractères dont la valeur ne peut pas être modifiée au cours de l’exécution de l’algorithme. Mot clé : CONST 2) les variables Elles peuvent stocker des chiffres ; des nombres, des chaines de caractères dont la valeur peut être modifiée au cours de l’exécution de l’algorithme. Mot clé : VAR II les types de base Les caractéristiques des constantes et des variables et les types 1 l’entier ; notation 45,36- 564 décimal 45H- ofbh,64h en hexadécimal 10110100,1011 en binaire 2 le réel ; -3,67, 4.2569- 564.0, 18, 18.36, 100^-6 Mot clé : Réel 3 le boolean : il ne peut prendre que deux états : VRAI ou FAUX Mot clé : Boolean 4 le caractère « a » « A » « 7 » « ! » Mot clé : Char 5 Chaine de caractères « électroniques » « Cdrom » Mot clé : Chaine C STRING III les opérateurs Un opérateur est un signe qui relie deux valeurs, pour produire un résultat A) operateur par les entiers et les réels Arith : + addition ; - soustraction ; * multiplication ; / division ;… B) operateurs sur les entiers et les Booleens Mot clé ET Fonction ET OU Fonction OU OUx Fonction OU Exclusif NON et Fonction NON ET NON Fonction NON NON ou Fonction NON OU ≫ Décalage à droite ≪ Décalage à gauche C opérateurs sur les caractères et les chaines de caractères Fonction de concaténation + Concaténation D) Priorité des opérateurs Selon la priorité de l’opération à réaliser E) L’affectation Identification de la variable Notation variable Exemple : X expression 5 x reçoit la valeur 5 IV Les structures algorithmiques fondamentales A) Caractéristique de la structure linéaire La structure linéaire se caractérise par une suite d’action à exécuteur successivement dans l’ordre énoncé. Notation : faire action B) structure alternative la structure alternative n’offre que deux issues possibles à la poursuite de l’algorithme et s’exécutant naturellement. On peut rencontrer deux types de structures alternatives 1) une structure alternative complète Si la condition est vérifiée, seul le premier traitement est exécuté Si la condition n’est pas vérifiée, seul est effectué le 2nd traitement 2) une structure alternative réduite La structure réduite se distingue de la précédente par le fait que seule la situation correspondant à la validation de la condition entraine l’exécution au traitement l’autre situation conduisant systématiquement à la sortie de la structure. 1 SI Condition alors structure alternative réduite FSI 2 SI condition alors Structure alternative complète SI NON F SI Exemple Structure alternative complète SI si Note ≥ 12 alors AFFICHER « reçu avec mention » SI NON note ≤10 alors AFFICHER « passable » Sinon AFFICHER «Insuffisant » FIN Exemple 2 alternative complète Si abréviation= « M » alors afficher « Monsieur » Sinon SI abréviation « Mme » alors afficher « madame » Sinon Si abréviation « Mlle » alors Sinon afficher « mademoiselle » Fin si afficher « afficher « monsieur, madame » FIN SI C) caractéristiques de la structure itérative (ou répétitive) On constate 2 cas ; Premier cas : le nombre de répétitions n’est pas connu ou est variable On distingue 2 structures de bas 1 STRUCTURE REPETER JUSQU'A Dans cette structure, le traitement est exécuté une première fois plus par répétition se poursuit jusqu'à ce que la condition soit vérifiée. L’action est toujours exécutée au mois une fois. 2 STRUCTURE TANT QUE… FAIRE… Dans cette condition, on commence par tester la condition, si elle est vérifiée, le traitement est exécuté. NOTATION : TANT QUE condition faire / action FIN TANT QUE Deuxième cas : le nombre de répétitions est connu. STRUCTURE POUR … DE … A … FAIRE NOTATION : pour varier de débit à fin par n parts 3) les tableaux a) définition Un ensemble de valeurs portant le même nom de variables et repères par un nombre, s’appelle un tableau ou encore une variable. Le nombre qui, au sein d’un tableau sert à repérer chaque valeur s’appelle l’indice Chaque fois que l’on doit désigner un élément du tableau, on fait figurer le nom du tableau, suivi de l’indice de l’élément entre parenthèses. Syntaxe : tableau note (12) en entier Note 1 Note 2 …. Note 12 b) notation et utilisation algorithmique Dans notre exemple, nous créerons dans un tableau appelé « note », chaque note individuelle chaque élément du tableau noté sera désignée note 1, note 2… note 12 Attention : les indices des tableaux commencent généralement à 0 et non à 1 Un tableau doit être déclaré en précisant le nombre et le type de valeurs qu’il contiendra. (La déclaration des tableaux est susceptible de varier d’un langage à un autre) Les cases sont numérotées à partir de zéro, autrement dit le plus petit indice est zéro Lors de la déclaration d’un tableau, on précise la plus grande valeur de l’indice (Différente, donc, du nombre de cases du tableau, si on veut 12 emplacements, le plus grand indice sera 11) Tableau note (11) en numérique Début Pour i ← 0 à 11 Ecrire « entrez la note n » Lire note (i) Suivant FIN Exercice 1 Ecrire un algorithme qui déclare et remplisse un tableau de 7 valeurs numériques en le mettant toutes à 0. Tableau remplissage (6) en variable i numérique Début Pour i ← 0 à 6 Remplissage (i) ← 0,1 suivant FIN 0 0 0 0 0 0 Exercice 2 Ecrire un algorithme qui déclare et remplisse un tableau contenant les 6 voyelles de l’alphabet latin. Tableau voyelle (S) en caractère variable Début Voyelle (0)= a Voyelle (1)= e Voyelle (2)= i Voyelle (3)= o Voyelle (4)= u Voyelle (5)= y FIN Exercice 3 Ecrire un algorithme qui déclare un tableau de 9 notes, dont on fait ensuite saisir les valeurs par l’utilisation Solution Tableau Notes (8) en numérique, variable i en numérique Debut Pour i=0 a 8 Ecrire «entrez la note i » Lire notes (i) I suivant FIN Tableau nb(5) en entier Début Pour i← 0 à 5 Nb (i) ← i*i ; I suivant; Pour I ← 0 à 5 Ecrire Nb(i) I suivant FIN 0 1 2 3 4 5 0 1 4 9 16 25 Nb0← 0 * 0 = 0 Nb1← 1 ∗ 1 = 1 Nb2← 2 ∗ 2 = 4 Nb3 ← 3 * 3 = 9 Nb4← 4 * 4 = 16 Nb5 ← 5 * 5 = 25 Cet algorithme remplit un tableau de six valeurs : 0,1,4,9,16,25 Il les écrits ensuite à l’écran Exercice 5 Que produit l’algorithme suivant Tableau N(6) en entier ; variables i , k en entier Début n(0) ← 1 Pour k← 1 à 6 n(K) ← n(K-1) +2 k suivant Pour i← 0 à 6 Écrire N(i) i suivant Fin 3 I=1 5 I=2 7 I=3 I=4 I=5 I=6 N(1) ← N (1-1) +2= N(0) +2= 1+2=3 N(2) ← N(2-1) + 2= N(1) +2= 5 N(3) ← N(3-1) + 2= N(2) +2= 7 N(4) ← N(4-1) + 2= N(3) +2= 9 etc Exercice 6 Que produit l’algorithme suivant ? Tableau suite (7) en entier ; variable i en entier ; Debut Suite (0) ← 1 Suite (1) ← 1 Pour i ← 2 à 7 Suite (i) ← suite (i-1) + suite (i-2) I suivant Pour i← 0 à 7 Ecrire suite (i) I suivant Fin 0 1 1 1 2 2 3 3 4 5 5 8 I=2 I(2) ← suite (2-1) + suite (2-2) = suite (1)+ suite (0)= 1+1= 2 I(3) ← suite (3-1) + suite (3-2) = suite (2)+ suite (1)= 2+1= 3 6 13 7 21 I(4) ← suite (4-1) + suite (4-2) = suite (3)+ suite (2)= 3+2= 5 I(5) ← suite (5-1) + suite (5-2) = suite (4)+ suite (3)= 8+5= 13 I(7) ← suite (7-1) + suite (7-2) = suite (6)+ suite (5)= 13+8= 21 Cet algorithme remplit le tableau (suite) de 8 valeurs… et ensuite il les saisit à l’écran. Exercice 7 Ecrivez un algorithme, calculant la somme des valeurs d’un tableau (on suppose que le tableau a été préalablement saisi) Tableau T(N-1) en numérique vars : som, i, N en numérique Début Som ← 0 Pour i ← 0 à 𝑁 − 1 Som ← 𝑠𝑜𝑚 + T(i) I suivant Ecrire somme des éléments du tableau Fin Exercice 8 ECRIVEZ 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 de deux tableaux de départ. 4 7 11 8 6 14 7 5 12 Tableau T1(7) en numérique Tableau T2 (7) en numérique 9 2 11 1 1 2 5 3 8 4 7 11 6 4 10 Tableau T3(7) en numérique Variable i,j,k en numérique Début Pour i←0 à 7 Pour j ← 0à 7 T3(K) ← T1+T2 I suivant J suivant K suivant FIn