QUESTIONNAIRE 1999

[1] Que signifie IRQ ?
 Internet Relay Query
 Internet Ram Quota
 Interactive Regular Question
 Interrupt Request
[2] En informatique, quel est l'équivalent français de "prompt" ?
 Réplique
 Invite
 Barre des tâches
 Périphérique de saisie
[3] Laquelle de ces lignes est correcte en Pascal ?
 programme toto;
 program moules-frites;
 program _1_2_3_soleil;
 program Zw5jkdy;
Un identifiant en Pascal peut être composé de lettres, de chiffres et de '_', mais doit obligatoirement commencer par une lettre. Même si des compilateurs (comme TurboPascal ou gpc) acceptent les identifiants commençants par '_', ils ne sont pas corrects (d'ailleurs, l'aide en ligne de TP le précise et gpc émet des warnings).
[4] Qu'est-ce qu'un HUB ?
 Un système d'alimentation électrique
 Un concentrateur réseau
 Un système de reboot automatique lors des plantages
 Un port de communication rapide
[5] Que signifie LAN ?
 Local Area Network
 Lisp Analogic Server
 List of Authorized Names
 Link And Nuke
[6] En C, que déclare la ligne suivante ?
int *tab[10];

 Un pointeur sur un tableau de 10 entiers
 Un tableau de 10 pointeurs sur entier
 Un pointeur sur une fonction renvoyant 10 entiers
 Un tableau de 10 pointeurs sur des fonctions renvoyant des entiers
L'étoile représente une indirection (pointeur). Les crochets représentent une indexation (tableau). L'indexation est plus prioritaire que l'indirection sur tab, donc tab est un tableau de pointeurs sur entier (int*).
[7] Internet était à l'origine un réseau militaire. Quel était son nom ?
 Military Net
 Web Military Security Network (WMSN)
 Arpanet
 Intellignece Service Distributed Network (ISDN)
[8] En Visual Basic, dans quel cas l'expression str like "[1-4] [!a-b]" revoie t-elle vrai ?
 Si str se termine par "1a"
 Si str se termine par "7a"
 Si str se termine par "1c"
 Si str se termine par "7c"
"[1-4]" représente un caractère entre '1' et '4' ('1', '2', '3' ou '4'), et "[!a-b]" représente un caractère qui n'est pas entre 'a' et 'b' (donc différent de 'a' et 'b'). Seul "1c" remplit ces conditions.
[9] Quel est le nom du protocole de transport des e-mails ?
 t le nom du protocole de transport des e-mails ? SMTP
 NNTP
 FTP
 HTTP
SMTP: Simple Mail Transport Protocol (courier). NNTP: Network News Transfert Protocol (nouvelles). FTP: File Transfert Protocol (fichiers). HTTP: Hyper Text Transfert Protocol (hyper text).
[10] L'imprimante à sublimation thermique :
 imprime plus rapidement
 imprime plus économiquement
 n'imprime que sur du carton
 imprime en qualité photo
[11] Combien d'octets trouve t-on dans 1 Go ?
 1 000 000 000
 1 024 000 000
 1 048 567 000
 1 073 741 824
1 Ko = 1024 octets, 1 Mo = 1024 Ko, 1 Go = 1024 Mo, donc 1 Go = 1024 * 1024 * 1024 = 1073741824 octets.
[12] Laquelle de ces extentions n'est pas associée à un format graphique ?
 BMP
 PNG
 TGZ
 JPG
BMP -> Image bitmap non compressée. PNG -> Image compressée en PNG. TGZ -> Tar + Gzip, archivage et compression de fichiers. JPG -> Image compressée en JPEG.
[13] A quoi sert la commande ATZ sur un modem ?
 A activer la compression interne
 A désactiver la compression interne
 A raccrocher la ligne téléphonique
 A initialiser le modem
[14] En C, comment écrit-on plus simplement :
Z = ( a > b ? a : b ) + ( a <= b ? a : b );

 Z = a;
 Z = b;
 Z = a + b;
 Z = a - b;
Si a > b, le premier test renvoie a et le second b, sinon, le premier test renvoie b et le second a. Dans les deux cas, Z prend comme valeur a + b.
[15] Quelle norme vidéo n'existe pas ?
 MDA
 VGA
 CGA
 YGA
