Buscar

Estruturas de decisão em C++ e Portugol Studio

Prévia do material em texto

1a 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 
 
Estrutura condicional de comando simples 
 
aninhamento de if 
 
comando switch 
 
Estrutura condicional de comando composto 
Respondido em 12/05/2020 15:52:05 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 2a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 15:52:39 
 
 
 3a Questão 
 
Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, 
de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo 
armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da 
estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os 
diferentes tipos de triângulo: 
Escaleno: Dois lados quaisquer com a mesma medida; 
Equilátero: Três lados com a mesma medida; 
Isósceles: Três lados com medidas diferentes. 
 
 
se (lado1==lado2 ou lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo escaleno!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo isósceles!") } 
senao 
{ escreva("Este é um triângulo equilátero!") } 
 
se (lado1=lado2 e lado2=lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se 
{ escreva("Este é um triângulo escaleno!") } 
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) 
{ escreva("Este é um triângulo isósceles!") } 
 se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
(lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
se 
{ escreva("Este é um triângulo isósceles!") } 
Respondido em 12/05/2020 15:52:51 
 
 
 
 4a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
------------------------------------------------------------------- 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, 
utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: 
 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
Respondido em 12/05/2020 15:53:17 
 
 
 
 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; 
} 
 
 
55 90 15 27.5 15 
 
15 25 15 50 90 
 
55 1 
 
15 27.5 15 55 90 
 50 90 15 25 15 
Respondido em 12/05/2020 15:53:16 
 
 
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 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável b ficará 3 
 Nenhuma variável será alterada. 
 A variável b ficará 1 
 A variável a ficará 1 
 A variável t ficará 3 
Respondido em 12/05/2020 15:53:31 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 7a Questão 
 
Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma 
opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. 
 
 
for 
 
while 
 
cout / cin 
 
do/while 
 switch / case 
Respondido em 12/05/2020 15:54:11 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 8a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A
>= 7,5 e < 9 B
>= 6 e < 7,5 C
>= 4 e < 6 D
< 4 E
Qual das alternativas a seguir apresenta a estrutura seletivaque imprime o conceito do aluno? 
 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
Respondido em 12/05/2020 15:54:32 
 
 
1a Questão 
 
Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu 
código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - 
quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes 
fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que 
você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. 
 
 
default 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
 
switch 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 case 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
switch: 
 cout <<"Código inválido!"; 
Respondido em 12/05/2020 15:54:51 
 
 
 2a Questão 
 
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens 
de programação. 
Eu sempre digo: Claro que sim! 
Analise as afirmativas abaixo e escolha a opção certa. 
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, 
o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste 
de um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não 
teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs 
encadeados seria mais eficiente. 
 
 
As afirmativas II, III e IV são verdadeiras 
 
Somente a afirmativa III é falsa 
 As afirmativas I e IV são verdadeiras 
 
Somente a afirmativa I é verdadeira 
 
Somente a afirmativa II é verdadeira 
Respondido em 12/05/2020 15:55:07 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 3a Questão 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 
9 ? Assinale a opção correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 9 ### 
 
9 é divisível por 3 e por 5. 
 
Apenas 9 
 
9 não é divisível por 2. 
Respondido em 12/05/2020 15:56:26 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. 
teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o 
valor de x e ###. Como x vale 9, a saída é 9### 
 
 
 4a 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? 
 
 
while 
 switch/case 
 
do/while 
 
cout 
 
for 
Respondido em 12/05/2020 15:56:29 
 
 
Explicação: 
switch/case 
petição do/while 
petição for 
pressão na tela cout 
petição while 
 
 
 
 5a 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 << " ### " ; 
 
 
 
7 não é divisível por 2. 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 7 ### 
 
 
Apenas 7 
 
 
7 é divisível por 3 e por 5. 
Respondido em 12/05/2020 15:56:34 
 
 
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### 
 
 
 
 6a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
 
A - caso, B - escolha, C - pare, D - outros casos 
 
A - se, B - caso, C - pare, D - default 
 
A - case, B - switch, C - default, D - break 
Respondido em 12/05/2020 15:56:37 
 
 
 7a Questão 
 
 
 
 11 10 50 10 
 11 50 10 2 
 11 10 50 10 2 
 11 50 10 
 10 50 10 2 
Respondido em 12/05/2020 15:57:07 
 
 
Explicação: 
1ª. Execução : valor de a é 1 
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso 11 
 10 
2ª. Execução : valor de a é 5 
Entrar no case 5 e imprimir 50 
3ª. Execução : valor de a é 20 
Entrar no case 20 e depois no case 30. 
Então, será impresso 10 
 2 
Concluindo : 
Valores impressos : 11 10 50 10 2 
 
 
 8a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminaldeve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
------------------------------------------------------------------- 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, 
utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: 
 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
Respondido em 12/05/2020 15:58:03 
1a 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; 
} 
 
 
15 25 15 50 90 
 
