Qu’est-ce qu’une expression en programmation ?
Une construction évaluable qui produit une valeur.
Que demande une instruction à Python ?
D’effectuer une action.
Quel effet l’affectation `x = 3` a-t-elle en Python ?
Elle modifie l’environnement d’exécution.
Qu’est-ce qu’un effet de bord ?
Une modification observable de l’environnement causée par une fonction ou une instruction, en plus d’une éventuelle valeur de retour.
Que précise le contrat d’une fonction ?
Ses données d’entrée et ses données de sortie.
Quelles caractéristiques spécifie l’entrée d’une fonction ?
Son nombre, son type et ses contraintes.
Quelles caractéristiques spécifie la sortie d’une fonction ?
Son type, sa signification et les propriétés qu’elle vérifie.
Que décrit une précondition dans un programme ou une fonction ?
Ce qui doit être vrai avant son exécution.
Quelle lettre note souvent une précondition ?
P.
Que décrit une postcondition dans un programme ou une fonction ?
Ce qui doit être vrai après son exécution.
Quelle lettre note souvent une postcondition ?
Q.
À quelle condition la correction garantit-elle la postcondition Q après exécution ?
Si la précondition P est vraie avant l’exécution.
Qu’est-ce qu’une propriété invariante de boucle ?
Une propriété qui reste vraie à chaque étape de la boucle.
Que faut-il vérifier avant la première itération pour établir un invariant ?
Qu’il est vrai avant la première itération.
Que faut-il vérifier après chaque itération pour établir un invariant ?
Qu’il est conservé après chaque itération.
Que doit permettre l’invariant à la fin de la boucle ?
De démontrer la postcondition.
Que garantit la précondition d’une fonction concernant son comportement ?
Le comportement de la fonction est garanti lorsque les conditions sont respectées.
Une précondition oblige-t-elle le programme à tester ses conditions ?
Non, elle ne l’impose pas automatiquement.
Quelles sont les étapes de la démarche de l’activité bilan sur `compte` ?
Spécifier la fonction, la programmer, proposer un invariant, puis la tester.
Quelle est la précondition de `compte(L, x)` ?
`L` doit être une liste.
Quelle est la postcondition de `compte(L, x)` ?
La fonction retourne le nombre d’éléments de `L` égaux à `x`.
Dans quel ordre la liste L doit-elle être triée pour la recherche dichotomique présentée ?
Dans l’ordre croissant.
Que retourne la recherche dichotomique présentée à propos de x et de L ?
Un booléen indiquant si x appartient à L.
Quel effet de bord peut modifier une variable globale ?
La modification d’une variable globale.
Quel effet de bord peut toucher une liste passée en argument ?
La modification de cette liste.
Quel effet de bord peut produire une écriture dans un fichier ?
L’écriture dans un fichier.
Quel effet de bord produit l’appel à `print` ?
L’affichage.
Quel type de valeur reçoit `racine_entiere(n)` ?
Un entier .
Quelle propriété vérifie la sortie `r` de `racine_entiere(n)` ?
.
Quelle condition doit respecter la liste fournie à `maximum(L)` ?
Elle doit être non vide.
Que représente la sortie de `maximum(L)` ?
Le plus grand élément de .
Quelle précondition s’applique à l’appel maximum(L) ?
L est une liste non vide.
Quel résultat maximum(L) doit-il produire par rapport à L ?
Un élément m appartenant à L, dont aucun élément de L n’est strictement supérieur.
Dans une boucle de somme, que représente s après le traitement des premiers éléments de L ?
La somme de ces éléments.
Dans une boucle de recherche du maximum, que représente m après le parcours d’éléments ?
Le maximum des éléments déjà parcourus.
Quelle précondition est proposée pour la fonction inverse définie par ?
.
Que peut lever le programme si lors du contrôle de la précondition de ?
Une exception `ValueError`.
Que représente `n` après le traitement d’une partie de `L` dans `compte(L, x)` ?
Le nombre d’éléments déjà traités qui sont égaux à `x`.
Quel cas de liste vide est testé pour `compte` ?
`compte([], 2)`.
Quel appel teste une valeur répétée dans une liste pour `compte` ?
`compte([1,2,2,3], 2)`.
Quel appel teste une valeur absente de la liste pour `compte` ?
`compte([1,2,3], 4)`.
Quel appel teste une liste composée uniquement de répétitions pour `compte` ?
`compte([5,5,5], 5)`.
Quelle valeur initiale l’algorithme présenté attribue-t-il à g ?
0.
Quelle valeur initiale l’algorithme présenté attribue-t-il à d ?
.
Quelle condition maintient la boucle de l’algorithme présenté en cours ?
.
Que demande l’activité sur la recherche dichotomique d’identifier pour justifier la terminaison ?
Une quantité permettant de justifier la terminaison de l’algorithme.
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 ?
Révisez le cours complet dans la fiche de révision de Spécification des programmes Python.
Voir la fiche →Importe ton cours et l'IA génère des flashcards en 30 secondes.
Générateur de flashcards