FONDAMENTI DI INFORMATICA

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "FONDAMENTI DI INFORMATICA"

Transcript

1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Fondamenti di Informatica -Obiettivi L obiettivo del corso e' lo studio delle metodologie di base della programmazione dei calcolatori e della loro applicazione nello sviluppo di moduli software in Java che utilizzino tipi di dati semplici ed array. Prof. Angela Bonifati bonifati@icar.cnr.it A.A Facoltà di Ingegneria UNICAL Il corso introduce alle tematiche relative alla programmazione ad oggetti. Crediti : 4 CFU. 1 2 Fondamenti di Informatica - Orario Periodo: 12 Gennaio 12 Marzo. Ogni settimana 3 ore di lezione e 2 di esercitazione. In totale 25 ore di lezione e 12 ore di esercitazioni. Ore aggiuntive di tutoraggio (opzionali) Fondamenti di Informatica - Programma Introduzione alla programmazione e all organizzazione dei calcolatori Risoluzione algoritmica dei problemi. Correttezza ed altre proprietà degli algoritmi. Algoritmi e programmi. Livelli di astrazione e linguaggi. Ricevimento Docente: Lunedi 15:30-17:30 DEIS, cubo 41c,1 piano. 3 4 Fondamenti di Informatica - Programma Programmazione su tipi semplici Fondamenti di Informatica - Programma Metodi e programmazione con array Introduzione alla programmazione orientata agli oggetti. Codifica di algoritmi in programmi Java. Struttura di un programma: costanti, variabili, tipi, classi, oggetti, costruttori. Istruzioni semplici e tipi predefiniti. Compatibilità di tipo nella assegnazione. Operazioni di ingresso/uscita. Istruzioni per il controllo del flusso di elaborazione. Sviluppo incrementale di programmi. Concetto di funzione e procedura. Metodi in Java. Esecuzione di metodi e passaggio dei parametri. Il costruttore di tipo array. Tipi array monodimensionali, Tipi array multidimensionali, manipolazione di array. Gestione di vettori e matrici. 5 6

2 Fondamenti di Informatica - Programma Tecniche di programmazione Proprietà delle classi e degli oggetti. Semplici algoritmi di ricerca. Tecniche di ordinamento di vettori. CENNI di Gerarchia di classi. Classi per la gestione di file. Classi per la gestione di vettori e stringhe. 7 Fondamenti di Informatica Materiale didattico Lucidi delle lezioni e programmi svolti nelle esercitazioni. Sito web : con i lucidi in formato PDF. Materiale disponibile anche su icampus: ( Sito E-learning: CD-ROM L ambiente JDK, esempi di programmazione, libreria di input e altro materiale. 8 Fondamenti di Informatica Testi Libri su Java L.Cabibbo, Fondamenti di Informatica: Oggetti e Java, McGraw-Hill, 2003 (consigliato). M. Bertacca, A. Guidi, Introduzione a Java, McGraw-Hill. K. Arnold, J. Gosling, Java Didattica e Programmazione, Addison- Wesley. J. Hubbard, Programmare in Java, McGraw-Hill Libri Italia. L. Lemay, R. Cadanhead, Java 2 Guida Completa, Apogeo. C.S. Horstmann, Concetti di Informatica e Fondamenti di Java 2, Apogeo. C.T. Wu, Introduzione alla Programmazione a Oggetti in JAVA, McGraw-Hill, Fondamenti di Informatica Libri Consultazione e approfondimenti D. Sciuto, ed altri, Introduzione ai sistemi informatici, McGraw-Hill. S. Ceri, D. Mandrioli, L. Sbattella: Istituzioni di informatica, McGraw- Hill. S. Ceri, D. Mandrioli, L. Sbattella: Informatica: arte e mestiere, McGraw-Hill. 10 Fondamenti di Informatica Modalità di esame Propedeuticità : l esame può essere sostenuto da chi ha superato l esame di Introduzione all Informatica. L esame prevede lo svolgimento di Una prova scritta di programmazione Java in aula con possibilità del voto massimo. Una prova orale facoltativa sugli argomenti del programma con la possibilità di miglioramento del voto dello scritto. La prova orale è obbligatoria per chi riporta un voto allo scritto compreso nell'intervallo chiuso (15,17). Richiami di concetti di base: Calcolatore Calcolatore Elettronico - Computer: Strumento per la rappresentazione e l'elaborazione dell'informazione oppure Esecutore di algoritmi. Il Calcolatore è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati) l esecuzione di azioni viene richiesta all elaboratore attraverso frasi scritte in un qualche linguaggio (istruzioni)

3 Richiami di concetti di base: Algoritmo Concetto di Algoritmo Sequenza finita e non ambigua di passi che portano alla realizzazione di un compito in tempo finito. Proprietà fondamentali Eseguibilità: ogni azione deve essere eseguibile da parte dell esecutore dell algoritmo 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. Richiami di concetti di base: Algoritmo Quindi un 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. Altre proprietà desiderabili: Correttezza, Efficienza, Leggibilità, modificabilità, 13 modularità, riusabilità. 14 Programmazione È l'attività con cui definiscono le operazioni che servono a predisporre l'elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema. Cosa è la Programmazione La programmazione è l attività di progettare e realizzare una programma, cioè definire le istruzioni che indicano ad un calcolatore i passi da eseguire per risolvere un problema. Programma Sequenza di istruzioni di un linguaggio di programmazione comprensibile al calcolatore che realizzano un compito o risolvono un problema. Usare un computer non necessariamente richiede una attività di programmazione. Tuttavia imparare a programmare un computer è una delle attività principali in informatica ed è utile a progettare e realizzare soluzioni a problemi in numerosi settori PROGRAMMA : È la descrizione di un algoritmo in un particolare linguaggio di programmazione. METODO DI RISOLUZIONE LINGUAGGIO Quali parole chiave? Quali dati? Quali operazioni elementari? Quali meccanismi di combinazione? Un linguaggio di programmazione è una notazione formale per descrivere algoritmi che è comprensibile ad un calcolatore

4 SINTASSI e SEMANTICA Ogni linguaggio è caratterizzato da: sintassi: l insieme di regole formali per la scrittura di programmi in quel linguaggio, che dettano le modalità per costruire frasi corrette nel linguaggio stesso. semantica: l insieme dei significati da attribuire alle frasi (sintatticamente corrette) costruite nel linguaggio. Una frase può essere sintatticamente corretta e tuttavia non aver alcun significato! Lo stesso può accadere per una istruzione. Tipi di Linguaggi di Programmazione Linguaggi macchina e linguaggi assembler ogni azione è indicata in codice binario o con operazioni molto semplici e rudimentali : ADD X, Y oppure STORE A Linguaggi imperativi (PASCAL, FORTRAN, C, BASIC, ) le azioni da compiere sono indicate in una sequenza che partendo dai dati si completa calcolando i risultati : if a > 0 print ( valore positivo ) else print ( valore negativo ); Linguaggi dichiarativi (logici - PROLOG, funzionali - LISP) un programma è la definizione di una funzione o l elenco delle regole logiche che portano a verificare una condizione Linguaggi orientati agli oggetti (C++, Java, Smalltalk,.) Sono basati sul concetto di oggetto software che rappresenta un oggetto del mondo reale (un numero, un archivio, un testo, una matrice). I dati sono rappresentati come oggetti e le azioni da compiere come operazioni da effettuare sugli oggetti. Di solito sono realizzati come estensione dei linguaggi imperativi. Un programma modella un problema reale come una collezione di oggetti software che interagiscono. Per far eseguire un programma ad un calcolatore occorre tradurlo dal linguaggio usato nel linguaggio macchina. La traduzione avviene secondo due modalità principali: Compilazione Il compilatore controlla che tutte le istruzioni del programma siano corrette e alla fine di questo controllo se non ci sono errori genera il programma eseguibile che verrà eseguito dall esecutore. Interpretazione L interprete controlla una per volta ogni singola istruzione del programma e se questa è corretta la traduce e la esegue. Al primo errore termina l esecuzione del programma Compilazione ed esecuzione di programmi Java Java usa un approccio misto alla compilazione dei programmi il codice sorgente Java viene compilato in bytecode Java il programma nella forma di bytecode Java può essere eseguito da un interprete, la macchina virtuale Java (JVM) la JVM rende il calcolatore una macchina virtuale che sa eseguire programmi in bytecode Java codice sorgente Editing, compilazione ed esecuzione di programmi Java bytecode Java editing /* Applicazione che visualizza una frase sullo schermo. */ class ScrittoreSulloSchermo { public static void main(string[] args) { System.out.println("ciao a tutti"); System.out.println("questo testo introduce"); System.out.println("i fondamenti dell informatica"); } } compilazione... getstatic #6 <Field java.io.printstream out>... interpretazione calcolatore dotato di macchina virtuale Java ciao a tutti questo testo introduce i fondamenti dell informatica 23 24

5 Write once, run everywhere bytecode Java calcolatori dotati di macchina virtuale Java esecuzione PC Intel Windows ciao a tutti questo testo introduce i fondamenti dell informatica... getstatic #6 <Field java.io.printstream out>... Power Macintosh System 8 ciao a tutti questo testo introduce i fondamenti dell informatica Sun Ultra Solaris ciao a tutti questo testo introduce i fondamenti dell informatica 25 Java 2 Software Development Kit Java TM 2 Software Development Kit (Java 2 SDK) è un ambiente di sviluppo per la programmazione in Java Java 2 SDK comprende i seguenti strumenti di programmazione compilatore Java javac macchina virtuale Java java API (Application Programming Interface) di Java applet viewer appletviewer debugger jdb generatore di documentazione javadoc 26 Che cosa fare in pratica Le tre attività da svolgere nello sviluppo di programmi Java editing editor compilazione javac esecuzione java Vengono mostrate due modalità uso di alcuni strumenti semplici (primitivi) uso di un ambiente integrato di sviluppo In quanto segue, si assume che il software di sviluppo necessario sia installato e configurato correttamente nel 27 calcolatore in uso Che cosa fare in pratica editing Un editor che può essere utilizzato è Blocco note di Windows Il codice sorgente di ciascuna classe deve essere memorizzato in un diverso file di testo il file di testo per una classe deve avere come nome il nome della classe seguito dall estensione.java ad esempio, la classe ScrittoreSulloSchermo va memorizzata nel file ScrittoreSulloSchermo.java 28 Che cosa fare in pratica compilazione Il codice sorgente Java deve essere compilato in bytecode Java usando il comando javac ad esempio, compilazione della classe ScrittoreSulloSchermo javac ScrittoreSulloSchermo.java Che cosa fare in pratica esecuzione Per eseguire una applicazione si deve usare il comando java ad esempio, esecuzione della classe ScrittoreSulloSchermo java ScrittoreSulloSchermo l esecuzione di questo comando produce il bytecode di ScrittoreSulloSchermo nel file ScrittoreSulloSchermo.class 29 30

6 Fondamenti di Informatica PROBLEMI E ALGORITMI LINGUAGGIO MACCHINA Problemi e algoritmi Il problema dell attraversamento di un labirinto semplice in out Prof. Angela Bonifati bonifati@icar.cnr.it 31 una soluzione 1: avanza() 2: avanza() 3: avanza() robbie 32 Comprensione del problema I problemi sono descritti dalla loro specifica Problema attraversamento di un labirinto semplice Insieme di ingresso il robot robbie Pre-condizione il robot robbie si trova all ingresso di un labirinto semplice, nella direzione di ingresso Insieme di uscita vuoto in out Specifica di un problema La specifica di un problema insieme di ingresso o parametri i parametri del problema dati di ingresso e oggetti di ingresso pre-condizione condizione relativa all insieme di ingresso insieme di uscita o risultati dati di uscita e oggetti di uscita post-condizione condizione relativa all insieme di uscita Post-condizione il robot robbie si trova all uscita del labirinto semplice Identificazione di un algoritmo per il problema Un algoritmo per un problema una sequenza di istruzioni che permette di far evolvere gli oggetti di interesse da uno stato iniziale che soddisfa la precondizione a uno stato finale che soddisfa la post-condizione sulla base di ulteriori dati di ingresso calcolando eventuali dati in uscita espressa in termini delle istruzioni di un esecutore automatico ESEMPIO: Equazione di secondo grado Problema: Calcolare le radici dell equazione ax 2 +bx+c = 0 Specifica del problema Dati di ingresso: tre numeri reali a, b, c. Pre-condizione: nessuna Dati di uscita: le radici x 1 e x 2, se esistono. Post-condizione: ax 12 +bx 1 +c = 0 e ax 22 +bx 2 +c =

7 ESEMPIO: Equazione di secondo grado Specifica dell algoritmo: ESEMPIO: Prodotto di N numeri Problema: Calcolare il prodotto di N numeri. delta b 2 4ac se (delta > 0) sqrtdelta radice quadrata (delta) x 1 (-b +sqrtdelta) /2a x 2 (-b sqrtdelta) / 2a altrimenti non esistono radici realidelta Specifica del problema: Dati di ingresso: N numeri {x 1, x 2,..., x n } Pre-condizione: nessuna Dati di uscita: un numero P Post-condizione: P = Πi=1,n x i ESEMPIO: Prodotto di N numeri Specifica dell algoritmo: P 1 i 1 Finchè (1<= i <= N) P P * x i i i + 1 Fondamenti di Informatica Dal Linguaggio Macchina ai Linguaggi di Alto Livello Fondamenti di Informatica - Linguaggio Macchina Le istruzioni elementari eseguite dalla CPU di un computer si chiamano istruzioni macchina. L insieme delle istruzioni macchina (instruction set ) costituiscono il linguaggio macchina. Un linguaggio macchina consente la programmazione della Macchina di von Neumann, è direttamente eseguibile da un calcolatore senza nessuna traduzione, naturalmente cambia da macchina a macchina (ad es., quello del Pentium è diverso da quello dello AMD). Fondamenti di Informatica - Linguaggio Macchina Le istruzioni sono codificate in formato binario e sono composte da CODICE OPERATIVO : indica l istruzione da eseguire OPERANDI : indicano gli operandi (indirizzi o valore) Per semplicità ipotizziamo di avere istruzioni con solo operando. Lunghezza delle istruzioni : I = m + n m: num bit del codice operativo, n: num bit dell operando. C odice-op m O perando n I 41 42

8 Fondamenti di Informatica - Linguaggio Macchina Set di istruzioni insieme delle operazioni del linguaggio macchina ( <= 2 m ). Istruzioni aritmetiche, logiche, di salto, di trasferimento dati. Ipotesi: istruzione a 16 bit : 4 bit per il codice operativo e 12 bit per l operando. C o d ice-o p 4 12 I=16 O p erand o 43 Fondamenti di Informatica - Linguaggio Macchina Esecuzione delle istruzioni Un programma è fatto di DATI + ISTRUZIONI. I dati hanno un formato e vengono scritti in memoria di massa per non perdere il loro valore. Ciclo di esecuzione: 1. Acquisizione dell istruzione dalla memoria centrale (fase di FETCH); 2. Interpretazione (analisi del codice operativo dell istruzione); 3. Esecuzione (in questa fase se c è un operando va caricato nella CPU). 44 Fondamenti di Informatica Linguaggio Assembler Linguaggi Assemblatori (ASSEMBLER) Linguaggi le cui istruzioni corrispondono univocamente a quelle del linguaggio macchina, ma sono espresse tramite nomi simbolici (parole chiave) invece che in binario. Ad esempio : READ X ; MULT X, Y; LOAD Z; Fondamenti di Informatica Linguaggio Assembler In un linguaggio Assembler Le istruzioni vengono specificate con nomi simbolici (parole chiave). I riferimenti alle celle di memoria (dati) sono fatti mediante nomi simbolici (identificatori). I modi di indirizzamento vengono indicati tramite simboli. Assemblatore Strumento automatico (programma) che traduce le istruzioni da formato simbolico al formato binario READ X. Il programma prima di essere eseguito deve essere tradotto in linguaggio macchina dall Assemblatore. READ X READ Y SUB X, Y Prodotto di due numeri Linguaggio Macchina Esempio Programma assembler che calcola il prodotto di due numeri con il corrispondente programma in linguaggio macchina ASSEMBLER LINGUAGGIO MACCHINA READ X READ Y LOADA X LOADB Y MUL STOREA X WRITE X HALT X INT Y INT VERSO LINGUAGGI DI ALTO LIVELLO Linguaggio Macchina Conoscenza precisa dei metodi di rappresentazione e manipolazione delle informazioni utilizzate. Linguaggio Macchina ed Assembler Necessità di conoscere dettagliatamente le caratteristiche della macchina (registri, dimensioni dati, set di istruzioni). Semplici algoritmi richiedono l'uso di molte istruzioni. Linguaggi di Alto Livello Il programmatore può astrarre dai dettagli legati all architettura e può esprimere i propri algoritmi in modo simbolico. I linguaggi di alto livello sono indipendenti dalla macchina fisica (astrazione)

9 VERSO LINGUAGGI DI ALTO LIVELLO COME ESEGUIRE UN PROGRAMMA SCRITTO IN UN LINGUAGGIO DI ALTO LIVELLO? Occorre tradurlo nel linguaggio macchina dello specifico processore che si sta usando. Due possibili modi: Compilazione (es. C, FORTRAN, Pascal, C++, COBOL,...) Interpretazione (es. Basic, Perl, JavaScript, ) COMPILATORI I compilatori traducono un intero programma dal linguaggio L 1 al linguaggio macchina L 0 della macchina prescelta: traduzione e esecuzione procedono separatamente, al termine della compilazione è disponibile la versione tradotta del programma, la versione tradotta è però specifica di quella macchina; per eseguire il programma basta avere disponibile la versione tradotta (non serve il programma originale!). L 1 L INTERPRETI Gli interpreti invece traducono e immediatamente eseguono il programma istruzione per istruzione traduzione ed esecuzione procedono insieme, al termine non vi è alcuna versione tradotta del programma originale, se si vuole ri-eseguire il programma occorre anche ritradurlo. FASI DI SVILUPPO DI UN PROGRAMMA Qualunque sia il linguaggio di programmazione scelto occorre: 1. Scrivere il testo del programma e memorizzarlo su supporti di memoria permanenti (editing); 2. Se il linguaggio è compilato: Tradurre il linguaggio in linguaggio macchina (compilazione); Eseguire il programma tradotto. 3. Se il linguaggio è interpretato: Usare l interprete per eseguire il programma Prodotto di due numeri Linguaggio Java Programma Java che calcola il prodotto di due numeri: class prodotto { public static void main(string args[]){ int x=3; int y=5; int p; p = x * y; System.out.println("Prodotto = " + p); } } 53 Specifica di un algoritmo Primo approccio, scrittura diretta del programma: la soluzione coincide con la codifica Causa errori difficilmente individuabili Non garantisce che non esistano soluzioni chiaramente migliori, Non funziona con programmi grandi Rende difficile cambiare linguaggio di programmazione Perciò, è conveniente concentrarsi sulla specifica del problema e dell algoritmo (cosiddetto PSEUDOCODICE); la codifica dovrebbe essere solo un passo implementativo. 54

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1

Fondamenti di Informatica PROBLEMI E ALGORITMI. Fondamenti di Informatica - D. Talia - UNICAL 1 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

Strumenti per la programmazione

Strumenti per la programmazione Editing del programma Il programma deve essere memorizzato in uno o più files di testo editing codice sorgente 25 Traduzione del programma Compilazione: è la traduzione effettuata da un compilatore Un

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

FONDAMENTI DI INFORMATICA

FONDAMENTI DI INFORMATICA Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. Angela Bonifati bonifati@icar.cnr.it A.A. 2005-2006 Facoltà di Ingegneria UNICAL 1 Fondamenti di Informatica -Obiettivi L obiettivo del corso e'

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 08 Traduzione ed esecuzione di programmi Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente materiale didattico

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

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 Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 16/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

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

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi formativi Introdurre i principi del funzionamento di un elaboratore e della programmazione. Presentare gli approcci elementari alla soluzione di problemi (algoritmi)e al progetto di strutture

Dettagli

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Corso di INFORMATICA 2 (Matematica e Applicazioni) Università di Camerino Scuola di Scienze e Tecnologie Sezione di Matematica Corso di INFORMATICA 2 (Matematica e Applicazioni) Anno Accademico 2014/15 3 Anno Primo Semestre Docenti: Paolo Gaspari Roberto

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

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

Introduzione. Informatica B. Daniele Loiacono

Introduzione. Informatica B. Daniele Loiacono Introduzione Informatica B Perchè studiare l informatica? Perchè ha a che fare con quasi tutto quello con cui abbiamo a che fare ogni giorno Perché è uno strumento fondamentale per progettare l innovazione

Dettagli

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni

Linguaggi per COMUNICARE. Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Linguaggi per COMUNICARE Il linguaggio è un sistema codificato di segni che consente la comunicazione, intesa come scambio di informazioni Sintassi e semantica dei linguaggi Un informazione può : Essere

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C

Gian Luca Marcialis studio degli algoritmi programma linguaggi LINGUAGGIO C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Biomedica (Industriale), Chimica, Elettrica, e Meccanica FONDAMENTI DI INFORMATICA 1 http://www.diee.unica.it/~marcialis/fi1 A.A. 2010/2011

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Programmi. Algoritmi scritti in un linguaggio di programmazione

Programmi. Algoritmi scritti in un linguaggio di programmazione Programmi Algoritmi scritti in un linguaggio di programmazione Sistema operativo:programma supervisore che coordina tutte le operazioni del calcolatore Programmi applicativi esistenti Sistemi di videoscrittura

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA0 0 Linguaggio Java 1 Prerequisiti Utilizzo elementare di un pc Utilizzo di Internet per il downloading di file 2 1 Introduzione In questa lezione si descrivono gli

Dettagli

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio

I Problemi e la loro Soluzione. Il Concetto Intuitivo di Calcolatore. Risoluzione di un Problema. Esempio Il Concetto Intuitivo di Calcolatore Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini I Problemi e la loro Soluzione Problema: classe

Dettagli

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO

EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO EVOLUZIONE DEI LINGUAGGI DI ALTO LIVELLO Linguaggi di programmazione classificati in base alle loro caratteristiche fondamentali. Linguaggio macchina, binario e fortemente legato all architettura. Linguaggi

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 3-Compilatori e interpreti 1 Prerequisiti Principi di programmazione Utilizzo di un compilatore 2 1 Introduzione Una volta progettato un algoritmo codificato in un linguaggio

Dettagli

La Macchina Virtuale

La Macchina Virtuale Università degli Studi di Palermo Dipartimento di Ingegneria Informatica Elaborazione di Immagini e Suoni / Riconoscimento e Visioni Artificiali 12 c.f.u. Anno Accademico 2008/2009 Docente: ing. Salvatore

Dettagli

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042) Gli elaboratori utilizzano memoria per Dati da elaborare Istruzioni eseguite dall elaboratore software differenti risoluzione problemi differenti Algoritmo

