Elaboratore Elettronico

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Elaboratore Elettronico"

Transcript

1 Fondamenti di Informatica CdL Ingegneria Meccanica A.A. 2013/14 Docente: Ing. Ivan Bruno Elementi di programmazione 1. Algoritmi e linguaggi di programmazione 2. Definizione di un linguaggio di programmazione 3. Grammatica e Linguaggi 1

2 Programmazione È l attività con cui si predispone l elaboratore a eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema. Dati (input) Elaboratore Elettronico Risultati (output) Problemi da risolvere I problemi che siamo interessati a risolvere con l elaboratore sono di natura molto varia: Dati due numeri trovare il maggiore Dato un elenco di nomi e relativi numeri di telefono trovare il numero di telefono di una determinata persona Dati a e b, risolvere l equazione ax+b=0 Stabilire se una parola viene alfabeticamente prima di un altra Somma di due numeri interi Scrivere tutti gli n per cui l equazione: X n +Y n = Z n ha soluzioni intere (problema di Fermat) Ordinare una lista di elementi Calcolare il massimo comun divisore fra due numeri dati. Calcolare il massimo in un insieme.. 2

3 Risoluzione dei problemi La descrizione del problema non fornisce (in generale) un metodo per risolverlo. Affinché un problema sia risolvibile è però necessario che la sua definizione sia chiara e completa Non tutti i problemi sono risolvibili attraverso l uso del calcolatore. Esistono classi di problemi per le quali la soluzione automatica non è proponibile. Ad esempio: se il problema presenta infinite soluzioni per alcuni dei problemi non è stato trovato un metodo risolutivo per alcuni problemi è stato dimostrato che non esiste un metodo risolutivo automatizzabile Risoluzione dei problemi La risoluzione di un problema è il processo che, dato un problema e individuato un opportuno metodo risolutivo, trasforma i dati iniziali nei corrispondenti risultati finali. Affinché la risoluzione di un problema possa essere realizzata attraverso l uso del calcolatore, tale processo deve poter essere definito come sequenza di azioni elementari. 3

4 Algoritmo Un algoritmo è una sequenza finita di mosse che risolve in un tempo finito una classe di problemi. L'esecuzione delle azioni nell'ordine specificato dall'algoritmo consente di ottenere, a partire dai dati di ingresso, i risultati che risolvono il problema. Dati Esecutore Metodo Risolutivo (algoritmo ) Risultati ESECUTORE una macchina astratta capace di eseguire le azioni specificate dall algoritmo. Algoritmi: proprietà Eseguibilità: ogni azione dev essere eseguibile dall esecutore in un tempo finito. Non ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore. Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito. 4

5 Algoritmi: proprietà (2) Quindi, l algoritmo deve: essere applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dell algoritmo essere costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali essere costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia l esecutore (persona o macchina ) che le legge. Algoritmi e programmi Ogni elaboratore è una macchina in grado di eseguire azioni elementari su oggetti detti DATI. L esecuzione delle azioni è richiesta all elaboratore tramite comandi elementari chiamati ISTRUZIONI espresse attraverso un opportuno formalismo: il LINGUAGGIO di PROGRAMMAZIONE. La formulazione testuale di un algoritmo in un linguaggio comprensibile a un elaboratore è detta programma. 5

6 Programma Un programma è un testo scritto in accordo alla sintassi e alla semantica di un linguaggio di programmazione. Un programma è la formulazione testuale, in un certo linguaggio di programmazione, di un algoritmo che risolve un dato problema. Algoritmo & programma Passi per la risoluzione di un problema: individuazione di un procedimento risolutivo scomposizione del procedimento in un insieme ordinato di azioni ALGORITMO rappresentazione dei dati e dell algoritmo attraverso un formalismo comprensibile dal calcolatore LINGUAGGIO DI PROGRAMMAZIONE Problema Algoritmo Programma Metodo risolutivo Linguaggio di Programmazione 6

7 Algoritmi equivalenti Due algoritmi si dicono equivalenti quando: hanno lo stesso dominio di ingresso; hanno lo stesso dominio di uscita; in corrispondenza degli stessi valori del dominio di ingresso producono gli stessi valori nel dominio di uscita. Due algoritmi equivalenti forniscono lo stesso risultato ma possono avere diversa efficienza e possono essere profondamente diversi! Algoritmi: esempi Soluzione dell equazione ax+b=0 leggi i valori di a e b calcola -b dividi quello che hai ottenuto per a e chiama x il risultato stampa x Calcolo del massimo di un insieme Scegli un elemento come massimo provvisorio max Per ogni elemento i dell insieme: se i>max eleggi i come nuovo massimo provvisorio max Il risultato è max 7

