Corso di Programmazione Linguaggi di Programmazione. Linguaggio. Messaggio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Programmazione Linguaggi di Programmazione. Linguaggio. Messaggio"

Transcript

1 Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione Linguaggi di Programmazione Dott. Pasquale Lops Università degli Studi di Bari Dipartimento di Informatica Corso di Programmazione - DIB 1/47 Linguaggio Insieme di sequenze di simboli appartenenti ad un definito lessico, posti in sequenza secondo una opportuna grammatica o sintassi) Per descriverlo è necessario un meta-linguaggio Linguaggio che parla di un linguaggio Corso di Programmazione - DIB 2/47 Messaggio Sequenza di frasi espresse in un linguaggio Analizzabile dal punto di vista Sintattico Si verifica la forma linguistica in cui è codificato (sintassi) Semantico Si individua il significato associato alla forma linguistica (semantica) Corso di Programmazione - DIB 3/47

2 Comunicazione Diretta Requisiti per i due interlocutori: l estensore del messaggio al momento della sua formulazione e il ricevitore al momento della ricezione diano al messaggio eguale significato Corso di Programmazione - DIB 4/47 Comunicazione Indiretta Cause: Il ricevitore non conosce il linguaggio usato per la stesura del messaggio Estensore e ricevitore hanno un diverso grado di conoscenza del linguaggio Tra i due mancano adeguate convenzioni per un interpretazione unica del messaggio Occorre un traduttore Corso di Programmazione - DIB 5/47 Programma Messaggio di comunicazione fra l uomo e la macchina Insieme di frasi costruite secondo regole molto rigide Eliminazione di ambiguità nell interpretazione dei comandi da parte della macchina Necessità di linguaggi molto precisi Le istruzioni obbediscono a rigorose regole grammaticali Corso di Programmazione - DIB 6/47

3 Sistema di Calcolo Gerarchia di componenti software e hardware Software applicativo (es. pacchetti ad usi speciali) Insieme di programmi da utilizzare per applicazioni particolari Generalmente scritti in un linguaggio ad alto livello Forniti direttamente da costruttori di computer o ditte specializzate nella produzione di programmi Software di sistema (sistemi operativi, traduttori, ecc.) Insieme dei programmi che forniscono servizi e svolgono funzioni vitali per il software applicativo Hardware (CPU, memorie, dispositivi di I/O, ecc.) Corso di Programmazione - DIB 7/47 Comunicazione Uomo-Macchina Processore nudo La macchina comprende il linguaggio macchina Costituito da un insieme di istruzioni elementari Ogni istruzione è una stringa di cifre binarie che specifica un operazione e la cella di memoria implicata nell operazione Processore vestito Macchina in grado di comprendere un linguaggio di livello superiore Usato per facilitare il compito di programmare la soluzione di un problema Corso di Programmazione - DIB 8/47 Linguaggio Naturale Usato per la comunicazione verbale fra esseri umani Fonti di ambiguità: Evoluzione Neologismi, Arcaismi Polisemia Parole con significati differenti a seconda del contesto Intrinseca una vecchia porta la sbarra Inadatto alla comunicazione con la macchina Corso di Programmazione - DIB 9/47

4 Linguaggi di Programmazione A basso livello Più vicini alla struttura reale della macchina ed al suo linguaggio Ad alto livello Più vicini al linguaggio dei problemi Più facili da comprendere per l uomo Portabili Utilizzabili, senza modifiche, su diversi tipi di macchine Corso di Programmazione - DIB 10/47 Linguaggi di Programmazione ad alto livello Procedurali Descrivono i passi necessari per ottenere i risultati desiderati come Basati sui concetti di Variabile Assegnamento Non procedurali Esprimono le proprietà dei risultati che si vogliono ottenere cosa Esempio Radice quadrata di y Quel valore x tale che x*x = y Corso di Programmazione - DIB 11/47 Linguaggi di Programmazione Sintassi L insieme delle regole che indicano quali sono le istruzioni formali permesse Poche, semplici, rigide Il programma va accuratamente controllato dal punto di vista formale per garantire la correttezza sintattica Codifica ambigua o non interpretabile Controllo delegato al traduttore Corso di Programmazione - DIB 12/47