Dettagli

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE hardware Firmware, software memorizzato su chip di silicio Sistema Operativo venduto con l, comprende vari programmi di gestione del sistema Applicativo,

Dettagli

Informatica Generale

Informatica Generale Insegnamento di Informatica Generale Corso di Laurea in Economia delle banche, delle assicurazioni e degli intermediari finanziari (aa 2010-2011) Guido Fiorino (guido.fiorino@unimib.it) 1 informazioni.tex:

Dettagli

Programmare in Java. Olga Scotti

Programmare in Java. Olga Scotti Programmare in Java Olga Scotti Linguaggi di programmazione linguaggio macchina assembler linguaggi ad alto livello Linguaggi ad alto livello istruzioni comprensibili linguaggio simile a quello naturale

Dettagli

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Fondamenti di Informatica Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI! Finalità: Fornire gli elementi di base dei concetti che sono di fondamento all'informatica Informazioni Pratiche ORARIO:

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Facoltà di Ingegneria Univ. di Bologna Ing. Gestionale (L-Z) Prof. Wilma Penzo 1 Informazioni generali Docente Prof. Wilma Penzo DEIS E-mail: wilma.penzo@unibo.it Tel.: 051-20-93560

Dettagli

FONDAMENTI di INFORMATICA L. Mezzalira

FONDAMENTI di INFORMATICA L. Mezzalira FONDAMENTI di INFORMATICA L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software

Dettagli

Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica

Fondamenti di Informatica 1. obiettivo: introduzione a conoscenze di base dell informatica Università di Roma Tor Vergata L1-1 obiettivo: introduzione a conoscenze di base dell informatica informatica come metodologia di risoluzione di problemi con l ausilio di una macchina definire un metodo

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Introduzione alla programmazione in C

Introduzione alla programmazione in C Introduzione alla programmazione in C Testi Consigliati: A. Kelley & I. Pohl C didattica e programmazione B.W. Kernighan & D. M. Ritchie Linguaggio C P. Tosoratti Introduzione all informatica Materiale

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Fondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base

Fondamenti di Informatica. Allievi Automatici A.A. 2014-15 Nozioni di Base Fondamenti di Informatica Allievi Automatici A.A. 2014-15 Nozioni di Base Perché studiare informatica? Perché l informatica è uno dei maggiori settori industriali, e ha importanza strategica Perché, oltre

Dettagli

Fondamenti di Informatica T1

Fondamenti di Informatica T1 Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T1 Corso di Laurea in Ingegneria Elettrica e Automazione Prof. Michela Milano Anno accademico 2013/2014 CONTENUTI Costruzione

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare

Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Minicorso tematico: Elementi di Programmazione: con Java dal Computer, al Web, al Cellulare Dott. Francesco Ricca Dipartimento Di Matematica Università della Calabria ricca@mat.unical.it Presentiamoci

