Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Ingegneria Informatica Fondamenti di Informatica"

Transcript

1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 04 Programmi e Oggetti Software Alfonso Miola Ottobre Programmi e Oggetti Software 1

2 Contenuti q Cosa è un programma q Cosa significa programmare Il punto di vista del programmatore Il punto di vista dell utente q Paradigmi di programmazione q La programmazione ad oggetti q Oggetti software Esempi L oggetto System.out L oggetto Math Gli oggetti String Programmi e Oggetti Software 2

3 Prerequisiti Questo capitolo presuppone la conoscenza degli argomenti già trattati nelle precedenti lezioni di questo corso e riportati nelle rispettive dispense, con particolare riferimento al capitolo 1 del libro di testo Programmi e Oggetti Software 3

4 Che cosa è un programma q Un programma (o applicazione) è usato da un utente per risolvere un problema con l ausilio di un calcolatore q Un programma mostra a un utente, attraverso la sua interfaccia, la rappresentazione, nel calcolatore, di una porzione di mondo reale fatto di oggetti la porzione di mondo rappresentata da un programma è la realtà di interesse del programma un programma rappresenta nel calcolatore gli oggetti di una certa realtà di interesse, intesi e quindi rappresentati come dati e operazioni Programmi e Oggetti Software 4

5 Il punto di vista dell utente q Un utente è interessato ad usare un programma (applicazione) per risolvere un problema facendo eseguire un insieme di operazioni a un calcolatore ciascuna operazione costituisce uno strumento per l utente del programma l esecuzione di ciascuna operazione corrisponde allo svolgimento di una sequenza di azioni da parte del calcolatore l effetto finale dell esecuzione delle operazioni porta al raggiungimento di un risultato che costituisce per l utente la soluzione del problema Programmi e Oggetti Software 5

6 Il calcolatore per un utente q Quindi un utente che utilizza un programma (applicazione) vede il calcolatore come una macchina dedicata alla soluzione del problema da risolvere l utente non deve necessariamente conoscere le problematiche della programmazione così come per poter guidare un auto non bisogna essere necessariamente un ingegnere meccanico l utente interagisce con l applicazione attraverso la sua interfaccia l interfaccia consente all utente di usare i dati e le operazioni disponibili nell applicazione Programmi e Oggetti Software 6

7 Che cosa è la programmazione La programmazione è : scrittura (sintesi) di programmi controllo un calcolatore fa quello che gli viene detto di fare concretezza un calcolatore per eseguire un compito ha bisogno di istruzioni dettagliate insegnamento un calcolatore impara a eseguire nuove operazioni quando e solo se gli viene detto come vanno realizzate modellazione un programma rappresenta nel calcolatore una porzione di mondo, la realtà di interesse astrazione il programmatore deve identificare le caratteristiche essenziali della realtà di interesse da modellare, evitando di descrivere dettagli inutili Programmi e Oggetti Software 7

8 Il punto di vista del programmatore q Per un programmatore, un programma è un insieme di frasi (istruzioni) che descrivono una certa realtà di interesse in un linguaggio di programmazione q Le istruzioni di un programma servono a descrivere il modo con cui devono essere rappresentati i dati della realtà di interesse del programma e le azioni che devono essere svolte da parte del calcolatore quando un utente chiede l esecuzione di una certa operazione Programmi e Oggetti Software 8

9 Il calcolatore per un programmatore q Un programmatore è normalmente interessato solo agli strati più esterni dell architettura di un calcolatore (secondo lo schema a cipolla) programmi applicativi strumenti di programmazione sistema operativo hardware Gli strati più interni riguardano altre figure dell informatica Programmi e Oggetti Software 9

10 Paradigmi di programmazione Esistono diversi approcci alla programmazione, chiamati paradigmi di programmazione nel paradigma di programmazione imperativa, un programma specifica le azioni che devono essere eseguite in sequenza per calcolare i risultati a partire dai dati nel paradigma di programmazione funzionale, un programma è la definizione di una funzione, parametrica rispetto ai dati, che calcola i risultati nel paradigma di programmazione logica, un programma è la descrizione delle proprietà che devono essere verificate dai risultati sulla base delle proprietà verificate dai dati Programmi e Oggetti Software 10

11 Programmazione orientata agli oggetti Il paradigma di programmazione orientata agli oggetti è basato sul seguente punto di vista il mondo reale è fatto di oggetti dato che un programma è la rappresentazione nel calcolatore di una certa realtà di interesse, allora anche il programma è composto da oggetti opportunamente rappresentati, chiamati oggetti software un programma modella una realtà di interesse come una collezione di oggetti software che cooperano Programmi e Oggetti Software 11

12 Oggetti e oggetti software q Ciascun oggetto della realtà è: identificabile con un nome ha caratteristiche (proprietà) ben precise svolge funzioni specifiche ed esegue operazioni q Un oggetto software non è quindi altro che una adeguata rappresentazione virtuale, nel calcolatore, di un oggetto della realtà, sia esso concreto oppure astratto Programmi e Oggetti Software 12

