• Aucun résultat trouvé

Grammaire III (4pts)

161: Théorie des langages et compilation Contrôle terminal - session 1

EXERCICE 6. Grammaire III (4pts)

Une grammaire est dite sans production vide s'il n'existe aucune règle de production de la forme X-+ E X est un non-terminal.

l. On considère la grammaire S -+ aSbS

I

bS aS

I

E

Donner une grammaire définissant le même langage (ou chaîne vide) sans production vide.

2. Donner un algorithme permettant de construire l'ensemble

Ve=

{XIX-++ 1:} où X est un non-terminal.

3. Donner un algorithme pour convertir une grammaire quelconque en une grammaire sans production vide.

4. Appliquer l'algorithme à la grammaire:

A -+ aBC I CD I DE B -+ BbB I E

e

-+ bC ID D -+ aCblE

s

-+ bE I E

T11in ')()1 R ')

L-:, S\ 1

162, Interface homme-machine

23 mai 2018

La précision et la clarté dc votre rédaction sont fondamentales. Chaque ré- ponse doit être accompagnée d'une fustificntion, darn, le cas contraire elle sera purement et simplement ignorée. Le barème est donné à titre indicatif.

Durée 2 h.

Fichier Modifications Format

,.ceci est un essai de texte ... j ou peut utiliser les widgets combobox, entry ou radiobutton. Donner les avantagl1s et les ìncouvénìents de chacun.

a.

[1,5 pts] En vous reposant sur les critères d'ergonomie (cohérence, concision, strub- turation des activités, flexibilité, retour d'informations et gestion des erreurs ( !)I , donner irois règles pratiques de conception à appliquer pour los messages d'erre·J.

4. ll,5 pts] Dans un formulaire certaines informations sont uëcessaìres, d'autres info¡·- mations sont volontaires. Comment peut-ou indiquer à l'utilisateur qu'il doit remp r seulement certains champs et peut eu ignorer d'autres '! Donner plusieurs solutio s ct indiquer, en la justifiant, edle qui semble plus adaptée.

Exercice 2.

13

pts] Modélisation MVC

Décrire le modèle, la vue et le contrôleur du widget Menu.

Exercice 3.

14

pts] Vue d'une fenêtre <l'éditeur de texte.

l.

12

pts] Citer au moins quatre défauts ergonomiques de l'interface de l'applicatidu présentée ci-dessous.

2. [2 pts] Réorganiser les menus (sans ajouter de nouvelles fonctionnalités).

·5 ((

~ ~

_Fichi!_] Modifications

j

Format j

: Quitter ctrl-A1 [ .;Gras

Nous considérons un dialogue interactif simple qui permet à un utilisateur d'augmen- ter ou de diminuer la température de 5 degré Celsius, dans un intervalle compris entre O et 30 º C, grâce à deux boutons et de remettre la température à zéro ou bien de saisir directement la température souhaitée. La température est affichée sous la forme d'une courbe montrant l'évolution.

l. [3 pts] Donner le code Python, qui s'appuie sur le module tkìnter, permettant la

création et l'affichage initial de la fenêtre de dialogue ci-dessous. On ne demande pas

le code permettant la mise en œuvre fonctionnelle de ce dialogue mais uniquement

ce qui permet son affichage.

temp

2

2. [2 pts] Identifier chaque composant d'interface de la fenêtre de dialogue qui nécessite la mise en place d'un binding et donner explicitement chaque évènement pris en compte. On ne demande pas de coder les bindings.

3.

12

pts] Donner le code Python qui permet de saisir au clavier la température désirée en faisant, toute vérification utile.

'l..~

L3 S1

C)

162, Interface homme-machine 28 juin 2018

La précision et la clarté de votre rédaction sont fondamentales. Chaque ré- ponse doit être accompagnée d'une justification, dans le cas contraire elle sera purement et simplement ignorée. Le barème est donné à titre indicatif.

Durée 2 h.

Exercice l.

16

