Logo Passei Direto
Buscar
Material
páginas com resultados encontrados.
páginas com resultados encontrados.

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Escolha uma das opções e acesse esse e outros materiais sem bloqueio. 🤩

Cadastre-se ou realize login

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Prévia do material em texto

1a Questão (Ref.:201904183902) Acerto: 1,0 / 1,0 
Assinale a alternativa correta relacionada à característica de um algoritmo: 
 
 A execução de um algoritmo é feita sequencialmente. 
 
Teste de Mesa serve para receber os comandos de entrada. 
 
Para cada variável pode ser definido mais de um tipo de dado. 
 
Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 
 
Valores de entrada são recebidos através do monitor. 
Respondido em 09/09/2019 19:10:22 
 
 
 
2a Questão (Ref.:201904184064) Acerto: 1,0 / 1,0 
 Assinale a opção correta. Considerando o conceito de programa é correto afirmar que 
... 
 
 
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto 
de instruções/funções que representam tarefas que serão interpretadas e executadas por 
um computador. 
 
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto 
de instruções/funções que representam tarefas que serão apenas executadas por um 
computador. 
 Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um 
conjunto de instruções/funções que representam tarefas que serão interpretadas e 
executadas por um computador. 
 
Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou 
seja, é um conjunto de comandos que representam tarefas que serão compreendidas por 
um computador. 
 
Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), 
isto é, um conjunto de instruções que representam tarefas que serão apenas 
interpretadas por um computador. 
Respondido em 09/09/2019 19:18:02 
 
 
 
3a Questão (Ref.:201904217367) Acerto: 1,0 / 1,0 
Em programação, como se chama o processo de converter um arquivo de texto, escrito em uma 
linguagem de programação, em códigos binários pertencentes a uma plataforma de execução? 
 
 
Transformação 
 
Ligação 
 
Indexação 
 
Conversão 
 Compilação 
Respondido em 09/09/2019 19:13:28 
 
 
 
4a Questão (Ref.:201904184150) Acerto: 1,0 / 1,0 
Necessita de espaço na memória e define o tipo de dado a ser armazenado 
 
 Variável 
 
Comando Enquanto-Faça 
 
Comando PARA 
 
Variável de Controle 
 
Estrutura de Seleção 
Respondido em 09/09/2019 19:19:19 
 
 
 
5a Questão (Ref.:201906321679) Acerto: 0,0 / 1,0 
Analise o trecho de código abaixo e depois marque a opção correta para o que se pede: 
 int x, y,a , b; 
 float z; 
 a = 14; 
 b = 3; 
 x = a / b; 
 y = a % b; 
 z = y / x; 
 Qual seria o valor de x? 
 
 4 
 4.66666 
 
14 
 
3 
 
5 
Respondido em 09/09/2019 19:23:29 
 
 
 
6a Questão (Ref.:201906681630) Acerto: 1,0 / 1,0 
Monte a tabela da verdade para a expressão A || B && C && !A. 
A B C !A B && C B && C && !A A || B && C && !A 
V V V F V F 
V V F F F F 
V F V F F F 
V F F F F F 
F V V V V V 
F V F V F F 
F F V V F F 
F F F V F F 
A sequência de valores que preenche a última coluna, de cima para baixo, é: 
 
 
F, V, F, V, V, F, V, F 
 
F, F, F, F, F, V, V, V 
 V, V, V, V, V, F, F, F 
 
V, V, F, F, V, V, F, F 
 
V, F, V, F, V, F, V, F 
Respondido em 09/09/2019 19:25:56 
 
 
 
7a Questão (Ref.:201904183522) Acerto: 1,0 / 1,0 
Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: 
 
 cout >>x; 
 
 cout >> "Valor de x: " >> x; 
 cout << "Valor de x: " >> x; 
 
 cout >> "Valor de x: " , x; 
 cout << x; 
 
Respondido em 09/09/2019 19:27:18 
 
 
 
8a Questão (Ref.:201906374344) Acerto: 0,0 / 1,0 
Assinale a opção correta : 
 
 Para entrada de dados usamos cin com << e para saída de 
dados usamos cout com >> 
 Para entrada de dados usamos cout e para saída de dados 
usamos cin 
 Para entrada de dados usamos cin com >> e para saída de 
dados usamos cout com << 
 Para entrada de dados usamos cout com << e para saída de 
dados usamos cin com >> 
 Para entrada de dados usamos read e para saída de dados 
usamos write 
Respondido em 09/09/2019 19:28:27 
 
 
 
9a Questão (Ref.:201906681614) Acerto: 1,0 / 1,0 
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 - V - F 
 
F - F - F 
 
F - V - F 
 
V - F - V 
Respondido em 09/09/2019 19:28:52 
 
 
 
10a Questão (Ref.:201904217389) Acerto: 1,0 / 1,0 
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 
 8 
 
2 
 
0 
 
-4 
 
 
1a Questão (Ref.:201904220767) Acerto: 1,0 / 1,0 
Assinale a opção correta: 
 
 
A forma mais comum de escrever um algoritmo é em fluxograma. 
 
A forma mais comum de escrever um algoritmo é em Inglês. 
 
A forma mais comum de escrever um algoritmo é em Português. 
 
A forma mais comum de escrever um algoritmo é usar um bom software. 
 A forma mais comum de escrever um algoritmo é em portugol. 
Respondido em 09/09/2019 19:32:24 
 
 
 
2a Questão (Ref.:201904183402) Acerto: 1,0 / 1,0 
Considerando as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e 
representar graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema 
do mundo real a partir dos algoritmos. 
 
Podemos afirmar que: 
 
 
Todas as alternativas são CORRETAS 
 
Apenas a alternativa I é CORRETA 
 
Nenhuma das opções anteriores 
 
As alternativas II e III são INCORRETAS 
 As alternativas I e III são CORRETAS 
Respondido em 09/09/2019 19:33:06 
 
 
 
3a Questão (Ref.:201906681633) Acerto: 0,0 / 1,0 
Sobre a linguagem de programação C++, é correto afirmar que a mesma: 
I. Não permite a criação de variáveis do tipo lógico; 
II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas; 
III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_"); 
IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja 
definido. 
 
 II, III e IV são verdadeiras. 
 
I, II e III são verdadeiras. 
 
I e IV são verdadeiras. 
 
I e II são verdadeiras. 
 II e III são verdadeiras. 
Respondido em 09/09/2019 19:33:52 
 
 
 
4a Questão (Ref.:201904225187) Acerto: 0,0 / 1,0 
Precisamos ficar atentos a algumas exigências da linguagem C++. 
Leia com atenção as afirmativas abaixo e, depois, escolha a opção correta. 
I Devemos tomar cuidado para não declarar uma variável de nome Nota e não usar no programa nota. 
II Foram declaradas duas variáveis com os seguintes nomes: Idade e auto. O programa foi compilado 
sem problemas. 
III A declaração de variáveis globais é fora de todas as funções 
IV Existe somente o delimitador // para fazer comentários 
 
 Somente as afirmativas I e III estão corretas 
 Somente as afirmativas II e III estão corretas 
 
Todas as afirmativas estão corretasSomente a afirmativa III está errada 
 
Somente a afirmativa IV está errada 
Respondido em 09/09/2019 19:35:37 
 
 
 
5a Questão (Ref.:201906374364) Acerto: 1,0 / 1,0 
Considere duas variáveis inteiras x e y. Assinale a opção correta. 
 
 Fazer !(x < y) equivale a fazer x > y 
 Fazer !(x == y) equivale a fazer x != y 
 Fazer !(x != y) equivale a fazer x = y 
 Fazer !(x = y) equivale a fazer x != y 
 Fazer !(x <= y) equivale a fazer x >= y 
Respondido em 09/09/2019 19:38:24 
 
 
 
6a Questão (Ref.:201904183830) Acerto: 1,0 / 1,0 
Assinale a alternativa que apresenta APENAS operadores relacionais. 
 
 
+, - e * 
 
&&, || e ~ 
 <, > e >= 
 
&&, >= e || 
 
=, > e || 
Respondido em 09/09/2019 19:38:37 
 
 
 
7a Questão (Ref.:201906374344) Acerto: 1,0 / 1,0 
Assinale a opção correta : 
 
 Para entrada de dados usamos cout com << e para saída de 
dados usamos cin com >> 
 Para entrada de dados usamos cout e para saída de dados 
usamos cin 
 Para entrada de dados usamos read e para saída de dados 
usamos write 
 Para entrada de dados usamos cin com << e para saída de 
dados usamos cout com >> 
 Para entrada de dados usamos cin com >> e para saída de 
dados usamos cout com << 
Respondido em 09/09/2019 19:39:04 
 
 
 
8a Questão (Ref.:201906681643) Acerto: 1,0 / 1,0 
Observe o algoritmo a seguir: 
1 programa 
2 { 
3 inclua biblioteca Matematica --> mat 
4 funcao inicio() 
5 { 
6 real qtdeDin, valComb, qtdeLitros 
7 escreva("Quanto custa o litro do combustível? R$ ") 
8 leia(valComb) 
9 escreva("Quantos reais você tem? R$ ") 
10 leia(qtdeDin) 
11 qtdeLitros=qtdeDin/valComb 
12 escreva("Com R$ ", qtdeDin, " você consegue abastecer 
", mat.arredondar(qtdeLitros,2)," litros de combustível.") 
13 } 
14 } 
Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para 
abastecer, qual mensagem seria exibida pelo computador na linha 12? 
 
 
"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de 
combustível." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
Respondido em 09/09/2019 19:42:12 
 
 
 
9a Questão (Ref.:201904223051) Acerto: 0,0 / 1,0 
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.5 
 14 4 0 
 
0.5 4 14 
 
4 14 0.5 
 4 14 0 
Respondido em 09/09/2019 19:46:28 
 
 
 
10a Questão (Ref.:201904217599) Acerto: 0,0 / 1,0 
Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 
seja mostrado na tela. 
 
#include 
using namespace std; 
int main() 
{ 
int N1, N2; 
N1= 27; 
N2= 54; 
if ( ______________ ) 
{ 
 cout<< N2; 
} 
else 
{ 
 cout<< N1; 
} 
return 0; 
} 
 
 
 N1 > N2 || N2 < 50 
 
N2 > N1 || N1 > 50 
 
N2 == N1 || N2 > 20 
 N1 < N2 && N1 < 50 
 
N1 < N2 && N1 > 20 
 
 
1a Questão (Ref.:201904183665) Acerto: 1,0 / 1,0 
Assinale a opção correta. 
 
 
Para se escrever um programa não precisa se conhecer lógica de programação, pois o 
fundamental é a linguagem de programação. 
 
Programa e fluxograma são sinônimos. 
 
Um programa é um algoritmo codificado em uma pseudolinguagem. 
 
Um programa é um algoritmo codificado em linguagem natural. 
 Um programa é um algoritmo codificado em uma linguagem de programação. 
Respondido em 09/09/2019 19:49:54 
 
 
 
2a Questão (Ref.:201904184052) Acerto: 1,0 / 1,0 
Analise as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e 
representar graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema 
do mundo real a partir dos algoritmos. 
 
Podemos afirmar que: 
 
 
Apenas a alternativa I é CORRETA 
 Apenas as alternativas I e III são CORRETAS 
 
Todas as alternativas são CORRETAS 
 
Apenas as alternativas II e III são INCORRETAS 
 
Apenas as alternativas I e II são CORRETAS 
Respondido em 09/09/2019 19:50:35 
 
 
 
3a Questão (Ref.:201904183979) Acerto: 1,0 / 1,0 
A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os 
dados de um programa. Indique os nomes de variáveis que são válidos em C++. 
 
 
preço, medida 
 
us# , tempo 
 
double, int 
 
8situacao, numero 
 mumero2Casa, idade 
Respondido em 09/09/2019 19:51:15 
 
 
 
4a Questão (Ref.:201906374342) Acerto: 1,0 / 1,0 
Assinale a opção correta: 
 
 Para terminar um programa podemos escrever : return; 
 Sem endentação o programa não compila 
 Para saída de dados usamos cin com o operador << 
 Todas as instruções de um programa em C++ devem estar 
entre chaves 
 Na linguagem C++ temos que não há distinção entre 
maiúsculas e minúsculas. 
Respondido em 09/09/2019 19:57:11 
 
 
 
5a Questão (Ref.:201904183986) Acerto: 1,0 / 1,0 
Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ? 
 
 PRECO_DESC = PRECO - PRECO * 7.5 /100; 
 
PRECO_DESC = PRECO * 0.75; 
 
PRECO_DESC = PRECO * 7.5 / 100; 
 
PRECO_DESC = PRECO * 0.075; 
 
PRECO_DESC = PRECO * 7.5%; 
Respondido em 09/09/2019 20:02:16 
 
 
 
6a Questão (Ref.:201904183469) Acerto: 1,0 / 1,0 
Os operadores lógicos servem para combinar resultados de expressões, retornando se o 
resultado final é verdadeiro ou falso. Marque a alternativa que contém o operador lógico que 
deve ser utilizado quando as duas proposições lógicas necessitam ser verdadeiras para que o 
resultado da combinação seja verdadeiro. 
 
 
((pontos>=10) # (pontos <=20)) 
 
((pontos>=10) ! (pontos <=20)) 
 
((pontos>=10) || (pontos <=20)) 
 ((pontos>=10) && (pontos <=20)) 
 
((pontos>=10) % (pontos <=20)) 
Respondido em 09/09/2019 20:03:05 
 
 
 
7a Questão (Ref.:201906681650) Acerto: 1,0 / 1,0 
A sintaxe de uma linguagem de programação 
 
 
viabiliza a comunicação entre usuários e programas através de comandos de entrada e 
saída. 
 
garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo 
programa. 
 define a forma como os comandos e as estruturas da linguagem devem ser utilizados. 
 
cria a versão executável do código fonte e não está presente em algumas linguagens. 
 
converte os comandos para linguagem de máquina para que possam ser executados. 
Respondido em 09/09/2019 20:04:31 
 
 
 
8a Questão (Ref.:201906681652) Acerto: 1,0 / 1,0 
C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e 
assinale Verdadeiro ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
F - F - F 
 
V - V - V 
 
V - F - F 
 V - V - F 
 
F - V - F 
Respondido em 09/09/2019 20:05:45 
 
 
 
9a Questão (Ref.:201904183641) Acerto: 1,0 / 1,0 
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 
 A II E A III estão corretas 
 Somente a I está correta 
 Somente a IV está correta 
 A II E IV estão corretas 
Respondido em 09/09/2019 20:08:44 
 
 
 
10a Questão (Ref.:201904184104) Acerto: 1,0 / 1,0 
 Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções 
seguidas, sendo que na 1ª. execução o valor de entrada é 10 e na 2ª. execução o valor de 
entrada é 0. Para isso, considere o seguinte trecho em C++. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num > 0) 
 { 
 num++; 
 cout << num << " "; 
 } 
 cout << num + 1 << " "; 
 if (num < 0) 
 { 
 num--; 
 cout << num << " "; 
 } 
 else 
 cout << num * 10 ; 
 
 
 
 11 12 110 
 
 11 110 1 0 
 
 11 110 1 10 
 
 11 12 110 1 0 
 
 11 110 1 0 
 
 1a Questão 
 
 
 Assinale a alternativa correta relacionada à característica de um algoritmo: 
 
 
Valores de entrada são recebidos através do monitor. 
 
Para cada variável pode ser definido mais de um tipo de dado. 
 A execução de um algoritmo é feita sequencialmente. 
 
Teste de Mesa serve para receber os comandos de entrada. 
 
Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 
Respondido em 02/09/2019 10:56:33 
 
 
Explicação: 
Verdadeira 
A execução de um algoritmo é feita 
sequencialmente. 
 
Falso. Entrada é via teclado ou via arquivo, o que aqui não 
é o caso. 
Valores de entrada são recebidos através do 
monitor. 
 
Falso. Apenas um tipo de dado. 
Para cada variável pode ser definido mais de 
um tipo de dado. 
 
Falso. Teste de mesa serve para fazer um passo a passo. 
Teste de Mesa serve para receber os comandos 
de entrada. 
 
Falso. Tipo real aceita número com casas decimais ou 
inteiros. Tipo inteiro aceita apenas valores inteiros. 
Variáveis do tipo real e inteiro aceitam, 
respectivamente, letras e números. 
 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção correta, considerando a arquitetura básica de um computador de acordo com o modelo de 
John Von Neuman. 
 
 
Os dados são inseridos pelos dispositivos de entrada e são armazenados nos dispositivos de saída. 
 
Os dados são processados na CPU e liberados para a memória, que também é um dispositivo de 
saída de dados. 
 
Os dados são armazenados diretamente na memória, pois os dispositivos de entrada são opcionais. 
Depois, passam da memória para a Unidade de Controle onde os cálculos matemáticos são 
realizados. 
 Os dados são inseridos pelos dispositivos de entrada e são armazenados na memória. 
 
 
Os dados são inseridos pela memória e processados na CPU. 
Respondido em 02/09/2019 10:58:25 
 
 
Explicação: 
Pelas definições da aula 1 online, temos : Os dados são inseridos pelos dispositivos de entrada e são 
armazenados na memória. 
 
 
 
 
 3a Questão 
 
 
 Assinale a opção correta: 
 
 
A forma mais comum de escrever um algoritmo é usar um bom software. 
 
A forma mais comum de escrever um algoritmo é em Português. 
 
A forma mais comum de escrever um algoritmo é em Inglês. 
 
A forma mais comum de escrever um algoritmo é em fluxograma. 
 A forma mais comum de escrever um algoritmo é em portugol. 
Respondido em 02/09/2019 10:58:52 
 
 
Explicação: Indicado na aula online no. 1 que portugol é a forma mais comum para escrever algoritmo. Não 
se deve usar Português, Inglês, fluxograma e nem softwares. 
 
 
 
 
 4a Questão 
 
 
 Verifique as afirmações abaixo e assinale a alternativa correta: 
 
I )Fluxograma é o esboço de um projeto em programação de computadores. 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. 
III) Algoritmo é a representação gráfica da solução de um problema. 
 
 
Somente a I está correta. 
Somente a I e II estão corretas. 
 
 
Somente a II e III estão corretas. 
 
Somente a III está correta. 
 
Somente a II está correta. 
Respondido em 02/09/2019 10:59:44 
 
 
Explicação: 
I )Fluxograma é o esboço de um projeto em programação de computadores. VERDADEIRO 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. VERDADEIRO 
III) Algoritmo é a representação gráfica da solução de um problema. FALSO. 
 
 
 
 
 
 5a Questão 
 
 
 A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser 
realizada é chamada de: 
 
 
Algoritmo 
 
Linguagem de Programação 
 Fluxograma 
 
Pseudocódigo 
 
Diagrama 
Respondido em 02/09/2019 11:00:11 
 
 
Explicação: 
Falso. Não usa representação gráfica Pseudocódigo 
 
Falso. Algoritmo não é representação de algoritmo Algoritmo 
 
FAlso. Linguagem de programação é usada para escrever programa. Linguagem de Programação 
 
 
Fluxograma 
 
FAlso. Que diagrama ? Diagrama 
 
 
 
 
 
 6a Questão 
 
 
 
Algoritmo pode ser definido como a descrição dos passos para a execução 
de uma tarefa. Existem algumas formas distintas de representação de 
algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica 
e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para 
representar linguagem Gráfica e P para representar pseudocódigos, pode-se 
relacionar estas formas de representação de algoritmos com as seguintes 
afirmações: 
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se 
restringe apenas a algoritmos computacionais. 
( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da 
maioria das linguagens de programação. 
( ) A grande ambiguidade existente nos significados de seus termos é uma 
restrição a representação aos algoritmos computacionais. 
Marque a alternativa que representa a o relacionamento existente entre as 
afirmações e as formas de representação de algoritmos. 
 
 G, N, P 
 G, P, N 
 N, P, G 
 N, G, P 
 P, N, G 
Respondido em 02/09/2019 11:09:38 
 
 
Explicação: 
Analisando as afirmativas : 
( ) Sua simbologia é amplamente conhecida, 
por isto sua aplicação não se restringe 
apenas a algoritmos computacionais. <<< 
Fluxograma, por exemplo, que é uma 
linguagem gráfica >>> 
( ) Sua simbologia e sintaxe aproxima-se 
muito a simbologia e a sintaxe da maioria 
das linguagens de programação. <<< 
Pseudocódigo >>> 
( ) A grande ambiguidade existente nos 
significados de seus termos é uma restrição 
a representação aos algoritmos 
computacionais. <<< Linguagem 
natural >>> 
 
 
 
 
 7a Questão 
 
 
 Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : 
 
 
Linguagem natural e pseudolinguagem 
 Linguagem gráfica e pseudolinguagem 
 
Linguagem natural, fluxograma e pseudolinguagem 
 
Apenas pseudolinguagemLinguagem natural e linguagem gráfica 
Respondido em 02/09/2019 11:10:49 
 
 
Explicação: 
Por definição e aula de introdução e formas de representação de algoritmo. 
 
 
 
 
 8a Questão 
 
 
 Sobre fluxograma, assina a opção correta. 
 
 É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . 
 
É usado na escrita de pseudolinguagens, como o Portugol. 
 
É uma forma de se representar o uso de hardware no programa. 
 
É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. 
 
É uma forma de se escrever programas em qualquer linguagem de programação. 
Respondido em 02/09/2019 11:11:42 
 
 
Explicação: 
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como 
ensinado na aula 1 online. 
 
 
 1a Questão 
 
 
 Verifique as afirmações abaixo e assinale a alternativa correta: 
 
I )Fluxograma é o esboço de um projeto em programação de computadores. 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. 
III) Algoritmo é a representação gráfica da solução de um problema. 
 
 
Somente a II está correta. 
 
Somente a I e II estão corretas. 
 
Somente a II e III estão corretas. 
 
Somente a III está correta. 
 
Somente a I está correta. 
Respondido em 02/09/2019 16:51:04 
 
 
Explicação: 
I )Fluxograma é o esboço de um projeto em programação de computadores. VERDADEIRO 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. VERDADEIRO 
III) Algoritmo é a representação gráfica da solução de um problema. FALSO. 
 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção que corretamente define o que é software. 
 
 É qualquer programa de computador. 
 
É o conjunto dos algoritmos escritos que formalizam a solução de alguma tarefa. 
 
É o conjunto de fluxogramas. 
 
Equivale à hardware, pois sempre usa algum hardware. 
 
 
É a lógica do programa. 
Respondido em 02/09/2019 16:51:45 
 
 
Explicação: 
Por definição, de acordo com a aula 1 (online), temos que a opção correta é a opção 
 É qualquer programa de computador. 
 
 
 
 
 3a Questão 
 
 
 Segundo a forma de organizar o computador proposta por Von Neumann, a máquina possui quatro 
componentes. Assinale a alternativa correta: 
 
 
Unidade de Controle / Memória / Entrada e Saída / Unidade de Impressão 
 Entrada e saída/ Unidade Aritmética e Lógica / Memória / Unidade de Controle 
 
Memória / Entrada e Saída / Unidade de Impressão / Unidade de Armazenamento 
 
Unidade de Controle / Memória / Unidade de Armazenamento / Entrada e Saída 
 
Memória / Entrada e Saída / Unidade Aritmética e Lógica / Unidade de Armazenamento 
Respondido em 02/09/2019 16:52:17 
 
 
 
 
 4a Questão 
 
 
 
Algoritmo pode ser definido como a descrição dos passos para a execução 
de uma tarefa. Existem algumas formas distintas de representação de 
algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica 
e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para 
representar linguagem Gráfica e P para representar pseudocódigos, pode-se 
relacionar estas formas de representação de algoritmos com as seguintes 
afirmações: 
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se 
restringe apenas a algoritmos computacionais. 
( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da 
maioria das linguagens de programação. 
( ) A grande ambiguidade existente nos significados de seus termos é uma 
restrição a representação aos algoritmos computacionais. 
Marque a alternativa que representa a o relacionamento existente entre as 
afirmações e as formas de representação de algoritmos. 
 
 N, G, P 
 N, P, G 
 G, N, P 
 P, N, G 
 G, P, N 
Respondido em 02/09/2019 16:52:55 
 
 
Explicação: 
Analisando as afirmativas : 
( ) Sua simbologia é amplamente conhecida, 
por isto sua aplicação não se restringe 
apenas a algoritmos computacionais. <<< 
Fluxograma, por exemplo, que é uma 
linguagem gráfica >>> 
( ) Sua simbologia e sintaxe aproxima-se 
muito a simbologia e a sintaxe da maioria 
das linguagens de programação. <<< 
Pseudocódigo >>> 
( ) A grande ambiguidade existente nos 
significados de seus termos é uma restrição 
a representação aos algoritmos 
computacionais. <<< Linguagem 
natural >>> 
 
 
 
 
 5a Questão 
 
 
 Com base nos conceitos de algoritmos, lógica de programação e linguagens 
de programação, é correto afirmar que: 
 
 Os algoritmos correspondem, estritamente, aos conjuntos de dados e 
informações que são tratados em um determinado processamento. 
 As linguagens de programação possibilitam a codificação de um 
determinado algoritmo, de acordo com um conjunto de regras 
específico. 
 Lógica de programação corresponde à representação gráfica de um 
determinado algoritmo. 
 As linguagens de programação possuem um conjunto de regras 
flexíveis para a representação dos comandos de um programa. 
 Os três conceitos correspondem às únicas formas de representação da 
solução de um determinado problema. 
Respondido em 02/09/2019 16:54:35 
 
 
Explicação: 
1ª. opção : Falso. As representações de algoritmos são linguagem 
natural, fluxograma e pseudocódigo. 
2ª. opção . Falso. Fluxograma corresponde à representação gráfica 
de algoritmos. 
3ª. opção. Verdadeira. De acordo com o ensinado na aula 1. 
4ª. opção. Falso. Em algoritmos se vê também os comandos, além 
dos dados. 
5ª. opção. Falso. As regras não são flexíveis. Temos que seguir 
corretamente a sintaxe das linguagens na criação de programas. 
 
 
 
 
 6a Questão 
 
 
 Analise as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. 
 
Podemos afirmar que: 
 
 
Apenas as alternativas I e II são CORRETAS 
 
Apenas a alternativa I é CORRETA 
 
Todas as alternativas são CORRETAS 
 
Apenas as alternativas II e III são INCORRETAS 
 Apenas as alternativas I e III são CORRETAS 
Respondido em 02/09/2019 16:55:15 
 
 
Explicação: 
Analisando cada afirmativa : 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
Verdadeira. O fluxograma usa símbolos para E/S, atribuição e outros comandos. 
 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; 
Falsa. Pseudocódigo não tem nada de representação gráfica. 
 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. 
VErdadeira. Através de alguma linguagem de programação, escrevemos programas. 
 
 
 
 
 7a Questão 
 
 
 A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é 
chamada de: 
 
 
Linguagem de Máquina 
 
Linguagem de alto nível 
 Programa 
 
Compilador 
 
Linguagem de baixo nível 
Respondido em 02/09/2019 16:55:45 
 
 
Explicação: 
Falso. É um tradutor. Compilador 
 
FAlsa. Linguagem de zeros e uns. 
Linguagem de 
Máquina 
 
 VErdadeiroPrograma 
 
Falso. Usada para escrever programas 
Linguagem de alto 
nível 
 
Falso. Usada para escrever programas mais próximos da máquina. Exemplo : 
linguagem assembly 
Linguagem de baixo 
nível 
 
 
 
 
 
 8a Questão 
 
 
 Assinale a opção correta. 
 
 A Unidade de Aritmética e Lógica é a responsável pelos cálculos e seus controles. 
 
A memória, conhecida como RAM, pode ser apenas lida. 
 
A memória RAM serve para realizar os cálculos dos dados fornecidos pelos usuários. 
 
Dispositivos de entrada e saída de dados compreendem pendrives, memória RAM e HD. 
 
A Unidade de controle realiza controles, finalizando os cálculos. 
Respondido em 02/09/2019 16:57:10 
 
 
Explicação: Como indicado na aula online 1 : A Unidade de Aritmética e Lógica é a responsável pelos 
cálculos e seus controles. Os outros itens não atendem por razões indicadas na mesma aula. 
 
 
 1a Questão 
 
 
 Qual dos símbolos abaixo representa a entrada de valores para as variáveis? 
 
 
 
 
 
 
 
 
 
 
 
Respondido em 21/11/2019 08:05:23 
 
 
Explicação: 
Só tem uma possibilidade. É a apresentada no gabarito. 
Vejamos as outras : 
1a. opção : preparação 
2a. opção : teste condicional 
3a. opção : é a resposta certa 
4a. opção : para início ou fim do programa 
5a. opção : saída de dados 
 
 
 
 
 2a Questão 
 
 
 Assinale a alternativa correta relacionada à característica de um algoritmo: 
 
 
Teste de Mesa serve para receber os comandos de entrada. 
 
Valores de entrada são recebidos através do monitor. 
 
Para cada variável pode ser definido mais de um tipo de dado. 
 A execução de um algoritmo é feita sequencialmente. 
 
Variáveis do tipo real e inteiro aceitam, respectivamente, letras e números. 
Respondido em 21/11/2019 08:05:33 
 
 
Explicação: 
Verdadeira A execução de um algoritmo é feita sequencialmente. 
 
Falso. Entrada é via teclado ou via arquivo, o que aqui não é o caso. Valores de entrada são recebidos através do monitor. 
 
Falso. Apenas um tipo de dado. 
Para cada variável pode ser definido mais de um tipo de 
dado. 
 
Falso. Teste de mesa serve para fazer um passo a passo. Teste de Mesa serve para receber os comandos de entrada. 
 
Falso. Tipo real aceita número com casas decimais ou inteiros. Tipo inteiro 
aceita apenas valores inteiros. 
Variáveis do tipo real e inteiro aceitam, respectivamente, 
letras e números. 
 
 
 
 
 
 3a Questão 
 
 
 Analise as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. 
 
Podemos afirmar que: 
 
 
Apenas a alternativa I é CORRETA 
 
Apenas as alternativas II e III são INCORRETAS 
 
Apenas as alternativas I e II são CORRETAS 
 Apenas as alternativas I e III são CORRETAS 
 
Todas as alternativas são CORRETAS 
Respondido em 21/11/2019 08:05:39 
 
 
Explicação: 
Analisando cada afirmativa : 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
Verdadeira. O fluxograma usa símbolos para E/S, atribuição e outros comandos. 
 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; 
Falsa. Pseudocódigo não tem nada de representação gráfica. 
 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. 
VErdadeira. Através de alguma linguagem de programação, escrevemos programas. 
 
 
 
 
 4a Questão 
 
 
 Sobre o FLUXOGRAMA abaixo podemos afirmar que : 
 
 
 
Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO 
 
Apresenta na sua lógica as três estruturas básicas de programação 
 
Apresenta na sua lógica a estrutura básica REPETIÇÃO 
 Apresenta na sua lógica a estrutura básica DECISÃO 
 
Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO 
Respondido em 21/11/2019 08:05:50 
 
 
Explicação: 
Justificativas das opções : 
>> Apresenta na sua lógica as três estruturas básicas de programação . 
 Falso. Não apresenta repetição 
>> Apresenta na sua lógica a estrutura básica REPETIÇÃO 
Falso. Apresenta apenas entrada de dados, saída de dados, atribuição, condicional composto. 
>> Apresenta na sua lógica as estruturas básicas de SEQUÊNCIA e REPETIÇÃO 
Falso. Não apresenta repetição. 
>> Apresenta na sua lógica a estrutura básica DECISÃO. 
Verdadeiro. Veja o uso do losango. 
>> Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO 
Falso. Não apresenta repetição. 
 
 
 
 
 5a Questão 
 
 
 Sobre Português Estruturado, assinale a opção correta : 
 
 O português estruturado é uma simplificação da nossa linguagem natural, na qual usamos frases 
simples e estruturas que possuem um significado muito bem definido. 
 
É igual à linguagem de programação na língua portuguesa 
 
É igual ao fluxograma 
 
É igual à linguagem natural ou narrativa 
 
É igual a uma carta para um encarregado 
Respondido em 21/11/2019 08:05:58 
 
 
Explicação: 
Definição direta e objetiva dada na aula 1. 
 
 
 
 
 6a Questão 
 
 
 A representação gráfica dos algoritmos, em que cada símbolo apresentado representa uma operação a ser 
realizada é chamada de: 
 
 
Linguagem de Programação 
 
Algoritmo 
 
Diagrama 
 
Pseudocódigo 
 Fluxograma 
Respondido em 21/11/2019 08:06:05 
 
 
Explicação: 
Falso. Não usa representação gráfica Pseudocódigo 
 
Falso. Algoritmo não é representação de algoritmo Algoritmo 
 
FAlso. Linguagem de programação é usada para escrever programa. Linguagem de Programação 
 
 
Fluxograma 
 
FAlso. Que diagrama ? Diagrama 
 
 
 
 
 
 7a Questão 
 
 
 Assinale a opção correta: 
 
 
A forma mais comum de escrever um algoritmo é em fluxograma. 
 
A forma mais comum de escrever um algoritmo é em Português. 
 
A forma mais comum de escrever um algoritmo é em Inglês. 
 A forma mais comum de escrever um algoritmo é em portugol. 
 
A forma mais comum de escrever um algoritmo é usar um bom software. 
Respondido em 21/11/2019 08:06:13 
 
 
Explicação: Indicado na aula online no. 1 que portugol é a forma mais comum para escrever algoritmo. Não 
se deve usar Português, Inglês, fluxograma e nem softwares. 
 
 
 
 
 8a Questão 
 
 
 Observe o fluxograma a seguir e assinale a alternativa correta sobre o mesmo: 
 
 
 
 
 
O fluxograma está incompleto e errado, pois não exibe mensagens antes que a leitura de dados seja 
realizada. 
 
Poderiam ser retirados do fluxograma os símbolos de terminação que delimitam, respectivamente, o 
início e o fim da solução. 
 
No cálculo da idade, inverteram-se as posições dos anos e, por isso, a idade resultante será sempre 
negativa. 
 
A simbologia empregada no recebimento de dados está equivocada e foi trocada por aquela que 
representa exibição de informações. 
 O fluxograma é responsável por calcular a idade de um indivíduo a partir de seu ano de nascimento 
e do ano em que estamos. 
 
 
 1a Questão 
 
 
 Sobre algoritmo, marque a opção correta. 
 
 
É um hardware especifico para resolverproblemas. 
 
É uma linguagem de programação para computadores. 
 
É uma forma de ensinar o computador. 
 
É uma etapa posterior à programação da solução de um problema. 
 É a solução teórica, passo a passo, de um problema. 
Respondido em 21/11/2019 08:16:19 
 
 
Explicação: 
Falso. Algoritmo não é linguagem de programação. Exemplo de 
linguagem de programção : C++ 
É uma linguagem de 
programação para 
computadores. 
 
Falso. Algoritmo é um conjunto de passos sem ambiguidade que vão É uma forma de ensinar o 
traduzir a solução de um problema. O algoritmo poderá virar um 
programa, que poderá ou não "ensinar" o computador. 
computador. 
 
 Verdadeiro 
É a solução teórica, passo a 
passo, de um problema. 
 
Falso. É uma etapa anterior à programação, ou seja, à criação de 
programa. 
É uma etapa posterior à 
programação da solução de um 
problema. 
 
Falso. Algoritmo pode virar um programa. E programa é software e 
não hardware. 
É um hardware especifico para 
resolver problemas. 
 
 
 
 
 
 2a Questão 
 
 
 
Algoritmo pode ser definido como a descrição dos passos para a execução 
de uma tarefa. Existem algumas formas distintas de representação de 
algoritmos, onde as principais são: Linguagem Natural, Linguagem Gráfica 
e Pseudocódigos. Se usarmos N para representar linguagem Natural, G para 
representar linguagem Gráfica e P para representar pseudocódigos, pode-se 
relacionar estas formas de representação de algoritmos com as seguintes 
afirmações: 
( ) Sua simbologia é amplamente conhecida, por isto sua aplicação não se 
restringe apenas a algoritmos computacionais. 
( ) Sua simbologia e sintaxe aproxima-se muito a simbologia e a sintaxe da 
maioria das linguagens de programação. 
( ) A grande ambiguidade existente nos significados de seus termos é uma 
restrição a representação aos algoritmos computacionais. 
Marque a alternativa que representa a o relacionamento existente entre as 
afirmações e as formas de representação de algoritmos. 
 
 G, P, N 
 G, N, P 
 P, N, G 
 N, P, G 
 N, G, P 
Respondido em 21/11/2019 08:16:30 
 
 
Explicação: 
Analisando as afirmativas : 
( ) Sua simbologia é amplamente conhecida, 
por isto sua aplicação não se restringe 
apenas a algoritmos computacionais. <<< 
Fluxograma, por exemplo, que é uma 
linguagem gráfica >>> 
( ) Sua simbologia e sintaxe aproxima-se 
muito a simbologia e a sintaxe da maioria 
das linguagens de programação. <<< 
Pseudocódigo >>> 
( ) A grande ambiguidade existente nos 
significados de seus termos é uma restrição 
a representação aos algoritmos 
computacionais. <<< Linguagem 
natural >>> 
 
 
 
 
 3a Questão 
 
 
 Verifique as afirmações abaixo e assinale a alternativa correta: 
 
I )Fluxograma é o esboço de um projeto em programação de computadores. 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. 
III) Algoritmo é a representação gráfica da solução de um problema. 
 
 
Somente a II está correta. 
 
