Ce cours gratuit d’algorithme traite les instructions répétitives (les boucles)
cours et tutoriel algorithme / exercises algorithme / formation algorithme / initiation à la programmation
Lire ce cours en premier si vous êtes débutants
Les primitives itératives constituent des boucles qui répètent l’exécution d’un même bloc d’instructions un certain nombre de fois. Ce nombre est soit précisé à l’avance soit il dépendra de l’évolution de l’action algorithmique effectuée par le bloc à répéter.
Pour que la structure d’une boucle soit correcte, il faut qu’elle soit composée de quatre blocs élémentaires ou segments:
Bloc d’initialisation de la boucle : il sert comme point de départ des itérations,
Bloc de processus itératif ou corps de la boucle:il contient toutes les instructions à répéter à chaque itération,
Bloc de progression ou régression de l’indice (compteur de la boucle) : c’est un compteur qui fait évoluer la boucle,
Bloc de test de continuation : il effectue le contrôle pour décider la continuation ou l’arrêt de la récurrence.
En programmation,on distingue deux grands types de boucles:
5.2.1.Cas où le nombre d’itération n’est connu à l’avance.
Le nombre d’itérations du corps de la boucle n est pas connu à l’avance, mais il dépend de la réalisation d’une certaine condition au cours du traitement.
On distingue deux types d’instructions :
le test de contrôle est effectué au début de la boucle,
le test de contrôle est effectué à la fin de la boucle.
Tantvque condition de continuation Faire Actions |
Fin Tantque |
Les instructions seront exécutées tant que la condition est vérifiée (valeur booléenne Vrai).
Le test est effectué à l’entrée de la boucle, donc les instructions peuvent être exécutées zéro fois si la condition est fausse à l’entrée de la boucle.
Remarque:
On peut avoir avec la même instruction “Ecrire” l’affichage d’un ou plusieurs messages et d’une ou plusieurs variables.
Exemple 2:
Ecrire (‘ la somme des deux nombres ‘ , a , ‘ et’ , b , ‘ est :’, S); Si a = 2 et b = 5, l’instruction ci-dessus s’exécutera ainsi :
La somme des deux nombres 2 et 5 est : 7
1)Soit trois nombres réels saisis au clavier. Ecrire un algorithme permettant d’effectuer : leur somme, leur produit et leur moyenne.
2) Ecrire un algorithme qui lit successivement 4 chiffres (allant de 0 à 9) sur le clavier et affiche à l’écran, le nombre formé par ces 4 chiffres après l’avoir calculé et stocké en mémoire sous le nom Nre_forme. (Exemple: si les 4 chiffres sont: 3, 5, 2,8 alors le nombre formé est : Nbre_forme = 3528).
Proposer 3 méthodes différentes.
3) Permutation circulaire de deux nombres :
Ecrire un algorithme qui lit les valeurs de deux variables X et Y,puis change ces valeurs mutuellement et affiche à l’écran les nouvelles valeurs de X et Y.
Remarque :
une somme calculée par itération est obligatoirement initialisée à 0,
un produit calculé par itération est obligatoirement initialisée à 1.
Organigramme:
Var : anc_nom,nov_nom :chaînes de 15 caractères; nbr :entier;
Début
Lire(anc_nom);
Lire(nov_nom);
nbr← -2; Tantque anc_nom<>nov_nom Faire Anc_nom nov_nom; Lire(nov_nom); nbr<_nbr+1; FinTantque.
Ecrire(nbr);
Fin
En programmation l’instruction de boucles la plus fondamentale est Tantque, en effet, toutes les autres boucles peuvent s’écrire avec la boucle Tantque.
Répéter |
Instructions ; |
Jusqu’à condition ; |
En programmation l’instruction de boucles la plus fondamentale est Tantque, en effet, toutes les autres boucles peuvent s’écrire avec la boucle Tantque.
Répéter |
Instructions ; |
Jusqu’à condition ; |
Les instructions délimitées par Répéter
et jusqu’à seront exécutées jusqu’à ce que la condition soit vérifiée (valeur booléenne Vrai).
Le test est effectué à la fin de la boucle, donc les instructions sont exécutées au moins une fois même si la condition est fausse dès l’entrée de la boucle.
Dans un cinéma, on désire calculer la moyenne d’âges de personnes s’intéressant à voir un film particulier.
Pour finir, l’utilisateur doit répondre par ‘N’ à la question posé par l’algorithme : “Encore une autre personne (O/N) ?”
Et on doit afficher la moyenne d’âges à l’écran.
Analyse du problème :
âges de personnes:age la moyenne d’âges:M_age La somme des ages :S_age Compteur du nombre de personnes:NP Réponse à la question:rep
Entrées
Sorties
Intermédiaires:
Ecrire un algorithme permettant de calculer la somme et la moyenne des N premiers nombres entiers.
S=1+2+3+…+N
Analyse du problème:
Entrées le nombre N
Sorties -la somme S
-la moyenne Moy
Formules S<-S+i,i=1 jusqu’àN fois Moy← S/N
On a besoin d’un compteur i qui doit s’ajouter à chaque fois à S et qui varie entre l et N.
Var
N,S,i:entiers;
Début Moy :réel;
Ecrire(S) ;
Ecrire(Moy);
Fin
Cas où le nombre d’itération est connu à l’avance.
Lorsque le nombre d’itération est connu à l’avance, on utilise l’instruction Pour…Faire…FinPour.
Pour variable de controle borne1 à borne2 Faire
Instructions;
FinPour
Remarque:
Lorsque bornel est inférieur à borne2, il s’agit d’une boucle progressive (incrémentation). Dans le cas contraire, il s’agit d’une boucle régressive (décrémentation).
un nombre connu de fois.
En effet, la progression ou la
régression de la valeur de la
variable de contrôle (ici I) se
fait automatiquement et
s’incrémente par défaut de 1.
la variable de contrôle doit être déclarée,
la valeur de la variable de contrôle à la sortie de la boucle est la valeur finale (borne2)
le contenu de la variable de contrôle est exploité par une instruction, mais celle-ci ne peut pas le changer.
Les étapes d’exécutions de la boucle Pour sont les suivantes:
Exemple 6:
Ecrire un algorithme permettant de calculer la factori d’un nombre entier positif N.
N!=1*2*3*…*N
Ce cours se concentre sur les audits et la phase après la mise en place…
Une fois que votre entreprise a obtenu la certification ISO 9001, il est crucial de…
Une carte de positionnement concurrentiel est un outil visuel qui aide à évaluer la position…
Titre : Le Père Goriot Auteur : Honoré de BalzacDate de publication : 1834-1835Genre :…
Pour rédiger un projet en Python concernant la maintenance des machines, voici un exemple de…
La méthode join en Python est un outil puissant pour concaténer des éléments d'une séquence…
This website uses cookies.