Propriétaire des ressources ci-dessous : ministère de l'Éducation nationale et de la jeunesse, licence CC BY SA NC

Voici une sélection de questions issues de la banque nationale de sujets, répondez à ces questions (attention, cette sélection n'est pas exhaustive).

Vous trouverez les corrections à télécharger ici (format tableur LibreOffice)

Python : les bases

Q1 - Parmi les quatre expressions suivantes, laquelle s'évalue en True ?

Réponses :

A- False and (True and False)

B- False or (True and False)

C- True and (True and False)

D- True or (True and False)


Q2 - Si a vaut False et b vaut True, que vaut l’expression booléenne NOT(a AND b) ?

Réponses :

A- 0

B- False

C- True

D- None


Q3 - On exécute le code suivant


a = 2
b = 3
c = a ** b
d = c % b
				

Quelle est la valeur de d à la fin de l'exécution ?

Réponses :

A- 1

B- 2

C- 3

D- 4


Q4 - La variable x contient la valeur 3, la variable y contient la variable 4. Quelle expression s'évalue en True parmi les quatre propositions suivantes ?

Réponses :

A- x == 3 or y == 5

B- x == 3 and y == 5

C- x != 3 or y == 5

D- y < 4


Q5 - À quelle affectation sont équivalentes les instructions suivantes, où a, b sont des variables entières et c une variable booléenne ?


if a==b:
  c = True
elif a > b+10:
  c = True
else:
  c = False
				

Réponses :

A- c = (a==b) or (a > b+10)

B- c = (a==b) and (a > b+10)

C- c = not(a==b)

D- c = not(a > b+10)


Q6 - Sachant que l'expression not(a or b) a la valeur True, quelles peuvent être les valeurs des variables booléennes a et b ?

Réponses :

A- True et True

B- False et True

C- True et False

D- False et False


Q7 - On considère une formule booléenne form des variables booléennes a et b dont voici la table de vérité.

a b form
True True False
False True False
True False True
False False False

Quelle est cette formule booléenne form ?

Réponses :

A- a and b

B- a or b

C- a and not(b)

D- not(a) or b


Q8 - Pour quelles valeurs booléennes des variables a, b et c l'expression (a or b) and (not c) a-t-elle pour valeur True ?

Réponses :

A- a = True b = False c = True

B- a = True b = False c = False

C- a = False b = False c = True

D- a = False b = True c = True


Q9 - Soient a et b deux booléens. L’expression booléenne NOT(a AND b) OR a est équivalente à :

Réponses :

A- False

B- True

C- NOT(b)

D- NOT(a) OR NOT(b)


Q10 - Si A et B sont des variables booléennes, laquelle de ces expressions booléennes est équivalente à (not A) or B ?

Réponses :

A- (A and B) or (not A and B)

B- (A and B) or (not A and B) or (not A and not B)

C- (not A and B) or (not A and not B)

D- (A and B) or (not A and not B)


Q11 - On considère l'extrait de code suivant :


while (a < 20) or (b > 50):
  ......
  ......
			

Quelles conditions permettent de mettre fin à cette boucle ?

Réponses :

A- la boucle prend fin lorsque a < 20 ou b > 50

B- la boucle prend fin lorsque a < 20 et b > 50

C- la boucle prend fin lorsque a >= 20 ou b <= 50

D- la boucle prend fin lorsque a >= 20 et b <= 50


Q12 - Quelle est la valeur de x à la fin de l'exécution du script Python suivant ?


x = 1
for i in range(10):
  x = x * 2
			

Réponses :

A- 2

B- 1024

C- 2048

D- 20000000000


Langages de programmation

Les questions proposées ici portent généralement sur Python mais pas seulement.
Vous trouverez d'autres questions sur Python dans les parties suivantes : "Python : les bases", "Python : les séquences (tuples et tableau)" et "Python : les dictionnaires".

Q1 - La fonction ajoute(n,p) codée ci-dessous en Python doit calculer la somme de tous les entiers compris entre n et p (n et p compris).

Par exemple, ajoute(2,4) doit renvoyer 2+3+4 = 9.


def ajoute(n,p):
  somme = 0
  for i in range(.........):   # ligne à modifier
    somme = somme + i
  return somme
			

Quelle est la bonne écriture de la ligne marquée à modifier ?

Réponses :

A- for i in range(n, 1, p):

B- for i in range(n, p):

C- for i in range(n, p+1):

D- for i in range(n-1, p):


Q2 - Quel est le seul langage de programmation parmi les propositions suivantes ?

Réponses :

A- HTML

B- CSS

C- C++

D- WEB


Q3 - On exécute le script suivant.


n = 6
s = 0
while n >= 0:
  s = s + n
  n = n -1
			

Que contient la variable s à la fin de cette exécution ?

Réponses :

A- 0

B- 6

C- 15

D- 21


Q4 - La documentation de la bibliothèque random de Python précise que random.randint(a,b) renvoie un entier aléatoire tel que a ≤ N ≤ b.

Afin d’obtenir un entier choisi aléatoirement dans l’ensemble {-4 ; -2 ; 0 ; 2 ; 4}, après avoir importé la librairie random de Python, on peut utiliser l’instruction :

Réponses :

A- random.randint(0,8)/2

B- random.randint(0,8)/2 - 4

C- random.randint(0,4)*2 - 2

D- (random.randint(0,4) - 2) * 2


Q5 - On définit la fonction :


def f(a,b):
  assert b!=0,'le deuxième argument est nul'
  result = a/b
  return result
			

Qu'obtient-on en exécutant la commande r = f(4,0) ?

Réponses :

A- une erreur ZeroDivisionError: division by zero et l'arrêt de l'exécution

B- une erreur NameError: name 'b' is not defined et l'arrêt de l'exécution

C- une erreur AssertionError: le deuxième argument est nul et la variable r prend la valeur 0

D- une erreur AssertionError: le deuxième argument est nul et l'arrêt de l'exécution


Q6 - On définit la fonction :


def f(x,y):
  x = x + y
  y = x - y
  x = x - y
  return (x,y)
			

Quel est la valeur renvoyée par l'appel f(2019,2020) ?

Réponses :

A- (2019,2019)

B- (2019,2020)

C- (2020,2019)

D- (2020,2020)


Q7 - T est un tableau de nombres entiers non vide. Que représente la valeur de s renvoyée par cette fonction ?


def mystere(T):
  s = 0
  for k in T:
    if k % 2 == 0:
      s = s+k
  return s
			

Réponses :

A- la somme des valeurs du tableau T

B- la somme des valeurs positives du tableau T

C- la somme des valeurs impaires du tableau T

D- la somme des valeurs paires du tableau T


Q8 - On exécute le script suivant :


def calcul(a,b):
  a = a + 2
  b = b + 5
  c = a + b
  return c

a,b = 3,5
calcul(a,b)
			

À la fin de cette exécution :

Réponses :

A- a vaut 3, b vaut 5 et c vaut 15

B- a vaut 3, b vaut 5 et c n'est pas défini

C- a vaut 5, b vaut 10 et c vaut 15

D- a vaut 5, b vaut 10 et c n'est pas défini


Q9 - Ce programme ne renvoie pas toujours ses trois arguments dans l’ordre croissant. Parmi les tests suivants, lequel va permettre de détecter l’erreur ?


def ranger(a, b, c):
  if a > b :
    a, b = b, a
  if b > c:
    b, c = c, b
  return a, b, c
			

Réponses :

A- ranger(1,2,3)

B- ranger(3,4,1)

C- ranger(1,3,2)

D- ranger(4,2,3)


Q10 - On considère le code suivant :


if x < 4:
  x = x + 3
else:
  x = x - 3
			

Quelle construction élémentaire peut-on identifier ?

Réponses :

A- une boucle non bornée

B- une structure conditionnelle

C- une boucle bornée

D- un appel de fonction


Q11 - Quelle est la valeur de la variable n à la fin de l'exécution du script ci-dessous ?


n = 1
while n != 20:
  n = n + 2
			

Réponses :

A- 1

B- 20

C- 22

D- le programme ne termine pas, la boucle tourne indéfiniment


Q12 - La documentation de la fonction floor de la bibliothèque math est :


floor(x)
Return the floor of x as an Integral. This is the largest integer <= x.
			

Que vaut floor(-2.2) ?

Réponses :

A- – 2

B- – 3

C- on obtient une erreur, car –2.2 n'est pas un entier

D- 2.2


Q13 - On considère la fonction suivante :


def comparaison(a,b):
  if a < b:
    return a
  else:
    return b
			

Quel est le type de la valeur renvoyée par l'appel comparaison(6,5) ?

Réponses :

A- un booléen (vrai/faux)

B- un nombre entier

C- un nombre flottant

D- une chaîne de caractères


Q14 - Lequel des langages suivants n'est pas un langage de programmation :

Réponses :

A- PHP

B- Javascript

C- HTML

D- Python


Q15 - On a défini une liste L de nombres entiers.

Quelle est la valeur de la variable m à la fin de l'exécution du script suivant ?


m = L[0]
for j in range(len(L)):
  if m < L[j]:
    m = L[j]
			

Réponses :

A- la moyenne de la liste L

B- le minimum de la liste L

C- le maximum de la liste L

D- la longueur de la liste L


Q16 - On exécute le script suivant :


a = 4
b = 4
c = 4
while a < 5:
  a = a - 1
  b = b + 1
  c = c * b
			

Que peut-on dire ?

Réponses :

A- ce programme ne termine pas

B- à la fin de l'exécution, la variable a vaut 5

C- à la fin de l'exécution, la variable b vaut 34

D- à la fin de l'exécution, la variable c vaut 42


Q17 - Soit n un entier naturel. Sa factorielle est le produit des nombres entiers strictement positifs qui sont plus petits ou égaux à n. Par exemple la factorielle de 4 vaut 1 x 2 x 3 x 4 = 24.

Quelle est la fonction correcte parmi les suivantes ?

Réponses :

A-


def factorielle(n):
  i = 0
  fact = 1
  while i <= n:
    fact = fact * i
    i = i + 1
  return fact
			

B-


def factorielle(n):
  i = 1
  fact = 1
  while i < n:
    fact = fact * i
    i = i + 1
  return fact
			

C-


def factorielle(n):
  i = 0
  fact = 1
  while i < n:
    i = i + 1
    fact = fact * i
  return fact
			

D-


def factorielle(n):
  i = 0
  fact = 1
  while i <= n:
    i = i + 1
    fact = fact * i
  return fact
			

Q18 - On considère le code suivant


def moyenne(notes):
  somme = 0
  for cpt in range(len(notes)):
    ....
  m = somme/len(notes)
  return m
			

Par quoi remplacer la ligne en pointillée pour que cette fonction calcule la moyenne d'une liste de nombres ?

Réponses :

A- somme = somme + notes[cpt]

B- somme = notes[cpt]

C- somme = cpt

D- somme = somme + cpt


Q19 - n étant un entier strictement positif, la fonction suivante calcule sa factorielle, c'est-à-dire le produit 1 x 2 x 3 x...x (n-1) x n. Comment faut-il écrire la ligne en pointillée ci-dessous pour ce faire ?


def factorielle(n):
  f = 1
  .........
    f = f * i
  return f
			

Réponses :

A- for i in range(1,n):

B- for i in range(n+1):

C- for i in range(0,n):

D- for i in range(1,n+1):


Q20 - On exécute le code suivant :


def f(t):
  n = len(t)
  for i in range(n-1):
    if t[i] > t[i+1]:
      t[i],t[i+1] = t[i+1],t[i]

L = [4, 8, -7, 0, 1]
f(L)
			

Quelle est la valeur de L après l'exécution de ce code ?

Réponses :

A- [4, -7, 8, 0, 1]

B- [-7, 0, 1, 4, 8]

C- [4, 8, -7, 0, 1]

D- [4, -7, 0, 1, 8]


Q21 - La fonction suivante calcule la racine carrée du double d’un nombre flottant.


from math import sqrt

def racine_du_double(x):
  return sqrt(2*x)
			

Quelle est la précondition sur l'argument de cette fonction ?

Réponses :

A- x < 0

B- x >= 0

C- 2 * x > 0

D- sqrt(x) >= 0


Q22 - On exécute le code suivant :


def essai():
  a = 2
  b = 3
  c = 4
  return a
  return b
  return c

t = essai()
			

Quelle est la valeur de t après l'exécution de ce code ?

Réponses :

A- 2

B- 3

C- 4

D- (2,3,4)


Q23 - On considère l'instruction suivante :


resultat = [0] * 7
			

Que contient la variable resultat après son exécution ?

Réponses :

A- 0

B- [0]

C- [[0], [0], [0], [0], [0], [0], [0]]

D- [0, 0, 0, 0, 0, 0, 0]


Q24 - Soit T un tableau de flottants, a et b deux entiers. On considère une fonction nommée somme renvoyant la somme des éléments du tableau d'indice compris entre a et b définie par :


def somme(T, a, b):
  S = 0
  for i in range(a, b+1) :
    S = S + T[i]
  return S
			

Quel ensemble de préconditions doit-on prévoir pour cette fonction ?

Réponses :

A- a < b

B- a < longueur(T) et b < longueur(T)

C- a <= b < longueur(T)

D- a <= b < longueur(T) et T est un tableau trié


Q25 - On souhaite écrire une fonction qui renvoie le maximum d'une liste d'entiers :


def maximum(L):
  m = L[0]
  for i in range(1,len(L)):
    if .........:
      m = L[i]
  return m
			

Par quoi faut-il remplacer les pointillés pour que cette fonction produise bien le résultat attendu ?

Réponses :

A- i > m

B- L[i] > m

C- L[i] > L[i-1]

D- L[i] > L[i+1]


Q26 - Un programme Python commence par la ligne :


import os
			

À quoi sert cette ligne ?

Réponses :

A- c'est le début du squelette de tout programme Python

B- c'est la déclaration du système d'exploitation (operating system)

C- Python 3.6 exige cette ligne au début de tout programme

D- c'est la déclaration d'une bibliothèque (ou module) que le programme compte utiliser


Q27 - On définit la fonction suivante :


def f(x,y,z):
  if x+y == z:
    return True
  else:
    return False
			

Quel type de paramètres est-il déconseillé d'utiliser avec cette fonction ?

Réponses :

A- les entiers

B- les chaînes de caractères

C- les flottants

D- les tableaux


Q28 - On considère la fonction ci-dessous :


def maFonction(c):
  if c <= 10:
    p = 12
  if c <= 18:
    p = 15
  if c <= 40:
    p = 19
  else:
    p = 20
  return p
			

Que renvoie maFonction(18) ?

Réponses :

A- 12

B- 15

C- 19

D- 20


Q29 - On définit la fonction suivante :


def f(n):
  c = 0
  while n > 0:
    c = c + 1
    n = n // 2
  return c
			

Quel est la valeur renvoyée par l'appel f(35) ?

Réponses :

A- 1

B- 5

C- 6

D- 7


Q30 - La fonction Python suivante ne calcule pas toujours correctement le résultat de xy pour des arguments entiers. Parmi les tests suivants, lequel va permettre de détecter l’erreur ?


def puissance (x,y):
  p = x
  for i in range (y - 1):
    p = p * x
  return p
			

Réponses :

A- puissance(2,0)

B- puissance(2,1)

C- puissance(2,2)

D- puissance(2,10)


Q31 - On exécute le script suivant :


tableau1 = [1, 2, 3]
tableau2 = [4, 5, 6]
long = len(tableau1 + tableau2)
			

Quelle est la valeur de la variable long à la fin de cette exécution ?

Réponses :

A- 1

B- 3

C- 6

D- rien, car le code engendre une erreur


Q32 - On souhaite échanger les contenus de deux variables entières a et b sans utiliser de variable auxiliaire en écrivant le code suivant :


a = a - b
b = a + b
a = ......
			

Que peut-on écrire à la place des pointillés pour réaliser cet échange ?

Réponses :

A- a - b

B- a + b

C- b - a

D- - a - b


Q33 - On définit la fonction f suivante qui prend en argument une liste t d'entiers :


def f(t):
  n = len(t)
  for i in range(n-1):
    for j in range(i+1,n):
      if t[i] == t[j]:
        return True
  return False
			

Pour quelle valeur de t, f(t) vaut-elle True ?

Réponses :

A- [[2,3], [3,4], [4,5], [2,3]]

B- [[2,2], [3,4], [4,5], [2,3]]

C- [[2,3], [3,2], [4,5], [5,4]]

D- [[3,3], [4,4], [5,5], [6,6]]


Q34 - La fonction maximum codée ci-dessous en Python doit renvoyer la plus grande valeur contenue dans le tableau d'entiers passé en argument.


def maximum(tableau):
  tmp = tableau[0]
  for i in range(......):	# à compléter
    if tableau[i] > tmp:
      tmp = tableau[i]
  return tmp
			

Quelle expression faut-il écrire à la place des pointillés ?

Réponses :

A- len(tableau) - 1

B- 1,len(tableau) - 1

C- 1,len(tableau)

D- 1,len(tableau) + 1


Q35 - Quelle est la valeur de la variable b à la fin de l'exécution du script suivant ?


a = 3
b = 6
if a > 5 or b != 3:
  b = 4
else:
  b = 2
			

Réponses :

A- 2

B- 4

C- 5

D- 6


Q36 - Quelle est la valeur de la variable b à la fin de l'exécution du script suivant ?


a = 2
b = 5
if a > 8:
  b = 10
elif a > 6:
  b = 3
			

Réponses :

A- 3

B- 5

C- 6

D- 10


Q37 - On a écrit une fonction qui prend en paramètre une liste non vide et qui renvoie son plus grand élément. Combien de tests faudrait-il écrire pour garantir que la fonction donne un résultat correct pour toute liste ?

Réponses :

A- deux tests : pour une liste à un élément et pour une liste à deux éléments ou plus

B- deux tests : pour le cas où le plus grand élément est en début de liste, et pour le cas où le plus grand élément n’est pas en début de liste

C- trois tests : pour une liste vide, pour une liste à un élément, et pour une liste à deux éléments ou plus

D- il faudrait écrire une infinité de tests : on ne peut pas prouver que cette fonction est correcte, simplement en la testant


Q38 - Dans le programme suivant, la variable A contient un entier strictement positif. Quelle est la valeur numérique de la variable i en fin de programme ?


i = 0
while 2**i < A :
  i = i + 1
			

Que vaut la variable i à la fin de l'exécution ?

Réponses :

A- A + 1

B- l'exposant de la plus grande puissance de 2 inférieure à A

C- l'exposant de la plus petite puissance de 2 supérieure à A

D- A - 1


Q39 - Dans le programme JavaScript suivant, quelle est la notation qui délimite le bloc d’instructions exécuté à chaque passage dans la boucle while ?


i = 0
while (i < 10) {
  alert(i)
  i = i + 1
}
alert("Fin")
			

Réponses :

A- le fait que les instructions soient encadrées entre { et }

B- le fait que les instructions soient indentées de 4 caractères comme en Python

C- le fait que les instructions suivent le mot clé while

D- le fait que les instructions suivent la parenthèse )


