Fondamenti di Programmazione

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Fondamenti di Programmazione"

Transcript

1 Fondamenti di Programmazione Prof. Ivan Serina

2 Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti Object-oriented puro e moderno Costante evoluzione

3 Scopo del corso Il corso ha lo scopo di trattare i fondamenti della programmazione, usando il linguaggio Java come strumento, pertanto: si tratteranno solo gli aspetti fondamentali del linguaggio si utilizzerà la piattaforma SE (Standard Edition) adatta allo sviluppo di applicazioni su Personal Computer

4 Cos è la programmazione? La realizzazione di un programma comprende: L analisi del problema da risolvere Il progetto delle strutture dati e degli algoritmi per risolverlo La codifica delle strutture e degli algoritmi progettati in un linguaggio di programmazione La documentazione del codice prodotto La verifica e validazione del codice prodotto La manutenzione del codice prodotto

5 Cosa non è la programmazione? La programmazione non è solo la scrittura di codice : prima la testa poi la tastiera! La programmazione non è il lavoro degli informatici : l ingegnere informatico può svolgere svariati ruoli professionali, in alcuni dei quali l attività di programmazione (e in particolare la scrittura di codice) non è predominante

6 Perché imparare a programmare? La necessità di affrontare problemi di programmazione è presente in qualunque area dell Ingegneria dell Informazione (Elettronica, Informatica, Telecomunicazioni, Automazione) Un ingegnere dell area dell Informazione DEVE saper programmare (anche se non fa il programmatore a tempo pieno) Saper programmare è un notevole valore aggiunto per un professionista in qualunque area dell Ingegneria (e non solo)

7 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java

8 La tecnologia Java Con il termine Java technology si fa riferimento a due concetti ben distinti: Un linguaggio di programmazione Un insieme di piattaforme/tecnologie che offrono strumenti e permettono l utilizzo di programmi scritti in Java in diverse situazioni (dalle applicazioni Web ai cellulari)

9 Le piattaforme Java: SE Java SE (Standard Edition): piattaforma base destinata alla realizzazione di applicazioni "stand-alone" su calcolatori convenzionali e simili Due componenti principali JRE (Java Runtime Environment): strumenti per l esecuzione di programmi Java già sviluppati JDK (Java Development Kit): strumenti base per lo sviluppo di programmi (include JRE)

10 Le piattaforme Java: SE

11 Altre piattaforme/tecnologie Java Java EE (Enterprise Edition): piattaforma molto estesa per applicazioni client-server operanti in rete (web e non solo) Java ME (Micro Edition): piattaforma ridotta per applicazioni su dispositivi dalle risorse limitate (cellulari, palmari, ) Java FX: tecnologia orientata a scripting e dispositivi mobili

12 Altre piattaforme/tecnologie Java Java Embedded: varianti di Java SE e Java ME per applicazioni embedded (ovvero nascoste dentro dispositivi di ogni genere dalle stampanti alle automobili) Java Card: versione ridottissima per Smart Card Java TV Java DB

13 Evoluzione di Java SE 1996: JDK : JDK : Java 2 (SDK 1.2) 1999: J2SE 1.3 (SDK 1.3) 2002: J2SE 1.4 (SDK 1.4) 2004: J2SE (1.)5.0 (JDK 5.0) Tiger 2006: Java SE 6 (JDK 6) 2010: Java 7 (JDK 7) Marzo 2014: Java 8 (JDK 8)

14 Java Versions Version Year Important New Features Inner classes Swing, Collections Performance enhancements Assertions, XML Generic classes, enhanced for loop, auto-boxing, enumerations Library improvements Small language changes and library improvements Version 8 in March 2014: Library improvements, Compact Profiles, new JavaScript engine, Lambda expressions, Security enhancements

15 Self Check What are the two most important benefits of the Java language? Answer: Safety and portability. How long does it take to learn the entire Java library? Answer: No one person can learn the entire library it is too large.

16 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java