5 Linguaggi di Programmazione Semantica Riguarda il contenuto informativo ed il significato di una frase Il lavoro più grosso è verificare e controllare il programma sul fronte logico per garantire la correttezza a livello semantico Informazione trasmessa non corrispondente allo scopo desiderato Connessa all analisi del problema e l algoritmo Corso di Programmazione - DIB 13/47 Sintassi e Semantica Esempio Io ho andato Errata sintatticamente La penna sta mangiando Corretta sintatticamente Forma Errata semanticamente Significato Corso di Programmazione - DIB 14/47 Traduttore Programma che traduce in linguaggio macchina programmi in un linguaggio di livello superiore Analizza i messaggi (comandi) e verifica che siano scritti (codificati) in un linguaggio a lui noto Correttezza sintattica Attribuisce alle sequenze di simboli l opportuno significato in modo da eseguire le giuste azioni Interpretazione unica di ogni istruzione Fa parte del software di sistema Livello intermedio della gerarchia software-hardware Corso di Programmazione - DIB 15/47

6 Traduttori Nei programmi ad alto livello operano su due tipi di entità: Istruzioni Molto più potenti che nel linguaggio macchina Strutture di dati (liste, sequenze, alberi, ecc.) Non direttamente disponibili al livello di linguaggio macchina Devono essere rappresentate in termini di bit, indirizzi e legami tra locazioni Corso di Programmazione - DIB 16/47 Traduttori Processore vestito Linguaggio di Traduzione Programmazione Processore nudo Linguaggio Macchina Interpreti Compilatori Specifici per ogni linguaggio Forniti entrambi dai sistemi di sviluppo del software per i linguaggi supportati Corso di Programmazione - DIB 17/47 Interpretazione Dopo l analisi sintattica, la traduzione procede passo passo con l esecuzione Traduzione ed esecuzione istruzione per istruzione Ogni istruzione tradotta tante volte quante viene eseguita Programma Dati Interprete Risultati Corso di Programmazione - DIB 18/47

7 Compilazione Il programma originale (Sorgente) è analizzato sintatticamente e tradotto in codice oggetto, quindi eseguito Traduzione completamente effettuata prima che cominci l esecuzione Ogni istruzione è tradotta una sola volta Programma Dati Compilatore Codice Oggetto Macchina Fisica Risultati Corso di Programmazione - DIB 19/47 Interpreti vs. Compilatori Programma sorgente residente in memoria + Semplici Efficienti Tempo e Spazio + Interattivi + Errori comprensibili Riferiti al sorgente Programma sorgente non residente in memoria + Ottimizzabili + Efficienti Tempo e Spazio Interattivi + Errori scoperti prima Riferiti al codice oggetto Corso di Programmazione - DIB 20/47 Processo di Compilazione Fasi Analisi Lessicale Divisione della stringa di caratteri del programma in token Segni di interpunzione, nomi di dati, operatori, parole riservate Analisi Sintattica Definizione della struttura sintattica del programma usando le regole grammaticali del linguaggio Generazione del Codice Generazione di appropriate istruzioni in linguaggio macchina per ogni elemento sintattico del programma L insieme finale di queste istruzioni è il programma oggetto Corso di Programmazione - DIB 21/47

8 Processo di Compilazione Le fasi sono tra loro interrelate I moduli di programma responsabili dell analisi sintattica possono utilizzare I moduli dell analisi lessicale per ottenere un token I moduli di generazione del codice per produrre il codice oggetto dell istruzione analizzata Per capire come vengono effettuate le analisi è necessaria la teoria dei linguaggi Corso di Programmazione - DIB 22/47 Alfabeto Insieme finito e non vuoto di simboli primitivi (caratteri) tramite i quali è possibile costruire gli elementi base del linguaggio Esempio: Alfabeto dei numeri reali A = {1, 2, 3, 4, 5, 6, 7, 8, 9, 0, +,,.} Corso di Programmazione - DIB 23/47 Concatenazione di Simboli di un alfabeto L oggetto ottenuto prendendo nell ordine i simboli da concatenare Esempio: Dato l alfabeto per i numeri reali La concatenazione di 3 e 4 è 34 La concatenazione di +, 4, 7,. e 5 è La concatenazione di 4,., 7,. e 5 è 4.7.5!!!! Non tutte le sequenze di simboli che si possono costruire sono frasi significative del linguaggio Corso di Programmazione - DIB 24/47

9 Stringa o Parola su un alfabeto Sequenza di simboli ottenuta come concatenazione di un numero finito di elementi dell alfabeto Λ denota la stringa non contenente alcun simbolo (parola vuota) La concatenazione di due parole Parola formata dai simboli della prima seguiti da quelli della seconda Esempi: Λp = pλ = p per ogni parola p la concatenazione di +3 con 4.5 è Corso di Programmazione - DIB 25/47 Prodotto di Insiemi di Parole su un alfabeto Insieme ottenuto concatenando ogni parola di un insieme con ogni parola dell altro Esempio: concatenando {1, 21, 1.4} con {2, 398} si ottiene {12, 1398, 212, 21398, 1.42, } Corso di Programmazione - DIB 26/47 Potenza di un Alfabeto A A è un particolare insieme di parole su A Si possono considerare i prodotti AA AAA Esempio: per l alfabeto dei numeri reali fanno parte di A Le ultime due stringhe non fanno parte dei numeri reali Corso di Programmazione - DIB 27/47

10 A n Potenza di un Alfabeto A Parole costituite da n simboli dell alfabeto A A 0 = {Λ} A 1 = A A 2 = AA A 3 = AAA n è detta lunghezza della parola Corso di Programmazione - DIB 28/47 Chiusura di un Alfabeto A Bisogna delimitare l universo linguistico esprimibile Tutte le possibili parole di lunghezza finita costituite da simboli dell alfabeto A + = A 1 A 2 A n Insieme di tutte le parole su A di lunghezza finita Unione di tutti gli insiemi di parole di varia lunghezza A * = {Λ} A + Chiusura di A Corso di Programmazione - DIB 29/47 Linguaggio su un alfabeto A Un sottoinsieme di A * Tra le parole di A * ci sono parole ammesse nel linguaggio e parole non ammesse Linguaggio Generato da una Grammatica Insieme delle frasi costruite, a partire dall alfabeto, secondo le regole specificate da una grammatica Corso di Programmazione - DIB 30/47

11 Simboli Non Terminali Non fanno parte dell alfabeto Sono variabili Rappresentano opportune sequenze di simboli Nomi che specificano le categorie sintattiche Componenti delle frasi del linguaggio generato dalla grammatica Il loro insieme è detto alfabeto dei simboli non terminali Su di esso è costruito il metalinguaggio Corso di Programmazione - DIB 31/47 Simboli Non Terminali Esempio Linguaggio naturale Parole classificate in frase, soggetto, predicato, articolo, nome, verbo, ecc. <soggetto > <articolo> <nome> il cane Linguaggio algebrico <formula> <variabile> = <espressione aritmetica> x = y + z * 12 Corso di Programmazione - DIB 32/47 Regola o Produzione Coppia ordinata di parole (p, q) tale che, se A è l alfabeto dei simboli terminali N è l alfabeto dei simboli non terminali p e q possono appartenere tanto ad A* N* Scriviamo p q la stringa p produce la stringa q la stringa p può essere riscritta come q p ( Λ) è detta parte sinistra q è detta parte destra Corso di Programmazione - DIB 33/47

12 Regola o Produzione Convenzione Le parti destre di produzioni con la stessa parte sinistra si possono riunire come alternative in un unica parte destra, separate col simbolo ( oppure ) Esempio p q p r p s p t si può compattare in p q r s t Corso di Programmazione - DIB 34/47 Grammatica Insieme delle regole che consentono di definire, tra tutte le possibili sequenze di simboli di lunghezza finita che si possono costruire, quelle lecite (frasi) Le regole di formazione delle frasi del linguaggio si dicono regole di produzione Coinvolgono simboli dell alfabeto ed altri simboli che rappresentano categorie sintattiche Corso di Programmazione - DIB 35/47 Grammatica Quadrupla [Chomsky] G = < A, N, α, P > A alfabeto terminale N alfabeto non terminale α scopo della grammatica (simbolo di partenza) P insieme delle regole di produzione Corso di Programmazione - DIB 36/47

13 Grammatica Esempio Grammatica che genera il linguaggio dei numeri pari A = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} N = {α, β} α indica il numero pari Scopo per cui costruiamo la grammatica β indica un numero qualunque P = { α βα , β β0 β1 β2 β8 β9 } Corso di Programmazione - DIB 37/47 Grammatica Esempio A = {il, la, cane, donna, mangia, dorme} N = { <frase>, <soggetto>, <articolo>, <nome>, <verbo>} α = <frase> P = { <frase> <soggetto> <verbo> <soggetto> il <nome> la <nome> il <nome> il cane la <nome> la donna <verbo> dorme mangia } Corso di Programmazione - DIB 38/47 Generazione di Stringhe Una stringa di terminali e non, S 1, genera un altra stringa S 2 Direttamente (S 1 S 2 ) Indirettamente (S 1 * S 2 ) se quest ultima si ottiene dalla prima applicando Una produzione Una sequenza di produzioni della grammatica Corso di Programmazione - DIB 39/47

