Structures itératives complètes

Documents pareils
Examen Médian - 1 heure 30

Organigramme / Algorigramme Dossier élève 1 SI

Corrigé des TD 1 à 5

1/24. I passer d un problème exprimé en français à la réalisation d un. I expressions arithmétiques. I structures de contrôle (tests, boucles)

Cours Informatique Master STEP

Algorithmes et programmation en Pascal. Cours

Cours d algorithmique pour la classe de 2nde

Programmation C++ (débutant)/instructions for, while et do...while

Algorithmique et structures de données I

Problèmes liés à la concurrence

Java Licence Professionnelle CISII,

Plan du cours Cours théoriques. 29 septembre 2014

Enseignement secondaire technique

Sub CalculAnnuite() Const TITRE As String = "Calcul d'annuité de remboursement d'un emprunt"

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

Algorithmique & programmation

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

= constante et cette constante est a.

Cours d Informatique

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

LES TYPES DE DONNÉES DU LANGAGE PASCAL

Recherche dans un tableau


1. Structure d'un programme FORTRAN 95

Rappel. Analyse de Données Structurées - Cours 12. Un langage avec des déclaration locales. Exemple d'un programme

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

Introduction à MATLAB R

Cours de C++ François Laroussinie. 2 novembre Dept. d Informatique, ENS de Cachan

Langage propre à Oracle basé sur ADA. Offre une extension procédurale à SQL

Programmation structurée et algorithmes de base en Pascal

Définitions. Numéro à préciser. (Durée : )

Présentation du PL/SQL

Cette Leçon va remplir ces attentes spécifiques du curriculum :

L ALGORITHMIQUE. Algorithme

Propagation sur réseau statique et dynamique

Rappels sur les suites - Algorithme

0 si a=b. Si a^ et b^ sont deux éléments différents du même anneau, alors le résultat de

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Correction TD algorithmique

Table des matières PRESENTATION DU LANGAGE DS2 ET DE SES APPLICATIONS. Introduction

Architecture des Systèmes d Information Architecture des Systèmes d Information

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Notions fondamentales du langage C# Version 1.0

Principes des langages de programmation INF 321. Eric Goubault

Algorithmique et programmation : les bases (VBA) Corrigé

Programmer en JAVA. par Tama

Cours de Programmation 2

SERVEUR DE SAUVEGARDE POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

ARDUINO DOSSIER RESSOURCE POUR LA CLASSE

Génie Logiciel avec Ada. 4 février 2013

Compilation (INF 564)

Initiation à la programmation en Python

INTRODUCTION AUX SYSTEMES D EXPLOITATION. TD2 Exclusion mutuelle / Sémaphores

Module Administration BD Chapitre 1 : Surcouche procédurale dans les SGBDS

Cours d introduction à l informatique. Partie 2 : Comment écrire un algorithme? Qu est-ce qu une variable? Expressions et instructions

TRIGONOMETRIE Algorithme : mesure principale

Programmation en Caml pour Débutants

OCL - Object Constraint Language

STAGE IREM 0- Premiers pas en Python

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

MINISTERE DE L ENSEIGNEMENT TECHNIQUE ET DE LA FORMATION PROFESSIONNELLE. (Pour l obtention du diplôme d analyste programmeur)

Les structures. Chapitre 3

CHAPITRE 9. Codes source. 9.1 Insertion brute

Le langage VHDL. Eduardo Sanchez EPFL

Langage Fortran (Base)

SNT4U16 - Initiation à la programmation TD - Dynamique de POP III - Fichiers sources

Langage Fortran. Support de cours

Adama MBODJI MBODJ.SYSTEM

ACTIVITÉ DE PROGRAMMATION

Application 1- VBA : Test de comportements d'investissements

INF111. Initiation à la programmation impérative en C amini/cours/l1/inf111/ Massih-Reza Amini

Cryptographie RSA. Introduction Opérations Attaques. Cryptographie RSA NGUYEN Tuong Lan - LIU Yi 1

Manipulations du laboratoire

Ordonnancement temps réel

1 I ) Une première approche de l algorithme en seconde, saison 2010 _ Antoine ROMBALDI

COURS ALGORITHMIE. Mathématiques. Le monde merveilleux des algorithmes!! Croyez-moi, vous allez les adorer. Julien Bordas T.S 3

CAHIER DES CHARGES GESTION DES STOCKS

Bernard HAMM, Évelyne LAVOISIER

Algorithmique et Programmation, IMA

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Découverte du tableur CellSheet

Programmation VBA/Excel. Programmation VBA. Pierre BONNET. Masters SMaRT & GSI - Supervision Industrielle P. Bonnet

Cours d algorithmique BTS SIO première année. Nicolas FRANCOIS nicolas.francois@free.fr

NIVEAU D'INTERVENTION DE LA PROGRAMMATION CONCURRENTE

Programmation sous Delphi

Initiation à la programmation OEF pour Wims (exercices).

Théorie des Langages

1 Année LMD-STSM Algorithmique et Programmation. Série de TD 2

Perl Orienté Objet BioPerl There is more than one way to do it

Cours de Programmation Impérative: Zones de mémoires et pointeurs

Algorithmes et Programmes. Introduction à l informatiquel. Cycle de vie d'un programme (d'un logiciel) Cycle de vie d'un programme (d'un logiciel)

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Annonces internes SONATRACH RECHERCHE POUR SON ACTIVITE COMMERCIALISATION :

