Baixe o app para aproveitar ainda mais
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
Compartilhar