Lógica de programação;
Para responder às questões abaixo considere o seguinte enunciado:
Crie um algoritmo que defina duas matrizes M e N ambas com dimensões 2x2 do tipo inteiro.
O algoritmo deve carregar a matriz M com valores e solicitar que o usuário informe um valor inteiro Y.
A matriz N deve ser o resultado da mulpliticação de cada posição da matriz M pelo valor Y.
Esse trecho de código é parte da solução para o enunciado acima. Considere-o também para resolver as questões abaixo.
1- Sobre as matrizes M e N, é possível afirmar que após a execução do código, pode ser encontrado valor nelas diferente do tipo inteiro
Certo
Errado
2- É possível afirmar que não foram utilizados contadores no trecho de código acima
Certo
Errado
3- Para declarar as matrizes M e N seria possível utilizar a linha M, N: vetor[0..1,0..1] de inteiro *
Certo
Errado
4- O trecho de código possui mais de um erro. Aponte o número de uma das linhas onde você acredita haver um dos erros. *
1
2
3
4
5
5- Considerando a linha que você apontou na questão anterior, informe como ela deveria ser escrita para que seja corrigida
Soluções para a tarefa
Resposta:
1- Errado
2- Errado
3- Certo
4- linha 3
5- N[i,j] <- Y * M[i,j]
Explicação:
1- Todas as entradas de valores do código são do tipo inteiro e não foi realizada uma operação de divisão, única forma de haver um valor do tipo real. Sendo assim: "Errado".
2- No código existem dois contadores (i,j). Sendo assim: "Errado".
3- Essa é a forma que se declara uma matriz. Sendo assim: "Certo".
4- As linhas 1 e 2 estão erradas por estar faltando a definição da quantidade de incremento dos contadores (passo 1) e a linha 3 está usando a variável X e a operação de adição. Sendo assim: eu escolho o erro da linha 3 como erro mais grave, pois os outros erros impedem a execução por serem erros de sintaxe e o da linha 3 vai executar normalmente devido ao erro ser lógico.
5- Correção de todos os erros :
linha 1
para i de 0 ate 1 faca
para i de 0 ate 1 passo 1 faca
linha 2
para j de 0 ate 1 faca
para j de 0 ate 1 passo 1 faca
linha 3
N[i,j] <- X + M[i,j]
N[i,j] <- Y * M[i,j]
Veja o algoritmo na imagem anexa.
Espero ter ajudado.
Bons estudos!