8 Algoritmi: esempi Stabilire se una parola P viene alfabeticamente prima di una parola Q leggi P,Q ripeti quanto segue: se prima lettera di P < prima lettera di Q allora scrivi vero altrimenti se prima lettera P > Q allora scrivi falso altrimenti (le lettere sono =) togli da P e Q la prima lettera fino a quando hai trovato le prime lettere diverse. Linguaggio & Programma Dato un algoritmo, un programma è la sua descrizione in un particolare linguaggio di programmazione Un linguaggio di programmazione è una notazione formale che può essere usata per descrivere algoritmi. 8

9 Linguaggi di Programmazione I linguaggi sono classificati in: Low level Linguaggio macchina & Linguaggio Assembly High level C/C++, Pascal, Delphi, Java, Cobol. Linguaggi di Programmazione I linguaggi low level sono strettamente legati all architettura interna del computer Ad ogni singola azione corrisponde una linea di programma (rapporto 1 a 1) I linguaggi high level sono più vicini al nostro modo di pensare Devono essere opportunamente tradotti per essere compresi da un computer 9

10 Relazione tra linguaggi di programmazione START: MOV AX, BX CMP AX, 12h JZ EQUAL INT 21h RET EQUAL: MOV BL, 82h void main ( ){ int x, y; printf( Hello world\n ); if(x>=0) stampa(y); else x++;} // C/C++ Linguaggio Assembly Linguaggio High Level Assemblatore (Assembler) Compilatore o Interprete Computer - Linguaggio Macchina Compilatore vs Interprete I compilatori traducono automaticamente un programma dal linguaggio L a quello macchina (per un determinato elaboratore). Durante la traduzione verificano la correttezza di ciascuna istruzione. La traduzione termina quando non ci sono più errori sintattici. Al termine della traduzione il programma è pronto per essere eseguito. 10

11 Compilatore vs Interprete Gli interpreti sono programmi capaci di eseguire direttamente un programma in linguaggio L istruzione per istruzione. Verificano la correttezza sintattica di ogni istruzione durante l esecuzione. In presenza di istruzioni ripetute (cicli) queste sono verificate e tradotte come se fossero da eseguire per la prima volta. Prestazioni: I programmi compilati sono in generale più efficienti e più veloci di quelli interpretati. Le fasi della compilazione: Compilatore: opera la traduzione di un programma sorgente (scritto in un linguaggio ad alto livello) in un programma oggetto. Linker: (collegatore) nel caso in cui la costruzione del programma oggetto richieda l unione di più moduli o librerie (compilati separatamente), il linker provvede a collegarli formando un unico programma eseguibile. Debugger: consente di eseguire passo-passo un programma, controllando via via quel che succede, al fine di scoprire ed eliminare errori non rilevati in fase di compilazione. 11

12 Ambiente di sviluppo Editor Ambiente/Software di Sviluppo File sorgente Compilatore File oggetto Debugger Librerie Linker File eseguibile Risultati Programma in memoria Loader S.O Come sviluppare un programma Qualunque sia il linguaggio di programmazione scelto occorre: Scrivere il testo del programma e memorizzarlo su supporti di memoria permanenti (fase di editing); Se il linguaggio è compilato: Compilare il programma, ossia utilizzare il compilatore che effettua una traduzione automatica del programma scritto in un linguaggio qualunque in un programma equivalente scritto in linguaggio macchina; Eseguire il programma tradotto. Se il linguaggio è interpretato: Usare l interprete per eseguire il programma. 12

13 Definizione di un linguaggio Aspetti caratteristici del linguaggio: Esistenza di un insieme di parole chiave Sintassi: l insieme di regole formali per la scrittura di programmi in un linguaggio, che dettano le modalità per costruire espressioni legali nel linguaggio stesso. Semantica: l insieme dei significati da attribuire alle espressioni legali (sintatticamente corrette) costruite nel linguaggio. Sintassi di un linguaggio Un vocabolario V è un insieme di simboli. L insieme V* di tutte le sequenze finite di simboli in V viene indicato come universo linguistico. Esempio: Sia V={p,c}, allora V* contiene tutte le parole composte con le due lettere di qualsiasi lunghezza e la parola nulla (λ) V*={λ,p,c,pp,pc,cp,cc,ppp,ppc,.} Un linguaggio L sul vocabolario V è un sottinsieme di V* un linguaggio costruito sull insieme V={p,c} potrebbe essere costituito da tutte le parole in cui la p compare in posizione pari L {,c, cp,cc, ccc, cpc,cccp, } V * 13

14 Sintassi di un linguaggio La definizione della sintassi di un linguaggio è legata alla determinazione dei limiti del sottoinsieme V* Limiti che devono consentire la definizione di una rappresentazione finita. Tali limiti possono essere imposti attraverso la formalizzazione di una grammatica Grammatica di un linguaggio Si definisce grammatica G=<V,N,S,P> dove: V è il vocabolario e i simboli sono detti simboli terminali N è un insieme disgiunto da V, i cui elementi sono detti categorie sintattiche S è un elemento di N detto simbolo iniziale P è un insieme di relazioni di N su (N U V)* detto produzioni o regole sintattiche, definito come sottoinsieme del prodotto cartesiano N x (N U V)* p = <n, η> oppure n η con: nn e η sequenza di elementi appartenenti o ad N o a V 14

15 Esempio di grammatica S = frase; V = {UN, GATTO, MANGIA, TOPO, VELOCEMENTE, GIRA, LENTAMENTE, BIANCO, IL, GRASSO, MAGRO}; N = {frase, soggetto, predicato, frase-nominale, lista-di-aggettivi, articolo, nome, aggettivo, verbo, avverbio}; P = { frase soggetto predicato, soggetto frase_nominale, frase_nominale articolo nome aggettivo, frase_nominale articolo nome, articolo UN, articolo IL, nome Gatto, nome Topo, predicato verbo frase_nominale, predicato verbo avverbio, verbo Gira, verbo Mangia, aggettivo Grasso, aggettivo Magro, avverbio Lentamente, avverbio Velocemente. } Grammatica e linguaggio Una grammatica definisce un linguaggio se valgono le seguenti regole Derivazione diretta Siano pre e post elementi di (N U V)*. Sia a 0 N e 1 (N U V)*. Si dice che pre 1 post deriva direttamente da pre a 0 post, e si indica con: pre a 0 post 1 pre 1 post se P contiene la produzione a 0 1 Esempio: 1 articolo nome aggettivo articolo Gatto aggettivo nome Gatto 15

16 Grammatica e linguaggio Derivazione indiretta: Sia 0 e N elementi in (N U V)*. Si dice che N deriva 0, e si indica con: 0 N se esiste una sequenza di elementi i (N U V)* tali che: 1 i [1,N] i-1 i Esempio: frase_nominale IL Gatto Magro Produzioni: frase_nominale articolo nome aggettivo nome Gatto articolo IL aggettivo Magro Grammatica e linguaggio Un linguaggio L G definito dalla grammatica G=<V,N,S,P> sul vocabolario V è l insieme degli elementi di V* che derivano dal simbolo iniziale S attraverso le categorie sintattiche N e le produzioni P 16

17 Produzioni descritte mediante Diagrammi Sintattici frase Frase nominale Mangi a Frase nominale Frase nominale Un Gira Gatto Velocement e Il Topo Aggettivo Esempio: espressioni aritmetiche Definire un linguaggio per cui: a+b*(c-d) è legale mentre a+b-*c non lo è a, b, c e d sono delle variabili l insieme che le contiene lo chiamiamo var = {a,b,c,,pippo,.} +,-,/,* sono gli operatori (,) indicano una precedenza Da un punto di vista simbolico il vocabolario V del linguaggio è costituito da questi simboli: V = var U {+,-,*,/,(,)} Poiché stiamo considerando espressioni aritmetiche, possiamo denotare con expr una categoria sintattica e assumerla come simbolo iniziale della grammatica: S = expr 17

18 Esempio: espressioni aritmetiche Produzioni: expr var una variabile è essa stessa una espressione legale expr (expr) Una espressione legale tra parentesi è essa stesa una espressione legale expr expr op expr Una combinazione di due espressioni legali per mezzo di un operatore op è ancora una espressione legale op costituisce anche una categoria sintattica costruita sugli operatori +,-,*,/ op +, op -, op *, op / Produzioni associate ad op Esempio: espressioni aritmetiche Categorie sintattiche N N = {expr, var, op} Nota: var vale anche come categoria sintattica Insieme delle produzioni P P = { expr var, expr expr, expr (expr), expr expr op expr, op +, op -, op *, op /, var a,..} 18

19 Esempio: espressioni aritmetiche Verifica se a+b*(c-d) è un espressione legale ovvero si può ridurre al simbolo iniziale expr Essendo a, b, c e d simboli di var: var+var*(var-var) a+b*(c-d) Applicando expr var più volte expr+expr*(expr - expr ) var+var*(var-var) Applicando le produzioni di op più volte expr op expr op (expr op expr ) expr+expr*(expr - expr ) Applicando poi expr expr op expr e expr (expr) expr op expr expr op expr op (expr op expr ) E nuovamente expr expr op expr expr expr op expr Concatenando il tutto (tornando indietro) expr a+b*(c-d) Esempio: espressioni aritmetiche Nel caso a+b-*c applicando le produzioni si arriva al caso: expr op op expr a+b-*c Ci si ferma perché non esiste alcuna regola di produzioni da applicare L espressione non può essere ridotta al simbolo iniziale expr e pertanto l espressione di partenza non è legale 19

