Buscar

Algoritmos Aula 08

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 8 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

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.

Outros materiais