14 Forma (Normale) di Backus-Naur BNF Notazione per scrivere la grammatica Usata per specificare la sintassi di un linguaggio di programmazione Simboli non terminali scritti fra parentesi angolari < > Simbolo sostituito da ::= Corso di Programmazione - DIB 40/47 Forma di Backus-Naur Esempio Grammatica per i numeri pari (infiniti) <numero pari>::= <numero><numero pari> <numero> ::= <numero> 0 <numero> è ottenibile? <numero pari>::= <numero><numero pari> ::= <numero>2 ::= <numero>32 ::= <numero>932 ::= <numero>4932 ::= Corso di Programmazione - DIB 41/47 Forma di Backus-Naur Esempio Grammatica per le stringhe palindrome Simmetria speculare <frase> ::= Λ <frase> ::= a<frase>a <frase> ::= b<frase>b È possibile derivare infinite stringhe Corso di Programmazione - DIB 42/47

15 Carte Sintattiche Grafi costituiti da blocchi uniti da frecce Blocchi arrotondati Simboli terminali del linguaggio Blocchi rettangolari Simboli non terminali Rimandi alla corrispondente carta sintattica Frecce Indicano le vie percorribili per costrutti validi I bivi rappresentano possibilità alternative Corso di Programmazione - DIB 43/47 Carte Sintattiche Iniziando dalla carta principale, seguire le frecce Quando si dipartono scegliere una strada Attraversando un blocco arrotondato Trascriverne il contenuto Attraversando un blocco rettangolare, passare alla carta corrispondente e seguirla Ogni carta ha esattamente un inizio e una fine, come il blocco Corso di Programmazione - DIB 44/47 Carte Sintattiche Ogni traiettoria percorsa nel verso delle frecce definisce un costrutto sintattico valido del linguaggio Tutti i simboli terminali incontrati nel percorso ed in quella data sequenza costituiscono una frase legale del linguaggio Corso di Programmazione - DIB 45/47

16 Carte Sintattiche Esempio Corso di Programmazione - DIB 46/47 Carte Sintattiche Esempio Identificatore: Lettera seguita (eventualmente) da lettere o cifre <identificatore> ::= <lettera> <lettera><stringa alfanumerica> <stringa alfanumerica> ::= <lettera> <cifra> <lettera><stringa alfanumerica> <cifra><stringa alfanumerica> <lettera> ::= a b c d e f g h z <cifra> ::= lettera lettera cifra Corso di Programmazione - DIB 47/47

Corso di Programmazione Linguaggi di Programmazione

Corso di Programmazione Linguaggi di Programmazione Corso di Programmazione Linguaggi di Programmazione Dott. Stefano Ferilli ferilli@di.uniba.it Università degli Studi di Bari Dipartimento di Informatica Linguaggio Insieme di sequenze di simboli appartenenti

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

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

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

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

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

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

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

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

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd

Fondamenti d Informatica: linguaggi formali. Barbara Re, Phd Fondamenti d Informatica: linguaggi formali Barbara Re, Phd Agenda } Introdurremo } La nozione di linguaggio } Strumenti per definire un linguaggio } Espressioni Regolari 2 Linguaggio } Da un punto di

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

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

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

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

Grammatiche Parse trees Lezione del 17/10/2012

Grammatiche Parse trees Lezione del 17/10/2012 Fondamenti di Programmazione A.A. 2012-2013 Grammatiche Parse trees Lezione del 17/10/2012 AUTILI MARCO http://www.di.univaq.it/marco.autili/ Riassunto lezione precedente Sintassi vs Semantica Stringhe,

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

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione

Grammatiche. Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Grammatiche Grammatiche libere da contesto Grammatiche regolari Potenza delle grammatiche libere e regolari Struttura di frase: Alberi di derivazione Esempio dei numeri interi Si consideri il linguaggio

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

Descrizione delle operazioni di calcolo. Espressioni costanti semplici

Descrizione delle operazioni di calcolo. Espressioni costanti semplici Descrizione delle operazioni di calcolo Come abbiamo detto l interprete è in grado di generare nuovi valori a partire da valori precedentemente acquisiti o generati. Il linguaggio di programmazione permette

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

Teoria dell Informazione

