Télécharger la présentation
La présentation est en train de télécharger. S'il vous plaît, attendez
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.
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 :
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.
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 :
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 :
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 :
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 ;
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 :
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 ;
Présentations similaires
© 2024 SlidePlayer.fr Inc.
All rights reserved.