Buscar

ESTACIO - ADS - ALGORITMOS - AULA7 - PROVA2

Prévia do material em texto

06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 1/8
 
 
 
 ALGORITMOS 7a aula
 Lupa 
Vídeo
 
PPT
 
MP3
 
 
Exercício: CCT0749_EX_A7_201909139122_V2 05/05/2020
Aluno(a): VINICIUS DE JESUS SMADESKI 2020.1 EAD
Disciplina: CCT0749 - ALGORITMOS 201909139122
 
 1a Questão
Considere o trecho abaixo sabendo que num é um variável inteira.
 
num = 11;
do {
 if (num % 2 == 0)
 cout << num << "\n";
 num = num -1 ;
} while (num != 0);
 
Assinale a opção correta :
O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 0, nesta ordem.
 O trecho fornecido pára quando num for zero e os números exibidos são todos os pares de 10 até 2, nesta ordem.
o trecho fornecido pára quando num for diferente de zero e são exibidos os valores 10 e 8, pelo menos.
O trecho fornecido pára quando num for diferente de zero e o único número exibido é o 10.
O trecho entra em loop.
Respondido em 05/05/2020 21:38:51
 
 
Explicação:
1a. opção está correta. Veja o teste de mesa :
num num % 2 é igual a zero ? 
num é
diferente
de zero
? 
 
11 11 % 2 é 1. Logo, é falso o teste do if. 
10 10
diferente
 
http://simulado.estacio.br/alunos/inicio.asp
javascript:voltar();
javascript:diminui();
javascript:aumenta();
javascript:abre_frame('1','7','','','314386603');
javascript:abre_frame('2','7','','','314386603');
javascript:abre_frame('3','7','','','314386603');
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 2/8
de 0 ?
sim
 10 % 2 é zero ? sim. Imprime o 10 
9 
9 é
diferente
de 0 ?
sim
 
 9 % 2 é zero ? Não 
8 
8 é
diferente
de zero ?
sim
 
 8 % 2 é zero ? Sim. Imprime o 8 
7 
7 é
diferente
de zero ?
sim
 
 7 % 2 é zero ? Não 
6 6 % 2 é zero ? Sim. Imprime o 6 edecrementa para 5 valor de num 
6 é
diferente
de zero ?
sim
 
 
 E assim continua ... irá parar quando
num for zero...
Note que está imprimindo os pares de 10
até 2, pois quando decrementa num para
zero, o teste do do...while falha.
 
 
Imprimirá os números 10 8 6 4 2 , um embaixo do outro.
 
2a. opção é falsa. Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já explicado no item anterior.
3a. opção é falsa. Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários níumeros como
mostrado na explicação da 1a. opção.
4a. opção é falsa. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do outro.
5a. opção é falsa. Falso. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 , um embaixo do
outro. Ocorre a parada do loop quando num for zero.
 
 
 
 2a Questão
Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo imprima 4 vezes a
expressão Bom dia.
int a = 8;
 while ( ____ )
 {
 cout << "Bom dia\n";
 a = a -2;
 }
 a > 0
a < 0
a <= 0
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 3/8
a >= 0
a == 0
Respondido em 05/05/2020 21:38:53
 
 
Explicação:
Analisando o trecho temos que :
a variável a funciona como contador e começa com 8. 
a variável a varia de 2 em 2. Assim :
quando a é 8 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-2 = 6)
quando a é 6 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-2 = 4)
quando a é 4 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-2 = 2)
quando a é 2 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-2 = 4) porém como já
imprimiu 4 vezes ele para.
quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como visto acima.
Logo, a opção certa é : a > 0, pois quando a for zero (a=0), a repetição irá terminar.
Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia.
 
 
 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;
}
Nenhuma das alternativas.
31
 30
29
15
Respondido em 05/05/2020 21:38:53
 
 
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 29 < 30 ? Sim
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 4/8
até 29 
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
Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados pelas letras A e B,
imagine que você precisa escrever um programa em C++ que receba o número do aluno e o candidato por ele escolhido e
contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno informado for 0. Contabilize também
os votos nulos, que são aqueles diferentes de A ou B. Ao final, é preciso exibir o candidato vencedor, os votos para o candidato A,
os votos para o candidato B e os votos nulos. Qual das alternativas a seguir apresenta o trecho de código adequado à solução
desse problema?
cout<< "Digite o número do aluno: "; cin>> num;
do (num!=0) {
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 5/8
 cout<< "Digite a letra de seu candidato: "; cin>> voto;
 if (voto == A)
 { contA++; }
 else if (voto == B)
 { contB++; }
 else
 { contN++; }
 cout<< "Digite o número do aluno: ";
 cin>> num;
}
cout<< "Digite o número do aluno: "; cin>> num;
for (num!=0) {
 cout<< "Digite a letra de seu candidato: "; cin>> voto;
 if (voto == A)
 { contA++; }
 else if (voto == B)
 { contB++; }
 else
 { contN++; }
 cout<< "Digite o número do aluno: ";
 cin>> num;
}
cin<< "Digite o número do aluno: "; cout>> num;
do while (num!=0) {
 cin<< "Digite a letra de seu candidato: "; cout>> voto;
 if (voto == A)
 { contA++; }
 else if (voto == B)
 { contB++; }
 else
 { contN++; }
 cin<< "Digite o número do aluno: ";
 cout>> num;
}
 cout<< "Digite o número do aluno: "; cin>> num;
