lundi 21 janvier 2008

Le corrigé du DS de 2008

Vous le trouverez ici. (avec correction de la correction. x : 0.. n , j'ai confondu avec le nombre d'entiers que l'on peut implanter sur le boulier (il faut faire -1 au chiffre fourni))
La feuille de réponse, vous la trouverez ici.

Le sujet sans typo, vous le trouverez ici.
... demain

Et ce message d'un étudiant ... et ma réponse :

 Bonjour,
>
> Pour la question 10 (1.5.10), vous indiquez
comme réponse la numero 4 soit

> : prof <: profQuiEstT itulaireDe~[{maitrise}]. Néemmoins, lors du DS,
> j'ai répondu 3 : prof = profQuiEstTitulaireDe
~[{maitrise}], et elle me

> semble aussi valide. En effet
profQuiEstT itulaireDe : prof -->

> TYPEdeDIPLOME. Or tout les profs
sont titulaires d'une maitrise. donc

> "prof = profQuiEstT itulaireDe~
[{maitrise}]" ou "prof <: profQuiEstT

> itulaireDe~[{maitrise}]" (car ce
n'est pas une inclusion stricte).

> Ais-je tors ? Si oui, ou se situe mon erreur ?

=================
J'ai mis comme réponse celle qui
correspondait au mieux à l'énoncé en
langage naturel. Certes 4 et l'extrait
d'invariant que vous considérez =>
3.
Vous n'avez pas d'erreur. C'est juste
une question d'interprétation de la
question. Donc 1/1 pour vous !
C'est bien les specs formelles !
P.S. : à moins que ce soit une co(q)uille,
attention : tors veut dire
tordu, avoir tord ...
J'ai, ai-je ...
Néanmoins (vient de néant moins)
=================
>
> Autre question, dans le corrigé,
pour le boulier vous dites que Mon Entier

> : 0..n avec n=1296. Or le chiffre
le plus grand est 5555 en base 6

> soit 1296 en base 10 (il se trouve
que j'ai mis 1410 dans le DS à cause

> d'une faute de frappe sur calculatrice
: j'ai écrit 5*5*6+5*6^2+5*6^3 au

> lieu de 5+5*6+5*6^2+5*6^3, mais le
bon résultat est 1295). Donc n=1296 ou

> n=1295 ?
>
Oh ! une calculatrice pour ça. Le crayon
et le papier évite les fautes de frappe.

Vous avez raison. Quand
j'ai rédigé le corrigé j'ai effectivement
eu dans la tête le nombre
d'entiers et non le n de x : 0 .. n.
J'ai changé le sujet par rapport à la
question posée en amphi et je n'ai pas
fait attention.
Attention ! si je vous réponds
bool(n=1296 or n=1295) = TRUE ...
La réponse bonne est n= 1295,
soit avec le 0, 1296 nombres. 1296
étant écrit ici en base dix.
========================
J'ai écrit ce matin note/20 au tableau,
20 étant écrit en base dix !

> Dernière question. Le barème du devoir
est sur 35. Desirez vous récupérer

> les note sur 35 ou preferez vous que
nous la ramenions sur 20 ?

>
> Je vous remercie
================
C'est moi qui vous remercie pour votre
courriel. D'autant plus que je
n'ai pas imprimé le corrigé (et donc
relu sur papier) que je vous ai
adressé ...


Et ce message d'un autre étudiant (je ne
fournis pas les noms car il s'est agi de
courriels "privés") :

1.2
=> Vous dites si c'est un prédicat,
une expression ou une substitution
dans les cas où les 'formules' sont mal
formées or vous avez dit de ne
faire que les bien formées.
====================
Vous avez raison. J'ai mis les * car certains
étudiants (mon expérience des années passées)
ne font pas la différence entre = et :=.
Mais pour vos réponses, vous deviez respecter
le sujet.
=======================
=> bool(card(var1) = card(var2)) vous dites
que c'est un prédicat, mais je
pense que c'est une expression car bool()
transforme un prédicat en
expression.
=====================
Oh ! je n'aurais pas dû regarder/écouter Arte
en tapant le corrigé !
Bien sûr, vous avez raison, j'ai loupé le bool !
Ca n'a pas de sens que de vouloir prouver
TRUE, que de vouloir prouver FALSE.
TRUE, FALSE sont des expressions (ou termes)
=====================
1.5.8
=> Vous donnez la réponse 1 comme bonne :
ensembledesetudiantsdelanationormandie ==
nationDOrigine~[{normandie}]
Or ran(nationDOrigine~) n'est pas un
ensemble d'étudiant !
J'ai répondu la question 5 personellement
car la composition fonctionne,
on met bien [{normandie}] et que
ran(nationDOrigine~;origineEtudiant~))
<: ETUDIANT =================
Oh ! c'est une erreur de frappe. Vous avez raison.
Bien sûr j'ai rédigé la réponse 5 pas par hasard !
==================
2.2 => Vous donnez comme plus faible précondition :

et : ETUDIANT & et /: dom(aPourCollege) &
coll : COLLEGE & et : Coll

Je vois quelques erreurs, premièrement :
et : Coll (un étudiant appartient
à un ensemble Coll qui n'est même pas
un ensemble.

et : ETUDIANT n'est pas assez fort comme
précondition car
dom(aPourCollege) <: etud et non pas dans ETUDIANT.
coll : COLLEGE, même remarque ran(aPourCollege)
<: college et non pas dans COLLEGE.
J'ai donc mis : et : etud & coll :
college & et /: dom(aPourCollege)
======================
Oh ! encore une faute de frappe.
C'est bien votre réponse que j'ai
sur "mon corrigé" papier. La question était
toute simple. Pour respecter la foncion,
il fallait s'assurer que et /: dom(aPourCollege)
et comme l'ensemble source était etud,
il fallait que et : etud et comme l'ensemble
cible était college, il fallait que coll :
college. En effet, il ne fallait pas modifier
ce qui était après le THEN. En fait, j'ai
donné une opération minimale.

===========================
Au sujet de la question 7.2
Plusieurs étudiants m'ont demandé pendant le
DS. "Où est définie r5 ?"
Pour utiliser la notation B, je devais nommer
la partie gauche de : (s1 * s2) +-> s2,
je l'ai nommé r5. Je vous donnais ainsi la
réponse à la question 7.1.1 ! Je ne pouvais quand
même pas mettre r1 à la place de r5 !
Le typage de r5 est respecté par la relation
r1.
========================
P.S. 1 Si vous m'adressez un courriel
avec un texte mathématique, utilisez
la notation ASCII de B. J'ai dû
interpréter le message car mon correspondant
a utilisé une notation inconnue pour
les symboles mathématiques.
P.S. 2 Si
un collègue enseignant veut
les sources Latex de ce sujet,
qu'il me les demande.

Aucun commentaire: