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 Cosa è un programma Cosa significa programmare Il punto di vista del programmatore Il punto di vista dell utente Paradigmi di programmazione La programmazione ad oggetti 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 Un programma (o applicazione) è usato da un utente per risolvere un problema con l ausilio di un calcolatore 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 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 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 Per un programmatore, un programma è un insieme di frasi (istruzioni) che descrivono una certa realtà di interesse in un linguaggio di programmazione 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 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 Ciascun oggetto della realtà è: identificabile con un nome ha caratteristiche (proprietà) ben precise svolge funzioni specifiche ed esegue operazioni 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... 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 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 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 Un programma coordina le funzioni dei diversi oggetti coinvolti, per raggiungere il suo scopo finale 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 Nel mondo reale esiste un oggetto concreto denominato televisore, nome che permette di far riferimento all oggetto, ovvero, di referenziare l oggetto Il televisore ha un suo stato è acceso o spento è sintonizzato su un certo canale ha un certo livello di volume 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 Nel mondo reale esiste anche un altro oggetto denominato studente, nome che permette di far riferimento all oggetto, ovvero, di referenziare l oggetto 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 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 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 Come già detto l interfaccia di un oggetto è la descrizione dell insieme delle operazioni che l oggetto sa eseguire 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 Come già detto in ogni istante, un oggetto è in un certo stato, descritto da un insieme di proprietà Ciascuna proprietà è caratterizzata da un nome, dal valore corrente e dall insieme dei valori ammessi 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... 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 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 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 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 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 Un oggetto software è progettato e realizzato da un programmatore la progettazione e realizzazione di componenti software è chiamata implementazione 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 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 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 Gli oggetti software, che esistono solo virtualmente, vengono in genere descritti mediante un formalismo grafico (il linguaggio UML acronimo di Unified Modeling Language) 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 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) 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 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) 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 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 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 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 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 31

32 Modalità di costruzione statica 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 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 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... Una classe è quindi il progetto di una tipologia di uno o più oggetti 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 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 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 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 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 Cosa è un programma Cosa significa programmare Cosa è la programmazione ad oggetti Cosa sono gli oggetti software Cosa è una classe Costruzione statica e dinamica di classi Esempi di oggetti software e di classi Le successive diapositive sintetizzano quanto visto Programmi e Oggetti Software 39

40 Che cosa è un programma Un programma (o applicazione) è usato da un utente per risolvere un problema con l ausilio di un calcolatore 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 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 Un programma coordina le funzioni dei diversi oggetti coinvolti, per raggiungere il suo scopo finale 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 Ciascun oggetto della realtà è: identificabile con un nome ha caratteristiche (proprietà) ben precise svolge funzioni specifiche ed esegue operazioni 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... 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 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 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 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 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 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 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) 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 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 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 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

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 04 Programmi e Oggetti Software Alfonso Miola Ottobre 2012 http://www.dia.uniroma3.it/~java/fondinf/ 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 Informatica

Corso di Informatica Corso di Informatica Modulo T1 A1 Gli oggetti reali 1 Prerequisiti Corso programmazione base Compito di una funzione Strutture di controllo 2 1 Introduzione Il mondo reale è popolato di oggetti, ciascuno

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

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007

Esempi di programmi. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E01. A. Miola Settembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E01 Esempi di programmi A. Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi di programmi - 1 1 Contenuti

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 11 Leggibilità Aprile 2010 Leggibilita 1 Prerequisiti Semplici programmi Java Sintassi del linguaggio Leggibilita 2 Contenuti Stile

Dettagli

Tipi riferimento e stringhe

Tipi riferimento e stringhe Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 8 Tipi riferimento e stringhe A. Miola Novembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Tipi riferimento e stringhe 1

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

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma

INTRODUZIONE ALLA PROGRAMMAZIONE AD ALTO LIVELLO IL LINGUAGGIO JAVA. Fondamenti di Informatica - Programma 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

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

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13