Teoria dell Informazione Corso di Laurea Magistrale in Scienze dell Informazione Editoriale, Pubblica e Sociale Teoria dell Informazione Cosa è l informazione L informazione è qualcosa che si possiede e si può dare ad un altro

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

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

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 linguaggio di programmazione Python

Il linguaggio di programmazione Python Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani (liverani@mat.uniroma3.it)

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

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser.

Analizzatore lessicale o scanner. Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Analizzatore lessicale o scanner Dispensa del corso di Linguaggi e Traduttori A.A. 2005-2006 Lo scanner rappresenta un'interfaccia fra il programma sorgente e l'analizzatore sintattico o parser. Lo scanner,

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio

Corso di Linguaggi di Programmazione + Laboratorio Corso di inguaggi di Programmazione + aboratorio Capitolo 1 - Introduzione Si ringrazia il Dott. Marco de Gemmis per la collaborazione nella predisposizione del materiale didattico Apprendimento di un

Dettagli

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi

Informatica Generale Andrea Corradini Gli algoritmi e la risoluzione di problemi Informatica Generale Andrea Corradini 12 - Gli algoritmi e la risoluzione di problemi Sommario Che significa risolvere un problema? Algoritmi e programmi Rappresentazione di algoritmi Lo pseudocodice Primitive

Dettagli

Unità di apprendimento 6. Dal problema al programma

Unità di apprendimento 6. Dal problema al programma Unità di apprendimento 6 Dal problema al programma Unità di apprendimento 6 Lezione 1 Conosciamo gli algoritmi e i linguaggi In questa lezione impareremo: cos è un problema come affrontarlo come descrivere

Dettagli

Espressività e limitazioni delle grammatiche regolari

Espressività e limitazioni delle grammatiche regolari Espressività e limitazioni delle grammatiche regolari Vantaggi: Le grammatiche regolari consentono di esprimere una significativa classe di linguaggi: linguaggi con un numero di sequenze infinito grazie

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

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

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione di Cassino e del Lazio Meridionale Corso di Informatica Linguaggi di Programmazione Anno Accademico 2014/2015 Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I A.A. 2012-2013 Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica

Dettagli

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe.

Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. Problema: dati i voti di tutti gli studenti di una classe determinare il voto medio della classe. 1) Comprendere il problema 2) Stabilire quali sono le azioni da eseguire per risolverlo 3) Stabilire la

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

Introduzione al funzionamento di un calcolatore elettronico

Introduzione al funzionamento di un calcolatore elettronico 1 / 21 Introduzione al funzionamento di un calcolatore elettronico Natascia Piroso 23 settembre 2009 2 / 21 Sommario Che cos è un calcolatore? 1 Che cos è un calcolatore? Definizioni preliminari Il calcolatore

Dettagli

Concetti di base dell ICT

Concetti di base dell ICT Informatica Linguaggio di programmazione Computer Bit Algoritmo Linguaggio macchina Informatica: Informazione automatica Gli anglosassoni usano il termine Computer Science = Scienza dei Calcolatori Computer:

Dettagli

Corso di Programmazione Record e Insiemi. Record. Record. Dott. Pasquale Lops.

Corso di Programmazione Record e Insiemi. Record. Record. Dott. Pasquale Lops. Materiale didattico preparato dal dott. Stefano Ferilli Corso di Programmazione e Insiemi Dott. Pasquale Lops lops@di.uniba.it Corso di Programmazione - DIB 1/14 Registra in una n-pla di dati le principali

Dettagli

LA CODIFICA DELLE INFORMAZIONI

LA CODIFICA DELLE INFORMAZIONI LA CODIFICA DELLE INFORMAZIONI Linguaggio Elaborazione delle informazioni: operazioni che possono essere effettuate sulle informazioni: inserimento, archiviazione, modifica, ordinamento, calcolo, ecc.

Dettagli

Proprietà dei linguaggi non contestuali

Proprietà dei linguaggi non contestuali Proprietà dei linguaggi non contestuali Argomenti della lezione Pumping lemma per i linguaggi non contestuali Proprietà di chiusura Argomenti della lezione Grammatiche non contestuali in forma ridotta

Dettagli

Sviluppo di programmi

Sviluppo di programmi Sviluppo di programmi Per la costruzione di un programma conviene: 1. condurre un analisi del problema da risolvere 2. elaborare un algoritmo della soluzione rappresentato in un linguaggio adatto alla

Dettagli

La codifica digitale