20 Albero sintattico Il processo di riduzione visto nell esempio può essere convenientemente rappresentato attraverso un albero sintattico Un albero è una struttura costituita da un insieme di nodi sui quali è definita una relazione di successione Un nodo ha un unico predecessore e più successori Il nodo che non ha predecessori è definito radice (root) dell albero Nodi senza successori si definiscono nodi foglia Nodo radice Livello i Nodi foglia Nell albero sintattico: I nodi rappresentano simboli elementari e produzioni Gli archi esprimono le relazioni di derivazione diretta tra nodi in base all insieme P della grammatica Nodi intermedi Albero sintattico Validità - Data una sequenza di simboli del vocabolario, se sulla sequenza può essere costruito un albero che si chiude su una radice (simbolo iniziale) allora la sequenza costituisce un istanza della categoria sintattica associata alla radice stessa (a) e (b) sono valide ed esprimono due diverse forme di riduzione per l espressione a+b*(c-d) (c) mostra l albero non richiudibile sul simbolo iniziale per l espressione non legale a+b-*c 20

21 Ambiguità a+b*(d-c) produce 2 alberi sintattici validi ma genera Ambiguità Da evitare con la definizione di regole di precedenza nell applicazione delle riduzioni ad esempio sugli operatori aritmetici Definizione: Una grammatica è ambigua se: esiste almeno una stringa di simboli terminali che ammette più alberi di derivazione Ambiguità di una grammatica La riduzione dell ambiguità di una grammatica può essere raggiunta con l introduzione di nuove categorie sintattiche e regole di produzione aggiuntive nel caso della grammatica delle espressioni aritmetiche introduzione di regole che definiscono le precedenze degli operatori aritmetici. Categorie sintattiche: fatt (fattore) term (termine) expr (espressione) Regole di produzione modificate <expr>::=<expr> + < term > <expr> - < term > < term > <term>::=< term > * < fatt > < term > / < fatt > < fatt > < fatt >::= ( < expr > ) <var> 21

22 Ambiguità di una grammatica Verifica: a+b*c var+var*var var+fatt*fatt var+term*fatt var+term fatt+term term+term expr+term expr <expr>::=<expr> + <term> <expr> - <term> <term> <term>::=< term > * < fatt > <term> / <fatt> <fatt> <fatt>::= ( <expr> ) <var> Codifica BNF I diagrammi sintattici consentono di descrivere l insieme delle produzioni P. Esiste un formalismo alternativo che semplifica la rappresentazione delle produzioni: BNF (Backus Naur Form) Convenzioni BNF: η::= n significa che P contiene la produzione η n η::= n 1 n 2 significa che P contiene le produzioni η n 1 e η n 2 e che sono alternative η::= n pre [n] n post significa che P contiene le produzioni η n pre n post e η n pre n n post, e che n è opzionale η::= n pre {n} min n post significa che P contiene le produzioni che riducono η ad una sequenza aperta n pre e chiusa da n post e che può contenere un numero di ripetizioni del termine n variabile tra il min e max. Se non specificati è valido un qualunque numero >=0 EBNF (Extended Backus Naur Form) è una estensione della precedente, dove le categorie sintattiche sono definite racchiuse tra parentesi angolari < > 22

23 Esempio S = frase; V = {UN, GATTO, CANE, MONTE, MANGIA, TOPO, VELOCEMENTE, GIRA, LENTAMENTE, BIANCO, IL, GRASSO, MAGRO}; N = {frase, soggetto, predicato, frase-nominale, lista-di-aggettivi, articolo, nome, aggettivo, verbo, avverbio}; P = { Rappresentazione EBNF } Rappresentazione EBNF: <frase> ::= <soggetto> <predicato>. <soggetto> ::= <frase-nominale> <predicato> ::= <verbo> (<frase-nominale> <avverbio>) <frase-nominale> ::= <articolo> <nome> [<lista-diaggettivi>] <lista-di-aggettivi> ::= <aggettivo> {, <aggettivo>} <articolo> = UN IL <nome> ::= GATTO TOPO MONTE CANE <aggettivo:: = NERO BIANCO MAGRO GRASSO <verbo> ::= GIRA MANGIA <avverbio> ::= VELOCEMENTE LENTAMENTE ( = oppure; { } = ripetizione; ( ) = raggruppano alternative con una sola occorrenza; [ ] = parte opzionale) Esempio Per la grammatica delle espressioni aritmetiche: P = { expr var, expr expr, expr (expr), expr expr op expr, op +, op -, op *, op /, var a,..} In EBNF le regole di produzione diventano: <expr>::= <var> <expr><op><expr> ( <expr> ) <expr> <op>::= + - * / <var> ::= a b c. 23

