Buscar

Banco de Questões - ADS - Estácio (3)

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 9, do total de 56 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Prévia do material em texto

1a 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 + (salAtual*percAumento/100) 
 
novoSal <- salAtual + (percAumento/100) 
 
novoSal <- (salAtual*percAumento/100) 
 
novoSal <- salAtual + (salAtual*100) 
 
novoSal <- salAtual + (salAtual*percAumento) 
Respondido em 29/03/2020 15:06:59 
 
 
Explicação: 
Atenção à operação de multplicação, realizada com o uso do operado *. 
 
 
 
 2a Questão 
 
 
O resultado do pensamento computacional pode ser denominado algoritmo. Um algoritmo pode ser definido como 
 
 
um processo de solução de problemas implementado, obrigatoriamente, em Portugol. 
 
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. 
Respondido em 29/03/2020 15:09:40 
 
 
Explicação: 
O pensamento computacional produz a solução estruturada para um problema. Essa solução é chamada de algoritmo e não está 
escrita em nenhuma linguagem de programação ou código linguístico controlado. É possível criar algoritmos para problemas 
variados, que não necessariamente serão resolvidos com o auxílio de um computador, como o problema de ter de trocar um pneu 
do carro quando o mesmo fura. 
 
 
 
 3a 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 e II 
 
III e IV 
 
I, II e III 
 I e III 
 
I, II, III e IV 
Respondido em 29/03/2020 15:11:01 
 
 
Explicação: 
O Portugol é uma linguagem intermediária entre a linguagem natural e a linguagem de programação. Para fins de padronização e 
garantia de compreensão dos algoritmos, o Portugol adota algumas regras; dentre elas, um vocabulário controlado na lingua natual 
de quem escreve o algoritmo (no nosso caso, o português). Algoritmos escritos em Portugol podem ter sua execução testada em um 
computador somente através de programas como o Portugol Studio e o VisuAlg. 
 
 
 
 4a 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 e II. 
 I, II e III. 
 
I e III 
 
Todas são falsas. 
 
II e III. 
Respondido em 29/03/2020 15:11:50 
 
 
Explicação: 
Os fluxogramas são a representação gráfica dos algoritmos. Para desenhá-los, existe um conjunto de regras a ser seguido e é 
necessário utilizar uma simbologia específica. Embora existam gabaritos (réguas) que nos ajudam a desenhar os fluxogramas no 
papel, atualmente existem diversos programas que nos permitem fazê-lo no computador. 
 
 
 
 5a 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. 
 
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. 
 
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. 
Respondido em 29/03/2020 15:13:11 
 
 
Explicação: 
O fluxograma recebe o ano atual e o ano de nascimento do usuário, calcula e exibe sua idade. 
 
 
 
 6a Questão 
 
 
Você está nos Estados Unidos e precisa converter o preço de um produto em dólares para o equivalente em reais, pois deseja 
verificar se vale a pena comprar esse produto no exterior. Para criar um algoritmo que resolva esse problema, é preciso receber o 
valor do produto em dólares, calcular e exibir o seu preço equivalente em reais. Também será preciso pedir que o usuário informe a 
cotação do dólar no momento da conversão. Sabendo disso, que instrução deve ser usada para receber os valores via teclado e 
armazená-los em variáveis? 
 
 
Escreva 
 
Saída 
 Leia 
 
Processamento 
 
Atribuição 
Respondido em 29/03/2020 15:13:58 
 
 
Explicação: 
A instrução leia é responsável por armazenar em uma variável o valor informado via teclado. 
 
 
1a 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. 
 II e III são verdadeiras. 
 
I e IV são verdadeiras. 
 
I, II e III são verdadeiras. 
 
