ICC MT & EL Test N° 1 vendredi 24 octobre 2014 Ne PAS retourner ces feuilles avant d’en être autorisé! Merci de poser votre carte CAMIPRO en évidence sur la table. Vous pouvez déjà compléter et lire les informations ci-dessous: NOM ____________________________________________________________ Prénom _____________________________________________________________ Numéro SCIPER _________________________________________________________ Signature _______________________________________________________________ Le test écrit commence à: Retourner les feuilles avec la page 8 face à vous à : 14h15 15h30 les contrôles écrits ICC sont SANS document autorisé, ni appareil électronique Total sur 20 points = 12 points pour la partie Quizz et 8 points pour les questions ouvertes La partie Quizz (QCM) comporte 12 questions : chaque question n’a qu’une seule réponse correcte parmi les 4 réponses proposées. Chaque réponse correcte donne 1 point. Aucun point n’est donné en cas de réponses multiples, de rature, ou de réponse incorrecte. Indiquez vos réponses à la partie Quizz dans le tableau en bas de cette page. La partie « question ouverte » comporte 2 questions. Chaque question rapporte 4 points. A B C D 1 2 3 4 Questions du Quizz 5 6 7 8 9 1 10 11 12 A B C D QUIZZ Notation: on utilise dans ce quizz la virgule pour séparer les puissances positives des puissances négatives de la base dans la notation positionnelle des nombres. -------------------------------------------------------------------------------------------------------------------------Question 1 : Le nombre décimal 13,125 s’exprime en base 2 avec la notation positionnelle par: A 1011,001 B 1101,111 C 1011,101 D 1101,001 -------------------------------------------------------------------------------------------------------------------------Soit l’algorithme récursif algo_X. Cet algorithme est destiné à être appelé comme suit : algo_X( L , 1 , Taille(L)) où Taille(L) fournit le nombre d’éléments de la liste non-vide L. Un élément de la liste L peut être accédé avec la notation L(i), avec i compris entre 1 et Taille(L). algo_X entrée : Liste L, entier deb, entier fin sortie : la Liste L est éventuellement modifiée par l'algorithme Si deb < fin et fin > 0 Si L(deb) > L(deb+1) a ← L(deb) L(deb) ← L(deb+1) L(deb+1) ← a algo_X(L, deb+1, fin) algo_X(L, deb, fin-1) Cet espace est laissé vide intentionnellement ; vous pouvez vous en servir comme brouillon 2 Question 2 : Les réponses indiquent l’ordre des modifications effectuées par l’algorithme sur la liste fournie. Indiquer la réponse correcte lorsque algo_X est appelé avec la liste {9, 3, 7, 2}. A B C D {9, 3, 2, 7} -> {9, 2, 3, 7} -> {2, 9, 3, 7} -> {2, 3, 9, 7} -> {2, 3, 7, 9} {9, 7, 3, 2} {3, 9, 7, 2} -> {3, 7, 9, 2} -> {3, 7, 2, 9} -> {3, 2, 7, 9} -> {2, 3, 7, 9} {3, 9, 7, 2} -> {3, 9, 2, 7} -> {3, 2, 9, 7} -> {2, 3, 9, 7} -> {2, 3, 7, 9} Question 3 : n désigne la taille de la liste L. Quelle est la complexité de cet algorithme ? On suppose que le coût calcul de Taille(L) est O(1) dans l’appel initial algo_X( L , 1 , Taille(L)). A B C D O(n2) mais pas O(n log n). O(n log n) mais pas O(n). O(n) mais pas O(log n). O(2n) mais pas O(n2). -------------------------------------------------------------------------------------------------------------------------Pour les questions suivantes, on suppose qu’on travaille avec une représentation en virgule flottante exprimée uniquement par la formule normalisée : 2exposant x 1, mantisse où x représente la multiplication. L’exposant est représenté par trois bits et la mantisse est représentée par 1 bit. Question 4 : Le plus grand nombre représentable avec cette formule est: A 12 B 192 C 8,5 D 15 Question 5 : L’erreur relative maximum sur le domaine couvert est de: A 8% B 12,5% C 50% D 100% -------------------------------------------------------------------------------------------------------------------------Question 6 : Parmi les affirmations suivantes, laquelle est vraie ? A NP est la classe des problèmes qu’on peut résoudre en temps Non-Polynomial B La classe P est contenue dans NP. C Il est difficile de calculer la solution d’un problème appartenant à la classe P. D Il est difficile de vérifier la solution d’un problème appartenant à la classe NP. -------------------------------------------------------------------------------------------------------------------------Question 7 : On représente un nombre entier sur 8 bits en utilisant la représentation des entiers négatifs par complément à 2. Comment s’écrit le nombre −42 avec cette représentation ? A 11010100 B 11010101 C 11010110 D 10101010 3 -------------------------------------------------------------------------------------------------------------------------On considère l’algorithme suivant : algo_Y entrée : n, un entier naturel sortie : ? ? ? Si n 1 sortir : n b ←0 c ←1 Pour i allant de 2 à n a ←b b ←c c ←a+b sortir : c Question 8 : Quelle est sa sortie lorsque n = 10 ? A 33 B 34 C 54 D 55 Question 9 : Quelle est l’ordre de complexité de cet algorithme ? A O(n2) mais pas O(n log n). B O(n log n) mais pas O(n). C O(n) mais pas O(log n). D O(log n) mais pas O(1). -------------------------------------------------------------------------------------------------------------------------Question 10 : Quel est le résultat de la conversion en hexadécimal (base 16) du nombre suivant donné en octal (base 8) : 7332 A ECA B EDA C EBA D EFA -------------------------------------------------------------------------------------------------------------------------Question 11 : Parmi les affirmations suivantes sur la représentation des entiers avec le complément à deux sur n bits, laquelle est fausse ? A B C D Le domaine couvert n’est pas symétrique Le maximum des entiers positifs est 2n-1 -1 Le seul entier égal à son opposé est la représentation de zéro Le minimum des entiers négatifs est -2n-1 4 Question 12 : Lequel de ces 4 algorithmes fonctionne correctement ? A B algo_A entrée : n, un entier sortie : un nombre entier Si n < 0 sortir : 0 Si n = 0 sortir : 1 sortir : 2*n + algo_A(2*n+1) algo_B entrée : n, un entier sortie : un nombre entier Si n > 0 sortir : 2*n Si n = 0 sortir : 1 sortir : algo_B(n-1) C D algo_C entrée : n, un entier sortie : un nombre entier Si n < 0 sortir : 2*n + algo_C(n-1) Si n = 0 sortir : 1 sortir : algo_C(-n) algo_D entrée : n, un entier sortie : un nombre entier Si n < 0 sortir : 2*n + algo_D(n+1) Si n = 0 sortir : 1 sortir : algo_D(-n) -------------------------------------------------------------------------------------------------------------------------- Questions Ouvertes Question 1 : on suppose qu’on travaille avec la représentation en virgule flottante exprimée uniquement par la formule normalisée : 2exposant x 1, mantisse où x représente la multiplication. On utilise ici les mêmes valeurs que dans le cours : 2 bits pour l’exposant de la base deux, et 2 bits pour la mantisse. a) Quelle est la représentation de 1110 (onze) en supposant que l’approximation, s’il y en a une, est effectuée par troncation. Indiquer le motif binaire de l’exposant et de la mantisse : _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ b) En déduire l’erreur absolue et l’erreur relative (éventuellement nulles) sur cette représentation de 1110 en virgule flottante ? Erreur absolue = _______________________________________________________ _____________________________________________________________________ _____________________________________________________________________ Erreur relative, exprimée en %, arrondie à l’unité = ___________________________ _____________________________________________________________________ _____________________________________________________________________ 5 Question 2 : On considère l’algorithme suivant : algo_Z entrée : n, un entier naturel non nul sortie : ? ? ? Si n =1 sortir : 1 Sinon sortir : 2*algo_Z(n - 1) + 1 a) Indiquer les étapes pour obtenir la sortie pour n=5 : _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ b) Quel est l’ordre de complexité de cet algorithme ? Pourquoi ? _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ c) Proposer une version non récursive pour cet algorithme. _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ _____________________________________________________________________ 6 Page vide utilisable comme brouillon, ne pas détacher 7 Ne rien écrire sur cette page, Rappel : avez-vous complété le tableau en p1 ? Présenter cette page sur le dessus dans les 2 cas suivants : 1) vous avez fini avant 15h30 2) les copies sont ramassées 8