Section VI Structures répétitives (suite)

Slides:



Advertisements
Présentations similaires
Introduction a L’algorithme
Advertisements

Tris.
Initiation à la programmation et algorithmique cours 2
Algorithmique (suite)
Introduction à l’Algorithmique
Calculs de complexité d'algorithmes
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.
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.
Algorithmique Résume.
Les Algorithmes de tri.
II- Les structures de contrôle à condition d’arrêt
Les Structures de contrôles itératives
Exercices Algorithmiques
VBA / Excel TP 6 La boucle FOR.
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.
5. Les structures répétitives
Section VII Programmation modulaire Algorithmes et résolution de problèmes FGE.
Section VIII Modularité Partie II
Qu’est-ce qu’un ordinateur ?
Les bases de l’Algorithmique
Section IV Structures conditionnelles
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.
Algorithmes et résolution de problèmes FGE
Points importants de la semaine Les boucles. Les types arithmétiques. Les opérateurs.
Section XI Traitement de fichiers
Algorithmique et Programmation
Algorithmique et structure de données
Les éléments de base de l’algorithmique
ALGORITHMIQUE Plan du cours Généralités -définition -importance
RESUMES Module II1 SOMMAIRE CYCLE 1 : Saisir – Afficher – Données
Python La structure itérative
ALGORITHMIQUE en classe de seconde
Algorithmique et Programmation
Algorithmes et résolution de problèmes FGE
Les structure d’un programme :
Algorithmes et résolution de problèmes FGE
Semaine #1 INF135 par Frédérick Henri.
Répéter dans un programme avec une Instruction itérative
Algorithmique Les structures Rappel L'enchaînement séquentiel
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
Déclaration des données constantes Déclaration des données variables
8PRO100 Éléments de programmation Comment répéter plusieurs fois une séquence d’instructions.
Structures de contrôle
La programmation.
Cours n° 3 Traitements en Java
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Démarche de résolution
Introduction au langage C : Structures de contrôle 1 ère année Génie Informatique Dr Daouda Traoré Université de Ségou
Initiation à l’Algorithmique
2005/2006 Structures de Données Introduction à la complexité des algorithmes.
Pour les boucles FOR on a fait intervenir la boucles TANT QUE équivalentes dont on connaît calculer le temps d’exécution. Toutes le procédures de comptage.
Module algorithmique et programmation
Introduction à la programmation (420-PK2-SL) cours 8
Tutorat en bio-informatique Le 31 octobre Exercice 3 et 4 (MAT1400) Chapitre 9.3, Analyse - concepts et contextes vol. 2 25) Quel est le vecteur.
Scripts et fonctions Instructions de contrôle
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 Conditions et Itérations Cours de BTS/CPI 1ère année Algo – Prog CPI/BTS1 – M. Dravet – 17/09/2003 Dernière modification: 17/09/2003.
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
Les bases de l’Algorithmique
ALGORITHME ET PROGRAMMATION RÉVISION Informatique et Sciences du Numérique.
M. BENJELLOUN : 2005 Le but final est de programmer un jeu où l'ordinateur choisira un nombre aléatoire entre 0 et 100 que vous devez deviner.
Transcription de la présentation:

Section VI Structures répétitives (suite) Algorithmes et résolution de problèmes 18279 FGE

Contenu Récapitulation Structure RÉPÉTER-JUSQU’À Exercice Devoir #5 Structure TANTQUE Structure POUR Structure RÉPÉTER-JUSQU’À Pseudo-code et organigramme Exercice Devoir #5

Séquence d’opérations Structure TANTQUE Permet de répéter une séquence d’opérations tant qu’une condition est satisfaite (i.e. vraie) Non Condition? Séquence d’opérations Oui TANTQUE Condition FAIRE Séquence d'opérations FINTANTQUE

Structure TANTQUE (suite) Exemple : algorithme calculant la moyenne de 100 valeurs Lire Valeur Fin Moyenne = Accum / 100 Non Oui Accum = Accum + Valeur Accum = 0 Compte = 1 Début Compte < 101? Compte = Compte + 1 Écrire Moyenne Accum = 0 Compte = 1 TANTQUE Compte < 101 FAIRE LIRE Valeur Accum = Accum + Valeur Compte = Compte + 1 FINTANTQUE Moyenne = Accum / 100 ÉCRIRE Moyenne

Structure POUR Structure répétitive employant une variable compteur pour identifier le nombre d’itérations à effectuer Pseudo-code POUR Variable = Début JUSQU’À Fin FAIRE Séquence d'opérations FINPOUR

Structure POUR (suite) Exemple : algorithme calculant la moyenne de 100 valeurs La variable Compte est automatiquement incrémentée (i.e. augmentée de 1) à chaque itération Accum = 0 POUR Compte = 1 JUSQU’À 100 FAIRE LIRE Valeur Accum = Accum + Valeur FINPOUR Moyenne = Accum / 100 ÉCRIRE Moyenne

Structure RÉPÉTER-JUSQU’À La structure répétitive TANTQUE ne peut faire d’itération si la condition est fausse avant la première itération ÉCRIRE "Nombre positif?"  LIRE Nombre TANTQUE Nombre  0 FAIRE ÉCRIRE "Le nombre doit être positif" FINTANTQUE ÉCRIRE "Log(", Nombre, ")=", Log(Nombre) Exemple d’exécution Nombre positif? 100 Log(100) = 2