II, III e IV são verdadeiras. 
Respondido em 30/03/2020 11:44:18 
 
 
Explicação: 
A linguagem de programação C++ 
- oferece a possibilidade de criação de variáveis e constantes do tipo lógico, definido como bool; 
- faz distinção entre letras maiúsculas e minúsculas; portanto, TELEFONE é diferente de telefone; 
- permite que o primeiro caractere de identificadores de variáveis seja o sublinhado ("_"); 
- é fortemente tipada, ou seja, o tipo de dado a ser armazenado na variável deve ser explicitamente definido., 
 
 
 
 2a 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: 
 
 nomeProprio, sal_Bruto, _email, matricula2019 
 
Nome@Proprio, SALBRUTO, *email*, matricula 2019 
 
NoMePrOpRiO, SalBruto, e-mail, matricula 2019 
 
nomePróprio, SAlBRuTO, email, matrícula2019 
 
nome-proprio, salBRUTO, #email, matricula*2019 
Respondido em 30/03/2020 11:46:54 
 
 
Explicação: 
No C++, as regras para criação de identificadores de variáveis são as seguintes: 
 Os identificadores podem começar com uma letra ou com o caractere "_"; 
 Após o primeiro caractere, o identificador pode ser comporto por letras e números; 
 Caracteres especiais e espaços em branco não podem ser utilizados. 
 
 
 
 
 3a Questão 
 
 
Um menino resolveu abrir o cofrinho de economias que contém o que guardou durante um ano. São moedas de R$ 0,25, R$ 0,50 e 
R$ 1,00. Imaginando que você precisa escrever um programa em C++ que, a partir da quantidade de cada moeda, mostre a quantia 
total economizada, como seria a declaração de variáveis necessárias a este programa? 
 
 
string qtde25, qtde50, qtde1, quantiaTotal; 
 float qtde25, qtde50, qtde1, quantiaTotal; 
 
bool qtde25, qtde50, qtde1, quantiaTotal; 
 
int qtde25, qtde50, qtde1, quantiaTotal; 
 
char qtde25, qtde50, qtde1, quantiaTotal;Respondido em 30/03/2020 11:49:52 
 
 
Explicação: 
As variáveis precisam ser capazes de armazenar valores do tipo real, portanto, precisam ser declaradas como float. 
 
 
 
 4a 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 
 
 
booleano, integer, string e char. 
 bool, char, int e float. 
 
long char, long bool, long int e long float. 
 
real, int, char e double. 
 
character, string, real e double. 
Respondido em 30/03/2020 11:50:41 
 
 
Explicação: 
No C++, os tipos disponíveis para declaração de variáveis são int, long int, float, double, char e bool. 
 
 
 
 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++? 
 
 
float PI=3.14; 
 const float PI=3.14; 
 
const int PI=3.14; 
 
const real PI=3.14; 
 
const integer PI=3.14; 
Respondido em 30/03/2020 11:52:17 
 
 
Explicação: 
No C++, a declaração de constantes se inicia com a palavra reservada const, seguida do tipo da constante, seu identificador e seu 
valor. 
 
 
 
 
 6a 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 é: 
 
 float quilo = 34.90; float prato = 0; float valor_pagar = 0; 
 
real quilo = 34.90; real prato = 0; real valor_pagar = 0; 
 
int quilo = 34.90; int prato = 0; int valor_pagar = 0; 
 
bool quilo = 34.90; bool prato = 0; bool valor_pagar = 0; 
 
char quilo = 34.90; char prato = 0; char valor_pagar = 0; 
Respondido em 30/03/2020 11:52:56 
 
 
Explicação: 
É necessário que as variáveis sejam do tipo float, pois armazenarão valores do tipo real. 
 
 
1a Questão 
 
Utilizando a sintaxe do C++, como pode ser reescrita a expressão 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 30/03/2020 16:21:04 
 
 
Explicação: 
No C++, os operadores lógicos são && (e), || (ou), ! (não); 
 
 
 
 2a 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, é: 
 
 
F, F, F, F, F, V, V, V 
 V, V, V, V, V, F, F, F 
 
V, V, F, F, V, V, F, F 
 
