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

Dimensione: px
Iniziare la visualizzazioe della pagina:

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

Transcript

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

2 Sommario Metodi statici Parametri attuali e formali Passaggio dei parametri Effetti collaterali Metodi statici per Array Esercizi 16/01/2013 2

3 Metodi I metodi sono dei blocchi di codice che eseguono delle elaborazioni hanno dei parametri di input su cui lavorano possono restituire un valore di ritorno 16/01/2013 3

4 Tipologie di Metodi Metodi come funzioni Restituiscono un valore di un certo tipo Vengono usati nelle espressioni Es. Math.sqrt(64) Metodi come sottoprogrammi Non restituiscono nessun valore (void) Vengono usati come particolari istruzioni Es. System.Out.println( 64 ); 16/01/2013 4

5 Il concetto di funzione Una funzione è un blocco di codice che prende in input dei dati e fornisce un output. Nell ambito dei linguaggi di programmazione la definizione di funzione è assimilabile a quella di funzione matematica Input Funzione Output 16/01/2013 5

6 Il concetto di procedura Una procedura è blocco di codice che prende in input dei dati ed esegue delle elaborazioni ma non restituisce alcun valore in output. 16/01/2013 6

7 Funzioni, Procedure e Metodi Il concetto di procedura e/o funzione è alla base del paradigma della programmazione imperativa (o procedurale). FORTRAN, Pascal, C Nella programmazione orientata agli oggetti le procedure e/o funzioni prendono il nome di Metodi. 16/01/2013 7

8 Metodi statici o di classe I Metodi statici sono dei blocchi di codice che eseguono delle elaborazioni hanno dei parametri di input su cui lavorano possono restituire un valore di ritorno rivestono il ruolo sia di procedura che di funzione matematica Sono utili perché permettono: risparmio di codice (e tempo) riuso di codice astrazione 16/01/2013 8

9 Metodi statici Possono essere utilizzati per risolvere problemi complessi (se le operazioni primitive del linguaggio non sono sufficienti) Di solito corrispondono a nuove funzioni Non prevedono l istanziazione di oggetti 16/01/2013 9

10 10

