Buscar

Algorítmos Aula 7 Exercicios Resolvidos 7

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 7 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 7 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

Prévia do material em texto

16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 1/7
ALGORITMOS
 7a aula
 Lupa 
Vídeo
 
PPT
 
MP3
 
 
 
 
 1a Questão
Laços de repetição são usados para que uma determinada sequência de comandos seja repetida um determinado número de vezes, sem a
necessidade de reescrever tais comandos inúmeras vezes. Marque a alternativa que apresenta corretamente a representação de um laço de
repetição codificado em C++.
d) if(int i;i<10;i++)
{cout< < I;}
e) for(i++, , int i)
{ cout<< I;}
c) for( i>0, i<10,i++)
{ cout< < I;}
b) if(i>10)
{ if (i<100) i=0;}
 a) for(int i=0;i<10;i++)
{ cout<< i;}
 
 
Explicação:
Verdadeira
a) for(int
i=0;i<10;i++)
{ cout<< i;}
 
Falso. O comando if não é de repetição. É um comando condicional.
b) if(i>10)
{ if (i<100)
i=0;}
 
Falso. A 1a. parte do for é a inicialização e não um teste como feito
na opção. Deve se usar ; separando a inicialização do teste lógico e
da parte dos incrementos.
c) for( i>0,
i<10,i++)
{ cout< < I;}
 
Falso. O comando if não é de repetição e a opção ainda usa o if de
forma incorreta.
d) if(int
i;i<10;i++)
{cout< < I;}
 
FAlso. A 1a. parte do for é a inicialização e não um incremento como
feito na opção. Deve se usar ; separando a inicialização do teste
lógico e da parte dos incrementos.
e) for(i++, ,
int i)
{ cout<< I;}
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 2/7
 
 
 
 
 2a Questão
Considere a estrutura for ( ; ; ), e assinale a afirmação correta:
Não é executada pois não tem incremento.
Não é executada, pois não tem condição de teste.
Não é executada, pois não tem variável.
Tem a sintaxe incorreta.
 É um laço infinito.
 
 
Explicação:
 
 
 Verdadeiro É um laço infinito.
 
Falso. É possível para loops infinitos ou
quase infinitos Tem a sintaxe incorreta.
 
FAlso. É possível para loops infinitos ou
quase infinitos Não é executada, pois não tem variável.
 
Falso. O teste pode ser feito dentro do for. Não é executada, pois não tem condiçãode teste.
 
Falso. O incremento pode ser posto dentro
do for.
Não é executada pois não tem
incremento.
 
 
 
 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;
 y = y + x; 
 }
 cout << "Numero: " << y << "\n";
 system("PAUSE");
 return 0;
 }
 
O maior de todos os elementos digitados
 A soma de todos os elementos
A quantidade de elementos digitados
A média dos elementos digitados
A soma dos elementos pares
 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 3/7
 
Explicação:
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um somatório, indicado na linha :
 y = y + x;
Assim, ao final do for, teremos em y o somatório de todos os números que x armazenou.
 
 
 
 4a 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 = 2 x = 3
r = 7 x = 5
r = 36 x = 7
 
 r = 36 x = 7
 r = 2 x = 3
r = 7 x = 5
 r = 3 x = 2
r = 5 x = 7
 r = 3 x = 4
r = 8 x = 6
r = 37 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
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 4/7
r = 2 x = 3
r = 7 x = 5
r = 36 x = 7
 
 
 
 
 
 
 5a 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) == 0){
 y = y + x; 
 }
 }
 cout << "Numero: " << y << "\n";
 system("PAUSE");
 return 0;
 }
O maior de todos os elementos digitados
A soma de todos os elementos
 A soma dos elementos pares
A média dos elementos digitados
A quantidade de elementos digitados
 
 
Explicação:
Analisando o trecho do programa dado :
 int i;
 double x, y = 0; //inicializa y que irá acumular o somatório
 for (i = 0; i < 10; i++){
 cout << "Digite um numero: ";
 cin >> x; //Lê o valor de x
 if ((x % 2) == 0){ //testa se x é par
 y = y + x; //Se x é par então acumula em y o valor de x, somando todos os valores das variáveis x que são
pares
 }
 }
 cout << "Numero: " << y << "\n"; //Imprime y, que acumulou o somatório mencionado acima
 
 
 
 
 
 6a Questão
Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O que é impresso na tela ?
 
 int conta, num = 1, prod = 1;
 for (conta = 4; conta > 0; conta--) {
 prod = prod *num;
 num++;
 }
 cout << "Prod = " << prod << " num = " << num << endl;
 
 
 
 Prod = 1 num = 2
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 5/7
Prod = 2 num = 3
Prod = 6 num = 4
Prod = 24 num = 5
 
 
Prod = 6 num = 5
 Prod = 24 num = 5
 
Prod não pode ser calculado e num assumirá o valor final 5.
 
Prod = 6 num = 4
 
 
Explicação:
Analisando o trecho e fazendo em seguida um teste de mesa :
 int conta, num = 1, prod = 1;
 for (conta = 4; conta > 0; conta--) {
 prod = prod *num;
 num++;
 }
 cout << "Prod = " << prod << " num = " << num << endl;
 
TESTE de mesa :
 
conta conta > 0 num prod
4 4 > 0 ? sim 1 1
3 3 > 0 ? sim 2 1
2 2 > 0 ? sim 3 2
1 1 > 0 ? sim 4 6
0 0 > 0 ? FAlso 5 24
Terminando o for, será impresso :
Prod = 24 num = 5
 
 
 
 
 
 7a Questão
Após análise do código responda a questão:
 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 6/7
 
 
Ao ser compilado e executado, o programa irá exibir na tela:
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente.
Os números pares entre 1 e 5 (inclusive) em ordem crescente.
Os valores entre 1 e 5 (inclusive) em ordem decrescente.
Os números ímpares entre 1 e 5 em ordem decrescente.
Os valores entre 1 e 5 (inclusive)em ordem crescente.
 
 
Explicação:
 
 
Verdadeira, visto que o programa imprimirá :
O valor de i e 5
O valor de i e 3
O valor de i e 1
Portanto em ordem decrescente incluindo o 5 e
o 1.
Os números ímpares entre 1 e 5
(inclusive) em ordem decrescente.
 
Falso. Não é entre apenas, pois inclui 5 e 1. Os números ímpares entre 1 e 5 emordem decrescente.
 
FAlso.É em ordem decrescente e imprime os
ímpares e não os pares.
Os números pares entre 1 e 5
(inclusive) em ordem crescente.
 
FAlso. Não é qualquer valor, mas apenas os
ímpares de 5 a 1, incluindo 5 e 1.
Os valores entre 1 e 5 (inclusive) em
ordem decrescente.
 
FAlso. Não é qualquer valor, mas apenas os
ímpares em ordem decrescente de 5 a 1.
Os valores entre 1 e 5 (inclusive)em
ordem crescente.
 
 
 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 7/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 3 2 1
 
6 5 2 3 1
 
5 4 3 2 1
 
5 6 3 2 1
 
 6 5 2 3 2
 
 
 
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

Continue navegando