24 – Lógica de Programação – Matrizes – Declaração e preenchimento
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:
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
Site muito útil para quem quer adquirir conhecimentos. Parabéns!
Obrigado Julival!
Simplesmente o melhor Site que eu já vi metermos de video aula.
Não sei prq não encontrei você muito antes…
Você tem um dom incrível Fábio, simplesmente a melhor didática que eu já vi em minha vida.
Tudo muito bem organizado e com exemplos práticos, dicção perfeita, muita calma ao falar. explica muito bem… Simplesmente incrível. Parabéns.. Não tenho conta no paypal, mas irei criar uma apenas para fazer uma doação, pois seu material é de valor inestimável… A moeda da atualidade é o conhecimento e aqui da para adquirir muiiiiiito. Que Deus o abençoe!
Obrigado Evanildo, fico muito feliz em saber que nosso trabalho está sendo de valia para as pessoas. Muito obrigado!!!