test prog

Languages de programmation · 40 question(s)
Mode entraînement sans compte : ce résultat ne sera pas ajouté à un historique personnel.
⏱ Temps restant --:--

Question 1

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 ?

Question 2

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) ?

Question 3

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 ?

Question 4

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 ?

Question 5

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

Question 6

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]
			

Question 7

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 ?

Question 8

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 ?

Question 9

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 ?

Question 10

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
			

Question 11

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 ?

Question 12

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 ?

Question 13

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) ?

Question 14

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
			

Question 15

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 ?

Question 16

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
			

Question 17

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
			

Question 18

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
			

Question 19

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 ?

Question 20

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 ?

Question 21

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
			

Question 22

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 ?

Question 23

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 ?

Question 24

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 ?

Question 25

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
			

Question 26

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 :

Question 27

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) ?

Question 28

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")
			

Question 29

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 ?

Question 30

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 calculPourcentage(30,100) ?

Question 31

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) ?

Question 32

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 ?

Question 33

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 ?

Question 34

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 ?

Question 35

On considère l'instruction suivante :


resultat = [0] * 7
			

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

Question 36

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) ?

Question 37

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 :

Question 38

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 ?

Question 39

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

Question 40

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 ?