- Exercices Algorithmiques
Exercice 1:
Ecrire un
programme qui échange la valeur de deux variables. Exemple, si a = 2 et b
= 5, le programme donnera a = 5 et b = 2.
Solution
Début
a=2
b=5
t <-- a
a <-- b
b <-- t
Fin
ou bien
Début
a=2
b=5
a <-- a+b
b <-- a-b
a <-- a-b
Fin
Exercice 2
Ecrire un
programme qui demande un nombre à l’utilisateur, puis qui calcule et
affiche le carré de ce nombre.
Solution
Variables nb, carr en Entier
Début
Ecrire ”Entrez un nombre :”
Lire nb
carr <-- nb * nb
Ecrire ”Son carré est : ”, carr
Fin
En fait, on pourrait tout aussi
bien économiser la variable carr en remplaçant les deux avant-dernières lignes
par :
Ecrire ”Son carré est : ”, nb*nb
C’est une question de style ; dans
un cas, on privilégie la lisibilité de l’algorithme, dans l’autre, on privilégie
l’économie d’une variable.
Exercice 3
Ecrire un programme qui lit le prix
HT d’un article, le nombre d’articles et le taux de TVA, et qui fournit le
prix total TTC correspondant. Faire en sorte que des libellés apparaissent
clairement.
Solution
Variables nb, pht, ttva, pttc en
Numérique
Début
Ecrire ”Entrez le prix hors taxes
:”
Lire pht
Ecrire ”Entrez le nombre d’articles
:”
Lire nb
Ecrire ”Entrez le taux de TVA :”
Lire ttva
pttc <-- nb * pht * (1 + ttva)
Ecrire ”Le prix toutes taxes est :
”, pttc
Fin
Là aussi, on pourrait squeezer une
variable et une ligne en écrivant directement. :
Ecrire ”Le prix toutes taxes est :
”, nb * pht * (1 + ttva)
C’est plus rapide, plus léger en mémoire,
mais un peu plus difficile à relire (et à écrire !)
Exercice 4
Ecrire un algorithme qui demande
deux nombres à l’utilisateur et l’informe ensuite si leur produit est négatif
ou positif (on laisse de côté le cas où le produit est nul). Attention
toutefois : on ne doit pas calculer le produit des deux nombres.
Solution
Variables m, n en Entier
Début
Ecrire ”Entrez deux nombres : ”
Lire m, n
Si (m > 0 ET n > 0) OU (m
< 0 ET n < 0) Alors
Ecrire ”Leur produit est positif”
Sinon
Ecrire ”Leur produit est négatif”
Finsi
Fin
Exercice 5
Ecrire un algorithme qui demande l’âge
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 ?
Solution
Variable age en Entier
Début
Ecrire ”Entrez l’âge de l’enfant :
”
Lire age
Si age >= 12 Alors
Ecrire ”Catégorie Cadet”
SinonSi age >= 10 Alors
Ecrire ”Catégorie Minime”
SinonSi age >= 8 Alors
Ecrire ”Catégorie Pupille”
SinonSi age >= 6 Alors
Ecrire ”Catégorie Poussin”
Finsi
Fin
On peut évidemment écrire cet
algorithme de différentes façons, ne serait-ce qu’en commençant par la catégorie
la plus jeune.
Exercice 6
Ecrire un algorithme 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 un message : Plus
petit ! , et inversement, Plus grand ! si le nombre est inférieur à 10.
Solution
Variable N en Entier
Debut
N <-- 0
Ecrire ”Entrez un nombre entre 10
et 20”
Lire N
TantQue N < 10 ou N > 20
Si N < 10 Alors
Ecrire ”Plus grand !”
SinonSi N > 20 Alors
Ecrire ”Plus petit !”
FinSi
FinTantQue
Fin
Exercice 7
Ecrire un algorithme qui demande un
nombre de départ, et qui calcule la somme des entiers jusqu’à ce
nombre. Par exemple, si l’on entre 5, le programme doit calculer : 1 + 2 + 3 +
4 + 5 = 15 NB : on souhaite afficher uniquement le résultat, pas la décomposition
du calcul.
Solution
Variables N, i, Som en Entier
Debut
Ecrire ”Entrez un nombre : ”
Lire N
Som <-- 0
Pour i <-- 1 à N
Som <-- Som + i
i Suivant
Ecrire ”La somme est : ”, Som
Fin
Exercice 8
Ecrire un algorithme qui demande un
nombre de départ, et qui calcule sa factorielle.
NB : la factorielle de 8, notée 8
!, vaut 1 x 2 x 3 x 4 x 5 x 6 x 7 x 8 Variables N, i, F en Entier
Solution
Debut
Ecrire ”Entrez un nombre : ”
Lire N
F <-- 1
Pour i <-- 2 à N
F <-- F * i
i Suivant
Ecrire ”La factorielle est : ”, F
Fin
Exercice 9
Que produit l’algorithme suivant ?
Tableau Nb(5) en Entier
Variable i en Entier
Début
Pour i <-- 0 à 5
Nb(i) <-- i * i
i suivant
Pour i <-- 0 à 5
Ecrire Nb(i)
i suivant
Fin
Peut-on simplifier cet algorithme
avec le même résultat ?
Solution
Cet algorithme remplit un tableau
avec six valeurs : 0, 1, 4, 9, 16, 25.
Il les écrit ensuite à l’écran.
Simplification :
Tableau Nb(5) en Numérique
Variable i en Numérique
Début
Pour i <-- 0 à 5
Nb(i) <-- i * i
Ecrire Nb(i)
i Suivant
Fin
Exercice 10
écrivez un algorithme
permettant, à l’utilisateur de saisir les notes d’une classe. Le programme, une fois la
saisie terminée, renvoie le nombre de ces notes supérieures à la moyenne de
la classe.
Solution
Variables Nb, i, Som, Moy, Nbsup en
Numérique
Tableau T() en Numérique
Debut
Ecrire “Entrez le nombre de notes à
saisir : “
Lire Nb
Pour i <-- 1 à Nb
Ecrire “Entrez le nombre numero”, i
Lire T(i)
i Suivant
Som 0
Pour i <-- 1à Nb
Som <-- Som + T(i)
i Suivant
Moy <-- Som / Nb
NbSup <-- 0
Pour i <-- 1 à Nb
Si T(i) > Moy Alors
NbSup <-- NbSup + 1
FinSi
i Suivant
Ecrire NbSup, “ élèves dépassent la
moyenne de la classe”
Fin
Telechargement des fichier:
Pour telecharger ce document clicki ici:http://www.4shared.com/file/ZDcQlA1vce/Sries_dexercices_en_algorithme.html