Q40 - La fonction suivante ne calcule pas toujours correctement le maximum des deux nombres donnés en argument. On rappelle que abs(z) calcule la valeur absolue du nombre z.


def maxi(x,y) :
  m = (x-y+abs(x+y))/2
  return m
			

Parmi les tests suivants, lequel va détecter l'erreur ?

Réponses :

A- maxi(3,-2)

B- maxi(2,2)

C- maxi(3,2)

D- maxi(2,3)


Q41 - On définit la fonction :


def fib(n):
  t = [0] * n
  t[1] = 1
  for i in range(2,n):
    t[i] = t[i-1] + t[i-2]
  return t
			

Quelle est la valeur renvoyée par l'appel fib(6) ?

Réponses :

A- [0, 1, 1, 2, 3]

B- [0, 1, 1, 2, 3, 5]

C- [0, 1, 1, 2, 3, 5, 8]

D- [0, 1, 2, 3, 5, 8]


Q42 - On exécute le script suivant :


a = 10
if a < 5:
  a = 20
elif a < 100:
  a = 500
elif a < 1000:
  a = 1
else:
  a = 0
			

Quelle est la valeur de la variable a à la fin de cette exécution ?

Réponses :

A- 1

B- 10

C- 20

D- 500


Q43 - On considère le code suivant :