F, V, F, V, V, F, V, F 
 
V, F, V, F, V, F, V, F 
Respondido em 30/03/2020 16:22:52 
 
 
Explicação: 
A expressão tem 3 variáveis, o que faz com que sejam possíveis 8 combinações diferentes de V e F para as variáveis. A partir daí, 
resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. 
 
 
 
 3a 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 - F - F - F 
 V - V - V - F 
 
V - V - V - V 
 
F - F - V - F 
 
F - V - V - F 
Respondido em 30/03/2020 16:23:49 
 
 
Explicação: 
A expressão tem 2 variáveis, o que faz com que sejam possíveis 4 combinações diferentes de V e F para as variáveis. A partir daí, 
resolve-se a expressão respeitando-se a prioridade dos operadores lógicos: NÃO, E, OU. Analisando os valores para 
preenchimento da coluna solicitada, precisamos lembrar que se trata de uma avaliação lógica com o operador OU, que resulta em 
VERDADEIRO sempre que um dos valores da expressão for desse tipo. 
 
 
 
 4a 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 I e II são verdadeiras. 
 Todas as afirmativas são falsas. 
 
A afirmativa I é verdadeira. 
 
A afirmativa II é verdadeira. 
 
As afirmativas II e III são verdadeiras. 
Respondido em 30/03/2020 16:26:23 
 
 
Explicação: 
- A tabela da verdade avalia expressões lógicas. 
- No preenchimento das colunas das variáveis da expressão, não há repetição de combinações. 
- A quantidade de resultados possíveis para expressão é determinada pela potência de base 2 elevada à quantidade de variáveis da 
expressão. 
 
 
 
 5a 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 30/03/2020 16:27:45 
 
 
Explicação: 
Trata-se de uma expressão mista, que utiliza operadores relacionais (maior, diferente), lógicos (&&) e matemáticos (%). 
 
 
 
 6a 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 ou nao D 
 
A ou nao B e nao C e nao D 
 
A ou B e C e D 
 
A e B ou C nao D 
 A ou B e C e nao D 
Respondido em 30/03/2020 16:28:13 
 
 
Explicação: 
A equivalência entre os operadores lógicos é: 
! → nao 
&& → e 
|| → ou 
 
 
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 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 read e para saída de dados usamos write 
 Para entrada de dados usamos cout com << e para saída de dados usamos 
cin com >> 
Respondido em 15/04/2020 13:54:42 
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
 
 2a 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 - setlocale 
 locale - setlocale 
 
iostream - ptb 
 locale - ptb 
Respondido em 15/04/2020 13:55:52 
 
 
 
 
 3a 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 15/04/2020 14:01:31 
 
 
 
 
 4a 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$ ") 
10leia(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.28 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 15/04/2020 14:02:52 
 
 
 
 
 5a 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) 
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: ") 
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) 
 
 
1a Questão 
 
Considere o trecho de programa em C++. O que é impresso na tela ? 
 
