0% ont trouvé ce document utile (0 vote)
51 vues5 pages

Sol Serie1

Correction TD algorithme smp S3

Transféré par

brahimeraoufi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
51 vues5 pages

Sol Serie1

Correction TD algorithme smp S3

Transféré par

brahimeraoufi
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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.")

Vous aimerez peut-être aussi