Inizio…
Linguaggi
Linguaggi
di programmazione
Linguaggi
Formali
Algoritmo
sui linguaggi formali
Cos’è il linguaggio
formale?
Se sei curioso………
Scegli il tasto d’avanzamento
Ecco la definizione
che tanto desideravi






Un linguaggio formale è un linguaggio creato
dall’uomo, si differenzia dagli altri linguaggi
naturali per il fatto che è di tipo
deterministico.
Presenta delle proprie caratteristiche, è
composto da:
Un Alfabeto
Un Lessico
Una Sintassi
Inoltre presenta anche alcune di linguaggio
Linguaggi Formali

Bla
bla
Come abbiamo visto, per
comunicare con la macchina
abbiamo bisogno di particolari
linguaggi, detti “linguaggi di
programmazione”. Un linguaggio di
programmazione è un linguaggio
formale, ovvero un linguaggio
creato dall’uomo.
Caratteristiche Dei Linguaggi
Formali
Un linguaggio formale
formato da:
(L={A,G}) è
Alfabeto (A)
Una Grammatica (G)
Un
L’Alfabeto (A)
L’alfabeto è un insieme di simboli che
servono per formare le PAROLE del
linguaggio.
Le Parole
Le parole di un linguaggio, che
sono le stringhe formate dai simboli
appartenenti all’Alfabeto del
linguaggio in questione, vengono
create seguendo determinate
regole, ovvero seguendo la
GRAMMATICA del linguaggio.
La Grammatica (G)
La Grammatica di un linguaggio
serve per stabilire quali parole
appartengono al linguaggio in
questione.
Caratteristiche Della
Grammatica
 Regole
Lessicali
 Regole Sintattiche
 Regole Semantiche
Regole Lessicali
Sono le regole che
consentono la
formazione delle parole.
Regole Sintattiche
Sono quelle regole che
definiscono in che rapporto
possono essere messe le
parole per formare una
frase.
Regole Semantiche
Sono quelle regole che
assegnano un significato
alle parole o alle frasi.
 Il
linguaggio è il codice
utilizzato per scrivere i
programmi per l’elaboratore,
oppure più in generale è
l’insieme delle parole chiave
utilizzate per comunicare
istruzioni e comandi
all’elaboratore.
SIGNIFICATO DI
ELABORATORe
L’elaboratore è un automa programmabile:
È un automa in quanto e un sistema
dinamico, discreto e invariante.
È programmabile perché per ogni problema
che si vuole risolvere esiste un programma in
grado di eseguirlo.
 COME OPERA UN ELABORATORE
COME
OPERA
L’elaboratore elettronico rappresenta
tutte le informazioni sotto forma di
codici binari. È poi compito del software
interpretare correttamente le diverse
sequenze di bit.
La CODIFICA DEI
PROGRAMMI

Tutti i programmi dai più semplici ai più
sofisticati sono scritti in linguaggio
macchina e codificati in forma binaria. Il
compito di scrivere questi programmi è
affidati a delle opportune persone dette
PROGRAMMATORI.
IL
PROGRAMMATORE
È
QUELLA PERSONA IN
GRADO DI SCRIVERE
PROGRAMMI UTILIZZANDO
GLI APPOSITI LINGUAGGI
DI PROGRAMMAZIONE.
Per progettare i programmi sono stati
introdotti degli opportuni linguaggi
macchina: i cosiddetti LINGUAGGI DI
PROGRAMMAZIONE, per consentire la
scrittura delle istruzioni in una forma più
vicina a quella dell’uomo.Si distinguono:
 LINGUAGI A BASSO LIVELLO
 LINGUAGGI AD ALTO LIVELLO


Vengono definiti a basso livello quei
linguaggi in cui a ciascuna istruzione
corrisponde una sola istruzione
macchina o magari soltanto alcune.Tra
questi linguaggi ricoprono un ruolo di
maggiore importanza quelli di tipo
ASSEMBLER dove i codici binari delle
istruzioni macchina sono rappresentati
da codici MNEMONICI
I LIGUAGGI A
ALTO LIVELLO

Utilizzano espressioni sintattiche proprie
dei linguaggi naturali, solitamente sono
espressi in inglese. Soprattutto quelli
più moderni facilitano l’operato del
programmatore vengono utilizzati per
tradurre un algoritmo ben dettagliato e
organizzato.
LINGUAGGI FORMALI
ALGORITMO SUI
LINGUAGGI
Linguaggi L={a,b,w}
Regole del linguaggio:



Le parole cominciano per ‘a’
Le parole terminano per ‘w’
Le parole non possono contenere più di
2 lettere uguali(anche non
consecutive)
iiInizio
Azzeramento
contatori
Input D
Procedura
caricamento
Procedura
lettera 1
a
a
Procedura
Lettera 2
Stampa
Fine
Azzeramento
Contatori
I:=0
H:=0
Y:=0
K:=0
T:=‘S’
Fine
Azzeramento
INIZIO
I=I+1
N[I]
I=D
FINE
Controllo lettera 1
I=0
I=I+1
V[I]=‘W’
H=H+1
Z
X
X
Z
V[I]=‘A’
Y=Y+1
V[I]=‘B’
K=K+1
V[I]=‘A’ e
V[I]=‘W’ e
V[I]=‘B’
Z
Y
Z
K
I=D
FINE
LETTERA 1
Lettera 2
D[i]<>’a’
MESS
Ca>2
MESS
Cb>2
MESS
A
Cb>2
MESS
A
D[n]<>’w’
MES
T=N
MES 1
MES
Fine lettera 2
Procedura STAMPA
I:=0
I:=I+1
V[I]
I=D
Fine STAMPA
Questo lavoro è stato svolto da:
1.
2.
3.
FALCONE VINCENZO
MAURO VALERIO
DELLA ROCCA DOMENICO
Scarica

linguaggi formali e diagrammi sintattici