17 Il primo programma Java public class Buongiorno { public static void main (String args[]) { // Visualizza messaggio di benvenuto System.out.println("Buongiorno!");

18 Il primo programma Java E costituito da una sola classe la cui definizione consiste del solo metodo main L esecuzione di qualunque applicazione Java stand-alone coincide con l esecuzione del metodo main di una classe Il metodo main in questo esempio è costituito da una sola istruzione di stampa a video

19 Il primo programma Java Parola riservata (modificatore di accesso alla classe) Parola riservata che precede la definizione di una classe public class Buongiorno { public static void main (String args[]) {// Visualizza messaggio di benvenuto Nome della classe System.out.println("Buongiorno!"); Graffe che racchiudono la definizione della classe (body o corpo della classe) Commento Definizione del metodo main

20 Il metodo main Intestazione (detta anche signature o firma) del metodo main public static void main (String args[]) {// Visualizza messaggio di benvenuto System.out.println("Buongiorno!") ; Graffe che racchiudono Unica istruzione contenuta il corpo (body) del metodo nel corpo del metodo main Fine istruzione

21 Parola riservata (modificatore di accesso al metodo) Il metodo main Parola riservata (livello di definizione del metodo) public static void main (String args[]) {// Visualizza messaggio di benvenuto Parola riservata (tipo restituito del metodo) Nome del metodo Lista argomenti (o parametri) formali del metodo main System.out.println ( "Buongiorno!" ) ; Invocazione del metodo predefinito println per la stampa a video Lista argomenti (o parametri) attuali passati al metodo println

22 Self Check How would you modify the Buongiorno program to print the words Buongiorno" and Signore!" on two lines? Answer: System.out.println( Buongiorno"); System.out.println( Signore!");

23 Would the program continue to work if you omitted the line starting with //? Answer: Self Check Yes - the line starting with // is a comment, intended for human readers. The compiler ignores comments.

24 Self Check What does the following set of statements print? System.out.print("My lucky number is"); System.out.println( ); Answer: The printout is My lucky number is12 It would be a good idea to add a space after the is.

25 Dalla carta al calcolatore: modello base Produzione del codice sorgente (file.java editor qualunque) Compilazione del codice sorgente: produzione del bytecode (file.class compilatore) Esecuzione = interpretazione del bytecode da parte di un interprete software (JVM: Java Virtual Machine)

26 Self Check Can you use a word processor for writing Java programs? Answer: Yes, but you must remember to save your file as plain text.

27 Self Check What do you expect to see when you load a class file into your text editor? Answer: A sequence of random characters, some funny looking. Class files contain virtual machine instructions that are encoded as binary numbers.

28 Gestione Errori Imparare quali sono gli errori più comuni ed imparare ad evitarli. Utilizzare strategie di programmazione difensiva per ridurre la probabilità di fare errori quanto I loro effetti. Utilizzare strategie di collaudo e debug per risalire agli errori superstiti

29 Strategie per la gestione degli Errori Compile-time error: Una violazione delle regole del linguaggio di programmazione identificata dal compilatore Esempio: System.ou.println("Hello, World!); Syntax error Run-time error: Un errore che si verifica durante l'esecuzione di un programma che ne provoca un comportamento diverso dal previsto Esempio: System.out.println("Hello, Word!"); System.out.println(1/0); Logic error

30 Self Check Suppose you omit the // characters from the previous program but not the remainder of the comment. Will you get a compile-time error or a runtime error? Answer: A compile-time error. The compiler will not know what to do with the word Display.

31 Self Check When you used your computer, you may have experienced a program that crashed (quit spontaneously) or hung (failed to respond to your input). Is that behavior a compile-time error or a run-time error? Answer: It is a run-time error. After all, the program had been compiled in order for you to run it.

32 Self Check Why can't you test a program for run-time errors when it has compiler errors? Answer: When a program has compiler errors, no class file is produced, and there is nothing to run.

33 SISTEMA OPERATIVO Who is who PROGRAMMATORE codice sorgente COMPILATORE codice intermedio (bytecode) INTERPRETE (JVM) chiamate di sistema instruction set HARDWARE comprensione del problema conoscenze tecniche creatività Parte indipendente Parte dipendente dalla piattaforma hardware/software di base

34 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java Il primo programma Java Uso di più classi

35 Il secondo programma Java Un programma Java è costituito da una o (normalmente) più classi La capacità di progettare e sviluppare programmi di media complessità costituiti da più classi è l obiettivo formativo finale del corso da raggiungere per passi successivi Cominciamo con un semplice esempio

36 Il secondo programma Java public class Ossequioso { public void saluta () { System.out.println("Buongiorno!");

37 La classe Ossequioso Parola riservata (modificatore di accesso alla classe) Parola riservata che precede la definizione di una classe public class Ossequioso Nome della classe { public void saluta () { System.out.println("Buongiorno!"); Graffe che racchiudono la definizione della classe (body o corpo della classe) Definizione del metodo saluta

38 Il metodo saluta Intestazione (detta anche signature o firma) del metodo saluta public void saluta () { System.out.println("Buongiorno!") ; Graffe che racchiudono Unica istruzione contenuta il corpo (body) del metodo nel corpo del metodo saluta Fine istruzione

39 Parola riservata (modificatore di accesso al metodo) Il metodo saluta Il livello di definizione del metodo è implicito Parola riservata (tipo restituito del metodo) Nome del metodo Lista (vuota) di argomenti (o parametri) formali del metodo saluta public void saluta () { System.out.println ( "Buongiorno!"); Invocazione del metodo predefinito println per la stampa a video Lista argomenti (o parametri) attuali passati al metodo println

40 La classe Ossequioso La classe Ossequioso (come la maggior parte delle classi Java) non è pensata per essere eseguita da sola (non ha main program) La sua definizione consiste di un solo metodo di nome saluta La classe Ossequioso dovrà essere utilizzata insieme ad (almeno) un altra classe

41 La classe Ossequioso Normalmente una classe rappresenta il prototipo generico di una famiglia di oggetti simili La (per ora fin troppo semplice) classe Ossequioso rappresenta il prototipo di tutti gli oggetti capaci di trasmettere un saluto (per ora sempre lo stesso) Un elemento concreto di una classe viene detto istanza della classe La seconda classe del programma dovrà creare un istanza di Ossequioso ed invocare su di essa l esecuzione del metodo saluta

42 Il secondo programma Java public class BuongiornoMain { public static void main (String [ ] args) { Ossequioso maggiordomo; maggiordomo = new Ossequioso(); maggiordomo.saluta();

43 Parola riservata (modificatore di accesso alla classe) La classe BuongiornoMain public class BuongiornoMain { Parola riservata che precede la definizione di una classe Nome della classe public static void main (String args[]) { Ossequioso maggiordomo; maggiordomo = new Ossequioso(); maggiordomo.saluta(); Graffe che racchiudono la definizione della classe (body o corpo della classe) Definizione del metodo main

44 La classe BuongiornoMain La classe BuongiornoMain contiene il solo metodo main e può quindi essere "eseguita" Il metodo main di BuongiornoMain richiede l esistenza della classe Ossequioso e rappresenta uno dei più tipici schemi di utilizzo di una classe da parte di un altra

45 La classe BuongiornoMain public static void main (String args[]) { Definizione di una variabile Ossequioso maggiordomo; Assegnazione della variabile maggiordomo = new Ossequioso(); maggiordomo.saluta(); Invocazione del metodo saluta

46 Definizione di una variabile Ossequioso maggiordomo ; Tipo della variabile Nome della variabile Viene definita una variabile di nome maggiordomo e di tipo Ossequioso La definizione di una variabile di tipo Ossequioso non porta a creare automaticamente un istanza di Ossequioso La variabile maggiordomo per ora e solo una locazione di memoria priva di contenuto e predisposta per contenere un riferimento ad un oggetto di tipo Ossequioso

47 Assegnazione maggiordomo = new Ossequioso(); Nome della variabile che riceve l assegnazione Operatore di assegnazione Valore assegnato alla variabile Viene assegnato un valore alla variabile maggiordomo Il valore assegnato e il risultato dell uso dell operatore new

48 L operatore new Parola riservata che indica la costruzione di un nuovo oggetto new Ossequioso(); Nome di una classe L oggetto costruito e istanza di una classe e ne rispecchia la definizione Lista degli argomenti utilizzati per la costruzione (in questo caso nessuno) Tecnicamente l operatore new invoca uno dei costruttori della classe passandogli una lista di argomenti Se il programmatore non definisce costruttori ne esiste uno di default che fa il minimo indispensabile

49 Costruzione di un oggetto CODICE Ossequioso maggiordomo; maggiordomo null MEMORIA maggiordomo=new Ossequioso(); saluta() {... Istanza della classe Ossequioso riferita dalla variabile maggiordomo

50 Invocazione di un metodo maggiordomo.saluta(); Nome di una variabile che riferisce un oggetto Separatore Lista Nome di un argomenti metodo definito attuali passati nella classe di cui al metodo l oggetto e istanza A partire da una variabile che riferisce un oggetto si può invocare un metodo dell oggetto La definizione del metodo è quella stabilita nella classe di cui l oggetto è istanza La lista degli argomenti attuali è vuota come lo era quella degli argomenti formali

51 Invocazione di un... metodo CODICE maggiordomo MEMORIA maggiordomo.saluta(); saluta() {...

52 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java Il primo programma Java Uso di più classi Attributi e costruttori

53 Definizione di attributi costanti Non è consigliabile cablare dentro il codice il valore prefissato di un dato Nella classe Ossequioso il dato cablato nel codice è il saluto Buongiorno! E preferibile separare la definizione del saluto dall azione di presentarlo a video Questo richiede la definizione di un attributo costante della classe Ossequioso

54 Definizione di attributi costanti public class Ossequioso { private final String MIO_SALUTO = "Buongiorno!"; public void saluta () { System.out.println(MIO_SALUTO);

55 Definizione di attributi costanti Parola riservata (modificatore Tipo dell attributo di accesso all attributo) Nome dell attributo private final String MIO_SALUTO = "Buongiorno!" ; Parola riservata (indica che l attributo è immutabile) Il livello di definizione dell attributo è implicito Operatore di assegnazione Valore assegnato all attributo costant

56 Definizione di attributi variabili La classe Ossequioso nella versione fin qui presentata è di limitatissima utilità poiche tutte le sue istanze sarebbero di fatto uguali La classe Ossequioso sarebbe un po più utile se fosse possibile creare diverse istanze di Ossequioso ciascuna capace di presentare un saluto diverso (p.e. in una diversa lingua) E necessario che Ossequioso abbia un attributo variabile anziche di valore predefinito

57 Definizione di attributi variabili public class Ossequioso { private String miosaluto; public void saluta () { System.out.println(mioSaluto);

58 Definizione di attributi variabili Tipo dell attributo Parola riservata (modificatore di accesso all attributo) Nome dell attributo private String miosaluto ; L assenza della parola final indica che l attributo e variabile Il livello di definizione dell attributo è implicito

59 Nota terminologica Gli attributi (attributes) vengono anche chiamati campi (fields) o data members della classe Un attributo costante viene normalmente chiamato costante Un attributo variabile viene normalmente chiamato attributo

60 Inizializzazione degli attributi La versione appena presentata della classe Ossequioso è incompleta: si definisce un attributo variabile ma non il suo valore L assegnazione dei valori agli attributi avviene normalmente nella fase di costruzione di un oggetto ad opera di metodi speciali detti metodi costruttori Dobbiamo quindi dotare la classe Ossequioso di un costruttore

61 Metodi costruttori public class Ossequioso { private String miosaluto; public Ossequioso (String cosadevodire) { miosaluto = cosadevodire; public void saluta () { System.out.println(mioSaluto);

62 Il costruttore Parola riservata (modificatore di accesso al metodo costruttore) Il nome del metodo uguale al nome della classe indica che si tratta di un costruttore Lista di argomenti (o parametri) formali del costruttore public Ossequioso (String cosadevodire) { miosaluto = cosadevodire; All attributo miosaluto viene assegnato il valore dell argomento cosadevodire

63 Invocazione del costruttore A questo punto la classe Ossequioso è completa ma è richiesta una modifica della classe BuongiornoMain che rifletta il nuovo modo di costruire le istanze della classe Ossequioso Anziché usare il costruttore predefinito usiamo quello definito da noi che richiede di ricevere un argomento di tipo String

64 Invocazione del costruttore public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; public static void main (String args[]) { Ossequioso maggiordomo; maggiordomo = new Ossequioso(SALUTO_ITA); maggiordomo.saluta();

65 Invocazione del costruttore public class BuongiornoMain { Definizione attributo costante private final static String SALUTO_ITA = "Buongiorno!"; public static void main (String args[]) { Ossequioso maggiordomo; maggiordomo = new Ossequioso(SALUTO_ITA); maggiordomo.saluta(); Invocazione del costruttore passand come argomento attuale l attributo SALUTO_ITA

66 Costruzione di un oggetto CODICE...SALUTO_ITA="Buongiorno!"... Ossequioso maggiordomo; maggiordomo= new Ossequioso(SALUTO_ITA); SALUTO_ITA maggiordomo null MEMORIA Buongiorno!

67 Costruzione di un... oggetto CODICE BuongiornoMain SALUTO_ITA MEMORIA Buongiorno! maggiordomo= new Ossequioso(SALUTO_ITA); CODICE Ossequioso Ossequioso(String cosadevodire) { miosaluto=cosadevodire; maggiordomo null miosaluto...saluta() {...

68 Invocazione del metodo... CODICE BuongiornoMain SALUTO_ITA MEMORIA Buongiorno! maggiordomo.saluta() saluta() { CODICE Ossequioso System.out.println(mioSaluto); maggiordomo null miosaluto...saluta() {...

69 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java Il primo programma Java Uso di più classi Attributi e costruttori Uso di più istanze

70 Due maggiordomi Un solo maggiordomo che ci ossequia non ci basta più Creare due maggiordomi richiede di modificare solo la classe BuongiornoMain: avremo quindi due istanze distinte della classe Ossequioso

71 Due maggiordomi public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta(); E possibile definire piu variabili dello stesso tipo su un unica riga separando i nomi con virgole

72 Due maggiordomi public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta();

73 Due maggiordomi SALUTO_ITA Buongiorno! SALUTO_FRA Bonjour! maggiordomoita maggiordomofra null null

74 Due maggiordomi public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta();

75 Due maggiordomi SALUTO_ITA Buongiorno! SALUTO_FRA Bonjour! maggiordomoita maggiordomofra null null miosaluto...saluta() {System.out.println (miosaluto);

76 Due maggiordomi public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta();

77 Due maggiordomi SALUTO_ITA Buongiorno! SALUTO_FRA Bonjour! maggiordomoita maggiordomofra null null miosaluto miosaluto...saluta() {System.out.println (miosaluto);...saluta() {System.out.println (miosaluto);

78 Due maggiordomi SALUTO_ITA Buongiorno! SALUTO_FRA Bonjour! maggiordomoita maggiordomofra null null miosaluto miosaluto...saluta() {System.out.println (miosaluto);...saluta() {System.out.println (miosaluto);

79 Due maggiordomi public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta();

80 Due maggiordomi SALUTO_ITA Buongiorno! SALUTO_FRA Bonjour! maggiordomoita maggiordomofra null null miosaluto miosaluto...saluta() {System.out.println (miosaluto);...saluta() {System.out.println (miosaluto);

81 Roadmap 0. Primi passi con Java Introduzione alla tecnologia Java Il primo programma Java Uso di più classi Attributi e costruttori Uso di più istanze Tirando le somme

82 Tirando le somme: la classe con il metodo main Un programma Java stand-alone e costituito da almeno una classe che contiene il metodo main e normalmente da una o più altre classi La classe che contiene il metodo main normalmente non contiene molto altro di più e il suo scopo è dare l avvio all esecuzione La classe che contiene il metodo main non è concepita per essere istanziata

83 Tirando le somme: le classi istanziabili Esistono classi (come Ossequioso) il cui scopo è rappresentare il prototipo generico di molteplici oggetti concreti (detti istanze) aventi caratteristiche generali simili ma proprietà specifiche distinte La creazione di istanze avviene utilizzando l operatore new La definizione della classe specifica le operazioni che possono essere eseguite dalle istanze della classe

84 Definizione di una classe La definizione di una classe comprende la definizione di attributi e la definizione di metodi Se la classe è concepita per essere istanziabile normalmente tra i metodi vi sono uno o più metodi costruttori (identificabili perché hanno lo stesso nome della classe)

85 Definizione di una classe Definizione di attributi (due in questo caso) public class BuongiornoMain { private final static String SALUTO_ITA = "Buongiorno!"; private final static String SALUTO_FRA = "Bonjour!"; public static void main (String args[]) { Ossequioso maggiordomoita, maggiordomofra; maggiordomoita = new Ossequioso(SALUTO_ITA); maggiordomofra = new Ossequioso(SALUTO_FRA); maggiordomoita.saluta(); maggiordomofra.saluta(); Definizione di metodi (uno solo in questo caso)

86 Definizione di una classe public class Ossequioso { private String miosaluto; public Ossequioso (String cosadevodire) { miosaluto = cosadevodire; public void saluta () { System.out.println(mioSaluto); Definizione di attributi (uno in questo caso) Uno dei metodi e un costruttore Definizione di metodi (due in questo caso)

87 Uno schema tipico La classe BuongiornoMain illustra uno schema generico utilizzato da molti programmi Java: il metodo main crea istanze di una o più altre classi e quindi invoca i loro metodi Tutti gli aspetti introdotti in questo primo esempio richiedono approfondimenti e completamenti che saranno forniti in modo sistematico nel seguito del corso

Java? Sì, grazie. Scopo del corso

Java? Sì, grazie. Scopo del corso Modulo di Java? Sì, grazie Il linguaggio di Internet? Portabilità su qualunque piattaforma (non solo calcolatori): It works everywhere Supporto e disponibilità di strumenti, librerie e documentazione garantiti

Dettagli

Prof. Pagani corrado JAVA

Prof. Pagani corrado JAVA Prof. Pagani corrado JAVA NASCITA DI JAVA Java è stato creato, a partire da ricerche effettuate alla Stanford University agli inizi degli anni Novanta, da un gruppo di esperti sviluppatori capitanati da

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

Roadmap. Questioni di stile. 0. Primi passi con Java 1. Buone abitudini

Roadmap. Questioni di stile. 0. Primi passi con Java 1. Buone abitudini Modulo di Roadmap 0. Primi passi con Java 1. Buone abitudini Questioni di stile La professionalità di un programmatore si riconosce anche dallo stile con il quale sono scritti i suoi programmi L assenza

Dettagli

Concetti introduttivi

Concetti introduttivi Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione Un programma indica al computer i passi da compiere per svolgere un compito

Dettagli

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java

Capitolo 1. Introduzione. Cay S. Horstmann Concetti di informatica e fondamenti di Java Capitolo 1 Introduzione Cay S. Horstmann Concetti di informatica e fondamenti di Java Obiettivi del capitolo Capire il significato dell attività di programmazione Imparare a riconoscere le componenti più

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

Java. Traditional portability (ideal)

Java. Traditional portability (ideal) 1 Java JAVA: una introduzione 2 Traditional portability (ideal) C-code (Linux) (Pentium) Executable (Linux) Executable (Win32) Linux Windows 32 (Mac) Executable (Mac) Mac 1 1 3 Portability of Java programs

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

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Introduzione a Java IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni Linguaggi di programmazione Ogni programma viene scritto utilizzando un linguaggio specializzato, formale e comprensibile da

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

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.1 Programmazione base 1 Prerequisiti Saper scrivere algoritmi elementari Tecniche elementari di sviluppo di una applicazione Modalità a riga di comando Utilizzo

Dettagli

Esercitazione n 1. Obiettivi

Esercitazione n 1. Obiettivi Esercitazione n 1 Obiettivi Introduzione all utilizzo di Java Development Kit (JDK) versione 1.3 Sviluppare programmi Java tramite linea di comando Es: javac, java, jdb, javadoc Primo esempio di programma

Dettagli

Linguaggi di alto livello, compilatori e interpreti

Linguaggi di alto livello, compilatori e interpreti Linguaggi di alto livello, compilatori e interpreti Percorso di Preparazione agli Studi di Ingegneria Università degli Studi di Brescia Docente: Massimiliano Giacomin Il punto della situazione STATO DATI

Dettagli

Introduzione a Java. Riferimenti

Introduzione a Java. Riferimenti Introduzione a Java Si ringraziano Massimiliano Curcio e Matteo Giacalone 1: Introduction 1 Riferimenti! Java tutorial: http://java.sun.com/docs/books/tutorial/! Il Java tutorial è parte di una più ampia

Dettagli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli

3) Descrivere l architettura di un elaboratore tramite astrazione a livelli Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

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 Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti

Fondamenti di Programmazione Prof.ssa Elisa Tiezzi. Programmazione orientata a oggetti Fondamenti di Programmazione Prof.ssa Elisa Tiezzi Programmazione orientata a oggetti 1 Programmazione OO Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

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

Dettagli

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD

La prima applicazione Java con NetBeans IDE. Dott. Ing. M. Banci, PhD La prima applicazione Java con NetBeans IDE Dott. Ing. M. Banci, PhD Creare la prima applicazione 1. Creare un progetto: Quando si crea un progetto IDE occorre creare un ambiente nel quale costruire e

Dettagli

Programmazione Java Struttura di una classe, Costruttore, Riferimento this

Programmazione Java Struttura di una classe, Costruttore, Riferimento this Programmazione Java Struttura di una classe, Costruttore, Riferimento this romina.eramo@univaq.it http://www.di.univaq.it/romina.eramo/tlp Roadmap > Struttura di una classe > Costruttore > Riferimento

Dettagli

Introduzione all ambiente di sviluppo

Introduzione all ambiente di sviluppo Laboratorio II Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio II. A.A. 2006-07 CdL Operatore Informatico Giuridico. Introduzione all ambiente di sviluppo Raffaella Brighi, a.a. 2005/06 Corso di Laboratorio

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale

IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica IL LINGUAGGIO JAVA Input, Tipi Elementari e Istruzione Condizionale Fondamenti di Informatica - D. Talia - UNICAL 1 Lettura di dati da input In Java la lettura di dati da input

Dettagli

Esonero di Informatica I. Ingegneria Medica

Esonero di Informatica I. Ingegneria Medica Di seguito sono elencati una serie di domande tipo esonero ; i quiz vogliono dare un sistema di autovalutazione e di confronto allo studente che deve prepararsi alla prova di metà corso. Il numero e l

Dettagli

Programmazione I - corso B a.a prof. Viviana Bono

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 1 Introduzione al corso public class Benvenuti { public static

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

Le command line di Java

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

Dettagli

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

Introduzione alla Programmazione in Java attraverso un esempio commentato

Introduzione alla Programmazione in Java attraverso un esempio commentato Corso di Studi in Informatica Programmazione 1 corso B prof. Elio Giovannetti Introduzione alla Programmazione in Java attraverso un esempio commentato Programmazione 1 B - a.a. 2002-03 53 Modello di memoria

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

Java: Definire Classi e Creare Oggetti

Java: Definire Classi e Creare Oggetti Dipartimento di Informatica, Università degli Studi di Verona Corso di Programmazione per Bioformatica lezione del 21 marzo 2014 Introduzione Programmare con gli Oggetti Un programma Java è costituito

Dettagli

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere:

Metodi. Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: Metodi Un metodo è una porzione di codice a cui si associa un nome. Un istruzione eseguita da un metodo può essere: invocazione: esecuzione di un metodo assegnamento: cambia lo stato di un campo ripetizione:

Dettagli

la traduzione dei programmi ed introduzione a Java

la traduzione dei programmi ed introduzione a Java la traduzione dei programmi ed introduzione a Java programmi descrizioni di algoritmi effettuate tramite linguaggi di programmazione lo stesso algoritmo, fissato un linguaggio di programmazione, può essere

Dettagli

Fondamenti di programmazione in Java. Lezione III

Fondamenti di programmazione in Java. Lezione III Fondamenti di programmazione in Java Lezione III Scopo della lezione Descrivere gli strumenti che utilizzeremo nel resto del corso per sviluppare programmi in java UltraEdit Java SDK Imparare a scrivere

Dettagli

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico

NetBeans. Dott. Ing. Rossella Rubino A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico NetBeans Dott. Ing. Rossella Rubino rossella.rubino@unibo.it A.A. 2007/2008 Laboratorio II CdL: Operatore Informatico Giuridico Software necessario J2SE(TM) Development Kit (JDK) http://java.sun.com/javase/downloads/index.jsp

Dettagli

24 - Possibili approfondimenti

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

Dettagli

AMBIENTI DI PROGRAMMAZIONE

AMBIENTI DI PROGRAMMAZIONE AMBIENTI DI PROGRAMMAZIONE È l'insieme dei programmi che consentono la scrittura, la verifica e l'esecuzione di nuovi programmi (fasi di sviluppo) Sviluppo di un programma Affinché un programma scritto

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi:

Programmazione. Cognome... Nome... Matricola... Prova scritta del 22 settembre 2014. Negli esercizi proposti si utilizzano le seguenti classi: Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 22 settembre 2014 TEMPO DISPONIBILE: 2 ore Negli

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Introduzione alla Programmazione. Giselda De Vita

Introduzione alla Programmazione. Giselda De Vita Introduzione alla Programmazione Giselda De Vita - 2015 1 Sulla base dell ambito in cui si colloca il problema da risolvere, è opportuno adottare un linguaggio piuttosto che un altro: ² Calcolo scientifico:

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Fondamenti di Informatica Daniele Loiacono Ho definito un algoritmo e adesso? Daniele Loiacono Dall algoritmo all esecuzione q Come deve essere formalizzato un algoritmo affinché

Dettagli

Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali

Programmazione a Oggetti Lezione 7. Il linguaggio Java: aspetti generali Programmazione a Oggetti Lezione 7 Il linguaggio Java: aspetti generali Sommario Obiettivi di JAVA Portabilità: produrre codice eseguibile su più piattaforme (JVM) Affidabilità: Evitare il più possibile

Dettagli

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App.

Assembly. Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A. Linguaggio assembly (App. Assembly Linguaggio di programmazione corrispondente al linguaggio macchina P.H. Cap. 2.1, 2.2 e App. A 1 Linguaggio assembly (App. A) Rappresentazione simbolica del linguaggio macchina Più comprensibile

Dettagli

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014

Programmazione. Cognome... Nome... Matricola... Prova scritta del 11 luglio 2014 Cognome................................ Nome................................... Matricola............................... Programmazione Prova scritta del 11 luglio 2014 TEMPO DISPONIBILE: 2 ore Negli esercizi

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica: Convenzioni di Stile versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi

Dettagli

Proprietà delle Classi e degli Oggetti in Java

Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica Proprietà delle Classi e degli Oggetti in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Proprietà object-oriented di Java Definendo le caratteristiche e le operazioni di

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

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

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O

C O P Y R I G H T ( C ) W W W. F O N D A M E N T I. I N F O Il linguaggio C C O P Y R I G H T ( C ) 2 0 0 8 W W W. F O N D A M E N T I. I N F O P E R M I S S I O N I S G R A N T E D T O C O P Y, D I S T R I B U T E A N D / O R M O D I F Y T H I S D O C U M E N

Dettagli

Concetto di Funzione e Procedura METODI in Java

Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile

Dettagli

Linguaggi Object Oriented: Principi e Introduzione a Java

Linguaggi Object Oriented: Principi e Introduzione a Java Linguaggi Object Oriented: Principi e Introduzione a Java Sommario: 13 Aprile, 2015 Linguaggi OO: Rilevanza e Note Storiche Principi dei Linguaggi OO. Struttura dei programmi: Classi e Oggetti in Java

Dettagli

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

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

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

Dettagli

Programmazione. Programmare ad oggetti. Programmi e calcolatori. Focalizzazione del corso. Alcuni linguaggi famosi. Programmi e linguaggi

Programmazione. Programmare ad oggetti. Programmi e calcolatori. Focalizzazione del corso. Alcuni linguaggi famosi. Programmi e linguaggi 1 Programmazione Anno accademico 2002-2003 Orario delle lezioni: Mercoledì: 16-19, Giovedì: 16-19 Prof. Gerardo Canfora canfora@unisannio.it Libro di testo: David Arnow, Gerald Weiss Introduzione alla

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

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

Modulo 2: Strutture fondamentali della programmazione Java

Modulo 2: Strutture fondamentali della programmazione Java Modulo 2: Strutture fondamentali della programmazione Java Argomenti Trattati: Un semplice programma Java: Presentazione di un primo Esempio; Introduzione alla struttura; Compilazione ed esecuzione. Argomenti

Dettagli

Eclipse. Avviare un progetto e compilare un semplice programma

Eclipse. Avviare un progetto e compilare un semplice programma Eclipse Avviare un progetto e compilare un semplice programma Descrizione di Eclipse Eclipse è un ambiente di sviluppo che facilita la scrittura ed il debug di programmi java Permette di: Scrivere il codice

Dettagli

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo

Esempi al calcolatore su: 1) Costruttori ed ereditarietà 2) Subtyping e polimorfismo Esempi al calcolatore su: 1) 2) Subtyping e polimorfismo 1 Esempio 1: 2 Introduzione Java prevede due automatismi legati ai costruttori: Se una classe non ha costruttori viene creato automaticamente il

Dettagli

Calcolatori Elettronici A a.a. 2008/2009

Calcolatori Elettronici A a.a. 2008/2009 Calcolatori Elettronici A a.a. 2008/2009 Instruction Set Architecture: nozioni generali Massimiliano Giacomin 1 DOVE CI TROVIAMO Livello del linguaggio specializzato Traduzione (compilatore) o interpretazione

Dettagli

La Gestione della Memoria. Carla Binucci e Walter Didimo

La Gestione della Memoria. Carla Binucci e Walter Didimo La Gestione della Memoria Carla Binucci e Walter Didimo Esecuzione di programmi Java L esecuzione di un programma Java richiede: la compilazione del codice Java in bytecode Java (un linguaggio macchina

Dettagli

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi

Uso degli oggetti. Un programma Java. è un insieme di oggetti, ognuno istanza di una classe, che si inviano messaggi Uso degli oggetti Uso di oggetti predefiniti attraverso l'invio di messaggi. Il concetto di metodo; argomenti e restituzione di valori; segnatura e prototipo di un metodo. Il concetto di overloading. Le

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

Modularizzazione del software

Modularizzazione del software Modularizzazione del software Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2006/2007 Fortran 90: Subroutine e function DIS - Dipartimento di informatica e sistemistica

Dettagli

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD

Introduzione alla programmazione Java. Dott. Ing. M. Banci, PhD Introduzione alla programmazione Java Dott. Ing. M. Banci, PhD Obiettivi del corso Creare, compilare, e eseguire programmi Java Tipi di dato primitivi Flusso di controllo Java Metodi Arrays Introduzione

Dettagli

Concetti introduttivi

Concetti introduttivi Concetti introduttivi La programmazione Programma: sequenza di operazioni semplici (istruzioni e decisioni) eseguite in successione. Un programma indica al computer i passaggi da compiere per svolgere

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 07 Traduzione ed esecuzione di programmi Carla Limongelli Ottobre 2011 Traduzione ed esecuzione di programmi 1 Prerequisiti Architettura

Dettagli

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO

OCA JAVA 7 SE PROGRAMMER I DOCENTE: DOTT. FAUSTO DELL ANNO CENTRO STUDI ULISSE Via Buccino, n. 22 - C.a.p. 84018 - Scafati (SA) Tel. Fax. 081.19970299-339.2365416-349.4152010 E-mail: info@centrostudiulisse.it - www.centrostudiulisse.it OCA JAVA 7 SE PROGRAMMER

Dettagli

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object

Programmazione orientata agli oggetti La classe Object, metodi e classi final, this. Object Programmazione orientata agli oggetti La classe, metodi e classi final, this 1 La classe Negli esempi fatti nella prima parte del corso abbiamo definito alcune classi, per esempio Counter e Orologio, senza

Dettagli

Informazioni sull esame e Regole per lo svolgimento dei progetti

Informazioni sull esame e Regole per lo svolgimento dei progetti Informazioni sull esame e Regole per lo svolgimento dei progetti Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

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

Linguaggi di Programmazione

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

Dettagli

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi ISIS "Guido Tassinari" di Pozzuoli Indirizzo Informatico - Articolazione Informatica Informatica Prof. A.S. 2012/2013 Linguaggio C: le funzioni. Introduzione e sintassi 21/10/2012 Introduzione Spesso alcuni

Dettagli

POO in JAVA e Robot EV3

POO in JAVA e Robot EV3 POO in JAVA e Robot EV3 1. Introduzione Dal procedurale agli oggetti La programmazione procedurale Per tutta la classe terza, abbiamo lavorato con un paradigma di programmazione che si chiama procedurale

Dettagli

Programmazione a oggetti

Programmazione a oggetti Programmazione a oggetti Quanti oggetti, tra di loro parlando, fanno programmi. Pilu Crescenzi piluc@dsi.unifi.it Università di Firenze Programmazione a oggetti p.1/32 Cosa è un oggetto Una scatola software

Dettagli

Esercitazione n 2. Obiettivi

Esercitazione n 2. Obiettivi Esercitazione n 2 Obiettivi Progettazione di una applicazione Java Utilizzo di classi come schemi Utilizzo di costruttori Utilizzo di stringhe Uguaglianza tra oggetti Utilizzo di classi come componenti

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

Ingegneria del Software 1: Eclipse

Ingegneria del Software 1: Eclipse Ingegneria del Software 1: Eclipse Da completare entro Marzo 15, 2016 S. Krstić and M. Scavuzzo and F. Marconi and A. Rizzi and C. Menghi 1 Contents 1 Introduzione 3 1.1 Java (JRE vs JDK)..........................................

Dettagli

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013

Programmazione a Oggetti e JAVA. Prof. B.Buttarazzi A.A. 2012/2013 Programmazione a Oggetti e JAVA Prof. B.Buttarazzi A.A. 2012/2013 Sommario Uso dell ambiente di sviluppo Eclipse API di Java Istruzione di scrittura Istruzione di lettura 16/01/2013 2 Installazione di

Dettagli

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE

FUNZIONI COME COMPONENTI SW FUNZIONI COME COMPONENTI SW FUNZIONI MODELLO CLIENTE/SERVITORE FUNZIONI Spesso può essere utile avere la possibilità di costruire nuove istruzioni che risolvano parti specifiche di un problema Una funzione permette di dare un nome a una espressione rendere tale espressione

Dettagli

Fondamenti VBA. Che cos è VBA

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

Dettagli

Uguaglianza e copia di oggetti

Uguaglianza e copia di oggetti Uguaglianza e copia di oggetti Sommario 1. Classi Object e Class 2. Uguaglianza superficiale e uguaglianza profonda 3. Copia superficiale e copia profonda 4. Uguaglianza e copia in classi derivate 1 La

Dettagli

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi

Linguaggio Java. Robusto. Orientato agli oggetti. Protegge e gestisce dagli errori. Non permette costrutti pericolosi Linguaggio Java Robusto Non permette costrutti pericolosi Eredità Multipla Gestione della Memoria Orientato agli oggetti Ogni cosa ha un tipo Ogni tipo è un oggetto (quasi) Protegge e gestisce dagli errori

Dettagli

Programmazione ad oggetti

Programmazione ad oggetti Programmazione ad oggetti OOP La programmazione orientata agli oggetti (Object Oriented Programming) ha l obiettivo di formalizzare gli oggetti del mondo reale e di costruire con questi un mondo virtuale.

Dettagli

Primi programmi in Java. Lezione IV

Primi programmi in Java. Lezione IV Primi programmi in Java Lezione IV Scopo della lezione Realizzare dei semplici programmi scritti in Java. Esercitarsi nelle operazioni necessarie per passare dalla scrittura di codice Java all esecuzione

Dettagli

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni

Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizi riassuntivi (Fondamenti di Informatica 2 Walter Didimo) Soluzioni Esercizio 1 Dire quale è la complessità temporale del seguente metodo, espressa con notazione asintotica O(.) (con la migliore

Dettagli

Java il Corso Fondamentale

Java il Corso Fondamentale Java il Corso Fondamentale Imparare a Programmare APP per Android, applicativi per Server e Desktop, applet e molto altro. IlTuoCorso - Ermes srl Via E.De Amicis 57 20123 Milano Il corso Ciao! Se desideri

Dettagli

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo

Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Introduzione all uso degli oggetti in Java (parte II) Walter Didimo Esercizio all uso di oggetti Nel corso viene fornita una classe i cui oggetti permettono di leggere dati immessi dalla tastiera la classe

Dettagli

Principi di OOP con JAVA

Principi di OOP con JAVA Principi di OOP con JAVA lezioni 08 - gen - 2004 15 - gen - 2004 Tommaso Di Noia t.dinoia@poliba.it OOP (elementi) Programmazione Procedurale e Orientata agli Oggetti. FUNZIONI OGGETTI STRUTTURE DATI METODI

Dettagli

Definizione di classi. Walter Didimo

Definizione di classi. Walter Didimo Definizione di classi Walter Didimo Definizione di classi Fino ad ora abbiamo imparato a: creare oggetti da classi già pronte usare gli oggetti creati, invocando metodi la creazione e l uso di oggetti

Dettagli

Introduzione alla programmazione in Java

Introduzione alla programmazione in Java Introduzione alla programmazione in Java 1 Programmare ad oggetti La programmazione come attività di creazione di modelli. I concetti di classe, oggetto e scambio di messaggi. Un primo esempio di programma

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso

Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso Fondamenti di informatica T-1 (A K) Esercitazione 2: Linguaggio Java, basi e controllo del flusso AA 2015/2016 Tutor: Vincenzo Lomonaco vincenzo.lomonaco@unibo.it Programma Introduzione al calcolatore

Dettagli

Ambienti di Sviluppo. Linguaggi compilati

Ambienti di Sviluppo. Linguaggi compilati Insieme omogeneo di strumenti adatti allo sviluppo di progetti software. Compilatori e/o interpreti; Editor; Ambienti di Sviluppo Strumenti di debug e/o test; 1 Linguaggi compilati Codice sorgente convertito

Dettagli

Introduzione al Linguaggio C ed all IDE DEV-C++

Introduzione al Linguaggio C ed all IDE DEV-C++ Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!

Dettagli

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Cosa è un programma. Informatica di Base -- R.Gaeta 18 Cosa è un programma Il programma è la scatola nera che risolve il problema computazionale; Il programma è una sequenza di istruzioni che devono essere eseguite; Il programma è la traduzione per il computer

Dettagli

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX

Indice PARTE A. Prefazione Gli Autori Ringraziamenti dell Editore La storia del C. Capitolo 1 Computer 1. Capitolo 2 Sistemi operativi 21 XVII XXIX Indice Prefazione Gli Autori Ringraziamenti dell Editore La storia del C XVII XXIX XXXI XXXIII PARTE A Capitolo 1 Computer 1 1.1 Hardware e software 2 1.2 Processore 3 1.3 Memorie 5 1.4 Periferiche di

Dettagli