Cours d'Informatique portant sur le traitement itératif en langage algorithmique. Ce cours expose les formes classiques d'itération : POUR, TANT QUE et REPETER ainsi que le principe des compteurs. Explication des méthodes de réalisation de boucles.
[...] SAISIR TANT QUE a > = b Algo PGCD DEBUT rep ( TANT QUE (rep ET (rep FAIRE AFFICHER (‘Aimez vous l'informatique ? O/N') SAISIR (rep) FIN TANT QUE FIN III- Remarques Lorsqu'une instruction dans la boucle n'a pas besoin d'être répétée, on la sort de la boucle (taux de TVA, coefficients ) Tant que est une itérative sous forme conditionnelle car elle répète l'itération tant qu'une condition est vraie. Deux cas peuvent se produire : ( La condition se rapporte au dernier élément qui ne doit pas être traité (celui qui suit l'élément à traiter SAISIR (NomWagon) TANT QUE NomWagon ‘FIN' FAIRE Traitement d'un wagon SAISIR (NomWagon) FIN TANT QUE Dans ce cas, on lit le nom une fois à l'avance et on relit en fon de boucle. [...]
[...] La condition peut être : - simple - expression booléenne - variable booléenne Remarque - La condition va être testée avant la 1ère exécution. Elle peut-être fausse dés le début, dans ce cas, le traitement ne sera jamais exécuté. i ( 1 TANT QUE i = 0 FAIRE FIN TANT QUE - La condition est recalculée à chaque tour de boucle - Dans tous les cas, il faut que la condition ait une valeur de 1ère occurrence et que la condition puisse être modifiée dans la boucle. [...]
[...] L'élément traité dans la boucle est donc l'élément lu dans celle-ci. EncoreWagon ( VRAI TANT QUE EncoreWagon FAIRE SAISIR (NomWagon) Traitement d'un wagon EncoreWagon ( (NomWagon ‘LULU') FIN TANT QUE Il peut-être intéressant d'utiliser un autre formalisme spécifique au cas où l'on est toujours sûr de passer au moins une fois dans la boucle : REPETER JUSQU'A REPETER Trait 1 JUSQU'A condition Le traitement trait1 sera effectué jusqu'à ce que la condition soit vraie REPETER SAISIR (NomWagon) Traitement du wagon JUSQU'A (NomWagon = ‘LULU') ( Il peut y avoir deux conditions d'arrêt 2 cas : on veut traiter l'élément recherché TANT QUE (nomWagon ‘Bidule') ET (NomWagon ‘Fin') SAISIR (NomWagon) SI (NomWagon ‘Fin' ALORS traitement Wagon FIN SI FIN TANT QUE REPETER SAISIR (NomWagon) SI NomWagon ‘Fin' ALORS traitement Wagon FIN SI JUSQU'A (NomWagon = ‘Bidule') OU (NomWagon ‘Fin') SAISIR (NomWagon Trouvé ( FAUX TANT QUE (NomWagon ‘Fin') ET NON trouvé FAIRE Traitement d'un wagon Trouvé ( (NomWagon = ‘Bidule') SAISIR (NomWagon) FIN TANT QUE ( On ne traite pas l'élément recherché SAISIR (NomWagon) TANT QUE (NomWagon ‘Fin') ET (NomWagon ‘Bidule') FAIRE Traitement d'un wagon SAISIR (NomWagon) FIN TANT QUE IV. [...]
[...] Algo classe DEBUT SAISIR (nbeleves) Somnote ( 0 POUR i de 1 à nbeleves FAIRE SAISIR (note) FIN POUR SI nbeleves > 0 ALORS AFFICHER (Somnote / nbeleves) FINSI FIN Généralisation POUR idf de valDeb à valFin pas valPas FAIRE Trait FIN POUR Idf : indice de boucle valDeb : valeur de début (valeur de l'indice de boucle à la 1ère occurrence) valFin : Valeur de fin (valeur de l'indice de boucle à la dernière occurrence) valPas : Valeur de pas (valeur que l'on ajoute à l'indice de boucle). Peut être négative. [...]
[...] Il faut donc éviter la division par 0. - La forme bornée Il arrive fréquemment que l'on connaisse avant la répétitive le nombre d'occurrences de cette répétitive (c'est souvent le critère d'une fin de boucle). On utilise donc la forme bornée : POUR idf de 1 à N FAIRE Trait FIN POUR Idf : identificateur de type entier (indice de boucle : k ) N : valeur maximale de l'indice de boucle (nombre d'itération à effectuer) Trait : traitement à effectuer N fois POUR i de 1 à 4 FAIRE Traitement d'un wagon FIN POUR Remarques : - Dans ce cas, l'indice de boucle i est géré par le POUR, donc incrémenté automatiquement. [...]
Source aux normes APA
Pour votre bibliographieLecture en ligne
avec notre liseuse dédiée !Contenu vérifié
par notre comité de lecture