La codifica digitale La codifica digitale Codifica digitale Il computer e il sistema binario Il computer elabora esclusivamente numeri. Ogni immagine, ogni suono, ogni informazione per essere compresa e rielaborata dal calcolatore

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Linguaggi di Programmazione Programmazione. Insieme delle attività e tecniche svolte per creare un programma (codice sorgente) da far eseguire ad un computer. Che lingua comprende

Dettagli

Il Software programmabili programma algoritmo

Il Software programmabili programma algoritmo Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia

Dettagli

Cos è la programmazione?

Cos è la programmazione? La programmazione Cos è la programmazione? Termine usato per indicare le attività che trasformano l esigenza di risolvere un Problema in un Programma, inteso come sistema informatico capace di risolvere

Dettagli

Introduzione alla programmazione. Walter Didimo

Introduzione alla programmazione. Walter Didimo Introduzione alla programmazione Walter Didimo Programmi Un programma è una frase (anche molto lunga) che descrive delle azioni che devono essere svolte da un calcolatore La frase deve essere dettagliata

Dettagli

Concetti Introduttivi. Il Computer

Concetti Introduttivi. Il Computer Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta

Dettagli

Parole note, nuovi significati: linguaggio, determinismo e infinito

Parole note, nuovi significati: linguaggio, determinismo e infinito Parole note, nuovi significati: linguaggio, determinismo e infinito Angelo Montanari Dipartimento di Matematica e Informatica Università degli Studi di Udine Ciclo di seminari su un Vocabolario Filosofico

Dettagli

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis

Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Corso di Linguaggi di Programmazione + Laboratorio Docente: Marco de Gemmis Capitolo 2 Grammatiche e Linguaggi Si ringraziano il Prof. Giovanni Semeraro e il Dott. Pasquale Lops per la concessione del

Dettagli

Le grammatiche formali

Le grammatiche formali Le grammatiche formali Il carattere generativo dei sistemi linguisticii i Consideriamo i la seguente frase: Un gatto rincorre il topo Non facciamo difficoltà a riconoscere che si tratta di una frase sintatticamente

Dettagli

I.4 Rappresentazione dell informazione

I.4 Rappresentazione dell informazione I.4 Rappresentazione dell informazione Università di Ferrara Dipartimento di Economia e Management Insegnamento di Informatica Ottobre 13, 2015 Argomenti Introduzione 1 Introduzione 2 3 L elaboratore Introduzione

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 Un po di storia sui linguaggi 1957 John Backus e colleghi della IBM rilasciano la prima

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

CONCETTI FONDAMENTALI

CONCETTI FONDAMENTALI CONCETTI FONDAMENTALI Algoritmo Procedura di trasformazione di un insieme di dati iniziali in un insieme di risultati finali mediante una sequenza di istruzioni. Linguaggio di programmazione Programma

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

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve

GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE. Cosimo Laneve GRAMMATICHE DEI LINGUAGGI DI PROGRAMMAZIONE Cosimo Laneve 1 argomenti 1. linguaggi di programmazione 2. definizione formale di insiemi infiniti 3. la grammatica e la notazione BNF 4. notazioni alternative

Dettagli

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1

Il linguaggio C. Prof. E. Occhiuto INFORMATICA 242AA a.a. 2010/11 pag. 1 Il linguaggio C I linguaggi di programmazione ad alto livello sono linguaggi formali ( sintassi e semantica formalmente definite) però sono compatti e comprensibili. Le tipologie di linguaggi sono: procedurali

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

Programmazione. Marco Anisetti. Università degli Studi di Milano, Dipartimento di Informatica

Programmazione. Marco Anisetti. Università degli Studi di Milano, Dipartimento di Informatica Programmazione Marco Anisetti Università degli Studi di Milano, Dipartimento di Informatica marco.anisetti@unimi.it http://homes.di.unimi.it/anisetti/ Marco Anisetti - 1 / 40 Riepilogo lezione 1 Ruolo

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Per risolvere il problema

Dettagli

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Il software: dal linguaggio alla applicazione Unità di apprendimento 6 Lezione 2 Conosciamo i linguaggi di programmazione In questa lezione impareremo: che cos è un linguaggio

Dettagli

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1