13 Oggetti software... q Un oggetto software ha: un nome che permette di referenziarlo con una identificazione univoca uno stato un insieme di proprietà che lo caratterizzano un comportamento un insieme di operazioni che sa eseguire si può richiedere a un oggetto software di eseguire una operazione mediante l invio di un messaggio l uso di un oggetto software è descritto dalla sua interfaccia che specifica le operazioni che sa eseguire con le relative modalità di utilizzo Programmi e Oggetti Software 13

14 ... Oggetti software q Un oggetto software è quindi un vero e proprio esecutore specializzato che: risolve specifici problemi può essere riusato ogni volta che serve può richiedere ad altri oggetti di svolgere funzioni di supporto per completare i propri scopi può essere composto con altri oggetti software per cooperare alla soluzione di problemi più complessi Programmi e Oggetti Software 14

15 Programmi orientati agli oggetti q La programmazione nel paradigma orientato agli oggetti consiste nella: identificazione delle tipologie di oggetti software necessari per la soluzione di un dato problema definizione del loro rispettivo progetto q Un programma coordina le funzioni dei diversi oggetti coinvolti, per raggiungere il suo scopo finale q L esecuzione di un programma è quindi la cooperazione di più oggetti, ciascuno specializzato a risolvere un sottoproblema del problema posto Programmi e Oggetti Software 15

16 Un oggetto reale q Nel mondo reale esiste un oggetto concreto denominato televisore, nome che permette di far riferimento all oggetto, ovvero, di referenziare l oggetto q Il televisore ha un suo stato è acceso o spento è sintonizzato su un certo canale ha un certo livello di volume q Il televisore ha un suo comportamento sa eseguire alcune operazioni sa accendersi o spegnersi sa cambiare canale sa alzare o abbassare il volume Programmi e Oggetti Software 16

17 Un altro oggetto reale q Nel mondo reale esiste anche un altro oggetto denominato studente, nome che permette di far riferimento all oggetto, ovvero, di referenziare l oggetto q Lo studente ha un suo stato i suoi dati anagrafici il corso di laurea e l anno a cui è iscritto il proprio piano di studi gli esami superati q Lo studente ha un suo comportamento sa eseguire alcune operazioni sa iscriversi a un corso di laurea sa cambiare piano di studi sa superare un esame Programmi e Oggetti Software 17

18 Operazioni e messaggi q Si può ad esempio chiedere al televisore di eseguire una delle operazioni previste premendo un tasto del telecomando il telecomando invia al televisore la richiesta di esecuzione dell operazione sotto forma di segnale elettromagnetico nella terminologia della programmazione orientata agli oggetti, come già detto, la richiesta dell esecuzione di una operazione viene fatta mediante l invio di un messaggio a un oggetto Programmi e Oggetti Software 18

19 Interfaccia e uso q Come già detto l interfaccia di un oggetto è la descrizione dell insieme delle operazioni che l oggetto sa eseguire q L interfaccia di un oggetto è quindi una sorta di manuale d uso dell oggetto: l elenco delle operazioni possibili, cioè ammissibili e quindi permesse la forma sintattica dei messaggi da inviare per richiedere una determinata operazione, cioè come formulare la richiesta Il significato dell operazione, la semantica, cioè cosa si ottiene dall esecuzione dell operazione Programmi e Oggetti Software 19

20 Proprietà e stato q Come già detto in ogni istante, un oggetto è in un certo stato, descritto da un insieme di proprietà q Ciascuna proprietà è caratterizzata da un nome, dal valore corrente e dall insieme dei valori ammessi q L effetto di una operazione può consistere nel cambiamento dello stato (cioè del valore delle proprietà) dell oggetto che la esegue Programmi e Oggetti Software 20

21 Progettazione... q La progettazione di un oggetto è la definizione delle caratteristiche dell oggetto e dei dettagli per la sua realizzazione vengono definite le proprietà che determinano lo stato dell oggetto viene definita l interfaccia, cioè come l oggetto potrà essere usato dall utente viene definita ciascuna delle operazioni previste dall interfaccia Programmi e Oggetti Software 21

22 ... Progettazione q Ad esempio nell ambito di un sistema di gestione delle carriere degli studenti, nella progettazione di un oggetto studente il progettista stabilisce come l oggetto potrà essere usato dall utente, cioè come, ad esempio, inserire o modificare informazioni relative all oggetto q Ad esempio nella progettazione di un televisore il progettista stabilisce come l oggetto potrà essere usato dall utente il progettista definisce lo schema elettrico del televisore Programmi e Oggetti Software 22

23 Progettazione e riuso q Nella progettazione di un oggetto si considera l esistenza di altri oggetti già disponibili il cui riuso può essere funzionale allo scopo ad esempio, nella progettazione di un televisore si procede all assemblaggio di oggetti (componenti elettronici) standard, disponibili sul mercato, che vengono usati conoscendone l interfaccia componenti elettronici progettati in precedenza che vengono riusati senza modifiche componenti elettronici progettati appositamente q Quali sono gli oggetti che sono possibili componenti di un oggetto studente nella progettazione di un sistema di segreteria studenti? Programmi e Oggetti Software 23

