ISBN Euro 9.98

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "ISBN Euro 9.98"

Transcript

1 ISBN Euro 9.98

2 Domenico Signorelli 106 Metodi JAVA interamente svolti, commentati e pronti da eseguire 2014 Matematicamente.it - libri@matematicamente.it ISBN:

3 Presentazione del libro Un libro utile a chi deve sostenere l'esame di fondamenti d'informatica, ma anche a chi vuole avvicinarsi alla programmazione cominciando direttamente con il linguaggio più usato e versatile. Il lettore viene accompagnato per acquisire con facilità la padronanza del linguaggio di programmazione Java, tramite un approccio esclusivamente operativo, richiedendo solo poche conoscenze teoriche di base. L'impostazione è molto graduale; ogni riga di codice è commentata in maniera chiara ed esauriente. Attraverso i 106 Metodi vengono ampiamente trattate le strutture fondamentali del linguaggio Java. Nel libro troverai anche una gamma di applicazioni su array e matrici. Presentazione dell autore Domenico Signorelli è laureato in matematica e lavora prevalentemente nella formazione. Per Matematicamente.it ha già pubblicato Fisica, delitti e digressioni. 3

4 Introduzione Questo lavoro non intende sostituire nessuno dei manuali reperibili sul mercato, alcuni dei quali molto ben fatti. Ho voluto semplicemente dare un taglio operativo allo studio del linguaggio, realizzando una ricca rassegna di metodi per accompagnare lo studente, che abbia già acquisito le nozioni teoriche di base, in un progressivo percorso di crescita nella manipolazione di strutture di fondamentale importanza quali gli array e le matrici. L idea di realizzare questo prontuario di metodi è nata dalle mie esperienze di docente in corsi specifici e quindi dall aver osservato quali sono i reali bisogni di uno studente che si debba cimentare nelle sfide di creazione di codice. L approccio usato ha come obiettivo il raggiungimento delle competenze necessarie per affrontare un tipico esame di Java di livello universitario; molti degli spunti riportati in queste pagine, sono proprio il frutto di un attenta selezione di tipologie, fatta su appelli di esami proposti da varie università. Il libro evidenzia la centralità del metodo come strumento principale di realizzazione di codice di programmazione. I 106 metodi qui presentati, tutti già compilati e pronti per essere esuguiti, puntano a far immergere lo studente direttamente in un ambiente applicativo, guidandolo in maniera quanto più possibile graduale in un iter crescente di difficoltà. Ho cercato di commentare in ogni programma le porzioni salienti per chiarire le parti che in genere risultano più ostiche. Anche nella scrittura del codice ho tenuto presente l esigenza dello studente di comprendere il funzionamento delle applicazioni e a tal proposito ho usato una terminologia chiara e intuitiva. I nomi dei metodi e i nomi delle variabili, che di volta in volta sono stati usati, sono immediati e rappresentativi del loro scopo. Spesso per fare ciò ho rinunciato all utilizzo di nomi pratici e compatti a tutto vantaggio della chiarezza. Ho fatto questo nella consapevolezza che nelle prime fasi dello studio sia più importante la comprensione che la praticità. Non appena lo studente diventerà più sicuro, potrà sostituire i lunghi nomi da me usati con parole più brevi e meno ingombranti. I termini scelti per i metodi, anche se lunghi e inusuali, hanno il merito di essere autoesplicativi e di consentire perciò, non solo un immediata comprensione dell obiettivo del programma, ma anche una veloce reperibilità in caso di esigenza di consultazione. La catalogazione usata per l indice oltre a 4

5 presentare un esauriente sintesi del singolo programma, presenta in grassetto il nome di ogni metodo agevolando così ogni bisogno di ricerca nel manuale. Per semplificare la leggibilità del codice ho usato i tipici colori che le parole chiave assumono in un editor specifico in modo tale da permettere allo studente un immediata individuazione delle keywords e un più semplice lavoro di memorizzazione delle stesse. 5

6 INDICE PRIMA PARTE ARRAY Tema 1 Scrivere un metodo visualizzaarray che riceve in ingresso un array di interi V e ne stampa a video gli elementi. Tema 2 Scrivere un metodo stampaarraycapovolto che riceve in ingresso un array di interi V e stampa a video i suoi elementi in ordine inverso, dall ultimo valore al primo. Tema 3 Scrivere un metodo stampaelementipositivi che riceve in ingresso un array di interi V e stampa a video tutti e solo gli elementi positivi in esso contenuti. Tema 4 Scrivere un metodo sommaelementiarray che riceve in ingresso un array di interi V e restituisce il valore della somma di tutti i suoi elementi. Tema 5 Scrivere un metodo verificaseduearraysonouguali che riceve in ingresso due array A e B di interi e restituisce TRUE se gli array sono uguali, FALSE altrimenti. Tema 6 Scrivere un metodo invertiarray che riceve in ingresso un array di interi V e ne inverte gli elementi effettuando uno spostamento degli stessi. Tema 7 Scrivere un metodo scambiaelementididuearrayinordineinverso che riceve in ingresso due array di interi A e B e trasferisce gli elementi dall uno all altro invertendone l ordine. Tema 8 Scrivere un metodo trovamassimoinarray che riceve in ingresso un array di interi V e stampa a video il valore più alto in esso presente. Tema 9 Scrivere un metodo isarraycrescente che riceve in ingresso un array di interi V e verifica se l array è crescente. Tema 10 Scrivere un metodo verificasommatraindiceedelemento che riceve in ingresso un array di interi V erestituisce TRUE se ogni elemento di V, a partire dal secondo, è pari alla somma i + v[i-1], cioè parialla somma dell indice della posizione che esso occupa e del valore dell elemento che lo precede Tema 11 Scrivere un metodo verificasommaeprododttodiognielementoconsucces 6 pag

