Ecrire la préanalyse, l'analyse, l'algorithme et le Préanalyse : Exercice 2: program exercice3;
programme pascal d'un programme qui permet de But : Afficher la somme de 3 chiffres Écrire un algorithme qui saisit un temps en uses wincrt; saisir un entier de 3 chiffres puis affiche la somme données : n seconde puis le convertit en jours, heure, var a,b:word; de ces 3 chiffres. Formules : convch(n,ch) valeur(ch[1],c,e) minutes et secondes. begin Exemple : pour n=123 S=1+2+3=6 valeur(ch[2],d,e) valeur(ch[3],u,e) s ← u+d+c sachant que : writeln('Donner 2 entiers positifs <999 :'); Préanalyse : Analyse : jours=86400s heure=3600s minute=60s write('a=');readln(a); But : Afficher la somme de 3 chiffres Nom : Somme write('b=');readln(b); données : n Résultat= Ecrire('' la somme est = '', s) Algorithme : writeln; Formules : c ← n div 100 d ← (n mod 100) s ← u+d+c 0) Début conversion writeln(a:6); div 10 u ← n mod 10 s ← u+d+c valeur(ch[1],c,e) 1) Ecrire("Donner un temps en seconde : ") writeln(' x ',b:3); Analyse : valeur(ch[2],d,e) 2) Lire(temps) writeln('........'); Nom : Somme valeur(ch[3],u,e) 3) jours ← temps div 86400 writeln('= ',a*b:4); Résultat= Ecrire('' la somme est = '', s) convch(n,ch) 4) heure ← (temps mod 86400) div 3600 writeln;writeln; s ← u+d+c n=donnée(''Donner un entier de 3 chiffres :'') 5) minutes ← (temps mod 3600 ) div 60 writeln(a:3,' : ',b); c ← n div 100 Fin Somme 6) secondes ← temps mod 60 writeln(a mod b :3,' :....'); d ← (n mod 100) div 10 T.D.O (Tableau de Déclaration des Objets) 7) Ecrire("jours=", jour, " heures = ",heures, writeln(': ':6,a div b); u ← n mod 10 Objet Type/Nature "minutes= ",minutes, "Secondes= ",secondes) writeln(': ':6 ); n=donnée(''Donner un entier de 3 chiffres :'') 8)Fin conversion end. Fin Somme n,u,d,c,s,e Entier T.D.O (Tableau de Déclaration des Objets) ch chaîne de 3 caractères Exercice 4 : Remarque : Objets Type/Nature Algorithme : en Pascal il faut utiliser le type longint pour Préciser le résultat obtenu à la sortie d'un 0) Début somme déclarer la variable temps (puisqu'on dépasse programme par les séquences d'instructions n,u,d,c,s entier suivantes : 1) Ecrire(''Donner un entier de 3 chiffres :''), la valeur 32767) Algorithme : VAR var1, var2, var3, var4, var5 : REAL; lire(n) 0) Début somme où : var1 vaut 1.2 2) convch(n,ch) ; Exercice 3 : 1) Ecrire(''Donner un entier de 3 chiffres :''), var2 vaut 0.00089 Devoirs et examens sur : www.Kiteb.net
3) valeur(ch[1],c,e) Écrire un programme en Pascal permettant
lire(n) var3 vaut 45 4) valeur(ch[2],d,e) de lire 2 nombres entiers positifs inférieurs à 2) c ← n div 100 var4 vaut 10095.095 5) valeur(ch[3],u,e) 999 et affiche à l'écran la multiplication et la 3) d ← (n mod 100) div 10 var5 vaut 2.7182818281 6) s ← u+d+c division comme suit : 4) u ← n mod 10 Séquences d'instructions : 7) Ecrire('' la somme dest = '', s) 5) s ← u+d+c 1) WRITE(var1 : 8 : 4); 6) WRITE(var1 : 6 : 4); 8) Fin Somme 6) Ecrire('' la somme est = '', s) 2) WRITE(var2 : 8 : 4); 7) WRITE(var2 : 10 : 6); Traduction en Pascal : 7) Fin Somme 3) WRITE(var3 : 4 : 1); 8) WRITE(var3 : 10 : 6); Program somme ; Traduction en Pascal : 4) WRITE(var4 : 3 : 1); 9) WRITE(var4 : 7 : 5); uses wincrt ; Program somme ; 5) WRITE(var5 : 3 : 1); 10) WRITE(var5:10 : 4); var n,u,d,c,s, e : integer ; ch : string[3] ; Corrigé exercice 4: uses wincrt ; Begin 1 2 3 4 5 6 7 8 9 10 11 12 var n,u,d,c,s : integer ; Writeln('Donner un entier de 3 chiffres :') ; 1) WRITE(var1 : 8 : 4); 1 . 2 0 0 0 Begin 2) WRITE(var2 : 8 : 4); 0 . 0 0 0 9 readln(n) ; Writeln('Donner un entier de 3 chiffres :') ; 3) WRITE(var3 : 4 : 1); 4 5 . 0 str(n,ch) ; readln(n) ; 4) WRITE(var4 : 3 : 1); 1 0 0 9 5 . 1 val(ch[1],c,e) ; c := n div 100 ; 5) WRITE(var5 : 3 : 1); 2 . 7 val(ch[2],d,e) ; d := (n mod 100) div 10 ; 6) WRITE(var1 : 6 : 4); 1 . 2 0 0 0 val(ch[3],u,e) ; 7) WRITE(var2 : 10 : 6); 0 . 0 0 0 8 9 0 u:= n mod 10 ; s := u+d+c ; 8) WRITE(var3 : 10 : 6); 4 5 . 0 0 0 0 0 0 s := u+d+c ; writeln(' la somme de 3 chiffres est = ', s) ; 9) WRITE(var4 : 7 : 5); 1 0 0 9 5 . 0 9 5 0 0 writeln(' la somme de 3 chiffres est = ', s) ; end. 10) WRITE(var5 : 10 : 4); 2 . 1 7 8 3 end.