15 27.5 15 55 90 
 
55 1 
 50 90 15 25 15 
 
55 90 15 27.5 15 
Respondido em 12/05/2020 15:58:14 
 
 
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. 
 
 
 2a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 15:58:27 
 
 
 
 3a Questão 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável a ficará 1 
 A variável b ficará 1 
 A variável b ficará 3 
 A variável t ficará 3 
 Nenhuma variável será alterada. 
Respondido em 12/05/2020 15:58:31 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 4a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A
>= 7,5 e < 9 B
>= 6 e < 7,5 C
>= 4 e < 6 D
< 4 E
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? 
 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
Respondido em 12/05/2020 15:58:41 
 
 
 5a 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 
 
break 
 
while 
 
for 
 
do/while 
Respondido em 12/05/2020 15:59:02 
 
 
Explicação: 
mando de repetição do/while 
mando de repetição. for 
adeiro. switch/case 
 
Falso. Comando de repetição. while 
 
Falso. Comando de interrupção. break 
 
 
 
 6a Questão 
 
Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu 
código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - 
quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes 
fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que 
você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. 
 
 
default 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
switch: 
 cout <<"Código inválido!"; 
 case 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
switch 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
Respondido em 12/05/2020 15:59:15 
 
 
 
 7a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variávelcodigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - se, B - caso, C - pare, D - default 
 
A - case, B - switch, C - default, D - break 
 
A - caso, B - escolha, C - pare, D - outros casos 
 
A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
Respondido em 12/05/2020 15:59:11 
 
 
 8a Questão 
 
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens 
de programação. 
Eu sempre digo: Claro que sim! 
Analise as afirmativas abaixo e escolha a opção certa. 
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, 
o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste de 
um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não 
teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs 
encadeados seria mais eficiente. 
 
 As afirmativas I e IV são verdadeiras 
 
Somente a afirmativa I é verdadeira 
 
Somente a afirmativa II é verdadeira 
 
Somente a afirmativa III é falsa 
 
As afirmativas II, III e IV são verdadeiras 
Respondido em 12/05/2020 15:59:18 
 
 
Explicação: As respostas falsas são conclusivas 
1a Questão 
 
 
 
 11 10 50 10 2 
 11 50 10 
 11 10 50 10 
 11 50 10 2 
 10 50 10 2 
Respondido em 12/05/2020 15:59:39 
 
 
Explicação: 
1ª. Execução : valor de a é 1 
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso 11 
 10 
2ª. Execução : valor de a é 5 
Entrar no case 5 e imprimir 50 
3ª. Execução : valor de a é 20 
Entrar no case 20 e depois no case 30. 
Então, será impresso 10 
 2 
Concluindo : 
Valores impressos : 11 10 50 10 2 
 
 
 2a 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 << " ### " ; 
 
 
 
7 não é divisível por 2. 
 7 ### 
 
 
7 é divisível por 3 e por 5. 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 
 
