E22 BTS SIO Sujet mai 2017
( Si le candidat ne connait pas Python 2.7 , proposer un autre sujet )
PREMIER TRAVAIL 30 mn sur papier.
Voici un algorithme écrit en Python 2.7.
Lisez le puis répondez aux questions.
from random import* def etude(): L=input("Donner une liste de valeurs numériques ") a = L[0] b = L[ len(L) − 1 ] for i in range(len(L)): if a > L[i]: a = L[i] if b< L[i]: b = L[i] E = b − a print a,b,E for j in range(len(L)): for k in range(j,len(L)): if L[j]>L[k]: L[j] , L[k] = L[k] , L[j] A = L[0] B = L[len(L) − 1] F= B− A print A , B , F |
QUESTIONS :
1. Qu'obtient-on quand on saisit la liste L= [15,7,2,38,11] ?
2. Que représentent les variables a,b,E,A,B,F ?
3. Que peut-on dire de L à la fin ?
4. Citer les types de variables utilisées.
5. Quand on écrit, for j in range(len(L)):
quelles sont les valeurs prises par j ?
6. Que peut-on dire de j et k ?
7. Que signifie L[i] ?
8. Modifier l'algorithme pour qu'il affiche la somme des termes de L .
9. Modifier l'algorithme pour qu'il donne la liste G des termes de L qui
sont impairs.
SECOND TRAVAIL sur machine ( 30 mn )
1. Écrire, si possible en Python 2. 7, un algorithme qui quand on saisit
une matrice M carrée numérique de dimension 3 × 3 donne la liste H
dont les termes sont les sommes de chaque ligne de M.
2. Faire tourner l'algorithme ainsi écrit pour :
M = [ [ 1,0,1 ] , [ 3,6,1 ] , [ 2,0,4 ] ].
-----------------------------------------------------