Buscar

Teste de Conhecimento - PROGRAMAÇÃO APLICADA A SISTEMAS ELÉTRICOS - 8 unidade - ESTRUTURAS DE REPETIÇÃO - PARTE 2

Prévia do material em texto

1
          Questão
	
	
	Marque a opção correta.  Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ?
 
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
      prod = prod *num;
      num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;
 
		
	
	 
Prod = 6   num = 5
	
	 
Prod não pode ser calculado e num assumirá o valor final 5.
	 
	Prod = 24 num = 5
	
	 
             Prod = 1  num = 2
Prod = 2   num = 3
Prod = 6   num = 4
Prod = 24 num = 5
 
	
	 
Prod = 6  num = 4
	Respondido em 13/04/2021 21:55:23
	
Explicação:
Analisando o trecho e fazendo em seguida um teste de mesa :
   int conta, num = 1, prod = 1;
   for (conta = 4; conta > 0; conta--) {
          prod = prod *num;
         num++;
   }
   cout << "Prod = "  << prod << "  num = " << num << endl;
 
TESTE de mesa :
 
	conta
	conta > 0
	num 
	prod
	4
	 4 > 0 ? sim
	1
	1
	3
	3 > 0 ? sim
	2
	1
	2
	2 > 0 ?  sim
	3
	2
	1
	1 > 0 ? sim
	4
	6
	0
	0 > 0 ? FAlso
	5
	24
Terminando o for, será impresso :
Prod = 24 num = 5
 
 
	
	
	 
		2
          Questão
	
	
	Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de num, são respectivamente:
int conta, num=1, s=0;
for(conta = 10; conta < = 40; conta= conta+10){
     s= s+num;
     num= num +2;
}
		
	
	50 e 9
	
	9 e 9
	
	50 e 16
	 
	16 e 9
	
	o valor de s está indefinido e o valor de num é 7
	Respondido em 13/04/2021 21:55:39
	
Explicação:
Acompanhe o teste de mesa :
	num
	s
	conta
	conta <= 10 ? 
	1 
	0
	10
	sim
	3
	1
	20
	sim
	5
	4
	30
	sim
	7
	9
	40
	sim
	9
	16
	50
	 não
Logo, s vale 16 e num vale 9
 
 
	
	
	 
		3
          Questão
	
	
	Se você desejasse escrever um programa em C++ que recebesse um número qualquer e exibisse a sua tabuada, precisaria da seguinte repetição:
		
	
	para (cont=0;cont<=10;cont++)
{ escreva(num," x ",cont," = ",cont*cont,"\n")}
	
	para (cont=0;cont<=10;num++)
{ escreva(num," x ",cont," = ",num*num,"\n")}
	 
	para (cont=0;cont<=10;cont++)
{ escreva(num," x ",cont," = ",num*cont,"\n")}
	
	para (cont=10;cont<=0;cont++)
{ escreva(num," x ",cont," = ",num*5,"\n")}
	
	para (cont=10;cont<=0;cont--)
{ escreva(num," x ",cont," = ",num*cont,"\n")}
	Respondido em 13/04/2021 21:55:45
	
	
	 
		4
          Questão
	
	
	O que o trecho de programa em C++ abaixo imprime na tela ?
 
   int y;
  for (y = 5; y > 0; y--)
     if (y % 2 == 0)
        cout << y - 1 << " ";
     else
        cout << y + 1 << " ";
		
	
	6 3 4 1 1
	 
	6 3 4 1 2
	
	6 5 3 2 1
	
	5 6 3 2 1
	
	5 4 3 2 1
	Respondido em 13/04/2021 21:55:50
	
Explicação:
FAzer teste de mesa. A cada rodada do loop atribuir um valor a y  e testar se o valor de y é par. Se for par, deverá ser impresso o valor do antecessor de y. Caso contrário, deverá ser impresso o valor do sucessor de y.
 
	
	
	 
		5
          Questão
	
	
	Qual dos comandos abaixo está escrito de forma errada?
		
	 
	for (X < 10 ; X=0 ; X++)
	
	for (X=0 ; X < 10 ; X++)
	
	for (X=0 , Y=4 ; X < 10 ; X++ , Y--)
	
	for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2)
	
	for (X=10 ; X > 0 ; X--)
	Respondido em 13/04/2021 21:55:56
	