Apenas 7 
Respondido em 12/05/2020 15:59:59 
 
 
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### 
 
 
 
 3a Questão 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 
9 ? Assinale a opção correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 9 ### 
 
Apenas 9 
 
Nada aparece, pois o trecho de programa possui erro. 
 
9 é divisível por 3 e por 5. 
 
9 não é divisível por 2. 
Respondido em 12/05/2020 15:59:49 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. 
teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o 
valor de x e ###. Como x vale 9, a saída é 9### 
 
 
 
 4a 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? 
 
 
while 
 
cout 
 
do/while 
 
for 
 switch/case 
Respondido em 12/05/2020 15:59:53 
 
 
Explicação: 
switch/case 
petição do/while 
petição for 
pressão na tela cout 
petição while 
 
 
 
 5a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
------------------------------------------------------------------- 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, 
utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: 
 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
Respondido em 12/05/2020 16:00:14 
 
 
 6a Questão 
 
Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, 
de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo 
armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da 
estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os 
diferentes tipos de triângulo: 
Escaleno: Dois lados quaisquer com a mesma medida; 
Equilátero: Três lados com a mesma medida; 
Isósceles: Três lados com medidas diferentes. 
 
 
se (lado1==lado2 ou lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo escaleno!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo isósceles!") } 
senao 
{ escreva("Este é um triângulo equilátero!") } 
 se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1=lado2 e lado2=lado3){ escreva("Este é um triângulo equilátero!") } 
senao se 
{ escreva("Este é um triângulo escaleno!") } 
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) 
{ escreva("Este é um triângulo isósceles!") } 
 
(lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
se 
{ escreva("Este é um triângulo isósceles!") } 
Respondido em 12/05/2020 16:00:23 
 
 
 
 7a Questão 
 
Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma 
opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. 
 
 
for 
 
while 
 
do/while 
 
cout / cin 
 switch / case 
Respondido em 12/05/2020 16:00:28 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 8a 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 
 
aninhamento de if 
 
Estrutura condicional de comando simples 
 
comando switch 
 
Estrutura condicional de comando composto 
Respondido em 12/05/2020 16:00:47 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
1a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 16:01:04 
 
 
 
 2a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A
>= 7,5 e < 9 B
>= 6 e < 7,5 C
>= 4 e < 6 D
< 4 E
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? 
 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
Respondido em 12/05/2020 16:01:15 
 
 
 3a 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; 
} 
 
 
15 25 15 50 90 
 
15 27.5 15 55 90 
 
55 90 15 27.5 15 
 
55 1 
 50 90 15 25 15 
Respondido em 12/05/2020 16:01:40 
 
 
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. 
 
 
 4a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
 
A - se, B - caso, C - pare, D - default 
 
A - caso, B - escolha, C - pare, D - outros casos 
 
A - case, B - switch, C - default, D - break 
Respondido em 12/05/2020 16:01:46 
 
 
 
 5a Questão 
 
Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu 
código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - 
quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes 
fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que 
você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. 
 
 case 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
 
switch 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
switch: 
 cout <<"Código inválido!"; 
Respondido em 12/05/2020 16:02:04 
 
 
 
 6a Questão 
 
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens 
de programação. 
Eu sempre digo: Claro que sim! 
Analise as afirmativas abaixoe escolha a opção certa. 
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, 
o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste 
de um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não 
teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs 
encadeados seria mais eficiente. 
 
 
Somente a afirmativa III é falsa 
 
Somente a afirmativa II é verdadeira 
 
Somente a afirmativa I é verdadeira 
 As afirmativas I e IV são verdadeiras 
 
As afirmativas II, III e IV são verdadeiras 
Respondido em 12/05/2020 16:02:09 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 7a 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? 
 
 
break 
 
do/while 
 
while 
 switch/case 
 
