Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 16. Array. A. Miola Gennaio

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 16. Array. A. Miola Gennaio"

Transcript

1 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 16 A. Miola Gennaio

2 Contenuti q Il problema degli studenti da promuovere q q in Java q Uso di array dichiarazione di variabili array e tipi array creazione di array accesso a un array array e metodi letterali array q e accesso posizionale somma degli elementi di un array visualizzazione degli elementi di un array calcolo del massimo elemento di un array di interi altri esempi ed esercizi 2

3 q Un array è un insieme di variabili omogenee, gestito mediante una singola variabile, a cui è possibile accedere in modo posizionale (ovvero, mediante un indice) gli array consentono di gestire dei gruppi di dati in quantità prefissata che rappresentano informazioni omogenee che devono essere tutti elaborati nello stesso modo 3

4 Il problema degli studenti da promuovere q Si consideri il seguente problema i venti studenti di un corso hanno svolto una prova di profitto, e ciascuno studente ha ricevuto una votazione in decimi le votazioni sono numeri razionali compresi tra zero e dieci il docente del corso ha deciso di promuovere gli studenti la cui votazione è non inferiore ai due terzi del voto medio ottenuto dagli studenti alla prova d esame si vuole scrivere un applicazione che legge il nome e la votazione di ciascuno dei venti studenti e stampa l elenco dei nomi degli studenti da promuovere, con le rispettive votazioni 4

5 Il problema degli studenti da promuovere Inserisci i nomi e le votazioni dei venti studenti Studente 1: Rossi 8.1 Studente 2: Verdi 3.2 Studente 3: Gialli Studente 20: Neri 8.5 La media delle votazioni è 7.65 La soglia per la promozione è 5.12 Gli studenti promossi sono: Studente 1: Rossi 8.1 Studente 3: Gialli Studente 20: Neri 8.5 5

6 Una prima soluzione... q Una prima soluzione al problema degli studenti da promuovere dichiara venti variabili nome1, nome2,..., nome20 per i nomi degli studenti dichiara venti variabili voto1, voto2,..., voto20 per le votazioni ricevute dagli studenti leggi nomi e votazioni dei venti studenti leggi il nome e la votazione del primo studente leggi il nome e la votazione del secondo studente... calcola la votazione media e la soglia per la promozione stampa l elenco degli studenti promossi se il voto del primo studente supera la soglia per la promozione, stampa il nome e il voto del primo studente se il voto del secondo studente supera la soglia per la promozione, stampa il nome e il voto del secondo studente... 6

7 ... Una prima soluzione... /* nomi degli studenti */ String nome1, nome2,..., nome20; /* votazioni ricevute dagli studenti */ double voto1, voto2,..., voto20; double sommavoti; // somma dei voti double soglia; // soglia per la promozione... stampa un messaggio segue... questi puntini non sono corretti: bisogna elencare, una a una, tutte le variabili da dichiarare! 7

8 ... Una prima soluzione... /* leggi nomi e votazioni dei venti studenti */ /* leggi il nome e la votazione del primo studente */ nome1 = Lettore.in.leggiString(); voto1 = Lettore.in.leggiDouble(); /* leggi il nome e la votazione del secondo studente */ nome2 = Lettore.in.leggiString(); voto2 = Lettore.in.leggiDouble();... /* leggi il nome e la votazione del ventesimo studente */ nome20 = Lettore.in.leggiString(); voto20 = Lettore.in.leggiDouble(); /* calcola la soglia per la promozione */ sommavoti = voto1 + voto voto20; soglia = (2./3.) * (sommavoti/20);... segue... questi puntini non sono corretti: bisogna scrivere, una a una, tutte le istruzioni e le operazioni che devono essere eseguite! 8

9 ... Una prima soluzione /* stampa l'elenco degli studenti da promuovere */... stampa un messaggio... /* verifica se il primo studente è stato promosso */ if (voto1 >= soglia) System.out.println(nome1 + " " + voto1); /* verifica se il secondo studente è stato promosso */ if (voto2 >= soglia) System.out.println(nome2 + " " + voto2);... /* verifica se il ventesimo studente è stato promosso */ if (voto20 >= soglia) System.out.println(nome20 + " " + voto20); questi puntini non sono corretti: bisogna scrivere, una a una, tutte le istruzioni che devono essere eseguite! 9

