Jesais aps
TD2 : Alternatives (Corrigé)
Exercice 1 : Test de compréhension
Question 1.1 : [Opérations sur les booléens] Que fait le programme suivant ? Suivre le contenu des variables. � � flag flag flag flag flag flag = = = = = = False not(flag) not(flag) not(flag) not(flag) not(flag)
1 2 3 4 5 6
� Correction : � flag flag flag flag flag flag = = = = = = False True False True False True
Dessiner la case mémoire de la variable.
� �
1 2 3 4 5 6
1 2 3 4 5 6
Question 1.2 : [Évaluation d’expressions booléennes] Prévoir les valeurs de la variable booléenne test dans l’algorithme suivant : � � x = 12 test = test = test = test = test = x>12 x40 and x10 and x=10 and test
�
� �
� Important : Vous prendrez soin de suivre pas à pas l’évolution des variables. Correction :
– – – – – (2) (3) (4) (5) (6)
�
test contient False car x qui contient 12 n’est pas supérieur à 12, i) Evaluation de l’expression à droite de l’affectation : False or (False and True) ii) test = False, test = x !=9 (x différent de 9) donc test = True test = not(True and True ) and True, test = False test = True and False, test = False
�
Question 1.3 : [Indentation] Qu’est-ce qu’une indentation ? Correction : indentation : espaces insérés avant une instruction.
�
Question 1.4 : [Tests élémentaires] Quelle différence y a-t-il entre les tests if(A==True) et if(A) ? Correction :
Ils sont équivalents, leurs résultats sont toujours identiques mais dans le premier cas deux tests élémentaires sont réalisés alors que dans le second cas un seul test élémentaire. Il faut donc privilégier la seconde formulation. �
Question 1.5 : [Imbrications de if] Dans le programme suivant quelles instructions font dépendent du premier if ? du deuxième if ?
1ère année
� � �33 �
Bases de la programmation
IUT de Villetaneuse
1 2 3 4 5 6 7
�
� Qu’affiche le programme dans les différents cas suivants ? 1. quand A = 1 et B = 0 2. quand A = 2 et B = 2