24 Progettazione di oggetti software q Un oggetto software è progettato e realizzato da un programmatore la progettazione e realizzazione di componenti software è chiamata implementazione q Il progetto di un oggetto software è chiamato classe i linguaggi per la definizione di classi sono i linguaggi di programmazione orientati agli oggetti Programmi e Oggetti Software 24

25 Costruzione di oggetti software q In genere la costruzione fisica di oggetti concreti viene fatta da una fabbrica ad esempio la fabbrica costruisce televisori sulla base del progetto del televisore q La costruzione di oggetti software viene fatta da un calcolatore il calcolatore costruisce gli oggetti software a partire dalla classe che è il loro progetto il calcolatore viene usato come una macchina virtuale che sa costruire degli oggetti software, mediante l esecuzione di istruzioni di appositi linguaggi di programmazione orientati agli oggetti, come ad esempio Java gli oggetti software esistono solo nei calcolatori, cioè esistono solo in modo virtuale Programmi e Oggetti Software 25

26 Descrizione di oggetti software q Gli oggetti software, che esistono solo virtualmente, vengono in genere descritti mediante un formalismo grafico (il linguaggio UML acronimo di Unified Modeling Language) q Anche la cooperazione tra oggetti software viene descritta utilizzando il linguaggio UML va sottolineato che il linguaggio UML non è un linguaggio di programmazione UML è quindi solo un linguaggio per la descrizione di oggetti e classi Programmi e Oggetti Software 26

27 L oggetto software System.out q Lo schermo del calcolatore è un oggetto che viene rappresentato nei programmi da un oggetto software un oggetto software che modella lo schermo del calcolatore è System.out e può essere così descritto System.out println(string frase) q Ciascun oggetto software è caratterizzato da un nome (nell esempio System.out) le operazioni identificate da un nome (nell esempio println) eventualmente con dei parametri (nell esempio frase) per i quali è definito un tipo (nell esempio String) Programmi e Oggetti Software 27

28 Invio di un messaggio a System.out q Per far visualizzare a System.out una frase, ad esempio la frase Ciao a tutti, è necessario inviargli il seguente messaggio println("ciao a tutti") println("ciao a tutti") System.out println(string frase) q Infatti System.out si aspetta di ricevere messaggi per eseguire l operazione println con una stringa di caratteri come parametro Programmi e Oggetti Software 28

29 Utenti e uso di oggetti q L esempio ha mostrato l uso di un oggetto software l uso di un oggetto software è descritto dalla sua interfaccia si concretizza mediante l invio di messaggi per l utente di un oggetto software è sufficiente conoscere l interfaccia dell oggetto software l utente di un oggetto software può ignorare come l oggetto software sia fatto internamente Programmi e Oggetti Software 29

30 Cosa è una Classe q Una classe è il progetto di un oggetto software definizione del progetto completo dell oggetto software definizione del progetto dello stato e del comportamento dell oggetto software (ovvero della sua interfaccia) definizione dell interfaccia dell oggetto software definizione della modalità d uso con la definizione delle operazioni che l oggetto software deve poter eseguire q La definizione della classe per un oggetto software è scritta dal programmatore usando come formalismo un linguaggio di programmazione (orientato agli oggetti) Programmi e Oggetti Software 30

31 Costruzione di oggetti software q Prima di poter utilizzare un oggetto software, è necessario costruirlo a partire dalla classe che ne definisce il progetto la costruzione di oggetti software viene svolta dal calcolatore, usato come macchina virtuale in grado di eseguire programmi scritti nel linguaggio di programmazione scelto esistono due modalità di costruzione di oggetti costruzione statica e costruzione dinamica tutti gli oggetti costruiti hanno uno stato e un comportamento che sono quelli definiti nella classe che ne rappresenta il progetto q Si dice che gli oggetti costruiti appartengono alla classe che li definisce Programmi e Oggetti Software 31

32 Modalità di costruzione statica q Nella modalità di costruzione statica di oggetti software una classe è il progetto di un singolo oggetto software la definizione della classe corrisponde essenzialmente anche alla costruzione dell oggetto software dalla classe l aver definito una classe rende disponibile un oggetto software che ha le caratteristiche definite dalla classe la definizione della classe è anche la costruzione dell unico oggetto che le appartiene la costruzione è quindi implicita e l oggetto esiste già al momento della definizione della classe Programmi e Oggetti Software 32

33 Modalità di costruzione dinamica q Nella modalità di costruzione dinamica di oggetti software la classe è il progetto di un insieme di oggetti software dello stesso tipo questi oggetti appartengono tutti alla stessa classe, essi sono istanze della classe la costruzione di un oggetto software a partire dalla classe deve essere solitamente richiesta in modo esplicito vengono costruiti uno alla volta al momento in cui se ne fa richiesta, cioè quando se ne ha bisogno al momento della definizione della classe infatti non viene costruito nessun oggetto di quel certo tipo è possibile costruire, successivamente, tanti oggetti software di quel tipo ogni volta che serve questi oggetti sono fra di loro indipendenti Programmi e Oggetti Software 33

