Les Instructions Itératives (Les Boucles)

Slides:



Advertisements
Présentations similaires
Prmt For imbriqués.
Advertisements

Les Structures de contrôles itératives
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
LANGAGE PASCAL Introduction rapide….
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Algorithmes de tri et de recherche
Exemple à faire: N°2 Ecrire l’Algorithme et le Programme PASCAL qui affiche la somme de deux nombres entiers donnés.
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 Algorithmique  Pascal
Algorithmique Boucles et Itérations
Introduction à l’Informatique chap 3 Licence SPI Mme Delmotte.
L ES INSTRUCTIONS DE L ECTURE, E CRITURE ET A FFECTATION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université.
CINI – Li115 1 Semaine 9 Algorithmes de tri ● Introduction ● Tri à bulle ● - principe ● - algorithme ● - efficacité ● Tri par sélection ● - principe, algorithme,
CINI – Li115 1 Semaine 3 Boucles (suite), tirages aléatoires, bibliothèque graphique ● Imbrication d'instructions if et for ● Boucles for imbriquées ●
CINI – Li115 1 Semaine 4 Révisions ● Questions de cours ● Types des expressions ● Déclaration de variables ● Instruction conditionnelle et boucles ● Structure.
1 © Copyright 2005, Philippe Arlotto tln.fr Creative Commons Attribution-ShareAlike 2.0 license 26/09/2016 Algorithmique & Langage.
1 Programmation en C++ C++ de base ● Programme C++ ● Variables, objets, types ● Fonctions ● Namespace ● Tests ● Boucles ● Pointeurs, références.
UE2 - M22 Licence acoustique
Ajouter le code dans une page html
Intégration du P7 dans l’épreuve E41
Introduction au Langage Pascal
Un Algorithme , c'est Quoi ?
Chapitre 1 nombres, chaînes de caractères, booléens, et VARIABLES
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Algorithmique et programmation de modèles numériques
Instructions de contrôle
Semaine #1 INF130 par Frédérick Henri.
Algorithmique Avancée et Complexité Chap2:Complexité et Optimalité
Chapitre 01: Structure d'un module VHDL
Algorithmique AU El harchaoui noureddine
Techniques d’Optimisation Chapitre 2: Problème de flôt
L’Instruction de Test Alternatif
Algorithmique - L’affectation -
Algorithmiques Abdelbasset KABOU
Matrices, déclaration en CSharp
Alternative : syntaxe CSharp
SIF-1053 Architecture de ordinateurs
Les Instructions – Organigramme
Un Algorithme , c'est Quoi ?
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Ce videoclip produit par l’Ecole Polytechnique Fédérale de Lausanne
Langages de programmation TP3
Cours N°6: Algorithmiques Structures Conditionnelles
Week 1 Lecture 1 Introduction à R L3PRO 2017.
L E C ORPS D ’ UN A LGORITHME / P ROGRAMME – L A PARTIE I NSTRUCTION Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie.
L’I NSTRUCTION DE T EST A LTERNATIF Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année.
L ES I NSTRUCTIONS I TÉRATIVES (L ES B OUCLES ) Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira,
Introduction à l’algorithmique. Introduction Algorithme: Procédure décrivant, étape par étape, une méthode permettant de résoudre un problème. Mot provenant.
Cours N°9: Algorithmiques Les Tableaux 1
Les tableaux.
Programmation en C++ C++ de base
Cours N°10: Algorithmiques Tableaux - Matrices
1 RECURSIVITE PRESENTATION Ch. PAUL ALGORITHMIQUE Présentation de la récursivité.
PROGRAMMATION ET ENSEIGNEMENT
Calcul Scientifique Initiation à SCILB
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
Semaine #2 INF130 par Frédérick Henri.
Automatismes 1.
Définition : 2 Les structures de contrôle conditionnelles permettent à un programme de modifier son traitement en fonction d’une condition.
Opérateurs et fonctions arithmétiques Opérateurs de relation Opérateurs logiques Cours 02.
Flowchart Itération Cours 04.
Scratch au collège.
PROGRAMMATION ET ENSEIGNEMENT
L.P.M Chapitre N°3 Les structures de contrôle itératives Dégager le traitement itératif Problème Nombre d’itération ?? Inconnu à l’avance Connu à l’avance.
Introduction à L’Informatique
Python Nicolas THIBAULT
Système de Numération : Décimal, Binaire, Octal et Hexadécimal
PROGRAMMATION SOUS R. PRESENTE PAR : ACHETTOU ISMAIL LAARICH TARIQ ENCADRE PAR : Pr. EXPOSÉ SUR LA PROGRAMMATION SUR R 2.
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Les Instructions Itératives (Les Boucles) La syntaxe et la sémantique de Pour La syntaxe et la sémantique de Tant-que La syntaxe et la sémantique de Répéter Réalisé par : OUZEGGANE Redouane Département de Technologie Faculté de Technologie – Université A.Mira, Bejaia Année Universitaire 2015/2016