Somente a II e III estão corretas. 
 
Somente a I está correta. 
 
Somente a III está correta. 
 
Somente a I e II estão corretas. 
Respondido em 21/11/2019 08:16:38 
 
 
Explicação: 
I )Fluxograma é o esboço de um projeto em programação de computadores. VERDADEIRO 
II) Algoritmo serve para representar o raciocínio, independentemente de detalhes computacionais. VERDADEIRO 
III) Algoritmo é a representação gráfica da solução de um problema. FALSO. 
 
 
 
 
 
 4a Questão 
 
 
 Sobre fluxograma, assina a opção correta. 
 
 
É usado na escrita de pseudolinguagens, como o Portugol. 
 
É uma representação gráfica de algoritmos que dá margem à dupla interpretação ou ambiguidades. 
 
É uma forma de se representar o uso de hardware no programa. 
 
É uma forma de se escrever programas em qualquer linguagem de programação. 
 É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidade . 
Respondido em 21/11/2019 08:16:43 
 
 
Explicação: 
É uma forma de se representar graficamente algoritmos e que não dá margem à ambiguidades, como 
ensinado na aula 1 online. 
 
 
 
 
 5a Questão 
 
 
 Com base nos conceitos de algoritmos, lógica de programação e linguagens 
de programação, é correto afirmar que: 
 
 As linguagens de programação possibilitam a codificação de um 
determinado algoritmo, de acordo com um conjunto de regras 
específico. 
 Lógica de programação corresponde à representação gráfica de um 
determinado algoritmo. 
 As linguagens de programação possuem um conjunto de regras 
flexíveis para a representação dos comandos de um programa. 
 Os algoritmos correspondem, estritamente, aos conjuntos de dados e 
informações que são tratados em um determinado processamento. 
 Os três conceitos correspondem às únicas formas de representação da 
solução de um determinado problema. 
Respondido em 21/11/2019 08:16:48 
 
 
Explicação: 
1ª. opção : Falso. As representações de algoritmos são linguagem 
natural, fluxograma e pseudocódigo. 
2ª. opção . Falso. Fluxograma corresponde à representação gráfica 
de algoritmos. 
3ª. opção. Verdadeira. De acordo com o ensinado na aula 1. 
4ª. opção. Falso. Em algoritmos se vê também os comandos, além 
dos dados. 
5ª. opção. Falso. As regras não são flexíveis. Temos que seguir 
corretamente a sintaxe das linguagens na criação de programas. 
 
 
 
 
 6a Questão 
 
 
 Em Informática, os algoritmos costumam ser escritos em Portugol. Sobre o mesmo, podemos afirmar que: 
I. É uma linguagem intermediária entre a linguagem natural e a linguagem de programação; 
II. Costuma adotar o inglês como língua padrão para redação dos algoritmos computacionais; 
III. Adota algumas regras para fins de padronização e garantia de compreensão dos algoritmos; 
IV. Pode ser executado diretamente pelo computador, sem auxílio de nenhum software específico. 
São verdadeiras as assertivas: 
 
 
I, II e III 
 I e III 
 
I, II, III e IV 
 
I e II 
 
III e IV 
Respondido em 21/11/2019 08:16:53 
 
 
 
 
 7a Questão 
 
 
 Considerando as afirmativas a seguir em relação a representação de algoritmos: 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. 
 
Podemos afirmar que: 
 
 
As alternativas II e III são INCORRETAS 
 
Nenhuma das opções anteriores 
 
Apenas a alternativa I é CORRETA 
 As alternativas I e III são CORRETAS 
 
Todas as alternativas são CORRETAS 
Respondido em 21/11/2019 08:17:03 
 
 
Explicação: 
Analisando cada afirmativa... 
 
I - O fluxograma utiliza diagramas para representar e facilitar o entendimento de um algoritmo; 
 VERDADEIRO 
II - O pseudocódigo é um recurso muito utilizado para desenvolver programas complexos e representar 
graficamente o algoritmo; FALSO 
III - A linguagem de programação é a maneira utilizada de formalizar a solução de um problema do mundo 
real a partir dos algoritmos. VERDADEIRO 
 
Conclusão : As afirmativas I e III estão corretas. 
 
 
 
 
 
 
 8a Questão 
 
 
 O resultado do pensamento computacional pode ser denominado algoritmo. Um algoritmo pode ser 
definido como 
 
 
a representação gráfica de um conjunto de procedimentos necessáriosà solução de um problema. 
 uma série de procedimentos descritos passo a passo visando a solução de um problema. 
 
uma solução textual redigida com base em uma sintaxe rígida e com vocabulário controlado. 
 
uma sequência de comandos escritos em uma linguagem de programação. 
 
um processo de solução de problemas implementado, obrigatoriamente, em Portugol. 
 
 
 1a Questão 
 
 
 Assinale a opção que mostra as formas possíveis e mais adequadas de se representar um algoritmo : 
 
 
Apenas pseudolinguagem 
 
Linguagem natural e pseudolinguagem 
 Linguagem gráfica e pseudolinguagem 
 
 Linguagem natural e linguagem gráfica 
 
Linguagem natural, fluxograma e pseudolinguagem 
Respondido em 21/11/2019 08:17:25 
 
 
Explicação: 
Por definição e aula de introdução e formas de representação de algoritmo. 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção correta. 
 
 
Programa e fluxograma são sinônimos. 
 
Um programa é um algoritmo codificado em uma pseudolinguagem. 
 
Um programa é um algoritmo codificado em linguagem natural. 
 Um programa é um algoritmo codificado em uma linguagem de programação. 
 
Para se escrever um programa não precisa se conhecer lógica de programação, pois o fundamental é a 
linguagem de programação. 
Respondido em 21/11/2019 08:17:30 
 
 
Explicação: 
Um programa é um algoritmo codificado em uma 
linguagem de programação. 
Verdadeira 
 
 
Falsa. Programa é código escrito em alguma 
linguagem de programação. Fluxograma é uma 
representação gráfica de algoritmo. 
Programa e fluxograma são sinônimos. 
 
Falso. Programa é um algoritmo codificado ou 
escrito em alguma linguagem de programação. 
Um programa é um algoritmo codificado em 
linguagem natural. 
 
Falso. Programa é um algoritmo codificado ou 
escrito em alguma linguagem de programação. 
Um programa é um algoritmo codificado em uma 
pseudolinguagem. 
 
Falso. É fundamental o uso da lógica de 
programação além de se conhecer a linguagem de 
programação. 
Para se escrever um programa não precisa se 
conhecer lógica de programação, pois o fundamental 
é a linguagem de programação. 
 
 
 
 
 
 3a Questão 
 
 
 Assinale a opção correta. Considerando o conceito de programa é correto afirmar que ... 
 
 
Um programa é um algoritmo codificado em uma linguagem de gráfica (ex: fluxograma), isto é, um 
conjunto de instruções que representam tarefas que serão apenas interpretadas por um computador. 
 
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de 
instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. 
 
Um programa é um algoritmo escrito em linguagem natural, mas sem ambiguidades. Ou seja, é um 
conjunto de comandos que representam tarefas que serão compreendidas por um computador. 
 
Um programa é um algoritmo codificado em uma pseudolinguagem, isto é, um conjunto de 
instruções/funções que representam tarefas que serão apenas executadas por um computador. 
 Um programa é um algoritmo codificado em uma linguagem de programação, isto é, um conjunto de 
instruções/funções que representam tarefas que serão interpretadas e executadas por um computador. 
Respondido em 21/11/2019 08:17:40 
 
 
Explicação: 
 
Um programa é um algoritmo codificado em uma linguagem de 
programação, isto é, um conjunto de instruções/funções que 
representam tarefas que serão interpretadas e executadas por um 
computador. 
 
Falso. Para escrever programa 
usamos linguagem de programação e 
não pseudolinguagem. 
Um programa é um algoritmo codificado em uma pseudolinguagem, 
isto é, um conjunto de instruções/funções que representam tarefas 
que serão interpretadas e executadas por um computador. 
 
Falso. Para escrever programa 
usamos linguagem de programação e 
não pseudolinguagem. 
Um programa é um algoritmo codificado em uma pseudolinguagem, 
isto é, um conjunto de instruções/funções que representam tarefas 
que serão apenas executadas por um computador. 
 
Falso. Para escrever programa 
usamos linguagem de programação e 
não linguagem gráfica. 
Um programa é um algoritmo codificado em uma linguagem de 
gráfica (ex: fluxograma), isto é, um conjunto de instruções que 
representam tarefas que serão apenas interpretadas por um 
computador. 
 
 Para escrever programa usamos 
linguagem de programação e não 
linguagem natural. 
Um programa é um algoritmo escrito em linguagem natural, mas 
sem ambiguidades. Ou seja, é um conjunto de comandos que 
representam tarefas que serão compreendidas por um computador. 
 
 
 
 
 
 4a Questão 
 
 
 Assinale a opção que, corretamente, mostra exemplos de linguagens de programação. 
 
 C++, Java, C# 
 
português estruturado, C++, Java 
 
fluxograma, português estruturado, C 
 
C++, Java, portugol 
 
C++, C# e fluxograma 
Respondido em 21/11/2019 08:17:46 
 
 
Explicação: 
Exemplos dados na aula 1. 
 
 
 
 
 5a Questão 
 
 
 A implementação concreta de um algoritmo, ou o conjunto de algoritmos a serem executados pela máquina é 
chamada de: 
 
 Programa 
 
Linguagem de baixo nível 
 
Compilador 
 
Linguagem de alto nível 
 
Linguagem de Máquina 
Respondido em 21/11/2019 08:18:00 
 
 
Explicação: 
Falso. É um tradutor. Compilador 
 
FAlsa. Linguagem de zeros e uns. 
Linguagem de 
Máquina 
 
 VErdadeiro Programa 
 
Falso. Usada para escrever programas 
Linguagem de alto 
nível 
 
Falso. Usada para escrever programas mais próximos da máquina. Exemplo : 
linguagem assembly 
Linguagem de baixo 
nível 
 
 
 
 
 
 6a Questão 
 
 
 Observe as assertivas a seguir acerca dos fluxogramas: 
I. Os mesmos são a representação gráfica dos algoritmos. 
II. Para desenhá-los, é preciso adotar uma simbologia padrão pré-determinada. 
III. Existem programas que permitem que os mesmos sejam desenhados no computador. 
Assinale a seguir a alternativa que indica as afirmações corretas: 
 
 I, II e III. 
 
II e III. 
 
I e II. 
 
I e III 
 
Todas são falsas. 
Respondido em 21/11/2019 08:18:06 
 
 
 
 
 7a Questão 
 
 
 Imagine que você vai receber um aumento e deseja descobrir qual será seu novo salário a partir de seu 
salário atual e do percentual de aumento a ser concedido por sua empresa. É preciso somar o salário atual 
ao percentual de aumento, que deve ser calculado multiplicando-se esse percentual pelo salário atual e 
dividindo-se por 100. Que fórmula realiza esse cálculo? 
 
 
novoSal <- (salAtual*percAumento/100) 
 novoSal <- salAtual + (salAtual*percAumento/100) 
 
novoSal <- salAtual + (salAtual*100) 
 
novoSal <- salAtual + (percAumento/100) 
 
novoSal <- salAtual + (salAtual*percAumento) 
Respondido em 21/11/2019 08:18:19 
 
 
 
 
 8a Questão 
 
 
 Fluxograma é um "diagrama esquemático que apresenta uma sequência de operações, tal como para um 
programa de computador ou processo industrial" (in Dicionário Priberam da Língua Portuguesa [em linha], 
2008-2013, http://www.priberam.pt/dlpo/fluxograma [consultado em 13-08-2014]. Abaixo temos um 
fluxograma de notas (N1 e N2) obtidas pelo aluno João. Selecione a opção que apresenta os itens de 
entrada do fluxograma. 
 
 
 
 
Fim 
 
Média 
 N1 e N2 
 
Reprovado 
 
Aprovado 
Respondido em 21/11/2019 08:18:27 
 
 
Explicação: 
Logo após o início do algoritmo aparecem N1 e N2 no símbolo que representa entrada de dados.1a Questão 
 
 
 
Assinale a opção correta: 
 
 Programas em C++ são interpretados e não compilados 
 Não se pode escrever programa em C++ que execute no 
Mac. 
 É o linker que traduz o todo programa feito em C++. 
 Um programa escrito em C++ que executa no Linux não 
vai executar no Windows. 
 Os programas em C++ precisam ser traduzidos para 
uma linguagem que o computador entenda. 
Respondido em 02/09/2019 18:34:49 
 
 
Explicação: 
Basta seguir a definição de programa dada na aula de conceitos introdutórios. 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção correta. 
 
 
Para programar em alto nível é preciso dominar a linguagem binária. 
 
Dizemos que uma linguagem é de alto nível quando usa linguagem binária. 
 Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras 
conhecidas por nós. 
 
O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. 
 
O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 
Respondido em 02/09/2019 18:35:43 
 
 
Explicação: 
 
 
 
Dizemos que uma linguagem é de alto nível quando 
conseguimos ler e escrever usando palavras 
conhecidas por nós. 
 
Falso. Linguagem binária é com zeros e uns, o que 
é baixo nível. 
Dizemos que uma linguagem é de alto nível quando 
usa linguagem binária. 
 
Falso. C++ é uma linguagem de programação de 
alto nível e usa palavras em Inglês. 
O C++ não é uma linguagem de alto nível, pois usa 
palavras em Inglês que nem todos entendem. 
 
Falso. Não se tem que dominar a linguagem binária 
em hipótese alguma. 
Para programar em alto nível é preciso dominar a 
linguagem binária. 
 
FAlso. O C++ é uma linguagem de alto nível na 
qual o uso de variáveis é necessário para 
armazenarmos dados. 
O C++ é uma linguagem de alto nível na qual o uso 
de variáveis é opcional. 
 
 
 
 
 
 3a Questão 
 
 
 Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e 
define o tipo de dado a ser armazenado. 
 
 Variável 
 
Comando Enquanto-Faça 
 
Comando PARA 
 
atribuição 
 
Estrutura de Seleção 
Respondido em 02/09/2019 18:36:49 
 
 
Explicação: 
Necessita de espaço na memória e define o tipo de dado a ser armazenado. 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
repetição. 
Comando PARA 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
repetição. 
Comando 
Enquanto-Faça 
 
 Verdadeiro Variável 
 
Falso. É uma operação ou comando. atribuição 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
seleção, como if ou if/else, por exemplo. 
Estrutura de 
Seleção 
 
 
 
 
 
 4a Questão 
 
 
 Os comentários são recursos que podem ser utilizados pelos programadores para: 
 
 Inserir textos explicativos apenas para o programador 
 
Inserir textos explicativos apenas para o usuário 
 
Inserir diretivas para o compilador 
 
Inserir comandos que serão traduzidos pelo compilador 
 
Inserir comandos que serão executados pela máquina 
Respondido em 02/09/2019 18:37:53 
 
 
Explicação: 
Falso. Comentário não é comando ou permite inserir 
comando. 
Inserir comandos que serão executados pela 
máquina 
 
Falso. Comentário não é comando ou permite inserir 
comando. 
Inserir comandos que serão traduzidos pelo 
compilador 
 
 Verdadeiro 
Inserir textos explicativos apenas para o 
programador 
 
Falso. O usuário não irá ler o programa. 
Inserir textos explicativos apenas para o 
usuário 
 
Falso. O compilador irá ignorar o texto explicativo dos 
comentários. 
Inserir diretivas para o compilador 
 
 
 
 
 
 5a Questão 
 
 
 Assinale a opção correta. 
 
 
Um programa em C++ não precisa ser compilado. 
 Programa é um conjunto de instruções escritas em uma linguagem de programação e que dizem o 
que o computador deve fazer. 
 
Programa é um algoritmo escrito em fluxograma. 
 
Programa é um conjunto de instruções escritas sem usar, necessariamente, uma linguagem de 
programação. É possível usar o Inglês para se escrever programas. 
 
Um programa em C++ não tem variáveis. 
Respondido em 02/09/2019 18:38:42 
 
 
Explicação: A resposta está no conteúdo online da aula 2. Todos os itens errados não dão margem a 
dúvidas. Importante entender a diferença de programa e algoritmo, entre outras. 
 
 
 
 
 6a Questão 
 
 
 Necessita de espaço na memória e define o tipo de dado a ser armazenado 
 
 
Comando PARA 
 
Estrutura de Seleção 
 Variável 
 
Variável de Controle 
 
Comando Enquanto-Faça 
Respondido em 02/09/2019 18:39:06 
 
 
Explicação: 
Por definição, uma variável ocupa espaço em memória e irá armazenar dados de algum tipo compatível com 
sua declaração. Em C++, pelo menos. 
 
 
 
 
 7a Questão 
 
 
 Uma variável pode ser entendida como sendo: 
 
 Um endereço na memória principal. 
 Um elemento da unidade lógica de controle. 
 Um dispositivo de entrada de dados. 
 Um dispositivo de memória auxiliar. 
 Um dispositivo de saída de dados. 
Respondido em 02/09/2019 18:39:22 
 
 
Explicação: 
Analisando cada item : 
Falso. Variável ocupa espaço em memória e tem um endereço. 
Um dispositivo de entrada de dados é o teclado. 
Um dispositivo de entrada de dados. 
 
 
Falso. Variável ocupa espaço em memória e tem um endereço. Um dispositivo de memória auxiliar. 
 
Verdadeiro. 
 
Um endereço na memória principal. 
 
Falso. Variável ocupa espaço em memória e tem um endereço. 
Um dispositivo de saída de dados é o monitor. 
 
Um dispositivo de saída de dados. 
 
Falso. Variável ocupa espaço em memória e tem um endereço. Um elemento da unidade lógica de controle. 
 
 
 
 
 
 8a Questão 
 
 
 Para realizar o armazenamento de um determinado valor na memória do computador é necessária a declaração 
de: 
 
 
Comando de entrada 
 
Comando de saída 
 
Fluxograma 
 
Estrutura de decisão 
 Variável 
Respondido em 02/09/2019 18:39:43 
 
 
Explicação: 
FAlso. Permite realizar entrada de dados. Comando de entrada 
 
FAlso.Permite realizar saída de dados. Comando de saída 
 
FAlso. Representação gráfica de um algoritmo. Fluxograma 
 
FAlso. Comando if ou if/else, por exemplo. Estrutura de decisão 
 
 Verdadeiro Variável 
 
 
 
 1a Questão 
 
 
 
Assinale a opção correta: 
 
 Não se pode escrever programa em C++ que execute no 
Mac. 
 Um programa escrito em C++ que executa no Linux não 
vai executar no Windows. 
 Programas em C++ são interpretados e não compilados 
 É o linker que traduz o todo programa feito em C++. 
 Os programas em C++ precisam ser traduzidos para 
uma linguagem que o computador entenda. 
Respondido em 20/11/2019 19:13:44 
 
 
Explicação: 
Basta seguir a definição de programa dada na aula de conceitos introdutórios. 
 
 
 
 
 2a Questão 
 
 
 
Assinale a opção correta. 
 
 Uma possível declaração de uma variável booleana em C++ : 
boolean x; 
 Uma possível declaração de uma variável inteira em C++ : x 
int; 
 As variáveis do tipo bool podem ser true ou false. 
 Declarando e atribuindo um valor à uma variável booleana em 
C++ : 
 bool x = "true"; 
 Declarando e atribuindo um valor à uma variável booleana em 
C++ : 
 boolean x = true ; 
Respondidoem 20/11/2019 19:13:48 
 
 
Explicação: 
DE acordo com a sintaxe da linguagem C++ 
 
 
 
 
 3a Questão 
 
 
 Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser 
manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a 
alternativa que possui um exemplo de nome INCORRETO: 
 
 
salariofinal 
 cad1- id 
 
nota2 
 
nome_aluno 
 
num1 
Respondido em 20/11/2019 19:13:55 
 
 
Explicação: 
 
Falso, pois é nome possível ter letras e underscore nome_aluno 
 
Falso, pois é nome possível ter letra e dígito. num1 
 
 Verdadeiro, pois não se pode usar hífen em nome de variável. cad1- id 
 
Falso, pois é nome possível ter letras. salariofinal 
 
Falso, pois é nome possível ter letra e dígito. nota2 
 
 
 
 
 
 4a Questão 
 
 
 O computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser 
convertido em uma linguagem que o computador entende, para poder executar o programa. Este processo é 
chamado de: 
 
 
Tradução 
 
Execução 
 
Programação 
 Compilação 
 
Depuração 
Respondido em 20/11/2019 19:14:29 
 
 
Explicação: A compilação é o processo de conversão dos códigos fontes em executáveis, que possibilita a 
execução dos programas pelo processador 
 
 
 
 
 5a Questão 
 
 
 Em programação, como se chama o processo de converter um arquivo de texto, escrito em uma linguagem 
de programação, em códigos binários pertencentes a uma plataforma de execução? 
 
 
Ligação 
 
Indexação 
 
Transformação 
 Compilação 
 
Conversão 
Respondido em 20/11/2019 19:14:46 
 
 
Explicação: 
Por definição, de acordo com o conteúdo online. 
 
 
 
 
 6a Questão 
 
 
 
Assinale a opção correta: 
 
 São palavras reservadas no C++ : int, real, inteiro, float 
 Os programas em C++ não possuem palavras reservadas. 
 Não são palavras reservadas em C++ : for, while e do 
 Para terminar um programa em C++ devemos usar retorne 
0; 
 Os programas em C++ possuem palavras reservadas tais 
como main e int. 
Respondido em 20/11/2019 19:14:51 
 
 
Explicação: 
Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 
 
 
 
 
 7a Questão 
 
 
 As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: 
 
 
palavras únicas 
 
palavras próprias 
 palavras reservadas 
 
palavras código 
 
palavras especiais 
Respondido em 20/11/2019 19:14:59 
 
 
Explicação: 
Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 
 
 
 
 
 8a Questão 
 
 
 No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a 
um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma 
constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? 
 
 
const real PI=3.14; 
 const float PI=3.14; 
 
const int PI=3.14; 
 
const integer PI=3.14; 
 
float PI=3.14; 
 
 
 1a Questão 
 
 
 Em C++ existem quatro tipos básicos, isto é , tipos básicos de dados que podem ser utilizados. Qual é o 
tipo definido da seguinte maneira: "Qualquer número real, negativo, nulo ou positivo." 
 
 
char 
 
int 
 
real 
 
bool 
 float 
Respondido em 21/11/2019 08:06:35 
 
 
Explicação: 
Conforme gabarito e aula de tipos primitivos de dados 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção que apresenta somente nomes válidos para variáveis em C++. 
 
 
1conta, 2total, 3data 
 CONTA, TOTAL1, data 
 
CONTA, TOTAL1, 1DATA 
 
Conta, Total, 5data 
 
Conta, Total1, DIA-MÊS-ANO 
Respondido em 21/11/2019 08:06:41 
 
 
Explicação: 
Falsa. Não se pode começar nome de variável com dígito. CONTA, TOTAL1, 1DATA 
 
Falsa. Não se pode começar nome de variável com dígito. Conta, Total, 5data 
 
Verdadeiro CONTA, TOTAL1, data 
 
Falsa. Não se pode pôr acento ou usar hífen em nome de variável. Conta, Total1, DIA-MÊS-ANO 
 
Falsa. Não se pode começar nome de variável com dígito. 1conta, 2total, 3data 
 
 
 
 
 
 3a Questão 
 
 
 
Considerando a linguagem C++, assinale a opção correta : 
 
 A linguagem C++ diferencia maiúsculas de minúsculas 
 Se declararmos uma variável inteira nota, podemos escrever 
NOTA, Nota, ou qualquer outra variação, pois é a mesma 
coisa. 
 Alguns programas em C++ começam com float main e outros 
com int main 
 Se quisermos declarar uma variável que possa armazenar 
valores reais, com casas decimais, devemos usar o tipo real na 
declaração da variável. 
 Nem toda variável precisa ser declarada. 
Respondido em 21/11/2019 08:06:48 
 
 
Explicação: 
BAsta seguir as descrições e características da linguagem C++ na aula sobre variáveis 
 
 
 
 
 4a Questão 
 
 
 Assinale a opção correta. 
 
 
O C++ é uma linguagem de alto nível na qual o uso de variáveis é opcional. 
 
O C++ não é uma linguagem de alto nível, pois usa palavras em Inglês que nem todos entendem. 
 
Dizemos que uma linguagem é de alto nível quando usa linguagem binária. 
 Dizemos que uma linguagem é de alto nível quando conseguimos ler e escrever usando palavras 
conhecidas por nós. 
 
Para programar em alto nível é preciso dominar a linguagem binária. 
Respondido em 21/11/2019 08:06:54 
 
 
Explicação: 
 
 
 
Dizemos que uma linguagem é de alto nível quando 
conseguimos ler e escrever usando palavras 
conhecidas por nós. 
 
Falso. Linguagem binária é com zeros e uns, o que 
é baixo nível. 
Dizemos que uma linguagem é de alto nível quando 
usa linguagem binária. 
 
Falso. C++ é uma linguagem de programação de 
alto nível e usa palavras em Inglês. 
O C++ não é uma linguagem de alto nível, pois usa 
palavras em Inglês que nem todos entendem. 
 
Falso. Não se tem que dominar a linguagem binária 
em hipótese alguma. 
Para programar em alto nível é preciso dominar a 
linguagem binária. 
 
FAlso. O C++ é uma linguagem de alto nível na 
qual o uso de variáveis é necessário para 
armazenarmos dados. 
O C++ é uma linguagem de alto nível na qual o uso 
de variáveis é opcional. 
 
 
 
 
 
 5a Questão 
 
 
 
Assinale a opção correta. 
 
 As variáveis do tipo bool podem ser true ou false. 
 Uma possível declaração de uma variável inteira em C++ : x 
int; 
 Declarando e atribuindo um valor à uma variável booleana em 
C++ : 
 boolean x = true ; 
 Uma possível declaração de uma variável booleana em C++ : 
boolean x; 
 Declarando e atribuindo um valor à uma variável booleana em 
C++ : 
 bool x = "true"; 
Respondido em 21/11/2019 08:07:01 
 
 
Explicação: 
DE acordo com a sintaxe da linguagem C++ 
 
 
 
 
 6a Questão 
 
 
 
Assinale a opção correta: 
 
 Para terminar um programa em C++ devemos usar retorne 
0; 
 Não são palavras reservadas em C++ : for, while e do 
 Os programas em C++ possuem palavras reservadas tais 
como main e int. 
 São palavras reservadas no C++ : int, real, inteiro, float 
 Os programas em C++ não possuem palavras reservadas. 
Respondido em 21/11/2019 08:07:05 
 
 
Explicação: 
Explicação dada na aula sobre programa em C++ e palavras reservadas em C++ 
 
 
 
 
 7a Questão 
 
 
 O computador não entende o conteúdo do arquivo de texto contendo o seu programa. Ele precisa ser 
convertido em uma linguagemque o computador entende, para poder executar o programa. Este processo é 
chamado de: 
 
 
Execução 
 
Programação 
 
Depuração 
 
Tradução 
 Compilação 
Respondido em 21/11/2019 08:07:11 
 
 
Explicação: A compilação é o processo de conversão dos códigos fontes em executáveis, que possibilita a 
execução dos programas pelo processador 
 
 
 
 
 8a Questão 
 
 
 As palavras que fazem parte de um conjunto próprio da linguagem C++ são chamadas: 
 
 
palavras únicas 
 
palavras código 
 palavras reservadas 
 
palavras especiais 
 
palavras próprias 
Respondido em 21/11/2019 08:07:18 
 
 
Explicação: 
Não tem outra possibilidade com margem à dúvida. Por definição, é palavra reservada. 
 
 
 1a Questão 
 
 
 Selecione, entre as alternativas, a opção correta, tendo em vista a frase: Necessita de espaço na memória e 
define o tipo de dado a ser armazenado. 
 
 Variável 
 
atribuição 
 
Comando PARA 
 
Comando Enquanto-Faça 
 
Estrutura de Seleção 
Respondido em 21/11/2019 08:18:43 
 
 
Explicação: 
Necessita de espaço na memória e define o tipo de dado a ser armazenado. 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
repetição. 
Comando PARA 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
repetição. 
Comando 
Enquanto-Faça 
 
 Verdadeiro Variável 
 
Falso. É uma operação ou comando. atribuição 
 
Falso. Não necessita de espaço em memória e nem de tipo de dado. É um comando de 
seleção, como if ou if/else, por exemplo. 
Estrutura de 
Seleção 
 
 
 
 
 
 2a Questão 
 
 
 Uma variável é um espaço da memória principal dedicado ao armazenamento temporário de valores. No 
C++, elas podem ser declaradas como sendo de diferentes tipos, dentre eles 
 
 
character, string, real e double. 
 
real, int, char e double. 
 
long char, long bool, long int e long float. 
 
booleano, integer, string e char. 
 bool, char, int e float. 
Respondido em 21/11/2019 08:18:48 
 
 
 
 
 3a Questão 
 
 
 
Assinale a opção correta : 
 
 O tipo int serve para variáveis inteiras ou reais, de pouca 
precisão 
 Se precisamos de armazenar 1 caracter usamos o tipo char na 
declaração da variável 
 Não se pode usar o underscore ou sublinhado em nome de 
variável, mas apenas letras e dígitos. 
 Para declarar uma variável podemos usar o tipo da variável ou 
não. 
 Quando declaramos variáveis do mesmo tipo usamos o ponto 
e vírgula para separá-las. 
Respondido em 21/11/2019 08:18:59 
 
 
Explicação: 
De acordo com as descrições e características apresentadas na aula sobre variáveis. 
 
 
 
 
 4a Questão 
 
 
 Sobre a linguagem de programação C++, é correto afirmar que a mesma: 
I. Não permite a criação de variáveis do tipo lógico; 
II. É case sentive, ou seja, faz distinção entre letras maiúsculas e minúsculas; 
III. Permite que os identificadores de variáveis iniciem pelo caractere sublinhado ("_"); 
IV. É fracamente tipada; o que permite que uma variável seja declarada sem que seu tipo seja definido. 
 
 
I e II são verdadeiras. 
 
I, II e III são verdadeiras. 
 II e III são verdadeiras. 
 
II, III e IV são verdadeiras. 
 
I e IV são verdadeiras. 
Respondido em 21/11/2019 08:19:06 
 
 
 
 
 5a Questão 
 
 
 No C++, é possível declarar variáveis e constantes. Uma constante é um espaço da memória reservado a 
um valor que não se altera ao longo da execução de um programa. Imaginando que você precise de uma 
constante para armazenar o valor de PI (3,14), como seria feita sua declaração em C++? 
 
 
const real PI=3.14; 
 const float PI=3.14; 
 
const integer PI=3.14; 
 
float PI=3.14; 
 
const int PI=3.14; 
Respondido em 21/11/2019 08:19:13 
 
 
 
 
 6a Questão 
 
 
 A declaração de variáveis permite reservar um espaço na memória para que possa armazenar os dados de um 
programa. Indique os nomes de variáveis que são válidos em C++. 
 
 
double, int 
 
8situacao, numero 
 
us# , tempo 
 
preço, medida 
 mumero2Casa, idade 
Respondido em 21/11/2019 08:19:19 
 
 
Explicação: 
Falso. Não se usa # us# , tempo 
 
Falso. Não se usa cedilha. preço, medida 
 
Falso. Não se pode começar com dígito. 8situacao, numero 
 
 Verdadeiro mumero2Casa, idade 
 
Falso. São palavras reservadas para tipos de dados. double, int 
 
 
 
 
 
 7a Questão 
 
 
 Um restaurante self-service vende comida por peso e cobra R$ 34,90 por quilo consumido. Sabendo que o 
preço a ser pago pelo cliente é calculado a partir do peso de seu prato multiplicado pelo valor do quilo, o 
trecho de declaração de variáveis em C++ que seria necessário em um programa capaz de informar ao 
cliente o valor a pagar é: 
 
 
int quilo = 34.90; int prato = 0; int valor_pagar = 0; 
 float quilo = 34.90; float prato = 0; float valor_pagar = 0; 
 
real quilo = 34.90; real prato = 0; real valor_pagar = 0; 
 
char quilo = 34.90; char prato = 0; char valor_pagar = 0; 
 
bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; 
Respondido em 21/11/2019 08:19:25 
 
 
 
 
 8a Questão 
 
 
 Necessita de espaço na memória e define o tipo de dado a ser armazenado 
 
 Variável 
 
Comando PARA 
 
Comando Enquanto-Faça 
 
Estrutura de Seleção 
 
Variável de Controle 
Respondido em 21/11/2019 08:19:34 
 
 
Explicação: 
Por definição, uma variável ocupa espaço em memória e irá armazenar dados de algum tipo compatível com 
sua declaração. Em C++, pelo menos. 
 
 
 1a Questão 
 
 
 Fornecida a sequência de respostas abaixo, assinale a opção cujos nomes das variáveis estejam todos corretos 
para uso. 
 
 
b) $Salario, Soma, 99Total, _Hora 
 
c) _HoraCerta, %Soma, Contador 
 d) HoraCerta, Inicio, Contador10 
 
a) Contador, SalarioM, %Soma, _NomeAluno 
 
a) Contador, Soma%Total, Salario_Novo 
Respondido em 21/11/2019 08:19:49 
 
 
Explicação: 
FAlso. Não se pode usar % a) Contador, Soma%Total, Salario_Novo 
 
FAlso. Não se pode usar $ ou começar com dígito. b) $Salario, Soma, 99Total, _Hora 
 
Falso. Não se pode começar com %. c) _HoraCerta, %Soma, Contador 
 
 Verdadeiro d) HoraCerta, Inicio, Contador10 
 
Falso. Não se pode começar com %. a) Contador, SalarioM, %Soma, _NomeAluno 
 
 
 
 
 
 2a Questão 
 
 
 Para realizar o armazenamento de um determinado valor na memória do computador é necessária a declaração 
de: 
 
 Variável 
 
Comando de entrada 
 
Fluxograma 
 
Comando de saída 
 
Estrutura de decisão 
Respondido em 21/11/2019 08:19:58 
 
 
Explicação: 
FAlso. Permite realizar entrada de dados. Comando de entrada 
 
FAlso.Permite realizar saída de dados. Comando de saída 
 
FAlso. Representação gráfica de um algoritmo. Fluxograma 
 
FAlso. Comando if ou if/else, por exemplo. Estrutura de decisão 
 
 Verdadeiro Variável 
 
 
 
 
 
 3a Questão 
 
 
 Faz parte do desenvolvimento de uma algoritmo declarar as variáveis que armazenarão dados a ser 
manipulados pelo algoritmo. De acordo com as regras para criação dos nomes para as variáveis, assinale a 
alternativa que possui um exemplo de nome INCORRETO: 
 
 cad1- id 
 
nota2 
 
nome_aluno 
 
num1 
 
salariofinal 
Respondido em 21/11/2019 08:20:05 
 
 
Explicação: 
 
Falso, pois é nome possível ter letras e underscore nome_aluno 
 
Falso, poisé nome possível ter letra e dígito. num1 
 
 Verdadeiro, pois não se pode usar hífen em nome de variável. cad1- id 
 
Falso, pois é nome possível ter letras. salariofinal 
 
Falso, pois é nome possível ter letra e dígito. nota2 
 
 
 
 
 
 4a Questão 
 
 
 Assinale a opção correta. Sobre variáveis é correto afirmar que ... 
 
 
o nome de uma variável sempre pode começar com acento. 
 uma variável ocupa um espaço em memória e devemos usar, normalmente, um tipo de dados ao 
declará-la. 
 
uma variável ocupa um espaço em memória e nunca se usa um tipo de dados ao declará-la. 
 
nomes de variáveis sempre podem iniciar com aspa. 
 
palavras reservadas podem ser usadas para nome de variáveis. 
Respondido em 21/11/2019 08:20:09 
 
 
Explicação: 
1ª. opção : Verdadeiro. De acordo com definição da aula e 
exemplos vistos nas aulas 2 e 3 e demais aulas. 
2ª. opção : Falso. Vide aulas 2, 3 e outras. Palavras reservadas 
serão de comandos, tipos de dados e não podem ser usadas para 
nomear variáveis. 
3ª. opção : Falso. Nomes de variáveis começam com letra ou _ 
(sublinhado) 
4ª. opção : Falso. Nomes de variáveis começam com letra ou _ 
(sublinhado) 
5ª. opção. Falso. A partir da aula 2 se vê que variáveis terão um 
tipo de dados. 
 
 
 
 
 5a Questão 
 
 
 Na linguagem de programação C++, a declaração de uma variável envolve não somente a definição de seu 
tipo como também a definição de seu identificador. Conforme as regras dessa linguagem, são 
identificadores de variáveis válidos: 
 
 
Nome@Proprio, SALBRUTO, *email*, matricula 2019 
 nomeProprio, sal_Bruto, _email, matricula2019 
 
NoMePrOpRiO, SalBruto, e-mail, matricula 2019 
 
nomePróprio, SAlBRuTO, email, matrícula2019 
 
nome-proprio, salBRUTO, #email, matricula*2019 
Respondido em 21/11/2019 08:20:19 
 
 
 
 
 6a Questão 
 
 
 O linha de programa que representa a ação "processamento" em um 
