Devoir NSIÂ : Sujet A gpe 3
L'usage de la calculatrice n'est pas autorisé. Durée : 55min
Exercice 1: QCM
Pour chacune des 10 questions, entourer la réponse correcte (+1). Une mauvaise réponse enlève 0.5, l'absence de réponse n'enlève ni ne rapporte de points.
Question 1
Soit les déclarations suivantes :
animaux=['Chat','Cochon','Chien','Canard','Vache']
effectif=[3,8,5,9,1]
groupe=[animaux,effectif]
Quel sera le résultat de groupe[1][3]
?
RĂ©ponses :
A) 'Chien'
B) 9
C) 5
D) 'Canard'
Question 2
On a saisi le code suivant :
a = [0.5 * x for x in range(0, 4)]
donc a
vaut :
RĂ©ponses :
A) [0.0, 0.5, 1.0, 1.5, 2.0]
B) [0, 1, 2, 3, 4]
C) [0.0, 0.5, 1.0, 1.5]
D) [0, 1, 2, 3]
Question 3
Soit la liste suivante :
liste_pays = ["France","Allemagne","Italie","Belgique"]
Que retourne :
liste_pays[2]
RĂ©ponses :
A) France
B) Allemagne
C) Italie
D) Belgique
Question 4
Soit a = [1,2,3,4,5]
, lequel des énoncés suivants est correct ?
RĂ©ponses :
A) print(a[:100]) #Affiche [1,2,3,4,5]
B) print(a[:]) #Affiche [1,2,3,4]
C) print(a[0:]) #Affiche [2,3,4,5]
D) print(a[-1:]) #Affiche [1,2]
Question 5
Qu'affiche le programme suivant ?
L=[0,1,2]
M=[3,4,5]
N=[L[i]+M[i] for i in range(len(L))]
print(N)
RĂ©ponses :
A) [3,5,7]
B) [3,5,7,9]
C) [0,1,2,3,4,5]
D) Erreur
Question 6
On a saisi le code suivant :
liste = [1,[2,7],3,[4,5,8],9]
Lequel des énoncés suivants est correct ?
RĂ©ponses :
A) print(liste[2]) #Affiche 2
B) print(liste[0][0]) #Affiche 1
C) print(liste[1][0]) #Affiche 2
D) print(liste[3][1]) #Affiche 4
Question 7
image = [[0,0,0,0],[0,0,0,0],[0,0,0,0],[0,0,0,0]]
for i in range(4) :
for j in range(4) :
if (i+j) == 3 :
image[i][j] = 1
RĂ©ponses :
A) [[0,0,0,1],[0,0,1,0],[0,1,0,0],[1,0,0,0]]
B) [[0,0,0,1],[0,0,0,1],[0,0,0,1],[0,0,0,1]]
C) [[0,0,0,1],[0,0,1,1],[0,1,1,1],[1,1,1,1]]
D) [[0,0,0,0],[0,0,0,0],[0,0,0,0],[1,1,1,1]]
Question 8
Dans la définition suivante de la fonction somme
en Python, quelle est l'instruction à ajouter pour que la valeur retournée par l'appel 'somme([1, 2, 3, 4, 5])' soit '15' ?
def somme(tab):
s = 0
for i in range(len(tab)):
...
return s
RĂ©ponses :
A) s = tab[i]
B) tab[i] = tab[i] + s
C) s = s + tab[i]
D) s = s + i
Question 9
Dans la fonction Mystere
ci-dessous, le contenu de la boucle for
a été effacé. Si Mystere([1, 3, 5, 2])
renvoie [4, 8, 7, 2]
, quelle est
l'instruction manquante?
def Mystere(b):
for i in range(len(b)-1):
...
return b
RĂ©ponses :
A) b[i]=b[i]+b[i+1]
B) b[i]=b[i]+b[i-1]
C) b[i]=b[i]*b[i-1]
D) b[i+1]=b[i]+b[i+1]
Question 10
Quel est le résultat de l'évaluation de l'expression Python suivante ?
[n * n for n in range(10)]
RĂ©ponses :
A) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81, 100]
B) [0, 2, 4, 8, 16, 32, 64, 128, 256, 512]
C) [0, 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024]
D) [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
Écrire un programme qui attend deux listes d'entiers L1
et L2
et qui les concatène sans doublons.
Exemple:
si L1 = [13, 15, 12, 17, 15 ]
et L2 = [18, 15, 14, 13, 19, 20]
alors le programme crée la liste
L3 = [13, 15, 12, 17, 18, 14, 19, 20]
et l'affiche.
Exercice 3:
Étant donné une liste d'entiers positifs et négatifs.
Écrire une fonction qui place en début de liste les éléments négatifs et en fin de liste les éléments positifs.
Exemple d'exécution :
liste de départ : L=[1,2,-5,8,-6,-2,-4,-9,7,9,-8]
affichage: [-5, -6, -2, -4, -9, -8, 1, 2, 8, 7, 9]
Exercice 4: (Bonus)
Écrire un programme qui attend une liste L
et qui crée une liste L1
qui contient les mêmes éléments que L, mais sans que ce soit des listes.
Exemple:
si L = [1,2,[3,4],5,6,[7,[8,[9,10,[11,12],13],14,15],16,17,18],19,[20,21,[22,23,24,[25,26,27],28],[29],30],31,32]
Alors, en fin de programme :
L1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32]