int x = 10, y = 3, z, k; 
y = x + y - 1; 
z = x/y; 
k = y % x; 
if (k == 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k; 
else 
cout << x + 1 << " " << y - 1 << " " << z + 2 << " " << k - 2; 
 
 
x = 10 y = 12 z = 0 k = 0 
 
x = 10 y = 12 z = 0.833 k = 0 
 11 11 2 0 
 
x= 11 y = 11 z = 2 k = 0 
 
10 12 2 0 
Respondido em 15/04/2020 18:11:18 
 
 
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 
 
 
 
 2a Questão 
 
 
Uma pessoa deseja verificar se o total gasto durante o mês ultrapassa o valor de seu salário. Imaginando que você tenha um algoritmo 
no qual o salário esteja armazenado na variável SAL e o total de gastos esteja armazenado na variável GASTOS, como deve ser 
escrita a estrutura seletiva responsável por testar o que você deseja descobrir? 
 
 
se (GASTOS>=SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS==SAL) 
 escreva("Você gastou mais do que deveria!") 
 
se (GASTOS 
 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 15/04/2020 18:12:40 
 
 
 
 
 3a Questão 
 
 
 Assinale a opção correta. O que será impresso na tela, respectivamente, após duas execuções seguidas, sendo que na 1ª. 
execução o valor de entrada é 10 e na 2ª. execução o valor de entrada é 0. Para isso, considere o seguinte trecho em C++. 
 int num; 
 cout << "Digite um numero: "; 
 cin >> num; 
 if (num > 0) 
 { 
 num++; 
 cout << num << " "; 
 } 
 cout << num + 1 << " "; 
 if (num < 0) 
 { 
 num--; 
 cout << num << " "; 
 } 
 else 
 cout << num * 10 ; 
 
 
 
 
11 110 1 10 
 
 
11 110 1 0 
 
 11 12 110 1 0 
 
 
11 12 110 
 
 
11 110 1 0 
 
Respondido em 15/04/2020 18:14:41 
 
 
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 
 
 
Examine as afirmativas a seguir e marque a alternativa correta. 
I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um algoritmo. 
II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso de duas estruturas de decisão simples, pois 
reduz o número de testes. 
III- Muitas vezes é possível combinar a condição de duas estruturas de decisão simples em apenas uma utilizando operadores 
lógicos. 
 
 Todas as alternativas estão corretas. 
 
Apenas a alternativa ii está correta. 
 
Apenas a alternativa i está correta. 
 Todas as alternativas estão erradas. 
 
Apenas a alternativa iii está correta. 
Respondido em 15/04/2020 18:24:41 
 
 
Explicação: As estruturas de decisão realmente alteram o fluxo de um programa, uma estrutura composta é mais eficiente que duas 
simples, já que há menos testes e podemos usar operadores lógicos para combinar condições e reduzir o número de estruturas de 
decisão simples. Portanto todas as afirmativas estão corretas. 
 
 
 
 5a Questão 
 
 
Analise o trecho abaixo que um aluno desenvolveu na linguagem C++ e escolha a opção onde estão os valores que aprecem na tela. 
int x = 235, y = 138, z = 177, m; 
m = z; 
if( x < m) m = x; 
if( y < m) m = y; 
cout << m << " " << x << " " << y ; 
 
 
138 138 235 
 
235 235 138 
 177 138 235 
 
177 235 138 
 138 235 138 
Respondido em 15/04/2020 18:17:59 
 
 
Explicação: A variável m ficará com o menor valor 
 
 
 
 6a 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 9 
 
 
8 10 40 
 
 
9 8 10 40 
 
 
9 40 
 
Respondido em 15/04/2020 18:20:00 
 
 
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 é verdadeirae 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 
 
 
 
 7a 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 13 4 
 13 4 13 
 
0 13 4 
 
4 13 13 
Respondido em 15/04/2020 18:21:50 
 
 
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 
 
 
 
 
 
 8a Questão 
 
 
Considere o trecho de programa em C++ e assinale a opção que mostra o que é 
impresso na tela. 
int x, y, z; 
x = 10; 
y = 6; 
z = x/y; 
cout << z << " "; 
if (z > 0) 
 z = x % y; 
cout << z << " "; 
 
 
 4 1 
 4 4 
 1 4 
 Ocorrerá erro, pois o trecho não compila. 
 1 1 
Respondido em 15/04/2020 18:20:51 
 
 
Explicação: 
Basta fazer teste de mesa. DEssa forma, atribuir os valores das variáveis, testar e ver o que é impresso. 
 
 
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? 
 
 
for 
 
cout 
 
while 
 
do/while 
 switch/case 
Respondido em 04/05/2020 19:57:16 
 
 
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 
 
 
 
A linguagem C++ possui estruturas de decisão, as quais podem mudar a sequência de execução dos comandos. Analise o trecho de programa abaixo 
e assinale a alternativa que corresponda a estrutura de decisão utilizada. 
int main() { 
int num; 
cout<<"Digite um número: "; 
cin>> num; 
(num > 0)?cout<< num : cout<<" Número negativo "; 
return 0; 
} 
 
 
comando switch 
 aninhamento de if 
 Operador ternário 
 
Estrutura condicional de comando simples 
 
Estrutura condicional de comando composto 
Respondido em 04/05/2020 19:58:37 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
 
 
 
 3a Questão 
 
 
Considere o trecho de programa em C++ abaixo. O que é impresso na tela quando o número de entrada é 9 ? Assinale a opção 
correta. 
 int x; 
 cout << "Digite um numero: "; 
 cin >> x; 
 if (x % 2 == 0) 
 cout << x << "é divisível por 2"; 
 else 
 if (x % 3 == 0 && x % 5 == 0) 
 cout << x << " é divisível por 3 e por 5"; 
 else 
 cout << x << " ### " ; 
 
 
 
9 é divisível por 3 e por 5. 
 
Apenas 9 
 
9 não é divisível por 2. 
 9 ### 
 
Nada aparece, pois o trecho de programa possui erro. 
Respondido em 04/05/2020 20:01:42 
 
 
Explicação: 
Como a entrada foi 9 então o teste do 1o. if falha e entramos no 1o. else. 
Dentro do 1o. else temos uma conjunção, ou seja, um E. Como o 1o. teste do E é verdadeiro, mas o 2o. teste é falso, não entramos 
no bloco do 2o. if. Entramos então, no último else . Por isso, é impresso o valor de x e ###. Como x vale 9, a saída é 9### 
 
 
 
 4a Questão 
 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual poderão fazer seu pedido. Para que isso aconteça, 
o terminal deve exibir o menu de itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
------------------------------------------------------------------- 
Uma vez que o cliente informe o código do item desejado, o terminal deverá perguntar a quantidade de itens que ele deseja pedir. Ao 
final, o usuário deverá informar o pedido do cliente e o valor a pagar. 
Considerando a sintaxe do Portugol Studio, um algoritmo que possa resolver o problema da lanchonete, utilizando a estrutura 
ESCOLHA, no trecho referente à compra de um milkshake seria: 
 
 caso 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
enquanto (102) 
 item="Milkshake" 
 valor=qtde*7 
 
para (item==102) 
{ 
 item="Milkshake" 
 valor=qtde*7 
} 
 
escolha 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
 
se 102: 
 item="Milkshake" 
 valor=qtde*7 
pare 
Respondido em 04/05/2020 20:04:11 
 
 
 
 
 5a 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 ou lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 e lado2==lado3 e lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
se (lado1=lado2 e lado2=lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se 
{ escreva("Este é um triângulo escaleno!") } 
senao (lado1=lado2 ou lado2=lado3 ou lado3=lado1) 
{ escreva("Este é um triângulo isósceles!") } 
 se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
(lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo equilátero!") } 
se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
se 
{ escreva("Este é um triângulo isósceles!") } 
Respondido em 04/05/2020 20:06:33 
 
 
 
 
 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. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, como ficariam as linhas iniciais dessa seleção, até o 
caso de o item "hambúrguer" ser escolhido? 
 
 
switch (codigo) { 
 if 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
switch (codigo) { 
 default 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break;} 
 switch (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
while (codigo) { 
 case 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
 break; 
} 
Respondido em 04/05/2020 20:07:32 
 
 
 
 
 7a Questão 
 
 
Com base na sintaxe do Portugol Studio, imagine que você precisa escrever um algoritmo que exiba o nome do dia semana a partir 
de seu código numérico equivalente, armazenado na variá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 - escolha, B - caso, C - pare, D - outros casos 
 
A - switch, B - case, C - break, D - default 
 
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 
Respondido em 04/05/2020 20:10:45 
 
 
 
 
 8a 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 
 switch / case 
 
do/while 
Respondido em 04/05/2020 20:08:27 
 
 
Explicação: 
Por definição dada em aula de comando de seleção 
 
 
1a Questão 
 
Sobre a estrutura com pós-teste, julgue as assertivas a seguir Verdadeiras ou Falsas: 
( ) Avalia somente uma condição por vez, tendo essa que ser do tipo relacional ou matemático. 
( ) Trata-se de uma estrutura de seleção capaz de restringir a execução de determinado trecho do código; 
( ) É uma estrutura do tipo repetitiva, que precisa de uma condição que controle quando o trecho deve se repetir; 
 
 
 
V - F - V 
 
F - F - F 
 V - F - F 
 F - F - V 
 
F - V - V 
Respondido em 14/05/2020 20:28:34 
 
 
 
 
 2a 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 é: 
 
 
 
if (num!=0) 
 while (num==0) 
 
do (num!=0) 
 
for (num<=0) 
 while (num!=0) 
Respondido em 14/05/2020 20:29:40 
 
 
 
 
 3a Questão 
 
 
A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é 
implementada pelo comando básico 
 
 
de seleção 
 
sequencial 
 
de atribuição 
 
condicional 
 de repetição 
Respondido em 14/05/2020 20:36:38 
 
 
Explicação: 
A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é 
implementada pelo comando básico de repetição 
 
 
 
 4a 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; 
} 
 
 30 
 
15 
 
29 
 
31 
 
Nenhuma das alternativas. 
Respondido em 14/05/2020 20:37:06 
 
 
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 ALGORITMO 
 
 
 
 
 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; 
 
 
30 
 40 
 25 
 
20 
 
35 
Respondido em 14/05/2020 20:35:06 
 
 
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 
 
 
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 início da estrutura / a saída da estrutura de repetição ocorre quando o resultado do teste 
é verdadeiro. 
 
O teste de controle é realizado no fim da estrutura / 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. 
 
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. 
Respondido em 14/05/2020 20:33:16 
 
 
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 
 
 
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; 
} 
 
 while 
 
loop 
 
do case 
 
for 
 
repeat 
Respondido em 14/05/2020 20:31:18 
 
 
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 
 
 
 
 
 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 () { cout << "exibindo o número"; } 
 
while (if cont =10){ } 
 
while (repita 10 vezes) { } 
Respondido em 14/05/2020 20:30:22 
 
 
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 
 
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 <= 11 
 
x < 5 
 x <= 5 
 x < 10 
 
x > 10 
Respondido em 17/05/2020 17:51: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. 
 
 
 
 2a 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 início 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. 
 
O teste de controle é realizado no fim da estrutura / 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. 
Respondido em 17/05/2020 17:52:49 
 
 
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. 
 
 
 
 3a Questão 
 
 
Qual a estrutura de repetição mais indicada para os casos em que é necessário que o bloco de código a ser repetido seja sempre 
repetido pelo menos uma vez? 
 
 while{} 
 do{ }while 
 
repeat until 
 
for{} 
 
while do 
Respondido em 17/05/2020 17:53:44 
 
 
Explicação: 
O comando do... while deixa fazer para depois testar. Logo, é feita apenas 1 vez. 
No caso do comando while ou for, é possível não entrarmos no bloco do loop nenhuma vez. 
 
 
 
 
 4a 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; 
} 
 
 
O maior de todos os elementos digitados 
 
O menor de todos os elementos digitados 
 A média dos elementos digitados 
 A quantidade de elementos digitados diferentes de zero. 
 
A quantidade de elementos pares 
Respondido em 17/05/2020 17:55:18 
 
 
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. 
 
 
 
 5a Questão 
 
 
A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é 
implementada pelo comando básico 
 
 
condicional 
 
de seleção 
 de repetição 
 
de atribuição 
 
sequencial 
Respondido em 17/05/2020 18:03:06 
 
 
Explicação: 
A estrutura de dados de iteração na qual uma ação será executada pelo menos uma vez, antes da avaliação da condição, é 
implementada pelo comando básico de repetição 
 
 
 
 6a 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 <= 200; 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=0; cont <= 10; cont+=2) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
 
for (int cont=10; cont <= 0; cont++) 
{ cout << "Estamos na " << cont << "a. rodada..."; } 
Respondido em 17/05/2020 18:02:06 
 
 
 
 
 7a 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; 
} 
 
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; 
} 
 
