Faculté des Sciences
Filière : MIP – S2 2023-2024
Département d’Informatique
Module : Informatique II
(Algorithmique 2 / Python)
Série N°1 (TD & TP)
Instructions itératives et Tableaux
Partie I : Instructions itératives
Exercice 1
Ecrire un algorithme qui permet de lire trois entiers a, b et c et détermine le maximum et le minimum des
trois nombres.
Traduire cet algorithme en Python.
Exercice 2
Ecrire un algorithme et le programme en Python qui permet de calculer :
• La puissance x n telle que x est un réel et n un entier positif.
• La factorielle d’un entier positif.
• La somme :
Exercice 3
Ecrire les algorithmes et les programmes en Python qui permettent de calculer la valeur des expressions
suivantes :
1- A=(1 + 2) × (1 + 2 + 3) × (1 + 2 + 3 + 4) × … × (1 + 2 + 3 + ⋯ + (N − 2) + (N − 1) + N, (N≥2)
1 1 1
2- 𝐵 = 1 + + +. . . + , (N≥2)
1+2 1+2+3 1+2+3+⋯+𝑁
Exercice 4
Ecrire un algorithme qui permet de déterminer tous les diviseurs d’un entier N saisi au clavier.
Traduire cet algorithme en Python.
Exercice 5
Ecrire un algorithme qui demande un entier positif puis vérifier si ce nombre est premier ou non.
Traduire cet algorithme en Python.
Exercice 6
Ecrire un algorithme qui permet de calculer la somme de tous les nombres impairs entre deux valeurs N et
M (1≤N<M).
Traduire cet algorithme en Python.
Exercice 7
Ecrire un algorithme qui demande à l’utilisateur les longueurs des côtés d’un triangle (les longueurs sont
des entiers positifs) et précise si ce triangle est rectangle ou non.
Traduire cet algorithme en Python.
Exercice 8
Ecrire un algorithme qui permet de convertir un nombre binaire N en décimal (Les valeurs 0 et 1 saisies
par l’utilisateur sont stockées sous forme de caractères ‘0’ et ‘1’, et le mot binaire N est stocké dans une
chaine de caractères).
Exemple d’exécution :
Conversion binaire en décimal
Donner le nombre de bits : 8
Entrer le bit numéro 7 : 1
Entrer le bit numéro 6 : 0
Entrer le bit numéro 5 : 1
Entrer le bit numéro 4 : 1
Entrer le bit numéro 3 : 1
Entrer le bit numéro 2 : 0
Entrer le bit numéro 1 : 1
Entrer le bit numéro 0 : 0
N=10111010 Sa valeur décimale est : 186
Ecrire un programme en Python qui permet de convertir un nombre binaire N en décimal.
1/2
Exercice 9
Ecrire un algorithme qui permet la saisie d’un entier n, le calcul et l’affichage du nième terme de la suite(𝑈𝑛 )
définie comme suit :
𝑈0 = 2
𝑈1 = 3
{
2 1
𝑈𝑛+2 = 𝑈𝑛+1 − 𝑈𝑛
3 4
Traduire cet algorithme en Python.
Exercice 10
La suite de Syracuse est définie selon une condition de parité comme suit :
1
𝑢𝑛 si 𝑢𝑛 est paire
𝑢0 ∈ ℕ∗ u𝑛+1 = {2
3𝑢𝑛 + 1 si 𝑢𝑛 est impaire
La « conjecture tchèque » énonce que pour toutes les valeurs initiales 𝑢0 ∈ ℕ∗ il existe un rang n pour
lequel 𝑢𝑛 = 1. Par exemple, si 𝑢0 = 6 alors 𝑢8 = 1.
n 0 1 2 3 4 5 6 7 8 9 10 ...
un 6 3 10 5 16 8 4 2 1 4 2 ....
Ecrire un algorithme qui demande à l’utilisateur la saisie de la valeur initiale u0 et qui détermine et affiche
la plus petite valeur de n vérifiant un = 1.
Traduire cet algorithme en Python.
Exercice 11
Pour approcher la limite hypothétique de la suite :
𝑈0 = 𝑎
{ 1 + 𝑈𝑛
𝑈𝑛+1 =
1 + 2𝑈𝑛
Trouver un algorithme qui calcule la valeur de la suite Un tel que |𝑈𝑛 − 𝑈𝑛−1 | < 𝜀 où 𝜀 = 10−6 , (a est un
réel strictement positif saisi au clavier).
Traduire cet algorithme en Python.
Exercice 12
Soit la suite (𝑋𝑛 )𝑛∈ℕ suivante :
X0 = A
A
X n = X n −1 + X 2 n 1
n −1
A est un nombre réel strictement positif.
Ecrire un algorithme qui demande à l’utilisateur la saisie de la valeur de A puis calcule et affiche la valeur
de la suite(𝑋𝑛 )( Le point d’arrêt des itérations est |Xn-Xn-1|<10-9).
Implémenter cet algorithme en langage Python. Que calcule cet algorithme ?
2/2