pts! Interaction et ergonomie

l.

Il

pt¡ Les retours d'information sonores présentent des intérêts et des inconvénients.

Donner un point positif et un point négatif de l'usage de retour d'information sonore clans une interface.

2. [2 pts! Considérons la tâche ele composition d'un numéro sur un téléphone à touches sans écran. Citer cieux propriétés ergonomiques que ce système transgresse. Pour chacune eles cieux propriétés, justifier votre réponse et proposer une solution pour remédier au problème identifié.

3. ¡;¡ pts] Pour chacun des styles d'interaction suivant, donner un point positif ou négatif en le justifiant :

(1) langage ele commande, (2) interface à base de formulaire, (:ì) interface à base ele question-réponse, (4) interface à base ele menu,

(5) interface à manipulation directe, (fi) interface ele réalité virtuelle.

Exercice 2.

13

pts] l\loclèle Keystroke.

À votre avis, quelle est la méthode la plus rapide pour effacer une partie ele texte sons un éditeur standard. Trois techniques sont a priori envisageables : soit vous vous placez à la fin du texte à supprimer et vous appuyez autant ele fois que nécessaire la touche ele suppression (su ppr), soit vous sélectionnez l'ensemble du texte indésirable à supprimer avant d'appuyer (une fois) cette touche, enfin, une fois le texte sélectionné, vous pouvez sélectionner l'entrée Supprimer du menu Édition ele la barre ele menus.

(1) En vous appuyant sur le modele Keystroke, estimez le temps nécessaire pour la suppression cl 'un texte ele 3 caractères adjacents.

(2) Faites ele même pour une suppression ele 10 caractères adjacents.

(:ì) Les résultats obtenus sont-ils intuitifs? Quels sont les limites ele ces calculs?

Remarque: l'exercice peut être partiellement solutionné sans s'appuyer sur le modèle Keystroke,

Exercice 3. [4 pts] Vue d'une fenêtre ele dialogue

4. [2 pts] Donner le code Python, qui inclue le modulo tkinter, permettant la création et l'affichage <le la fenêtre de dialogue ci-dessous. On ne demande pas le code permettant la mise en œuvre fonctionnelle ele ce dialogue mais uniquement ce qui permet son affichage.

5. [2 pts] Identifier chaque composant d'interface de la fenêtre de dialogue ci-dessous qui nécessite la mise en place d'un binding et donner explicitement chaque èvènernent pris en compte. On ne demande pas de coder les bindings.

l:'l ·,, ·: .·--~-:\:_J;..:_Coutèúr,, ·,, ·-.~,,_it~{-.

Exercice 4. /7 pts] Conception ergonomique

On demande ele concevoir la version 2.0 d'un agenda électronique. La conception de la version 1 est donnée et on demande ele critiquer et d'améliorer les solutions proposées.

Cet agenda est destiné à une population d'utilisateurs allant du novice à l'expert.

A nalyso de la tâche

- fixer un RDV

(1) appeler la commande créer,

(2) spécifier le moment du RDV : spécifier 1111 mois puis un jour puis une heure clans la journée.

(:1) saisir le texte décrivant IP RDV.

- supprimer un RDV

(1) appeler la corn mande supprimer,

(2) spécifier le moment du RDV : spécifier 1111 mois puis un jour puis 11nc1 heure clans la journée.

(:ì) valider la suppression.

'2-~

'2

consulter uu jour

(1) appeler la commande consulter

(2) spécifier le jour du RDV : spécifier uu jour puis un mois.

Critiquer l'analyse de tâche décrit pour la version l. Pour cela:

(1) s'appuyer sur des critères d'ergot1omie non vérifiés par l'analyse de tâche, (2) identifier les concepts (correspoudaut à des profils d'utilisateurs) 11011 présents

dans I 'analyse,

(3) identifier des activités de l'utilisateur impossibles selon cette analyse (s'appuyer pour cela sur un scénario).

3()

Examen 163

Documents relatifs