Buscar

Exercicios 5

Prévia do material em texto

17/03/2019 EPS
http://simulado.estacio.br/alunos/?user_cod=2140790&user_matr=201807098699 1/5
CCT0749_A5_201807098699_V1
 
Examine as afirmativas a seguir e marque a alternativa correta.
 I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo.
 II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois reduz o
número de testes. 
 III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores lógicos.
Verifique o trecho de código abaixo e marque a alternativa que apresenta a melhor construção para as condições abaixo, utilizando uma
estrutura de decisão composta.
 if(a > 0) cout < < "pertinente";
 if(a < 5) cout < < "pertinente";
 if(a > =5) cout < < " não pertinente";
 
ALGORITMOS
 CCT0749_A5_201807098699_V1 
Lupa Calc.
 
 
Vídeo
 
PPT
 
MP3
 
Aluno: PABLO ALVES DE MELO Matrícula: 201807098699
Disc.: ALGORITMOS 2019.1 EAD (G) / EX
 
Prezado (a) Aluno(a),
 
Você fará agora seu TESTE DE CONHECIMENTO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O
mesmo será composto de questões de múltipla escolha.
Após responde cada questão, você terá acesso ao gabarito comentado e/ou à explicação da mesma. Aproveite para se familiarizar com
este modelo de questões que será usado na sua AV e AVS.
 
1.
Apenas a alternativa iii está correta.
Todas as alternativas estão erradas.
Apenas a alternativa ii está correta.
Apenas a alternativa i está correta.
Todas as alternativas estão corretas.
 
 
 
Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas
simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de decisão
simples. Portanto todas as afirmativas estão corretas.
 
 
 
 
2.
if(a > 0 && a < 5) cout < < "pertinente";
 else cout < < " não pertinente";
if(0 > a > 5) cout < < "pertinente";
 else cout < < " não pertinente";
if(a > 0 + a < 5) cout < < "pertinente";
 else cout < < "não pertinente";
if(a > 0 || a < 5) cout < < "pertinente";
 else cout < < " não pertinente";
if(a > 5 && a < 0) cout < < "pertinente"; else cout < < "não pertinente";
 
17/03/2019 EPS
http://simulado.estacio.br/alunos/?user_cod=2140790&user_matr=201807098699 2/5
Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, 
 sendo que na 1ª. execução o valor de entrada é 7 e na 2ª. execução o valor de entrada é 8. Para isso, considere 
 o seguinte trecho em C++.
 int num;
 cout << "Digite um numero: ";
 cin >> num;
 if (num != 2 || num != 4 || num != 6)
 {
 num = num + 2;
 cout << num << " ";
 }
 if (num != 8)
 {
 num--;
 cout << num << " ";
 }
 else
 cout << num * 5 ;
 
 
Considere o trecho de programa em C++. O que é impresso na tela ? 
 
int x = 10, y = 3, z, k; 
 
 
Explicação: O trecho do código exibe a informação "pertinente" para os valores de a maior que zero e menores que cinco. E a informação
"não pertinente", para valores de a iguais ou maiores que cinco. Portanto a condição correta é ; Se (a > 0 e a < 5) imprime "pertinente";
do contrário imprime " não pertinente";
 
 
 
 
3.
9 6 10 9
 
9 40
 
9 8 10 9
 
9 8 10 40
 