[16] En assembleur 8086, que signifie l'instruction nop ?
 No operand
 No optical
 No operation
 No plan
[17] Qu'est-ce que la parité 7 bits ?
 7 bits de parité pour 8 bits de donnée
 1 bit de parité pour 7 bits de donnée
 7 bits de parité pour 16 bits de donnée
 7 bits de parité pour 7 bits de donnée
On place les 8 bits de donnée dans un tableau de 2 lignes et 4 colonnes. Il y a ensuite 1 bit de parité pour chaque ligne, chaque colonne et pour tout le tableau. 2 + 4 + 1 = 7 bits de parité.
[18] Cherchez l'instrus :
 PGP
 RC5
 UUEncode
 RSA
UUEncode permet de code des données binaires sous forme de texte pour les faire passer par mail par exemple, le décodage peut être fait par n'importe qui. Les trois autres noms correspondent à des algorithmes de cryptage, le décryptage ne peut être effectué qu'à l'aide d'une clé.
[19] A quoi servent les instructions Pascal suivantes (n et res sont des entiers, n est positif au début) ?
res := 1;
while (n <> 0) do begin
res := res * n; n := n - 1;
end;

 A mettre n à 0
 A calculer la factorielle de n
 A multiplier res par n
 A rien
Le but de ces lignes est de calculer n!, mais il est vrai qu'elles mettent aussi n à 0. Nous avons donc accepté les deux réponses.
[20] Soit la fonctions C suivante :
char truc(char* mot)
{
while (*mot) mot++;
return (mot[-1]);
}
Que retourne truc("ORDI") ?

 'O'
 0
 'R'
 'I'
La fonction parcoure la chaine jusqu'au zéro terminal, et renvoie le caractère précédent grâce à l'indexation par -1, donc elle renvoie le dernier caractère de la chaine 'I'.
[21] Qu'est-ce qu'une API ?
 Une interface de programmation
 La touche pomme du clavier d'un Macintosh
 Une allocation pour les informaticiens
 Un nouveau type de mémoire
[22] Laquelle de ces technologies informatique existe ?
 Data loosing
 Data mining
 Data spooling
 Data discarding
[23] Qu'est-ce que FireWire ?
 Une sécurité pour les réseaux
 Un bus de communication
 Un dispositif d'alerte incendie
 Une pure invention de Prologin
[24] Un profiler permet de :
 voir la répartition du temps dans un programme
 débugger un programme lors de son exécution
 tracer les threads
 établir un profile utilisateur
[25] Trouver l'instrus :
 Trojan
 Boot sector
 Smiley
 TSR
