Vous êtes sur la page 1sur 50

Exercices

Algorithmiques
Structure Itrative
Exercice

crire un algorithme qui demande
lutilisateur un nombre compris entre 1 et 3
jusqu ce que la rponse convienne.

Dbut
Variable N : Entier
N 0
Saisir Entrez un nombre entre 1 et 3; N
TantQue N < 1 ou N > 3
Faire
Afficher Saisie errone. Recommencez
Saisir Entrez un nombre entre 1 et 3; N
FinTq
Fin
Exercice
crire un algorithme qui demande un
nombre compris entre 10 et 20, jusqu ce
que la rponse convienne.

En cas de rponse suprieure 20, on
fera apparatre un message : Plus
petit ! , et inversement, Plus grand ! si
le nombre est infrieur 10.
Debut
Variable N : Entier
N 0
Saisir Entrez un nombre entre 10 et 20 ; N
TantQue N < 10 ou N > 20
Faire
Si N < 10
Alors
Afficher Plus grand !
Sinon
Afficher Plus petit !
Finsi
Saisir Entrez un nombre entre 10 et 20 ; N

FinTantQue
Fin
Exercice
crire un algorithme qui demande un
nombre de dpart, 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.
Dbut
Variables N, i : Entier
Saisir Entrez un nombre : ; N
Afficher Les 10 nombres suivants sont :
Pour i = N + 1 N + 10
Afficher i
Fin Pour quivalent (ii+1)
Fin
crire un algorithme qui demande un nombre de dpart,
et qui ensuite crit la table de multiplication de ce
nombre, prsente 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
Debut

Variables N, i : Entier
Saisir Entrez un nombre : ; N
Ecrire La table de multiplication de ce nombre est :
Pour i = 1 10
Afficher N;x;i; = ; N*i
Fin Pour
Fin
Ecrire un algorithme qui demande un
nombre de dpart, et qui calcule la somme
des entiers jusqu ce nombre. Par
exemple, si lon entre 5, le programme doit
calculer :

1 + 2 + 3 + 4 + 5 = 15
Debut

Variables N, i, Somme : Entier
Saisir Entrez un nombre : ; N
Somme 0
Pour i = 1 N
Somme Somme + i
Fin Pour
Afficher La somme est : , Somme
Fin
Ecrire un algorithme qui demande un
nombre de dpart, et qui calcule sa
factorielle.

NB : la factorielle de 8, note 8 !, vaut 1 x
2 x 3 x 4 x 5 x 6 x 7 x 8
Debut

Variables N, i, F : Entier
Saisir Entrez un nombre : ; N
F 1
Pour i = 2 N
F F * i
Fin Pour
Afficher La factorielle est : , F
Fin


crire un algorithme qui demande successivement 5 nombres
lutilisateur, afin de dterminer quel tait le plus grand parmi ces 5
nombres :
Entrez le nombre numro 1 : 12
Entrez le nombre numro 2 : 14
Etc.
Entrez le nombre numro 5 : 6
Le plus grand de ces nombres est : 14

Modifiez ensuite lalgorithme pour que le programme affiche de surcrot
en quelle position avait t saisie ce nombre :
Ctait le nombre numro 2
Dbut
Variables N, i, PG : Entier
PG <- 0
Pour i <- 1 20
Saisir Entrez un nombre : ; i; =; N
Si N > PG Alors
PG <- N
FinSi
Fin Pour
Ecrire Le nombre le plus grand tait : , PG
Fin
Version Amliore
Dbut
Variables N, i, PG, IPG : Entier
PG 0
Pour i 1 5
Saisir Entrez un nombre : ; N
Si N > PG Alors
PG N
IPG i
FinSi
Fin Pour
Ecrire Le nombre le plus grand tait : , PG
Ecrire Il a t saisi en position numro , IPG
Fin
Rcrire lalgorithme prcdent, mais
cette fois-ci on ne connat pas davance
combien lutilisateur souhaite saisir de
nombres.

La saisie des nombres sarrte lorsque
lutilisateur entre un zro.
Dbut
Variables N, i, PG, IPG : Entier
N 1
i 1
PG <- 0
TantQue N <> 0
Saisir Entrez un nombre : ; N
Si N > PG
Alors
PG N
IPG i
FinSi
i i + 1

FinTantQue

Ecrire Le nombre le plus grand tait : , PG
Ecrire Il a t saisi en position numro , IPG
Fin
Lire la suite des prix (en euros entiers et
termine par zro) des achats dun client.

Calculer la somme quil doit, lire la somme
quil paye, et simuler la remise de la
monnaie en affichant les textes 10 E ,
5 E et 1 E autant de fois quil y a
de coupures de chaque sorte rendre.
Dbut
VariablesMT, somdue, MV, IPG, Reste, Nb10, Nb5 : Entier
MT 1
somdue <- 0

TantQue MT <> 0
Saisir Entrez le montant : ; MT
somdue somdue + MT
FinTantQue