algoritmo em pseudolinguagem é: 
 
 
leia 
 valor <- valor + 1; 
 
se 
 
enquanto 
 
programa 
Respondido em 21/11/2019 08:20:26 
 
 
Explicação: 
Conteúdo administrado no livro, onde é mostrado a equivalência entre algoritmo e programa em C++. 
As demais opções não apresentam nenhuma linha de processamento. 
se indica o início de uma estrutura condicional, enquanto, uma estrutura de repetição e programa não diz 
nada. 
Leia é o comando de leitura, para entrada de dados e não processamento. 
 
 
 
 
 7a Questão 
 
 
 Quando desejarmos exibir na tela títulos, conteúdo de variáveis, resultado de operações e tudo mais que 
precisarmos, muitas linguagens de programação, e até interpretadores algorítmicos, disponibilizam 
caracteres de controle que possibilitam deslocar o cursor horizontalmente e verticalmente. 
Qual das respostas abaixo representa, na mesma sequência do texto acima, 
esses caracteres? 
 
 /t, /n 
 /tab , /n 
 \t , \n 
 tab, enter 
 \n , \t 
Respondido em 21/11/2019 08:20:32 
 
 
Explicação: 
\t equivale a tecla tab 
\n equivale a nova linha 
 
 
 
 
 8a Questão 
 
 
 Precisamos ficar atentos a algumas exigências da linguagem C++. 
Leia com atenção as afirmativas abaixo e, depois, escolha a opção correta. 
I Devemos tomar cuidado para não declarar uma variável de nome Nota e não usar no programa nota. 
II Foram declaradas duas variáveis com os seguintes nomes: Idade e auto. O programa foi compilado 
sem problemas. 
III A declaração de variáveis globais é fora de todas as funções 
IV Existe somente o delimitador // para fazer comentários 
 
 
Somente as afirmativas II e III estão corretas 
 
Todas as afirmativas estão corretas 
 Somente as afirmativas I e III estão corretas 
 
Somente a afirmativa III está errada 
 
Somente a afirmativa IV está errada 
Respondido em 21/11/2019 08:20:37 
 
 
Explicação: 
A linguagem é Case Sensitive - elimina a II 
Tem dois delimitadores para comentários - elimina a IV 
 
 
 1a Questão 
 
 
 
Considere duas variáveis inteiras x e y. Assinale a opção correta. 
 
 Fazer !(x = y) equivale a fazer x != y 
 Fazer !(x != y) equivale a fazer x = y 
 Fazer !(x < y) equivale a fazer x > y 
 Fazer !(x <= y) equivale a fazer x >= y 
 Fazer !(x == y) equivale a fazer x != y 
Respondido em 03/09/2019 20:08:35 
 
 
Explicação: 
Basta seguir o uso dos operadores relacionais e lógicos.. 
 
 
 
 
 2a Questão 
 
 
 Seja o seguinte trecho de programa em C++ : 
 
int a, b, c; 
a = 2; 
b = a+3; 
c = a / b + b / a; 
 
Considerando as regras de atribuição de valores a variáveis e precedência existente nas operações 
aritméticas, marque a alternativa com o valor final da variável c. 
 
 
0 
 
0,2 
 2,9 
 
2,7 
 2 
Respondido em 03/09/2019 20:14:40 
 
 
Explicação: 
Seja o seguinte trecho de programa em C++ : 
 
int a, b, c; 
a = 2; 
b = a+3; 
c = a / b + b / a; 
 
TEste de mesa : 
 
a b c 
2 5 
 2/5 + 5/2 
0 + 2, que é 2 
 
 
 
 
 
 
 
 3a Questão 
 
 
 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
 
 <, > e >= 
 
+, - e * 
 
&&, || e ~ 
 
=, > e || 
 
&&, >= e || 
Respondido em 03/09/2019 20:17:36 
 
 
Explicação: 
 
<, > e >= 
 
Falso. Nenhum é relacional &&, || e ~ 
 
Falso. O único relacional é o > =, > e || 
 
Falso. O único relacional é o >= &&, >= e || 
 
Falso. Nenhum relacional +, - e * 
 
 
 
 
 
 4a Questão 
 
 
 Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em linguagem de programação 
C++. 
 
 
pow(c,a) > b * c 
 
(b + 2) > (a * c) 
 ((b = 2) == a) 
 
(b % a) == 0 
 
a == c 
Respondido em 03/09/2019 20:19:48 
 
 
Explicação: 
Analisando ... 
Para a = 2, b = 5 e c = 4, determine qual das sentenças retornará verdadeiro em linguagem de programação 
C++. 
 
 Falso. Testa se a é igual a c. Como a vale 2 e c vale 4 então é falso. a == c 
 
 Falso. Note que b vale 5. Então b+2 vale 7. Note que a*c vale 2*4 que dá 8. Então : 7 
> 8 é falso. 
(b + 2) > (a * 
c) 
 
 b recebeu 2 e depois foi comparado com == com o valor de a que é 2. Logo, é 
verdadeira a comparação. 
((b = 2) == a) 
 
 Falso. O pow pega o valor de c e eleva ao expoente dado por a, dando o valor de 4 
elevado a 2, que é 16. 
 b*c é 5 * 4 que dá 20. 16 > 20 ? Não. Falso. 
pow(c,a) > b * 
c 
 
 Falso. 5 % 2 é 1, pois é o resto da divisão de 5 por 2. Logo, 1 não é igual a 0, teste (b % a) == 0 
feito com o operador == . 
 
 
 
 
 
 5a Questão 
 
 
 Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a 
mesma ficaria? 
 
 
A e B ou C nao D 
 A ou B e C e nao D 
 
A e B ou C ou nao D 
 
A ou nao B e nao C e nao D 
 
A ou B e C e D 
Respondido em 03/09/2019 20:20:34 
 
 
 
 
 6a Questão 
 
 
 Utilizando a sintaxe do C++, qual das expressões a seguir é capaz de avaliar se uma variável do tipo inteiro 
denominada NUMERO é ímpar e negativa. 
 
 
(NUMERO<0) || (NUMERO%2!=0) 
 
(NUMERO>0) !! (NUMERO%2==0) 
 
(NUMERO>0) && (NUMERO%2==0) 
 
(NUMERO>0) || (NUMERO%2==0) 
 (NUMERO<0) && (NUMERO%2!=0) 
Respondido em 03/09/2019 20:22:00 
 
 
 
 
 7a Questão 
 
 
 
Assinale a opção correta : 
 
 Não temos como realizar operações lógicas na linguagem 
C++. 
 Para realizar entradae saída de dados não precisamos incluir 
arquivo algum, pois cout e cin são padrões na linguagem C++. 
 O operador % calcula o resto da divisão entre dois inteiros. 
 O operador / sempre calcula a divisão, que terá sempre casas 
decimais, independente dos valores na divisão. 
 A linguagem C++ não possui funções matemáticas como as 
calculadoras. 
Respondido em 03/09/2019 20:22:58 
 
 
Explicação: 
De acordo com as descrições e características apresentadas na aula de operadores. 
 
 
 
 
 8a Questão 
 
 
 Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de 
uma determinada disciplina. 
 
 
MEDIA = (AV1 - AV2) / 2; 
 
MEDIA = (AV1 ** AV2) / 2; 
 
MEDIA = AV1 + AV2 / 2; 
 MEDIA = (AV1 + AV2) / 2; 
 
MEDIA = (AV1 * AV2) / 2; 
Respondido em 03/09/2019 20:23:49 
 
 
Explicação: 
Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 
 
 
 1a Questão 
 
 
 Analise o trecho de código abaixo e depois marque a opção correta para o que se pede: 
 int x, y,a , b; 
 float z; 
 a = 14; 
 b = 3; 
 x = a / b; 
 y = a % b; 
 z = y / x; 
 Qual seria o valor de x? 
 
 4 
 
4.66666 
 
14 
 
5 
 
3 
Respondido em 20/11/2019 19:12:15 
 
 
Explicação: 
Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o 
operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4. 
 
 
 
 
 2a Questão 
 
 
 Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é 
verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as 
duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. 
 
 
((pontos>=10) % (pontos <=20)) 
 
((pontos>=10) # (pontos <=20)) 
 ((pontos>=10) && (pontos <=20)) 
 
((pontos>=10) || (pontos <=20)) 
 
((pontos>=10) ! (pontos <=20)) 
Respondido em 20/11/2019 19:12:24 
 
 
Explicação: 
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a 
expressão ser verdadeira. 
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. 
% é para cálculo de resto. 
# não tem efeito 
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 
 
 
 
 
 3a Questão 
 
 
 Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, 
denominada NUMERO ,é ímpar e negativa. 
 
 
(NUMERO>0) && (NUMERO%2==0) 
 
(NUMERO<0) || (NUMERO%2!=0) 
 
(NUMERO>0) !! (NUMERO%2==0) 
 (NUMERO<0) && (NUMERO%2!=0) 
 
(NUMERO>0) || (NUMERO%2==0) 
Respondido em 20/11/2019 19:12:32 
 
 
Explicação: 
(NUMERO<0) && (NUMERO%2!=0) 
pra ser negativo , tem que se menor que zero NUMERO<0 
pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 
 
 
 
 
 
 4a Questão 
 
 
 Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde 
aos questionamentos realizados em relação à expressão: X * X + Y > Z. 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? 
- O valor do termo X * X + Y é igual a qual valor ? 
 
 
A expressão é FALSA, e o valor de X * X + Y = 6. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 5. 
 
A expressão é FALSA, e o valor de X * X + Y = 4. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 3. 
 A expressão é FALSA, e o valor de X * X + Y = 3. 
Respondido em 20/11/2019 19:12:38 
 
 
Explicação: 
 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. 
- O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 
Resolvendo a expressão : X * X + Y > Z 
 1 * 1 + 2 dá 1 + 2 que é 3 
 3 > Z, sendo que Z vale 5 ? FAlsa. 
 
 
 
 
 
 5a Questão 
 
 
 Observe a tabela da verdade para a expressão A && B || B || A. 
A B A && B A && B || B A && B || B || A 
V V V V 
V F F F 
F V F V 
F F F F 
Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são: 
 
 
F - V - V - F 
 
V - F - F - F 
 V - V - V - F 
 
V - V - V - V 
 
F - F - V - F 
Respondido em 20/11/2019 19:12:47 
 
 
 
 
 6a Questão 
 
 
 Considerando os seguintes conteúdos para as variáveis: 
 a = 2, b = 5 e c = 4 
Determine qual das sentenças retornará verdadeiro. 
 
 
a == c 
 
pow(c,a) > b * c 
 
(b % a) == 0 
 ((b = 2) == a) 
 
(b + 2) > (a * c) 
Respondido em 20/11/2019 19:12:52 
 
 
Explicação: 
a == c --> falso, pois a é diferente c 
(b + 2) > (a * c) -> falso, pois 7 > 8 é falso 
((b = 2) == a) , verdade, pois a = 2 
 
 
 
 
 7a Questão 
 
 
 Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. 
 
 
+, - e * 
 
!, > e >= 
 
&&, >= e <= 
 &&, || e ! 
 
=, > e ? 
Respondido em 20/11/2019 19:13:04 
 
 
Explicação: 
 
Falso. O único operador lógico é o ! !, > e >= 
 
 Verdadeiro. &&, || e ! 
 
Falso. Nâo há operador lógico neste item. =, > e ? 
 
 
Falso. O único operador lógico é o && 
 
 
&&, >= e <= 
 
Falso. Nâo há operador lógico neste item. +, - e * 
 
 
 
 
 
 8a Questão 
 
 
 
Observe as afirmativas a seguir a respeito das tabelas da verdade: 
I. A tabela avalia expressões relacionais e numéricas e é preenchida com valores do tipo lógico. 
II. É possível haver combinações repetidas de valores no preenchimento inicial das linhas com valores das 
variáveis. 
III. A quantidade de variáveis na expressão avaliada determina a quantidade de resultados possíveis para a 
expressão. 
Sobre elas, sabemos que: 
 
 
As afirmativas II e III são verdadeiras. 
 
A afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
A afirmativa II é verdadeira. 
 Todas as afirmativas são falsas. 
 
 
 1a Questão 
 
 
 Monte a tabela da verdade para a expressão A || B && C && !A. 
A B C !A B && C B && C && !A A || B && C && !A 
V V V F V F 
V V F F F F 
V F V F F F 
V F F F F F 
F V V V V V 
F V F V F F 
F F V V F F 
F F F V F F 
A sequência de valores que preenche a última coluna, de cima para baixo, é: 
 
 V, V, V, V, V, F, F, F 
 
V, F, V, F, V, F, V, F 
 
F, F, F, F, F, V, V, V 
 
F, V, F, V, V, F, V, F 
 
V, V, F, F, V, V, F, F 
Respondido em 21/11/2019 08:07:38 
 
 
 
 
 2a Questão 
 
 
 Assinale a opção correta. 
 
 
os operadores matemáticos não tem precedência de uso 
 Os operadores matemáticos são : +, - , *, / e %. 
 
São operadores lógicos : &&, ||, != 
 
As expressões lógicas retornam valores inteiros 
 
São operadores relacionais : = , > , < 
Respondido em 21/11/2019 08:07:45 
 
 
Explicação: 
Os operadores matemáticos são : +, - , *, / e %. = VERDADE 
São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO 
São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de 
valor a variável.--> FALSO 
As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) 
os operadores matemáticos não tem precedênciade uso --: FALSO, há precedencia sim, o * tem preferencia 
sobre a soma e subtrção 
 
 
 
 
 
 
 3a Questão 
 
 
 Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde 
aos questionamentos realizados em relação à expressão: X * X + Y > Z. 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? 
- O valor do termo X * X + Y é igual a qual valor ? 
 
 A expressão é FALSA, e o valor de X * X + Y = 3. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 3. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 5. 
 
A expressão é FALSA, e o valor de X * X + Y = 4. 
 
A expressão é FALSA, e o valor de X * X + Y = 6. 
Respondido em 21/11/2019 08:07:57 
 
 
Explicação: 
 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. 
- O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 
Resolvendo a expressão : X * X + Y > Z 
 1 * 1 + 2 dá 1 + 2 que é 3 
 3 > Z, sendo que Z vale 5 ? FAlsa. 
 
 
 
 
 
 4a Questão 
 
 
 Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, 
denominada NUMERO ,é ímpar e negativa. 
 
 (NUMERO<0) && (NUMERO%2!=0) 
 
(NUMERO<0) || (NUMERO%2!=0) 
 
(NUMERO>0) && (NUMERO%2==0) 
 
(NUMERO>0) !! (NUMERO%2==0) 
 
(NUMERO>0) || (NUMERO%2==0) 
Respondido em 21/11/2019 08:08:07 
 
 
Explicação: 
(NUMERO<0) && (NUMERO%2!=0) 
pra ser negativo , tem que se menor que zero NUMERO<0 
pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 
 
 
 
 
 
 5a Questão 
 
 
 Observe a tabela da verdade para a expressão A && B || B || A. 
A B A && B A && B || B A && B || B || A 
V V V V 
V F F F 
F V F V 
F F F F 
Os valores que completam correta e sequencialmente a coluna A && B || B || A, de cima para baixo, são: 
 
 V - V - V - F 
 
V - F - F - F 
 
V - V - V - V 
 
F - F - V - F 
 
F - V - V - F 
Respondido em 21/11/2019 08:08:23 
 
 
 
 
 6a Questão 
 
 
 Assinale a alternativa que apresenta APENAS os exemplos de operadores relacionais. 
 
 
&&, >= e || 
 
+, - e * 
 
&&, || e ~ 
 <, > e >= 
 
=, > e || 
Respondido em 21/11/2019 08:08:29 
 
 
Explicação: 
 
<, > e >= 
 
Falso. Nenhum é relacional &&, || e ~ 
 
Falso. O único relacional é o > =, > e || 
 
Falso. O único relacional é o >= &&, >= e || 
 
Falso. Nenhum relacional +, - e * 
 
 
 
 
 
 7a Questão 
 
 
 Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é 
verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as 
duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. 
 
 
((pontos>=10) || (pontos <=20)) 
 