10 Limiti della questa prima soluzione q Problemi di questa prima soluzione se ci fossero 10 studenti? se ci fossero 100 o 1000 studenti? se il numero degli studenti non fosse noto a priori? 10

11 Caratteristiche del problema degli studenti q Questo problema ha due caratteristiche fondamentali peraltro comuni a molti altri problemi vanno gestiti degli insiemi di variabili omogenee in ciascun insieme di variabili omogenee, per ciascun elemento devono essere effettuate le stesse operazioni q Vanno gestiti degli insiemi di variabili omogenee un insieme di variabili per rappresentare il nome di ciascuno studente un insieme di variabili per rappresentare la votazione di ciascuno studente ciascuno di questi due insiemi di variabili deve essere composto da un numero di variabili pari al numero degli studenti del corso 11

12 Caratteristiche del problema degli studenti q In ciascun insieme di variabili omogenee, per ciascun elemento devono essere effettuate le stesse operazioni ciascuna votazione deve essere letta e poi acceduta due o tre volte nel calcolo della somma dei voti per verificare se lo studente a cui è associata è stato promosso inoltre, per gli studenti promossi, per poter essere visualizzata ciascun nome deve essere letto e poi eventualmente acceduto il nome di uno studente deve essere visualizzato se lo studente è stato promosso 12

13 Idea dell insieme di variabili... q Nella soluzione del problema degli studenti da promuovere, sarebbe desiderabile poter disporre di due insiemi di variabili per descrivere nomi e voti degli studenti, con le seguenti modalità un insieme nomi di variabili, composto da venti elementi, ciascuno dei quali descrive il nome di uno studente un insieme voti di variabili, composto da venti elementi, ciascuno dei quali descrive la votazione ottenuta da uno studente l accesso all elemento di posizione i-esima in ciascuna di queste variabili è espresso mediante una espressione in cui la posizione i compare esplicitamente come un termine dell espressione 13

14 Uso degli insiemi di variabili... /* nomi degli studenti */ insieme di 20 elementi di tipo stringa nomi; /* votazioni ricevute dagli studenti */ insieme di 20 elementi di tipo double voti;... dichiarazione di altre variabili... /* leggi nomi e votazioni dei venti studenti */ for (i=0; i<20; i++) { /* leggi nome e votazione dell'i-esimo studente */ nomi i = Lettore.in.leggiString(); voti i = Lettore.in.leggiDouble(); } 14

15 ... Uso degli insiemi di variabili /* calcola la soglia per la promozione */ sommavoti = 0; for (i=0; i<20; i++) sommavoti += voti i ; soglia = (2./3.) * (sommavoti/20); /* stampa l'elenco degli studenti da promuovere */... stampa un messaggio... for (i=0; i<20; i++) { /* verifica se l'i-esimo studente è stato promosso */ if (voti i >= soglia) System.out.println(nomi i + " " + voti i ); } 15

16 Dagli insiemi di variabili agli array q In molti linguaggi di programmazione gli insiemi di variabili sono rappresentati mediante la struttura dati di array che cosa è un array? che cosa è un array in Java? come si usano gli array in Java? quali sono le tecniche di programmazione che possono essere usate nella gestione degli array? 16

17 q Un array è una collezione finita di variabili di uno stesso tipo, posto in corrispondenza biunivoca con un altro insieme finito le variabili che compongono un array sono chiamate elementi (o componenti) dell array il numero di elementi di un array è chiamato dimensione dell array gli elementi dell insieme finito che è in corrispondenza biunivoca con l array sono chiamati indici in un array, ciascun elemento è individuato dal nome dell array insieme all indice associato all elemento 17

18 Un esempio di array q L array monthname monthname gennaio January indici per l array monthname febbraio marzo aprile February March April l array monthname novembre November dicembre December 18

19 Un altro esempio di array q L array mesi mesi 1 gennaio indici per l array mesi febbraio marzo aprile l array mesi 11 novembe 12 dicembre 19

20 in Java... q In Java, un array è una sequenza (una collezione ordinata) finita di variabili di uno stesso tipo, posto in corrispondenza biunivoca con un intervallo iniziale e finito dei numeri naturali il numero di elementi di un array (la dimensione) è chiamata anche lunghezza dell array l indice di ciascun elemento in un array è un numero naturale l ordinamento lineare sui numeri naturali, sulla base dell indice associato a ciascun elemento, induce un ordinamento sugli elementi di un array il primo elemento ha indice 0 in un array lungo N, l ultimo elemento ha indice N 1 20

