Corrigé QCM1 - NSI Première - 2020/2021 PDF

Summary

This document contains multiple-choice questions on algorithm in Python. The exercises cover conditional statements, loops, and data types. The document includes solutions.

Full Transcript

# Corrige QCM1 ## NSI Première **Nom:** **Prénom:** **Classe:** **Évaluation sur le thème : Algorithmique** **1. On considère la fonction suivante :** ```python def mystere(nombre): while nombre > 5: nombre = nombre - 5 return nombre ``` **Parmi les affirmations suivantes, lesquelles...

# Corrige QCM1 ## NSI Première **Nom:** **Prénom:** **Classe:** **Évaluation sur le thème : Algorithmique** **1. On considère la fonction suivante :** ```python def mystere(nombre): while nombre > 5: nombre = nombre - 5 return nombre ``` **Parmi les affirmations suivantes, lesquelles sont vraies?** - on sort de la boucle while dès que nombre < 5 - on sort de la boucle while dès que nombre > 5 - **✔ on continue la boucle while tant que nombre > 5** - on sort de la boucle while dès que nombre <= 5 - on continue la boucle while tant que nombre <= 5 - on continue la boucle while tant que nombre < 5 **2. On considère les deux instructions a=a+b et b=a-b exécutées dans l'ordre.** **Quelle affirmation est exacte?** - Si les valeurs initiales de a et b sont respectivement "bon" et "jour", alors le programme est interrompu par une erreur. - Si les valeurs initiales de a et b sont respectivement 5 et 2 alors les valeurs finales sont 7 et 2. - Si les valeurs initiales de a et b sont respectivement "bon" et "jour", alors les valeurs finales sont "bonjour" et "bon". - **✔ Si les valeurs initiales de a et b sont respectivement 5 et 2 alors les valeurs finales sont 7 et 3.** **3. Après le code Python qui suit, quelles sont les valeurs finales de x et y?** ```python x = 3 while x > 0: y = 0 while y < x: y = y + 1 x = x - 1 ``` - **✔ La valeur de x est 0 et celle de y est 1** - La valeur de x est 0 et celle de y est 0 - La boucle externe est une boucle infinie, le programme ne termine pas. - La valeur de x est -1 et celle de y est 0 **4. Quel est le type de l'expression (1 + 8 * 5 - 8)?** - int - float - str - erreur - **✔ bool** **5. On considère la fonction suivante :** ```python def mystere(n): if n != 7: resultat = 'A' else: if n == 5: resultat = 'B' else: resultat = 'C' return resultat ``` **Quelle est la valeur de mystere(2)?** - 'B' - **✔ 'A'** - 'C' **6. On considère la fonction suivante :** ```python def mystere(n): if n == 7: resultat = 'A' else: if n == 5: resultat = 'B' else: resultat = 'C' return resultat ``` **Quelle est la valeur de mystere(5)?** - 'C' - 'A' - **✔ 'B'** **7. Quel est le type de l'expression ('toto' + 8 * 5)?** - int - **✔ str** - erreur - bool - float **8. On considère la fonction suivante :** ```python def mystere(n): if n == 7: resultat = 'A' else: if n == 5: resultat = 'B' else: resultat = 'C' return resultat ``` **Quelle est la valeur de mystere(7)?** - 'B' - **✔ 'A'** - 'C' **9. Voici un code Python.** ```python x = 2 for i in range(4): x = x * i + 1 ``` **Quelle est la valeur de x ?** - 11 - 10 - 6 - **✔ 8** **10. Quel est le type de l'expression ("10 + 3 * 5")?** - str - float - erreur - bool - **✔ int** **11. On considère les instructions suivantes :** ```python a = 3 b = 4 a == b + 1 b = b + 1 a == b + 1 b = b + 1 print(a >= b + 1) ``` **Quel est le résultat affiché?** - True - 8 - **✔ Aucune, une erreur est signalée** - False **12. Parmi les propositions suivantes, laquelle est une affectation?** - a b - a ! b - a >= b - **✔ a = b** **13. Voici une fonction définie en Python:** ```python def f(x): for d in range(2, x): if x % d == 0: return d ``` **Que renvoie la fonction f si le paramètre x a la valeur 9?** - Les valeurs 3, 5 et 15 - **✔ La valeur 3** - Les valeurs 3 et 5 - La valeur 5 **14. Combien de fois la fonction print est-elle appelée dans le code Python qui suit?** ```python n= 6 for i in range(3, n): print(i) ``` - Une fois - Deux fois - Jamais - **✔ Trois fois** ## Exercice 1 : Voici un script : ```python x = 1 n = 1 while n < 5: x = x * n n = n + 1 ``` **Quelle est la valeur finale de x?** x = 24 ## Exercice 2 : Voici un script : ```python x = 0 for i in range(3): x = x + i for j in range(2): x = x + j ``` **Quelle est la valeur finale de x?** x = 6 ## Exercice 3 : On considère la fonction suivante : ```python def mystere(n): if n != 7: resultat = 'A' else: if n == 5: resultat = 'B' else: resultat = 'C' return resultat ``` **Ecrire l'algorithme associée à cette fonction.** **Fonction mystere(n : entier) : str** **Variables:** - **resultat : str** ***Début*** - **Si n != 7 alors** - **resultat = 'A'** - **Sinon** - **Si n == 5 alors** - **resultat = 'B'** - **Sinon** - **resultat = 'C'** - **FinSi** - **FinSi** - **Retourner resultat** - **Fin** ## Exercice 4 : Ecrire un algorithme qui permet de calculer la somme des carrés des n premiers entiers naturels (1<sup>2</sup> + 2<sup>2</sup> + 3<sup>2</sup> + ... + n<sup>2</sup>) tant que le résultat est inférieur à 1000, avec n saisi par l'utilisateur. Proposer deux versions avec les deux types de boucles (bornée et non bornée). **Fonction Somme(n : entier)** **Variables:** - **resultat : entier** - **i : entier** **Début** - **resultat = 0** - **i = 0** - **Tant que resultat + i<sup>2</sup> <= 1000** - **resultat = resultat + i<sup>2</sup>** - **i = i + 1** - **FinTantQue** - **Retourner resultat** - **Fin** **Fonction somme(n : entier)** **Variables:** - **resultat : entier** - **i : entier** **Début** - **resultat = 0** - **i = 1** - **Tant que i <= n** - **Si resultat + i<sup>2</sup> > 1000** - **Alors retourner resultat** - **Sinon** - **resultat = resultat + i<sup>2</sup>** - **i = i + 1** - **FinSi** - **FinTantQue** - **Retourner resultat** - **Fin**

Use Quizgecko on...
Browser
Browser