1 / 42

For imbriqués

Prmt. For imbriqués. program for01 ; const N = 6 ; var k , j : Byte ; begin for k := 1 to N do begin 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

hao
Download Presentation

For imbriqués

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Prmt For imbriqués

  2. program for01 ; const N = 6 ; var k , j : Byte ; begin for k := 1 to N do begin 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

  3. 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) ; whilenbLn > 0 do begin // affichage du carré for k := 1 to nbLn do begin for j := 1 to nbLn do write('*') {od} ; writeLn end {od} ; write('entrez le nbre de ligne(s) : ') ; readLn(nbLn) ; end {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 begin for j := 1 to nbLn do write('*') {od} ; writeLn end {od} {pool}until false end. Utilisation de la boucle généralisée

  6. program for04 ; procedureafficherCarre(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 ; begin {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. 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. procedureafficherCarre(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do write('*') {od} ; writeLn; for k := 2 to n-1 do begin write('*') ; for j := 2 to n-1 do write(' ') {od} ; writeLn('*') end {od} ; for k := 1 to n do write('*') {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. procedureafficherCarre(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do begin 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. 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 ; procedureafficherX(n : Byte) ; var k, j : Byte ; begin //…. end ; var nbLn : Byte ; begin {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. procedureafficherX(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do begin for j := 1 to n do if (k=j)OR(k+j=n+1) then write('*') else write(' ') {fi} {od} ; writeLn end {od} end ;

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

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

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

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

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

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

  20. 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. Une première version… procedureafficherTriangle(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do begin for j := k to n do write('*') {od} ; writeLn end {od} end ;

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

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

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

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

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

  27. procedureafficherTriangle(nbLn : Byte) ; var k, j : Byte ; begin for k := 1 to nbLn do begin 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 ;

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

  29. UNION

  30. procedureafficherPapillon(n : Byte) ; var k, j : Byte ; begin for k := 1 to n do begin 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 ;

More Related