do (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 17/05/2020 17:59:00 
 
 
 
 
 8a 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); 
 
 
7 vezes 
 
5 vezes 
 4 vezes 
 8 vezes 
 
6 vezes 
Respondidoem 17/05/2020 17:56:21 
 
 
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 
1a 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 22 41 60 79 98 
 
3 22 41 59 79 98 
 
3 23 42 61 80 99 
 
3 23 40 60 79 98 
 
3 22 41 60 79 99 
Respondido em 18/05/2020 15:34:08 
 
 
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 
 
 
 
 2a Questão 
 
 
 
 
 50 e 16 
 9 e 9 
 o valor de s está indefinido e o valor de num é 7 
 50 e 9 
 16 e 9 
Respondido em 18/05/2020 15:38:41 
 
 
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 
 
 
 
 3a Questão 
 
 
Marque a opção correta. Considere o trecho de programa feito 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 = 24 num = 5 
 
 
Prod não pode ser calculado e num assumirá o valor final 5. 
 
 
Prod = 6 num = 5 
 
 
Prod = 6 num = 4 
 
 
 Prod = 1 num = 2 
Prod = 2 num = 3 
Prod = 6 num = 4 
Prod = 24 num = 5 
 
Respondido em 18/05/2020 15:39:07 
 
 
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 
 
 
 
 
 
 4a 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 crescente. 
 Os números ímpares entre 1 e 5 em ordem decrescente. 
 Os valores entre 1 e 5 (inclusive) em ordem decrescente. 
 Os números ímpares entre 1 e 5 (inclusive) em ordem decrescente. 
 Os números pares entre 1 e 5 (inclusive) em ordem crescente. 