def puiss(y,x):
  res = y
  for i in range(x):
    res = res*y
  return res
			

Quelles sont les préconditions sur les arguments ?

Réponses :

A- les arguments doivent être obligatoirement de type entier

B- les arguments peuvent être de type entier ou flottant

C- le type des arguments n’a pas d’importance

D- il n’y a pas de préconditions dans ce cas


Q44 - La documentation de la bibliothèque random de Python précise :

random.randint(a, b)
Renvoie un entier aléatoire N tel que a ≤ N ≤ b.

Quelle est l’expression Python permettant de simuler le tirage d’un dé à 6 faces après avoir exécuté import random ?

Réponses :

A- random.randint(6)

B- random.randint(1,6)

C- random.randint(1,7)

D- random.randint(0,6)


Q45 - Quelle est la valeur de la variable n à la fin de l'exécution du script ci-dessous ?


n = 1
for i in range(4):
  n = n + 2
			

Réponses :

A- 1

B- 8

C- 9

D- 18


Q46 - On définit la fonction suivante :


def rey(n):
  i = 0
  while i <= n:
    i = 2*i
  return i
			

Quelle valeur renvoie l'appel rey(100) ?

Réponses :

A- 0

B- 64

C- 100

D- 128


Q47 - On construit une liste L de la façon suivante :


