[Demi-finale 2012] Restaurant : énoncé ambigu ?

Bonjour

A propos du sujet Restaurant dans Demi-finale 2012, j'ai un doute sur comment interpréter l'énoncé.

Si le menu est ab*bc et si la commande est abbbc, quelle est la réponse attendue ? Si b* est parsé comme bbb alors la réponse attendue est 4. Si b* est parsé comme bb alors la réponse attendue est 5. L'énoncé est ambigu car il n'est pas indiqué si le quantificateur * est "vorace" (1er cas) ou non (2ème cas). Évidemment, le mieux serait qu'aucun menu ne contienne un motif du genre x*x mais l'énoncé ne le dit pas.

EDIT coquille

Salut,

L'énoncé n'est pas ambigu. Dans le cas d'un menu ab*bc, si la commande est abbbc, le client aura mangé 5 plats avant de sortir du menu. * signifie "autant de plats que l'on veut (y compris 0)".

Merci de la réponse.

Toutefois, je persiste à considérer que l'énoncé est peu clair : l'usage que vous faites du symbole * ("à volonté") est identique à celui du quantificateur * des expressions régulières (Perl, sed, etc) mais tous ces langages prennent bien la précaution de signaler dans leur doc que ce quantificateur est, par défaut , vorace ("greedy") et sans cette précision l'interprétation de l'opérateur * est ambiguë.

Au-delà de ma question, les exemples ici sont plutôt mal choisis puisque aucun n'illustre clairement la notion de répétition (répéter sous-entend usuellement "au moins deux") : dans aucun des exemples, le plat en * du menu de joseph marchand n'est associé à une répétition de ce plat dans la commande du client. L'exemple 2 est quasi redondant avec l'exemple 1 alors que si cet exemple avait été :

7
8
abc*abc
abccccac

la notion de répétition aurait été mieux illustrée.

Il faut bien perdre un peu le lecteur !

Personnellement, l'énoncé me paraît très clair. C'est à toi d'envisager toutes les possibilités lorsque rien n'est précisé.

Répondre au sujet

Vous devez vous enregistrer ou vous connecter pour poster des messages.