Buscar

Teste de Conhecimento em Programação Estruturada

Prévia do material em texto

23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 1/6
 
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.
Considere um programa em C++ que leia os valores A, B, C e informe se a soma dos dois primeiros termos é maior do que
o terceiro. A estrutura seletiva adequada para esse teste é:
INTRODUÇÃO A PROGRAMAÇÃO ESTRUTURADA EM C
EEX0006_A5_202003202673_V1 
Lupa Calc.
 
 
PPT MP3
 
Aluno: THIAGO HENRIQUE DE MELO Matr.: 202003202673
Disc.: INT PROG ESTD EM 2020.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 i está correta.
Apenas a alternativa ii está correta.
Todas as alternativas estão corretas.
Todas as alternativas estão erradas.
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.
 
2.
while ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
do
{ cout << "A soma de A e B é maior do que C!"; }
while ((A+B)>C)
switch ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
javascript:voltar();
javascript:voltar();
javascript:duvidas('827613','793701','1','3548792','1');
javascript:duvidas('3291899','793701','2','3548792','2');
javascript:diminui();
javascript:aumenta();
javascript:calculadora_on();
javascript:abre_frame('2','5','','L1NHDLK262UGBRFWPF8A','');
javascript:abre_frame('3','5','','L1NHDLK262UGBRFWPF8A','');
23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 2/6
Considere o trecho de programa em C++ e assinale a opção que mostra o
que é impresso na tela.
int x, y, z;
x = 10;
y = 6;
z = x/y;
cout << z << " ";
if (z > 0)
 z = x % y;
cout << z << " ";
 
Você deseja analisar se um número inteiro qualquer fornecido pelo usuário é par e positivo ou par e negativo. Com base na
sintaxe do Portugol Studio, o trecho que realiza corretamente o teste para descobrir as características do número é:
for ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
if ((A+B)>C)
{ cout << "A soma de A e B é maior do que C!"; }
 
3.
4 4
Ocorrerá erro, pois o trecho não compila.
1 1
1 4
4 1
Explicação:
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso.
 
4.
escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 e num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é ímpar e positivo!")}
escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 e num<0)
javascript:duvidas('2984671','793701','3','3548792','3');
javascript:duvidas('3291926','793701','4','3548792','4');
23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 3/6
 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 ;
 
{ escreva("Este número é ímpar e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é par e positivo!")}
escreva("Informe um número qualquer: ")
leia(num)
resto=num^2
se (resto==1 e num>1)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 e num>0)
{ escreva("Este número é ímpar e positivo!")}
escreva("Informe um número qualquer: ")
leia(num)
resto=num/2
se (resto==0 !! num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 !! num>0)
{ escreva("Este número é ímpar e positivo!")}
escreva("Informe um número qualquer: ")
leia(num)
resto=num%2
se (resto==0 ou num>0)
{ escreva("Este número é par e positivo!") }
senao se (resto!=0 ou num>0)
{ escreva("Este número é ímpar e positivo!")}
 
5.
11 110 1 0
 
11 110 1 0
 
11 12 110 1 0
 
javascript:duvidas('794409','793701','5','3548792','5');
23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 4/6
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 ;
 
11 110 1 10
 
11 12 110
 
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
 
 
6.
8 10 40
 
9 6 10 9
 
9 8 10 40
 
9 8 10 9
 
9 40
javascript:duvidas('794422','793701','6','3548792','6');
23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 5/6
Em linguagem de programação, existe uma estrutura que é empregada em situações em que é preciso tomar uma decisão
a respeito de determinado resultado que será obtido em duas situações diversas. Marque a opção que determina a
estrutura de controle citada:
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 = 4, y = 14, t;
float z;
if( x < y ) { t=x; x=y; y=t;}
z = (x % y) / y;
cout << x << " " << y << " " << z ;
 
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 suacondiçã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 
 
7.
Matricial
Decisão
Vetorial
Repetição
Recursiva
Explicação:
A opção que determina a estrutura de controle citada é a Decisão
 
8.
14 4 0.5
14 4 0
0.5 4 14
4 14 0.5
4 14 0
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro
javascript:duvidas('3140907','793701','7','3548792','7');
javascript:duvidas('833356','793701','8','3548792','8');
23/04/2020 EPS
simulado.estacio.br/alunos/?user_cod=&matr_integracao=202003202673 6/6
Legenda: Questão não respondida Questão não gravada Questão gravada
Exercício inciado em 23/04/2020 12:35:13. 
javascript:abre_colabore('35904','188062461','3750192126');

Continue navegando