Buscar

Questões de Programação em C++

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 74 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 y = y + x; 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
A soma dos elementos pares 
 A soma de todos os elementos 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos digitados 
Respondido em 13/05/2020 10:09:19 
 
 
Explicação: 
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um 
somatório, indicado na linha : 
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou. 
 
 
 2a Questão 
 
Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 
As afirmativas I e III são verdadeiras. 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
Somente a afirmativa III é verdadeira. 
 
As afirmativas I, II e III são verdadeiras. 
Respondido em 13/05/2020 10:09:44 
 
 
 
 3a 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 
 50 e 16 
 16 e 9 
 9 e 9 
 o valor de s está indefinido e o valor de num é 7
Respondido em 13/05/2020 10:13:48 
 
 
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 
 
 
 
 
 4a 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 não pode ser calculado e num assumirá o valor final 5. 
 Prod = 24 num = 5 
 
 
Prod = 6 num = 5 
 
 
Prod = 6 num = 4 
 
 
 Prod = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
Respondido em 13/05/2020 10:13:55 
 
 
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 
 
 
 
 
 5a Questão 
 
Após análise do código responda a questão:
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
 
 Os valores entre 1 e 5 (inclusive)em ordem crescente.
 Os números pares entre 1 e 5 (inclusive) em ordem crescente.
 Os valores entre 1 e 5 (inclusive) em ordem decrescente.
 Os números ímpares entre 1 e 5 em ordem decrescente.
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
Respondido em 13/05/2020 10:14:05 
 
 
Explicação: 
a, visto que o programa imprimirá : 
e i e 5 
e i e 3 
e i e 1 
em ordem decrescente incluindo o 5 e o 1. 
Os números ímpares entre 1 e 5 (inclu
ordem decrescente. 
o é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em or
decrescente. 
em ordem decrescente e imprime os ímpares e 
res. 
Os números pares entre 1 e 5 (inclusiv
ordem crescente. 
ão é qualquer valor, mas apenas os ímpares de 5 
ndo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em o
decrescente. 
ão é qualquer valor, mas apenas os ímpares em 
crescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em or
crescente. 
 
 
 
 6a Questão 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0; i =< 200; i++) 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0; i <= 200; i++) 
 
for (int i=0, i <= 200, i++) 
 for (int i=0; i < 200; i++) 
Respondido em 13/05/2020 10:15:10 
 
 
Explicação: 
adeira 
for (int i=0; i 
i++) 
. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
or. 
for (int i=0; i 
i++) 
a. A variável i não foi declarada. 
for ( i=0; i <=
i++) 
. Não existe =< 
for (int i=0; i 
i++) 
. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <
i++) 
 
 
 
 7a 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 média dos elementos digitados 
 
O menor de todos os elementos digitados 
 
A quantidade de elementos digitados 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos pares 
Respondido em 13/05/2020 10:15:14 
 
 
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) 
 
 
 8a Questão 
 
O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
12 8 10 7 15 
 
10 5 0 13 7 
 
0 0 0 0 0 
 
12 5 10 7 13 
 25 19 13 7 1 
Respondido em 13/05/2020 10:15:27 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
1a Questão 
 
 Marque a opção correta. O que é impresso na tela ? 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
 
 
 
 
 r = 36  x = 7 
 
      r = 3    x = 2 
r = 5    x = 7 
 
 r = 3    x = 4 
r = 8    x = 6 
r = 37  x = 7 
 r = 2    x = 3 
r = 7    x = 5 
r = 36  x = 7 
 
 r = 2    x = 3 
r = 7    x = 5 
Respondido em 13/05/2020 10:16:00 
 
 
Explicação: 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
conta conta >= 0 x r 
2 sim 1 1 
 3 2 
1 sim 5 7 
 
0 sim 7 36 
 
-1TELA 
r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 
 
 
 
 2a Questão 
 
Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino 
ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: 
quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. 
Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de 
repetição a ser utilizada deve ser FOR. 
Sabendo disso, qual seria o trecho de repetição adequado para esse programa? 
 
 
for (int cont=1;cont<=100;cont++) { 
 cin <<"Qual o sexo? "; 
 cout >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F || sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF--; } 
 else if (sexo==M || sexo==m) 
 { qtdeM--; } 
} 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M &&| sexo==m) 
 { qtdeM++; } 
} 
Respondido em 13/05/2020 10:16:23 
 
 
 
 3a Questão 
 
Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: 
 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total;<total;< p=""> </total;<> 
 
 55 
 
48 
 
63 
 
39 
 
60 
Respondido em 13/05/2020 10:16:34 
 
 
Explicação: 
Considerando o trecho e n sendo 5 : 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total; 
temos o teste de mesa : 
n total i 
5 0 15 
 0 + 15 que é 15 13 
 15 + 13 que é 28 11 
 28 + 11 que é 39 9 
 39 + 9 que é 48 7 
 48 + 7 que é 55 5 ( 5 > 5 dá falso) 
