Vous êtes sur la page 1sur 3

Base de l'Informatique et de la Programmation – TD N°4

Exercice 1
Donner le type (ou les types possibles) puis (éventuellement) la valeur des expressions
maladroites suivantes, dans lesquelles le symbole ‿ représente un espace, en explicitant
les conversions de type à effectuer, et les types que peuvent ou doivent avoir les variables
:
Expression Type (ou types Valeur (si évaluable) Expression correcte,
possibles de avec conversion et
l'expression) types de variables

('5'+3)*('2'-1) Entier 8 (5+3)*(2-1)


2+'‿'+3 Entier 5 2+3
3<12 Boolean VRAI 3<12
40≠15 Boolean VRAI 40≠15
6≠3*2 Boolean FAUX 6≠3*2
x*12.32 Depend de x Depend de x x*12.32
y*z Depend de y et z Depend de y et z y*z
y+z Depend de y et z Depend de y et z y+z
x+'1' Depend de x Depend de x x+1

Exercice 2
Ecrire un algorithme qui prend en entrée une note (>=12) et affiche la mention
correspondante.

Solution

Algorithme Mention
Variable
note: reel
DEBUT
Ecrire('Donnez un réel >=12')
Lire (note)
si((note >=12) et (note<14)) alors

1/3
Ecrire('A.Bien')
Sinon
si((note >=14) et (note<16)) alors
Ecrire('Bien')
sinon
si((note >=16) et (note<18)) alors
Ecrire('T.Bien')
sinon
si((note >=18) et (note<=20)) alors
Ecrire('Excellent')
sinon
Ecrire('Erreur')
finSi
finSi
finSi
finSi
FIN
Remarque : insister sur le fait que chaque finsi est assiciée au SI qui le precede en
remontant vers le premier SI.

Exercice 3
Ecrire un algorithme qui prend en entrée deux nombres et une opération et retourne le
résultat correspondant à l'opération.

Solution

Algorithme Calcul
Variable
op: caractere
a,b,c:reel
DEBUT
Ecrire('Donnez deux nombres réels')
Lire (a,b)
Ecrire('Donnez une opération (+ ou – ou * ou /)')
Lire(op)

SELON op FAIRE
'+' : c:= a+b
'-' : c:= a-b
'*' : c:= a*b
'/' : si (b<>0)alors
c:= a/b
finSi
SINON: Ecrire('Erreur Opération')
FINSELON
FIN

Exercice 4
Lors des essais pour un grand prix de formule 1, on chronomètre (plusieurs fois) le temps
mis par une voiture pour effectuer un tour du circuit. Écrire un algorithme qui demande à

2/3
l'utilisateur chacun des temps (en nombre entier de secondes pour simplifier) puis affiche
le temps total (utiliser un cumul).
• Écrire une première version en supposant que l'utilisateur donne un temps nul pour
arrêter l'algorithme.
Indication : Utilisation d'une boucle tant que: condition d'arrêt t=0.
• Écrire une seconde version où on demande à l'utilisateur au préalable le nombre de
tours (ajouter un compteur). L'algorithme doit s'arrêter au bout du nombre de tours
prévu.
Indication : Utilisation d'une boucle pour : i allant de 1 à nbr_tours.
• Écrire une troisième version en supposant que l'utilisateur donne un temps nul pour
arrêter l'algorithme, mais cette fois, l'algorithme affiche aussi le nombre de tours
effectués et le temps moyen au tour.
Indication : Utilisation d'une boucle répeter : condition d'exécution t>0.

3/3