34 Oggetti q Un oggetto software è chiamato oggetto classe se è l oggetto software costruito automaticamente con modalità statica a partire dalla definizione di una classe oggetto istanza se è un oggetto software creato con modalità dinamica da una classe Nota bene: si parla genericamente (e più semplicemente) di oggetti quando la distinzione tra oggetto classe e oggetto istanza non è necessaria oppure è chiara dal contesto Programmi e Oggetti Software 34

35 Componenti di una classe... q Una classe è quindi il progetto di una tipologia di uno o più oggetti q Poiché un oggetto consiste di stato e comportamento, in corrispondenza, la definizione di una classe deve comprendere la definizione di lo stato - definito attraverso la dichiarazione di variabili che rappresentano le proprietà dell oggetto il comportamento - definito attraverso la definizione di metodi che implementano le operazioni dell oggetto Programmi e Oggetti Software 35

36 ... Componenti di una classe q Nella modalità di costruzione statica si parla di variabili di classe blocchi di inizializzazione statica necessari all assegnazione dei valori iniziali delle proprietà dell unico oggetto della classe metodi di classe q Nella modalità di costruzione dinamica si parla di variabili di istanza metodi di istanza costruttori metodi speciali, che hanno lo stesso nome della classe, per richiedere al calcolatore, quando servono, la costruzione di oggetti istanza Programmi e Oggetti Software 36

37 La classe Math q La classe Math segue la modalità di costruzione statica Math è un oggetto che per sua natura è unico Math è un oggetto classe le proprietà di Math sono alcune costanti notevoli Math static E : double static PI : double static double sqrt(double n) static double pow(double b, double e) static double log(double n) static double random()... «oggetto classe» Math E = PI = double sqrt(double n) double pow(double b, double e) double log(double n) double random()... Programmi e Oggetti Software 37

38 La classe String q La classe String segue la modalità di costruzione dinamica un oggetto String rappresenta una stringa ogni stringa è un oggetto istanza della classe String gli oggetti String sanno eseguire operazioni utili per la loro gestione facenti parte dell interfaccia della classe gli oggetti String vengono costruiti con il costruttore denominato String come la classe "calcolatore" : String calcolatore... le operazioni... Programmi e Oggetti Software 38

39 Riepilogo della dispensa q Cosa è un programma q Cosa significa programmare q Cosa è la programmazione ad oggetti q Cosa sono gli oggetti software q Cosa è una classe q Costruzione statica e dinamica di classi q Esempi di oggetti software e di classi Le successive diapositive sintetizzano quanto visto Programmi e Oggetti Software 39

40 Che cosa è un programma q Un programma (o applicazione) è usato da un utente per risolvere un problema con l ausilio di un calcolatore q Un programma mostra a un utente, attraverso la sua interfaccia, la rappresentazione, nel calcolatore, di una porzione di mondo reale fatto di oggetti Programmi e Oggetti Software 40

41 Programmazione orientata agli oggetti Il paradigma di programmazione orientata agli oggetti è basato sul seguente punto di vista il mondo reale è fatto di oggetti dato che un programma è la rappresentazione nel calcolatore di una certa realtà di interesse, allora anche il programma è composto da oggetti opportunamente rappresentati, chiamati oggetti software un programma modella una realtà di interesse come una collezione di oggetti software che cooperano Programmi e Oggetti Software 41

42 Programmi orientati agli oggetti q La programmazione nel paradigma orientato agli oggetti consiste nella: identificazione delle tipologie di oggetti software necessari per la soluzione di un dato problema definizione del loro rispettivo progetto q Un programma coordina le funzioni dei diversi oggetti coinvolti, per raggiungere il suo scopo finale q L esecuzione di un programma è quindi la cooperazione di più oggetti, ciascuno specializzato a risolvere un sottoproblema del problema posto Programmi e Oggetti Software 42

43 Oggetti e oggetti software q Ciascun oggetto della realtà è: identificabile con un nome ha caratteristiche (proprietà) ben precise svolge funzioni specifiche ed esegue operazioni q Un oggetto software non è quindi altro che una adeguata rappresentazione virtuale, nel calcolatore, di un oggetto della realtà, sia esso concreto oppure astratto Programmi e Oggetti Software 43

44 Oggetti software... q Un oggetto software ha: un nome che permette di referenziarlo con una identificazione univoca uno stato un insieme di proprietà che lo caratterizzano un comportamento un insieme di operazioni che sa eseguire si può richiedere a un oggetto software di eseguire una operazione mediante l invio di un messaggio l uso di un oggetto software è descritto dalla sua interfaccia che specifica le operazioni che sa eseguire con le relative modalità di utilizzo Programmi e Oggetti Software 44

45 ... Oggetti software q Un oggetto software è quindi un vero e proprio esecutore specializzato che: risolve specifici problemi può essere riusato ogni volta che serve può richiedere ad altri oggetti di svolgere funzioni di supporto per completare i propri scopi può essere composto con altri oggetti software per cooperare alla soluzione di problemi più complessi Programmi e Oggetti Software 45