Logo, total é 55 
 
 
 4a Questão 
 
O que o trecho de programa em C++ abaixo imprime na tela ? 
 int x; 
 for (x = 5; x > 0; x--) 
 if (x % 3 == 0) 
 cout << x - 1 << " "; 
 else 
 cout << x + 1 << " "; 
 
 
 
 5 6 3 2 1 
 
 6 5 2 3 1 
 
 6 5 2 3 2 
 
 5 4 3 2 1 
 
 6 5 3 2 1 
 
Respondido em 13/05/2020 10:16:44 
 
 
Explicação: 
 int x; 
 for (x = 5; x > 0; x--) 
 if (x % 3 == 0) 
 cout << x - 1 << " "; 
 else 
 cout << x + 1 << " "; 
 
Analisando o trecho dado e fazendo teste de mesa : 
x x > 0 ? (x % 3 == 0) ? 
5 5 > 0 ? sim 5 % 3 é zero ? Não. Imprime 6 
4 4 > 0 ? sim 4 % 3 é zero ? não. Imprime 5 
3 3 > 0 ? Sim 3 % 3 é zero ? sim. Imprime 2 
2 2 > 0 ? sim 2 % 3 é zero ? não. Imprime 3 
1 1 > 0 ? sim 1 % 3 é zero ? não. Imprime 2 
 0 0 > 0 ? não 
TELA 
6 5 2 3 2 
 
 
 5a 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=10;cont<=0;cont‐‐) 
{ escreva(num," x ",cont," = ",num*cont,"\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")} 
Respondido em 13/05/2020 10:16:55 
 
 
 
 6a 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 13 
 
 
o valor de soma está indefinido e o valor de num é 10 
 
 
22 e 20 
 
 
22 e 10 
Respondido em 13/05/2020 10:16:47 
 
 
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 
 
 
 7a Questão 
 
Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma 
prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se 
o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual 
das opções a seguir apresenta as linhas de código do laço? 
 
 
do (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
while (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=1;cont<=30;cont+=2) { 
 cout <<"Informe as notas do aluno "; 
 cin <<"Teste: "; cout >>Teste; 
 cin <<"Prova: "; cout >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cin <<"Você está na média!"; } 
 else 
 { cin <<"Você está abaixo da média!"; } 
} 
 for (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=30;cont<=0;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media<7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
Respondido em 13/05/2020 10:16:58 
 
 
 8a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y; 
 cout << "Digite um numero: "; 
 cin >> x; 
 for (i=0; i<5; i++){ 
 cout << "Digite um numero: "; 
 cin >> y; 
 if (y > x){ 
 x = y; 
 } 
 } 
 cout << "Numero: " << x << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A quantidade de elementos pares 
 O maior de todos os elementos digitados 
 
A média dos elementos digitados 
 
A quantidade de elementos digitados 
 
O menor de todos os elementos digitados 
Respondido em 13/05/2020 10:17:27 
 
 
Explicação: 
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de 
entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. 
 
1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE");return 0; 
} 
 
 
A média dos elementos digitados 
 
A quantidade de elementos digitados 
 
A soma de todos os elementos 
 A soma dos elementos ímpares 
 
O maior de todos os elementos digitados 
Respondido em 13/05/2020 10:17:40 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um 
somatório com o valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em 
x, ou seja, os valores ímpares 
 
 
 2a Questão 
 
As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas 
condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. 
As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações 
semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de 
dados, ou simplesmente para repetir um mesmo processamento até que uma certa 
condição seja satisfeita. Sejam as seguintes afirmativas: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. 
 
Marque a alternativa que representa apenas as afirmativas CORRETAS: 
 
 
I 
 III 
 
I e IV 
 
II, III e IV 
 
I e III 
Respondido em 13/05/2020 10:18:10 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 
 
 3a 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 5 3 2 1 
 
5 4 3 2 1 
 
5 6 3 2 1 
 
6 3 4 1 1 
 6 3 4 1 2 
Respondido em 13/05/2020 10:18:26 
 
 
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. 
 
 
 
 4a Questão 
 
Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 
Não é executada, pois não tem variável. 
 
Tem a sintaxe incorreta. 
 
Não é executada pois não tem incremento. 
 É um laço infinito. 
 
Não é executada, pois não tem condição de teste. 
Respondido em 13/05/2020 10:18:46 
 
 
Explicação: 
 
adeiro É um laço infinito. 
ossível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável.
este pode ser feito dentro do for. Não é executada, pois não tem condição
ncremento pode ser posto dentro do for. Não é executada pois não tem increment
 
 
 
 5a Questão 
 
Qual dos comandos abaixo está escrito de forma errada? 
 
 
for (X=0 ; X < 10 ; X++) 
 