Afficher Vous devez :,MT
Saisir Montant vers :; MV
Reste MV MT

Nb10 0
TantQue Reste >= 10
Nb10 Nb10 + 1
Reste Reste 10
FinTantQue

Nb5 0
Si Reste >= 5
Nb5 1
Reste Reste 5
FinSi
Ecrire Rendu de la monnaie :
Ecrire Pices de 10 E : , Nb10
Ecrire Pices de 5 E: , Nb5
Ecrire Pices de 1 E : , reste
Fin
Fin de cette Partie
- Les Tableaux et Vecteurs

crire un algorithme qui dclare et
remplisse un Vecteur de 7 valeurs
numriques en les mettant toutes zro.
Tableau Truc(7), i : Entier
Debut dim truc(7) as Integer
Pour i 0 6 For i = 0 to 6
Truc(i) 0 truc(i) = 0
Fin Pour next i
Fin
crire un algorithme qui dclare et
remplisse un vecteur contenant les six
voyelles de lalphabet latin.
Tableau Truc(6) : Chaine
Debut
Truc(0) a
Truc(1) e
Truc(2) i
Truc(3) o
Truc(4) u
Truc(5) y
Fin
Ecrire un algorithme qui dclare un
tableau de 9 notes, dont on fait ensuite
saisir les valeurs par lutilisateur.
Dbut
Tableau Notes(9) : Entier
Variable i : Entier
Pour i 0 8
Saisir "Entrez la note numro ", i + 1; Notes(i)
Fin Pour
Fin
Que produit lalgorithme suivant ?
Dbut
Tableau Nb(6) : Entier
Variable i : Entier
Pour i 0 5
Nb(i) i * i
Fpour

Pour i 0 5
Afficher Nb(i)
Finpour

Fin
Cet algorithme remplit un tableau avec six
valeurs : 0, 1, 4, 9, 16, 25. Il les crit
ensuite lcran.
Que produit lalgorithme suivant ?

Dbut
Tableau N(7) : Entier
Variables i, k : Entier
N(0) 1
Pour k 1 6
N(k) N(k-1) + 2
FinPour
Pour i 0 6
Afficher N(i)
FinPour
Fin
Cet algorithme remplit un tableau avec les
sept valeurs : 1, 3, 5, 7, 9, 11, 13. Il les
crit ensuite lcran
Que produit lalgorithme suivant ?

Dbut

Tableau Suite(7) : Entier
Variable i en Entier

Suite(0) 1
Suite(1) 1
Pour i 2 6
Suite(i) Suite(i-1) + Suite(i-2)
Fin Pour
Pour i 0 6
Afficher Suite(i)
Fin Pour
Fin
Cet algorithme remplit un tableau de 7
valeurs : 1, 1, 2, 3, 5, 8, 13
Vecteur etTableaux dynamiques

Il arrive frquemment que lon ne connaisse pas lavance le nombre dlments que
devra comporter un tableau. Bien sr, une solution consisterait dclarer un tableau
gigantesque.
Mais dune part, on nen sera jamais parfaitement sr, dautre part, en raison de
limmensit de la place mmoire rserve et la plupart du temps non utilise, cest
un gchis prjudiciable la rapidit, voire la viabilit, de notre algorithme.

Aussi, pour parer ce genre de situation, a-t-on la possibilit de dclarer le tableau sans
prciser au dpart son nombre dlments. Ce nest que dans un second temps, au
cours du programme, que lon va fixer ce nombre via une instruction de
dimensionnement : Redim.

Notez que tant quon na pas prcis le nombre dlments dun tableau, dune manire
ou dune autre, ce tableau est inutilisable.

Ex:
Tableau Notes() : Entier
Variable nb en Entier
Saisir Combien y a-t-il de notes saisir ?, nb
Redim Notes(nb)
Ecrivez un algorithme permettant lutilisateur
de saisir un nombre quelconque de valeurs, qui
devront tre stockes dans un tableau.
Lutilisateur doit donc commencer par entrer le
nombre de valeurs quil compte saisir. Il
effectuera ensuite cette saisie.
Enfin, une fois la saisie termine, le programme
affichera le nombre de valeurs ngatives et le
nombre de valeurs positives.
Debut

Variables Nb, Nbpos, Nbneg en Entier
Tableau T() : Entier
Saisir Entrez le nombre de valeurs :; NB
Redim T(Nb)
Nbpos 0
Nbneg 0

Pour i 0 Nb - 1
Saisir Entrez le nombre n , T(i)
Si T(i) > 0 alors
Nbpos Nbpos + 1
Sinon
si T(i) <0 alors
Nbneg Nbneg + 1
Finsi

Finsi
Fin Pour
Ecrire Nombre de valeurs positives : , Nbpos
Ecrire Nombre de valeurs ngatives : , Nbneg
Fin
Ecrivez un algorithme calculant la somme des
valeurs dun tableau (on suppose que le tableau
a t pralablement saisi).

