Buscar

Lógica de programação revisão av1 av2

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 44 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 44 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 44 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 (Ref.: 201202763810) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão 
de um número da base decimal para um número na base binária. O número 10101111b, se escrito na base 
decimal, equivale a: 
 
 
120 
 
105 
 
84 
 
122 
 175 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 2a Questão (Ref.: 201202261028) Fórum de Dúvidas (2) Saiba (0) 
 
A CPU (Unidade Central de Processamento) é formada pelos seguintes componentes: 
 
 UAL, Unidade de Controle e Registradores 
 UAL, Registradores e HD 
 Unidade de Controle, Registradores e HD 
 UAL, Registradores e Memória Principal 
 Teclado, Memória Principal e Registradores 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
 3a Questão (Ref.: 201202261035) Fórum de Dúvidas (2) Saiba (0) 
 
Para interligar CPU, Memória Principal e os dispositivos de E/S, existem três 
barramentos. Assinale a opção onde eles estão presentes. 
 
 Dados / Endereço / Fluxo 
 Dados / Endereço / Controle 
 Dados / Controle / Fluxo 
 Conteúdo / Fluxo / Controle 
 Conteúdo / Endereço / Fluxo 
 
 
 
 
 4a Questão (Ref.: 201202763812) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão 
de um número da base decimal para um número na base binária. O número 01011111b, se escrito na base 
decimal, equivale a: 
 
 
63 
 
127 
 
93 
 
65 
 95 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 5a Questão (Ref.: 201202763808) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão 
de um número da base decimal para um número na base binária. O número 35, se escrito na base binária, 
equivale a: 
 
 0010 0011 
 
0101 1001 
 
0110 0011 
 
0101 1101 
 
1101 0111 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 6a Questão (Ref.: 201202763807) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão 
de um número da base decimal para um número na base binária. O número 92, se escrito na base binária, 
equivale a: 
 
 Nenhuma das anteriores 
 0101 1100 
 
0101 1000 
 
0101 0111 
 
1101 0111 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 7a Questão (Ref.: 201202763806) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
O computador só entende linguagem de 0's e 1's. Nesse sentido, é importante conhecer como fazer a conversão 
de um número da base decimal para um número na base binária. O número 87, se escrito na base binária, 
equivale a: 
 
 
0101 0110 
 
0101 1000 
 
Nenhuma das anteriores 
 0101 0111 
 
1101 0111 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 8a Questão (Ref.: 201202261061) Fórum de Dúvidas (1 de 2) Saiba (0) 
 
Sabe-se que, em cada sistema posicional, temos um conjunto de algarismos e/ou letras para 
representar todos os números. Dessa forma, na base 2, temos somente os algarismos 0 e 1 para 
representar todos os números. Qual das seqüências abaixo representa, no sistema binário, o 
número 85 em decimal? 
 
 1010101 
 1010110 
 1110001 
 1011001 
 1100001 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo 
de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
Na prova de Lógica de Programação, na questão dissertativa, era pedido para 
se construir um algoritmo de nome prova que exibisse a palavra Engenheiro(a) 
na primeira linha e a expressão EAD-ESTACIO, começando na segunda zona 
 
 
da terceira linha. Abaixo estão as respostas de cinco alunos. Só uma atende 
às exigências do enunciado. Assinale a opção CORRETA. 
 
 
 
prog teste imprima "Engenheiro(a)\t\n\n\nEAD-ESTACIO"; fimprog 
 
 
prog prova imprima "Engenheiro(a)\n\n\n\tEAD-ESTACIO"; fimprog 
 
 
prog teste imprima "Engenheiro(a)\n\n\tEAD-ESTACIO"; fimprog 
 
 
prog prova imprima "Engenheiro(a)\n\n\tEAD-ESTACIO"; fimprog 
 
 
prog prova imprima "Engenheiro(a)\t\n\nEAD-ESTACIO"; fimprog 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
 
Em programação utilizam-se variáveis para armazenar valores e também para dar nome 
a uma determinada área de memória do computador onde os dados ficam armazenados. 
Determine qual das alternativas abaixo apresenta todos os nomes de variáveis 
VÁLIDOS em uma linguagem de programação. 
 
 
 
 
Funcionario, salario100, b 
 
 
1a , b 
 
 
salario-medio, b, Funcionario 
 
 
salario100, 1a 
 
 
Funcionario, salario100, salario-medio 
 
 
 
 
3. 
 
 
Os algoritmos podem ser definidos usando diversos instrumentos, como 
a linguagem natural, os fluxogramas, o diagrama de chapin, o português 
estruturado ou mesmo através de uma linguagem de programação, 
como o C ou o C++. É sabido que o nível de detalhamento e precisão dos 
algoritmos varia em cada uma dessas representações. Com base nessas 
afirmações e nas informações vistas em aula, é válido afirmar que: 
 
 
 
 
É impossível criar um algoritmo, mesmo que simples, diretamente 
com o uso de linguagem de programação, não importa a 
experiência do programador: sempre será necessário criar o 
algoritmo em linguagem natural, depois passar ao fluxograma e, 
finalmente, passar ao português estruturado. 
 
 
O fluxograma, por ser uma representação gráfica, é a forma mais 
completa de especificar um algoritmo. Infelizmente ela se aplica 
somente a linguagens de programação específicas, sendo de 
utilidade bastante limitada e inútil para representar 
outros processos não computacionais. 
 
 
O português estruturado inclui obrigatoriamente alguns 
detalhes que, normalmente, não são indicados na linguagem 
natural, como o tipo de dado que pode ser armazenado em cada 
variável, por exemplo. 
 
 
O diagrama de chapin é uma forma totalmente textual de 
representar um algoritmo. 
 
 
A linguagem natural é a melhor forma de representar um algoritmo, 
devido à sua grande flexibilidade e objetividade: uma descrição 
qualquer em linguagem natural sempre será interpretada da mesma 
forma por qualquer pessoa ou equipamento. 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
 
