Vous êtes sur la page 1sur 3

TP TPS/LPS 

: Les boucles 2015-2016

Filière : TDI
Module : TPS/LPS
Technologie : Langage C
Objectif Mettre en œuvre les instructions de base d’un langage informatique.
Cette activité d’apprentissage doit vous permettre de :
 Déterminer les instructions et la logique d’un programme simple à l’aide
Précisions d’un pseudo langage.
 Exprimer des itérations
 Construire des dialogues utilisateur pertinents

Exercice 1 :
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

Exercice 2 :
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

Exercice 3 :
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

Exercice 4 :
Ecrire un algorithme qui demande successivement N nombres à l’utilisateur, et qui lui dise ensuite quel
était le plus grand parmi ces N nombres (N est saisi au clavier):
Entrez le nombre numéro 1 : 12
Entrez le nombre numéro 2 : 14

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
C’était le 2° nombre
Exercice 5 :
Ecrire un algorithme qui :
- lit d’abord une valeur a
- ensuite il va lire successivement N nombres.
- enfin il va déterminer combien de fois la première valeur a été saisie (sans compter la première
saisie).

H.FAKHOURI Page | 1
TP TPS/LPS : Les boucles 2015-2016

Exercice 6 :
Ecrire un algorithme pour tester si un nombre est parfait ou non. Un nombre est dit parfait s'il est égal à la
somme de ses diviseurs stricts.
Exemple : 28 = 1 + 2 + 4 + 7 + 14.

Exercice 7 :
Un nombre entier N est premier si ses seuls diviseurs sont 1 et N. Ecrire un algorithme qui permet de
déterminer si un nombre est premier ou non.

Exercice 8 :
Ecrire un algorithme qui demande à l’utilisateur un nombre compris entre 1 et 3 jusqu’à ce que la réponse
convienne.

Exercice 9 :
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.

Exercice 10 :
Ecrire 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.

Exercice 11 :
Ecrire un algorithme qui demande successivement des nombres à l’utilisateur, et qui lui dise ensuite quel
était le plus grand parmi ces nombres et quel était sa position. La saisie des nombres s’arrête lorsque
l’utilisateur entre un zéro.

Exercice 12 :
Lire la suite des prix (en DH réels et terminée par zéro) des achats d’un client. Calculer la somme qu’il doit,
lire la somme qu’il paye, et déterminer le reste à rendre.

Exercice 13 : »
Ecrire un algorithme qui demande successivement des nombres à l’utilisateur, et qui calcule le nombre de
valeurs saisies. La saisie des nombres s’arrête lorsque l’utilisateur entre un zéro.

Exercice 14 :
Ecrire un algorithme qui demande successivement des nombres à l’utilisateur, et qui calcule leur moyenne.
La saisie des nombres s’arrête lorsque l’utilisateur entre un zéro.

Exercice 15 :
Modifiez l’algorithme de l’exercice 13, de façon qu’il nous renseigne sur le nombre des valeurs positives et
sur le nombre des valeurs négatives. Ne comptez pas les valeurs nulles.
Exercice 17 :
Ecrire le programme qui affiche la somme d’une suite d’entiers saisie par l’utilisateur se terminant par zéro.
Exemple : l’utilisateur entre 1, puis 5, puis 2, puis 0 :
Affiche : 8

H.FAKHOURI Page | 2
TP TPS/LPS : Les boucles 2015-2016

Exercice 18 :
Ecrire un programme mettant en œuvre le jeu suivant :
Le premier utilisateur saisi un entier que le second doit deviner. Pour cela, il a le droit à autant de tentatives
qu’il souhaite. A chaque échec, le programme lui indique si l’entier cherché est plus grand ou plus petit que
sa proposition.
Un score indiquant le nombre de coups joués est mis à jour et affiché lorsque l’entier est trouvé.

Exercice 19 :
Ecrire un algorithme permettant de calculer le PGCD (le plus grand diviseur commun) de deux nombres a et
b en utilisant l’astuce suivante : soustraite le plus petit des deux entiers du plus grand jusqu'à ce qu’ils
soient égaux
Ecrire le même programme en utilisant l’algorithme d’Euclide : d’une part en utilisant uniquement les
structures TANT QUE, d’autre part en utilisant uniquement les structures REPETER JUSQU'A.

L'algorithme d'Euclide, consiste à effectuer une suite de divisions euclidiennes :


On commence par calculer le reste de la division de a par b, qu'on note r ; puis on remplace a par b,
puis b par r, et on réapplique le procédé depuis le début.
On obtient ainsi une suite, qui vaut 0 à un certain rang ; le PGCD cherché est le terme précédent de la suite.
Calculons, par exemple, le PGCD de 1071 et de 1029 à l'aide de l'algorithme d'Euclide :
1071 = 1029 × 1 + 42
1029 = 42 × 24 + 21
42 = 21 × 2 + 0
Il faut prendre le dernier reste avant le zéro, donc PGCD (1071 ; 1029) = 21

H.FAKHOURI Page | 3

Vous aimerez peut-être aussi