Les trois autres termes entretiennent des relations avec les virus. (Nous avons appris par la suite, mais trop tard pour en tenir compte dans la correction, que Smiley est aussi le nom d'un Virus !).
[26] En C, un long mesure :
 2 octets
 4 octets
 8 octets
 cela dépend
Cela dépend de la plateforme sur laquelle on travaille.
[27] Qu'est-ce que PostScript ?
 Un langage de script pour IRC
 Un langage de description de page
 Un type d'imprimante
 Un traitement d'image
[28] Un ORB permet :
 de récupérer des images
 de conduire vite
 d'interconnecter des objets distants
 de sniffer un réseau
ORB: Object Request Broker.
[29] Qu'est-ce qu'un template ?
 Un patron de classe
 Une méthode itérative
 Un programme
 Une boucle d'attente
En C++, un template est une déclaration qui décris une classe et permet de générer automatiquement des classes à la compilation en fonctions de paramètres.
[30] L'extention MP3 est utilisée pour les fichiers au format :
 MPEG1 layer 3
 MPEG3 layer 3
 MPEG3 layer 1
 aucun des trois précédents
[31] Troff est un programme :
 de traitement de texte
 pour éteindre une machine à distance
 d'émulation de TRS80
 de calcul en clustering
Troff est un formateur de documents, donc un programme de traitement de texte (mais pas un éditeur de texte).
[32] Qu'est-ce qu'une adresse MAC ?
 L'adresse IP d'un iMac, dernier né des Macintosh
 L'adresse de la sous-couche MAC de la couche physique du modèle OSI
 L'adresse identifiant d'une carte réseau
 L'adresse de la carte mère en mémoire (Master Address Card)
MAC: Media Access Control. Il s'agit d'un identifiant théoriquement unique d'une carte réseau.
[33] EIFFEL est :
 un langage fonctionnel
 un langage de contraintes
 un langage impératif
 un langage objet
[34] La méthode producteur/consommateur est utilisée principalement :
 avec les threads
 avec ActiveX
 en COBOL/L++
 dans les gestionnaires de souris
[35] Qu'est-ce que la BlueBox ?
 Le nom de la seconde corbeille de MacOS (pour le tri sélectif des fichiers)
 La boite de compatibilité MacOS de Rhapsody
 Un surnom du nouvel iMac
 La packaging de Rhapsody
[36] Sur un écran 17'' à tube cathodique, que mesurent les 17 pouces ?
 La diagonale de la zone affichable
 La largeur du tube
 La profondeur du tube
 La diagonale du tube
[37] Que vaut x après la ligne C suivante ?
x = ( x = 1 ) + ( x = 7 ) * ( --x );

 42
 43
 50
 Cela dépend de x
Nous avons commis une erreur avec cette question, car la norme du C ne définit pas le résultat d'une telle ligne et chaque compilateur est libre d'interprèter la ligne dans le sens qui lui convient. Nous attendions 43 comme résultat (évaluation de gauche à droite), mais par malheur, chacune des solutions données est possible. Nous avons donc donné le point à tout le monde.
[38] En C, combien de fois le programme suivant affiche t-il "hello" ?
for (i = 0; ++i < 9; i++)
printf("hello");

 4
 5
 9
 10
i passe à 1 lors du test avant le 1er passage dans la boucle. Ensuite, i est incrémenté de 2 en 2 après le passage dans la boucle et juste avant le test de bouclage (pré-incrémentation). i atteint donc 9 après le 4ème passage et sort de la boucle (test strict).
[39] Que fait le programme Pascal suivant ?
var nil: real;
begin
readln(nil);
writeln(nil / 5);
end.

 Il lit un nombre au clavier et en affiche le cinquième
 Il affiche 0
 Il n'affiche rien
 Il ne compile pas
nil est un mot réservé du Pascal, on ne peut s'en servir comme identifiant.
[40] Que fait le programme Pascal suivant ?
var x: integer;
begin
x := 10;
while (x % 3 <> 1) do writeln(x + 1);
end.

 Il écrit '104%'
 Il ne fait rien
 Il écrit '1'
 Il ne compile pas
En Pascal, le modulo se note mod et non %.
[41] En C, quelle ligne doit-on rajouter à la définition suivante pour que t_list permette de gérer une ligne d'entiers ?
typedef struct s_list {
int elem;
} t_list;

 t_list* suivant;
 struct s_list* suivant;
 int* suivant;
 int suivant;
Il nous faut construire un stucture de liste chainée, nous avons donc besoin d'une référence vers l'élément suivant de la liste, donc un pointeur vers une autre instance de la structure (réponse 1 ou 2). Or, le type t_list n'est valide qu'après la fin de la déclaration de la structure, donc pas à l'intérieur.
[42] Sous MS-DOS, les deux premiers octets d'un éxecutable sont :
 "MZ"
 "ZM"
 "MZ" ou "ZM"
 ni l'un ni l'autre
[43] Qu'affiche le programme Perl suivant ?
$_ = "112";
$_ += $1 while (/(12)/);
print;

 113
 124
 136
 Aucun des précédent
La signification du programme est la suivante: ajouter 12 a $_ tant qu'il contient 12 comme sous-chaine, puis afficher $_. $_ prend donc 112, 124 puis 136 comme valeur. Sur les QCMs imprimés, il manquait un point-virgule donc l'exécution du programme produisait une erreur. Nous avons donc accepté la dernière réponse par courier.

Les partenaires grâce à qui Prologin peut exister :

OpenCS

Mandriva

Codes sources

AF83

QPAD

Bearstech

Université Pierre et Marie Curie

Exalead

Fabernovel

Silicon Sentier

GNU/Linux Magazine France

O'Reilly

Hexaglobe

Prologin 2008