Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 15 Definizione di metodi. Carla Limongelli Maggio Definizione di metodi 1"

Transcript

1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 15 Definizione di metodi Carla Limongelli Maggio 2010 Definizione di metodi 1

2 Contenuti Introduzione alla definizione di metodi Prototipo e firma di un metodo Esecuzione di un metodo Metodi e variabili locali Parametri formali e parametri attuali Metodi che restituiscono un valore Sovraccarico di nomi Composizione di metodi Visibilità delle variabili Metodi di supporto il modificatore private Legame dei parametri legame dei parametri per valore Definizione di metodi 2

3 Metodi Calcola la somma dei fattoriali di due numeri import fiji.io.*; class FattorialeBanale{ public static void main(string[] args){ int numero1, numero2, fatt1, fatt2; int i, j, somma; /*lettura del numero */ System.out.println("Scrivi i due numeri di cui vuoi calcolare la somma dei fattoriali"); numero1 = Lettore.in.leggiInt(); numero2 = Lettore.in.leggiInt(); segue Definizione di metodi 3

4 Metodi i=1; fatt1 = 1; while (i<=numero1) { fatt1=fatt1*i; i=i+1; j=1; fatt2 = 1; while (j<=numero2) { fatt2=fatt2*j; j=j+1; somma = fatt1+fatt2; Queste istruzioni sono concettualmente identiche, ma lavorano su numeri diversi (numero1 e numero2). Possiamo evitare di riscriverle? Vogliamo definire una funzione che sappia calcolare il fattoriale di un numero System.out.print( la somma dei fattoriali e ); System.out.println(somma); //end main //end class Definizione di metodi 4

5 Metodi public static int fattoriale(int m){ int f; int i; //pre: m>=0 i=1; f = 1; while (i<=m) { f=f*i; i=i+1; return f; Il metodo calcola il fattoriale di m. Gli passo un intero che viene memorizzato in m e di cui desidero conoscere il fattoriale Il metodo restituisce a chi lo ha invocato il valore del fattoriale Definizione di metodi 5

6 Metodi import fiji.io.*; class Fattoriale{ public static int fattoriale(int m){ int f, i; //pre: m>=0 i=1; f = 1; while (i<=m) { f=f*i; i=i+1; return f; public static void main(string[] args){ int numero1, numero2, fatt1, fatt2, somma; Utilizzo due volte il metodo fattoriale chiedendogli di calcolare il fattoriale di numero1 e poi il fattoriale di numero2 System.out.println("Scrivi i due numeri di cui vuoi calcolare il fattoriale"); numero1 = Lettore.in.leggiInt(); numero2 = Lettore.in.leggiInt(); fatt1 = fattoriale(numero1); fatt2 = fattoriale(numero2); somma = fatt1+fatt2; System.out.print( la somma dei fattoriali e' "); System.out.println(somma); Definizione di metodi 6

7 Metodi import fiji.io.*; class Fattoriali{ public static int fattoriale(int m){ int f, i; //pre: m>=0 i=1; f = 1; while (i<=m) { f=f*i; i=i+1; return f; d public static void main(string[] args){ a b c La sequenza con cui vengono eseguite le istruzioni è: ( a-b-c-d)-5( a-b-c-d) int numero1, numero2, fatt1, fatt2, somma; System.out.println("Scrivi i due numeri di cui vuoi calcolare il fattoriale"); numero1 = Lettore.in.leggiInt(); numero2 = Lettore.in.leggiInt(); fatt1 = fattoriale(numero1); fatt2 = fattoriale(numero2); somma = fatt1+fatt2; System.out.print( la somma dei fattoriali e' "); System.out.println(somma); Definizione di metodi 7

8 Introduzione alla definizione di metodi Scopo della definizione di un metodo implementare una operazione supportare la definizione di altri metodi Le operazioni sono implementate dai metodi un metodo è la descrizione di una operazione la classe per un oggetto contiene la definizione di un metodo per ciascuna delle operazioni che l oggetto sa eseguire La definizione di un metodo è formata da intestazione descrive il prototipo dell operazione corpo la sequenza di istruzioni che l oggetto deve eseguire quando gli viene richiesto di eseguire quell operazione Definizione di metodi 8

9 Descrizione di metodi: prototipo Il prototipo di un metodo (di un oggetto) è una descrizione del formato dei messaggi con cui è possibile richiedere (a quell oggetto) di eseguire quel metodo nome del metodo elenco dei parametri del metodo ogni parametro ha un nome e un tipo tipo di ritorno del metodo un metodo può restituire un valore di un certo tipo, oppure non restituire nessun valore (void) tipo di ritorno, nome, elenco dei parametri racchiuso tra parentesi void println(string x) Definizione di metodi 9

10 Descrizione di metodi: prototipo int fattoriale(int m) nome del metodo : fattoriale elenco dei parametri del metodo ogni parametro ha un nome e un tipo (m, int) tipo di ritorno del metodo: int Definizione di metodi 10

11 Descrizione di metodi: firma La firma (segnatura) di un metodo consiste del nome del metodo insieme all elenco dei parametri del metodo il prototipo del metodo meno tipo di ritorno del metodo I metodi sono identificati dalla firma Nell ambito di una classe possono esistere più metodi che hanno lo stesso nome un nome usato per più metodi è detto sovraccarico (di significati) ma non possono però esistere più metodi che hanno la stessa firma i metodi di una classe sono identificati dalla loro firma e non dal loro nome prototipo void print(string s) firma Definizione di metodi 11

12 Messaggi, firme e metodi println() System.out: PrintStream void print(string s) void println(string x) void println(double n) void println()... Come fa un oggetto, quando riceve un messaggio, a selezionare il metodo che deve eseguire? la selezione viene fatta sulla firma del messaggio ricevuto dal messaggio risale alla firma del metodo invocato Definizione di metodi 12

13 System.out e il metodo void println(string x) Il prototipo di uno dei metodi di System.out è void println(string x) nome: println parametri: x di tipo String tipo di ritorno: void il metodo non restituisce nessun valore Questo prototipo giustifica la possibilità di inviare a System.out messaggi della seguente forma println("ciao a tutti") stampa il valore della stringa x e vai a capo Definizione di metodi 13

14 System.out e il metodo void println() Un altro metodo di System.out ha prototipo void println() questo metodo non ha parametri È quindi possibile inviare a System.out messaggi della forma println() (nota: le parentesi sono obbligatorie) Che cosa fa l oggetto System.out quando riceve un messaggio della forma println()? termina la linea corrente, scrivendo un separatore di linea (si legga: va a capo) Definizione di metodi 14

15 System.out e il metodo void println() System.out.print("auto"); System.out.print("mobile"); System.out.println(); System.out.println("automobile"); l esecuzione di questo frammento di codice visualizza sullo schermo automobile automobile I metodi void println() e void println(string x) sono diversi hanno lo stesso nome, ma hanno parametri differenti fanno cose diverse il nome del metodo è sovraccarico Definizione di metodi 15

16 Metodi che restituiscono un valore Uno dei metodi di Math ha prototipo double sqrt(double a) tipo di ritorno: double l esecuzione del metodo restituisce un valore di tipo double (un numero reale) che rappresenta la radice quadrata dell argomento Ad esempio, è possibile inviare a Math il messaggio sqrt(1.44) ovvero scrivere Math.sqrt(1.44); l esecuzione del metodo restituisce il numero 1.2 Definizione di metodi 16

17 Classe PerimetroTriangolo Nell esempio del fattoriale il metodo è definito all interno della stessa classe che lo chiama Ma una classe può usare metodi di altre classi Esempio: Scrivere la classe Misuratore, che calcoli la distanza tra due punti Modifica la classe PerimetroTriangolo utilizzando la classe Misuratore per calcolare la distanza tra due punti Definizione di metodi 17

18 L oggetto Misuratore L oggetto classe Misuratore sa calcolare la distanza tra due punti, date le coordinate dei due punti. Nell oggetto Misuratore è infatti definito il metodo distanza «oggetto classe» Misuratore double distanza(double p1x, double p1y, double p2x, double p2y ) non fa parte delle API di Java non è un oggetto predefinito Definizione di metodi 18

19 La classe Misuratore /* Oggetto che sa calcolare la distanza tra due punti. */ class Misuratore { /* Calcola la distanza tra i punti p1 e p2 * di coordinate (p1x,p1y) e (p2x,p2y) */ public static double distanza(double p1x, double p1y, double p2x, double p2y) { double qd; //quadrato della distanza tra p1 e p2 double d; // distanza tra p1 e p2 /* calcola il quadrato della distanza tra p1 e p2 */ qd = (p1x-p2x)*(p1x-p2x) + (p1y-p2y)*(p1y-p2y); /* calcola la distanza tra p1 e p2 */ d = Math.sqrt(qd); /* restituisce la distanza tra p1 e p2 */ return d; Definizione di metodi 19

20 L applicazione PerimetroTriangolo /* Applicazione che calcola e visualizza * il perimetro di un triangolo. */ class PerimetroTriangolo { public static void main(string[] args) { double x1, y1; // coordinate primo vertice double x2, y2; // coordinate secondo vertice double x3, y3; // coordinate terzo vertice double d12, d13, d23; // distanze tra i vertici double perimetro; // perimetro del triangolo /* imposta le coordinate dei vertici */ System.out.println("CALCOLO DEL PERIMETRO DI UN TRIANGOLO"); System.out.println("scrivi le coordinate del primo vertice"); x1 = Lettore.in.leggiInt(); y1 = Lettore.in.leggiInt(); System.out.println("scrivi le coordinate del secondo vertice"); x2 = Lettore.in.leggiInt(); y2 = Lettore.in.leggiInt(); System.out.println("scrivi le coordinate del terzo vertice"); x3 = Lettore.in.leggiInt(); y3 = Lettore.in.leggiInt(); segue... Definizione di metodi 20

21 L applicazione PerimetroTriangolo... segue... /* calcola le distanze tra i vertici */ d12 = Misuratore.distanza(x1, y1, x2, y2); d13 = Misuratore.distanza(x1, y1, x3, y3); d23 = Misuratore.distanza(x2, y2, x3, y3); /* calcola il perimetro del triangolo */ perimetro = d12 + d13 + d23; /* visualizza il perimetro */ System.out.print("Il perimetro del triangolo è"); System.out.println(perimetro); Definizione di metodi 21

22 Diagramma di collaborazione per PerimetroTriangolo 1: main( ) «applicazione» PerimetroTriangolo 1.4: println(...) System.out main(...) println(double x) 1.1: d12 = distanza(...) 1.2: d13 = distanza(...) 1.3: d23 = distanza(...) 1.1.1: d = sqrt(...) 1.2.1: d = sqrt(...) 1.3.1: d = sqrt(...) Misuratore double distanza(...) Math double sqrt(double n) Definizione di metodi 22

23 Metodi e variabili locali /* La classe AlcuneTabelline rappresenta un oggetto * che sa calcolare alcune tabelline. */ class AlcuneTabelline { public static void tabellinatre() { int i; // per iterare tra 1 e 10 /* calcola e stampa la tabellina del tre */ System.out.println("Tabellina del 3:"); for (i=1; i<=10; i++) System.out.print(3*i + " "); System.out.println(); public static void tabellinacinque() { int i; // per iterare tra 1 e 10 /* calcola e stampa la tabellina del cinque */ System.out.println("Tabellina del 5:"); for (i=1; i<=10; i++) System.out.print(5*i + " "); System.out.println(); Definizione di metodi 23

24 AlcuneTabelline AlcuneTabelline «oggetto classe» AlcuneTabelline static void tabellinatre() static void tabellinacinque() void tabellinatre() void tabellinacinque() una classe può definire più metodi una classe può contenere la dichiarazione di variabili Definizione di metodi 24

25 Metodi e variabili locali public static void tabellinatre() { int i; // per iterare tra 1 e public static void tabellinacinque() { int i; // per iterare tra 1 e Le variabili dichiarate in un metodo sono locali al metodo ciascun metodo può accedere solo alle proprie variabili locali un metodo non può accedere alle variabili locali di un altro metodo relazione di visibilità tra variabili e metodi Definizione di metodi 25

26 Metodi con parametri La classe AlcuneTabelline è insoddisfacente sarebbe preferibile un oggetto che sa calcolare qualsiasi tabellina in modo parametrico /* calcola la tabellina del 5 */ Tabelline.tabellina(5); /* calcola la tabellina del 9 */ Tabelline.tabellina(9); Definizione di metodi 26

27 La classe Tabelline /* La classe Tabelline rappresenta un oggetto * che sa calcolare tutte le tabelline. */ class Tabelline { public static void tabellina(int n) { // pre: n>=0 int i; // per iterare tra 1 e 10 /* calcola e stampa la tabellina del numero n */ System.out.println("Tabellina del " + n + ":"); for (i=1; i<=10; i++) System.out.print(n*i + " "); System.out.println(); Il prototipo del metodo contiene la specifica del parametro. E la dichiarazione di una variabile locale n chiamata parametro formale. Definizione di metodi 27

28 Parametri formali e parametri attuali L intestazione di un metodo riporta l elenco dei parametri formali del metodo i parametri formali di un metodo sono variabili locali del metodo public static void tabellina(int n) {... L invocazione di un metodo riporta i parametri attuali dell invocazione del metodo i parametri attuali dell invocazione di un metodo sono espressioni dello stesso tipo dei parametri formali corrispondenti Tabelline.tabellina(5); Definizione di metodi 28

29 Esecuzione di un metodo con parametri public static void tabellina(int n) {... definizione del metodo Tabelline.tabellina(5); invocazione del metodo Definizione di un metodo Deve contenere il tipo di ritorno del metodo e l elenco dei parametri formali con il loro tipo Invocazione di un metodo deve contenere tanti parametri attuali quanti sono i parametri formali del metodo Esecuzione del metodo valuta i parametri attuali dell invocazione assegna a ciascuna variabile parametro formale, come valore iniziale, il valore del parametro attuale corrispondente esegue le istruzioni del corpo del metodo Definizione di metodi 29

30 Esecuzione di un metodo con parametri «oggetto classe» Tabelline void tabellina(int n) viene valutato il valore dell espressione 5, che è 5 tabellina(5) alla variabile n viene assegnato il valore 5 viene eseguito il corpo del metodo void tabellina(int n) Definizione di metodi 30

31 Parametri formali e attuali I parametri sono usati per rendere parametrica una operazione i parametri formali rappresentano informazioni che bisogna specificare per richiedere l esecuzione dell operazione per rendere specifico un messaggio inviato a un oggetto i parametri attuali specificano valori che devono essere utilizzati nell esecuzione di una operazione i parametri formali di un metodo sono relativi alla definizione del metodo i parametri formali sono variabili i parametri attuali sono relativi alle invocazioni del metodo i parametri attuali sono espressioni Definizione di metodi 31

32 Metodi che restituiscono un valore Molte operazioni prevedono la restituzione di un valore int risultato; /* calcola il fattoriale di 5 */ risultato = Fattoriale.fattoriale(5); // 120 /* calcola e visualizza il fattoriale di 4 */ System.out.println( Fattoriale.fattoriale(4) ); //24 Definizione di metodi 32

33 La classe Fattoriale /* Classe per il calcolo del fattoriale. */ class Fattoriale { /* Calcola e restituisce il fattoriale di n. */ public static int fattoriale(int n) { // pre: n>=0 int f; // il fattoriale di n int i; // per iterare tra 1 e n /* calcola il fattoriale di n */ f=1; for (i=1; i<=n; i++) f = f*i; return f; Definizione di metodi 33

34 Metodi che restituiscono un valore public static int fattoriale(int n) { // pre: n>=0 int f; // il fattoriale di n int i; // per iterare tra 1 e n /* calcola il fattoriale di n */ f = 1; for (i=1; i<=n; i++) f = f*i; return f; il tipo di ritorno del metodo deve essere diverso da void il metodo deve terminare con una istruzione return Definizione di metodi 34

35 Istruzione return public static int fattoriale(int n) { // pre: n>=0 int f; int i; f = 1; // il fattoriale di n // per iterare tra 1 e n for (i=1; i<=n; i++) f = f*i; return f; Il metodo int fattoriale(int n), al termine dell esecuzione, deve restituire il valore memorizzato nella variabile f l istruzione return è l istruzione che permette a un metodo di restituire un valore la parola return è seguita da una espressione deve essere del tipo di ritorno del metodo il cui valore deve essere restituito dall esecuzione del metodo Definizione di metodi 35

36 Istruzione return L istruzione return permette a un metodo di restituire il controllo a chi lo ha invocato e, contestualmente, di restituirgli un valore quando in un metodo viene eseguita una istruzione return: l espressione che segue return viene valutata e il valore calcolato viene restituito a chi ha invocato il metodo il metodo termina (ultima istruzione ) se un metodo ha tipo di ritorno diverso da void, l uso dell istruzione return è obbligatorio se un metodo ha tipo di ritorno T, l espressione che segue return deve essere di tipo T una esecuzione di un metodo può restituire al più un solo valore Definizione di metodi 36

37 Composizione dell invocazione di metodi... La composizione dell invocazione di metodi consiste nell usare il risultato prodotto dall invocazione di un metodo come argomento in un altra invocazione di metodo ad esempio, per visualizzare la radice quadrata di x /* calcola e visualizza la radice quadrata di x */ System.out.println( Math.sqrt(x) ); Definizione di metodi 37

38 ... Composizione dell invocazione di metodi Vale la seguente regola riguardo l esecuzione di istruzioni che comprendono l invocazione di metodi in una invocazione di un metodo vengono prima valutati il destinatario del metodo e tutti gli argomenti del metodo viene quindi attivato il metodo Definizione di metodi 38

39 Sovraccarico di nomi Una classe può definire più metodi che hanno lo stesso nome questo è possibile purché ciascun metodo abbia firma differente class Maggiore { /* Calcola il maggiore tra i due numeri a e b. */ public static int maggiore(int a, int b) {... /* Calcola il maggiore tra i tre numeri a, b e c. */ public static int maggiore(int a, int b, int c) {... il nome maggiore è sovraccarico (overloaded) questa scelta è accettabile perché i due metodi hanno sostanzialmente la stessa semantica Definizione di metodi 39

40 La classe Maggiore class Maggiore { /* Calcola il maggiore tra i due numeri a e b. */ public static int maggiore(int a, int b) { int max; // il maggiore tra a e b if (a>b) max = a; else max = b; return max; /* Calcola il maggiore tra i tre numeri a, b e c. */ public static int maggiore(int a, int b, int c) { int maxab; // il maggiore tra a e b int maxabc; // il maggiore tra a, b e c maxab = Maggiore.maggiore(a,b); maxabc = Maggiore.maggiore(maxAB,c); return maxabc; Definizione di metodi 40

41 Auto-referenziazione /* Calcola il maggiore tra i tre numeri a, b e c. */ public static int maggiore(int a, int b, int c) { int maxab; // il maggiore tra a e b int maxabc; // il maggiore tra a, b e c maxab = Maggiore.maggiore(a,b); maxabc = Maggiore.maggiore(maxAB,c); return maxabc; L oggetto Maggiore, per calcolare il maggiore tra tre numeri, chiede a se stesso di calcolare il maggiore tra due numeri si parla di auto-referenziazione è possibile e comune Definizione di metodi 41

42 Visibilità delle variabili Una variabile locale a un metodo è visibile (ovvero, può essere acceduta) solo nell ambito di una specifica attivazione di quel metodo il seguente frammento di codice - che ha lo scopo di visualizzare il valore della variabile a - non è corretto public static void alfa() { int a; a = 5; beta(); // invoca un altro metodo public static void beta() { System.out.println(a); // NO, a non è visibile il metodo beta dovrebbe avere un parametro Definizione di metodi 42

43 Visibilità delle variabili Un altro esempio di codice non corretto public static void gamma() { doppio(5); System.out.println(d); // invoca un altro metodo // NO, d non è visibile public static void doppio(int n) { int d; // il doppio di n d = n*2; il metodo doppio dovrebbe restituire un valore Definizione di metodi 43

44 Scambio di dati tra metodi Come può un metodo scambiare dati con un altro metodo? un metodo non può scambiare dati con un altro metodo mediante le variabili locali un metodo può fornire dati a un altro metodo sotto forma di parametri un metodo può restituire un singolo dato al metodo che l ha invocato altre modalità di scambio di dati tra metodi saranno studiati nel contesto della definizione di classi per istanziare oggetti Se i parametri sono tipi primitivi il metodo deve restituire un valore oppure eseguire delle stampe Se i parametri sono oggetti essi possono essere modificati perché è solo il riferimento che viene passato per valore. Definizione di metodi 44

45 Esercizio Quale risultato viene stampato dal seguente programma? class EsVisibilita1{ public static void gamma() { int d=doppio(5); System.out.println(d); public static int doppio(int n) { int d; return d = n*2; public static void main(string[] args){ int d=0; gamma(); System.out.println("d= "+d); Stampa 10 perché invoco il metodo doppio passandogli come parametro attuale 5, doppio restituisce 10 Stampa 0 perché gamma non restituisce nulla, d non viene modificata Definizione di metodi 45

46 Metodi di supporto Nella realizzazione di un metodo M può essere utile definire altri metodi per semplificare la scrittura di M si tratta di metodi di supporto sono di supporto alla definizione di altri metodi Voglio definire una operazione (metodo) per verificare se un numero intero positivo N è perfetto N è perfetto se la somma dei suoi divisori (N escluso) è uguale a N 6 = 1+2+3, è utile un metodo di supporto per calcolare la somma dei divisori di un numero intero positivo N Definizione di metodi 46

47 Metodi di supporto /* Verifica se il numero n è perfetto. */ public static boolean perfetto(int n) { // pre: n>0 return n==sommadivisori(n); /* Calcola la somma dei divisori interi di n, * n escluso. */ private static int sommadivisori(int n) { // pre: n>0 int sd; // somma dei divisori di n int d; // per iterare da 1 a n-1 sd = 0; for (d=1; d<n; d++) if (n%d==0) sd = sd+d; return sd; Definizione di metodi 47

48 Il modificatore private private static int sommadivisori(int n) {... per il metodo sommadivisori è stato usato il modificatore private sommadivisori è un metodo privato i metodi privati possono essere invocati solo da istruzioni scritte nella stessa classe non possono essere invocati da istruzioni scritte al di fuori della classe Definizione di metodi 48

49 Legame dei parametri Il legame dei parametri è l associazione che avviene tra parametri attuali e parametri formali durante l attivazione di un metodo Nei linguaggi di programmazione esistono due modalità principali di legame dei parametri nel legame dei parametri per valore ciascuna variabile parametro formale prende come valore iniziale il valore del parametro attuale nella posizione corrispondente nel legame dei parametri per riferimento ciascuna variabile parametro formale è usata come riferimento alla variabile usata come parametro attuale nella posizione corrispondente Nel linguaggio Java esiste solo la modalità di legame per valore Definizione di metodi 49

50 Legame dei parametri per valore Nel legame dei parametri per valore i parametri attuali sono espressioni di cui interessa il valore al momento dell invocazione del metodo Definizione di metodi 50

51 Legame per valore e parametri di tipo primitivo Quali valori vengono stampati dalla seguente applicazione? class LegamePerValore1 { public static void alfa(int m) { System.out.println(m); // sicuramente 5 m = m+1; System.out.println(m); // sicuramente 6 public static void main(string[] args) { int k = 5; System.out.println(k); // sicuramente 5 alfa(k); System.out.println(k); // 5 oppure 6? Il parametro attuale nell invocazione alfa(k) è un espressione di cui ci interessa solo il valore assunto al momento dell invocazione; il parametro viene valutato e il suo valore viene usato come valore iniziale del parametro formale. Definizione di metodi 51

52 Legame per valore e parametri di tipo primitivo Quali valori vengono stampati dalla seguente applicazione? class LegamePerValore2 { public static void alfa(int k) { System.out.println(k); // sicuramente 5 k = k+1; System.out.println(k); // sicuramente 6 public static void main(string[] args) { int k = 5; System.out.println(k); // sicuramente 5 alfa(k); System.out.println(k); // 5 oppure 6? Le due variabili k sono due variabili distinte anche se hanno lo stesso nome perchè sono locali a due metodi diversi Definizione di metodi 52

53 Considerazioni sul legame dei parametri per valore Nel legame dei parametri per valore i parametri attuali sono delle espressioni è possibile usare come parametro attuale anche espressioni formate semplicemente dal nome di una variabile se come parametro attuale viene utilizzata una espressione formata semplicemente dal nome di una variabile, il valore di questa variabile non può essere modificato dal metodo invocato Definizione di metodi 53

54 Cosa abbiamo visto finora Definizione di nuovi metodi Parametri dei metodi Parametri formali e parametri attuali Passaggio di parametri Metodi di supporto Il legame per valore con i parametri di tipo primitivo Definizione di metodi 54

55 Riferimenti al libro di testo Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare paragrafo al capitolo 8, paragrafo 8.1 e 8.3 capitolo 15 no 15.9 e esempi fino a no Definizione di metodi 55

Definizione di metodi

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

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

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

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

Dall analisi alla codifica (2)

Dall analisi alla codifica (2) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 09 Dall analisi alla codifica (2) Dall analisi alla codifica (2) 1 Contenuti Problemi di ingresso e uscita - esercizi Lunghezza di una

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E01 Esempi di programmi A. Miola Ottobre 2011 1 Contenuti Vediamo in questa lezione alcuni primi semplici esempi di applicazioni

Dettagli

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

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

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

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 14 A. Miola Dicembre 2011 1 Contenuti q Classi per istanziare oggetti q Esempio: la classe Punto q Variabili d istanza q Metodi

Dettagli

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 2. Cristian Del Fabbro Laboratorio di Programmazione Lezione 2 Cristian Del Fabbro Prossima lezione GIOVEDÌ 29 OTTOBRE 14:00 Input da tastiera package input; import java.io.*; public class Input { public static void main(string[]

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Esercizi sui metodi. Carla Limongelli. Maggio Esercizi 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Esercizi sui metodi Carla Limongelli Maggio 2010 Esercizi 1 Passaggio di parametri di tipo primitivo Indicare che cosa viene visualizzato sullo

Dettagli

Dall analisi alla codifica (2)

Dall analisi alla codifica (2) Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 10 Dall analisi alla codifica (2) Aprile 2010 Dall analisi alla codifica (2) 1 Contenuti Problemi di ingresso e uscita (esempi ed esercizi)

Dettagli

Definizione di metodi in Java

Definizione di metodi in Java Definizione di metodi in Java Un metodo in Java definisce un operazione ad alto livello (sottoprogramma) che consente di manipolare dati e oggetti. Durante la computazione effettuata da un programma, un

Dettagli

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari

7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari 7 - Programmazione procedurale: Dichiarazione e chiamata di metodi ausiliari Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa

Dettagli

Uso di metodi statici. Walter Didimo

Uso di metodi statici. Walter Didimo Uso di metodi statici Walter Didimo Metodi di istanza Fino ad ora abbiamo imparato a creare oggetti e ad invocare metodi su tali oggetti i metodi venivano eseguiti dagli oggetti un metodo invocato su un

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

Istruzioni Condizionali

Istruzioni Condizionali Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 10 Istruzioni Condizionali Carla Limongelli Novembre 2011 http://www.dia.uniroma3.it/~java/fondinf/ Istruzioni condizionali 1 Contenuti

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 E04 Esempi di algoritmi e programmi C. Limongelli - A. Miola Settembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Esempi

Dettagli

Problemi, algoritmi e oggetti

Problemi, algoritmi e oggetti Fondamenti di informatica Oggetti e Java Luca Cabibbo Capitolo 5 Marzo 2007 1 Fondamenti di informatica: Oggetti e Jav Contenuti... Problemi e algoritmi comprensione del problema identificazione di un

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

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E05 C. Limongelli Dicembre 2011 1 Contenuti q Passaggio di tipi primitivi q Passaggio di tipi riferimento: Stringhe q Passaggio

Dettagli

Metodi statici. Dichiarazione e chiamata di metodi statici

Metodi statici. Dichiarazione e chiamata di metodi statici Metodi statici Dichiarazione e chiamata di metodi statici Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

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

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

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 19 A. Miola Novembre 2008 1 Contenuti Classi per istanziare oggetti Esempio: la classe Punto Variabili d istanza Metodi d istanza Costruttori

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

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

Richiami di Fondamenti di Informatica - 1

Richiami di Fondamenti di Informatica - 1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 2 Richiami di Fondamenti di Informatica - 1 A. Miola Febbraio 2008 http://www.dia.uniroma3.it/~java/fondinf1/ Richiami di FdI-1

Dettagli

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi

METODI in Java. Prof.Angela Bonifati. Metodi e Sottoprogrammi Fondamenti di Informatica METODI in Java Prof.Angela Bonifati 1 Metodi e Sottoprogrammi Mentre in Java tramite le classi e gli oggetti è possibile definire nuovi tipi di dati, tramite i metodi è possibile

Dettagli

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0;

int main(){ int numero; /* numero di cui voglio calcolare il fattoriale */ int fatt; /* memorizzo il fattoriale di numero */ int somma=0; Problema: CALCOLARE LA SOMMA DEI FATTORIALI DEI PRIMI 100 NUMERI NATURALI 0!+1!+2! + 99! #include int fattoriale(int); Calcolo fattoriale int main(){ int numero; /* numero di cui voglio calcolare

Dettagli

Metodi statci. Dichiarazione e chiamata di metodi statci

Metodi statci. Dichiarazione e chiamata di metodi statci Metodi statci Dichiarazione e chiamata di metodi statci Cos è un metodo Un metodo è un blocco di istruzioni che fornisce una funzionalità e viene identificato con un nome Può avere dei parametri ed un

Dettagli

Definizione di classi

Definizione di classi Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 19 Maggio 2010 1 Contenuti Classi per istanziare oggetti Esempio: la classe Punto Variabili d istanza Metodi d istanza Costruttori Ulteriori

Dettagli

14 - Metodi e Costruttori

14 - Metodi e Costruttori 14 - Metodi e Costruttori 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

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java

Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Fondamenti di Informatica Do...While() Break Continue Concetto di Funzione e Procedura METODI in Java Prof.Angela Bonifati 1 Istruzione while int vet1[] = new int[20]; int vet2[] = new int[20]; for(int

Dettagli

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli.

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 16 Tipi riferimento e stringhe. Carla Limongelli. Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 16 Tipi riferimento e stringhe Carla Limongelli Maggio 2010 Definizione di metodi 1 Contenuti Tipi riferimento Stringhe e oggetti String

Dettagli

Passaggio di parametri

Passaggio di parametri Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E06 Passaggio di parametri C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Passaggio di parametri 1 Contenuti

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

I Metodi. Fondamenti di Informatica A-K

I Metodi. Fondamenti di Informatica A-K I Metodi Fondamenti di Informatica A-K Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti, costruttori,

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

Istruzioni Condizionali

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

Dettagli

PROGRAMMAZIONE: I sottoprogrammi

PROGRAMMAZIONE: I sottoprogrammi PROGRAMMAZIONE: I sottoprogrammi Prof. Enrico Terrone A. S: 2008/09 Definizione Un sottoprogramma è un blocco di istruzioni a sé stante con un proprio nome. Il main (= sottoprogramma principale) è un caso

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

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1

Corso di Laurea Ingegneria Civile Elementi di Informatica. Esercizi. Carla Limongelli. Esercizi 1 Corso di Laurea Ingegneria Civile Elementi di Informatica Esercizi Carla Limongelli Esercizi 1 Quanti giorni in un mese? Scrivere un metodo che ricevuto in input un mese e un anno, restituisca il numero

Dettagli

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione

Corso di Laurea Ingegneria Elementi di Informatica. Iterazione. C. Limongelli. Iterazione Corso di Laurea Ingegneria Elementi di Informatica C. Limongelli 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica esistenziale Verifica

Dettagli

Elementi DI INFORMATICA. Linguaggio C

Elementi DI INFORMATICA. Linguaggio C Università degli Studi di Cagliari Corso di Laurea in Ingegneria Elettronica Elementi DI INFORMATICA http://agile.diee.unica.it A.A. 2015/2016 Ing. Marco Ortu Diee, secondo piano Tel. 070-6755774 mail:

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

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati

Programmazione M.A. Alberti. Comunicazione digitale AA 2009/ Classi in Java 1. Le classi in Java. Oggetti. Classi. Classi. Visibilità dei dati Oggetti Le classi in Java Corso di laurea in Un oggetto è definito dal suo stato - descrive le sue caratteristiche comportamento - quello che può fare Ad esempio: il modello di una moneta Una moneta può

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

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

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

Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010

Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Corso di Laurea in Informatica Applicata Prima Prova di Verifica Intermedia di Programmazione II 1 Dicembre 2010 Istruzioni: scrivere le risposte alle domande negli spazi presenti nel testo e riconsegnare

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

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

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

6 - Blocchi e cicli. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 6 - Blocchi e cicli Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://pages.di.unipi.it/milazzo milazzo di.unipi.it

Dettagli

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Selezione di prove di esame al calcolatore Esercizio 1 (esame del 13/01/2006) La classe Matrice definisce oggetti che rappresentano matrici

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

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array

Classi e array. Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Classi e array Viene ora affrontato un problema di definizione di una classe in cui una variabile d istanza è di tipo array Si vuole definire una classe Polinomio per la rappresentazione di polinomi a

Dettagli

La Ricorsione. Carla Binucci e Walter Didimo

La Ricorsione. Carla Binucci e Walter Didimo La Ricorsione Carla Binucci e Walter Didimo Definizione induttiva di funzioni Una funzione definita in modo induttivo è una funzione definita in termini di sé stessa ad esempio la funzione f(n) = n! (fattoriale

Dettagli

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008

Array di array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 03. A. Miola Febbraio 2008 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa Array di array A. Miola Febbraio 8 http://www.dia.uniroma.it/~java/fondinf/ Array di array Contenuti Array bidimensionali creazione

Dettagli

Lezione 13 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona

Lezione 13 programmazione in Java. Nicola Drago Dipartimento di Informatica Università di Verona Lezione 13 programmazione in Java Nicola Drago nicola.drago@univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I modificatori: Public Private -

Dettagli

Lezione 13 programmazione in Java

Lezione 13 programmazione in Java Lezione 13 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Approfondimenti della programmazione OO I modificatori: Public Private - Static

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

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double

Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore 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

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007

Programmazione. Cognome... Nome... Matricola... Compitino del 17 gennaio 2007 Cognome............................. Nome................................ Programmazione Compitino del 17 gennaio 2007 Matricola............................ NOTA: Negli esercizi 1, 2, 3, 4 fate riferimento

Dettagli

18 - Classi parzialmente definite: Classi Astratte e Interfacce

18 - Classi parzialmente definite: Classi Astratte e Interfacce 18 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

Dettagli

17 - Classi parzialmente definite: Classi Astratte e Interfacce

17 - Classi parzialmente definite: Classi Astratte e Interfacce 17 - Classi parzialmente definite: Classi Astratte e Interfacce Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/

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

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 alle classi e agli oggetti. Walter Didimo

Introduzione alle classi e agli oggetti. Walter Didimo Introduzione alle classi e agli oggetti Walter Didimo Classi e oggetti La classe rappresenta l unità di base della programmazione ad oggetti: una classe definisce una tipologia di elementi (cioè una categoria

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

9 - Array. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

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

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

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) {

FUNZIONI. Esempi (pseudo-c): dare un nome a una espressione rendere tale espressione parametrica. float f(){ * sin(0.75); } float f1(int x) { 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 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 Variabili di tipo Array Array bidimensionali Metodi statici Metodi statici della classe Math Esercizi 13/04/2011 Corso di Fondamenti

Dettagli

Variabili e Metodi di classe Interfacce e Package File in Java

Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica Variabili e Metodi di classe Interfacce e Package File in Java Fondamenti di Informatica - D. Talia - UNICAL 1 Variabili di classe: Static Una variabile di classe definisce un

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

Array. Definizione e utilizzo di vettori

Array. Definizione e utilizzo di vettori Array Definizione e utilizzo di vettori Array (1/2) Un array o vettore rappresenta un insieme di elementi dello stesso tipo. Sintassi per la creazione di un array: tipo_elementi[] nome; nome = new tipo_elementi[numero_elementi];

Dettagli

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005

Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 17 Dicembre 2005 Studente (Cognome Nome): Matricola: Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a. 2005-06 Secondo Compitino 17 Dicembre 2005 Si noti che le soluzioni ai quesiti saranno considerate

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

Classi ed Oggetti. Fondamenti di Informatica A-K

Classi ed Oggetti. Fondamenti di Informatica A-K Classi ed Oggetti Fondamenti di Informatica A-K Esercitazione 5 Introduzione al calcolatore e Java Linguaggio Java, basi e controllo del flusso I metodi: concetti di base Stringhe ed array Classi e oggetti,

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