46 Cosa è una Classe q Una classe è il progetto di un oggetto software definizione del progetto completo dell oggetto software definizione del progetto dello stato e del comportamento dell oggetto software (ovvero della sua interfaccia) definizione dell interfaccia dell oggetto software definizione della modalità d uso con la definizione delle operazioni che l oggetto software deve poter eseguire Programmi e Oggetti Software 46

47 Costruzione di oggetti software q Prima di poter utilizzare un oggetto software, è necessario costruirlo a partire dalla classe che ne definisce il progetto la costruzione di oggetti software viene svolta dal calcolatore, usato come macchina virtuale in grado di eseguire programmi scritti nel linguaggio di programmazione scelto esistono due modalità di costruzione di oggetti costruzione statica e costruzione dinamica tutti gli oggetti costruiti hanno uno stato e un comportamento che sono quelli definiti nella classe che ne rappresenta il progetto si dice che gli oggetti costruiti appartengono alla classe che li definisce Programmi e Oggetti Software 47

48 Modalità di costruzione statica q Nella modalità di costruzione statica di oggetti software una classe è il progetto di un singolo oggetto software la definizione della classe corrisponde essenzialmente anche alla costruzione dell oggetto software dalla classe l aver definito una classe rende disponibile un oggetto software che ha le caratteristiche definite dalla classe la definizione della classe è anche la costruzione dell unico oggetto che le appartiene la costruzione è quindi implicita e l oggetto esiste già al momento della definizione della classe Programmi e Oggetti Software 48

49 Modalità di costruzione dinamica q Nella modalità di costruzione dinamica di oggetti software la classe è il progetto di un insieme di oggetti software dello stesso tipo questi oggetti appartengono tutti alla stessa classe, essi sono istanze della classe la costruzione di un oggetto software a partire dalla classe deve essere solitamente richiesta in modo esplicito vengono costruiti uno alla volta al momento in cui se ne fa richiesta, cioè quando se ne ha bisogno al momento della definizione della classe infatti non viene costruito nessun oggetto di quel certo tipo è possibile costruire, successivamente, tanti oggetti software di quel tipo ogni volta che serve questi oggetti sono fra di loro indipendenti Programmi e Oggetti Software 49

50 L oggetto software System.out q Lo schermo del calcolatore è un oggetto che viene rappresentato nei programmi da un oggetto software un oggetto software che modella lo schermo del calcolatore è System.out e può essere così descritto System.out println(string frase) q Ciascun oggetto software è caratterizzato da un nome (nell esempio System.out) le operazioni identificate da un nome (nell esempio println) eventualmente con dei parametri (nell esempio frase) per i quali è definito un tipo (nell esempio String) Programmi e Oggetti Software 50

51 La classe Math q La classe Math segue la modalità di costruzione statica Math è un oggetto che per sua natura è unico Math è un oggetto classe le proprietà di Math sono alcune costanti notevoli Math static E : double static PI : double static double sqrt(double n) static double pow(double b, double e) static double log(double n) static double random()... «oggetto classe» Math E = PI = double sqrt(double n) double pow(double b, double e) double log(double n) double random()... Programmi e Oggetti Software 51

52 La classe String q La classe String segue la modalità di costruzione dinamica un oggetto String rappresenta una stringa ogni stringa è un oggetto istanza della classe String gli oggetti String sanno eseguire operazioni utili per la loro gestione facenti parte dell interfaccia della classe gli oggetti String vengono costruiti con il costruttore denominato String come la classe "calcolatore" : String calcolatore... le operazioni... Programmi e Oggetti Software 52

53 Riferimenti al libro di testo q Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al capitolo 2 sugli oggetti software, tenendo conto che il paragrafo Un oggetto per la lettura da tastiera lo vedremo in seguito e quindi per ora può essere saltato gli argomenti trattati nei seguenti paragrafi non faranno parte del programma d esame e quindi devono essere omessi nello studio del capitolo Robot e labirinti Le classi Robot e Labirinto Programmi e Oggetti Software 53

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 06 Programmi e Oggetti Software Marzo 2010 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Programmi e Oggetti Software Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Programmi e Oggetti Software

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 07. Oggetti e Java. Marzo Programmazione Java 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 07 Oggetti e Java Marzo 2010 Programmazione Java 1 Contenuti Il linguaggio Java Applicazioni Java e il metodo main Esempi di applicazioni

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo Programmazione Orientata agli Oggetti Emilio Di Giacomo e Walter Didimo Una metafora dal mondo reale la fabbrica di giocattoli progettisti Un semplice giocattolo Impara i suoni Dall idea al progetto Toy

Dettagli

Definizione di metodi

Definizione di metodi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 9 Definizione di metodi Carla Limongelli Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di metodi 1 Contenuti

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 E03 Esempi di algoritmi e programmi A. Miola Novembre 2011 1 Contenuti q Progettazione di algoritmi q Problemi di ingresso - uscita

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E03 Esempi di algoritmi e programmi A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di algoritmi e

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

Indice. Prefazione. 3 Oggetti e Java 53