for (X=0 , Y=4 ; X < 10 ; X++ , Y--) 
 for (X < 10 ; X=0 ; X++) 
 
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) 
 
for (X=10 ; X > 0 ; X--) 
Respondido em 13/05/2020 10:18:47 
 
 
Explicação: 
to. Temos a inicialização, o teste e a parte do incremento 
for (
< 10
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++) 
 
 
 
 6a Questão 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja 
diferente de 0? 
 
 
while (num == 0) 
 while (num != 0) 
 
for (i = num; i > 0; i++) 
 
for ( i = 0; i == num; i++) 
 
enquanto (num > 0) 
Respondido em 13/05/2020 10:19:00 
 
 
Explicação: 
adeira while (num != 0)
. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0)
a. Nesta opção está "enquanto num for maior que zero" enquanto (num > 
. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == nu
 
 FAlsa. Não inicializa ou testa corretamente. for (i = num; i > 0; i++) 
 
 
 
 7a Questão 
 
Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? 
 
for(int i=3; i<100; i=i+19) 
cout << " " << i; 
 
 
3 23 42 61 80 99 
 
3 22 41 59 79 98 
 
3 23 40 60 79 98 
 3 22 41 60 79 98 
 
3 22 41 60 79 99 
Respondido em 13/05/2020 10:19:11 
 
 
Explicação: 
Considerando o trecho 
for(int i = 3; i<100; i = i+19) 
 cout << " " << i; 
fazendo passo a passo : 
i i < 100 ? 
3 3 < 100 ? Sim 
3+ 19 é 22 22 < 100 ? Sim 
22+ 19 é 41 41 < 100 ? Sim 
41 + 19 é 60 60 < 100 ? sim 
60 + 19 é 79 79 < 100 ? sim 
79 + 19 é 98 98 < 100 ? sim 
98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop
 
TELA 
3 22 41 60 79 98 
 
 
 8a Questão 
 
 
 9 e 9 
 o valor de s está indefinido e o valor de 
num é 7 
 50 e 9
 50 e 16
 16 e 9
Respondido em 13/05/2020 10:19:45 
 
 
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 
1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 y = y + x; 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A soma dos elementos pares 
 A soma de todos os elementos 
 
A quantidade de elementos digitados 
 
A média dos elementos digitados 
 
O maior de todos os elementos digitados 
Respondido em 13/05/2020 10:20:00 
 
 
Explicação: 
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um 
somatório, indicado na linha : 
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou. 
 
 
 2a Questão 
 
Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
As afirmativas I, II e III são verdadeiras. 
 
As afirmativas I e III são verdadeiras. 
 
Somente a afirmativa III é verdadeira. 
Respondido em 13/05/2020 10:20:343a Questão 
 
O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
0 0 0 0 0 
 
12 5 10 7 13 
 
12 8 10 7 15 
 
10 5 0 13 7 
 25 19 13 7 1 
Respondido em 13/05/2020 10:20:41 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 4a 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; 
} 
 
 9 e 9 
 o valor de s está indefinido e o valor de num é 7
 50 e 16 
 16 e 9 
 50 e 9 
Respondido em 13/05/2020 10:20:49 
 
 
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 
 
 
 
 
 5a 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 = 4 
 
 
Prod = 6 num = 5 
 
 
 Prod = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
 
 
Prod não pode ser calculado e num assumirá o valor final 5. 
 Prod = 24 num = 5 
Respondido em 13/05/2020 10:20:44 
 
 
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 
 
 
 
 
 6a Questão 
 
Após análise do código responda a questão:
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
 
 Os números ímpares entre 1 e 5 em ordem decrescente.
 Os valores entre 1 e 5 (inclusive) em ordem decrescente.
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
 Os números pares entre 1 e 5 (inclusive) em ordem crescente.
 Os valores entre 1 e 5 (inclusive)em ordem crescente.
Respondido em 13/05/2020 10:21:07 
 
 
Explicação: 
a, visto que o programa imprimirá : 
e i e 5 
e i e 3 
Os números ímpares entre 1 e 5 (inclu
ordem decrescente. 
O valor de i e 1 
Portanto em ordem decrescente incluindo o 5 e o 1. 
 
Falso. Não é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em ordem 
decrescente. 
 
FAlso. É em ordem decrescente e imprime os ímpares e 
não os pares. 
Os números pares entre 1 e 5 (inclusive) em 
ordem crescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares de 5 
a 1, incluindo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em ordem 
decrescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares em 
ordem decrescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em ordem 
crescente. 
 
 
 
 7a Questão 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0; i <= 200; i++) 
 for (int i=0; i < 200; i++) 
 
for (int i=0, i <= 200, i++) 
 
for (int i=0; i =< 200; i++) 
 
for ( i=0; i <= 200; i++) 
Respondido em 13/05/2020 10:21:39 
 
 
Explicação: 
adeira 
for (int i=0; i 
i++) 
. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
or. 
for (int i=0; i 
i++) 
 FAlsa. A variável i não foi declarada. 
for ( i=0; i <= 200; 
i++) 
 
 Falsa. Não existe =< 
for (int i=0; i =< 200; 
i++) 
 
 Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <= 200, 
i++) 
 
 
 
 8a 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; 
} 
 
 
O menor de todos os elementos digitados 
 
A quantidade de elementos digitados 
 A média dos elementos digitados 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos pares 
Respondido em 13/05/2020 10:21:48 
 
 
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) 
1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A soma de todos os elementos 
 A soma dos elementos ímpares 
 
A quantidade de elementos digitados 
 
A média dos elementos digitados 
 
O maior de todos os elementos digitados 
Respondido em 13/05/2020 10:22:16 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um 
somatório com o valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em 
x, ou seja, os valores ímpares 
 
 
 2a Questão 
 
As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas 
condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. 
As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações 
semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de 
dados, ou simplesmente para repetir um mesmo processamento até que uma certa 
condição seja satisfeita. Sejam as seguintes afirmativas:
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. 
 
Marquea alternativa que representa apenas as afirmativas CORRETAS: 
 
 
I 
 
II, III e IV 
 
I e III 
 III 
 
I e IV 
Respondido em 13/05/2020 10:22:28 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 
 
 3a 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 5 3 2 1 
 
5 6 3 2 1 
 
6 3 4 1 1 
 6 3 4 1 2 
 
5 4 3 2 1 
Respondido em 13/05/2020 10:22:38 
 
 
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. 
 
 
 
 4a Questão 
 
Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 
Não é executada, pois não tem condição de teste. 
 
Tem a sintaxe incorreta. 
 É um laço infinito. 
 
Não é executada pois não tem incremento. 
 
Não é executada, pois não tem variável. 
Respondido em 13/05/2020 10:22:33 
 
 
Explicação: 
 
adeiro É um laço infinito. 
ossível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável.
este pode ser feito dentro do for. Não é executada, pois não tem condição
ncremento pode ser posto dentro do for. Não é executada pois não tem increment
 
 
 
 5a Questão 
 
Qual dos comandos abaixo está escrito de forma errada? 
 
 
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++) 
 
for (X=10 ; X > 0 ; X--) 
 
