INFO TEST ALGO BTS1A 28/01/14
Partie A sur papier ( 30 minutes )
On considère l’algorithme partiel suivant :
VARIABLES
L liste
a , b, c, S nombres
DEBUT
Saisir a , b , c
L= [ ]
Mettre a dans L
Mettre b dans L
Mettre c dans L
Afficher L
S = a+b+c
Afficher S
QUESTIONS:
1. Que donne l’algorithme?
Réponse : Il écrit L et la somme de ses termes
En Python .2, quel est l’indice de c dans la liste L ?
Réponse : c est d’indice 2 car c est le troisième terme de L.
2. En Python.2, quand on écrit for i in range(0,3) :
quels sont les entiers i considérés ?
Réponse : Les entiers i considérés sont 0 ; 1 ; 2
3. En Python. 2, que signifient L[0] , L[1] , L[2] dans la liste L ?
Réponse : L[0] = a , L[1] = b , L[2] = c
4. Ecrire cet algorithme , en Python .2 , avec une boucle for
qui fasse intervenir les indices des termes de L.
Réponse:
from random import*
def somlist():
a=input(" Donner la valeur de a : a = ")
b=input(" Donner la valeur de b : b = ")
c=input(" Donner la valeur de c : c = ")
L=[]
L=L+[a]+[b]+[c] # On ne peut concaténer que des listes
print " La liste L est : L = ",L
S=0
for i in range(0,3):
S=S+L[i]
print (" La somme des termes de la liste est S = ", S
On obtient par exemple :
>>> somlist()
Donner la valeur de a : a = 1
Donner la valeur de b : b = 2
Donner la valeur de c : c = 3
La liste L est : L = [1, 2, 3]
La somme des termes de la liste est S = 6
5. Ecrire cet algorithme , en Python .2 , avec while.
from random import*
def somlist():
a=input(" Donner la valeur de a : a = ")
b=input(" Donner la valeur de b : b = ")
c=input(" Donner la valeur de c : c = ")
L=[]
L=L+[a]+[b]+[c]
print "La liste L est : L = ",L
S=0
i=0
while i<3:
S=S+L[i]
i=i+1
print " La somme des termes de L : S = " ,S
On obtient par exemple :
>>> somlist()
Donner la valeur de a : a = 1
Donner la valeur de b : b = 2
Donner la valeur de c : c = 3
La liste L est : L = [1, 2, 3]
La somme des termes de L : S = 6
>>>
------------------------------------------------------------------
Partie B sur ordinateur ( 30 minutes )
1. Albert connaît ses notes, en maths, en français,
en anglais pour le second semestre.
M=[12,9,15] est la liste de ses notes de maths
F=[7,9,11] est la liste de ses notes de français
A=[13,17,15] est la liste de ses notes de anglais
Ecrire en, Python.2, un algorithme qui donne chaque moyenne et la liste de ses
trois moyennes.
On peut proposer comme réponse:
from random import*
from decimal import*
def moy():
M=[12,9,15]
F=[7,9,11]
A=[13,17,15]
m=0
f=0
a=0
for i in range(3):
m=m+M[i]
f=f+F[i]
a=a+A[i]
mo=m/3.0
fo=f/3.0
ao=a/3.0
print " La moyenne de maths est: ",mo
print " La moyenne de français est: ",fo
print " La moyenne d'anglais est: ",ao
print " La liste de ses trois moyennes est ", [mo,fo,ao]
On obtient :
>>> moy()
La moyenne de maths est: 12.0
La moyenne de français est: 9.0
La moyenne d'anglais est: 15.0
La liste de ses trois moyennes est [12.0, 9.0, 15.0]
2.Soit la matrice H=[ [1,0,1],[0,1,1],[1,1,0]]
a. En Python. 2, que représente H[0] ? (H[0])[2] ?
Réponse :
H[0] est la première ligne de la matrice H
( H[0])[2] est le troisième terme
de la première ligne de la matrice H
b. Ecrire en Python .2, un algorithme qui, à l’aide d’une boucle,
donne la somme des termes de la première ligne.
Réponse possible:
from random import*
def som():
H=[[1,0,1],[0,1,1],[1,1,0]]
S=0
for i in range(3):
S=S+(H[0])[i]
print " la somme de la première ligne est ",S
On obtient :
>>> som()
la somme de la première ligne est 2
>>>
----------------------------------------------------------------