Linguaggi di programmazione: panoramica Linguaggi di programmazione ad alto livello: – –Programmazione procedurale – –Programmazione object oriented –

Slides:



Advertisements
Presentazioni simili
I Linguaggi di programmazione
Advertisements

Automi temporizzati.
Alfabeti, Stringhe e Linguaggi
1 A B C D … a b c d … Il concetto di insieme 1
Rappresentazione dei dati e codifica delle informazioni
String c++.
Evoluzione dei linguaggi di programmazione
Inizio… Linguaggi Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi di programmazione Linguaggi Formali Linguaggi.
Linguaggi Regolari e Linguaggi Liberi
Costruzione delle tabelle di parsing LR canoniche
Informazioni sul Corso
Generalità Linguaggio e Macchina Astratta
1 Metodologie di Programmazione. 2 Contenuto generale §tecniche per la programmazione orientata ad oggetti (in piccolo) §esemplificate utilizzando il.
1 Linguaggi di Programmazione - elementi Corso di Laurea in Informatica (AA 2005/2006) Gabriella Pasi e Carla Simone
Programmazione Procedurale in Linguaggio C++
Programmazione Procedurale in Linguaggio C++
L’ALGEBRA NEI PROGRAMMI
Intelligenza Artificiale Linguaggio naturale
Elaborazione del linguaggio naturale automi & morfologia Maria Teresa PAZIENZA a.a
Sistemi basati su conoscenza Comunicazione basata sul linguaggio naturale Prof. M.T. PAZIENZA a.a
Alfabeti, Stringhe e Linguaggi Def: un insieme è una collezione non ordinata di oggetti o elementi Gli insiemi sono scritti tra { }. Gli elementi sono.
Intelligenza Artificiale II Dimostrazione automatica di Teoremi
Unità Didattica 2 I Linguaggi di Programmazione
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Conoscenza e ragionamento Logica dei predicati del primo ordine.
Ingegneria della conoscenza e sistemi esperti Dario Bianchi, 1999 Logica dei predicati del primo ordine.
Fondamenti di Informatica1 Linguaggi Classificati rispetto alle caratteristiche principali: –potere espressivo che influenza lo stile di programmazione.
Logica proposizionale Sintassi vs Semantica
INSIEMI NUMERABILI L’analisi matematica introduce il concetto di insieme numerabile come insieme i cui elementi possono essere “contati” ossia che possiede.
LINGUAGGI DI PROGRAMMAZIONE
1 Matteo Cristani Dipartimento di Informatica Facoltà di Scienze MM. FF. NN. Università degli Studi di Verona Corso di.
Fondamenti di Comunicazione Digitale
Chomsky La grammatica/sintassi è una proprietà della mente Distinta dalla capacità di comunicare E una facoltà autonoma ed innata La comunicazione è solo.
Progetto per lesame di Linguaggi e Modelli Computazionali LS Chiara Chiara Gualtieri.
Linguaggi e Modelli Computazionali LS - Prof E.Denti
CAP. 2 ANALISI LESSICALE 2.1 Il ruolo dell'analizzatore lessicale
Gianfranco Zampolini Progetto per il corso di: Linguaggi e Modelli Computazionali LS EM Linguaggio per la Descrizione di un Evento Musicale.
MODELLO LOGICO DEI DATI
Lo sviluppo del software e i linguaggi di programmazione
Introduzione ai linguaggi formali e alle stringhe
Alfabeti Linguaggi Automi Grammatiche e Compilatori
Facoltà di Ingegneria Corso di Laurea: Insegnamento: Lezione n°: Titolo: Docenti: INGEGNERIA AUTOMAZIONE II 2 LINGUAGGI FORMALI ED AUTOMI PROF. ALESSANDRO.
CONCETTI DI BASE 1.0 FONDAMENTI 1.1 HARDWARE 1.2 SOFTWARE 1.3 RETI
Grammatiche, Linguaggio e Automi R. Basili TAL - a.a
Elaborazione del linguaggio naturale automi & morfologia
Tablabla Progetto di Valent Cristina
Linguaggi per COMUNICARE
I computer vengono utilizzati per automatizzare la soluzione di problemi di varia natura trattando le informazioni in entrata (DATI) eseguendo gli opportuni.
Si dica in quale modo la trasformazione di Thompson, TF, può essere considerata come definente un compilatore. In particolare, si dica: –a) chi sono il.
Le funzioni in Excel. La funzione conta,numeri La funzione conta.numeri calcola il numero di celle che contengono un valore numerico all’interno di un.
Elaborazione del linguaggio naturale automi & morfologia Maria Teresa PAZIENZA a.a
Fondamenti di Informatica1 Memorizzazione su calcolatore L'unità atomica è il bit (BInary DigiT) L'insieme di 8 bit è detta byte Altre forme di memorizzazione:
Automi a pila (1) Un automa a pila (PDA) è M = (Q, S, G, d, q0, Z0, F) dove: Q insieme finito di stati S alfabeto finito di input 3. G alfabeto di pila.
Ingegneria del software Modulo 1 -Introduzione al processo software Unità didattica 3 -Modelli di fase d’analisi Ernesto Damiani Università degli Studi.
Grammatiche Grammatiche libere da contesto Grammatiche regolari
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
UNIVERSITA’ DI MILANO-BICOCCA LAUREA MAGISTRALE IN BIOINFORMATICA Corso di BIOINFORMATICA: TECNICHE DI BASE Prof. Giancarlo Mauri Lezione 3 Mappe genetiche.
public class volume { public static void main (String[] args) { final double bott_vol =2.0; final double latt_vol = 0.355; int bott_num = 4; int latt_num.
Modelli A Stati Finiti Per Il Linguaggio Naturale A cura di De Pascalis Roberto.
Automi temporizzati.
In generale, con il termine di grammatica si intende un formalismo che permette di definire un insieme di stringhe mediante l’imposizione di un particolare.
Sistemi di elaborazione dell’informazione Modulo 3 - Protocolli applicativi Unità didattica 5 -Amministrazione remota Ernesto Damiani Lezione 2 – SNMP.
Io ho voluto dimostrarlo attraverso una delle mie passioni:
Problemi, algoritmi e programmazione
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica
I linguaggi di programmazione -GALBIATI ALBERTO -ESPOSITO MATTIA.
Linguaggi e Grammatiche Alfabeto : insieme non vuoto di elementi detti simboli A = { a, b, c } Stringa : sequenza di simboli di un alfabeto ab abc abcab.
Linguaggi, stringhe e alfabeti. Linguaggi e grammatiche Un linguaggio è un sistema di comunicazione tra persone che permette di trasmettere informazioni.
Parsing ricorsivo discendente Il parsing ricorsivo discendente (recursive descent parsing) è un metodo di tipo top-down che può essere facilmente codificato.
Lezione 4 – Linguaggi ed Interazione. Linguaggi La comunicazione è essenziale tra gli esseri umani Se vogliamo chiedere informazioni stradali ad un passante.
GLI AUTOMI INGRESSIUSCITE Un Automa è un sistema con le seguenti caratteristiche: 1.Dinamico : evolve nel tempo; 2.Invariante : la risposta del sistema.
Transcript della presentazione:

Linguaggi di programmazione: panoramica Linguaggi di programmazione ad alto livello: – –Programmazione procedurale – –Programmazione object oriented – –Programmazione di sistema – –Programmazione di rete – –Programmazione funzionale – –Programmazione logica

Linguaggi di programmazione: sintassi e semantica La sintassi definisce la forma: come e’ fatto un programma del linguaggio (correttezza sintattica) Semantica definisce il significato associato a ciascuna forma: cosa calcola ciascun programma (correttezza semantica)

Sintassi: ruolo   Definisce la forma delle frasi del linguaggio   Definisce la ofrma delle frasi del linguaggio   Linguaggio del la frasi definisce delle forma   It defines la forma delle frasi of the language   Alfabeto   Struttura

Sintassi: Alfabeto, parole Alfabeto: insieme finito di simboli  ={a,b,c} Frasi: sequenze finite di simboli nell’alfabeto (stringhe di caratteri) – –Sequenza vuota  (talvolta indicata con ) – –Esempi: ab, abbbb mentre a8bc6, – –Funzioni su stringhe : lunghezza #abbbb = 5 concatenazione se s=ab e t=cc st=abcc s  =s

Prodotto cartesiano (x) Il prodotto cartesiano di due insiemi (di sequenze di simboli) A e B è l’insieme di sequenze che ottengo concatenando ogni elemento del primo insieme con ogni elemento del secondo insieme Esempi dati i due insiemi A e B – –A= {a,b}, B= {c,d}, A x B={ac,ad,bc,bd} – –A= {cc,b}, B= {c,dc}, A x B={ccc,ccdc,bc,bdc}

Operatore * su insiemi (potenza) A 0 = {  } A 1 = A A 2 =A x A A * =  i A i = A 0  A 1  A 2  A 3 …. Es. A={ab,a,cb} A 0 =? A 1 =? A 2 = ? A 3 =? A * =?

Cardinalità di un insieme # Def. Cardinalità (#) di un insieme è il numero dei suoi elementi. # A=3 # A 0 = # A 1... # A * =

Sintassi: alfabeto e linguaggio Linguaggio su un alfabeto  è un insieme (anche infinito) di frasi sull’alfabeto  quindi L   * – –insieme vuoto ({} anche indicato  ) è un linguaggio – –anche  * è un linguaggio – –in genere ci interessano linguaggi che sono sottoinsiemi propri di  * con cardinalità infinita e proprietà rilevanti (struttura)

Sintassi dei linguaggi di programmazione Per i linguaggi di programmazione   = ASCII dove ASCII è l’insieme dei caratteri alfanumerici cioè tutti i caratteri presenti sulla tastiera dei computer (standard internazionale). Quindi ogni linguaggio di programmazione L abbiamo che L  ASCII*. Un programma è una frase di L quindi un programma è una sequenza di caratteri alfanumerici

Note Attenzione {}≠ {  } A= {}, B= {c,dc}, A x B= ? A= {  }, B= {c,dc}, A x B= ? Ancora: A* x A= ?

Grammatiche e automi Grammatiche e automi sono strutture per definire la sintassi dei linguaggi di programmazione. Automi sono: – –meno potenti delle grammatiche – –didatticamente interessanti perché molto semplici – –l’implementazione di un automa è il riconoscitore del linguaggio. Grammatiche sono : – –Le strutture effettivamente usate per la definizione della sintassi dei linguaggi di programmazione. – –sono la base per definire il riconoscitore del linguaggio (parser)