while (num!=0) {
 cout<< "Digite a letra de seu candidato: "; cin>> voto;
 if (voto == A)
 { contA++; }
 else if (voto == B)
 { contB++; }
 else
 { contN++; }
 cout<< "Digite o número do aluno: ";
 cin>> num;
}
cout<< "Digite o número do aluno: "; cin>> num;
while (num!=0) {
 cout<< "Digite a letra de seu candidato: "; cin>> voto;
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 6/8
 case (voto == A)
 { contA++; }
 case (voto == B)
 { contB++; }
 case
 { contN++; }
 cout<< "Digite o número do aluno: ";
 cin>> num;
}
Respondido em 05/05/2020 21:38:54
 
 
 5a Questão
Imagine que você precisa escrever um programa em C++ que receba uma sequênciade números e, para cada número informado,
diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e você precisa utilizar uma estrutura repetitiva
com pré-teste. Qual dos trechos a seguir atenderia essa solicitação?
do { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; }
 else
 { cout <<"Este número é ímpar.\n"; }
 cout <<"Informe um número qualquer: ";
 cin >>num;
} while (num!=0)
 while (num!=0) { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; }
 else
 { cout <<"Este número é ímpar.\n"; }
 cout <<"Informe um número qualquer: ";
 cin >>num;
}
for (num!=0) { 
 switch (num%2==0) 
 { cout <<"Este número é par.\n"; }
 switch
 { cout <<"Este número é ímpar.\n"; }
 cout <<"Informe um número qualquer: ";
 cin >>num;
}
while (num!=0) { 
 if (num%2==0) 
 { cin <<"Este número é par.\n"; }
 else
 { cin <<"Este número é ímpar.\n"; }
 cin <<"Informe um número qualquer: ";
 cout >>num;
}
for (num==0; num!=0; num--) { 
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 7/8
 if (num%2==0) 
 { cout <<"Este número é par.\n"; }
 else
 { cout <<"Este número é ímpar.\n"; }
 cout <<"Informe um número qualquer: ";
 cin >>num;
}
Respondido em 05/05/2020 21:39:09
 
 
 6a Questão
Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas:
( ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático.
( ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código;
( ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir;
 
F - V - V
V - F - V
 F - F - V
V - F - F
F - F - F
Respondido em 05/05/2020 21:39:09
 
 
 7a 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;
 }
A quantidade de elementos pares
A média dos elementos digitados
 A quantidade de elementos digitados diferentes de zero.
O maior de todos os elementos digitados
O menor de todos os elementos digitados
Respondido em 05/05/2020 21:38:56
 
 
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.
 
 
 8a Questão
06/05/2020 EPS
estacio.webaula.com.br/Classroom/index.html?id=2753955&courseId=13026&classId=1253116&topicId=2649839&p0=03c7c0ace395d80182db0… 8/8
Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma sequência de números
e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra quando o usuário digitar 0. Considerando que é
necessário utilizar uma estrutura repetitiva com pré-teste, qual das alternativas a seguir ajuda a resolver o problema proposto?
faca {
 se (num%2==0)
 { escreva("Este número é par!\n") }
 senao
 { escreva("Este número é ímpar!\n") }
 escreva("Informe um número qualquer: ")
 leia(num)
} enquanto (num!=0)
faca {
 se (num%2!=0)
 { escreva("Este número é par!\n") }
 senao
 { escreva("Este número é ímpar!\n") }
 escreva("Informe um número qualquer: ")
 leia(num)
} enquanto (num>0)
enquanto (num==0) {
 se (num/2==0)
 { escreva("Este número é par!\n") }
 senao
 { escreva("Este número é ímpar!\n") }
 escreva("Informe um número qualquer: ")
 leia(num)
}
 enquanto (num!=0) {
 se (num%2==0)
 { escreva("Este número é par!\n") }
 senao
 { escreva("Este número é ímpar!\n") }
 escreva("Informe um número qualquer: ")
 leia(num)
}
enquanto (num>0) {
 se (num%2!=0)
 { escreva("Este número é par!\n") }
 senao
 { escreva("Este número é ímpar!\n") }
 escreva("Informe um número qualquer: ")
 leia(num)
}
Respondido em 05/05/2020 21:38:57
 
 
 
javascript:abre_colabore('38403','190964921','3809356979');

Continue navegando