Buscar

AlgoritmoAula06.V03

Prévia do material em texto

ALGORITMOS 
6a aula 
 
 
Lupa 
 
 
 
Vídeo 
 
PPT 
 
MP3 
 
 
 
 
Exercício: CCT0749_EX_A6_V3 03/11/2018 07:33:57 (Finalizada) 
Aluno(a): 2018.3 EAD 
Disciplina: CCT0749 - ALGORITMOS 
 
 
 
 
 1a Questão 
 
 
Um aluno de Introdução a Programação precisa escrever um programa que leia um caracter equivalente a uma estação do 
ano imprima o nome equivalente considerando que P- Primavera, V - Verão, O - Outono e I - Inverno. Qual a estrutura 
básica em C++ que deve ser utilizada para fazer esta seleção múltipla? 
 
 
 switch/case 
 
while 
 
break 
 
for 
 
do/while 
 
 
Explicação: 
 
Falso. Comando de repetição do/while 
 
Falso. Comando de repetição. for 
 
Verdadeiro. switch/case 
 
Falso. Comando de repetição. while 
 
Falso. Comando de interrupção. break 
 
 
 
 
 
 
 
 
 2a Questão 
 
 
 
A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de 
programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. 
int main() { 
int num; 
cout<<"Digite um número: "; 
cin>> num; 
(num > 0)?cout<< num : cout<<" Número negativo "; 
return 0; 
} 
 
 
 Operador ternário 
 
comando switch 
 
Estrutura condicional de comando simples 
 
Estrutura condicional de comando composto 
 
aninhamento de if 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 
 
 
 
 3a Questão 
 
 
Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente 
considerando que 1- Domingo, 2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para fazer esta 
seleção múltipla? 
 
 
 switch/case 
 
cout 
 
while 
 
for 
 
do/while 
 
 
Explicação: 
 
switch/case 
 
É para repetição do/while 
 
É para repetição for 
 
É para impressão na tela cout 
 
É para repetição while 
 
 
 
 
 
 
 
 4a Questão 
 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 7 ? Assinale 
a opção correta. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num % 2 == 0) 
 cout << num << "é divisível por 2"; 
 else 
 if (num % 3 == 0 && num % 5 == 0) 
 cout << num << " é divisível por 3 e por 5"; 
 else 
 cout << num << " ### " ; 
 
 
 
 
Apenas 7 
 
 
7 não é divisível por 2. 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 
 
7 é divisível por 3 e por 5. 
 7 ### 
 
 
Explicação: 
Analisando o trecho em C++ e considerando a entrada 7 temos : 
num recebeu 7 na entrada. 
1o. teste : 7 % 2 é zero ? Falso. Então, entramos no else do 1o. if e testamos a condição do 2o. if 
2o. teste : 7 % 3 é zero ? Falso. Nem adianta testar a outra condição deste if, pois existe o &&. DAí, entramos no else 
do 2o. if, imprimindo na tela 
 7### 
Logo, a resposta correta é 7### 
 
 
 
 
 
 
 
 5a Questão 
 
 
Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. execução o valor de entrada foi 10 e 
na 2ª. execução, o valor de entrada foi 5. Ao final das duas execuções, respectivamente, o que foi impresso na tela ? 
 
cout << "Digite um valor : "; 
cin >> z; 
switch(z) { 
case 5 : cout << 3 * z << " "; 
case 10 : cout << 11 /2 * z << " "; 
case 20 : cout << z * z - 10 << endl; 
break; 
default : cout << "Entrada invalida. " << endl; 
} 
 
 
 50 90 15 25 15 
 
15 27.5 15 55 90 
 
15 25 15 50 90 
 
55 1 
 
55 90 15 27.5 15 
 
 
Explicação: 
O aluno deverá fazer um teste de mesa ou chinês para poder escolher a resposta certa. Tal questão envolve 
conhecimento de switch ... case com e sem break e de operadores aritméticos, como a divisão entre inteiros ocorrida no 
2o. case. 
 
 
 
 
 
 
 6a Questão 
 
 
Analise o trecho do algoritmo abaixo e indique a alternativa que apresenta as saídas obtidas para os valores: A=17, B=21 e C=13. 
SE (A > (B+C)) ENTÃO 
ESCREVA("+++++") 
SENÃO 
SE (B<=C) ENTÃO 
ESCREVA("%%%%%") 
SENÃO 
ESCREVA("^^^^^") 
FIM SE 
ESCREVA("=====") 
 FIM SE 
 
 
 +++++ 
===== 
 ^^^^^ 
 ===== 
 %%%%% 
 ^^^^^ 
===== 
 
 
Explicação: 
Analise o trecho do algoritmo abaixo e indique a alternativa que apresenta as saídas obtidas para os valores: A=17, 
B=21 e C=13. 
SE (A > (B+C)) ENTÃO //1o. teste : 17 > (34) ? FAlso. Entraremos no 1o. senão. 
 ESCREVA("+++++") //não entra aqui 
SENÃO //Entra aqui devido à falha do 1o. teste 
 SE (B<=C) ENTÃO //2o. teste : 21 <= 12 ? Falso. Então, entraremos no bloco do 2o. senão 
 ESCREVA("%%%%%") //não entra aqui 
 SENÃO 
 ESCREVA("^^^^^") //SErá executada esta linha e depois seguiremos em frente. 
FIM SE 
ESCREVA("=====") //Após terminar o bloco do comando condicional, executamos esta linha 
 FIM SE 
 
DA análise feita acima dois "escreva" são executados : 
ESCREVA("^^^^^") 
ESCREVA("=====") 
O que dará o seguinte resultado : 
^^^^^ 
===== 
 
 
 
 
 
 
 
 7a Questão 
 
 
Caso o valor inserido pelo usuário seja igual a 5, qual a mensagem exibida pelo código: 
 
int a; 
 
cin >> a; 
if (a<5) 
 cout << "valor esperado"; 
else 
 if (a>=5 && a<=10) 
 cout << "valor ainda aceitável"; 
 else 
 if (a>10 && a<20) 
 cout << "valor acima do esperado"; 
 else 
 if (a>=20) cout << "valor fora de faixa"; 
 
 
 
nenhuma mensagem será exibida 
 valor ainda aceitável 
 
valor fora de faixa 
 
valor esperado 
 
valor acima do esperado 
 
 
Explicação: Se a variável a assume o valor 5 a única condição verdadeira é a>=5 && a<=10, portanto a saída será 
"valor ainda aceitável " 
 
 
 
 
 
 
 8a Questão 
 
 
Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário entre com 
um valor referente a uma opção a ser escolhida, quando é necessário consulta em uma tabela ou a um menu exibido na 
tela. 
 
 
 
cout 
 
cin 
 
table 
 
break 
 switch/case 
 
 
Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case

Continue navegando