on ne programme pas la saisie du tableau, dont
on suppose quil compte N lments

Tableau T() : Entier


Variables i, Som, N : Entier
Tableau T() : Entier
Saisir Entrez le nombre de valeurs :; N
Redim T(N)

Som 0
Pour i 0 N - 1
Som Som + T(i)
Fin Pour
Ecrire Somme des lments du tableau : , Som
Fin
crivez un algorithme constituant un tableau, partir de deux tableaux
de mme longueur pralablement saisis. Le nouveau tableau sera
la somme des lments des deux tableaux de dpart.
(on suppose que T1 et T2 comptent N lments, et quils sont dj
saisis)
EX : Tableaux T1(), T2(), T3() en Entier

Exemple :
Tableau 1 : 4 8 7 9 1 5 4 6
Tableau 2 : 7 6 5 2 1 3 7 4
Tableau constituer : 11 14 12 11 2 8 11 - 10
Debut

Variables i, N en Entier
Tableaux T1(), T2(), T3() en Entier
(on suppose que T1 et T2 comptent N lments, et quils sont dj saisis)
Redim T3(N)

Pour i 0 N - 1
T3(i) T1(i) + T2(i)
Afficher T3(I)
Fpour
Fin
Toujours partir de deux tableaux prcdemment saisis,
crivez un algorithme qui calcule le Gone des deux
tableaux.
Pour calculer le Gone, il faut multiplier chaque lment du
tableau 1 par chaque lment du tableau 2, et
additionner le tout.
Exemple :
Tableau 1 : 4 8 7 - 12
Tableau 2 : 3 6
Le Gone :
3*4 + 3*8 + 3*7 + 3*12 + 6*4 + 6*8 + 6*7 + 6*12 = 279
Dbut

Variables i, j, N1, N2, S en Entier
Tableaux T1(), T2() en Entier
N12
N24
On ne programme pas la saisie des tableaux T1 et T2.
On suppose que T1 possde N1 lments, et que T2 en possde N2 lments

S <- 0
Pour i 0 N1 1 soit (1)
Pour j 0 N2 1 soit (3)
S S + T1(i) * T2(j)
Fin Pour
Fin Pour
Ecrire "Le Gone est de : ", S
Fin
Ecrivez un algorithme qui permette la
saisie dun nombre quelconque de
valeurs, Toutes les valeurs doivent tre
ensuite augmentes de 1, et le nouveau
tableau sera affich lcran.

Lutilisateur dterminera la taille du
vecteur
Debut

Variables Nb, i : Entier
Tableau T() : Entier

Saisir Entrez le nombre de valeurs : ; Nb
Redim T(Nb )

Pour i 0 Nb - 1
Saisir Entrez le nombre n , i; T(I) +1
Fin Pour

Afficher "Nouveau tableau :"

Pour i <- 0 Nb 1
T(i) <- T(i) + 1 ( autre solution A supprimer ventuellement )
Afficher T(i)
Finpour
Fin
Ecrivez un algorithme permettant, toujours sur le
mme principe, lutilisateur de saisir un
nombre dtermin de valeurs.
Le programme, une fois la saisie termine,
renvoie la plus grande valeur en prcisant quelle
position elle occupe dans le tableau.
On prendra soin deffectuer la saisie dans un
premier temps, et la recherche de la plus grande
valeur du tableau dans un second temps.
Variables Nb, Posmaxi : Entier
Tableau T() en Entier
Saisir Entrez le nombre de valeurs :; Nb
Redim T(Nb)
Pour i 0 Nb - 1
Saisir Entrez le nombre n , i + 1; T(i)
Fin Pour

Posmaxi 0
Pour i 1 Nb - 1
Si T(i) > T(Posmaxi) alors
Posmaxi i
Finsi
Fin Pour

Ecrire Element le plus grand : , T(Posmaxi)
Ecrire Position de cet lment : , Posmaxi
Fin
Toujours et encore sur le mme principe,
crivez un algorithme permettant,
lutilisateur de saisir les notes d'une
classe.
Le programme, une fois la saisie termine,
renvoie le nombre de ces notes
suprieures la moyenne de la classe.
Debut

Variables Nb, i, Som, Moy, Nbsup : Entier
Tableau T() en Entier
Saisir Entrez le nombre de notes saisir : ; Nb
Redim T(Nb )
Pour i 0 Nb - 1
Saisir Entrez le nombre n , i + 1
FinPour

Som 0

Pour i 0 Nb - 1
Som Som + T(i)
Fin Pour

Moy Som / Nb
NbSup 0

Pour i <- 0 Nb - 1
Si T(i) > Moy Alors
NbSup - NbSup + 1
FinSi
Fin Pour

Ecrire NbSup, " lves dpassent la moyenne de la classe"
Fin
Fin De cette Partie

Vous aimerez peut-être aussi