La comunicazione uomo … macchina

Slides:



Advertisements
Presentazioni simili
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità F1 Primi programmi.
Advertisements

Informatica Generale Marzia Buscemi
Nel sistema operativo MS-DOS il comando cd.. (change directory), serve a cambiare cartella. Il comando rd (remove directory), serve a rimuovere una cartella.
Esercizio Usate il ciclo repeat until (controllo post condizionale) per simulare il prodotto N x M con M somme di N. Esempio: 5 x 3 equivale a fare 5 +5.
Informatica 22/03/2012.
CAPITOLO 2.
© 2007 SEI-Società Editrice Internazionale, Apogeo Unità E1 Dallanalisi del problema alla definizione dellalgoritmo.
Analisi – Progettazione - Programmazione
Linguaggi algoritmici
Evoluzione dei linguaggi di programmazione
LS Tron Classe 4TC – as 2006/07 LORGANIZZAZIONE DEI PROGRAMMI UD. 8 p. 282.
PROGRAMMARE IN PASCAL (le basi)
I File di testo in Pascal
Algoritmi e Programmazione
Generalità Linguaggio e Macchina Astratta
Fondamenti di Informatica
Dall’Algoritmo al Programma
Ti piace…...
Nuovi verbi ! Che cos’è un verbo? È una parola d’azione!
numero rette n numero parti piano f(n) f(n -1)n -1 f(n -1) + nn numero parti piano f(n) numero rette n.
Sommario Gli algoritmi I linguaggi per la formalizzazione di algoritmi
RICONOSCIMENTO DI SEQUENZE DI EVENTI
Programmazione Procedurale in Linguaggio C++
Argomenti dalla linea dei comandi Gli argomenti possono essere passati a qualsiasi funzione di un programma, compresa la main(), direttamente dalla linea.
Università degli Studi di Bergamo Facoltà di Lingue e Letterature Straniere Facoltà di Lettere e Filosofia A.A Informatica generale 1 Appunti.
DERIVATE PARZIALI PRIME
Corso di Laurea in Biotecnologie Informatica (Programmazione)
Corso di Informatica (Programmazione)
1 Corso di Informatica (Programmazione) Lezione 13 (21 novembre 2008) Programmazione in Java: stringhe e array.
Ricorsione e Debug.
Organizzazione del corso
2) Trattamento dell'informazione. Lab.Calc. I AA 2002/03 - cap.22 Esempio Supponiamo di volere calcolare X, per uno o più possibili valori di Y, in base.
Gli algoritmi.
LINGUAGGI DI PROGRAMMAZIONE
ELEMENTI DI PROGRAMMAZIONE
Algoritmi e Programmazione strutturata
PROGRAMMAZIONE: linguaggi
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
Si vuole che lesecutore coniughi non solo il presente indicativo ma anche limperfetto e il passato remoto Acquisisci tempo presente imperfetto passato.
Lo sviluppo del software e i linguaggi di programmazione
Programmazione di Calcolatori
matematico greco del III° secolo a.c.,
Problema .. modello .. esecutore
Problema: come dividere due numeri
BIOINFO3 - Lezione 15 ISTRUZIONI
Un esempio.
Programma di Informatica Classi Prime
Punti di vista.
Politecnico di Torino maggio DIDAMATICA 2011 Insegnare Futuro EXCEL4PS&SP – 6 Maggio 2011 Prof. Nicola Armenise, PhD I.T.E.S. “A. Olivetti” -
TURBOPASCAL …. ripassiamo - prof. V. Riboldi -.
RISOLUZIONE DI EQUAZIONI
I verbi di -are. parlare ascoltare guardare entrare.
IL VERBO.
Lezione 3 Struttura lessicale del linguaggio
Parte 3 Lo stato: variabili, espressioni ed assegnazioni
Tecnologie Informatiche ed Elettroniche per le Produzioni Animali
Interpreti e compilatori
STRUTTURA DI UN PROGRAMMA C In prima battuta, la struttura di un programma C è definita dalla seguente produzione: ::= { }
Informatica e Informatica di Base
Problemi, algoritmi e programmazione
Progettazione degli algoritmi
Ciclo for nei linguaggi di programmazione. Nei linguaggi di programmazione, il ciclo for è una struttura di controllo iterativa che determina l'esecuzione.
“ Pseudocodice ” Un programma per computer lavorerà su in insieme di “ variabili ” contenenti i dati del problema, soluzioni intermedie, soluzioni finali.
GLI ALGORITMI Appunti preparati dalla prof.ssa Maria D’Angelo.
Informatica Problemi e algoritmi. una situazione che pone delle domande cui si devono dare risposte. Col termine problema o situazione problematica s’indica.
Introduzione alle geometrie a-euclidee e non-euclidee Ancora una riflessione sui concetti operativi.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Istruzioni e algoritmi. Istruzioni Operative I passi elementari che compongono l’algoritmo sono le istruzioni. Distinguiamo: Istruzioni di input Istruzioni.
Dal PROBLEMA all’ALGORITMO
IL CONCETTO DI ALGORITMO
Transcript della presentazione:

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 …