for (X=0 ; X < 10 ; X++) 
Respondido em 13/05/2020 10:23:00 
 
 
Explicação: 
to. Temos a inicialização, o teste e a parte do incremento 
for (
< 10
to. Temos duas inicializações separadas por vírgula e incremento e decremento 
por vírgula. E ainda o teste corretamente. 
for (
Y=4
; X+
to. Temos a inicialização, o teste e a parte dodecremento. 
for (
> 0 
correto. Temos duas inicializações separadas por vírgula e incremento e 
emento separados por vírgula. E ainda o teste corretamente. 
 
for (
Y=0
; X+
Y=Y
taxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a 
ção estão trocados de lugar. 
for (
X=0
 
 
 
 6a Questão 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja 
diferente de 0? 
 
 
while (num == 0) 
 
for (i = num; i > 0; i++) 
 while (num != 0) 
 
for ( i = 0; i == num; i++) 
 
enquanto (num > 0) 
Respondido em 13/05/2020 10:22:53 
 
 
Explicação: 
adeira while (num != 0)
. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0)
a. Nesta opção está "enquanto num for maior que zero" enquanto (num > 
. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == nu
a. Não inicializa ou testa corretamente. for (i = num; i > 0
 
 
 
 7a Questão 
 
Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? 
 
for(int i=3; i<100; i=i+19) 
cout << " " << i; 
 
 
3 23 40 60 79 98 
 3 22 41 60 79 98 
 
3 23 42 61 80 99 
 
3 22 41 59 79 98 
 
3 22 41 60 79 99 
Respondido em 13/05/2020 10:23:10 
 
 
Explicação: 
Considerando o trecho 
for(int i = 3; i<100; i = i+19) 
 cout << " " << i; 
fazendo passo a passo : 
i i < 100 ? 
3 3 < 100 ? Sim 
3+ 19 é 22 22 < 100 ? Sim 
22+ 19 é 41 41 < 100 ? Sim 
41 + 19 é 60 60 < 100 ? sim 
60 + 19 é 79 79 < 100 ? sim 
79 + 19 é 98 98 < 100 ? sim 
98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop
 
TELA 
3 22 41 60 79 98 
 
 
 8a Questão 
 
 
 50 e 16 
 16 e 9 
 o valor de s está indefinido e o valor de num é 7
 9 e 9 
 50 e 9 
Respondido em 13/05/2020 10:23:40 
 
 
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 
1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 y = y + x; 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos digitados 
 A soma de todos os elementos 
 
A soma dos elementos pares 
 
A média dos elementos digitados 
Respondido em 13/05/2020 10:23:52 
 
 
Explicação: 
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um 
somatório, indicado na linha : 
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou. 
 
 
 2a Questão 
 
Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 
As afirmativas I e III são verdadeiras. 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
As afirmativas I, II e III são verdadeiras. 
 
Somente a afirmativa III é verdadeira. 
Respondido em 13/05/2020 10:24:43 
 
 
 3a Questão 
 
O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
12 5 10 7 13 
 
0 0 0 0 0 
 25 19 13 7 1 
 
12 8 10 7 15 
 
10 5 0 13 7 
Respondido em 13/05/2020 10:24:48 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 4a 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; 
} 
 
 9 e 9 
 o valor de s está indefinido e o valor de num é 7
 50 e 16 
 16 e 9 
 50 e 9 
Respondido em 13/05/2020 10:24:54 
 
 
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 
 
 
 
 
 5a 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 não pode ser calculado e num assumirá o valor final 5. 
 
 
Prod = 6 num = 4 
 
 
Prod = 6 num = 5 
 
 
 Prod = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
 Prod = 24 num = 5 
Respondido em 13/05/2020 10:25:18 
 
 
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 
 
 
 
 
 6a Questão 
 
Após análise do código responda a questão:
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
 
 Os valores entre 1 e 5 (inclusive)em ordem crescente.
 Os números ímpares entre 1 e 5 em ordem decrescente.
 Os números pares entre 1 e 5 (inclusive) em ordem crescente.
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
 Os valores entre 1 e 5 (inclusive) em ordem decrescente.
Respondido em 13/05/2020 10:25:39 
 
 
Explicação: 
a, visto que o programa imprimirá : 
e i e 5 
e i e 3 
e i e 1 
em ordem decrescente incluindo o 5 e o 1. 
Os números ímpares entre 1 e 5 (inclu
ordem decrescente. 
o é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em or
decrescente. 
em ordem decrescente e imprime os ímpares e 
res. 
Os números pares entre 1 e 5 (inclusiv
ordem crescente. 
ão é qualquer valor, mas apenas os ímpares de 5 
ndo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em o
decrescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares em 
ordem decrescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em ordem 
crescente. 
 
 
 
 7a Questão 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0, i <= 200, i++) 
 for (int i=0; i < 200; i++) 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0; i =< 200; i++) 
 
for (int i=0; i <= 200; i++) 
Respondido em 13/05/2020 10:26:00 
 
 
Explicação: 
adeira 
for (int i=0; i 
i++) 
. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
or. 
for (int i=0; i 
i++) 
a. A variável i não foi declarada. 
for ( i=0; i <=
i++) 
. Não existe =< 
for (int i=0; i 
i++) 
. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <
i++) 
 
 
 
 8a 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; 
} 
 
 
O maior de todos os elementos digitados 
 A média dos elementos digitados 
 
O menor de todos os elementos digitados 
 
A quantidade de elementos pares 
 
A quantidade de elementos digitados 
Respondido em 13/05/2020 10:26:12 
 
 
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) 
1a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A soma de todos os elementos 
 
O maior de todos os elementos digitados 
 
A média dos elementos digitados 
 A soma dos elementos ímpares 
 
A quantidade de elementos digitados 
Respondido em 13/05/2020 10:33:49 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um 
somatório com o valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em 
x, ou seja, os valores ímpares 
 
 
 2a Questão 
 
As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas 
condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. 
As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações 
semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de 
dados, ou simplesmente para repetir um mesmo processamento até que uma certa 
condição seja satisfeita. Sejam as seguintes afirmativas: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. 
 
Marque a alternativa que representa apenas as afirmativas CORRETAS: 
 
 
I 
 III 
 
II, III e IV 
 
I e IV 
 
I e III 
Respondido em 13/05/2020 10:33:39 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 
 3a Questão 
 
Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 É um laço infinito. 
 
Tem a sintaxe incorreta. 
 
Não é executada pois não tem incremento. 
 
Não é executada, pois não tem condição de teste. 
 
Não é executada, pois não tem variável. 
Respondido em 13/05/2020 10:34:06 
 
 
Explicação: 
 
adeiro É um laço infinito. 
ossível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável.
este pode ser feito dentro do for. Não é executada, pois não tem condição
ncremento pode ser posto dentro do for. Não é executada pois não tem increment
 
 
 
 4a Questão 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja 
diferente de 0? 
 
 
while (num == 0) 
 while (num != 0) 
 
for ( i = 0; i == num; i++) 
 
enquanto (num > 0) 
 
for (i = num; i > 0; i++) 
Respondido em 13/05/2020 10:34:12 
 
 
Explicação: 
adeira while (num != 0)
. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0)
a. Nesta opção está "enquanto num for maior que zero" enquanto (num > 
. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == nu
a. Não inicializa ou testa corretamente. for (i = num; i > 0
 
 
 
 5a Questão 
 
Qual dos comandos abaixo está escrito de formaerrada? 
 
 
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++) 
 
for (X=10 ; X > 0 ; X--) 
 
for (X=0 ; X < 10 ; X++) 
Respondido em 13/05/2020 10:34:10 
 
 
Explicação: 
to. Temos a inicialização, o teste e a parte do incremento 
for (
< 10
to. Temos duas inicializações separadas por vírgula e incremento e decremento 
por vírgula. E ainda o teste corretamente. 
for (
Y=4
; X+
to. Temos a inicialização, o teste e a parte dodecremento. 
for (
> 0 
correto. Temos duas inicializações separadas por vírgula e incremento e 
emento separados por vírgula. E ainda o teste corretamente. 
 
for (
Y=0
; X+
Y=Y
taxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a 
ção estão trocados de lugar. 
for (
X=0
 
 
 
 6a Questão 
 
 
 50 e 16 
 16 e 9 
 9 e 9 
 50 e 9 
 o valor de s está indefinido e o valor de num é 7
Respondido em 13/05/2020 10:34:34 
 
 
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 
 
 
 7a Questão 
 
Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? 
 
for(int i=3; i<100; i=i+19) 
cout << " " << i; 
 
 
3 22 41 60 79 99 
 3 22 41 60 79 98 
 
3 23 40 60 79 98 
 
3 22 41 59 79 98 
 
3 23 42 61 80 99 
Respondido em 13/05/2020 10:34:40 
 
 
Explicação: 
Considerando o trecho 
for(int i = 3; i<100; i = i+19) 
 cout << " " << i; 
fazendo passo a passo : 
i i < 100 ? 
3 3 < 100 ? Sim 
3+ 19 é 22 22 < 100 ? Sim 
22+ 19 é 41 41 < 100 ? Sim 
41 + 19 é 60 60 < 100 ? sim 
60 + 19 é 79 79 < 100 ? sim 
79 + 19 é 98 98 < 100 ? sim 
98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop
 
TELA 
3 22 41 60 79 98 
 
 
 8a Questão 
 
O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
12 5 10 7 13 
 25 19 13 7 1 
 
10 5 0 13 7 
 
0 0 0 0 0 
 
12 8 10 7 15 
Respondido em 13/05/2020 10:35:00 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
1a Questão 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0, i <= 200, i++) 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0; i =< 200; i++) 
 for (int i=0; i < 200; i++) 
 
for (int i=0; i <= 200; i++) 
Respondido em 13/05/2020 10:35:13 
 
 
Explicação: 
adeira 
for (int i=0; i 
i++) 
. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
or. 
for (int i=0; i 
i++) 
a. A variável i não foi declarada. 
for ( i=0; i <=
i++) 
. Não existe =< 
for (int i=0; i 
i++) 
. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <
i++) 
 
 
 
 2a 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; 
} 
 
 16 e 9 
 9 e 9 
 50 e 16 
 o valor de s está indefinido e o valor de num é 7
 50 e 9 
Respondido em 13/05/2020 10:35:32 
 
 
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 
 
 
 
 
 3a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 y = y + x; 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
A quantidade de elementos digitados 
 
O maior de todos os elementos digitados 
 
A soma dos elementos pares 
 A soma de todos os elementos 
Respondido em 13/05/2020 10:35:52 
 
 
Explicação: 
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um 
somatório, indicado na linha : 
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou. 
 
 
 4a Questão 
 
Após análise do código responda a questão:
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
 
 Os números ímpares entre 1 e 5 em ordem decrescente.
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
 Os números pares entre 1 e 5 (inclusive) em ordem crescente.
 Os valores entre 1 e 5 (inclusive)em ordem crescente.
 Os valores entre 1 e 5 (inclusive) em ordem decrescente.
Respondido em 13/05/2020 10:35:59 
 
 
Explicação: 
a, visto que o programa imprimirá : 
e i e 5 
e i e 3 
e i e 1 
em ordem decrescente incluindo o 5 e o 1. 
Os números ímpares entre 1 e 5 (inclu
ordem decrescente. 
o é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em or
decrescente. 
em ordem decrescente e imprime os ímpares e 
res. 
Os números pares entre 1 e 5 (inclusiv
ordem crescente. 
ão é qualquer valor, mas apenas os ímpares de 5 
ndo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em o
decrescente. 
ão é qualquer valor, mas apenas os ímpares em 
crescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em or
crescente. 
 
 
 
 5a Questão 
 
Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 
Somente a afirmativa III é verdadeira. 
 
As afirmativas I, II e III são verdadeiras. 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e III são verdadeiras. 
 
As afirmativas I e II são verdadeiras. 
Respondido em 13/05/2020 10:36:07 
 
 
 6a 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 = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
 Prod = 24 num = 5 
 
 
Prod = 6 num = 5 
 
 
Prod não pode ser calculado e num assumirá o valor final 5. 
 
 
Prod = 6 num = 4 
Respondido em 13/05/2020 10:36:29 
 
 
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 
 
 
 
 
 7a 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 média dos elementosdigitados 
 
A quantidade de elementos pares 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos digitados 
 
O menor de todos os elementos digitados 
Respondido em 13/05/2020 10:36:44 
 
 
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) 
 
 
 8a Questão 
 
 Marque a opção correta. O que é impresso na tela ? 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
 
 
 
 
 r = 36  x = 7 
 
      r = 3    x = 2 
r = 5    x = 7 
 r = 2    x = 3 
r = 7    x = 5 
r = 36  x = 7 
 r = 3    x = 4 
r = 8    x = 6 
r = 37  x = 7 
 
 r = 2    x = 3 
r = 7    x = 5 
Respondido em 13/05/2020 10:36:50 
 
 
Explicação: 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
conta conta >= 0 x r 
2 sim 1 1 
 3 2 
1 sim 5 7 
 
0 sim 7 36 
 
-1 
 
 
TELA 
r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 
 
 
 
1a 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; 
 } 
 
 
 
22 e 10 
 22 e 13 
 
 
12 e 10 
 
 
 
o valor de soma está indefinido e o valor de num é 10 
 
 
22 e 20 
Respondido em 13/05/2020 10:37:19 
 
 
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 
 
 
 2a Questão 
 
Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para Feminino 
ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes informações: 
quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de homens. 
Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de 
repetição a ser utilizada deve ser FOR. 
Sabendo disso, qual seria o trecho de repetição adequado para esse programa? 
 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F || sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M &&| sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont<=100;cont++) { 
 cin <<"Qual o sexo? "; 
 cout >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF--; } 
 else if (sexo==M || sexo==m) 
 { qtdeM--; } 
} 
Respondido em 13/05/2020 10:37:46 
 
 
 3a Questão 
 
Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: 
 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total;<total;< p=""> </total;<> 
 
 
63 
 
48 
 55 
 
60 
 
39 
Respondido em 13/05/2020 10:37:51 
 
 
Explicação: 
Considerando o trecho e n sendo 5 : 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total; 
temos o teste de mesa : 
n total i 
5 0 15 
 0 + 15 que é 15 13 
 15 + 13 que é 28 11 
 28 + 11 que é 39 9 
 39 + 9 que é 48 7 
 48 + 7 que é 55 5 ( 5 > 5 dá falso) 
Logo, total é 55 
 
 
 4a Questão 
 
O que o trecho de programa em C++ abaixo imprime na tela ? 
 int x; 
 for (x = 5; x > 0; x--) 
 if (x % 3 == 0) 
 cout << x - 1 << " "; 
 else 
 cout << x + 1 << " "; 
 
 
 
 6 5 3 2 1 
 
 5 6 3 2 1 
 
 5 4 3 2 1 
 
 6 5 2 3 1 
 
 6 5 2 3 2 
 
Respondido em 13/05/2020 10:38:03 
 
 
Explicação: 
 int x; 
 for (x = 5; x > 0; x--) 
 if (x % 3 == 0) 
 cout << x - 1 << " "; 
 else 
 cout << x + 1 << " "; 
 
Analisando o trecho dado e fazendo teste de mesa : 
x x > 0 ? (x % 3 == 0) ? 
5 5 > 0 ? sim 5 % 3 é zero ? Não. Imprime 6 
4 4 > 0 ? sim 4 % 3 é zero ? não. Imprime 5 
3 3 > 0 ? Sim 3 % 3 é zero ? sim. Imprime 2 
2 2 > 0 ? sim 2 % 3 é zero ? não. Imprime 3 
1 1 > 0 ? sim 1 % 3 é zero ? não. Imprime 2 
 0 0 > 0 ? não 
TELA 
6 5 2 3 2 
 
 
 5a 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=10;cont<=0;cont++) 
{ escreva(num," x ",cont," = ",num*5,"\n")} 
 