Respondido em 18/05/2020 15:45:56 
 
 
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. 
 
 
 
 
 5a 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 
 6 3 4 1 2 
 
6 5 3 2 1 
 
5 4 3 2 1 
 
5 6 3 2 1 
Respondido em 18/05/2020 15:49:47 
 
 
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. 
 
 
 
 
 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: "; 
 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; 
} 
 
 
O maior de todos os elementos digitados 
 
O menor de todos os elementos digitados 
 A média dos elementos digitados 
 
A quantidade de elementos digitados 
 
A quantidade de elementos pares 
Respondido em 18/05/2020 15:51:33 
 
 
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) 
 
 
 
 7a 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 (int i=0, i <= 200, i++) 
 for ( i=0; i <= 200; i++) 
 
for (int i=0; i <= 200; i++) 
Respondido em 18/05/2020 15:52:53 
 
 
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++) 
 
 
 
 
 8a Questão 
 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado enquanto a variável num seja diferente de 0? 
 
 
for (i = num; i > 0; i++) 
 
for ( i = 0; i == num; i++) 
 while (num != 0) 
 
while (num == 0) 
 
enquanto (num > 0) 
Respondido em 18/05/2020 15:53:24 
 
 
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++) 
 
 
 
1a Questão 
 
 
 
 0 1 2 3 4 5 4 3 2 1 0 
 -1 0 1 2 3 4 5 6 7 8 
 -1 0 1 2 3 4 4 3 2 1 
 -1 0 1 2 3 4 5 4 3 2 1 
 0 1 2 3 4 5 6 7 8 9 
