Vous êtes sur la page 1sur 1

Exercice 1: 2ème méthode : Les Actions élémentaires simples – Fiche 1 Corrigé exercice 3 :

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.