para (cont=0;cont<=10;num++) 
{ escreva(num," x ",cont," = ",num*num,"\n")} 
 
para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",cont*cont,"\n")} 
 
para (cont=10;cont<=0;cont‐‐) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
 para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
Respondido em 13/05/2020 10:38:13 
 
 
 6a Questão 
 
Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma 
prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se 
o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, qual 
das opções a seguir apresenta as linhas de código do laço? 
 
 
while (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 for (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=30;cont<=0;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media<7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=1;cont<=30;cont+=2){ 
 cout <<"Informe as notas do aluno "; 
 cin <<"Teste: "; cout >>Teste; 
 cin <<"Prova: "; cout >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cin <<"Você está na média!"; } 
 else 
 { cin <<"Você está abaixo da média!"; } 
} 
 
do (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
Respondido em 13/05/2020 10:38:21 
 
 
 7a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y; 
 cout << "Digite um numero: "; 
 cin >> x; 
 for (i=0; i<5; i++){ 
 cout << "Digite um numero: "; 
 cin >> y; 
 if (y > x){ 
 x = y; 
 } 
 } 
 cout << "Numero: " << x << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
A quantidade de elementos pares 
 
O menor de todos os elementos digitados 
 
A quantidade de elementos digitados 
 O maior de todos os elementos digitados 
Respondido em 13/05/2020 10:38:46 
 
 
Explicação: 
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de 
entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. 
 
 
 
 8a 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 << " "; 
 
 
5 4 3 2 1 
 
5 6 3 2 1 
 
6 5 3 2 1 
 
6 3 4 1 1 
 6 3 4 1 2 
Respondido em 13/05/2020 10:38:54 
 
 
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. 
 
1a Questão 
 
Qual dos comandos abaixo está escrito de forma errada? 
 
 
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) 
 
