Buscar

AULA 5 ALGORITMOS EXERCÍCIO 2

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

Exercício: CCT0749_EX_A5_201803250976_V2 31/08/2018 21:12:56 (Finalizada) 
Aluno(a): 
Disciplina: CCT0749 - ALGORITMOS 
 
 
 
 
 1a Questão 
 
 
Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado 
na tela. 
 
#include 
using namespace std; 
int main() 
{ 
int N1, N2; 
N1= 27; 
N2= 54; 
if ( ______________ ) 
{ 
 cout<< N2; 
} 
else 
{ 
 cout<< N1; 
} 
return 0; 
} 
 
 N1 > N2 || N2 < 50 
 N1 < N2 && N1 > 20 
 
N2 > N1 || N1 > 50 
 
N2 == N1 || N2 > 20 
 
N1 < N2 && N1 < 50 
 
 
 
 
 
 2a Questão 
 
 
Analise o código abaixo e marque as saídas corretas: 
 
#include < iostream > 
using namespace std; 
 
int main () { 
 
int x, i; 
x = 1; 
cout << x; 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
retun 0; 
} 
 
 
1, 6 e 7 
 1, 7 e 7 
 
0, 6 e 7 
 1, 7, 17 
 
1, 6 e 16 
 
 
Explicação: 
int x, i; 
x = 1; 
cout << x; 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
Fazendo um teste de mesa, temos : 
x = 1 e depois é impresso o valor 1 
i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso. 
Chegamos na condição do if e testamos se 7 <= 7. É verdade ? Sim. Então, 7 é impresso e depois, x recebe 
7 + 10, que dá 17. 
Ou seja, foi impresso 1 7 7 
 
 
 
 
 
 3a Questão 
 
 
 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 é 10 e na 2ª. execução o valor de entrada é 0. Para isso, 
considere o seguinte trecho em C++. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num > 0) 
 { 
 num++; 
 cout << num << " "; 
 } 
 cout << num + 1 << " "; 
 if (num < 0) 
 { 
 num--; 
 cout << num << " "; 
 } 
 else 
 cout << num * 10 ; 
 
 
 
 
11 12 110 
 
 
11 110 1 0 
 
 11 12 110 1 0 
 
 
11 110 1 10 
 
 
11 110 1 0 
 
 
 
Explicação: 
Analisando ... 
1a. execução : Valor de entrada é 10. Logo, num recebeu 10 na entrada. 
1o. teste >>> 10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num receber 11. Depois, 
exibimos 11 na tela. Seguindo... é exibido o valor de num + 1, ou seja, é exibido na tela o valor 12. 
2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o resultado de 11 * 10, que é 110 
Concluindo a 1a. execução para a entrada 10 : 11 12 110 
 
2a. execução : Valor de entrada é 0. Logo, num recebe 0 na entrada. 
1o. teste >>> 0 > 0 ? Falso. Não entramos no 1o. if. SEguindo em frente temos que o valor de num+1 é 
exibido na tela. Ou seja, 1 é exibido na tela. 
2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 1 * 10, que é 10. 
Concluindo a 2a. execução para a entrada 0 : 1 10 
 
 
 
 
 
 
 4a Questão 
 
 
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. 
 
 
Apenas a alternativa ii está correta. 
 
Apenas a alternativa i está correta. 
 
Todas as alternativas estão erradas. 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa iii está correta. 
 
 
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. 
 
 
 
 
 
 5a Questão 
 
 
O comando utilizado para representar uma estrutura de ____________ é o comando _____. Esse comando 
fará um teste na ____________ apresentada, determinando se a ________________ é _______________ ou 
não. 
 
 
decisão, se, condição, condição, para. 
 
condição, repita, se, condição, para. 
 decisão, se, condição, condição, verdadeira. 
 
decisão, enquanto, condição, decisão, verdadeira. 
 
decisão, para, condição, condição, falsa. 
 
 
Explicação: 
 
Falsa.Estrutura de decisão não é o comando enquanto. 
Comando enquanto é de repetição. 
decisão, enquanto, condição, decisão, verdadeira. 
 
Falsa. Estrutura de decisão não é o comando para 
Comando para é de repetição. 
decisão, para, condição, condição, falsa. 
 
 Verdadeiro decisão, se, condição, condição, verdadeira. 
 
Falso. Não faz sentido para ou não, no final da sentença. decisão, se, condição, condição, para. 
 
Falso. Comando repita é de repetição. condição, repita, se, condição, para. 
 
 
 
 
 
 6a Questão 
 
 
Qual das sentença em C++ a seguir verifica se o valor da variável x do tipo inteiro é diferente de 7 e maior 
que 10? 
 
 
if (x == 7 || x <= 10) 
 if (x != 7 && x > 10) 
 
if (x != 7 || x >= 10) 
 
if (x != 7 || x > 10) 
 
if (x == 7 && x > 10) 
 
 
Explicação: 
PAra diferente usamos o operador != 
E para maior usamos o operador > 
E para o e lógico usamos o operador && 
 
 
 
 
 
 7a Questão 
 
 
Para satisfazer a regra de que para fazer AV3 o aluno deve ter nota maior ou igual a 4 em pelo menos uma 
das outras duas Avaliacoes, qual seria a sentença correta 
 
 Se (AV1 >= 4) ou (AV2 >= 4) 
 
Se (AV1 >= 4) e (AV2 >= 4) 
 
Se (AV1 > 4) ou (AV2 > 4) 
 
Se (AV1 > 4) e (AV2 > 4) 
 
Nenhuma outra alternativa satisfaz 
 
 
Explicação: 
 
Verdadeira Se (AV1 >= 4) ou (AV2 >= 4) 
 
Falsa. Tinha que ser >= e não apenas > Se (AV1 > 4) ou (AV2 > 4) 
 
FAlsa. Nâo tem que ter 4 ou mais nas duas provas, mas apenas em uma das 
provas. 
Se (AV1 >= 4) e (AV2 >= 4) 
 
FAlsa. Tinha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 > 4) 
 
Falsa. A 1a. alternativa é a correta. Ou seja : Se (AV1 >= 4) ou (AV2 >= 4) 
Nenhuma outra alternativa 
satisfaz 
 
 
 
 
 
 8a Questão 
 
 
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"; 
 
 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(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"; 
 
 
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";

Outros materiais