Flashcards : Spécification des programmes Python (46 cartes)

Toutes les cartes

1Question

Qu’est-ce qu’une expression en programmation ?

Réponse

Une construction évaluable qui produit une valeur.

2Question

Que demande une instruction à Python ?

Réponse

D’effectuer une action.

3Question

Quel effet l’affectation `x = 3` a-t-elle en Python ?

Réponse

Elle modifie l’environnement d’exécution.

4Question

Qu’est-ce qu’un effet de bord ?

Réponse

Une modification observable de l’environnement causée par une fonction ou une instruction, en plus d’une éventuelle valeur de retour.

5Question

Que précise le contrat d’une fonction ?

Réponse

Ses données d’entrée et ses données de sortie.

6Question

Quelles caractéristiques spécifie l’entrée d’une fonction ?

Réponse

Son nombre, son type et ses contraintes.

7Question

Quelles caractéristiques spécifie la sortie d’une fonction ?

Réponse

Son type, sa signification et les propriétés qu’elle vérifie.

8Question

Que décrit une précondition dans un programme ou une fonction ?

Réponse

Ce qui doit être vrai avant son exécution.

9Question

Quelle lettre note souvent une précondition ?

Réponse

P.

10Question

Que décrit une postcondition dans un programme ou une fonction ?

Réponse

Ce qui doit être vrai après son exécution.

11Question

Quelle lettre note souvent une postcondition ?

Réponse

Q.

12Question

À quelle condition la correction garantit-elle la postcondition Q après exécution ?

Réponse

Si la précondition P est vraie avant l’exécution.

13Question

Qu’est-ce qu’une propriété invariante de boucle ?

Réponse

Une propriété qui reste vraie à chaque étape de la boucle.

14Question

Que faut-il vérifier avant la première itération pour établir un invariant ?

Réponse

Qu’il est vrai avant la première itération.

15Question

Que faut-il vérifier après chaque itération pour établir un invariant ?

Réponse

Qu’il est conservé après chaque itération.

16Question

Que doit permettre l’invariant à la fin de la boucle ?

Réponse

De démontrer la postcondition.

17Question

Que garantit la précondition d’une fonction concernant son comportement ?

Réponse

Le comportement de la fonction est garanti lorsque les conditions sont respectées.

18Question

Une précondition oblige-t-elle le programme à tester ses conditions ?

Réponse

Non, elle ne l’impose pas automatiquement.

19Question

Quelles sont les étapes de la démarche de l’activité bilan sur `compte` ?

Réponse

Spécifier la fonction, la programmer, proposer un invariant, puis la tester.

20Question

Quelle est la précondition de `compte(L, x)` ?

Réponse

`L` doit être une liste.

21Question

Quelle est la postcondition de `compte(L, x)` ?

Réponse

La fonction retourne le nombre d’éléments de `L` égaux à `x`.

22Question

Dans quel ordre la liste L doit-elle être triée pour la recherche dichotomique présentée ?

Réponse

Dans l’ordre croissant.

23Question

Que retourne la recherche dichotomique présentée à propos de x et de L ?

Réponse

Un booléen indiquant si x appartient à L.

24Question

Quel effet de bord peut modifier une variable globale ?

Réponse

La modification d’une variable globale.

25Question

Quel effet de bord peut toucher une liste passée en argument ?

Réponse

La modification de cette liste.

26Question

Quel effet de bord peut produire une écriture dans un fichier ?

Réponse

L’écriture dans un fichier.

27Question

Quel effet de bord produit l’appel à `print` ?

Réponse

L’affichage.

28Question

Quel type de valeur reçoit `racine_entiere(n)` ?

Réponse

Un entier n≥0n \geq 0.

29Question

Quelle propriété vérifie la sortie `r` de `racine_entiere(n)` ?

Réponse

r2≤n<(r+1)2r^2 \leq n < (r+1)^2.

30Question

Quelle condition doit respecter la liste fournie à `maximum(L)` ?

Réponse

Elle doit être non vide.

31Question

Que représente la sortie de `maximum(L)` ?

Réponse

Le plus grand élément de LL.

32Question

Quelle précondition s’applique à l’appel maximum(L) ?

Réponse

L est une liste non vide.

33Question

Quel résultat maximum(L) doit-il produire par rapport à L ?

Réponse

Un élément m appartenant à L, dont aucun élément de L n’est strictement supérieur.

34Question

Dans une boucle de somme, que représente s après le traitement des premiers éléments de L ?

Réponse

La somme de ces éléments.

35Question

Dans une boucle de recherche du maximum, que représente m après le parcours d’éléments ?

Réponse

Le maximum des éléments déjà parcourus.

36Question

Quelle précondition est proposée pour la fonction inverse définie par inverse(x)=1xinverse(x)=\frac{1}{x} ?

Réponse

x≠0x\neq 0.

37Question

Que peut lever le programme si x=0x=0 lors du contrôle de la précondition de inverse(x)inverse(x) ?

Réponse

Une exception `ValueError`.

38Question

Que représente `n` après le traitement d’une partie de `L` dans `compte(L, x)` ?

Réponse

Le nombre d’éléments déjà traités qui sont égaux à `x`.

39Question

Quel cas de liste vide est testé pour `compte` ?

Réponse

`compte([], 2)`.

40Question

Quel appel teste une valeur répétée dans une liste pour `compte` ?

Réponse

`compte([1,2,2,3], 2)`.

41Question

Quel appel teste une valeur absente de la liste pour `compte` ?

Réponse

`compte([1,2,3], 4)`.

42Question

Quel appel teste une liste composée uniquement de répétitions pour `compte` ?

Réponse

`compte([5,5,5], 5)`.

43Question

Quelle valeur initiale l’algorithme présenté attribue-t-il à g ?

Réponse

0.

44Question

Quelle valeur initiale l’algorithme présenté attribue-t-il à d ?

Réponse

len⁡(L)−1\operatorname{len}(L)-1.

45Question

Quelle condition maintient la boucle de l’algorithme présenté en cours ?

Réponse

g≤dg \leq d.

46Question

Que demande l’activité sur la recherche dichotomique d’identifier pour justifier la terminaison ?

Réponse

Une quantité permettant de justifier la terminaison de l’algorithme.

Teste-toi avec le QCM

Teste tes connaissances avec un QCM de 18 questions sur Spécification des programmes Python.

1. Quelle propriété caractérise une expression en programmation ?

2. Dans la distinction entre expression et instruction, quel rôle remplit une instruction ?

Faire le QCM →

Consultez la fiche

Révisez le cours complet dans la fiche de révision de Spécification des programmes Python.

Voir la fiche →

Cours similaires

Crée tes propres flashcards

Importe ton cours et l'IA génère des flashcards en 30 secondes.

Générateur de flashcards