7 sivo che riceve in ingresso un vettore di interi V (di dimensione pari) e un intero k e restituisce TRUE se per ogni elemento di V in posizione pari la sua somma con l elemento successivo è minore o uguale a k e il suo prodotto con l elemento successivo è maggiore o uguale a k. Tema 12 Scrivere un metodo creaarrayconelementidiacorrispondentiaglielementi MinoriDiB che riceve in ingresso due array di double A e B e restituisce un array contenente gli elementi di A che si trovano nelle stesse posizioni in cui, nell array B, si trovano i valori minori. Tema 13 Scrivere un metodo estraipositiviposizionidisparimaggioridelparametro Fornito che riceve in ingresso un vettore di interi V e un intero k e restituisce un sottovettore di interi A contenente tutti gli elementi di V di valore positivo e strettamente maggiore di k che si trovano in posizione dispari. Tema 14 Scrivere un metodo creavettoreconsommedeglielementipositivi che riceve in ingresso un array di interi V e restituisce un vettore di interi Z di dimensione pari alla dimensione di V, in cui l i-esimo elemento è dato dalla somma degli elementi positivi a partire da V[i]. Tema 15 Scrivere un metodo esistecorispondenteinmodulo che riceve in ingresso due vettori di interi A e B, e restituisce TRUE se per ogni elemento di A esiste in B un elemento con lo stesso valore assoluto ma di segno opposto, FALSE altrimenti. Tema 16 Scrivere un metodo contadistintiinarray che riceve in ingresso un array di interi V e restituisce il numero di elementi distinti di V, cioè quelli che compaiono una sola volta. Tema 17 Scrivere un metodo contareplicatiinarray che riceve in ingresso un array di interi V e restituisce il numero di elementi replicati di V, cioè quelli che occorrono più volte. Tema 18 Scrivere un metodo unisciduearrayordinati che riceve in ingresso due array ordinati di interi A e B e restituisce un unico array costituito dagli elementi di A e B, congiunti in modo crescente. Tema 19 Scrivere un metodo ricercasequenziale che riceve in ingresso un array di interi V e uno specifico elemento da cercare al suo interno. Il metodo scorre uno alla volta tutti i valori fino a trovare l elemento voluto e restituisce la posizione che esso occupa nell array. Se l elemento cercato non si trova nell array, il metodo restituisce il valore

8 Tema 20 Scrivere un metodo ricercabinaria che riceve in ingresso un array ordinato di interi V e uno specifico elemento da cercare al suo interno. Il metodo suddivide l array in due metà e scarta, di volta in volta, la metà che di certo non contiene il valore cercato. Tema 21 Scrivere un metodo estraimassimidaisottovettori che riceve un vettore di interi V e un intero k e restituisce un sottovettore W formato dai massimi dei sottovettori di V ottenuti considerando k elementi consecutivi di V alla volta. Tema 22 Scrivere un metodo isarrayvalorialternaiparidispari che riceve in ingresso un vettore di interi V e restituisce TRUE se V è un vettore a valori alternati pari e dispari, cioè se non ci sono due elementi consecutivi entrambi pari o entrambi dispari. Si consideri lo 0 come valore pari. Tema 23 Scrivere un metodo sommaelementiprimoarrayconindicedatodaelementi SecondoArray che riceve in ingresso due array di interi A e B, e calcola la somma degli elementi di A i cui indici coincidono con gli elementi di B. Tema 24 Scrivere un metodo stampaelementidelprimoarraymaggioridegli ElementiDelSecondoArray che riceve in ingresso due vettori di interi A e B e stampa gli elementi di A maggiori di tutti gli elementi di B. Tema 25 Scrivere un metodo trovadueconsecutivipositivioppurenegativi che riceve in ingresso un vettore V e restituisce TRUE se in V sono presenti due elementi consecutivi entrambi positivi o entrambi negativi. Tema 26 Scrivere un metodo verificaseunarraycontieneunsecondoarray che riceve in ingresso due vettori di interi A e B, e restituisce TRUE se il vettore B è contenuto in A, cioè se tutti gli elementi di B sono presenti in A consecutivamente e nello stesso ordine. Tema 27 Scrivere un metodo creaarrayconfattoriali che riceve in ingresso un vettore di interi V e restituisce un vettore A della stessa dimensione di V contenente in ogni cella il fattoriale del corrispondente elemento dell array V. Tema 28 Scrivere un metodo esisteelementoinachesommatoconelementodib verificasommak che riceve in ingresso due vettori di interi A e B e un intero k e restituisce TRUE se per ogni elemento di A esiste in B un elemento corrispondente tale che A[i] + B[j] = k, FALSE altrimenti. Tema 29 Scrivere un metodo creavettoreconelementidiaripetutiinb che riceve in

9 ingresso due vettori di interi A e B e restituisce un vettore di interi Z contenente gli elementi di A che sono presenti in B un numero di volte pari all elemento stesso. Tema 30 Scrivere un metodo estraielementidelprimoarraymultiplidiqualche ElementoDelSecondo che riceve in ingresso due vettori A e B di interi, e restituisce un vettore Z contenente gli elementi di B che sono multipli di qualche elemento di A. Tema 31 Scrivere un metodo creaarrayconmedieoppurecondifferenze che riceve in ingresso un vettore di interi V e restituisce un vettore A della stessa dimensione di V così costituito. Tema 32 Scrivere un metodo creaarrayconelementidiapresentimassimoduevolte InBeMinimoQuattroInC che riceve in ingresso tre array di interi A, B, C e restituisce un array che contiene solo gli elementi di A presenti massimo due volte in B e minimo quattro volte in C. Tema 33 Scrivere un metodo verificaseognielementodelprimoarrayoccorrepiu VolteNelSecondoArray che riceve in ingresso due vettori di interi A e B e estituisce TRUE se ciascun elemento del primo vettore è presente al più una volta nel secondo, FALSE altrimenti. Tema 34 Scrivere un metodo trovaelementoconmaggiorefrequenzainarray che riceve in ingresso un array di interi V e restituisce l elemento dell array che compare più volte. Tema 35 Scrivere un metodo isparisommaelementiprecedenti che riceve in ingresso un array di interi V e restituisce un array di boolean, della stessa dimensione di V, in cui il valore dell i-esima posizione è uguale a TRUE se la somma degli elementi in posizione minore uguale ad i è un numero pari; FALSE altrimenti. Tema 36 Scrivere un metodo isparisommaelementisuccessivi che riceve in ingresso un array di interi V e restituisce un array di boolean, della stessa dimensione di V, in cui il valore dell i-esima posizione è uguale a TRUE se la somma degli elementi in posizione maggiore uguale ad i è un numero pari; FALSE altrimenti. Tema 37 Scrivere un metodo creaarrayconelementimultiplideiprecedenti che riceve in ingresso un array di interi V e restituisce un array di interi A contenente gli elementi di V che sono multipli di tutti gli elementi da cui sono preceduti

