1
UNIVERSITE D’ANTANANARIVO
FACULTE DES SCIENCES
DEPARTEMENT DE PHYSIQUE
T.D. AlgorithmiqueProgrammation
Analyse numérique
( L.I.E.R. )
Année universitaire
2012
STRUCTURE DE SEQUENCE
Exercice 1
Quelles seront les valeurs des variables A et B après exécution des instructions suivantes ?
Algo Exo1
Entier A , B
Début
A

5
B

2
A

B
B

A
Fin .
Les deux dernières instructions permettent-elles d’échanger les deux valeurs de B et A ? Si l’on
inverse les deux dernières instructions, cela change-t-il quelque chose ?
Après La valeur des variables est :
A  5 A = 5 B = ?
B  2 A = 5 B = 2
A  B A = 2 B = 2
B  A A = 2 B = 2
Les deux dernières instructions ne permettent donc pas d’échanger les deux valeurs de B et A ,
puisque l’une des deux valeurs (celle de A) est ici écrasée. Si l’on inverse les deux dernières
instructions, cela ne changera rien du tout, hormis le fait que cette fois c’est la valeur de B qui sera
écrasée.
Exercice 2
1°) Ecrire un algorithme permettant de :
a ) Lire au clavier 2 variables entières A et B .
b ) Les afficher à l’écran
c ) Echanger les valeurs des ces deux variables entières , et ce , quel que soit leur contenu préalable
d ) Afficher les nouvelles valeurs à l’écran
2°) Traduire cet algorithme en Pascal .
Algorithme
Algo ExO2
entier A , B , C
Début
écrire "Introduire A : "
lire A
écrire "Introduire B : "
lire B
écrire "A = ", A , " ; B = ", B
C  A
A  B
B  C
écrire "A = ", A , " ; B = ", B
Fin.
On est obligé de passer par une variable dite temporaire ( la variable C ) .
Et quel que soit le nombre de variables, une seule variable temporaire suffit…
2
Exercice 3
Lire au clavier 2 nombres entiers a et b. Calculer et afficher leur moyenne.
Formules mathématiques : Moyenne =
2
ab
Algorithme
Algo ExO3
entier a, b
réel moy
Début
écrire "Introduire a : "
lire a
écrire "Introduire b : "
lire b
moy  (a + b) / 2
écrire "Moyenne = ", moy
Fin .
Exercice 4
Lire au clavier les longueurs des 3 côtés a , b et c d'un triangle quelconque . Calculer et afficher le
périmètre et l'aire du triangle Formules mathématiques
Périmètre = p = a + b + c
aire =
2 / 1
c . b . a
2
p
2
p
2
p
2
p.
( Formule de Héron ) Algorithme
Algo Exo4
réel a, b, c, Perim, Aire, p
Début
écrire "Introduisez la longueur du côté a:"
lire a
écrire "Introduisez la longueur du côté b:"
lire b
écrire "Introduisez la longueur du côté c:"
lire c
Perim  a + b + c
p  Perim / 2
Aire  ( p*( p - a )*( p b )*( p c ) )1/2
écrire "Périmètre = ", Perim
écrire "Aire = ", Aire
Fin .
Exercice 5
Lire au clavier le rayon R d'un cercle et un angle a ( en degré(s) ) . Calculer et afficher l'aire du secteur
circulaire correspondant Formule mathématique
Aire =
360
a . R . 2
3
Algorithme
Algo Exo5
réel R, Angle, Aire
Début
écrire "Introduisez le rayon:"
lire R
écrire "Introduisez l'angle (en degré):"
lire Angle
Aire  3.1416 * R * R * Angle / 360
écrire "Aire =", Aire
Fin.
STRUCTURE DE CHOIX
Exercice 6
Lire 2 entiers a et b . Les écrire dans l’ordre croissant .
Algorithme
Algo PlusGrand ( En tête )
entier a , b ( Déclaration des variables avec leur type )
Début
écrire "Introduisez le nombre a :"
lire a
écrire "Introduisez le nombre b :"
lire b ( Instructions )
Si a > b alors écrire b , a
Sinon écrire a , b
fsi
Fin .
Exercice 7 Déterminer la valeur absolue d'un nombre réel x à partir de la définition de la valeur absolue .
Définition
x si x > 0
x
= 0 si x = 0
x si x < 0
Algorithme
Algo Exo7
réel x
Début
écrire "Introduisez x:"
lire x
si x 0 alors écrire "Valeur absolue =", x
sinon écrire "Valeur absolue =", - x
fsi
Fin .
Exercice 8 Résoudre l'équation du premier degré : a * x + b = 0
Discussion
Si b = 0 : infinité de solutions , x est indéterminé .
Si a = 0 Si b 0 : pas de solution , équation impossible
Si a 0 x =
a
b
4
Algorithme
1ere version
Algo Exo8
réel a , b
Début
écrire "Résolution de ax + b = 0"
écrire "Introduisez a:"
lire a
écrire "Introduisez b:"
lire b
si a = 0 alors si b = 0 alors écrire "Equation indéterminée."
sinon écrire "Equation impossible."
fsi
sinon écrire "x = ", -b/a
fsi
Fin.
2eme version
Algo Exo8B
réel a , b , x
Début
écrire "Résolution de ax + b = 0"
écrire "Introduisez a:"
lire a
écrire "Introduisez b:"
lire b
si (a = 0) et (b = 0) alors écrire "Equation indéterminée." Fsi
si (a = 0) et (b 0) alors écrire "Equation impossible " fsi
si (a 0) alors écrire "x = ", -b/a fsi
Fin.
EXPRESSIONS LOGIQUES ET VARIABLES BOOLEENNES
Exercice 9
Dans le tableau suivant , TRUE ( vrai ) est noté par T et FALSE ( faux ) par F . x et y sont des variables
booléennes :
x
y
not x
x and y
x or y
T
T
F
T
T
T
F
F
F
T
F
T
T
F
T
F
F
T
F
F
1°) Si a = 1 , b = 2 et c = 3 , donner la valeur de chaque variable booléenne suivante :
z1=(b>8) ou (c<1)
z2=(b>a) et (c>b)
z3= non((b>a) et (c>b));
z4= ((b>a) et (c>b)) ou (a<0);
2°) Etablir un programme en Pascal permettant de calculer ces valeurs
1°)
(b>8) est faux ; (c<1) est faux z1=(b>8) ou (c<1) est faux
(b>a) est vrai ; (c>b) est vrai z2=(b>a) et (c>b) est vrai
(b>a) est vrai ;(c>b) est vrai (b>a) et (c>b) est vrai
Z3:=non((b>a) et (c>b)) est faux
(b>a) est vrai ;(c>b) est vrai (b>a) et (c>b) est vrai
a<0 est faux z4:=((b>a) et (c>b)) ou (a<0) est vrai
5
2°) Programme de calcul Algorithme
Algo logik
Entier a,b,c
Booleen z1,z2,z3,z4
Debut
EffaceEcran
a  1
b  2
c  3
z1  (b>8) ou (c<1)
Ecrire ‘‘(b>8) ou (c<1) est ’’,z1
Z2  (b>a) et (c>b)
Ecrire ‘‘(b>a) et (c>b) est ’’,z2
Z3  non((b>a) et (c>b))
Ecrire ‘‘non((b>a) et (c>b)) est ’’,z3
Z4  ((b>a) et (c>b))ou (a<0)
Ecrire ‘((b>a) et (c>b)) ou (a<0) est ’’,z4
Fin .
CHOIX MULTIPLE
Exercice 10
Lire un caractère ( au clavier ) et afficher ( à l’écran ) s’il est minuscule ou majuscule ou n’est pas une
lettre de l’alphabet ( non répertorié ) .
Algorithme
Algo exo10 ( En te )
caractère c ( Déclaration de la variable avec son type )
début
Ecrire ‘‘ taper un caractère : ’’
Lire c
Selon que c
'a'..'z' : Ecrire ‘‘ est une minuscule ’’
oq 'A'..'Z' : Ecrire ‘‘ est une majuscule ’’ ( Instructions )
autrement Ecrire ‘‘ est un caractère non répertorié ’’
fselon
Fin.
Remarque : 'a'..'z' : type intervalle { intervalle d’un type scalaire ( entier ,caractère , …, sauf réel ) }
1 / 17 100%