Buscar

algoritimos

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 93 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 93 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 93 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 
 
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 sequência de comandos escritos em uma linguagem de programação. 
 
uma solução textual redigida com base em uma sintaxe rígida e com 
vocabulário controlado. 
 
uma série de procedimentos descritos passo a passo visando a solução de um 
problema. 
 
um processo de solução de problemas implementado, obrigatoriamente, em 
Portugol. 
Respondido em 29/03/2020 16:33:07 
 
 
 
 
 2a 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 a estrutura básica DECISÃO 
 
Apresenta na sua lógica as estruturas de DECISÃO e REPETIÇÃO 
 
Apresenta na sua lógica a estrutura básica REPETIÇÃO 
 
Apresenta na sua lógica as três estruturas básicas de programação 
Respondido em 29/03/2020 16:33:22 
 
 
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. 
 
 
 
 
 3a Questão 
 
Sobre Português Estruturado, assinale a opção correta : 
 
 
É igual a uma carta para um encarregado 
 
É igual à linguagem de programação na língua portuguesa 
 
É igual à linguagem natural ou narrativa 
 
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 ao fluxograma 
Respondido em 29/03/2020 16:34:17 
 
 
Explicação: 
Definição direta e objetiva dada na aula 1. 
 
 
 
 
 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. 
 
 
P, N, G 
 
G, N, P 
 
G, P, N 
 
N, G, P 
 
N, P, G 
Respondido em 29/03/2020 16:36: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 
 
Assinale a opção que, corretamente, mostra exemplos de linguagens de 
programação. 
 
 
fluxograma, português estruturado, C 
 
C++, C# e fluxograma 
 
português estruturado, C++, Java 
 
C++, Java, C# 
 
C++, Java, portugol 
Respondido em 29/03/2020 16:37:41 
 
 
Explicação: 
Exemplos dados na aula 1. 
 
 
 
 
 6a Questão 
 
Assinale a opção correta. 
 
 
Um programa em C++ não tem variáveis. 
 
Programa é um conjunto de instruções escritas em uma linguagem de 
programação e que dizem o que o computador deve fazer. 
 
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 precisa ser compilado. 
 
Programa é um algoritmo escrito em fluxograma. 
Respondido em 29/03/2020 16:38:28 
 
 
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. 
 
 
 
 
 7a 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 III está correta. 
 
Somente a II e III estão corretas. 
 
Somente a I e II estão corretas. 
 
Somente a II está correta. 
 
Somente a I está correta. 
Respondido em 29/03/2020 16:39:26 
 
 
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. 
 
 
 
 
 
 8a 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 Inglês. 
 
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 portugol. 
Respondido em 29/03/2020 16:39:41 
 
 
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. 
 
 
 
 1a Questão 
 
Assinale a opção correta : 
 
 
Para declarar uma variável podemos usar o tipo da variável ou não. 
 
O tipo int serve para variáveis inteiras ou reais, de pouca precisão 
 
Quando declaramos variáveis do mesmo tipo usamos o ponto e vírgula para 
separá-las. 
 
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. 
Respondido em 29/03/2020 23:18:09 
 
 
Explicação: 
De acordo com as descrições e características apresentadas na aula sobre variáveis. 
 
 
 
 
 2a Questão 
 
 
Necessita de espaço na memória e define o tipo de dado a ser armazenado 
 
 
Estrutura de Seleção 
 
Comando PARA 
 
Comando Enquanto-Faça 
 
Variável 
 
Variável de Controle 
Respondido em 29/03/2020 23:18:22 
 
 
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. 
 
 
 
 
 3a 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 
 
Os programas em C++ precisam ser traduzidos para uma linguagem que 
o computador entenda. 
 
É o linker que traduz o todo programa feito em C++. 
Respondido em 29/03/2020 23:19:11 
 
 
Explicação: 
Basta seguir a definição de programa dada naaula de conceitos introdutórios. 
 
 
 
 
 4a Questão 
 
