Aller au contenu

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]
Exercice 2:

É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]