Buscar

Testes de Condição em Programação

Prévia do material em texto

1a Questão 
 
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 é: 
 
 
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 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 ou num>0) 
{ escreva("Este número é par e positivo!") } 
senao se (resto!=0 ou num>0) 
{ escreva("Este número é ímpar 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 e num<0) 
{ escreva("Este número é ímpar e positivo!") } 
senao se (resto!=0 e num>0) 
{ escreva("Este número é par e positivo!")} 
Respondido em 12/05/2020 15:29:09 
 
 
 
 2a Questão 
 
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 ; 
 
 
4 14 0.5 
 
0.5 4 14 
 14 4 0 
 
14 4 0.5 
 
4 14 0 
Respondido em 12/05/2020 15:29:21 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 3a Questão 
 
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; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 
x = 10 y = 12 z = 0.833 k = 0 
 11 11 2 0 
 
10 12 2 0 
 
x = 10 y = 12 z = 0 k = 0 
 
x= 11 y = 11 z = 2 k = 0 
Respondido em 12/05/2020 15:29:53 
 
 
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 
 
 
 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. 
 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa ii está correta. 
 
Apenas a alternativa i está correta. 
 
Todas as alternativas estão erradas. 
 
Apenas a alternativa iii está correta. 
Respondido em 12/05/2020 15:29:57 
 
 
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 
 
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 
 
0, 6 e 7 
 
1, 6 e 16 
 
1, 7, 17 
 1, 7 e 7 
Respondido em 12/05/2020 15:30:13 
 
 
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 
 
 
 6a Questão 
 
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 << " "; 
 
 
 Ocorrerá erro, pois o trecho não compila. 
 4 4 
 4 1 
 1 4 
 1 1 
Respondido em 12/05/2020 15:30:52 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
 7a Questão 
 
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"; 
 
 
10 12 0.833 1.2 
 
x = 10 y = 12 z = 0.833 k = 1.2 
 
10 12 0 2 
 
Nada é impresso na tela, pois k é zero. 
 x= 10 y = 12 z = 0 k = 2 
Respondido em 12/05/2020 15:31:05 
 
 
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 
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 
 
 
 8a Questão 
 
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 
 
 A II E IV estão corretas 
 Somente a IV está correta 
 Somente a II está correta 
 A II E A III estão corretas 
 Somente a I está correta 
Respondido em 12/05/2020 15:31:31 
 
 
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 
1a Questão 
 
Para satisfazera 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) e (AV2 > 4) 
 
Se (AV1 > 4) ou (AV2 > 4) 
 
Nenhuma outra alternativa satisfaz 
 Se (AV1 >= 4) ou (AV2 >= 4) 
 
Se (AV1 >= 4) e (AV2 >= 4) 
Respondido em 12/05/2020 15:32:21 
 
 
Explicação: 
a Se (AV1 >= 4) ou (AV
ha que ser >= e não apenas > Se (AV1 > 4) ou (AV2
âo tem que ter 4 ou mais nas duas provas, mas apenas em uma 
s. 
Se (AV1 >= 4) e (AV
nha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 
1a. alternativa é a correta. Ou seja : Se (AV1 >= 4) ou (AV2 >= Nenhuma outra altern
satisfaz 
 
 
 
 2a Questão 
 
Sobre a estrutura seletiva "se", pode-se afirmar que ela 
( ) permite que novas estruturas seletivas sejam definidas dentro dela; 
( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; 
( ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; 
 
 
V - F - V 
 
F - V - F 
 
V - V - V 
 V - V - F 
 
F - F - F 
Respondido em 12/05/2020 15:32:19 
 
 
 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   110    1   0 
 
 11  110  1 10 
 
 11   12   110   1   0 
 
 11  110  1  0 
 
 11   12    110 
 
Respondido em 12/05/2020 15:32:37 
 
 
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 
 
No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa 
avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número 
armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição 
seletiva necessário para este teste? 
 
 if (num>0) 
{ cout <<"Este número é positivo!";} 
else if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num<0) 
{ cout <<"Este número é positivo!";} 
else if (num>0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num>0) 
{ cin <<"Este número é positivo!";} 
else if (num<0) 
{ cin <<"Este número é negativo!";} 
else 
{ cin <<"Este número é nulo!";} 
 
if (num>0) 
{ cout <<"Este número é positivo!";} 
else (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
else (num>0) 
{ cout <<"Este número é positivo!";} 
if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
Respondido em 12/05/2020 15:33:05 
 
 
 5a 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 é 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 ; 
 
 
 8  10   40 
 
 9  40 
 
 9   8   10  40 
 
 9   6   10    9 
 
 9   8    10   9 
 
Respondido em 12/05/2020 15:33:14 
 
 
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 
 
 
 6a Questão 
 
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 ; 
 
 138 235 138 
 
235 235 138 
 
138 138 235 
 
177 235 138 
 
177 138 235 
Respondido em 12/05/2020 15:33:41 
 
 
Explicação: A variável m ficará com o menor valor 
 
 
 7a Questão 
 
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 é: 
 
 
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!"; } 
 
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!"; } 
Respondido em 12/05/2020 15:33:36 
 
 
 8a Questão 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. 
a estrutura seletiva adequada para teste do número é: 
 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
 
if (resto!=0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número é ímpar!";} 
 if (resto==0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
if (resto==0) then 
 {cout <<"Este número é par!";} 
elseif not 
 {cout <<"Este número é ímpar!";} 
Respondido em 12/05/2020 15:33:58 
 
1a Questão 
 
Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa 
abaixo e assinale a alternativa que corresponda a saída na tela: 
 
 
 
2 
 22 
 
11 
 
-1 
 
5 
Respondido em 12/05/2020 15:34:37 
 
 
 2a Questão 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando 
que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja 
armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que 
você deseja descobrir? 
 
 
se (GASTOS>=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS 
 escreva("Você gastou mais do que deveria!")se (GASTOS==SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS<=SAL) 
 escreva("Você gastou mais do que deveria!") 
 se (GASTOS>SAL) 
 escreva("Você gastou mais do que deveria!") 
Respondido em 12/05/2020 15:34:52 
 
 
 3a 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 && N1 < 50 
 
N2 == N1 || N2 > 20 
 
N2 > N1 || N1 > 50 
 N1 > N2 || N2 < 50 
 
N1 < N2 && N1 > 20 
Respondido em 12/05/2020 15:35:18 
 
 
 4a Questão 
 
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"); 
} 
 
 
 
2 
 
-4 
 
0 
 8 
 
12 
Respondido em 12/05/2020 15:35:15 
 
 
 5a Questão 
 
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: 
 
 
Vetorial 
 
Recursiva 
 
Matricial 
 
Repetição 
 Decisão 
Respondido em 12/05/2020 15:35:33 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 6a Questão 
 
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 = 13, y = 4, z; 
if( x > y ) { z = x; x = y; y = z; } 
cout << z << " " << x << " " << y ; 
 
 13 4 13 
 
4 13 13 
 
13 13 4 
 
0 13 4 
 
0 4 13 
Respondido em 12/05/2020 15:35:56 
 
 
Explicação: 
Fazendo um teste de mesa através de comentários no trecho dado : 
int x = 13, y = 4, z; // x recebe 13 e y recebe 4 
 
if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if 
{ 
 z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 
 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 
 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 
} 
cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 
 
 
 
 
 7a 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 i está correta. 
 
Apenas a alternativa iii está correta. 
 
Todas as alternativas estão erradas. 
 
Apenas a alternativa ii está correta. 
 Todas as alternativas estão corretas. 
Respondido em 12/05/2020 15:35:49 
 
 
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. 
 
 
 
 8a Questão 
 
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 << " "; 
 
 
 4 1 
 1 1 
 Ocorrerá erro, pois o trecho não compila. 
 4 4 
 1 4 
Respondido em 12/05/2020 15:36:13 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
1a Questão 
 
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 ; 
 
 
4 14 0 
 
4 14 0.5 
 14 4 0 
 
0.5 4 14 
 
14 4 0.5 
Respondido em 12/05/2020 15:36:14 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 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 
 
0, 6 e 7 
 1, 7 e 7 
 
1, 6 e 16 
 
1, 7, 17 
Respondido em 12/05/2020 15:36:25 
 
 
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 
 
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 é: 
 
 
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 e num<0) 
{ 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==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 ou num>0) 
{ escreva("Este número é par e positivo!") } 
senao se (resto!=0 ou 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!")} 
Respondido em 12/05/2020 15:37:04 
 
 
 4a Questão 
 
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 
 
 Somente a IV está correta 
 A II E IV estão corretas 
 A II E A III estão corretas 
 Somente a I está correta 
 Somente a II está correta 
Respondido em 12/05/2020 15:37:27 
 
 
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 
 
 
 5a Questão 
 
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"; 
 
 
10 12 0 2 
 
x = 10 y = 12 z = 0.833 k = 1.2 
 
10 12 0.833 1.2 
 x= 10 y = 12 z = 0 k = 2 
 
Nada é impresso na tela, pois k é zero. 
Respondido em 12/05/2020 15:37:35 
 
 
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 
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 
 
 
 6a Questão 
 
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; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 
10 12 2 0 
 
x = 10 y = 12 z = 0 k = 0 
 11 11 2 0 
 
x= 11 y = 11 z = 2 k = 0 
 
x = 10 y = 12 z = 0.833 k = 0 
Respondido em 12/05/2020 15:37:32 
 
 
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 
 
 
 7a 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 é 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 ; 
 
 
 9   6   10    9 
 
 9  40 
 
 9   8    10   9 
 
 8  10   40 
 
 9   8   10  40 
 
Respondido em 12/05/2020 15:38:01 
 
 
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 
 
 
 8a Questão 
 
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 é: 
 
 
while ((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!"; } 
 
for ((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!"; } 
Respondido em 12/05/2020 15:38:07 
 
1a 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) 
 
Nenhuma outra alternativa satisfaz 
 
Se (AV1 >= 4) e (AV2 >= 4) 
Respondido em 12/05/2020 15:38:48 
 
 
Explicação: 
a Se (AV1 >= 4) ou (AV
ha que ser >= e não apenas > Se (AV1 > 4) ou (AV2
âo tem que ter 4 ou mais nas duas provas, mas apenas em uma 
s. 
Se (AV1 >= 4) e (AV
nha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 
1a. alternativa é a correta. Ou seja : Se (AV1 >= 4) ou (AV2 >= Nenhuma outra altern
satisfaz 
 
 
 
 2a 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  110  1 10 
 
 11   12   110   1   0 
 
 11   12    110 
 
 11  110  1  0 
 
 11   110    1   0 
 
Respondido em 12/05/2020 15:38:45 
 
 
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 
 
 
 
 3a Questão 
 
No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa 
avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número 
armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição 
seletiva necessário para este teste? 
 
 
if (num>0) 
{ cout <<"Este número é positivo!";} 
else (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 if (num>0) 
{ cout <<"Este número é positivo!";} 
else if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num<0) 
{ cout <<"Este número é positivo!";} 
else if (num>0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num>0) 
{ cin <<"Este número é positivo!";} 
else if (num<0) 
{ cin <<"Este número é negativo!";} 
else 
{ cin <<"Este número é nulo!";} 
 
else (num>0) 
{ cout <<"Este número é positivo!";}if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
Respondido em 12/05/2020 15:39:18 
 
 
 
 4a Questão 
 
Sobre a estrutura seletiva "se", pode-se afirmar que ela 
( ) permite que novas estruturas seletivas sejam definidas dentro dela; 
( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; 
( ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; 
 
 
V - V - V 
 
V - F - V 
 
F - V - F 
 
F - F - F 
 V - V - F 
Respondido em 12/05/2020 15:39:06 
 
 
 
 5a Questão 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. 
a estrutura seletiva adequada para teste do número é: 
 
 
if (resto!=0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 if (resto==0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número é ímpar!";} 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
 
if (resto==0) then 
 {cout <<"Este número é par!";} 
elseif not 
 {cout <<"Este número é ímpar!";} 
Respondido em 12/05/2020 15:39:37 
 
 
 6a Questão 
 
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: 
 
 
Vetorial 
 Decisão 
 
Recursiva 
 
Repetição 
 
Matricial 
Respondido em 12/05/2020 15:39:41 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 7a Questão 
 
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"); 
} 
 
 
 
12 
 
0 
 
2 
 
-4 
 8 
Respondido em 12/05/2020 15:40:01 
 
 
 8a Questão 
 
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 = 13, y = 4, z; 
if( x > y ) { z = x; x = y; y = z; } 
cout << z << " " << x << " " << y ; 
 
 13 4 13 
 
13 13 4 
 
0 4 13 
 
0 13 4 
 
4 13 13 
Respondido em 12/05/2020 15:40:05 
 
 
Explicação: 
Fazendo um teste de mesa através de comentários no trecho dado : 
int x = 13, y = 4, z; // x recebe 13 e y recebe 4 
 
if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if 
{ 
 z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 
 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 
 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 
} 
cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 
 
1a Questão 
 
Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa 
abaixo e assinale a alternativa que corresponda a saída na tela: 
 
 
 22 
 
11 
 
2 
 
-1 
 
5 
Respondido em 12/05/2020 15:42:00 
 
 
 2a Questão 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando 
que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja 
armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que 
você deseja descobrir? 
 
 
se (GASTOS==SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS>=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS<=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS 
 escreva("Você gastou mais do que deveria!") 
 se (GASTOS>SAL) 
 escreva("Você gastou mais do que deveria!") 
Respondido em 12/05/2020 15:42:41 
 
 
 
 3a Questão 
 
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 << " "; 
 
 
 Ocorrerá erro, pois o trecho não compila. 
 1 4 
 4 4 
 4 1 
 1 1 
Respondido em 12/05/2020 15:42:32 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
 4a 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; 
} 
 
 
 
N2 > N1 || N1 > 50 
 
N1 < N2 && N1 > 20 
 
N2 == N1 || N2 > 20 
 
N1 < N2 && N1 < 50 
 N1 > N2 || N2 < 50 
Respondido em 12/05/2020 15:43:00 
 
 
 5a Questão 
 
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"; 
 
 
Nada é impresso na tela, pois k é zero. 
 
10 12 0 2 
 
10 12 0.833 1.2 
 
x = 10 y = 12 z = 0.833 k = 1.2 
 x= 10 y = 12 z = 0 k = 2 
Respondido em 12/05/2020 15:43:13 
 
 
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 
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 
 
 
 6a Questão 
 
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 
 
 Somente a II está correta 
 Somente a IV está correta 
 Somente a I está correta 
 A II E A III estão corretas 
 A II E IV estão corretas 
Respondido em 12/05/2020 15:43:20 
 
 
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 
 
 
 7a 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 é 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 ; 
 
 
 8  10   40 
 
 9   8    10   9 
 
 9   8   10  40 
 
 9  40 
 
 9   6   10    9 
 
Respondido em 12/05/2020 15:43:27 
 
 
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 
 
 
 8a 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, 7, 17 
 
0, 6 e 7 
 
1, 6 e 7 
 
1, 6 e 16 
 1, 7 e 7 
Respondido em 12/05/2020 15:43:33 
 
 
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 
1a 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 i está correta. 
 
Apenas a alternativa iii está correta. 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa ii está correta. 
 
Todas as alternativas estão erradas. 
Respondido em 12/05/2020 15:44:09 
 
 
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. 
 
 
 2a 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 é 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 ; 
 
 
 9   8    10   9 
 
 9   6   10    9 
 
 8  10   40 
 
 9   8   10  40 
 
 9  40 
 
Respondido em 12/05/2020 15:44:19 
 
 
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 
 
 
 3a Questão 
 
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 
 
 A II E IV estão corretas 
 Somente a I está correta 
 Somente a II está correta 
 Somente a IV está correta 
 A II E A III estão corretas 
Respondido em 12/05/2020 15:44:25 
 
 
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 
 
 
 4a 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; 
} 
 
 
0, 6 e 7 
 1, 7 e 7 
 
1, 6 e 7 
 
1, 7, 17 
 
1, 6 e 16 
Respondido em 12/05/2020 15:44:31 
 
 
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 
 
 
 5a Questão 
 
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"; 
 
 
10 12 0 2 
 x= 10 y = 12 z = 0 k = 2 
 
x = 10 y = 12 z = 0.833 k = 1.2 
 
10 12 0.833 1.2 
 
Nada é impresso na tela, pois k é zero. 
Respondido em 12/05/2020 15:44:41 
 
 
Explicação: 
É preciso fazer um teste de mesaou 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 
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 
 
 
 6a Questão 
 
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 << " "; 
 
 
 Ocorrerá erro, pois o trecho não compila. 
 4 4 
 1 1 
 1 4 
 4 1 
Respondido em 12/05/2020 15:44:50 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
 7a 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; 
} 
 
 
 
N2 > N1 || N1 > 50 
 N1 > N2 || N2 < 50 
 
N1 < N2 && N1 > 20 
 
N2 == N1 || N2 > 20 
 
N1 < N2 && N1 < 50 
Respondido em 12/05/2020 15:45:08 
 
 
 8a Questão 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que 
você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja 
armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que você 
deseja descobrir? 
 
 se (GASTOS>SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS==SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS>=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS<=SAL) 
 escreva("Você gastou mais do que deveria!") 
1a Questão 
 
Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa 
abaixo e assinale a alternativa que corresponda a saída na tela: 
 
 
 
5 
 
2 
 
-1 
 22 
 
11 
Respondido em 12/05/2020 15:45:43 
 
 
 2a Questão 
 
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 ; 
 
 14 4 0 
 
14 4 0.5 
 
4 14 0 
 
4 14 0.5 
 
0.5 4 14 
Respondido em 12/05/2020 15:45:48 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 3a Questão 
 
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 é: 
 
 
do 
{ cout << "A soma de A e B é maior do que C!"; } 
while ((A+B)>C) 
 
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!"; } 
 
while ((A+B)>C) 
{ cout << "A soma de A e B é maior do que C!"; } 
 
switch ((A+B)>C) 
{ cout << "A soma de A e B é maior do que C!"; } 
Respondido em 12/05/2020 15:46:17 
 
 
 4a Questão 
 
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 é: 
 
 
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!")} 
 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==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 e num<0) 
{ 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==0 !! num>0) 
{ escreva("Este número é par e positivo!") } 
senao se (resto!=0 !! num>0) 
{ escreva("Este número é ímpar e positivo!")} 
Respondido em 12/05/2020 15:46:16 
 
 
 
 5a Questão 
 
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 ; 
 
 
235 235 138 
 
177 235 138 
 
177 138 235 
 138 235 138 
 
138 138 235 
Respondido em 12/05/2020 15:46:29 
 
 
Explicação: A variável m ficará com o menor valor 
 
 
 6a Questão 
 
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; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 11 11 2 0 
 
10 12 2 0 
 
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 
Respondido em 12/05/2020 15:46:51 
 
 
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 
 
 
 7a Questão 
 
No C++, a estrutura seletiva if permite que sejam avaliadas condições para que, a partir do resultado dessa 
avaliação, o programa decida o trecho a ser executada. Imaginando que você precisa avaliar se um número 
armazenado na variável num é positivo, negativo, ou nulo, que alternativa apresenta o trecho da condição 
seletiva necessário para este teste? 
 
 
else (num>0) 
{ cout <<"Este número é positivo!";} 
if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 if (num>0) 
{ cout <<"Este número é positivo!";} 
else if (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num>0) 
{ cin <<"Este número é positivo!";} 
else if (num<0) 
{ cin <<"Este número é negativo!";} 
else 
{ cin <<"Este número é nulo!";} 
 
if (num>0) 
{ cout <<"Este número é positivo!";} 
else (num<0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
 
if (num<0) 
{ cout <<"Este número é positivo!";} 
else if (num>0) 
{ cout <<"Este número é negativo!";} 
else 
{ cout <<"Este número é nulo!";} 
Respondido em 12/05/2020 15:46:42 
 
 
 8a Questão 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. a 
estrutura seletiva adequada para teste do número é: 
 
 
if (resto!=0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número éímpar!";} 
 
if (resto==0) then 
 {cout <<"Este número é par!";} 
elseif not 
 {cout <<"Este número é ímpar!";} 
 if (resto==0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
Respondido em 12/05/2020 15:47:00 
1a Questão 
 
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: 
 
 
Matricial 
 
Vetorial 
 
Recursiva 
 Decisão 
 
Repetição 
Respondido em 12/05/2020 15:47:19 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 2a 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) e (AV2 >= 4) 
 Se (AV1 >= 4) ou (AV2 >= 4) 
 
Se (AV1 > 4) ou (AV2 > 4) 
 
Nenhuma outra alternativa satisfaz 
 
Se (AV1 > 4) e (AV2 > 4) 
Respondido em 12/05/2020 15:47:37 
 
 
Explicação: 
a Se (AV1 >= 4) ou (AV
 
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 
 
 
 
 3a Questão 
 
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 = 13, y = 4, z; 
if( x > y ) { z = x; x = y; y = z; } 
cout << z << " " << x << " " << y ; 
 
 
0 4 13 
 13 4 13 
 
4 13 13 
 
0 13 4 
 
13 13 4 
Respondido em 12/05/2020 15:47:43 
 
 
Explicação: 
Fazendo um teste de mesa através de comentários no trecho dado : 
int x = 13, y = 4, z; // x recebe 13 e y recebe 4 
 
if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if 
{ 
 z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 
 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 
 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 
} 
cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 
 
 
 
 
 4a Questão 
 
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"); 
} 
 
 
 
0 
 
-4 
 8 
 
12 
 
2 
Respondido em 12/05/2020 15:48:02 
 
 
 5a 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   110    1   0 
 
 11  110  1 10 
 
 11   12    110 
 
 11  110  1  0 
 
 11   12   110   1   0 
 
Respondido em 12/05/2020 15:48:22 
 
 
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 
 
 
 
 6a 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, 7 e 7 
 
1, 6 e 7 
 
1, 7, 17 
 
1, 6 e 16 
 
0, 6 e 7 
Respondido em 12/05/2020 15:48:27 
 
 
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 
 
 
 7a 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. 
 
 
Todas as alternativas estão erradas. 
 
Apenas a alternativa iii está correta. 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa ii está correta. 
 
Apenas a alternativa i está correta. 
Respondido em 12/05/2020 15:48:33 
 
 
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. 
 
 
 8a Questão 
 
Sobre a estrutura seletiva "se", pode-se afirmar que ela 
( ) permite que novas estruturas seletivas sejam definidas dentro dela; 
( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; 
( ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; 
 
 V - V - F 
 
V - F - V 
 
V - V - V 
 
F - F - F 
 
F - V - F 
Respondido em 12/05/2020 15:48:22 
1a Questão 
 
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 ; 
 
 
4 14 0 
 
4 14 0.5 
 
0.5 4 14 
 14 4 0 
 
14 4 0.5 
Respondido em 12/05/2020 15:49:17 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 2a Questão 
 
Tendo em mente os conceitos dos comandos básicos de decisão do C++, analise o trecho de programa 
abaixo e assinale a alternativa que corresponda a saída na tela: 
 
 
 
-1 
 
2 
 
5 
 22 
 
11 
Respondido em 12/05/2020 15:49:21 
 
 
 
 3a Questão 
 
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 ; 
 
 
177 235 138 
 
235 235 138 
 
138 138 235 
 
177 138 235 
 138 235 138 
Respondido em 12/05/2020 15:49:11 
 
 
Explicação: A variávelm ficará com o menor valor 
 
 
 4a Questão 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe se ele é par ou ímpar. 
a estrutura seletiva adequada para teste do número é: 
 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
 
if (resto!=0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 if (resto==0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
if (resto==0) then 
 {cout <<"Este número é par!";} 
elseif not 
 {cout <<"Este número é ímpar!";} 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número é ímpar!";} 
Respondido em 12/05/2020 15:49:56 
 
 
 
 5a Questão 
 
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; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 
x = 10 y = 12 z = 0 k = 0 
 
10 12 2 0 
 
x = 10 y = 12 z = 0.833 k = 0 
 11 11 2 0 
 
x= 11 y = 11 z = 2 k = 0 
Respondido em 12/05/2020 15:49:48 
 
 
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 
 
 
 6a Questão 
 
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 é: 
 
 
escreva("Informe um número qualquer: ") 
leia(num) 
resto=num%2 
se (resto==0 e num<0) 
{ 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 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 !! 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!")} 
Respondido em 12/05/2020 15:49:56 
 
 
 7a 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. 
 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa iii está correta. 
 
Todas as alternativas estão erradas. 
 
Apenas a alternativa ii está correta. 
 
Apenas a alternativa i está correta. 
Respondido em 12/05/2020 15:50:15 
 
 
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. 
 
 
 8a 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 16 
 
0, 6 e 7 
 
1, 7, 17 
 
1, 6 e 7 
 1, 7 e 7 
Respondido em 12/05/2020 15:50:19 
 
 
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 
1a Questão 
 
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: 
 
 
Matricial 
 
Repetição 
 
Recursiva 
 Decisão 
 
Vetorial 
Respondido em 12/05/2020 15:50:39 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 2a Questão 
 
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 = 13, y = 4, z; 
if( x > y ) { z = x; x = y; y = z; } 
cout << z << " " << x << " " << y ; 
 
 
0 4 13 
 13 4 13 
 
4 13 13 
 
0 13 4 
 
13 13 4 
Respondido em 12/05/2020 15:50:31 
 
 
Explicação: 
Fazendo um teste de mesa através de comentários no trecho dado : 
int x = 13, y = 4, z; // x recebe 13 e y recebe 4 
 
if( x > y ) //testa se 13 é maior que 4 ... É verdade. Então, entra no bloco do if 
{ 
 z = x; // z recebe x, que vale 13. Ou seja, z recebe 13 
 x = y; // x recebe y, que é 4. Ou seja, x recebe 4 
 y = z; // y recebe z, que vale 13. Ou seja, y recebe 13 
} 
cout << z << " " << x << " " << y ; //SErá impresso : 13 4 13 
 
 
 
 
 3a Questão 
 
Sobre a estrutura seletiva "se", pode-se afirmar que ela 
( ) permite que novas estruturas seletivas sejam definidas dentro dela; 
( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou mais condições; 
( ) não permite o teste de condições que combinem, na mesma expressão, operadores de tipos distintos; 
 
 V - V - F 
 
F - F - F 
 
V - F - V 
 
V - V - V 
 
F - V - F 
Respondido em 12/05/2020 15:50:35 
 
 
 4a Questão 
 
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"); 
} 
 
 
 
2 
 
12 
 
0 
 8 
 
-4 
Respondido em 12/05/2020 15:50:38 
 
 
 5a 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   12   110   1   0 
 
 11  110  1 10 
 
 11  110  1  0 
 
 11   110    1   0 
 
Respondido em 12/05/2020 15:50:45 
 
 
Explicação: 
Analisando ... 
1a. execução : Valorde 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 
 
 
 
 6a 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) e (AV2 > 4) 
 
Nenhuma outra alternativa satisfaz 
 Se (AV1 >= 4) ou (AV2 >= 4) 
 
Se (AV1 > 4) ou (AV2 > 4) 
 
Se (AV1 >= 4) e (AV2 >= 4) 
Respondido em 12/05/2020 15:51:00 
 
 
Explicação: 
a Se (AV1 >= 4) ou (AV
ha que ser >= e não apenas > Se (AV1 > 4) ou (AV2
âo tem que ter 4 ou mais nas duas provas, mas apenas em uma 
s. 
Se (AV1 >= 4) e (AV
nha que ser >= e no lugar do e tinha que se ou. Se (AV1 > 4) e (AV2 
1a. alternativa é a correta. Ou seja : Se (AV1 >= 4) ou (AV2 >= Nenhuma outra altern
satisfaz 
 
 
 
 7a Questão 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando 
que você tenha um algoritmo no qual o salário esteja armazenado na variável SAL e o total de gastos esteja 
armazenado na variável GASTOS, como deve ser escrita a estrutura seletiva responsável por testar o que 
você deseja descobrir? 
 
 
se (GASTOS 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS==SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS<=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS>=SAL) 
 escreva("Você gastou mais do que deveria!") 
 se (GASTOS>SAL) 
 escreva("Você gastou mais do que deveria!") 
Respondido em 12/05/2020 15:51:24 
 
 
 8a Questão 
 
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 << " "; 
 
 
 4 1 
 4 4 
 1 4 
 1 1 
 Ocorrerá erro, pois o trecho não compila. 
Respondido em 12/05/2020 15:51:13 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
1a Questão 
 
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 
 
 A II E A III estão corretas 
 Somente a I está correta 
 Somente a II está correta 
 A II E IV estão corretas 
 Somente a IV está correta 
Respondido em 12/05/2020 16:09:01 
 
 
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 
 
 
 2a Questão 
 
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 ; 
 
 
138 138 235 
 138 235 138 
 
235 235 138 
 
177 138 235 
 
177 235 138 
Respondido em 12/05/2020 16:08:58 
 
 
Explicação: A variável m ficará com o menor valor 
 
 
 3a Questão 
 
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; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 
x = 10 y = 12 z = 0 k = 0 
 11 11 2 0 
 
x= 11 y = 11 z = 2 k = 0 
 
x = 10 y = 12 z = 0.833 k = 0 
 
10 12 2 0 
Respondido em 12/05/2020 16:09:21 
 
 
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 
 
 
 4a Questão 
 
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: 
 
 
Matricial 
 
Repetição 
 
Recursiva 
 Decisão 
 
Vetorial 
Respondido em 12/05/2020 16:09:11 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 5a Questão 
 
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 é: 
 
 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 !! 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!")} 
 
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 e num<0) 
{ escreva("Este número é ímpar e positivo!") } 
senao se (resto!=0 e num>0) 
{ escreva("Este número é par e positivo!")} 
Respondido em 12/05/2020 16:09:15 
 
 
 
 6a Questão 
 
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 <=

Continue navegando