[Bda] QCM Prologin

skaya@yoda.isnpro.com skaya@yoda.isnpro.com
Thu, 04 Jan 2001 01:01:22 +0100 (CET)


bonjour,

quelques remarques sur le QCM Prologin 2001...

question 6 (polymorphisme) : c'est à la fois une propriété
de virus (réplication avec un code binaire différent, mais
aux memes effets, par insertion d'instructions inutiles ou
réagencement de séquences d'instructions par exemple), un
concept de programmation objet (choix de la méthode appelée
par rapport au type d'un ou des arguments), ... et un sort
de warcraft II. Or, le QCM annonce "toute question a une et
seulement une réponse valide".

la question 9 me semble douteuse. sans etre un "language lawyer"
en ce qui concerne l'ada, il me semble qu'ada est fortement
typé tout en permettant des types relachés (possibilité de
définir une instance d'après un type générique sans forcer
immédiatement le type exact) ; ada possède bien un type 
référence (access), ada propose /un/ (non pas /le/) paradigme
de programmation générique. enfin, est-il plus évolué que le C :
question un peu subjective mais on serait tenté de répondre oui.
aucune réponse n'est définitivement satisfaisante.

quant au weafle thread, il s'agit d'une faute d'orthographe.

question 19: (generational GC) je suppose que la réponse 
souhaitée est la première (séparation du tas en générations), 
mais on pourrait aussi condidérer la 4è (pose des problème
de localité de référence), pour deux motifs : nécessiter
d'utiliser des handles et non plus des simples pointeurs
(à cause de la relocalisation par le GC), et problèmes
éventuels en multi-thread (qui complique le travail du GC,
toujours à cause de la relocalisation).

ensuite, concernant la partie programmation:

question 8 (complexité n~log(n)) : on parle éventuellement
d'une complexité n*log(n) ou n/log(n), mais n~log(n) ... 
d'autre part, on ne précise pas s'il s'agit d'une complexité
temps ou mémoire. à moins d'accepter cet one-liner :
int main(int c,char**v) { return sleep (c*log(c)); }

question 9 : il y a une stratégie gagnante pour un joueur,
pas forcément celui qui commence (démonstration :
probablement en se ramenant au jeu de Nim), mais je ne vois
pas de stratégie gloutonne simple (du moins pas en 10 minutes -
exemple éliminant la stratégie gloutonne basique : 1 3 9 2), 
demande-t-on  vraiment une recherche de complexité temps 
ou mémoire considérable? (n<100, mais peut-on aller jusqu'à 
considérer n ~= 10 ?)

je ne pense pas me représenter cette année au concours (j'ai 
été déçu par le manque d'organisation l'an dernier - pour
les participants qui voulaient programmer en java ou caml), 
par contre je suis disposé à filer un coup de main pour
l'organisation cette année, en particulier pendant la finale.

bon courage en tout cas pour cette année!

--------------------------------------------
Fortune and love befriend the bold.
                -- Ovid