Quadrilatero con tutti gli angoli retti Cilindro Figura geometrica che si può ottenere facendo ruotare un rettangolo intorno al suo asse rettangolo Quadrilatero Quadrilatero con tutti gli angoli retti Formato da quattro segmenti segmento Insieme di punti di una retta compresi tra due suoi punti dati punto Ente fondamentale della geometria il cui significato si ritiene noto

Quadrilatero con tutti gli angoli retti Cilindro Figura geometrica che si può ottenere facendo ruotare un rettangolo intorno al suo asse rettangolo Quadrilatero Quadrilatero con tutti gli angoli retti Formato da quattro segmenti segmento Insieme di punti di una retta compresi tra due suoi punti dati retta Ente primitivo della geometria

Cilindro Figura geometrica che si può ottenere facendo ruotare un rettangolo intorno al suo asse rettangolo Quadrilatero con tutti gli angoli retti angolo Parte di un piano compresa tra due semirette che escono da uno stesso punto E così via …..

Primitive Simboli non terminali I rettangoli rappresentano parole il cui significato deve essere precisato Le forme arrotondate rappresentano parole il cui significato è noto

? Torniamo al nostro problema iniziale: insegnare ad un esecutore meccanico il tempo indicativo presente di un verbo della prima coniugazione

Scrivi ‘egli’, la radice,’a’ 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 ‘tu’, la radice,’i’ Scrivi ‘essi’, la radice,’ano’

? 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 nostro caso deve ricordare il valore di “verbo” e di “radice”. Predisporrà, conseguentemente, due locazioni di memoria, di nome verbo e radice, in cui registrerà quanto gli sarà comunicato. Si tratta delle transizioni indicate nella rete di Petri scritte in una forma che l’esecutore può capire

Diagrammi sintattici relativi alla comunicazione dell’algoritmo di coniugazione dei verbi

Il verbo è stato acquisito Lo stato attuale è marcato Acquisisci verbo Il verbo è stato acquisito Scrivi ‘egli’, la radice,’a’ Calcola la radice La radice è stata calcolata Scrivi ‘noi’, la radice,’iamo’ Scrivi ‘io’, la radice,’o’ Scrivi ‘voi’, la radice,’ate’ Scrivi ‘tu’, la radice,’i’ Scrivi ‘essi’, la radice,’ano’

Si tratta di una primitiva: l’esecutore ne capisce il significato IL programma PASCAL Program Program identificatore ; variabili ; istruzione . PROGRAM Si tratta di una primitiva: l’esecutore ne capisce il significato

; ; . IL programma PASCAL Program identificatore identificatore variabili ; istruzione . PROGRAM p r i m o carattere carattere carattere carattere carattere carattere carattere

