aula 98

Como imprimir a diagonal principal e secundária de uma matriz em Portugol

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.

diagonais de uma matriz
Diagonais principal e secundária em uma matriz 4 por 4.

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")
	}
}

Deixe um comentário

dez − 4 =

Wagner Gaspar

Capixaba de São Gabriel da Palha, Espírito Santo. Bacharel em Ciência da Computação pela Universidade Federal do Amazonas e mestre em informática pela Universidade Federal do Espírito Santo.