Esercizi  -  11. I modelli cognitivi

 

ESERCIZIO 11.1

Riportiamo la descrizione di CCT della regola INSERT-SPACE-2 trattata nel Paragrafo 11.2.2:

(INSERT-SPACE-2

IF (AND (TEST-GOAL inserire spazio)

              (TEST-CURSOR %LINE %COL) )

THEN          (DO-KEYSTROKE “I”)

              (DO-KEYSTROKE SPACE)

              (DO-KEYSTROKE ESC)

              (DELETE-GOAL inserire spazio) ))

Questo procedimento è già proceduralizzato; cioè, la regola è quella di una persona esperta. Scrivete nuove regole per “neofiti” in cui le tre battute non siano proceduralizzate. Suggerimento: create regole separate per ogni tasto da premere e scopi adatti (per esempio, GET-INTO-INSERT-MODE) a farle scattare.

Risposta

   (INSERT-SPACE-BEGIN-SET-MODE
     IF (AND (TEST-GOAL inserire spazio)
         (TEST-CURSOR %LINE %COL)
         (TEST-NOTE in modalità di comando))
     THEN (  (ADD-GOAL entrare in modalità inserimento)))
           

   (INSERT-SPACE-END-SET-MODE
            IF (AND (TEST-GOAL inserire spazio)
         (TEST-GOAL entrare in modalità inserimento)
     THEN (  (DO-KEYSTROKE `I')
         (ADD-NOTE in modalità inserimento)
          (DELETE-GOAL entrare in modalità inserimento)))
           

   (INSERT-SPACE-DOIT
     IF (AND (TEST-GOAL inserire spazio)
         (TEST-NOTE in modalità inserimento)
         (TEST-CURSOR %LINE %COL))
     THEN (  (DO-KEYSTROKE SPACE)
         (ADD-GOAL entrare in modalità di comando)))
           

   (INSERT-SPACE-CLEAN-UP
     IF (AND (TEST-GOAL inserire spazio)
         (TEST-NOTE in modalità inserimento)
         (TEST-GOAL entrare in modalità di comando))
     THEN (  (DO-KEYSTROKE ESC)
         (DELETE-GOAL entrare in modalità di comando)
         (DELETE-GOAL inserire spazio)
         (DELETE-NOTE in modalità inserimento)
         (ADD-NOTE in modalità di comando)))

 

ESERCIZIO 11.2

Una delle ipotesi alla base del modello utente programmabile è che sia possibile fornire un algoritmo per descrivere il comportamento dell’utente nell’interazione con un sistema. Portando questa posizione all’estremo, scegliete un compito comune a un sistema interattivo che conoscete bene (per esempio, creare una colonna di numeri in un foglio elettronico e calcolarne la somma) e descrivete l’algoritmo necessario per eseguire questa operazione. Scrivete la pseudocodifica dell’algoritmo. Questo esercizio suggerisce qualche miglioramento per il sistema?

Risposta

Esercizio a risposta aperta