Baixe o app para aproveitar ainda mais
Prévia do material em texto
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 ( 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 (int i=0; i <= 200; i++) Explicação: Verdadeira for (int i=0; i < 200; i++) Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no teste do for. for (int i=0; i <= 200; i++) FAlsa. A variável i não foi declarada. for ( i=0; i <= 200; i++) Não existe =< for (int i=0; i =< 200; i++) Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. for (int i=0, i <= 200, i++) 2a Questão O que o trecho de programa em C++ abaixo imprime na tela ? int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; 2 3 4 6 1 3 5 7 9 3 5 7 9 2 4 6 8 10 2 3 4 5 6 Explicação: Analisemos o trecho : int x; for (x = 1; x <= 5; x++) if (x % 3 == 0 && x % 5 == 0 ) cout << x + 2 << " "; else cout << x + 1 << " "; Para cada x de 1 até 5, inclusive, faça : >>>> teste se x é divisível por 3 e por 5, analisando o resto da divisão com %. Se for divisível por ambos, imprime o valor de x + 2. Se não for por ambos, imprime o valor de x +1. Quando x for 6, não entraremos mais no loop. Vejamos passo a passo : >> para x igual a 1 : o teste do if falha. Então, imprimimos 2 >> para x igual a 2 : o teste do if falha. Então, imprimimos 3 >> para x igual a 3 : o teste do if falha. Então, imprimimos 4 >> para x igual a 4 : o teste do if falha. Então, imprimimos 5 >> para x igual a 5 : o teste do if falha. Então, imprimimos 6 >> para x igual a 6 : o teste do for falha. Logo, a resposta é 2 3 4 5 6 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; 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 O maior de todos os elementos digitados A soma de todos os elementos A soma dos elementos ímpares 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 4a Questão Analise o trecho de código em C++ abaixo : for (int x = 0; x < 10; x++) { if (valor[x] % 3 == 0 && valor[x] % 7 == 0) cout << valor[x]; } Imprimirá na tela todos os valores de um vetor que são pares. Imprimirá na tela todos os valores de um vetor que são ímpares. Imprimirá na tela todos os valores de um vetor que não são múltiplos de 5. Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7. Imprimirá na tela todos os valores de um vetor. Explicação: Verdadeiro Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7. Falso. Imprimirá o valor 105, que é múltiplo de 3, 7 e 5. Imprimirá na tela todos os valores de um vetor que não são múltiplos de 5. Falso. Só imprimirá os múltiplos de 3 e 7. Imprimirá na tela todos os valores de um vetor. Imprimirá na tela o valor 21, que é Imprimirá na tela todos os valores de um vetor que são pares. Imprimirá na tela o valor 42, que é Imprimirá na tela todos os valores de um vetor que são ímpares. 5a Questão A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa uma REPETIÇÃO : Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois. Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. Explicação: Falso. É um condicional. No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. Verdadeiro. Tem o comando Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. Falso. É uma sequência Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. Falso. É um comando condicional ... tem se ... se não.. Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. Comando sequencial. Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois. 6a 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 50 e 9 9 e 9 o valor de s está indefinido e o valor de num é 7 50 e 16 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 7a 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 = 3 x = 4 r = 8 x = 6 r = 37 x = 7 r = 2 x = 3 r = 7 x = 5 r = 3 x = 2 r = 5 x = 7 r = 36 x = 7 r = 2 x = 3 r = 7 x = 5 r = 36 x = 7 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 8a 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 2 3 1 5 6 3 2 1 5 4 3 2 1 6 5 2 3 2 6 5 3 2 1 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
Compartilhar