Existe um registrador que é ponto de concentração de tudo que é 
armazenado na, ou copiado da, Memória Principal. Assinale a opção onde 
está presente esse registrador. 
 
 
 
 
PC 
 
 REM 
 
 
RI 
 
 RDM 
 
 
CC 
 
 
 
 
5. 
 
 
Qual das seguintes opções não se caracteriza como forma de representação de um 
algoritmo? 
 
 
 
 
Descrição Narrativa 
 
 
Fluxograma Convencional 
 
 
Portugol 
 
 
Pseudocódigo 
 
 
Lógica Booleana 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
6. 
 
No Sistema Binário, por ser um sistema posicional assim como o SistemaDecimal, cada posição tem um valor. Assinale a opção onde estão presentes 
 
 
os valores das cinco primeiras posições, começando pela de maior 
valor(esquerda) e indo para a de menor valor(direita). 
 
 
 
32 / 16 / 8 / 4 / 2 
 
 
10 / 8 / 6 / 4 / 2 
 
 16 / 8 / 4 / 2 / 1 
 
 10000 / 1000 / 100 / 10 / 1 
 
 
8 / 6 / 4 / 2 / 0 
 
 
 
 
7. 
 
 
Um aluno de Lógica de Programação irá informatizar o processo de cálculo da folha de 
pagamento de uma empresa usando a linguagem C/C++. Para tanto necessita declarar 
algumas variáveis em seu programa para representar algumas informações: o sexo do 
funcionário ('M' ou 'F'), o valor do salário e a quantidade de dependentes. Escolha entre as 
opções abaixo a apresenta corretamente o tipo de dado a ser utilizado para cada uma 
dessas informações respectivamente: 
 
 
 
 
a) int, double e float 
 
 
d) char, double e int 
 
 
c) int, float e int 
 
 
b) char, double e float 
 
 
e) char, int e int 
 
 
 
 
8. 
 
 
Quando desejarmos exibir na tela títulos, conteúdo de 
variáveis, resultado de operações e tudo mais que 
precisarmos, poderemos fazer uso de alguns caracteres de 
controle do cursor presentes em muitas linguagens de 
programação e até em interpretadores algorítmicos. 
Esses caracteres possibilitam o deslocamento do 
cursor horizontalmente e verticalmente. 
 
Qual das respostas abaixo representa, na mesma sequência 
do texto acima, esses caracteres? 
 
 
 
 
tab , enter 
 
 
/tab , /n 
 
 \t , \n 
 
 
\n , \t 
 
 
/t , /n 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este 
modelo de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
Os comandos de saída de dados em algoritmo e c++ respectivamente 
são: 
 
 
 
 
leia/cout 
 
 
leia / cin 
 
 
float / cin 
 
 
escreva/ cin 
 
 
escreva / cout 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
 
Em qual das alternativas abaixo existem apenas operadores aritméticos 
separados por vírgula? 
 
 
 
 
!, !=, + 
 
 
>=, %, == 
 
 
+, - , % 
 
 
&&, ||, % 
 
 
&&, ||, ! 
 
 
 
 
3. 
 
 
Assinale a opção que apresenta a finalidade da 
diretiva #include na linguagem C++. 
 
 
 
 
 
Definir uma constante 
 
 Usar um namespace 
 
 
Definir um novo tipo de dado 
 
 
Declarar uma variável 
 
 Incluir um arquivo de biblioteca dentro do programa fonte 
 
 
 
 
4. 
 
 
Estudamos as linguagens gráficas mais conhecidas: Fluxograma 
e Diagrama Ns/Chapin. 
Observe as sequências abaixo onde aparecem do lado esquerdo 
os símbolos do Fluxograma dos comandos que exibem na tela, 
processamento e entrada de dados, não, necessariamente 
nessa ordem, do lado esquerdo e, do lado direito, os 
correspondentes no diagrama de NS/Chapin. 
Assinale a opção que apresenta os símbolos equivalentes. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Gabarito Comentado 
 
 
 
5. 
 
 
O comando em C++ responsável pela saída de dados é: 
 
 
 
 
cin<< 
 
 
system("pause"); 
 
 
cin>> 
 
 
cout<< 
 
 
cout>> 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
6. 
 
O Professor de Lógica de Programação pediu para que seus alunos 
fizessem um programa que recebesse um salário, um valor percentual 
de aumento e calculasse o valor do salário aumentado, mostrando-o na 
tela. Para que esse programa faça exatamente isso, a linha que contém 
pontos de interrogação deveria ser substituída por: 
 
 
 
 
 
 
novosalario = salario + aumento/100; 
 
 
novosalario = (salario * aumento/100) + salario; 
 
 
novosalario = salario + aumento; 
 
 
novosalario = salario * aumento; 
 
 
Nenhuma das anteriores. 
 
 
 
 
7. 
 
 
Observe o programa abaixo com muita atenção e suponha que 
você digitou nessa ordem 5000, 3. Selecione a opção cujo 
conteúdo é igual aos valores exibidos na tela. 
 
 
using namespace std; 
int main() 
{ 
 float v, r, total; 
 cin >> v >> r; 
 total = v * ( 1 - r/ 100 ); 
 cout << v << endl; 
 cout << total << endl; 
 system("pause"); 
} 
 
 
 
 
 
 
5000 
3500 
 
 
5000 
15 
 
 
5000 
4815 
 
 
5000 
4850 
 
 
5000 
150 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
8. 
 
 
O Professor de Lógica de Programação pediu para que seus alunos 
fizessem um programa que recebesse um salário e realizasse um 
aumento de 32%, mostrando-o na tela. Para que esse programa 
faça exatamente isso, a linha que contém pontos de interrogação 
deveria ser substituída por: 
 
 
 
 
 
 
novosalario = (salario * 32/100) + salario; 
 
 
novosalario <- salario + 32%; 
 
 
novosalario <- salario * 32/100; 
 
 
novosalario = salario * 32/100; 
 
 
novosalario = salario + 32%; 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá ponto para 
sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo de 
questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
O comando que permite que o usuário digite um dado, interagindo com o 
algoritmo é: 
 
 
 
 
se 
 
 escrever 
 
 