10 SECONDA PARTE MATRICI Tema 38 Scrivere un metodo riempimatrice che consente di impostare le dimensioni di una matrice e di inserire gli elementi al suo interno. Tema 39 Scrivere un metodo visualizzamatrice che riceve in ingresso una matrice di interi M e visualizza i suoi elementi secondo una struttura bidimensionale di righe e colonne. Tema 40 Scrivere un metodo sommaelementimatrice che riceve in ingresso una matrice di interi M e dopo aver effettuato la somma dei suoi elementi ne restituisce il risultato. Tema 41 Scrivere un metodo isprimacolonnaugualeultimacolonna che riceve una matrice di interi M e restituisce TRUE se la prima colonna è uguale all ultima. Tema 42 Scrivere un metodo isprimacolonnainversadiultimacolonna che riceve una matrice di interi M e restituisce TRUE se nella prima colonna ci sono gli stessi elementi dell ultima colonna ma in ordine inverso. Tema 43 Scrivere un metodo isprimarigainversadiultimariga che riceve una matrice di interi M e restituisce TRUE se nella prima riga ci sono gli stessi elementi dell ultima riga ma in ordine inverso. Tema 44 Scrivere un metodo issommaognirigauguale che riceve in ingresso una matrice di interi M e restituisce TRUE se la somma degli elementi di ciascuna riga di M fornisce lo stesso risultato; FALSE altrimenti. Tema 45 Scrivere un metodo moltiplicaduerighe che riceve in ingresso una matrice di interi M e due interi R1 ed R2 e restituisce il risultato del prodotto tra la riga R1 e la riga R2. Tema 46 Scrivere un prodottorighepercolonne che riceve in ingresso due matrici quadrate di interi e restituisce il risultato del prodotto righe per colonne. Tema 47 Scrivere un metodo verificasematriciuguali che riceve in ingresso due matrici di interi M e Q e confronta uno a uno gli elementi per stabilire se le matrici sono uguali. Tema 48 Scrivere un metodo trovamassimoinmatrice che riceve in ingresso una

11 matrice di interi M e stampa a video il valore più alto in essa presente. Tema 49 Scrivere un metodo verificasematriceidentica che riceve in ingresso una matrice di interi M e restituisce TRUE se la matrice è identica; FALSE altrimenti. Una matrice si dice identica se gli elementi sulla diagonale principale sono tutti uguali a 1 e gli elementi al di fuori della diagonale sono uguali a 0. Tema 50 Scrivere un metodo verificasematricesimmetrica che riceve in ingresso una matrice di interi M e restituisce TRUE se la matrice è simmetrica; FALSE altrimenti. Una matrice si dice simmetrica se l elemento in posizione [i][j] è uguale all elemento in posizione [j][i]. Tema 51 Scrivere un metodo creatrasposta che riceve in ingresso una matrice di interi e crea la sua trasposta, cioè una matrice in cui saranno invertite righe e colonne. Tema 52 Scrivere un metodo istriangolareinferiore che riceve in ingresso una matrice di interi M e restituisce TRUE se essa risulta trinagolare inferiore; FALSE altrimenti. Tema 53 Scrivere un metodo istriangolaresuperiore che riceve in ingresso una matrice di interi M e restituisce TRUE se essa risulta trinagolare superiore; FALSE altrimenti. Tema 54 Scrivere un metodo creaarrayconelementidiagonaleprincipale che riceve in ingresso una matrice quadrata di interi M e preleva gli elementi della diagonale principale collocandoli in un array. Tema 55 Scrivere un metodo creaarrayconelementinonnullidiagonale Principale che riceve in ingresso una matrice quadrata di interi M e restituisce un array contenente gli elementi non nulli che si trovano sulla sua diagonale principale. Tema 56 Scrivere un metodo creaarrayconelementidiagonalesecondaria che riceve in ingresso una matrice quadrata di interi M e preleva gli elementi della diagonale secondaria collocandoli in un array. Tema 57 Scrivere un metodo creaarrayconpositividiagonalesecondaria che riceve in ingresso una matrice quadrata M e restituisce un array contenente gli elementi positivi presenti sulla diagonale secondaria

12 Tema 58 Scrivere un metodo creaarrayestraendotuttiglielementiperriga che riceve in ingresso una matrice di interi M e crea un array estraendo tutti gli elementi della matrice riga per riga. Tema 59 Scrivere un metodo creaarrayestraendotuttiglielementipercolonna che riceve in ingresso una matrice di interi M e crea un array estraendo tutti gli elementi della matrice colonna per colonna. Tema 60 Scrivere un metodo verificaseesistesequenzainmatrice che riceve una matrice di interi M e un intero n, e restituisce TRUE se all interno di M esiste una sequenza di numeri da 1 fino a n; FALSE altrimenti. Tema 61 Scrivere un metodo sommacornice che riceve in ingresso una matrice di interi M e restituisce la somma degli elementi che si trovano sul perimetro di M. Tema 62 Scrivere un metodo isrigacentraleugualecolonnacentrale che riceve in ingresso una matrice quadrata di interi M di dimensione dispari e restituisce TRUE se gli elementi della riga centrale sono uguali agli elementi della colonna centrale; FALSE altrimenti. Tema 63 Scrivere un metodo sommamultiplidelparametrok che riceve una matrice quadrata di interi M e un intero k e restituisce la somma degli elementi di M multipli dell intero k. Tema 64 Scrivere un metodo creamatriceestraendominimomassimodalle Righe che riceve una matrice quadrata di interi M e restituisce una matrice che in ogni riga conterrà il valore minimo e il valore massimo di ciascuna riga di M. Tema 65 Scrivere un metodo creaarraymoltiplicandosommarigaconsomma Colonna che riceve una matrice quadrata di interi M e restituisce un array V i cui elementi in posizione i-esima sono ottenuti effettuando prima la somma degli elementi della riga i-esima della matrice M, poi la somma degli elementi della colonna i-esima della stessa matrice e infine moltiplicando i due risultati ottenuti. Tema 66 Scrivere un metodo isognielementoarraypresenteinmatrice che riceve in ingresso una matrice di interi M e un vettore di interi V e restituisce TRUE se ciascun elemento del vettore è presente nella matrice; FALSE altrimenti. Tema 67 Scrivere un metodo verificachenessunelementodelvettoresiapresente

