Aide
Bataille
Partie A :
- 1. paquet est de type liste/tableau, i,j,k et temp sont de type entier.
- 2. Elles servent à procéder à l’échange des valeurs de paquet[i] et paquet[j].
- 3. Cet algorithme mélange le paquet de cartes. On peut l’appeler « mélange ».
- 4.
paquetA ← [] ; paquetB ← []
Pour i allant de 0 à 9 :
Si i est pair :
rajouter paquet[i] dans paquetA
Sinon :
rajouter paquet[i] dans paquetB
Fin Si
Fin Pour
- 5.
scoreA ← 0 ; scoreB ← 0
Pour i allant de 0 à 4 :
afficher("Joueur A : ", paquetA[i], " Joueur B : ", paquetB[i])
Si paquetA[i] > paquetB[i] :
scoreA ← scoreA + 1
Sinon :
scoreB ← scoreB + 1
Fin Si
Fin Pour
afficher("A : ", scoreA, " et B : ", scoreB)
Partie B :
from random import *
# Algorithme A
def mélange() :
paquet = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
k = 0
while k < 49 :
i = randrange(0,10) ; j = randrange(0,10)
temp = paquet[i] ; paquet[i] = paquet[j] ; paquet[j] = temp
k = k+1
return paquet
# Algorithme B
paquet = mélange()
paquetA = [] ; paquetB = []
for i in range(10) :
if i%2 == 0 :
paquetA.append(paquet[i])
else :
paquetB.append(paquet[i])
# Algorithme C
scoreA = 0 ; scoreB = 0
for i in range(5) :
print("Joueur A : ", paquetA[i], " Joueur B : ", paquetB[i])
if paquetA[i] > paquetB[i] :
scoreA = scoreA + 1
else :
scoreB = scoreB + 1
print("A : ", scoreA, " et B : ", scoreB)
Examen Correction :
PARTIE A : Algorithme sur papier |
Cet algorithme affiche les points gagnés grâce à la note d’option.
DEBUT tableau_notes ß [] Pour i allant de 0 à 6 faire Saisir note Rajouter note dans tableau_notes Fin Pour FIN
DEBUT somme ß points_gagnes coefficients ß [3,3,2,2,1,2,1] Pour i allant de 0 à 6 faire somme ß somme + tableau_notes[i] coefficients[i] Fin Pour moyenne ß somme / 14 Afficher moyenne FIN |
|
DEBUT Si moyenne < 10 alors Afficher “Recalé” Sinon si 10 ≤ moyenne < 12 alors Afficher “Reçu avec mention Passable” Sinon si 12 ≤ moyenne < 14 alors Afficher “Reçu avec mention Assez Bien” Sinon si 14 ≤ moyenne < 16 alors Afficher “Reçu avec mention Bien” Sinon Afficher “Reçu avec mention Très Bien” Fin Si FIN
|
PARTIE B : Implémentation |
# Algorithme A1
note_option = int(input("Saisir la note d'option : "))
if note_option < 10 :
points_gagnes = 0
else :
points_gagnes = note_option - 10
points_gagnes = points_gagnes * 2
# Algorithme A2
tableau_notes = []
for i in range(7) :
note = int(input("Saisir une note : "))
tableau_notes.append(note)
#Algorithme A3
somme = points_gagnes ; coefficients = [3,3,2,2,1,2,1]
for i in range(7) :
somme = somme + tableau_notes[i]*coefficients[i]
moyenne = somme / 14
print("La moyenne est ", moyenne)
#Algorithme A4
if moyenne < 10 :
print("Recalé")
elif moyenne >= 10 and moyenne < 12 :
print("Reçu avec mention Passable")
elif moyenne >= 12 and moyenne < 14 :
print("Reçu avec mention Assez Bien")
elif moyenne >= 14 and moyenne < 16 :
print("Reçu avec mention Bien")
else :
print("Reçu avec mention Très Bien")
Identifiant :
PARTIE A : Travail sur table
- 1.
a) Cet algorithme retourne l’indice de la ligne du tableau T contenant la chaîne x. On peut l’appeler Numéro_commune.
b) Au lieu de retouner i, retourner caractère(i+1) ou retouner caractère(T[i][1]).
- 2. Fonction Conversion(n)
Variable : n : entier
Début
Si n < 10 alors
Retourner "00"caractère(n)
Sinon si n < 100 alors
Retourner "0"chaîne(n)
Sinon
Retourner chaîne(n)
Fin Si
Fin
- 3. Fonction Identifiants(Listing)
Variables : Listing, L : tableau ; i : entier ; Identifiant : chaîne de caractères
Début
Pour i allant de 1 à 530 faire
L Listing[i 1]
Identifiant L[0][0]
Si L[1] = "homme" alors
Identifiant Identifiant ’1’
Sinon
Identifiant Identifiant ’2’
Fin Si
Identifiant Identifiant L[2][2] L[2][3] Numéro_commune(L[3]) + Conversion(i)
Rajouter Identifiant à la fin de L
Fin Pour
Fin
- 4. Fonction Ajout_Clé(Identifiant)
Variables : Identifiant : Chaîne de caractères ; S, i, Clé : entier
Début
S 0
Pour i allant de 1 à 7 faire
S S entier(Identifiant[i])
Fin Pour
Clé (66 S) % 11
Si Clé 10 alors
Retourner Identifiant Clé
Sinon
Retourner Identifiant ‘X’
Fin Si
Fin
PARTIE B : Implémentation sur machine
## 1. ##
def Numéro_Commune(x) :
i = 0 ; T = [["Paris",1],["Lyon",2],["Marseille",3],["Toulouse",4],["Bordeaux",5]]
while T[i][0] != x :
i = i + 1
return str(i+1)
## 2. ##
def Conversion(n) :
if n < 10 :
return "00"+str(n)
elif n < 100 :
return "0"+str(n)
else :
return str(n)
## 3. ##
def Identifiants(Listing) :
for i in range(1,3) : # Pour aller jusqu'à 530 remplacer 3 par 531.
L = Listing[i-1] ; Identifiant = L[0][0]
if L[1] == "homme" :
Identifiant = Identifiant + "1"
else :
Identifiant = Identifiant + "2"
Identifiant = Identifiant + L[2][2] + L[2][3] + Numéro_Commune(L[3]) + Conversion(i)
L.append(Identifiant)
Listing = [["AZERTY","femme","1979","Toulouse"],["QWERTY","homme","2001","Paris"]]
Identifiants(Listing) ; print(Listing)
## 4. ##
def Ajout_Clé(Identifiant) :
S = 0
for i in range(1,8) :
S = S + int(Identifiant[i])
Clé = (66 - S) % 11
if Clé < 10 :
print(Identifiant + str(Clé))
else :
print(Identifiant + "X")
Ajout_Clé("A2794037") ; Ajout_Clé(Listing[0][4])
- 1. Fonction image_noire(Tab) :
Variables : Tab : tableau d’entiers à 5 lignes et 4 colonnes ; i, j : entiers et Bool : booléen
DEBUT
Bool Vrai
Pour i allant de 0 à 4
Pour j allant de 0 à 3
Si (Tab[i, j] 0) alors
Bool Faux
Fin Si
Fin Pour
Fin Pour
Retourner (Bool)
FIN
- 2. a) Fonction moyenne(T) :
Variables : T : tableau d’entiers à 5 lignes et 4 colonnes ; i, j, S : entiers et Moy : flottant
DEBUT
S 0
Pour i allant de 0 à 4
Pour j allant de 0 à 3
S S + T[i, j]
Fin Pour
Fin Pour
Moy S / 20
Retourner (Moy)
FIN
TraitementImage :
b) Procédure luminosité(T) :
Variables : T : tableau d’entiers à 5 lignes et 4 colonnes et Moy : flottant
DEBUT
Moy moyenne(T)
Si (Moy < 100 ou Moy > 150) alors
Afficher("L’image est à retoucher.")
Sinon
Afficher("L’image est satisfaisante.")
Fin Si
FIN
PARTIE B : Implémentation sur machine
# 1.
def mystère() :
Tab = [[0,0,255,255],[255,255,255,255],[0,255,0,255],[0,0,255,0],[0,0,0,0]]
TabRes = [[0 for j in range(4)] for i in range(5)]
for i in range(5) :
for j in range(4) :
TabRes[i][j] = Tab[4-i][j]
for i in range(5) :
print(TabRes[i])
# 2.
def image_noire(Tab) :
Bool = True
for i in range(5) :
for j in range(4) :
if Tab[i][j] != 0 :
Bool = False
return Bool
# 3. a)
def moyenne(T) :
S = 0
for i in range(5) :
for j in range(4) :
S = S + T[i][j]
Moy = S / 20
return Moy
# b)
def luminosité(T) :
Moy = moyenne(T)
if Moy < 100 or Moy > 150 :
print("L'image est à retoucher.")
else :
print("L'image est satisfaisante.")