enquanto 
 
 ler 
 
 
escolha 
 
 Gabarito Comentado 
 
 
 
2. 
 
 
Na lista de exercícios que foi liberada pela professora de Lógica, na questão 
X, estava presente o algoritmo codificado em Portugol abaixo. No enunciado 
da questão, era solicitado que fosse feito o acompanhamento da execução do 
algoritmo no Teste de Mesa e digitada a seguinte data: 111518. Assinale a 
opção CORRETA para a saída desse algoritmo. 
inicio 
inteiro data 
escrever "Digite a data no formato mmddaa: " 
ler data 
escrever data % 100, " / " 
escrever data / 10000, " / " 
escrever (data / 100) %100, "\n" 
fim 
 
 
 
 
11 / 18 / 15 
 
 
18 / 15 / 11 
 
 
11 / 15 / 18 
 
 15 / 11 / 18 
 
 18 / 11 / 15 
 
 
 
 
3. 
 
Observe as afirmativas abaixo e assinale a resposta CORRETA 
I Duas vantagens para se usar funções: Dividir o programa em 
partes menores e reusá-las em vários programas. 
 
 
II Não é obrigado usar o tipo para cada parâmetro no cabeçalho 
da função se todos forem do mesmo tipo. Somente um é 
suficiente. 
III No protótipo de uma função, podemos usar somente os tipos 
dos parâmetros, isto é, não precisamos incluir os nomes dos 
parâmetros. 
IV Toda variável declarada dentro da função main() é 
denominada variável Global. 
V Podemos ter nomes de variáveis iguais declaradas em 
funções diferentes. 
 
 
 
II , III e IV são verdadeiras 
 
 
I , III e V são verdadeiras 
 
 
II , IV e V são verdadeiras 
 
 
I , II e V são verdadeiras 
 
 
I , IV e V são verdadeiras 
 
 GabaritoComentado Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
 
As funções existem para decompor um problema em partes menores, 
simplificando e organizando o programa como um todo. Tendo em vista o que 
foi exposto, assinale a opção que apresenta uma afirmativa ERRADA em 
relação aos conceitos de funções. 
 
 
 
 
O comando return encerra a execução de uma função e pode retornar 
vários valores para a função chamadora. 
 
 
As variáveis declaradas no corpo de uma função são chamadas variáveis 
locais. 
 
 
Todas as funções apresentam no seu cabeçalho um par de parênteses 
após o nome da funçao. 
 
 
O protótipo de uma função informa ao compilador o tipo de retorno, o 
nome e a lista de parâmetros da função. 
 
 
Além do valor de uma variável é possível passar para uma função a 
referência ou o endereço da variável. 
 
 Gabarito Comentado 
 
 
 
5. 
 
 
Um desenvolvedor, ao construir um programa, precisou de uma função que 
calculasse o produto entre dois números inteiros. Ele construiu uma função, 
tendo considerado a propriedade de fechamento, isto é, o produto de dois 
inteiros, inteiro será e colocou a linha abaixo no programa. 
 
 cout << "Produto = " << multiplicar(a,b); 
 
Observe as opções abaixo e escolha aquela onde o protótipo da função está 
presente. 
 
 
 
 
void multiplicar(int a, int b); 
 
 int multiplicar(int a, int b) ; 
 
 float multiplicar(int a, int b); 
 
 
void multiplicar(int a, b); 
 
 
void multiplicar(int ; int); 
 
 Gabarito Comentado 
 
 
 
6. 
 
 
Observe a fórmula abaixo que calcula a soma 
dos n primeiros termos de uma PA. 
Sn = n/2 [ 2a + (n-1) r ] 
a primeiro termo da série 
n número de termos da série 
r razão da série 
Se você desejasse escrever o corpo de uma função, para 
resolver o problema acima, cujo cabeçalho seria 
int somaPA(int a, int n, int r) 
qual das opções abaixo escolheria? 
 
 
 
 
 
{ return (2*a) + n-1*r*n/2; } 
 
 { return (2*a + (n-1)*r)*n/2; } 
 
 
{ return (2*a + n-1*r)*n/2; } 
 
 
{ return (2*a) + (n-1)*r*n/2; } 
 
 
{ return 2*a + (n-1)*r *n/2; } 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
7. 
 
 
O protótipo de uma função: 
 
 
 
 
NDA 
 
 
Pode ser escrito em qualquer lugar do programa; 
 
 
é uma instrução que pertence ao corpo da função que chama; 
 
 
pode ser suprimido se a função for definida antes das chamadas; 
 
 
deve preceder a definição da função e toda chamada a ela; 
 
 
 
 
8. 
 
 
Um aluno da Engenharia gostaria de definir uma função que 
retornasse a soma dos termos de uma PA Finita 
Consultou seus apontamentos e encontrou a fórmula ideal para 
achar para usar em sua função. 
 
Observe o corpo da função e escolha a opção que corresponde 
ao cabeçalho dessa função. 
 
 
 
 
 
int somaPA( int a1, int an, int n) 
 
 
int somaPA( a1, an, n) 
 
 
int somaPA( int a1, an, n); 
 
 
int somaPA( int a1, int an, int n); 
 
 
int somaPA( int a1, an, n) 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo 
de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
Assinale a alternativa que apresenta o valor final das variáveis a e b ,após a execução do 
programa abaixo. Considere que o comando pow, quando utilizado com o valor 0.5, calcula 
a raiz quadrada de um número qualquer. Por exemplo: pow (16, 0.5) = 4. 
main(){ 
int a,b; 
a = 3; 
b = 9; 
if ( (b+1) > a ) 
{ 
 a = 2 + a * 2; 
 a = a * 2; 
 b = pow(b,0.5); 
} 
else 
{ 
 a = a *3; 
} 
b=b+4; 
cout <<" a vale : " << a <<"\n"; 
cout <<" b vale : " << b <<"\n"; 
return 0; 
} 
 
 
 
 
a = 16 e b = 7 
 
 
a = 13 e b = 19 
 
 
a = 4 e b = 9 
 
 
a = 3 e b = 9 
 
 
a = 7 e b = 15 
 
 
 
 
2. 
 
 
Observe o programa abaixo com muita atenção e suponha que você digitou 
nessa ordem: 2012, 18081907. Selecione a opção cujo conteúdo é igual ao 
que será exibido na tela. 
 