24 Grammatica Contestuale (Cenni) Là dove le regole di produzione non sono in grado di risolvere il problema di ambiguità o dove servano delle condizioni di applicazione si ricorre a caratterizzare la grammatica con vincoli contestuali attraverso annotazioni complementari Grammatica contestuale Esempio di vincoli (linguaggio di programmazione): numero parametri attuali = parametri formali un identificatore deve essere dichiarato prima dell uso compatibilità dei tipi in un assegnamento ecc Nonostante aumenti la complessità della grammatica aumenta la comprensibilità Il processo di interpretazione si articola ora in 3 fasi Verifica lessicale: l espressione appartiene all universo linguistico V* (è composta da simboli del vocabolario V) Verifica sintattica: l espressione è legale Verifica contestuale: le espressioni legali sono comparati contro i vincoli contestuali Semantica e Sintassi La semantica di un linguaggio si occupa dell interpretazione del linguaggio, ovvero del significato delle frasi corrette sintatticamente Esempio di frasi corrette sintatticamente in italiano, ma non tutte valide in grassetto le frasi valide il gatto mangia il topo il topo mangia il monte il cane mangia il topo il monte beve il cane La semantica di un espressione legale consiste nel valore che questa restituisce 24

25 Semantica e Sintassi Si consideri le espressioni della logica Booleana <expr>::= var ( <expr> ) <expr 1 > <expr 1 ><expr 2 > <expr 1 ><expr 2 > <expr>::=<var> (<expr>) = (<var>) Nel caso di variabili booleane il valore restituito da (<var>) vale true o false; <expr>::= ( <expr 1 > ) (<expr>) = (<expr 1 >) <expr>::= <expr 1 > (<expr>) = (<expr 1 >) <expr>::= <expr 1 ><expr 2 > (<expr>) = (<expr 1 >) (<expr 2 >) <expr>::= <expr 1 > <expr 2 > (<expr>) = (<expr 1 >) (<expr 2 >) Operatori booleani A B AB A A A B AB OR NOT AND 25

26 Sematica e Sintassi Valutazione semantica dell espressione: a (b c) assumendo a=true, b=false e c=false e indicando Ttrue e Ffalse Si costruisce l albero sintattico e si valutano le espressioni intermedie con Il valore di <expr> è true 26

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso

Dettagli

L ELABORATORE ELETTRONICO!

L ELABORATORE ELETTRONICO! L ELABORATORE ELETTRONICO! Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti

Dettagli

Introduzione all informatica

Introduzione all informatica Introduzione all informatica INFORMATICA Varie definizioni Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Definizione proposta Scienza della rappresentazione e dell

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Elaboratore Elettronico

Elaboratore Elettronico L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati)) per produrre rre altri oggetti

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 33 INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, bisogna conoscere

Dettagli

Unità Didattica 2 I Linguaggi di Programmazione

Unità Didattica 2 I Linguaggi di Programmazione Unità Didattica 2 I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada

Dettagli

L ELABORATORE ELETTRONICO

L ELABORATORE ELETTRONICO L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su dati in ingresso (input) per produrre uno

Dettagli

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2

Dettagli

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN

Linguaggi di alto livello. Barriera di astrazione. Pascal. Cobol. Fortran. Basic. Modula-2. Lisp. Simula67 Scheme. Smalltalk C++ Prolog AN Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI Fortran Cobol

Dettagli

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica

Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina

Dettagli

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello

Linguaggi di Programmazione dall assembler ai linguaggi di alto livello Linguaggi di Programmazione dall assembler ai linguaggi di alto livello LINGUAGGIO MACCHINA 0 READ 8 READ 9 LOADA 8 3 LOADB 9 4 MUL 5 STOREA 8 6 WRITE 8 7 HALT 8 DATO INTERO 9 DATO INTERO Rappresentazione

Dettagli