Modulo 1. Concetti base della Tecnologia dell informazione. Prof. Nicolello Cristiano. Modulo 1 Concetti base della Tecnologia dell informazione Algoritmi Come interpreta un computer un problema? Algoritmi Algoritmo: sequenza ordinata di istruzioni per risolvere un problema (tradotto: sequenza di

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

Espressioni e Comandi

Espressioni e Comandi Espressioni e Comandi March 24, 2017 Elementi di Base dei Programmi Ricordate? Macchina Astratta: Insieme di algoritmi e strutture dati che permettono di memorizzare ed eseguire programmi Abbiamo parlato

Dettagli

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java

Università degli studi Roma Tre. linguaggio Java. A cura di A. Orlandini. Linguaggi: Sintassi e Semantica - Il. Il linguaggio Java Università degli studi Roma Tre Linguaggi: Sintassi e Semantica Il A cura di A. Orlandini 1 Obiettivi Distinguere la sintassi dalla semantica di un linguaggio Conoscere le convenzioni del meta-linguaggio

Dettagli

Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto

Linguaggi Liberi dal Contesto. Linguaggi Liberi dal Contesto rammatiche e Linguaggi Liberi da Contesto Abbiamo visto che molti linguaggi non sono regolari. Consideriamo allora una classe piu ampia di linguaggi, i Linguaggi Liberi da Contesto (CFL) i CFL sono stati

Dettagli

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso

Dettagli

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1

acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 acuradi Luca Cabibbo e Walter Didimo Esercizi di Informatica teorica - Luca Cabibbo e Walter Didimo 1 richiami teorici sulle grammatiche di Chomsky esercizivari esercizi su grammatiche ed espressioni regolari

Dettagli

PROBLEMI ALGORITMI E PROGRAMMAZIONE

PROBLEMI ALGORITMI E PROGRAMMAZIONE PROBLEMI ALGORITMI E PROGRAMMAZIONE SCIENZE E TECNOLOGIE APPLICATE CLASSE SECONDA D PROGRAMMARE = SPECIFICARE UN PROCEDIMENTO CAPACE DI FAR SVOLGERE AD UNA MACCHINA UNA SERIE ORDINATA DI OPERAZIONI AL

Dettagli

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio

MODULO 1. Prof. Onofrio Greco. Prof. Greco Onofrio ECDL MODULO 1 Prof. Onofrio Greco Modulo 1 Concetti di base dell ICT Modulo 2 Uso del Computer e Gestione dei File Modulo 3 - Elaborazione testi Modulo 4 Foglio Elettronico Modulo 5 Uso delle Basi di Dati

Dettagli

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl

Linguaggi di programmazione - Principi e paradigmi 2/ed Maurizio Gabbrielli, Simone Martini Copyright The McGraw-Hill Companies srl Approfondimento 2.1 Non è questo il testo dove trattare esaurientemente queste tecniche semantiche. Ci accontenteremo di dare un semplice esempio delle tecniche basate sui sistemi di transizione per dare

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - D. Talia - UNICAL 1. Fondamenti di Informatica Fondamenti di Informatica INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica - Programma Un programma è una formulazione

Dettagli

Informatica Generale Andrea Corradini I linguaggi di programmazione

Informatica Generale Andrea Corradini I linguaggi di programmazione Informatica Generale Andrea Corradini 17 - I linguaggi di programmazione Sommario Cos'è un linguaggio di programmazione? Una prospettiva storica: linguaggi di prima, seconda e terza generazione I paradigmi

Dettagli

Sistemi di Elaborazione delle Informazioni

Sistemi di Elaborazione delle Informazioni SCUOLA DI MEDICINA E CHIRURGIA Università degli Studi di Napoli Federico II Corso di Sistemi di Elaborazione delle Informazioni Dott. Francesco Rossi a.a. 2016/2017 1 I linguaggi di programmazione e gli

Dettagli

Espressioni Regolari

Espressioni Regolari Espressioni Regolari Le espressioni regolari sono costituite dalle stringhe sull alfabeto Σ = Σ {+,,*,(,),φ} ottenute secondo le seguenti regole: 1. φ e ciascun membro di Σ sono Epressioni Regolari 2.

Dettagli

Programmazione C Massimo Callisto De Donato

Programmazione C Massimo Callisto De Donato Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato massimo.callisto@unicam.it www.cs.unicam.it/massimo.callisto LEZIONE

Dettagli

Algoritmi. Pagina 1 di 5

Algoritmi. Pagina 1 di 5 Algoritmi Il termine algoritmo proviene dalla matematica e deriva dal nome di in algebrista arabo del IX secolo di nome Al-Khuwarizmi e sta ad indicare un procedimento basato su un numero finito operazioni

Dettagli

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi

Lezione 8. Soluzione di un problema Problema. Soluzione di un problema. Comprensione del Problema. Analisi. Introduzione agli algoritmi Lezione 8 Introduzione agli algoritmi Lezione tratta dal libro: D. Sciuto, G. Buonanno, W. Fornaciari, L. Mari Introduzione ai sistemi informatici Seconda Edizione, McGraw-Hill Capitolo 2: La formalizzazione

Dettagli

Corso di Informatica Modulo T2 1 - Linguaggi e macchine

Corso di Informatica Modulo T2 1 - Linguaggi e macchine Corso di Informatica Modulo T2 1 - Linguaggi e macchine 1 Prerequisiti Principi della comunicazione Rappresentazione simbolica Calcolo delle combinazioni di n oggetti a gruppi di k Dati e istruzioni Utilizzo

Dettagli

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione Corso di Fondamenti di Informatica Linguaggi di Programmazione Anno Accademico Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di

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 e Linguaggi

Algoritmi e Linguaggi Algoritmi e Linguaggi Programmi e linguaggi Un calcolatore è solo un esecutore rapidissimo di istruzioni Un programma è un insieme di istruzioni codificate in un opportuno linguaggio 2 / 21 Linguaggi e

Dettagli

Corso di Informatica di Base

Corso di Informatica di Base Corso di Informatica di Base A.A. 2011/2012 Algoritmi e diagrammi di flusso Luca Tornatore Cos è l informatica? Calcolatore: esecutore di ordini o automa Programma: insieme di istruzioni che possono essere

Dettagli

Codifica dell informazione

Codifica dell informazione Codifica dell informazione Gli algoritmi sono costituiti da istruzioni (blocchi sequenziali, condizionali, iterativi) che operano su dati. Per trasformare un programma in una descrizione eseguibile da

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Le basi del linguaggio Java Aprile 2010 Le basi del linguaggio Java 1 Prerequisiti Nozioni generali sulla sintassi e semantica del

Dettagli

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012

Fondamenti di Informatica - 1. Prof. B.Buttarazzi A.A. 2011/2012 Fondamenti di Informatica - 1 Prof. B.Buttarazzi A.A. 2011/2012 Sommario Rappresentazione dei numeri naturali (N) Rappresentazione dei numeri interi (Z) Modulo e segno In complemento a 2 Operazioni aritmetiche

Dettagli

Lezione 16. Il Software di base

Lezione 16. Il Software di base Lezione 16 Software di base Il Software di base Con il termine software di base si intende l insieme dei programmai che consentono ad un utente di eseguire operazioni base come costruire e mandare in esecuzione

Dettagli

Costanti e Variabili

Costanti e Variabili Parte 3 Costanti e Variabili Identificatori Un identificatore è un nome che viene associato a diverse entità (costanti, tipi, variabili, funzioni, ecc.) e serve ad identificare la particolare entità Gli

Dettagli

Programmazione Procedurale in Linguaggio C++

Programmazione Procedurale in Linguaggio C++ Programmazione Procedurale in Linguaggio C++ Elementi di Base Parte 1 Introduzione G. Mecca M. Samela Università della Basilicata Elementi di Base >> Sommario Sommario Linguaggi di Programmazione Sintassi

Dettagli

Fondamenti VBA. Che cos è VBA

Fondamenti VBA. Che cos è VBA Fondamenti VBA Che cos è VBA VBA, Visual Basic for Application è un linguaggio di programmazione, inserito nelle applicazioni Office di Microsoft (Ms Word, Ms Excel, Ms PowerPoint, Visio). VBA è una implementazione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Programmazione L attività con cui si predispone l elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema Dati Input

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Linguag gi, Codifica e Rappresentazione dell Informazione P r o f. R a f fa e l e P i z zo l a n t e A. A. 2 0 1 6 / 1 7 Cosa abbiamo visto la volta scorsa Gli elaboratori sono

Dettagli

Rappresentazione dei numeri interi in un calcolatore

Rappresentazione dei numeri interi in un calcolatore Corso di Calcolatori Elettronici I Rappresentazione dei numeri interi in un calcolatore Prof. Roberto Canonico Università degli Studi di Napoli Federico II Dipartimento di Ingegneria Elettrica e delle

Dettagli

Lezione 1. Problemi Algoritmi Programmi

Lezione 1. Problemi Algoritmi Programmi Lezione 1 Problemi Algoritmi Programmi Programmazione I Paolo Valente - 2016/2017 Il problema... della tigella emiliana Avete invitato a cena degli amici stranieri e volete fare provare loro le tigelle

Dettagli