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)))