Anteprima
Vedrai una selezione di 10 pagine su 218
106 Metodi JAVA (ebook) Pag. 1 106 Metodi JAVA (ebook) Pag. 2
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 6
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 11
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 16
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 21
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 26
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 31
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 36
Anteprima di 10 pagg. su 218.
Scarica il documento per vederlo tutto.
106 Metodi JAVA (ebook) Pag. 41
1 su 218
Disdici quando vuoi 162x117
Disdici quando
vuoi
Acquista con carta
o PayPal
Scarica i documenti
tutte le volte che vuoi
Sintesi
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.

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 verificaSommaEprododttoDiOgniElementoConSuccessivo 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 -1.
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 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.
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 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.
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
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 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 pari.
Tema 84
Scrivere un metodo creaArrayConSommeRigheDellaTriangolare Superiore che riceve in ingresso una matrice quadrata M e restituisce un array in cui l’i-esima 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.
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 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.

Autore

Domenico Signorelli
Domenico Signorelli è laureato in Matematica e lavora prevalentemente nella formazione. Per Matematicamente.it ha pubblicato "Fisica, Dellitti e Digressioni" e "106 Metodi Java".
Estratto del documento

Domenico Signorelli, 106 metodi Java

T

E

M A 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.

Ad esempio, sia V l’array così costituito

3 5 1 7 9 2 4 6 1

allora trovaMassimoInArray (V) = 9

public class tema8 {

public static int trovaMassimoInArray (int[] V) {

//il primo elemento di V viene scelto arbitrariamente

come massimo provvisorio

int max = V[0];

//effettuiamo una scansione dell'array partendo dal

secondo elemento

for (int i = 1; i < V.length; i++) {

//se durante la scansione incontriamo un elemento più

grande del primo, aggiorniamo il valore di max

if (V[i] > max)

max = V[i]; }

return max;

}

/* Applicazione di Prova: Inizializziamo due array su cui

testare il metodo; il primo array conterrà solo elementi

positivi, il secondo array conterrà solo elementi

negativi. */

public static void main(String[] args) {

int[] A={3,5,1,7,9,2,4,6,1};

System.out.println(“Il valore piu’ grande contenuto

nell’array A, e’:”);

System.out.println(trovaMassimoInArray (A));

System.out.println(); 30

Domenico Signorelli, 106 metodi Java

int[] B ={-15,-4,-6};

System.out.println(“Il valore piu’ grande contenuto

nell’array B, e’:”);

System.out.println(trovaMassimoInArray (B));

}

} 31

Domenico Signorelli, 106 metodi Java

T

E

M A 9

Scrivere un metodo isArrayCrescente che riceve in ingresso un array di

interi V e verifica se l’array è crescente.

Ad esempio, sia V l’array così costituito

1 2 3 4 5 6 7 8 9

allora isCrescente (V) = TRUE

public class tema9 {

public static boolean isArrayCrescente (int[] V) {

//inizializziamo una variabile boolean impostandola sul

valore TRUE, assumendo che l’array sia crescente

boolean crescente = true;

// verifichiamo se ogni elemento di V è minore

dell'elemento che lo segue

for (int i = 0; crescente && i < V.length-1; i++)

if (V[i] >= V[i+1])

crescente = false;

return crescente;

}

/* Applicazione Di Prova: Inizializziamo tre array su cui

testare il metodo; il primo array sarà crescente, il

secondo array sarà non decrescente, il terzo array sarà

non crescente. */

public static void main(String[] args) {

int[] A = { 1, 2, 5, 7 };

System.out.println(isArrayCrescente (A)); // array

crecsente

System.out.println();

int[] B = { 1, 2, 5, 5, 7 }; // array non decrescente (ma

non crescente)

System.out.println(isArrayCrescente (B));

System.out.println(); 32

Domenico Signorelli, 106 metodi Java

int[] Z = { 1, 2, 5, 3, 7 }; // un array non crescente

System.out.println(isArrayCrescente (Z));

}

} 33

Domenico Signorelli, 106 metodi Java

T

E

M A 1 0

Scrivere un metodo verificaSommaTraIndiceEdElemento che riceve in

ingresso un array di interi V e restituisce TRUE se ogni elemento di V,

a partire dal secondo, è pari alla somma i + V[i-1], cioè pari alla somma

dell’indice della posizione che esso occupa e del valore dell’elemento

che lo precede.

Ad esempio, se V =[5, 6, 8, 11, 15, 20, 26], il metodo restituirà TRUE,

in quanto: V[1] = 1 + V[0], V[2] = 2 + V[1] e così via.

