Vous êtes sur la page 1sur 3

TDI TPS

Contrle n 1 2014/2015




Devoir surveill n1
(2h00 )
Aucun document nest autoris

Exercice 1 (2pts):
Ecrire lalgorithme qui demande lutilisateur de saisir 2 nombres entiers n1 et n2, puis
qui affiche ces deux nombres aprs permutation (en mmoire).Exemple de ce qui sera visible
lcran :
Saisir un entier n1
-76
Saisir un entier n2
109
Aprs permutation, n1 vaut 109 et n2 vaut -76


Exercice 2 (2pts):

Soit le programme suivant :

1 Algorithme Durdur
2 VARIABLES
3 X, Y, Z : entier
4 DEBUT
5 Ecrire( "Saisir un premier entier" )
6 Lire( X )
7 Ecrire( "Saisir un deuxime entier" )
8 Lire( Y )
9 Z 4
10 SI (Z - X = 3) ALORS
11 X 2
12 Y X+Y-Z
13 SINON
14 SI (X>=0 et Y<2) ALORS
15 X 0
16 Z 1+Y
17 SINON
18 Y X
19 Z Y
20 FINSI
21 FINSI
22 Ecrire( "X=",X," Y=",Y," Z=",Z )
23 FIN


Donner les valeurs finales des trois variables X, Y, et Z dans le cas o lutilisateur saisit 3
et 1 (c'est dire X vaut 3 et Y vaut 1).



Exercice 3 (4pts):
1. L'algorithme qui vous est propos en annexe contient quinze anomalies. Il vous est
demand de corriger ces erreurs directement sur l'annexe (3 points)

2. Dcrire en quelques lignes ce que tente de faire cet algorithme (1 point)



Exercice 4 (5pts):
La socit "tawakol" prvoit de donner chacun de ses employs une prime de fin d'anne de
3% du salaire quil peroit. De plus, la socit dcide d'accorder une prime supplmentaire de 2000
dhs aux employs ayant moins de 5 ans d'anciennet.

TDI TPS
Contrle n 1 2014/2015




1. Quelles informations sera-t-il ncessaire de saisir pour calculer le montant total de
prime verse un employ de "tawakol"? (1 point)

2. Ecrire l'algorithme qui permet de calculer et afficher montant de cette prime (4 points)

Exercice 5 (7pts):

Les lections lgislatives, en Guignolerie Septentrionale, obissent la rgle suivante :
Lorsque l'un des candidats obtient plus de 50% des suffrages, il est lu ds le premier tour.
En cas de deuxime tour, peuvent participer uniquement les candidats ayant obtenu au moins
12,5% des voix au premier tour.

Vous devez crire un algorithme qui permette la saisie des scores de quatre candidats au premier
tour.
Cet algorithme traitera ensuite le candidat numro 1 (et uniquement lui). Il dira :
- s'il est lu,
- s'il est battu (un autre candidat est lu au premier tour ou bien il a obtenu mois de 12,5% des
voix),
- s'il se trouve en ballottage favorable (il est arriv en tte l'issue du premier tour avec moins
de 50% des voix)
- ou dfavorable (il participe au second tour sans avoir t en tte au premier tour et il a donc
ncessairement obtenu plus de 12,5% des voix).
NOM :




Annexe : Cherchez l'erreur !


Rappel : les majuscules ne sont pas obligatoires !

Une erreur = une instruction/clause incorrecte ou une instruction/clause mal place ou
une instruction/clause manquante. Vous devez corriger les erreurs.

spectacle
var
nbAdultes, nbEnfants, nbEtudiants, nbSeniors : entier
pleinTarif = 45
tarifReduit1 = 38
tarifReduit2 = 25
montant : entier
debut
ecrire("Donner le nombre de personnes de plus de 60 ans :" )
Lire( nbSeniors)
nbTot nbTot + nbSeniors
Ecrire( "Donner le nombre d'tudiants : ", nbEtudiants )
nbTot nbTot + nbEtudiants
Ecrire( "Donner le nombre d'enfants (- de 12 ans) : " )
Lire( nbEnfants )
nbTot nbTot + nbEnfants
Ecrire( "Donner le nombre d'adultes: )
Lire( nbAdultes)
nbTot + nbAdultes nbTot
montant (nbSeniors * tarifReduit1) + (nbEtudiants * tarifReduit1) +
(nbEnfants * tarifReduit2) + (nbAdultes * pleinTarif)
si montant > 500 alors
montant montant * 0.90
sinon
si 400 <= montant <= 500 alors
montant montant * 0.95
sinon






finsi


si nbTot > 5 alors
montant = montant * 0.98
finsi




fin

Ecrire( "Le montant total pour , nbAdultes, " adultes, " nbSeniors, " sniors, ",
nbEtudiants, " tudiants et ", nbEnfants, " enfants est de :", montant )