Structure RÉPÉTER-JUSQU’À (suite) Dans certaines solutions, il est parfois requis qu’une structure répétitive effectue au moins une itération Dans cet exemple, l’initialisation de la variable Nombre est essentielle afin qu’un itération soit effectuée par la boucle Nombre = 0 TANTQUE Nombre  0 FAIRE ÉCRIRE "Nombre positif?" LIRE Nombre FINTANTQUE

Structure RÉPÉTER-JUSQU’À (suite) La structure répétitive RÉPÉTER-JUSQU'À répond à ce besoin en plaçant la condition d’itération à la fin de la boucle Au moins une itération est garantie afin que le flux d’exécution se rendre à la condition d’itération RÉPÉTER ÉCRIRE "Nombre positif?" LIRE Nombre JUSQU’À Nombre > 0

Structure RÉPÉTER-JUSQU’À (suite) Formulation Notez que les itérations se poursuivent tant que la condition n’est pas satisfaite Non Condition? Séquence d’opérations Oui RÉPÉTER Séquence d’opérations JUSQU’À Condition

Structure RÉPÉTER-JUSQU’À (suite) La condition de la structure RÉPÉTER-JUSQU’À est inversée par rapport à la structure TANTQUE équivalente Nombre = 0 TANTQUE Nombre  0 FAIRE ÉCRIRE "Nombre positif?" LIRE Nombre FINTANTQUE RÉPÉTER ÉCRIRE "Nombre positif?" LIRE Nombre JUSQU’À Nombre > 0

Structure RÉPÉTER-JUSQU’À (suite) En algorithmie, il n’y a pas de structure RÉPÉTER-TANTQUE C’est-à-dire répéter tant que la condition est vraie On utilise plutôt une structure RÉPÉTER-JUSQU’À avec une condition négative RÉPÉTER ÉCRIRE "Nombre positif?" LIRE Nombre JUSQU’À Nombre > 0 RÉPÉTER ÉCRIRE "Nombre positif?" LIRE Nombre TANTQUE Nombre  0

Exercice #1 Exercice : Écrivez un algorithme (pseudo- code et organigramme) qui identifie la valeur maximum parmi des valeurs non-négatives fournies par l’utilisateur Si l'utilisateur entre un nombre négatif, affichez une message d'erreur et ignorez celle-ci Après chaque traitement d'une valeur, demander à l'utilisateur s'il a terminé Exploitez une structure RÉPÉTER-JUSQU'À

Exercice #1 Solution : pseudo-code Maximum = 0 \\ initialisation RÉPÉTER ÉCRIRE "Nombre non-négatif?" LIRE Nombre \\ Traiter le nombre lu SI Nombre < 0 ALORS ÉCRIRE "Erreur: nombre invalide" SINON SI Nombre > Maximum ALORS Maximum = Nombre FINSI \\ Doit-on traiter un autre nombre? ÉCRIRE Traiter un autre nombre (oui/non)?" LIRE Continue JUSQU’À Continue = "non" \\ Afficher le maximum trouvé ÉCRIRE "Nombre maximum =", Maximum

Exercice #1 Solution : organigramme Fin Écrire "Nombre maximum=", Maximum Non Nombre < 0? Oui A Nombre > Maximum? Écrire "Erreur: nombre invalide" Maximum = Nombre Lire Continue Écrire "Traiter un autre nombre (oui/non)?" B Continue = "non"? Solution : organigramme On exploite le symbole connecteur ( ) X Début Lire Nombre Écrire "Nombre non-négatif?" Maximum = 0 A B

Quelle structure utiliser? Trois structures répétitives sont disponibles Laquelle utiliser dans un algorithme? Voici quelques règles à considérer Si le nombre d’itérations est déterminé par une variable compteur incrémentée Utiliser la structure POUR Si au moins une itération est requise Utiliser la structure RÉPÉTER-JUSQU’À Dans les autres circonstances Utiliser la structure TANTQUE

Questions quiz Qu'est ce qu'une itération? - Une exécution de la séquence d'opérations dans une structure itérative Qu'est-ce qu'une variable d'accumulation? - Une variable servant à accumuler des valeurs numériques Quel est le rôle du symbole d'initialisation? - Représente des opérations d'initialisation de variables

Questions quiz (suite) Quelles sont les principales distinctions entre la structure TANTQUE et la structure RÉPÉTER-JUSQU'À? - La position de la condition d'itération - Inversion de la condition d'itération Une boucle peut-elle disposer de plus d'un point de sortie? - Non, la seule sortie possible est via la condition d'itération

Questions quiz (suite) Quel est un risque potentiel d'erreur lorsqu'on exploite des boucles imbriquées avec compteurs? - Éviter que les deux boucles exploite la même variable compteur Quelle structure répétitive n'a pas de représentation dans l'organigramme? - POUR

Questions quiz (suite) Lequel des algorithmes suivants ne fonctionne pas, et pourquoi? Afficher la somme des valeurs autres que 0 lues Accum = 0 TANTQUE Valeur  0 FAIRE Accum = Accum + Valeur LIRE Valeur FINTANTQUE ÉCRIRE Accum Accum = 0 RÉPÉTER LIRE Valeur Accum = Accum + Valeur JUSQU'À Valeur  0 ÉCRIRE Accum Aucune lecture de Valeur n'est effectuée avant de vérifier la condition d'itération La condition d'itération doit être inversée, sinon la boucle cesse à la lecture d'une valeur autre que 0

Devoir #5 Énoncé du devoir disponible sur ~jlemoe Concevoir un algorithme calculant votre moyenne pondérée cumulative Vous devez soumettre (Devoir6.ZIP) Un fichier LARP Un fichier Word À remettre avant le prochain cours