La comunicazione uomo … macchina
ACQUISISCI l’infinito del verbo
CALCOLA la radice del verbo
SCRIVI la radice del verbo
?
Per comunicare con un esecutore meccanico
bisogna
rispettare la rigidità del suo linguaggio
Per inquadrare il problema è opportuno:
pensare alla comunicazione umana …
pensare a come ci facciamo capire …
pensare al significato delle parole …
Cilindro
Figura geometrica che si può
ottenere facendo ruotare un
rettangolo intorno al suo asse
rettangolo
Quadrilatero con tutti gli angoli retti
Formato da quattro segmenti
segmento
Insieme di punti di una retta compresi
tra due suoi punto
punti dati
Ente fondamentale della
geometria il cui significato
si ritiene noto
Cilindro
Figura geometrica che si può
ottenere facendo ruotare un
rettangolo intorno al suo asse
rettangolo
Quadrilatero con tutti gli angoli retti
Formato da quattro segmenti
segmento
Insieme di punti di una retta compresi
tra due suoi punti dati
Ente primitivo della geometria
Cilindro
Figura geometrica che si può
ottenere facendo ruotare un
rettangolo intorno al suo asse
rettangolo
Quadrilatero con tutti gli angolo
angoli retti
Parte di un piano compresa tra due semirette
che escono da uno stesso punto
E così via …..
Simboli non terminali
Primitive
ILerettangoli
forme arrotondate
rappresentano
rappresentano
parole il cuiparole
significato
il cui
deve
significato
essereèprecisato
noto
?
Torniamo al nostro problema iniziale:
insegnare ad un esecutore meccanico
il tempo indicativo presente
di un verbo della prima coniugazione
Acquisisci verbo
Scrivi ‘egli’, la radice,’a’
Calcola la radice
Scrivi ‘noi’, la radice,’iamo’
Scrivi ‘io’, la radice,’o’
Scrivi ‘voi’, la radice,’ate’
Scrivi ‘essi’, la radice,’ano’
Scrivi ‘tu’, la radice,’i’
?
Per comunicare con un esecutore
bisogna
rispettare la rigidità del suo linguaggio
In altre parole: la comunicazione verso l’esecutore
dovrà far uso solo di primitive
Esistono delle carte sintattiche che ci
consentono di individuare le primitive di tutti i
termini della comunicazione verso l’esecutore
Comunicare con un esecutore: il linguaggio PASCAL
Program
identificatore
;
variabili
;
istruzione
.
Il nome
del programma
Per
fare quanto
gli è richiesto l’esecutore predispone le
zone di memoria necessarie:
nel
nostrodelle
casotransizioni
deve ricordare
il valore
“verbo”
e di
Si tratta
indicate
nella di
rete
di Petri
“radice”.
scritte in una forma che l’esecutore può capire
Predisporrà, conseguentemente, due locazioni di memoria,
di nome verbo e radice, in cui registrerà quanto gli sarà
comunicato.
Diagrammi sintattici relativi alla comunicazione
dell’algoritmo di coniugazione dei verbi
Lo stato
attuale è
marcato
Acquisisci verbo
Il verbo è
stato
acquisito
Scrivi ‘egli’, la radice,’a’
Calcola la radice
Scrivi ‘noi’, la radice,’iamo’
La radice è
stata
calcolata
Scrivi ‘io’, la radice,’o’
Scrivi ‘voi’, la radice,’ate’
Scrivi ‘essi’, la radice,’ano’
Scrivi ‘tu’, la radice,’i’
IL programma PASCAL
Program
identificatore
;
variabili
;
PROGRAM
Si tratta di una
primitiva: l’esecutore
ne capisce il significato
istruzione
.
IL programma PASCAL
Program
identificatore
;
variabili
;
PROGRAM
carattere
carattere
istruzione
p r i mo
.
IL programma PASCAL
Program
;
identificatore
,
VAR
identificatore
STRING
variabili
;
PROGRAM
:
istruzione
p r i mo
.
;
VAR verbo , radice : STRING;
IL programma PASCAL
;
identificatore
Program
variabili
,
begin
;
PROGRAM
istruzione
istruzione
p r i mo
(
identificatore
;
VAR verbo , radice : STRING;
END
BEGIN
READLN ( verbo )
readln
.
)
Acquisisci verbo
IL programma PASCAL
Program
identificatore
;
variabili
;
begin
PROGRAM
istruzione
identificatore
identificatore
;
:=
,
1
ultimo char da copiare
p r i mo
.
;
VAR verbo , radice : STRING;
END
(
COPY
istruzione
,
)
Calcola la radice
BEGIN
READLN ( verbo ) ;
radice := COPY( verbo ,1,
LENGTH(verbo)-3 )
Si Si
cominciano
calcola laa
copiare i caratteri
lunghezza
del verboae
partire
dal primo
si sottrae
3
IL programma PASCAL
Program
identificatore
;
variabili
;
begin
WRITELN
variabile
PROGRAM
istruzione
(
costante
istruzione
p r i mo
.
;
VAR verbo , radice : STRING;
END
costante
,
;
,
)
Scrivi ‘io’, la radice,’o’
BEGIN
READLN ( verbo ) ;
radice := COPY( verbo ,1,
LENGTH(verbo)-3) ;
WRITELN ( ‘io’ , radice ,‘o’ )
IL programma PASCAL
Program
identificatore
;
variabili
;
begin
WRITELN
variabile
PROGRAM
istruzione
(
costante
istruzione
p r i mo
.
;
VAR verbo , radice : STRING;
END
costante
,
;
,
)
BEGIN
READLN ( verbo ) ;
radice := COPY( verbo ,1,
LENGTH(verbo)-3) ;
WRITELN ( ‘io’, radice ,‘o’);
WRITELN (‘tu’, radice, ’i’);
WRITELN(’egli’,radice,’a’) ;
…………
Scrivi
Scrivi‘egli’,
‘tu’, lalaradice,’i’
radice,’a’
END
IL programma PASCAL
Program
identificatore
;
variabili
;
PROGRAM
istruzione
p r i mo
.
;
VAR verbo , radice : STRING;
BEGIN
READLN ( verbo) ;
radice := COPY( verbo ,1,
LENGTH(verbo)-3) ;
WRITELN ( ‘io’, radice ,‘o’);
WRITELN (‘tu’, radice, ’i’);
WRITELN(’egli’,radice,’a’);
…………
END .
READLN(verbo);
radice:=COPY(verbo,1,LENGTH(verbo)-3);
Acquisite
le istruzioni
l’esecutore effettuerà, in
WRITELN(‘io
’,radice,’o’);
VAR
verbo,radice:STRING;
WRITELN(‘essi
WRITELN(‘voi
WRITELN(‘tu
’,radice,’i’);
’,radice,’ate’);
’,radice,’ano’);
WRITELN(‘egli
’,radice,’a’);
WRITELN(‘noi
’,radice,’iamo’);
SEQUENZA,
quanto
in esse è specificato
L’esecutore
si
pone
in stato
dilocazioni
attesa
e,diricevuta
la
stringa
L’esecutore
copia
tutti
i scrivendo:
caratteri
della
variabile
VERBO,
L’esecutore
comunica,
scrivendo:
L’esecutore
predispone
due
memoria,
di
nome di
L’esecutore
L’esecutore
L’esecutore
comunica,
comunica,
comunica,
scrivendo:
scrivendo:
L’esecutore
comunica,
scrivendo:
L’esecutore
comunica,
scrivendo:
caratteri,
la
memorizza
nella
zona
di memoria
denominata
compresi
tra
il
primo
e
la
sua
lunghezza
meno
tre, nella
VERBO e RADICE, che conterranno
delle
stringhe
di
Si
supponga
che
venga
comunicato
il
verbo
pensare
VERBO
variabile
RADICE
caratteri
PROGRAM primo;
VAR verbo,radice:STRING;
BEGIN
READLN(verbo);
radice:=COPY(verbo,1,LENGTH(verbo)-3);
WRITELN(‘io ’,radice,’o’);
WRITELN(‘tu ’,radice’,’i’);
WRITELN(’egli ’,radice,’a’);
WRITELN(‘noi ’,radice,’iamo’);
WRITELN(‘voi ,radice’,’ate’);
WRITELN(’essi ’,radice,’ano’);
END.
io penso
tu pensi
egli pensa
noi pensiamo
voi pensate
essi pensano
verbo
pensare
radice
pens
Scarica

Cilindro - Atuttascuola