Dettagli

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni

Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Istituto Universitario Navale Facoltà di Ingegneria Corso di Laurea in Ingegneria delle Telecomunicazioni Fondamenti di Informatica Modulo 1 Programma dell'a.a. 2003/2004 Luigi Romano Dipartimento di Informatica

Dettagli

INFORMATICA 1 L. Mezzalira

INFORMATICA 1 L. Mezzalira INFORMATICA 1 L. Mezzalira Possibili domande 1 --- Caratteristiche delle macchine tipiche dell informatica Componenti hardware del modello funzionale di sistema informatico Componenti software del modello

Dettagli

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno

INFORMATICA GENERALE. Prof Alberto Postiglione Dipartim. Scienze della Comunicazione Univ. Salerno. Università degli Studi di Salerno INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno : Introduzione alla Programmazione Bibliografia 14 apr 2010 Dia 2 Curtin, (vecchie

Dettagli

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270)

Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord. 270) Corsi di Laurea Ingegneria Informatica Ord. 270 A.A. 2012-2013 Prof. Vincenza Carchiolo vincenza.carchiolo@dieei.unict.it Fondamenti di Informatica - 9Cfu Corso di Laurea in Ingegneria Informatica (ord.

Dettagli

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per "Tecnico Ortopedico" 03

Sistemi di Elaborazione delle Informazioni. Corso di Laurea per Tecnico Ortopedico 03 Sistemi di Elaborazione delle Informazioni Corso di Laurea per "Tecnico Ortopedico" a.a. 2002-03 03 Prof. Luigi Borrelli Facoltà di Medicina e Chirurgia Università degli Studi di Napoli - Federico II a.a.

Dettagli

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione

Scienze della Comunicazione Università di Salerno. UD 3.2a: Introduzione alla Programmazione UD 3.2a: Introduzione alla Programmazione Bibliografia Curtin, (vecchie edizioni) 12.1 Curtin (IV edizione): 11.1 Questi lucidi Il concetto di programma memorizzato Gli elettrodomestici di uso quotidiano

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 Problema Strategia

Dettagli

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi A.A. 2010/2011 Sommario Installazione SOFTWARE JDK ECLIPSE 03/03/2011 2 ALGORITMI E PROGRAMMI PROBLEMA ALGORITMO PROGRAMMA metodo risolutivo linguaggio di

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Architettura del calcolatore

Architettura del calcolatore Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macro-componenti: Hardware Software Architettura del calcolatore L architettura dell hardware di un calcolatore reale

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

3 - Variabili. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 3 - Variabili Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso di

Dettagli

Java: Compilatore e Interprete

Java: Compilatore e Interprete Java: Compilatore e Interprete Java Virtual Machine Il bytecode non è Linguaggio Macchina. Per diventarlo, deve subire un ulteriore trasformazione che viene operata dall interprete Java in modalità JIT

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

CPU. Maurizio Palesi

CPU. Maurizio Palesi CPU Central Processing Unit 1 Organizzazione Tipica CPU Dispositivi di I/O Unità di controllo Unità aritmetico logica (ALU) Terminale Stampante Registri CPU Memoria centrale Unità disco Bus 2 L'Esecutore

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

Origini e caratteristiche dei calcolatori elettronici

Origini e caratteristiche dei calcolatori elettronici Origini e caratteristiche dei calcolatori elettronici Lunedì, 09 ottobre 2006 Supercomputer, mainframe 1 Server, workstation, desktop, notebook, palmare Un po di storia 1642 Biagio Pascal 1671 Leibniz

Dettagli

Le command line di Java

Le command line di Java Le command line di Java Esercitazioni di Programmazione 2 Novella Brugnolli brugnoll@science.unitn.it Ambiente di lavoro Per compilare ed eseguire un programma Java abbiamo bisogno di: The JavaTM 2 Platform,

Dettagli

PROVA INTRACORSO TRACCIA A Pagina 1 di 6

PROVA INTRACORSO TRACCIA A Pagina 1 di 6 PROVA INTRACORSO DI ELEMENTI DI INFORMATICA MATRICOLA COGNOME E NOME TRACCIA A DOMANDA 1 Calcolare il risultato delle seguenti operazioni binarie tra numeri interi con segno rappresentati in complemento

Dettagli

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati

Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Algoritmi Algoritmi Risolvere un problema significa individuare un procedimento che permetta di arrivare al risultato partendo dai dati Il procedimento (chiamato algoritmo) è composto da passi elementari

Dettagli

Informazione e dato. Gabriella Trucco

Informazione e dato. Gabriella Trucco Informazione e dato Gabriella Trucco Cos è l informatica? Informatica? Trattamento automatico delle informazioni INFORMATICA Informazione Informazione: Qualcosa che quando viene fornito dissipa un dubbio,

Dettagli

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica

Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma. Fondamenti di Informatica Agent and Object Technology Lab Dipartimento di Ingegneria dell Informazione Università degli Studi di Parma Fondamenti di Informatica Linguaggi di Programmazione Michele Tomaiuolo Linguaggi macchina I

Dettagli

Tale attività non è descritta in questa dispensa

Tale attività non è descritta in questa dispensa Fondamenti di informatica Oggetti e Java ottobre 2014 1 Nota preliminare L installazione e l uso di Eclipse richiede di aver preliminarmente installato Java SE SDK Tale attività non è descritta in questa

Dettagli

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014

Archivi e database. Prof. Michele Batocchi A.S. 2013/2014 Archivi e database Prof. Michele Batocchi A.S. 2013/2014 Introduzione L esigenza di archiviare (conservare documenti, immagini, ricordi, ecc.) è un attività senza tempo che è insita nell animo umano Primi

Dettagli

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: 1 SOFTWARE È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software: SOFTWARE DI SISTEMA (o di base), che deve gestire le funzioni

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona

Programmazione per Bioinformatica Il Calcolatore e la Programmazione. Dr Damiano Macedonio Università di Verona Programmazione per Bioinformatica Il Calcolatore e la Programmazione Dr Damiano Macedonio Università di Verona Architettura del calcolatore La prima decomposizione di un calcolatore è relativa a due macrocomponenti:

Dettagli

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino

Corso di Informatica Applicata. Lezione 3. Università degli studi di Cassino Università degli studi di Cassino Corso di Laurea in Ingegneria della Produzione Industriale Corso di Informatica Applicata Lezione 3 Ing. Saverio De Vito e-mail: saverio.devito@portici.enea.it Tel.: +39

Dettagli

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009 Prof. Raffaele Nicolussi FUB - Fondazione Ugo Bordoni Via B. Castiglione 59-00142 Roma Docente Raffaele Nicolussi rnicolussi@fub.it Lezioni

Dettagli

Programmazione in Java Parte I: Fondamenti

Programmazione in Java Parte I: Fondamenti Programmazione in Java Parte I: Fondamenti Lezione 1 Dott. Marco Faella Riferimenti Testi consigliati: Progettazione del software e design pattern in Java di C.S. Horstmann Apogeo Gli esempi di codice

Dettagli

Gli algoritmi: definizioni e proprietà

Gli algoritmi: definizioni e proprietà Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Gli algoritmi: definizioni e proprietà La presente dispensa e da

Dettagli

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio

AXO Architettura dei Calcolatori e Sistema Operativo. processo di assemblaggio AXO Architettura dei Calcolatori e Sistema Operativo processo di assemblaggio linguaggio assembly è il linguaggio simbolico che consente di programmare un calcolatore utilizzando le istruzioni del linguaggio

Dettagli

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi)

