Vous êtes sur la page 1sur 3

TD Algorithmique et programmation en Langage C - Srie I

Parcours GEGM - Semestre 3 - Module :Algorithmique et Programmation 2


FST de Settat, Universit Hassan 1er

Procdures et fonctions
1. Soient les deux procdures suivantes :
algorithme Procdure_P1()
var a, b, c : entier
debut
saisir(a, b)
ca
ab
bc
afficher(a,b)
fin

algorithme Procdure_P2()
var a, b, c : entier
debut
saisir(a, b)
aa+b
bab
aab
afficher(a,b)
fin

(a) Remplissez les cellules grises sur les tableaux de valeurs ci-dessous :
Procdure_P1
Entre
Sortie
A B
A
B
0
2
2
0
-1 1
1
-1
4
2
2
4

Procdure_P2
Entre
Sortie
A B
A
B
0
2
2
0
-1 1
1
-1
4
2
2
4

(b) Quel rle joue chacune des procdures ? Elles permutent les deux valeurs en entre
(c) Laquelle de ces procdures est plus rapide ? P1 : pas doprations
2. crire un algorithme de type procdure permettant dafficher la valeur max entre deux entiers
quun utilisateur saisit au clavier.
algorithme MaxiExo_2()
var a, b : entier
debut
afficher("Saisir la valeur de a : ")
saisir(a)
afficher("Saisir la valeur de b : ")
saisir(b)
si (a > b) alors
afficher(a)
sinon
afficher(b)
fin si
fin

3. crire un algorithme de type fonction permettant de retourner la valeur max entre deux entiers
quun utilisateur saisit au clavier.

TD Algorithmique et programmation en Langage C

PROCDURES ET FONCTIONS

algorithme MaxiExo_3() : entier


var a, b : entier
debut
afficher("Saisir la valeur de a : ")
saisir(a)
afficher("Saisir la valeur de b : ")
saisir(b)
si (a > b) alors
retourner a
sinon
retourner b
fin si
fin

4. crire un algorithme de type procdure prenant en paramtre deux variables de type entier et
permettant dafficher la valeur max entre ces deux variables.
algorithme MaxiExo_4(a : entier , b : entier)
debut
si (a > b) alors
afficher(a)
sinon
afficher(b)
fin si
fin

5. crire un algorithme de type fonction prenant en paramtre deux variables de type entier et permettant de retourner la valeur max entre ces deux variables.
algorithme MaxiExo_5(a : entier , b : entier) : entier
debut
si (a > b) alors
retourner a
sinon
retourner b
fin si
fin

6. Refaire les exercices 2, 3, 4 et 5 mais cette fois-ci en prenant en compte trois valeurs entires.
algorithme MaxiExo_6_2()
var a, b, c : entier
debut
afficher("Saisir la valeur de a : ")
saisir(a)
afficher("Saisir la valeur de b : ")
saisir(b)
afficher("Saisir la valeur de c : ")
saisir(c)
afficher(MaxiExo_5(MaxiExo_5(a, b), c))
fin

TD Algorithmique et programmation en Langage C

PROCDURES ET FONCTIONS

algorithme MaxiExo_6_3() : entier


var a, b, c : entier
debut
afficher("Saisir la valeur de a : ")
saisir(a)
afficher("Saisir la valeur de b : ")
saisir(b)
afficher("Saisir la valeur de c : ")
saisir(c)
retourner M axiExo_5(M axiExo_5(a, b), c)
fin
algorithme MaxiExo_6_4(a : entier , b : entier , c : entier)
debut
afficher(MaxiExo_5(MaxiExo_5(a, b), c))
fin
algorithme MaxiExo_6_5(a : entier , b : entier , c : entier) : entier
debut
retourner M axiExo_5(M axiExo_5(a, b), c)
fin

7. Traduire les algorithmes lis aux questions 2, 3, 4, 5 et 6 en langage C.