13 NellaMatrice che riceve in ingresso una matrice M e un vettore V e restituisce TRUE se nessun elemento del vettore è presente nella matrice; FALSE altrimenti. Tema 68 Scrivere un metodo isognielementodelvettoremaggioredialmenoun ElementoDellaMatrice che riceve in ingresso una matrice di interi M e un vettore di interi V e restituisce TRUE se ciascun elemento del vettore è maggiore di almeno un elemento nella matrice; FALSE altrimenti. Tema 69 Scrivere un metodo creamatriceestraendocolonnepari che riceve una matrice di interi M e restituisce la sottomatrice Q ottenuta da M estraendo le colonne di indice pari. Si consideri la colonna di indice zero come colonna pari. Tema 70 Scrivere un metodo creamatriceestraendorighedispari che riceve una matrice di interi M e restituisce la sottomatrice Q ottenuta da M estraendo le righe di indice dispari. Tema 71 Scrivere un metodo stampadiagonalitranneelementocentrale che riceve in ingresso una matrice quadrata di interi M di dimensione dispari e stampa a video gli elementi di M presenti sulle due diagonali escluso l elemento centrale. Tema 72 Scrivere un metodo sommamaggioridellerighepariconminoridelle RigheDispari che riceve una matrice quadrata di interi M e un intero k e restituisce un intero dato dalla somma degli elementi di M maggiori dell intero k sulle righe di M di indice pari e minori dell intero k sulle righe di M di indice dispari. Tema 73 Scrivere un metodo creamatriceconminimoeconmediadiogniriga che riceve una matrice quadrata di interi M e restituisce una matrice contenente il minimo e la media degli elementi contenuti in ciascuna delle righe di M. Tema 74 Scrivere un metodo creaarraycondifferenzatrasommarigaesomma Colonna che riceve una matrice quadrata di interi M e restituisce un vettore V i cui elementi in posizione i-esima sono dati effettuando la differenza tra la somma degli elementi della riga i-esima e la somma degli elementi della colonna i-esima. Tema 75 Scrivere un metodo stampaelementiparirigheparisottodiagonale che riceve in ingresso una matrice quadrata M e crea un array con gli elementi pari appartenenti alle righe pari posti nel triangolo inferiore al di sotto della

14 diagonale principale. Tema 76 Scrivere un metodo creaarrayconelementidiagonaleprincpalemaggiori DellaMediaDellaDiagonale che riceve in ingresso una matrice quadrata di interi M e restituisce un array V contenente tutti gli elementi della diagonale principale il cui valore è maggiore della media degli elementi della diagonale stessa. Tema 77 Scrivere un estraimatriceconindiciinizialifornitidaiparametri che riceve in ingresso una matrice di interi M e due interi R e C e restituisce la sottomatrice di dimensione massima estraibile a partire dalla posizione (R,C). Tema 78 Scrivere un metodo estraimatricedalprimoelementoaquelloconindici FornitiDaiParametri che riceve in ingresso una matrice di interi M e due interi R e C e restituisce la sottomatrice a partire dall elemento in posizione (0,0) fino all elemento in posizione (R,C). Tema 79 Scrivere un metodo creaarrayconelementisottodiagonaleprincipale NonDuplicati che riceve in ingresso una matrice quadrata M e restituisce un array V contenente gli elementi di M al di sotto della diagonale principale senza duplicati. Tema 80 Scrivere un metodo dimezzamatriceeazzeraelementipresentiinarray che riceve in ingresso una matrice quadrata M e un array V e restituisce la matrice Q ottenuta dalle ultime M.length / 2 colonne di M e contenente i corrispondenti elementi di M che non sono presenti nell array V, 0 altrimenti. Tema 81 Scrivere un metodo ispalindroma che riceve in ingresso una matrice M e restituisce TRUE se la matrice è palindroma; FALSE altrimenti. Una matrice si dice palindroma se la prima riga è uguale all ultima riga, la seconda è uguale alla penultima e così via, in modo che le colonne risultino uguali sia che vengano lette dall alto verso il basso sia che vengano lette dal basso verso l alto. Tema 82 Scrivere un metodo eliminaunarigaeunacolonna che riceve in ingresso una matrice quadrata di interi M e due interi R e C e restituisce una matrice Q ottenuta da M eliminando la riga R e la colonna C. Tema 83 Scrivere un metodo creaarrayconelementiincolonneparimaggioridel ParametroK che riceve in ingresso una matrice di interi M e un intero k e restituisce un array contenente tutti gli elementi di M strettamente maggiori di k presenti sulle colonne pari. Si consideri la colonna di indice 0 una colonna

15 pari. Tema 84 Scrivere un metodo creaarrayconsommerighedellatriangolare Superiore che riceve in ingresso una matrice quadrata M e restituisce un array in cui l iesima posizione conterrà la somma degli elementi appartenenti, di volta in volta, a una riga della parte triangolare superiore della matrice. Tema 85 Scrivere un metodo creaarrayconelementialdisopradiagonaleprincipale che riceve in ingresso una matrice quadrata di interi M e restituisce un array V contenente tutti gli elementi appartenenti al triangolo al di sopra della diagonale principale. Tema 86 Scrivere un metodo creamatriceestraendocroceesclusoelementocentrale che riceve in ingresso una matrice quadrata di interi M di dimensione dispari e restituisce una matrice contenente gli elementi di M presenti sulla riga e sulla colonna centrali escluso l elemento centrale. Tema 87 Scrivere un metodo creamatriceestraendodiagonaliesclusoelemento Centrale che riceve in ingresso una matrice quadrata di interi M di dimensione dispari e restituisce una matrice contenente gli elementi di M presenti sulle diagonali escluso l elemento centrale. Tema 88 Scrivere un metodo creaarrayconquattroquadrantidellamatrice EscludendoElementiCentrali che riceve in ingresso una matrice quadrata di interi M di dimensione dispari, e restituisce un array V contenente gli elementi situati nei quadranti che si ottengono da M escludendo la riga centrale e la colonna centrale. Tema 89 Scrivere un metodo verificasecisonoduplicatiincolonne che riceve in ingresso una matrice M e restituisce TRUE se ogni colonna di M non contiene elementi duplicati; FALSE altrimenti. Tema 90 Scrivere un metodo isognielementorigacentralemultiplodialmenoun ElementoColonnaCentrale che riceve in ingresso una matrice quadrata M di interi di dimensione dispari e restituisce TRUE se per ogni elemento presente sulla riga centrale di M esiste un suo multiplo sulla colonna centrale. Tema 91 Scrivere un metodo isiesimoelementoarrayugualeaprodottoiesimariga OsommaIesimaColonna che riceve in ingresso una matrice quadrata di interi M di dimensione e un array di interi V e restituisce TRUE se l i-esimo elemento di V è uguale al prodotto degli elementi dell i-esima riga di M oppure è uguale alla somma degli elementi dell i-esima colonna di M