UML Introduzione a UML Linguaggio di Modellazione Unificato. Corso di Ingegneria del Software Anno Accademico 2012/13 UML Introduzione a UML Linguaggio di Modellazione Unificato Corso di Ingegneria del Software Anno Accademico 2012/13 1 Che cosa è UML? UML (Unified Modeling Language) è un linguaggio grafico per: specificare

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

Variabili e assegnazione

Variabili e assegnazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Variabili e assegnazione Carla Limongelli Marzo 2009 Variabili e assegnazione 1 Contenuti Variabili a ab e assegnazionea e Variabili e aree di

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

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

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura:

Le classi in java. Un semplice programma java, formato da una sola classe, assume la seguente struttura: Le classi in java Un semplice programma java, formato da una sola classe, assume la seguente struttura: class Domanda static void main(string args[]) System.out.println( Quanti anni hai? ); La classe dichiarata

Dettagli

Algoritmo. Calcolabilità

Algoritmo. Calcolabilità Algoritmo In altri termini, l algoritmo può essere definito come la descrizione di un procedimento che ha le seguenti proprietà: deve essere esplicita e non ambigua per l interlocutore cui è destinata

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

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

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

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi

Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Fondamenti di Informatica T1 Introduzione al linguaggio Java Input/Output-Variabili-Tipi Tutor Melissa Licciardello melissa.licciardell2@unibo.it Melissa Licciardello Fondamenti di Informatica T1 1 / 15

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

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

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

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

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

Basi di Dati: Introduzione

Basi di Dati: Introduzione Basi di Dati: Introduzione Tutte le organizzazioni trattano informazioni che vanno individuate, raccolte e memorizzate per RECUPERARLE AGGIUNGERLE MODIFICARLE CANCELLARLE Necessità nata molto prima dell

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

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

Il paradigma Object Oriented. Iolanda Salinari

Il paradigma Object Oriented. Iolanda Salinari Il paradigma Object Oriented Iolanda Salinari gli oggetti un oggetto è un elemento o concetto del mondo reale che può essere identificato in modo univoco: un cliente, un articolo, un impiegato ogni oggetto

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

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

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

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

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

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

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

Dettagli

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

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

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 E02 Grammatiche Esercizi Alfonso Miola Settembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Grammatiche - Esercizi 1 Grammatica

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

Corso di Informatica Modulo T1 C1-Sequenza e selezione

Corso di Informatica Modulo T1 C1-Sequenza e selezione Corso di Informatica Modulo T C-Sequenza e selezione Prerequisiti Analizzare un problema Scrivere un algoritmo Istruzioni semplici Espressione logica 2 Introduzione La programmazione a salti crea diverse

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

Corso di Fondamenti di Informatica L-B

Corso di Fondamenti di Informatica L-B Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica L-B Corso di Laurea in Ingegneria delle Telecomunicazioni Prof. Rebecca Montanari Anno accademico 2002/2003 Introduzione

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

ciclo di vita della soluzione (informatica) d un problema

ciclo di vita della soluzione (informatica) d un problema ciclo di vita della soluzione (informatica) d un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti ma prima di arrivare a questo 1.

Dettagli

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto.

Oggetti. La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. Classi e oggetti Oggetti La programmazione orientata agli oggetti, OOP (Object-Oriented Programming), prende il nome dall elemento su cui si basa, l oggetto. OOP Vantaggi facilità di lettura e di comprensione

Dettagli

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi

Fondamenti di Informatica T-1. Introduzione al linguaggio Java Input/output, variabili, tipi Introduzione al linguaggio Java Input/output, variabili, tipi 2 Programmi e linguaggi Algoritmo sequenza finita di passi per risolvere in un tempo finito un problema Linguaggio di programmazione notazione

Dettagli

Unified Modeling Language (UML)