for 
Respondido em 12/05/2020 16:02:11 
 
 
Explicação: 
mando de repetição do/while 
mando de repetição. for 
adeiro. switch/case 
mando de repetição. while 
mando de interrupção. break 
 
 
 
 8a Questão 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável a ficará 1 
 Nenhuma variável será alterada. 
 A variável b ficará 1 
 A variável b ficará 3 
 A variável t ficará 3 
Respondido em 12/05/2020 16:02:15 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
1a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 16:01:04 
 
 
 
 2a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A
>= 7,5 e < 9 B
>= 6 e < 7,5 C
>= 4 e < 6 D
< 4 E
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? 
 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
Respondido em 12/05/2020 16:01:15 
 
 
 
 3a 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; 
} 
 
 
15 25 15 50 90 
 
15 27.5 15 55 90 
 
55 90 15 27.5 15 
 
55 1 
 50 90 15 25 15 
Respondido em 12/05/2020 16:01:40 
 
 
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. 
 
 
 4a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
 
A - se, B - caso, C - pare, D - default 
 
A - caso, B - escolha, C - pare, D - outros casos 
 
A - case, B - switch, C - default, D - break 
Respondido em 12/05/2020 16:01:46 
 
 
 
 5a Questão 
 
Imagine que você precisa escrever um programa em C++ que exibao nome do dia semana a partir de seu 
código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - 
quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes 
fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que 
você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. 
 
 case 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
 
switch 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
switch: 
 cout <<"Código inválido!"; 
Respondido em 12/05/2020 16:02:04 
 
 
 
 6a Questão 
 
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas linguagens 
de programação. 
Eu sempre digo: Claro que sim! 
Analise as afirmativas abaixo e escolha a opção certa. 
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais instruções, 
o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste 
de um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não 
teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs 
encadeados seria mais eficiente. 
 
 
Somente a afirmativa III é falsa 
 
Somente a afirmativa II é verdadeira 
 
Somente a afirmativa I é verdadeira 
 As afirmativas I e IV são verdadeiras 
 
As afirmativas II, III e IV são verdadeiras 
Respondido em 12/05/2020 16:02:09 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 7a 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? 
 
 
break 
 
do/while 
 
while 
 switch/case 
 
for 
Respondido em 12/05/2020 16:02:11 
 
 
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 
 
 
 
 8a Questão 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável a ficará 1 
 Nenhuma variável será alterada. 
 A variável b ficará 1 
 A variável b ficará 3 
 A variável t ficará 3 
Respondido em 12/05/2020 16:02:15 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 
1a Questão 
 
 
 
 11 50 10 
 11 10 50 10 
 11 50 10 2 
 11 10 50 10 2 
 10 50 10 2 
Respondido em 12/05/2020 16:02:16 
 
 
Explicação: 
1ª. Execução : valor de a é 1 
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso 11 
 10 
2ª. Execução : valor de a é 5 
Entrar no case 5 e imprimir 50 
3ª. Execução : valor de a é 20 
Entrar no case 20 e depois no case 30. 
Então, será impresso 10 
 2 
Concluindo : 
Valores impressos : 11 10 50 10 2 
 
 
 2a 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? 
 
 
while 
 switch/case 
 
for 
 
cout 
 
do/while 
Respondido em 12/05/2020 16:02:36 
 
 
Explicação: 
switch/case 
petição do/while 
petição for 
pressão na tela cout 
petição while 
 
 
 
 3a Questão 
 
Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, 
de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo 
armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da 
estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os 
diferentes tipos de triângulo: 
Escaleno: Dois lados quaisquer com a mesma medida; 
Equilátero: Três lados com a mesma medida; 
Isósceles: Três lados com medidas diferentes. 
 
 
(lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
se 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1=lado2 e lado2=lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se 
{ escreva("Este é um triângulo escaleno!") } 
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) 
{ escreva("Este é um triângulo isósceles!") } 
 se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 ou lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo escaleno!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo isósceles!") } 