Uma variável pode ser entendida como sendo: 
 
 
Um dispositivo de saída de dados. 
 
Um endereço na memória principal. 
 
Um elemento da unidade lógica de controle. 
 
Um dispositivo de memória auxiliar. 
 
Um dispositivo de entrada de dados. 
Respondido em 29/03/2020 23:19:32 
 
 
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. 
 
 
 
 
 5a Questão 
 
Os comentários são recursos que podem ser utilizados pelos programadores para: 
 
 
Inserir comandos que serão executados pela máquina 
 
Inserir textos explicativos apenas para o programador 
 
Inserir comandos que serão traduzidos pelo compilador 
 
Inserir textos explicativos apenas para o usuário 
 
Inserir diretivas para o compilador 
Respondido em 29/03/2020 23:20:43 
 
 
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 
 
 
 
 
 6a Questão 
 
Considerando a linguagem C++, assinale a opção correta : 
 
 
Alguns programas em C++ começam com float main e outros com int main 
 
Se declararmos uma variável inteira nota, podemos escrever NOTA, Nota, ou 
qualquer outra variação, pois é a mesma coisa. 
 
Nem toda variável precisa ser declarada. 
 
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. 
 
A linguagem C++ diferencia maiúsculas de minúsculas 
Respondido em 29/03/2020 23:21:45 
 
 
Explicação: 
BAsta seguir as descrições e características da linguagem C++ na aula sobre 
variáveis 
 
 
 
 
 7a Questão 
 
O linha de programa que representa a ação "processamento" em um 
algoritmo em pseudolinguagem é: 
 
 
valor <- valor + 1; 
 
enquanto 
 
se 
 
leia 
 
programa 
Respondido em 29/03/2020 23:22:57 
 
 
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. 
 
 
 
 
 8a Questão 
 
As palavras que fazem parte de um conjunto próprio da linguagem C++ são 
chamadas: 
 
 
palavras próprias 
 
palavras código 
 
palavras únicas 
 
palavras especiais 
 
palavras reservadas 
Respondido em 29/03/2020 23:23:20 
 
 
Explicação: 
Não tem outra possibilidade com margem à dúvida. Por definição, é palavra 
reservada. 
 
 
1. 
 
 
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) 
 
 
 
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 
 
 
 
 
 
 
2. 
 
 
Se você desejar escrever a expressão A|| B && C && !D em um algoritmo no 
Portugol Studio, como a mesma ficaria? 
 
 
 A ou nao B e nao C e nao D 
 A ou B e C e nao D 
 
 A e B ou C nao D 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 A e B ou C ou nao D 
 
 A ou B e C e D 
 
 
 
 
 
3. 
 
 
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; 
 
 
 
Explicação: 
MEDIA = (AV1 + AV2) / 2; - OK 
 
 
 
 
 
4. 
 
 
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)) 
 
 
 
Explicação: 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
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. 
 
 
 
 
 
5. 
 
 
Assinale a alternativa que apresenta APENAS os exemplos de operadores 
relacionais. 
 
 
 +, - e * 
 <, > e >= 
 
 &&, || e ~ 
 
 &&, >= e || 
 =, > e || 
 
 
 
Explicação: 
 
<, > e >= 
 
Falso. Nenhum é relacional &&, || e ~ 
 
Falso. O único relacional é o > =, > e || 
 
Falso. O único relacional é o >= &&, >= e || 
 
Falso. Nenhum relacional +, - e * 
 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
6. 
 
 
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, V, F, F, V, V, F, F 
 
 F, V, F, V, V, F, V, F 
 
 V, F, V, F, V, F, V, F 
 
 F, F, F, F, F, V, V, V 
 
 
 
 
 
7. 
 
 
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? 
 
 
 3 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 4 
 
 4.66666 
 
 5 
 
 14 
 
 
 
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. 
 
 
 
 
 
8. 
 
 
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; 
 
 
 