Unified Modeling Language (UML) Unified Modeling Language (UML) È una famiglia di notazioni grafiche che si basano su un singolo meta-modello Serve per definire, progettare, realizzare e documentare sistemi sw (in particolare quelli

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

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

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

SYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il...

SYLLABUS TRIENNIO. prof. Mauro Malatesta. Approvata dal Dipartimento di il. Approvata dal Consiglio di classe il... Anno scolastico: 2014 2015 Classe: 4 Sez.: G Disciplina: INFORMATICA Articolazione: Informatica Docente: prof. Mauro Malatesta (firma) Approvata dal Dipartimento di il Approvata dal Consiglio di classe

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

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

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

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

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

Dettagli

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

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

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura

Università degli Studi di Enna Kore Facoltà di Ingegneria ed Architettura Facoltà di Ingegneria ed Architettura Anno Accademico 2016 2017 A.A. Settore Scientifico Disciplinare CFU Insegnamento Ore di aula Mutuazione 2016/17 Codice settore con declaratoria 9 PROGRAMMAZIONE E

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

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

Introduzione all informatica

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

Dettagli

Prima di iniziare. Diamo qualche definizione :

Prima di iniziare. Diamo qualche definizione : 1 Prima di iniziare. Diamo qualche definizione : Modello E/R (Entity/Relationship in italiano Entità- Relazione) : è un modello concettuale di dati e, come tale, fornisce una serie di strutture, detti

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

Elementi di Informatica. Corso di Laurea in Scienze Geologiche a.a. 2003/2004

Elementi di Informatica. Corso di Laurea in Scienze Geologiche a.a. 2003/2004 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

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T1 C1 Incapsulamento e tecniche OOP 1 Prerequisiti Tecnica elementare della programmazione Principi di programmazione OOP Metodologie di progettazione software 2 1 Introduzione

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

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

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

DISPENSE DI PROGRAMMAZIONE LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE. DISPENSE DI PROGRAMMAZIONE Modulo 3 Linguaggi di programmazione: dati e controllo (Parte I) LINGUAGGI A TIPIZZAZIONE FORTE: IL COSTRUTTO DI TIPO. TIPI SEMPLICI: TIPI PRE-DEFINITI E TIPI DEFINITI DAL PROGRAMMATORE.

Dettagli

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata.

Lezione 1. Sistemi operativi. Marco Cesati System Programming Research Group Università degli Studi di Roma Tor Vergata. Lezione 1 Sistemi operativi 4 marzo 2014 System Programming Research Group Università degli Studi di Roma Tor Vergata SO 14 1.1 Di cosa parliamo in questa lezione? È una introduzione generale ai sistemi

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

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

Introduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari.

Introduzione. Corso di Tecniche di Simulazione, a.a. 2005/2006. Francesca Mazzia. Dipartimento di Matematica Università di Bari. Introduzione Corso di Tecniche di Simulazione, a.a. 2005/2006 Francesca Mazzia Dipartimento di Matematica Università di Bari 6 Marzo 2006 Francesca Mazzia (Univ. Bari) Introduzione 6/03/2006 1 / 23 Introduzione

Dettagli

Progettazione Object-Oriented

Progettazione Object-Oriented Progettazione Object-Oriented Generalità, Relazione fra OOA e OOD Concetti di base: Classi e Oggetti, Relazioni fra oggetti, Ereditarietà e Polimorfismo La specifica del Progetto: notazione UML Una metodologia

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

Introduzione. Informatica B. Daniele Loiacono

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

Dettagli

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate

IL LINGUAGGIO JAVA. Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per scrivere frasi ben formate Fondamenti di Informatica IL LINGUAGGIO JAVA Sintassi, Semantica, Input, Tipi Elementari e Istruzione Condizionale 1 Introduzione alla sintassi di Java La sintassi formalizza le regole sintattiche per

Dettagli

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

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

Dettagli

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

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica

DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI. Informatica DATABASE - MODELLO E-R ENTITÀ E RELAZIONI TRATTO DA CAMAGNI-NIKOLASSY, CORSO DI INFORMATICA, VOL 2, HOEPLI Informatica Introduzione L astrazione permette di creare dei modelli su cui vengono costruite

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

Università degli Studi della Calabria

Università degli Studi della Calabria Università degli Studi della Calabria Facoltà di Scienze Politiche CORSO DI FONDAMENTI DI INFORMATICA I A.A 2007/2008 Docente : Ing. Francesco Folino 1 INFORMAZIONI UTILI 2 Docente: Ing. Francesco Folino

Dettagli