Nesta aula vamos ver como imprimir a diagonal principal e secundária de uma matriz em Portugol.
Primeiro, vale ressaltar que só podemos falar em diagonais quando se trata de matrizes quadradas, como apresentada na figura a seguir.
A diagonal principal pode ser impressa facilmente, uma vez que pertencem à diagonal principal apenas os valores cujos índices de linha e coluna são iguais. A diagonal secundária não é tão simples, exige um pouco mais de rascunhos e testes até concluirmos que pertencem à diagonal secundária de uma matriz os elementos de índice [L] (para a linha) e [tam – 1 – L] (para a coluna).
Perceba que, como cada elemento da diagonal principal possui o mesmo índice para linha e coluna, não precisamos de duas repetições para imprimi-la. Podemos fazer algo semelhante para a diagonal secundária.
Código Portugol para imprimir as diagonais principal e secundária de uma matriz quadrada.
programa{ inclua biblioteca Util /* Aula 98: Imprimir as diagonais principal e secundária de uma matriz 3 x 3 * * Escrito por Wagner Gaspar * Março de 2021 * Diagonal secundária * 58 95 45 --> 0,2 -> 3 - 1 - l * 45 78 13 --> 1,1 -> 3 - 1 - l * 81 43 27 --> 2,0 -> 3 - 1 - l */ funcao inicio(){ inteiro l, c, mat[10][10] para(l = 0; l < 10; l++){ para(c = 0; c < 10; c++){ mat[l][c] = Util.sorteia(10, 99) } } para(l = 0; l < 10; l++){ para(c = 0; c < 10; c++){ escreva(mat[l][c], " ") } escreva("\n") } escreva("\n\nDiagonal principal: ") para(l = 0; l < 10; l++) escreva(mat[l][l], " ") escreva("\n\nDiagonal secundária: ") para(l = 0; l < 10; l++) escreva(mat[l][10 - 1 - l], " ") escreva("\n") } }