L = []
for i in range(1,11,2)
  L.append(5*i)
			

et on obtient ainsi la liste [5, 15, 25, 35, 45].

On pourrait aussi procéder de la façon suivante :


L = []
# ligne 1 .......
while i < 11:
  L.append(5*i)
  # ligne 2 .......
			

Que faudrait-il écrire en ligne 1 et en ligne 2 pour obtenir le même résultat ?

Réponses :

A- i = 0 en ligne 1, et i = i + 1 en ligne 2

B- i = 0 en ligne 1, et i = i + 2 en ligne 2

C- i = 1 en ligne 1, et i = i + 1 en ligne 2

D- i = 1 en ligne 1, et i = i + 2 en ligne 2


Q48 - On exécute le script Python suivant :


def cube(a):
  a = a*a*a
  return a
a = 2
b = cube(a)
			

Que vaut le couple (a,b) à la fin de l'exécution ?

Réponses :

A- (8, 8)

B- (8, 2)

C- (2, 2)

D- (2, 8)


Q49 - On exécute le script Python suivant :


def cube(L):
  for i in range(len(L)):
    L[i] = L[i] * L[i] * L[i]
    return L

L = [2, 5]
b = cube(L)
			

Que vaut le couple (L,b) à la fin de l'exécution ?

Réponses :

