Prévia do material em texto
ALGORITMOS 8a aula Lupa Vídeo PPT MP3 Exercício: CCT0749_EX_A8__V2 04/11/2018 16:19:29 (Finalizada) Aluno(a): 2018.3 EAD Disciplina: CCT0749 - ALGORITMOS 1a Questão Considere o trecho de programa em C++ abaixo. Marque a opção que, corretamente, mostra o que é impresso na tela. int x, y, z; x = 5; y = 20; while (x <= y) { z = x + y; x = x + 5; } cout << z << endl; 30 20 40 25 35 Explicação: Analisando passo a passo... x recebe 5 e y recebe 20 1o. teste ... 5 <= 20 ? sim. Entra no loop e faz : z recebe 25 x recebe 5+5, que dá 10 2o. teste ... 10 <= 20 ? sim. Entra no loop e faz : z recebe 30 x recebe 15 3o. teste ... 15 <= 20 ? sim. Entra no loop e faz : z recebe 35 x recebe 20 4o. . teste ... 20 <= 20 ? sim. Entra no loop e faz : z recebe 40 x recebe 25 5o. teste ... 25 <= 20 ? Falso. Depois do fim do while será impresso o valor de z que é 40. 2a 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: for/while for while do/while do/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. 3a Questão A partir da comparação entre as estruturas while e do...while, é certo afirmar que: 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. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre executado, pelo menos uma 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. Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser executado. Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. Explicação: Falso. 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. Verdadeiro 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. Falso. No while pode não ser executado nenhuma vez. 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 4a 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 todos os números de 0 a 49 Soma todos os números pares de 0 a 50 Soma os 50 números pares digitados. Soma todos os números ímpares de 0 a 49 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ável SOMA 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.