Concetti Chiave

  • Il metodo isPalindroma verifica se una matrice è palindroma confrontando le righe dall'inizio alla fine.
  • Una matrice è palindroma se la prima riga è uguale all'ultima, la seconda alla penultima, e così via.
  • Il metodo utilizza due cicli per scansionare le righe fino a metà della matrice, ignorando la riga centrale se presente.
  • Il confronto avviene elemento per elemento, garantendo che le colonne siano uguali sia lette dall'alto verso il basso che viceversa.
  • Due esempi di matrici, M e Q, dimostrano il funzionamento del metodo, restituendo TRUE per M e FALSE per Q.

Metodo isPalindroma

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.

Esempio di matrice palindroma

Ad esempio, sia M una matrice così costituita

1 3 0 6 9
2 5 7 8 4
9 2 5 7 6
2 5 7 8 4
1 3 0 6 9
allora isPalindroma (M) = TRUE
 public class tema81 { public static boolean isPalindroma (int[][] M) { boolean esito = true; // realizziamo due cicli imponendo che l’indice di scansione delle righe arrivi // fino a metà della dimensione // totale; nel caso di matrici di dimensione dispari non è importante valutare // la riga centrale, essa infatti // risulta ininfluente ai fini della verifica del requisito for (int i = 0; i confrontiamo le righe // poiché gli indici delle righe sono ancorati tra loro tramite la variabile // “i”, si comincia col confrontare // la prima con l’ultima, poi la seconda con la penultima e così via man mano // che aumenta il valore di “i” if (M[ i ][j] != M[M.

Applicazione di prova

length –i -1][j]) esito = false; return esito; } /* Applicazione di prova */ public static void main(String[] args) { int[][] M = new int[][]{{1,3,0,6,9}, {2,5,7,8,4}, {9,2,5,7,6}, {2,5,7,8,4}, {1,3,0,6,9} }; System.out.println(isPalindroma (M)); System.out.println(); // testiamo il metodo sulla matrice Q nella quale abbiamo solo cambato l’ultimo // elemento della prima riga int[][] Q = new int[][]{{1,3,0,6,5}, {2,5,7,8,4}, {9,2,5,7,6}, {2,5,7,8,4}, {1,3,0,6,9} }; System.out.println(isPalindroma (Q)); } }

Domande da interrogazione

  1. Come si determina se una matrice è palindroma?
  2. Una matrice è considerata palindroma se la prima riga è uguale all'ultima, la seconda alla penultima, e così via. Il metodo isPalindroma confronta le righe in questo modo per restituire TRUE o FALSE.

  3. Qual è l'importanza della riga centrale in una matrice di dimensione dispari?
  4. Nelle matrici di dimensione dispari, la riga centrale non influisce sulla verifica della palindromicità, poiché non ha una riga corrispondente da confrontare.

  5. Qual è l'output del metodo isPalindroma per la matrice di esempio fornita?
  6. Per la matrice di esempio, il metodo isPalindroma restituisce TRUE, indicando che la matrice è palindroma, come dimostrato dal confronto delle righe.

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community