Prmt For imbriqués.

Slides:



Advertisements
Présentations similaires
Ce, Cette, Ces Ce/Cette/Ces means this, that or these. Ce is used for masculine nouns Cette is used for feminine nouns Cette is used for feminine nouns.
Advertisements

PL/SQL : Le Langage PL/SQL est une extension du SQL, qui offre
Les Systèmes de Gestion de Bases de Données (SGBD) PL-SQL.
Algorithmes et structures de données 9ème cours Patrick Reuter maître de conférences
Portée des variables VBA & Excel
Sayada le 03 Mars 2009 Réalisé par : Mr. SOUISSI Chaouki
Visual Basic for Applications
TP 8 : parcours de liste et cas pratique
VBA / Excel – TP7 La boucle LOOP.
Les sous-programmes Chapitre n° 5: Objectifs : Activité:
Introduction à la programmation (420-PK2-SL) cours 10 Gestion des applications Technologie de linformation (LEA.BW)
4.3. Fonctions mathématiques de base en Pascal Syntaxe Fonction
La structure conditionnelle simple
Cours VHDL Chap 3: sémantique VHDL
Algèbre de Boole et les Boucles
Les structures de contrôle conditionnelles
La programmation objet Illustration de la POO en Pascal
TP : Fichiers et Tableaux Séance N°2 Avril Application de Gestion de stock Partie 1 : les fichiers 1 Création dun fichier de 20 articles.
TP Fichiers et Tableaux Avril Un fichier Permet le stockage de données sur des supports de mémoire externes (donc les données ne seront pas perdues.
Module 4 : Parcours dans un graphe
Algorithme et programmation
PLSQL ORACLE 8i Connecter VB à BD Oracle Les collections Question de révision Les blocs anonymes Les triggers REVISION Par : Joël Huot.
Les itérations (boucle) Les routines Les Fonctions
Points importants de la semaine Les constantes. Les boucles. Les opérateurs relationnels Les opérateurs logiques.
CSI2520, Hiver 2007 Le langage Pascal Un langage de programmation Impérative.
Miguel Garzon CrUise Lab - SITE. Introduction Data Types and Sizes Constants Logic Operators Type conversions Example.
LIFI-Java 2004 Séance du Jeudi 9 sept. Cours 1. La notion de langage Décrire une tâche à effectuer –programme Écrire à un haut niveau –facile pour lutilisateur.
Chapitre 8 Structure de contrôle.
Introduction au Langage C
CSI2520 Le langage Scheme (2) Un langage de programmation fonctionnelle.
Instructions de contrôle
Introduction à Linda Béat Hirsbrunner References Nicholas Carriero, David Gelernter : "Linda in context", Communications of ACM, vol. 32 (n° 4, April 1989)
Utilisation avancée de linux
LANGAGE PASCAL Introduction rapide….
23/03/05SE Info2 - S. L'haire UNIGE1 TP 7 PROCEDURE Inserer(VAR a, crt : AgendaPtr; j, h : INTEGER; IN s : Chaine); VAR nouveau, temp : AgendaPtr; BEGIN.
Les boucles imbriquées
La Boucle Repeat Cours LCS N°1 Présenté par Mr: LALLALI.
O-notation 1. Introduction 2. O-notation 3. Opérations 3.1 Somme 3.2 Produit 4. Règles générales 5. Exemple 6.Analyse des algorithmes récursifs 6.1 Dilatation.
Les Structures De Contrôle Itératives Complètes
Informatique de gestion – IO MER L3 – Pierre SOURNAC Informatique de Gestion part III – the macro rises L3 – IO MER
Boucles et Tests For( in ) { } While( ) { } Les exécutions conditionnelles (if.. else) peuvent être évitées avec des indexations logiques. Exemples: y=numeric(length(x));
Scripts shell intro Un script bash est un fichier contenant une suite de commandes shell, exécutables par l'interpréteur (ici le programme /bin/bash),
Les structures répétitives en PHP Réfs : manuel p 317.
1 Algorithmique et programmation en Itérations (boucles) Types numériques simples (suite)
Algorithmique et programmation en
Algorithmes de tri et de recherche
Un survol du language C.
MIGO ET COMPLEXITE1 ARBRES EQUILIBRES Définition : On dit qu’un arbre binaire est H équilibré si en tout nœud de l’arbre, les hauteurs des sous-arbres.
Concepts intermédiaires de VHDL
Exemple à faire: N°2 Ecrire l’Algorithme et le Programme PASCAL qui affiche la somme de deux nombres entiers donnés.
TABLEAUX des POINTEURS TRAITEMENT DE STRUCTURES
Variables et environnement utilisateur W. Barhoumi.
Algorithmique et programmation en
1 PHP 5 Notions fondamentales (niveau 1 – cours #2) Formation continue – Cégep de Sainte-Foy.
Initiation à l’Algorithmique
CSI3525: Concepts des Langages de Programmation Notes # 10: Controle ( Lire Chapitre 7 )
Informatique de Gestion part I – Macro begins
1 Cours 6 Définitions de nouvelles procédures Transmissions de données/résultats Déclarations globales/locales Visibilités Interface/implementation.
Les Structures simples
Algorithmique Algorithmique  Pascal
Master 1ère année Sécurité des Systèmes d’Information 1 Programmation en shell.
Les Instructions Itératives (Les Boucles)
Introduction au Langage Pascal
Instructions de contrôle
Techniques de décomposition
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,
MINISTÈRE DE L’ENSEIGNEMENT SUPÉRIEUR ET DE LA RECHERCHE SCIENTIFIQUE
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.
Type Tableau Partie 1 : Vecteurs
Transcription de la présentation:

Prmt For imbriqués

program for01 ; const N = 6 ; var k , j : Byte ; begin for k := 1 to N do for j := 1 to N do write(k,'-',j,' ') {od} ; writeLn end {od} end. 1-1 1-2 1-3 1-4 1-5 1-6 2-1 2-2 2-3 2-4 2-5 2-6 3-1 3-2 3-3 3-4 3-5 3-6 4-1 4-2 4-3 4-4 4-5 4-6 5-1 5-2 5-3 5-4 5-5 5-6 6-1 6-2 6-3 6-4 6-5 6-6

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du carré d’étoiles à afficher, lit cette donnée et affiche le carré correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

program for02 ; var k ,j ,nbLn : Byte ; begin write('entrez le nbre de ligne(s) : ') ; readLn(nbLn) ; while nbLn > 0 do // affichage du carré for k := 1 to nbLn do for j := 1 to nbLn do write('*') {od} ; writeLn end {od} ; {od} end.

program for03 ; var k ,j ,nbLn : Byte ; begin {loop}repeat write('entrez le nbre de ligne(s) : ') ; readLn(nbLn) ; {exit}if nbLn = 0 then break ; // affichage du carré for k := 1 to nbLn do for j := 1 to nbLn do write('*') {od} ; writeLn end {od} {pool}until false end. Utilisation de la boucle généralisée

Utilisation d’une procédure program for04 ; procedure afficherCarre(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do begin ; for j := 1 to n do write('*') {od} ; writeLn end {od} end ; var nbLn : Byte ; {loop}repeat write('entrez le nbre de ligne(s) : ') ; readLn(nbLn) ; {exit}if nbLn = 0 then break ; afficherCarre(nbLn) {pool}until false end. Utilisation d’une procédure On définit une nouvelle commande : afficherCarre

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du carré à afficher, lit cette donnée et affiche le carré correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

procedure afficherCarre(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do write('*') {od} ; writeLn ; for k := 2 to n-1 do write('*') ; for j := 2 to n-1 do write(' ') {od} ; writeLn('*') end {od} ; writeLn end ; 1ère version (le reste du programme est inchangé…) Problème pour n = 1 ?

if (k=1)OR(k=n)0R(j=1)OR(j=n) then write('*') else write(' ') {fi}

procedure afficherCarre(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k=1)OR(k=n)OR(j=1)OR(j=n) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ; 2ème version

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre impair de lignes de la figure à afficher, lit cette donnée et affiche la figure (un X) correspondante (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

program for07 ; procedure afficherX(n : Byte) ; var k, j : Byte ; begin //…. end ; var nbLn : Byte ; {loop}repeat repeat write('entrez le nbre impair de ligne(s) ou 0 : ') ; readLn(nbLn) until (nbLn MOD 2 = 1)OR(nbLn = 0) ; {exit}if nbLn = 0 then break ; afficherX(nbLn) {pool}until false end.

procedure afficherX(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k=j)OR(k+j=n+1) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du triangle rectangle d’étoiles à afficher, lit cette donnée et affiche le triangle correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

program for08 ; procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k>=j) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ; var nbLn : Byte ; {loop}repeat write('entrez le nbre de ligne(s) : ') ; readLn(nbLn) ; {exit}if nbLn = 0 then break ; afficherTriangle(nbLn) ; {pool}until false end.

procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to k do write('*') {od} ; writeLn end {od} end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du triangle rectangle d’étoiles à afficher, lit cette donnée et affiche le triangle correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

Une première version… procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k<=j) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;

Une deuxième version… procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to k-1 do write(' ') {od} ; for j := 1 to n+1-k do write('*') {od} ; writeLn end {od} end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du triangle rectangle d’étoiles à afficher, lit cette donnée et affiche le triangle correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

Une première version… procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := k to n do write('*') {od} ; writeLn end {od} end ;

Une deuxième version… procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k+j<=n+1) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du triangle rectangle d’étoiles à afficher, lit cette donnée et affiche le triangle correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

procedure afficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if (k+j>=n+1) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre de lignes du triangle à afficher, lit cette donnée et affiche le triangle correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

procedure afficherTriangle(nbLn : Byte) ; var k, j : Byte ; begin for k := 1 to nbLn do for j := 1 to (nbLn-k) do write(' ') ; for j := 1 to (2*k-1) do write('*') ; writeLn end end ;

procedure afficherTriangle(nbLn : Byte) ; var k, j : Byte ; begin for k := 1 to nbLn do for j := 1 to (2*nbLn - 1) do if (j >= nbLn-k+1)and(j <= nbLn+k-1) then write('*') else write(' ') {fi} {od} ; writeLn end end ;

Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Ecrire une petite application Pascal qui, de manière répétitive, demande à l'utilisateur d'entrer le nombre (impair) de lignes du papillon à afficher, lit cette donnée et affiche le papillon correspondant (cfr. exemple). Instructions d’affichage : write(‘*’), write(‘ ‘) et writeLn. Respectez les principes de bonne programmation ! Exemple d'exécution :

UNION

procedure afficherPapillon(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do for j := 1 to n do if ((k>=j)and(k+j<=n+1))or((k<=j)and(k+j>=n+1)) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;