Boucles - Introduction Dans certaine situation, on est amener à répéter l’exécution d’une ou plusieurs instructions. Soit l’exemple suivant : Program Exemple1; Uses wincrt; Begin Write(1) Write(2) Write(3) Write(4) Write(5) End. Algorithme Exemple1 Début Ecrire(1) Ecrire(2) Ecrire(3) Ecrire(4) Ecrire(5) Fin En PASCAL 1) Qu’est-ce-que fait l’algorithme ? 2) Ecrire un algorithme / programme qui affiche les nombre de 1 à 1000 ? 1ère Année Technologie Année Universitaire : 2015/2016 01/14

Boucles – Pour (1/4) Syntaxe de la boucle Pour L’instruction de boucle Pour permet de répéter l’exécution d’un bloc d’instructions. Elle utilise un compteur d’itération, une valeur initiale et une valeur finale du compteur. Le competeur est incrémenté automatiquement La syntaxe de l’instruction du boucle Pour est : For <Cpt> := <vi> To <vf> Do Begin <instruction_1> <instruction_2> …….. <instruction_n> End; Pour <cpt>  <vi> à <vf> Faire <instruction_1> <instruction_2> …….. <instruction_n> Fin Pour En PASCAL Bloc du Pour <cpt> : le compteur (Variable Entière). <vi> : Valeur initiale (valeur entière) <vf> : Valeur finale (valeur entière) Le nombre d’itérations (répétitions) = <vf> - <vi> + 1 1ère Année Technologie Année Universitaire : 2015/2016 02/14

Boucles – Pour (2/4) Sémantique de la boucle Pour Soit l’exemple suivant (Algorithmique / Pascal) Pour j1 à 1000 Faire for j:=1 to 1000 do Ecrire (j) begin Fin-Pour Writeln (j); end; Ça veut dire quoi cette instruction ? Le sens de cette instruction est comme suit : L’instruction Ecrire(j) sera exécutée pour toutes les valeurs de j allant de 1 à 1000. Donc, elle sera exécutée 1000 fois. Le résultat de cette boucle est l’affichage des valeurs 1, 2, 3, …, 1000 Remarque : Si le bloc d’instruction contient une seul instruction, on peut enlever les begin et le end; de l’instruction for. 1ère Année Technologie Année Universitaire : 2015/2016 03/14

Boucles – Pour (3/4) Utilisation de la boucle Pour Quant-est-ce que nous utiliserons l’instruction de boucle Pour ? Dans toute formule mathématique qui utilise un ou plusieurs indices, comme par exemple les sommes, et dans les vecteurs, les matrices (types indicés) Exemple : S = 1/2 + 2/3 + 3/4 + …. + n/(n+1) T[1]  1*2 T[2]  2*3 T[3]3*4 …. (voir vecteurs et matrices) En générale, si le nombre d’itérations (de répétitions) est connu (par exemple Nb), on peut utiliser la boucle Pour comme suit : Pour i1 à Nb faire … 1ère Année Technologie Année Universitaire : 2015/2016 04/14