senao 
{ escreva("Este é um triângulo equilátero!") } 
Respondido em 12/05/2020 16:02:52 
 
 
 
 4a Questão 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 
9 ? Assinale a opção correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 
Apenas 9 
 
9 é divisível por 3 e por 5. 
 
9 não é divisível por 2. 
 
Nada aparece, pois o trecho de programa possui erro. 
 9 ### 
Respondido em 12/05/2020 16:03:01 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. 
teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o 
valor de x e ###. Como x vale 9, a saída é 9### 
 
 
 5a 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 alternativaque 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; 
} 
 
 
Estrutura condicional de comando composto 
 
aninhamento de if 
 Operador ternário 
 
Estrutura condicional de comando simples 
 
comando switch 
Respondido em 12/05/2020 16:03:05 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 6a 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 << " ### " ; 
 
 7 ### 
 
 
7 não é divisível por 2. 
 
 
7 é divisível por 3 e por 5. 
 
 
Apenas 7 
 
 
Nada aparece, pois o trecho de programa possui erro. 
Respondido em 12/05/2020 16:03:08 
 
 
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### 
 
 
 
 7a Questão 
 
Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma 
opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. 
 
 
do/while 
 switch / case 
 
while 
 
cout / cin 
 
for 
Respondido em 12/05/2020 16:02:56 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 8a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 16:03:13 
 
1a Questão 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada 
é 9 ? Assinale a opção correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 9 ### 
 
9 é divisível por 3 e por 5. 
 
Apenas 9 
 
Nada aparece, pois o trecho de programa possui erro. 
 
9 não é divisível por 2. 
Respondido em 12/05/2020 16:05:44 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. 
teste é falso, não entramos no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o 
valor de x e ###. Como x vale 9, a saída é 9### 
 
 
 2a Questão 
 
 
 
 11 10 50 10 2 
 10 50 10 2 
 11 50 10 2 
 11 10 50 10 
 11 50 10 
Respondido em 12/05/2020 16:06:06 
 
 
Explicação: 
1ª. Execução : valor de a é 1 
Entrar no case 1, depois no case 3 e em seguida, no case 5. 
Então será impresso 11 
 10 
2ª. Execução : valor de a é 5 
Entrar no case 5 e imprimir 50 
3ª. Execução : valor de a é 20 
Entrar no case 20 e depois no case 30. 
Então, será impresso 10 
 2 
Concluindo : 
Valores impressos : 11 10 50 10 2 
 
 
 3a 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 << " ### " ; 
 
 
 
7 não é divisível por 2. 
 
 
Apenas 7 
 7 ### 
 
 
7 é divisível por 3 e por 5. 
 
 
Nada aparece, pois o trecho de programa possui erro. 
Respondido em 12/05/2020 16:06:11 
 
 
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### 
 
 
 
 4a 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? 
 
 
while 
 
cout 
 
do/while 
 switch/case 
 
for 
Respondido em 12/05/2020 16:06:16 
 
 
Explicação: 
switch/case 
etição do/while 
etição for 
pressão na tela cout 
etição while 
 
 
 
 5a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas 
iniciais dessa seleção, até o caso de o item "hambúrguer" ser escolhido? 
 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 12/05/2020 16:06:31 
 
 
 
 6a 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; 
} 
 
 
comando switch 
 
Estrutura condicional de comando composto 
 Operador ternário 
 
aninhamento de if 
 
Estrutura condicional de comando simples 
Respondido em 12/05/2020 16:06:37 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 7a Questão 
 
Que comando em C++ é mais indicado para ser usado em um programa que permita a escolha de uma 
opção do MENU ? Por exemplo : 1-Incluir, 2-Excluir, 3-Alterar e 9-Sair. 
 
 
while 
 
do/while 
 switch / case 
 
for 
 
cout / cin 
Respondido em 12/05/2020 16:06:40 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 8a Questão 
 