21 ... in Java q In Java, un array è un oggetto, a cui è possibile accedere mediante un suo riferimento q L accesso a un elemento di un array avviene specificando un riferimento all array seguito dall indice dell elemento racchiuso tra parentesi quadre [ e ] 21

22 Un esempio di array in Java q L array monthname, composto da dodici elementi String il riferimento all array è memorizzato nella variabile monthname gli indici permessi sono i numeri naturali compresi tra 0 e 11 ad esempio, l espressione monthname[0] permette di accedere al primo elemento dell array, la stringa "January" monthname January February March April November December 22

23 Uso di array q In Java gli array sono oggetti istanza, e la loro gestione presenta molti aspetti simili a quelli della gestione degli altri oggetti istanza se si vuole usare un array bisogna dichiarare una variabile per memorizzare il riferimento all array creare l array accedere agli elementi dell array mediante l operatore [ ] 23

24 Dichiarazione di variabili array e tipi array q Per usare un array i cui elementi sono di un tipo T bisogna dichiarare una variabile di tipo T[ ] String[] nomi; // nomi degli studenti double[] voti; // votazioni ricevute dagli studenti q Tipi array se T è un tipo, l espressione T[ ] denota un tipo riferimento, chiamato tipo array di elementi di tipo T (array di T) gli elementi di un array devono essere tutti di uno stesso tipo q Le variabili di tipo array (o variabili array) sono dunque variabili di tipo riferimento la dichiarazione di una variabile array introduce una variabile che può memorizzare il riferimento a un array la dichiarazione di una variabile array non associa alcun oggetto array alla variabile dichiarata 24

25 Creazione di array q Per creare un array composto da N elementi di tipo T si deve usare l espressione new T[N] /* crea l'array per i nomi degli studenti */ nomi = new String[20]; /* crea l'array per i voti degli studenti */ voti = new double[20]; q Gli array sono oggetti la creazione di un array avviene mediante l operatore new al momento della creazione di un array, bisogna specificare il tipo e il numero di elementi che compone l array quando viene creato un array, l operatore new restituisce il riferimento all array creato, che può essere memorizzato in una variabile di tipo array 25

26 Accesso a un array q Dopo che un array è stato creato e il riferimento all array è stato memorizzato in una variabile array, è possibile accedere agli elementi dell array /* leggi nomi e votazioni degli studenti */ for (i=0; i<20; i++) { /* leggi nome e votazione dell'i-esimo studente */ nomi[i] = Lettore.in.leggiString(); voti[i] = Lettore.in.leggiDouble(); } /* calcola la somma dei voti */ sommavoti = 0; for (i=0; i<20; i++) sommavoti += voti[i]; 26

27 Accesso agli elementi degli array q L operatore [ ] è chiamato operatore di indicizzazione (subscripting) è un operatore binario il primo operando di [ ] è il riferimento a un array, scritto prima delle parentesi quadre il secondo operando di [ ] è una espressione intera che indica l indice dell elemento che deve essere acceduto, scritta tra le parentesi quadre nell accesso a un elemento di un array, se il valore dell indice è minore di zero oppure maggiore o uguale alla lunghezza dell array, viene causato un errore al tempo di esecuzione di tipo IndexOutOfBoundsException ovvero, di tipo indice dell array fuori dai limiti 27

28 Il problema degli studenti da promuovere final int NUMERO_STUDENTI = 20; // numero degli studenti String[] nomi; double[] voti; int i; double sommavoti; double soglia;... stampa un messaggio... // nomi degli studenti // votazioni ricevute dagli studenti // indice per la scansione // degli array nomi e voti // somma dei voti // soglia per la promozione /* creazione degli array per gli studenti */ /* crea l'array per i nomi degli studenti */ nomi = new String[NUMERO_STUDENTI]; /* crea l'array per i voti degli studenti */ voti = new double[numero_studenti];... segue... 28