Explicação: 
Conforme aula e gabarito. É importante primeiro somar as notas e depois dividir 
por 2. 
 
 
 
 
Marque aopção correta para a declaração das variáveis conforme o trecho de 
código abaixo, que calcula a média de 3 notas de 1 aluno: 
 printf (" nota 1 = "); 
 scanf("%f", nota1); 
 printf (" nota 2 = "); 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 scanf("%f", nota2); 
 printf (" nota 3 = "); 
 scanf("%f", nota3); 
 media=(nota1+nota2+nota3)/3; 
 printf ("media= %f",media); 
 
 
 
 real nota1, nota2, nota3; 
 
 nota1, nota2, nota3 : float 
 float nota1, nota2, nota3, media; 
 
 int nota1, nota2, nota3, media; 
 
 float nota1..nota3, media; 
 
 
 
Explicação: 
as 4 variáveis precisam ser float, para conterem valores com casas decimais 
 
 
 
 
 
 
 
2. 
 
 
Marque a opção correta quanto ao uso dos comandos de entrada e saída em C++ 
 
 
 cout "lendo a idade"; cin idade; 
 
 exiba "lendo a idade"; lendo idade; 
 cout << "lendo a idade"; cin >> idade; 
 
 System.out.println("lendo idade"); System.out.println("lendo idade"); 
 
 cout < lendo idade; cin > idade 
 
 
 
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 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('794052','793701','2','3520810','2');
 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"); 
 
 
 
 
 
 
 
 
3. 
 
 
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 - setlocale 
 
 math - math.round 
 
 iostream - ptb 
 locale - setlocale 
 
 
 
 
 
 
 
4. 
 
 
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 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 read e para saída de dados usamos write 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291902','793701','3','3520810','3');
javascript:duvidas('2984649','793701','4','3520810','4');
 
 
Explicação: 
Basta seguir as descrições na aula 2. 
 
 
 
 
 
 
 
5. 
 
 
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 com R$ 200.00." 
 "Com R$ 200.00 você consegue abastecer 51.28 litros de combustível." 
 
 "Você consegue abastecer 51.28 litros de combustível." 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291948','793701','5','3520810','5');
 
 
"Com R$ qtdeDin você consegue abastecer mat.arredondar(qtdeLitros,2) 
litros de combustível." 
 
 
 
 
 
 
 
6. 
 
 
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 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) 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291953','793701','6','3520810','6');
 
 
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) 
 
 
 
 
 
 
 
7. 
 
 
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 - F 
 
 V - V - V 
 
 F - V - F 
 
 
 
 
 
 
 
8. 
 
 
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? 
 
 
 leia("Você tem ou fará ", idade, " anos") 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291957','793701','7','3520810','7');
javascript:duvidas('3291928','793701','8','3520810','8');
 escreva("Você tem ou fará ", idade, " anos") 
 
 escreva("Você tem ou fará " /idade/ " anos") 
 
 escreva("Você tem ou fará " * idade * " anos") 
 
 leia("Você tem ou fará " / idade/ " anos") 
 
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 
 
 
4 14 0.5 
 
 
14 4 0.5 
 
 
4 14 0 
 
 
0.5 4 14 
 
 
 
Explicação: O operador / quando ambos são inteiros resulta em um quociente 
inteiro 
 
 
 
 
 
 
 
2. 
 
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; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('2918290','793701','2','3520810','2');
 
i = 6; 
x = x + i; 
cout << x; 
 
if ( x <= 7) { 
 cout << x; 
 x = x + 10; 
} else { 
 cout << x; 
} 
retun 0; 
} 
 
 
 0, 6 e 7 
 
 1, 6 e 16 
 1, 7 e 7 
 
 1, 7, 17 
 
 1, 6 e 7 
 
 
 
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, foiimpresso 1 7 7 
 
 
 
 
 
 
 
3. 
 
 
Considere o trecho de programa em C++. O que é impresso na tela ? 
 
