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

Analise os dois programas abaixo e assinale com um x a alternativa que mostra o número da afirmação que é verdadeira ou, se houver mais de uma, todas as afirmações verdadeiras.
#include
#include
int main (void)
{
int nr=1;
while (nr!=0)
{
printf ("Digite um numero (0 para finalizar): ");
scanf ("%d",&nr);
if (nr>0)
printf ("Este numero e positivo.\n");
else
printf ("Este numero e negativo.\n");
}
return 0;
}
#include
#include
int main ()
{
int nr=1;
printf ("Digite um numero (0 para finalizar): ");
scanf ("%d",&nr);
if (nr>0)
printf ("Este numero e positivo.\n");
if (nr<0)
printf ("Este numero e negativo.\n");
return 0;
}
I- Ambos mostrarão na tela se o número digitado é positivo ou negativo. II- Ambos mostrarão na tela se o número digitado é positivo, negativo ou zero. III- Ambos encerrarão o programa somente quando digitar zero. IV- Somente o programa da coluna da direita encerrará apenas quando digitar zero. V- O programa da esquerda encerrará quando digitar um número positivo ou negativo, além de zero.
( ) Apenas I ( ) Apenas II ( ) Apenas III ( ) IV e V ( ) I, III e IV

Soluções para a tarefa

Respondido por bokomoko
1
I- Ambos mostrarão na tela se o número digitado é positivo ou negativo.
Verdade. Ambos fazem isso.

II- Ambos mostrarão na tela se o número digitado é positivo, negativo ou zero.
falso. Se o número for 0 eles farão nada.

III- Ambos encerrarão o programa somente quando digitar zero.
Well ... o primeiro certamente vai terminar quando digitar 0. O segundo vai terminar, independente de digitar 0 ou não. Ele só vai fazer o teste uma vez. Então, digamos que a digitação do 0 causa o fim do primeiro programa. A digitação do 0 não causa a terminação do segundo programa. Entao é "falso"

 IV- Somente o programa da coluna da direita encerrará apenas quando digitar zero.
aqui temos dois problemas. Primeiro, não temos "esquerda" e "direita" e sim "primeiro" e "segundo" porque um está debaixo do outro. O primeiro programa certamente encerra quando digitar 0. O segundo também vai parar quando digitar 0 mas não por causa disso.

 V- O programa da esquerda encerrará quando digitar um número positivo ou negativo, além de zero. 
falso. Nenhum dos programas fará isso.

Detalhe importante
no primeiro programa temos um comando de repetição que começa assim
while (nr!=0) 

Esse while poderia facilmente ser substituir por 
while( nr ) 

QUalquer valor não 0 (zero) é considerado verdadeiro


Perguntas interessantes