Informática, perguntado por Ederino, 1 ano atrás

Em um algoritmo o programador criou dois tipos de estrutura condicional diferentes utilizando a estrutura "PARA" e trabalhando também com vetor chamado "numeros". Conforme o código apresentado as estruturas são diferentes respectivamente porque ?

para i de 1 ate 10 faca
escreva(“Digite um valor :)
leia(numeros[i])
fimpara =====================================
para i de 1 ate 10 faca
escreva(“Digite um valor :”)
leia (i)
escreva("Digite outro valor:")
leia(numeros[i])
fimpara
A) No segundo exemplo é impossível cometer erros e tentar acrescentar números em posições que não existem no vetor

B) No primeiro exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado, enquanto que no segundo exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor.
C) No primeiro exemplo é possível cometer erros e tentar acrescentar números em posições que não existem no vetor

D) Os dois vetores realizam a mesma tarefa, no mesmo modo e não proporcionam possibilidade de erros

E) No primeiro exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor, enquanto que no segundo exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado.

Linguagem Visualg

Soluções para a tarefa

Respondido por bokomoko
2
Analisando cada alternativa
A) No segundo exemplo é impossível cometer erros e tentar acrescentar números em posições que não existem no vetor 
 falso. 
O segundo exemplo é o samba do crioulo doido. O contador utilizado no comando "para" (a variável i)  é alterado pelo usuário com o comando leia(i)
Isso significa que o contador perde o controle do loop e ainda pode ocasionar um erro de acesso a um elemento fora do intervalo de subscrição do vetor.



B) No primeiro exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado, enquanto que no segundo exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor. 
falso. 
No primeiro exemplo o usuário simplesmente informa o valor que será armazenado mas ele não diz ONDE será armazenado. Quem define isso é o contador do comando "para", no caso a variável i
A segunda parte da afirmativa é totalmente falsa

C) No primeiro exemplo é possível cometer erros e tentar acrescentar números em posições que não existem no vetor
falso 
Não é possível cometer erros de subscrição. O usuário não tem controle sobre isso.

D) Os dois vetores realizam a mesma tarefa, no mesmo modo e não proporcionam possibilidade de erros 
falso.
Primeiro que não são dois vetores e sim dois algoritmos. Segundo que o primeiro algoritmo é funcional. O segundo está completamente errado e não funciona além de poder causar erro de subscrição.

E) No primeiro exemplo os números digitados são armazenados no vetor respeitando a ordem (posição) até preencher o vetor, enquanto que no segundo exemplo o usuário primeiro informa a posição que deseja inserir o número no vetor e depois o número que será armazenado. 
verdadeiro
A afirmação sobre o primeiro exemplo está correta. A afirmação sobre o segundo exemplo está correta porém falhou em mencionar que o comando "para" foi fatalmente danificado. É uma das práticas mais condenadas em programação.

Perguntas interessantes