Baixe o app para aproveitar ainda mais
Prévia do material em texto
1a Questão Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no trecho de código abaixo? Marque a opção correta. x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } x < 5 x <= 11 x < 10 x > 10 x <= 5 Explicação: Analisando : x = 1; while ( _________ ) { cout<<"AMOR \n"; x = x + 2; } Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. Veja que entraremos no loop quando : x vale 1 x vale 3 x vale 5 x vale 7 x vale 9 E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while. 2a 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 O menor de todos os elementos digitados A quantidade de elementos pares A quantidade de elementos digitados A média dos elementos digitados 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) 3a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, no trecho de código abaixo: cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } 29 31 30 Nenhuma das alternativas. 15 Explicação: Fazendo passo a passo : cont = 0; while( cont < 30 ) { cout << "ALGORITMO" << endl; cont = cont + 1; } variável cont Teste cont < 30 ? Sim ou não ? 0 0 < 30 ? sim 1 1 < 30 ? sim 2 2 < 30 ? Sim 3 3 < 30 ? Sim 4 4 < 30 ? Sim 5 5 < 30 ? sim 6 6 < 30 ? sim 7 7 < 30 ? sim continuando até 29 29 < 30 ? Sim 30 30 < 30 ? Não. Falso. Não entra no while Note que entrou 30 vezes no corpo do while e a cada vez que entrou imprimiu ALGORITMO TELA ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO ALGORITMO >>>>>>>>>>>>>>>>>> Logo, imprimiu 30 vezes a palavra ALGORITMO 4a Questão A fim de possibilitar a implementação de algoritmos estudamos algumas estruturas básicas, como estrutura de desvio de fluxo, estrutura de repetição etc. Entre as estrutura de repetição há uma na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição. Esta estrutura é implementada em C++ pelo comando básico: while do/while for/while do/for for Explicação: O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma vez antes de testarmos a condição. Os comando for ou while, temos que testar antes de fazer. 5a Questão Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no trecho de código abaixo: x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; }while ( x > 48); 8 vezes 7 vezes 5 vezes 4 vezes 6 vezes Explicação: Analisando passo a passo o trecho dado : x = 50; do{ y = 8; do{ cout<<"PAZ \n"; y++; } while ( y <10); x--; } while ( x > 48); x y 50 8 49 9 48 (48 > 48 ? ) Falso 10 ... 10 < 10 ? FALSO 8 9 10 ... 10 < 10 ? Falso PAZ PAZ PAZ PAZ 6a Questão A partir da comparação entre as estruturas while e do...while, é certo afirmar que: Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. Explicação: No do/while primeiro se faz o que está no corpo do loop para depois testar e no while, se testa para depois fazer o queestá no corpo do loop. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Falso. No do/while o bloco de instruções será feito pelo menos 1 vez. No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o bloco de comandos será sempre executado, pelo menos uma vez. adeiro No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o bloco de comandos controlado será sempre executado, pelo menos uma vez. No while pode não ser executado nenhuma Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma vez. Falso. No do/while as instruções serão feitas pelo menos 1 vez. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado 7a Questão O que está sendo executado pelo programa C++ a seguir? int main() { int CONT, SOMA; CONT = 0; SOMA = 0; while (CONT < 50) { SOMA = SOMA + CONT; CONT = CONT + 2; } } Soma os 50 números pares digitados. Soma todos os números de 0 a 49 Soma todos os números ímpares de 0 a 49 Soma todos os números pares de 0 a 50 Soma todos os números pares de 0 a 48 Explicação: Analisando o trecho em C++ : int main() { int CONT, SOMA; CONT = 0; SOMA = 0; while (CONT < 50) { SOMA = SOMA + CONT; CONT = CONT + 2; } } CONT SOMA CONT < 50 0 0 0 < 50 ? SIM 2 0 2 < 50 ? SIM 4 2 ... ... 50 .... 50 < 50 ? FALSO O trecho soma os valores de CONT até 48, sendo que tal variável varia de 2 em 2. Ou seja, a variávelSOMA acumula os valores de CONT de 0 ATÉ 48, somando os valores pares neste intervalo. Note que o teste do loop pára quando CONT assume o valor 50. 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 diferente de zero : "; cin >> x; while (x != 0){ i = i + 1; y = y + x; cout << "Digite um numero diferente de zero: "; cin >> x; } y = y / i; cout << "Numero: " << i << "\n"; return 0; } O maior de todos os elementos digitados A quantidade de elementos pares A quantidade de elementos digitados diferentes de zero. O menor de todos os elementos digitados A média dos elementos digitados Explicação: A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é a quantidade i calculada. Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado através do uso de i que é incrementado. Claro que x é manipulado, tendo seu valor somado com o valor de y, mas ao final do programa a quantidade i é impressa. Se o valor zero for digitado, ele não será contado.
Compartilhar