((pontos>=10) # (pontos <=20)) 
 ((pontos>=10) && (pontos <=20)) 
 
((pontos>=10) ! (pontos <=20)) 
 
((pontos>=10) % (pontos <=20)) 
Respondido em 21/11/2019 08:08:35 
 
 
Explicação: 
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a 
expressão ser verdadeira. 
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. 
% é para cálculo de resto. 
# não tem efeito 
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 
 
 
 
 
 8a Questão 
 
 
 Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? 
 A ou B e C e não D 
 
 
A && B && C && !D 
 
A || B ! C ! &&D 
 
A && B || C || !D 
 A || B && C && !D 
 
A !! B && C && ||D 
Respondido em 21/11/2019 08:08:38 
 
 
Explicação: 
A || B && C && !D 
|| = OU 
&& = E 
! = não 
 
 1a Questão 
 
 
 Considerando os seguintes conteúdos para as variáveis: 
 a = 2, b = 5 e c = 4 
Determine qual das sentenças retornará verdadeiro. 
 
 ((b = 2) == a) 
 
(b % a) == 0 
 
pow(c,a) > b * c 
 
a == c 
 
(b + 2) > (a * c) 
Respondido em 21/11/2019 08:21:17 
 
 
Explicação: 
a == c --> falso, pois a é diferente c 
(b + 2) > (a * c) -> falso, pois 7 > 8 é falso 
((b = 2) == a) , verdade, pois a = 2 
 
 
 
 
 2a Questão 
 
 
 Indique qual o tercho em C++ que calcula corretamente a média das notas AV1 e AV2 de 
uma determinada disciplina. 
 
 
MEDIA = AV1 + AV2 / 2; 
 
MEDIA = (AV1 ** AV2) / 2; 
 
MEDIA = (AV1 * AV2) / 2; 
 
MEDIA = (AV1 - AV2) / 2; 
 MEDIA = (AV1 + AV2) / 2; 
Respondido em 21/11/2019 08:21:22 
 
 
Explicação: 
Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir por 2. 
 
 
 
 
 3a Questão 
 
 
 Assinale a alternativa que apresenta APENAS os exemplos de operadores lógicos. 
 
 
!, > e >= 
 
+, - e * 
 
&&, >= e <= 
 
=, > e ? 
 &&, || e ! 
Respondido em 21/11/2019 08:21:27 
 
 
Explicação: 
 
Falso. O único operador lógico é o ! !, > e >= 
 
 Verdadeiro. &&, || e ! 
 
Falso. Nâo há operador lógico neste item. =, > e ? 
 
 
Falso. O único operador lógico é o && 
 
 
&&, >= e <= 
 
Falso. Nâo há operador lógico neste item. +, - e * 
 
 
 
 
 
 4a Questão 
 
 
 Assinale a alternativa que apresenta APENAS operadores relacionais. 
 
 
&&, >= e || 
 
&&, || e ~ 
 
+, - e * 
 <, > e >= 
 
=, > e || 
Respondido em 21/11/2019 08:21:36 
 
 
Explicação: 
 
<, > e >= 
 
&& e || são operadores lógicos na linguagem C++ 
 ~ é operador na lógica matemática para negação 
&&, || e ~ 
 
 = é atribuição 
 > relacional 
 || ou lógico 
=, > e || 
 
O único relacional é >= . Os outros dois são operadores lógicos. &&, >= e || 
 
 Operadores matemáticos +, - e * 
 
 
 
 
 
 5a Questão 
 
 
 Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no Portugol Studio, como a 
mesma ficaria? 
 
 
A ou B e C e D 
 
A e B ou C nao D 
 
A ou nao B e nao C e nao D 
 
A e B ou C ou nao D 
 A ou B e C e nao D 
Respondido em 21/11/2019 08:21:42 
 
 
 
 
 6a Questão 
 
 
 Analise o trecho de código abaixo e depois marque a opção correta para o que se pede: 
 int x, y,a , b; 
 float z; 
 a = 14; 
 b = 3; 
 x = a / b; 
 y = a % b; 
 z = y / x; 
 Qual seria o valor de x? 
 
 
4.66666 
 
14 
 
3 
 4 
 
5 
Respondido em 21/11/2019 08:21:48 
 
 
Explicação: 
Fazendo um teste de mesa e sabendo que a divisão com / entre inteiros fornece o quociente da divisão e o 
operador % fornece o resto da divisão inteira, chegamos no valor x igual a 4. 
 
 
 
 
 7a Questão 
 
 
 
Considere duas variáveis inteiras x e y. Assinale a opção correta. 
 
 Fazer !(x == y) equivale a fazer x != y 
 Fazer !(x = y) equivale a fazer x != y 
 Fazer !(x != y) equivale a fazer x = y 
 Fazer !(x <= y) equivale a fazer x >= y 
 Fazer !(x < y) equivale a fazer x > y 
Respondido em 21/11/2019 08:21:53 
 
 
Explicação: 
Basta seguir o uso dos operadores relacionais e lógicos.. 
 
 
 
 
 8a Questão 
 
 
 Indique qual alternativa calcula corretamente a média aritmética das notas AV1 e AV2 de uma determinada 
disciplina 
 
 
MEDIA= AV1 + AV2 / 2; 
 
MEDIA = (AV1 - AV2) / 2; 
 
MEDIA = (AV1 ** AV2) / 2; 
 
MEDIA = (AV1 * AV2) / 2; 
 MEDIA = (AV1 + AV2) / 2; 
Respondido em 21/11/2019 08:22:03 
 
 
Explicação: 
MEDIA = (AV1 + AV2) / 2; - OK 
 
 
 1a Questão 
 
 
 
Qual dos fragmentos de código calcula um preço de um produto com desconto de 7,5% ? 
 
 PRECO_DESC = PRECO - PRECO * 7.5 /100; 
 
PRECO_DESC = PRECO * 7.5 / 100; 
 
PRECO_DESC = PRECO * 7.5%; 
 
PRECO_DESC = PRECO * 0.75; 
 
PRECO_DESC = PRECO * 0.075; 
Respondido em 21/11/2019 08:22:18 
 
 
Explicação: 
 Verdadeiro 
PRECO_DESC = PRECO 
- PRECO * 7.5 /100; 
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. 
PRECO_DESC = PRECO 
* 7.5 / 100; 
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. Além disso, 
calcula 75% e não o valor do enunciado. 
PRECO_DESC = PRECO 
* 0.75; 
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. Além disso, 
calcula outra porcentagem e não o valor do enunciado. 
PRECO_DESC = PRECO 
* 0.075; 
 
Falso. Não dá o novo preço. Para isso, tinha que subtrair do preco. Além disso, 
usa % incorretamente. Na Matemática o símbolo % indica porcentagem, mas 
em C++ representa o resto da divisão inteira. 
PRECO_DESC = PRECO 
* 7.5%; 
 
 
 
 
 
 2a Questão 
 
 
 Observe as afirmativas a seguir a respeito das tabelas da verdade: 
I. A tabela avalia expressões relacionais e numéricas e é preenchida com valores do tipo lógico. 
II. É possível haver combinações repetidas de valores no preenchimento inicial das linhas com valores das 
variáveis. 
III. A quantidade de variáveis na expressão avaliada determina a quantidade de resultados possíveis para a 
expressão. 
Sobre elas, sabemos que: 
 
 
As afirmativas II e III são verdadeiras. 
 
A afirmativa II é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
A afirmativa I é verdadeira. 
 Todas as afirmativas são falsas. 
Respondido em 21/11/2019 08:22:24 
 
 
 
 
 3a Questão 
 
 
 Sendo X = 1, Y = 2 e Z = 5, assinale a alternativa correta, dentre as relacionadas abaixo, que corresponde 
aos questionamentos realizados em relação à expressão: X * X + Y > Z. 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? 
- O valor do termo X * X + Y é igual a qual valor ? 
 
 
A expressão é FALSA, e o valor de X * X + Y = 6. 
 A expressão é FALSA, e o valor de X * X + Y = 3. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 3. 
 
A expressão é FALSA, e o valor de X * X + Y = 4. 
 
A expressão é VERDADEIRA, e o valor de X * X + Y = 5. 
Respondido em 21/11/2019 08:22:32 
 
 
Explicação: 
 
Questionamentos: 
- Esta expressão é VERDADEIRA ou FALSA? A expressão é Falsa. 
- O valor do termo X * X + Y é igual a qual valor ? O resultado da expressão é 3 
Resolvendo a expressão : X * X + Y > Z 
 1 * 1 + 2 dá 1 + 2 que é 3 
 3 > Z, sendo que Z vale 5 ? FAlsa. 
 
 
 
 
 
 4a Questão 
 
 
 Qual das alternativas apresenta a expressão que seja capaz de avaliar se uma variável do tipo inteiro, 
denominada NUMERO ,é ímpar e negativa. 
 
 
(NUMERO>0) !! (NUMERO%2==0) 
 
(NUMERO>0) && (NUMERO%2==0) 
 
(NUMERO<0) || (NUMERO%2!=0) 
 
(NUMERO>0) || (NUMERO%2==0) 
 (NUMERO<0) && (NUMERO%2!=0) 
Respondido em 21/11/2019 08:22:37 
 
 
Explicação: 
(NUMERO<0) && (NUMERO%2!=0) 
pra ser negativo , tem que se menor que zero NUMERO<0 
pra ser impar, o resto da divisão pode 2 não pode ser zero --> != (diferente) --> NUMERO%2!=0 
 
 
 
 
 
 5a Questão 
 
 
 Monte a tabela da verdade para a expressão A || B && C && !A. 
A B C !A B && C B && C && !A A || B && C && !A 
V V V F V F 
V V F F F F 
V F V F F F 
V F F F F F 
F V V V V V 
F V F V F F 
F F V V F F 
F F F V F F 
A sequência de valores que preenche a última coluna, de cima para baixo, é: 
 
 
V, V, F, F, V, V, F, F 
 
V, F, V, F, V, F, V, F 
 
F, V, F, V, V, F, V, F 
 V, V, V, V, V, F, F, F 
 
F, F, F, F, F, V, V, V 
Respondido em 21/11/2019 08:22:44 
 
 
 
 
 6a Questão 
 
 
 Assinale a opção correta. 
 
 
As expressões lógicas retornam valores inteiros 
 
São operadores lógicos : &&, ||, != 
 
São operadores relacionais : = , > , < 
 Os operadores matemáticos são : +, - , *, / e %. 
 
os operadores matemáticos não tem precedência de uso 
Respondido em 21/11/2019 08:22:53 
 
 
Explicação: 
Os operadores matemáticos são : +, - , *, / e %. = VERDADE 
São operadores lógicos : &&, ||, != --> != não é operador lógico e sim relacional (diferente) --> FALSO 
São operadores relacionais : = , > , < ---> = não é operador relacional e sim comando de atribuição de 
valor a variável.--> FALSO 
As expressões lógicas retornam valores inteiros --> FALSO, retornam valores lógicos (V ou F) 
os operadores matemáticos não tem precedência de uso --: FALSO, há precedencia sim, o * tem preferencia 
sobre a soma e subtrção 
 
 
 
 
 
 
 7a Questão 
 
 
 Os operadores lógicos servem para combinar resultados de expressões, retornando se o resultado final é 
verdadeiro ou falso. Marque a alternativa que contém o operador lógico que deve ser utilizado quando as 
duas proposições lógicas necessitam ser verdadeiras para que o resultado da combinação seja verdadeiro. 
 
 
((pontos>=10) % (pontos <=20)) 
 ((pontos>=10) && (pontos <=20)) 
 
((pontos>=10) # (pontos <=20)) 
 
((pontos>=10) ! (pontos <=20)) 
 
((pontos>=10) || (pontos <=20)) 
Respondido em 21/11/2019 08:23:00 
 
 
Explicação: 
Pelo tabela verdade do operador e ( && em C++), as duas condições devem ser verdadeiras para toda a 
expressão ser verdadeira. 
Se for o ou (símbolo ||), basta uma condição se verdadeira para toda a expressão ser verdadeira. 
% é para cálculo de resto. 
# não tem efeito 
O operador ! é unário e inverte o valor lógico. Ou seja, se a expressão for verdadeira : ! expressão é falsa. 
 
 
 
 
 8a Questão 
 
 
 Utilizando os operadores adequados, como pode ser reescrita a expressão abaixo? 
 A ou B e C e não D 
 
 
A !! B && C && ||D 
 A || B && C && !D 
 
A && B && C && !D 
 
A || B ! C ! &&D 
 
A && B || C || !D 
Respondido em 21/11/2019 08:23:09 
 
 
Explicação: 
A || B && C && !D 
|| = OU 
&& = E 
! = não 
 
 
 1a Questão 
 
 
 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso 
que sejam utilizadas a biblioteca _______________ e a função _______________. 
 
 
math - math.round 
 
locale - ptb 
 
iostream - setlocale 
 
iostream - ptb 
 locale - setlocale 
Respondido em 05/09/2019 21:10:44 
 
 
 
 
 2a Questão 
 
 
 
Assinale a opção correta : 
 
 Para entrada de dados usamos cin com << e para saída de 
dados usamos cout com >> 
 Para entrada de dados usamos cin com >> e para saída de 
dados usamos cout com << 
 Para entrada de dados usamos cout e para saída de dados 
usamos cin 
 Para entrada de dados usamos cout com << e para saída de 
dados usamos cin com >> 
 Para entrada de dados usamos read e para saída de dados 
usamos write 
Respondido em 05/09/2019 21:11:17 
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
 
 
 3a Questão 
 
 
 Observe o algoritmo a seguir: 
1 programa 
2 { 
3 inclua biblioteca Matematica --> mat 
4 funcaoinicio() 
5 { 
6 real qtdeDin, valComb, qtdeLitros 
7 escreva("Quanto custa o litro do combustível? R$ ") 
8 leia(valComb) 
9 escreva("Quantos reais você tem? R$ ") 
10 leia(qtdeDin) 
11 qtdeLitros=qtdeDin/valComb 
12 escreva("Com R$ ", qtdeDin, " você consegue abastecer 
", mat.arredondar(qtdeLitros,2)," litros de combustível.") 
13 } 
14 } 
Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual 
mensagem seria exibida pelo computador na linha 12? 
 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." 
 
"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 
Respondido em 05/09/2019 21:12:20 
 
 
 
 
 4a Questão 
 
 
 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos 
medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo 
que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe 
do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das 
interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
Respondido em 05/09/2019 21:16:17 
 
 
 
 
 5a Questão 
 
 
 Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: 
 
 cout >>x; 
 
 cout >> "Valor de x: " , x; 
 cout << "Valor de x: " >> x; 
 
 cout >> "Valor de x: " >> x; 
 cout << x; 
 
Respondido em 05/09/2019 21:19:04 
 
 
Explicação: 
Para impressão na tela usamos o cout com o operador << 
Nâo confundir com >> que é usado com cin, que é para entrada de dados. 
 
 
 
 
 6a Questão 
 
 
 A sintaxe de uma linguagem de programação 
 
 
converte os comandos para linguagem de máquina para que possam ser executados. 
 define a forma como os comandos e as estruturas da linguagem devem ser utilizados. 
 
viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. 
 
garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. 
 
cria a versão executável do código fonte e não está presente em algumas linguagens. 
Respondido em 05/09/2019 21:19:34 
 
 
 
 
 7a Questão 
 
 
 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro 
ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
F - F - F 
 V - V - F 
 
V - F - F 
 
F - V - F 
 
V - V - V 
Respondido em 05/09/2019 21:20:06 
 
 
 
 
 8a Questão 
 
 
 Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são 
nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, 
assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o armazena 
na variável celsius. 
 
 cin >> celsius; 
 
cin >> Celsius; 
 
cout << celsius; 
 
float << celsius; 
 
cout << "Celsius ? "; 
Respondido em 05/09/2019 21:21:26 
 
 
Explicação: 
Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é : cin 
>> celsius; 
 
 
 1a Questão 
 
 
 
Assinale a opção correta : 
 
 Para entrada de dados usamos cout e para saída de dados 
usamos cin 
 Para entrada de dados usamos read e para saída de dados 
usamos write 
 Para entrada de dados usamos cin com >> e para saída de 
dados usamos cout com << 
 Para entrada de dados usamos cout com << e para saída de 
dados usamos cin com >> 
 Para entrada de dados usamos cin com << e para saída de 
dados usamos cout com >> 
Respondido em 20/11/2019 19:10:42 
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
 
 
 2a Questão 
 
 
 Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário? 
 
 
int idade; 
cin << "Idade: " >> idade; 
 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 int idade; 
cout << "Idade: "; 
cin >> idade; 
 
real idade; 
cout << "Idade: "; 
cin >> idade; 
 
real idade; 
cin << "Idade: " >> idade; 
Respondido em 20/11/2019 19:10:45 
 
 
Explicação: 
 Verdadeira 
int idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de >> e << 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 
Falso. O tipo de dados é int e não real 
real idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de cin . 
int idade; 
cin << "Idade: " >> idade; 
 
Falso. Uso indevido de cin e declaração incorreta da variável idade. 
real idade; 
cin << "Idade: " >> idade; 
 
 
 
 
 
 3a Questão 
 
 
 Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são 
nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, 
assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o armazena 
na variável celsius. 
 
 
cin >> Celsius; 
 
cout << celsius; 
 
float << celsius; 
 
cout << "Celsius ? "; 
 cin >> celsius; 
Respondido em 20/11/2019 19:10:55 
 
 
Explicação: 
Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é : cin 
>> celsius; 
 
 
 
 
 4a Questão 
 
 
 Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano 
atual e o ano de nascimento de um usuário, calcule e exiba a sua idade através da mensagem "Você tem ou 
fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser 
utilizada na exibição da idade? 
 
 escreva("Você tem ou fará ", idade, " anos") 
 
leia("Você tem ou fará " / idade/ " anos") 
 
leia("Você tem ou fará ", idade, " anos") 
 
escreva("Você tem ou fará " * idade * " anos") 
 
escreva("Você tem ou fará " /idade/ " anos") 
Respondido em 20/11/2019 19:11:08 
 
 
 
 
 5a Questão 
 
 
 Observe o algoritmo a seguir: 
1 programa 
2 { 
3 inclua biblioteca Matematica --> mat 
4 funcao inicio() 
5 { 
6 real qtdeDin, valComb, qtdeLitros 
7 escreva("Quanto custa o litro do combustível? R$ ") 
8 leia(valComb) 
9 escreva("Quantos reais você tem? R$ ") 
10 leia(qtdeDin) 
11 qtdeLitros=qtdeDin/valComb 
12 escreva("Com R$ ", qtdeDin," você consegue abastecer 
", mat.arredondar(qtdeLitros,2)," litros de combustível.") 
13 } 
14 } 
Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual 
mensagem seria exibida pelo computador na linha 12? 
 
 
"Você consegue abastecer 51.28 litros de combustível." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 
 
"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 
Respondido em 20/11/2019 19:11:21 
 
 
 
 
 6a Questão 
 
 
 Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
 
 
cout < lendo idade; cin > idade 
 
exiba "lendo a idade"; lendo idade; 
 
cout "lendo a idade"; cin idade; 
 cout << "lendo a idade"; cin >> idade; 
 
System.out.println("lendo idade"); System.out.println("lendo idade"); 
Respondido em 20/11/2019 19:11:24 
 
 
Explicação: 
Falso. Erro no cout e no cin. Os operadores são >> e <<. 
E ainda ?: variável não tem espaço em branco 
cout < lendo idade; cin > idade 
 
 VErdade cout << "lendo a idade"; cin >> idade; 
 
Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; 
 
Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; 
 
Falso. Não é Java. Em C++ usam-se cout para saída de 
dados e cin para entrada de dados 
System.out.println("lendo idade"); 
System.out.println("lendo idade"); 
 
 
 
 
 
 7a Questão 
 
 
 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro 
ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
V - F - F 
 
V - V - V 
 
F - V - F 
 V - V - F 
 
F - F - F 
Respondido em 20/11/2019 19:11:34 
 
 
 
 
 8a Questão 
 
 
 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos 
medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo 
que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe 
do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das 
interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 
 
 1a Questão 
 
 
 Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário? 
 
 
real idade; 
cin << "Idade: " >> idade; 
 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 
int idade; 
cin << "Idade: " >> idade; 
 int idade; 
cout << "Idade: "; 
cin >> idade; 
 
real idade; 
cout << "Idade: "; 
cin >> idade; 
Respondido em 21/11/2019 08:09:01 
 
 
Explicação: 
 Verdadeira 
int idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de >> e << 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 
Falso. O tipo de dados é int e não real 
real idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de cin . 
int idade; 
cin << "Idade: " >> idade; 
 
Falso. Uso indevido de cin e declaração incorreta da variável idade. 
real idade; 
cin << "Idade: " >> idade; 
 
 
 
 
 
 2a Questão 
 
 
 Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são 
nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, 
assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o armazena 
na variável celsius. 
 
 
float << celsius; 
 
cout << "Celsius ? "; 
 cin >> celsius; 
 
cout << celsius; 
 
cin >> Celsius; 
Respondido em 21/11/2019 08:09:06 
 
 
Explicação: 
Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é : cin 
>> celsius; 
 
 
 
 
 3a Questão 
 
 
 Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
 
 
cout < lendo idade; cin > idade 
 
cout "lendo a idade"; cin idade; 
 
exiba "lendo a idade"; lendo idade; 
 
System.out.println("lendo idade"); System.out.println("lendo idade"); 
 cout << "lendo a idade"; cin >> idade; 
Respondido em 21/11/2019 08:09:17 
 
 
Explicação: 
Falso. Erro no cout e no cin. Os operadores são >> e <<. 
E ainda ?: variável não tem espaço em branco 
cout < lendo idade; cin > idade 
 
 VErdade cout << "lendo a idade"; cin >> idade; 
 
Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; 
 
Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; 
 
Falso. Não é Java. Em C++ usam-se cout para saída de 
dados e cin para entrada de dados 
System.out.println("lendo idade"); 
System.out.println("lendo idade"); 
 
 
 
 
 
 4a Questão 
 
 
 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso 
que sejam utilizadas a biblioteca _______________ e a função _______________. 
 
 
math - math.round 
 
iostream - ptb 
 
iostream - setlocale 
 locale - setlocale 
 
locale - ptb 
Respondido em 21/11/2019 08:09:23 
 
 
 
 
 5a Questão 
 
 
 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro 
ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
F - V - F 
 
V - F - F 
 
F - F - F 
 V - V - F 
 
V - V - V 
Respondido em 21/11/2019 08:09:27 
 
 
 
 
 6a Questão 
 
 
 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos 
medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo 
que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe 
do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das 
interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 real tempF, tempCescreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
Respondido em 21/11/2019 08:09:38 
 
 
 
 
 7a Questão 
 
 
 Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: 
 
 cout >> "Valor de x: " , x; 
 cout << "Valor de x: " >> x; 
 
 cout >>x; 
 
 cout >> "Valor de x: " >> x; 
 cout << x; 
 
Respondido em 21/11/2019 08:09:48 
 
 
Explicação: 
Para impressão na tela usamos o cout com o operador << 
Nâo confundir com >> que é usado com cin, que é para entrada de dados. 
 
 
 
 
 8a Questão 
 
 
 A sintaxe de uma linguagem de programação 
 
 
viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. 
 define a forma como os comandos e as estruturas da linguagem devem ser utilizados. 
 
garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. 
 
converte os comandos para linguagem de máquina para que possam ser executados. 
 
cria a versão executável do código fonte e não está presente em algumas linguagens. 
 
 
 1a Questão 
 
 
 Qual dos trechos abaixo solicita e admite corretamente a idade de um usuário? 
 
 int idade; 
cout << "Idade: "; 
cin >> idade; 
 
int idade; 
cin << "Idade: " >> idade; 
 
real idade; 
cin << "Idade: " >> idade; 
 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 
real idade; 
cout << "Idade: "; 
cin >> idade; 
Respondido em 21/11/2019 08:23:34 
 
 
Explicação: 
 Verdadeira 
int idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de >> e << 
int idade; 
cout >> "Idade: "; 
cin << idade; 
 
Falso. O tipo de dados é int e não real 
real idade; 
cout << "Idade: "; 
cin >> idade; 
 
Falso. Uso indevido de cin . 
int idade; 
cin << "Idade: " >> idade; 
 
Falso. Uso indevido de cin e declaração incorreta da variável idade. 
real idade; 
cin << "Idade: " >> idade; 
 
 
 
 
 
 2a Questão 
 
 
 Sabemos que existem dois comandos (cin e cout), definidos na biblioteca iostream, que não são 
nativamente definidos pela linguagem e servem para fazer a entrada e saída de dados. Dessa forma, 
assinale a alternativa que corresponde ao comando que faz a leitura do valor digitado e o armazena 
na variável celsius. 
 
 
cout << celsius; 
 
float << celsius; 
 
cout << "Celsius ? "; 
 cin >> celsius; 
 
cin >> Celsius; 
Respondido em 21/11/2019 08:23:43 
 
 
Explicação: 
Para entrada de dados temos o cin e como o nome da variável é celsius, temos que a resposta certa é : cin 
>> celsius; 
 
 
 
 
 3a Questão 
 
 
 Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
 
 
cout < lendo idade; cin > idade 
 cout << "lendo a idade"; cin >> idade; 
 
cout "lendo a idade"; cin idade; 
 
exiba "lendo a idade"; lendo idade; 
 
System.out.println("lendo idade"); System.out.println("lendo idade"); 
Respondido em 21/11/2019 08:23:48 
 
 
Explicação: 
Falso. Erro no cout e no cin. Os operadores são >> e <<. 
E ainda ?: variável não tem espaço em branco 
cout < lendo idade; cin > idade 
 
 VErdade cout << "lendo a idade"; cin >> idade; 
 
Falso. Faltam os operadores >> e << cout "lendo a idade"; cin idade; 
 
Falso. Em C++ não é exiba e lendo. exiba "lendo a idade"; lendo idade; 
 
Falso. Não é Java. Em C++ usam-se cout para saída de 
dados e cin para entrada de dados 
System.out.println("lendo idade"); 
System.out.println("lendo idade"); 
 
 
 
 
 
 4a Questão 
 
 
 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso 
que sejam utilizadas a biblioteca _______________ e a função _______________. 
 
 
math - math.round 
 
iostream - ptb 
 
iostream - setlocale 
 
locale - ptb 
 locale - setlocale 
Respondido em 21/11/2019 08:23:59 
 
 
 
 
 5a Questão 
 
 
 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro 
ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 
V - F - F 
 
F - F - F 
 
V - V - V 
 
F - V - F 
 V - V - F 
Respondido em 21/11/2019 08:24:04 
 
 
 
 
 6a Questão 
 
 
 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos 
medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo 
que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe 
do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das 
interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
Respondido em 21/11/2019 08:24:12 
 
 
 
 
 7a Questão 
 
 
 Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: 
 
 cout << x; 
 
 cout >>x; 
 
 cout << "Valor de x: " >> x; 
 
 cout >> "Valor de x: " , x; 
 cout >> "Valor de x: " >> x; 
Respondido em 21/11/2019 08:24:19 
 
 
Explicação: 
Para impressão na tela usamos o cout com o operador << 
Nâo confundir com >> que é usado com cin, que é para entrada de dados. 
 
 
 
 
 8a Questão 
 
 
 A sintaxe de uma linguagem de programação 
 
 define a forma como os comandos e as estruturas da linguagem devem ser utilizados. 
 
converte os comandos para linguagem de máquina para que possam ser executados. 
 
viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. 
 
cria a versão executável do código fonte e não está presente em algumas linguagens. 
 
garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. 
 
 1a Questão 
 
 
 
Assinale a opção correta : 
 
 Para entrada de dados usamos cout com << e para saída de 
dados usamos cin com >> 
 Para entrada de dados usamos cin com >> e para saída de 
dados usamos cout com << 
 Para entrada de dados usamos cin com << e para saída de 
dados usamos cout com >> 
 Para entrada de dados usamos cout e para saída de dados 
usamos cin 
 Para entrada de dados usamos read e para saída de dados 
usamos write 
Respondido em 21/11/2019 08:24:44 
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
 
 
 2a Questão 
 
 
 Utilizando as regras do Portugol Studio, imagine que você precisa escrever um algoritmo que receba o ano 
atual e o ano de nascimento de um usuário,calcule e exiba a sua idade através da mensagem "Você tem ou 
fará XX anos", onde XX é a idade calculada. Qual das alternativas a seguir mostra a instrução correta a ser 
utilizada na exibição da idade? 
 
 escreva("Você tem ou fará ", idade, " anos") 
 
escreva("Você tem ou fará " /idade/ " anos") 
 
leia("Você tem ou fará " / idade/ " anos") 
 
escreva("Você tem ou fará " * idade * " anos") 
 
leia("Você tem ou fará ", idade, " anos") 
Respondido em 21/11/2019 08:24:54 
 
 
 
 
 3a Questão 
 
 
 Observe o algoritmo a seguir: 
1 programa 
2 { 
3 inclua biblioteca Matematica --> mat 
4 funcao inicio() 
5 { 
6 real qtdeDin, valComb, qtdeLitros 
7 escreva("Quanto custa o litro do combustível? R$ ") 
8 leia(valComb) 
9 escreva("Quantos reais você tem? R$ ") 
10 leia(qtdeDin) 
11 qtdeLitros=qtdeDin/valComb 
12 escreva("Com R$ ", qtdeDin, " você consegue abastecer 
", mat.arredondar(qtdeLitros,2)," litros de combustível.") 
13 } 
14 } 
Sabendo que o valor do litro do combustível é R$ 3.90 e que você dispõe de R$ 200.00 para abastecer, qual 
mensagem seria exibida pelo computador na linha 12? 
 
 
"Você consegue abastecer 51.28 litros de combustível." 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) litros de combustível." 
 
"Com R$ 200.00 você consegue abastecer 51.287645 litros de combustível." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
 
"Você consegue abastecer 51.28 litros de combustível com R$ 200.00." 
Respondido em 21/11/2019 08:25:02 
 
 
 
 
 4a Questão 
 
 
 Para exibir o valor da variável x do tipo inteiro em C++ deve ser utilizado o comando: 
 
 cout << x; 
 
 cout >> "Valor de x: " , x; 
 cout >> "Valor de x: " >> x; 
 cout << "Valor de x: " >> x; 
 
 cout >>x; 
 
Respondido em 21/11/2019 08:25:09 
 
 
Explicação: 
Para impressão na tela usamos o cout com o operador << 
Nâo confundir com >> que é usado com cin, que é para entrada de dados. 
 
 
 
 
 5a Questão 
 
 
 A sintaxe de uma linguagem de programação 
 
 define a forma como os comandos e as estruturas da linguagem devem ser utilizados. 
 
garante que a estrutura ENTRADA -> PROCESSAMENTO -> SAÍDA seja respeitada pelo programa. 
 
converte os comandos para linguagem de máquina para que possam ser executados. 
 
viabiliza a comunicação entre usuários e programas através de comandos de entrada e saída. 
 
cria a versão executável do código fonte e não está presente em algumas linguagens. 
Respondido em 21/11/2019 08:25:50 
 
 
 
 
 6a Questão 
 
 
 No C++, para que os acentos sejam exibidos corretamente durante a execução de um programa, é preciso 
que sejam utilizadas a biblioteca _______________ e a função _______________. 
 
 
locale - ptb 
 
iostream - ptb 
 
math - math.round 
 locale - setlocale 
 
iostream - setlocale 
Respondido em 21/11/2019 08:25:46 
 
 
 
 
 7a Questão 
 
 
 C++ é uma linguagem de programação compilada. Leia as assertivas a seguir e assinale Verdadeiro 
ou Falso conforme o que é dito sobre as funções do compilador: 
( ) Verificar erros de sintaxe no programa; 
( ) Produzir um outro programa em linguagem de máquina; 
( ) Executar o programa sem necessidade de conversão alguma. 
 
 V - V - F 
 
V - F - F 
 
F - V - F 
 
V - V - V 
 
F - F - F 
Respondido em 21/11/2019 08:25:55 
 
 
 
 
 8a Questão 
 
 
 Imagine que você viajou para os Estados Unidos e está muito confuso com a forma como os americanos 
medem a temperatura, que é em Fahrenheit. Para ficar com menos dúvidas, você decide criar um algoritmo 
que, dada uma temperatura em Fahrenheit, exiba seu equivalente em graus Celsius. Com base na sintaxe 
do Portugol Studio, qual das alternativas a seguir apresenta o trecho da solução a ser escrito no lugar das 
interrogações a seguir? 
programa { 
 funcao inicio( ) { 
 ???????? 
 } 
} 
 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 real tempF, tempC 
escreva("Temperatura em Fahrenheit: ") 
leia(tempF) 
tempC=(tempF-32)/1.8 
escreva("Temperatura em graus Celsius: ", tempC) 
 
 
 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: 
 
 
Repetição 
 
Vetorial 
 Decisão 
 
Recursiva 
 
Matricial 
Respondido em 06/09/2019 20:51:41 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 
 
 2a Questão 
 
 
 Verifique o trecho de código abaixo e marque a alternativa que apresenta a melhor construção para as 
condições abaixo, utilizando uma estrutura de decisão composta. 
if(a > 0) cout < < "pertinente"; 
if(a < 5) cout < < "pertinente"; 
if(a > =5) cout < < " não pertinente"; 
 
 
if(a > 5 && a < 0) cout < < "pertinente"; else cout < < "não pertinente"; 
 
if(a > 0 || a < 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 
if(0 > a > 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 if(a > 0 && a < 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 
if(a > 0 + a < 5) cout < < "pertinente"; 
else cout < < "não pertinente"; 
Respondido em 06/09/2019 20:56:10 
 
 
Explicação: O trecho do código exibe a informação "pertinente" para os valores de a maior que zero e 
menores que cinco. E a informação "não pertinente", para valores de a iguais ou maiores que cinco. 
Portanto a condição correta é ; Se (a > 0 e a < 5) imprime "pertinente"; do contrário imprime " não 
pertinente"; 
 
 
 
 
 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 ; 
 
 
4 13 13 
 
0 4 13 
 
13 13 4 
 
0 13 4 
 13 4 13 
Respondido em 06/09/2019 21:04:17 
 
 
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 
 
 
 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!"; } 
 
while ((A+B)>C) 
{ cout << "A soma de A e B é maior do queC!"; } 
 if ((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 06/09/2019 21:08:06 
 
 
 
 
 5a Questão 
 
 
 O comando utilizado para representar uma estrutura de ____________ é o comando _____. Esse comando 
fará um teste na ____________ apresentada, determinando se a ________________ é _______________ ou 
não. 
 
 decisão, se, condição, condição, verdadeira. 
 
decisão, enquanto, condição, decisão, verdadeira. 
 
condição, repita, se, condição, para. 
 
decisão, se, condição, condição, para. 
 
decisão, para, condição, condição, falsa. 
Respondido em 06/09/2019 21:09:08 
 
 
Explicação: 
 
Falsa.Estrutura de decisão não é o comando enquanto. 
Comando enquanto é de repetição. 
decisão, enquanto, condição, decisão, verdadeira. 
 
Falsa. Estrutura de decisão não é o comando para 
Comando para é de repetição. 
decisão, para, condição, condição, falsa. 
 
 Verdadeiro decisão, se, condição, condição, verdadeira. 
 
Falso. Não faz sentido para ou não, no final da sentença. decisão, se, condição, condição, para. 
 
Falso. Comando repita é de repetição. condição, repita, se, condição, para. 
 
 
 
 
 
 6a Questão 
 
 
 Qual dos trechos de código em C++ representa a seguinte situação: 
Quero saber o salario líquido de um funcionário considerando que, dado o salário bruto, existe um desconto 
para o fundo de pensão de 1% caso o salário bruto seja maior que R$2000,00 e de 0,5% caso contrário. 
 
 
if (bruto >= 2000.00) 
 liquido = bruto/100; 
else 
 liquido = 0.5 * bruto /100; 
cout << "Liquido = " << liquido; 
 
if (bruto < 2000.00) 
 liquido = bruto - (0.5 * bruto /100); 
else 
 liquido = bruto - (bruto/100); 
cout << "Liquido = " << liquido; 
 if (bruto > 2000.00) 
 liquido = bruto - (bruto/100); 
else 
 liquido = bruto - (0.5 * bruto /100); 
cout << "Liquido = " << liquido; 
 
if (bruto > 2000.00) 
 liquido = bruto - bruto/100; 
else 
 liquido = bruto - 0,5 * bruto /100; 
cout << "Liquido = " << liquido; 
 
if (bruto > 2000.00) 
then 
 liquido = bruto - (bruto/100); 
else 
 liquido = bruto - (0.5 * bruto /100); 
cout << "Liquido = " << liquido; 
end 
Respondido em 06/09/2019 21:09:32 
 
 
Explicação: 
Considerando o estudo de porcentagem em matemática e considerando a condição estabelecida no 
enunciado. 
Note : não é possível usar vírgula como separador de decimais. 
 
 
 
 
 7a 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; 
 
 
F - F - F 
 V - V - F 
 
V - V - V 
 
V - F - V 
 
F - V - F 
Respondido em 06/09/2019 21:11:04 
 
 
 
 
 8a 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 8 10 40 
 
 9 8 10 9 
 
 9 40 
 
 8 10 40 
 
Respondido em 06/09/2019 21:12:44 
 
 
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 
 
 
 1a Questão 
 
 
 Escolha a alternativa abaixo que completa o sentido da frase: 
O uso das _________________ é obrigatório quando for usada mais de uma instrução dentro da estrutura 
de decisão, if (o comando "se" em Portugol), logo, usar sempre não ocasionará problemas. 
 
 
aspas duplas 
 chaves 
 
aspas simples 
 
strings 
 
palavras reservadas 
Respondido em 20/11/2019 19:09:17 
 
 
Explicação: 
Quando se tem duas ou mais instruções temos um bloco de comandos. O uso de chaves no bloco do if ou no 
bloco do else é obrigatório, assim como no caso de outros comandos. 
Quando se tem apenas uma instrução, o uso de chaves é opcional. 
 
 
 
 
 2a 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 
 
N1 < N2 && N1 > 20 
 N1 > N2 || N2 < 50 
 
N2 == N1 || N2 > 20 
 
N2 > N1 || N1 > 50 
Respondido em 20/11/2019 19:09:25 
 
 
 
 
 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; 
 
 
10 12 2 0 
 
x = 10 y = 12 z = 0.833 k = 0 
 11 11 2 0 
 
x = 10 y = 12 z = 0 k = 0 
 
x= 11 y = 11 z = 2 k = 0 
Respondido em 20/11/2019 19:09: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 
 
 
 
 
 4a Questão 
 
 
 Verifique o trecho de código abaixo e marque a alternativa que apresenta a melhor construção para as 
condições abaixo, utilizando uma estrutura de decisão composta. 
if(a > 0) cout < < "pertinente"; 
if(a < 5) cout < < "pertinente"; 
if(a > =5) cout < < " não pertinente"; 
 
 if(a > 0 && a < 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 
if(0 > a > 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 
if(a > 5 && a < 0) cout < < "pertinente"; else cout < < "não pertinente"; 
 
if(a > 0 || a < 5) cout < < "pertinente"; 
else cout < < " não pertinente"; 
 
if(a > 0 + a < 5) cout < < "pertinente"; 
else cout < < "não pertinente"; 
Respondido em 20/11/2019 19:09:41 
 
 
Explicação: O trecho do código exibe a informação "pertinente" para os valores de a maior que zero e 
menores que cinco.E a informação "não pertinente", para valores de a iguais ou maiores que cinco. 
Portanto a condição correta é ; Se (a > 0 e a < 5) imprime "pertinente"; do contrário imprime " não 
pertinente"; 
 
 
 
 
 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.833 1.2 
 
Nada é impresso na tela, pois k é zero. 
 x= 10 y = 12 z = 0 k = 2 
 
x = 10 y = 12 z = 0.833 k = 1.2 
 
10 12 0 2 
Respondido em 20/11/2019 19:09:46 
 
 
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 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 é: 
 
 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!"; } 
 
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 20/11/2019 19:09:57 
 
 
 
 
 7a 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 
 
Matricial 
 Decisão 
 
Recursiva 
 
Repetição 
Respondido em 20/11/2019 19:10:08 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 
 
 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 = 4, y = 14, t; 
float z; 
if( x < y ) { t=x; x=y; y=t;} 
z = (x % y) / y; 
cout << x << " " << y << " " << z ; 
 
 
0.5 4 14 
 
4 14 0 
 14 4 0 
 
4 14 0.5 
 
14 4 0.5 
Respondido em 20/11/2019 19:10:17 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 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: 
 
 
 
11 
 
5 
 22 
 
2 
 
-1 
Respondido em 21/11/2019 08:10:32 
 
 
 
 
 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 40 
 
 9 6 10 9 
 
 8 10 40 
 
 9 8 10 9 
 
 9 40 
 
Respondido em 21/11/2019 08:10:42 
 
 
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 
 
 
 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 
 
12 
 
2 
 
-4 
 8 
Respondido em 21/11/2019 08:10:50 
 
 
 
 
 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 erradas. 
 
Apenas a alternativa iii está correta. 
 
Apenas a alternativa i está correta. 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa ii está correta. 
Respondido em 21/11/2019 08:10:56 
 
 
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 
 
 
 Escolha a alternativa abaixo que completa o sentido da frase: 
O uso das _________________ é obrigatório quando for usada mais de uma instrução dentro da estrutura 
de decisão, if (o comando "se" em Portugol), logo, usar sempre não ocasionará problemas. 
 
 
palavras reservadas 
 
aspas duplas 
 chaves 
 
strings 
 
aspas simples 
Respondido em 21/11/2019 08:11:00 
 
 
Explicação: 
Quando se tem duas ou mais instruções temos um bloco de comandos. O uso de chaves no bloco do if ou no 
bloco do else é obrigatório, assim como no caso de outros comandos. 
Quando se tem apenas uma instrução, o uso de chaves é opcional. 
 
 
 
 
 6a Questão 
 
 
 Analise o programa abaixo e selecione a alternativa que contenha a condição correta para que o número 27 seja mostrado 
na tela. 
 
#include 
using namespace std; 
int main() 
{ 
int N1, N2; 
N1= 27; 
N2= 54; 
if ( ______________ ) 
{ 
 cout<< N2; 
} 
else 
{ 
 cout<< N1; 
} 
return 0; 
} 
 
 
 N1 > N2 || N2 < 50 
 
N2 == N1 || N2 > 20 
 
N1 < N2 && N1 > 20 
 
N2 > N1 || N1 > 50 
 
N1 < N2 && N1 < 50 
Respondido em 21/11/2019 08:11:07 
 
 
 
 
 7a Questão 
 
 
 Analise o trecho abaixo que umaluno 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.5 
 
4 14 0 
 
4 14 0.5 
 
0.5 4 14 
 14 4 0 
Respondido em 21/11/2019 08:11:13 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 
 
 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; 
 
 
F - V - F 
 
V - F - V 
 
V - V - V 
 V - V - F 
 
F - F - F 
 
 
 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: 
 
 
Recursiva 
 
Vetorial 
 
Matricial 
 Decisão 
 
Repetição 
Respondido em 21/11/2019 08:26:30 
 
 
Explicação: 
A opção que determina a estrutura de controle citada é a Decisão 
 
 
 
 
 2a 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 21/11/2019 08:26:37 
 
 
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 
 
 
 
 
 3a 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) 
 {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 21/11/2019 08:26:48 
 
 
 
 
 4a Questão 
 
 
 Qual das sentença em C++ a seguir verifica se o valor da variável x do tipo inteiro é diferente de 7 e maior 
que 10? 
 
 
if (x == 7 && x > 10) 
 
if (x == 7 || x <= 10) 
 
if (x != 7 || x >= 10) 
 
if (x != 7 || x > 10) 
 if (x != 7 && x > 10) 
Respondido em 21/11/2019 08:26:58 
 
 
Explicação: 
PAra diferente usamos o operador != 
E para maior usamos o operador > 
E para o e lógico usamos o operador && 
 
 
 
 
 5a 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 21/11/2019 08:27:09 
 
 
 
 
 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 ; 
 
 
177 235 138 
 
235 235 138 
 
177 138 235 
 138 235 138 
 
138 138 235 
Respondido em 21/11/2019 08:27:18 
 
 
Explicação: A variável m ficará com o menor valor 
 
 
 
 
 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>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 21/11/2019 08:27:30 
 
 
 
 
 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 ; 
 
 
0 4 13 
 13 4 13 
 
0 13 4 
 
13 13 4 
 
4 13 13 
Respondido em 21/11/2019 08:27:34 
 
 
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 
 
 
 
Considere o trecho de programa em C++ e assinale a opçãoque 
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 << " "; 
 
 
 1 4 
 4 1 
 1 1 
 Ocorrerá erro, pois o trecho não compila. 
 4 4 
Respondido em 21/11/2019 08:27:55 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
 
 
 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, 7, 17 
 
0, 6 e 7 
 
1, 6 e 7 
 
1, 6 e 16 
 1, 7 e 7 
Respondido em 21/11/2019 08:28:06 
 
 
Explicação: 
int x, i; 
x = 1; 
cout << x; 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
Fazendo um teste de mesa, temos : 
x = 1 e depois é impresso o valor 1 
i recebe 6 e então, x recebe 1+6, que dá 7. Então, 7 é impresso. 
Chegamos na condição do if e testamos se 7 <= 7. É verdade ? Sim. Então, 7 é impresso e depois, x 
recebe 7 + 10, que dá 17. 
Ou seja, foi impresso 1 7 7 
 
 
 
 
 3a Questão 
 
 
 Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, 
sendo que na 1ª. execução o valor de entrada é 10 e na 2ª. execução o valor de entrada é 0. Para isso, 
considere o seguinte trecho em C++. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num > 0) 
 { 
 num++; 
 cout << num << " "; 
 } 
 cout << num + 1 << " "; 
 if (num < 0) 
 { 
 num--; 
 cout << num << " "; 
 } 
 else 
 cout << num * 10 ; 
 
 
 
 11 12 110 
 
 11 110 1 0 
 
 11 12 110 1 0 
 
 11 110 1 0 
 
 11 110 1 10 
 
Respondido em 21/11/2019 08:28:15 
 
 
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 
 
 
 Escolha a alternativa abaixo que completa o sentido da frase: 
O uso das _________________ é obrigatório quando for usada mais de uma instrução dentro da estrutura 
de decisão, if (o comando "se" em Portugol), logo, usar sempre não ocasionará problemas. 
 
 
palavras reservadas 
 chaves 
 
aspas duplas 
 
strings 
 
aspas simples 
Respondido em 21/11/2019 08:28:22 
 
 
Explicação: 
Quando se tem duas ou mais instruções temos um bloco de comandos. O uso de chaves no bloco do if ou no 
bloco do else é obrigatório, assim como no caso de outros comandos. 
Quando se tem apenas uma instrução, o uso de chaves é opcional. 
 
 
 
 
 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 ; 
 
 
 9 8 10 9 
 
 9 8 10 40 
 
 9 6 10 9 
 
 8 10 40 
 
 9 40 
 
Respondido em 21/11/2019 08:28:37 
 
 
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 
 
 
 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"); 
} 
 
 
 
-4 
 
12 
 8 
 
2 
 
0 
Respondido em 21/11/2019 08:28:40 
 
 
 
 
 7a 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: 
 
 
 
11 
 
-1 
 
5 
 
2 
 22 
Respondido em 21/11/2019 08:28:51 
 
 
 
 
 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 = 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 
 14 4 0 
 
0.5 4 14 
 
14 4 0.5 
 
4 14 0.5 
Respondido em 21/11/2019 08:28:54 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente inteiro 
 
 
 1a 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 
 
cout / cin 
 
while 
 switch / case 
 
for 
Respondido em 18/11/2019 10:44:59 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 
 
 2a 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 
 
for 
 switch/case 
 
while 
Respondido em 18/11/2019 10:45:33 
 
 
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. break3a 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; 
switch: 
 cout <<"Código inválido!"; 
 
switch 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; 
default: 
 cout <<"Código inválido!"; 
 
case 7: 
 cout <<"sábado"; 
 break; 
case not: 
 cout <<"Código inválido!"; 
Respondido em 18/11/2019 10:49:31 
 
 
 
 
 4a 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 II é verdadeira 
 
Somente a afirmativa I é verdadeira 
 
Somente a afirmativa III é falsa 
 
As afirmativas II, III e IV são verdadeiras 
 As afirmativas I e IV são verdadeiras 
Respondido em 18/11/2019 10:51:15 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 
 
 5a Questão 
 
 
 De acordo com o trecho de código abaixo o que será exibido se o usuário digitar os valores 2 e 4, 
respectivamente? 
 
leia(n1,n2) 
se ((n1 < 2) e (n2 < 5 )) entao 
 escreva("O valor foi: ", n1) 
senao 
 se ((n1 > 1) e (n2 
 > 4) ) entao 
 escreva ("O valor foi: ", n1+2 ) 
 senao 
 se ((n1 > 3) ou (n2 < 10)) entao 
 escreva("O valor foi: ", n2+n1) 
 senao 
 escreva("O valor foi: ", 5) 
 fimse 
 fimse 
fimse 
 
 
 
O valor foi:2 
 
O valor foi:5 
 
O valor foi:4 
 
Nenhuma das alternativas anteriores 
 O valor foi:6 
Respondido em 18/11/2019 10:53:21 
 
 
Explicação: 
 
leia(n1,n2) 
se ((n1 < 2) e (n2 < 5 )) entao 
 escreva("O valor foi: ", n1) 
senao 
 se ((n1 > 1) e (n2 > 4) ) entao 
 escreva ("O valor foi: ", n1+2 ) 
 senao 
 se ((n1 > 3) ou (n2 < 10)) entao 
 escreva("O valor foi: ", n2+n1) 
 senao 
 escreva("O valor foi: ", 5) 
 fimse 
 fimse 
fimse 
 
e que os valores de entrada foram 2 e 4, temos : 
1o. se : 2 < 2 e 4 < 5 . Temos Falso e Verdadeiro. Logo, é falso. Entra-se no senao. 
2o. se : 2 > 1 e 4 < 4. Temos verdadeiro e falso. Logo, é falso. Entra-se no senao deste se. 
3o. se : 2 > 3 ou 4 < 10. Como é ou, basta uma condição ser verdadeira. Como 4 < 10 é verdadeiro 
entramos no 3o. se. 
Portanto, será impresso O valor foi: 6 
Note que n1+n2 dará 6. 
 
 
 
 
 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 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!") } 
 
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!") } 
Respondido em 18/11/2019 10:53:29 
 
 
 
 
 7a Questão 
 
 
 
 
 
 11 10 50 10 2 
 11 10 50 10 
 10 50 10 2 
 11 50 10 2 
 11 50 10 
Respondido em 18/11/2019 10:56:01 
 
 
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 
 
 
 Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário 
entre com um valor referente a uma opção a ser escolhida, quando é necessário consulta em uma tabela ou 
a um menu exibido na tela. 
 
 
table 
 switch/case 
 
cout 
 
break 
 
cin 
Respondido em 18/11/2019 10:56:35 
 
 
Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case 
 
 1a 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 
 
do/while 
 switch/case 
 
cout 
 
for 
Respondido em 20/11/2019 19:07:54 
 
 
Explicação: 
 
switch/case 
 
É para repetição do/while 
 
É para repetição for 
 
É para impressão na tela cout 
 
É para repetição while 
 
 
 
 
 
 2a Questão 
 
 
 Qual o comando utilizado pelo C++ para implementação de algoritmos onde seja necessário que o usuário 
entre com um valor referente a uma opção a ser escolhida, quando é necessário consulta em uma tabela ou 
a um menu exibido na tela.cin 
 
cout 
 switch/case 
 
table 
 
break 
Respondido em 20/11/2019 19:08:02 
 
 
Explicação: a estrutura de escolha é implementada no C++ pelo comando switch/case 
 
 
 
 
 3a Questão 
 
 
 Caso o valor inserido pelo usuário seja igual a 5, qual a mensagem exibida pelo código: 
 
int a; 
 
cin >> a; 
if (a<5) 
 cout << "valor esperado"; 
else 
 if (a>=5 && a<=10) 
 cout << "valor ainda aceitável"; 
 else 
 if (a>10 && a<20) 
 cout << "valor acima do esperado"; 
 else 
 if (a>=20) cout << "valor fora de faixa"; 
 
 
nenhuma mensagem será exibida 
 
valor esperado 
 
valor acima do esperado 
 
valor fora de faixa 
 valor ainda aceitável 
Respondido em 20/11/2019 19:08:09 
 
 
Explicação: Se a variável a assume o valor 5 a única condição verdadeira é a>=5 && a<=10, portanto a 
saída será "valor ainda aceitável " 
 
 
 
 
 4a Questão 
 
 
 
 
 
 11 50 10 2 
 11 50 10 
 11 10 50 10 2 
 11 10 50 10 
 10 50 10 2 
Respondido em 20/11/2019 19:08:19 
 
 
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 
 
 
 
 
 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? 
 
 
for 
 switch/case 
 
while 
 
do/while 
 
break 
Respondido em 20/11/2019 19:08:28 
 
 
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 
 
 
 
 
 
 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; 
} 
 
 
aninhamento de if 
 
comando switch 
 Operador ternário 
 
Estrutura condicional de comando composto 
 
Estrutura condicional de comando simples 
Respondido em 20/11/2019 19:08:34 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 
 
 7a 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: 
 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
Respondido em 20/11/2019 19:08:43 
 
 
 
 
 8a 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 - case, B - switch, C - default, D - break 
 
A - caso, B - escolha, C - pare, D - outros casos 
 
 
 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. 
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: 
 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
Respondido em 21/11/2019 08:11:42 
 
 
 
 
 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 aslinhas 
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) { 
 default 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) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 21/11/2019 08:11:52 
 
 
 
 
 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? 
 
 
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 (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!";} 
Respondido em 21/11/2019 08:11:56 
 
 
 
 
 4a 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. 
 
 switch / case 
 
for 
 
do/while 
 
cout / cin 
 
while 
Respondido em 21/11/2019 08:12:05 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 
 
 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. 
 
 
default 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!"; 
 
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 21/11/2019 08:12:14 
 
 
 
 
 6a 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 é divisível por 3 e por 5. 
 9 ### 
 
Apenas 9 
 
9 não é divisível por 2. 
 
Nada aparece, pois o trecho de programa possui erro. 
Respondido em 21/11/2019 08:12:23 
 
 
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### 
 
 
 
 
 7a 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 
 
55 1 
 
15 27.5 15 55 90 
 50 90 15 25 15 
 
15 25 15 50 90 
Respondido em 21/11/2019 08:12:31 
 
 
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. 
 
 
 
 
 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. 
 
 
Somente a afirmativa III é falsa 
 
Somente a afirmativa II é verdadeira 
 
As afirmativas II, III e IV são verdadeiras 
 
Somente a afirmativa I é verdadeira 
 As afirmativas I e IV são verdadeiras 
Respondido em 21/11/2019 08:12:39 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 1a Questão 
 
 
 Quero escrever um programa que leia o número equivalente a um dia da semana e retorne o nome equivalente 
considerando que 1- Domingo, 2 - Segunda etc. Qual a estrutura básica em C++ que deve ser utilizada para 
fazer esta seleção múltipla? 
 
 switch/case 
 
while 
 
for 
 
do/while 
 
cout 
Respondido em 21/11/2019 08:29:12 
 
 
Explicação: 
 
switch/case 
 
É para repetição do/while 
 
É para repetição for 
 
É para impressão na tela cout 
 
É para repetição while 
 
 
 
 
 
 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; 
 
 
 Nenhuma variável será alterada. 
 A variável b ficará 3 
 A variável a ficará 1 
 A variável b ficará 1 
 A variável t ficará 3 
Respondido em 21/11/2019 08:29:23 
 
 
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 
 
 
 
A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o 
trecho de programa abaixo e assinale a alternativa que corresponda a estrutura de decisão utilizada. 
int main() { 
int num; 
cout<<"Digite um número: "; 
cin>> num; 
(num > 0)?cout<< num : cout<<" Número negativo "; 
return 0; 
} 
 
 Operador ternário 
 
comando switch 
 
Estrutura condicional de comando composto 
 
Estrutura condicional de comando simples 
 
aninhamento de if 
Respondido em 21/11/2019 08:29:55 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 
 
 4a 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 21/11/2019 08:30:00 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 
 
 5a 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 não é divisível por 2. 
 
Nada aparece, pois o trecho de programa possui erro. 
 9 ### 
 
Apenas 9 
 
9 é divisível por 3 e por 5. 
Respondido em 21/11/2019 08:30:11 
 
 
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### 
 
 
 
 
 6a 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: 
 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
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 21/11/2019 08:30:23 
 
 
 
 
 7a 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 27.5 15 55 90 
 
55 90 15 27.5 15 
 50 90 15 25 15 
 
15 25 15 50 90 
 
55 1 
Respondido em 21/11/2019 08:30:30 
 
 
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. 
 
 
 
 
 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. 
 
 
Somente a afirmativa I é verdadeira 
 
Somente a afirmativa III é falsa 
 
As afirmativas II, III e IV são verdadeiras 
 
Somente a afirmativa II é verdadeira 
 As afirmativas I e IV são verdadeiras 
Respondido em 21/11/2019 08:30:41 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 1a Questão 
 
 
 De acordo com o trecho de código abaixo o que será exibido se o usuário digitar os valores 2 e 4, 
respectivamente? 
 
leia(n1,n2) 
se ((n1 < 2) e (n2 < 5 )) entao 
 escreva("O valor foi: ", n1) 
senao 
 se ((n1 > 1) e (n2 
 > 4) ) entao 
 escreva ("O valor foi: ", n1+2 ) 
 senao 
 se ((n1 > 3) ou (n2 < 10)) entao 
 escreva("O valor foi: ", n2+n1) 
 senao 
 escreva("O valor foi: ", 5) 
 fimse 
 fimse 
fimse 
 
 
 
O valor foi:2 
 
Nenhuma das alternativas anteriores 
 
O valor foi:4 
 O valor foi:6 
 
O valor foi:5 
Respondido em 21/11/2019 08:31:04 
 
 
Explicação: 
 
leia(n1,n2) 
se ((n1 < 2) e (n2 < 5 )) entao 
 escreva("O valor foi: ", n1) 
senao 
 se ((n1 > 1) e (n2 > 4) ) entao 
 escreva ("O valor foi: ", n1+2 ) 
 senao 
 se ((n1 > 3) ou (n2 < 10)) entao 
 escreva("O valor foi: ", n2+n1) 
 senao 
 escreva("O valor foi: ", 5) 
 fimse 
 fimse 
fimse 
 
e que os valores de entrada foram 2 e 4, temos : 
1o. se : 2 < 2 e 4 < 5 . Temos Falso e Verdadeiro. Logo, é falso. Entra-se no senao. 
2o. se : 2 > 1 e 4 < 4. Temos verdadeiro e falso. Logo, é falso. Entra-se no senao deste se. 
3o. se : 2 > 3 ou 4 < 10. Como é ou, basta uma condição ser verdadeira. Como 4 < 10 é verdadeiro 
entramos no 3o. se. 
Portanto, será impresso O valor foi: 6 
Note que n1+n2 dará 6. 
 
 
 
 
 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çãocorreta. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num % 2 == 0) 
 cout << num << "é divisível por 2"; 
 else 
 if (num % 3 == 0 && num % 5 == 0) 
 cout << num << " é divisível por 3 e por 5"; 
 else 
 cout << num << " ### " ; 
 
 
 
Apenas 7 
 7 ### 
 
 
7 não é divisível por 2. 
 
 
Nada aparece, pois o trecho de programa possui erro. 
 
 
7 é divisível por 3 e por 5. 
Respondido em 21/11/2019 08:31:12 
 
 
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 
 
 
 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 - se, B - caso, C - pare, D - default 
 
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 
Respondido em 21/11/2019 08:31:24 
 
 
 
 
 4a 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 
 
for 
 switch / case 
 
cout / cin 
Respondido em 21/11/2019 08:31:31 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
 
 
 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 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; 
} 
 
 
Estrutura condicional de comando composto 
 
comando switch 
 
aninhamento de if 
 
Estrutura condicional de comando simples 
 Operador ternário 
Respondido em 21/11/2019 08:31:41 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 
 
 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 a ficará 1 
 A variável b ficará 1 
 A variável t ficará 3 
Respondido em 21/11/2019 08:31:53 
 
 
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 
 
 
 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 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
Respondido em 21/11/2019 08:32:05 
 
 
 
 
 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 III é falsa 
 
Somente a afirmativa II é verdadeira 
 
Somente a afirmativa I é verdadeira 
 
As afirmativas II, III e IV são verdadeiras 
Respondido em 21/11/2019 08:32:13 
 
 
Explicação: As respostas falsas são conclusivas 
 
 
 1a Questão 
 
 
 Após análise do código responda a questão: 
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela: 
 
 Os valores entre 1 e 5 (inclusive) em ordem decrescente. 
 Os números ímpares entre 1 e 5 em ordem decrescente. 
 Os números pares entre 1 e 5 (inclusive) em ordem crescente. 
 Os valores entre 1 e 5 (inclusive)em ordem crescente. 
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. 
Respondido em 18/11/2019 18:00:07 
 
 
Explicação: 
 
 
Verdadeira, visto que o programa imprimirá : 
O valor de i e 5 
O valorde i e 3 
O valor de i e 1 
Portanto em ordem decrescente incluindo o 5 e o 1. 
Os números ímpares entre 1 e 5 (inclusive) em 
ordem decrescente. 
 
Falso. Não é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em ordem 
decrescente. 
 
FAlso. É em ordem decrescente e imprime os ímpares e 
não os pares. 
Os números pares entre 1 e 5 (inclusive) em 
ordem crescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares de 5 
a 1, incluindo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em ordem 
decrescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares em 
ordem decrescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em ordem 
crescente. 
 
 
 
 
 
 2a Questão 
 
 
 O que o trecho de programa em C++ abaixo imprime na tela ? 
 
 int y; 
 for (y = 5; y > 0; y--) 
 if (y % 2 == 0) 
 cout << y - 1 << " "; 
 else 
 cout << y + 1 << " "; 
 
 
5 4 3 2 1 
 
5 6 3 2 1 
 
6 3 4 1 1 
 
6 5 3 2 1 
 6 3 4 1 2 
Respondido em 18/11/2019 18:00:23 
 
 
Explicação: 
FAzer teste de mesa. A cada rodada do loop atribuir um valor a y e testar se o valor de y é par. Se for par, 
deverá ser impresso o valor do antecessor de y. Caso contrário, deverá ser impresso o valor do sucessor de 
y. 
 
 
 
 
 
 3a Questão 
 
 
 Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma 
sequência de números e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra 
quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, 
qual das alternativas a seguir ajuda a resolver o problema proposto? 
 
 
faca { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num>0) 
 
faca { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num!=0) 
 
enquanto (num>0) { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
enquanto (num==0) { 
 se (num/2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 enquanto (num!=0) { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
Respondido em 18/11/2019 18:00:33 
 
 
 
 
 4a Questão 
 
 
 Qual dos comandos abaixo está escrito de forma errada? 
 
 
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) 
 
for (X=0 ; X < 10 ; X++) 
 for (X < 10 ; X=0 ; X++) 
 
for (X=10 ; X > 0 ; X--) 
 
for (X=0 , Y=4 ; X < 10 ; X++ , Y--) 
Respondido em 18/11/2019 18:00:54 
 
 
Explicação: 
Está correto. Temos a inicialização, o teste e a parte do incremento 
for (X=0 ; X 
< 10 ; X++) 
 
Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento 
separados por vírgula. E ainda o teste corretamente. 
for (X=0 , 
Y=4 ; X < 10 
; X++ , Y--) 
 
Está correto. Temos a inicialização, o teste e a parte dodecremento. 
for (X=10 ; X 
> 0 ; X--) 
 
Está correto. Temos duas inicializações separadas por vírgula e incremento e 
decremento separados por vírgula. E ainda o teste corretamente. 
 
 
for (X=0 , 
Y=0 ; X < 10 
; X++ , 
Y=Y+2) 
 
 A sintaxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a 
inicialização estão trocados de lugar. 
for (X < 10 ; 
X=0 ; X++) 
 
 
 
 
 
 5a Questão 
 
 
 O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 25 19 13 7 1 
 
10 5 0 13 7 
 
12 5 10 7 13 
 
12 8 10 7 15 
 
0 0 0 0 0 
Respondido em 18/11/2019 18:00:59 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 
 
 6a Questão 
 
 
 
Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0; i <= 200; i++) 
 for (int i=0; i < 200; i++) 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0, i <= 200, i++) 
 
for (int i=0; i =< 200; i++) 
Respondido em 18/11/2019 18:01:04 
 
 
Explicação: 
 
 Verdadeira 
for (int i=0; i < 200; 
i++) 
 
 Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
teste do for. 
for (int i=0; i <= 200; 
i++) 
 
 FAlsa. A variável i não foi declarada. 
for ( i=0; i <= 200; 
i++) 
 
 Falsa. Não existe =< 
for (int i=0; i =< 200; 
i++) 
 
 Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <= 200, 
i++) 
 
 
 
 
 
 7a Questão 
 
 
 
Marque a opção correta. Considere o trecho de programa feito em C++. O valor 
final de s e o valor final de num, são respectivamente: 
int conta, num=1, s=0; 
for(conta = 10; conta < = 40; conta= conta+10){ 
 s= s+num; 
 num= num +2; 
} 
 
 16 e 9 
 50 e 9 
 o valor de s está indefinido e o valor de num é 7 
 9 e 9 
 50 e 16 
Respondido em 18/11/2019 18:01:49 
 
 
Explicação: 
Acompanhe o teste de mesa : 
num s conta conta <= 10 ? 
1 0 10 sim 
3 1 20 sim 
5 4 30 sim 
7 9 40 sim 
9 16 50 não 
Logo, s vale 16 e num vale 9 
 
 
 
 
 
 
 8a Questão 
 
 
 Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem 
apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele 
escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno 
informado for 0. 
A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: 
 
 
 
while (num==0) 
 
for (num<=0) 
 
if (num!=0) 
 
do (num!=0) 
 while (num!=0) 
 
 
 1a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 if ((x % 2) == 0){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
A soma de todos os elementos 
 A soma dos elementos pares 
 
O maior de todos os elementos digitados 
 
A quantidade de elementos digitados 
Respondido em 20/11/2019 19:06:39 
 
 
Explicação: 
Analisando o trecho do programa dado : 
 int i; 
 double x, y = 0; //inicializa y que irá acumular o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x;//Lê o valor de x 
 if ((x % 2) == 0){ //testa se x é par 
 y = y + x; //Se x é par então acumula em y o valor de x, somando todos os 
valores das variáveis x que são pares 
 } 
 } 
 cout << "Numero: " << y << "\n"; //Imprime y, que acumulou o somatório mencionado acima 
 
 
 
 
 
 
 2a Questão 
 
 
 Analise o trecho de código em C++ abaixo : 
for (int x = 0; x < 10; x++) 
{ 
 if (valor[x] % 3 == 0 && valor[x] % 7 == 0) 
 cout << valor[x]; 
} 
 
 
 
Imprimirá na tela todos os valores de um vetor que são ímpares. 
 Imprimirá na tela todos os valores de um vetor que são múltiplos de 3 e múltiplos de 7. 
 
Imprimirá na tela todos os valores de um vetor. 
 
Imprimirá na tela todos os valores de um vetor que são pares. 
 
Imprimirá na tela todos os valores de um vetor que não são múltiplos de 5. 
Respondido em 20/11/2019 19:06:43 
 
 
Explicação: 
 Verdadeiro 
 
Imprimirá na tela todos os valores de um vetor que são 
múltiplos de 3 e múltiplos de 7. 
 
Falso. Imprimirá o valor 105, que é 
múltiplo de 3, 7 e 5. 
 
Imprimirá na tela todos os valores de um vetor que não são 
múltiplos de 5. 
 
Falso. Só imprimirá os múltiplos de 3 e 7. 
 
Imprimirá na tela todos os valores de um vetor. 
 
Falso. Imprimirá na tela o valor 21, que é 
ímpar. 
 
Imprimirá na tela todos os valores de um vetor que são pares. 
 
FAlso. Imprimirá na tela o valor 42, que é 
par. 
Imprimirá na tela todos os valores de um vetor que são ímpares. 
 
 
 
 
 
 3a Questão 
 
 
 O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
12 5 10 7 13 
 
10 5 0 13 7 
 25 19 13 7 1 
 
0 0 0 0 0 
 
12 8 10 7 15 
Respondido em 20/11/2019 19:06:49 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 
 
 4a Questão 
 
 
 
Marque a opção correta. Considere o trecho de programa feito abaixo em C++. O valor final de soma e 
o valor final de num, são respectivamente 
 
int contador, num = 1, soma = 0; 
for (contador = 1; contador <= 20; contador += 5) { 
 soma = soma + num; 
 num = num + 3; 
 } 
 
 
 
12 e 10 
 
 22 e 13 
 
 
22 e 20 
 
 
22 e 10 
 
 
o valor de soma está indefinido e o valor de num é 10 
Respondido em 20/11/2019 19:06:54 
 
 
Explicação: 
 
Analisando o trecho : 
int contador, num = 1, soma = 0; 
for (contador = 1; contador <= 20; contador += 5) { 
 soma = soma + num; 
 num = num + 3; 
 } 
 
Fazendo teste de mesa : 
contador num soma contador <= 20 
1 1 0 sim 
6 4 1 sim 
11 7 5 sim 
16 10 12 sim 
21 13 22 21 <= 20 ? Falso. 
 
 
 
 
Os valores finais das variáveis estão em vermelho. 
Logo, a resposta é 22 e 13 
 
 
 
 
 5a Questão 
 
 
 Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma 
sequência de números e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra 
quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, 
qual das alternativas a seguir ajuda a resolver o problema proposto? 
 
 
enquanto (num==0) { 
 se (num/2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
faca { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num>0) 
 
enquanto (num>0) { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
faca { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num!=0) 
 enquanto (num!=0) { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
Respondido em 20/11/2019 19:07:02 
 
 
 
 
 6a Questão 
 
 
 
Marque a opção correta. Considere o trecho de programa feito em C++. O valor 
final de s e o valor final de num, são respectivamente: 
int conta, num=1, s=0; 
for(conta = 10; conta < = 40; conta= conta+10){ 
 s= s+num; 
 num= num +2; 
} 
 
 9 e 9 
 50 e 9 
 16 e 9 
 o valor de s está indefinido e o valor de num é 7 
 50 e 16 
Respondido em 20/11/2019 19:07:12 
 
 
Explicação: 
Acompanhe o teste de mesa : 
num s conta conta <= 10 ? 
1 0 10 sim 
3 1 20 sim 
5 4 30 sim 
7 9 40 sim 
9 16 50 não 
Logo, s vale 16 e num vale 9 
 
 
 
 
 
 
 7a Questão 
 
 
 Marque a opção correta. O que é impresso na tela ? 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
 
 
 
 
 r = 36 x = 7 
 r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 r = 3 x = 2 
r = 5 x = 7 
 
 r = 2 x = 3 
r = 7 x = 5 
 
 r = 3 x = 4 
r = 8 x = 6 
r = 37 x = 7 
Respondido em 20/11/2019 19:07:14 
 
 
Explicação: 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
conta conta >= 0 x r 
2 sim 1 1 
 3 2 
1 sim 5 7 
 
0 sim 7 36 
 
-1 
 
 
TELA 
r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 
 
 
 
 
 
 8a Questão 
 
 
 
 
 
 50 e 16 
 16 e 9 
 o valor de s está indefinido e o valor de num é 7 
 50 e 9 
 9 e 9 
Respondido em 20/11/2019 19:07:26 
 
 
Explicação: 
 
conta num s conta <= 40 ? 
10 1 0 sim 
20 3 0 + 1 , que dá 1 sim 
30 5 1 + 3, que dá 4 sim 
40 7 4 + 5, que é 9 sim 
50 9 9 + 7, que é 16 Falso ! 
 
Valor final de s é 16 e o valor final de num é 9 
 
 
 1a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y = 0; 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; 
 y = y + x; 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
A soma dos elementos pares 
 
A quantidade de elementos digitados 
 
O maior de todos os elementos digitados 
 A soma de todos os elementos 
Respondido em 21/11/2019 08:12:57 
 
 
Explicação: 
Antes do loop é lido um valor e armazenado em x e a cada rodada o valor de x é acumulado em um 
somatório, indicado na linha : 
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos osnúmeros que x armazenou. 
 
 
 
 
 2a Questão 
 
 
 Qual dos comandos abaixo está escrito de forma errada? 
 
 for (X < 10 ; X=0 ; X++) 
 
for (X=10 ; X > 0 ; X--) 
 
for (X=0 , Y=4 ; X < 10 ; X++ , Y--) 
 
for (X=0 ; X < 10 ; X++) 
 
for (X=0 , Y=0 ; X < 10 ; X++ , Y=Y+2) 
Respondido em 21/11/2019 08:13:04 
 
 
Explicação: 
Está correto. Temos a inicialização, o teste e a parte do incremento for (X=0 ; X 
< 10 ; X++) 
 
Está correto. Temos duas inicializações separadas por vírgula e incremento e decremento 
separados por vírgula. E ainda o teste corretamente. 
for (X=0 , 
Y=4 ; X < 10 
; X++ , Y--) 
 
Está correto. Temos a inicialização, o teste e a parte dodecremento. 
for (X=10 ; X 
> 0 ; X--) 
 
Está correto. Temos duas inicializações separadas por vírgula e incremento e 
decremento separados por vírgula. E ainda o teste corretamente. 
 
 
for (X=0 , 
Y=0 ; X < 10 
; X++ , 
Y=Y+2) 
 
 A sintaxe desta opção está incorreta e portanto, deve ser marcada. O teste lógico e a 
inicialização estão trocados de lugar. 
for (X < 10 ; 
X=0 ; X++) 
 
 
 
 
 
 3a Questão 
 
 
 Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 
Não é executada pois não tem incremento. 
 
Não é executada, pois não tem variável. 
 
Tem a sintaxe incorreta. 
 
Não é executada, pois não tem condição de teste. 
 É um laço infinito. 
Respondido em 21/11/2019 08:13:12 
 
 
Explicação: 
 
 
 Verdadeiro É um laço infinito. 
 
Falso. É possível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
 
FAlso. É possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável. 
 
Falso. O teste pode ser feito dentro do for. Não é executada, pois não tem condição de teste. 
 
Falso. O incremento pode ser posto dentro do for. Não é executada pois não tem incremento. 
 
 
 
 
 
 4a Questão 
 
 
 Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem 
apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele 
escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno 
informado for 0. 
A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: 
 
 
 
do (num!=0) 
 
if (num!=0) 
 
for (num<=0) 
 
while (num==0) 
 while (num!=0) 
Respondido em 21/11/2019 08:13:16 
 
 
 
 
 5a Questão 
 
 
 Considere que uma refeição saudável envolve o consumo máximo de 550 calorias. Sabendo disso, você 
deseja escrever um programa que, a partir da quantidade de calorias consumidas em uma refeição, informe 
se você ultrapassou esse valor ou permaneceu dentro do limite. Para fazer o cálculo do consumo total, você 
precisará que seja digitado o valor calórico de cada elemento. Como não se sabe exatamente quantos 
alimentos diferentes foram consumidos, considere que será digitado 0 quando não houver mais consumo a 
ser informado. Ao final do programa, é necessário exibir o consumo total de calorias e informar se foi 
ultrapassado o valor sugerido por refeição, se o usuário permaneceu dentro do limite ou se consumiu 
exatamente a quantidade de calorias sugerida. Qual das alternativas a seguir apresenta a estrutura 
repetitiva adequada para este problema? 
 
 
 
while (cont!=0) { 
 cont++; totCalorias+=0; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
do (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
while (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cin<< "Informe as calorias do alimento " << cont <<": "; 
 cout>> calAlimento; 
} 
 
for (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 while (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
Respondido em 21/11/2019 08:13:26 
 
 
 
 
 6a Questão 
 
 
 Imagine que , com base na sintaxe do Portugol Studio, você precisa escrever um algoritmo que receba uma 
sequência de números e, para cada número informado, diga se ele é par ou ímpar. A sequência se encerra 
quando o usuário digitar 0. Considerando que é necessário utilizar uma estrutura repetitiva com pré-teste, 
qual das alternativas a seguir ajuda a resolver o problema proposto? 
 
 enquanto (num!=0) { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
enquanto (num==0) { 
 se (num/2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
faca { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num>0) 
 
enquanto (num>0) { 
 se (num%2!=0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} 
 
faca { 
 se (num%2==0) 
 { escreva("Este número é par!\n") } 
 senao 
 { escreva("Este número é ímpar!\n") } 
 escreva("Informe um número qualquer: ") 
 leia(num) 
} enquanto (num!=0) 
Respondido em 21/11/2019 08:13:34 
 
 
 
 
 7a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i; 
 double x, y; 
 cout << "Digite um numero: "; 
 cin >> x; 
 for (i=0; i<5; i++){ 
 cout << "Digite um numero: "; 
 cin >> y; 
 if (y > x){ 
 x = y; 
 } 
 } 
 cout << "Numero: " << x << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
O menor de todos os elementos digitados 
 O maior de todos os elementos digitados 
 
A quantidade de elementos pares 
 
A quantidade de elementos digitados 
 
A média dos elementos digitados 
Respondido em 21/11/2019 08:13:44 
 
 
Explicação: 
Ao final do programa o valor de x será impresso e vemos que a cada rodada do loop (while), o valor de 
entrada armazenado em y é comparado com x. Se y for maior que x, guardamos em x o maior valor. 
 
 
 
 
 
 8a Questão 
 
 
 Imagine que você precisa escrever um programa em C++ que receba uma sequência de números e, para 
cada número informado, diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e 
você precisa utilizar uma estrutura repetitiva com pré-teste. Qual dos trechos a seguir atenderia essa 
solicitação? 
 
 
for (num==0; num!=0; num--) { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} 
 
while (num!=0) { 
 if (num%2==0) 
 { cin <<"Este número é par.\n"; } 
 else 
 { cin <<"Este número é ímpar.\n"; } 
 cin <<"Informe um número qualquer: "; 
 cout >>num; 
} 
 while (num!=0) { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num;} 
 
do { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} while (num!=0) 
 
for (num!=0) { 
 switch (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 switch 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} 
 
 1a Questão 
 
 
 O que o trecho de programa em C++ abaixo imprime na tela ? 
 int x; 
 for (x = 1; x <= 5; x++) 
 if (x % 3 == 0 && x % 5 == 0 ) 
 cout << x + 2 << " "; 
 else 
 cout << x + 1 << " "; 
 
 1 3 5 7 9 
 
 
2 3 4 5 6 
 
 3 5 7 9 
 
 2 4 6 8 10 
 
 2 3 4 6 
 
Respondido em 21/11/2019 08:32:38 
 
 
Explicação: 
 Analisemos o trecho : 
 int x; 
 for (x = 1; x <= 5; x++) 
 if (x % 3 == 0 && x % 5 == 0 ) 
 cout << x + 2 << " "; 
 else 
 cout << x + 1 << " "; 
 
Para cada x de 1 até 5, inclusive, faça : 
 >>>> teste se x é divisível por 3 e por 5, analisando o resto da divisão com %. Se for divisível por 
ambos, imprime o valor de x + 2. Se não for por ambos, imprime o valor de x +1. 
Quando x for 6, não entraremos mais no loop. 
Vejamos passo a passo : 
>> para x igual a 1 : o teste do if falha. Então, imprimimos 2 
>> para x igual a 2 : o teste do if falha. Então, imprimimos 3 
>> para x igual a 3 : o teste do if falha. Então, imprimimos 4 
>> para x igual a 4 : o teste do if falha. Então, imprimimos 5 
>> para x igual a 5 : o teste do if falha. Então, imprimimos 6 
>> para x igual a 6 : o teste do for falha. 
Logo, a resposta é 2 3 4 5 6 
 
 
 
 
 2a Questão 
 
 
 Uma turma precisa escolher seu representante. Sabendo que existem apenas dois candidatos, identificados 
pelas letras A e B, imagine que você precisa escrever um programa em C++ que receba o número do aluno 
e o candidato por ele escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando 
o número do aluno informado for 0. Contabilize também os votos nulos, que são aqueles diferentes de A ou 
B. Ao final, é preciso exibir o candidato vencedor, os votos para o candidato A, os votos para o candidato B 
e os votos nulos. Qual das alternativas a seguir apresenta o trecho de código adequado à solução desse 
problema? 
 
 
cout<< "Digite o número do aluno: "; cin>> num; 
for (num!=0) { 
 cout<< "Digite a letra de seu candidato: "; cin>> voto; 
 if (voto == A) 
 { contA++; } 
 else if (voto == B) 
 { contB++; } 
 else 
 { contN++; } 
 cout<< "Digite o número do aluno: "; 
 cin>> num; 
} 
 
cin<< "Digite o número do aluno: "; cout>> num; 
do while (num!=0) { 
 cin<< "Digite a letra de seu candidato: "; cout>> voto; 
 if (voto == A) 
 { contA++; } 
 else if (voto == B) 
 { contB++; } 
 else 
 { contN++; } 
 cin<< "Digite o número do aluno: "; 
 cout>> num; 
} 
 
cout<< "Digite o número do aluno: "; cin>> num; 
do (num!=0) { 
 cout<< "Digite a letra de seu candidato: "; cin>> voto; 
 if (voto == A) 
 { contA++; } 
 else if (voto == B) 
 { contB++; } 
 else 
 { contN++; } 
 cout<< "Digite o número do aluno: "; 
 cin>> num; 
} 
 cout<< "Digite o número do aluno: "; cin>> num; 
while (num!=0) { 
 cout<< "Digite a letra de seu candidato: "; cin>> voto; 
 if (voto == A) 
 { contA++; } 
 else if (voto == B) 
 { contB++; } 
 else 
 { contN++; } 
 cout<< "Digite o número do aluno: "; 
 cin>> num; 
} 
 
cout<< "Digite o número do aluno: "; cin>> num; 
while (num!=0) { 
 cout<< "Digite a letra de seu candidato: "; cin>> voto; 
 case (voto == A) 
 { contA++; } 
 case (voto == B) 
 { contB++; } 
 case 
 { contN++; } 
 cout<< "Digite o número do aluno: "; 
 cin>> num; 
} 
Respondido em 21/11/2019 08:32:49 
 
 
 
 
 3a Questão 
 
 
 
Marque a opção correta. Considere o trecho de programa feito em C++. O valor 
final de s e o valor final de num, são respectivamente: 
int conta, num=1, s=0; 
for(conta = 10; conta < = 40; conta= conta+10){ 
 s= s+num; 
 num= num +2; 
} 
 
 50 e 16 
 16 e 9 
 50 e 9 
 o valor de s está indefinido e o valor de num é 7 
 9 e 9 
Respondido em 21/11/2019 08:33:00 
 
 
Explicação: 
Acompanhe o teste de mesa : 
num s conta conta <= 10 ? 
1 0 10 sim 
3 1 20 sim 
5 4 30 sim 
7 9 40 sim 
9 16 50 não 
Logo, s vale 16 e num vale 9 
 
 
 
 
 
 
 4a Questão 
 
 
 O que o trecho de programa em C++ abaixo imprime na tela ? 
 
 int y; 
 for (y = 5; y > 0; y--) 
 if (y % 2 == 0) 
 cout << y - 1 << " "; 
 else 
 cout << y + 1 << " "; 
 
 
6 3 4 1 1 
 
5 4 3 2 1 
 
6 5 3 2 1 
 6 3 4 1 2 
 
5 6 3 2 1 
Respondido em 21/11/2019 08:33:12 
 
 
Explicação: 
FAzer teste de mesa. A cada rodada do loop atribuir um valor a y e testar se o valor de y é par. Se for par, 
deverá ser impresso o valor do antecessor de y. Caso contrário, deverá ser impresso o valor do sucessor de 
y. 
 
 
 
 
 
 5a Questão 
 
 
 Ao fazer um programa de computador, algumas estruturas precisam ser utilizadas. Assinale a alternativa 
correta para que um programa repita 200 vezes um bloco de comandos através da estrutura de repetição FOR 
na linguagem C++. 
 
 
for (int i=0; i =< 200; i++) 
 for (int i=0; i < 200; i++) 
 
for ( i=0; i <= 200; i++) 
 
for (int i=0, i <= 200, i++) 
 
for (int i=0; i <= 200; i++) 
Respondido em 21/11/2019 08:33:18 
 
 
Explicação: 
 
 Verdadeira 
for (int i=0; i < 200; 
i++) 
 
 Falsa. Entraremos 201 vezes no bloco do for, pois i começou de 0 e é <= no 
teste do for. 
for (int i=0; i <= 200; 
i++) 
 
 FAlsa. A variável i não foi declarada. 
for ( i=0; i <= 200; 
i++) 
 
 Falsa. Não existe =< 
for (int i=0; i =< 200; 
i++) 
 
 Falsa. Uso indevido do for. Não se põe vírgula e sim ponto e vírgula. 
for (int i=0, i <= 200, 
i++) 
 
 
 
 
 
 6a Questão 
 
 
 Após análise do código responda a questão: 
 
 
 
Ao ser compilado e executado, o programa irá exibir na tela: 
 
 Os números ímpares entre 1 e 5 em ordem decrescente. 
 Os números pares entre 1 e 5 (inclusive) em ordem crescente. 
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. 
 Os valores entre 1 e 5 (inclusive)em ordem crescente. 
 Os valores entre 1 e 5 (inclusive) em ordem decrescente. 
Respondido em 21/11/2019 08:33:25 
 
 
Explicação: 
 
 
Verdadeira, visto que o programa imprimirá : 
O valor de i e 5 
O valor de i e 3 
O valor de i e 1 
Portanto em ordem decrescente incluindo o 5 e o 1. 
Os números ímpares entre 1 e 5 (inclusive) em 
ordem decrescente. 
 
Falso. Não é entre apenas, pois inclui 5 e 1. 
Os números ímpares entre 1 e 5 em ordem 
decrescente. 
 
FAlso. É em ordem decrescente e imprime os ímpares e 
não os pares. 
Os números pares entre 1 e 5 (inclusive) em 
ordem crescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares de 5 
a 1, incluindo 5 e 1. 
Os valores entre 1 e 5 (inclusive) em ordem 
decrescente. 
 
FAlso. Não é qualquer valor, mas apenas os ímpares em 
ordem decrescente de 5 a 1. 
Os valores entre 1 e 5 (inclusive)em ordem 
crescente. 
 
 
 
 
 
 7a Questão 
 
 
 Marque a opção correta. Considere o trecho de programafeito abaixo em C++. O que é impresso na tela ? 
 
 int conta, num = 1, prod = 1; 
 for (conta = 4; conta > 0; conta--) { 
 prod = prod *num; 
 num++; 
 } 
 cout << "Prod = " << prod << " num = " << num << endl; 
 
 
 
 
Prod = 6 num = 5 
 Prod = 24 num = 5 
 
 
 Prod = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
 
 
Prod = 6 num = 4 
 
 
Prod não pode ser calculado e num assumirá o valor final 5. 
Respondido em 21/11/2019 08:33:38 
 
 
Explicação: 
Analisando o trecho e fazendo em seguida um teste de mesa : 
 int conta, num = 1, prod = 1; 
 for (conta = 4; conta > 0; conta--) { 
 prod = prod *num; 
 num++; 
 } 
 cout << "Prod = " << prod << " num = " << num << endl; 
 
TESTE de mesa : 
 
conta conta > 0 num prod 
4 4 > 0 ? sim 1 1 
3 3 > 0 ? sim 2 1 
2 2 > 0 ? sim 3 2 
1 1 > 0 ? sim 4 6 
0 0 > 0 ? FAlso 5 24 
Terminando o for, será impresso : 
Prod = 24 num = 5 
 
 
 
 
 
 
 8a Questão 
 
 
 O que será impresso, após a execução do código, a seguir? 
 
#include < iostream > 
using namespace std; 
int main() 
{ 
for(int i=25;i>0;i=i-6) cout << i << " "; 
system( "pause" ); 
} 
 
 
10 5 0 13 7 
 
12 5 10 7 13 
 
0 0 0 0 0 
 
12 8 10 7 15 
 25 19 13 7 1 
Respondido em 21/11/2019 08:33:53 
 
 
Explicação: 
Analisando o trecho do programa : 
for(int i = 25 ;i>0 ;i=i-6) 
 cout << i << " "; 
Façamos um teste de mesa : 
 
i i > 0 ? 
25 sim 
19 sim 
13 sim 
7 sim 
1 sim 
-5 não 
TELA : 
25 19 13 7 1 
 
 
 1a Questão 
 
 
 A REPETIÇÃO é uma das estruturas básicas de programação, determine entre as atividades abaixo a que 
representa uma REPETIÇÃO : 
 
 
Para fazer um bolo, prepare os ingredientes, misture-os bem e ponha no forno para assar. 
 
No trânsito, se o sinal estiver vermelho, PARE, se não, PODE PASSAR. 
 
Calcule a média de um aluno somando as duas maiores notas e dividindo a soma por dois. 
 Para encher um copo com água, mantenha a torneira aberta enquanto o copo não esitver cheio. 
 
Se um aluno obter média abaixo de 6.0 estará REPROVADO, se não estará APROVADO. 
Respondido em 21/11/2019 08:34:12 
 
 
Explicação: 
Falso. É um condicional. 
No trânsito, se o sinal estiver vermelho, PARE, se não, PODE 
PASSAR. 
 
 Verdadeiro. Tem o comando 
enquanto. 
Para encher um copo com água, mantenha a torneira aberta 
enquanto o copo não esitver cheio. 
 
Falso. É uma sequência 
Para fazer um bolo, prepare os ingredientes, misture-os bem e 
ponha no forno para assar. 
 
Falso. É um comando condicional ... 
tem se ... se não.. 
Se um aluno obter média abaixo de 6.0 estará REPROVADO, se 
não estará APROVADO. 
 
Falso. Comando sequencial. 
Calcule a média de um aluno somando as duas maiores notas e 
dividindo a soma por dois. 
 
 
 
 
 
 2a Questão 
 
 
 
 Marque a opção correta. O que é impresso na tela ? 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
 
 
 
 r = 3 x = 4 
r = 8 x = 6 
r = 37 x = 7 
 r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 r = 3 x = 2 
r = 5 x = 7 
 
 r = 2 x = 3 
r = 7 x = 5 
 
 
 r = 36 x = 7 
Respondido em 21/11/2019 08:34:17 
 
 
Explicação: 
 int conta, x = 1, r = 1; 
 for (conta = 2; conta >= 0; conta--) { 
 r = r * x + 1; 
 x += 2; 
 cout << "r= " << r << " x = " << x << endl; 
 } 
 
conta conta >= 0 x r 
2 sim 1 1 
 3 2 
1 sim 5 7 
 
0 sim 7 36 
 
-1 
 
 
TELA 
r = 2 x = 3 
r = 7 x = 5 
r = 36 x = 7 
 
 
 
 
 
 
 
 3a Questão 
 
 
 
 
 
 50 e 9 
 50 e 16 
 16 e 9 
 9 e 9 
 o valor de s está indefinido e o valor de num é 7 
Respondido em 21/11/2019 08:34:22 
 
 
Explicação: 
 
conta num s conta <= 40 ? 
10 1 0 sim 
20 3 0 + 1 , que dá 1 sim 
30 5 1 + 3, que dá 4 sim 
40 7 4 + 5, que é 9 sim 
50 9 9 + 7, que é 16 Falso ! 
 
Valor final de s é 16 e o valor final de num é 9 
 
 
 
 
 4a Questão 
 
 
 Após a execução do trecho de código, abaixo, quais números serão exibidos na tela? 
 
for(int i=3; i<100; i=i+19) 
cout << " " << i; 
 
 
3 23 40 60 79 98 
 3 22 41 60 79 98 
 
3 23 42 61 80 99 
 
3 22 41 59 79 98 
 
3 22 41 60 79 99 
Respondido em 21/11/2019 08:34:32 
 
 
Explicação: 
Considerando o trecho 
for(int i = 3; i<100; i = i+19) 
 cout << " " << i; 
fazendo passo a passo : 
i i < 100 ? 
3 3 < 100 ? Sim 
3+ 19 é 22 22 < 100 ? Sim 
22+ 19 é 41 41 < 100 ? Sim 
41 + 19 é 60 60 < 100 ? sim 
60 + 19 é 79 79 < 100 ? sim 
79 + 19 é 98 98 < 100 ? sim 
98 + 19 é 117 117 < 100 ? falsa. Então não entra no loop 
 
TELA 
3 22 41 60 79 98 
 
 
 
 
 5a Questão 
 
 
 Analise o trecho do código abaixo, e indique a saída obtida se for lido o valor 5 para n: 
 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total;<total;< p=""> </total;<> 
 
 
48 
 
39 
 
60 
 
63 
 55 
Respondido em 21/11/2019 08:34:39 
 
 
Explicação: 
Considerando o trecho e n sendo 5 : 
cin>>n; 
total=0; 
for (i=15; i>n; i-=2) 
{ 
 total+=i; 
} 
cout < < total; 
temos o teste de mesa : 
n total i 
5 0 15 
 0 + 15 que é 15 13 
 15 + 13 que é 28 11 
 28 + 11 que é 39 9 
 39 + 9 que é 48 7 
 48 + 7 que é 55 5 ( 5 > 5 dá falso) 
Logo, total é 55 
 
 
 
 
 6a Questão 
 
 
 Considere a estrutura for ( ; ; ), e assinale a afirmação correta: 
 
 É um laço infinito. 
 
Não é executada, pois não tem condição de teste. 
 
Não é executada, pois não tem variável. 
 
Tem a sintaxe incorreta. 
 
Não é executada pois não tem incremento. 
Respondido em 21/11/2019 08:34:51 
 
 
Explicação: 
 
 
 Verdadeiro É um laço infinito. 
 
Falso. É possível para loops infinitos ou quase infinitos Tem a sintaxe incorreta. 
 
FAlso. É possível para loops infinitos ou quase infinitos Não é executada, pois não tem variável. 
 
Falso. O teste pode ser feito dentro do for. Não é executada, pois não tem condição de teste. 
 
Falso. O incremento pode ser posto dentro do for. Não é executada pois não tem incremento. 
 
 
 
 
 
 7a Questão 
 
 
 Imagine que você precisa escrever um programa em C++ que receba uma sequência de números e, para 
cada número informado, diga se ele é par ou ímpar. Essa sequência se encerra quando o usuário digitar 0 e 
você precisa utilizar uma estrutura repetitiva com pré-teste. Qual dos trechos a seguir atenderia essa 
solicitação? 
 
 
do { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} while (num!=0) 
 
for (num==0; num!=0; num--) { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} 
 while (num!=0) { 
 if (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 else 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer:"; 
 cin >>num; 
} 
 
while (num!=0) { 
 if (num%2==0) 
 { cin <<"Este número é par.\n"; } 
 else 
 { cin <<"Este número é ímpar.\n"; } 
 cin <<"Informe um número qualquer: "; 
 cout >>num; 
} 
 
for (num!=0) { 
 switch (num%2==0) 
 { cout <<"Este número é par.\n"; } 
 switch 
 { cout <<"Este número é ímpar.\n"; } 
 cout <<"Informe um número qualquer: "; 
 cin >>num; 
} 
Respondido em 21/11/2019 08:34:56 
 
 
 
 
 8a Questão 
 
 
 Considere o seguinte problema: Uma turma precisa escolher seu representante. Sabendo que existem 
apenas dois candidatos, identificados pelas letras A e B, receba o número do aluno e o candidato por ele 
escolhido e contabilize os votos de cada um. A leitura de votos será finalizada quando o número do aluno 
informado for 0. 
A linha inicial da estrutura repetitiva com pré-teste capaz de controlar o recebimento dos votos é: 
 
 
 
while (num==0) 
 
if (num!=0) 
 
do (num!=0) 
 
for (num<=0) 
 while (num!=0) 
 
 
 1a Questão 
 
 
 Se você desejasse escrever um programa em C++ que recebesse um número qualquer e exibisse a sua 
tabuada, precisaria da seguinte repetição: 
 
 
para (cont=10;cont<=0;cont++) 
{ escreva(num," x ",cont," = ",num*5,"\n")} 
 
para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",cont*cont,"\n")} 
 
para (cont=0;cont<=10;num++) 
{ escreva(num," x ",cont," = ",num*num,"\n")} 
 
para (cont=10;cont<=0;cont--) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
 para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
Respondido em 19/11/2019 10:33:15 
 
 
 
 
 2a Questão 
 
 
 As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob 
determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes forem 
necessárias. As estruturas de repetição são úteis, por exemplo, para repetir uma série de 
operações semelhantes que são executadas para todos os elementos de uma lista ou de 
uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que 
uma certa condição seja satisfeita. Sejam as seguintes afirmativas: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. 
 
Marque a alternativa que representa apenas as afirmativas CORRETAS: 
 
 III 
 
I e III 
 
II, III e IV 
 
I 
 
I e IV 
Respondido em 19/11/2019 10:33:22 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 
 
 
 3a Questão 
 
 
 Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma 
prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se 
o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, 
qual das opções a seguir apresenta as linhas de código do laço? 
 
 
while (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=1;cont<=30;cont+=2) { 
 cout <<"Informe as notas do aluno "; 
 cin <<"Teste: "; cout >>Teste; 
 cin <<"Prova: "; cout >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cin <<"Você está na média!"; } 
 else 
 { cin <<"Você está abaixo da média!"; } 
} 
 for (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=30;cont<=0;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media<7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
do (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
Respondido em 19/11/2019 10:33:34 
 
 
 
 
 4a Questão 
 
 
 Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no 
trecho de código abaixo? Marque a opção correta. 
 
x = 1; 
while ( _________ ) 
{ 
cout<<"AMOR \n"; 
x = x + 2; 
} 
 
 
x < 5 
 
x > 10 
 
x <= 11 
 
x <= 5 
 x < 10 
Respondido em 19/11/2019 10:33:43 
 
 
Explicação: 
Analisando : 
 
x = 1; 
while ( _________ ) 
{ 
cout<<"AMOR \n"; 
x = x + 2; 
} 
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. 
Veja que entraremos no loop quando : 
x vale 1 
x vale 3 
x vale 5 
x vale 7 
x vale 9 
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while. 
 
 
 
 
 5a Questão 
 
 
 Considere o trecho de programa em C++ abaixo. Marque a opção que, corretamente, mostra o que é 
impresso na tela. 
 
int x, y, z; 
x = 5; 
y = 20; 
while (x <= y) { 
z = x + y; 
x = x + 5; 
} 
cout << z << endl; 
 
 
20 
 
30 
 
25 
 
35 
 40 
Respondido em 19/11/2019 10:33:51 
 
 
Explicação: 
Analisando passo a passo... 
x recebe 5 e y recebe 20 
1o. teste ... 5 <= 20 ? sim. Entra no loop e faz : 
 z recebe 25 
 x recebe 5+5, que dá 10 
2o. teste ... 10 <= 20 ? sim. Entra no loop e faz : 
 z recebe 30 
 x recebe 15 
 
3o. teste ... 15 <= 20 ? sim. Entra no loop e faz : 
 z recebe 35 
 x recebe 20 
 
4o. . teste ... 20 <= 20 ? sim. Entra no loop e faz : 
 z recebe 40 
 x recebe 25 
5o. teste ... 25 <= 20 ? Falso. 
Depois do fim do while será impresso o valor de z que é 40. 
 
 
 
 
 
 6a Questão 
 
 
 Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no 
trecho de código abaixo: 
 
x = 50; 
do{ 
y = 8; 
do{ 
cout<<"PAZ \n"; 
y++; 
} while ( y <10); 
x--; 
}while ( x > 48); 
 
 
8 vezes 
 
7 vezes 
 
5 vezes 
 4 vezes 
 
6 vezes 
Respondido em 19/11/2019 10:33:58 
 
 
Explicação: 
Analisandopasso a passo o trecho dado : 
x = 50; 
do{ 
 y = 8; 
 do{ 
 cout<<"PAZ \n"; 
 y++; 
 } while ( y <10); 
 x--; 
} while ( x > 48); 
 
x y 
50 8 
49 9 
48 (48 > 48 ? ) Falso 10 ... 10 < 10 ? FALSO 
 8 
 9 
 10 ... 10 < 10 ? Falso 
 
 
 
PAZ 
PAZ 
PAZ 
PAZ 
 
 
 
 
 7a Questão 
 
 
 A partir da comparação entre as estruturas while e do...while, é certo afirmar que: 
 
 No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o 
bloco de comandos controlado será sempre executado, pelo menos uma vez. 
 
No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o 
bloco de comandos será sempre executado, pelo menos uma vez. 
 
Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser 
executado. 
 
Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado será sempre 
executado, pelo menos uma vez. 
 
Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. 
Respondido em 19/11/2019 10:34:07 
 
 
Explicação: 
Falso. No do/while primeiro se faz o que está no 
corpo do loop para depois testar e no while, se 
testa para depois fazer o queestá no corpo do 
loop. 
Em termos de execução não há diferença. A diferença 
está, apenas, na sintaxe. 
 
Falso. No do/while o bloco de instruções será 
feito pelo menos 1 vez. 
No do...while, o bloco de comandos controlado poderá 
não ser executado. Enquanto que no while o bloco de 
comandos será sempre executado, pelo menos uma vez. 
 
 Verdadeiro 
No while, o bloco de comandos controlado poderá não 
ser executado. Enquanto que no do...while o bloco de 
comandos controlado será sempre executado, pelo menos 
uma vez. 
 
Falso. No while pode não ser executado 
nenhuma vez. 
Dependendo da condição de teste, em ambos os casos o 
bloco de comandos controlado será sempre executado, 
pelo menos uma vez. 
 
Falso. No do/while as instruções serão feitas 
pelo menos 1 vez. 
Dependendo da condição de teste, em ambos os casos o 
bloco de comandos controlado poderá não ser executado 
 
 
 
 
 
 8a Questão 
 
 
 Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que 
representa o uso do comando while para implementar a estrutura de um contador corretamente. 
 
 
String cont = ""; { cont++; } while (cont!="") 
 int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } 
 
while (if cont =10){ } 
 
while () { cout << "exibindo o número"; } 
 
while (repita 10 vezes) { } 
Respondido em 19/11/2019 10:34:12 
 
 
Explicação: 
A estrutura geral do while quando se usa contador no teste do loop é a seguinte : 
while ( < condição... teste lógico ... com o contador > ) 
 { 
 < comandos> 
 alteração do contador 
} 
 
Analisando ... 
 Falsa. Faltou a condição ou teste lógico ou variável que 
pode ser true ou false. 
while () { cout << "exibindo o número"; } 
 
 
Verdadeira. Pode se r encaixada na explicação no início. 
int cont = 0; while (cont <=10){ cout << 
"exibindo o número " << cont; cont++; } 
 
FAlsa. Não tem String em C++. Existe string, mas não 
String. Sintaxe incorreta no uso do while. 
String cont = ""; { cont++; } while (cont!="") 
 
Falsa. Sintaxe incorreta. Uso de repita sem sentido. while (repita 10 vezes) { } 
 
Falsa. Uso incorreto do if na parte relativa à condição do 
while. 
while (if cont =10){ } 
 
 
 1a Questão 
 
 
 Na execução do comando while o teste da condição que controla a 
execução, ou não, dos comandos subordinados, é feito, sempre, antes de 
cada iteração. Desta forma, é correto afirmar que: 
 
 A condição de teste deverá ser sempre verdadeira antes do início da execução. 
 A condição de teste deverá ser sempre falsa antes do início da execução. 
 Os comandos subordinados poderão não ser executados. 
 Independentemente da condição de teste, os comandos subordinados sempre 
serão executados. 
 Os comandos subordinados serão executados no mínimo uma vez. 
Respondido em 20/11/2019 19:04:26 
 
 
Explicação: 
No comando enquanto primeiro se testa a condição para depois se executar o corpo da repetição. Se a 
condição for falsa nada dentro do corpo da repetição será executado. 
 
 
 
 
 2a Questão 
 
 
 Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que 
representa o uso do comando while para implementar a estrutura de um contador corretamente. 
 
 
while () { cout << "exibindo o número"; } 
 
while (if cont =10){ } 
 int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } 
 
String cont = ""; { cont++; } while (cont!="") 
 
while (repita 10 vezes) { } 
Respondido em 20/11/2019 19:04:42 
 
 
Explicação: 
A estrutura geral do while quando se usa contador no teste do loop é a seguinte : 
while ( < condição... teste lógico ... com o contador > ) 
 { 
 < comandos> 
 alteração do contador 
} 
 
Analisando ... 
 Falsa. Faltou a condição ou teste lógico ou variável que 
pode ser true ou false. 
while () { cout << "exibindo o número"; } 
 
 
Verdadeira. Pode se r encaixada na explicação no início. 
int cont = 0; while (cont <=10){ cout << 
"exibindo o número " << cont; cont++; } 
 
FAlsa. Não tem String em C++. Existe string, mas não 
String. Sintaxe incorreta no uso do while. 
String cont = ""; { cont++; } while (cont!="") 
 
Falsa. Sintaxe incorreta. Uso de repita sem sentido. while (repita 10 vezes) { } 
 
Falsa. Uso incorreto do if na parte relativa à condição do 
while. 
while (if cont =10){ } 
 
 
 
 
 
 3a Questão 
 
 
 Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 
As afirmativas I, II e III são verdadeiras. 
 
Somente a afirmativa III é verdadeira. 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
As afirmativas I e III são verdadeiras. 
Respondido em 20/11/2019 19:04:46 
 
 
 
 
 4a Questão 
 
 
 A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando 
na maneira como cada uma delas funciona, observe o trecho de código a seguir: 
 
Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? 
 
 
for (int cont=10; cont <= 0; cont++) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=0; cont <= 10; cont+=2) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 for (int cont=0; cont <= 10; cont++) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (cont++; cont <= 10; int cont=0) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=10; cont <= 200; cont+=2) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
Respondido em 20/11/2019 19:04:57 
 
 
 
 
 5a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i = 0; 
 double x, y = 0;cout << "Digite um numero diferente de zero : "; 
 cin >> x; 
 while (x != 0){ 
 i = i + 1; 
 y = y + x; 
 cout << "Digite um numero diferente de zero: "; 
 cin >> x; 
 } 
 y = y / i; 
 cout << "Numero: " << i << "\n"; 
 return 0; 
} 
 
 
A quantidade de elementos pares 
 
O menor de todos os elementos digitados 
 
O maior de todos os elementos digitados 
 
A média dos elementos digitados 
 A quantidade de elementos digitados diferentes de zero. 
Respondido em 20/11/2019 19:05:06 
 
 
Explicação: 
A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é 
a quantidade i calculada. 
Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado 
através do uso de i que é incrementado. Claro que x é manipulado, tendo seu valor somado com o valor de 
y, mas ao final do programa a quantidade i é impressa. Se o valor zero for digitado, ele não será contado. 
 
 
 
 
 6a Questão 
 
 
 O que está sendo executado pelo programa C++ a seguir? 
 
int main() 
{ 
 int CONT, SOMA; 
 CONT = 0; 
 SOMA = 0; 
 while (CONT < 50) 
 { 
 SOMA = SOMA + CONT; 
 CONT = CONT + 2; 
 } 
} 
 
 
Soma todos os números de 0 a 49 
 
Soma todos os números ímpares de 0 a 49 
 
Soma os 50 números pares digitados. 
 
Soma todos os números pares de 0 a 50 
 Soma todos os números pares de 0 a 48 
Respondido em 20/11/2019 19:05:12 
 
 
Explicação: 
Analisando o trecho em C++ : 
int main() 
{ 
 int CONT, SOMA; 
 CONT = 0; 
 SOMA = 0; 
 while (CONT < 50) 
 { 
 SOMA = SOMA + CONT; 
 CONT = CONT + 2; 
 } 
} 
CONT SOMA CONT < 50 
0 0 0 < 50 ? SIM 
2 0 2 < 50 ? SIM 
4 2 ... 
... 50 .... 50 < 50 ? FALSO 
O trecho soma os valores de CONT até 48, sendo que tal variável varia de 2 em 2. Ou seja, a variável 
SOMA acumula os valores de CONT de 0 ATÉ 48, somando os valores pares neste intervalo. Note que o 
teste do loop pára quando CONT assume o valor 50. 
 
 
 
 
 
 7a Questão 
 
 
 O trecho de código a seguir utiliza uma estrutura de repetição do tipo for . Marque a alternativa que 
apresenta de forma correta o mesmo trecho utilizando a estrutura de repetição while. 
Seja: 
for( int i=3; i<100; i+=2) 
 cout << i ; 
 
 
 
 int i; 
 i=3; 
 while(i<100) 
 cout << i; 
 i=i+2; 
 
 int i; 
 i=3; 
 while (i<100) { 
 cout << i; 
 i=i+2; 
 } 
 
 int i; 
 while (i<100) { 
 i=3; 
 cout << i; 
 i=i+2; 
 } 
 
 int i; 
 while (i<100) { 
 cout << i; 
 i=3; 
 i=i+2; 
 } 
 
 int i; 
 i=3; 
 while(i<100) 
 { 
 i=i+2; 
 cout << i; 
 } 
Respondido em 20/11/2019 19:05:26 
 
 
Explicação: 
A estrutura dos dois comandos é a seguinte : 
 inicialização, teste lógico, incremento/decremento e o trecho da repetição. 
conforme aula e gabarito. 
 
 
 
 
 
 8a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i = 0; 
 double x, y = 0; 
 cout << "Digite um numero: "; 
 cin >> x; 
 while (x != 0){ 
 i = i + 1; 
 y = y + x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 } 
 y = y / i; 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
A quantidade de elementos digitados 
 
O maior de todos os elementos digitados 
 
O menor de todos os elementos digitados 
 A média dos elementos digitados 
 
A quantidade de elementos pares 
Respondido em 20/11/2019 19:05:36 
 
 
Explicação: 
 int i = 0; //inicializa a quantidade de elementos digitados diferentes de zero 
 double x, y = 0; // y inicializa o somatorio dos valores de entrada 
 cout << "Digite um numero: "; 
 cin >> x; //Lê o primeiro valor 
 while (x != 0){ //Enquanto o valor de entrada não for zero 
 i = i + 1; //conta mais um número lido 
 y = y + x; //acumula o valor de x em y, gerando o somatório dos números lidos e armazenados 
em x 
 cout << "Digite um numero: "; 
 cin >> x; //Lê o proóximo número 
 } 
 y = y / i; //Divide a soma dos números lidos não nulos por i ( i é o total de números lidos não 
nulos) 
 cout << "Numero: " << y << "\n"; //Imprime a média armazenada em y 
Logo : O programa calcula a média dos números digitados (diferente de zero) 
 
 
 1a Questão 
 
 
 Considere o trecho de programa em C++ abaixo. Marque a opção que, corretamente, mostra o que é 
impresso na tela. 
 
int x, y, z; 
x = 5; 
y = 20; 
while (x <= y) { 
z = x + y; 
x = x + 5; 
} 
cout << z << endl; 
 
 
20 
 
30 
 40 
 
25 
 
35 
Respondido em 21/11/2019 08:14:17 
 
 
Explicação: 
Analisando passo a passo... 
x recebe 5 e y recebe 20 
1o. teste ... 5 <= 20 ? sim. Entra no loop e faz : 
 z recebe 25 
 x recebe 5+5, que dá 10 
2o. teste ... 10 <= 20 ? sim. Entra no loop e faz : 
 z recebe 30 
 x recebe 15 
 
3o. teste ... 15 <= 20 ? sim. Entra no loop e faz : 
 z recebe 35 
 x recebe 20 
 
4o. . teste ... 20 <= 20 ? sim. Entra no loop e faz : 
 z recebe 40 
 x recebe 25 
5o. teste ... 25 <= 20 ? Falso. 
Depois do fim do while será impresso o valor de z que é 40. 
 
 
 
 
 
 2a Questão 
 
 
 Considerando a seguinte sequencia de instruções, marque a alternativa que indica o comando correspondente 
para preenchimento da lacuna. 
 
... 
cin>>matricula; 
 
______________ (matricula<99) 
 
{ 
 
cin>>matricula; 
} 
 
 
loop 
 
for 
 
do case 
 while 
 
repeat 
Respondido em 21/11/2019 08:14:22 
 
 
Explicação: 
 
Falso. Nâo tem repeat em C++. repeat 
 
Falso. Não se encaixa a sintaxe do comando for. for 
 
 Verdadeiro while 
 
 Falso. Não existe comando do... case. do case 
 
Falso. Nâo existe comando loop. loop 
 
 
 
 
 
 3a Questão 
 
 
 Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será impressa, 
no trecho de código abaixo: 
cont = 0; 
while( cont < 30 ) { 
 cout << "ALGORITMO" << endl; 
 cont = cont + 1; 
} 
 
 
29 
 
15 
 30 
 
Nenhuma das alternativas. 
 
31 
Respondido em 21/11/2019 08:14:29 
 
 
Explicação: 
Fazendo passo a passo : 
cont = 0; 
while( cont < 30 ) { 
 cout << "ALGORITMO" << endl; 
 cont = cont + 1; 
} 
variável cont Teste cont < 30 ? Sim ou não ? 
0 0 < 30 ? sim 
1 1 < 30 ? sim 
2 2 < 30 ? Sim 
3 3 < 30 ? Sim 
4 4 < 30 ? Sim 
5 5 < 30 ? sim 
6 6 < 30 ? sim 
7 7 < 30 ? sim 
continuando até 
29 
 29 < 30 ? Sim 
30 
30 < 30 ? Não. Falso. Não entra no while 
Note que entrou 30 vezes no corpo do while e a cada vez 
que entrou imprimiu ALGORITMO 
TELA 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
ALGORITMO 
>>>>>>>>>>>>>>>>>> Logo, imprimiu 30 vezes a palavra ALGORITMO4a Questão 
 
 
 Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja 
diferente de 0? 
 
 while (num != 0) 
 
for (i = num; i > 0; i++) 
 
for ( i = 0; i == num; i++) 
 
enquanto (num > 0) 
 
while (num == 0) 
Respondido em 21/11/2019 08:14:43 
 
 
Explicação: 
 verdadeira while (num != 0) 
 
FAlsa. Diferente é !=. Nesta opção está "enquanto num é igual a zero." while (num == 0) 
 
 FAlsa. Nesta opção está "enquanto num for maior que zero" enquanto (num > 0) 
 
 Falsa. Teste incorreto no for. == é para teste de igualdade. for ( i = 0; i == num; i++) 
 
 FAlsa. Não inicializa ou testa corretamente. for (i = num; i > 0; i++) 
 
 
 
 
 
 5a Questão 
 
 
 Utilizando a sintaxe do Portugol Studio, que linha seria adequada para iniciar uma repetição capaz de exibir 
todos os números pares entre 2 e 1000? 
 
 
para (cont=1;cont<100;cont++) 
 
para (cont=0;cont>1000;cont+=1) 
 
para (cont=1;cont<=1000;cont+=2) 
 
para (cont=2;cont<=100;cont+=2) 
 para (cont=2;cont<=1000;cont++) 
Respondido em 21/11/2019 08:14:48 
 
 
 
 
 6a Questão 
 
 
 Em relação às técnicas de programação e construção de algoritmos, assinale a alternativa que apresente 
corretamente duas características da estrutura de controle repetir ... até que. 
 
 
O teste de controle é realizado no fim da estrutura / a saída da estrutura de repetição ocorre 
quando o resultado do teste é verdadeiro. 
 
A execução permanece no loop enquanto o resultado do teste for falso / a saída da estrutura de 
repetição ocorre quando o resultado do teste é verdadeiro. 
 
As instruções no loop são executadas pelo menos uma vez / a saída da estrutura de repetição 
ocorre quando o resultado do teste é verdadeiro. 
 A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura 
de repetição ocorre quando o resultado do teste é falso. 
 
O teste de controle é realizado no início da estrutura / a saída da estrutura de repetição ocorre 
quando o resultado do teste é verdadeiro. 
Respondido em 21/11/2019 08:14:53 
 
 
Explicação: 
A execução permanece no loop enquanto o resultado do teste for verdadeiro / a saída da estrutura de 
repetição ocorre quando o resultado do teste é falso. 
 
 
 
 
 7a Questão 
 
 
 Assinale a opção que corresponde à condição da estrutura de repetição que faz com que o programa abaixo 
imprima 4 vezes a expressão Bom dia. 
int a = 8; 
while ( ____ ) 
 { 
 cout << "Bom dia\n"; 
 a = a -2; 
} 
 
 
a <= 0 
 
a < 0 
 
a >= 0 
 
a == 0 
 a > 0 
Respondido em 21/11/2019 08:15:01 
 
 
Explicação: 
Analisando o trecho temos que : 
 a variável a funciona como contador e começa com 8. 
 a variável a varia de 2 em 2. Assim : 
o quando a é 8 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 8-
2 = 6) 
o quando a é 6 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 6-
2 = 4) 
o quando a é 4 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 4-
2 = 2) 
o quando a é 2 imprime-se Bom dia (Logo após ele vai decaindo, ou seja a= a-2 --> a= 2-
2 = 4) porém como já imprimiu 4 vezes ele para. 
o quando a for zero não se pode mais imprimir Bom dia, pois já se imprimiu 4 vezes, como 
visto acima. 
Logo, a opção certa é : a > 0, pois quando a for zero (a=0), a repetição irá terminar. 
Lembrando que a não pode ser 0 pois já terá impresso 4 vezes bom dia. 
 
 
 
 
 8a Questão 
 
 
 
A fim de possibilitar a implementação de algoritmos estudamos 
algumas estruturas básicas, como estrutura de desvio de fluxo, 
estrutura de repetição etc. Entre as estrutura de repetição há uma 
na qual uma ação será executada pelo menos uma vez, antes da 
avaliação da condição. Esta estrutura é implementada em C++ pelo 
comando básico: 
 
 for/while 
 do/for 
 for 
 do/while 
 while 
Respondido em 21/11/2019 08:15:08 
 
 
Explicação: 
O comando do...while faz para depois testar. Então, o bloco a ser repetido será executado pelo menos uma 
vez antes de testarmos a condição. 
Os comando for ou while, temos que testar antes de fazer. 
 
 
 1a Questão 
 
 
 Comando de repetição é utilizado quando se deseja repetir determinados comandos. Marque a opção que 
representa o uso do comando while para implementar a estrutura de um contador corretamente. 
 
 
while () { cout << "exibindo o número"; } 
 
while (repita 10 vezes) { } 
 int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; cont++; } 
 
while (if cont =10){ } 
 
String cont = ""; { cont++; } while (cont!="") 
Respondido em 21/11/2019 08:35:42 
 
 
Explicação: 
A estrutura geral do while quando se usa contador no teste do loop é a seguinte : 
while ( < condição... teste lógico ... com o contador > ) 
 { 
 < comandos> 
 alteração do contador 
} 
 
Analisando ... 
 Falsa. Faltou a condição ou teste lógico ou variável que 
pode ser true ou false. 
while () { cout << "exibindo o número"; } 
 
 
Verdadeira. Pode se r encaixada na explicação no início. 
int cont = 0; while (cont <=10){ cout << 
"exibindo o número " << cont; cont++; } 
 
FAlsa. Não tem String em C++. Existe string, mas não 
String. Sintaxe incorreta no uso do while. 
String cont = ""; { cont++; } while (cont!="") 
 
Falsa. Sintaxe incorreta. Uso de repita sem sentido. while (repita 10 vezes) { } 
 
Falsa. Uso incorreto do if na parte relativa à condição do while (if cont =10){ } 
while. 
 
 
 
 
 
 2a Questão 
 
 
 Imagine que você precisa escrever um programa em C++ que receba o sexo de 100 pessoas (F para 
Feminino ou M para Masculino). Ao final da leitura dos sexos, o programa precisa exibir as seguintes 
informações: quantidade de mulheres, quantidade de homens, percentual de mulheres e percentual de 
homens. 
Observações: 1. O programa deve funcionar com "F" e "M" maiúsculos ou minúsculos; 2. A estrutura de 
repetição a ser utilizada deve ser FOR. 
Sabendo disso, qual seria o trecho de repetição adequado para esse programa? 
 
 
for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF--; } 
 else if (sexo==M || sexo==m) 
 { qtdeM--; } 
} 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M &&| sexo==m) 
 { qtdeM++; } 
} 
 for (int cont=1;cont<=100;cont++) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F || sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont>=100;cont--) { 
 cout <<"Qual o sexo? "; 
 cin >>sexo; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
 
for (int cont=1;cont<=100;cont++) { 
 cin <<"Qual o sexo? "; 
 cout >>qtdeF; 
 if (sexo==F && sexo==f) 
 { qtdeF++; } 
 else if (sexo==M || sexo==m) 
 { qtdeM++; } 
} 
Respondido em 21/11/2019 08:35:48 
 
 
 
 
 3a Questão 
 
 
 Considere o trecho abaixo sabendo que num é um variável inteira. 
 
num = 11; 
do { 
 if (num % 2 == 0) 
 cout << num << "\n"; 
 num = num -1 ; 
} while (num != 0); 
 
Assinale a opção correta : 
 
 O trecho fornecido pára quando num for diferente de zero e o único 
número exibido é o 10. 
 o trecho fornecido pára quando num for diferente dezero e são 
exibidos os valores 10 e 8, pelo menos. 
 O trecho fornecido pára quando num for zero e os números 
exibidos são todos os pares de 10 até 0, nesta ordem. 
 O trecho entra em loop. 
 O trecho fornecido pára quando num for zero e os números 
exibidos são todos os pares de 10 até 2, nesta ordem. 
Respondido em 21/11/2019 08:36:00 
 
 
Explicação: 
1a. opção está correta. Veja o teste de mesa : 
num num % 2 é igual a zero ? 
num é 
diferente de 
zero ? 
 
11 11 % 2 é 1. Logo, é falso o teste do if. 
10 
10 diferente de 
0 ? sim 
 
 10 % 2 é zero ? sim. Imprime o 10 
9 
9 é diferente de 
0 ? sim 
 
 9 % 2 é zero ? Não 
8 
8 é diferente de 
zero ? sim 
 
 8 % 2 é zero ? Sim. Imprime o 8 
7 
7 é diferente de 
zero ? sim 
 
 7 % 2 é zero ? Não 
6 
 6 % 2 é zero ? Sim. Imprime o 6 e decrementa para 
5 valor de num 
6 é diferente de 
zero ? sim 
 
 
 E assim continua ... irá parar quando num for zero... 
Note que está imprimindo os pares de 10 até 2, pois 
quando decrementa num para zero, o teste 
do do...while falha. 
 
 
Imprimirá os números 10 8 6 4 2 , um embaixo do outro. 
 
2a. opção é falsa. Pára quando o valor de num for zero, mas não imprime o valor 0, justamente pelo já 
explicado no item anterior. 
3a. opção é falsa. Pára quando o valor de num for zero. Além disso, é um loop, então imprimem-se vários 
níumeros como mostrado na explicação da 1a. opção. 
4a. opção é falsa. Como mostrado no 1o. item, vários números são impressos : os números 10 8 6 4 2 
, um embaixo do outro. 
5a. opção é falsa. Falso. Como mostrado no 1o. item, vários números são impressos : os números 10 8 
6 4 2 , um embaixo do outro. Ocorre a parada do loop quando num for zero. 
 
 
 
 
 
 4a Questão 
 
 
 Para que a palavra "AMOR" seja escrita na tela 5 vezes, qual condição apropriada deve ser colocada no 
trecho de código abaixo? Marque a opção correta. 
 
x = 1; 
while ( _________ ) 
{ 
cout<<"AMOR \n"; 
x = x + 2; 
} 
 
 
x < 5 
 x < 10 
 
x > 10 
 
x <= 11 
 
x <= 5 
Respondido em 21/11/2019 08:36:08 
 
 
Explicação: 
Analisando : 
 
x = 1; 
while ( _________ ) 
{ 
cout<<"AMOR \n"; 
x = x + 2; 
} 
Note que x é um contador que é inicializado com 1 e que varia de 2 em 2. Logo, é preciso testar x < 10. 
Veja que entraremos no loop quando : 
x vale 1 
x vale 3 
x vale 5 
x vale 7 
x vale 9 
E quando x for para 11, o teste do loop falhará. Então, teremos entrado 5 vezes no bloco do while. 
 
 
 
 
 5a Questão 
 
 
 Na execução do comando while o teste da condição que controla a 
execução, ou não, dos comandos subordinados, é feito, sempre, antes de 
cada iteração. Desta forma, é correto afirmar que: 
 
 Os comandos subordinados poderão não ser executados. 
 A condição de teste deverá ser sempre falsa antes do início da execução. 
 Os comandos subordinados serão executados no mínimo uma vez. 
 Independentemente da condição de teste, os comandos subordinados sempre 
serão executados. 
 A condição de teste deverá ser sempre verdadeira antes do início da execução. 
Respondido em 21/11/2019 08:36:19 
 
 
Explicação: 
No comando enquanto primeiro se testa a condição para depois se executar o corpo da repetição. Se a 
condição for falsa nada dentro do corpo da repetição será executado. 
 
 
 
 
 6a Questão 
 
 
 O que está sendo executado pelo programa C++ a seguir? 
 
int main() 
{ 
 int CONT, SOMA; 
 CONT = 0; 
 SOMA = 0; 
 while (CONT < 50) 
 { 
 SOMA = SOMA + CONT; 
 CONT = CONT + 2; 
 } 
} 
 
 
Soma todos os números pares de 0 a 50 
 
Soma todos os números de 0 a 49 
 
Soma os 50 números pares digitados. 
 
Soma todos os números ímpares de 0 a 49 
 Soma todos os números pares de 0 a 48 
Respondido em 21/11/2019 08:36:33 
 
 
Explicação: 
Analisando o trecho em C++ : 
int main() 
{ 
 int CONT, SOMA; 
 CONT = 0; 
 SOMA = 0; 
 while (CONT < 50) 
 { 
 SOMA = SOMA + CONT; 
 CONT = CONT + 2; 
 } 
} 
CONT SOMA CONT < 50 
0 0 0 < 50 ? SIM 
2 0 2 < 50 ? SIM 
4 2 ... 
... 50 .... 50 < 50 ? FALSO 
O trecho soma os valores de CONT até 48, sendo que tal variável varia de 2 em 2. Ou seja, a variável 
SOMA acumula os valores de CONT de 0 ATÉ 48, somando os valores pares neste intervalo. Note que o 
teste do loop pára quando CONT assume o valor 50. 
 
 
 
 
 
 7a Questão 
 
 
 Imagine que você precisa criar um laço capaz de receber o nome e as notas bimestrais de um teste e uma 
prova de trinta alunos. Para cada um deles, é preciso calcular e mostrar a média do bimestre e informar se 
o aluno está na média (nota mínima 7) ou abaixo dela. Considerando que o código será escrito em C++, 
qual das opções a seguir apresenta as linhas de código do laço? 
 
 for (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=1;cont<=30;cont+=2) { 
 cout <<"Informe as notas do aluno "; 
 cin <<"Teste: "; cout >>Teste; 
 cin <<"Prova: "; cout >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cin <<"Você está na média!"; } 
 else 
 { cin <<"Você está abaixo da média!"; } 
} 
 
while (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
do (cont=1;cont<=30;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media>=7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
 
for (cont=30;cont<=0;cont++) { 
 cout <<"Informe as notas do aluno "; 
 cout <<"Teste: "; cin >>Teste; 
 cout <<"Prova: "; cin >>Prova; 
 Media = (Teste+Prova)/2; 
 cout <<"A média do aluno é " << Media; 
 if (Media<7) 
 { cout <<"Você está na média!"; } 
 else 
 { cout <<"Você está abaixo da média!"; } 
} 
Respondido em 21/11/2019 08:36:42 
 
 
 
 
 8a Questão 
 
 
 As estruturas de repetição permitem executar mais de uma vez um mesmo trecho de 
código. Trata-se de uma forma de executar blocos de comandos somente sob 
determinadas condições, mas com a opção de repetir o mesmo bloco quantas vezes forem 
necessárias. As estruturas de repetição são úteis, por exemplo, para repetir uma série de 
operações semelhantes que são executadas para todos os elementos de uma lista ou de 
uma tabela de dados, ou simplesmente para repetir um mesmo processamento até que 
uma certa condição seja satisfeita. Sejam as seguintes afirmativas: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
III - Toda estrutura de repetição apresenta um critério de parada. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido adiversas 
iterações. 
 
Marque a alternativa que representa apenas as afirmativas CORRETAS: 
 
 
I 
 III 
 
I e IV 
 
II, III e IV 
 
I e III 
Respondido em 21/11/2019 08:36:53 
 
 
Explicação: 
I - Toda estrutura de repetição apresenta um teste no início e um na saída. Falso. Ou no 
início ou no fim. 
II - Toda estrutura de repetição pode ser substituída por um conjunto de estruturas de 
decisão, onde não haja testes ou condições. 
 Falso. São estruturas diferentes. 
III - Toda estrutura de repetição apresenta um critério de parada. Verdadeiro. 
IV- Toda estrutura de repetição apresenta fluxo de execução invertido devido a diversas 
iterações. Falso. 
 
 1a Questão 
 
 
 Assinale a alternativa correta em relação a quantidade de vezes que a palavra "PAZ" será impressa, no 
trecho de código abaixo: 
 
x = 50; 
do{ 
y = 8; 
do{ 
cout<<"PAZ \n"; 
y++; 
} while ( y <10); 
x--; 
}while ( x > 48); 
 
 
6 vezes 
 
5 vezes 
 
8 vezes 
 4 vezes 
 
7 vezes 
Respondido em 21/11/2019 08:37:16 
 
 
Explicação: 
Analisando passo a passo o trecho dado : 
x = 50; 
do{ 
 y = 8; 
 do{ 
 cout<<"PAZ \n"; 
 y++; 
 } while ( y <10); 
 x--; 
} while ( x > 48); 
 
x y 
50 8 
49 9 
48 (48 > 48 ? ) Falso 10 ... 10 < 10 ? FALSO 
 8 
 9 
 10 ... 10 < 10 ? Falso 
 
 
 
PAZ 
PAZ 
PAZ 
PAZ 
 
 
 
 
 2a Questão 
 
 
 O trecho de código a seguir utiliza uma estrutura de repetição do tipo for . Marque a alternativa que 
apresenta de forma correta o mesmo trecho utilizando a estrutura de repetição while. 
Seja: 
for( int i=3; i<100; i+=2) 
 cout << i ; 
 
 
 
 int i; 
 while (i<100) { 
 i=3; 
 cout << i; 
 i=i+2; 
 } 
 
 int i; 
 i=3; 
 while(i<100) 
 { 
 i=i+2; 
 cout << i; 
 } 
 int i; 
 i=3; 
 while (i<100) { 
 cout << i; 
 i=i+2; 
 } 
 
 int i; 
 i=3; 
 while(i<100) 
 cout << i; 
 i=i+2; 
 
 
 int i; 
 while (i<100) { 
 cout << i; 
 i=3; 
 i=i+2; 
 } 
Respondido em 21/11/2019 08:37:29 
 
 
Explicação: 
A estrutura dos dois comandos é a seguinte : 
 inicialização, teste lógico, incremento/decremento e o trecho da repetição. 
conforme aula e gabarito. 
 
 
 
 
 
 3a Questão 
 
 
 Se você desejasse escrever um programa em C++ que recebesse um número qualquer e exibisse a sua 
tabuada, precisaria da seguinte repetição: 
 
 
para (cont=10;cont<=0;cont++) 
{ escreva(num," x ",cont," = ",num*5,"\n")} 
 para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
 
para (cont=10;cont<=0;cont--) 
{ escreva(num," x ",cont," = ",num*cont,"\n")} 
 
para (cont=0;cont<=10;num++) 
{ escreva(num," x ",cont," = ",num*num,"\n")} 
 
para (cont=0;cont<=10;cont++) 
{ escreva(num," x ",cont," = ",cont*cont,"\n")} 
Respondido em 21/11/2019 08:37:38 
 
 
 
 
 4a Questão 
 
 
 
Observe o trecho de código a seguir: 
 
Sobre ele, podemos afirmar que: 
I. A estrutura de repetição escolhida costuma ser utilizada quando se sabe quantas repetições serão feitas; 
II. A cada passada pela estrutura repetitiva, o contador será incrementado em duas unidades; 
III. Para que o sexo seja contado, será necessário que o usuário digite tanto "F" quanto "f". 
 
 Somente a afirmativa I é verdadeira. 
 
As afirmativas I e II são verdadeiras. 
 
Somente a afirmativa III é verdadeira. 
 
As afirmativas I e III são verdadeiras. 
 
As afirmativas I, II e III são verdadeiras. 
Respondido em 21/11/2019 08:37:49 
 
 
 
 
 5a Questão 
 
 
 A linguagem de programação C++ dispõe de três estruturas de repetição: do..while, while e for. Pensando 
na maneira como cada uma delas funciona, observe o trecho de código a seguir: 
 
Qual das alternativas a seguir, escritas com a estrutura for, equivale à estrutura while anterior? 
 
 
for (cont++; cont <= 10; int cont=0) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 for (int cont=0; cont <= 10; cont++) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=10; cont <= 0; cont++) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=0; cont <= 10; cont+=2) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=10; cont <= 200; cont+=2) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
Respondido em 21/11/2019 08:37:56 
 
 
 
 
 6a Questão 
 
 
 Leia atentamente o trecho de código abaixo e diga o que ele retornaria ao usuário: 
int main ( ) { 
 int i = 0; 
 double x, y = 0; 
 cout << "Digite um numero diferente de zero : "; 
 cin >> x; 
 while (x != 0){ 
 i = i + 1; 
 y = y + x; 
 cout << "Digite um numero diferente de zero: "; 
 cin >> x; 
 } 
 y = y / i; 
 cout << "Numero: " << i << "\n"; 
 return 0; 
} 
 
 
A média dos elementos digitados 
 
O menor de todos os elementos digitados 
 
A quantidade de elementos pares 
 A quantidade de elementos digitados diferentes de zero. 
 
O maior de todos os elementos digitados 
Respondido em 21/11/2019 08:38:03 
 
 
Explicação: 
A condição para entrar no loop e contar é x ser diferente de zero. O que será exibido ao final do programa é 
a quantidade i calculada. 
Note que o primeiro valor de x digitado é testado, então entra-se no loop e logo depois, este valor é contado 
através do uso de i que é incrementado. Claro que x é manipulado, tendo seu valor somado com o valor de 
y, mas ao final do programa a quantidade i é impressa. Se o valor zero for digitado, ele não será contado. 
 
 
 
 
 7a Questão 
 
 
 O professor de Algoritmos pediu aos alunos para que eles construíssem um 
programa, codificado na linguagem C++, e que exibisse os algarismos de um 
número, começando pelo algarismo da casa das unidades simples até o algarismo 
mais significativo. 
Assinale a opção que apresenta o trecho capaz de exibir o que foi pedido, 
considerando apenas os valores maiores do que zero. 
 
 int num, digito; 
cout << "NUMERO: " ; 
cin >>num; 
while(num > 0) 
{ 
 digito = num mod 10; 
 cout<< digito << "\t" ; 
 num = num div 10; 
} 
 
 int num; 
cout << "NUMERO: " ; 
cin >> num; 
while (num > 0) 
{ 
 num = num div 10; 
 cout << num % 10 << "\t"; 
} 
 
 
 
 int num; 
cout << "NUMERO: "; 
cin >> num; 
if (num > 0) 
{ 
 cout << num % 10 << "\t" ; 
} 
else 
 num=num/ 10; 
 
 
 int num; 
cout << "Numero: "; 
cin >> num; 
while (num > 0) 
 { 
 cout << num % 10 << "\t" ; 
 num = num / 10; 
 } 
 
 
 
 int num, digito; 
cout << " NUMERO: " ; 
cin>> num; 
while (num > 0) 
{ 
 num = num / 10; 
 digito = num % 10 ; 
 cout << digito << "\t"; 
} 
 
 
 
Respondido em 21/11/2019 08:38:12 
 
 
Explicação: 
Conforme gabarito e aula de comando de repetição. 
Note que o / nos dá o quociente da divisão e o % nos dá o resto da divisão. 
 
 
 
 
 8a Questão 
 
 
 A partir da comparação entre as estruturas while e do...while, é certo afirmar que: 
 
 No while, o bloco de comandos controlado poderá não ser executado. Enquanto que no do...while o 
bloco de comandos controlado será sempre executado, pelo menos uma vez. 
 
Dependendo da condição de teste, em ambos os casos o blocode comandos controlado será sempre 
executado, pelo menos uma vez. 
 
No do...while, o bloco de comandos controlado poderá não ser executado. Enquanto que no while o 
bloco de comandos será sempre executado, pelo menos uma vez. 
 
Em termos de execução não há diferença. A diferença está, apenas, na sintaxe. 
 
Dependendo da condição de teste, em ambos os casos o bloco de comandos controlado poderá não ser 
executado. 
Respondido em 21/11/2019 08:38:23 
 
 
Explicação: 
Falso. No do/while primeiro se faz o que está no 
corpo do loop para depois testar e no while, se 
testa para depois fazer o queestá no corpo do 
loop. 
Em termos de execução não há diferença. A diferença 
está, apenas, na sintaxe. 
 
Falso. No do/while o bloco de instruções será 
feito pelo menos 1 vez. 
No do...while, o bloco de comandos controlado poderá 
não ser executado. Enquanto que no while o bloco de 
comandos será sempre executado, pelo menos uma vez. 
 
 Verdadeiro 
No while, o bloco de comandos controlado poderá não 
ser executado. Enquanto que no do...while o bloco de 
comandos controlado será sempre executado, pelo menos 
uma vez. 
 
Falso. No while pode não ser executado 
nenhuma vez. 
Dependendo da condição de teste, em ambos os casos o 
bloco de comandos controlado será sempre executado, 
pelo menos uma vez. 
 
Falso. No do/while as instruções serão feitas 
pelo menos 1 vez. 
Dependendo da condição de teste, em ambos os casos o 
bloco de comandos controlado poderá não ser executado 
 
 
 
 1a Questão 
 
 
 Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número 
reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito 
é: 
 
 
for (i=0;i=9;i++) 
{ SOMA=NUM[i] } 
 
for (i=1;i<=10;i++) 
{ SOMA+=NUM[i]; } 
 for (i=0;i<=9;i++) 
{ SOMA+=NUM[i]; } 
 
for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
 
for (i=0;i<=9) 
{ SOMA=NUM[i]; } 
Respondido em 19/11/2019 18:16:49 
 
 
 
 
 2a Questão 
 
 
 Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma 
das posições? 
 
 
for(int i=1;i<30;i++){ vetor[i] = 0; } 
 for(int i=0;i<30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<30;i++){ vetor[i] == 0; } 
 
for(int i=0;i<=30;i++){ vetor[i] = 0; } 
 
for(int i=1;i<=30;i++){ vetor[i] = 0; } 
Respondido em 19/11/2019 18:18:26 
 
 
Explicação: 
 
for(int i=0;i<30;i++) { 
vetor[i] = 0; } 
 
Falso. Está acessando v[30], o que é incorreto. 
for(int i=0;i<=30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero. 
for(int i=1;i<30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é 
incorreto. 
for(int i=1;i<=30;i++) { 
vetor[i] = 0; } 
 
Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição for(int i=0;i<30;i++) { vetor[i] 
como deveria. PAra atibuir, use =. == 0; } 
 
 
 
 
 
 3a Questão 
 
 
 Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo 
que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número 
escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. 
Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números 
escolhidos por cada amigo e decidiria quem venceu a rodada seria: 
 
 
total=jogadasA+jogadasB 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total++ 
se (total%2!=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total=jogadasA[ind]+jogadasB[ind] 
escolha (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
outros casos 
{ escreva("Jogador B venceu!\n") } 
 total=jogadasA[ind]+jogadasB[ind] 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total=[ind]+jogadasB 
se (total%2>=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
Respondido em 19/11/2019 18:19:25 
 
 
 
 
 4a Questão 
 
 
 Um lojista gostaria de desenvolver um programa para armazenar os códigos(valores 
inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a 
quantidade(valores inteiros) de todos os mil produtos. 
 Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. 
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser 
desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima? 
 
 
 
 double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 int codigos[999], qtdade[999]; float valorC[999], valorV[999]; 
 double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; 
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 double codigos[999], qtdade[999], valorC[999], valorV[999]; 
Respondido em 19/11/2019 18:19:29 
 
 
Explicação: 
Analisando o enunciado, temos que : 
>> será criado um vetor para 1000 valores do tipo int para armazenar os códigos 
>> será criado um vetor para 1000 valores do tipo float ou double para armazenar os valores de compra e 
outro vetor para 1000 valores do tipo float ou double para armazenar os valores de venda 
>> será criado um vetor para 1000 valores do tipo int para armazenar as quantidades 
Então, a opção que segue a explicação acima é 
int codigos[1000], qtdade[1000]; 
float valorC[1000], valorV[1000]; 
 Nenhuma opção que crie vetores com capacidade para 999 elementos servirá, pois são 1000 elementos. 
Não confundir com os índices que irão de 0 até 999 para vetores de 1000 elementos. 
 
 
 
 
 5a Questão 
 
 
 Observe as declarações abaixo e assinale a opção correta. 
 
I int idades[]={5,16,27,19}; 
II float CR[3]={6.1, 8.9, 9.3}; 
III char letras[]={"A", "E", "I", "O", "U"}; 
IV char letras[]={"ALGORITMOS"}; 
 
 Somente as declarações I e II estão corretas 
 As declarações III e IV estão erradas 
 As declarações I , II e IV estão corretas 
 As declarações I , II e III estão corretas 
 A declaração I está errada e a declaração II está correta 
Respondido em 19/11/2019 18:19:37 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 
 
 
 
 
 6a Questão 
 
 
 <valor[x]; 
 
</valor[x]; 
 
 
Todos os elementos do vetor VALOR. 
 
Todos os elementos que são menores que cinco do vetor VALOR. 
 
Todos os elementos pares do vetor VALOR. 
 Todos os elementos que são maiores que cinco do vetor VALOR. 
 
Todos os elementos ímpares do vetor VALOR. 
Respondido em 19/11/2019 18:19:42 
 
 
Explicação: 
Analisando o trecho dado em C++, temos o seguinte : 
x é índice do vetor VALOR e é inicializado com zero. x irá de zero até 10, mas só entrará no loop até valer 9. 
PAra cada x de 0 até 9 entraremos no loop e testaremos se o elemento de VALOR de índice x é maior que 5. Se 
for, tal elemento será impresso na tela. Se não for, nada faremos. 
Olhando para o vetor VALOR temos que serão impressos os valores de 6 até 10. 
Analisando cada opção : 
Falso. Serão impressos valores ímpares também. Todos os elementos pares do vetor VALOR. 
 
Falso. Serão impressos valores pares também. 
 
Todos os elementos ímpares do vetor VALOR. 
 
Falso. Serão impressos valores maiores que 5. 
 
Todos os elementosque são menores que cinco do 
vetor VALOR. 
 
 
Todos os elementos que são maiores que cinco do 
vetor VALOR. 
 
Falso. Serão impressos apenas os valores 6, 7, 8, 9 e 
10 
Todos os elementos do vetor VALOR. 
 
 
 
 
 
 7a Questão 
 
 
 Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. 
int a = 2; 
int v[] = {2, 3, 1}; 
v[0] = v[a]; 
v[1] = v[0] + v[0]; 
v[2] = v[0] + v[1]; 
 
 2, 3, 1 
 
3, 2, 1 
 
1, 3, 2 
 
2, 1, 3 
 1, 2, 3 
Respondido em 19/11/2019 18:20:23 
 
 
Explicação: 
Comentando linha a linha, a resposta será encontrada. 
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a]; //v[0] recebe v[2], que é 1 
v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 
v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 
 
 
 
 
 
 8a Questão 
 
 
 Os chamados vetores e matrizes podem ser considerados como: 
 
 
Comandos de seleção composta 
 
Comandos de seleção 
 
Estruturas de dados heterogêneas 
 
Comandos de repetição 
 Estruturas de dados homogêneas 
Respondido em 19/11/2019 18:21:40 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
 1a Questão 
 
 
 Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução. 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
 
 40 77 
 
21 67 
 
40 75 
 
24 75 
 
35 67 
Respondido em 20/11/2019 19:02:30 
 
 
Explicação: 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
Analisando passo a passo : 
a b v d 
3 2 {6,7,8,9} 
a recebe 8 - 6 + 3, que dá 5 5 * v[2], ou seja, 5 * 8 = 40 
Na tela será impresso : 
40 7 7 
pois, d vale 40 
 v[1] vale 7 
 a vale 5 e somado com 2 dá 7 
 
 
 
 
 2a Questão 
 
 
 Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número 
reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito 
é: 
 
 for (i=0;i<=9;i++) 
{ SOMA+=NUM[i]; } 
 
for (i=0;i<=9) 
{ SOMA=NUM[i]; } 
 
for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
 
for (i=0;i=9;i++) 
{ SOMA=NUM[i] } 
 
for (i=1;i<=10;i++) 
{ SOMA+=NUM[i]; } 
Respondido em 20/11/2019 19:02:41 
 
 
 
 
 3a Questão 
 
 
 Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma 
das posições? 
 
 
for(int i=1;i<=30;i++){ vetor[i] = 0; } 
 for(int i=0;i<30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<=30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<30;i++){ vetor[i] == 0; } 
 
for(int i=1;i<30;i++){ vetor[i] = 0; } 
Respondido em 20/11/2019 19:02:55 
 
 
Explicação: 
 
for(int i=0;i<30;i++) { 
vetor[i] = 0; } 
 
Falso. Está acessando v[30], o que é incorreto. 
for(int i=0;i<=30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero. 
for(int i=1;i<30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é 
incorreto. 
for(int i=1;i<=30;i++) { 
vetor[i] = 0; } 
 
Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição 
como deveria. PAra atibuir, use =. 
for(int i=0;i<30;i++) { vetor[i] 
== 0; } 
 
 
 
 
 
 4a Questão 
 
 
 Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. 
int a = 2; 
int v[] = {2, 3, 1}; 
v[0] = v[a]; 
v[1] = v[0] + v[0]; 
v[2] = v[0] + v[1]; 
 
 1, 2, 3 
 
2, 1, 3 
 
1, 3, 2 
 
3, 2, 1 
 
2, 3, 1 
Respondido em 20/11/2019 19:03:07 
 
 
Explicação: 
Comentando linha a linha, a resposta será encontrada. 
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a]; //v[0] recebe v[2], que é 1 
v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 
v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 
 
 
 
 
 
 5a Questão 
 
 
 Em C++, se você precisasse escrever um programa que recebesse o sexo e a altura de 25 pessoas e 
armazenasse nos vetores Sexo e Altura, respectivamente, e, em seguida, calculasse e exibisse a média de 
altura das mulheres e a média de altura dos homens, que trecho utilizaria para recebimento de valores via 
teclado e para as somas necessárias na obtenção da média das alturas? 
Atenção às variáveis utilizadas: 
quantF - Quantidade de pessoas do sexo feminino; 
somaAF - Soma das alturas do sexo feminino; 
quantM - Quantidade de pessoas do sexo masculino; 
somaAM - Soma das alturas do sexo masculino. 
 
 
for (ind=24;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF+=ind; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM+=ind; somaAM+=Altura[ind]; } 
} 
 
for (ind=0;ind>=24;ind--) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM=Altura[ind]; } 
} 
 
for (ind=0;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo; 
 cout <<"Informe a altura: "; 
 cin >>Altura; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF+=[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM+=[ind]; } 
} 
 
for (ind=0;ind<=24;ind+=2) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F && Sexo[ind]==f) 
 { quantF++; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M && Sexo[ind]==m) 
 { quantM++; somaAM+=Altura[ind]; } 
} 
 for (ind=0;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM+=Altura[ind]; } 
} 
Respondido em 20/11/2019 19:03:23 
 
 
 
 
 6a Questão 
 
 
 Os chamados vetores e matrizes podem ser considerados como: 
 
 Estruturas de dados homogêneas 
 
Comandos de seleção composta 
 
Estruturas de dados heterogêneas 
 
Comandos de repetição 
 
Comandos de seleção 
Respondido em 20/11/2019 19:03:43 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
 
 
 7a Questão 
 
 
 Um médico precisa armazenar o peso, a altura eo IMC de seus 1000 pacientes. Contratou um 
programador que disse que o programa teria algumas matrizes unidimensionais para o 
armazenamento. 
Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, 
conforme as informações acima: 
 
 
char peso[999], altura[999], imc [999]; 
 
float peso[1001], altura[1001], imc [1001]; 
 
float peso[1000] ; altura[1000] ; imc[1000]; 
 
char peso[1000], altura [1000], imc[1000]; 
 float peso[1000], altura[1000], imc [1000]; 
Respondido em 20/11/2019 19:03:52 
 
 
Explicação: 
 Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Logo, a resposta certa é 
 float peso[1000], altura[1000], imc [1000]; 
 
 
 
 
 8a Questão 
 
 
 Observe as declarações abaixo e assinale a opção correta. 
 
I int idades[]={5,16,27,19}; 
II float CR[3]={6.1, 8.9, 9.3}; 
III char letras[]={"A", "E", "I", "O", "U"}; 
IV char letras[]={"ALGORITMOS"}; 
 
 As declarações I , II e III estão corretas 
 A declaração I está errada e a declaração II está correta 
 Somente as declarações I e II estão corretas 
 As declarações I , II e IV estão corretas 
 As declarações III e IV estão erradas 
Respondido em 20/11/2019 19:03:58 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 
 
 
 1a Questão 
 
 
 Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução. 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
 
 
24 75 
 40 77 
 
35 67 
 
40 75 
 
21 67 
Respondido em 21/11/2019 08:15:26 
 
 
Explicação: 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
Analisando passo a passo : 
a b v d 
3 2 {6,7,8,9} 
a recebe 8 - 6 + 3, que dá 5 5 * v[2], ou seja, 5 * 8 = 40 
Na tela será impresso : 
40 7 7 
pois, d vale 40 
 v[1] vale 7 
 a vale 5 e somado com 2 dá 7 
 
 
 
 
 2a Questão 
 
 
 Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número 
reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito 
é: 
 
 
for (i=0;i=9;i++) 
{ SOMA=NUM[i] } 
 
for (i=0;i<=9) 
{ SOMA=NUM[i]; } 
 for (i=0;i<=9;i++) 
{ SOMA+=NUM[i]; } 
 
for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
 
for (i=1;i<=10;i++) 
{ SOMA+=NUM[i]; } 
Respondido em 21/11/2019 08:15:29 
 
 
 
 
 3a Questão 
 
 
 Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma 
das posições? 
 
 for(int i=0;i<30;i++){ vetor[i] = 0; } 
 
for(int i=1;i<30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<=30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<30;i++){ vetor[i] == 0; } 
 
for(int i=1;i<=30;i++){ vetor[i] = 0; } 
Respondido em 21/11/2019 08:15:34 
 
 
Explicação: 
 
for(int i=0;i<30;i++) { 
vetor[i] = 0; } 
 
Falso. Está acessando v[30], o que é incorreto. 
for(int i=0;i<=30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero. 
for(int i=1;i<30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é 
incorreto. 
for(int i=1;i<=30;i++) { 
vetor[i] = 0; } 
 
Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição 
como deveria. PAra atibuir, use =. 
for(int i=0;i<30;i++) { vetor[i] 
== 0; } 
 
 
 
 
 
 4a Questão 
 
 
 Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo 
que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número 
escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. 
Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números 
escolhidos por cada amigo e decidiria quem venceu a rodada seria: 
 
 
total=jogadasA+jogadasB 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 total=jogadasA[ind]+jogadasB[ind] 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total++ 
se (total%2!=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total=jogadasA[ind]+jogadasB[ind] 
escolha (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
outros casos 
{ escreva("Jogador B venceu!\n") } 
 
total=[ind]+jogadasB 
se (total%2>=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
Respondido em 21/11/2019 08:15:37 
 
 
 
 
 5a Questão 
 
 
 Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. 
int a = 2; 
int v[] = {2, 3, 1}; 
v[0] = v[a]; 
v[1] = v[0] + v[0]; 
v[2] = v[0] + v[1]; 
 
 
2, 3, 1 
 
2, 1, 3 
 1, 2, 3 
 
1, 3, 2 
 
3, 2, 1 
Respondido em 21/11/2019 08:15:46 
 
 
Explicação: 
Comentando linha a linha, a resposta será encontrada. 
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a]; //v[0] recebe v[2], que é 1 
v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 
v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 
 
 
 
 
 
 6a Questão 
 
 
 Os chamados vetores e matrizes podem ser considerados como: 
 
 
Comandos de seleção composta 
 Estruturas de dados homogêneas 
 
Comandos de seleção 
 
Estruturas de dados heterogêneas 
 
Comandos de repetição 
Respondido em 21/11/2019 08:15:49 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
 
 
 7a Questão 
 
 
 Um médico precisa armazenar o peso, a altura e o IMC de seus 1000 pacientes. Contratou um 
programador que disse que o programa teria algumas matrizes unidimensionais para o 
armazenamento. 
Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, 
conforme as informações acima: 
 
 
char peso[999], altura[999], imc [999]; 
 
float peso[1000] ; altura[1000] ; imc[1000]; 
 float peso[1000], altura[1000], imc [1000]; 
 
float peso[1001], altura[1001], imc [1001]; 
 
char peso[1000], altura [1000], imc[1000]; 
Respondido em 21/11/2019 08:15:53 
 
 
Explicação: 
 Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Logo, a resposta certa é 
 float peso[1000], altura[1000], imc [1000]; 
 
 
 
 
 8a Questão 
 
 
 Observe as declarações abaixo e assinale a opção correta. 
 
I int idades[]={5,16,27,19};II float CR[3]={6.1, 8.9, 9.3}; 
III char letras[]={"A", "E", "I", "O", "U"}; 
IV char letras[]={"ALGORITMOS"}; 
 
 As declarações III e IV estão erradas 
 As declarações I , II e IV estão corretas 
 Somente as declarações I e II estão corretas 
 As declarações I , II e III estão corretas 
 A declaração I está errada e a declaração II está correta 
Respondido em 21/11/2019 08:15:57 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 
 
 
 1a Questão 
 
 
 Você está escrevendo um programa no qual utiliza um vetor de 15 elementos do tipo caractere denominado 
LETRAS e precisa contar quantas posições do vetor armazenam a letra "A" ou a letra "E" e guardar o total 
na variável QuantAE. O trecho de código capaz de realizar essa contagem é: 
 
 for (i=0;i<=14;i++) 
{ 
 if (LETRAS[i] == "A" || LETRAS[i] == "E") 
 { QuantAE+=1; } 
} 
 
for (i=0;i=14;i++) 
{ 
 if (LETRAS[i] == ¿A¿ !! LETRAS[i] == ¿E¿) 
 { QuantAE+=1; } 
} 
 
for (i=0;i<=14;i++) 
{ 
 if (LETRAS[i] == "A" or LETRAS[i] == "E") 
 { QuantAE=1; } 
} 
 
for (i=1;i<=14;i++) 
{ 
 if (LETRAS[i] == "A" || LETRAS[i] == "E") 
 { QuantAE+=; } 
} 
 
for (i=1;i<=15;i++) 
{ 
 if (LETRAS[i] == "A" && LETRAS[i] == "E") 
 { QuantAE+=1; } 
} 
Respondido em 21/11/2019 08:38:49 
 
 
 
 
 2a Questão 
 
 
 Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ 
que deve ser _____________. 
 
 
bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
 
unidimensional - homogênea - único valor - de tipos variados 
 
unidimensional - heterogênea - único valor - de tipos variados 
 unidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
bidimensional - homogênea - único valor - do mesmo tipo 
Respondido em 21/11/2019 08:38:54 
 
 
 
 
 3a Questão 
 
 
 Um lojista gostaria de desenvolver um programa para armazenar os códigos(valores 
inteiros), os valores de compra(valores reais), os valores de vendas(valores reais) e a 
quantidade(valores inteiros) de todos os mil produtos. 
 Pensou em declarar algumas matrizes unidimensionais para tornar isso possível. 
Qual das opções abaixo declara as matrizes necessárias para que o programa possa ser 
desenvolvido a partir delas e seguindo, rigorosamente, as sugestões do texto acima? 
 
 
 
 int codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 double codigos[1000], qtdade[1000], valorC[1000], valorV[1000]; 
 double codigos[1000], qtdade[1000]; float valorC[1000], valorV[1000]; 
 double codigos[999], qtdade[999], valorC[999], valorV[999]; 
 int codigos[999], qtdade[999]; float valorC[999], valorV[999]; 
Respondido em 21/11/2019 08:39:04 
 
 
Explicação: 
Analisando o enunciado, temos que : 
>> será criado um vetor para 1000 valores do tipo int para armazenar os códigos 
>> será criado um vetor para 1000 valores do tipo float ou double para armazenar os valores de compra e 
outro vetor para 1000 valores do tipo float ou double para armazenar os valores de venda 
>> será criado um vetor para 1000 valores do tipo int para armazenar as quantidades 
Então, a opção que segue a explicação acima é 
int codigos[1000], qtdade[1000]; 
float valorC[1000], valorV[1000]; 
 Nenhuma opção que crie vetores com capacidade para 999 elementos servirá, pois são 1000 elementos. 
Não confundir com os índices que irão de 0 até 999 para vetores de 1000 elementos. 
 
 
 
 
 4a Questão 
 
 
 Suponha que em um programa em C/C++ se deseje armazenar 15 valores decimais em um vetor LISTA. 
Assinale a declaração correta: 
 
 float LISTA[15]; 
 
float lista[15]; 
 
int LISTA[16]; 
 
int lista[15]; 
 
float lista[16]; 
Respondido em 21/11/2019 08:39:15 
 
 
Explicação: 
 
 Verdadeira float LISTA[15]; 
 
Falso. É 15 e não 16. Além disso, deve-se usar float ou double e não int. int LISTA[16]; 
 
Falso. É 15 e não 16. float lista[16]; 
 
FAlso. Deve-se usar float ou double e não int. int lista[15]; 
 
Falso. O nome do vetor dado no enunciado é LISTA e não lista. float lista[15]; 
 
 
 
 
 
 5a Questão 
 
 
 Imagine que um dado é lançado 20 vezes e, a cada lançamento, a face sorteada é lançada em um vetor 
denominado sorteios. Considerando que você precisa escrever um algoritmo conforme a sintaxe do 
Portugol Studio que, ao final dos sorteios, informe quantas vezes cada face ímpar foi sorteada, qual das 
estruturas repetitivas a seguir voce utilizaria para contar a quantidade de sorteios nos quais cada uma das 
faces ímpares saiu? 
 
 
para (ind=10;ind<=20;ind++) { 
 escolha (sorteios[ind]) { 
 caso 1,3,5,7,9: cont1++ 
 pare 
 default: pare 
 } 
} 
 
para (ind=0;ind<=19;ind++) { 
 escolha (sorteios[ind,ind]) { 
 caso 1: cont++ 
 pare 
 caso 3: cont++ 
 pare 
 caso 5: cont++ 
 pare 
 } 
} 
 
para (ind=0;ind<=20;ind++) { 
 escolha (sorteios) { 
 caso 1: cont1++ 
 pare 
 caso 3: cont3++ 
 pare 
 caso 5: cont5++ 
 pare 
 } 
} 
 
para (ind=0;ind<=19;ind--) { 
 escolha (sorteios[ind]) { 
 caso 1: cont1-- 
 pare 
 caso 3: cont3-- 
 pare 
 caso 5: cont5-- 
 pare 
 } 
} 
 para (ind=0;ind<=19;ind++) { 
 escolha (sorteios[ind]) { 
 caso 1: cont1++ 
 pare 
 caso 3: cont3++ 
 pare 
 caso 5: cont5++ 
 pare 
 } 
} 
Respondido em 21/11/2019 08:39:31 
 
 
 
 
 6a Questão 
 
 
 <valor[x]; 
 
</valor[x]; 
 
 
Todos os elementos do vetor VALOR. 
 
Todos os elementos ímpares do vetor VALOR. 
 Todos os elementos que são maiores que cinco do vetor VALOR. 
 
Todos os elementos pares do vetor VALOR. 
 
Todos os elementos que são menores que cinco do vetor VALOR. 
Respondido em 21/11/2019 08:39:41 
 
 
Explicação: 
Analisando o trecho dado em C++, temos o seguinte : 
x é índice do vetor VALOR e é inicializado com zero. x irá de zero até 10, mas só entrará no loop até valer 9. 
PAra cada x de 0 até 9 entraremos no loop e testaremos se o elemento de VALOR de índice x é maior que 5. Se 
for, tal elemento será impresso na tela. Se não for, nada faremos. 
Olhando para o vetor VALOR temos que serão impressos os valores de 6 até 10. 
Analisando cada opção : 
Falso. Serão impressos valores ímpares também. Todos os elementos pares do vetor VALOR. 
 
Falso. Serão impressos valores pares também. 
 
Todos os elementos ímpares do vetor VALOR. 
 
Falso. Serão impressos valores maiores que 5. 
 
Todos os elementos que são menores que cinco do 
vetor VALOR. 
 
 
Todos os elementos que são maiores que cinco do 
vetor VALOR. 
 
Falso. Serão impressos apenas os valores 6, 7, 8, 9 e 
10 
Todos os elementos do vetor VALOR. 
 
 
 
 
 
 7a Questão 
 
 
 
 
 
 -1 0 1 2 3 4 5 4 3 2 1 
 -1 0 1 2 3 4 4 3 2 1 
 0 1 2 3 4 5 6 7 8 9 
 -1 0 1 2 3 4 5 6 7 8 
 0 1 2 3 4 5 4 3 2 1 0 
Respondido em 21/11/2019 08:39:49 
 
 
Explicação: 
O primeiro for preenche o vetor v[]= {0,1,2,3,4,5,6,7,8,9) 
O segundo for é executado de traz para frente por 4 vezes, até i=6 alterando valores do vetor. 
v[]= {0,1,2,3,4,5,4,3,2,1) 
No terceiro for, ele começa na posição 5, pois o anterior, executou até o 6 e voltou mais uma para encerrar. 
Logo este for vai variar de 5 até a zero, pois o valor inicial não foi declarado, ficando vazio e a cada valor da 
posição 5 até 0 será diminuído de uma unidade, ficandoassim: 
v[]= {-1,0,1,2,3,4,4,3,2,1) 
O último for, apenas imprime o vetor completo. 
 
 
 
 
 8a Questão 
 
 
 Em C++, se você precisasse escrever um programa que recebesse o sexo e a altura de 25 pessoas e 
armazenasse nos vetores Sexo e Altura, respectivamente, e, em seguida, calculasse e exibisse a média de 
altura das mulheres e a média de altura dos homens, que trecho utilizaria para recebimento de valores via 
teclado e para as somas necessárias na obtenção da média das alturas? 
Atenção às variáveis utilizadas: 
quantF - Quantidade de pessoas do sexo feminino; 
somaAF - Soma das alturas do sexo feminino; 
quantM - Quantidade de pessoas do sexo masculino; 
somaAM - Soma das alturas do sexo masculino. 
 
 
for (ind=24;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF+=ind; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM+=ind; somaAM+=Altura[ind]; } 
} 
 
for (ind=0;ind<=24;ind+=2) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F && Sexo[ind]==f) 
 { quantF++; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M && Sexo[ind]==m) 
 { quantM++; somaAM+=Altura[ind]; } 
} 
 for (ind=0;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF+=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM+=Altura[ind]; } 
} 
 
for (ind=0;ind>=24;ind--) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo[ind]; 
 cout <<"Informe a altura: "; 
 cin >>Altura[ind]; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF=Altura[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM=Altura[ind]; } 
} 
 
for (ind=0;ind<=24;ind++) { 
 cout <<"Informe o sexo: "; 
 cin >>Sexo; 
 cout <<"Informe a altura: "; 
 cin >>Altura; 
 if (Sexo[ind]==F || Sexo[ind]==f) 
 { quantF++; somaAF+=[ind]; } 
 else if (Sexo[ind]==M || Sexo[ind]==m) 
 { quantM++; somaAM+=[ind]; } 
} 
 
 1a Questão 
 
 
 Análise de código abaixo e selecione entre as alternativas, o que será impresso, após a execução. 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
 
 
35 67 
 
24 75 
 40 77 
 
40 75 
 
21 67 
Respondido em 21/11/2019 08:40:14 
 
 
Explicação: 
int a = 3, b = 2; 
int v[] = { 6, 7, 8, 9}; 
a = (v[2] - v[0]) + a; 
int d = a * v[b]; 
std::cout << d << " " << v[1] << a + 2; 
Analisando passo a passo : 
a b v d 
3 2 {6,7,8,9} 
a recebe 8 - 6 + 3, que dá 5 5 * v[2], ou seja, 5 * 8 = 40 
Na tela será impresso : 
40 7 7 
pois, d vale 40 
 v[1] vale 7 
 a vale 5 e somado com 2 dá 7 
 
 
 
 
 2a Questão 
 
 
 Você deseja armazenar na variável SOMA a adição entre todos os elementos de um vetor com 10 número 
reais chamado NUM. O trecho de código que apresenta a estrutura repetitiva que permite que isso seja feito 
é: 
 
 
for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
 for (i=0;i<=9;i++) 
{ SOMA+=NUM[i]; } 
 
for (i=1;i<=10;i++) 
{ SOMA+=NUM[i]; } 
 
for (i=0;i<=9) 
{ SOMA=NUM[i]; } 
 
for (i=0;i=9;i++) 
{ SOMA=NUM[i] } 
Respondido em 21/11/2019 08:40:22 
 
 
 
 
 3a Questão 
 
 
 Qual estrutura de repetição abaixo preenche corretamente um vetor de 30 posições com 0 (zero) em cada uma 
das posições? 
 
 
for(int i=0;i<30;i++){ vetor[i] == 0; } 
 
for(int i=1;i<30;i++){ vetor[i] = 0; } 
 
for(int i=0;i<=30;i++){ vetor[i] = 0; } 
 
for(int i=1;i<=30;i++){ vetor[i] = 0; } 
 for(int i=0;i<30;i++){ vetor[i] = 0; } 
Respondido em 21/11/2019 08:40:29 
 
 
Explicação: 
 
for(int i=0;i<30;i++) { 
vetor[i] = 0; } 
 
Falso. Está acessando v[30], o que é incorreto. 
for(int i=0;i<=30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero. 
for(int i=1;i<30;i++) { 
vetor[i] = 0; } 
 
FAlso. Está iniciando i de 1 e não de zero e está acessando v[30], o que é 
incorreto. 
for(int i=1;i<=30;i++) { 
vetor[i] = 0; } 
 
Falso. O erro está dentro do bloco do for. Está usando == e não a atribuição 
como deveria. PAra atibuir, use =. 
for(int i=0;i<30;i++) { vetor[i] 
== 0; } 
 
 
 
 
 
 4a Questão 
 
 
 Considere que um casal de amigos está brincando de par ou ímpar. Você precisa escrever um algoritmo 
que, a cada uma das 10 jogadas que farão, armazene nos vetores jogadasA e jogadasB o número 
escolhido pelo jogador A (que é par) e o número escolhido pelo jogador B (que é ímpar), respectivamente. 
Precisa informar, também a cada jogada, o jogador vencedor. O trecho que avaliaria a soma dos números 
escolhidos por cada amigo e decidiria quem venceu a rodada seria: 
 
 
total=jogadasA+jogadasB 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 total=jogadasA[ind]+jogadasB[ind] 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total=jogadasA[ind]+jogadasB[ind] 
escolha (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
outros casos 
{ escreva("Jogador B venceu!\n") } 
 
total=[ind]+jogadasB 
se (total%2>=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
total++ 
se (total%2!=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
Respondido em 21/11/2019 08:40:39 
 
 
 
 
 5a Questão 
 
 
 Analise o código abaixo e assinale o item que corresponde aos valores finais do vetor v. 
int a = 2; 
int v[] = {2, 3, 1}; 
v[0] = v[a]; 
v[1] = v[0] + v[0]; 
v[2] = v[0] + v[1]; 
 
 1, 2, 3 
 
1, 3, 2 
 
2, 1, 3 
 
2, 3, 1 
 
3, 2, 1 
Respondido em 21/11/2019 08:40:50 
 
 
Explicação: 
Comentando linha a linha, a resposta será encontrada. 
int a = 2; 
int v[ ] = {2, 3, 1}; 
v[0] = v[a]; //v[0] recebe v[2], que é 1 
v[1] = v[0] + v[0]; // v[1] recebe 1 + 1, que dá 2 
v[2] = v[0] + v[1]; //v[2] recebe o valor 1+2, que dá 3 
 
 
 
 
 
 6a Questão 
 
 
 Os chamados vetores e matrizes podem ser considerados como: 
 
 
Estruturas de dados heterogêneas 
 
Comandos de seleção composta 
 
Comandos de seleção 
 
Comandos de repetição 
 Estruturas de dados homogêneas 
Respondido em 21/11/2019 08:41:01 
 
 
Explicação: 
 Verdadeira Estruturas de dados homogêneas 
 
FAlsa. Em vetores e matrizes os dados são todos do mesmo tipo. Estruturas de dados heterogêneas 
 
Falso. Comandos de seleção são if, if/else e switch Comandos de seleção 
 
Falso. Comandos de repetição são for, while e do/while Comandos de repetição 
 
Falso. Comando if/else e não vetor ou matriz. Comandos de seleção composta 
 
 
 
 
 
 7a Questão 
 
 
 Um médico precisa armazenar o peso, a altura e o IMC de seus 1000 pacientes. Contratou um 
programador que disse que o programa teria algumas matrizes unidimensionais para o 
armazenamento. 
Assinale a opção abaixo que representa a declaração das referidas matrizes pelo programador, 
conforme as informações acima: 
 
 
char peso[999], altura[999], imc [999]; 
 
float peso[1000] ; altura[1000] ; imc[1000];float peso[1001], altura[1001], imc [1001]; 
 float peso[1000], altura[1000], imc [1000]; 
 
char peso[1000], altura [1000], imc[1000]; 
Respondido em 21/11/2019 08:41:05 
 
 
Explicação: 
 Para reunir os pesos de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir as alturas de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Para reunir os imcs de 1000 pacientes teremos um vetor para 1000 elementos do tipo float 
Logo, a resposta certa é 
 float peso[1000], altura[1000], imc [1000]; 
 
 
 
 
 8a Questão 
 
 
 Observe as declarações abaixo e assinale a opção correta. 
 
I int idades[]={5,16,27,19}; 
II float CR[3]={6.1, 8.9, 9.3}; 
III char letras[]={"A", "E", "I", "O", "U"}; 
IV char letras[]={"ALGORITMOS"}; 
 
 As declarações I , II e III estão corretas 
 As declarações I , II e IV estão corretas 
 A declaração I está errada e a declaração II está correta 
 As declarações III e IV estão erradas 
 Somente as declarações I e II estão corretas 
Respondido em 21/11/2019 08:41:16 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 
 
 
 1a Questão 
 
 
 Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a 
resposta que mostra o que será exibido na tela. 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
system("pause"); 
return 0; 
} 
 
 
1 3 5 7 9 
 1 5 9 
 
1 2 3 
 
1 2 3 4 5 6 7 8 9 
 
2 4 6 8 
Respondido em 20/11/2019 18:55:57 
 
 
Explicação: 
Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9 e o trecho do programa abaixo, veja o comentado ao fim 
de cada trecho. 
int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
O trecho acima montará a matriz com 3 linhas e 3 colunas, a saber : 
1 2 3 
4 5 6 
7 8 9 
Já o trecho a seguir : 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
imprimirá os elementos da matriz em que a linha e a coluna são iguais. Ou seja, imprimirá os elementos da 
diagonal principal, que estão destacados em amarelo. 
1 2 3 
4 5 6 
7 8 9 
Impressos : 1 5 9 
 
 
 
 
 2a Questão 
 
 
 Considere que você tem uma matriz 3x3 chamada MAT e precisa exibir os elementos de sua diagonal 
principal. O trecho de código do Portugol Studio que pode fazer isso é: 
 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,i] } 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,1] } 
 
para (i=0;i<=2;i++) 
{ escreva MAT[i]; } 
 para (i=0;i<=2;i++) 
{ escreva MAT[i,i] } 
 
 
para (i=0;i<=3;i++) 
{ escreva MAT[1,i] } 
Respondido em 20/11/2019 18:58:17 
 
 
 
 
 3a Questão 
 
 
 Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 
3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de 
 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as 
colunas e variando de 1 a 3. 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as 
colunas e variando de 0 a 3. 
 Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as 
colunas e variando de 0 a 3. 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os 
múltiplos de 5 e variando de 0 a 5 . 
 
Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os 
múltiplos de 5 e variando de 0 a 5 . 
Respondido em 20/11/2019 18:58:23 
 
 
 
 
 4a Questão 
 
 
 Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional 
para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o 
algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as 
notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, 
chamada notasAlunos. 
 
 
b) float notasAlunos[6][30]; 
 a) float notasAlunos[30][6]; 
 
e) float notasAlunos[][]; 
 
