Buscar

Algorítmos Aula 7 Exercicios Resolvidos 4

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 6 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 6 páginas

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/6
ALGORITMOS
 7a aula
 Lupa 
Vídeo
 
PPT
 
MP3
 
 
 
 
 1a Questão
Qual dos comandos abaixo está escrito de forma errada?
for (X=10 ; X > 0 ; X--)
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2)
for (X=0 , Y=4 ; X < 10 ; X++ , Y--)
 for (X < 10 ; X=0 ; X++)
for (X=0 ; X < 10 ; X++)
 
 
Explicação:
Está correto. Temos a inicialização, o teste e a parte do
incremento
for (X=0 ; X < 10
; X++)
 
Está correto. Temos duas inicializações separadas por vírgula e
incremento e decremento separados por vírgula. E ainda o teste
corretamente.
for (X=0 , Y=4 ; X
< 10 ; X++ , Y--)
 
Está correto. Temos a inicialização, o teste e a parte
dodecremento.
for (X=10 ; X > 0
; X--)
 
Está correto. Temos duas inicializações separadas por vírgula
e incremento e decremento separados por vírgula. E ainda o
teste corretamente.
 
for (X=0 , Y=0 ; X
< 10 ; X++ ,
Y=Y+2)
 
 A sintaxe desta opção está incorreta e portanto, deve ser
marcada. O teste lógico e a inicialização estão trocados de lugar.
for (X < 10 ; X=0
; X++)
 
 
 
 2a Questão
Considere a estrutura for ( ; ; ), e assinale a afirmação correta:
Não é executada, pois não tem condição de teste.
Não é executada, pois não tem variável.
Tem a sintaxe incorreta.
Não é executada pois não tem incremento.
 É um laço infinito.
 
 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 2/6
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
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++.
c) for( i>0, i<10,i++)
{ cout< < I;}
e) for(i++, , int i)
{ cout<< I;}
b) if(i>10)
{ if (i<100) i=0;}
 a) for(int i=0;i<10;i++)
{ cout<< i;}
d) if(int i;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 c) for( i>0,
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 3/6
na opção. Deve se usar ; separando a inicialização do teste lógico e
da parte dos incrementos.
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;}
 
 
 
 
 4a Questão
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa correta para que um programa
repita 200 vezes um bloco de comandos através da estrutura de repetição FOR na linguagem C++.
for (int i=0; i <= 200; i++)
for ( i=0; i <= 200; i++)
for (int i=0, i <= 200, i++)
 for (int i=0; i < 200; i++)
for (int i=0; i =< 200; i++)
 
 
Explicação:
 
 Verdadeira
for (int i=0; i <
200; i++)
 
 Falsa. Entraremos 201 vezes no bloco do for, pois i começou
de 0 e é <= no teste do for.
for (int i=0; i <=
200; i++)
 
 FAlsa. A variável i não foi declarada.
for ( i=0; i <=
200; i++)
 
 Falsa. Não existe =<
for (int i=0; i =<
200; i++)
 
 Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e
vírgula.
for (int i=0, i <=
200, i++)
 
 
 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 4/6
 5a 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
 
2 4 6 8 10
 
 
2 3 4 5 6
 
1 3 5 7 9
 
3 5 7 9
 
 
 
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 
 
 
 
 6a Questão
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034… 5/6
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.
Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO.
Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar.
 Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio.
Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois.
 
 
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.
 
 
 
 7a 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;
 }
 16 e 9
o valor de s está indefinido e o valor de num é 7
9 e 9
50 e 9
50 e 16
 
 
Explicação:
Acompanhe o teste de mesa :
num s conta conta <= 10 ? 
16/10/2018 Conteúdo Interativo
http://estacio.webaula.com.br/Classroom/index.html?id=2253755&classId=979811&topicId=2775468&p0=03c7c0ace395d80182db07ae2c30f034…6/6
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
 
 
 
 
 
 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;
 }
 
A soma dos elementos pares
A quantidade de elementos digitados
O maior de todos os elementos digitados
 A soma de todos os elementos
A média dos elementos digitados
 
 
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