for (X=0 , Y=4 ; X < 10 ; X++ , Y--) 
 
for (X=0 ; X < 10 ; X++) 
 
for (X=10 ; X > 0 ; X--) 
 for (X < 10 ; X=0 ; X++) 
Respondido em 13/05/2020 10:39:28 
 
 
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++) 
 
 
 
 2a Questão 
 
As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob determinadas 
condições, mas com a opção de repetir o mesmo bloco quantas vezes forem necessárias. 
As estruturas de repetição são úteis, por exemplo, para repetir uma série de operações 
semelhantes que são executadas para todos os elementos de uma lista ou de uma tabela de 
dados, ou simplesmente para repetir um mesmo processamento até que uma certa 
condição seja satisfeita. Sejam as seguintes afirmativas: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. 
 
Marque a alternativa que representa apenas as afirmativas CORRETAS: 
 
 
II, III e IV 
 
I 
 
I e IV 
 
I e III 
 III 
Respondido em 13/05/2020 10:39:31 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 
 3a Questão 
 
Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 É um laço infinito. 
 
Tem a sintaxe incorreta. 
 
Não é executada, pois não tem condição de teste. 
 
Não é executada, pois não tem variável. 
 
Não é executada pois não tem incremento. 
Respondido em 13/05/2020 10:39:21 
 
 
Explicação: 
 