16 Tema 92 Scrivere un metodo creamatriceestraendorighepariconsommadispari che riceve in ingresso una matrice di interi M e restituisce una matrice di interi contenente tutte le righe di M di indice pari in cui la somma degli elementi sia dispari. Tema 93 Scrivere un metodo azzeracolonnecompresetraparametri che riceve in ingresso una matrice quadrata di interi M e due interi h e k e sostituisce con lo zero il valore di tutti gli elementi delle colonne di indice compreso tra h e k. Tema 94 Scrivere un metodo verificasecisonoduplicatiinmatrice che riceve in ingresso una matrice di interi M e restituisce TRUE se M presenta elementi duplicati; FALSE altrimenti. Tema 95 Scrivere un metodo estraimatriceescludendolacornice che riceve in ingresso una matrice di interi M e restituisce la sottomatrice ottenuta escludendo la prima e l ultima riga e la prima e l ultima colonna, cioè escludendo la cornice di M. Tema 96 Scrivere un metodo creamatriceinvertendounarigaeunacolonna che riceve una matrice quadrata di interi M e due numeri R e C e restituisce una matrice contenente due righe, ottenute invertendo la riga R di M e la colonna C di M. Tema 97 Scrivere un metodo scambiadipostoduerighe che riceve una matrice di interi M e due numeri R1 e R2 e restituisce la stessa matrice dopo aver effettuato lo scambio tra le righe R1 ed R2. Tema 98 Scrivere un metodo scambiadipostoduecolonne che riceve una matrice di interi M e due numeri C1 e C2 e restituisce la stessa matrice dopo aver effettuato lo scambio tra le righe C1 ed C2. Tema 99 Scrivere un metodo creaarrayconelementiripetutiesattamentepvolte che riceve in ingresso una matrice M e un intero p e restituisce un array di interi contenente gli elementi presenti esattamente p volte in M. Tema 100 Scrivere un metodo trovaelementoconmaggiorefrequenzainmatrice che riceve una matrice di interi M e restituisce l elemento della matrice che compare più volte. Tema 101 Scrivere un metodo verificasenellamatricecisonoelementimultiplidialtri che riceve una matrice di interi M e restituisce TRUE se M contiene elementi

17 che sono multipli di altri elementi presenti nella matrice; FALSE altrimenti. Tema 102 Scrivere un metodo creaarrayconelementicomuniinrigaecolonnadateda Parametri che riceve una matrice di interi M e due numeri n e k e restituisce un array contenente gli elementi presenti sia nella riga n che nella colonna k. Tema 103 Scrivere un metodo creamatriceescludendocolonneconelementiminori OmaggioriDeiParametri che riceve in ingresso una matrice di interi M e due numeri interi min e max, e restituisce una matrice ottenuta eliminando da M tutte le colonne che presentano almeno un valore minore di min o maggiore di max. Tema 104 Scrivere un metodo creamatriceescludendoelementidiagonaleprincipale che riceve una matrice di interi M e restituisce una matrice ottenuta da M eliminando gli elementi che appartengono alla diagonale principale. Tema 105 Scrivere un metodo eliminaultimacolonnaedestraielementiconindici EntrambiPariOdispari che riceve una matrice quadrata di interi M e restituisce una sottomatrice escludendo l ultima colonna se la dimensione è dispari e contenente solo gli elementi di M i cui indici di riga e di colonna sono entrambi pari oppure entrambi dispari. Tema 106 Scrivere un metodo verificacheunamatricesiacontenutainunaltramatrice che riceve in ingresso due matrici di interi M e Q e restituisce TRUE se la matrice di dimensione minore è interamente contenuta nella matrice di dimensione maggiore. Gli elementi della matrice minore, all interno della maggiore, devono essere disposti nello stesso ordine e in maniera attigua

18 PARTE PRIMA ARRAY 18

