Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di...

34
Inizio… Inizio…

Transcript of Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di...

Page 1: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Inizio…Inizio…

Page 2: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

LinguaggiLinguaggi

Linguaggi di programmazioLinguaggi di programmazionene

Linguaggi FormaliLinguaggi Formali

Algoritmo sui linguaggi forAlgoritmo sui linguaggi formalimali

Page 3: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Cos’è il linguaggio Cos’è il linguaggio formale?formale?

Se sei curioso………

Scegli il tasto d’avanzamento

Page 4: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 5: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 6: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 7: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 8: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 9: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 10: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Caratteristiche Della Caratteristiche Della GrammaticaGrammatica

Regole LessicaliRegole Lessicali Regole Sintattiche Regole Sintattiche Regole SemanticheRegole Semantiche

Page 11: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Regole LessicaliRegole Lessicali

Sono le regole che Sono le regole che consentono la consentono la

formazione delle formazione delle parole.parole.

Page 12: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 13: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 14: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 15: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 16: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 17: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 18: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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.

Page 19: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 20: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 21: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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

Page 22: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

LINGUAGGI FORMALILINGUAGGI FORMALI

ALGORITMO SUI ALGORITMO SUI LINGUAGGILINGUAGGI

Page 23: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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)

Page 24: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

iiInizio

Azzeramentocontatori

Procedura caricamento

Input D

Procedura lettera 1

a

Page 25: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

a

ProceduraLettera 2

Stampa

Fine

Page 26: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

AzzeramentoContatori

I:=0

H:=0

Y:=0

K:=0

FineAzzeramento

T:=‘S’

Page 27: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

I=I+1

N[I]

I=D

INIZIO

FINE

Page 28: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Controllo lettera 1

I=0

I=I+1

V[I]=‘W’

H=H+1

XZ

Page 29: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

X

V[I]=‘A’

Y=Y+1

V[I]=‘B’

K=K+1

V[I]=‘A’ eV[I]=‘W’ eV[I]=‘B’

YZ

Z

Page 30: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

I=D

K

FINELETTERA 1

Z

Page 31: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Lettera 2

D[i]<>’a’

Ca>2

Cb>2

MESS

MESS

MESSCb>2A

MESS

Page 32: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

A

D[n]<>’w’

MEST=N

MESMES 1

Fine lettera 2

Page 33: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

Procedura STAMPA

I:=0

I:=I+1

V[I]

I=D

Fine STAMPA

Page 34: Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.

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