29 Il problema degli studenti da promuovere /* leggi nomi e votazioni degli studenti */ for (i=0; i<numero_studenti; i++) { /* leggi nome e votazione dell'i-esimo studente */ nomi[i] = Lettore.in.leggiString(); voti[i] = Lettore.in.leggiDouble(); } /* calcola la soglia per la promozione */ sommavoti = 0; for (i=0; i<numero_studenti; i++) sommavoti += voti[i]; soglia = (2./3.) * (sommavoti/numero_studenti); /* stampa l'elenco degli studenti da promuovere */... stampa un messaggio... for (i=0; i<numero_studenti; i++) { /* verifica se l'i-esimo studente è stato promosso */ if (voti[i] >= soglia) System.out.println(nomi[i] + " " + voti[i]); } 29

30 Lunghezza di un array q La lunghezza (dimensione) di un array è il numero di elementi dell array la lunghezza di un array deve essere fissata al momento della sua creazione, e non può essere più cambiata è possibile accedere alla lunghezza di un array mediante la variabile length length è una variabile d istanza associata agli oggetti array si può accedere alla lunghezza di un array mediante l espressione riferimento-array. length Attenzione : non confondere la variabile length degli array con il metodo length() delle stringhe 30

31 Uso della variabile length q Crea un array di interi e azzera i suoi elementi int[] a; int i; /* creazione dell'array a */ // un array di interi // indice per la scansione di a a = new int[...];// va indicata la dimensione di a /* azzera gli elementi dell'array a */ for (i=0; i<a.length; i++) a[i] = 0; q Un uso opportuno della variabile length permette di rendere il codice parametrico rispetto alla dimensione degli array 31

32 e metodi q I parametri formali di metodi e costruttori possono essere di tipo array in questo caso, il metodo (o costruttore) può utilizzare la variabile length dell array per accedere alla lunghezza dell array ed elaborare i suoi elementi l esecuzione di un metodo (o costruttore) può modificare gli elementi di un array che gli è stato passato come parametro la modifica degli elementi di un array passato come parametro è un effetto collaterale, che deve essere opportunamente documentato q Il tipo di ritorno di un metodo può essere un tipo array 32

33 Letterali array... q Un letterale array è la denotazione di un array di cui sono anche specificati i valori iniziali per gli elementi, esso viene scritto elencando in sequenza i letterali che denotano gli elementi dell array, racchiusi tra parentesi graffe { e } e separati da virgola, q I letterali array sono utili, ad esempio, per effettuare il test di metodi che hanno dei parametri array 33

34 ... Letterali array String[] animali; animali = new String[]{"leone","tigre","orso"}; in questo frammento di codice la dimensione dell array è data in modo implicito dal numero di elementi elencati questo frammento di codice è equivalente al seguente String[] animali; animali = new String[3]; animali[0] = "leone"; animali[1] = "tigre"; animali[2] = "orso"; 34

35 e accesso posizionale q Gli array vanno normalmente elaborati elemento per elemento normalmente gli elementi di un array vengono acceduti in modo posizionale, mediante l ausilio di una variabile indice in alcuni casi una sola variabile indice consente di accedere a più elementi di un array o agli elementi di più array in alcuni casi è necessario usare più variabili indice per scandire gli elementi di un array 35