Indice. Prefazione. 3 Oggetti e Java 53 Prefazione xv 1 Architettura dei calcolatori 1 1.1 Calcolatori e applicazioni 1 1.1.1 Alcuni esempi di applicazioni 3 1.1.2 Applicazioni e interfacce 4 1.2 Architettura dei calcolatori 7 1.2.1 Hardware

Dettagli

Cosa è l Informatica?

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

Dettagli

Introduzione alla programmazione

Introduzione alla programmazione Introduzione alla programmazione Cosa è un calcolatore? Hardware Processore Memoria Periferiche Funzionamento Esegue istruzioni elementari Esegue istruzioni molto velocemente Deve essere programmato Il

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

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 PROGRAMMAZIONE E INFORMATICA GENERALE 1

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

Dettagli

Salvatore Cuomo Prolusione

Salvatore Cuomo Prolusione Salvatore Cuomo Prolusione 1 Lezione n. Parole chiave: Algoritmo, Esecutore Corso di Laurea: Informatica Insegnamento: Programmazione II, modulo di Laboratorio Email Docente: salvatore.cuomo@unina. it

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

Questi lucidi provengono dal capitolo 2 di:

Questi lucidi provengono dal capitolo 2 di: Questi lucidi provengono dal capitolo 2 di: Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Oggetti e classi Gli oggetti sono entità di un programma che si possono manipolare

Dettagli

Problemi, algoritmi, calcolatore

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

Dettagli

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 Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

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 Paradigma OO Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Esercizi Paradigma Object-Oriented Il paradigma OO

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

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

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Introduzione al linguaggio Java - Input/Output, Variabili, Tipi Tutor: Allegra De Filippo allegra.defilippo@unibo.it a.a. 2015/2016 Fondamenti di Informatica T-1 Allegra De

Dettagli

Programmazione procedurale

Programmazione procedurale Programmazione procedurale È il tipo di programmazione su cui è basato ad esempio il C, usa il principio divide et impera : dividi un problema grosso in parti più semplici. L attenzione è concentrata al

Dettagli

Il concetto di calcolatore e di algoritmo

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

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Classi e Oggetti: Metafora Parte a versione 2.2 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android

Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola Sicurezza e Permission in Android Tesina esame Programmazione di Sistemi Mobile realizzata da Roberto Giuliani matricola 633688 Sicurezza e Permission in Android La sicurezza al giorno d oggi è uno degli aspetti più importanti dell informatica!

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

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

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Corso di Laurea Ingegneria Informatica Laboratorio di Informatica Capitolo 4 Traduzione ed esecuzione di programmi Ottobre 2006 Traduzione ed esecuzione di programmi 1 Nota bene Alcune parti del presente

Dettagli

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas

A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Classi e oggetti A. Lorenzi, A. Rizzi Java. Programmazione ad oggetti e applicazioni Android Istituto Italiano Edizioni Atlas Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming),

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

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E05 Definizione di classi A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Definizione di classi 1 Contenuti

Dettagli

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI

CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI CONCETTI E ARCHITETTURA DI UN SISTEMA DI BASI DI DATI Introduzione alle basi di dati (2) 2 Modelli dei dati, schemi e istanze (1) Nell approccio con basi di dati è fondamentale avere un certo livello di

Dettagli

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre:

Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004. Docente. Orario. Da Ottobre-Dicembre: Elementi di Informatica Corso di Laurea in Scienze Geologiche a.a. 2003/2004 1 Docente Patrizia Boccacci Ufficio 332 III piano Dipartimento di Informatica e Sc. Inf. Tel. 010-3536732 E-mail: boccacci@disi.unige.it

Dettagli

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori AXO - Architettura dei Calcolatori e Sistema Operativo organizzazione strutturata dei calcolatori I livelli I calcolatori sono progettati come una serie di livelli ognuno dei quali si basa sui livelli

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 06 Programmazione Java Alfonso Miola Ottobre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Programmazione Java 1 Contenuti Il

Dettagli

I Diagrammi di Flusso OO

I Diagrammi di Flusso OO Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - I Diagrammi di Flusso OO Generalità I diagrammi di attività vengono usati per modellare processi a

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

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

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

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007

Array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 11. A. Miola Dicembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 11 Array A. Miola Dicembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Array 1 Contenuti Il problema degli studenti da promuovere

Dettagli

MODELLO e RAPPRESENTAZIONE

MODELLO e RAPPRESENTAZIONE MODELLO e RAPPRESENTAZIONE I calcolatori elaborano informazione e restituiscono nuova informazione: questa deve essere rappresentata in forma simbolica Esempio : Per poter gestire una biblioteca dobbiamo

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

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 6 Istruzioni Condizionali Carla Limongelli Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Istruzioni condizionali

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Classi e istanze in Java Definizione di classe in Java A meno che non si usino classi già scritte da altri, prima di poter creare un qualsiasi oggetto devo creare la sua rappresentazione:

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

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

In passato, occuparsi di informatica era sinonimo di programmare computer

In passato, occuparsi di informatica era sinonimo di programmare computer Programmare =? In passato, occuparsi di informatica era sinonimo di programmare computer attività poco stimolante, atto finale di un processo dove le fasi creative - analisi e progetto - sono già avvenute