A- ([2,5], [8,125])

B- ([8,125], [8,125])

C- ([8,125], [2,5])

D- ([2,5], [2,5])


Q50 - Avec la définition de fonction capital_double suivante, que peut-on toujours affirmer à propos du résultat n retourné par la fonction ?


def capital_double (capital, interet):
  montant = capital
  n = 0
  while montant <= 2 * capital:
    montant = montant + interet
    n = n + 1
  return n
			

Réponses :

A- n == capital / interet

B- capital * n * interet > 2 * capital

C- capital + n * interet > 2 * capital

D- n == 2 * capital / interet


Q51 - On définit deux fonctions :


def f(x):
  y = 2*x + 1
  return y

def calcul(x):
  y = x - 1
  return f(y)
			

Quelle est la valeur renvoyée par l'appel calcul(5) ?

Réponses :

A- 4

B- 9

C- 11

D- 19


Q52 - Quelles sont les valeurs des variables x et y à la fin de l'exécution du script suivant :


x = 4
while x > 0:
  y = 1
  while y < x:
    y = y + 1
    x = x - 1
			

Réponses :

A- l'exécution ne termine pas !

B- la valeur de x est 0, celle de y est 0

C- la valeur de x est 0, celle de y est 1

D- la valeur de x est -1, celle de y est 0


