Buscar

AlgoritmoAula08.V02


Continue navegando


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.