inizio… linguaggi linguaggi di programmazione linguaggi di programmazione linguaggi di...
TRANSCRIPT
Inizio…Inizio…
LinguaggiLinguaggi
Linguaggi di programmazioLinguaggi di programmazionene
Linguaggi FormaliLinguaggi Formali
Algoritmo sui linguaggi forAlgoritmo sui linguaggi formalimali
Cos’è il linguaggio Cos’è il linguaggio formale?formale?
Se sei curioso………
Scegli il tasto d’avanzamento
Ecco la definizione Ecco la definizione che tanto desideraviche tanto desideravi
Un linguaggio formale è un linguaggio Un linguaggio formale è un linguaggio creato dall’uomo, si differenzia dagli altri creato dall’uomo, si differenzia dagli altri linguaggi naturali per il fatto che è di linguaggi naturali per il fatto che è di tipo deterministico.tipo deterministico.
Presenta delle proprie caratteristiche, è Presenta delle proprie caratteristiche, è composto da:composto da:
Un AlfabetoUn Alfabeto Un LessicoUn Lessico Una SintassiUna Sintassi Inoltre presenta anche alcune di Inoltre presenta anche alcune di
linguaggiolinguaggio
Linguaggi FormaliLinguaggi Formali
Come abbiamo visto, per Come abbiamo visto, per comunicare con la macchina comunicare con la macchina
abbiamo bisogno di particolari abbiamo bisogno di particolari linguaggi, detti “linguaggi di linguaggi, detti “linguaggi di
programmazione”. Un programmazione”. Un linguaggio di programmazione linguaggio di programmazione
è un linguaggio formale, ovvero è un linguaggio formale, ovvero un linguaggio creato dall’uomo. un linguaggio creato dall’uomo.
Bla bla
Caratteristiche Dei Caratteristiche Dei Linguaggi FormaliLinguaggi Formali
Un linguaggio formale (Un linguaggio formale (L={A,G}L={A,G}) ) è formato da:è formato da:
Un AlfabetoUn Alfabeto ((AA))Una Grammatica Una Grammatica ((GG) )
L’Alfabeto (L’Alfabeto (AA))
L’alfabeto è un insieme di simboli L’alfabeto è un insieme di simboli che servono per formare le che servono per formare le
PAROLEPAROLE del linguaggio. del linguaggio.
Le ParoleLe ParoleLe parole di un linguaggio, che Le parole di un linguaggio, che
sono le stringhe formate dai sono le stringhe formate dai simboli appartenenti simboli appartenenti
all’Alfabeto del linguaggio in all’Alfabeto del linguaggio in questione, vengono create questione, vengono create
seguendo determinate regole, seguendo determinate regole, ovvero seguendo la ovvero seguendo la
GRAMMATICAGRAMMATICA del linguaggio. del linguaggio.
LLa Grammatica (a Grammatica (GG))
La Grammatica di un linguaggio La Grammatica di un linguaggio serve per stabilire quali parole serve per stabilire quali parole appartengono al linguaggio in appartengono al linguaggio in
questione.questione.
Caratteristiche Della Caratteristiche Della GrammaticaGrammatica
Regole LessicaliRegole Lessicali Regole Sintattiche Regole Sintattiche Regole SemanticheRegole Semantiche
Regole LessicaliRegole Lessicali
Sono le regole che Sono le regole che consentono la consentono la
formazione delle formazione delle parole.parole.
Regole Regole SintatticheSintattiche
Sono quelle regole che Sono quelle regole che definiscono in che definiscono in che rapporto possono rapporto possono
essere messe le parole essere messe le parole per formare una frase.per formare una frase.
Regole Regole SemanticheSemantiche
Sono quelle regole Sono quelle regole che assegnano un che assegnano un
significato alle parole significato alle parole o alle frasi.o alle frasi.
Il linguaggio è il codice Il linguaggio è il codice utilizzato per scrivere i utilizzato per scrivere i programmi per programmi per l’elaboratore, oppure più in l’elaboratore, oppure più in generale è l’insieme delle generale è l’insieme delle parole chiave utilizzate per parole chiave utilizzate per comunicare istruzioni e comunicare istruzioni e comandicomandi all’all’elaboratoreelaboratore..
SSIGNIFICATIGNIFICATOO DIDI
EELABLABOORATORRATORee
LL’elaboratore’elaboratore è un automa è un automa programmabile:programmabile:
È un automa in quanto e un sistema È un automa in quanto e un sistema dinamico, discreto e invariante.dinamico, discreto e invariante.
È programmabile perché per ogni È programmabile perché per ogni problema che si vuole risolvere esiste problema che si vuole risolvere esiste un programma in grado di eseguirlo. un programma in grado di eseguirlo.
COME OPERA UN ELABORATORECOME OPERA UN ELABORATORE
LL’elaboratore’elaboratore elettronico elettronico
rappresentarappresenta tuttetutte lele informazioni informazioni sottosotto formaforma di di codicicodici binari.binari. ÈÈ poi poi compitocompito del del softwaresoftware interpretareinterpretare correttamentecorrettamente lele diversediverse sequenze sequenze didi bit.bit.
COMEOPERA
LLa CODIFICA DEI a CODIFICA DEI PROGRAMMIPROGRAMMI
Tutti i programmi dai più semplici Tutti i programmi dai più semplici ai più sofisticati sono scritti in ai più sofisticati sono scritti in linguaggio macchina e codificati in linguaggio macchina e codificati in forma binaria. Il compito di forma binaria. Il compito di scrivere questi programmi è scrivere questi programmi è affidati a delle opportune persone affidati a delle opportune persone dette dette PROGRAMMATORIPROGRAMMATORI..
IL IL PROGRAMMATOREPROGRAMMATORE
È QUELLA PERSONA IN È QUELLA PERSONA IN GRADO DI SCRIVERE GRADO DI SCRIVERE PROGRAMMI PROGRAMMI UTILIZZANDO GLI UTILIZZANDO GLI APPOSITI LINGUAGGI DI APPOSITI LINGUAGGI DI PROGRAMMAZIONE.PROGRAMMAZIONE.
Per progettare i programmi sono Per progettare i programmi sono stati introdotti degli opportuni stati introdotti degli opportuni linguaggi macchina: i cosiddetti linguaggi macchina: i cosiddetti LINGUAGGI DI PROGRAMMAZIONE, LINGUAGGI DI PROGRAMMAZIONE, per consentire la scrittura delle per consentire la scrittura delle istruzioni in una forma più vicina a istruzioni in una forma più vicina a quella dell’uomo.Si distinguono:quella dell’uomo.Si distinguono:
LINGUAGI A BASSO LIVELLOLINGUAGI A BASSO LIVELLO LINGUAGGI AD ALTO LIVELLOLINGUAGGI AD ALTO LIVELLO
Vengono definiti a basso livello quei Vengono definiti a basso livello quei linguaggi in cui a ciascuna istruzione linguaggi in cui a ciascuna istruzione corrisponde una sola istruzione corrisponde una sola istruzione macchina o magari soltanto macchina o magari soltanto alcune.Tra questi linguaggi ricoprono alcune.Tra questi linguaggi ricoprono un ruolo di maggiore importanza un ruolo di maggiore importanza quelli di tipo ASSEMBLER dove i quelli di tipo ASSEMBLER dove i codici binari delle istruzioni macchina codici binari delle istruzioni macchina sono rappresentati da codici sono rappresentati da codici MNEMONICIMNEMONICI
I LIGUAGGI AI LIGUAGGI A
Utilizzano espressioni sintattiche Utilizzano espressioni sintattiche proprie dei linguaggi naturali, proprie dei linguaggi naturali, solitamente sono espressi in solitamente sono espressi in inglese. Soprattutto quelli più inglese. Soprattutto quelli più moderni facilitano l’operato del moderni facilitano l’operato del programmatore vengono utilizzati programmatore vengono utilizzati per tradurre un algoritmo ben per tradurre un algoritmo ben dettagliato e organizzato. dettagliato e organizzato.
ALTO LIVELLO
LINGUAGGI FORMALILINGUAGGI FORMALI
ALGORITMO SUI ALGORITMO SUI LINGUAGGILINGUAGGI
LinguaggiLinguaggi L={a,b,w}L={a,b,w}
Regole del linguaggio:Regole del linguaggio: Le parole cominciano per ‘a’Le parole cominciano per ‘a’ Le parole terminano per ‘w’Le parole terminano per ‘w’ Le parole non possono contenere Le parole non possono contenere
più di 2 lettere uguali(anche non più di 2 lettere uguali(anche non consecutive)consecutive)
iiInizio
Azzeramentocontatori
Procedura caricamento
Input D
Procedura lettera 1
a
a
ProceduraLettera 2
Stampa
Fine
AzzeramentoContatori
I:=0
H:=0
Y:=0
K:=0
FineAzzeramento
T:=‘S’
I=I+1
N[I]
I=D
INIZIO
FINE
Controllo lettera 1
I=0
I=I+1
V[I]=‘W’
H=H+1
XZ
X
V[I]=‘A’
Y=Y+1
V[I]=‘B’
K=K+1
V[I]=‘A’ eV[I]=‘W’ eV[I]=‘B’
YZ
Z
I=D
K
FINELETTERA 1
Z
Lettera 2
D[i]<>’a’
Ca>2
Cb>2
MESS
MESS
MESSCb>2A
MESS
A
D[n]<>’w’
MEST=N
MESMES 1
Fine lettera 2
Procedura STAMPA
I:=0
I:=I+1
V[I]
I=D
Fine STAMPA
Questo lavoro è stato svolto daQuesto lavoro è stato svolto da::
1.1. FALCONE VINCENZOFALCONE VINCENZO
2.2. MAURO VALERIOMAURO VALERIO
3.3. DELLA ROCCA DOMENICODELLA ROCCA DOMENICO