36 Somma degli elementi di un array /* Calcola la somma degli elementi dell array a. */ public static int somma(int[] a) { // pre: a!=null int i; int somma; // indice per la scansione di a // somma degli elementi di a } /* scandisce e somma gli elementi di a */ somma = 0; for (i=0; i<a.length; i++) somma += a[i]; return somma; 36

37 Test del metodo int somma(int[ ] a) /* Test del metodo int somma(int[] a). */ public static void testsomma() { /* la somma degli elementi di un array vuoto è 0 */ System.out.println(somma(new int[] {}) + " (0)") /* la somma degli elementi di un array composto * da un solo elemento è uguale al valore * dell'elemento */ System.out.println(somma(new int[] { 5 }) + " (5)") } /* somma degli elementi di un array con più elementi */ System.out.println(somma(new int[] { 1,2,3 }) + " (6)") 37

38 Esercizio q Scrivere un metodo int occorrenze(int[ ] a, int v) che calcola il numero di elementi di a che sono uguali a v ad esempio, se a è l array { 1, 3, 2, 3, 5 } occorrenze(a,3) deve restituire 2 occorrenze(a,7) deve restituire 0 38

39 Visualizzazione degli elementi di un array q Normalmente non è possibile visualizzare gli elementi di un array con una singola istruzione semplice System.out.println( new int[] {1,2,3} ); può visualizzare cose del tipo [I@1ba34f2 Non è affatto strano! Perché? 39

40 Visualizzazione degli elementi di un array /*Visualizza sullo schermo gli elementi dell'array a. */ public static void visualizza(int[] a) { // pre: a!=null int i; // indice per la scansione di a } /* visualizza gli elementi dell'array a, * separandoli da spazi */ for (i=0; i<a.length; i++) System.out.print(a[i] + " "); /* poi va a capo */ System.out.println(); 40

41 Esercizi... q Scrivere un metodo int massimo(int[ ] a) che calcola e restituisce il valore del massimo elemento di un array di interi non vuoto a Massimo( new int[ ] { 3, 1, 2 } ) deve restituire 3 Massimo( new int[ ] { 3, 7, 5 } ) deve restituire 7 q Scrivere un metodo int posizionemassimo(int[ ] a) che calcola la posizione dell elemento di valore massimo di a posizionemassimo( new int[ ] { 3, 1, 2 } ) deve restituire 0 posizionemassimo( new int[ ] { 3, 1, 3 } ) può restituire 0 o 2 41

42 ... Esercizi... q Scrivere un metodo boolean crescente(int[ ] a) che verifica se a è ordinato in modo crescente un array è ordinato in modo crescente se per ogni indice k, l elemento di indice k è maggiore di tutti gli elementi di indice minore di k è sufficiente verificare se ogni elemento è minore dell elemento che lo segue immediatamente intuitivamente, bisogna confrontare ciascun elemento di indice i dell array con l elemento che lo segue immediatamente, quello di indice i+1 attenzione l ultimo elemento di un array non ha un elemento che lo segue immediatamente 42

43 ... Esercizi q Scrivere un metodo boolean coppiauguali(int[ ] a) che verifica se a contiene almeno una coppia di elementi uguali bisogna confrontare ciascun elemento X dell array con ogni altro elemento Y dell array dove X e Y sono elementi diversi, nel senso che hanno indici diversi bisogna confrontare ciascun elemento di indice i dell array con ogni altro elemento di indice j dell array - dove i e j hanno valore diverso quindi è necessario utilizzare due variabili indice per accedere agli elementi di uno stesso array 43

44 Metodi che restituiscono array q Struttura dei metodi che creano e restituiscono array calcola la lunghezza dell array da creare e restituire crea l array da calcolare e restituire assegna un valore a ciascun elemento dell array restituisci il riferimento all array calcolato 44

45 Esercizi q Scrivere un metodo int[ ] inverso(int[ ] a) che crea e restituisce un array che contiene gli stessi elementi di a, ma disposti in ordine inverso q Scrivere un metodo che, dato un array a, calcola e restituisce l elemento più frequente di a calcolare prima l array occ delle frequenze degli elementi di a l elemento da restituire è quello che in a occupa la posizione del massimo di occ 45

46 Uguaglianza tra array q Due array sono uguali se entrambe le seguenti condizioni sono verificate i due array hanno la stessa lunghezza per ciascun indice degli array, gli elementi di indice corrispondente nei due array sono uguali q Esercizio - scrivere un metodo boolean uguali(string[ ] a, String[ ] b) che verifica se gli array di stringhe a e b sono tra loro uguali q Attenzione in pratica, l uguaglianza tra array va verificata invocando il metodo di classe boolean equals(a,b) della classe s del package java.util 46

47 Esercizio q Risolvere il seguente problema dato un array A di interi, si vuole creare e calcolare un nuovo array che contiene tutti e soli gli elementi positivi di A, nello stesso ordine in cui occorrono in A (l array A non deve essere modificato) ad esempio, se A è il seguente array allora bisogna creare e restituire il seguente array

48 Esercizio q Scrivere un metodo int[ ] cancella(int[ ] a, int p), in cui p indica una posizione valida all interno di a, che crea e restituisce un nuovo array che contiene tutti gli elementi di a ad eccezione di quello che occupa la posizione p, nello stesso ordine in cui compaiono in a ad esempio cancella(new int[ ] { 3, 5, 6, 8 }, 2) deve restituire l array { 3, 5, 8 } 48

49 Riferimenti al libro di testo q Per lo studio di questi argomenti si fa riferimento al libro di testo, e in particolare al capitolo 19 fino al paragrafo 19.5 incluso 49

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

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

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa 17. A. Miola Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa 17 A. Miola Gennaio 2012 1 Contenuti q Array paralleli q Array e oggetti q Ricerca sequenziale q Ricerca binaria q Fusione di sequenze

Dettagli

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012

Esercizi su array. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E08. C. Limongelli Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E08 Esercizi su Array C. Limongelli Gennaio 2012 1 Contenuti q Esercizi: Lettura e stampa di un array Massimo elemento di un array

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

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006

Array e Oggetti. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa 12. A. Miola Dicembre 2006 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa 12 Array e Oggetti A. Miola Dicembre 2006 http://www.dia.uniroma3.it/~java/fondinf1/ Array e Oggetti 1 Contenuti Array paralleli

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

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

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

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

Capitolo 16 Iterazione

Capitolo 16 Iterazione Capitolo 16 Accesso a sequenze I problemi esaminati in questo capitolo hanno lo scopo di accedere ed elaborare delle sequenze sequenze immesse dall utente lette dalla tastiera di lunghezza nota con un

Dettagli

Tipi riferimento e stringhe

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

Dettagli

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

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica. Dispensa E06. C. Limongelli Dicembre 2011 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E06 C. Limongelli Dicembre 2011 1 Contenuti q Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione

Dettagli

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007

Iterazione. Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1. Dispensa E07. C. Limongelli Novembre 2007 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 1 Dispensa E07 Iterazione C. Limongelli Novembre 2007 http://www.dia.uniroma3.it/~java/fondinf1/ Iterazione 1 Contenuti Si vogliono formalizzare

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 Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 18. Iterazione. Maggio Iterazione Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 18 Maggio 2010 1 Contenuti Si vogliono formalizzare diverse tecniche per la risoluzione di problemi di: Accumulazione Conteggio Verifica

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

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 Array Array monodimensionali Array bidimensionali Esercizi 16/01/2013 2 ARRAY Gli array sono oggetti utilizzati in Java per memorizzare

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

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

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

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61

Capitolo 5. Array e collezioni. c 2005 Pearson Education Italia Capitolo 5-1 / 61 Capitolo 5 Array e collezioni c 2005 Pearson Education Italia Capitolo 5-1 / 61 Sommario: Array e collezioni 1 Array Array di oggetti Lunghezza di un array Accesso agli elementi di un array Array e cicli

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

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre Alcune Soluzioni COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 Alcune Soluzioni ESERCIZIO 1. Si consideri il seguente frammento di codice in linguaggio Java: int[][] a = new int[n][n]; for (int i

Dettagli

Stringhe ed Array. Fondamenti di Informatica A-K

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

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

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

Dettagli

Algoritmi di Ricerca. Esempi di programmi Java

Algoritmi di Ricerca. Esempi di programmi Java Fondamenti di Informatica Algoritmi di Ricerca Esempi di programmi Java Fondamenti di Informatica - D. Talia - UNICAL 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare

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

Stringhe. Walter Didimo

Stringhe. Walter Didimo Stringhe Walter Didimo La classe String L uso di stringhe (sequenze di caratteri alfanumerici) nei programmi è molto frequente Per tale motivo, l API di Java offre una classe con molti metodi utili per

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

I tipi strutturati e i record in C++

I tipi strutturati e i record in C++ I tipi strutturati e i record in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi

Dettagli

Iterazione (introduzione)

Iterazione (introduzione) Fondamenti di informatica Oggetti e Java (introduzione) Capitolo 17 (estratto) ottobre 2015 1 Contenuti Accesso a sequenze Accumulazione Conteggio Altre aggregazioni Verifica esistenziale Verifica universale

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

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

Array. In Java un array è un oggetto senza metodi, con attributo pubblico length che memorizza la dimensione dell array

Array. In Java un array è un oggetto senza metodi, con attributo pubblico length che memorizza la dimensione dell array Array Una matrice (array) è un insieme ordinato e omogeneo di dati: è una variabile che contiene uno o più valori in sequenza ordinata. Questi valori si chiamano "elementi" e devono avere lo stesso tipo

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

Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR

Array. Parte 7. Domenico Daniele Bloisi. Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Corso di Fondamenti di Informatica Ingegneria delle Comunicazioni BCOR Ingegneria Elettronica BELR Domenico Daniele Bloisi Docenti Parte I prof. Silvio Salza salza@dis.uniroma1.it http://www.dis.uniroma1.it/~salza/fondamenti.htm

Dettagli

Tipi di dato strutturati: Array

Tipi di dato strutturati: Array Tipi di dato strutturati: Array I dati visti finora sono: numeri (interi o razionali), booleani le stringhe (sequenze di caratteri) ma i dati manipolati nelle applicazioni reali sono spesso complessi (o

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

Java Gli array. Array

Java Gli array. Array Java Gli array 1 Gli array In generale un array è una sequenza di locazioni di memoria, che contengono entità dello stesso tipo, e a cui si può fare riferimento con un nome comune Le entità che compongono

Dettagli

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia

Le Funzioni in C. Fondamenti di Informatica Anno Accademico 2010/2011. Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Le Funzioni in C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2010/2011 docente: prof. Michele Salvemini 1/24 Sommario Le funzioni Il

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

E17 Esercizi sugli Array in Java

E17 Esercizi sugli Array in Java E17 Esercizi sugli Array in Java Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Prova Intermedia Marzo 2011 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia La Prova Intermedia

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

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

I Dati Strutturati ed il Linguaggio C

I Dati Strutturati ed il Linguaggio C Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Dati Strutturati Esigenze Vettori

Dettagli

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso;

3. un metodo che restituisce l elenco delle matricole di tutti gli studenti del corso; Un esempio di definizione di classe con array di oggetti Sia data la classe StudUniv per gli studenti universitari (definita in una lezione precedente). Scrivere una nuova classe Corso, dove ciascun corso

Dettagli

E9 Esercizi sul Capitolo 9 Array

E9 Esercizi sul Capitolo 9 Array E9 Esercizi sul Capitolo 9 Array Esercizio 1 (esercizio 9.1 del libro di testo). Implementare un metodo statico di nome stringacorta che prende come parametro un array di oggetti String e che restituisce

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

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

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre 2001

COMPITO DI LABORATORIO DI PROGRAMMAZIONE Dicembre 2001 COMPITO DI LABORATORIO DI PROGRAMMAZIONE 2001-2002 10 Dicembre 2001 NOME COGNOME MATRICOLA Scrivere in stampatello Nome, Cognome e Matricola su ogni foglio consegnato. ESERCIZIO 1. Si consideri il seguente

Dettagli

Corso di Fondamenti di Informatica

Corso di Fondamenti di Informatica Corso di Fondamenti di Informatica Puntatori a funzioni 1 Funzioni che restituiscono puntatori Il valore di ritorno restituito da una funzione può essere di qualsiasi tipo, compreso il tipo puntatore.

Dettagli

Istruzioni di selezione in Java 1

Istruzioni di selezione in Java 1 Ordine di esecuzione Istruzioni di selezione in Java Corso di laurea in Comunicazione digitale Nei metodi l ordine di esecuzione delle istruzioni è sequenziale se non specificato altrimenti Alcune istruzioni

Dettagli

Stringhe e allocazione dinamica della memoria

Stringhe e allocazione dinamica della memoria Stringhe e allocazione dinamica della memoria Esercizio Scrivere un programma strings.c che legge da standard input una sequenza di parole separate da uno o più spazi, e stampa le parole lette, una per

Dettagli

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList Fondamenti di Informatica L-B 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito

Dettagli

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

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

Dettagli

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

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

Programmazione I - corso B a.a prof. Viviana Bono Università di Torino Facoltà di Scienze MFN Corso di Studi in Informatica Programmazione I - corso B a.a. 2009-10 prof. Viviana Bono Blocco 12 Riepilogo e complementi sui tipi Ripasso del sistema di tipi

Dettagli

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

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

Dettagli

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

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli

Esercitazioni del Corso di Fondamenti di Informatica ARRAY. Prof. Giuseppe Manco. A cura di Ing. Andrea Tagarelli Esercitazioni del Corso di Fondamenti di Informatica ARRAY Prof. Giuseppe Manco A cura di Ing. Andrea Tagarelli ESERCIZIO 1 public static int[] elaboravettore (int[] v) che verifica che gli elementi di

Dettagli

Fondamenti di Informatica T-1 Modulo 2

Fondamenti di Informatica T-1 Modulo 2 Fondamenti di Informatica T-1 Modulo 2 1 Obiettivi di questa esercitazione 1. Array e funzioni 2. Array e funzioni ricorsive 3. Array e confronto di array 2 Esercizio 1 Creare un programma che legga da

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

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

Esercitazione Fondamenti di informatica 2

Esercitazione Fondamenti di informatica 2 Esercitazione Fondamenti di informatica 2 Array ed Oggetti JAVA 13 marzo 2006 L oggetto atrice Realizzare una classe oggetto atrice. Lo stato dell oggetto Vettore, è rappresentato da un array di array

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

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

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

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012

Corso di Laurea Ingegneria Informatica. Dispensa E11. Esercizi su array e. Gennaio 2012 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E11 Esercizi su array e array di array C. Limongelli Gennaio 2012 1 Contenuti Fusione di due array ordinati, con eliminazione di

Dettagli

Esercizio 1: media di numeri reali (uso funzioni e struct)

Esercizio 1: media di numeri reali (uso funzioni e struct) Esercitazione Fondamenti di Informatica B Corso di Laurea in Ingegneria Meccanica 5 Esercitazione: 2 novembre 2005 Esercizi sulle funzioni Esercizio 1: media di numeri reali (uso funzioni e struct) Le

Dettagli

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa 04 Introduzione ai Tipi astratti di dato A. Miola Febbraio 2007 http://www.dia.uniroma3.it/~java/fondinf2/ Introduzione ADT 1

Dettagli

Lezione 6 Introduzione al C++ Mauro Piccolo

Lezione 6 Introduzione al C++ Mauro Piccolo Lezione 6 Introduzione al C++ Mauro Piccolo piccolo@di.unito.it Linguaggi di programmazione Un linguaggio formale disegnato per descrivere la computazione Linguaggi ad alto livello C, C++, Pascal, Java,

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

Fondamenti di informatica 2 Claudio Biancalana. Esercitazione capitolo 22 Ricorsione

Fondamenti di informatica 2 Claudio Biancalana. Esercitazione capitolo 22 Ricorsione Fondamenti di informatica 2 Claudio Biancalana Esercitazione capitolo 22 Ricorsione Contatti claudio.biancalana@dia.uniroma3.it Contenuto esercitazione Ripasso ricorsione Esercizi di esame Esercitazione

Dettagli

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane

Informatica AA 2005/06. Programmazione M.A. Alberti. Operatori in Java 1. Operatori in Java. Espressioni aritmetiche. Espressioni booleane Operatori in Java Operatori in Java Corso di laurea in Informatica Operatori aritmetici Operatori di uguaglianza e relazionali Operatori logici in espressioni booleane La precedenza degli operatori L associatività

Dettagli

Programmazione in Java (I modulo) Lezione 4

Programmazione in Java (I modulo) Lezione 4 Programmazione in Java (I modulo) Lezione 4 Costanti Chiamiamo costanti tutti i valori numerici (interi o con la virgola), i caratteri e le stringhe. Esempio: 2, 3.7, 'y, buongiorno Le costanti numeriche

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 c versione 1.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)

Dettagli

Corso di Laurea Ingegneria Informatica

Corso di Laurea Ingegneria Informatica Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Esercizi di ripasso Carla Limongelli Gennaio 2012 http://www.dia.uniroma3.it/~java/fondinf/ Prova Intermedia 1 Modalità della Prova Intermedia

Dettagli

Programmazione Orientata agli Oggetti. Emilio Di Giacomo e Walter Didimo

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

Dettagli

Definizione di 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 T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi

Fondamenti di Informatica T2 Modulo 2. Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009. Enumerativi Università degli Studi di Bologna Facoltà di Ingegneria Fondamenti di Informatica T2 Modulo 2 Corso di Laurea in Ingegneria Informatica Anno accademico 2008/2009 Enumerativi Finora abbiamo creato enumerativi

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

Esempio su strutture dati dinamiche: ArrayList

Esempio su strutture dati dinamiche: ArrayList Esempio su strutture dati dinamiche: ArrayList 1 ArrayList Abbiamo detto che gli array non possono cambiare la propria dimensione: il numero di elementi contenuti viene stabilito al momento della creazione

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