L'affectation
L'affectation
L'affectation
Chapitre 2
Les actions élémentaires simples
Leçon 1 :
L’affectation
I-Définition :
Une affectation permet d'affecter une valeur à une variable : Variable Valeur
Valeur peut être :
• Une constante (X 3)
• Une variable (X Y)
• Expression (Moy (DC+2*DS)/3 )
L'expression à droite de signe d'affectation " ", sera complètement évaluée puis assignée
(affectée) à la variable située à gauche de même signe.
La valeur ou le résultat de l'expression à droite du signe d'affectation doit être de même
type ou de type compatible avec celui de la variable à gauche.
II-Vocabulaire et syntaxe :
Analyse & Algorithme Pascal
Forme générale: Forme générale:
Variable valeur Variable := valeur ;
Exemple: Exemple:
Moy (Note1 + note2) /2 Moy := (Note1 + note2) /2 ;
Leçon 2:
2-Vocabulaire et syntaxe :
Analyse Algorithme Pascal
Forme générale: Forme générale: Forme générale:
A=Donnée("commentaire sur A") Écrire ("commentaire sur A") WRITE (' commentaire sur A');
Lire (A) READLN (A); {ou READ (A) } ;
var1, var2,var3=Donnée Lire(var1, var2,var3) Readln (var1, var2,var3) ;
Exemple: Exemple: ou Read (var1, var2,var3);
Moy=Donnée("Entrer la moyenne:") Écrire ("Entrer la moyenne:") Exemple: WRITE (' Entrer la moyenne:');
Lire (moy)
READLN(moy);
Ou Écrire ("Entrer la moyenne:"), Lire (moy)
Remarques:
• WRITELN: affichage de donnée et retour à la ligne.
• READLN: lecture de données et retour à la ligne.
• La lecture de plusieurs variables de type chaîne à la fois est non fonctionnelle.
2-Vocabulaire et syntaxe :
Analyse & Algorithme Pascal
Affichage d'un texte: Affichage d'un texte: WRITE ('Bonjour'); Bonjour
Écrire ("message") Exemple: Ecrire ("Bonjour") Affichage de contenu d'une variable:
Affichage de contenu d'une variable: A := 165 ; WRITELN (A) ; 165
Écrire (variable) Exemple : A 165 Écrire (A) Expression: WRITELN (3+5) ; 8
Écrire (Expression) Exemple : Écrire (3+5) Affichage mixte: WRITE ('A=', A); A=165
Affichage mixte:
Écrire ("message", variable) Exemple: Écrire ("A=", A)
Exercice 8 : page 69
Préciser le résultat obtenu à la sortie d'un programme par les séquences d'instruc-
tions suivantes :
VAR var1, var2, var3, var4, var5 : REAL;
où :
var1 vaut 1.2
var2 vaut 0.00089
var3 vaut 45
var4 vaut 10095.095
var5 vaut 2.7182818281
Séquences d'instructions :
1) WRITE(var1 : 8 : 4); 6) WRITE(var1 : 6 : 4);
2) WRITE(var2 : 8 : 4); 7) WRITE(var2 : 10 : 6);
3) WRITE(var3 : 4 : 1); 8) WRITE(var3 : 10 : 6);
4) WRITE(var4 : 3 : 1); 9) WRITE(var4 : 7 : 5);
5) WRITE(var5 : 3 : 1); 10) WRITE(var5 : 10 : 4);
Corrigé :
1- :
var1=1.2 var2 = 0.00089 var3 = 45 var4 = 10095.095 var5 = 2.7182818281
1 2 3 4 5 6 7 8 9 10 11 12
1) WRITE(var1 : 8 : 4); 1 . 2 0 0 0
2) WRITE(var2 : 8 : 4); 0 . 0 0 0 9
3) WRITE(var3 : 4 : 1); 4 5 . 0
4) WRITE(var4 : 3 : 1); 1 0 0 9 5 . 1
5) WRITE(var5 : 3 : 1); 2 . 7
6) WRITE(var1 : 6 : 4); 1 . 2 0 0 0
7) WRITE(var2 : 10 : 6); 0 . 0 0 0 8 9 0
8) WRITE(var3 : 10 : 6); 4 5 . 0 0 0 0 0 0
9) WRITE(var4 : 7 : 5); 1 0 0 9 5 . 0 9 5 0 0
10) WRITE(var5 : 10 : 4); 2 . 1 7 8 3
Exercice 9 : page 69
Écrire un programme en Pascal permettant de lire 2 nombres entiers positifs infé-
rieurs à 999 et affiche à l'écran la multiplication et la division comme suit :
Corrigé :
1-
program ex9page69;
uses wincrt;
var
a,b:word;
begin
writeln('Donner 2 entiers positifs <999 :');
write('a=');readln(a);
write('b=');readln(b);
writeln;
writeln(a:6);
writeln(' x ',b:3);
writeln('........');
writeln('= ',a*b:4);
writeln;writeln;
writeln(a:3,' : ',b);
writeln(a mod b :3,' :....');
writeln(': ':6,a div b);
writeln(': ':6 );
end.
Exercice 4 : page 50
Écrire un algorithme qui saisit un temps en seconde puis le convertit en jours,
heure, minutes et secondes.
Corrigé :
sachant que jours=86400 heure=3600s minute=60s
Algorithme :
0) Début conversion
1) Ecrire("Donner un temps en seconde : "), lire(temps)
2) jours ← temps div 86400
3) heure ← (temps mod 86400) div 3600
4) minutes ← (temps mod 3600 ) div 60
5) secondes ← temps mod 60
6) Ecrire("jours=", jour, " heures = ",heures, "minutes= ", minutes, "Secondes= ", secondes)
7) Fin conversion
Remarque :
en Pascal il faut utiliser le type longint pour déclarer les variable (puisqu'on dépasse la valeur 32767)
Exercice :
Ecrire la préanalyse, l'analyse, l'algorithme et le programme pascal d'un programme qui permet de saisir
un entier de 3 chiffres puis affiche la somme de ces 3 chiffres.
Exemple : pour 123 S=1+2+3=6
Avec 2 méthodes : en utilisant (mod et div) puis avec (convch et valeur)
Préanalyse :
But : Afficher la somme de 3 chiffres d'un entier
données : n
Formules : c ← n div 100 d ← (n mod 100) div 10 u ← n mod 10
s ← u+d+c
Analyse :
Nom : Somme
Résultat= Ecrire('' la somme de 3 chiffres est = '', s)
s ← u+d+c
c ← n div 100 Cours d’informatique en ligne :
d ← (n mod 100) div 10
u ← n mod 10
n=donnée(''Donner un entier composé de 3 chiffres :'')
Fin Somme
Algorithme :
0) Début somme
1) Ecrire(''Donner un entier composé de 3 chiffres :''), lire(n)
2) c ← n div 100
3) d ← (n mod 100) div 10
4) u ← n mod 10
5) s ← u+d+c
6) Ecrire('' la somme de 3 chiffres est = '', s)
7) Fin Somme
Traduction en Pascal :
Program somme ;
uses wincrt ;
var
n,u,d,c,s : integer ;
Begin
Writeln('Donner un entier composé de 3 chiffres :') ;
readln(n) ;
c := n div 100 ;
d := (n mod 100) div 10 ;
u:= n mod 10 ;
s := u+d+c ;
writeln(' la somme de 3 chiffres est = ', s) ;
end.
2ème méthode :
Préanalyse :
But : Afficher la somme de 3 chiffres d'un entier
données : n
Formules : convch(n,ch)
valeur(ch[1],c,e) valeur(ch[2],d,e) valeur(ch[3],u,e)
s ← u+d+c
Analyse :
Nom : Somme
Résultat= Ecrire('' la somme de 3 chiffres est = '', s)
s ← u+d+c Cours d’informatique en ligne :
valeur(ch[1],c,e)
valeur(ch[2],d,e)
valeur(ch[3],u,e)
convch(n,ch)
n=donnée(''Donner un entier composé de 3 chiffres :'')
Fin Somme
T.D.O (Tableau de Déclaration des Objets)
Objet Type/Nature
n, u, d, c, s Entier
ch Chaîne de 3 caractères
e entier
Algorithme :
0) Début somme
1) Ecrire(''Donner un entier composé de 3 chiffres :''), lire(n)
2) convch(n,ch) ;
3) valeur(ch[1],c,e)
4) valeur(ch[2],d,e)
5) valeur(ch[3],u,e)
6) s ← u+d+c
7) Ecrire('' la somme de 3 chiffres est = '', s)
8) Fin Somme
Traduction en Pascal :
Program somme ;
uses wincrt ;
var
n,u,d,c,s, e : integer ;
ch : string[3] ;
Begin
Writeln('Donner un entier composé de 3 chiffres :') ;
readln(n) ;
str(n,ch) ;
val(ch[1],c,e) ;
val(ch[2],d,e) ;
val(ch[3],u,e) ;
s := u+d+c ;
writeln(' la somme de 3 chiffres est = ', s) ;
end.
Exercice2 :
Ecrire un programme pascal qui permet de calculer la surface d'un cercle.
Remarques =pi*r2
Corrigé :
program surface ;
uses wincrt ; Cours d’informatique en ligne :
const pi=3.14 ;
var
r,s:real ;
begin
writeln('Donner le rayon du cercle=') ;
readln(r) ;
s:=pi*r*r ;
writeln('La surface du cercle est= ',s :7:3) ;
end .
Activité 10 : page 67
Exercice 6 : page 68