c) float notasAlunos[30,6]; 
 
d) float notasAlunos[6,30]; 
Respondido em 20/11/2019 18:58:29 
 
 
Explicação: 
A especificação de uma matriz segue a sintaxe: 
tipo [qtd linhas][qtd colunas]; 
Como são 30 alunos, cada um terá uma linha e para as 6 notas, cada uma terá uma coluna. 
Temos então: 
 float notasAlunos[30][6]; 
 
 
 
 
 5a Questão 
 
 
 Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e 
exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 
1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da 
primeira matriz e gera a segunda? 
 
 
para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva(M2[lin][col]," ") 
 } 
} 
 
enquanto (lin=0;lin<=3;lin++) { 
 enquanto (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
 
para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[lin][col]=M1[lin][col] 
 } 
} 
 
para (lin=0;lin<=3;lin++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][lin]) 
 M2[lin][lin]=M1[lin][lin] 
} 
 para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
Respondido em 20/11/2019 18:58:37 
 
 
 
 
 6a Questão 
 
 
 Analise a seguinte afirmação: 
"Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Como poderíamos escrever uma declaração de matriz na linguagem C++, seguindo a afirmação acima, 
sabendo que os dados seriam do tipo int ? 
 
 
int edificio[40][5]; 
 int edificio[8][5]; 
 