3. Programmazione strutturata (testo di riferimento: Bellini-Guidi) Corso di Fondamenti di Informatica Corso di Laurea in Ingegneria Meccanica (A-K) 3. (testo di riferimento: Bellini-Guidi) Ing. Agnese Pinto 1 di 28 Linguaggi di programmazione Un programma è un algoritmo

Dettagli

Architettura di un calcolatore

Architettura di un calcolatore 2009-2010 Ingegneria Aerospaziale Prof. A. Palomba - Elementi di Informatica (E-Z) 7 Architettura di un calcolatore Lez. 7 1 Modello di Von Neumann Il termine modello di Von Neumann (o macchina di Von

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T3 1-Sottoprogrammi 1 Prerequisiti Tecnica top-down Programmazione elementare 2 1 Introduzione Lo scopo di questa Unità è utilizzare la metodologia di progettazione top-down

Dettagli

Approccio stratificato

Approccio stratificato Approccio stratificato Il sistema operativo è suddiviso in strati (livelli), ciascuno costruito sopra quelli inferiori. Il livello più basso (strato 0) è l hardware, il più alto (strato N) è l interfaccia

Dettagli

E una notazione per descrivere gli algoritmi.

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

Dettagli

Richiami di informatica e programmazione

Richiami di informatica e programmazione Richiami di informatica e programmazione Il calcolatore E una macchina usata per Analizzare Elaborare Collezionare precisamente e velocemente una grande quantità di informazioni. Non è creativo Occorre

Dettagli

LICEO DELLE SCIENZE APPLICATE

LICEO DELLE SCIENZE APPLICATE LICEO DELLE SCIENZE APPLICATE San Benedetto PIANO DI LAVORO Docente Stefano Maggi Disciplina INFORMATICA Libro di testo INFORMATICA 2 di Gallo Sirsi ed. Minerva Scuola Classe/Sezione Terza Anno scolastico

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 E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario.

Oggi. Programmazione e laboratorio: introduzione al corso. Docenti: laboratorio. Docenti: teoria. Il corso. Orario. Programmazione e laboratorio: introduzione al corso Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro mizzaro@dimi.uniud.it Programmazione per

Dettagli

Descrizione di un algoritmo

Descrizione di un algoritmo Descrizione di un algoritmo Un algoritmo descrive due tipi fondamentali di oper: calcoli ottenibili tramite le oper primitive su tipi di dato (valutazione di espressioni) che consistono nella modifica

Dettagli

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza Introduzione Laboratorio di Calcolo Corso di Laurea in Fisica Università degli Studi di Roma La Sapienza WARNING Questo canale è solo per studenti di Fisica il cui cognome inizia con le lettere A-C TUTTAVIA

Dettagli

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico

Introduzione alle basi di dati. Gestione delle informazioni. Gestione delle informazioni. Sistema informatico Introduzione alle basi di dati Introduzione alle basi di dati Gestione delle informazioni Base di dati Modello dei dati Indipendenza dei dati Accesso ai dati Vantaggi e svantaggi dei DBMS Gestione delle

Dettagli

LINGUAGGI DI PROGRAMMAZIONE

LINGUAGGI DI PROGRAMMAZIONE LINGUAGGI DI PROGRAMMAZIONE Il potere espressivo di un linguaggio è caratterizzato da: quali tipi di dati consente di rappresentare (direttamente o tramite definizione dell utente) quali istruzioni di

Dettagli

Corso di Fondamenti di Informatica L-A

Corso di Fondamenti di Informatica L-A Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica L-A Corso di Studi in Ingegneria Informatica Prof. Paola Mello, Prof. Paolo Bellavista Anno accademico 2005/2006

Dettagli

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione Programma del Corso Dati e DBMS DBMS relazionali SQL Progettazione di una base di dati Normalizzazione (I prova scritta) (II prova scritta) Interazione fra linguaggi di programmazione e basi di dati Cenni

Dettagli

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1

DI D AGRA R MM M I M A BLOCC C H C I TEORI R A E D D E SERC R I C ZI 1 1 DIAGRAMMI A BLOCCHI TEORIA ED ESERCIZI 1 1 Il linguaggio dei diagrammi a blocchi è un possibile formalismo per la descrizione di algoritmi Il diagramma a blocchi, o flowchart, è una rappresentazione grafica

Dettagli

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi

Il software impiegato su un computer si distingue in: Sistema Operativo Compilatori per produrre programmi Il Software Il software impiegato su un computer si distingue in: Software di sistema Sistema Operativo Compilatori per produrre programmi Software applicativo Elaborazione testi Fogli elettronici Basi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia L informatica È la disciplina scientifica che studia INTRODUZIONE I calcolatori, nati in risposta all esigenza di eseguire meccanicamente operazioni ripetitive Gli algoritmi, nati in risposta all esigenza

Dettagli

Introduzione ai linguaggi di programmazione

Introduzione ai linguaggi di programmazione Università degli Studi di Milano Laurea Specialistica in Genomica Funzionale e Bioinformatica Corso di Linguaggi di Programmazione per la Bioinformatica Introduzione ai linguaggi di programmazione Giorgio

Dettagli

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1 MECCANISMI E POLITICHE DI PROTEZIONE 13.1 Protezione Obiettivi della Protezione Dominio di Protezione Matrice di Accesso Implementazione della Matrice di Accesso Revoca dei Diritti di Accesso Sistemi basati

Dettagli

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50

Guida all uso dell ambiente di sviluppo 1 integrato o IDE. JCreator LE 4.50 Guida all uso dell ambiente di sviluppo 1 integrato o IDE JCreator LE 4.50 Inizializzazione: creazione del nuovo progetto e del file sorgente in ambiente JCreator Al lancio del programma si apre la finestra

Dettagli