11 package provaa; public class FunzUtili { public static int mult (int x, int y) { int z = 0; while (y > 0) { z = z+x; y = y-1; return z; il metodo mult si aspetta due valori in ingresso, entrambi di tipo intero, denotati da (int x, int y) sono i parametri formali 11

12 il metodo mult si aspetta due valori in ingresso, entrambi di tipo intero, denotati da (int x, int y) 16/01/ sono i parametri formali

13 package provaa; import java.io.*; public class TestMetodiStatici { /** args */ public static void main(string[] args) throws NumberFormatException, IOException { // TODO Auto-generated method stub System.out.println("Benvenuto al corso di Java"); InputStreamReader In = new InputStreamReader(System.in); BufferedReader Tastiera = new BufferedReader(In); System.out.print("Immettere un numero : "); int x = 0; x=integer.parseint(tastiera.readline()); System.out.print("Immettere un numero : "); int y = 0; y=integer.parseint(tastiera.readline()); System.out.println("risultato della moltiplicazione"+funzutili.mult(x,y)); 13

14 Definizione di metodo Regole di sintassi <1> <return-type> <method-name> ( <parameter-list> ) { corpo del metodo <1> proprietà del metodo return-type = tipo del valore restituito dal metodo al chiamante method-name = nome del metodo parameter-list = parametri di input usati dal metodo corpo del metodo = una sequenza di dichiarazioni locali al metodo ed istruzioni che codificano l'algoritmo implementato Si noti che un metodo può non avere parametri, ma le parentesi vanno sempre scritte (sia in fase in definizione che in fase di chiamata del metodo). 16/01/

15 Definizione di metodo Regole di sintassi <1> <return-type> <method-name> ( <parameter-list> ) { corpo del metodo <1> proprietà del metodo return-type = tipo del valore restituito dal metodo al chiamante method-name = nome del metodo parameter-list = parametri di input usati dal metodo corpo del metodo Il corpo del metodo è una sequenza di dichiarazioni locali al metodo (la variabile intera z) ed istruzioni che codificano l'algoritmo della moltiplicazione di due numeri naturali tramite la somma. 16/01/

16 Passaggio dei parametri Comunicazione tra definizione di metodo chiamata di metodo int f( ){ return ; Definizione di metodo f public main(){ f(..) f(..) f f 16/01/ Chiamata di metodo

17 Passaggio dei parametri Ad ogni chiamata di un metodo, i parametri attuali del chiamante vengono assegnati (copiati) ai parametri formali del chiamato. I valori dei parametri attuali non vengono quindi modificati dalla chiamata del metodo 17

18 Passaggio dei parametri In genere i linguaggi di programmazione prevedono due modalità di passaggio dei parametri a scelta del programmatore: per valore (o copia), per riferimento (o indirizzo). In Java il passaggio dei parametri avviene solamente per valore (anche se in realtà, come vedremo tra poco, viene utilizzato in maniera del tutto trasparente al programmatore il passaggio per riferimento.) 16/01/

19 Passaggio dei parametri Il passaggio dei parametri per valore implica che all atto della chiamata i parametri attuali sono copiati nei parametri formali e l esecuzione del metodo avviene utilizzando solo una copia del parametro attuale (l'originale non può essere alterato in alcuna maniera) 16/01/

20 Flusso di controllo per i metodi La dichiarazione di un metodo specifica il codice che verrà eseguito quando il metodo verrà invocato. L esecuzione di un metodo può comprendere la restituzione di un valore. Quando un metodo viene invocato il flusso di controllo passa a tale metodo e viene eseguito il codice relativo. Al termine il flusso ritorna al punto da cui è partita la chiamata e continua da lì. 16/01/

21 Flusso di controllo per i metodi main ( ) f ( ) f( ); al momento della chiamata di un metodo l esecuzione del main si interrompe 21

22 Flusso di controllo per i metodi main ( ) f ( ) f( ); Si assegnano ai parametri formali i valori delle variabili attuali La modalità di passaggio dei parametri in Java è il passaggio per valore, significa che vengono valutati i parametri attuali, nel nostro caso le variabili a e b locali al main, ed i valori ottenuti vengono associati ai parametri formali x e y rispettando l'ordine in cui tali parametri sono stati definiti.

23 Flusso di controllo per i metodi main ( ) f ( ) f( ); si esegue il metodo invocato fino a raggiungere l istruzione return (se il metodo è funzionale) o a concludere il corpo del metodo se questo è di tipo void 23

24 Flusso di controllo per i metodi main ( ) f ( ) f( ); si prosegue dalla prima istruzione successiva alla chiamata. 24

25 Flusso di controllo per i metodi main( ) prima( ) seconda( ) prima( ); seconda( ); Un metodo chiamato può a sua volta chiamarne un altro! 16/01/

26 Dati locali ai metodi È possibile dichiarare variabili locali ad un metodo. Visibilità : Una variabile locale è visibile solo all interno del corpo del metodo dove essa è dichiarata. Ciclo di vita: Una variabile locale viene creata ogni volta che il metodo viene invocato e viene distrutta quando il metodo ha terminato la sua esecuzione (variabili automatiche). I parametri sono da considerarsi variabili locali. 16/01/

27 Esempio L espressione che produce il valore che viene riportato deve essere consistente con il tipo di valore restituito dal metodo. z è una variabile locale. Viene creata ogni volta che il metodo viene invocato e viene distrutta quando il metodo ha finito di essere eseguito. 16/01/

28 L output dei metodi di tipo funzione: l istruzione return Il tipo restituito da un metodo di tipo funzione indica il tipo del valore che il metodo restituisce al chiamante. Un metodo che non restituisce alcun valore è di tipo void. L istruzione return all interno del corpo di un metodo di tipo funzione specifica il valore che verrà restituito dalla stessa. L espressione specificata nel return deve essere conforme alla specifica di tipo dichiarata nell intestazione. 16/01/

29 Metodi che restituiscono un valore Se un metodo restituisce un valore: occorre specificare nell intestazione di che tipo è il valore restituito, e nel corpo del metodo deve essere presente almeno una istruzione return che specifica quale è il valore da restituire. essa può essere presente ovunque all interno del corpo. 16/01/

30 Metodi che non restituiscono valori Se un metodo non restituisce alcun valore: occorre specificare nell intestazione il tipo void, e nel corpo della funzione non è necessaria alcuna istruzione return. In questo caso l esecuzione della funzione termina alla fine del corpo del metodo. public static void visualizza (int x) { System.out.print (2*x); 16/01/2013

31 Effetti collaterali Si dice che un metodo causa un effetto collaterale quando esso modifica una variabile al di fuori del proprio campo di visibilità (scope). In Java si può verificare un effetto collaterale SOLO se il parametro formale di un metodo è un oggetto (es. un array).

32 Effetti collaterali In Java quando si passa come parametro un tipo di dato non primitivo (oggetto), pur passando comunque il parametro per valore, trattandosi di un riferimento all oggetto la copia che viene effettuata è del riferimento e non dell oggetto vero e proprio. Pertanto durante l esecuzione del metodo, attraverso la copia del riferimento all oggetto si potrà accedere, e quindi alterare, i dati contenuti nell oggetto originale (si pensi agli array!) generando i cosiddetti effetti collaterali. 16/01/

33 Effetti collaterali Un effetto collaterale non è necessariamente una situazione di errore o un problema, se gestito correttamente può essere una soluzione per risolvere particolari tipi di situazioni come ad esempio la lettura di un array.

34 public class effetticollateralisi { public static void main(string[] args) { // TODO Auto-generated method stub int[] a={4,5,6; //test (a); stampaarray (a); public static void test (int [] x) { x[0] =0; x[1] ++; public static void stampaarray (int V[]) { String S =""; for (int i=0;i<v.length;i++) { S += V[i] ; if (i+1!=v.length) { S +=" "; System.out.println(S); output:0 6 6 public class effetticollateralino { public static void main(string[] args) { // TODO Auto-generated method stub int[] a={4,5,6; test (a[0],a[1]); stampaarray (a); public static void test (int x, int y) { x =0; y ++; public static void stampaarray (int V[]) { String S =""; for (int i=0;i<v.length;i++) { S += V[i] ; if (i+1!=v.length) { S +=" "; System.out.println(S); Output: 4 5 6

35 public class effetticollateralisi { public static void main(string[] args) { // TODO Auto-generated method stub int[] a={4,5,6; //test (a); stampaarray (a); public static void test (int [] x) { x[0] =0; x[1] ++; public static void stampaarray (int V[]) { String S =""; for (int i=0;i<v.length;i++) { S += V[i] ; if (i+1!=v.length) { S +=" "; System.out.println(S); output:0 6 6 public class effetticollateralino { public static void main(string[] args) { // TODO Auto-generated method stub int[] a={4,5,6; test (a[0],a[1]); stampaarray (a); public static void test (int x, int y) { x =0; y ++; public static void stampaarray (int V[]) { String S =""; for (int i=0;i<v.length;i++) { S += V[i] ; if (i+1!=v.length) { S +=" "; System.out.println(S); Output: In effetticollateralisi viene passato in input un array quindi è passato il riferimento agli elementi del vettore, che permette di modificare le variabili del vettore a esterno al metodo (questo è un

36 Metodi statici per vettori e matrici Per rendere più semplice l uso degli array (unidimensionali e bidimensionali) è comodo creare metodi statici (che svolgono tali operazioni).

37 import javax.swing.joptionpane; public class esempioarrayg{ public static void main(string[] args) { // TODO Auto-generated method stub int numero; do { String s = JOptionPane.showInputDialog("Immettere dimensione array "); numero=integer.parseint(s); while (numero<=0); int a[] = new int[numero]; //lettura array for (int i=0;i<a.length;i++) { a[i] = Integer.parseInt(JOptionPane.showInputDialog((i +1)+" numero")); ; //scrittura array String array =""; for (int i=0;i<a.length;i++) { array += a[i] ; if (i+1!=a.length) { array +=" "; JOptionPane.showMessageDialog(null," l'array inserito è: ["+array+"]");

38 public static void leggiarray(int [] x) { /* legge uno alla volta gli elementi dell array x; utilizza pesantemente e positivamente gli effetti collaterali */ int i; // la variabile di iterazione /* ciclo di lettura degli elementi dell array */ for (i = 0; i < x.length; i++) { x[i] = Integer.parseInt(JOptionPane.showInputDialog((i +1)+" numero")); public static String stampaarray (int v[]) { String array =""; for (int i=0;i<v.length;i++) { array += v[i] ; if (i+1!=v.length) { array +=" "; return array;

39 Esempi di definizione di metodi public static void leggiarray(int [] x) { /* legge uno alla volta gli elementi dell array x; utilizza pesantemente e positivamente gli effetti collaterali */ int i; // la variabile di iterazione /* ciclo di lettura degli elementi dell array */ for (i = 0; i < x.length; i++) { x[i] = Integer.parseInt(JOptionPane.showInputDialog((i +1)+" numero")); public static String stampaarray (int v[]) { String array =""; for (int i=0;i<v.length;i++) { array += v[i] ; if (i+1!=v.length) { array +=" "; return array; tipo di ritorno propietà del metodo parametri del metodo nome del metodo

40 public class esempioleggiarray { public static void main(string args[]) throws NumberFormatException, IOException { int numero; do { String s = JOptionPane.showInputDialog("Immettere dimensione array "); numero=integer.parseint(s); while (numero<=0); int A[] = new int[numero]; //lettura array Funz.leggiArray(A); //stampa array JOptionPane.showMessageDialog(null," l'array inserito è: ["+Funz.stampaArray(A)+"]");

41 public class esempioleggiarray { public static void main(string args[]) throws NumberFormatException, IOException { int numero; do { String s = JOptionPane.showInputDialog("Immettere dimensione array "); numero=integer.parseint(s); while (numero<=0); int A[] = new int[numero]; //lettura array Funz.leggiArray(A); //stampa array Chiamata del metodo JOptionPane.showMessageDialog(null," l'array inserito è: ["+Funz.stampaArray(A)+"]"); Chiamata del metodo

42 Osservazione A questo punto, analizzando le prime istruzioni che compongono un programma Java: public class esempio { public static void main(string[] args) {. si può osservare che anche il metodo main ha un parametro in input ( String args[] ). La funzione è quella di salvare nell'array args eventuali stringhe scritte dall'utente in fase di lancio del programma. Ovvero se lanciassimo il programma inserendo come parametro di input "HELLO WORLD" avremo che la stringa HELLO verrà salvata nella posizione 0 dell'array args (args[0]=hello) e WORLD verrà salvato nella posizione 1 dell'array args (args[1]=world).

43 Domande teoriche proposte 1) Descrivere le modalità di passaggio per VALORE dei parametri attuali ai parametri formali. 2) Spiegare perché in Java pur passando un array per valore si ottiene un effetto collaterale.

44 Esercizio Scrivere un metodo statico Java che individua se un numero naturale è perfetto (un numero si dice perfetto se è pari alla somma dei suoi divisori interi escluso il numero stesso) I primi numeri perfetti sono: 6, 28, 496, 16/01/

45 In questo caso è necessario guardare tutti i potenziali divisori, senza ulteriori condizioni di arresto Esercizio 16/01/

46 16/01/

47 16/01/

48 Cosa abbiamo imparato finora? La distinzione tra funzioni, procedure e metodi; Distinzione dei metodi: metodi come funzioni Cosa sono i metodi statici; metodi come sottoprogrammi La definizione del metodo: tipo restituito nome del metodo( lista dei parametri) { corpo del metodo Passaggio dei parametri: per valore; Come avviene il flusso di controllo per i metodi; 16/01/

49 Cosa sono le variabili locali; A cosa serve l istruzione return; Distinzione tra i metodi che restituiscono un valore (specificando nell intestazione il tipo restituito, e nel corpo del metodo deve essere presente almeno una istruzione return che specifica quale è il valore da restituire) e metodi che non restituiscono valore (specificando nell intestazione il tipo void); Cosa sono gli effetti collaterali; Come si utilizzano i metodi statici per dichiarare array. 16/01/

50 1)Che cos è Math? Una classe; Una funzione; Un metodo; Un package di Java. Questionario 2)Quale delle seguenti non è un metodo di Math? static double abs(double a ); static double sin(double a); static double loge(double a); static double pow(double a, double b). 3)Qual è il risultato della seguente istruzione? x=3; x=6; x=9; double x= Math.pow(3,3); x=27. 16/01/

51 4) Qual è il risultato della seguente istruzione? double x= Math.tan(0); x=1/2; x=0; x non esiste; x=1. 5) Qual è il risultato della seguente istruzione? double x= Math.Max(16,23); x=23; x=16; x=19.5; x=138 16/01/

52 6)Analizzare il seguente programma; class TrovaCarattere { public boolean Trovacar(String ciao,char car) { int i,l; boolean sw; l=ciao.length(); sw=false; for (i=0;i<l;i++) { if (ciao.charat(i)==car) { sw=true; return sw; 16/01/

53 Qual è il parametro del metodo Trovacar? String ciao ; String ciao, char car, int i e l, boolean sw; String ciao, char car, int i e l; String ciao, char car 7) Sempre analizzando il programma precedente che tipo di dato viene restituito in uscita? Public; Boolean; String; Char. 8) A quale tipologia di metodi appartiene il metodo Trovacar della domanda 6? Metodo come funzione; Metodo come sottoprogramma; Metodo come programma; Metodo come oggetto. 16/01/

54 9)Quali delle seguenti non è una caratteristica dei metodi statici? Possono ritornare un valore; Corrispondono a nuove funzioni; Possono essere utilizzati solo per risolvere problemi semplici; Non prevedono la creazione di oggetti. 10)Quale delle seguenti invece è una definizione di metodo? I metodi possono essere visti come programmi che raggruppano istruzioni al loro interno; Un metodo può essere codificato e costruito all interno di un altro metodo; I metodi una volta definiti, permettono, tramite la loro chiamata, di fare lo stesso numero di operazioni in altri punti del programma senza riscriverle; Un metodo non può essere implementato ma solo codificato all interno di una classe. 11)Quale delle seguenti non è una caratteristica dei metodi come funzioni? Contengono l istruzione return; Restituiscono un valore di un certo tipo; Generalmente vengono utilizzati nelle espressioni; Vengono utilizzati come particolari istruzioni 16/01/

55 12)Analizzare il seguenti programma: class ciao { public static void main(string[] args) {int vett[]={10,7,20,3,0,2,5,6,3,9; int i,somma=0,prod=1; for (i=0;i<=4;i++) { somma=somma+vett[i]; System.out.println("la somma dei primi cinque numeri e'" +somma); for (i=5;i<10;i++) { prod=prod*vett[i]; System.out.println("il prodotto dei restanti numeri e'" +prod); 16/01/

56 Quali e quante chiamata al metodo ci sono? Non è presente nessuna chiamata al metodo; Una, +somma ; Una, +prod ; Due, +somma e +prod. 13)Nel programma della domanda 12, quante e quali sono le variabili locali? Una, somma; Due, somma e prod; Non ci sono variabili locali; Tre, somma, prod e i. 14)Analizzare la seguente parte di programma: public void settitolo(string t) { titolo=t; public String gettitolo() { return titolo; 16/01/

57 Quale sarà il valore restituito dal metodo settitolo? Un valore di tipo String; Un carattere; La variabile titolo; Nessun tipo di valore. 15)Analizzando il programma della domanda 14,quale sarà il valore restituito dal metodo gettitolo? Un valore di tipo String; Un carattere; Il carattere t; Nessun tipo di valore. 16)A cosa serve l istruzione return? L istruzione return nel corpo di una funzione indica il valore che viene restituito dalla stessa; L istruzione return nel corpo di una funzione serve a stampare il valore della funzione stessa; L istruzione return nel corpo di una funzione indica serve a fare in modo che non venga restituito alcun valore; L istruzione return nel corpo di una funzione serve a tornare all inizio del programma. 16/01/

58 17) Supponiamo di avere il seguente programma Java: public ciao{ public static void main(string args[]) throws NumberFormatException, IOException{ intnumero; do { Strings = JOptionPane.showInputDialog("Immettere dimensione array"); numero=integer.parseint(s); while(numero<=0); inta[] = newint[numero]; leggiarray(a); JOptionPane.showMessageDialog(null," l'array inserito è: ["+stampaarray(a)+"]"); Quali delle seguenti rappresenta una chiamata del metodo? stampaarray(a); JOptionPane.showInputDialog(); Integer.parseInt(s); JOptionPane.showMessageDialog(). 16/01/

59 18) Quando si interrompe l esecuzione del main in un programma Java? Quando avviene il passaggio dei parametri; Al momento della chiamata del metodo; Quando il metodo invocato viene eseguito; Non si interrompe mai. 19)Analizzando il programma della domanda 17, quali delle seguenti affermazioni descrive in maniera appropriata il modo in cui avviene il flusso di controllo? L esecuzione del main si interrompe al momento della chiamata del metodo e viene eseguito il passaggio dei parametri. Viene eseguito il metodo invocato e si prosegue dalla prima istruzione seguente la chiamata; L esecuzione del main non si interrompe al momento della chiamata del metodo e viene eseguito il passaggio dei parametri. Viene eseguito il metodo invocato e si prosegue dalla prima istruzione seguente la chiamata; Viene prima di tutto eseguito il passaggio dei parametri, il metodo invocato e si prosegue dalla prima istruzione seguente la chiamata; L esecuzione del main si interrompe al momento della chiamata del metodo,viene eseguito il metodo invocato e si prosegue dalla prima istruzione seguente la chiamata 16/01/

60 20)Quand è che un metodo causa un effetto collaterale? Quando il metodo modifica una variabile nel proprio campo di visibilità Quando il metodo modifica una variabile al di fuori del proprio campo di visibilità; Quando il metodo modifica un array al di fuori del proprio campo di visibilità; Quando il metodo modifica una variabile sia al di fuori che nel proprio campo di visibilità. 16/01/

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 Istruzione condizionale switch Istruzioni di salto break e continue Uso di variabili di tipo boolean Variabili di tipo array (monodimensionali)

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 Istruzioni di controllo Iterative Condizionali Algoritmi e Diagrammi di flusso Esercizi 28/03/2011 2 Istruzioni iterative while do

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

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 La classe String Lettura da input di dati numerici (tipo int) Stampa di dati numerici Uno sguardo al codice Esercizi 21/03/2011 2

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 Eccezioni Categorie di eccezioni checked unchecked Gestione delle eccezioni Clausola throws Costrutto try - catch - finally Comando

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

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

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

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

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione

Corso: Fondamenti di Informatica (Gruppo 2) a.a Corsi di laurea: Ing. Settore Informazione Corso: Fondamenti di Informatica (Gruppo 2) a.a. 2017-18 Corsi di laurea: Ing. Settore Informazione Questionario a Risposte Multiple per auto-valutazione del Lab05 Domanda n. 1 Argomento: Iterazioni, array

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

Fondamenti di Informatica T-1

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

Dettagli

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni

FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA C Linguaggio Java: Eccezioni Prof. Zambonelli, Ing. Cabri, Ing. Denti, Ing. Andrea Aime Zambonelli,

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

RETI DI CALCOLATORI Linguaggio Java: Eccezioni

RETI DI CALCOLATORI Linguaggio Java: Eccezioni Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria Reggio Emilia CORSO DI RETI DI CALCOLATORI Linguaggio Java: Eccezioni Prof. Franco Zambonelli Lucidi realizzati in collaborazione

Dettagli

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche

Algebra di Boole: Concetti di base. E un algebra basata su tre operazioni logiche Fondamenti di Informatica Algebra di Boole: Concetti di base Fondamenti di Informatica - D. Talia - UNICAL Algebra di Boole E un algebra basata su tre operazioni logiche OR AND NOT Ed operandi che possono

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

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

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

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

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

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

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

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore.

Linguaggio C. Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. Linguaggio C Generalità sulle Funzioni. Variabili locali e globali. Passaggio di parametri per valore. 1 Funzioni Generalizzazione del concetto di funzione algebrica: legge che associa a valori delle variabili

Dettagli

L input da tastiera in Java. Dott. Ing. M. Banci, PhD

L input da tastiera in Java. Dott. Ing. M. Banci, PhD L input da tastiera in Java Dott. Ing. M. Banci, PhD La lettura di un flusso di input in Java avviene attraverso l'oggetto in della classe System. System.in appartiene alla classe InputStream (letteralmente

Dettagli

Strutturare il codice: sottoprogrammi

Strutturare il codice: sottoprogrammi Andrea Marin Università Ca Foscari Venezia Laurea in Informatica Corso di Programmazione part-time a.a. 2011/2012 Motivazioni Alcuni problemi si presentano frequentemente durante lo sviluppo di un 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

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

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

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

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

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

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 Incapsulamento Polimorfismo e overloading Esercizi svolti Esercizi proposti Paradigma OO Nella programmazione tradizionale,

Dettagli

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

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

Dettagli

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

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3)

Funzioni in C. Funzioni. Strategie di programmazione. Funzioni in C. Come riusare il codice? (2/3) Come riusare il codice? (1/3) Funzioni Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Strategie di programmazione Riuso di

Dettagli

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei

Input. Il tipo char Alcune modalità di acquisizione di input. Laboratorio di Programmazione - Luca Tesei Input Il tipo char Alcune modalità di acquisizione di input 1 Lettura di dati in input Vediamo due modi per acquisire dei dati di input dall utente: 1. Tramite una finestra grafica di dialogo 2. Tramite

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 La ricorsione Metodi ricorsivi Esercizi proposti 16/01/2013 2 La ricorsione In Java ogni metodo può chiamare anche se stesso,

Dettagli

Lezione 6 programmazione in Java

Lezione 6 programmazione in Java Lezione 6 programmazione in Java Nicola Drago drago@sci.univr.it Dipartimento di Informatica Università di Verona Anteprima Le costanti I vettori Cos è un vettore Come si usa I vari tipi di vettori Esempi

Dettagli

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

18 - Vettori. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 18 - Vettori 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 Corso di

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

Programmazione 1 A.A. 2015/2016

Programmazione 1 A.A. 2015/2016 Cognome e Nome Matricola Programmazione 1 A.A. 2015/2016 Appello del 16 Dicembre 2015 Compito n 1 Prima parte Esercizio 1 (10 punti) Cosa stampa il seguente frammento di codice Java? int[] A = {3, 8, 91,

Dettagli

Iterazioni. L istruzione while. while (condition) istruzione

Iterazioni. L istruzione while. while (condition) istruzione Iterazioni L istruzione while while (condition) istruzione Ripete l esecuzione di istruzione fino a che la condizione resta vera while (balance < targetbalance) year++; double interest = balance * rate

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

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

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

Linguaggio C: le funzioni. Introduzione e sintassi

Linguaggio C: le funzioni. Introduzione e sintassi Dipartimento di Elettronica ed Informazione Politecnico di Milano Informatica e CAD (c.i.) - ICA Prof. Pierluigi Plebani A.A. 2008/2009 Linguaggio C: le funzioni. Introduzione e sintassi La presente dispensa

Dettagli

Strategie di programmazione

Strategie di programmazione Funzioni Funzioni in C Il concetto di funzione Parametri formali e attuali Il valore di ritorno Definizione e chiamata di funzioni Passaggio dei parametri Corpo della funzione 2 Funzioni in C Strategie

Dettagli

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

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false;

public static boolean occorre (int[] a, int n) { int i = 0; boolean trovato = false; Metodi iterativi con array monodimensionali 1. Scrivere un metodo che, dato un array di interi a, restituisce il valore minimo in a. public static int minimo (int[] a) { int min = a[0]; for (int i=1; i

Dettagli

Laboratorio di reti I

Laboratorio di reti I Laboratorio di reti I Stefano Brocchi brocchi@dsi.unifi.it 13 ottobre, 2009 Stefano Brocchi Laboratorio di reti I 13 ottobre, 2009 1 / 27 Introduzione Obiettivi del corso Aspetti di programmazione Java

Dettagli

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM

Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM Java, Oggetti e Strutture Dati di G. Callegarin - Edizioni CEDAM ERRATA CORRIGE dei programmi della prima stampa (Aprile 2004) aggiornato al 20/05/2017 Nota: il codice corretto è ottenibile da quella errato

Dettagli

Introduzione a Matlab

Introduzione a Matlab INFORMATICA B Ingegneria Elettrica Introduzione a Matlab Introduzione a Matlab Matlab (MATrix LABoratory) è uno strumento per il calcolo scientifico ed ingegneristico Matlab facilita lo sviluppo di programmi

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

Corso sul linguaggio Java

Corso sul linguaggio Java Corso sul linguaggio Java Modulo JAVA1 1.3 - Le strutture di controllo 1 Prerequisiti Istruzioni semplici Strutture di controllo Scittura di semplici applicazioni Java 2 1 Introduzione In molti casi le

Dettagli

Gli Array. Dichiarazione di un array

Gli Array. Dichiarazione di un array Gli Array Un array rappresenta una variabile indicizzata (ovvero contenente un indice) che viene utilizzata per contenere più elementi dello stesso tipo. Ogni array ha un nome al quale viene associato

Dettagli

Le funzioni in JavaScript. Modularizzazione

Le funzioni in JavaScript. Modularizzazione Modularizzazione Quando abbiamo a che fare con un problema complesso spesso lo suddividiamo in problemi più semplici che risolviamo separatamente, per poi combinare insieme le soluzioni dei sottoproblemi

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 26 Gennaio 2011 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Pizzeria. La classe Tavolo ha i seguenti attributi: nome (una

Dettagli

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni

La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni La gestione dell input/output da tastiera La gestione dell input/output da file La gestione delle eccezioni Autore: Prof. Agostino Sorbara ITIS "M. M. Milano" Autore: Prof. Agostino Sorbara ITIS "M. M.

Dettagli

Java Le stringhe. Stringhe

Java Le stringhe. Stringhe Java Le stringhe 1 Le stringhe in Java In Java le stringhe non sono semplicemente array di caratteri terminati con zero come avviene in C In Java le stringhe sono oggetti appartenenti alla classe String

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

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal

Algoritmi, Strutture Dati e Programmi. UD 2.b: Programmazione in Pascal Algoritmi, Strutture Dati e Programmi : Programmazione in Pascal Prof. Alberto Postiglione AA 2007-2008 Università degli Studi di Salerno Il Linguaggio di Programmazione Pascal Esistono molti linguaggi

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

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni

Eccezioni. Comportamento di default (esempio) Propagazione delle eccezioni Università degli Studi di Roma La Sapienza Corso di Laurea in Ingegneria dell Informazione (sede di Latina) Corso di Laurea in Ingegneria dell Informazione (consorzio Nettuno) Eccezioni L esistenza di

Dettagli

Introduzione Programmazione Java

Introduzione Programmazione Java Introduzione Programmazione Java Paolo Tomeo paolo.tomeo@poliba.it Regole basilari Java è case sensitive quindi prestare attenzione alle maiuscole Il commento si inserisce con // all'inizio della linea

Dettagli

Variabili e Metodi di classe Interfacce e Package Gestione di File in Java

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

Dettagli

Laboratorio di Matematica e Informatica 1

Laboratorio di Matematica e Informatica 1 Laboratorio di Matematica e Informatica 1 Matteo Mondini Antonio E. Porreca matteo.mondini@gmail.com porreca@disco.unimib.it Dipartimento di Informatica, Sistemistica e Comunicazione Università degli Studi

Dettagli

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

OCA JAVA 8 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 8 SE PROGRAMMER

Dettagli

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

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

Dettagli

Programmazione 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

Fondamenti di Programmazione

Fondamenti di Programmazione Fondamenti di Programmazione 1 Programmazione Concetti base: dati istruzioni Dati: variabili tipi Istruzioni: istruzioni base strutture di controllo sotto-programmi 2 Sotto-programmi Necessità di scomporre

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

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

Informatica Generale Andrea Corradini Ancora sui linguaggi di programmazione

Informatica Generale Andrea Corradini Ancora sui linguaggi di programmazione Informatica Generale Andrea Corradini 18 - Ancora sui linguaggi di programmazione Sommario Principali componenti di un linguaggio di programmazione Variabili e costanti Strutture dati: array e record Strutture

Dettagli

UD 3.2b: Programmazione in Pascal (1)

UD 3.2b: Programmazione in Pascal (1) UD 3.2b: Programmazione in Pascal (1) Il Linguaggio di Programmazione Pascal Esistono molti linguaggi di programmazione. Per motivi didattici utilizzeremo una versione ridotta di un linguaggio di programmazione

Dettagli

Ottenere una modifica del parametro attuale

Ottenere una modifica del parametro attuale Ottenere una modifica del parametro attuale Le variabili passate come parametri a una funzione, se alterate durante l esecuzione, non cambiano valore all uscita dalla funzione (parametri passati per valore)

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Fondamenti di Informatica Capitolo 3 Funzioni Federico Ceriani federico.ceriani@nulltech.it ITS Meccatronico di Legnago A.S. 2016-2017 Contenuti Concetto di funzione Sintassi Tipo di ritorno Argomenti

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

Programmazione ad Oggetti

Programmazione ad Oggetti Programmazione ad Oggetti Java - IO Corso di Programmazione ad Oggetti Seconda Università di Napoli Ing. Antonio Coronato ICAR - CNR Agenda Operazioni di IO da tastiera Oggetti System per le operazioni

Dettagli

Ingredienti sintattici di Java

Ingredienti sintattici di Java Ingredienti sintattici di Java Eugenio G. Omodeo Dip. Matematica e Geoscienze DMI Trieste, 23/09/2015 Eugenio G. Omodeo Ingredienti sintattici di Java 1/7 Specificare ( Dizionario online tratto da: Grande

Dettagli

Costrutti iterativi. Utilizzo dei costrutti iterativi

Costrutti iterativi. Utilizzo dei costrutti iterativi Costrutti iterativi Utilizzo dei costrutti iterativi Costrutti iterativi (1/3) I costrutti iterativi permettono di eseguire ripetutamente del codice Il linguaggio Java mette a disposizione tre costrutti

Dettagli

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

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

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

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011 Fondamenti di Informatica 1 Prof. B.Buttarazzi.. 2010/2011 Sommario Conversione di tipo:casting Tipo enumerativo lgebra Booleana Esercizi Conversione di tipo:casting Il casting o conversione di tipo avviene

Dettagli

Insieme.java. Printed by Paolo. Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; Tuesday February 24, /10

Insieme.java. Printed by Paolo. Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; Tuesday February 24, /10 Feb 24, 04 16:44 Page 1/1 class Insieme { private int[] elementi; public Insieme() { elementi = new int[0]; public static boolean vuoto(insieme i) { return i.elementi.length == 0; Insieme.java public static

Dettagli

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma

Indice. Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java. Compilazione ed esecuzione di un programma Indice Introduzione a tool per lo sviluppo e l'esecuzione di programmi in linguaggio Java Introduzione all ambiente di sviluppo - Compilazione ed esecuzione di un programma - Compilazione ed esecuzione

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 Programmazione O.O. Oggetti e Classi Metodi Parametri Variabili di istanza Costruttori Variabili locali Esercizi Implica: Programmazione

Dettagli

Calcolare x n = x x x (n volte)

Calcolare x n = x x x (n volte) Calcolare x n = x x x (n volte) Abbiamo bisogno di: una variabile ris in cui ad ogni iterazione del ciclo si ha un risultato parziale, e che dopo l ultima iterazione contiene il risultato finale; una variabile

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

GESTIONE DEGLI ERRORI

GESTIONE DEGLI ERRORI GESTIONE DEGLI ERRORI Spesso vi sono istruzioni critiche, che in certi casi possono produrre errori L approccio classico consiste nell inserire controlli (if else..) per cercare di intercettare a priori

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

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4

Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Corso: Fondamenti di Informatica 1 (gruppo 8-9) Corsi di laurea: Area dell'informazione Questionario di autovalutazione 4 Domanda n. 1 Argomento: Rappresentazione dell'informazione Domanda: Il numero binario

Dettagli

Capitolo 4. Tipi di dati fondamentali. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione

Capitolo 4. Tipi di dati fondamentali. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Capitolo 4 Tipi di dati fondamentali Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Convenzioni per i nomi ContoCorrente: nome di una classe contocorrente: può essere una

Dettagli

TIPI PRIMITIVI: LIMITI

TIPI PRIMITIVI: LIMITI TIPI PRIMITIVI: LIMITI I tipi primitivi sono i "mattoni elementari" del linguaggio In varie situazioni può però essere necessario trattare i tipi primitivi come oggetti quando una funzione pretende come

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

Programmazione II. Lezione 13. Daniele Sgandurra 3/12/2010.

Programmazione II. Lezione 13. Daniele Sgandurra 3/12/2010. Programmazione II Lezione 13 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 3/12/2010 1/29 Programmazione II Lezione 13 3/12/2010 Sommario 1 Strutturare il Controllo 2 Java Oggetti e Classi 2/29 Programmazione

Dettagli

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni

Uso di classi e oggetti. Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Uso di classi e oggetti Prof. Francesco Acarino IIS Altiero Spinelli Via Leopardi 132 Sesto San Giovanni Tipi di dati Tipi primitivi: interi Java fornisce otto tipi primitivi indipendenti dall implementazione

Dettagli

Programmazione, 5 a lezione

Programmazione, 5 a lezione Programmazione, 5 a lezione Eugenio Omodeo Dipartimento di Matematica e Informatica, Università degli Studi di Trieste. Trieste, 12.10.2010 Esecuzione sequenziale I All avvio di un programma, il processo

Dettagli

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN

Evoluzione del FORTRAN 14/03/2016. LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN LABORATORIO DI PROGRAMMAZIONE Corso di laurea in matematica 15 IL LINGUAGGIO FORTRAN Marco Lapegna Dipartimento di Matematica e Applicazioni Universita degli Studi di Napoli Federico II wpage.unina.it/lapegna

Dettagli

Laboratorio di Programmazione 1 [Java]

Laboratorio di Programmazione 1 [Java] Laboratorio di Programmazione 1 [Java] Prova di esame - 7 Settembre 2010 Tempo massimo: 50 minuti Si implementino in Java le classi Tavolo e Ristorante. La classe Tavolo ha i seguenti attributi: numero

Dettagli

Programmazione in Java (I modulo)

Programmazione in Java (I modulo) Programmazione in Java (I modulo) Lezione 4 Variabili di tipo primitivo. Dichiarazione di costanti Conversioni di tipo: operatore cast Altri operatori di assegnamento Operazioni aritmetiche e di confronto

Dettagli