Q53 - En Python, quelle est la méthode pour charger la fonction sqrt du module math ?

Réponses :

A- using math.sqrt

B- #include math.sqrt

C- from math include sqrt

D- from math import sqrt


Q54 - On exécute le code suivant


def calculPourcentage (prix,reduction):
  assert reduction >= 0, 'la réduction doit être un nombre positif'
  assert reduction < 100, 'la réduction doit être inférieure à 100'
  assert prix > 0, 'le prix doit être un nombre strictement positif'
  remise = (reduction*prix)/100
  prix_remise = prix - remise
  return prix_remise
			

Quelle est la valeur renvoyée par l'appel calcul(30,100) ?

Réponses :

A- AssertionError: la réduction doit être un nombre positif

B- AssertionError: la réduction doit être inférieure à 100

C- AssertionError: le prix doit être un nombre strictement positif

D- 70


Q55 - En voulant programmer une fonction qui calcule la valeur minimale d'une liste d'entiers, on a écrit :


def minimum(L):
  mini = 0
  for e in L:
    if e < mini:
      mini = e
  return mini
			

Cette fonction a été mal programmée. Pour quelle liste ne donnera-t-elle pas le résultat attendu, c'est-à-dire son minimum ?

Réponses :

A- [-1,-8,12,2,23]

