Examen d`Introduction `a l`Informatique
Transcription
Examen d`Introduction `a l`Informatique
Université Aix-Marseille II Faculté des Sciences de Luminy Licence I – 1er Semestre Jeudi 12 Juin 2008 Examen d’Introduction à l’Informatique Durée : 3 heures Calculatrices et Documents Interdits L’épreuve est un QCM dont les modalités sont les suivantes : • Pas de points négatifs : Mauvaises réponses et absence de réponse n’enlèvent pas de points. • Les questions marquées par 3 étoiles ⋆⋆⋆ ont exactement 3 bonnes réponses. • Les questions marquées par 2 étoiles ⋆⋆ ont exactement 2 bonnes réponses. • Toutes les autres questions ont exactement 1 bonne réponse. • Il faut noircir exactement la/les bonne(s) réponse(s) (ni plus, ni moins) pour obtenir le point de la question. • Les 50 questions (avec ou sans étoiles) rapportent le même nombre de points (0, 4 pt chacune). Conventions Les nombres sont écrits par défaut en base 10 sauf s’ils sont préfixés par : % pour la base binaire, # pour la base octale, $ pour la base hexadécimale. Utiliser exclusivement le formulaire spécial pour répondre Ce QCM est corrigé automatiquement par une machine. Porter beaucoup d’attention au remplissage du cadre de droite (Carte d’Etudiant/Code d’Examen) : • Dans ce cadre, noircir au plus une case par colonne. • Les cases que vous noircissez doivent l’être PLEINEMENT. • Le numéro de carte d’étudiant est cadré A DROITE (c’est-à-dire que les colonnes laissées vierges par un numéro de carte de moins de 7 chiffres se trouvent A GAUCHE). • La colonne ”Lettre” doit TOUJOURS rester VIERGE. • Le code d’examen est toujours 666. Les cases des trois 6 de ce cadre doivent être noircies. • Toujours écrire le numéro entre les piquets pour vérification. • Tout formulaire ne respectant pas ces consignes sera PENALISE. Code d’examen : 666 pour tout le monde. Exemple avec le numéro de carte 50338 : N° carte d’étudiant chiffres lettre code examen 0 0 0 0 0 0 0 A 0 0 0 1 1 1 1 1 1 1 B 1 1 1 2 2 2 2 2 2 2 C 2 2 2 3 3 3 3 3 3 3 D 3 3 3 4 4 4 4 4 4 4 E 4 4 4 5 5 5 5 5 5 5 F 5 5 5 6 6 6 6 6 6 6 G 6 6 6 7 7 7 7 7 7 7 H 7 7 7 8 8 8 8 8 8 8 I 8 8 8 9 9 9 9 9 9 9 J 9 9 9 Codage – 5 questions par Mehdi Malik Q-1: Le code ASCII (American Standard Code for Information Interchange) est une table codant les caractères de la langue Anglaise. Les deux derniers caractères de la table sont : le caractère imprimable tilde (~), occupant le code 126, suivi du caractère de contrôle delete (DEL), occupant le code 127. Combien de bits sont nécessaires pour stocker un caractère ASCII ? A◦ 128 bits B◦ 6 bits C◦ 255 bits D◦ 7 bits E◦ 256 bits F◦ 8 bits Q-2: La table ISO-Latin1 est une extension du code ASCII. Elle permet de coder les caractères ASCII en conservant la même numérotation, ainsi que les caractères accentués de certaines langues Européennes. Elle utilise un bit de plus que la table ASCII et son dernier caractère est le y umlaut (ÿ) occupant le code 255. Comment vérifier qu’un code de la table ISO-Latin1 est aussi un code ASCII (et non une partie de l’extension) ? A◦ son bit de poids faible = 0 B◦ son bit de poids fort = 0 C◦ il a un nombre pair de bits nuls D◦ son bit de poids faible = 1 E◦ son bit de poids fort = 1 F◦ il a un nombre impair de bits nuls Q-3: Dans la table ASCII, les codes 0 à 31 sont des caractères de contrôle. Les inventeurs de la table ISOLatin1 ont souhaité que les programmes initialement conçus pour traiter de l’ASCII continuent à fonctionner s’ils traitent des caractères ISO-Latin1. De tels programmes sont susceptibles d’ignorer le bit supplémentaire codant un caractère ISO-Latin1 en l’annulant, ce qui a deux conséquences : (1) certains caractères de l’extension ISO-Latin1 risquent d’être vus comme des simples caractères ASCII après annulation de ce bit, provoquant des erreurs bénignes d’affichage, et (2) d’autres risquent d’être vus comme des caractères ASCII de contrôle, ce qui est plus grave. Afin d’éviter le cas (2), une plage de 32 codes à l’intérieur de la table ISO-Latin1 n’a reçu aucune attribution. Calculer laquelle : A◦ 128 à 159 B◦ 144 à 175 C◦ 160 à 191 D◦ 176 à 207 E◦ 192 à 223 F◦ 224 à 255 Q-4: Malgré cette précaution, il reste un code attribué à un caractère par la table ISO-Latin1 qui risque toujours d’être vu comme un code de contrôle par de tels programmes. Lequel ? A◦ 128 B◦ 144 C◦ 160 D◦ 176 E◦ 224 F◦ 255 Q-5: Pour une mémoire de 8 Giga-mots où chaque mot est adressable, le codage d’une adresse nécessite : A◦ 8 bits B◦ 11 bits C◦ 21 bits D◦ 33 bits E◦ 38 bits F◦ 64 bits Représentations des Nombres – 5 questions par Sébastien Nedjar Q-6: Quelle est l’écriture octale du nombre non-signé $FACE? A◦ #175316 B◦ #VISAGE C◦ $23456 D◦ 64206 E◦ %1 111 101 011 001 110 F◦ #523241 Q-7: Quel est le nombre signé dont la représentation en complément à 2 sur 1 octet est %1111 1110 ? A◦ 1 B◦ -2 C◦ -1 D◦ 2 E◦ 254 F◦ 255 Q-8: Soit $FADA un nombre non-signé sur 2 octets. Quels sont ses 4 bits de poids fort ? A◦ %0111 B◦ %1000 C◦ %1001 D◦ %1010 E◦ %1011 F◦ %1111 Q-9: Quels sont les 3 bits de poids faible du nombre signé +209 représenté en complément à 2 sur 2 octets ? A◦ %100 B◦ %001 C◦ %111 D◦ %000 E◦ %010 F◦ %101 Q-10: Quel est le plus grand nombre signé que l’on peut représenter en complément à 2 sur un mot de n bits ? A◦ +(2n ) B◦ +(2n − 1) C◦ +(2n−1 ) D◦ +(2n−1 − 1) E◦ +(2n+1 ) F◦ +(2n+1 − 1) Arithmétique des Ordinateurs – 5 questions par Bertrand Estellon Q-11: ⋆⋆⋆ Une Unité Arithmétique et Logique (ALU) fonctionnant sur 4 bits et représentant les nombres signés en complément à 2 effectue l’addition R = %1111 + %1101. Quels sont les états des flags CF, OF et SF ? A◦ CF = 0 B◦ CF = 1 C◦ OF = 0 D◦ OF = 1 E◦ SF = 0 F◦ SF = 1 Q-12: Après cette addition, le flag CF permet de tester si le résultat R obtenu est : A◦ négatif B◦ nul C◦ une puissance de 2 D◦ incorrect en non-signé E◦ incorrect en signé F◦ impair Q-13: ⋆⋆ Après cette addition, le résultat R est : A◦ négatif correct, en signé B◦ positif correct, en signé D◦ négatif incorrect, en signé E◦ positif incorrect, en signé C◦ correct en non-signé F◦ incorrect en non-signé Q-14: ⋆⋆⋆ L’ALU effectue la soustraction R= %1111 - %1101. Quels sont les états des flags CF, OF, et SF ? A◦ CF = 0 B◦ CF = 1 C◦ OF = 0 D◦ OF = 1 E◦ SF = 0 F◦ SF = 1 Q-15: Après cette soustraction, le flag SF permet de tester si le résultat R est : A◦ négatif B◦ nul C◦ une puissance de 2 D◦ incorrect en non-signé E◦ incorrect en signé F◦ impair Logique, Opérations bit-à-bit – 5 questions par Alexis Nasr Un examen est composé de cinq questions. Pour chaque question, six réponses sont proposées. La copie d’un étudiant est représentée par un mot de 30 bits. Celui-ci se décompose en 5 blocs de 6 bits, chacun de ces blocs correspond à une question. Le codage se fait de la gauche vers la droite, c’est-à-dire que le bloc le plus à gauche correspond à la première question, et qu’au sein de chaque bloc, le bit le plus à gauche est à 1 si l’étudiant considère que la première réponse à la question correspondante est la bonne. La réponse 1 de la question 1 se trouve donc dans le bit de poids fort du mot, et la réponse 6 de la question 5 se trouve dans le bit de poids faible. Il n’y a qu’une réponse possible par question et donc il n’y a au plus qu’un bit allumé par bloc. Q-16: L’étudiant Georges Boole a choisi la réponse 1 à la question 1, la réponse 2 à la question 2, la réponse 3 à la question 3, la réponse 4 à la question 4, et la réponse 5 à la question 5. Parmi les mots suivants, lequel correspond à sa copie ? A◦ %000001 000010 000100 001000 010000 B◦ %011111 101111 110111 111011 111101 C◦ %100000 010000 001000 000100 000010 D◦ %111110 111101 111011 110111 101111 E◦ %111110 000000 000000 000000 000000 F◦ %010000 001000 000100 000010 000001 Q-17: On sait que la réponse correcte à la question 3 est la réponse 4. On appelle G le mot correspondant à la copie de Georges, et on note & le AND bit-à-bit, | le OR bit-à-bit, >> le shift droit, << le shift gauche, et ~ le NOT bit-à-bit. Quelle expression vaut 1 si et seulement si Georges a répondu juste à la troisième question ? A◦ G & 1 B◦ G & %000000 000000 000100 000000 000000 C◦ (G >> 14) & 1 D◦ G | %000000 000000 000100 000000 000000 E◦ (G >> 14) | 1 F◦ G & %000000 000000 000000 001000 000000 Q-18: On appelle C le corrigé de l’examen (le mot correspondant aux cinq réponses correctes). Parmi les expressions suivantes, laquelle vaut 0 si et seulement si Georges n’a aucune réponse correcte ? A◦ G & C B◦ G & ~C C◦ C & ~G D◦ G | C E◦ G | ~C F◦ C | ~G Q-19: ⋆⋆ Georges se rend compte qu’il a oublié de répondre à la question 1. S’il propose la réponse 1, quelles instructions permettent de compléter sa copie ? A◦ G= G & (1 << 29) ; B◦ G= G & 1 ; C◦ G= G & %100000 000000 000000 000000 000000 ; D◦ G= G | (1 << 29) ; E◦ G= G | 1 ; F◦ G= G | %100000 000000 000000 000000 000000 ; Q-20: En sortant de l’examen, Georges rencontre son copain Auguste. On note A le mot correpondant à la copie de ce dernier. Parmi les expressions suivantes, laquelle est non nulle si et seulement si Georges et Auguste ont donné la même réponse à la question 5. A◦ A & G & %111111 B◦ (A & G) | %111111 C◦ A & G D◦ A | G | %111111 E◦ (A | G) & %111111 F◦ A | G Système de Fichiers Unix – 5 questions par Jean-François Pique Q-21: Dans le système de fichiers Unix, que représente le nom / constitué du seul symbole slash ? A◦ Le répertoire courant. B◦ Le répertoire maison. C◦ La racine du système de fichiers. D◦ Un début de commentaire. E◦ Le prompt. F◦ Le nom de la corbeille. Q-22: ⋆⋆⋆ Sous Unix : A◦ dans un répertoire, deux fichiers ne peuvent avoir le même nom. B◦ un répertoire contient soit des fichiers soit des répertoires, mais jamais les deux. C◦ majuscules et minuscules sont discriminantes pour les noms de fichiers. D◦ un nom de fichier doit obligatoirement commencer par une lettre. E◦ Le nombre total de fichiers est limité à 32 K. F◦ A chaque fichier ou répertoire sont associés des privilèges d’accès. Q-23: Parmi les commandes suivantes, laquelle copie le fichier /tmp/f.txt dans le répertoire courant ? A◦ cp /tmp/f.txt B◦ cp tmp/f.txt tmp/f.txt C◦ cp f.txt/tmp/f.txt D◦ cp /tmp f.txt . E◦ cp /tmp/f.txt . F◦ cp /tmp/f.txt > f.txt Q-24: Si un fichier script peut être exécuté par tout le monde, lu par tout son groupe, et modifié par son propriétaire seul, quelles sont les permissions qui doivent être affichées par ls -l ? A◦ -r-w-x B◦ -rwxr-x--x C◦ ---x--r--w D◦ d-wxr----x E◦ -rwx---r-x F◦ --xr-xrwxQ-25: Sachant que tous les noms listés ci-dessous sont des répertoires, et que le répertoire courant est /home/toto, qu’affiche la commande finale ? $ ls A◦ /home/toto images music video B◦ /home/toto/images $ ls video C◦ /home/toto/images/naruto bleach inuyasha naruto D◦ /home/toto/images/../naruto $ cd images/../video/naruto/./ E◦ /home/toto/naruto $ pwd F◦ /home/toto/video/naruto Pipes et Filtres Unix – 5 questions par Karim Nouioua Pour les 5 questions suivantes, on considère le contenu suivant du fichier notes : Nom;Pre;Angl;Info;Math;Phys Dupont;Enzo;10;12;5;12 Durand;Emma;12;3;7;12;15 Sanchez;Anais;8;10;16;3 Dubois;Manon;13;15;16;14 Petit;Louis;10;11;9;12;4 Blanchard;Leo;4;7;8;2 Q-26: Qu’affiche la commande suivante : cat notes | fgrep 3 A◦ 3 3 13 B◦ 3; 3; 13; C◦ Dupont;Enzo;10;12;5;12 Petit;Louis;10;11;9;12;4 Blanchard;Leo;4;7;8;2 D◦ 3 E◦ Durand;Emma;12;3;7;12;15 Sanchez;Anais;8;10;16;3 Dubois;Manon;13;15;16;14 Q-27: Qu’affiche la commande suivante : cat notes | tail -6 | sort | head -1 A◦ Blanchard;Leo;4;7;8;2 Dubois;Manon;13;15;16;14 Dupont;Enzo;10;12;5;12 Durand;Emma;12;3;7;12;15 Nom;Pre;Angl;Info;Math;Phys Petit;Louis;10;11;9;12;4 Sanchez;Anais;8;10;16;3 B◦ 12; 15; 3; 14; 4; 2; Q-28: Qu’affiche la dernière commande ci-contre : A◦ Nom;Anglais B◦ Nom;Anglais Dupont;10 Durand;12 Sanchez;8 Dubois;13 Petit;10 Blanchard;4 C◦ C◦ 2; 3; 4; 12; 14; 15; cat notes | cut -d’;’ -f1 | fgrep D cat notes | sort | tail -6 | head -3 cat notes | sort | head -3 | tail -6 E◦ Nom;Pre;Angl;Info;Math;Phys F◦ Sanchez;Anais;8;10;16;3 cat notes | cut -d’;’ -f1 > nom cat notes | cut -d’;’ -f3 > anglais paste -d’;’ nom anglais Nom Dupont Durand Sanchez Dubois Petit Blanchard Q-29: ⋆⋆ Quelles commandes produisent la sortie ci-contre : A◦ C◦ E◦ D◦ Blanchard;Leo;4;7;8;2 B◦ D◦ F◦ D◦ Anglais 10 12 8 13 10 4 E◦ 15; 14; 12; 4; 3; 2; Dupont Durand Dubois cat notes | fgrep Du cat notes | sort | tail -3 | head -6 cat notes | fgrep D | cut -d’;’ -f1 Q-30: Comment obtenir le contenu de notes avec les notes d’Anglais dans la 6ème colonne au lieu de la 3ème ? A◦ cat notes | fgrep ’Angl;’ | paste ’1,2,4,5,6,3’ B◦ cat notes | fgrep ’Angl;’ | paste ’1;2;4;5;6;3’ C◦ cat notes | fgrep ’Angl;’ | paste ’1-2-4-5-6-3’ D◦ cat notes | cut -d’;’ -f1,2,4,5,6,3 E◦ cat notes | cut -d’;’ -f3 > aaa cat notes | cut -d’;’ -f1,2,4,5,6 > bbb paste -d’;’ aaa bbb F◦ cat notes | cut -d’;’ -f1,2,4,5,6 > aaa cat notes | cut -d’;’ -f3 > bbb paste -d’;’ aaa bbb Expressions Régulières sous Unix – 5 questions par Jérôme Hulin Q-31: Qu’affiche la commande : echo ’abracadabra’ | sed ’s/ab/up/g’ A◦ abracadabra B◦ apracadapra C◦ ubracadabra D◦ ubrucudubru E◦ labarbapapa F◦ upracadupra Q-32: Qu’affiche la commande : echo ’0+0=1’ | sed ’s/0/1/g’ | sed ’s/1/0/g’ A◦ 0+0=0 B◦ 0+0=1 C◦ 1+0=0 D◦ 1+0=1 E◦ 1+1=0 Dans la suite, on considère le fichier dist, contenant les distances séparant Paris de différentes villes (exprimées en kilomètres). Chaque ligne de ce fichier est de la forme nom#distance. Le fichier ne contient ni espace, ni caractère accentué. Chaque nom de ville commence par une majuscule. De plus, les nombres n’ont jamais de zéro à gauche. Voici ci-contre les 5 premières lignes de ce fichier. F◦ 1+1=1 Abidjan#4900 Agadir#2300 Amman#3370 Amsterdam#430 Antalya#2700 Q-33: Comment afficher les lignes de toutes les villes contenant la lettre ’c’ ou la lettre ’C’ ? A◦ cat dist | egrep ’c’ | egrep ’C’ B◦ cat dist | egrep ’cC’ C◦ cat dist | egrep ’c.*C’ D◦ cat dist | egrep ’c|C’ E◦ cat dist | egrep ’c.*C|C.*c’ F◦ cat dist | sed ’s/./c/g’ | egrep ’c’ Q-34: Comment afficher les lignes de toutes les villes dont la distanceà Paris se termine par le chiffre 7 ? A◦ cat dist | egrep ’7’ B◦ cat dist | egrep ’#7’ C◦ cat dist | egrep ’#7$’ D◦ cat dist | egrep ’$7’ E◦ cat dist | egrep ’7$’ F◦ cat dist | egrep ’7^’ Q-35: A◦ C◦ E◦ Comment afficher les lignes de toutes les villes contenant au moins 2 voyelles ? cat dist | egrep ’[aeiouy]’ | egrep ’[aeiouy]’ B◦ cat dist | egrep ’2[aeiouy]’ cat dist | egrep ’[aeiouy][aeiouy]*’ D◦ cat dist | egrep ’2*[aeiouy]’ cat dist | egrep ’[aeiouy].*[aeiouy]’ F◦ cat dist | egrep -v ’[aeiouy]’ Algorithmique – 5 questions par Yann Vaxès Pour les 5 questions suivantes, le but consiste à deviner par quoi remplacer l’Instruction-Mystère du programme ci-contre afin d’obtenir le résultat demandé, ou inversement à déterminer le résultat obtenu lorsque l’on remplace l’Instruction-Mystère par une instruction déterminée. Nous supposons que T[ ] est un tableau de 5 entiers avec T[0]= -3, T[1]= 1, T[2]= 2, T[3]= -5, T[4]= 4. Soit k, val: entiers; val= 0; k= 0; Tant-Que (k <= 4) Faire Instruction-Mystère; k= k+1; Fin-Tant-Que; Afficher_Entier(val); Q-36: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par : val = val+T[k]; A◦ 7 B◦ −5 C◦ 6 D◦ −1 E◦ 4 F◦ 15 Q-37: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par : Si (T[k]>0) Alors val= val + T[k]; Sinon val= val-T[k]; A◦ 7 B◦ −5 C◦ 6 D◦ −1 E◦ 4 F◦ 15 Q-38: Que représente la valeur affichée si l’on remplace l’Instruction-Mystère par : Si (T[k]>0 et T[k]%2==0) Alors val= val+T[k]; A◦ 7 B◦ −5 C◦ 6 D◦ −1 E◦ 4 F◦ 15 Q-39: Par quoi faut-il remplacer l’Instruction-Mystère pour que la valeur affichée soit la somme de tous les éléments positifs impairs ? A◦ Si (T[k]<0 Et T[k]%2==0) Alors val= val+T[k]; B◦ Si (T[k]%2==0) Alors val= T[k]; C◦ Si (T[k]>0 Et T[k]%2==1) Alors val= val+T[k]; D◦ Si (T[k]%2==1) Alors val= val+T[k]; E◦ Si (T[k]<0 Et T[k]%2==0) Alors val= val+T[k]; F◦ Si (T[k]<0) Alors val= T[k]; Q-40: Si la valeur affichée est 8, quelle est l’Instruction-Mystère ? A◦ val= val-T[k]; B◦ val= val+T[k]; C◦ Si (T[k]>0) Alors val= val-T[k]; D◦ Si (T[k]<0) Alors val= val+T[k]; E◦ Si (T[k]<0) Alors val= val-T[k]; F◦ Si (T[k]>0) Alors val= val+T[k]; HTML – 5 questions par Mounir Kechid Q-41: Quel est le tableau correspondant au code suivant ? <table border=1> <tr> <td> 1 <td> 2 <td> 3 <tr> <td> x <td> y <td> z </table> A◦ 1 2 3 x y z D◦ 1 x 2 y 3 z B◦ x y z 1 2 3 E◦ x 1 y 2 z 3 C◦ 1 3 y 2 x z F◦ 1 2 3 x y z Q-42: Dans la balise <a>, l’attribut target=... permet de définir : A◦ l’URL de la page à charger. B◦ la fenêtre d’affichage de la page à charger. C◦ le texte cliquable généralement affiché en bleu souligné. D◦ le style d’affichage de l’ancre. E◦ le code javascript à exécuter lorsque le lien est cliqué. F◦ un endroit précis à l’intérieur d’une page. Q-43: Pour afficher un texte en italique quelle balise faut-il utiliser ? A◦ <b> B◦ <big> C◦ <strong> D◦ <i> E◦ <ita> Q-44: Quelle balise introduit une liste ordonnée : A◦ <ln> B◦ <ol> C◦ <listnum> D◦ <h1> F◦ <italic> E◦ <center> F◦ <hr> Q-45: ⋆⋆ Quelles balises ne nécessitent pas de la balise fermante </...> correspondante ? A◦ <hr> B◦ <ul> C◦ <h1> D◦ <a> E◦ <html> F◦ <img> Tutti Frutti – 9 questions par Régis Barbanchon N=$( cat fichier | egrep ’e+’ | wc -l ) Q-46: Que peut-on dire a priori à propos de N et M ? M=$( cat fichier | egrep ’e*e’ | wc -l ) A◦ N < M B◦ N ≤ M C◦ N = M D◦ N ≥ M E◦ N > M F◦ rien a priori N=$( cat fichier | egrep ’^e.*e$’ | wc -l ) Q-47: Que peut-on dire a priori à propos de N et M ? M=$( cat fichier | egrep ’e.*e’ | wc -l ) A◦ N < M B◦ N ≤ M C◦ N = M D◦ N ≥ M E◦ N > M F◦ rien a priori Q-48: ⋆⋆⋆ Si (a ∧ b) = 1, alors : A◦ (a ∨ b) = 0 B◦ (a ∨ b) = 1 C◦ (a ⊕ b) = 0 D◦ (a ⊕ b) = 1 E◦ a = 0 F◦ a = 1 Q-49: ⋆⋆⋆ Si (a ∨ b) = 0, alors : A◦ (a ∧ b) = 0 B◦ (a ∧ b) = 1 C◦ (a ⊕ b) = 0 D◦ (a ⊕ b) = 1 E◦ a = 0 F◦ a = 1 Q-50: L’expression ¬(¬a ∨ ¬b) est équivalente à : A◦ a ∨ b B◦ a ∧ b C◦ a ⊕ b D◦ ¬(a ∨ b) E◦ ¬(a ∧ b) F◦ ¬(a ⊕ b)