Capitolo 16 Ordinamento e ricerca. Capitolo 16. Ordinamento e ricerca. Apogeo 2002 Horstmann Concetti di informatica e fondamenti di Java 2
|
|
- Battista Rocca
- 4 anni fa
- Visualizzazioni
Transcript
1 Capitolo 16 Ordinamento e ricerca 1
2 File SelectionSorter.java Questa classe ordina un array, usando l algoritmo di ordinamento per selezione. public class SelectionSorter Costruisce un ordinatore per anarray l array da ordinare public SelectionSorter(int[] anarray) a = anarray; Ordina l array gestito da questo ordinatore. 2
3 public void sort() for (int i = 0; i < a.length 1; i++) int minpos = minimumposition(i); swap(minpos, i); Trova l elemento minimo in una parte terminale dell from la prima posizione in a che va la posizione dell elemento minimo presente nell intervallo a[from]...a[a.length 1] 3
4 private int minimumposition(int from) int minpos = from; for (int i = from + 1; i < a.length; i++) if (a[i] < a[minpos]) minpos = i; return minpos; Scambia due elementi nell i la posizione del primo j la posizione del secondo elemento private void swap(int i, int j) int temp = a[i]; a[i] = a[j]; a[j] = temp; private int[] a; 4
5 File SelectionSortTest.java Questo programma collauda l algoritmo di ordinamento per selezione ordinando un array contenente numeri casuali. public class SelectionSortTest public static void main(string[] args) int[] a = ArrayUtil.randomIntArray(20, 100); ArrayUtil.print(a); SelectionSorter sorter = new SelectionSorter(a); sorter.sort(); ArrayUtil.print(a); 5
6 File ArrayUtil.java import java.util.random; Questa classe contiene metodi utili per la manipolazione di array. public class ArrayUtil Costruisce un array contenente valori length la lunghezza dell n il numero di valori casuali un array contenente length numeri casuali compresi fra 0 e n-1 public static int[] randomintarray(int length, int n) int[] a = new int[length]; Random generator = new Random(); for (int i = 0; i < a.length; i++) a[i] = generator.nextint(n); 6
7 return a; Stampa tutti gli elementi di un a l array a stampare public static void print(int[] a) for (int i = 0; i < a.length; i++) System.out.print(a[i] + " "); System.out.println(); 7
8 File StopWatch.java Un cronometro accumula il tempo mentre è in azione. Potete avviare e arrestare ripetutamente il cronometro. Potete utilizzare un cronometro per misurare il tempo di esecuzione di un programma. public class StopWatch Costruisce un cronometro fermo e senza tempo accumulato. public StopWatch() reset(); Fa partire il cronometro, iniziando ad accumulare il tempo. 8
9 public void start() if (isrunning) return; isrunning = true; starttime = System.currentTimeMillis(); Ferma il cronometro. Il tempo non viene più accumulato e viene sommato al tempo trascorso. public void stop() if (!isrunning) return; isrunning = false; long endtime = System.currentTimeMillis(); elapsedtime = elapsedtime + endtime starttime; Restituisce il tempo totale il tempo totale trascorso 9
10 public long getelapsedtime() if (isrunning) long endtime = System.currentTimeMillis(); elapsedtime = elapsedtime + endtime starttime; starttime = endtime; return elapsedtime; Ferma il cronometro e azzera il tempo totale trascorso. public void reset() elapsedtime = 0; isrunning = false; private long elapsedtime; private long starttime; private boolean isrunning; 10
11 File SelectionSortTimer.java import javax.swing.joptionpane; Questo programma misura il tempo richiesto per ordinare con l algoritmo di ordinamento per selezione un array di dimensione specificata dall utente. public class SelectionSortTimer public static void main(string[] args) String input = JOptionPane.showInputDialog( "Enter array size:"); int n = Integer.parseInt(input); 11
12 // costruisce un array casuale int[] a = ArrayUtil.randomIntArray(n, 100); SelectionSorter sorter = new SelectionSorter(a); // usa il cronometro per prendere il tempo StopWatch timer = new StopWatch(); timer.start(); sorter.sort(a); timer.stop(); System.out.println("Elapsed time: + timer.getelapsedtime() + " milliseconds"); System.exit(0); 12
13 Figura 1 Tempo impiegato dall ordinamento per selezione 13
14 File MergeSorter.java Questa classe ordina un array, usando l algoritmo di ordinamento per fusione. public class MergeSorter Costruisce un ordinatore per anarray l array da ordinare public MergeSorter(int[] anarray) a = anarray; Ordina l array gestito da questo ordinatore per fusione. 14
15 public void sort() if (a.length <= 1) return; int[] first = new int[a.length / 2]; int[] second = new int[a.length first.length]; System.arraycopy(a, 0, first, 0, first.length); System.arraycopy(a, first.length, second, 0, second.length); MergeSorter firstsorter = new MergeSorter(first); MergeSorter secondsorter = new MergeSorter(second); firstsorter.sort(); secondsorter.sort(); merge(first, second); 15
16 Fonde due array ordinati per generare l array che deve essere ordinato da questo ordinatore per first il primo array second il secondo array ordinato private void merge(int[] first, int[] second) // fonde le due metà in un array temporaneo // il prossimo elemento da considerare nel primo array int ifirst = 0; // il prossimo elemento da considerare nel secondo array int isecond = 0; // la prossima posizione libera nell array a int j = 0; 16
17 // finché né ifirst né isecond oltrepassano la fine, // sposta in a l elemento minore while (ifirst < first.length && isecond < second.length) if (first[ifirst] < second[isecond]) a[j] = first[ifirst]; ifirst++; else a[j] = second[isecond]; isecond++; j++; 17
18 // Notate che soltanto una delle due copiature // seguenti viene eseguita // Copia tutti i valori che rimangono nel primo array System.arraycopy(first, ifirst, a, j, first.length ifirst); // Copia tutti i valori che rimangono nel secondo array System.arraycopy(second, isecond, a, j, second.length isecond); private int[] a; 18
19 File MergeSortTest.java Questo programma collauda l algoritmo di ordinamento per fusione ordinando un array che contiene numeri casuali. public class MergeSortTest public static void main(string[] args) int[] a = ArrayUtil.randomIntArray(20, 100); ArrayUtil.print(a); MergeSorter sorter = new MergeSorter(a); sorter.sort(); ArrayUtil.print(a); 19
20 Figura 2 Tempo di esecuzione dell orientamento per fusione (rettangoli) confrontato con il tempo di esecuzione dell ordinamento per selezione (cerchi) 20
21 Figura 3 Il Different Engine di Babbage 21
22 Figura 4 Suddividere una porzione 22
23 Figura 5 Estendere le porzioni 23
24 File LinearSearcher.java Una classe per eseguire ricerche lineari in un array. public class LinearSearcher Costruisce l oggetto di tipo anarray un array di numeri interi public LinearSearcher(int[] anarray) a = anarray; 24
25 Trova un valore in un array usando l algoritmo di ricerca v il valore da l indice in cui si trova il valore, oppure 1 se non è presente nell array public int search(int v) for (int i = 0; i < a.length; i++) if (a[i] == v) return i; return 1; private int[] a; 25
26 File LinearSearchTest.java import javax.swing.joptionpane; Questo programma collauda l algoritmo di ricerca lineare. public class LinearSearchTest public static void main(string[] args) // costruisci un array casuale int[] a = ArrayUtil.randomIntArray(20, 100); ArrayUtil.print(a); LinearSearcher searcher = new LineareSearcher(a); boolean done = false; while (!done) 26
27 String input = JOptionPane.showInputDialog( "Enter number to search for, " + "Cancel to quit:"); if (input == null) done = true; else int n = Integer.parseInt(input); int pos = searcher.search(n); System.out.println( "Found in position " + pos); System.exit(0); 27
28 File BinarySearcher.java Una classe per eseguire ricerche binarie in un array. public class BinarySearcher Costruisce un oggetto di tipo anarray un array ordinato di numeri interi public BinarySearcher(int[] anarray) a = anarray; Trova un valore in un array ordinato, utilizzando l algoritmo della ricerca v il valore da l indice della posizione in cui si trova il valore, oppure 1 se non è presente 28
29 public int search(int v) int low = 0; int high = a.length 1; while (low <= high) int mid = (low + high) / 2; int diff = a[mid] v; if (diff == 0) // a[mid] == v return mid; else if (diff < 0) // a[mid] < v low = mid + 1; else high = mid 1; return 1; private int[] a; 29
30 File PurseTest.java import javax.swing.joptionpane; Questa classe collauda la classe Purse chiedendo all utente di aggiungere monete ad un borsellino e stampandone il contenuto, ordinato in base al valore delle monete. public class PurseTest public static void main(string[] args) double NICKEL_VALUE = 0.05; double DIME_VALUE = 0.1; double QUARTER_VALUE = 0.25; Purse mypurse = new Purse(); boolean done = false; while (!done) 30
31 String input = JOptionPane.showInputDialog( "Enter coin name or Cancel"); if (input == null) done = true; else double value = 0; if (input.equals("nickel")) value = NICKEL_VALUE; else if (input.equals("dime")) value = DIME_VALUE; else if (input.equals("quarter")) value = QUARTER_VALUE; if (value!= 0) Coin c = new Coin(value, input); mypurse.add(c); System.out.println( "The content of the purse is " + mypurse); System.exit(0); 31
Capitolo 13 Ordinamento e ricerca. Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione
Capitolo 13 Ordinamento e ricerca Cay S. Horstmann Concetti di informatica e fondamenti di Java quarta edizione Obiettivi del capitolo Studiare alcuni algoritmi di ordinamento e ricerca Osservare che algoritmi
Ordinamento e Ricerca
Ordinamento e Ricerca C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo trad. Nicola Fanizzi corso di Programmazione, CdS: Informatica TPS Dip. di Informatica, Università degli studi
Algoritmi di ordinamento e ricerca. Classe SelSort.java
Classe SelSort.java public class SelSort Trova l elemento più piccolo nella porzione finale di un array. @param a l array da esplorare @param from la posizione iniziale dell intervallo @return la posizione
Capitolo 13: Gestione delle eccezioni. Capitolo 13. Gestione delle eccezioni Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2
Capitolo 13 Gestione delle eccezioni 1 Figura 1 La gerarchia delle classi di eccezioni 2 Figura 2 Eccezioni controllate e non controllate 3 File PurseTest.java import javax.swing.joptionpane; import java.io.ioexception;
Capitolo 12: Vettori e array. Capitolo 12. Vettori e array Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2
Capitolo 12 Vettori e array 1 Figura 1 Aggiungere un elemento in una posizione intermedia di un vettore 2 Figura 2 Rimuovere un elemento da una posizione intermedia di un vettore 3 File Purse.java import
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];
Capitolo 15: Ricorsione. Capitolo 15. Ricorsione Apogeo srl Horstmann-Concetti di informatica e fondamenti di Java 2
Capitolo 15 Ricorsione 1 File Triangle.java Una forma triangolare composta di quadrati unitari impilati, come questa: [] [][] [][][]... public class Triangle Costruisce una forma triangolare. @param awidth
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
Ordinamenti ricorsivi
Ordinamenti ricorsivi Selection Sort ricorsivo Algoritmi di ordinamento I Il metodo del selection sort può essere facilmente realizzato in modo ricorsivo I si definisce una procedura che ordina (ricorsivamente)
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
Algoritmi di Ricerca. Esempi di programmi Java. Prof. Angela Bonifati
Passaggio dei parametri in Java Nel seguente esempio public class parametri2 public static void main(string args[]) int x = 1; int y; double d[] = new double[2]; d[0] = 25; y= metodo1(d, x); System.out.println("Il
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2 Dispensa E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento
Vettori e array. Collezione di oggetti: Array List
Collezione di oggetti: Array List Vettori e array Anno Accademico 2003/04 Docente modulo 2: Barbara Masucci Consideriamo la classe Purse non tiene traccia dei singoli oggetti di tipo Coin, ma memorizza
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
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
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
array in Java come disporre di un numero arbitrariamente alto di variabili omogenee
array in Java come disporre di un numero arbitrariamente alto di variabili omogenee variabili con pedice? per memorizzare i coefficienti di polinomio di grado N occorrono N+1 variabili polinomio di grado
Esercizio: la classe CashRegister
Esercizio: la classe CashRegister Si veda anche il libro di testo: Consigli pratici 3.1 Sezione 4.2 Sezione 8.2 Esercizi 8.1 e 8.2 1 Problema Si chiede di realizzare una classe CashRegister che simuli
Lezione 2 Primi programmi
Lezione 2 Primi programmi Barbara Rita Barricelli Corso di Laboratorio di Programmazione -Turno B (Cognomi M-Z) CdL in Informatica per la Comunicazione Digitale A.A. 2017-2018 Riassunto di quanto visto
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
Anno Accademico 2003/04. Docente modulo 1: Annalisa De Bonis. Ripete l esecuzione di statement fino a che la condizione e` verificata
Iterazioni Anno Accademico 2003/04 Docente modulo 1: Lo statement while while (condition) statement; Ripete l esecuzione di statement fino a che la condizione e` verificata while (balance < targetbalance)
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
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
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
char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); Stringhe
char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); Stringhe Stringhe s char *s; s = (char *) malloc(5*sizeof(char)); scanf( %s, s); c i a o \0 Scrivere un programma che legga da input un array
Ricerca e ordinamento su array di oggetti. Corso di Programmazione 2 Esercitazione 5
Ricerca e ordinamento su array di oggetti Corso di Programmazione 2 Esercitazione 5 Sommario Ricercare in array di oggetti Interfaccia comparable Ordinare array di oggetti Problema Come ordinare, ricercare
Algoritmi di ordinamento
Algoritmi di ordinamento Il problema Vogliamo ordinare un array monodimensionale in modo crescente per il caso decrescente valgono le stesse considerazioni Vari algoritmi possibili Diverse caratteristiche
Laboratorio di programmazione
Laboratorio di programmazione 25 ottobre 2017 Da questo laboratorio, lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class NomeClasse { public static void main(
Algoritmi di ordinamento
Algoritmi di ordinamento Il problema Vogliamo ordinare un array monodimensionale in modo crescente per il caso decrescente valgono le stesse considerazioni Vari algoritmi possibili Diverse caratteristiche
Sezione: Costruttori. Costruttori
Sezione: Costruttori Costruttori Definizione dei costruttori Se per una classe A non scrivo nessun costruttore, il sistema automaticamente crea il costruttore A(); Se invece definisco almeno un costruttore
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
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
Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/ Giugno 2019
Cognome Matricola Nome Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/2019 10 Giugno 2019 Testo Il database del sistema di gestione delle officine di una compagnia
Automazione di test. Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati
Automazione di test Si presuppone la conoscenza del documento XML.pdf. Un package per i test automatizzati Il package test (fornito completo nel file test.zip) permette di automatizzare una serie di test.
Fondamenti di Java. Soluzione esercizio hashcode
Fondamenti di Java Soluzione esercizio hashcode Esercizio Definire una classe con una hashcode corretta. Aggiungere delle istanze "uguali" a un set, e controllare la dimensione del set ottenuto. Vi torna
Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/ Febbraio 2017
Cognome Matricola Nome Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/2017 3 Febbraio 2017 Testo Il database del sistema di gestione delle tessere fedeltà di un
Esempio: Tombola! Vogliamo progettare una applicazione che realizza il gioco della tombola Versione semplificata: un banco, un
Esempio: Tombola! Vogliamo progettare una applicazione che realizza il gioco della tombola Versione semplificata: un banco, un giocatore, ogni giocatore una scheda Ci vengono già fornite le classi necessarie
Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/ Luglio 2019
Cognome Matricola Nome Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2018/2019 1 Luglio 2019 Testo Il database del sistema di gestione delle officine di una compagnia
Ricerca in una sequenza ordinata
Ricerca su array ordinata Ricerca in una sequenza ordinata Se la sequenza è ordinata posso sfruttare l ordinamento per rendere più efficiente la ricerca, terminando se l elemento corrente risulta maggiore
RicercaSequenziale import public class public static void throws new new new int int int char boolean true true false false out true out out else
Algoritmo di ricerca sequenziale o lineare, in una Tabella con LunghezzaTabella righe. L algoritmo restituisce il valore TRUE in Trovato se la chiave di ricerca C esiste nel campo Chiave (numerico) della
Note ed esercizi aggiuntivi
Corso di Programmazione Anno Accademico 2015 2016 Prof. Giovanni Pighizzini Note ed esercizi aggiuntivi Gli esercizi proposti sono utili per rivedere gli esempi riportati, che sono stati sviluppati e discussi
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
Liste. Introduzione alle strutture dati. Capitolo 17 Introduzione alle strutture dati
Liste Introduzione alle strutture dati 1 Una lista concatenata di stringhe 2 public class LList /** Metodi per manipolare le liste /** Una lista e un riferimento ad un oggetto della classe Link private
Fondamenti di Informatica. Algoritmi di Ricerca e di Ordinamento
Fondamenti di Informatica Algoritmi di Ricerca e di Ordinamento 1 Ricerca in una sequenza di elementi Data una sequenza di elementi, occorre verificare se un elemento fa parte della sequenza oppure l elemento
Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/ Giugno 2017
Cognome Matricola Nome Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2016/2017 12 Giugno 2017 Testo Il database del sistema di gestione delle prenotazioni dei voli
Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a settembre 2012
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2011-12 17 settembre 2012 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
Iterazione. C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo
Iterazione C. Horstmann Fondamenti di programmazione e Java 2 3^ edizione Apogeo trad. Nicola Fanizzi corso di Programmazione, CdS: Informatica TPS Dip. di Informatica, Università degli studi di Bari 1
Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2015/ Luglio 2016
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2015/2016 4 Luglio 2016 Testo Il database del sistema di gestione delle tessere fedeltà di un supermercato
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[]
Preparazione allo Scritto di Programmazione
Preparazione allo Scritto di Programmazione Informatica / Comunicazione Digitale A.A. 2013/2014 1. Una riga di testo è detta numerica se e solo se contiene più cifre che caratteri di altro genere. Ad esempio,
Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math
Programmazione in Java (I modulo) Lezione 11: Metodi della classe Math Dalla lezione scorsa... Ricordiamo cosa sono e come si definiscono i metodi statici Metodi static o metodi di classe Sono metodi che
Programmazione Orientata agli Oggetti in Linguaggio Java
Programmazione Orientata agli Oggetti in Linguaggio Java Sintassi e Semantica Riferimenti versione 2.1 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima pagina)
Programmazione. Cognome... Nome... Matricola... Compitino del 24 novembre 2008
Cognome................................ Nome................................... Matricola............................... Programmazione Compitino del 24 novembre 2008 Negli esercizi fate riferimento alle
Problema index index memorizzare tutti i valori della sequenza ma se i valori dovessero essere mille?
Array 1 Problema Scrivere un programma che legge dallo standard input una sequenza di dieci numeri in virgola mobile, uno per riga chiede all utente un numero intero index e visualizza il numero che nella
Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2010-11 8 luglio 2011 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
Prova d Esame Compito A
Prova d Esame 19.04.2005 Compito A Domanda 1 A) Si richiede di analizzare le seguenti sezioni di codice. Il candidato indichi il risultato dell esecuzione del main. public class Father { private int counter;
Capitolo 9. Tipi enumerativi, tipi generici e interfacce. c 2005 Pearson Education Italia Capitolo 9-1 / 73
Capitolo 9 Tipi enumerativi, tipi generici e interfacce c 2005 Pearson Education Italia Capitolo 9-1 / 73 Sommario: Tipi enumerativi, tipi generici e interfacce 1 Definizione di tipi enumerativi La classe
Una classe Borsellino. Tipi numerici di base - Costanti. Esempio d uso. Classe Borsellino cont d. Primi passi per l implementazione di Purse
Una classe Borsellino Tipi numerici di base - Interi e decimali Definizione di costanti /** Realizza un borsellino per le monete. Registra il numero di monete e calcola il valore totale public class Purse
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
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,
Tipi numerici di base - Costanti
Tipi numerici di base - Costanti Interi e decimali Definizione di costanti 9/11/2004 Laboratorio di Programmazione - Luca Tesei 1 Una classe Borsellino /** Realizza un borsellino per le monete. Registra
Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Gennaio 2015
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 15 Gennaio 2015 Testo Il database di un bar è costituito da due vettori paralleli. Il primo
Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Luglio 2014
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 25 Luglio 2014 Testo Il database di un bar è costituito da due vettori paralleli. Il primo
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
Esercizio: la classe CashRegister
Esercizio: la classe CashRegister Si veda anche il libro di testo: Consigli pratici 3.1 Sezione 4.2 Sezione 8.2 Esercizi 8.1 e 8.2 1 Problema Si chiede di realizzare una classe CashRegister che simuli
Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a febbraio 2013
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a. 2012-13 22 febbraio 2013 Testo Il database di un videonoleggio è costituito da due vettori paralleli.
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
Cast implicito. Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto. byte short int long float double
Il cast Cast implicito Il cast è fatto automaticamente quando un tipo più basso viene assegnato ad un tipo più alto Per esempio: byte short int long float double int x = 10; float f; f = x; Il valore di
System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");
Creare un applicazione console che dato l indice della borsa di Milano nel giorno precedente, calcola la variazione percentuale rispetto al valore dell indice del giorno corrente. import java.io.*; public
Algoritmi di ordinamento (II parte)
Algoritmi di ordinamento (II parte) E3: sommario Studio di due implementazioni di algoritmi avanzati Algoritmo ordinamento veloce (QuickSort) Algoritmo per fusione (MergeSort) Metodi offerti in java.util
Collezione di oggetti: Array List
Vettori e Array Collezione di oggetti: Array List La classe Purse non tiene traccia deisingoli oggetti di tipo Coin, ma memorizza solo il valore totale Possiamo memorizzare una collezione di oggetti mediante
Comunicazioni di servizio. I metodi - III. Oggi. Dove siamo. Esempio. Parametri di tipo array. Stefano Mizzaro 1. Domani non c è lezione :-(
Comunicazioni di servizio I metodi - III Stefano Mizzaro Dipartimento di matematica e informatica Università di Udine http://www.dimi.uniud.it/mizzaro/ mizzaro@dimi.uniud.it Programmazione, lezione 11
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
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
Fondamenti di Java. Soluzione esercizio hashcode
Fondamenti di Java Soluzione esercizio hashcode Esercizio Definire una classe con una hashcode corretta. Aggiungere delle istanze "uguali" a un set, e controllare la dimensione del set ottenuto. Vi torna
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
Fondamenti di informatica 2 Claudio Biancalana. Esercitazione capitolo 19 Array
Fondamenti di informatica 2 Claudio Biancalana Esercitazione capitolo 19 Array Contatti claudio.biancalana@dia.uniroma3.it Contenuto esercitazione Ricerca sequenziale Progettazione e Divide et Impera 2
Le classi FileInputStream e RandomAccessFile. Semplici Algoritmi di Ordinamento
Fondamenti di Informatica Le classi FileInputStream e RandomAccessFile Semplici Algoritmi di Ordinamento Fondamenti di Informatica - D. Talia - UNICAL 1 Classe FileInputStream La classe FileInputStream
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
Esercizi di Algoritmi e Strutture Dati
Esercizi di Algoritmi e Strutture Dati Moreno Marzolla marzolla@cs.unibo.it Ultimo aggiornamento: 10 novembre 2010 1 La bandiera nazionale (problema 4.7 del libro di testo). Il problema della bandiera
Corso sul linguaggio Java
Corso sul linguaggio Java Modulo JAVA3 3A2 Algoritmi notevoli 1 Prerequisiti Programmazione elementare in Java Algoritmi notevoli su array 2 1 Introduzione In questa Unità vediamo rapidamente gli algoritmi
Esercizi su array di array
Corso di Laurea Ingegneria Informatica Fondamenti di Informatica Dispensa E10 C. Limongelli Gennaio 2010 1 Contenuti Fusione di due array ordinati, con eliminazione di duplicati Verifica array bidimensionale
Informatica I. Ingegneria Medica. Prof. Diego Salamon
Informatica I Ingegneria Medica Prof. Diego Salamon Gestione I/O Prof. Diego Salamon Introduzione Nella creazione e gestione del software è necessario interagire con entità esterne a quelle del programma
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
Corso di Tecniche di Programmazione
Problema: Data una sequenza di elementi in ordine qualsiasi, ordinarla. Corso di Tecniche di Programmazione Corsi di Laurea in Ingegneria Informatica ed Automatica Anno Accedemico 003/004 Proff. Giuseppe
Gli Array Ing. Massimo Cossen.no Sistemi Informa.vi Aziendali a.a. 2008/2009
Lezione 12 Sistemi Informa.vi Aziendali a.a. 2008/2009 Array: sequenza di valori omogenei (cioè dello stesso 8po). Dichiarazione di una variabile array double[ ] double[] data; Istanziare un array: double[]
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
Fondamenti di Informatica T-1
Fondamenti di Informatica T-1 Metodi statici e array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2017/2018 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 14 METODI STATICI: Definizione Un metodo
Ricerca binaria (o dicotomica) di un elemento in un vettore
Ricerca binaria (o dicotomica) di un elemento in un La ricerca binaria o dicotomica è utilizzata per ricercare i dati in un ORDNATO. L algoritmo di ricerca binaria, dopo ogni confronto, scarta metà degli
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
Laboratorio di Programmazione Ottobre. Simone Zaccaria
Laboratorio di Programmazione 27 31 Ottobre Simone Zaccaria Esercizio di Ripasso Scrivere un programma che: 1. dichiari 2 variabili a e b; 2. inizializzi le 2 variabili con valori numerici a scelta; 3.
Algoritmi e Strutture Dati. Lezione 2
Algoritmi e Strutture Dati Lezione 2 www.iet.unipi.it/a.virdis Antonio Virdis antonio.virdis@unipi.it 1 Sommario Merge Sort Ordinamento STL Gestione Liste Esercizi 2 A metà Size Size/2 Size/2 3 A metà
Cognome Nome Matricola Postazione PC. Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a Giugno 2014
Cognome Nome Matricola Postazione PC Corso di Laurea in Ingegneria Gestionale Esame di Informatica - a.a. 2014 13 Giugno 2014 Testo Il database di un bar è costituito da due vettori paralleli. Il primo
Capitolo 17. Introduzione alle strutture di dati. Capitolo 17 Introduzione alle strutture di dati
Capitolo 17 Introduzione alle strutture di dati 1 Figura 1 Inserire un elemento in una lista concatenata 2 Figura 2 Un iteratore di lista 3 Figura 3 Una visione astratta dell iteratore di lista 4 File
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
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