Dettagli

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Caratteristiche di un linguaggio ad alto livello

Caratteristiche di un linguaggio ad alto livello Caratteristiche di un linguaggio ad alto livello Un linguaggio ad alto livello deve offrire degli strumenti per: rappresentare le informazioni di interesse dell algoritmo definire le istruzioni che costituiscono

Dettagli

Programmazione con Java

Programmazione con Java Programmazione con Java Astrazioni e UML Astrazioni Nella vita reale siamo abituati a osservare e descrivere oggetti a vari livelli di dettaglio Dai da mangiare a Fido Porta a passeggio il cane Di quale

Dettagli

AUTOMA A STATI FINITI

AUTOMA A STATI FINITI Gli Automi Un Automa è un dispositivo, o un suo modello in forma di macchina sequenziale, creato per eseguire un particolare compito, che può trovarsi in diverse configurazioni più o meno complesse caratterizzate

Dettagli

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software:

L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: Il Software L hardware da solo non è sufficiente per il funzionamento dell elaboratore È necessario introdurre il software: un insieme di programmi che permettono di trasformare un insieme di circuiti

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 2-Proprietà degli algoritmi 1 Prerequisiti Conoscere il concetto di M.C.D. tra due numeri interi Concetto intuitivo di funzione matematica 2 1 Introduzione Sappiamo scrivere

Dettagli

UML I diagrammi implementativi

UML I diagrammi implementativi Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - UML I diagrammi implementativi E. TINELLI I diagrammi implementativi In UML 2.x esistono 3 tipi di

Dettagli

Dall analisi alla codifica (1)

Dall analisi alla codifica (1) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (1) Aprile 2010 Dall'analisi alla codifica (1) 1 Contenuti... Problemi e algoritmi comprensione del problema

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

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

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 B1 Il concetto di classe 1 Prerequisiti Programmazione elementare Conoscenza dell uso delle funzioni Utilizzo della UML 2 1 Introduzione Gli oggetti reali sono una infinità

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Ereditarietà e Polimorfismo. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà e Polimorfismo Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Ereditarietà L ereditarietà è lo strumento che permette di costruire nuove classi utilizzando

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

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione

Dal problema a un programma comprensibile dal calcolatore. Il Progetto degli Algoritmi. Dall analisi del problema all esecuzione Il Progetto degli Algoritmi Fondamenti di Informatica A Ingegneria Gestionale Università degli Studi di Brescia Docente: Prof. Alfonso Gerevini Dal problema a un programma comprensibile dal calcolatore

Dettagli

Corso di Laurea Ingegneria Civile

Corso di Laurea Ingegneria Civile Corso di Laurea Ingegneria Civile Presentazione del corso di Fondamenti di Informatica Dm. 270 6 cfu Carla Limongelli Marzo 2010 1 Benvenuti!!! 2 Docenti del corso Prof. Carla Limongelli limongel@dia.uniroma3.it

Dettagli

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore.

I SISTEMI OPERATIVI. Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. I SISTEMI OPERATIVI Insieme di programmi che implementano funzioni essenziali per l uso di un sistema elaboratore. Le funzioni di un S.O. non sono definibili in modo esaustivo e puntuale così come non

Dettagli

INTRODUZIONE AL TESTO FILOSOFICO

INTRODUZIONE AL TESTO FILOSOFICO INTRODUZIONE AL TESTO FILOSOFICO MEDIANTE FORME DI ANNOTAZIONE SEMANTICA Ciclo seminariale 4 febbraio 2011 4 marzo 2011 Fra ontologie e mappe: un introduzione Francesco Bianchini DI COSA PARLEREMO Mappe

Dettagli

Linguaggi di Programmazione

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

Dettagli

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer

L INFORMATICA c1. Informatica è qualcosa che ha a che fare con l uso del computer L INFORMATICA c1 Negli incontri precedenti ci siamo occupati di cercare la soluzione di alcuni problemi. Ora cerchiamo di definire cosa si intende per informatica. Informatica è qualcosa che ha a che fare

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Presentazione del corso di Fondamenti di Informatica 2 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Presentazione Corso 1 Contenuti Corso di

Dettagli

Il Sistema Operativo

Il Sistema Operativo Il Sistema Operativo Il sistema operativo Con il termine sistema operativo si intende l insieme di programmi e librerie che opera direttamente sulla macchina fisica mascherandone le caratteristiche specifiche

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

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento

Descrivono la collaborazione di un gruppo di oggetti per implementare collettivamente un comportamento Diagrammi di interazione Diagrammi di sequenza Diagrammi di comunicazione (ex collaborazione) Diagrammi di interazione generale Diagrammi di temporizzazione Descrivono la collaborazione di un gruppo di

Dettagli

Corso di Informatica Modulo T1 1 - Il concetto di problema

Corso di Informatica Modulo T1 1 - Il concetto di problema Corso di Informatica Modulo T1 1 - Il concetto di problema 1 Prerequisiti Concetti intuitivi di: Proporzione Problema Variabile Numeri interi e reali 2 1 Introduzione Nel risolvere un problema abbiamo

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE

INTRODUZIONE ALLA PROGRAMMAZIONE INTRODUZIONE ALLA PROGRAMMAZIONE Prof. Enrico Terrone A. S: 2008/09 Definizioni Programmare significa risolvere problemi col computer, cioè far risolvere problemi al computer attraverso un insieme di informazioni

Dettagli

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

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

Dettagli

Il concetto di informatica. Graziano Pravadelli (2012)

Il concetto di informatica. Graziano Pravadelli (2012) Il concetto di informatica Graziano Pravadelli (2012) Informatica e telecomunicazione Cos è l informatica? lo studio sistematico degli algoritmi che descrivono e trasformano l informazione: la loro teoria,

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

LA METAFORA DELL UFFICIO

LA METAFORA DELL UFFICIO LA METAFORA DELL UFFICIO Lavagna di lavoro Lavagna di programma Sportello utenti Impiegato Capo Ufficio LAVAGNA DI LAVORO Chiamiamo variabili le posizioni sulla lavagna, identificate ognuna da un nome

Dettagli

Le basi del linguaggio Java

Le basi del linguaggio Java Le basi del linguaggio Java Compilazione e interpretazione Quando si compila il codice sorgente scritto in Java, il compilatore genera il codice compilato, chiamato bytecode. È un codice generato per una

Dettagli

Corso di Informatica Modulo T1 1-Il concetto di algoritmo

Corso di Informatica Modulo T1 1-Il concetto di algoritmo Corso di Informatica Modulo T1 1-Il concetto di algoritmo 1 Prerequisiti Differenza tra esecutore e risolutore Problema e procedimento risolutivo Linguaggio naturale Repertorio di un esecutore Fasi di

Dettagli

Linguaggi di programmazione

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

Dettagli

Fondamenti di Informatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico

Fondamenti di Informatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico acoltà di ngegneria Università di irenze Corso di Laurea in ngegneria Meccanica ondamenti di nformatica Programma dettagliato del corso e appunti integrativi del libro di testo consigliato Anno Accademico

Dettagli

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E.

Corso di Laurea Specialistica in Ingegneria Informatica. Corso di Ingegneria del Software A. A Introduzione ad UML E. Corso di Laurea Specialistica in Ingegneria Informatica Corso di Ingegneria del Software A. A. 2008 - Introduzione ad UML E. TINELLI UML È un linguaggio (e notazione) universale per rappresentare qualunque

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA2 2.1- Funzioni 1 Prerequisiti Programmazione elementare in Java Tecnica top-down Concetto matematico di funzione Compilazione e link di programmi Esecuzione di funzioni

Dettagli

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato

UML come abbozzo. Introduzione all UML. UML come linguaggio x programmi. UML come progetto dettagliato Introduzione all UML UML come abbozzo UML - Unified Modeling Language E una famiglia di notazioni grafiche per la modellazione visuale del software Modellazione: rappresentazione di elementi che corrispondono

Dettagli

Sistemi di rilevazione e correzione automatica di errori di trasmissione

Sistemi di rilevazione e correzione automatica di errori di trasmissione Sistemi di rilevazione e correzione automatica di errori di trasmissione Vitoantonio Bevilacqua bevilacqua@poliba.it Sommario. Il presente paragrafo si riferisce alle lezioni del corso di Fondamenti di

Dettagli

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via

Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Introduzione alle Classi / Oggetti Per capire cos è un oggetto prendiamo spunto dalla vita reale: un oggetto è un automobile, un computer, una casa, e così via Un oggetto può essere definito elencando

Dettagli

L ELABORATORE ELETTRONICO

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

Dettagli

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 08 Ereditarietà A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Ereditarietà 1 Contenuti!Livelli di astrazione

Dettagli

Modelli e Metodi per la Simulazione (MMS)

Modelli e Metodi per la Simulazione (MMS) Modelli e Metodi per la Simulazione (MMS) adacher@dia.uniroma3.it Programma La simulazione ad eventi discreti, è una metodologia fondamentale per la valutazione delle prestazioni di sistemi complessi (di

Dettagli

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15

Ingegneria del Software 4. Introduzione a UML. Dipartimento di Informatica Università di Pisa A.A. 2014/15 Ingegneria del Software 4. Introduzione a UML Dipartimento di Informatica Università di Pisa A.A. 2014/15 e per i modelli iterativi analisi peliminare analisi e progettazione realizzazione Necessità di

Dettagli

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione

Unità A2. Progettazione concettuale. Obiettivi. Astrazione. Astrazione per aggregazione Obiettivi Unità A2 Progettazione concettuale Imparare ad astrarre i dati per definire entità. Saper distinguere tra astrazione per classificazione, per aggregazione e per generalizzazione. Saper distinguere

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

1. UML 2 ed il Processo Unificato

1. UML 2 ed il Processo Unificato 1. UML 2 ed il Processo Unificato Andrea Polini Laboratorio di Ingegneria del Software Corso di Laurea in Informatica (Laboratorio di Ingegneria del Software) 1. UML 2 ed il Processo Unificato 1 / 25 Sommario

Dettagli