Às vezes me perguntam se existe alguma razão para existirem tantas formas de decisão nas 
linguagens de programação. 
Eu sempre digo: Claro que sim! 
Analise as afirmativas abaixo e escolha a opção certa. 
I Se tivermos que fazer um teste e só executar um bloco, que pode ter uma instrução ou mais 
instruções, o if simples deverá ser escolhido. 
II Se tivermos duas possibilidades de respostas, não poderemos usar dois if(s) simples, onde o teste 
de um é o complementa o do outro, porque poderão sair duas respostas. 
III Se tivermos três possibilidades de respostas, podemos usar um if simples e um if composto que não 
teremos problemas com as respostas. 
IV Quando temos 10 possibilidades de respostas, poderemos usar 10 if(s) simples, embora usar ifs 
encadeados seria mais eficiente. 
 
 As afirmativas I e IV são verdadeiras 
 
Somente a afirmativa I é verdadeira 
 
Somente a afirmativa III é falsa 
 
Somente a afirmativa II é verdadeira 
 
As afirmativas II, III e IV são verdadeiras 
Respondido em 12/05/2020 16:06:59 
 
 
Explicação: As respostas falsas são conclusivas 
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 
 
for 
 
while 
 
break 
 
do/while 
Respondido em 12/05/2020 16:07:01 
 
 
Explicação: 
mando de repetição do/while 
mando de repetição. for 
Verdadeiro. switch/case 
 
Falso. Comando de repetição. while 
 
Falso. Comando de interrupção. break 
 
 
 
 2a Questão 
 