19 TEMA 1 Scrivere un metodo visualizzaarray che riceve in ingresso un array di interi V e ne stampa a video gli elementi. public class tema1 { public static void visualizzaarray (int[] V) { // acquisiamo l array V e impostiamo un ciclo per scorrere tutti i suoi elementi for (int i = 0; i < V.length; i++) System.out.print(V[i] + " "); System.out.println(); /*Applicazione di Prova: Creiamo un array contenente al suo interno la tabellina del 2 e poi invochiamo il metodo per stampare a video il risultato.*/ public static void main (String[] args) { int[] A = new int [10]; for (int i = 0; i < A.length; i++) A[i] = (i+1)*2; visualizzaarray ( A ); Nota: Il metodo visualizzaarray sarà spesso utilizzato in altre applicazioni di questo manuale 19

20 TEMA 2 Scrivere un metodo stampaarraycapovolto che riceve in ingresso un array di interi V e stampa a video i suoi elementi in ordine inverso, dall ultimo valore al primo. public class tema2 { public static void stampaarraycapovolto (int[] V) { // naturalmente questa volta il ciclo partirà dall ultima posizione e gradualmente l indice verrà decrementato for (int i = V.length-1; i >= 0; i--) System.out.print(V[i] + " "); System.out.println(); /*Applicazione di Prova: Creiamo un array contenente al suo interno la tabellina del 2 e poi invochiamo il metodo stampaarraycapovolto per stampare a video il risultato.*/ public static void main(string[] args) { int[] A = new int [10]; for(int i = 0; i < A.length; i++) A[i] = (i+1)*2; stampaarraycapovolto ( A ); 20

21 TEMA 3 Scrivere un metodo stampaelementipositivi che riceve in ingresso un array di interi V e stampa a video tutti e solo gli elementi positivi in esso contenuti. public class tema3 { public static int[] stampaelementipositivi (int[] V) { int contapositivi = 0; // contatore degli elementi positivi di V // inizialmente scorriamo l array V per sapere quanti sono gli elementi positivi for (int i = 0; i < V.length; i++) if (V[i] > 0) // ogni volta che verrà trovato un elemento positivo sarà incrementata la variabile che infine rappresenterà // la dimensione del nuovo array contapositivi++; // l'array Positivi avrà dimensione pari al numero di elementi positivi presenti in V int[] Positivi = new int[contapositivi]; // trascriviamo nell'array Positivi gli elementi positivi di V, nello stesso ordine in cui occorrono in V int j = 0; // indice per la scansione dell array Positivi for (int i = 0; i < V.length; i++) if (V[i] > 0) { Positivi[j] = V[i]; j++; return Positivi; public static void visualizzaarray (int[] V) { for (int i = 0; i < V.length; i++) System.out.print(V[i] + " "); System.out.println(); 21

22 /* Applicazione di Prova: Inizializziamo due array su cui testare il metodo; il primo array conterrà solo elementi positivi, il secondo array conterrà anche elementi negativi e nulli. */ public static void main(string[] args) { // array che contiene solo elementi positivi visualizzaarray ( stampaelementipositivi (new int[] { 1, 2, 3, 5 ) ); System.out.println(); // stampiamo una riga vuota per separare i risultati // array che contiene anche negativi e nulli visualizzaarray ( stampaelementipositivi (new int[] { 8, -5, 9, 0, 13 )); Nota: In questo caso abbiamo inizializzato i due array direttamente all interno dell invocazione del metodo stampaelementipositivi a sua volta innestato all interno del metodo visualizza 22

23 TEMA 4 Scrivere un metodo sommaelementiarray che riceve in ingresso un array di interi V e restituisce il valore della somma di tutti i suoi elementi. public class tema4 { public static int sommaelementiarray(int[] V) { //inizializziamo una variabile di tipo intero nella quale confluirà il risultato finale int somma = 0; for (int i = 0; i < V.length; i++) // ogni elemento dell array verrà sommato ai precedenti somma += V[i]; return somma; /* Applicazione di Prova: Inizializziamo un array su cui testare il metodo. */ public static void main(string[] args) { int[] A = {1,2,3,4; System.out.println( La somma degli elementi dell array A, e : ); System.out.println(sommaElementiArray (A)); 23

24 TEMA 5 Scrivere un metodo verificaseduearrayuguali che riceve in ingresso due array A e B di interi e restituisce TRUE se gli array sono uguali; FALSE altrimenti. public class tema5 { public static boolean verificaseduearraysonouguali (int[] A, int[] B) { // inizializziamo la variabile boolean uguali sul valore TRUE come se i due array fossero, di fatto, uguali boolean uguali = true; // preliminarmente verifichiamo che i due array abbiano la stessa dimensione if (A.length!= B.length) uguali = false; // nel caso di dimensioni diverse il metodo restituirebbe già da subito FALSE else { // verifichiamo ora che i due array siano uguali elemento per elemento for (int i = 0; uguali && i < A.length; i++) if (A[i]!= B[i]) // appena due elementi di posizioni omologhe risultassero diversi il metodo restituirebbe FALSE uguali = false; return uguali; /* Applicazione di Prova */ public static void main(string[] args) { // verifichiamo il metodo su due array vuoti (il risultato sarà TRUE) System.out.println(verificaSeDueArraySonoUguali (new int[] {, new int[] { ) ); System.out.println(); // verifichiamo il metodo su due array non vuoti e uguali (il risultato sarà TRUE) System.out.println(verificaSeDueArraySonoUguali (new int[] { 3, 6, 9, 12, new int[] { 3, 6, 9, 12 )); System.out.println(); 24

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

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

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

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

Esercizi su array di array

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

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

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

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

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

n deve essere maggiore di 0, altrimenti il metodo restituisce null.

n deve essere maggiore di 0, altrimenti il metodo restituisce null. Esercizio 1 di classe Intersezione che presi in input due Array di int A e B, restituisce in output un array contenente gli elementi presenti sia in A che in B. Esercizio 2 di classe identità che prende

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

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

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro

Laboratorio di Programmazione Lezione 3. Cristian Del Fabbro Laboratorio di Programmazione Lezione 3 Cristian Del Fabbro Prossima lezione GIOVEDÌ 12 NOVEMBRE ORE 14:00 Array a.k.a. vettore Un array è una collezione ordinata di dati omogenei (cioé sono tutti dello

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

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

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

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

Sviluppo di progetti. metodologie di soluzione di un problema. iterazione o ricorsione nel pensare per OGGETTI

Sviluppo di progetti. metodologie di soluzione di un problema. iterazione o ricorsione nel pensare per OGGETTI Sviluppo di progetti metodologie di soluzione di un problema iterazione o ricorsione nel pensare per OGGETTI Incrementare vs pensare a oggetti Ho bisogno di andare da A a B in modo più veloce Iterazioni

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

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

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

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010

Corso di Laurea in Matematica Corso di Informatica Prova d Esame del 02/02/2010 Esercizio 1. Si deve modellare con una classe Java il contenuto di un portamonete, con delle opportune semplificazioni. Le monete da considerare sono di soli 4 tagli: 10, 20, 50 e 100 centesimi (cioè 1

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

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione.

Alcuni Soluzioni. Fornire la specifica di un algoritmo risolutivo utilizzando lo pseudocodice visto a lezione. Alcuni Soluzioni ESERCIZIO 1 Data una sequenza di interi di dimensione dim, determinare se esistono esattamente cont occorrenze del valore val, utilizzando per questo una variabile booleana check. Stato

Dettagli

Approcci nella soluzione di un problema

Approcci nella soluzione di un problema Approcci nella soluzione di un problema Bottom-up dalla conoscenza del singolo componente alle soluzioni Bottom-up A partire dal considerare oggetti più semplici o dati empirici (dal particolare), con

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 statci. Dichiarazione e chiamata di metodi statci

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

Dettagli

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

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

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018

Esercitazioni di Fondamenti di Informatica - Lez. 5 30/10/2018 Esercitazioni di Fondamenti di Informatica - Lez. 30/10/018 Esercizi sulle funzioni in C I codici e le soluzioni degli esercizi sono nella cartella parte1 1. Scrivere i prototipi delle seguenti funzioni.

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

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

Algoritmi su Matrici. int const R=40; int const C=8; int A[R][C]; int n=32; int m=5; Compito Studente N O

Algoritmi su Matrici. int const R=40; int const C=8; int A[R][C]; int n=32; int m=5; Compito Studente N O Algoritmi su Matrici Esempio: una classe di 32 studenti ha sostenuto durante l anno 5 compiti in classe. Supponiamo di voler scrivere un programma che stampi per ogni studente la somma e la media dei voti

Dettagli

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.

Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io. Realizzare un applicazione console che stampi la somma dei primi n numeri dispari oppure pari (a scelta dell operatore). import java.io.*; public class M1_13 { public static void main(string args[]) throws

Dettagli

Fondamenti di Informatica

Fondamenti di Informatica Vettori e matrici #1 Le variabili definite come coppie sono dette variabili scalari Fondamenti di Informatica 5. Algoritmi e pseudocodifica Una coppia è una variabile

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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Dispensa 11. Leggibilità. Aprile Leggibilita 1 Corso di Laurea Ingegneria Civile Fondamenti di Informatica Dispensa 11 Leggibilità Aprile 2010 Leggibilita 1 Prerequisiti Semplici programmi Java Sintassi del linguaggio Leggibilita 2 Contenuti Stile

Dettagli

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica

A. Ferrari. informatica. Java basi del linguaggio. Alberto Ferrari Informatica informatica Java basi del linguaggio Alberto Ferrari Informatica struttura di un programma Java /** * Classe EsempioProgramma * Un esempio di programmazione in Java * @author 4A Informatica */ public class

Dettagli

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo)

Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni degli esercizi di riepilogo (Fondamenti di Informatica 1 Walter Didimo) Soluzioni delle prove al calcolatore Esercizio 1 (esame del 13/01/2006) class Matrice{ private String[][] mat; // variabile

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

Esercizi. Fondamenti di Informatica

Esercizi. Fondamenti di Informatica Esercizi Fondamenti di Informatica Leggere un numero Scriviamo un programma che: Chiede all utente di inserire il numero di esami da sostenere Legge l input da tastiera Se è un numero, stampa Il numero

Dettagli

Esercitazione Fondamenti di Informatica 2

Esercitazione Fondamenti di Informatica 2 Esercitazione Fondamenti di Informatica 2 Matrici (seconda parte) 27 marzo 2006 a Prodotto righe-colonne Scrivere un metodo Matrice moltiplica(matrice mat) che, applicato ad una istanza dell oggetto Matrice,

Dettagli

TEMA D ESAME 1. Segnalare eventuali errori o situazioni non gestibili con opportune eccezioni o messaggi di errore. TEMA D ESAME 2

TEMA D ESAME 1. Segnalare eventuali errori o situazioni non gestibili con opportune eccezioni o messaggi di errore. TEMA D ESAME 2 TEMA D ESAME 1 Scrivere una classe per memorizzare una tabella bidimensionale di n ed m elementi interi. La classe deve avere un costruttore vuoto e un costruttore che prende in input una tabella bidimensionale

Dettagli

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

A.S Classe III H Informatica. Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica O. BELLUZZ I - L. DA VINCI Prot.8480/6.3 del 05/07/2017 A.S. 2016-2017 Classe III H Informatica Programma didattico finale e indicazioni per il recupero estivo relativi all'insegnamento di Informatica

Dettagli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli

ELEMENTI DI INFORMATICA L-B. Ing. Claudia Chiusoli ELEMENTI DI INFORMATICA L-B Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Testi di esami precedenti Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del

Dettagli

Corso di Laurea in Ingegneria Gestionale Esame di Informatica a.a luglio 2011

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.

Dettagli

LABORATORIO DI PROGRAMMAZIONE Prova Intermedia - 4 Novembre Soluzione degli Esercizi

LABORATORIO DI PROGRAMMAZIONE Prova Intermedia - 4 Novembre Soluzione degli Esercizi LABORATORIO DI PROGRAMMAZIONE 2002-2003 Prova Intermedia - 4 Novembre 2002 degli Esercizi Esercizio 1. v1. Si consideri il seguente frammento di codice in Java: int x = 1; for (int j = 1; j

Dettagli

Array mono- e bi-dimensionali Cicli while e do-while

Array mono- e bi-dimensionali Cicli while e do-while 111 Fondamenti di Informatica Array mono- e bi-dimensionali Cicli while e -while Fondamenti di Informatica - D. Talia - UNICAL 1 111 Array Monodimensionali Nell uso di array L operazione sull indice può

Dettagli

Laboratorio di programmazione

Laboratorio di programmazione Laboratorio di programmazione 9 novembre 2016 (Trump Day!) Lo scheletro dei vostri programmi deve essere import java.io.*; import java.util.*; public class... { public static void main( String[] args )

Dettagli

Fondamenti di Informatica 6. Algoritmi e pseudocodifica

Fondamenti di Informatica 6. Algoritmi e pseudocodifica Vettori e matrici #1 Fondamenti di Informatica 6. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile A.A. 2010-2011 1 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano

Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano Dipartimento di Elettronica, Informazione e Bioingegneria Politecnico di Milano 2033 Milano (Italia) Piazza Leonardo da Vinci, 32 Tel. (+39) 02-2399.3400 Fax (+39) 02-2399.34 Informatica ed Elementi di

Dettagli

Programmazione II Compitino (Vers. B)

Programmazione II Compitino (Vers. B) Programmazione II Compitino (Vers. B) 17 dicembre 2015 Cognome Jackson Nome Michael Matricola 696969 Anno di corso 1 Nei seguenti quesiti, quando vi è richiesto di scrivere un programma, potete limitarvi

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

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI

METODI ESERCIZI. 07-xx_Esercizi[01] Versione del: venerdì 3 maggio Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Versione del: venerdì 3 maggio 2013 07.XX METODI ESERCIZI Andrea Zoccheddu CORSO INFORMATICA ITI ANGIOY SASSARI Sintesi Esercizi sui metodi in Visual C#. Esercizio 1. scelta della firma Lo studente risponda

Dettagli

MATRICI e DETERMINANTI. Prof.ssa Maddalena Dominijanni

MATRICI e DETERMINANTI. Prof.ssa Maddalena Dominijanni MATRICI e DETERMINANTI Le matrici non sono altro che tabelle di elementi ordinati per righe e colonne. Se m = n la matrice si dice quadrata Matrice quadrata di ordine 3 Matrice rettangolare di tipo 2 3

Dettagli

import java.io.*; double massa = 0.0; double velocità = 0.0; double coefficienteattrito = 0.0; int numeroveicoli = 0;

import java.io.*; double massa = 0.0; double velocità = 0.0; double coefficienteattrito = 0.0; int numeroveicoli = 0; import java.io.*; public class Veicolo { private String nomeveicolo = ""; private final double g = 9.8; private double massa; private double velocità; private double coefficienteattrito; public static

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

Informatica (A-K) 5. Algoritmi e pseudocodifica

Informatica (A-K) 5. Algoritmi e pseudocodifica Vettori e matrici #1 Informatica (A-K) 5. Algoritmi e pseudocodifica Corso di Laurea in Ingegneria Civile & Ambientale A.A. 2011-2012 2 Semestre Prof. Giovanni Pascoschi Le variabili definite come coppie

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

L Array e un oggetto. L array puo contenere elementi che sono: tipi primitivi, o oggetti (in realta riferimenti ad oggetti!!!).

L Array e un oggetto. L array puo contenere elementi che sono: tipi primitivi, o oggetti (in realta riferimenti ad oggetti!!!). Arrays Idea Fornire il concetto di array presente nei piu comuni linguaggi di programmazione Un array e una struttura statica, una volta creato la sua dimensione (numero di elementi che lo compongono)

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

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly

Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Laboratorio di Architettura degli Elaboratori A.A. 2016/17 Programmazione Assembly Scrivere il codice ARM che implementi le specifiche richieste e quindi verificarne il comportamento usando il simulatore

Dettagli

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con

= elemento che compare nella seconda riga e quinta colonna = -4 In generale una matrice A di m righe e n colonne si denota con Definizione di matrice Una matrice (di numeri reali) è una tabella di m x n numeri disposti su m righe e n colonne. I numeri che compaiono nella tabella si dicono elementi della matrice. La loro individuazione

Dettagli

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A

Compitino di Laboratorio di Informatica CdL in Matematica 13/11/2007 Teoria Compito A Matematica 13/11/2007 Teoria Compito A Domanda 1 Descrivere, eventualmente utilizzando uno schema, gli elementi funzionali di una CPU. Domanda 2 Java è un linguaggio compilato o interpretato? Motivare

Dettagli

Studente (Cognome Nome): Corso di Informatica Corso di Laurea in Ingegneria Gestionale a.a Secondo Compitino 21 Dicembre 2006

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

Dettagli

Corso sul linguaggio Java

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

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 8: classi e oggetti

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

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 E04 Esercizi sui problemi di ordinamento C. Limongelli Marzo 2008 http://www.dia.uniroma3.it/~java/fondinf2/ Algoritmi di Ordinamento

Dettagli

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna:

Prova di Laboratorio del [ Corso A-B di Programmazione (A.A. 2004/05) Esempio: Media Modalità di consegna: Prova di Laboratorio del 12.1.2005 [durata 90 min.] Corso A-B di Programmazione (A.A. 2004/05) 1. Leggere da tastiera un insieme di numeri interi ed inserirli in un vettore A 2. Calcolare tramite una funzione

Dettagli

Introduzione alla Programmazione in Java attraverso un esempio commentato

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

Dettagli

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

Array in Java. Emilio Di Giacomo e Walter Didimo

Array in Java. Emilio Di Giacomo e Walter Didimo Array in Java Emilio Di Giacomo e Walter Didimo Gli array Anche in Java, come in C, esistono gli array Un array è una sequenza di variabili: tutte le variabili di un array hanno lo stesso tipo di dato

Dettagli

Introduzione alla programmazione Esercizi risolti

Introduzione alla programmazione Esercizi risolti Esercizi risolti 1 Esercizio Si determini se il diagramma di flusso rappresentato in Figura 1 è strutturato. A B C D F E Figura 1: Diagramma di flusso strutturato? Soluzione Per determinare se il diagramma

Dettagli

Fondamenti di Informatica T-1

Fondamenti di Informatica T-1 Fondamenti di Informatica T-1 Metodi statici e Array Tutor: Angelo Feraudo angelo.feraudo2@unibo.it a.a. 2018/2019 Fondamenti di Informatica T-1 Angelo Feraudo 1 / 12 METODI STATICI: Definizione Un metodo

Dettagli

Liste di Liste Matrici

Liste di Liste Matrici Liste di Liste Matrici Una lista annidata è una lista che compare come elemento di un'altra lista. Nell'esempio seguente il quarto elemento della lista (elemento numero 3 dato che il primo ha indice 0)

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

Array di array. Walter Didimo

Array di array. Walter Didimo Array di array Walter Didimo Array di array Abbiamo visto che il tipo di dato degli elementi di un array può essere qualsiasi tipo valido Il tipo di dato degli elementi di un array può dunque anche essere

Dettagli

A1- Array MODULO Java3

A1- Array MODULO Java3 Dare una breve descrizione dei termini introdotti: (A) CONOSCENZA TERMINOLOGICA Dichiarazione array Allocazione array Inizializzazione array Proprietà length Vettore Matrice Indice Componenti Indirizzo

Dettagli

Esercitazione Fondamenti di Informatica 2

Esercitazione Fondamenti di Informatica 2 Esercitazione Fondamenti di Informatica 2 Array 6 Marzo 2006 Marco R. Iarusso iarusso@dia.uniroma3.it Riassumendo. Un array è una collezione finita di variabili di uno stesso tipo posto in corrispondenza

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

Laboratorio di Programmazione Ottobre. Simone Zaccaria

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.

Dettagli

System.out.print("\tATTENZIONE: hi inserito un valore non valido!\n");

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

Dettagli

I Metodi. Fondamenti di Informatica A-K

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

Dettagli

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

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 Effetti collaterali Metodi ricorsivi Esercizi proposti 19/04/2011 2 import javax.swing.joptionpane; public class esempioarrayg{ public

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

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

import java.io.*; char sceltautente = '_'; boolean condizionesn = true; boolean condizionedowhile = true; boolean condizioneprogramma = true;

import java.io.*; char sceltautente = '_'; boolean condizionesn = true; boolean condizionedowhile = true; boolean condizioneprogramma = true; Un imposta sul reddito viene applicata in base alle seguenti fasce: fino a 35.000 euro 23% e oltre 35.000 euro 33%. Progettare un software, basato su un applicazione console, che, dato un certo reddito,

Dettagli

Preparazione allo Scritto di Programmazione

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,

Dettagli

Esercizi Svolti. Traccia completa svolta 1. Domanda 1:

Esercizi Svolti. Traccia completa svolta 1. Domanda 1: Esercizi Svolti Traccia completa svolta 1 Domanda 1: Scrivere una classe Domanda1 che contenga al suo interno un metodo main, nel quale si dichiari l'array di interi V=[6,3,1,2,9] e si calcoli la media

Dettagli

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

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

Dettagli

Ambienti di Programmazione per il Software di Base

Ambienti di Programmazione per il Software di Base Ambienti di Programmazione per il Software di Base Le Funzioni in C Esercizi sulle Funzioni svolti Esercizi sulle Funzioni da svolgere A.A. 2011/2012 Ambienti di Programmazione per il Software di Base

Dettagli