int x = 10, y = 3, z, k; 
y = x + y - 1; 
z = x/y; 
k = y % x; 
if ( k != 0) 
cout << "x = " << x << " y = " << y << " z = " << z << " k = " << k << "\n"; 
 
 
 10 12 0.833 1.2 
 x= 10 y = 12 z = 0 k = 2 
 
 x = 10 y = 12 z = 0.833 k = 1.2 
 
 Nada é impresso na tela, pois k é zero. 
 
 10 12 0 2 
 
 
 
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 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('831095','793701','3','3520810','3');
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 
 
 
 
 
 
 
 
4. 
 
 
Examine as afirmativas a seguir e marque a alternativa correta. 
I- A estrutura de decisão pode alterar ou desviar o fluxo natural de execução de um 
algoritmo. 
II- O uso de uma estrutura de decisão composta pode ser mais eficiente que o uso 
de duas estruturas de decisão simples, pois reduz o número de testes. 
III- Muitas vezes é possível combinar a condição de duas estruturas de decisão 
simples em apenas uma utilizando operadores lógicos. 
 
 
 Apenas a alternativa iii está correta. 
 
 Todas as alternativas estão erradas. 
 
 Apenas a alternativa ii está correta. 
 
 Apenas a alternativa i está correta. 
 Todas as alternativas estão corretas. 
 
 
 
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. 
 
 
 
 
 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('827613','793701','4','3520810','4');
javascript:duvidas('794409','793701','5','3520810','5');
5. 
 
 
 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 110 1 0 
 
 
 
11 12 110 
 
 
 
 
Explicação: 
Analisando ... 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
1a. execução : Valor de entrada é 10. Logo, num recebeu 10 na entrada. 
1o. teste >>> 10 > 0 ? Sim . Então, entramos no bloco do 1o. if e fazemos num 
receber 11. Depois, exibimos 11 na tela. Seguindo... é exibido o valor de num + 1, 
ou seja, é exibido na tela o valor 12. 
2o. teste >>> 11 < 0 ? Não. Então, entramos no último else que imprime o 
resultado de 11 * 10, que é 110 
Concluindo a 1a. execução para a entrada 10 : 11 12 110 
 
2a. execução : Valor de entrada é 0. Logo, num recebe 0 na entrada. 
1o. teste >>> 0 > 0 ? Falso. Não entramos no 1o. if. SEguindo em frente temos 
que o valor de num+1 é exibido na tela. Ou seja, 1 é exibido na tela. 
2o. teste >>> 1 < 0 ? Não. Então, entramos no último else, que imprime o valor de 
1 * 10, que é 10. 
Concluindo a 2a. execução para a entrada 0 : 1 10 
 
 
 
 
 
 
 
 
6. 
 
 
Sobre a estrutura seletiva "se", pode-se afirmar que ela 
( ) permite que novas estruturas seletivas sejam definidas dentro dela; 
( ) restringe a execução de um trecho do código à veracidade, ou não, de uma ou 
mais condições; 
( ) não permite o teste de condições que combinem, na mesma expressão, 
operadores de tipos distintos; 
 
 V - V - F 
 
 V - F - V 
 
 V - V - V 
 
 F - F - F 
 
 F - V - F 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291919','793701','6','3520810','6');
 
 
 
 
 
7. 
 
 
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 
 
 
 
8 10 40 
 
 
 
9 40 
 
 
9 8 10 9 
 
 
 
9 6 10 9 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('794422','793701','7','3520810','7');
 
 
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 
 
 
 
 
 
 
 
8. 
 
 
Considere um programa em C++ que recebe um número inteiro qualquer e informe 
se ele é par ou ímpar. a estrutura seletiva adequada para teste do número é: 
 
 
 
if (resto=0) 
 {cout <<"Este número é par!";} 
if 
 {cout <<"Este número é ímpar!";} 
 
 