Respondido em 18/05/2020 15:28:20 
 
 
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 terceirofor, 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, ficando assim: 
v[]= {-1,0,1,2,3,4,4,3,2,1) 
O último for, apenas imprime o vetor completo. 
 
 
 
 2a 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 
 As declarações I , II e III estão corretas 
 Somente as declarações I e II estão corretas 
 A declaração I está errada e a declaração II está correta 
Respondido em 18/05/2020 15:16:22 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e não duplas. 
 
 
 
 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[ind]+jogadasB[ind] 
escolha (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
outros casos 
{ escreva("Jogador B venceu!\n") } 
 
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=[ind]+jogadasB 
se (total%2>=0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
Respondido em 18/05/2020 15:19:48 
 
 
 
 
 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: 
 
 
int lista[15]; 
 
int LISTA[16]; 
 
float lista[16]; 
 float LISTA[15]; 
 
float lista[15]; 
Respondido em 18/05/2020 15:14:10 
 
 
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 
 
 
Um vetor é uma estrutura _____________ e _____________ para armazenamento de um _____________ que deve ser 
_____________. 
 
 
bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
 
unidimensional - heterogênea - único valor - de tipos variados 
 
unidimensional - homogênea - único valor - de tipos variados 
 
bidimensional - homogênea - único valor - do mesmo tipo 
 unidimensional - homogênea - conjunto de valores - do mesmo tipo 
Respondido em 18/05/2020 15:12:57 
 
 
 
 
 6a Questão 
 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
Comandos de repetição 
 
Comandos de seleção composta 
 
Comandos de seleção 
 Estruturas de dados homogêneas 
 
Estruturas de dados heterogêneas 
Respondido em 18/05/2020 15:09:33 
 
 
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 
 
 
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) 
{ SOMA=NUM[i]; } 
 for (i=0;i<=9;i++) 
{ SOMA=SOMA[i]+NUM } 
Respondido em 18/05/2020 15:11:46 
 
 
 
 
 8a 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=1;i<=30;i++){ vetor[i] = 0; } 
 for(int i=0;i<30;i++){ vetor[i] = 0; } 