Boucles – Pour (4/4) Exemple Ecrire un algorithme/Programme qui affiche tous les nombres entre deux nombres entiers N1 et N2 et qui sont divisibles par un nombre entier d. Algorithme exemple_1 Variables N1, N2, d, i : entier Début Lire (N1, N2, d) Pour iN1 à N2 faire Si (i mod d = 0) alors Ecrire (i); Fin-Si Fin-Pour Fin Program exemple_1; Uses wincrt; Var N1, N2, d, i : integer; Begin Read (N1, N2, d); for i := N1 to N2 do if (i mod 2 = 0) then Writeln(i); End. Pas de point-virgule après do 1ère Année Technologie Année Universitaire : 2015/2016 05/14

Boucles – Tant-que (1/4) Syntaxe de la boucle Tant-que L’instruction de boucle Tant-que permet de répéter l’exécution d’un bloc d’instructions. À chaque itération, une expression booléenne (condition) est réévaluer : Si l’expression donne TRUE : donc on exécute l’itération et ensuite en réévalue l’expression booléenne Si l’expression donne FALSE : on arrête la boucle Tant-que La syntaxe de l’instruction du boucle Tant-que est : Tantque <condition> Faire <instruction_1> <instruction_2> …….. <instruction_n> Fin Tant-que While <Condition> Do Begin <instruction_1> <instruction_2> …….. <instruction_n> End; En PASCAL Bloc du Tantque 1ère Année Technologie Année Universitaire : 2015/2016 06/14

Boucles – Tant-que (2/4) Sémantique de la boucle Tant-que Soit l’exemple suivant (Algorithmique / Pascal) j  1 Tant-que j <= 1000 faire while j <= 1000 do Ecrire (j) begin j  j + 1 Writeln (j); Fin-Tantque j := j +1; end; Ça veut dire quoi cette instruction ? Le sens de cette instruction est : Tant-que la valeur de j est inférieure ou égale à 1000 les deux instructions Ecrire(j) et jj+1 sont exécutées. La valeur initiale de J est 1, donc les valeurs 1, 2, …, 1000 seront affichées 1ère Année Technologie Année Universitaire : 2015/2016 07/14

Boucles – Tant-que (3/4) Utilisation de la boucle Tant-que Quant-est-ce que nous utiliserons l’instruction de boucle Tant-que ? Dans tous les cas où la boucle Pour est appliquée, nous pouvons utiliser la boucle Tant-que. Si la boucle dépend d’une condition compliquée (expression booléenne avec opérateur logiques par exemple : r<>0 et d<=n) Il faut s’assurer de l’initialisation de la condition. (par exemple r<>0 et d<=n la variable r doit être initialisée avec une valeur non nulle) et s’assurer qu’il y a une instruction qui rend la condition fausse après un certain nombre d’itérations. 1ère Année Technologie Année Universitaire : 2015/2016 08/14

do : ça peux causer une boucle infinie Boucles – Tant-que (4/4) Exemple Ecrire un algorithme/Programme qui affiche tous les nombres entre deux nombres entiers N1 et N2 et qui sont divisibles par un nombre eniter d. Program exemple_2; Uses wincrt; Var N1, N2, d, i : integer; Begin Read (N1, N2, d); i := N1; While i <= N2 do if (i mod d = 0) then Writeln(i); i := i+1 End; End. Algorithme exemple_2 Variables N1, N2, d, i : entier Début Lire (N1, N2, d) i  N1 Tant-que i <= N2 faire Si (i mod d = 0) alros Ecrire (i); Fin-Si i  i + 1 Fin-Pour Fin Pas de point-virgule après do : ça peux causer une boucle infinie 1ère Année Technologie Année Universitaire : 2015/2016 09/14