8 10 40
 
 
 
 
Explicação:
Analisando o trecho de programa em C++ ...
1a. execução : num recebe 7. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o.
if. Então, num recebe 9 e é impresso o valor 9 na tela.
Seguimos para o próximo if e testamos sua condição. É verdade que 9 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos 9
para 8 e imprimimos o valor 8.
Concluindo esta 1a. execução : Foram impressos 9 8
2a. execução : num recebe 8. Daí, testamos o 1o. if. Note que usamos o || lógico. A condição é verdadeira e entramos no bloco do 1o.
if. Então, num recebe 10 e é impresso o valor 10.
Seguimos para o próximo if e testamos sua condição. É verdade que 10 != 8 ? Sim. Entramos no bloco do 2o. if e então decrementamos
10 para 9, imprimindo o valor 9.
Concluindo esta 2a. execução : Foram impressos 10 9 
 
 
 
 
4.
17/03/2019 EPS
http://simulado.estacio.br/alunos/?user_cod=2140790&user_matr=201807098699 3/5
y = x + y - 1; 
z = x/y; 
k = y % x; 
if (k == 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
Considere o trecho de programa em C++. O que é impresso na tela ? 
 
int x = 10, y = 3, z, k; 
 y = x + y - 1; 
z = x/y; 
k = y % x; 
if ( k != 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 
 
x = 10 y = 12 z = 0.833 k = 0
x= 11 y = 11 z = 2 k = 0
x = 10 y = 12 z = 0 k = 0
10 12 2 0
11 11 2 0
 
 
 
Explicação:
É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo sobre comando
condicional, atualmente, na aula 5, é suficiente, junto com declaração de variáveis de aula anterior.
 
x recebe 10 e depois
y recebe 3 e depois y recebe 10+3-1, que dá 12
z recebe 10/12, que dá 0
k recebe 2
TEste do if é falso. Então, entra-se no else e é impresso : 11 11 2 0 
 
 
 
 
5.
10 12 0.833 1.2
x= 10 y = 12 z = 0 k = 2
Nada é impresso na tela, pois k é zero.
x = 10 y = 12 z = 0.833 k = 1.2
10 12 0 2
 
 
 
Explicação:
É preciso fazer um teste de mesa ou chinês e encontrar a resposta correta, como indicado. Para isso, o conteúdo da aula 5 é suficiente,
junto com declaração de variáveis de aula anterior.
int x = 10, y = 3, z, k; 
 y = x + y - 1; 
 z = x/y; 
 k = y % x; 
 if ( k != 0) 
 cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 
 
Teste de mesa 
x y z k
10 3 
 12 0 2
 
y recebe 10+3-1, que é 12. Logo, y recebe 12
17/03/2019 EPS
http://simulado.estacio.br/alunos/?user_cod=2140790&user_matr=201807098699 4/5
Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela.
 int x = 235, y = 138, z = 177, m; 
 m = z;
 if( x < m) m = x;
 if( y < m) m = y;
 cout << m << " " << x << " " << y ;
Quando estudamos sobre a estrutura do se ... entao...senao, sempre nos é dito que, quando tivermos duas
possibilidades de respostas, devemos escolher a estrutura do se composto ao invés de usar duas estruturas do se
simples.
Observe as afirmativas abaixo e, depois, escolha a resposta que respalda o uso do se composto pelo que foi dito acima
ao invés do se simples.
I Maior clareza no código, mas não influência na eficiência do mesmo
II Maior eficiência porque diminui o número de testes no código
III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo
IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo
z recebe x/y, que é 10/12 que dá zero.
k recebe 12%10, que dá 2.
Como k é diferente de 0 temos que será impresso :
x = 10 y = 12 z = 0 k = 2
 
 
 
 
6.
177 235 138
138 235 138
177 138 235
138 138 235
235 235 138
 
 
 
Explicação: A variável m ficará com o menor valor
 
 
 
 
7.
A II E A III estão corretas
Somente a II está correta
Somente a I está correta
Somente a IV está correta
A II E IV estão corretas
 
 
 
Explicação:
I Maior clareza no código, mas não influência na eficiência do mesmo .Comentário : Falso. Traz clareza e afeta a eficiência sim, pois acaba se fazendo testes desnecessários.
II Maior eficiência porque diminui o número de testes no código
Comentário : Correto.
III Maior eficiência somente porque o código fica mais legível, visto que o resultado final é o mesmo.
Comentário : Falso. Não é só legibilidade, mas é uma questão de eficiência, pois evita-se teste desnecessário.
IV Somente uma escolha do desenvolvedor, visto que o resultado o resultado final é o mesmo
Comentário : Falso. O desenvolvedor pode escolher sim, mas o uso adequado do condicional composto pode trazer maior eficiência para o
código.
Opção correta : 
 Somente a II está correta
17/03/2019 EPS
http://simulado.estacio.br/alunos/?user_cod=2140790&user_matr=201807098699 5/5
O programa abaixo recebeu o valor 2 como entrada. Analise o programa abaixo e assinale a o valor que será impresso.
#include
 using namespace std;
 int main()
 {
 int a, b; 
 cout<< "\n Digite um valor: ";
 cin>> a;
 if (a <= 2)
 b = a + 2 * 30 / 10;
 else
 b = a - 2 * 30 /10;
 cout<< b;
 system("pause");
 }
 
 
 
 
 
8.
-4
12
2
8
0
 
 
 
 
 
 
 
Legenda: Questão não respondida Questão não gravada Questão gravada
 
 
Exercício inciado em 17/03/2019 12:49:09.

Continue navegando