int edificio[5][8]; 
 
int edificio[1][40]; 
 
int edificio[40][1]; 
Respondido em 20/11/2019 18:58:48 
 
 
Explicação: 
Analisando ... 
 "Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 
apartamentos ou 5 colunas. 
Dessa forma temos : 
 int edificio[8][5]; 
 
 porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas 
Veja que em todas as opções temos a variável de nome edificio. 
 
 
 
 
 
 7a Questão 
 
 
 Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma 
matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de 
repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: 
 
 
para (lin=0;lin<=2;lin++){ 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2==0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2!=0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1) 
 se (lin%2){ 
 se (M1%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares-- } 
 } 
 } 
} 
Respondido em 20/11/2019 18:58:55 
 
 
 
 
 8a Questão 
 
 
 Uma matriz é uma estrutura _____________ e _____________ para armazenamento de um 
_____________ que deve ser _____________. 
 
 
bidimensional - heterogênea - único valor - de tipos variados 
 
unidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
unidimensional - heterogênea - único valor - de tipos variados 
 bidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
 
 
 1a Questão 
 
 
 Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no 
último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa 
deverá: 
 
 
Somar todas as linhas da coluna índice 1. 
 
Somar todas as colunas da linha índice 0. 
 
Somar todas as colunas da linha índice 1 
 Somar todas as linhas da coluna índice 0. 
 
