Vous êtes sur la page 1sur 3

Université de Yaoundé 1 

Département d’Informatique   Faculté des Sciences 


TD3/TP3
ICT 105: Introduction to Algorithms
            Année Académique: 2021-2022  Niveau: ICT L1
Examinateur: TCHIO Corneille

EXERCICES (Les structures itératives)

Objectif : Construire des algorithmes comportant des traitements itératifs.


1. Écrire un algorithme qui permet de saisir un nombre puis détermine s’il appartient à un
intervalle donné, sachant que les extrémités de l’intervalle sont fixées par l’utilisateur.

2. Ecrire un algorithme permettant de lire la valeur de la température de l’eau et d’afficher


son état :
GLACE si la température est inférieure à 0,
LIQUIDE si la température est strictement supérieure à 0 et inférieure à 100,
VAPEUR si la température est supérieure à 100.

3. Écrire un algorithme qui demande une somme d’argent comprise entre 1 et 100 et qui
affiche ensuite le nombre minimal de billets de 10, 5 et 1 qui la compose.

4. Ecrire un algorithme qui permet de calculer an pour un nombre réel a et un entier


positif n.

5. Ecrire un algorithme avec trois versions qui lit un entier positif n puis calcule et
affiche son factoriel selon la formule n! = 1 x 2 x ... x n .
Pour...Faire
Tant que ... Faire
Répéter ... Jusqu'à...

6. Écrire un algorithme qui détermine si un entier N positif est parfait ou non. Un nombre
est dit parfait s’il est égal à la somme de ses diviseurs. Exemple : 6 = 1+2+3.

7. Écrire un algorithme qui permet de saisir un entier strictement positif N et d’afficher s’il
est premier ou non. Un nombre est dit premier s’il est divisible uniquement par 1 et par
lui-même.
Corneille TCHIO ICT 105: Introduction to Algorithms
1
8. Écrire un algorithme qui demande un nombre de départ, et qui ensuite affiche les dix
nombres suivants. Par exemple, si l'utilisateur entre le nombre 17, le programme affichera
les nombres de
18 à 27.

9. 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 :
7x1=7
7 x 2 = 14
7 x 3 = 21
...
7 x 10 = 70

10. Écrire 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

11. 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 numéro 1 : 12
Entrez le nombre numéro 2 : 14
Etc.
Entrez le nombre numéro 20 : 6
Le plus grand de ces nombres est : 14
Modifiez ensuite l’algorithme pour que le programme affiche de surcroît en quelle position
avait été saisie ce nombre : C’était le nombre numéro 2

12. Écrire un algorithme qui permette de connaître ses chances de gagner au tiercé, quarté,
quinté et autres impôts volontaires.
On demande à l’utilisateur le nombre de chevaux partants, et le nombre de chevaux joués.
Les deux messages affichés devront être :
Dans l’ordre : une chance sur X de gagner
Dans le désordre : une chance sur Y de gagner
X et Y nous sont donnés par la formule suivante, si n est le nombre de chevaux partants et p
le nombre de chevaux joués :
X = n ! / (n - p) !
Y = n ! / (p ! * (n – p) !)
NB : cet algorithme peut être écrit d’une manière simple, mais relativement peu
Corneille TCHIO ICT 105: Introduction to Algorithms
2
performante.Ses performances peuvent être singulièrement augmentées par une petite
astuce. Vous commencerez par écrire la manière la plus simple, puis vous identifierez le
problème, et écrirez une deuxième version.
13. Écrire un algorithme qui lit un entier positif n puis affiche tous ses diviseurs.

14. Ecrire un algorithme permettant de :


Lire un nombre fini de notes comprises entre 0 et 20.
Afficher la meilleure note, la mauvaise note et la moyenne de toutes les notes.

15. Ecrire un algorithme qui lit deux entiers positifs A et B puis calcule et affiche leur
PGCD en utilisant la méthode suivante:
● Si A = B; PGCD(A,B) = A
● Si A>B; PGCD(A,B) = PGCD(A-B,B)
● Si A<B; PGCD(A,B) = PGCD(A,B-A)
Exemple: PGCD(18,45) = PGCD(18,27) = (PGCD(18,9) = PGCD(9,9) = 9

16. Ecrire un algorithme qui calcule le PPCM (Plus Petit Commun Multiple) de 2 entiers
positifs A et B en utilisant la méthode suivante :
● Permuter, si nécessaire, les données de façon à ranger dans A le plus grand des 2
entiers;
● Chercher le plus petit multiple de A qui est aussi mutiple de B.
Exemple: PPCM(6,8) = PPCM(8,6) = 24.

17. Ecrire un algorithme qui calcule et affiche les 10 premiers termes de la suite de
Fibonacci.
La suite de Fibonacci est définie par :
F0= 1
F1 = 1
F2 = Fn-2 + Fn -1 pour n > 1.

18. Ecrire un algorithme qui calcule la somme harmonique s = ∑ni=1 1/i ; n est un entier
positif lu à partir du clavier
Exemple: Pour n = 3, s = 1 + 1/2 + 1/3 = 1.83

19. Parmi tous les entiers supérieurs à 1, seuls 4 peuvent être représentés par la somme
des cubes de leurs chiffres.
A titre d'exemple, 153 = 1 3 + 53 + 33 est un nombre cubique.
Écrire un algorithme permettant de déterminer les 3 autres.
Note : les 4 nombres sont compris entre 150 et 410.

Corneille TCHIO ICT 105: Introduction to Algorithms


3

Vous aimerez peut-être aussi