INFORMATICA (Computer Engineering o

INFORMATICA (Computer Engineering o INFORMATICA (Computer Engineering o Computer Science?) COMPRENDE: Metodi per la rappresentazione delle informazioni Metodi per la rappresentazione delle soluzioni Linguaggi di programmazione Architettura

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE

L informatica comprende: INFORMATICA. Varie definizioni: Definizione proposta: ELABORATORE ELETTRONICO ( COMPUTER ) L ELABORATORE INFORMATICA L informatica comprende: Varie definizioni: Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione

Dettagli

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione

INFORMATICA. Scienza degli elaboratori elettronici (Computer. informazione Varie definizioni: INFORMATICA Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione elaborazione

Dettagli

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema

La Programmazione particolare insieme di azioni particolare tipologia di dati risolvere un problema La Programmazione È l'attività con cui si predispone l'elaboratore ad eseguire un particolare insieme di azioni su una particolare tipologia di dati, allo scopo di risolvere un problema. 1 La Programmazione

Dettagli

Cosa è l Informatica?

Cosa è l Informatica? Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore

Dettagli

CdL in Medicina Veterinaria - STPA AA

CdL in Medicina Veterinaria - STPA AA CdL in Medicina Veterinaria - STPA AA 2007-08 Programmi e algoritmi I Calcolatori: cos hanno di speciale? 1 Elaborazione dell Informazione Dati, informazione e istruzioni Un esempio: Dr Rossi 328275456

Dettagli

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science)

INFORMATICA. Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) INFORMATICA Cosa è l informatica Scienza dei calcolatori elettronici (computer science) Scienza dell informazione (information science) E una scienza E una tecnologia Cosa può essere automatizzato nell

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite

Dettagli

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari.

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. è uno strumento in grado di eseguire insiemi di azioni elementari. Esistono varie definizioni: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Definizione proposta: Scienza della rappresentazione e dell elaborazione dell informazione.

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello AN - 1995 Linguaggi di alto livello AN - 1995 Evoluzione dei

Dettagli

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione

DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione DAGLI ALGORITMI AI LINGUAGGI Linguaggi di Programmazione E` una notazione con cui e` possibile descrivere gli algoritmi. Programma: e` la rappresentazione di un algoritmo in un particolare linguaggio di

Dettagli

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì

Dettagli

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3

Dall algoritmo al calcolatore: concetti introduttivi. Algoritmo. Problema: consumo medio 9/27/2018. Fondamenti di Programmazione 3 Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione

Dall algoritmo al calcolatore: concetti introduttivi. Fondamenti di Programmazione Dall algoritmo al calcolatore: concetti introduttivi Fondamenti di Programmazione Algoritmo Problema o compito Preparazione di una torta Programmazione del VCR MCD tra due numeri Algoritmo sequenza precisa

Dettagli

I Linguaggi di Programmazione

I Linguaggi di Programmazione I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio

Dettagli

Algoritmi e Programmi

Algoritmi e Programmi Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi

Dettagli

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori

o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori Programma del corso o Introduzione agli algoritmi o Rappresentazione delle Informazioni o Architettura del calcolatore o Reti di Calcolatori o Elementi di Programmazione Algoritmi e programmi o Algoritmo

Dettagli

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore

Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza

Dettagli

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia talia@deis.unical.it A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica

Dettagli

ALGORITMI: PROPRIETÀ FONDAMENTALI

ALGORITMI: PROPRIETÀ FONDAMENTALI ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse

Dettagli

Risoluzione di un problema

Risoluzione di un problema Algoritmi Risoluzione di un problema Descrizione di un problema! Individuazione di un ALGORITMO! Metodo risolutivo (progetto) Introduzione 2 Algoritmo Sequenza finita di mosse che risolve in un tempo finito

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione

Sommario FONDAMENTI DI INFORMATICA. Definizione formale di algoritmo. Informatica e algoritmi. ALGORITMI E LINGUAGGIO PYTHON Introduzione Università degli Studi di Cagliari Corsi di Laurea in Ingegneria Chimica e Ingegneria Meccanica FONDAMENTI DI INFORMATICA http://www.diee.unica.it/~marcialis/fi A.A. 2017/2018 Sommario Algoritmi, linguaggi

Dettagli

Linguaggi, Traduttori e le Basi della Programmazione

Linguaggi, Traduttori e le Basi della Programmazione Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi

Dettagli

Problemi, algoritmi, calcolatore

Problemi, algoritmi, calcolatore Problemi, algoritmi, calcolatore Informatica e Programmazione Ingegneria Meccanica e dei Materiali Università degli Studi di Brescia Prof. Massimiliano Giacomin Problemi, algoritmi, calcolatori Introduzione

Dettagli

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia

Informatica. Dipartimento di Economia. Ing. Cristiano Gregnanin. 20 ottobre Corso di laurea in Economia Informatica Dipartimento di Economia Ing. Cristiano Gregnanin Corso di laurea in Economia 20 ottobre 2016 1 / 19 Linguaggi 2 / 19 Linguaggi 3 / 19 Linguaggi di alto livello Si basano su una macchina virtuale

Dettagli

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia

Cos è un algoritmo. Si dice algoritmo la descrizione di un metodo di soluzione di un problema che sia Programmazione Un programma descrive al computer, in estremo dettaglio, la sequenza di passi necessari a svolgere un particolare compito L attività di progettare e realizzare un programma è detta programmazione

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Basic Pascal

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

LINGUAGGI DI ALTO LIVELLO

LINGUAGGI DI ALTO LIVELLO LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2)

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio (1) Linguaggio (2) Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

PROBLEMI E ALGORITMI

PROBLEMI E ALGORITMI Fondamenti di Informatica PROBLEMI E ALGORITMI Fondamenti di Informatica - D. Talia - UNICAL 1 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica

Dettagli

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio

Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Il problema di fondo Fondamenti di Informatica Laurea in Ingegneria Civile e Ingegneria per l ambiente e il territorio Algoritmi

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Il concetto di calcolatore e di algoritmo

Il concetto di calcolatore e di algoritmo Il concetto di calcolatore e di algoritmo Elementi di Informatica e Programmazione Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Informatica

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Laurea in Ingegneria Civile e Ambientale Algoritmi e Algebra di Boole Stefano Cagnoni Il problema di fondo Descrizione

Dettagli

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina

Esempio. Le istruzioni corrispondono a quelle di sopra, ma sono scritte in modo simbolico. E indipendente dalla machina Il compilatore C Astrazione Linguaggio macchina implica la conoscenza dei metodi usati per la rappresentazione dell informazioni nella CPU Linguaggio Assembly è il linguaggio delle istruzioni che possono

Dettagli

Linguaggi e Traduttori: Analisi sintattica

Linguaggi e Traduttori: Analisi sintattica Linguaggi e Traduttori: Analisi sintattica Armando Tacchella Sistemi e Tecnologie per il Ragionamento Automatico (STAR-Lab) Dipartimento di Informatica Sistemistica e Telematica (DIST) Università di Genova

Dettagli

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a

Corso di Matematica per la Chimica. Dott.ssa Maria Carmela De Bonis a.a Dott.ssa Maria Carmela De Bonis a.a. 2013-14 Programmi Un elaboratore riceve dei dati in ingresso, li elabora secondo una sequenza predefinita di operazioni e infine restituisce il risultato sotto forma

Dettagli

CORSO DI INFORMATICA Maria Grazia Celentano

CORSO DI INFORMATICA Maria Grazia Celentano CORSO DI INFORMATICA Maria Grazia Celentano INFORMATICA E PROGRAMMAZIONE L Informatica è definita come la Scienza della Rappresentazione e dell Elaborazione dell informazione o, in altri termini, lo studio

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma

Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma Lezione2i Lezione n. 2i Informatica e tecnologia informatica Sistema di elaborazione Algoritmo Linguaggi di programmazione Realizzazione di un programma Informatica e tecnologia informatica Il termine

Dettagli

I linguaggi di programmazione

I linguaggi di programmazione I linguaggi di programmazione sono stati introdotti per facilitare ai programmatori il compito di scrittura dei programmi Sono linguaggi simbolici, in continua evoluzione Sono definiti da un insieme di

Dettagli

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Cos è l informatica? q È la scienza che si occupa della rappresentazione dell informazione e della sua elaborazione e gestione " Si occupa dell informazione, che fa parte di

Dettagli

Introduzione agli Algoritmi

Introduzione agli Algoritmi Introduzione agli Algoritmi Informatica Sara Zuppiroli A.A. 2012-2013 Informatica () Introduzione agli Algoritmi A.A. 2012-2013 1 / 25 Risoluzione dei problemi Dalla descrizione del problema all individuazione

Dettagli

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota

Corso di Informatica. Problemi ed algoritmi. Ing Pasquale Rota Corso di Problemi ed algoritmi Ing Pasquale Rota Argomenti Problemi ed algoritmi Proprietà degli algoritmi Pseucodice Diagrammi di flusso Problemi ed algoritmi - Ing. Pasquale Rota 2 Proprietà degli algoritmi

Dettagli

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo

Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi. Programmi. Ciclo di sviluppo di programmi. Obiettivo Sommario Obiettivo della programmazione e ciclo di sviluppo di programmi Istruzioni variabili e tipi Sottoprogrammi Strutture di controllo Ricorsione 1 2 Obiettivo Ciclo di sviluppo di programmi Risoluzione

Dettagli

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione

Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio (1) Linguaggio (2) Insieme di sequenze di simboli,

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp.

Barriera di astrazione. Barriera di astrazione. macchina virtuale. non sono quelle della macchina hardware. Algol. Ada. Lisp. Lisp. LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware LINGUAGGI DI ALTO LIVELLO Barriera di astrazione C Fortran Cobol Basic Pascal Python Modula-2

Dettagli

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio

Sommario Linguaggi, messaggi e comunicazione. Introduzione ai Linguaggi di Programmazione. Linguaggio. Messaggio Sommario Linguaggi, messaggi e comunicazione Traduzione di programmi Interpreti e compilatori Introduzione al processo di compilazione 1 2 Linguaggio Messaggio Insieme di sequenze di simboli, le parole,

Dettagli

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio)

Il Concetto Intuitivo di Calcolatore. Esercizio. I Problemi e la loro Soluzione. (esempio) Il Concetto Intuitivo di Calcolatore Elementi di Informatica e Programmazione Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Variabile di uscita Classe di domande

Dettagli

ASTRAZIONE ASTRAZIONE

ASTRAZIONE ASTRAZIONE ASTRAZIONE Esistono linguaggi a vari livelli di astrazione Linguaggio Macchina: implica la conoscenza dei metodi utilizzati per la rappresentazione delle informazioni Linguaggio Macchina e Assembler: implica

Dettagli

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale

Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Laboratorio di Programmazione Laurea in Ingegneria Civile e Ambientale Algoritmi e Programmazione Stefano Cagnoni Il problema

Dettagli

3. Programmi e algoritmi

3. Programmi e algoritmi 3. Programmi e algoritmi Andrea Marongiu (andrea.marongiu@unimore.it) Paolo Valente Contiene slides del corso «Fondamenti di Informatica» del Prof. Montessoro (Università degli Studi di Udine) Recall:

Dettagli

Introduzione - aspetti generali dell informatica

Introduzione - aspetti generali dell informatica Introduzione - aspetti generali dell informatica Vittorio Zaccaria, Daniele Loiacono Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione

Dettagli

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)

ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) 1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano

Dettagli

Linguaggi e Ambienti di Programmazione

Linguaggi e Ambienti di Programmazione Linguaggi e Ambienti di Programmazione Principi e tecniche diffuse che si incontrano spesso nelle applicazioni dell informatica. Compilatori Editor di struttura: riceve in input una sequenza di comandi

Dettagli

Elementi di informatica

Elementi di informatica Elementi di informatica Problemi, algoritmi e programmi 1 L ELABORATORE ELETTRONICO Il calcolatore elettronico è uno strumento in grado di eseguire insiemi di azioni elementari le azioni vengono eseguite

Dettagli

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A ,

Backus Naur Form. Paolo Bison. Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova. BNF, Paolo Bison, A.A , p.1/19 Backus Naur Form Paolo Bison Fondamenti di Informatica 1 A.A. 2004/05 Università di Padova Linguaggio di programmazione p.2/19 strumento linguistico per scrivere una sequenza di istruzioni (programma)

Dettagli

Introduzione alla programmazione strutturata

Introduzione alla programmazione strutturata FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio

Dettagli

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. È uno strumento in grado di eseguire insiemi di azioni elementari.

Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione. È uno strumento in grado di eseguire insiemi di azioni elementari. Esiistono variie defiiniiziionii: Informatica Scienza dei calcolatori elettronici (Computer Science) Scienza dell informazione Defiiniiziione proposta Scienza della rappresentazione e dell elaborazione

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2008/09 Elementi di programmazione Stefano Ferrari UNIVERSITÀ DEGLI STUDI DI MILANO DIPARTIMENTO DI TECNOLOGIE DELL INFORMAZIONE Stefano Ferrari Università

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 09 Linguaggi Sintassi e Semantica Alfonso Miola Ottobre 2009 http://www.dia.uniroma3.it/~java/fondinf/ Linguaggi - Sintassi e Semantica

Dettagli

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?

Dettagli

Informatica Problema Algoritmo Programma

Informatica Problema Algoritmo Programma Informatica Problema Algoritmo Programma 2^ PARTE I linguaggi di programmazione I linguaggi di programmazione si possono suddividere fondamentalmente in tre categorie: 1. Linguaggio Macchina 2. Linguaggio

Dettagli

Fondamenti di Algoritmi

Fondamenti di Algoritmi Fondamenti di Algoritmi Corsi di Informatica Grafica Prof. Manuel Roveri Dipartimento di Elettronica e Informazione roveri@elet.polimi.it Indice Algoritmi: Definizione Diagrammi di Flusso Esempi ed esercizi

Dettagli