EC521 – Remise `a niveau Informatique – Exercices d`algorithmique

publicité
EC521 – Remise à niveau
Informatique – Exercices d’algorithmique
Christophe Montagne & Jean-Yves Didier
1
Manipulation des variables
Exercice 1.1 :
suivantes ?
Quelles seront les valeurs des variables A et B après exécution des instructions
1 programme e x e r c i c e 1 . 1
d ébut
3
v a r i a b l e s A, B en e n t i e r
A ← 1
5
B ← A +3
A ← 3
7 fin
Exercice 1.2 :
suivantes ?
Quelles seront les valeurs des variables A, B et C après exécution des instructions
1 programme e x e r c i c e 1 . 2
d ébut
3
v a r i a b l e s A, B , C en e n t i e r
A ← 5
5
B ← 3
C ← A + B
7
A ← 2
C ← B − A
9 fin
Exercice 1.3 :
suivantes ?
Quelles seront les valeurs des variables A et B après exécution des instructions
1 programme e x e r c i c e 1 . 3
d ébut
3
v a r i a b l e s A, B en e n t i e r
A ← 5
5
B ← A + 4
A ← A + 1
7
B ← A − 4
fin
Dernière version : 15 septembre 2016
1
2
Lecture et affichage
Exercice 2.1 : Quel résultat produit le programme suivant ?
2
4
6
8
programme e x e r c i c e 2 . 1
d ébut
v a r i a b l e s v a l , d o u b l e en e n t i e r
v a l ← 231
double ← val ∗ 2
afficher ( val )
a f f i c h e r ( double )
fin
Si je remplace la ligne 4 par une instruction lire(val) et que l’utilisateur, à l’exécution du programme,
saisit la valeur 21. Quel sera le résultat produit par ce même programme ?
Exercice 2.2 : Un étudiant a écrit, dans l’idée de permuter la valeur de deux variables saisies par
l’utilisateur, le programme suivant :
2
4
6
8
programme e x e r c i c e 2 . 2
d ébut
v a r i a b l e s A, B en e n t i e r
l i r e (A, B )
A ← B
B ← A
a f f i c h e r (A, B )
fin
Le programme proposé réalise-t-il réellement une permutation des valeurs des variables ? On pourra
s’aider d’un exemple concret, par exemple l’utilisateur saisit 1 pour A et 2 pour B. Si le programme
ne donne pas le résultat escompté, écrivez un programme modifié permettant de le réaliser.
Exercice 2.3 : Ecrire un programme qui demande un nombre à l’utilisateur, puis qui calcule et
affiche le carré de ce nombre.
Exercice 2.4 : Ecrire un programme qui lit le prix HT d’un article, le nombre d’articles et le taux de
TVA, et qui affiche le prix total TTC y correspondant. Faire en sorte que les messages du programme
soient explicites.
3
Les tests
Exercice 3.1 : Soit le programme suivant :
2
4
6
8
10
programme e x e r c i c e 3 . 1
d ébut
v a r i a b l e s A, T en r é é l
T ← 35
a f f i c h e r ( ” Donnez v o t r e t e m p é r a t u r e ” )
l i r e (A)
si A < T alors
a f f i c h e r ( ” L’ hypothermie vous g u e t t e ! ” )
sinon
a f f i c h e r ( ” Vous ne f a i t e s p a s d ’ h y p o t h e r m i e ” )
2
finsi
12
fin
Qu’affichera le programme dans le cas où l’utilisateur saisit la valeur 30 ? Même question si l’utilisateur saisit la valeur 38.
Exercice 3.2 : Ecrire un algorithme qui demande un nombre à l’utilisateur et l’informe ensuite si ce
nombre est positif ou négatif (on laisse de côté le cas où le nombre vaut zéro).
Exercice 3.3 : Soit le programme suivant :
programme e x e r c i c e 3 . 3
2 d ébut
v a r i a b l e T en r é e l
4
a f f i c h e r ( ” Donnez v o t r e t e m p é r a t u r e ” )
6
l i r e (T)
s i (T < 38) alors
s i (T < 35) alors
a f f i c h e r ( ” Vous e t e s en h y p o t h e r m i e ” )
sinon
a f f i c h e r ( ” Vous e t e s en bonne s a n t é ” )
finsi
sinon
a f f i c h e r ( ” Vous e t e s f i é v r e u x ” )
finsi
8
10
12
14
16
fin
Qu’affichera le programme dans le cas où l’utilisateur saisit la valeur 36 ? Même question pour les
cas où l’utilisateur saisit 34, puis 39.
Exercice 3.4 : Ecrire un algorithme qui demande l’age d’un enfant à l’utilisateur. Ensuite, il l’informe de sa catégorie :
— Poussin de 6 à 7 ans ;
— Pupille de 8 à 9 ans ;
— Minime de 10 à 11 ans ;
— Cadet après 12 ans.
Peut-on concevoir plusieurs algorithmes équivalents menant à ce résultat ?
Exercice 3.5 : Un magasin de reprographie facture 0,10e les dix premières photocopies, 0,09e
les vingt suivantes et 0,08e au-delà. Ecrire un algorithme qui demande à l’utilisateur le nombre de
photocopies effectuées et qui affiche la facture correspondante.
Exercice 3.6 (optionnel) : La présipauté du Groland se décide à organiser des élections pour son
nouveau ministre de l’économie. Elles obéissent à la règle suivante :
— Lorsque l’un des candidats obtient plus de 50% des suffrages, il est élu dès le premier tour ;
— En cas de second tour, ne peuvent participer que les candidats ayant obtenu au moins 12,5%
des voix au premier tour.
Ecrire un algorithme qui permette la saisie des scores de quatre candidats au premier tour. Cet algorithme traitera ensuite le candidat numéro 1 (et uniquement lui) : il dira s’il est élu, battu, s’il se trouve
3
en ballotage favorable (il participe au second tour en étant arrivé en tête à l’issue du premier tour) ou
défavorable (il participe au second tour sans avoir été en tête à l’issue du premier tour).
4
Les boucles
Exercice 4.1 Soit le programme ci-dessous.
1 programme e x e r c i c e 4 . 1
d ébut
3
v a r i a b l e n en e n t i e r
faire
a f f i c h e r ( ” E n t r e z un nombre ” )
lire (n)
tantque n < 1 e t n > 3
5
7
9
fin
Que réalise ce programme ? Si l’utilisateur envisage de rentrer la séquence de nombres suivants
(dans l’ordre présenté) : −1, 0, 4, 1, 2, 5, quels seront les nombres de cette séquence qu’il pourra saisir
avant que le programme ne se termine ?
Exercice 4.2 : Ecrire un programme qui demande un nombre compris entre 10 et 20, jusqu’à ce
que la réponse convienne. En cas de réponse supérieure à 20, on fera apparaı̂tre le message Plus
petit ! et inversement, Plus grand ! si le nombre est inférieur à 10.
Exercice 4.3 : Ecrire un algorithme qui demande un nombre de départ, et qui ensuite écrit la table
de multiplication de ce nombre, présentée comme suit (cas où l’utilisateur entre le nombre 7) :
Table de 7 :
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
...
7 x 10 = 70
Réécrire cet algorithme en utilisant à chaque fois une variante de boucle parmi celles portées à votre
connaissance.
Exercice 4.4 : Ecrire un algorithme qui demande successivement 20 nombres à l’utilisateur, et qui
lui dise ensuite quel était le plus grand parmi ces 20 nombres :
Entrez le nombre
Entrez le nombre
...
Entrez le nombre
Le plus grand de
numéro 1 : 12
numéro 2 : 14
numéro 20 : 6
ces nombres est : 14
Modifiez ensuite l’algorithme pour que le programme affiche également en quelle position le nombre
avait saisi : c’était le nombre numéro 2 .
Exercice 4.5 : Réécrire l’algorithme précédent, cette fois, on ne connait pas d’avance combien de
nombres souhaite saisir l’utilisateur. La saisie des nombres s’arrête lorsque l’utilisateur entre −1.
4
Téléchargement