public class tema10{

public static boolean verificaSommaTraIndiceEdElemento

(int[] V){

boolean esito = true;

for (int i = 1; i < V.length && esito; i++){

if (V[i] != i + V[i-1])

esito = false;

i++;

}

return esito;

}

/* Applicazione di Prova */

public static void main(String[] args){

int[] V= {5,6,8,11,15,20,26};

System.out.println(verificaSommaTraIndiceEdElemento (V));

}

} 34

Domenico Signorelli, 106 metodi Java

T

E

M A 1 1

Scrivere un metodo

verificaSommaEprododttoDiOgniElementoConSuccessivo

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.

Ad esempio, se V =[14, 6, 6, 10, 16, 6, 18, 4] e k = 30 il metodo

restituirà TRUE.

public class tema11{

public static boolean

verificaSommaProdottoDiOgniElementoConSuccessivo (int[]

V, int k){

for (int i = 0; i < V.length; i += 2)

if (V[i] + V[i+1] >= k && V[i] * V[i+1] <= k)

return false;

return true;

}

/* Applicazione di Prova */

public static void main(String[] args) {

int[] V = {14, 6, 6, 10, 16, 6, 18, 4};

System.out.println(verificaSommaProdottoDiOgniElementoCon

Successivo (V, 30));

}

} 35

Domenico Signorelli, 106 metodi Java

T

E

M A 1 2

Scrivere un metodo

creaArrayConElementiDiAcorrispondentiAgliElementiMinoriDiB

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.

Ad esempio, siano A e B gli array così costituiti

A 6. 7. 0. 10. 4. 9. 8. B 1. 3. 4. 3. 1. 2. 1.

0 1 4 3 1 1 3 0 9 4 9 0 2 0

= =

allora

creaArrayConElementiDiAcorrispondentiAgliElementiMinoriDiB (A,

B) darà 6.0 4.1 8.3

public class tema12 {

public static

double[]creaArrayConElementiDiAcorrispondentiAgliElementi

MinoriDiB (double[] A, double[] B) {

//il primo elemento di V viene scelto arbitrariamente

come minimo provvisorio

double min = B[0];

// prepariamo un array temporaneo in cui inserire gli

elementi del primo array che corrispondono

// alle posizioni degli elementi minori del secondo array

double[] arrayTemporaneo = new double[A.length];

// creiamo un indice per scorrere l’array temporaneo

int indice = 0;

//effettuiamo una scansione degli array

for (int i = 0; i < B.length; i++)

36

Domenico Signorelli, 106 metodi Java

//se durante la scansione incontriamo un elemento più

piccolo di min, aggiorniamo il valore di min

if (B[i] < min) {

min = B[i]; }

// una volta trovato il valore più basso di B, scorriamo

nuovamente l’array per verificare se ci sono

// altri valori uguali al min

for (int i = 0; i < B.length; i++)

if (B[i] == min) {

// ogni volta che in B troviamo un valore uguale al min,

inseriamo nell’array temporaneo il corrispondente

// valore dell’array A

arrayTemporaneo[indice] = A[i];

indice++;

}

// prepariamo un array con la giusta dimensione

double [] arrayFinale = new double[indice];

for (int i = 0; i < arrayFinale.length; i++) {

// trasferiamo gli elementi che erano stati memorizzati

nell’array temporaneo

arrayFinale[i] = arrayTemporaneo[i]; }

return arrayFinale;

}

/* Applicazione di Prova */

public static void main(String[] args) {

double[] A={6.0, 7.1, 0.4, 10.3, 4.1, 9.1, 8.3};

double[] B={1.0, 3.9, 4.4, 3.9, 1.0, 2.2, 1.0};

double[] V =

creaArrayConElementiDiAcorrispondentiAgliElementiMinoriDi

B ( A, B);

for (int i = 0; i < V.length; i++)

System.out.println(V[i]);

}

} 37

Domenico Signorelli, 106 metodi Java

T

E

M A 1 3

Scrivere un metodo

estraiPositiviPosizioniDispariMaggioriDelParametroFornito

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. V l’array così costituito

Ad esempio, sia 18 -4 7 -1 12 21

allora estraiPositiviPosizioniDispariMaggioriDiK (V,5) darà

21

public class tema13 {

public static int[]

estraiPositiviPosizioniDispariMaggioriDiK (int[] V, int

k){

// creiamo inizialmente un array temporaneo in cui

posizionare gli elementi che soddisfano il criterio

int[] arrayTemporaneo = new int[V.length];

// indice per scorrere l’array temporaneo

int indiceArray = 0;

for (int i = 1; i < V.length; i += 2){

// effettuiamo il doppio controllo

if (V[i] > 0 && V[i] > k) {

// trasferiamo nell’array temporaneo gli elementi che

soddisfano il requisito

arrayTemporaneo[indiceArray] = V[i];

indiceArray++; }

}

// adesso creiamo un array W con la giusta dimensione

int[] arrayFinale = new int[indiceArray];

for (int i = 0; i < W.length; i++){

38

Domenico Signorelli, 106 metodi Java

// trasferiamo gli elementi che erano stati memorizzati

nell’array temporaneo

arrayFinale[i] = arrayTemporaneo[i]; }

return arrayFinale;

}

/* Applicazione di Prova */

public static void main(String[] args){

int[] V ={18, -4, 7, -1, 12, 21};

// creiamo un array in cui conservare il risultato del

metodo applicato all’array V

int[] A = estraiPositiviPosizioniDispariMaggioriDiK (V,

5);

// creiamo un ciclo per stampare gli elementi dell’array

contenente i risultati

for (int i = 0; i < A.length; i++)

System.out.println(A[i]);

}

} 39

