La présentation est en train de télécharger. S'il vous plaît, attendez

La présentation est en train de télécharger. S'il vous plaît, attendez

Prmt For imbriqués.

Présentations similaires


Présentation au sujet: "Prmt For imbriqués."— Transcription de la présentation:

1 Prmt For imbriqués

2 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.

3 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 :

4 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.

5 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

6 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

7 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 :

8 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 ?

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

10 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

11 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 :

12 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.

13

14 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 ;

15 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 :

16

17 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.

18

19 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 ;

20 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 :

21

22 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 ;

23 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 ;

24 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 :

25

26 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 ;

27 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 ;

28 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 :

29

30 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 ;

31

32 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 :

33 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 ;

34 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 ;

35 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 :

36

37

38

39

40

41 UNION

42 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 ;


Télécharger ppt "Prmt For imbriqués."

Présentations similaires


Annonces Google