Buscar

Exercício 7 Algoritmos

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

Exercício: CCT0749_EX_A7_201801153345_V1 23/10/2018 15:38:05 (Finalizada)
Aluno(a): JORGIVALDO NOGUEIRA LEAL 2018.3 EAD
Disciplina: CCT0749 - ALGORITMOS 201801153345
 
 
 1a 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;
 cout << "Digite um numero: ";
 cin >> x;
 for (i=0; i<5; i++){
 cout << "Digite um numero: ";
 cin >> y;
 if (y > x){
 x = y; 
 }
 }
 cout << "Numero: " << x << "\n";
 system("PAUSE");
 return 0;
 }
O menor de todos os elementos digitados
 O maior de todos os elementos digitados
A quantidade de elementos digitados
A quantidade de elementos pares
A média dos elementos digitados
 
 
Explicação:
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de entrada armazenado em y é
comparado com x. Se y for maior que x, guardamos em x o maior valor.
 
 
 
 
 2a Questão
O que o trecho de programa em C++ abaixo imprime na tela ?
 int x;
 for (x = 1; x <= 5; x++)
 if (x % 3 == 0 && x % 5 == 0 )
 cout << x + 2 << " ";
 else
 cout << x + 1 << " ";
2 3 4 6
 
1 3 5 7 9
 
3 5 7 9
 
2 4 6 8 10
 
 
2 3 4 5 6
 
 
 
Explicação:
 Analisemos o trecho :
 int x;
 for (x = 1; x <= 5; x++)
 if (x % 3 == 0 && x % 5 == 0 )
 cout << x + 2 << " ";
 else
 cout << x + 1 << " ";
 
Para cada x de 1 até 5, inclusive, faça : 
 >>>> teste se x é divisível por 3 e por 5, analisando o resto da divisão com %. Se for divisível por ambos, imprime o valor de x
+ 2. Se não for por ambos, imprime o valor de x +1.
Quando x for 6, não entraremos mais no loop.
Vejamos passo a passo :
>> para x igual a 1 : o teste do if falha. Então, imprimimos 2
>> para x igual a 2 : o teste do if falha. Então, imprimimos 3
>> para x igual a 3 : o teste do if falha. Então, imprimimos 4
>> para x igual a 4 : o teste do if falha. Então, imprimimos 5
>> para x igual a 5 : o teste do if falha. Então, imprimimos 6
>> para x igual a 6 : o teste do for falha.
Logo, a resposta é 2 3 4 5 6 
 
 
 
 3a Questão
A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que representa uma REPETIÇÃO :
No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR.
 Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio.
Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO.
Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois.
Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar.
 
 
Explicação:
Falso. É um condicional. No trânsito, se o sinal estiver vermelho, PARE, se não,PODE PASSAR.
 
 Verdadeiro. Tem o
comando enquanto.
Para encher um copo com água, mantenha a torneira
aberta enquanto o copo não esitver cheio.
 
Falso. É uma sequência Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar.
 
Falso. É um comando
condicional ... tem se ... se
não..
Se um aluno obter média abaixo de 6.0 estará
REPROVADO, se não estará APROVADO.
 
Falso. Comando sequencial. Calcule a média de um aluno somando as duasmaiores notas e dividindo a soma por dois.
 
 
 
 4a 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 2 3 2
 
5 6 3 2 1
 
6 5 2 3 1
 
6 5 3 2 1
 
5 4 3 2 1
 
 
 
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
 
 
 
 5a 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++.
b) if(i>10)
{ if (i<100) i=0;}
e) for(i++, , int i)
{ cout<< I;}
c) for( i>0, i<10,i++)
{ cout< < I;}
d) if(int i;i<10;i++)
{cout< < I;}
 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;}
 
 
 
 
 6a Questão
Marque a opção correta. Considere o trecho de programa feito em C++. O valor final de s e o valor final de
num, são respectivamente:
int conta, num=1, s=0;
for(conta = 10; conta < = 40; conta= conta+10){
 s= s+num;
 num= num +2;
 }
50 e 16
 16 e 9
9 e 9
o valor de s está indefinido e o valor de num é 7
50 e 9
 
 
Explicação:
Acompanhe o teste de mesa :
num s conta conta <= 10 ? 
1 0 10 sim
3 1 20 sim
5 4 30 sim
7 9 40 sim
9 16 50 não
Logo, s vale 16 e num vale 9
 
 
 
 
 
 7a 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 = 3 x = 2
r = 5 x = 7
 r = 2 x = 3
r = 7 x = 5
r = 36 x = 7
 r = 3 x = 4
r = 8 x = 6
r = 37 x = 7
 
 r = 36 x = 7
 r = 2 x = 3
r = 7 x = 5
 
 
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
r = 2 x = 3
r = 7 x = 5
r = 36 x = 7
 
 
 
 
 
 
 8a 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 quantidade de elementos digitados
A média dos elementos digitados
A soma dos elementos pares
 A soma de todos os elementos
 
 
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.

Outros materiais