Explicação:
	Está correto. Temos a inicialização, o teste e a parte do incremento
	for (X=0 ; X < 10 ; X++)
	 
	Está correto.  Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente.
	for (X=0 , Y=4 ; X < 10 ; X++ , Y--)
	 
	Está correto. Temos a inicialização, o teste e a parte dodecremento.
	for (X=10 ; X > 0 ; X--)
	 
		Está correto.  Temos duas inicializações separadas por vírgula e incremento e decremento separados por vírgula. E ainda o teste corretamente.
	 
	for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2)
	 
	 A sintaxe desta opção está incorreta e portanto, deve ser marcada.  O teste lógico e a inicialização estão trocados de lugar.
	for (X < 10 ; X=0 ; X++)
	
	
	
	
	 
		6
          Questão
	
	
	
		
	
	9 e 9
	
	50 e 9
	
	o valor de s está indefinido e o valor de num é 7
	 
	16 e 9
	
	50 e 16
	Respondido em 13/04/2021 21:56:01
	
Explicação:
 
	conta
	num
	s
	conta <= 40 ?
	10
	1
	0
	sim
	20
	3
	0 + 1 , que dá 1
	sim
	30
	5
	1 + 3, que dá 4
	sim
	40
	7
	4 + 5, que é 9
	sim
	50
	9
	9 + 7, que é 16
	Falso !
 
Valor final de s é 16 e o valor final de num é 9
	
	
	 
		7
          Questão
	
	
	Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário:
int main ( ) {
    int i = 0;
    double x, y = 0;
    cout << "Digite um numero: ";
    cin >> x;
    while (x != 0){
        i = i + 1;
        y = y + x;
        cout << "Digite um numero: ";
        cin >> x;
    }
    y = y / i;
    cout << "Numero: " << y << "\n";
    system("PAUSE");
    return 0;
}
		
	
	A quantidade de elementos pares
	 
	A média dos elementos digitados
	
	O menor de todos os elementos digitados
	
	A quantidade de elementos digitados
	
	O maior de todos os elementos digitados
	Respondido em 13/04/2021 21:56:09
	
Explicação:
 int i = 0;         //inicializa a quantidade de elementos digitados diferentes de zero
 double x, y = 0;          // y inicializa o somatorio dos valores de entrada
    cout << "Digite um numero: ";
    cin >> x;   //Lê o primeiro valor
    while (x != 0){      //Enquanto o valor de entrada não for zero
        i = i + 1;          //conta mais um número lido
        y = y + x;        //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados em x
        cout << "Digite um numero: ";
        cin >> x;   //Lê o proóximo número
    }
    y = y / i;         //Divide a soma dos números lidos não nulos por i  ( i é o total de números lidos não nulos)
    cout << "Numero: " << y << "\n";   //Imprime a média armazenada em y
Logo : O programa calcula a média dos números digitados (diferente de zero)
	
	
	 
		8
          Questão
	
	
	
Marque a opção correta.  Considere o trecho de programa feito abaixo em C++. O valor final de soma e o valor final de num, são respectivamente
 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
        soma = soma + num;
         num = num + 3;
   }
		
	
	 
12 e 10
 
	
	 
22 e 20
	
	 
22  e 10
	 
	22  e  13
	
	 
o valor de soma está indefinido e o valor de num é 10
	Respondido em 13/04/2021 21:56:16
	
Explicação:
 
Analisando o trecho : 
int contador, num = 1, soma = 0;
for (contador = 1; contador <= 20; contador += 5) {
        soma = soma + num;
         num = num + 3;
   }
 
Fazendo teste de mesa :
	contador
	num
	soma
	contador <= 20
	1
	1
	0
	sim
	6
	4
	1
	sim
	11
	7
	5
	sim
	16
	10
	12
	sim
	21
	13
	22
	21 <= 20 ? Falso.
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
	 
Os valores finais das variáveis estão em vermelho.
Logo, a resposta é 22  e  13

Continue navegando