TD1 Énoncé
TD1 Énoncé
TD1 Énoncé
Exercice 1 – Affectations
1. Considérons les algorithmes ci-dessous.
(a) Quel sera le contenu des variables a, b et éventuellement c après leur exécution ?
(b) Dans chacun des cas ci-dessus, y a-t-il des lignes inutiles, et si oui lesquelles ?
1 // algo 1.1 1 // algo 1.2 1 // algo 1.3
2 var a, b, c : entier 2 var a, b : entier 2 var a, b : entier
3 debut 3 debut 3 debut
4 a ←1 4 a ← 1 4 a ← 2
5 b ←a + 2 5 b ← a + 2 5 b ← a + 2
6 c ←b - 3 6 a ← 3 6 a ← a + 2
7 fin 7 fin 7 b ← a - 2
8 fin
1 // algo 1.4 1 // algo 1.5 1 // algo 1.6
2 var a, b, c : entier 2 var a, b, c : entier 2 var a, b : car
3 debut 3 debut 3 debut
4 a ←2 4 a ← 1 4 a ← ’1’
5 b ←4 5 b ← 2 5 b ← ’2’
6 c ←a + b 6 b ← a + b 6 a ← a + b
7 a ←1 7 c ← a + b 7 fin
8 c ←b - a 8 fin
9 fin
Exercice 2
1. Quels sont les affichages provoqués par les algo- 1 // algo 2.1 1 // algo 2.2
rithmes ci-contre. 2 var a, b : reel 2 var a, b : entier
2. Écrire un algorithme qui demande un entier à l’uti- 3 var c : entier 3 var c : reel
lisateur, puis affiche son carré. 4 debut 4 debut
5 a ← 4.21 5 a ← 5
6 b← a * 2 6 b ← 2
7 ecrire a, b 7 ecrire a, b
8 ecrire b * 2 8 ecrire a / b
9 c← b * 2 9 c ← a / b
10 ecrire c 10 ecrire c
11 fin 11 fin
Exercice 4 – Itérations
1. Écrire un algorithme qui demande un entier positif, et le rejette tant que le nombre saisi n’est pas conforme.
2. Écrire un algorithme qui demande 10 entiers, compte le nombre d’entiers positifs saisis, et affiche ce résultat.
3. Écrire un algorithme qui demande des entiers positifs à l’utilisateur, les additionne, et qui s’arrête en affichant le
résultat dès qu’un entier négatif est saisi.
4. Modifier ce dernier algorithme pour afficher la moyenne de la série d’entiers positifs saisis.
Exercice 6 – Suites
1. Écrire un algorithme pour afficher les n premiers termes des suites suivantes (n demandé à l’utilisateur) :
(a) Suite arithmétique (b) Suite de Newton (c) Suite de Fibonacci
u0 = a2
u0 = 1 u0 = 0
un+1 = un + 2 un+1 = 12 (un + uan ) u1 = 1
un+2 = un+1 + un
(a réel demandé à l’utilisateur)
2. (facultatif) La suite de Newton converge vers la racine carrée de a. Modifier l’alogorithme (b) pour calculer la
racine carrée d’un nombre selon une précision donnée.
2. Écrire un algorithme qui déclare un tableau de 10 éléments et initialise toutes ses valeurs à 1
3. Écrire un algorithme qui calcule les n premiers nombres premiers.
(a) Écrire une fonction récursive de calcul du terme de rang n de cette suite. Qu’en pensez vous ?
(b) On peut montrer que :
u2k = 2uk−1 uk + u2k = (2uk−1 + uk )uk
u2k+1 = u2k+1 + u2k
En déduire une nouvelle fonction récursive. Est-elle plus efficace ?