introduction Chapitre 5 Récursivité Exemples mathématiques Fonction factorielle ø est un arbre (vide) Images récursives

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation MacOSX / ios

Algorithmes récursifs

Transcription:

Chapitre 9 Leçon Activité : Les Structures de contrôle itératives Structures itératives complètes Ecrire un algorithme intitulé MESSAGE permettant d afficher 5 fois le message "BONJOUR". Solution : 0) Début MESSAGE 1) Ecrire("BONJOUR") 2) Ecrire("BONJOUR") 3) Ecrire("BONJOUR") 4) Ecrire("BONJOUR") 5) Ecrire("BONJOUR") 6) Fin MESSAGE Constatation : D après cette solution, on constate que l algorithme MESSAGE comporte une répétition. Solution : Pour éviter ce problème de répétition, on utilise une autre structure appelée structure itérative ou répétitive (boucle) I- Définition : Une définition itérative complète permet de répéter l exécution d une suite d instructions un nombre de fois connu l avance. 1/6

II-Vocabulaire et syntaxe : Au niveau de l analyse et de l algorithme Au niveau pascal [Init] Pour C de Vi à Vf Répéter instruction1 instruction2 instruction n FinPour init ; For C:=Vi TO Vf DO Begin instruction1; instruction2; instruction n; 2/6 End ; C : variable de type scalaire (entier ou caractère) permet de compter le nombre de répétitions effectuées. L incrémentation (+) de 1 de la valeur de C se fait automatiquement. Vi : valeur initiale du compteur Vf : valeur finale que doit atteindre le compteur, c'est la dernière valeur pour laquelle le traitement effectué Activité : Ecrire une analyse, un algorithme puis un programme en Pascal intitulé SAISIETAB, permettant le remplissage d'un tableau T avec N réels puis d'afficher les nombres paires de ce tableau. Analyse Resultat = affichage Traitemnet= Affichage = [] Si T[i] mod 2 = 0 alors Ecrire (T[i]) Fin si T=[] T[i]=donnée("donner l element n ",i) i=compteur n=donnée("donner la taille du tableau") Donnée : n

Tableau de déclaration des objets Objet Nature / Type Rôle i n T Tableau de n entiers Compteur Taille de T Contenir des entiers Algorithme 0) Debut SAISIETAB 1) ecrire("donner la taille du tableau"), lire(n) 2) ecrire("donner l element n ",i), lire(t[i]) 3) Si T[i] mod 2 = 0 alors Ecrire (T[i]) Fin si 4) Fin SAISIETAB Traduction pascal program SAISIETAB; uses wincrt; var T:array[1..100] of integer; n,i:integer; writeln('donner la taille du tableau'); readln(n); writeln('donner l"élément n ',i); readln(t[i]); end; if T[i] mod 2 = 0 then writeln(t[i]); end. 3/6

II-Parcours décroissant : Parfois, on se trouve contraint de faire une itération avec un comptage décroissant. On exprime cette structure comme suit : R = [] Pour c de n à 1 (pas = -1) Faire Instruction 1 Instruction 2 Instruction p FinPour NB Comme on peut incrémenter c de 1, on peut le décrémenter de 1 sauf qu'il faut modifier la structure en Turbo Pascal par : FOR C: = Vf DOWNTO Vi DO BEGIN Instruction 1;.. Instruction n; END; III- Problèmes récurrents : Souvent, certains résultats sont définis dune façon récurrente. Dans de tels cas, le résultat se forme au fur et à mesure et à une étape donnée, il dépend d'un certains nombre de résultats précédents. Une telle structure est dite itérative récurrente. En fait, les résultats intermédiaires sont gérés par une relation de récurrence. Si cette relation lie deux éléments successifs, on dit que la récurrence est d'ordre 1, si elle lie trois éléments successifs, on dit qu'elle d'ordre 2, etc. Activité : Ecrire un programme qui saisit un tableau T2 unidimensionnel de N éléments, représentant les moyennes des élèves d une classe, puis calculer et afficher la moyenne de la classe 4/6

Analyse Resultat= ecrire("la moyenne de la classe est ",MoyC) Traitement= MoyC SommeMoy/n SommeMoy=[SommeMoy 0] SommeMoy SommeMoy + T2[i] T2=[] T2=donnée("donner l element n ",i) i=compteur n=donnée("donner la taille du tableau") Donnée : n Tableau de déclaration des objets Objet Nature / Type Rôle i n T SommeMoy MoyC Tableau de n réelles Réelles réelles Compteur Taille de T Contenir les moyennes des élèves Somme de moyennes Moyenne de la classe Algorithme 0) Debut Moyenne_classe 1) ecrire("donner la taille du tableau"), lire(n) 2) ecrire("donner l element n ",i), lire(t2[i]) 3) SommeMoy 0 SommeMoy SommeMoy + T2[i] 4) MoyC SommeMoy/n 5) ecrire("la moyenne de la classe est ",MoyC) 6) Fin Moyenne_classe 5/6

Traduction Pascal program Moyenne_classe; uses wincrt; var T2:array[1..100] of real; n,i:integer; SommeMoy,MoyC:real; writeln('donner la taille du tableau'); readln(n); writeln('donner l"élément n ',i); readln(t2[i]); end; SommeMoy:=0; SommeMoy:=SommeMoy+T2[i]; MoyC:=SommeMoy/n; writeln('la moyenne de la classe est ',MoyC); end. 6/6