Somar todas as linhas de todas as colunas. 
Respondido em 20/11/2019 18:59:20 
 
 
Explicação: 
Em cada linha se tem os preços de um produto. Em cada coluna de uma linha se tem o preço em cada mês 
do produto. 
Daí, a resposta ser a indicada no gabarito. 
 
 
 
 
 
 2a Questão 
 
 
 Uma professora possui uma turma de 40 alunos e precisa declarar uma matriz bidimensional, 
na linguagem C++, para armazenar as notas de AV1, AV2 e AV3 da turma. Considere que ela 
necessita dos dados organizados na matriz, de modo que cada linha deverá representar um 
aluno. Assinale a alternativa que apresenta a declaração desta matriz. 
 
 
int notas[40][40]; 
 
char notas[3][40]; 
 
float notas[40,3]; 
 float notas[40][3]; 
 
char notas[40][3]; 
Respondido em 20/11/2019 18:59:24 
 
 
Explicação: 
 Se cada linha deve representar um aluno e são 40 alunos então a matriz a ser declarada terá 40 linhas. Como 
é preciso armazenar as 3 notas de cada aluno então, a matriz possuirá 3 colunas. Se é preciso armazenar notas 
então o tipo de dados deve ser float. 
Analisando as opções. 
Falso. Errado o número de colunas e o tipo de dados. int notas[40][40]; 
 