Uma estrutura seletiva permite que se restrinja a execução de um trecho do programa à veracidade, ou não, 
de uma condição. Sabendo disso, imagine que você está com as medidas dos três lados de um triângulo 
armazenados nas variáveis L1, L2 e L3. Utilizando a sintaxe do Portugol Studio, como seria o trecho da 
estrutura seletiva que avalie se este triângulo é isóscele, escaleno ou equilátero? Veja as definições para os 
diferentes tipos de triângulo: 
Escaleno: Dois lados quaisquer com a mesma medida; 
Equilátero: Três lados com a mesma medida; 
Isósceles: Três lados com medidas diferentes. 
 
 
(lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
se 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 ou lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo escaleno!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo isósceles!") } 
senao 
{ escreva("Este é um triângulo equilátero!") } 
 
se (lado1=lado2 e lado2=lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se 
{ escreva("Este é um triângulo escaleno!") } 
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) 
{ escreva("Este é um triângulo isósceles!") } 
 se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
Respondido em 12/05/2020 16:07:10 
 
 
 3a Questão 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável b ficará 1 
 A variável t ficará 3 
 Nenhuma variável será alterada. 
 A variável a ficará 1 
 A variável b ficará 3 
Respondido em 12/05/2020 16:07:18 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 4a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A 
>= 7,5 e < 9 B 
>= 6 e < 7,5 C 
>= 4 e < 6 D 
< 4 E 
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? 
 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
Respondido em 12/05/2020 16:07:42 
 
 
 5a Questão 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu 
pedido. Para que isso aconteça, o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
------------------------------------------------------------------- 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens 
que ele deseja pedir. Ao final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Considerando a sintaxe do Portugol Studio, um algoritmo que possaresolver o problema da lanchonete, 
utilizando a estrutura ESCOLHA, no trecho referente à compra de um milkshake seria: 
 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
Respondido em 12/05/2020 16:07:51 
 
 
 
 6a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - caso, B - escolha, C - pare, D - outros casos 
 A - escolha, B - caso, C - pare, D - outros casos 
 
A - se, B - caso, C - pare, D - default 
 
A - case, B - switch, C - default, D - break 
 
A - switch, B - case, C - break, D - default 
Respondido em 12/05/2020 16:07:58 
 
 
 7a Questão 
 
Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu 
código numérico equivalente, conforme se vê a seguir. 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - 
quarta-feira, 5 - quinta-feira, 6 - sexta-feira, 7 - sábado. Se fosse utilizada a estrutura SWITCH e os testes 
fossem escritos na ordem em que os dias estão listados, os casos finais dessa estrutura, considerando que 
você deseja apresentar uma mensagem de erro caso o usuário informe um código equivocado, seriam. 
 
 
switch 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
 
default 7: 
 cout <<"sábado"; 
 break; 
switch: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
 case 7: 
 cout <<"sábado"; 
 break; 
default: 
 cout <<"Código inválido!"; 
Respondido em 12/05/2020 16:08:19 
 
 
 8a 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 
 
55 1 
 
15 27.5 15 55 90 
 
55 90 15 27.5 15 
 
15 25 15 50 90 
Respondido em 12/05/2020 16:08:19 
 
 
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. 
1a Questão 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome 
do dia semana a partir de seu código numérico equivalente, armazenado na variável codigo. Confira a 
codificação: 1 - domingo, 2 - segunda-feira, 3 - terça-feira, 4 - quarta-feira, 5 - quinta-feira, 6 - sexta-
feira, 7 - sábado. Veja o trecho da estrutura de seleção que poderia ser utilizado na solução: 
_____A_____ (codigo) { 
  _____B_____ 1: 
    escreva("domingo") 
    ____C______ 
  _____B_____ 2: 
    escreva("segunda‐feira") 
    ____C______ 
  _____B_____ 3: 
    escreva("terça‐feira") 
    ____C______ 
  _____B_____ 4: 
    escreva("quarta‐feira") 
    _____C_____ 
  _____B_____ 5: 
    escreva("quinta‐feira") 
    _____C_____ 
  _____B_____ 6: 
    escreva("sexta‐feira") 
    _____C_____ 
  _____B_____ 7: 
    escreva("sábado") 
    __________     
  _____D_____: 
    escreva("Código inválido!") 
  } 
As instruções que completam adequadamente as lacunas são: 
 
 
A - case, B - switch, C - default, D - break 
 
A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
 
A - se, B - caso, C - pare, D - default 
 
A - caso, B - escolha, C - pare, D - outros casos 
Respondido em 12/05/2020 16:11:18 
 
 
 
 2a Questão 
 
Considerere um trecho de um programa em C++. Qual a variável que será alterada e para 
qual valor ela mudará ? 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
 
 
 A variável b ficará 1 
 A variável b ficará 3 
 A variável a ficará 1 
 A variável t ficará 3 
 Nenhuma variável será alterada. 
Respondido em 12/05/2020 16:11:40 
 
 
Explicação: 
int a = 2, b = 4, x = 12, y = 11, z = 3; 
 float t = 0; 
 if (x < y+z) 
 if (y != z*4 - 2) 
 t = y/z; 
 else 
 a = y % z; 
 else 
 b = z + y/x; 
Analisando o trecho acima. 
1o. if : 12 < 14 ? Sim. Entrar no 1o. if. 
2o. if : 11 != 3 * 4 - 2, ou seja, 11 != 12-2, ou seja, 11 é diferente de 10 ? VErdadeiro. Entrar no 2o. if. 
Então, é preciso fazermos t receber y/z, ou seja, t receber 11/3, que dá 3. 
 
 
 
 3a Questão 
 
Imagine que você precisa escrever um programa que leia o nome, as 3 notas obtidas por um 
aluno nas 3 avaliações do semestre e a média dos exercícios que fazem parte da avaliação. O 
programa precisa calcular e exibir a média ponderada de aproveitamento e mostrar o conceito 
do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A 
>= 7,5 e < 9 B 
>= 6 e < 7,5 C 
>= 4 e < 6 D 
< 4 E 
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do aluno? 
 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else if (Media>=4 && Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
Respondido em 12/05/2020 16:11:33 
 
 
 4a Questão 
 
Imagine que você precisa escrever um programa em C++ que exiba o nome do dia semana a partir de seu

Continue navegando