Desenvolva um algoritmo que solicite ao usuário duas matrizes A e B (3x3) e seus respectivos elementos. Após a inserção dos elementos das matrizes A e B o programa deve oferecer ao usuário as seguintes opções:
- Somar as duas matrizes e mostrar a matriz resultante.
- Subtrair as duas matrizes e mostrar a matriz resultante.
- Sair do programa.
Dica: use a estrutura de repetição “Repita” para fazer o menu e só sair se for digitado a opção de sair.
Passo 1
O problema pede um algoritmo em pseudocódigo que leia duas matrizes quadradas
e
de ordem
, e depois apresente um menu usando a estrutura de repetição “Repita” para o usuário escolher entre:
- Somar
e e mostrar o resultado. - Subtrair
de e mostrar o resultado. - Sair do programa.
Os conceitos necessários são: leitura de arrays bidimensionais, laço de repetição “Repita … Até”, seleção de casos (menu) e impressão de matrizes.
Passo 2
Primeiro, vamos ler os elementos das duas matrizes. Usamos dois laços aninhados (índices
e
de 1 a 3) para preencher
e outro(s) laço(s) para preencher
.
Em seguida, criamos um laço “Repita … Até” que só termina quando o usuário digitar a opção de sair (por exemplo, opção 3). Dentro desse laço, mostramos o menu e lemos a variável
Em seguida, criamos um laço “Repita … Até” que só termina quando o usuário digitar a opção de sair (por exemplo, opção 3). Dentro desse laço, mostramos o menu e lemos a variável
opcao
.Passo 3
Usamos uma estrutura de seleção (
Escolha … Caso
) para tratar cada opcao
:- Caso 1: percorremos as mesmas dimensões, calculamos
e exibimos a matriz . - Caso 2: calculamos
e exibimos . - Caso 3: apenas deixamos o laço terminar.
- Caso contrário: informamos opção inválida.
Ao fim de cada soma ou subtração, exibimos os elementos da matriz resultante em formato de 3 linhas por 3 colunas, e voltamos a exibir o menu até o usuário escolher sair.
Resposta
Algoritmo MatrizesAB
Var
A, B, C: inteiro[1…3,1…3]
i, j, opcao: inteiro
Início
// Leitura da matriz A
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(“Digite A[”, i, “,”, j, "]: ")
Leia(A[i,j])
FimPara
FimPara
Var
A, B, C: inteiro[1…3,1…3]
i, j, opcao: inteiro
Início
// Leitura da matriz A
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(“Digite A[”, i, “,”, j, "]: ")
Leia(A[i,j])
FimPara
FimPara
// Leitura da matriz B
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(“Digite B[”, i, “,”, j, "]: ")
Leia(B[i,j])
FimPara
FimPara
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(“Digite B[”, i, “,”, j, "]: ")
Leia(B[i,j])
FimPara
FimPara
Repita
Escreva("")
Escreva(“Menu de Operações:”)
Escreva(“1 - Somar A e B”)
Escreva(“2 - Subtrair B de A”)
Escreva(“3 - Sair”)
Escreva("Escolha uma opção: ")
Leia(opcao)
Escreva("")
Escreva(“Menu de Operações:”)
Escreva(“1 - Somar A e B”)
Escreva(“2 - Subtrair B de A”)
Escreva(“3 - Sair”)
Escreva("Escolha uma opção: ")
Leia(opcao)
Escolha opcao
Caso 1:
// Soma das matrizes
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
C[i,j] ← A[i,j] + B[i,j]
FimPara
FimPara
Escreva("Matriz Soma (C = A + B):")
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(C[i,j], " ")
FimPara
Escreva("")
FimPara
Caso 2:
// Subtração das matrizes
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
C[i,j] ← A[i,j] - B[i,j]
FimPara
FimPara
Escreva("Matriz Diferença (C = A - B):")
Para i de 1 até 3 Faça
Para j de 1 até 3 Faça
Escreva(C[i,j], " ")
FimPara
Escreva("")
FimPara
Caso 3:
Escreva("Encerrando o programa...")
Caso Contrário:
Escreva("Opção inválida! Tente novamente.")
FimEscolha
Até opcao = 3
FimAlgoritmo
FimAlgoritmo