Algorithmique
-Propositions de solutions TD4-
(Python)
Exercice 1 :
N = int(input("Entrez le nombre de notes : "))
Notes = []
# Saisie des notes
for i in range(N):
note = float(input(f"Entrez la note numéro {i + 1} : "))
[Link](note)
# Calcul de la somme des notes et de leur moyenne
som = sum(Notes)
moy = som / N
print(f"La somme des notes est : {som}")
print(f"La moyenne des notes est : {moy}")
# Affichage des notes supérieures à la moyenne
print("Les notes supérieures à la moyenne sont :")
# for i in range(N):
# Notes[i]> moy:
for note in Notes:
if note > moy:
print(note)
Exercice 2 :
Nb = int(input("Entrez le nombre de valeurs : "))
T = []
# Saisie des valeurs dans le tableau
for i in range(Nb):
valeur = float(input(f"Entrez le nombre n° {i + 1} : "))
[Link](valeur)
# Initialisation des compteurs de valeurs positives et négatives
Nbpos = 0
Nbneg = 0
# Comptage des valeurs positives et négatives dans le tableau
for in range(Nb) :
if T[i] > 0:
Nbpos += 1
elif T[i]< 0:
Nbneg += 1
# Affichage du nombre de valeurs positives et négatives
print(f"Nombre de valeurs positives : {Nbpos}")
print(f"Nombre de valeurs négatives : {Nbneg}"))
Fin
Exercice 3
N = int(input("Entrez la taille des tableaux : "))
T1 = []
T2 = []
# Saisie des valeurs dans le premier tableau
print("Saisie du premier tableau :")
for i in range(N):
valeur = float(input(f"Entrez la valeur {i + 1} pour le premier tableau : "))
[Link](valeur)
# Saisie des valeurs dans le deuxième tableau
print("Saisie du deuxième tableau :")
for i in range(N):
valeur = float(input(f"Entrez la valeur {i + 1} pour le deuxième tableau : "))
[Link](valeur)
# Création du nouveau tableau avec la somme des éléments des deux tableaux
for i in range(N):
[Link](T1[i] + T2[i])
print("Le nouveau tableau obtenu est :", T3)
Exercice 4
N = int(input("Entrez la taille du tableau : "))
T = [0] * N
print("Saisissez le premier nombre :")
T[0] = float(input())
for i in range(1, N):
print(f"Entrez le nombre numéro {i + 1} :")
T[i] = float(input())
while T[i] < T[i - 1]:
print("Vous devez saisir un nombre plus grand :")
T[i] = float(input())
print("Tableau saisi :", T)
Exercice 5
N = int(input("Entrez la taille du tableau : "))
T = []
# Saisie des valeurs dans le tableau
print("Saisie des éléments du tableau :")
for i in range(N):
valeur = int(input(f"Entrez la valeur {i + 1} : "))
[Link](valeur)
# Inversion de l'ordre des éléments dans le tableau
for i in range(N // 2):
tmp = T[i]
T[i] = T[N - 1 - i]
T[N - 1 - i] = tmp
print("Tableau inversé :", T)
Exercice 6
cpt = 0
i=0
N = len(T)
while i < N:
if T[i] == 0:
cpt += 1
for j in range(i, N - 1):
T[j] = T[j + 1]
N -= 1
T = T[:N]
i -= 1
i += 1
print("Le nombre d’occurrences de 0 supprimées est", cpt)
Exercice 7
def elements_doubles(T):
N = len(T)
for i in range(N):
for j in range(N):
if T[j] == 2 * T[i]:
print(T[i])
# Exemple d'utilisation
tableau = [2, 5, 8, 10, 4]
elements_doubles(tableau)
Exercice 8
1.
L = int(input("Donnez le nombre de lignes de la matrice A : "))
C = int(input("Donnez le nombre de colonnes de la matrice A : "))
A = [[0] * C for _ in range(L)]
print("Saisie de la matrice A :")
for i in range(L):
for j in range(C):
A[i][j] = int(input(f"Donnez la valeur de la position ({i}, {j}) : "))
2.
Spos = 0
Sneg = 0
for i in range(L):
for j in range(C):
if A[i][j] > 0:
Spos += A[i][j]
elif A[i][j] < 0:
Sneg += A[i][j]
print("La somme des éléments positifs est :", Spos)
print("La somme des éléments négatifs est :", Sneg)
3.
Max = A[0][0]
PosL = 0
PosC = 0
for i in range(L):
for j in range(C):
if A[i][j] > Max:
Max = A[i][j]
PosL = i
PosC = j
print("Le maximum est :", Max, "Il se trouve dans la ligne :", PosL, "et la colonne :", PosC)
4.
# Calcul de la transposée de la matrice A
tA = [[0] * L for _ in range(C)]
for i in range(C):
for j in range(L):
tA[i][j] = A[j][i]
Exercice 9
A = [[] * C for _ in range(L)]
A = [[] * C for _ in range(L)]
S = [[] * C for _ in range(L)]
for i in range(L):
for j in range(C):
S[i][j] = A[i][j] + B[i][j]
Exercice 10
U = [[0] * N for _ in range(N)]
for i in range(N):
for j in range(N):
if i == j:
U[i][j] = 1
else:
U[i][j] = 0
print(f"La matrice carrée unitaire U de dimension {N} est :")
for i in range(N):
for j in range(N):
print(U[i][j])
Exercice 11
L = int(input("Donner le nombre de lignes de la matrice M : "))
C = int(input("Donner le nombre de colonnes de la matrice M : "))
M = [[0] * C for _ in range(L)]
print("Saisie de la matrice M :")
for i in range(L):
for j in range(C):
M[i][j] = int(input(f"Donner la valeur de la position ({i}, {j}) : "))
V = [0] * (L * C)
k=0
for i in range(L):
for j in range(C):
V[k] = M[i][j]
k += 1
print("Le tableau à une dimension V est :")
for i in range(L*C):
print(V[i], " ")
Exercice 12
n = int(input("Donner le nombre de lignes des matrices : "))
m = int(input("Donner le nombre de colonnes des matrices : "))
# Création et saisie de la matrice T1
T1 = [[0 for _ in range(m)] for _ in range(n)]
print("Saisie de la matrice T1 :")
for i in range(n):
for j in range(m):
T1[i][j] = int(input(f"Donner la valeur de la position ({i}, {j}) pour T1 : "))
# Création et saisie de la matrice T2
T2 = [[0 for _ in range(m)] for _ in range(n)]
print("Saisie de la matrice T2 :")
for i in range(n):
for j in range(m):
T2[i][j] = int(input(f"Donner la valeur de la position ({i}, {j}) pour T2 : "))
# Affichage des matrices avant permutation
print("La matrice T1 avant permutation est :")
for i in range(n):
for j in range(m):
print(T1[i][j])
print("\nLa matrice T2 avant permutation est :")
for i in range(n):
for j in range(m):
print(T2[i][j])
# Permutation des matrices T1 et T2
for i in range(n):
for j in range(m):
Z = T1[i][j]
T1[i][j] = T2[i][j]
T2[i][j] = Z
# Affichage des matrices après permutation
print("\nLa matrice T1 après permutation est :")
for i in range(n):
for j in range(m):
print(T1[i][j])
print("\nLa matrice T2 après permutation est :")
for i in range(n):
for j in range(m):
print(T2[i][j])
Exercice 13
def trouver_position_min(tableau):
posmin = 0
min_val = tableau[0]
for i in range(1, len(tableau)):
if tableau[i] < min_val:
min_val = tableau[i]
posmin = i
return posmin
def trouver_position_max(tableau):
posmax = 0
max_val = tableau[0]
for i in range(1, len(tableau)):
if tableau[i] > max_val:
max_val = tableau[i]
posmax = i
return posmax
Exercice 14
def calculerSomme(tableau):
somme = 0
for i in range(N):
somme += tableau[i]
return somme
def calculerMoyenne(tableau):
somme = calculerSomme(tableau)
moyenne = somme / len(tableau)
return moyenne
def afficherNotesSuperieuresMoyenne(tableau):
moyenne = calculerMoyenne(tableau)
print("Les notes supérieures à la moyenne sont :")
for i in range(N):
if tableau[i] > moyenne:
print(tableau[i], end=" ")
# Saisie des notes
N = int(input("Entrez le nombre de notes : "))
Notes = []
for i in range(N):
note = float(input(f"Entrez la note numéro {i + 1} : "))
[Link](note)
# Appels aux fonctions et affichage des notes supérieures à la moyenne
som = calculerSomme(Notes)
moy = calculerMoyenne(Notes)
afficherNotesSuperieuresMoyenne(Notes)
Exercice 15
def inverser_tableau(tableau):
N = len(tableau)
for i in range(N // 2):
temp = tableau[i]
tableau[i] = tableau[N - 1 - i]
tableau[N - 1 - i] = temp
# Exemple d'utilisation :
N = int(input("Entrez la taille du tableau : "))
T = []
for i in range(N):
valeur = int(input(f"Entrez la valeur numéro {i + 1} : "))
[Link](valeur)
print("Tableau avant inversion :", T)
inverser_tableau(T)
print("Tableau après inversion :", T)
Exercice 16
# Procédure sommeTableaux
def sommeTableaux(A, B):
N = len(A)
for i in range(N):
A[i] += B[i]
# Programme principal
N = int(input("Entrez la taille des tableaux : "))
# Saisie des éléments pour le tableau A
A = []
print("Saisie du tableau A :")
for i in range(N):
[Link](int(input(f"Entrez l'élément {i} : ")))
# Saisie des éléments pour le tableau B
B = []
print("Saisie du tableau B :")
for i in range(N):
[Link](int(input(f"Entrez l'élément {i} : ")))
# Affichage des tableaux avant sommation
print("Tableau A avant sommation :", A)
print("Tableau B avant sommation :", B)
# Appel à la procédure sommeTableaux
sommeTableaux(A, B)
# Affichage des tableaux après sommation
print("Tableau A après sommation :", A)
print("Tableau B après sommation :", B)