Matriz em algoritmos

Veja como criar uma matriz, como atribuir valores a uma matriz, mostrar os seus elementos. exercícios resolvidos.

Definição de matrizes

Uma matriz é uma variável composta homogênea multidimensional. São formadas por uma sequência de variáveis, todas do mesmo tipo, mesmo identificador e alocadas sequencialmente na memória. Uma vez que as variáveis tem o mesmo nome, o que as distingue são índices que referenciam sua localização dentro da estrutura.

Uma variável do tipo matriz precisa de um índice para cada uma de suas dimensões.

Declaração de uma matriz

A declaração de uma matriz pode ser feita, conforme descrito abaixo:

nome: array[dimensao1,dimensao2,dimensao3,...,dimensaon] de tipo

Onde:

  • nome é o nome da matriz;
  • dimensao1 é a quantidade de linhas;
  • dimensao2 é a quantidade de colunas;
  • dimensao3 é a profundidade;
  • tipo é o tipo de dado da matriz.

Atribuindo valores a uma matriz

Cada elemento de uma matriz pode armazenar um valor. Para armazenar um valor em uma posição especifica da matriz basta executar uma atribuição, informando o número das dimensões.

x[1,5] <- 47

Exemplo de matriz

para i de 1 ate n faça 
inicio 
     para j de 1 ate n faça 
     inicio 
          escreva("Digite o número de linha: ", i," e coluna: ", j)
          leia (x[i, j])
     fim 
fim 

Mostrando os elementos de uma matriz

para i de 1 ate n faça 
inicio 
     para j de 1 ate n faça 
     inicio 
          escreva(x[i, j])
     fim 
fim 

Exercícios

1º) Faça um algoritmo que preencha uma matriz M (2×2), calcule e mostre a matriz R, resultante da multiplicação dos elementos de M pelo seu maior elemento.

Algoritmo Matriz2x2
var 
     x: array [1..2,1..2] de inteiro 
     maior: inteiro
início

     para i de 1 até 2 faça 
     inicio 
          para j de 1 até 2 faça 
          inicio 
               leia(x[i, j])
          fim 
     fim 

     maior <- x[1,1]

     para i de 1 até 2 faça 
     inicio 
          para j de 1 até 2 faça 
          inicio 
               se (x[i, j] > maior) então 
               início 
                    maior <- mat[i, j]
               fim 
          fim 
     fim 

     para i de 1 até 2 faça 
     inicio 
          para j de 1 até 2 faça 
          inicio 
               resultado[i, j] <- maior * mat[i, j]
          fim 
     fim 

     para i de 1 até 2 faça 
     inicio 
          para j de 1 até 2 faça 
          inicio 
               (resultado[i, j])
          fim 
     fim 
fim.

2º) Faça um algoritmo que preencha uma matriz 10×3 com as notas de dez alunos em três provas. O algoritmo deverá mostrar um relatório com o número dos alunos (número de linha) e a prova em que cada aluno obteve menor nota. Ao final do relatório, deverá mostrar quantos alunos tiveram menor nota em cada uma das provas: na prova 1, na prova 2 e na prova 3.

Algoritmo Matriz2x2
var 
     notas: array [1..10,1..3] de inteiro 
     menor, q1, q2, q3, p_menor, i, j: inteiro
início

     para i de 1 até 10 faça 
     inicio 
          para j de 1 até 3 faça 
          inicio 
               leia(notas[i, j])
          fim 
     fim 

     q1 <- 0
     q2 <- 0
     q3 <- 0

     para i de 1 até 10 faça 
     inicio 
          escreva(i)
          menor <- notas [i, 1]
          p_menor <- 1
          para j de 1 até 3 faça 
          inicio 
               se (notas[i, j] < menor) então
               início 
                    menor <- notas[i, j]
                    p_menor <- j
               fim 
     
               se (p_menor = 1) então 
               início 
                    q1 <- q1 + 1
               fim
               se (p_menor = 1) então 
               início 
                    q2 <- q2 + 1
               fim
               se (p_menor = 1) então 
               início 
                    q2 <- q2 + 1
               fim

          fim 
     fim 
     escreva(q1, q2, q3)
fim.

3º) Faça um algoritmo que preencha:

  • um vetor com oito posições, contendo nomes de lojas;
  • outro vetor com quatro posições, contendo nomes de produtos;
  • uma matriz com os preços de todos os produtos em cada loja.

O algoritmo deverá mostrar todas as relações (nome do produto – nome da loja) em que o preço não ultrapasse R$ 120,00.

Algoritmo Matriz2x2
var 
     lojas: array [1..8] de string
     produtos: array [1..4] de string
     preços: array [1..8,1..4] de real
     i, j: inteiro
início

     para j de 1 até 8 faça 
     início
          leia(lojas[j])
     fim 

     para i de 1 até 4 faça 
     início 
          leia(produtos[i])
     fim 

     para i de 1 até 4 faça 
     inicio 
          para j de 1 até 8 faça 
          inicio 
               leia(preços[i, j])
          fim 
     fim 

     para i de 1 até 4 faça 
     inicio 
          para j de 1 até 8 faça 
          início 
               se (precos[i, j] < 120) entao
               início
                    escreva(produtos[i], lojas[i])
               fim 
          fim 
     fim 
fim.

4º) Crie um programa que preencha uma matriz 10×20 com números inteiros e some cada uma das linhas, armazenando o resultado das somas em um vetor. A seguir, o programa deverá multiplicar cada elemento da matriz pela soma da linha correspondente e mostrar a matriz resultante.

Was this helpful?

4 / 0

Deixe um comentário 0

Your email address will not be published.


Compartilhe

[amount] estão lendo esse conteúdo agora.