Falso. Seriam 40 linhas, 3 colunas e o tipo float. tipo char para nota não serve. char notas[3][40]; 
 
Falso. Não se separa o total de linhas do total de colunas com vírgula. float notas[40,3]; 
 
 Verdadeira float notas[40][3]; 
 
FAlso. Erro no uso do tipo char. char notas[40][3]; 
 
 
 
 
 
 3a Questão 
 
 
 
Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar da 
seguinte forma: 
< tipo do dado > nome_da_matriz [nº de linhas][nº de colunas]; 
Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional 
para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o 
algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas 
de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada 
notasAlunos. 
 
 a) float notasAlunos[30][6]; 
 
c) float notasAlunos[30,6]; 
 
b) float notasAlunos[6][30]; 
 
d) float notasAlunos[6,30]; 
 
e) float notasAlunos[][]; 
Respondido em 20/11/2019 18:59:41 
 
 
Explicação: 
Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremos uma matriz com 
30 linhas e 6 colunas. como a matriz se chama notasAlunos e as notas são valores reais teremos : 
 float notasAlunos[30][6]; 
 
Vendo porque as outras opções não podem ser : 
Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 
30 colunas. 
 float 
notasAlunos[6][30]; 
 
Falso. Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro 
de colchetes separados. 
 float 
notasAlunos[30,6]; 
 
Falso. Erro nos valores e na sintaxe no uso dos colchetes. 
 float 
notasAlunos[6,30]; 
 
Falso. Nâo colocou o total de linhas e de colunas. float notasAlunos[][]; 
 
 
 
 
 
 4a Questão 
 
 
 Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a 
sua execução: 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int p, num[50]; 
 
 for (p = 0; p <= 49; p++) 
 { 
 cout << "Digite um valor : "; 
 cin >> num[p]; 
 } 
 
 for (p = 0; p <= 49; p++) 
 { 
 if (num[p] % 2 == 0 && num[p] > 30) 
 cout << num[p] << "\t"; 
 } 
 
 system("pause"); 
 return 0; 
} 
 
 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares 
e que sejam maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam 
maiores que 30. 
 O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e 
que sejam maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e 
que sejam menores que 30. 
Respondido em 20/11/2019 19:00:06 
 
 
Explicação: 
Analisando o programa temos que : 
O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. 
for, testa cada elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 
condições é que o elemento de v será impresso. 
Analisando cada opção : 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. é falso. Nâo 
imprime todos os números 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores 
que 30. é falso. Tem que ser par e maior que 30 para ser impresso. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que 
sejam maiores que 30. é falso. Imprime os pares maiores que 30 e não os ímpares. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam 
menores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam 
maiores que 30. Verdadeira 
 
 
 
 
 
 5a Questão 
 
 
 Considerandoa sintaxe do Portugol Studio, imagine um algoritmo que receba uma matriz de elementos 
inteiros dispostos em 3 linhas e 4 colunas. Em seguida, o algoritmo exibe a quantidade de números 
múltiplos de 5 armazenados na matriz. O trecho capaz de realizar a contagem dos múltiplos seria: 
 
 
if (matriz[lin][col]%5==0) 
{ multiplos; } 
 
if (matriz[lin][lin]*5!=0) 
{ multiplos++; } 
 if (matriz[lin][col]%5==0) 
{ multiplos++; } 
 
if (matriz[col][col]%5==0) 
{ multiplos++; } 
 
if (matriz[lin][col]/5!=0) 
{ multiplos++; } 
Respondido em 20/11/2019 19:00:15 
 
 
 
 
 6a Questão 
 
 
 Em um programa, deseja-se armazenar as 3 notas , a média e a maior nota de cada um dos 50 alunos de 
uma turma, em uma matriz NOTA. Entendendo-se que todos os dados de um mesmo aluno ficarão 
armazenados em uma mesma linha, assinale a alternativa que indica a declaração correta na matriz 
descrita. 
 
 
int NOTAS [5][50]; 
 float NOTA [50][5]; 
 
int NOTA [50][5]; 
 
float NOTAS [5][50]; 
 
long int NOTA [50][5]; 
Respondido em 20/11/2019 19:00:19 
 
 
Explicação: 
Existem 50 alunos. Os dados de cada aluno devem ser armazenados em uma linha e são 5 dados por 
aluno. Então teremos uma matriz com 50 linhas e 5 colunas. Portanto, a opção marcada no gabarito é a 
certa. 
 
 
 
 
 
 7a Questão 
 
 
 Análise a seguinte afirmação: 
"Um shopping possui 4 andares, cada andar possui 30 lojas". 
Se você for declarar uma matriz, na linguagem C++, para a afirmação acima, qual das opções abaixo você 
escolheria? 
 
 
int shopping[30][30]; 
 int shopping[4][30]; 
 
int shopping[1][30]; 
 
int shopping[30][1]; 
 
int shopping[4][4]; 
Respondido em 20/11/2019 19:00:29 
 
 
Explicação: 
 
Considerando cada andar como uma linha da matriz e as 30 lojas como as 30 colunas da matriz, teremos : 
int shopping[4][30]; 
Vejamos as outras opções : 
Falso. São 4 andares. Então, não pode ser 1 linha int shopping[1][30]; 
 
 Verdadeiro int shopping[4][30]; 
 
FAlso. São 30 lojas em cada andar, ou seja, 30 colunas em cada linha. E como são 4 
linhas, não podemos ter 30 linhas e 1 coluna 
int shopping[30][1]; 
 
Falso. Não são 4 andares com 4 lojas em cada andar. int shopping[4][4]; 
 
FAlso. Não podem ser 30 linhas porque não são 30 andares. 
int 
shopping[30][30]; 
 
 
 
 
 
 
 8a Questão 
 
 
 
Observe a matriz: 
 
A R E S 
 E U Q 
 E 
O T S I 
 
Qual será o resultado obtido após ser executado o trecho do algoritmo a 
seguir: 
 
for (i = 0; i < 4; i ++) 
 for ( j = 0; j < 2; j++) 
 { 
 aux = mat[i][j]; 
 mat[i][j] = mat[i][3-j]; 
 mat[[i][3 - j] = aux; 
 } 
 
 
 
 
 S E R A 
Q U E 
 
 
E 
 
I S T O 
 
 
S E R A 
 Q U E 
 E 
 
I S T O 
 
 
S E R A 
Q U E 
 
 
 
E 
 
I S T O 
 
 
S E R A 
Q U E 
E 
 
 
I S T O 
 
 S E R A 
 Q U E 
 
 E 
 
I S T O 
 
Respondido em 20/11/2019 19:00:36 
 
 
Explicação: 
Conforme gabarito e aula de matrizes, consciente que o índice da linha começa de zero e o da coluna 
também. O papel da variavel aux é permitir a troca dos valores da matriz. 
 
 
 1a Questão 
 
 
 Sendo a matriz M bidimensional igual a: 
 
1 2 3 4 
5 -5 3 0 
Dimensionadas da seguinte maneira: 
int m[2][4]; 
Determine quais são os seguintes elementos: 
 m[0][3] 
 m[0][0] 
 m[1][1] 
 m[1][2] 
 
 
 
 
0 - 1 - 3 - 5 
 4 - 1 - -5 - 3 
 
5 - 1 - 3 - 0 
 
-5 - 1 - 5 - 4 
 
4 - 5 - -5 - 0 
Respondido em 20/11/2019 19:01:10 
 
 
Explicação: 
Considerando a matriz dada : 
1 2 3 4 
5 -5 3 0 
 
temos que na 1a. linha (linha 0) temos 4 colunas, a saber : m[0][0] que é 1, m[0][1] que é 2, m[0][2] 
que é 3 e m[0][3] que é 4 
Na 2a. linha (linha 1) temos 4 colunas, a saber : m[1][0] que é 5, m[1][1] que é -5, m[1][2] que é 3 e 
m[1][3] que é 0 
 
Logo, respondendo ao pedido temos : 
 m[0][3] é 4 
m[0][0] é 1 
m[1][1] é -5 
m[1][2] é 3 
 
 
 
 
 
 
 2a Questão 
 
 
 Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para 
armazenar o valor dos 12 salários de 45 funcionários. 
Qual das opções abaixo o estudante deverá declarar? 
 
 
int salario[45], funcionario[12]; 
 
float funcionario[45][45]; 
 
float funcionario[12],[12]; 
 float funcionario[45][12]; 
 
char funcionario[12][12]; 
Respondido em 20/11/2019 19:01:15 
 
 
Explicação: 
Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o 
valor dos 12 salários de 45 funcionários. 
Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 
colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float 
e não int e nem char. Logo : float funcionario[45][12]; 
 
Falso. Erro no número de linhas, colunas e uso indevido de 
vírgula 
float funcionario[12],[12]; 
 
Falso. Erro no número de colunas. float funcionario[45][45]; 
 
Falso. Erro no número de linhas, colunas e no tipo de dados. char funcionario[12][12]; 
 
Falso. Não se tem aqui matriz bidimensional, como solicitado. int salario[45], funcionario[12]; 
 
VErdadeiro. float funcionario[45][12]; 
 
 
 
 
 
 3a Questão 
 
 
 Suponha que você tenha que fazer um programa em C++ e deseja armazenar a venda dos 3 meses de 
30 vendedores de uma loja em uma matriz. Marque a opção que representa esta declaração: 
 
 
char valores[30]; 
 
float valores[30][2]; 
 
char valores[30][2]; 
 
float valores[32]; 
 float valores[30][3]; 
Respondido em 20/11/2019 19:01:30 
 
 
Explicação: 
 
Para cada vendedor teremos os valores dos 3 meses. Ou seja, para cada um dos 30 vendedores iremos 
armazenar valores reais, um em cada mês. Então, podemos declarar uma matriz bidimensional com 30 
linhas e 3 colunas. 
Como foi usado o nome valores para a matriz e se está armazenando os valores dos vendedores, usaremos 
float. 
Então, 
float valores[30][3]; 
 
 
 
 
 
 4a Questão 
 
 
 Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena, em cada uma de suas linhas, a quantidade 
estocada de produtos no último quadrimestre (4 meses). Sabendo-se que a declaração de uma matriz em 
C/C++ se dá da forma: 
< tipo de dado> nome [nºde linhas][nºde colunas]; 
 Para obter o total estocado no primeiro mês do quadrimestre, o programa deverá: 
 
 
Somar todas as colunas da linha índice 0. 
 
Somar todas as linhas de todas as colunas. 
 
Somar todas as colunas da linha índice 1 
 Somar todas as linhas da coluna índice 0. 
 
Somar todas as linhas da coluna índice 1. 
Respondido em 20/11/2019 19:01:37 
 
 
Explicação: 
Como a 1a. coluna (coluna 0) é relativa ao 1o. mês, então é preciso somar todas as linhas da coluna 0. 
Analisando as opções : 
 Verdadeira Somar todas as linhas da coluna índice 0. 
 
Falso. Tem que somar todas as linhas da coluna 0 Somar todas as colunas da linha índice 0. 
 
Falso. O 1o. mês é relativo à 1a. coluna, que tem índice zero. Somar todas as linhas da coluna índice 1. 
 
Falso. Tem que somar todas as linhas, cuja coluna tem índice 0. Somar todas as colunas da linha índice 1 
 
FAlso. Se quer apenas o 1o. mês, que está na 1a. coluna. Somar todas as linhas de todas as colunas.5a Questão 
 
 
 Considere os seguintes valores de entrada: 1, 2, 3, 4, 5, 6, 7, 8 e 9 e ainda, o programa abaixo. Marque a 
resposta que mostra o que será exibido na tela. 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
system("pause"); 
return 0; 
} 
 
 1 5 9 
 
2 4 6 8 
 
1 3 5 7 9 
 
1 2 3 
 
1 2 3 4 5 6 7 8 9 
Respondido em 20/11/2019 19:01:44 
 
 
Explicação: 
Considerando a entrada 1, 2, 3, 4, 5, 6, 7, 8 e 9 e o trecho do programa abaixo, veja o comentado ao fim 
de cada trecho. 
int lin, col, mat[3][3]; 
 for (lin=0; lin<3; lin++) 
 for(col=0; col<3; col++) 
 { 
 cout<< "\nEntre com o elemento da matriz:"; 
 cin>> mat[lin][col]; 
 } 
O trecho acima montará a matriz com 3 linhas e 3 colunas, a saber : 
1 2 3 
4 5 6 
7 8 9 
Já o trecho a seguir : 
 for (lin=0; lin<3; lin++) 
 cout << mat[lin][lin]<<"\n"; 
imprimirá os elementos da matriz em que a linha e a coluna são iguais. Ou seja, imprimirá os elementos da 
diagonal principal, que estão destacados em amarelo. 
1 2 3 
4 5 6 
7 8 9 
Impressos : 1 5 9 
 
 
 
 
 6a Questão 
 
 
 Considere que você tem uma matriz 3x3 chamada MAT e precisa exibir os elementos de sua diagonal 
principal. O trecho de código do Portugol Studio que pode fazer isso é: 
 
 
para (i=0;i<=2;i++) 
{ escreva MAT[i]; } 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,i] } 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,1] } 
 para (i=0;i<=2;i++) 
{ escreva MAT[i,i] } 
 
 
para (i=0;i<=3;i++) 
{ escreva MAT[1,i] } 
Respondido em 20/11/2019 19:01:56 
 
 
 
 
 7a Questão 
 
 
 Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma 
matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de 
repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: 
 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares-- } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2!=0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2==0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1) 
 se (lin%2){ 
 se (M1%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
Respondido em 20/11/2019 19:02:05 
 
 
 
 
 8a Questão 
 
 
 Analise a seguinte afirmação: 
"Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Como poderíamos escrever uma declaração de matriz na linguagem C++, seguindo a afirmação acima, 
sabendo que os dados seriam do tipo int ? 
 
 
int edificio[40][1]; 
 
int edificio[1][40]; 
 
int edificio[5][8]; 
 int edificio[8][5]; 
 
int edificio[40][5]; 
Respondido em 20/11/2019 19:00:57 
 
 
Explicação: 
Analisando ... 
 "Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 
apartamentos ou 5 colunas. 
Dessa forma temos : 
 int edificio[8][5]; 
 
 porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas 
Veja que em todas as opções temos a variável de nome edificio. 
 
 
 
 1a Questão 
 
 
 Analise a seguinte afirmação: 
"Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Como poderíamos escrever uma declaração de matriz na linguagem C++, seguindo a afirmação acima, 
sabendo que os dados seriam do tipo int ? 
 
 
int edificio[1][40]; 
 
int edificio[40][5]; 
 
int edificio[40][1]; 
 
int edificio[5][8]; 
 int edificio[8][5]; 
Respondido em 21/11/2019 08:41:40 
 
 
Explicação: 
Analisando ... 
 "Um edifício tem 8 andares, cada andar tem 5 apartamentos." 
Cada andar pode ser visto como uma linha da matriz. E em cada linha ou andar, podemos ter 5 
apartamentos ou 5 colunas. 
Dessa forma temos : 
 int edificio[8][5]; 
 
 porque no 1o. par de parênteses temos o total de linhas e no 2o. par de colchetes temos o total de colunas 
Veja que em todas as opções temos a variável de nome edificio. 
 
 
 
 
 
 2a Questão 
 
 
 Análise a seguinte afirmação: 
"Um shopping possui 4 andares, cada andar possui 30 lojas". 
Se você for declarar uma matriz, na linguagem C++, para a afirmação acima, qual das opções abaixo você 
escolheria? 
 
 
int shopping[4][4]; 
 
int shopping[30][1]; 
 int shopping[4][30]; 
 
int shopping[30][30]; 
 
int shopping[1][30]; 
Respondido em 21/11/2019 08:41:44 
 
 
Explicação: 
 
Considerando cada andar como uma linha da matriz e as 30 lojas como as 30 colunas da matriz, teremos : 
int shopping[4][30]; 
Vejamos as outras opções : 
Falso. São 4 andares. Então, não pode ser 1 linha int shopping[1][30]; 
 
 Verdadeiro int shopping[4][30]; 
 
FAlso. São 30 lojas em cada andar, ou seja, 30 colunas em cada linha. E como são 4 
linhas, não podemos ter 30 linhas e 1 coluna 
int shopping[30][1]; 
 
Falso. Não são 4 andares com 4 lojas em cada andar. int shopping[4][4]; 
 
FAlso. Não podem ser 30 linhas porque não são 30 andares. 
int 
shopping[30][30]; 
 
 
 
 
 
 
 3a Questão 
 
 
 Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração de vetores bidimensionais deve se dar da 
seguinte forma: 
< tipo do dado > nome_da_matriz [nº de linhas][nº de colunas]; 
Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional 
para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o 
algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as notas 
de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, chamada 
notasAlunos. 
 
 
e) float notasAlunos[][]; 
 a) float notasAlunos[30][6]; 
 
b) float notasAlunos[6][30]; 
 
c) float notasAlunos[30,6]; 
 
d) float notasAlunos[6,30]; 
Respondido em 21/11/2019 08:41:54 
 
 
Explicação: 
Como cada linha possui as notas de cada aluno e são 6 disciplinas ( = 6 notas) então teremos uma matriz com 
30 linhas e 6 colunas. como a matriz se chama notasAlunos e as notas são valores reais teremos : 
 float notasAlunos[30][6];Vendo porque as outras opções não podem ser : 
Falso. São 30 linhas e 6 colunas. A matriz declarada neste item coloca 6 linhas e 
30 colunas. 
 float 
notasAlunos[6][30]; 
 
Falso. Sintaticamente incorreto. Precisa trabalhar com as linhas e colunas dentro 
de colchetes separados. 
 float 
notasAlunos[30,6]; 
 
Falso. Erro nos valores e na sintaxe no uso dos colchetes. 
 float 
notasAlunos[6,30]; 
 
Falso. Nâo colocou o total de linhas e de colunas. float notasAlunos[][]; 
 
 
 
 
 
 4a Questão 
 
 
 Sendo a matriz M bidimensional igual a: 
 
1 2 3 4 
5 -5 3 0 
Dimensionadas da seguinte maneira: 
int m[2][4]; 
Determine quais são os seguintes elementos: 
 m[0][3] 
 m[0][0] 
 m[1][1] 
 m[1][2] 
 
 
 
 
4 - 5 - -5 - 0 
 
-5 - 1 - 5 - 4 
 4 - 1 - -5 - 3 
 
0 - 1 - 3 - 5 
 
5 - 1 - 3 - 0 
Respondido em 21/11/2019 08:42:05 
 
 
Explicação: 
Considerando a matriz dada : 
1 2 3 4 
5 -5 3 0 
 
temos que na 1a. linha (linha 0) temos 4 colunas, a saber : m[0][0] que é 1, m[0][1] que é 2, m[0][2] 
que é 3 e m[0][3] que é 4 
Na 2a. linha (linha 1) temos 4 colunas, a saber : m[1][0] que é 5, m[1][1] que é -5, m[1][2] que é 3 e 
m[1][3] que é 0 
 
Logo, respondendo ao pedido temos : 
 m[0][3] é 4 
m[0][0] é 1 
m[1][1] é -5 
m[1][2] é 3 
 
 
 
 
 
 
 5a Questão 
 
 
 Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para 
armazenar o valor dos 12 salários de 45 funcionários. 
Qual das opções abaixo o estudante deverá declarar? 
 
 
int salario[45], funcionario[12]; 
 
char funcionario[12][12]; 
 
float funcionario[45][45]; 
 
float funcionario[12],[12]; 
 float funcionario[45][12]; 
Respondido em 21/11/2019 08:42:16 
 
 
Explicação: 
Um estudante do curso Sistemas de Informação precisa declarar uma matriz bidimensional para armazenar o 
valor dos 12 salários de 45 funcionários. 
Então, teremos 45 linhas, uma para cada funcionário. E para cada linha ou funcionário, teremos 12 
colunas, uma coluna para o salário de um mês. Com relação a salário devemos usar o tipo de dados float 
e não int e nem char. Logo : float funcionario[45][12]; 
 
Falso. Erro no número de linhas, colunas e uso indevido de 
vírgula 
float funcionario[12],[12]; 
 
Falso. Erro no número de colunas. float funcionario[45][45]; 
 
Falso. Erro no número de linhas, colunas e no tipo de dados. char funcionario[12][12]; 
 
Falso. Não se tem aqui matriz bidimensional, como solicitado. int salario[45], funcionario[12]; 
 
VErdadeiro. float funcionario[45][12]; 
 
 
 
 
 
 6a Questão 
 
 
 Considere que você tem uma matriz 3x3 chamada MAT e precisa exibir os elementos de sua diagonal 
principal. O trecho de código do Portugol Studio que pode fazer isso é: 
 
 para (i=0;i<=2;i++) 
{ escreva MAT[i,i] } 
 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,1] } 
 
para (i=0;i<=3;i++) 
{ escreva MAT[1,i] } 
 
para (i=1;i<=3;i++) 
{ escreva MAT[i,i] } 
 
para (i=0;i<=2;i++) 
{ escreva MAT[i]; } 
Respondido em 21/11/2019 08:42:23 
 
 
 
 
 7a Questão 
 
 
 Na codificação de um programa, na linguagem C++, é necessário a declaração de uma matriz bidimensional 
para armazenar as notas de 6 disciplinas de uma turma com 30 alunos. Tomando-se como base que o 
algoritmo considera que os dados estarão organizados na matriz de modo que cada linha represente as 
notas de um único aluno, marque a alternativa que apresenta de forma correta a declaração desta matriz, 
chamada notasAlunos. 
 
 
e) float notasAlunos[][]; 
 a) float notasAlunos[30][6]; 
 
d) float notasAlunos[6,30]; 
 
b) float notasAlunos[6][30]; 
 
c) float notasAlunos[30,6]; 
Respondido em 21/11/2019 08:42:33 
 
 
Explicação: 
A especificação de uma matriz segue a sintaxe: 
tipo [qtd linhas][qtd colunas]; 
Como são 30 alunos, cada um terá uma linha e para as 6 notas, cada uma terá uma coluna. 
Temos então: 
 float notasAlunos[30][6]; 
 
 
 
 
 8a Questão 
 
 
 Considere as regras do Portugol Studio e imagine que você precisa escrever um algoritmo que receba uma 
matriz 3x2 e exiba a quantidade de elementos ímpares armazenados nas linhas pares. A estrutura de 
repetição capaz de realizar o recebimento dos elementos da matriz M1 e a contagem descrita é: 
 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2!=0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2!=0) 
 { qtdeImpares-- } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1) 
 se (lin%2){ 
 se (M1%2!=0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
para (lin=0;lin<=2;lin++) { 
 para (col=0;col<=1;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 se (lin%2==0){ 
 se (M1[lin][col]%2==0) 
 { qtdeImpares++ } 
 } 
 } 
} 
 
 
 1a Questão 
 
 
 Em um programa, deseja-se armazenar as 3 notas , a média e a maior nota de cada um dos 50 alunos de 
uma turma, em uma matriz NOTA. Entendendo-se que todos os dados de um mesmo aluno ficarão 
armazenados em uma mesma linha, assinale a alternativa que indica a declaração correta na matriz 
descrita. 
 
 
float NOTAS [5][50]; 
 
int NOTA [50][5]; 
 float NOTA [50][5]; 
 
int NOTAS [5][50]; 
 
long int NOTA [50][5]; 
Respondido em 21/11/2019 08:43:12 
 
 
Explicação: 
Existem 50 alunos. Os dados de cada aluno devem ser armazenados em uma linha e são 5 dados por 
aluno. Então teremos uma matriz com 50 linhas e 5 colunas. Portanto, a opção marcada no gabarito é a 
certa. 
 
 
 
 
 
 2a Questão 
 
 
 Considerando a sintaxe do Portugol Studio, imagine um algoritmo que receba uma matriz de elementos 
inteiros dispostos em 3 linhas e 4 colunas. Em seguida, o algoritmo exibe a quantidade de números 
múltiplos de 5 armazenados na matriz. O trecho capaz de realizar a contagem dos múltiplos seria: 
 
 
if (matriz[lin][lin]*5!=0) 
{ multiplos++; } 
 if (matriz[lin][col]%5==0) 
{ multiplos++; } 
 
if (matriz[col][col]%5==0) 
{ multiplos++; } 
 
if (matriz[lin][col]%5==0) 
{ multiplos; } 
 
if (matriz[lin][col]/5!=0) 
{ multiplos++; } 
Respondido em 21/11/2019 08:43:23 
 
 
 
 
 3a Questão 
 
 
 Analise o código em C++ mostrado abaixo e assinale a alternativa que descreve corretamente a 
sua execução: 
#include < iostream > 
using namespace std; 
int main() 
{ 
 int p, num[50]; 
 
 for (p = 0; p <= 49; p++) 
 { 
 cout << "Digite um valor : "; 
 cin >> num[p]; 
 } 
 
 for (p = 0; p <= 49; p++) 
 { 
 if (num[p] % 2 == 0 && num[p] > 30) 
 cout << num[p] << "\t"; 
 } 
 
 system("pause"); 
 return 0;} 
 
 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e 
que sejam menores que 30. 
 O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e 
que sejam maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares 
e que sejam maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam 
maiores que 30. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. 
Respondido em 21/11/2019 08:43:37 
 
 
Explicação: 
Analisando o programa temos que : 
O 1o. for lê valores inteiros e os armazena em um vetor com capacidade para 30 elementos. Depois, no 2o. 
for, testa cada elemento do vetor e verifica se é par e se é maior que 30. Apenas satisfazendo as 2 
condições é que o elemento de v será impresso. 
Analisando cada opção : 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os 50 números. é falso. Nâo 
imprime todos os números 
O código armazenará em um vetor 50 números inteiros e imprimirá todos os números que sejam maiores 
que 30. é falso. Tem que ser par e maior que 30 para ser impresso. 
 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números ímpares e que 
sejam maiores que 30. é falso. Imprime os pares maiores que 30 e não os ímpares. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam 
menores que 30. é falso. Tem que ser par e maior que 30 para ser impresso. 
O código armazenará em um vetor 50 números inteiros e imprimirá somente os números pares e que sejam 
maiores que 30. Verdadeira 
 
 
 
 
 
 4a Questão 
 
 
 Uma matriz é uma estrutura _____________ e _____________ para armazenamento de um 
_____________ que deve ser _____________. 
 
 
bidimensional - heterogênea - único valor - de tipos variados 
 bidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
unidimensional - heterogênea - único valor - de tipos variados 
 
unidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
Respondido em 21/11/2019 08:43:48 
 
 
 
 
 5a Questão 
 
 
 Imagine que você precisa escrever um algoritmo que receba uma matriz 4x4 de números inteiros, gere e 
exiba uma segunda matriz na qual as linhas são as colunas da matriz 1, e as colunas são as linhas da matriz 
1. Qual das alternativas a seguir apresenta o código da estrutura de repetição que recebe os elementos da 
primeira matriz e gera a segunda? 
 
 para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
 
enquanto (lin=0;lin<=3;lin++) { 
 enquanto (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[col][lin]=M1[lin][col] 
 } 
} 
 
para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][col]) 
 M2[lin][col]=M1[lin][col] 
 } 
} 
 
para (lin=0;lin<=3;lin++) { 
 escreva("Informe a posição [",lin+1,",",col+1,"]: ") 
 leia(M1[lin][lin]) 
 M2[lin][lin]=M1[lin][lin] 
} 
 
para (lin=0;lin<=3;lin++) { 
 para (col=0;col<=3;col++) { 
 escreva(M2[lin][col]," ") 
 } 
} 
Respondido em 21/11/2019 08:43:58 
 
 
 
 
 6a Questão 
 
 
 Se você precisar escrever um programa em C++ que receba uma matriz de elementos inteiros dispostos em 
3 linhas e 4 colunas e exiba a quantidade de números múltiplos de 5 armazenados na matriz vai precisar de 
 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os 
múltiplos de 5 e variando de 0 a 5 . 
 
Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando os 
múltiplos de 5 e variando de 0 a 5 . 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as 
colunas e variando de 0 a 3. 
 Duas estruturas repetitivas: uma controlando as linhas e variando de 0 a 2, e outra controlando as 
colunas e variando de 0 a 3. 
 
Duas estruturas seletivas: uma controlando as linhas e variando de 1 a 5, e outra controlando as 
colunas e variando de 1 a 3. 
Respondido em 21/11/2019 08:44:06 
 
 
 
 
 7a Questão 
 
 
 Suponha que você tenha que fazer um programa em C++ e deseja armazenar a venda dos 3 meses de 
30 vendedores de uma loja em uma matriz. Marque a opção que representa esta declaração: 
 
 
float valores[30][2]; 
 
float valores[32]; 
 
char valores[30]; 
 float valores[30][3]; 
 
char valores[30][2]; 
Respondido em 21/11/2019 08:44:09 
 
 
Explicação: 
 
Para cada vendedor teremos os valores dos 3 meses. Ou seja, para cada um dos 30 vendedores iremos 
armazenar valores reais, um em cada mês. Então, podemos declarar uma matriz bidimensional com 30 
linhas e 3 colunas. 
Como foi usado o nome valores para a matriz e se está armazenando os valores dos vendedores, usaremos 
float. 
Então, 
float valores[30][3]; 
 
 
 
 
 
 8a Questão 
 
 
 Em uma aplicação em C/C++, a matriz ESTOQUE [3][4] armazena a quantidade estocada de 3 produtos no 
último quadrimestre (4 meses). Para obter o total estocado no primeiro mês do quadrimestre, o programa 
deverá: 
 
 
Somar todas as colunas da linha índice 1 
 
Somar todas as colunas da linha índice 0. 
 Somar todas as linhas da coluna índice 0. 
 
Somar todas as linhas da coluna índice 1. 
 
Somar todas as linhas de todas as colunas. 
Respondido em 21/11/2019 08:44:15 
 
 
Explicação: 
Em cada linha se tem os preços de um produto. Em cada coluna de uma linha se tem o preço em cada mês 
do produto. 
Daí, a resposta ser a indicada no gabarito.

Mais conteúdos dessa disciplina