if (resto!=0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
javascript:duvidas('3291901','793701','8','3520810','8');
 
if (resto==0) 
 {cout <<"Este número é par!";} 
else 
 {cout <<"Este número é ímpar!";} 
 
 
switch (resto==0) 
 {cout <<"Este número é par!";} 
case 
 {cout <<"Este número é ímpar!";} 
 
 
if (resto==0) then 
 {cout <<"Este número é par!";} 
elseif not 
 {cout <<"Este número é ímpar!";} 
 
1. 
 
 
 
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 simples 
 
 comando switch 
 
 Estrutura condicional de comando composto 
 
 aninhamento de if 
 Operador ternário 
 
 
 
Explicação: 
Como dito no gabarito. O operador ? : equivale ao comando if ... else. 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
 
 
2. 
 
 
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 fazemparte 
da avaliação. O programa precisa calcular e exibir a média ponderada de 
aproveitamento e mostrar o conceito do aluno conforme as regras a seguir: 
Média de aproveitamento Conceito 
>= 9 A 
>= 7,5 e < 9 B 
>= 6 e < 7,5 C 
>= 4 e < 6 D 
< 4 E 
Qual das alternativas a seguir apresenta a estrutura seletiva que imprime o conceito do 
aluno? 
 
 
if (Media>=9) 
{ cin << "A"; } 
else if (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else if (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else if (Media>=4 && Media<6) 
{ cin << "D"; } 
else if (Media<4) 
{ cin << "E"; } 
 
 
if (Media>=9) 
{ cout << "A"; } 
else if (Media>=7.5 || Media<9) 
{ cout << "B"; } 
else if (Media>= 6 || Media<7.5) 
{ cout << "C"; } 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
else if (Media>=4 || Media<6) 
{ cout << "D"; } 
else if (Media<4) 
{ cout << "E"; } 
 
 
if (Media>=9) 
{ cout << "A"; } 
else (Media>=7.5 && Media<9) 
{ cout << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cout << "C"; } 
else (Media>=4 && Media<6) 
{ cout << "D"; } 
else (Media<4) 
{ cout << "E"; } 
 
 
if (Media>=9) 
{ cin << "A"; } 
else (Media>=7.5 && Media<9) 
{ cin << "B"; } 
else (Media>= 6 && Media<7.5) 
{ cin << "C"; } 
else (Media>=4 && Media<6) 
{ cin << "D"; } 
else (Media<4) 
{ cin << "E"; } 
 
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"; } 
 
 
 
 
 
3. 
 
 
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. 
 
 Nada aparece, pois o trecho de programa possui erro. 
 9 ### 
 
 Apenas 9 
 
 9 não é divisível por 2. 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
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### 
 
 
 
 
 
4. 
 
 
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" 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 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 
 
 
 
 
 
5. 
 
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") 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 ____C______ 
 _____B_____ 2: 
 escreva("segunda-feira") 
 ____C______ 
 _____B_____ 3: 
 escreva("terça-feira") 
 ____C______ 
 _____B_____ 4: 
 escreva("quarta-feira") 
 _____C_____ 
 _____B_____ 5: 
 escreva("quinta-feira") 
 _____C_____ 
 _____B_____ 6: 
 escreva("sexta-feira") 
 _____C_____ 
 _____B_____ 7: 
 escreva("sábado") 
 __________ 
 _____D_____: 
 escreva("Código inválido!") 
 } 
As instruções que completam adequadamente as lacunas são: 
 
 
 A - case, B - switch, C - default, D - break 
 
 A - switch, B - case, C - break, D - default 
 A - escolha, B - caso, C - pare, D - outros casos 
 
 A - caso, B - escolha, C - pare, D - outros casos 
 
 A - se, B - caso, C - pare, D - default 
 
 
 
 
 
6. 
 
 
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 equilátero!") } 
senao se (lado1==lado2 ou lado2==lado3 ou lado3==lado1) 
{ escreva("Este é um triângulo escaleno!") } 
senao 
{ escreva("Este é um triângulo isósceles!") } 
 
 
se (lado1==lado2 e lado2==lado3) 
{ escreva("Este é um triângulo 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!") } 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
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 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!") } 
 
 
 
 
 
7. 
 
 
Considere que o trecho de código em C++ foi executado 2 vezes, sendo que na 1ª. 
execução o valor de entrada foi 10 e na 2ª. execução, o valor de entrada foi 5. Ao 
final das duas execuções, respectivamente, o que foi impresso na tela ? 
 
cout << "Digite um valor : "; 
cin >> z; 
switch(z) { 
case 5 : cout << 3 * z << " "; 
case 10 : cout << 11 /2 * z << " "; 
case 20 : cout << z * z - 10 << endl; 
break; 
default : cout << "Entrada invalida. " << endl; 
} 
 
 50 90 15 25 15 
 
 15 25 15 50 90 
 
 55 90 15 27.5 15 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 55 1 
 
 15 27.5 15 55 90 
 
 
 
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 inteirosocorrida no 2o. case. 
 
 
 
 
 
8. 
 
 
Uma lanchonete está disponibilizando para seus clientes um terminal através do qual 
poderão fazer seu pedido. Para que isso aconteça, o terminal deve exibir o menu de 
itens disponíveis conforme se vê a seguir: 
*** Cardápio *** 
100 - Hambúrguer - R$5,50 
101 - Cachorro-quente - R$4,50 
102 - Milkshake - R$7,00 
103 - Pizza brotinho - R$8,00 
104 - Cheeseburguer - R$8,50 
Informe o código do seu pedido: 
Uma vez que o cliente informe o código do item desejado, o terminal deverá 
perguntar a quantidade de itens que ele deseja pedir. Ao final, o usuário deverá 
informar o pedido do cliente e o valor a pagar. 
Se você deseja escrever esse programa em C++ e optar pela estrutura SWITCH, 
como ficariam as linhas iniciais dessa seleção, até o caso de o item "hambúrguer" 
ser escolhido? 
 
 
 
case (codigo) { 
 switch 100: item="Hambúrguer"; 
 valor= qtde * 5.50; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 break; 
} 
 
switch (codigo) { 
 case 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; 
} 
 
 
1. 
 
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 ( _________ ) 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
{ 
cout<<"AMOR \n"; 
x = x + 2; 
} 
 
 
 x < 5 
 
 x <= 11 
 x < 10 
 
 x <= 5 
 
 x > 10 
 
 
 
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. 
 
 
 
 
 
2. 
 
Assinale a alternativa correta em relação a quantidade de vezes que a palavra "ALGORITMO" será 
impressa, no trecho de código abaixo: 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
cont = 0; 
while( cont < 30 ) { 
 cout << "ALGORITMO" << endl; 
 cont = cont + 1; 
} 
 
 29 
 
 Nenhuma das alternativas. 
 
 31 
 
 15 
 30 
 
 
 
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 
 
 
 
 
 
 
3. 
 
 
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 - F 
 
 V - F - V 
 
 F - V - V 
 F - F - V 
 
 F - F - F 
 
 
 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
4. 
 
 
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 
 
 
 
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 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
PAZ 
PAZ 
PAZ 
PAZ 
 
 
 
 
 
5. 
 
 
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 (if cont =10){ } 
 
int cont = 0; while (cont <=10){ cout << "exibindo o número " << cont; 
cont++; } 
 while () { cout << "exibindo o número"; } 
 
 String cont = ""; { cont++; } while (cont!="") 
 
 while (repita 10 vezes) { } 
 
 
 
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 ... 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 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){ } 
 
 
 
 
 
 
6. 
 
 
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 
 
 25 
 
 20 
 40 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 35 
 
 
 
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. 
 
 
 
 
 
 
7. 
 
 
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; 
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; 
} 
 
 
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++; } 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 cin<< "Digite o número do aluno: "; 
 cout>> num; 
} 
 
 
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; 
} 
 
 
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; 
} 
 
 
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; 
} 
 
 
 
 
 
