Os algoritmos de matriz desempenham um papel fundamental no processamento e manipulação de dados em diversas áreas da ciência da computação e engenharia. Esses algoritmos são conjuntos de procedimentos e operações matemáticas específicas, projetados para lidar eficientemente com estruturas de dados bidimensionais, representadas por matrizes. Eles são essenciais em uma ampla gama de aplicações, desde o processamento de imagens e vídeos até a resolução de sistemas lineares em álgebra linear computacional.
A eficiência dos algoritmos de matriz é um fator crítico em muitas aplicações práticas, influenciando diretamente o desempenho e a escalabilidade de sistemas e softwares que os utilizam. Otimização e paralelização de algoritmos de matriz são áreas ativas de pesquisa, visando melhorar ainda mais o desempenho computacional.
O algoritmo abaixo foi desenvolvido com o intuito de preencher todos os elementos de uma matriz com o valor 1, entretanto o mesmo esta apresentando erros e não cumpre com o esperado.
1 - Algoritmo MatrizRetangular
2 - Var mat: vetor[1..2, 1..3] de inteiro
3 - i: inteiro
4 - j: inteiro
5 - i ← 0
6 - j ← 0
7 - Enquanto i <= 3 faça
8 - Enquanto j <= 2 faça
9 - mat[i,j] ← 1
10 - j ← j + 1
11 - Fim_enquanto
12 - Fim_enquanto
13 - Fim_algoritmo
Para esta atividade você deverá reescreva o presente código-fonte corrigindo os erros semânticos que impedem que o programa, cumpra o que foi requisitado "preencher todos os elementos de uma matriz com o valor 1".
Considerando que a declaração da matriz "mat" foi feita corretamente.
Você deverá enviar como anexo a resposta (em um Bloco de Notas), apenas o Pseudocódigo contendo as correções esperadas para que o mesmo cumpra o esperado.
Segue abaixo o pseudocódigo corrigido para preencher todos os elementos de uma matriz com o valor 1: ``` 1 - Algoritmo MatrizRetangular 2 - Var mat: vetor[1..2, 1..3] de inteiro 3 - i: inteiro 4 - j: inteiro 5 - i ← 1 6 - j ← 1 7 - Enquanto i <= 2 faça 8 - j ← 1 9 - Enquanto j <= 3 faça 10 - mat[i,j] ← 1 11 - j ← j + 1 12 - Fim_enquanto 13 - i ← i + 1 14 - Fim_enquanto 15 - Fim_algoritmo ``` As correções realizadas foram: - Na linha 5, o valor inicial de i foi corrigido para 1, pois a matriz começa no índice 1. - Na linha 6, o valor inicial de j foi corrigido para 1, pois a matriz começa no índice 1. - Na linha 7, o valor máximo de i foi corrigido para 2, pois a matriz tem 2 linhas. - Na linha 9, o valor máximo de j foi corrigido para 3, pois a matriz tem 3 colunas. - Na linha 13, foi adicionado o incremento de i para percorrer todas as linhas da matriz.
1 - Algoritmo MatrizRetangular
2 - Var mat: vetor[1..2, 1..3] de inteiro
3 - i: inteiro
4 - j: inteiro
5 - i ← 1 // Inicialize i com 1
6 - j ← 1 // Inicialize j com 1
7 - Enquanto i <= 2 faça // Deve ser <= 2, pois você tem 2 linhas
8 - Enquanto j <= 3 faça // Deve ser <= 3, pois você tem 3 colunas
9 - mat[i, j] ← 1
10 - j ← j + 1
11 - Fim_enquanto
12 - i ← i + 1 // Incrementar o contador de linha
13 - j ← 1 // Resetar o contador de coluna para 1
14 - Fim_enquanto
15 - Fim_algoritmo
Para escrever sua resposta aqui, entre ou crie uma conta
Compartilhar