B- [0,18,12,2,3]

C- [-1,-1,12,12,23]

D- [1,8,12,2,23]


Q56 - On a défini une fonction somme qui doit calculer la somme des éléments de la liste passée en argument de la façon suivante :


def somme(L):
  s = L[0]
  for i in range(len(L)):
    s = s + L[i]
  return s
			

Cette fonction a été mal programmée. Quel appel parmi les suivants permet de mettre en évidence son incorrection ?

Réponses :

A- somme([0,0,0,0])

B- somme([0,1,2,3])

C- somme([0,3,2,1])

D- somme([3,2,1,0])


Q57 - On définit une fonction f de la façon suivante :


def f(L,m):
  R = []
  for i in range(len(L)):
    if L[i] > m:
      R.append(L[i])
  return R
			

On définit L = [1, 7, 3, 4, 8, 2, 0, 3, 5].

Que vaut f(L,4) ?

Réponses :

A- [0, 7, 0, 0, 8, 0, 0, 0, 5]

B- [0, 0, 0, 5]

C- [7, 8, 5]

D- []


Q58 - On exécute le script suivant.


a = 11
for i in range(3):
  a = a * 2
  a = a - 10
			

Que contient la variable a à la fin de cette exécution ?

Réponses :

A- 0

B- 14

C- 18

D- 26


Q59 - On exécute le script suivant.


a,b = 10,3
if a < 10:
  a,b = a+2,b+a
			

Quelle est la valeur de b à la fin de son exécution ?

Réponses :

A- 3

B- 12

C- 13

D- 15


Q60 - Parmi ces langages, lequel n'est pas un langage de programmation ?

Réponses :

A- HTML

B- JavaScript

C- PHP

D- Python


Q61 - On considère le code incomplet suivant, où la fonction maximum renvoie le plus grand élément d’une liste de nombres :


def maximum(L):
  m = L[0]
  for i in range(1,len(L)):
    ..............
    ..............
  return m
			

Que faut-il écrire à la place des lignes pointillées ?

Réponses :

A-


if m < L[i]:
  L[i] = m
			

B-


if L[i-1] < L[i]:
  m = L[i]
			

C-


if L[i] < L[0]:
  L[i],L[0] = L[0],L[i]
			

D-


if L[i] > m:
  m = L[i]
			

Q62 - La fonction maxi ci-dessous a pour but de renvoyer la valeur maximale présente dans la liste qui lui est passée en argument.


def maxi(L):
  dernier_indice = len(L) - 1
  valeur_max = L[0]
  for i in range(1,dernier_indice):
    if L[i] > valeur_max:
      valeur_max = liste[i]
  return valeur_max
			

Cette fonction a été mal programmée. On souhaite réaliser un test pour le démontrer.

Parmi les propositions suivantes, laquelle mettra la fonction maxi en défaut ?

Réponses :

A- maxi([1, 2, 3, 4])

B- maxi([4, 3, 2, 1])

C- maxi([1, 3, 3, 2])

D- maxi([1, 1, 1, 1])


Q63 - Karine écrit une bibliothèque Python, nommée GeomPlan, de géométrie plane dont voici un extrait :


import math

def aireDisque(R):
  return math.pi * R**2
			

Gilles utilise cette bibliothèque pour calculer l'aire d'un disque de rayon 8.

Laquelle des instructions suivantes renvoie un message d'erreur ?

Réponses :

A-


import GeomPlan
GeomPlan.aireDisque(8)
			

B-


import GeomPlan
aireDisque(8)
			

C-


from GeomPlan import *
aireDisque(8)
			

D-


from GeomPlan import aireDisque
aireDisque(8)
			

Q64 - On définit :


def f(a,m):
  i = 1
  n = 0
  while n <= m:
    i = i * a
    n = n + 1
  return i
			

Quelle est la valeur renvoyée par l'appel f(2,4) ?

Réponses :

A- 8

B- 16

C- 32

D- 64