Aller au contenu

⁉️ QCM

Ces questions sont issues de la BNS (source).

Conseil

N'utilisez pas Python pour y répondre.

Résumé de cours

Vous trouverez un petit résumé ici.

Question

  • Question 1

    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(.........):
            somme = somme + i
        return somme
    

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

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

    • for i in range(n, 1, p):

    • for i in range(n, p):

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

Question

  • Question 2

    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 ?

    • 21

    • 0

    • 6

    • 15

Question

  • Question 3

    La documentation de la bibliothèque random de Python précise que random.randint(a,b) renvoie un entier aléatoire N 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 :

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

    • random.randint(0, 8) / 2

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

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

Question

  • Question 4

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

    • (2020, 2019)

    • (2020, 2020)

    • (2019, 2020)

    • (2019, 2019)

Question

  • Question 5

    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 :

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

    • a vaut 3, b vaut 5 et c vaut 15

    • a vaut 5, b vaut 10 et c vaut 15

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

Question

  • Question 6

    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
    

    • ranger(3, 4, 1)

    • ranger(1, 2, 3)

    • ranger(1, 3, 2)

    • ranger(4, 2, 3)

Question

  • Question 7

    On considère le code suivant :

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

    Quelle construction élémentaire peut-on identifier ?

    • une structure conditionnelle

    • une boucle non bornée

    • une boucle bornée

    • un appel de fonction

Question

  • Question 8

    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
    

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

    • 1

    • 20

    • 22

Question

  • Question 9

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

    • un nombre entier

    • un booléen (vrai/faux)

    • un nombre flottant

    • une chaîne de caractères

Question

  • Question 10

    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 ?

    • ce programme ne termine pas

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

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

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

Question

  • Question 11

    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 ?

    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
    

    • C

    • A

    • B

    • D

Question

  • Question 12

    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
    

    • for i in range(1, n+1)

    • for i in range(1, n):

    • for i in range(n+1):

    • for i in range(0, n):

Question

  • Question 13

    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 ?

    • 2

    • 3

    • 4

    • (2, 3, 4)

Question

  • Question 14

    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 ?

    • les flottants

    • les booléens

    • les chaînes de caractères

    • les entiers

Question

  • Question 15

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

    • 19

    • 15

    • 12

    • 20

Question

  • Question 16

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

    • 6

    • 1

    • 5

    • 7

Question

  • Question 17

    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
    

    • puissance(2, 0)

    • puissance(2, 1)

    • puissance(2, 2)

    • puissance(2, 10)

Question

  • Question 18

    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 ?

    • b - a

    • a - b

    • a + b

    • - a - b

Question

  • Question 19

    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
    

    • 4

    • 2

    • 5

    • 6

Question

  • Question 20

    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
    

    • 5

    • 3

    • 6

    • 10

Question

  • Question 21

    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
    

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

    • A - 1

    • A + 1

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

Question

  • Question 22

    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 ?

    • maxi(2, 3)

    • maxi(3, -2)

    • maxi(2, 2)

    • maxi(3, 2)

Question

  • Question 23

    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 ?

    • 500

    • 1

    • 10

    • 20

Question

  • Question 24

    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 ?

    • random.randint(1, 6)

    • random.randint(6)

    • random.randint(1, 7)

    • random.randint(0, 6)

Question

  • Question 25

    Q25 - 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
    

    • 9

    • 1

    • 8

    • 18

Question

  • Question 26

    On définit la fonction suivante :

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

    Quelle valeur renvoie l'appel rey(100) ?

    • 128

    • 64

    • 1

    • 100

Question

  • Question 27

    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 ?

    • (2, 8)

    • (8, 8)

    • (8, 2)

    • (2, 2)

Question

  • Question 28

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

    • 9

    • 4

    • 11

    • 19

Question

  • Question 29

    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
    

    • l'exécution ne termine pas !

    • la valeur de x est 0, celle de y est 0

    • la valeur de x est 0, celle de y est 1

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

Question

  • Question 30

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

    • from math import sqrt

    • using math.sqrt

    • include math.sqrt

    • from math include sqrt

Question

  • Question 31

    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 ?

    • 18

    • 0

    • 14

    • 26

Question

  • Question 32

    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 ?

    • 3

    • 12

    • 13

    • 15

Question

  • Question 33

    On définit une fonction :

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

    • 32

    • 8

    • 16

    • 64