Université Ibn Tofail Années universitaire 2024/2025
Faculté des Sciences de Kénitra Prof. Saïd TKATEK
Département d’Informatique
Solutions des exercices Serie N° 1
Sol-Exercice 2 :
x
- Ecrire un algorithme qui affiche les valeurs de Y = sin + ln ( x − 1) − x où x est un entier
4
positif 1<x<20 :
import math
def funtionY(x):
return math.sin(math.pi * x / 4) + math.log(x - 1) - math.sqrt(x)
for x in range(2, 20):
Y = funtionY(x)
print(f"Pour x = {x}, Y = {Y:.4f}")
- Modifier cet algorithme pour afficher le nombre d’itération correspondant à Max(Y)<18 ?
Alors
i=0
Y = funtionY(i+2)
while Y > -18:
i=i+1
Y = funtionY(i+2)
print(" le nombre d’itération correspondant:",i)
Sol-Exercice 3:
Écrire un algorithme qui permet d'afficher le plus grand de trois entiers saisis au clavier.
Version1 :
a = int(input("Entrez le premier entier : "))
b = int(input("Entrez le deuxième entier : "))
c = int(input("Entrez le troisième entier : "))
plus_grand = max(a, b, c)
print(f"Le plus grand des trois entiers est : {plus_grand}")
Version2 :
a = int(input("Entrez le premier entier : "))
b = int(input("Entrez le deuxième entier : "))
c = int(input("Entrez le troisième entier : "))
entiers = [a, b, c]
plus_grand = max(entiers)
index_plus_grand = entiers.index(plus_grand)
print(f"Le plus grand des trois entiers est : {plus_grand}")
print(f"Son index (position) est : {index_plus_grand}")
Sol-Exercice 4:
Les identificateurs sont utilisés pour nommer des variables, des fonctions, des classes et des mots-
clés. Les identificateurs peuvent être de n'importe quelle longueur, mais doivent commencer soit par
un caractère alphabétique en majuscule ou en minuscule, soit par le caractère de soulignement ( _ ).
Règles pour les identificateurs Python :
1. Caractères autorisés :
o Un identificateur peut contenir des lettres (majuscules et minuscules, de a à z ou de A
à Z), des chiffres (0 à 9), et des underscores (_).
o Les lettres accentuées (comme é, è, etc.) ne sont pas autorisées.
2. Pas de chiffre au début :
o Un identificateur ne peut pas commencer par un chiffre. Par exemple, 3variable est
non valide.
3. Pas de symboles spéciaux :
o Aucun autre symbole, comme -, ., @, &, %, ou #, n'est autorisé dans un identificateur.
4. Respect de la casse :
o Python est sensible à la casse (majuscule et minuscule). Par exemple, Variable et
variable sont deux identificateurs différents.
5. Mots-clés Python interdits :
o Les mots-clés réservés de Python (comme if, while, class, try, etc.) ne peuvent pas être
utilisés comme identificateurs. Vous pouvez vérifier la liste des mots-clés réservés en
utilisant le module keyword dans Python :
Exercice 5 :
Déterminer les valeurs successives de k et x.
However, you can include a semicolon at the end of a line in Python, and it will be ignored. This means
that the following examples are valid in Python:
Sol-Exercice 6
Écrire un algorithme qui demande à l'utilisateur de taper 5 entiers et qui affiche
leur moyenne. L’algorithme ne devra utiliser que 2 variables.
somme = 0 # Pour stocker la somme des entiers
compteur = 0 # Pour compter le nombre d'entiers saisis
# Boucle pour demander 5 entiers
while compteur < 5:
entier = int(input("Veuillez entrer un entier : "))
somme += entier
compteur += 1
# Calcul et affichage de la moyenne
moyenne = somme / 5
print("La moyenne est :", moyenne)
Sol-Exercice 7
import math
R = 180
L = 15e-3
C = 15e-9
f = 12e3
U = 20
XC = 1 / (2 * math.pi * f * C)
XL = 2 * math.pi * f * L
Z = math.sqrt(R**2 + (XL - XC)**2)
I=U/Z
print(f"Réactance capacitive (XC) : {XC:.2f} Ω")
print(f"Réactance inductive (XL) : {XL:.2f} Ω")
print(f"Impédance (Z) : {Z:.2f} Ω")
print(f"Courant (I) : {I:.2f} A")
Sol-Exercice 8
import math
# Constantes
g = 9.81 # Accélération due à la gravité en m/s²
# Saisie des valeurs de la vitesse et de l'angle
v = float(input("Veuillez saisir la vitesse initiale (v) en m/s : "))
theta = float(input("Veuillez saisir l'angle de jetée (theta) en degrés : "))
# Conversion de l'angle en radians
theta_rad = math.radians(theta)
# Calcul de la portée maximale (Xmax)
Xmax = (v**2 * math.sin(2 * theta_rad)) / g
# Calcul du temps total de vol (T_total)
T_total = (2 * v * math.sin(theta_rad)) / g
# Calcul de la hauteur maximale (Zmax)
Zmax = (v * math.sin(theta_rad))**2 / (2 * g)
# Affichage des résultats
print(f"Portée maximale (Xmax) : {Xmax:.2f} m")
print(f"Temps de vol total (T_total) : {T_total:.2f} s")
print(f"Hauteur maximale (Zmax) : {Zmax:.2f} m")
# Saisie d'un temps T
T = float(input("Veuillez saisir un temps T compatible avec Zmax (T < T_total)
: "))
if T < T_total:
# Calcul de la position à l'instant T
X_T = v * math.cos(theta_rad) * T
Z_T = v * math.sin(theta_rad) * T - 0.5 * g * T**2
# Affichage des positions
print(f"Position du projectile à t = {T:.2f} s :")
print(f"Distance horizontale (X) : {X_T:.2f} m")
print(f"Hauteur (Z) : {Z_T:.2f} m")
else:
print("Erreur : Le temps T doit être inférieur au temps de vol total.")