Respondido em 18/05/2020 15:03:13 
 
 
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; } 
 
 
 
1a 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 18/05/2020 20:24:44 
 
 
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. 
 
 
 
 2a 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. 
 
 
c) float notasAlunos[30,6]; 
 
e) float notasAlunos[][]; 
 a) float notasAlunos[30][6]; 
 
b) float notasAlunos[6][30]; 
 
d) float notasAlunos[6,30]; 
Respondido em 18/05/2020 20:26:11 
 
 
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]; 
 
 
 
 3a 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 0. 
 
Somar todas as colunas da linha índice 0. 
 Somar todas as linhas da coluna índice 1. 
 
Somar todas as colunas da linha índice 1 
 
Somar todas as linhas de todas as colunas. 
Respondido em 18/05/2020 20:32: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. 
 
 
 
 
 4a Questão 
 
 
Sabendo-se que a sintaxe do C e do C++ estabelece que a declaração devetores 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. 
 
 
b) float notasAlunos[6][30]; 
 
e) float notasAlunos[][]; 
 a) float notasAlunos[30][6]; 
 
c) float notasAlunos[30,6]; 
 
d) float notasAlunos[6,30]; 
Respondido em 18/05/2020 20:37:04 
 
 
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[][]; 
 
 
 
 
 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 2 3 
 
1 2 3 4 5 6 7 8 9 
 
1 3 5 7 9 
 
2 4 6 8 
 1 5 9 
Respondido em 18/05/2020 20:24:16 
 
 
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 
 
 
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 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. 
 
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 18/05/2020 20:22:12 
 
 
 
 
 7a 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] 
 } 
} 
 
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] 
 } 
} 
 
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++) { 
 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 18/05/2020 20:39:19 
 
 
 
 
 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[1][40]; 
 
int edificio[5][8]; 
 
int edificio[40][1]; 
 
int edificio[40][5]; 
 int edificio[8][5]; 
Respondido em 18/05/2020 20:17:29 
 
 
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.

Continue navegando