Domenico Signorelli, 106 metodi Java

T

E

M A 1 4

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

Ad esempio, sia V un array così costituito

8 -3 4 -7 9 1 2

allora creaVettoreConSommeDegliElementiPositivi (V) darà

24 16 16 12 12 3 2

public class tema14{

public static int[]

creaVettoreConSommeDegliElementiPositivi (int[] V){

// dichiariamo un array Z con la stessa dimensione di V

int[] Z = new int[V.length];

for (int i = 0; i < V.length; i++){

// creiamo il contenitore in cui effettuare e conservare

la somma

// è importante collocare il contenitore somma in questa

posizione in modo che per ogni elemento

// venga cancellato il risultato delle somme precedenti

int somma = 0;

// per sommare gli elementi creiamo un ciclo che parta

esattamente dallo stesso valore sul quale si trova il

// ciclo precedente

for (int j = i; j < V.length; j++){

if (V[j] > 0)

somma += V[j];

}

// collochiamo la somma degli elementi positivi, a

partire dall’i-esimo elemento, nell’array Z

40

Domenico Signorelli, 106 metodi Java

Z[i] = somma;

}

return Z;

}

/* Applicazione di Prova */

public static void main(String[] args){

int[] V = {8, -3, 4, -7, 9, 1, 2};

int[] Z = creaVettoreConSommeDegliElementiPositivi (V);

for (int i = 0; i < Z.length; i++){

System.out.println(Z[i]);}

}

} 41

Domenico Signorelli, 106 metodi Java

T

E

M A 1 5

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.

Ad esempio, siano A e B due array così costituiti

A = -8 5 9 -7 B = 7 2 8 -5 -9 4

allora esisteCorrispondenteInModulo (A, B) = TRUE

public class tema15{

public static boolean esisteCorrispondenteInModulo (int[]

A, int[] B){

// scorriamo gli elementi dell’array A

for (int i = 0; i < A.length; i++) {

boolean esiste = false;

// scorriamo l’array B cercando un elemento uguale all’i-

esimo elemento di A ma di segno opposto

for (int j = 0; j < B.length && !esiste; j++)

if (A[i] == -B[j])

esiste = true;

if (!esiste)

return false;}

return true;

}

/* Applicazione di Prova */

public static void main(String[] args){

int[] A ={-8, 5, 9, -7};

int[] B ={7, 2, 8, -5, -9, 4 };

System.out.println(esisteCorrispondenteInModulo (A, B));

// otterremo TRUE

System.out.println();

int[] Z ={7, 2, 8, -5, 9, 4};

System.out.println(esisteCorrispondenteInModulo (A, Z));

// otterremo FALSE

}

} 42

Domenico Signorelli, 106 metodi Java

T

E

M A 1 6

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.

Ad esempio, se V =[15, 12, 3, 15, 7, 12]�il risultato sarà 2, infatti solo

V[2] e V[4] compaiono una sola volta ciascuno; se V =[15, 12, 15,

12]�il risultato sarà 0, infatti non ci sono elementi distinti.

public class tema16{

public static int contaDistintiInArray (int[] V){

int j;

// creiamo una variabile contatore che sarà aggiornata

ogni volta che verrà individuato un elemento senza

// duplicati nell'array

int contatore = 0;

for (int i = 0; i < V.length; i++){

for (j = 0; j < V.length; j++)

// effettuiamo i controlli, tenendo in considerazione il

fatto che l’indice i deve essere diverso dall’indice j

// per evitare di considerare un elemento come se fosse

il duplicato di se’ stesso

if (i != j && V[i] == V[j])

break;

if (j == V.length)

contatore ++;

}

return contatore;

}

/* Applicazione di Prova */

public static void main(String args[]) {

int[] V ={1,2,3,4,5,6,7,8,9};

System.out.println(contaDistintiInArray (V)); // in

questo caso otterremo 9

System.out.println(); 43

Domenico Signorelli, 106 metodi Java

int[] W ={1, 7, 1, 3, 4, 7}; // in questo caso otterremo

2

System.out.println(contaDistintiInArray (W));

System.out.println();

Dettagli
218 pagine
199 download