Você acabou de conseguir um estágio, mas, para passar na prova, precisou resolver o seguinte problema: “crie um procedimento que mostre os números de 1 a x na tela, onde x é um número digitado pelo usuário e será o parâmetro do procedimento”. Qual a solução correta utilizada para a questão?
a.
Procedimento GerarNumero(inteiro num)
para x de 1 ate num passo 1
escrever x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)
fim
b.
Procedimento GerarNumero(inteiro num)
escrever x , "\n"
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)
fim
c.
Procedimento GerarNumero(inteiro num)
para x de 1 ate num passo 1
escrever x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
Gerar(numero)
fim
d.
Procedimento GerarNumero()
para x de 1 ate num passo 1
escrever x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)
fim
e.
Procedimento GerarNumero(inteiro num)
para x de 1 ate num passo 1
return x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)
fim
Soluções para a tarefa
Procedimento GerarNumero(inteiro num)
para x de 1 ate num passo 1
escrever x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)
fim
Oi!
Bem, sem enrolação, a resposta está na alternativa a. Mas vamos ver como calma o motivo do erro de cada uma das demais alternativas:
--> Erro da alternativa b:
O valor que varia é y e o que é exibido é x.
Veja que esse algoritmo vai escrever o valor de x 10 vezes iguais. Por acaso, o valor de x é indefinido.
--> Erro da alternativa c
O valor de x é 1, mas no passo 2, que irá exibir 1, 3, 5, 7, 9.
--> Erro da alternativa d
Aqui o loop nem começa, haja vista que o passo é -1.
--> Erro na alternativa e ?
O x começa em 10.
--> Por isso a alternativa correta está na alternativa a)
Procedimento GerarNumero(inteiro num)
para x de 1 ate num passo 1
escrever x , "\n"
fim_para
fim
inicio
inteiro numero
ler numero
GerarNumero(numero)