Université Aix-Marseille II Faculté des Sciences de Luminy Licence I – 1er Semestre Deuxième Session, Mercredi 20 Juin 2007 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 trois étoiles ⋆⋆⋆ peuvent avoir entre 1 et 3 bonne(s) réponse(s). • Toutes les autres questions (sans étoiles, donc) 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. Une ligne commençant par $ et se terminant par " indique une ligne tapée sous l’interpréteur de commandes. 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 (pour ceux qui en doutent : jusqu’à −2 points lors de la session de Janvier 2007). Code d’examen : 666 pour tout le monde. Exemple avec le numéro de carte 50338 (ce n’est qu’un exemple) : 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 Alexis Nasr Q-1: Soit une image de dimension 16 × 16 pixels. On représente la position d’un point par ses coordonnées cartésiennes (x, y), exprimées en binaire. Quelle est la taille minimale d’un mot mémoire permettant de représenter la position de tout point ? A◦ 2 bits B◦ 4 bits C◦ 8 bits D◦ 16 bits E◦ 32 bits F◦ 256 bits Q-2: Une polyligne est une suite de points dans cette image, dont la longueur est comprise entre 0 et 255 points. On représente une polyligne par une suite de coordonnées telles que définies plus haut, précédée par la longueur de la polyligne. On choisit là encore, une représentation binaire de taille minimale pour coder la longueur. Quel espace mémoire occupe une polyligne de 3 points ? A◦ 1 octet B◦ 2 octets C◦ 3 octets D◦ 4 octets E◦ 5 octets F◦ 6 octets Q-3: Si les bits d’une abscisse sont stockés sur les poids forts et les bits de l’ordonnée correspondante sont stockés sur les poids faibles à l’intérieur de chaque octet, alors parmi les séquences suivantes, laquelle correspond à la polyligne constituée des deux points (0, 0), (0, 4) ? A◦ % 00000000 00100000 00001000 B◦ % 00000000 00100000 00001000 C◦ % 00000010 00000000 00000100 D◦ % 00000010 00000000 01000000 E◦ % 00000100 00000000 00100000 F◦ % 00000100 00100000 00000000 Q-4: A quelle polyligne correspond le mot % 00000001 00001111 ? A◦ (0, 15) B◦ (1, 0), (15, 0) C◦ (0, 1), (0, 15) D◦ (15, 0) E◦ (1, 0), (0, 15) F◦ (0, 1), (15, 0) Q-5: ⋆⋆⋆ Parmi les séquences suivantes, lesquelles sont des représentations d’une polyligne ? A◦ % 00000000 B◦ % 00000001 C◦ % 11111111 D◦ % 00000000 00000001 E◦ % 00000001 00000000 F◦ % 00000100 00000000 11110000 Représentations des Nombres – 5 questions par Yann Vaxes Q-6: Quelle est le nombre signé dont la représentation en complément à 2 sur un octet est % 1010 1010 ? A◦ +96 B◦ −86 C◦ +76 D◦ −66 E◦ −106 F◦ +106 Q-7: Quels sont les 4 bits de poids faible du nombre signé +1936 représenté en complément à 2 sur 16 bits ? A◦ % 0001 B◦ % 0010 C◦ % 1111 D◦ % 0111 E◦ % 0000 F◦ % 0100 Q-8: Soit le nombre non signé suivant sur 8 bits : % 1011 1100. Quelle est son écriture octale ? A◦ #072 B◦ #173 C◦ #274 D◦ $072 E◦ $173 F◦ $274 Q-9: Quel nombre signé en complément à 2 sur 8 bits a ses 3 bits de poids forts valant % 100 ? A◦ +0 B◦ −0 C◦ +1 D◦ −1 E◦ −127 F◦ +127 Q-10: ⋆⋆⋆ Pour quelle(s) représentation(s) sur 8 bits l’inégalité % 0000 0000 ≤ % 1111 1111 est-elle vraie ? A◦ signée en complément à 2 B◦ signée en complément à 1 C◦ signée en valeur absolue+signe D◦ non signée E◦ aucune parmi celles citées Arithmétique des Ordinateurs – 5 questions par Jean-François Pique Q-11: ⋆⋆⋆ Une Unité Arithmétique et Logique représentant les nombres signés en complément à 2 effectue l’addition R= % 1111 0001 + % 0000 1111. Quels sont les états du Carry Flag et de l’Overflow Flag ? A◦ CF=0 B◦ CF=1 C◦ CF imprédictible D◦ OF=0 E◦ OF=1 F◦ OF imprédictible Q-12: ⋆⋆⋆ Quels sont les états du Sign flag et du Zero Flag après cette même addition ? A◦ SF=0 B◦ SF=1 C◦ SF imprédictible D◦ ZF=0 E◦ ZF=1 F◦ ZF imprédictible Q-13: ⋆⋆⋆ L’Unité Arithmétique et Logique effectue la soustraction R= % 0000 0000 - % 1111 1111. Quels sont les états du Carry Flag et de l’Overflow Flag ? A◦ CF=0 B◦ CF=1 C◦ CF imprédictible D◦ OF=0 E◦ OF=1 F◦ OF imprédictible Q-14: ⋆⋆⋆ Quels sont les états du Sign Flag et du Zero Flag après cette même soustraction ? A◦ SF=0 B◦ SF=1 C◦ SF imprédictible D◦ ZF=0 E◦ ZF=1 F◦ ZF imprédictible Q-15: ⋆⋆⋆ Après cette même soustraction, le résultat R obtenu est, selon l’interprétration : A◦ négatif correct, en signé B◦ négatif incorrect, en signé C◦ positif correct, en signé D◦ positif incorrect, en signé E◦ correct en non-signé F◦ incorrect en non-signé Logique, Circuits – 5 questions par Rémi Morin Les 5 questions suivantes portent sur les circuits ci-dessous. Chacun possède 3 entrées A, B, C, et 1 sortie S. A B C OR S A B XOR C CIRCUIT 1 XOR A S AND B OR S OR C CIRCUIT 2 CIRCUIT 3 Q-16: Dans le circuit 1, quelle est la valeur de S lorsque A = 0, B = 1 et C = 0 ? A◦ −2 B◦ −1 C◦ 0 D◦ 1 E◦ 2 F◦ 3 Q-17: Dans le circuit 2, quelle est la valeur de S lorsque A = 1, B = 1 et C = 0 ? A◦ −2 B◦ −1 C◦ 0 D◦ 1 E◦ 2 F◦ 3 Q-18: Dans le circuit 3, si C = 0, que doivent valoir A et B afin que S = 1 ? A◦ A = 0 et B = 0 B◦ A = 0 et B = 1 C◦ A = 1 et B = 0 D◦ A = 1 et B = 1 E◦ pas de solution. Q-19: ⋆⋆⋆ Dans le circuit 2, si C = 0, que doivent valoir A et B afin que S = 1 ? A◦ A = 0 et B = 0 B◦ A = 0 et B = 1 C◦ A = 1 et B = 0 D◦ A = 1 et B = 1 E◦ pas de solution. Q-20: Laquelle de ces formules est équivalente au circuit 1 ? A◦ S = (A ⊕ B) ∧ C B◦ S = A ⊕ (C ∨ B) C◦ S = (A ⊕ B) ∨ C D◦ S = A ∨ (C ⊕ B) E◦ aucune. Système de Fichiers Unix – 5 questions par Morgan Seston Q-21: A◦ C◦ E◦ Si le répertoire courant est /usr/bin, la séquence de commandes cd .. ; pwd efface le repertoire /usr et tout ce qu’il contient. B◦ affiche la chaı̂ne /usr/bin/.. efface le repertoire / et tout ce qu’il contient. D◦ affiche les fichiers contenus dans /usr déplace le repertoire bin dans votre répertoire-maison. F◦ affiche la chaı̂ne /usr Q-22: Si le repertoire courant est /usr, alors la commande mv toto A◦ . . . copie le contenu du répertoire /usr/toto dans / B◦ . . . affiche les noms des fichiers contenus dans /usr/toto mais pas les noms des répertoires. C◦ . . . affiche les noms des fichiers et des répertoires contenus dans /usr/toto D◦ . . . déplace /usr/toto dans le répertoire-maison. E◦ . . . crée le fichier vide toto dans le répertoire-maison. F◦ . . . efface /usr/toto seulement si c’est fichier. ~ Q-23: ⋆⋆⋆ Par défaut, si le prompt prend l’aspect du signe ’>’ A◦ . . . le nom de fichier demandé n’existe pas. B◦ . . . vous avez tapé une commande inconnue. C◦ . . . il est possible que vous ayez tapé sur la touche Entrée sans avoir fermé un guillemet. D◦ . . . il manque un argument à la commande saisie. E◦ . . . en tapant CTRL+C, vous pouvez récupérer votre prompt habituel. F◦ . . . cela signifie que l’ordinateur est en train d’effectuer des calculs. Q-24: ⋆⋆⋆ La commande rmdir toto A◦ . . . efface le repertoire toto dans le répertoire courant s’il est vide. B◦ . . . efface le répertoire courant, et tous ses sous-répertoires et fichiers. C◦ . . . change le répertoire courant en toto après l’avoir créé si nécessaire. D◦ . . . ne fait rien si le répertoire toto est non-vide. E◦ . . . efface les fichiers contenus dans toto si le répertoire toto existe déjà. F◦ . . . crée le répertoire toto s’il n’existe pas déjà. Q-25: ⋆⋆⋆ En supposant que tous les chemins ci-dessous sont valides, et que le répertoire courant est /usr/local, quel chemin permet d’atteindre le fichier /usr/local/doc/readme : A◦ /usr/local/bin/../doc/readme B◦ /usr/local/doc/readme C◦ /usr/../local/doc/readme D◦ /doc/readme E◦ /local/../doc/readme F◦ doc/readme Pipes et Filtres Unix – 5 questions par Mehdi Malik Q-26: On veut exécuter une commande et rediriger sa sortie standard à la suite d’un fichier sans perdre son contenu initial. Quelle syntaxe utiliser ? A◦ commande < fichier B◦ commande > fichier C◦ commande >> fichier D◦ commande ; fichier E◦ commande & fichier F◦ commande | fichier Pour les 4 questions suivantes, on considère un dictionnaire qui ne contient ni majuscules ni lettres accentuées, et dont un extrait est présenté ci-contre. Le format des lignes est : numero code /terme #categorie Il n’y a pas de blancs cachés en début ou fin de lignes, ni de de lignes vides ou blanches. Le fichier n’est pas affiché dans sa totalité (sept premières lignes seulement), Mais Il N’Existe Pas D’Autres Catégories que celles qui sont listées ici. $ 1 2 3 4 5 6 7 head -7 dict.txt " E0003689 /manger #verbe E0156980 /boire #verbe E0000324 /boisson #nom E0008974 /gentil #adjectif E0000010 /gentillesse #nom E0032145 /adjoindre #verbe E1234566 /adjoint #adjectif Q-27: ⋆⋆⋆ Comment afficher les termes de la catégorie des adjectifs ? A◦ cat dict.txt | cut -d’#’ -f1,2,3,4 B◦ cat dict.txt | fgrep ’adj’ C◦ cat dict.txt | fgrep ’#adjectif’ D◦ cat dict.txt | fgrep ’#adj’ E◦ cat dict.txt | cut -d’ ’ -f3 F◦ cat dict.txt | tail +4 Q-28: Comment afficher les 3 premiers A◦ cat dict.txt B◦ cat dict.txt C◦ cat dict.txt D◦ cat dict.txt E◦ cat dict.txt F◦ cat dict.txt termes de la catégorie des verbes ? | head -3 | fgrep ’verbe’ | head -4 | fgrep ’#verbe’ | cut -d’ ’ -f3 | head -3 | fgrep ’#verbe’ | fgrep ’#verbe’ | cut -d’ ’ -f3 | head -3 | cut -d’ ’ -f4 | fgrep ’#verbe’ | head -3 | cut -d’ ’ -f4 | fgrep ’#verbe’ Q-29: Qu’affiche la commande suivante: $ head -7 dict.txt | cut -d’ ’ -f2 | fgrep ’E0’ | wc -l " A◦ 0 B◦ 1 C◦ 2 D◦ 4 Q-30: Qu’affiche la commande suivante: $ head -7 dict.txt | fgrep ’1’ | cut -d’ ’ -f2 | sort " E0003689 E0156980 E0000010 E0156980 E0000010 E0032145 A◦ B◦ E0003689 C◦ E0000010 D◦ E0032145 E0156980 E0032145 E1234566 E1234566 E1234566 E◦ 6 E◦ E0000010 E0003689 E0032145 E0156980 E1234566 F◦ 7 F◦ E1234566 E0156980 E0032145 E0000010 Expressions Régulières sous Unix – 5 questions par Bertrand Estellon Q-31: Qu’affiche la commande : $ echo ’informatique’ | sed ’s/[aeiou]/-/g’ " A◦ i--o--a-i-ue B◦ -----------D◦ -nf-rm-t-q-E◦ i-formatique Q-32: La commande cat A◦ . . . affiche B◦ . . . affiche C◦ . . . affiche D◦ . . . affiche E◦ . . . affiche F◦ . . . affiche C◦ -nformatique F◦ aeiou felix.txt | egrep ’^2*2$’ ’2*2 = 4’. les lignes du fichier felix.txt ne contenant que des caractères ’2’. les fichiers du répertoire courant. les lignes du fichier felix.txt ne contenant pas le caractère ’2’. le nombre d’étoiles contenus dans le fichier felix.txt. le nombre de lignes du fichier felix.txt. Q-33: Qu’affiche la commande suivante : $ echo ’informatique’ | sed ’s/infor/auto/’ | sed ’s/atique/obile/’ " A◦ informatique B◦ automatique C◦ mobile D◦ auto E◦ automobile F◦ calanque Pour les deux questions suivantes, on considère l’exécution des commandes ci-contre, ainsi que leurs sorties. Les fichiers sont réputés sans ligne blanches ou vides, et sans blancs en fin ou début de lignes. $ cat mots.txt " ambulance branche abstinence abracadabrantesque abjecte anecdote ambacte Q-34: Qu’affiche la commande suivante : $ cat mots.txt | egrep ’^a.*c.e$’ | wc -l " A◦ 1 B◦ 2 C◦ 3 D◦ 4 $ cat fruits.txt " fraise pomme groseille raisin poire abricot E◦ 5 F◦ 6 Q-35: ⋆⋆⋆ Parmi ces lignes, lesquelles sont présentes dans la sortie de la commande suivante : $ cat fruits.txt | egrep ’^p.*e$’ " A◦ fraise B◦ pomme C◦ groseille D◦ raisin E◦ poire F◦ abricot Image-Magick sous Bash Unix – 5 questions par Régis Barbanchon Pour les questions suivantes, on considère l’image transparente ci-contre, nommée tronche.png et de dimension 50 × 80 pixels, ainsi que le script suivant nommé magick.sh. A chaque fois, le but est de trouver quelle image res.png est générée parmi les 12 images étiquetées par des lettres ci-dessous (noircir exactement les lettres de l’étiquette pour répondre). $ cat magick.sh " convert -size 130x100 xc:gray convert fond.png tronche.png convert res.png tronche.png if (( $3 == 1 )); then convert res.png tronche.png fi fond.png -geometry $1 -composite res.png -geometry $2 -composite res.png -geometry $4 -composite res.png image A image B image C image D image E image F image AB image BC image CD image DE image EF image ABC Q-36: ⋆⋆⋆ $ bash magick.sh A◦ B◦ +10+10 +40+10 Q-37: ⋆⋆⋆ $ bash magick.sh A◦ B◦ +40+10 +10+10 Q-38: ⋆⋆⋆ $ bash magick.sh A◦ B◦ +10+10 +40+10 Q-39: ⋆⋆⋆ $ bash magick.sh A◦ B◦ +10+10 +70+10 Q-40: ⋆⋆⋆ $ bash magick.sh A◦ B◦ +70+10 +10+10 C◦ C◦ C◦ C◦ C◦ 1 +70+10 " 1 +70+10 " 1 +10+10 " 0 +40+10 " 0 +40+10 " D◦ D◦ D◦ D◦ D◦ E◦ E◦ E◦ E◦ E◦ F◦ F◦ F◦ F◦ F◦ Algorithmique – 5 questions par Karim Nouioua 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 tab[ ] est un tableau de cinq entiers positifs. Soit k: entier; k= 0; Tant-Que (k <= 4) Faire Instruction-Mystère; k= k + 1; Fin-Tant-Que; Q-41: Le programme, si l’on remplace son Instruction-Mystère par : tab[k]= tab[k] * 2 ; A◦ multiplie par 2 la valeur de chaque case. B◦ divise par 2 la valeur de chaque case. C◦ calcule le produit des valeurs des cases. D◦ calcule la somme des carrés des valeurs des cases. E◦ laisse la valeur de chaque case inchangée. F◦ remplace la valeur de chaque case par son bit de parité. Q-42: Le programme, si l’on remplace son Instruction-Mystère Si ((k % 2) == 0) Alors tab[k]= tab[k] / 2; Fin-Si A◦ multiplie par 2 la valeur des cases d’index pair. B◦ C◦ multiplie par 2 la valeur des cases d’index impair. D◦ E◦ laisse la valeur de chaque case inchangée. F◦ par : divise par 2 la valeur des cases d’index impair. divise par 2 la valeur des cases d’index pair. ajoute 2 à la valeur de chaque case. Q-43: ⋆⋆⋆ Le programme, si l’on remplace son Instruction-Mystère par : Si ((tab[k] % 2) == 0) Alors tab[k]= tab[k] + tab[k]; Fin-Si A◦ multiplie par 2 les valeurs paires. B◦ divise par 2 les valeurs de chaque case d’index pair. C◦ multiplie par 2 les valeurs impaires. D◦ divise par 2 les valeurs de chaque case d’index impair. E◦ laisse la valeur de chaque case inchangée. F◦ Ajoute tab[k] à la valeur de chaque case d’index k. Q-44: ⋆⋆⋆ Le programme, si l’on remplace son Instruction-Mystère par : Si ((tab[k] % 2) == 0) Alors tab[k]= tab[k] + 2; Fin-Si A◦ ajoute 2 aux valeurs paires. B◦ ajoute 2 à la valeur de chaque case d’index pair. C◦ ajoute 2 aux valeurs impaires. D◦ ajoute 2 à la valeur de chaque case d’index impair. E◦ ne change pas les valeurs impaires. F◦ ne change pas la valeur des cases d’index impair. Q-45: Le programme, si l’on remplace son Instruction-Mystère par : Si ((tab[k] % 2) == 0 ou tab[k] % 2 == 1) Alors tab[k]= tab[k] + 1; Fin-Si A◦ modifie la valeur des cases d’index pair uniquement. B◦ modifie les valeurs paires uniquement. C◦ modifie la valeur des cases d’index impair uniquement. D◦ modifie les valeurs impaires uniquement. E◦ modifie la valeur de chaque case. F◦ laisse la valeur de chaque case inchangée. HTML – 5 questions par Jean-Luc Mari Q-46: Le terme hypertexte désigne : A◦ un texte possédant un grand nombre de caractères différents. C◦ un texte comportant des références à d’autres éléments. E◦ un texte dont le contenu est d’un niveau scientifique élevé. Q-47: A◦ C◦ E◦ Dans une page HTML, un pointeur permet de : Identifier l’auteur de la page Déterminer l’emplacement de la machine que l’on consulte Faire apparaı̂tre un popup Q-48: En HTML, quel balise permet de retourner à la ligne ? A◦ <li> B◦ <tr> C◦ <br> D◦ <hr> B◦ un texte contenant des hyper-espaces. D◦ un texte avec beaucoup de figures. F◦ une commande vocale de Goldorak. B◦ Télécharger une nouvelle page D◦ Bloquer le chargement d’une page F◦ Envoyer un formulaire E◦ <h1> F◦ <h2> Q-49: L’attribut de la balise <a> définissant l’URL d’un lien hypertexte est : A◦ location B◦ href C◦ name D◦ http E◦ url F◦ html Q-50: Un méta-tag doit se placer : A◦ dans l’entête du document HTML. C◦ dans le sujet du document HTML. E◦ dans le complément du document HTML. B◦ dans le corps du document HTML. D◦ dans le verbe du document HTML. F◦ dans un méta-WC de notre méta-fac.