8. 
 
 
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; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 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; 
} 
 
while (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
 
for (calAlimento!=0) { 
 cont++; totCalorias+=calAlimento; 
 cout<< "Informe as calorias do alimento " << cont <<": "; 
 cin>> calAlimento; 
} 
 
 
1. 
 
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 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
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: 
 
 
 II, III e IV 
 III 
 
 I 
 
 I e III 
 
 I e IV 
 
 
 
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. 
 
 
 
 
 
2. 
 
 
Qual dos comandos abaixo permite que um bloco de comandos seja executado 
enquanto a variável num seja diferente de 0? 
 
 
 enquanto (num > 0) 
 
 for (i = num; i > 0; i++) 
 
 for ( i = 0; i == num; i++) 
 
 while (num == 0) 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 while (num != 0) 
 
 
 
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++) 
 
 
 
 
 
 
3. 
 
 
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 (int i=0; i < 200; i++) 
 
 for ( i=0; i <= 200; i++) 
 
 
 
Explicação: 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 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++) 
 
 
 
 
 
 
4. 
 
 
 
 
 50 e 9 
 
 9 e 9 
 
 o valor de s está indefinido e o valor de num é 7 
 16 e 9 
 
 50 e 16 
 
 
 
Explicação: 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
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 
 
 
 
 
 