#include 
using namespace std; 
int main() 
{ 
 int data, anoAtual, num; 
 cin >> anoAtual; 
 cin >> data; 
 num = anoAtual - data % 10000; 
 if(num >= 10 && num <= 99) 
 cout << data /1000000; 
 else 
 cout << data / 10000; 
system("pause"); 
} 
 
 
 
 
 
1907 
 
 
81907 
 
 
18 
 
 
8 
 
 1808 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
3. 
 
 
As variáveis A=3.5, B=8, C='x' e D="falso", analise as expressões abaixo e marque a 
opção que corresponde a ordem correta dos resultados lógicos. 
 
I. (A < B) || (C = = '8') && (D != "verdadeiro") 
 
II. (3*A > B) && (B%2 = = 0.16) && (B-A < 5) 
 
III. (A*B > 25) || (D = = falso) || (C != 'x') 
 
 
 
 
V / F / F 
 
 
F / V / F 
 
 
V / V / V 
 
 
F / F / V 
 
 
V / F / V 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
 
Analise a seguinte afirmação: "Específicas para dados que contenham letras e/ou 
números. Pode em determinados momentos conter somente dados numéricos ou 
somente literais. Se usado somente para armazenamento de números, não poderá ser 
utilizada para operações matemáticas." Qual tipo de variável se refere o texto acima? 
 
 
 
 
Numéricas 
 
 
Lógicas 
 
 
Alfanuméricas 
 
 
Ponteiros 
 
 
Caracteres 
 
 
 
 
5. 
 
 
A execução de uma expressão lógica obedece como prioridade a ordem dos operadores: 
 
 
 
 
And, Or e Not. 
 
 
Not, And e Or. 
 
 
And, Not e Or. 
 
 
Or, And e Not. 
 
 
Not, Or e And. 
 
 
 
 
6. 
 
Considere o trecho do algoritmo (pseudocódigo): 
 
Em relação às estruturas básicas de controle, o trecho de algoritmo acima 
refere-se à estrutura 
 
I. condicional simples. 
II. condicional composta. 
III. de repetição. 
 
 
IV. de decisão ou seleção. 
 
É correto o que consta APENAS em: 
 
 
 
II, III e IV. 
 
 
II e III. 
 
 
II e IV 
 
 
I, III e IV. 
 
 
I e III. 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
7. 
 
 
Na Linguagem C++, existe um comando que faz uso do operador de extração. 
Assinale a opção que contem o nome desse comando. 
 
 
 
 
if simples 
 
 
comando de atribuição 
 
 
if composto 
 
 
cin 
 
 
cout 
 
 
 
 
8. 
 
 
Numa lista de exercícios tinha o seguinte enunciado: Sabe-se que, em uma 
equipe de salto em altura, tem três atletas. Escreva o trecho do programa que 
declara as variáveis necessárias para o armazenamento das alturas e da 
média, lê as alturas e calcula a média. 
Dois alunos fizeram cinco soluções que, na linguagem C++, não apresentaram 
erros na compilação, mas algumas apresentaram na execução ou no 
resultado. 
Assinale a opção que apresenta o trecho CORRETO da solução para esse 
problema. 
 
 
 
 
 
float alt1, alt2, alt3, media; 
cin >> alt1 >> alt2 >> alt3 ; 
media = (alt1 + alt2 + alt3)/2; 
 
 
int alt1, alt2, alt3, media; 
cin >> alt1; cin>> alt2; cin >> alt3 ; 
media = (alt1 + alt2 + alt3)/3; 
 
 
float alt1, alt2, alt3, media; 
cin >> alt1 >> alt2 >> alt3 ; 
media = (alt1 + alt2 + alt3) / 3; 
 
 
float alt1, alt2, alt3, media; 
cin >> alt1 >> alt2 >> alt3 ; 
media = alt1 + alt2 + alt3/3; 
 
 
int alt1, alt2, alt3; float media; 
cin >> alt1; cin >> alt2; cin >> alt3 ; 
media = (alt1 + alt2 + alt3)/2; 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo 
de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
 
Assinale a opção que identifica a estrutura da linguagem C++ que apresenta as 
características abaixo: 
 
- Usada quando o número de repetições for desconhecido; 
- Executa o bloco, um ou mais comandos entre uma par de chaves, pelo menos uma 
vez; 
- Controlada por um teste ao final; 
 
 
 
 
while 
 
 
for 
 
 
switch 
 
 
do...while 
 
 
if 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
Um professor pediu em um chat para que os alunos da turma de Lógica de Programação 
interpretassem um código que se encontrava no caderno de exercícios e, para cada 
aluno, enviou quatro números para que pudessem acompanhar duas vezes no teste de 
mesa. 
 
João que sempre estava presente nos fóruns e chat recebeu os seguintes números: 31 e 
11 / 28 e 5. 
 
Observe o código abaixo e assinale a opção onde estão presentes as mensagens que 
João recebeu na mesma ordem dos números digitados que se encontram acima. 
 
 
 
 
 
 
Não exibe nada porque estão faltando as chaves dos ifs 
 
 
Valor maximo muito alterado / Valor minimo muito alterado 
 
 
Estado muito critico, pois maximo e minimo alterados / Tudo normal 
 
 
Estado muito critico, pois maximo e minimo alterados / Valor minimo muito 
alterado 
 
 
Valor maximo muito alterado / Tudo normal 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
3. 
 
Observe o programa abaixo e, supondo que, quando foi perguntado o 
valor do número, digitou-se 17. 
Em qual opção está presente o número que será exibido ao final? 
 
 
 
 
 
 
32 
 
 19 
 
 15 
 
 
34 
 
 
17 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
 
Para que uma estrutura if...else if ... possa ser substituída pela estrutura switch(...) na 
linguagem C++, precisamos ficar atento a algumas "regras". Leia as afirmativas abaixo 
e escolha a resposta que contempla a essas "regras" 
I - Qualquer tipo de variável poderá estar presente nas expressões relacionais dos ifs 
II - Só o operador de igualdade poderá estar presente em todas expressões relacionais 
dos ifs 
III - Qualquer operador relacional poderá estar presente nas expressões relacionais dos 
ifs 
IV - A mesma variável tem que estar presente em todas expressões relacionais dos ifs 
V - A variável presente em todas expressões relacionais dos ifs tem que ser enumerável 
 
 
 
 
II, IV e V estão erradas 
 
 
I, III, e IV estão corretas 
 
 
I, III e V estão corretas 
 
 
II, IV e V estão corretas 
 
 
I, II e IV estão corretas 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
5. 
 
 
Em relação às estruturas de controle, considere abaixo o trecho inicial do 
algoritmo que exibe o conceito de um aluno, dada a sua nota. Levando-se em 
conta somente notas inteiras, o critério para conceitos é: notas menor que 3, 
conceito E; notas de 3 a 5, conceito D; notas 6 e 7, conceito C; notas 8 e 9, 
conceito B; nota 10, conceito A. 
 
fimalgoritmo 
 
Continuando a construção do algoritmo acima, a estrutura de controle SE-
ENTAO-SENAO-FIMSE será utilizada: 
 
 
 
 
6 vezes. 
 
 
3 vezes. 
 
 
5 vezes. 
 
 
4 vezes. 
 
 
7 vezes. 
 
 Gabarito Comentado 
 
 
 
6. 
 
 
Para o programa pra verificar se um número é maior, menor ou igual a um outro número 
digitado precisamos de quantos ifs aninhados? 
 
 
 
 
3 
 
 
2 
 
 
4 
 
 
6 
 
 
5 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
7. 
 
Observe o programa abaixo com muita atenção e suponha que você digitou 
nessa ordem: 1.62, 1.78, 1.69. Selecione a opção cujo conteúdo é igual ao 
 
 
que será exibido na tela. 
#include 
using namespace std; 
int main() 
{ 
 float alt1, alt2, alt3; 
 cin >> alt1 >> alt2 >> alt3; 
 if(alt1 < alt2 && alt1 < alt3) 
 cout << "alt2" << "\t" << "alt3" << endl; 
 else if( alt2 < alt3) 
 cout << "alt1" << "\t" << "alt3" << endl; 
 else 
 cout << "alt1" << "\t" << "alt2" << endl; 
 system("pause" ); 
} 
 
 
 
 
alt1 alt3 //na 1a zona e na 2a zona, respectivamente 
 
 
1.78 1.69 //na 1a zona e na 2a zona, respectivamente 
 
 alt2 alt3 //na 1
a zona e na 2a zona, respectivamente 
 
 
1.62 1.69 //na 1a zona e na 2a zona, respectivamente 
 
 
1.78 1.69 //na 1a zona e na 2a zona, respectivamente 
 
 
 
 
8. 
 
 
Com base nas estruturas de Algoritmos, quais são as estrutura de Decisão? 
 
 
 
 
ESCOLHA... CASO SE...ENTAO...SENAO 
 
 
REPITA... ATE ESCOLHA...CASO 
 
 
SE...ENTAO...SENAO DECIDE...ATE... 
 
 
ENQUANTO... FACA SE... ENTAO... SENAO 
 
 
PARA...DE...ATE...FACA ENQUANTO...FACA 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo 
de questões que será usado na sua AV e AVS. 
 
 
 
1. 
 
Um aluno de Lógica de Programação após estudar a estrutura de 
repetição for resolveu fazer algumas experiências para tentar repetir um bloco dez 
vezes. 
 
Abaixo podemos ver os cinco trechos testados por ele. 
 
 
 
 
 
Assinale a opção que apresenta aqueles que repetiram dez vezes. 
 
 
I, II e V 
 
 
I e IV 
 
 
II e V 
 
 
I, IV e V 
 
 
II, III e IV 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
 
O algoritmo abaixo foi construído para gerar a série: 100 99 98 ... 3 2 1. 
Entretanto, ele apresenta um erro que não é sinalizado durante a 
interpretação. 
Selecione a opção que aponta o erro. 
 
 
 
 
 
A variável x não foi inicializada 
 
 Não pode ser usado x++. Tem que trocar para x<-x + 1 
 
 
Teria que colocar \t dentro das aspas na linha onde está o comando 
imprima. 
 
 
 
O teste x >= 1 está errado 
 
 Tem que trocar x++ por x-- 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
3. 
 
 
Muitas séries matemáticas podem ser geradas com a estrutura 
do para/ for. Analise o código abaixo e escolha a opção que 
contém a série exibida pelo código, exatamente da mesma 
maneira que apareceria na tela do computador. 
prog Descobre 
int c, D; 
D <- 5; 
para( c <- 1; c <= 5; c++) 
{ 
imprima c,"/", D, "\t"; 
D--; 
} 
fimprog 
 
 
 
 
1/5 
2/4 
3/3 
4/2 
5/1 
 
 
5 
2 
1 
0.2 
0.5 
 
 
0.2 0.5 1 25 
 
 1/5 2/4 3/3 4/2 5/1 
 
 
0.2 
0.5 
1 
2 
5 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
4. 
 
Considere: 
 
 
 
Dado o algoritmo representado na forma de português estruturado, o valor de 
saída contido na variável RESP será: 
 
 
 
342. 
 
 
6. 
 
 
22. 
 
 
86. 
 
 
0. 
 
 Gabarito Comentado 
 
 
 
5. 
 
 
Um programa pode ser formado por uma, ou mais funções. Quando existir 
mais de uma função, onde deverão se posicionar as demais funções em 
relação à função main()? 
 
I Antes ou depois, depende do programador, pois a posição não gera, nunca, 
problema. 
II Depois, desde que os protótipos sejam colocados antes da main(). 
III Antes para não ter que colocar os protótipos e nunca ocasionar erros. 
IV Antes ou depois, desde que sejam colocados os protótipos. 
 
Observe as afirmativas acima e assinale a resposta CORRETA 
 
 
 
 
Só a II está correta 
 
 
II e III estão corretas 
 
 I e III estão corretas 
 
 
I e IV estão corretas 
 
 II e IV estão corretas 
 
 
 
 
6. 
 
 
O presidente da construtora Sempre Verde precisou, em um determinado 
momento, reajustar o salário dos funcionários e, como ele sabia programar 
porque tinha se dedicado muito à disciplina de Lógica de Programação, criou 
uma função com o seguinte protótipo: 
float calcSalario(float salario, float percentual); 
 
Baseado nesse protótipo é CORRETO afirmar que a função: 
 
 
 
 Recebe dois valores, salário e o percentual, passados por valor 
 
 
Retornará o salário somado ao percentual 
 
 
Recebe dois valores passados por referência 
 
 
Retornará dois valores para a função chamadora 
 
 Não retorna nenhum valor para a função chamadora 
 
 Gabarito Comentado 
 
 
 
7. 
 
 
Considere o seguinte trecho de código em C++ 
int i; 
 int soma = 0; 
 for (i = 1; i<=5; i++){ 
 soma = soma + i; 
 } 
 cout<<soma;< p=""></soma;<> 
Qual a saída do código acima? 
 
 
 
 
17 
 
 
15 
 
 
13 
 
 
16 
 
 
14 
 
 
 
 
8. 
 
 
Pode-se dizer do comando ´para´: 
 
 
 
 
Os valores inicial e final devem ser números fixos. 
 
 
Usa uma condição semelhante ao comando ´se´ para repetir. 
 
 
Usa numeros reais como contador. 
 
 
É uma estrutura de repetição estática com contador incorporado. 
 
 
Sempre varia o contador de 1 em 1. 
 
 
 
 
 
 
Prezado (a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá 
ponto para sua avaliação. O mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este 
modelo de questões que será usado na sua AV e AVS. 
 
 
 
 
1. 
 
 
Um desenvolvedor precisava construir um trecho de 
proteção que só aceitasse os algarismos 1 e 8. Fez cinco 
trechos, mas só um protegeu a entrada como ele desejava. 
 
Assinale a opção onde se encontra o trecho correto. 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 Gabarito Comentado 
 
 
 
2. 
 
 
A estrutura while apresenta certas características e/ou exigências para que possa 
ser executada sem problemas e quando não está simulando nenhuma outra 
estrutura de repetição, podemos afirmar que: 
 
I É uma estrutura usada quando o número de repetições for desconhecido. 
II Controla a repetição com um teste (condição) ao final. 
III Não é indicada para trechos de proteção na entrada de dados. 
IV O usuário não pode decidir quando interrompe a repetição. 
V Uma leitura, ou atribuição, para variável testada na condição deverá ser feita antes 
da estrutura e outra, ao final do bloco da estrutura. 
 
Assinale a opção que relaciona as afirmativas corretas. 
 
 
 
 
 
 
As afirmativas I, II e III 
 
 
As afirmativas III e IV 
 
 
As afirmativas II, IV e V 
 
 
Afirmativas I e V 
 
 
As afirmativas II, IV e V 
 
 Gabarito Comentado 
 
 
 
3. 
 
 
Analise o código abaixo e assinale a opção que identifica todas as estruturas e /ou 
funções presentes no código. 
 
Atenção para todos os detalhes. Para ajudar, sugiro que acompanhe a execução, 
pelo menos duas vezes, com os valores 10 e 6, na primeira vez e, 6 e 10, na 
segunda. 
 
 
 
 
 
 
O programa repete a entrada várias vezes enquanto os dois números forem 
maiores do zero e exibe a média. 
 
 
O programa repete a entrada várias vezes enquanto os dois números forem 
maiores do que zero. A cada entrada, exibe a média aritmética dos dois 
valores, calculada através da chamada de uma função. 
 
 
O programa repete a entrada várias vezes enquanto os dois números forem 
maiores do que zero. A cada entrada, exibe a média ponderada dos dois 
valores, calculada através da chamada de uma função que atribui o maior peso 
ao maior número. 
 
 
O programa permite que se calcule a média ponderada de dois números, 
usando uma função que atribui um peso menor ao maior número. 
 
 
O programa permite que se calcule a média aritmética de dois números, várias 
vezes. 
 
 Gabarito Comentado 
 
 
 
4. 
 
 
Observe o programa abaixo e suponha que você digitou 
12 / 45 / 3 / 9 / 15 / -1. 
 
Assinale a opção que exibe os valores durante a execução do 
programa. 
 
 
 
 
 
 
 
 
 12, 3 e 9 . Ao final, 60 
 
 12, 3 e 9 . Ao final, 59 
 
 
45 e 15 . Ao final, 59 
 
 
45 e 15 . Ao final, 23 
 
 
12, 3 e 9 . Ao final, 24 
 
 Gabarito Comentado 
 
 
 
5. 
 
O professor de Algoritmos pediu aos alunos para construírem um 
programa, codificado na linguagem C++, que exibisse os 
algarismos de um número, começando pelo algarismo da casa 
das unidades simples até o algarismo mais significativo. 
 
 
Assinale a opção que apresenta o trecho capaz de exibir o que 
foi pedido, considerando apenas os valores maiores do que zero. 
 
 
 
 
 
int num, digito; 
cout << "Numero: " ; 
cin >> num; 
while (num > 0) 
{ 
num = num / 10; 
digito = num % 10 ; 
cout << digito << "\t" ; 
} 
 
 
int num; 
cout << "Numero: "; 
cin >> num; 
if (num > 0) 
{ 
cout << num % 10 << "\t" ; 
} 
else 
num = num / 10; 
 
 
int num, digito; 
cout << "Numero: " ; 
cin >> num; 
while (num > 0) 
{ 
digito = num mod 10; 
cout << digito << "\t" ; 
num = num div 10; 
} 
 
 
int num; 
cout << "Numero: "; 
cin >> num; 
while (num > 0) 
{ 
cout << num % 10 << "\t" ; 
num = num / 10; 
} 
 
 
int num; 
cout << "Numero: " ; 
cin >> num; 
while (num > 0) 
{ num = num div 10; 
cout << num % 10 << "\t" ; 
} 
 
 
 
 
6. 
 
 
Para a estrutura de repetição for representada a seguir, qual das respostas abaixo 
corresponde aos valores que a variável "c" irá assumir durante sua execução: 
 for( c=10; c>=1; c-- ) 
 
 
 
 
 
 
10 8 6 4 2 1 
 
 
10 8 6 4 2 1 0 
 
 
12 10 9 8 7 6 5 4 3 2 
 
 
11 10 9 8 7 6 5 4 3 
 
 
10 9 8 7 6 5 4 3 2 1 
 
 
 
 
7. 
 
Os aparelhos de ar-condicionado modernos - também conhecidos como Split - muito mais 
do que apenas máquinas termodinâmicas são também pequenos computadores que 
possuem algoritmos que controlam o seu funcionamento. Atualmente, esses aparelhos são 
configurados por meio de um controle remoto, onde se é programadauma temperatura 
desejada e assim, o equipamento resfria o ambiente até que a temperatura seja atingida. 
Considere que exista um equipamento de ar condicionado que tenha sido programado 
utilizando a linguagem C/C++. Nesse ar-condicionado, existe uma variável real chamada 
"temp_atual" que armazena a temperatura do ambiente medida por um sensor térmico, e 
também, uma outra variável real chamada "temp_programada" que armazena a 
temperatura desejada. Sabendo que todo o processo de resfriamento do aparelho é 
controlado por uma estrutura de repetição, qual das alternativas a seguir, melhor se adequa 
para o trecho do código em que se controla a repetição da máquina de resfriamento do 
aparelho enquanto for necessário? 
 
 
 
 
 
 
 
While (temp_atual > temp_programada) 
 
 
For (temp_atual=25; temp_atual>temp_programada;temp_atual=temp_atual-1) 
 
 
While (temp_programada <= temp_atual) 
 
 
While (temp_programada == temp_atual) 
 
 
For (temp_atual=25; temp_atual>temp_programada;temp_atual=temp_atual+1) 
 
 
 
 
8. 
 
Analise o código abaixo e assinale a alternativa correta em relação aos valores que 
serão impressos após a execução do mesmo. 
A=10; 
 
 
Enquanto(A > 0 ) faça 
 imprima(A); 
 A = A - 3; 
Fim-Enquanto 
 
 
 
 
10, 7, 4, 1 
 
 
10, 9, 8, 7, 6, 5, 4, 3, 2, 1 
 
 
7, 4, 3, 1 
 
 
4, 1, 8, 6, 3 
 
 
10, 9, 8, 7, 6, 5, 4, 2, 1 
 
 
 
 
 
 
 
Legenda: Questão não respondida Questão não gravada Questão gravada 
 
. 
 
 
Observe o algoritmo abaixo e selecione a opção que resume o que ele faz. 
 
 
 
 
 
 
 
Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo 
o dobro de cada número digitado exceto do último 
 
 
Repete enquanto o conteúdo de num for múltiplo de 5, exibindo o 
dobro de cada número digitado inclusive do último 
 
 
Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo 
o quadrado de cada número digitado exceto o do último 
 
 
Repete enquanto o conteúdo de num não for múltiplo de 5, exibindo 
o quadrado de cada número digitado inclusive do último 
 
 
Repete enquanto o conteúdo de num for múltiplo de 5, exibindo o 
dobro de cada número digitado exceto do último 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
2. 
 
 
Na figura abaixo, você encontra quatro trechos de códigos onde a estrutura do...while 
ou está presente simulando outra estrutura de repetição, ou está sendo simulada por 
outra estrutura de repetição. 
 
 
 
Escolha a opção que identifica qual estrutura do... while está simulando, ou qual 
estrutura está simulando, mas analisando, obrigatoriamente, na ordem: a) / b) / c) / d) 
 
 
 
 
a) do while simula while / d) do while simula for / c) do while é simulado por while 
/ b) do while é simulado por for 
 
 
a) do while simula while / b) do while é simulado por for / c) do while é simulado 
por while / d) do while simula for 
 
 
b) do while é simulado por for / a) do while simula while / d) do while simula for / 
c) do while é simulado por while 
 
 
d) do while simula for / b) do while é simulado por for / a) do while simula while / 
c) do while é simulado por while 
 
 
d) do while simula for / c) do while é simulado por while / b) do while é simulado 
por for / a) do while simula while 
 
 
 
 
3. 
 
 
Um aluno estava estudando para a prova de Lógica de 
Programação quando viu um exercício que pedia para que fosse 
construído um trecho que pudesse simular a estrutura do for, 
usando do ... while. 
 
Observe o trecho abaixo e escolha a opção que resolve esse 
problema: 
 
 
 
 
 
x=2; 
do 
{ 
cout << x << "\n" ; 
x += 2; 
} 
while(x <= 10); 
 
 
do 
{ 
x=2; cout << x << "\n" ; 
x += 2; 
} 
while(x <= 10); 
 
 
x=2; 
do 
 
cout << x << "\n" ; 
x += 2; 
 
while(x <= 10); 
 
 
x=0; 
do 
{ 
x += 2; cout << x << "\n" ; 
} 
while(x <= 10); 
 
 
x=2; 
do 
{ 
cout << x << "\t" ; 
x += 2; 
} 
while(x <= 10); 
 
 Gabarito Comentado 
 
 
 
4. 
 
 
Observe o algoritmo abaixo e selecione a opção que resume o que ele 
faz. 
 
 
 
 
 
 
Repete 6 vezes: a entrada de dados; conta quando for par e conta 
todos os números. 
 
 
Repete 5 vezes: a entrada de dados; conta quando for ímpar; conta 
todos os números e exibe, ao final, o percentual de ímpares. 
 
 
Repete 5 vezes: a entrada de dados; conta quando for par e conta 
todos os números. 
 
 
Repete 6 vezes a entrada de dados; conta quando for ímpar ; conta 
todos os números e exibe, ao final, o percentual de ímpares. 
 
 
Repete 6 vezes: a entrada de dados; conta quando for ímpar e conta 
todos os números. 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
 
 
5. 
 
 
As estruturas de repetição são muito importantes em algoritmos, visto que, com elas, é 
possível que determinado trecho de código se repita enquanto determinada situação 
aconteça. Nesse sentido, a estrutura de repetição mais adequada para algoritmos em que 
o código deve ser repetido pelo menos uma vez é o: 
 
 
 
 
While / enquanto 
 
 
For / para 
 
 
Do..while / faça..enquanto 
 
 
If-else / se-senão 
 
 
If-elseif-else / se-senãose-senão 
 
 
 
 
6. 
 
 
Um laco do-while é útil quando seu corpo: 
 
 
 
 
Termina após a primeira execução 
 
 
Nunca é executado 
 
 
Deve ser executado pelos menos uma vez 
 
 
Pode nunca ser executado 
 
 
NDA 
 
 
 
 
7. 
 
 
Qual o resultado da variável Z após a execução do código abaixo? 
x = 5; 
y = 7; 
z = 3; 
if ((x - 1) > 2) 
 y = y + 1; 
else 
 y = y -1; 
z = z + x + y; 
 
 
 
 
13 
 
 
17 
 
 
20 
 
 
16 
 
 
11 
 
 Gabarito Comentado 
 
 
a) Aluno(a), 
 
Você fará agora seu EXERCÍCIO DE FIXAÇÃO! Lembre-se que este exercício é opcional, mas não valerá ponto para sua avaliação. O 
mesmo será composto de questões de múltipla escolha (3). 
Após a finalização do exercício, você terá acesso ao gabarito. Aproveite para se familiarizar com este modelo de questões que será usado na 
sua AV e AVS. 
 
 
 
1. 
 
 
Existem muitas funções, agrupadas em bibliotecas, disponíveis para a linguagem C++. 
 
Um desenvolvedor gostaria de definir o número de casas decimais(3) na saída. 
 
Em qual biblioteca e qual(is) a(s) função(ões) que é(são) necessária(s) para que ele consiga fazer o que deseja? 
 
 
 
 
iomanip / fixed / setprecision(3) 
 
 
cstdlib / fixed(3) / setprecision 
 
 
iomanip / fixed(3) 
 
 
cstdlib / setprecision(3) 
 
 
cstdlib / setbase(3) 
 
 
 
 
2. 
 
 
Um programador percebeu que, mesmo numerando um menu, existia a possibilidade do 
usuário, sem querer, pressionar uma tecla que não tivesse algarismo. 
 
Por essa razão, resolveu fazer a entrada usando um vetor de char e procurou uma função que 
pudesse converter para número inteiro a resposta do usuário, mesmo sabendo que poderia 
retornar 0 se não fosse um número, mas evitaria erro na execução. 
 
Selecione a opção onde está presente a função pré-definida que possibilita isso. 
 
 
 
 
atof(...) 
 
 charInt(...) 
 
 
strupr(...) 
 
 atoi(...) 
 
 
strlwr(...) 
 
 Gabarito Comentado Gabarito Comentado 
 
 
 
3. 
 
 
Uma pessoa iniciante em programação se deparou comum problema quando desejou comparar o conteúdo de 
um vetor de char com uma palavra específica, pois ele estava usando o operador relacional de igualdade (==). 
 
Como era muito curiosa, resolveu pesquisar e encontrou várias funções que manipulavam cadeias de caracteres. 
 
Sabendo que ela tinha declarado um vetor de char de nome sigla e que desejava saber se o usuário tinha 
digitado a sigla CE(Ceará) já convertida para maiúscula em trecho anterior. 
 
Assinale a alternativa que resolve o problema dela. 
 
 
 
 
char sigla[3]; / if(strcmp(sigla, "CE")== 0) 
 
 
char sigla[3]; / if(strcmp(sigla, "CE")= 0) 
 
 
char sigla; / if(strcmp(sigla, "CE")= 0) 
 
 
char sigla[2]; / if(strcpy(sigla, "CE")= 0) 
 
 
char sigla; / if(strcpy(sigla, "CE")== 0) 
 
 Gabarito Comentado 
 
 
 
4. 
 
 
Um programador gostaria de converter para minúsculas todas as letras de uma profissão, mas 
sabe-se que o número de caracteres varia. 
 
Além de uma estrutura de repetição, precisaria de algumas funções para conseguir o que 
pretendia. 
 
Assinale a opção onde estão presentes essas funções. 
 
 
 
 strlen(...) e tolower(...) 
 
 
strlen(...) e toupper(...) 
 
 
tolower(...) e toupper(...) 
 
 strcmp(...) e atoi(...) 
 
 
strcat(...) e atoi(...) 
 
 Gabarito Comentado Gabarito Comentado Gabarito Comentado 
 
 
 
5. 
 
 
Considere o trecho de código a seguir: 
 
Ao final da execução do trecho de código acima, os valores de X e J são iguais, respectivamente, a: 
 
 
 
 
6 e 12. 
 
 
7 e 11. 
 
 
8 e 11. 
 
 
9 e 12. 
 
 
10 e 14 
 
 
 
 
6. 
 
 
Considere o algoritmo abaixo, em pseudocódigo: 
 
Suponha que os dados de entrada A e NOME sejam, respectivamente, "1" e "Maria". Qual a saída do 
algoritmo? 
 
 
 
 
4 
 
 
5 
 
 
2 
 
 
1 
 
 
3 
 
 
 
 
 
 
 
Legenda: Questão não respondida Questão não gravada Questão gravada

Outros materiais