Boucles – Répéter (1/4) Syntaxe de la boucle Répéter L’instruction de boucle Répéter permet de répéter l’exécution d’un bloc d’instructions. À chaque itération, une expression booléenne (condition) est réévaluer : Si l’expression donne TRUE : donc on arrête la boucle et on exécuter l’instruction qui vient après Répéter; Si l’expression donne FALSE : on continue la boucle en exécutant l’itération suivante La syntaxe de l’instruction du boucle Tant-que est : Répéter <instruction_1> <instruction_2> …….. <instruction_n> Jusqu’à <condition> Repeat <instruction_1> <instruction_2> …….. <instruction_n> Until <condition>; En PASCAL Bloc de Répéter 1ère Année Technologie Année Universitaire : 2015/2016 10/14

Boucles – Répéter (2/4) Sémantique de la boucle Répéter Soit l’exemple suivant (Algorithmique / Pascal) j  1 Répéter Repeat Ecrire (j) Writeln (j); j  j + 1 j := j +1; Jusqu’à j > 1000 Jusqu’à j > 1000; Ça veut dire quoi cette instruction ? Le sens de cette instruction est : On répète l’exécution des deux instructions Ecrire(j) et jj+1 jusqu’à avoir la valeur de j strictement supérieur à 1000. La valeur initiale de J est 1, donc les valeurs 1, 2, …, 1000 seront affichées. 1ère Année Technologie Année Universitaire : 2015/2016 11/14

Boucles – Répéter (3/4) Utilisation de la boucle Répéter Quant-est-ce que nous utiliserons l’instruction de boucle Répéter ? Dans tous les cas où la boucle Pour est appliquée, nous pouvons utiliser la boucle Tant-que. Si la boucle dépend d’une condition compliquée (expression booléenne avec opérateur logiques par exemple : r<>0 et d<=n) En général, si la première itération est réalisée sans condition, on peut utiliser l’instruction Répéter au lieu de l’instruction Tant-que. L’instruction Répéter est équivalente à Tant-que. 1ère Année Technologie Année Universitaire : 2015/2016 12/14

Boucles – Répéter (4/4) Exemple Ecrire un algorithme/Programme qui affiche tous les nombres entre deux nombres entiers N1 et N2 et qui sont divisibles par un nombre eniter d. Program exemple_2; Uses wincrt; Var N1, N2, d, i : integer; Begin Read (N1, N2, d); i := N1; Répéter if (i mod d = 0) then Writeln(i); i := i+1 Until i>N2; End. Algorithme exemple_2 Variables N1, N2, d, i : entier Début Lire (N1, N2, d) i  N1 Répéter Si (i mod d = 0) alros Ecrire (i); Fin-Si i  i + 1 Jusqu’à i>N2 Fin 1ère Année Technologie Année Universitaire : 2015/2016 13/14

Résumé Les instructions itératives (de boucle) permettent de répéter l’exécution d’un bloc d’instructions (une ou plusieurs instructions) un nombre d’itérations (un nombre de fois). Il y a trois instructions de boucle : Pour (For), Tant-que (While) et Répéter (Repeat). L’instruction de boucle Pour utilise un compteur (variable entière), une valeur initiale (valeur entière) et une valeur finale (valeur entière). Le nombre d’itérations est : VF – VI + 1 si VF >= VI 0 si VF < VI (Aucune Itération) L’instruction de boucle Tant-que utilise une condition de boucle : si la condition est vérifiée on exécute l’itération, sinon on quitte la boucle. À la fin de chaque itération la condition est réévaluée. L’instruction de boucle Répéter utilise une condition d’arrêt de boucle : si la condition est vérifiée on exécute pas l’itération et on quitte la boucle, sinon on exécute l’itération suivante. 1ère Année Technologie Année Universitaire : 2015/2016 14/14