1 Chapitre 1: Introduction. I. Structure d’un programme. • L’en-tête • Les décl

1 Chapitre 1: Introduction. I. Structure d’un programme. • L’en-tête • Les déclarations (var, const, types, procedures, functions..) • begin • le programme • end. Exercice 1 : écrire un programme écrivant bonjour à l’écran. II. Les types de variables. • Shortint : entier compris entre -127 et 128 • Byte : entier compris entre 0 et 255 • Integer : entier compris entre -32 768 et 32 767 • Word : entier compris entre 0 et 65535 • Longint : entier long compris entre – 2 147 483 648 et 2 147 483 647 • Real : réel compris entre 2,9 e 10-39 et 1,7 e 1038 avec 11 décimales • Double : réel double précision compris entre 5,0e10-324 et 1,7e10308 avec 15 décimales • Extended : réel compris entre 1,9e 10--4951 et 1,1e 10-4932 • Char : caractère alphanumérique • String : chaîne de caractères. • Boolean : valeurs logiques égales à TRUE ou FALSE Exercice 2 : • Calculer la somme de deux nombres entrés au clavier • Calculer la somme de trois nombres entrés au clavier • Calculer la somme de cinq nombres entrés au clavier en n’utilisant que deux variables. III. Affectation. Instruction : := A:=3 -----> A prend la valeur 3 B:=A -----> B prend la valeur de A, ici 3 Exercice 3 : a) Indiquer ce que contiennent les cases mémoires associées aux variables alpha, beta, gamma, I et n au cours de l’exécution du programme suivant : (UTILISER LE MODE PAS À PAS) Program escalope; var alpha, beta, gamma : integer; I,n : boolean; begin alpha:=1; beta:=alpha+1; gamma:=2*beta-3; beta:=beta+1; alpha:=alpha div 2; I:=true; n:=false; n:=(true)or(false); 2 write(‘alpha ‘,alpha,’ beta ‘,beta,’ gamma ‘,gamma,’ I ‘,I,’ n ‘,n) end. b) écrire un programme permutant deux variables a et b. c) écrire un programme calculant l’aire d’un disque, et son périmètre dont on fournit le rayon ( noter qu’en Turbo-Pascal, il existe une constante prédéfinie pi). IV. Les entrées sorties conversationnelles. 1°) write et writeln. Exemple 2 : taper le programme suivant et observer les sorties écran program Affichage_formate ; var n, p : integer ; x, y : real ; cl, c2 : char ; ok : boolean ; begin n := 3 ; p := 125 ; x :=1.23456e2 ; y := 2.0 ; cl := 'e' ; c2 := 'i' ; ok := false ; {1} writeln ('nombre', n:4) ; {2} writeln (n:3, p:5) ; {3} writeln (c1:3, c2:6, ok:7) ; {4} writeln (p:2) ; {5} writeln ('bonjour':3, ok:2) ; {6} writeln (x:20) ; {7} writeln (x:10) ; {8} writeln (x:2) ; {9} writeln (x:12:4) ; {10} writeln (x:10:1) ; {11} writeln (x:8:5) end. Exemple 3 : Program tartenpion; begin write(‘je ‘,’ne ‘); write(‘vais pas à la ligne’); writeln; writeln(‘je ‘,’vais ‘); write(‘à la ligne’) end. 2°) Read et readln : cf programme précédent. Exercice 3 : écrire un programme demandant nom, prénom, âge, taille en cm, et répondant : “bonjour prénom nom, tu as, âge ans, et tu mesures taille m”. 3 Chapitre 2 : Les tests I. Exemple n°1 : program Exemple_d_instruction_if_2 ; var n, p, max : integer ; begin writeln ('donnez 2 nombres entiers') ; readln (n, p) ; if n < p then begin max := p ; writeln ('croissant') end else begin max := n ; writeln ('décroissant') end; writeln ('le maximum est ', max) end. Remarque : dans toute la suite, on entend par instruction, une instruction simple, ou une suite d’instructions commençant par begin et finissant par end. II. Syntaxe générale de l’instruction if : Elle peut prendre une de ces deux formes : If expression_booléenne then instruction If expression_booléenne then instruction_1 else instruction_2 Un else se rapporte toujours au dernier then rencontré auquel un else n’a pas encor été attribué. III. Exemple n°2 : program Exemple_d_instruction_case_l var n : integer begin write ('donnez un entier ') ; readln (n) case n of 1, 2 : writeln ('petit') ; 3..10 : writeln ('moyen') ; 11..50 : writeln ('grand') else writeln ('très grand') end ; write ('au revoir') end. IV. Syntaxe générale de l’instruction case of : Elle peut prendre une de ces deux formes : 4 case variable of domaine_1: instruction_1; domaine_2: instruction_2; ... domaine_n: instruction_n end case variable of domaine_1: instruction_1; domaine_2: instruction_2; ... domaine_n: instruction_n; else instruction_bis end V. Exercices : 1) Quelles erreurs ont été commises dans chacune des instructions suivantes: a) if a<b then x := x+1 ; else x := x-l b) if a<b then x := x+1 ; y := b end else x := x-1 ; y := a end c) if n := 0 then p := 1 2) Que fait cette partie de programme: if a<b then writeln ('merci') ; writeln ('croissant') 3) Soient trois variables réelles a, b et c et une variable booléenne nommée ordre. Placer dans ordre la valeur true si les valeurs de a, b et c prises dans cet ordre sont rangés par valeurs croissantes ( a <= b <= c) et la valeur false dans le cas contraire. On cherchera deux solutions : a) l'une employant une instruction if, b) l'autre n'employant pas d'instruction if. 4) Écrire un programme réalisant la facturation d'un article livré en un ou plusieurs exemplaires. On fournira en données le nombre d'articles et leur prix unitaire hors-taxe. Le taux de TVA sera toujours de 20,6%. Si le montant TTC dépasse 1000F, on établira une remise de 5%. On cherchera à ce que le dialogue se présente ainsi: nombre d'articles : 27 prix unitaire ht : 248.65 montant TTC : 8096,54 remise : 404,83 net à payer : 7691,71 5) Dire si chacune des instructions case schématisées ci-dessous est correcte ou non et, le cas échéant, identifier l'erreur commise. Nous supposerons pour chaque cas ces déclarations: const nb = 100 ; var n, p : integer ; a) case n of b) case n of 1..3 : .... 1..5 : .... 4..nb : .... p : .... end end c) case n of d) case n of 1..nb : .... -nb..0 : .... nb+1..maxint : .... nb,nb+1 : .... end end 5 6) Que fait cette instruction case lorsque la variable entière n contient l'une de ces valeurs : a) 2 b) 5 c) 12 d) 20 c) 30 case n of 1..3, 11..19, 21 : write ('premier lot') ; 4..20 : write ('deuxième lot') else write ('autre') end 7) Écrire un programme qui lit trois notes d’examen et leur coefficient, puis affiche la moyenne en précisant “éliminé” si la moyenne est inférieure à 10, “admissible” dans la cas contraire. 8) Écrire un programme permettant la résolution de ax2+bx+c=0 dans . 6 Chapitre 3 Les structures de répétitions I. Exemples : 1°) program utilisation_du_compteur1; var n : integer; begin for n:=1 to 8 do writeln(n,’ a pour triple ‘,3*n) end. 2°) program utilisation_du_compteur1; var n : integer; begin for n:=8 downto 1 do writeln(n,’ a pour triple ‘,3*n) end. II. Syntaxe de l’instruction for : for compteur:= début to fin do instruction for compteur:= fin downto début do instruction Exercices : 1°) Écrire un programme affichant l’alphabet complet. 2°) Écrire un programme affichant tous les nombres de 1 à 41 de 5 en 5. 3°) Écrire un programme calculant la puissance entière relative d’un nombre réel quelconque. III. Exemple : Program exemple_boucle_jusqu_a; var n : integer; begin repeat write(‘Donner un entier positif : ‘); readln(n); until n<0; writeln(‘vous venez de taper un nombre négatif’) end. IV. Syntaxe de l’instruction repeat ... until : repeat instruction_1; instruction_2; ... instruction_n; until expression_booléenne Exercice : 4°) Écrire un programme calculant la puissance entière relative d’un nombre réel quelconque. 7 V. Exemple : program Exemple_boucle tant_que ; var somme : integer ; nombre : integer ; begin somme := O ; while somme < 100 do begin write ('donnez un nombre ') ; readln (nombre) ; somme := somme + nombre end ; writeln ('somme obtenue : ', somme) end. VI. Syntaxe de l’instruction while ... do : while expression_booléenne do instruction Exemple : 5°) Écrire un programme calculant la puissance entière relative d’un nombre réel quelconque. VII. Remarque importante : POUR INTERROMPRE UN PROGRAMME Avec les structures de boucle, le risque existe d'écrire, par mégarde, un programme qui ne s'arrête pas ou qui ne fonctionne pas comme prévu et que l'on aimerait pouvoir interrompre. La combinaison de touches Ctrl/Pause permet cette interruption (dans certains cas, il faudra la presser deux fois). Elle vous propose une boîte de dialogue vous informant de l'arrêt du programme ; une simple validation vous ramène alors en fenêtre d'édition. Notez bien toutefois que, si vous cherchez à relancer votre programme, son exécution se poursuivra à partir de l'endroit où il avait été interrompu; elle ne reprendra pas depuis le début. Pour éviter cela, il vous suffit de faire appel à la commande Run/Program Reset avant de relancer votre programme. La combinaison de touches Ctrl/C permet, dans certains cas seulement, d'interrompre définitivement votre programme. Cependant, elle ne peut être prise en compte que lors uploads/s3/ turbo-pascal.pdf

  • 33
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager