Vous êtes sur la page 1sur 7

EXERCICES D'ALGORITHMIQUE

Premiers algorithmes :
Ex 1 - On considre lalgorithme suivant :
Choisir un nombre de dpart

Lui ajouter 1

Multiplier le rsultat par 2

Soustraire 3 au rsultat
et afficher le rsultat final

1) Recopier le tableau ci-dessus, puis :


a) Appliquer successivement cet algorithme 4, 0, 1/3
b) Dterminer les nombres choisir au dpart pour afficher la fin 0 puis 7
2) crire un nouvel algorithme qui permette, en partant du rsultat final de l'algorithme ci-dessus, de
retrouver le nombre de dpart.
3) Traduire chacun de ces deux algorithmes par une formule en fonction du nombre de dpart x.
Quelle est la nature des deux fonctions trouves ?
Ex 2 - On considre lalgorithme suivant :
Choisir un nombre
Calculer le carr de ce nombre
Multiplier par 10
Ajouter 25
Afficher le rsultat
1) En faisant un tableau comme celui de l'exercice I), appliquer cet algorithme 2, puis 2
2) Traduire cet algorithme par une formule en fonction de x.
3) Pnlope affirme que si le nombre choisi au dpart est un entier alors le rsultat est impair.
A -t-elle raison ? Justifier.
4) Ulysse affirme que le rsultat est toujours positif quelque soit le nombre choisi au dpart.
A -t-il raison ? Justifier.
Ex 3 - Quel est le signe du rsultat final dans le programme ci-dessous : (justifier)
Choisir un rel x
Ajouter 4
Multiplier la somme obtenue par x
Ajouter 4 ce produit
crire le rsultat

3.1

Affectations de variables :
Ex 4 - On donne lalgorithme suivant :
Lire a et b
c prend la valeur de a
a prend la valeur de b
b prend la valeur de c
Afficher a et b
1) Recopier le tableau ci-dessous,
puis tester cet algorithme en choisissant comme valeurs initiales : a = 7 et b = 2
a

Valeurs initiales de a et b
c prend la valeur de a
a prend la valeur de b
b prend la valeur de c
Valeurs finales de a et b
2) De mme, tester cet algorithme en choisissant comme valeurs initiales : a = 1 et b = 4
3) Que fait cet algorithme ?
Ex 5 - On donne lalgorithme suivant :
Lire n
q prend la valeur de (n + 2) (n + 2)
q prend la valeur de q (n + 4)
q prend la valeur de q / (n + 3)
Afficher q
1) Tester cet algorithme pour n = 4, puis pour n = 7.
2) Un lve a saisi n = 3. Que se passe-t-il ? Pourquoi ?
3) mettre une conjecture sur le rsultat fourni par cet algorithme puis dmontrer cette conjecture.
Ex 6 - Tester l'aide d'un tableau les deux algorithmes ci-dessous :
a=5;b=3
c=a+b
a=2
c=ba
Afficher c

5a;3b
a+ba
a+bb
a+bc
Afficher c

Ex 7 - Les deux algorithmes ci-dessous se ressemblent mais ne font pas la mme chose !
En choisissant une valeur de x, montrer en quoi ils sont diffrents.
Donner une valeur x.
Calculer x + 3.
Multiplier le rsultat par x.
Afficher le rsultat.

Saisir x
x3x
xxx
Afficher x

Tests si, sinon, finsi :


Ex 8 - On dfini une fonction f l'aide de lalgorithme suivant :
Entrer x
Si x < 0
y x2
Sinon
y2x
Fin si
Afficher y
1) Recopier et complter le tableau de valeur suivant :
x

0,5

0,25

y
2) Quel est l'ensemble de dfinition de f ?
3) Reprsenter graphiquement la fonction f.
Ex 9 - On lance une flchette sur une cible lectronique qui dtecte les coordonnes (x ; y) du point d'impact F
de la flchette dans un repre orthonormal (O ; i , j) gradu en cm. On s'intresse lalgorithme suivant :
Lire x et y
d = x2+ y2
Si d < 10
Afficher Trop fort, tu es dans la cible !
Sinon
Si d = 10
Afficher Oups, c'tait limite !
Sinon
Afficher Dsol, mais c'est rat !
Fin si
FinSi
1) Qu'affiche l'algorithme dans les cas suivants : a) x = 4 ; y = 3
2) La variable d dsigne la distance entre deux points : Lesquels ?
3) De quelle forme est la cible et quelles sont ses dimensions ?

b) x = 10 ; y = 0

c) x = 9 ; y = 6

Ex 10 - On donne lalgorithme ci-dessous :


Lire a et b
Si a 0
Si b 0
Afficher Le produit a b est positif ou nul.
Sinon
Afficher Le produit a b est ngatif ou nul.
Fin si
Sinon
Si b 0
Afficher Le produit a b est positif ou nul.
Sinon
Afficher Le produit a b est ngatif ou nul.
Fin si
FinSi

1) Il y a une erreur : Corrigez-l.


2) Modifier cet algorithme en
ajoutant au tout dbut le cas o
le produit a b est nul.

Ex 11 - Recopier et complter le dbut dalgorithme ci-dessous qui doit permettre de rsoudre n'importe quelle
quation de la forme : a x + b = 0
Lire a et b
Si a = 0
Si b = 0
Afficher S = .
Sinon ...

Ex 12 - crire un algorithme qui demande les abscisses de deux points situs sur une droite gradue, puis
affiche la distance entre ces deux points.
Ex 13 - Un magasin propose de tirer des photos sur papier au tarif de 0,16 la photo pour les 75 premires
photos, puis 0,12 la photo pour les photos suivantes. crire un algorithme demandant l'utilisateur d'entrer
le nombre N de tirages photos commands et calculant le montant payer.
Ex 14 - Triangle rectangle :
1) crire un algorithme qui, partir de trois longueurs a, b et c donnes en ordre croissant, dtermine si le
triangle correspondant est rectangle.
2) Modifier cet algorithme de faon afficher en plus donnes incorrectes si c nest pas le plus grand des
trois nombres rentrs.
Ex 15 - crire un algorithme qui demande trois nombres distincts puis affiche le plus grand.
Ex 16 - crire un algorithme qui demande trois nombres distincts puis les classe en ordre croissant.

Boucles Pour :
Ex 17 - On considre l'algorithme ci-dessous :
1
2
3
4
5
6

Lire a et n
1p
Pour i de 1 n
pa p
Fin pour
Afficher p

1) Tester cet algorithme sans calculatrice pour a = 2 et n = 3


On s'aidera d'un tableau o l'on donnera les valeurs de i et p aprs
chaque excution de la ligne 4
2) Mme question pour a = 3 et n = 5
3) Que calcule cet algorithme ?

Ex 18 - On donne lalgorithme suivant o ent(n/i) donne la partie entire de n/i :


Lire n
Pour i de 1 n
Si ent(n/i) = n/i
Afficher i
Fin si
Fin pour

1) Tester cet algorithme sans calculatrice pour n gal 4, puis 6 et 9


2) Traduire l'algorithme dans le langage de votre calculatrice et vrifier
les rponses de la question 1.
3) Qu'est-ce que cet algorithme permet d'afficher ?
4) Fonctionne-t-il encore si n = 2,2 ? et si n = 4 ?

Ex 19 - Lalgorithme suivant est appel algorithme de Hron :


Lire a
a/2 b
Pour i de 1 4
(b + a/b)/2 b
Fin pour
Afficher b

1) Tester l'algorithme sans calculatrice l'aide d'un tableau pour a = 6


2) crire cet algorithme sur votre calculatrice et le tester pour a = 2,
puis a = 3 et a = 4.
3) Que semble calculer cet algorithme ? Peut-on le rendre plus prcis ?

Ex 20 - crire un programme avec une boucle qui affiche les 10 premiers nombres pairs.
Ex 21 - On cherche parmi les nombres ci-dessous, ceux qui sont le carr d'un nombre entier :
44, 64, 61, 81, 96, 125, 121, 144, 156, 169, 196, 200, 225, 250, 256, 264, 289, 300, 326, 361, 400.
1) crire un algorithme qui affiche les carrs des entiers de 1 20.
2) Programmer l'algorithme sur calculatrice et utiliser cet algorithme pour rpondre la question de dpart.
Ex 22 - crire sur votre calculatrice un algorithme qui demande un entier naturel n puis qui calcule
123456n . (Le saviez-vous : Ce calcul est appel factorielle de n )
Ex 23 - La somme des premiers nombres impairs.
1) crire les 10 premiers nombres impairs dans l'ordre : 1, 3, 5,
Vrifier sur 2 ou 3 exemples pris dans cette liste que le p-ime nombre impair est gal 2 p 1.
2) crire sur votre calculatrice un algorithme qui permet de saisir p, puis de calculer la somme des p
premiers nombres impairs.
3) En observant les rsultats obtenus avec la calculatrice, proposer une formule qui permet de calculer
beaucoup plus rapidement cette somme.
4) En dduire sans calculatrice la somme S = 1 + 3 + 5 + + 199 999.
Boucles Tant que :
Ex 24 - Soit f la fonction dfinie sur [1 ; 0] par : x
1 x
xa
x2 + x b
Tant que x 0
x2 + x y
Si y < b
xa
yb
Fin si
x + 0,1 x
Fin tant que
Afficher a et b

x2 + x. On considre alors l'algorithme ci-dessous.

1) Tester l'algorithme sans calculatrice l'aide d'un tableau dans lequel


on prcisera les valeurs des diffrentes variables au niveau du Fin
si .
2) Quelles sont les valeurs de a et b affiches en fin d'algorithme ?
3) Que reprsentent a et b pour la fonction ?

Ex 25 - Soit f la fonction dfinie sur [2,5 ; 1,5] par : x


2 x2 + 2 x + 1.
crire sur votre calculatrice un algorithme qui permette de complter le tableau de valeurs ci-dessous :
x
2,5 2 1,5 1 0,5 0
0,5
1
1,5
f (x)

Ex 26 - Les entiers compris entre deux rels.


1) crire pour votre calculatrice un programme qui demande deux rels positifs (en premier le plus petit, en
second le plus grand) et qui affiche tous les entiers compris entre ces deux nombres.
2) Mme exercice dans le cas o les deux nombres entrs sont de signes quelconques et pas forcment dans
l'ordre...
Ex 27 - crire un programme qui choisit un entier au hasard entre 0 et 100 puis demande l'utilisateur de le
deviner en lui rpondant chaque essai trop petit ou trop grand . Le programme s'arrte quand
l'utilisateur a trouv le bon nombre et affiche le nombre d'essais qui ont t ncessaires.
Ex 28 - PGCD de deux nombres (Plus Grand Diviseur Commun) avec l'algorithme des diffrences.
En classe de 3me, vous avez rencontr l'algorithme suivant :
1 Lire a et b
2 Tant que a diffrent de b
3
Remplacer le plus grand des deux nombres a et b
par la diffrence entre ces deux nombres.
4 Fin tant que
5 Afficher a
1) Recopier le tableau ci-dessous et tester cet algorithme :
Avec 32 et 80, on a juste aprs l'excution de la ligne 3 :
a

32

80

diffrence

80 32 = 48

Donc le plus grand diviseur commun 32 et 80 est :


2) Programmer cet algorithme sur calculatrice et le tester.
(Pour traduire la ligne 3 en langage calculatrice , on peut par exemple crire :
Si a > b, alors a = a b sinon, .)
Ex 29 - crire un programme qui permet l'utilisateur d'entrer une srie de notes puis qui affiche la moyenne
de ces notes. Pour dclencher le calcul de la moyenne, l'utilisateur doit entrer un nombre qui n'est pas
compris entre 0 et 20. (On ne sait pas l'avance combien de notes vont tre entres)
Ex 30 - Mme principe que le programme prcdent sauf qu'au lieu de calculer la moyenne, on renvoie la
meilleure note et la moins bonne.
Ex 31 - La population de Bigcity augmente de 3% par an.
1) Par quel coefficient est multipli chaque anne cette population ?
2) crire un programme qui permet de dterminer dans combien d'annes elle aura doubl.
Ex 32 - Lancers de ds.
1) crire sur votre calculatrice un algorithme qui simule des lancers de ds jusqu' obtenir un 6 et compte
combien il a fallu de lancers de ds pour obtenir ce 6.
2) Inclure cet algorithme dans une boucle Pour qui permette de rpter 100 fois l'exprience ci-dessus et
d'afficher combien il a fallu de lancers en moyenne pour obtenir un 6.