Concetti Chiave
- Il metodo verificaSeEsisteSequenzaInMatrice controlla se una matrice contiene tutti i numeri da 1 a n.
- Utilizza un ciclo per scorrere i numeri da 1 a n e un ciclo annidato per esaminare gli elementi della matrice.
- Imposta una variabile booleana per verificare la presenza di ciascun numero k nella matrice.
- Restituisce FALSE immediatamente se un numero k non viene trovato durante il controllo.
- Se tutti i numeri da 1 a n sono presenti, il metodo restituisce TRUE al termine della verifica.
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.Esempio di matrice
Ad esempio, sia M la matrice così costituita
| 3 | 18 | 15 | 7 | 2 |
| 1 | 9 | 11 | 4 | 6 |
| 7 | 8 | 6 | 9 | 5 |
| 5 | 1 | 25 | 2 | 1 |
| 8 | 2 | 33 | 4 | 9 |
public class tema60{ public static boolean verificaSeEsisteSequenzaInMatrice (int[][] M, int n){ // prepariamo una variabile boolean che useremo durante la verifica boolean trovato; // avviamo un ciclo che parte da 1 e arriva fino al valore k acquisito dal // metodo come parametro for(int k = 1; k
Applicazione di prova
trovato) return false; } return true; } /* Applicazione di prova */ public static void main(String[] args){ int[][] M = {{3,18,15,7,2}, {1,9,11,4,6}, {7,8,6,9,5}, {5,1,25,2,1}, {8,2,33,4,9}}; // in questo caso otterremo TRUE: la sequenza da 1 a 7 è completa System.out.println(verificaSeEsisteSequenzaInMatrice (M,7)); System.out.println(); int[][] Q = {{9,18,15,7,2}, {1,9,11,4,6}, {7,8,6,9,5}, {5,1,25,2,1}, {8,2,33,4,9}}; // in questo caso otterremo FALSE: la sequenza da 1 a 7 è incompleta poichè // manca il 3 System.out.println(verificaSeEsisteSequenzaInMatrice (Q,7)); } }
Domande da interrogazione
- Qual è lo scopo del metodo verificaSeEsisteSequenzaInMatrice?
- Come funziona il ciclo di verifica all'interno del metodo?
- Qual è l'output del metodo quando la matrice contiene tutti i numeri da 1 a n?
Il metodo verificaSeEsisteSequenzaInMatrice controlla se in una matrice di interi esiste una sequenza di numeri da 1 fino a un valore n specificato, restituendo TRUE se la sequenza è presente e FALSE altrimenti.
Il metodo utilizza un ciclo che itera da 1 a n, controllando per ogni valore se esiste almeno un elemento corrispondente nella matrice. Se un valore non viene trovato, il metodo restituisce immediatamente FALSE.
Quando la matrice contiene tutti i numeri da 1 a n, come nel caso dell'esempio fornito con n=7, il metodo restituisce TRUE, indicando che la sequenza è completa.