5. 
 
 
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 de todos os elementos 
 
 A quantidade de elementos digitados 
 
 A soma dos elementos pares 
 
 O maior de todos os elementos digitados 
 
 
 
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 : 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 y = y + x; 
Assim, ao final do for, teremos em y o somatório de todos os números que x 
armazenou. 
 
 
 
 
 
6. 
 
 
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) == 1){ 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; 
 system("PAUSE"); 
 return 0; 
} 
 
 
 A soma de todos os elementos 
 
 O maior de todos os elementos digitados 
 
 A média dos elementos digitados 
 
 A quantidade de elementos digitados 
 A soma dos elementos ímpares 
 
 
 
Explicação: 
Comentando o programa : 
 
 double x, 
 y = 0; //inicializa o somatório 
 for (i = 0; i < 10; i++){ 
 cout << "Digite um numero: "; 
 cin >> x; //lê número e armazena em x 
 if ((x % 2) == 1){ //testa se x é ímpar. Se for então faz a acumulação em y, 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
ou seja, gera um somatório com o valor de cada x 
 y = y + x; 
 } 
 } 
 cout << "Numero: " << y << "\n"; //imprime y que acumulou a soma dos 
valores armazenados em x, ou seja, os valores ímpares 
 
 
 
 
 
7. 
 
 
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 9 
 
 
50 e 16 
 
 
o valor de s está indefinido e o valor de num é 7 
 
 
9 e 9 
 
16 e 9 
 
 
 
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 
 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
 
 
8. 
 
 
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 
 
 A quantidade de elementos pares 
 
 O menor de todos os elementos digitados 
 A média dos elementos digitados 
 
 A quantidade de elementos digitados 
 
 
 
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 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
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) 
 
 
1. 
 
 
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=[ind]+jogadasB 
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++ 
se (total%2!=0) 
{ escreva("Jogador A venceu!\n") } 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
senao 
{ escreva("Jogador B venceu!\n") } 
 
 
total=jogadasA+jogadasB 
se (total%2==0) 
{ escreva("Jogador A venceu!\n") } 
senao 
{ escreva("Jogador B venceu!\n") } 
 
 
 
 
 
2. 
 
 
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 
 
 Somente as declarações I e II 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 
 
 
 
Explicação: 
A afirmativa III está incorreta porque cada caracter deve estar entre aspas simples e 
não duplas. 
 
 
 
 
 
3. 
 
 
Um vetor é uma estrutura _____________ e _____________ para armazenamento 
de um _____________ que deve ser _____________. 
 
 
 bidimensional - homogênea - único valor - do mesmo tipo 
 
 unidimensional - heterogênea - único valor - de tipos variados 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 bidimensional - heterogênea - conjunto de valores - do mesmo tipo 
 unidimensional - homogênea - conjunto de valores - do mesmo tipo 
 
 unidimensional - homogênea - único valor - de tipos variados 
 
 
 
 
 
