Lógica de Programação – Matrizes – Declaração e preenchimento
As matrizes são estruturas fundamentais tanto na matemática quanto na computação. Elas permitem a organização e manipulação de dados de forma eficiente, sendo amplamente utilizadas em diversas aplicações, desde a representação de imagens até cálculos complexos em planilhas. Nesta aula vamos explorar o conceito de matrizes em computação, sua aplicação em lógica de programação e exemplos práticos de uso.
O Conceito de Matrizes
Em matemática, uma matriz é definida como um conjunto de elementos dispostos em linhas e colunas. Uma matriz m x n (m por n) possui m linhas e n colunas, e seus elementos são geralmente representados por índices i (linha) e \j (coluna). Por exemplo, uma matriz A de 3 linhas e 3 colunas pode ser representada da seguinte forma:
Matriz 3×3
Matrizes em Lógica de Programação
Na lógica de programação, uma matriz pode ser vista como um array bidimensional (vetor de duas dimensões), ou seja, uma estrutura composta por linhas e colunas que se assemelha a uma tabela. Em Portugol Studio, a declaração de uma matriz é feita especificando o tipo de dados e o número de linhas e colunas. Por exemplo, para declarar uma matriz de inteiros com 5 linhas e 3 colunas, utilizamos a seguinte sintaxe:
inteiro matriz[5][3]
Também é possível usar constantes para representar o número de linhas e colunas:
const inteiro X = 5 const inteiro Y = 3 inteiro matriz[X][Y]
Atribuição e Acesso a Valores em Matrizes
Para atribuir um valor a uma matriz, indicamos a posição do valor no formato [linha][coluna]:
matriz[0][0] = 60
Para obter um valor da matriz, utilizamos a mesma notação:
escreva(matriz[0][0])
Exemplo prático de uso de matrizes
Vamos criar e manipular uma matriz de 5 linhas e 3 colunas:
inteiro matriz[5][3] funcao inicio() { matriz[0][0] = 60 escreva("Valor: " + matriz[0][0] + "\n") escreva("Digite um número: ") leia(matriz[1][2]) escreva("\nValor na posição 1,2: " + matriz[1][2]) }
Manipulação de matrizes com laços de repetição
Para preencher uma matriz com dados digitados pelo usuário, podemos utilizar laços de repetição, como mostra o exemplo a seguir:
inteiro matriz[3][3] inteiro lin, col funcao inicio() { para (lin = 0; lin <= 2; lin++ ) { para (col = 0; col <= 2; col++ ) { escreva("Digite um número para inserir na matriz: \n") leia(matriz[lin][col]) } } escreva("Valor na posição 0,1: " + matriz[0][1]) }
Visualização da Matriz
Para exibir todos os elementos de uma matriz na tela, podemos utilizar um laço aninhado:
para (lin = 0; lin <= 2; lin++ ) { para (col = 0; col <= 2; col++ ) { se (col < 2) { escreva(matriz[lin][col] + " ") } senao { escreva(matriz[lin][col] + "\n") } } }
Exercício Resolvido
Vamos criar um algoritmo que gera uma matriz 10×10 preenchida com números aleatórios entre 1 e 100 e exibe a matriz em formato tabular, além de calcular o somatório de todos os valores armazenados:
const inteiro LINHAS = 10 const inteiro COLUNAS = 10 inteiro matriz[LINHAS][COLUNAS] inteiro soma = 0 funcao inicio() { para (inteiro i = 0; i < LINHAS; i++) { para (inteiro j = 0; j < COLUNAS; j++) { matriz[i][j] = aleatorio(1, 100) soma = soma + matriz[i][j] } } para (inteiro i = 0; i < LINHAS; i++) { para (inteiro j = 0; j < COLUNAS; j++) { escreva(matriz[i][j] + "\t") } escreva("\n") } escreva("Somatório dos valores: " + soma) }
Conclusão
As matrizes são estruturas muito importantes na programação, permitindo a manipulação eficiente de dados em duas dimensões. Compreender como declarar, atribuir e acessar valores em matrizes é essencial para resolver problemas complexos e desenvolver algoritmos eficazes.
Apresentação de Slides:
Assista ao vídeo da Bóson com Fábio dos Reis no Youtube:
Anterior: Pesquisa Binária em Vetores
Próximo: Escolhas múltiplas com o comando Caso