; ; ; ; . , , : : IL programma PASCAL ; , : Program identificatore variabili variabili ; ; istruzione . , , ; PROGRAM p r i m o , : VAR verbo radice STRING ; VAR VAR identificatore identificatore identificatore : : STRING STRING

; ; . , IL programma PASCAL ; , : ( ( ) ) Program identificatore variabili ; istruzione istruzione . , ; PROGRAM p r i m o begin begin istruzione istruzione END , : VAR verbo radice STRING ; BEGIN READLN ( verbo ) readln readln ( ( identificatore identificatore ) ) Acquisisci verbo

. IL programma PASCAL ; ; ; , : identificatore ; variabili ; istruzione . ; ; ; PROGRAM p r i m o begin istruzione istruzione END , : VAR verbo radice STRING ; BEGIN READLN ( verbo ) ; identificatore identificatore := := COPY COPY ( ( radice := COPY ( verbo , 1 , LENGTH(verbo)-3 ) identificatore identificatore , , 1 1 , , Si cominciano a copiare i caratteri a partire dal primo Si calcola la lunghezza del verbo e si sottrae 3 ultimo char da copiare ultimo char da copiare ) ) Calcola la radice

Scrivi ‘io’, la radice,’o’ IL programma PASCAL Program identificatore ; variabili ; istruzione . ; ; ; PROGRAM p r i m o begin istruzione istruzione END , : VAR verbo radice STRING ; BEGIN READLN ( verbo ) ; WRITELN WRITELN ( ( costante costante , , radice := COPY ( verbo , 1 , LENGTH(verbo)-3 ) ; variabile variabile , , costante costante ) ) WRITELN ( ‘io’ , radice , ‘o’ ) Scrivi ‘io’, la radice,’o’

. IL programma PASCAL ………… ; ; ; ; ; , : Program identificatore ; variabili ; istruzione . ; ; ; ; ; PROGRAM p r i m o begin istruzione istruzione istruzione END END , : VAR verbo radice STRING ; BEGIN READLN ( verbo ) ; WRITELN ( costante , radice := COPY ( verbo , 1 , LENGTH(verbo)-3 ) ; variabile , costante ) WRITELN ( ‘io’ , radice , ‘o’ ) ; WRITELN (‘tu’, radice, ’i’) ; WRITELN(’egli’,radice,’a’) ; ………… Scrivi ‘egli’, la radice,’a’ Scrivi ‘tu’, la radice,’i’ END

. . IL programma PASCAL ………… ; , : Program identificatore ; variabili istruzione . . ; PROGRAM p r i m o , : 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 .

radice:=COPY(verbo,1,LENGTH(verbo)-3); READLN(verbo); L’esecutore si pone in stato di attesa e, ricevuta la stringa di caratteri, la memorizza nella zona di memoria denominata VERBO radice:=COPY(verbo,1,LENGTH(verbo)-3); L’esecutore copia tutti i caratteri della variabile VERBO, compresi tra il primo e la sua lunghezza meno tre, nella variabile RADICE Acquisite le istruzioni l’esecutore effettuerà, in SEQUENZA, quanto in esse è specificato VAR verbo,radice:STRING; L’esecutore predispone due locazioni di memoria, di nome VERBO e RADICE, che conterranno delle stringhe di caratteri WRITELN(‘io ’,radice,’o’); L’esecutore comunica, scrivendo: WRITELN(‘essi ’,radice,’ano’); L’esecutore comunica, scrivendo: WRITELN(‘voi ’,radice,’ate’); L’esecutore comunica, scrivendo: WRITELN(‘tu ’,radice,’i’); L’esecutore comunica, scrivendo: WRITELN(‘egli ’,radice,’a’); L’esecutore comunica, scrivendo: WRITELN(‘noi ’,radice,’iamo’); L’esecutore comunica, scrivendo: Si supponga che venga comunicato il verbo pensare 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