4. 
 
 
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=0;ind<=19;ind++) { 
 escolha (sorteios[ind,ind]) { 
 caso 1: cont++ 
 pare 
 caso 3: cont++ 
 pare 
 caso 5: cont++ 
 pare 
 } 
} 
 
para (ind=10;ind<=20;ind++) { 
 escolha (sorteios[ind]) { 
 caso 1,3,5,7,9: cont1++ 
 pare 
 default: pare 
 } 
} 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
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<=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 
 } 
} 
 
 
 
 
 
5. 
 
 
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=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];} 
} 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
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=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; 
 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--) { 
 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]; } 
} 
 
 
 
 
 
6. 
 
 
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++) 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
{ SOMA+=NUM[i]; } 
 
 
 
 
 
7. 
 
 
Os chamados vetores e matrizes podem ser considerados como: 
 
 
 Comandos de repetição 
 
 Estruturas de dados heterogêneas 
 
 Comandos de seleção composta 
 
 Comandos de seleção 
 Estruturas de dados homogêneas 
 
 
 
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 
 
 
 
 
 
 
8. 
 
 
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: 
 
 
 float peso[1001], altura[1001], imc [1001]; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 char peso[999], altura[999], imc [999]; 
 float peso[1000], altura[1000], imc [1000]; 
 
 float peso[1000] ; altura[1000] ; imc[1000]; 
 
 char peso[1000], altura [1000], imc[1000]; 
 
 
 
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]; 
 
 
. 
 
 
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 repetitivas: 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 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 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 os múltiplos de 5 e variando de 0 a 5 . 
 
 
 
 
 
2. 
 
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 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
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-- } 
 } 
 } 
} 
 
 
 
 
 
3. 
 
 
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? 
 
 
 char funcionario[12][12]; 
 float funcionario[45][12]; 
 
 float funcionario[12],[12]; 
 
 int salario[45], funcionario[12]; 
 
 float funcionario[45][45]; 
 
 
 
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]; 
 
 
 
 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
4. 
 
 
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++) { 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 para (col=0;col<=3;col++) { 
 escreva(M2[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] 
} 
 
 
 
 
 
5. 
 
 
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][1]; 
 
 int edificio[40][5]; 
 
 int edificio[5][8]; 
 int edificio[8][5]; 
 
 
 
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]; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 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. 
 
 
 
 
 
 
6. 
 
 
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 ímpares e que sejam maiores que 30. 
 
 
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 pares 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. 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 
O código armazenará em um vetor 50 números inteiros e imprimirá 
somente os números pares e que sejam menores que 30. 
 
 
 
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 
 
 
 
 
 
 
7. 
 
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; 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
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 
 
 1 2 3 4 5 6 7 8 9 
 
 1 3 5 7 9 
 
 2 4 6 8 
 
 1 2 3 
 
 
 
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 
 
 
 
 
 
8. 
 
 
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 1 
 Somar todas as linhas da coluna índice 0. 
http://simulado.estacio.br/bdq_simulados_exercicio.asp
 
 Somar todas as colunas da linha índice 0. 
 
 Somar todas as linhas de todas as colunas. 
 
 Somar todas as linhas da coluna índice 1. 
 
 
 
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. 
 
 
 
1a 
 Questão 
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 as alternativas II e III são INCORRETAS 
 
Apenas as alternativas I e III são CORRETAS 
 
Apenas as alternativas I e II são CORRETAS 
 
Todas as alternativas são CORRETAS 
 
Apenas a alternativa I é CORRETA 
Respondido em 15/05/2020 19:29:27 
 
 
2a 
 Questão 
Acerto: 1,0 / 1,0 
 
Assinale a opção correta. O que quer dizer main ? 
 
 
algoritmo 
 
principal 
 
portugol 
 
estruturado, de português estruturado 
 
programa 
Respondido em 15/05/2020 19:30:58 
 
 
3a 
 Questão 
Acerto: 1,0 / 1,0 
 
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

Outros materiais