Représentation des données Types et valeurs de base
Durée : 1 h - Coeff. 3.5 - Noté sur 70 points
Exercice 1. QCM 45 points
QCM entiers naturels et relatifs
Combien d’entiers relatifs peut-on représenter en machine sur 64 bits ?
a. 264−1 b. 264 c. 263 d. 263−1
Question 1
On code les entiers positifs et les négatifs.
Combien d’entiers négatifs peut-on représenter en machine sur 64 bits ?
a. 264−1 b. 264 c. 263 d. 263−1
Question 2
On code les entiers positifs et les négatifs.
Quel est le plus petit entier négatif que l’on peut représenter en machine sur 64 bits ?
a. −264 b. −264 c. −263 d. −263−1
Question 3
On code les entiers positifs et les négatifs.
Quel est le plus grand entier positif que l’on peut représenter en machine sur 64 bits ?
a. 264 b. 264 c. 263 d. 263−1
Question 4
On ne code que les entiers positifs.
Quel est l’entier positif codé en base 2 sur 8 bits dont le code est : 1111 1111 ?
a. 28 b. 27−1 c. 256 d. 255
Quelle est la valeur affichée à l’exécution du programme suivant ?
# Dans l'éditeur PYTHON x=256
for i in range(8):
x=x//2 print(x)
a. 1 b. 2 c. 4 d. 8
Question 6
Quel est l’entier relatif négatif codé en base 2 sur un octet dont le code est : 1111 1111 ?
a. −1 b. −128 c. −127 d. −126
Question 7
QCM nombres dyadiques
Quel est l’écriture en base 2 du nombre dyadique123 16 ?
a. (101, 1011)2 b. (110, 1011)2 c. (111, 1011)2 d. (1111, 011)2
Question 8
Quel est l’écriture en base 10 du nombre dyadique codé en base 2 par (1100, 100)2?
a. (0, 125)10 b. (1, 25)10 c. (12, 5)10 d. (125)10
(1100, 100)2=23+22+2−1=12, 5 Preuve
QCM types
Quelle est la valeur affichée à l’exécution du programme suivant ?
# Dans l'éditeur PYTHON a=1
b=2.0
print(type(a+b))
a. <class ’int’> b. <class ’float’> c. <class ’bool’> d. <class ’str’>
Question 10
Quelle est la valeur affichée à l’exécution du programme suivant ?
# Dans l'éditeur PYTHON a=1
b=2
print(type(a==b))
a. True b. False c. <class ’bool’> d. <class ’int’>
Question 11
Quelle est la valeur affichée à l’exécution du programme suivant ?
# Dans l'éditeur PYTHON a=12
print(type('a'))
a. <class ’int’> b. <class ’float’> c. <class ’bool’> d. <class ’str’>
Quelle est la valeur affichée à l’exécution du programme suivant ?
# Dans l'éditeur PYTHON a=2
b=12//5 print(a==b)
a. True b. False c. <class ’bool’> d. 2
Question 13
12//5 renvoie 2 qui est le quotient de la division euclidienne de 12 par 5 puisque 12=5×2+2.
On a biena=2 donc le testa==best Vrai.
Preuve
QCM Algorithmique
Adésignant un entier, lequel des codes suivants ne termine pas ? Le programme c)
# Réponse a) i = A + 1 while i < A:
i = i-1
# Réponse b) i = A + 1 while i < A:
i = i + 1
# Réponse c) i = A - 1 while i < A:
i = i - 1
# Réponse d) i = A - 1 while i < A:
i = i + 1
Avec la définition de la fonction f suivante, quelle est la valeur retournée par l’appel dans la console def(42, 21) ?
# Dans l'éditeur PYTHON def f(x,y):
if x> y:
return y,x else:
return x,y
a. (21,42) b. (42,21) c. (21,21) d. (42,42)
Question 15
1. Quels sont les plus petits et plus grands entiers relatifs que l’on peut représenter sur 8 bits ? Sur 8 bits on peut représenter 28=256 nombres relatifs donc 128 positifs ou nul et 128 négatifs.
Le plus petit étant (−128) et le plus grand 127.
2. Donner l’écriture en base 2 sur 8 bit de 56.
5610=(0011 1000)2
3. En déduire l’écriture en base 2 sur 8 bit de−56 par complément à 2.
(−56)10=(1100 1000)2
Exercice 3. Représentation des nombres dyadiques 3 points
Donner l’écriture en base 2 de56 32=56
25 =1, 75.On pourra utiliser le résultat de l’exercice précédent.
5610=(0111 000)2=⇒ 56
25 =(001, 11000)2
Exercice 4. Représentation des nombres dyadiques 10 points
Donner l’écriture en base 2 de 5,875 La partie entière : 5=(101)2
0,875 ×2 = 1, 75 = 1 +0, 75 0,75 ×2 = 1, 5 = 1 +0, 5
0,5 ×2 = 1 = 1 +0
5, 875=(101,111)2
[ Fin du devoir \