adeiro É um laço infinito. 
ossível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável.
este pode ser feito dentro do for. Não é executada, pois não tem condição
Falso. O incremento pode ser posto dentro do for. Não é executada pois não tem incremento. 
 
 
 
 4a Questão 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja 
diferente de 0? 
 
 
for (i = num; i > 0; i++) 
 
enquanto (num > 0) 
 while (num != 0) 
 
while (num == 0) 
 
for ( i = 0; i == num; i++) 
Respondido em 13/05/2020 12:26:46 
 
 
Explicação: 
adeira while (num != 0)
. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0)
a. Nesta opção está "enquanto num for maior que zero" enquanto (num > 
. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == nu
a. Não inicializa ou testa corretamente. for (i = num; i > 0
 
 
 
 5a Questão 
 
O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
12 5 10 7 13 
 
12 8 10 7 15 
 
10 5 0 13 7 
 25 19 13 7 1 
 
0 0 0 0 0 
Respondido em 13/05/2020 10:39:49 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 6a Questão 
 
 
 o valor de s está indefinido e o valor de num é 7
 16 e 9 
 50 e 16 
 9 e 9 
 50 e 9 
Respondido em 13/05/2020 10:39:54 
 
 
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 
 
 
 7a Questão 
 
Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? 
 
for(int i=3; i<100; i=i+19) 
cout << " " << i; 
 
 
3 22 41 60 79 99 
 
3 22 41 59 79 98 
 
3 23 40 60 79 98 
 3 22 41 60 79 98 
 
3 23 42 61 80 99 
Respondido em 13/05/2020 10:40:06 
 
 
Explicação: 
Considerando o trecho 
for(int i = 3; i<100; i = i+19) 
 cout << " " << i; 
fazendo passo a passo : 
i i < 100 ? 
3 3 < 100 ? Sim 
3+ 19 é 22 22 < 100 ? Sim 
22+ 19 é 41 41 < 100 ? Sim 
41 + 19 é 60 60 < 100 ? sim 
60 + 19 é 79 79 < 100 ? sim 
79 + 19 é 98 98 < 100 ? sim 
98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop
 
TELA 
3 22 41 60 79 98 
 
 
 8a Questão 
 
Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 doublex, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A soma de todos os elementos 
 
A média dos elementos digitados 
 
O maior de todos os elementos digitados 
 A soma dos elementos ímpares 
 
A quantidade de elementos digitados 
Respondido em 13/05/2020 10:40:04 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, ou seja, gera um 
somatório com o valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos valores armazenados em 
x, ou seja, os valores ímpares

Outros materiais