Buscar

Algoritmos AVALIAÇÃO ONLINE 80 Questões

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 63 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 63 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 63 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

PROVA AVALIAÇÃO ONLINE 
ALGORITMOS 
ESAB 
 
 
1- Como você pode reescrever o código a seguir, usando a estrutura de seleção 
ternária? Ou seja, se substituirmos as linhas 9 a 14, como deve estar escrita uma 
nova linha, usando o operador ternário para termos a mesma saída? 
 
 
 
maior=numero1>numero2?numero1:numero2; - C 
 
Justificativa: 
RESPOSTA CORRETA 
 
variavel de atribuicao =condicao ? expressao 1 : espressao 2; 
 
O operador ternário funciona da seguinte forma: a variável de atribuição vai 
receber a expressão1, caso a condição seja verdadeira, ou a expressão2, caso 
a condição seja falsa. Assim, para termos armazenado na variável maior o 
maior valor, a instrução que realiza a mesma operação que a do código, 
apresentada no exercício, é: maior=numero1>numero2?numero1:numero2; 
 
 
2- Qual alternativa NÃO é uma afirmação verdadeira sobre as estruturas 
de dados homogêneas? 
Ao adicionar um valor para uma variável, este valor está sendo salvo 
temporariamente no banco de dados. 
Justificativa: 
RESPOSTA CORRETA 
 
Os valores adicionados em uma variável são salvos na memória do 
computador, não no banco de dados. 
 
3- Considere o seguinte algoritmo em pseudocódigo e selecione a 
alternativa falsa. 
 
algoritmo "oquefaz" 
var 
valor : inteiro 
procedimento faz(N : inteiro) 
inicio 
se (N=0) entao 
escreval(N) 
senao 
faz(N-1) 
escreval(N) 
fimse 
fimprocedimento 
 
inicio 
repita 
escreva("Digite: ") 
leia(valor) 
ate valor >= 0 
faz(valor) 
fimalgoritmo 
D) O procedimento "faz" escreve o valor de N quando esse é igual a zero ou 
escreve o valor de N-1 quando N for maior que zero. 
RESPOSTA CORRETA 
 
O procedimento "faz" é recursivo. Conforme o valor de N que for passado como 
parâmetro, ele chama a si próprio diversas vezes, sendo que, a cada chamada, 
é reduzido o valor de N. Quando N chega a zero, escreve o valor e começa a 
retornar das chamadas recursivas. 
 
Questão 4 : 
São dados os seguintes blocos aplicados na representação em 
fluxograma: 
 
 
 
Quais figuras podem ser utilizadas para representar comandos de 
entrada? 
 
A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
As figuras representam comandos de entrada. A figura 2 é a representação 
padrão sem diferenciar de que forma os dados estão sendo introduzidos. A 
figura 5 representa a entrada através de cartão e a figura 6 representa entrada 
manual de dados. 
A Figuras 1, 2 e 3. 
B Figuras 3 e 4. 
C Figuras 2, 5 e 6. 
D Figuras 4, 5 e 6. 
E Figura 2. 
Questão 5 : 
Analise as características apresentadas pelos algoritmos em cada 
alternativa e selecione a alternativa que não representa um algoritmo, ou 
seja, não atende aos requisitos para ser considerado um algoritmo. 
A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
Não é um algoritmo, pois não tem fim. Não sabemos qual é o último valor da 
série de Fibonacci. 
A Calcular todos os números primos de 2 até 100. 
B Encontrar e escrever todos os termos da sequência de Fibonacci. 
C Calcular a soma de todos os valores no intervalo de 100 até 1000 que são divisíveis por 3 .
D Calcular a média de todos os valores pares entre 100 e 200, inclusive. 
E Encontrar e escrever os 10 primeiros termos da sequência de Fibonacci. 
 
Questão 6 : 
Considerando os dois vetores v e w, declarados abaixo, indique a 
alternativa que apresenta o resultado correto da concatenação desses 
vetores em um vetor linear z, cujo conteúdo é: 1, 3, 5, 2, 4 e 6. 
 
v= [1 3 5]; 
w= [2 4 6]; 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
A concatenação entre dois vetores pode ser realizada pela simples união dos 
elementos na declaração de um novo vetor. Assim, cada vetor é incluído como 
sendo um elemento na nova estrutura. 
A z= [v w]; 
B z= [v; w]; 
C z= [v + w]; 
D z= [v & w]; 
E z= concat(v, w); 
 
Questão 7 : 
O computador é um dispositivo capaz de realizar cálculos e de tomar 
decisões lógicas em velocidades muito mais rápidas que os seres 
humanos. Além disso, processam dados através de conjuntos de 
instruções denominados de programas, chamados de softwares. Não 
importa a aparência física, um computador é composto por vários 
dispositivos, como teclado, monitor, mouse, disco rígido, memória, 
unidade de processamento, os quais são denominados hardware. A figura 
a seguir representa a estrutura básica de um computador. Analise a figura 
e selecione o componente que representa a parte de “processamento” do 
computador, responsável por executar cálculos como adição, subtração, 
multiplicação e divisão e mecanismos de tomada de decisão, que 
permitem ao computador, por exemplo, comparar dois itens na unidade 
de memória e determinar se eles são ou não iguais. O outro componente 
é responsável pelo tráfego de dados, obtendo dados da memória e os 
interpretando, e controlando a transferência de dados da memória para a 
ULA, da entrada para a memória e da memória para a saída. 
 
 
 
 
 Qual o componente que representa a funcionalidade descrita acima? 
 
A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
A Unidade Lógica e Aritmética (ULA, ou ALU, Arithmetic and Logic Unit) é a 
seção de “processamento” do computador, responsável por executar cálculos 
como adição, subtração, multiplicação e divisão e mecanismos de tomada de 
decisão, que permitem ao computador, por exemplo, comparar dois itens na 
unidade de memória e determinar se eles são ou não iguais. A Unidade de 
Controle é responsável pelo tráfego de dados, obtendo dados da memória e os 
interpretando. A Unidade de Controle controla a transferência de dados da 
memória para a ULA, da entrada para a memória e da memória para a saída. 
A Unidade de entrada. 
B Unidade de saída. 
C As unidades de memória auxiliar. 
D A Unidade Lógica e Aritmética (ULA, ou ALU, Arithmetic and Logic Unit) e a Unidade 
de Controle (UC). 
E A memória principal. 
 
Questão 8 : 
Assinale a opção que indica a diferença entre os operadores = e ==, 
ambos utilizados na linguagem C. 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O operador = é o operador de atribuição. Ou seja, que atribui um valor a uma 
variável. 
 
Já o operando == é o operando utilizado para comparar uma variável com a 
outra e verificar se elas são iguais. 
A = é um operando de atribuição, e == é um operando relacional que avalia se duas 
variáveis são iguais. 
B Não existe diferença, os dois operandos são de atribuição. 
C Não existe diferença, os dois operandos são relacionais, utilizados para avaliar se dois 
valores são iguais. 
D == é um operando de atribuição, e = é um operando relacional que avalia se duas variáveis 
são iguais. 
E Esses operandos não existem na linguagem C. 
 
 
Questão 9 : 
Qual estrutura está representada na imagem a seguir? 
 
 
 
A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
O diagrama mostra um teste condicional e blocos que serão executados, caso 
o teste seja verdadeiro ou falso. Esse comportamento é obtido com a estrutura 
de seleção composta, ou seja, com if-else. 
A Estrutura de seleção simples. 
B Estrutura de seleção composta. 
C Estrutura sequencial. 
D Não é possível, somente com o diagrama, saber qual é a estrutura. 
E Estrutura switch. 
Questão 10 : 
A construção de um algoritmo para representar a situação de uma 
aplicação do mundo real deve ser feita com muito cuidado a fim de que 
realmente execute as tarefas que se quer de forma correta e em tempo 
hábil. A dificuldade em gerar bons algoritmos/programas levou à 
definição de técnicas específicas que iniciam frequentemente com a 
construção de um algoritmo. Para garantir a qualidade de um programa, 
deve-se construí-lo seguindo uma série de etapas para, assim, chegar ao 
produto final: um programa que execute as funcionalidades necessárias à 
aplicação. Identifique e selecione a alternativa que representa as etapas e 
a ordemcorreta de construção de um programa. 
A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Estes são os passos que representam as etapas e a ordem correta de 
construção de um programa 
A Análise do problema -Identificação das entradas e saídas – Validação do algoritmo – 
Construção do algoritmo – Construção do programa – Teste do programa - Manutenção. 
B Análise do problema -Identificação das entradas e saídas – Construção do algoritmo – 
Construção do programa – Validação do algoritmo –Teste do programa - Manutenção. 
C Análise do problema -Identificação das entradas e saídas – Construção do algoritmo – 
Validação do algoritmo – Construção do programa – Teste do programa - Manutenção. 
D Análise do problema -Identificação das entradas e saídas – Construção do algoritmo – 
Validação do algoritmo - Manutenção do algoritmo – Teste do programa - Construção do 
programa. 
E Análise do problema - Identificação das entradas e saídas – Construção do programa – 
Teste do programa - Construção do algoritmo – Validação do algoritmo – Manutenção. 
 
Questão 11 : 
Considere a estrutura, as características e o funcionamento das matrizes. 
Analise as alternativas a seguir e determine qual é a falsa. 
A resposta correta é a opção C 
Justificativa: 
A Uma matriz com quatro linhas e cinco colunas tem vinte elementos. 
B As diagonais principal e a secundária somente existem em matrizes quadradas. 
C As variáveis utilizadas para indexar elementos de uma matriz podem ser do tipo real. 
RESPOSTA CORRETA 
 
As variáveis utilizadas para indexar elementos de uma matriz devem ser do tipo 
inteiro. 
 
Questão 12 : 
Considerando-se os comandos de entrada, comandos de saída e 
atribuição, analise as sentenças apresentadas abaixo. 
 
I. O comando de saída é utilizado para mostrar os dados na tela ou na 
impressora. 
 
II. O comando de entrada é utilizado para receber dados digitados pelo 
usuário, que serão armazenados em variáveis. 
 
III. O comando de entrada é representado pela palavra reservada Leia ou 
Ler, e o comando de saída é representado por Escreva ou Imprima. 
 
É INCORRETO apenas o que se afirma em: 
A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
Nenhuma das alternativas é incorreta. Todas são corretas. A alternativa I é 
correta, pois os comandos de saída exibem o resultado do processamento na 
tela ou impressora, em um dispositivo de saída. A alternativa II é correta, pois 
os comandos de entrada recebem os dados através de um dispositivo de 
entrada. A alternativa III é correta, pois o comando de entrada é representado 
pela palavra reservada Leia ou Ler e o comando de saída é representado por 
Escreva Escrever, Imprima ou Imprimir. 
A Alternativa I. 
B Alternativas I e II. 
C Alternativas I e III. 
D A estrutura de repetição mais adequada ao processamento de matrizes é a "para...faça". 
E Se tivermos duas matrizes declaradas desta forma: A, B : vetor[1..3,1..3] de real é possível 
realizar o seguinte comando: A <- B 
D Todas as alternativas. 
E Nenhuma alternativa. 
 
Questão 13 : 
Qual é a função dos operadores ++ e -- na linguagem C, respectivamente? 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O operador ++ é um operador para incrementar (adicionar) o valor 1 a uma 
variável de forma mais rápida. 
 
Já o operador -- é o operador de decremento que realiza a operação de 
subtração de 1 em uma variável. 
 
Esses operadores podem ser usados de forma pré ou pós 
incremento/decremento. 
A São operadores de incremento e decremento. 
B É o operador de soma e de subtração, respectivamente. 
C É o operador de decremento e de incremento, respectivamente. 
D Esses operadores não existem em C. 
E São operadores de multiplicação e de divisão, escritos de forma diferente. 
 
Questão 14 : 
Analise o seguinte programa em pseudocódigo: 
 
algoritmo "matrizes" 
var 
valores: vetor[1..3,1..4] de real 
calcula: real 
i,j: inteiro 
 
procedimento X 
inicio 
para i de 1 ate 3 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
escreva("Digite valor: ") 
leia(valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
procedimento Y 
inicio 
para i de 1 ate 3 passo 1 faca 
escreval("") 
para j de 1 ate 4 passo 1 faca 
escreva(" ",valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
funcao Z:real 
var 
s : real 
inicio 
s <- 0 
para i de 1 ate 3 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
s <- s + valores[i,j] 
fimpara 
fimpara 
retorne s 
fimfuncao 
 
inicio 
//conjunto de comandos 
fimalgoritmo 
 
Analise as alternativas a seguir e selecione a que apresenta corretamente 
o "//conjunto de comandos" para realizar a seguinte lista de operações: 
- ler a matriz; 
- calcular o somatório dos elementos da matriz; 
- escrever a matriz; 
- mostrar o somatório dos elementos da matriz. 
A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Inicio 
//conjunto de comandos 
X() //le a matriz 
calcula <- Z() //calcula o somatorio 
Y() //escreve a matriz 
escreval( "Somatorio: ", calcula ) //mostra o valor do somatório 
fimalgoritmo 
A inicio 
//conjunto de comandos 
X() 
Y() 
escreval( "Somatorio: ", Z ( ) ) 
fimalgoritmo 
B inicio 
//conjunto de comandos 
X() 
calcula <- Z() 
Y() 
escreval ( "Somatorio: ", somatorio ) 
fimalgoritmo 
C inicio 
//conjunto de comandos 
X() 
calcula <- Z() 
Y() 
escreval ( "Somatorio: ", calcula ) 
fimalgoritmo 
D inicio 
//conjunto de comandos 
Y() calcula <- Z() 
X() escreval ( "Somatorio: ", calcula ) 
fimalgoritmo 
E inicio 
//conjunto de comandos 
X() 
Y() 
escreval ( "Somatorio: ", calcula ) 
fimalgoritmo 
 
Questão 15 : 
O seguinte código não será executado pois: 
 
#include 
int main(){ 
numero=10; 
//tete condicional 
if(numero<50){ 
printf("numero menor que 50"); 
} 
else{ 
printf("numero maior que 50"); 
} 
 
return 0; 
} 
A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
A variável numero não declarada, faz com que esse código não seja 
executado. Comentários não geram erros, a estrutura if-sel está correta e 
identação não faz parte da sintaxe em C. 
A Existe um erro no comentário. 
B A identação do código está incorreta. 
C A variável numero não está declarada. 
D Existe um erro no teste condicional do if. 
E Existe um erro no comando dentro do else. 
 
Questão 16 : 
Dado o seguinte problema: Escreva um programa que cadastre o nome, a 
matrícula e duas notas de vários alunos, em seguida imprima a matrícula, 
o nome e a média de cada um deles. Verifique o código criado e assinale 
a alternativa correta. 
 
 
 
A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
Este é um conceito adequado para vetor de registro que é utilizado pelo 
algoritmo. 
A Entre as linhas 2 e 8 está sendo declarada uma nova variável de registro. 
B Entre as linhas 1 e 2 acontece a declaração de variáveis. 
C Na linha 18 estão sendo salvos os valores digitados no teclado em um vetor de matrículas. 
D Na linha 22 estão sendo salvos os dados dos valores contidos no registro salvo no índice [a] 
do vetor. 
E O código está utilizando um vetor de registro: estrutura que contém diversos tipos de 
dados mas que é declarada como um estrutura homogênea porque os dados estão 
armazenados dentro de um registro, logo o compilador "visualiza" apenas como 
sendo um vetor de registros. 
 
Questão 17 : 
Com relação ao código em anexo, é correto afirmar que: 
 
#include 
int main(){ 
int a,b; 
a=10; 
b=15; 
printf("a= %d, b=%d\n",a,b); 
temp=b; 
b=a; 
a=temp; 
printf("a= %d, b=%d\n",a,b); 
 
return 0; 
} 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O código não será executado pois a variável temp não foi declarada, o 
que caracteriza um erro sintático. 
A O código possui um erro sintático, por esse motivo não irá rodar e o erro aparecerá 
no momento da compilação. 
B O programa imprimirá a = 10, b = 15 em uma linha e, na seguinte, a = 15, b =10. 
C O programa imprimiráa = 10, b = 15 em uma linha e, na seguinte, a = 10, b =15. 
D O programa imprimirá a = 10, b =1 5 duas vezes na mesma linha. 
E O programa imprimirá a = 15, b = 10 em uma linha e, na seguinte, a = 15, b =10. 
 
Questão 18 : 
Considerando o trecho de código, qual é o valor que será impresso na 
tela ao final da execução? 
 
 
 
A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
O valor que vai ser impresso será da variável resultado. Como a expressão é 
formada pelos operadores de multiplicação e divisão e o operando de 
multiplicação tem maior precedência, ele deve ser resolvido primeiro. O 
resultado é 5 multiplicado por 3 - que é 15. 
 
Depois, realiza-se a divisão por 2, que resulta em 7.5. No entanto, como a 
operação foi feita com números inteiros, a resposta é a parte inteira 7. A 
variável que armazena o resultado da operação é do tipo float, então o valor 
que será mostrado é o 7 seguido de ponto e zeros = 7.00. 
A 7. 
B 7.5. 
C 7.00. 
D Não se pode realizar operações com números inteiros e armazenar em uma variável do tipo 
float. Portanto, esse código não é executado, havendo um erro de sintaxe. 
E Não é possível determinar, pois a variável resultado não foi inicializada. 
 
 
Questão 19 : 
O seguinte programa deve receber um número e apresentar um texto 
indicando se esse número é par ou ímpar. 
 
 
 
O que deve ser escrito nas linhas 7 e 10 para que a saída seja de acordo 
com as imagens de saída de execução? 
 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
Para que se tenha a saida de acordo com o apresentado, é preciso que, dentro 
do if, exista o print referente à resposta, caso o número seja par. O teste 
condicional do if retorna verdadeiro se o número dividido por 2 tem como resto 
0. Então, na linha 7, fica a resposta de número par e, no else, a resposta do 
número ímpar. Além disso, a resposta contém o valor da variável, ou seja, usa-
se a concatenação dentro da instrução printf. 
A Na linha 7: printf("O numero %d eh parn",numero); na linha 10: printf("O numero %d 
eh imparn",numero); 
B Na linha 7: printf("O numero %d eh imparn",numero); na linha 10: printf("O numero %d eh 
parn",numero); 
C Na linha 7: printf("O numero eh parn",numero); na linha 10: printf("O numero eh 
imparn",numero); 
D Na linha 7: printf("O numero %d eh parn"); na linha 10: printf("O numero %d eh imparn"); 
E Na linha 10: printf("O numero eh parn",numero); na linha 7: printf("O numero eh 
imparn",numero); 
 
 
Questão 20 : Observe o algoritmo: 
 
 
 
 
Se, na linha de exibição dos dados, no comando de entrada Leia, na linha 
05, forem fornecidos os valores da tabela abaixo: 
 
 
 
Qual será o valor da variável total apresentado no comando de saída 
Escreva, na linha 07? 
 
Resposta Errada! A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
total <- (quad (num1) + exp(num2,2) + raizq(num3) ) 
 
total <- ( quad(2) + exp(6,2) + raiz(4)) 
 
total <- (4,0 + 36,0 + 2,0) total <- 42,0 
A 46,0 
B 56,0 
C 55,2 
D 54,0 
E 42,0 
 
 
Questão 21 : 
Para organizar o seu controle de folha ponto, o setor de RH da empresa 
Xpto Implementos Agrícolas resolveu criar um software onde pudesse 
armazenar o nome, o cargo e o salário de cada funcionário. Analise as 
alternativas abaixo e marque aquela cuja implementação está correta. 
 
 
 
Resposta Errada! A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
Esses dois códigos estão corretos mesmo que o segundo não esteja 
mostrando na tela uma mensagem pedindo para o usuário digitar os 
dados, uma vez que, caso o usuário opere corretamente o programa ele 
irá fazer o registro e exibição dos dados. 
A Apenas o primeiro código está correto. 
B Apenas o segundo código está correto. 
C Apenas o terceiro código está correto. 
D Apenas o primeiro e o segundo código estão corretos. 
E Apenas o segundo e o terceiro código estão corretos. 
 
 
Questão 22 : 
São dados três valores que representam as três notas de um aluno na 
disciplina de Algoritmos; os valores são representados por n1, n2 e n3. 
Calcule e imprima a média harmônica. 
 
Sabe-se que a média harmônica entre números reais positivos x1, x2, ..., 
xn é definida como sendo o inverso da média aritmética dos seus 
inversos, ou é o número de termos dividido pela soma do inverso dos 
termos, como apresentado na fórmula: 
 
 
 
Observe: 
 
x1, x2.... xn: representam as notas n1, n2 e n3. 
 
n: representa o número de termos, ou seja, a quantidade de notas. 
 
Selecione a alternativa que contempla corretamente o comando de 
atribuição para o cálculo da média harmônica em pseudocódigo. 
 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
A alternativa C é a alternativa correta, onde as operações são executadas 
de acordo com a precedência correta. As alternativas a,b,d e e 
apresentam formulas diferentes 
A h <- n / (1 + (n1 * n2 * n3)) 
B h <- n1 + n2 + 1/n3 
C h <- n / (1/n1 + 1/n2 + 1/n3) 
D h <- n/n1 +n/n2 + n/n3 
E h <- n/(1/(n1 + n2 + n3)) 
Questão 23 : 
Deseja-se construir um algoritmo que leia uma matriz bidimensional 
quadrada, ou seja, que a quantidade de linhas seja igual à quantidade de 
colunas. Esse algoritmo deve ter uma função responsável por calcular o 
somatório dos elementos da diagonal secundária. 
 
Analise as alternativas a seguir e selecione a que apresenta a mais 
correta implementação da função que calcula o somatório dos elementos 
da diagonal secundária da matriz. 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Função que calcula e retorna o somatório dos elementos da diagonal 
secundária da matriz. 
A funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 faca para j de 1 
ate colunas passo 1 faca se ((i+j) < (linhas+1)) entao s <- s + valores[i,j] fimse fimpara 
fimpara retorne s fimfuncao 
B funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 faca para j de 1 
ate colunas passo 1 faca se ((i+j)> (linhas+1)) entao s <- s + valores[i,j] fimse fimpara 
fimpara retorne s fimfuncao 
C funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 faca para 
j de 1 ate colunas passo 1 faca se ((i+j) = (linhas+1)) entao s <- s + valores[i,j] fimse 
fimpara fimpara retorne s fimfuncao 
D funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 faca para j de 1 
ate colunas passo 1 faca se (i=j) entao s <- s + valores[i,j] fimse fimpara fimpara retorne s 
fimfuncao 
E funcao secundaria:real var s : real inicio s <- 0 para i de 1 ate linhas passo 1 faca para j de 1 
ate colunas passo 1 faca se ((i+j) = (linhas+1)) entao s <- s + valores[i,j] fimse fimpara 
fimpara fimfuncao 
Questão 24 : 
Analise o seguinte algoritmo baseado na linguagem MATLAB e marque a 
alternativa que representa o conteúdo do vetor w: 
 
v= [1:10] * 3; 
w= []; 
for i= 1 : length(v) 
if mod(v(i), 2) ~= 0 
w= [w v(i)]; 
end 
end 
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
O algoritmo apresentado cria um vetor de 10 posições com números entre 
1 e 10 e multiplica cada valor por 3. Na sequência, cria um laço de 
repetição para selecionar apenas os elementos ímpares do vetor v e 
inseri-los no vetor w. 
A 1, 3, 6, 9. 
B 3, 9, 15, 21, 27. 
C 6, 12, 18, 24, 30. 
D 9, 12, 15, 18, 21, 24, 27, 30. 
E 1, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30. 
Questão 25 : 
Considerando um programa que percorre um vetor localizando os 
registros armazenados nele e altera os valores de um registro específico. 
Analise o trecho de código a seguir e baseado nele assinale a alternativa 
correta. tipo 
 
pessoa= registro 
codigo: inteiro 
nome: caractere 
cargo: caractere 
salario: real 
fimregistro 
 
Var 
dados : vetor[1..5] de pessoa 
continua: caractere 
i: inteiro 
 
inicio 
para i de 1 ate 5 faca 
escreval("Digite o códigodo funcionário") 
leia(pessoa[1].codigo) 
escreval("Digite o nome do funcionário") 
leia(pessoa[1].nome) 
escreval("Digite o cargo do funcionário") 
leia(pessoa[1].cargo) 
escreval("Digite o salario do funcionário") 
leia(pessoa[1].salario) 
 
fimpara 
 
dados[3].codigo <- 8 
dados[3].nome <- "jose paulo" 
dados[3].cargo <-"programador" 
dados[3].salario <- 1.500 
 
 
continua <- "sim" 
i <-1 
enquanto continua <> "não" faca 
 
escreva("Código:",dados[i].codigo," ") 
escreva(" Nome:",dados[i].nome+ " ") 
escreva(" Cargo:",dados[i].cargo+ " ") 
escreva(" Salário",dados[i].salario) 
escreval("") 
i <- i+1 
 
se(i = entao 
continua <- "não" 
fimse 
fimenquanto 
 
fimalgoritmo 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
É exatamente esse o fluxo de funcionamento deste algoritmo. 
A O trecho de código não utiliza boas práticas de programação porque para percorrer vetor de 
registros deve-se usar laço para e não laço enquanto. 
B Existe um erro na segunda atribuição de valores: está sendo atribuído para o vetor e não 
para o campo do registro. 
C O trecho de código está incorreto porque utiliza enquanto e não for para percorrer um vetor 
que contém registros. 
D O algoritmo possui um laço para leitura e atribuição de valores, possui uma alteração 
dos valores contidos no registro armazenado no índice 3 do vetor, e possui um laço 
enquanto para mostrar os resultados. 
E O laço de repetição while terá sua execução encerrada quando a variável contínua receber 
um valor que represente não. Podendo ser: false, F, Not ou Não. 
Questão 26 : 
Você precisa declarar uma variável "idade" do tipo inteiro. Qual a maneira 
correta de fazer isso em C? 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O tipo inteiro em C é representado pela palavra reservada int. Para 
declarar uma variável, é preciso colocar a palavra que indica o tipo, neste 
caso int, seguida do nome da variável, e finalizar a declaração com ponto 
e vírgula. 
A int idade; 
B idade int; 
C inteiro idade; 
D Não é preciso declarar em C; o simples uso da variável faz ela passar a existir. 
E float idade; 
 
 
 
Questão 27 : 
Avalie o seguinte código, e diga qual é o resultado que será impresso. 
 
 
 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
Tendo em vista que as variáveis n,i e resultado têm valores iniciais, para 
obter o valor final da expressão que atribui um valor à variável resultado, 
é preciso resolver a operação de multiplicação primeiro, cujo valor é 9.6. 
 
Em seguida você pode realizar a subtração ou adição. Escolhendo fazer a 
subtração, temos o valor 7.6. Logo em seguida, soma-se o valor de i, 
obtendo-se 10.1. 
 
Por fim, somamos o valor inicial de resultado, que é 10, tendo como 
resultado 20.10. 
A 20.10. 
B 11. 
C 8. 
D 15.7. 
E 10.10. 
Questão 28 : 
Observe o algoritmo em pseudocódigo: 
 
01 Algoritmo "Calculo_diaria" 
02 var 
03 dias: inteiro 
04 valor_diaria, total : real 
05 nome_cliente: caractere 
06 início 
07 Escreva(“Informe o nome do cliente:”) 
08 leia(nome_cliente) 
09 Escreva(“Informe o numero de dias:”) 
10 leia(dias) 
11 Escreva(“Informe o valor da diária do hotel:”) 
12 leia(valor_diaria) 
13 escreva(valor_diaria*dias) 
14 fimalgoritmo 
 
Ele calcula o valor de uma hospedagem em um hotel conforme o número 
de dias e o valor da diária informado. 
 
Os seguintes dados de entrada são considerados: 
- Informe o nome do cliente: João Paulo Beltrano 
- Informe o número de dias: 4 
- Informe o valor da diária do hotel: 240,00 
 
Para melhor visualizar os dados da conta do cliente, o gerente do hotel 
deseja a seguinte saída para o algoritmo: 
- Valor de 4 dias de 240,00 de João Pedro é = 960,00 
 
Analise a linha 13 do algoritmo e selecione a alternativa que representa a 
saída solicitada pelo gerente. 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
O comando está completo, apresentando toda a frase e todas as variáveis 
solicitadas como saída. 
 
 
A Escreva(“Valor de dias de João Pedro é = ”) 
B Escreva(“ Valor de 4 dias de 240,00 de João Pedro é = 960,00”) 
C Escreva(“Valor de dias de João Pedro é = ”, valor_diaria*dias) 
D Escreva("Valor de ",dias," dias de ",valor_diaria," de ",nome_cliente," é = 
",valor_diaria*dias) 
E Escreva(“Valor de dias de João Pedro é = ”, dias, valor_diaria, valor_diaria*dias) 
Questão 29 : 
Um pedreiro necessita de auxílio para o cálculo de conversão de uma 
medida recebida em metros para centímetros e milímetros. O valor deve 
ser informado em metros e exibido para o pedreiro em centímetros e 
milímetros. Analise as soluções apresentadas nas alternativas e selecione 
a que representa a solução correta para o problema. 
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
O algoritmo correto é a letra B. O algoritmo da letra A não contém a 
declaração da variável de milímetros, enquanto o algoritmo da letra C 
declara as variáveis como inteiros. O algoritmo da letra D não contem o 
comando de entrada e o algoritmo da letra E calcula incorretamente os 
valores (inverte os multiplicadores).. 
A Algoritmo “um”Var m, cm: realinicio Leia(m) cm <- m*100 mm <- m * 1000 Escreva(cm, 
mm)fimalgoritmo 
B Algoritmo “dois” Var m, cm, mm: real inicio Leia(m) cm <- m*100 mm <- m *1000 
Escreva(cm, mm) fimalgoritmo 
C Algoritmo “tres” Var m, cm, mm: inteiro inicio Leia(m) cm <- m*100 mm <- m * 1000 
Escreva(cm, mm) fimalgoritmo 
D Algoritmo “quatro” Var m ,cm,mm: real inicio cm <- m*100 mm <- m * 1000 Escreva(cm, mm) 
fimalgoritmo 
E Algoritmo “cinco” Var m,cm,mm: real inicio leia (m) cm <- m*1000 mm <- m * 100 
Escreva(cm, mm) fimalgoritmo 
Questão 30 : 
Analise o seguinte algoritmo em pseudocódigo: 
 
algoritmo "oquefaz" 
var 
valor : inteiro 
funcao calcula(N : inteiro):real 
inicio 
se (N= entao 
retorne(1) 
senao 
retorne( (N / (N-1)) + calcula(N-1)) 
fimse 
fimfuncao 
 
inicio 
escreva("Digite Valor: ") 
leia(valor) 
escreval("Serie= ",serie(valor)) 
fimalgoritmo 
 
Considere que foi digitado 10 para a variável valor. Selecione a alternativa 
que representa corretamente a série implementada pela função 
calcula(valor). 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Essa alternativa representa a série calculada pela função calcula quando 
o conteúdo da variável valor for 10. 
A Série = (1/1) + (1/2) + (2/3) + (3/4) + (4/5) + (5/6) + (6/7) + (7/8) + (8/9) + (9/10). 
B Série = 1 + (1/1) + (2/1) + (3/2) + (4/3) + (5/4) + (6/5) + (7/6) + (8/7) + (9/8). 
C Série = (1/1) + (2/1) + (3/2) + (4/3) + (5/4) + (6/5) + (7/6) + (8/7) + (9/8) + (10/9). 
D Série = (1/1) - (1/2) + (2/3) - (3/4) + (4/5) - (5/6) + (6/7) - (7/8) + (8/9) - (9/10). 
E Série = (1/1) - (2/1) + (3/2) - (4/3) + (5/4) - (6/5) + (7/6) - (8/7) + (9/8) - (10/9). 
Questão 31 : 
Sobre a declaração e inicialização de um registro para armazenar os 
dados de 10 funcionários, considere os três códigos abaixo e analise se 
estão corretos ou não. 
 
 
 
Resposta Errada! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O segundo código está incorreto pois está faltando a palavra tipo, seção 
tipo, sendo o registro criado dentro da seção var, e o terceiro código está 
com problemas na inicialização (atribuição de valores para o registro), 
verifique a sintaxe. 
A Apenas o primeiro código está correto. 
B Apenas o segundo código está correto. 
C Apenas o terceiro código está correto. 
D Apenas o primeiro e o segundo códigos estão corretos. 
E Apenas o segundo e o terceiro códigos estão corretos. 
Questão 32 : 
Considerando os dois vetores lineares v e w, declarados a seguir, marque 
a alternativa que representa corretamente a operação de multiplicação de 
elementos na linguagem MATLAB, de modo que o conteúdo do vetor z 
seja 2, 12 e 30: 
 
v= [1 3 5]; 
 
w= [2 4 6]; 
Resposta Errada! A resposta corretaé a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
Na linguagem MATLAB, a multiplicação de elementos entre vetores é 
realizada pelo operador .*, que indica que os elementos das mesmas 
posições serão multiplicados. 
A z= v * w; 
B z= v .* w; 
C z= v ** w; 
D z= multi(v, w); 
E z= prod(v, w); 
Questão 33 : 
Qual a diferença entre a estrutura while e a do-while? 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
As duas estruturas são de repetição e podem ser usadas tanto nos casos 
em que se sabe a quantidade de vezes que o loop vai ser executado, 
quanto nos casos em que não se tem essa informação. A diferença é que, 
na estrutura while, o teste condicional é feito logo no início da estrutura, 
ao passo que na do-while esse teste é feito no fim. 
 
 
 
A Na estrutura de repetição while, o teste condicional é feito no fim do loop; já na estrutura do-
while, o teste é feito no início. 
B Na estrutura de repetição while, não é preciso modificar o valor da variável de controle; já na 
estrutura do-while, essa modificação é obrigatória. 
C Na estrutura de repetição while, o teste condicional é feito no início do loop; já na 
estrutura do-while, o teste é feito no fim. 
D A while só pode ser usada quando se sabe quantas vezes o loop será executado; já na do-
while esse dado não é obrigatório. 
E Não existe diferença alguma entre as duas estruturas. 
Questão 34 : 
A empresa Construção Tabajara Ltda está completando 50 anos. O dono 
da empresa está em busca de auxílio para calcular os benefícios que seus 
funcionários receberão como presente em alusão ao aniversário da 
empresa. As regras apresentadas pelo dono são: 
 
- 10% de bônus sobre o valor do salário-base do funcionário; 
- 50,00 por filho; 
- 10,00 por ano completo que o funcionário trabalhou na empresa. 
 
Como resultado, deve ser exibido o salário-base do funcionário e o total 
do benefício que receberá. 
 
Analise as alternativas e selecione a que representa a solução correta 
para o problema apresentado. 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
A declaração das variáveis e seus tipos, atribuições, comandos de 
entrada e saída estão todos corretos. 
A Alternativa 1 
 
 
B Alternativa 2 
 
C Alternativa 3 
 
D Alternativa 4 
 
E Alternativa 5 
 
 
 
Questão 35 
Indique a alternativa que representa corretamente a declaração de um 
vetor de linha que contém os elementos ímpares entre 0 e 10 no 
MATLAB. 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
A declaração de um vetor no MATLAB é definida pela identificação de 
colchetes, cujos elementos devem estar separados por vírgulas ou 
espaços em branco. Uma forma alternativa é estabelecida por três 
parâmetros, que identificam o valor inicial, o incremento e o valor final. 
A v= [1; 3; 5; 7; 9]; 
B v= [1: 3: 5: 7: 9]; 
C v= [1:2:10]; 
D v= (1 3 5 7 9); 
E v= [0:10, unpaired]; 
Questão 36 : 
Muitas pessoas encontram dificuldades em converter valores informados 
em Reais (R$) para valores em Dólar ($). Selecione a alternativa correta 
que representa os componentes de entrada, processamento e saída do 
algoritmo que realize a conversão. 
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
Para a conversão, deve-se dividir o valor em reais pelo valor do dólar e 
mostrar o resultado. 
A Entrada: valor em reais e o valor de 1 dólar. Processamento: multiplicar o valor em reais 
pelo valor do dólar diário. Saída: mostrar o valor em dólar encontrado. 
B Entrada: valor em reais e o valor de 1 dólar. Processamento: dividir o valor em reais 
pelo valor do dólar diário. Saída: mostrar o valor em dólar encontrado. 
C Entrada: valor em reais e o valor de 10 dólares. Processamento: subtrair o valor em reais 
pelo valor do dólar diário. Saída: mostrar o valor em dólar encontrado. 
D Entrada: valor em reais e o valor de 1 dólar. Processamento: somar o valor em reais pelo 
valor do dólar diário. Saída: mostrar o valor em dólar encontrado. 
E Entrada: valor em reais e o valor de 100 dólares. Processamento: dividir o valor em reais 
pelo valor do dólar diário. Saída: mostrar o valor em dólar encontrado. 
Questão 37 : 
O seguinte programa pede para o usuário um número e mostra a tabuada 
de multiplicação desse número. 
 
 
Foram retiradas as linhas 6 e 10 dessa estrutura, e agora você precisa 
adicioná-las para um correto funcionamento desse código. 
 
O que deve ser digitado nas linhas 6 e 10? 
 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Para um correto funcionamento do código, a variável de controle deve ser 
inicializada com o valor conveniente, que nesse caso é 1. Ela deve ser 
modificada todas as vezes que passa pelo loop; nesse caso, é preciso 
adicionar 1 em cada loop. 
A na linha 6: contador=1; na linha 10: contador=contador*1; 
B na linha 6: contador=0; na linha 10: contador=contador+1; 
C na linha 6: contador=1; na linha 10: contador=contador+1; 
D na linha 6: contador=1; na linha 10: contador=contador-1; 
E na linha 6: contador=10; na linha 10: contador=contador+1; 
Questão 38 : 
Em que ocasião podemos substituir a while pela for? 
Resposta Errada! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
Ambas são estruturas de repetição, porém a while pode ser substituída 
pela for somente quando se sabe quantas vezes o loop precisa ser 
executado. Isso se dá pela natureza da estrutura for. 
A Somente quando se sabe quantas vezes a estrutura de repetição será executada. 
B Sempre é possível substituir uma estrutura while por uma for. 
C Nunca podemos substituir uma estrutura while por uma for. 
D Somente quando a while estiver efetuando operações aritméticas. 
E Somente quando não for preciso inicializar a variável de controle. 
Questão 39 : 
Os comandos de entrada e saída utilizam periféricos para introduzir os 
dados para serem processados e visualizar os dados após serem 
processados. Os periféricos de entrada enviam a informação para o 
computador, e os periféricos de saída transmitem a informação do 
computador para o usuário. Para isso, temos vários dispositivos-padrão 
utilizados como periféricos de entrada e de saída, e até mesmo periféricos 
que servem tanto para entrada como para saída (discos de 
armazenamento). 
 
Selecione o periférico básico que é considerado periférico de saída. 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
É um dispositivo padrão de saída. Ele recebe os dados do computador e 
imprime. 
A Teclado. 
B Mouse. 
C Leitor de código de barras. 
D Impressora. 
E Câmera de vídeo. 
 
Questão 40 
Qual a principal diferença entre variáveis, vetores e matrizes? 
Resposta Errada! A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
Esta é a resposta correta com relação às diferenças entre variáveis, 
vetores e matrizes. 
A Variáveis e vetores armazenam um único valor; matriz, por ser bidimensional, permite 
armazenar mais de um valor. 
B Variáveis e vetores, por serem unidimensionais, armazenam um único tipo de dados. 
Matrizes, por serem bidimensionais, podem armazenar mais de um tipo de dados, desde 
que separados por linhas diferentes. 
C Matrizes necessitam de um laço de repetição para a manutenção dos valores. Nas variáveis, 
isso não é necessário. 
D Vetores necessitam de dois laços de repetição para a manutenção dos valores; nas 
variáveis, apenas um é necessário. 
E Variáveis armazenam apenas um valor; vetores e matrizes armazenam mais de um 
valor simultaneamente, sendo em vetores lado a lado e em matrizes, separado por 
linha e coluna. 
Questão 41 : 
Qual a maneira correta de declarar uma variável em C? 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
É preciso declarar uma variável em C. A instrução responsável por essa 
declaração éfeita da seguinte forma: 
 
- Tipo da variável, que é dado pela palavra reservada de tipo da linguagem 
C (int, char, double ou float); 
- Nome da variável, que não pode começar com um caractere especial ou 
ser uma das palavras reservadas da linguagem; 
- Ponto e vírgula, como terminam todas as instruções em C. 
 
 
 
 
 
 
A A declaração é feita primeiro colocando-se o tipo da variável, seguido do nome da 
variável e finalizando a instrução com ponto e vírgula. O tipo é dado por palavras 
reservadas da linguagem em que se está programando. 
B Não se declara variável em C. 
C A declaração é feita colocando-se o nome da variável, seguido do tipo de variável e 
finalizando a instrução com ponto e vírgula. O tipo é dado por palavras reservadas da 
linguagem em que se está programando. 
D A declaração é feita colocando-se o nome da variável, seguido do caractere especial : (dois 
pontos). Em seguida, coloca-se o tipo de variável e finaliza-se a instrução com ponto e 
vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. 
E A declaração é feita colocando-se o tipo da variável, seguido do caracter especial : (dois 
pontos). Em seguida, coloca-se o nome da variável e finaliza-se a instrução com ponto e 
vírgula. O tipo é dado por palavras reservadas da linguagem em que se está programando. 
Questão 42: 
A lógica de programação é muito importante para o desenvolvimento de 
algoritmos, que são a descrição de uma sequência finita de instruções ou 
operações que devem ser executadas em uma determinada ordem e em 
tempo finito para assim atingir o resultado esperado, ou seja, a resolução 
de um problema. Considerando o conceito de algoritmos apresentado 
acima, avalie as afirmações a seguir. 
 
I) A sequência lógica é a execução das operações/instruções na ordem 
determinada para atingir um objetivo ou chegar a uma solução de um 
problema. 
II) Um algoritmo possui somente uma única sequência lógica de 
instruções para a sua solução. 
III) A lógica de programação é a técnica de encadear pensamentos para 
atingir determinado objetivo. 
IV) A instrução é um conjunto de regras/normas definidas para a 
realização de alguma atividade que resulta em uma ação. 
 
É correto apenas o que se afirma em: 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
I, III e IV são corretas, e a II é incorreta porque o algoritmo é um caminho 
para a solução de um problema e, em geral, são vários os caminhos que 
levam a uma solução. 
A I e II. 
B I e III. 
C II e IV. 
D I, III e IV. 
E II, III e IV 
 
Questão 43 : 
Considerando os operadores lógicos, relacionais e de atribuição 
utilizados na ferramenta de desenvolvimento de algoritmos em 
pseudocódigo VisuAlg, analise cada uma das seguintes afirmações e 
classifique em V (verdadeira) ou F (falsa). 
 
I – Os conectivos “e”, “ou” e “não” são operadores lógicos. 
 
II – O operador aritmético para realizar a divisão de inteiros é o símbolo 
“/”; para o resto da divisão, é Mod ou “^”. 
 
III – Os operadores relacionais utilizados são >, <, >=, <=, =, !=. 
 
IV – O símbolo que representa uma atribuição é o “<-”. 
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
As alternativas I e IV são verdadeiras; II e III são falsas. A alternativa II é 
falsa porque o operador da divisão de inteiros é “\” no VisuAlg, e o resto 
da divisão é Mod ou “%”. A alternativa III é falsa porque o operador de 
diferente é o símbolo “<>” , não “!=”. 
A V, V, F, F. 
B V, F, F, V. 
C F, V, F, V. 
D V, F, V, F. 
E V, V, V, V. 
Questão 44 : 
Para que servem as funções printf e scanf? 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Essas funções são funções da biblioteca padrão do C, stdio.h e servem 
para saída de dados (printf) e entrada de dados (scanf). São usadas em 
praticamente todos os programas escritos em linguagem C. 
A São funções utilizadas para realizar operações de impressão de um arquivo em um 
impressora e acesso ao scanner conectado à máquina. 
B São funções para realização de operações matemáticas em um computador. 
C A função printf mostra um valor na tela do computador e a função scanf serve para 
armazenar valores dentro de uma variável. 
D A função printf armazena um valor em uma determinada variável, já a função scanf mostra 
um valor na tela. 
E São instruções de acesso à memória. 
 
Questão 45 : 
Em que ocasião ocorre um loop infinito? 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
O loop infinito ocorre quando o loop, seja ele de qualquer tipo, executa 
para sempre, devido a um erro de semântica. Esse erro pode ser o 
esquecimento de modificar de forma correta o valor da variável de 
controle, dentro do loop, ou até mesmo o esquecimento de colocá-la. 
A Quando a estrutura de repetição fica executando para sempre. 
B Quando o programa precisa de todo o poder de processamento do computador, algumas 
vezes chegando até a desligá-lo. 
C Quando a estrutura de repetição não consegue resolver o problema de forma correta, por 
este ser muito complexo. 
D Quando a variável de controle do loop não é inicializada. 
E Quando a repetição nunca é executada . 
Questão 46 : 
Dado o seguinte algoritmo escrito na linguagem MATLAB, indique a 
alternativa que representa o objetivo correto. 
 
a= -5; 
b= 5; 
n= (b - a) * rand(1, 10) + a; 
disp(round(n)) 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
O algoritmo descrito utiliza a função rand para produzir 10 números 
aleatórios entre 0 e 1. No entanto, multiplica o valor obtido por 10, subtrai 
de 5 e arredonda, fazendo com que sejam gerados números aleatórios na 
faixa de -5 a 5. 
A Gerar 5 números aleatórios entre -5 e 5. 
B Gerar 5 números aleatórios entre 1 e 10. 
C Gerar 10 números aleatórios entre 0 e 1. 
D Gerar 10 números aleatórios entre -5 e 5. 
E Gerar 10 números aleatórios entre 1 e 10. 
 
 
Questão 47 
Dado o seguinte algoritmo. 
 
 
 
Realize o teste de mesa e identifique que valores serão escritos como 
saída para as variáveis a e i sendo lido 12 para a variável m? 
 
Resposta Errada! A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
Teste de mesa: 
 
 
Valores finais : a=1 e i=1 
A a = 0 e i=2. 
B a = 1 e i=1.4. 
C a = 1 e i=2. 
D a = 0 e i=-1. 
E a = 1 e i=1. 
Questão 48 : 
Considere as operações básicas que podem ser realizadas com uma 
matriz e assinale a alternativa que NÃO se refere a uma operação básica 
de manipulação de matrizes. 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
Essa não é uma operação básica de manipulação de matrizes, atende a 
uma necessidade específica. 
A Ler todos os elementos de uma matriz: para i de 1 ate linhas passo 1 faca para j de 1 ate 
colunas passo 1 faca escreva("Digite valor: ") leia(valores[i,j]) fimpara fimpara 
B Calcular o somatório de todos os elementos de uma matriz: soma <- 0 para i de 1 ate linhas 
passo 1 faca para j de 1 ate colunas passo 1 faca soma <- soma + valores[i,j] fimpara 
fimpara 
C Calcular o somatório dos elementos da diagonal principal da matriz: soma <- 0 para i de 1 
ate linhas passo 1 faca para j de 1 ate colunas passo 1 faca se (i=j) entao soma <- soma + 
valores[i,j] fimse fimpara fimpara 
D Verificar quais números da matriz são números pares: para i de 1 ate linhas passo 1 
faca para j de 1 ate colunas passo 1 faca se (valores[i,j] mod 2 = 0) escreval("Par: 
",valores[i,j]) fimpara fimpara 
E Escrever todos os elementos de uma matriz: para i de 1 ate linhas passo 1 faca para j de 1 
ate colunas passo 1 faca escreval("elemento: ",valores[i,j]) fimpara fimpara 
 
 
Questão 49 : 
Leia as coordenadas de dois pontos no plano cartesiano, calcule e 
imprima a distância entre esses dois pontos. A fórmula que calcula a 
distância entre os dois pontos (x1,y e (x2, y é dada por:Analise os algoritmos apresentados nas alternativas abaixo. 
 
 
 
Quais alternativas apresentadas representam uma solução para o 
problema do cálculo da distância entre dois pontos? 
 
Resposta Errada! A resposta correta é a opção E 
Justificativa: 
RESPOSTA CORRETA 
 
As três alternativas estão corretas, utilizam as funções exp(), quad() e o 
operador “^”, que resolvem o problema proposto. 
A I. 
B I e II. 
C I e III. 
D II e III. 
E I, II e III. 
 
Questão 50 : 
Observe o algoritmo: 
 
 
 
Analise as definições e declarações das variáveis, os comandos de 
entrada e saída e as atribuições do algoritmo. Selecione a afirmativa 
correta. 
 
Resposta Errada! A resposta correta é a opção D 
Justificativa: 
RESPOSTA CORRETA 
 
Primeiramente, multiplica os dois valores; em seguida, calcula e 
armazena somente com 10% do valor e, por último, desconta os 10% 
calculados, ficando com 90% do valor da multiplicação dos dois valores. 
A O algoritmo calcula e imprime 10% da multiplicação de dois valores. 
B O algoritmo calcula e imprime 10% da soma de dois valores. 
C O algoritmo calcula e imprime 90% da soma de dois valores. 
D O algoritmo calcula e imprime 90% da multiplicação de dois valores. 
E Nenhuma das alternativas. 
 
 
Questão 51 : 
Quais são os marcadores para comentário de única linha de de múltiplas 
linhas em C? 
Resposta Errada! A resposta correta é a opção C 
Justificativa: 
RESPOSTA CORRETA 
 
Em C, existe a possibilidade de se realizar comentários de única linha e 
múltiplas linhas em C, permitindo-se por exemplo que se realize 
documentação usando comentários. Para única linha usa-se / / seguido 
do comentário, já para múltipla linha /* comentario*/ 
A Para única linha: não existe comentário de linha única em C para múltipla linha: /* */ 
B Para única linha: / / para múltipla linha: não existe comentário de múltipla linha em C 
C Para única linha: / / para múltipla linha: /* */ 
D Para única linha: /* * / para múltipla linha: / / 
E Não existe comentários em C. 
Questão 52 : 
O que é um erro sintático em programação? 
Resposta Errada! A resposta correta é a opção B 
Justificativa: 
RESPOSTA CORRETA 
 
Erro sintático é um erro que iviabiliza a compilação de um código-fonte 
em C. A sintaxe de uma linguagem são as regras para usar todas as 
estruturas da linguagem, quando alguma dessas regras é quebrada, 
temos um erro sintático e é preciso voltar ao código-fonte e encontrar e 
corrigir o erro para que o código seja complilado e o programa executado. 
A Não existem erros sintáticos em linguagem de programação. 
B Um erros sintático é um erro que causa a não compilação de um código em C e são 
caracterizados por um erro na formação das estruturas básicas da linguagem, falta de 
uma pontuação, não declaração de variáveis. 
C Erro sintático é um erro na lógica do programa, o programa é compilado mas não realiza a 
tarefa a qual foi desenvolvido, de forma correta. 
D Erros sintáticos são erros ocasionados pela falta de identação do código-fonte escrito em C. 
E Erros sintáticos são ocasionados pela escrita de forma incorreta de comentários dentro do 
código-fonte. 
 
Questão 53 : 
Analise o seguinte subprograma em pseudocódigo: 
 
funcao M(X :inteiro): inteiro 
inicio 
se ((X = ou (X = ) entao 
retorne (1) 
senao 
retorne(M(X-1)+M(X-2)) 
fimse 
fimfuncao 
 
A alternativas a seguir apresentam chamadas da função M e indicam o 
retorno conforme o valor passado como parâmetro. Selecione a 
alternativa verdadeira. 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
M(5) = M(4) + M(3). 
A M(5) retornará o valor 5. 
B M(10) retornará o valor 34. 
C M(1) retornará o valor 0. 
D M(3) retornará o valor 3. 
E M(7) retornará o valor 8. 
 
Questão 54 : 
Para fins de apresentação de resultados, é necessário programar para 
que seja "quebrada" uma linha em um determinado momento da leitura de 
uma matriz, para que ela seja apresentada com as dimensões corretas. 
Dada uma matriz de 8x8, qual alternativa apresenta o código correto para 
exibição dos resultados com a quebra de linha ao final de cada linha da 
matriz? 
Acertou! A resposta correta é a opção A 
Justificativa: 
RESPOSTA CORRETA 
 
Depois de imprimir cada linha da matriz será quebrada a 
linha escreval com o comando . 
A para linha de 0 ate 7 passo 1 faca 
para coluna de 0 ate 7 passo 1 faca 
escreva(tabuleiro[linha,coluna]," ") 
fimpara 
escreval(" ") 
fimpara 
B para linha de 0 ate 7 passo 1 faca 
escreval(" ") 
para coluna de 0 ate 7 passo 1 faca 
escreva(tabuleiro[linha,coluna]," ") 
fimpara 
fimpara 
C para linha de 0 ate 7 passo 1 faca 
para coluna de 0 ate 7 passo 1 faca 
escreva(tabuleiro[linha,coluna]," ") 
fimpara 
fimpara 
D para linha de 0 ate 7 passo 1 faca 
para coluna de 0 ate 7 passo 1 faca 
escreval(tabuleiro[linha,coluna]," ") 
fimpara 
fimpara 
E para linha de 0 ate 7 passo 1 faca 
escreval(“ “) 
para coluna de 0 ate 7 passo 1 faca 
escreva(tabuleiro[linha,coluna]," ") 
fimpara 
escreval(“ “) 
fimpara 
 
 
55- Qual alternativa descreve corretamente o processo de atribuição de 
valores para todos os elementos de uma matriz com 5 linhas e 7 colunas? 
para a de 1 ate 5 passo 1 faca 
para b de 1 ate 7 passo 1 faca 
matriz[a,b] <- x<>> 
fimpara 
fimpara - A 
 
56- Considere o seguinte algoritmo em pseudocódigo: 
 
algoritmo "matrizes" 
var 
valores: vetor[1..4,1..4] de real 
soma: vetor[1..4] de real 
i,j: inteiro 
 
procedimento ler 
inicio 
para i de 1 ate 4 passo 1 faca 
para j de 1 ate 4 passo 1 faca 
escreva("Digite valor: ") 
leia(valores[i,j]) 
fimpara 
fimpara 
fimprocedimento 
 
procedimento escrever 
inicio 
para i de 1 ate 4 passo 1 faca 
escreval("") 
para j de 1 ate 4 passo 1 faca 
escreva(" ",valores[i,j]: 
fimpara 
fimpara 
fimprocedimento 
 
inicio 
ler() 
escrever() 
fimalgoritmo 
 
Analise as alternativas a seguir e selecione a que apresenta a correta 
implementação de uma função que calcula o somatório dos elementos de 
cada linha e armazene esse somatório em um vetor. 
procedimento somatorio inicio para i de 1 ate 4 passo 1 faca soma[i] <- 0 para j 
de 1 ate 4 passo 1 faca soma[i] <- soma[i] + valores[i,j] fimpara fimpara 
fimprocedimento – A 
 
 
57- Uma empresa da indústria automotiva recebeu como doação um forno 
para moldar ponteiras de eixo por calor, um equipamento importado 
muito antigo, que foi desenvolvido pelos funcionários de uma empresa 
americana. Esse equipamento utiliza um termômetro com a medida em 
Fahrenheit. 
 
Em função da dificuldade encontrada pelos operadores em realizar a 
conversão que não faz parte da medida utilizada no Brasil, a empresa está 
buscando um programador para desenvolver um algoritmo que receba a 
temperatura do operador em graus Celsius, converta-a em Fahrenheit e 
exiba a informação em Fahrenheit para o operador do equipamento. 
Entrada: Leia(Celsius) Saída: Escreva(Fahrenheit) – A 
 
58- O que está faltando na linha 9 para que seja mostrado o seguinte 
texto: Soma:, seguido do valor da soma dos dois números digitados pelo 
usuário. 
soma. 
 
59- Analise as alternativas a seguir e selecione a que implementa 
corretamente um subprograma recursivo que calcula o somatório dos 
números inteiros no intervalo [1,N]. 
funcao Y(X :inteiro): inteiro inicio se X = 1 entao retorne (1) senao retorne(X + 
Y(X-1)) fimse fimfuncao – C 
 
60- A seguir, vemos a sintaxe da estrutura switch: 
 
switch (expressao){ case valor1: comandos; comandos; break; case 
valor2: 
comandos; 
comandos; 
break; 
case valor3: 
comandos; 
comandos; 
break; 
default: 
comandos; 
comandos; 
} 
 
Sobre ela, é correto afirmar: 
Somente um dos cases é executado por vez. 
 
61- Qual a definição de uma função em linguagem de programação? 
Uma função é um conjunto de instruções organizadas em forma de bloco e que 
têm um nome para que assim sejam utilizadas em um código-fonte. 
 
62- Considerando o trecho de código escrito na linguagem C, qual éo valor da 
variável resultado1? 
 
 
56. 
 
63- A aplicação do teste de mesa nos permite validar o algoritmo 
desenvolvido e, conforme os erros que vão se apresentando, podemos 
corrigir e testar novamente com novos valores. Considerando o conceito 
e as características do teste de mesa , assim como os tipos de erros de 
sintaxe e semântica encontrados nos algoritmos, analise as sentenças a 
seguir. I – O ____________ tem por objetivo verificar a corretude do 
algoritmo. 
 
II – O erro de _________ representa erros de escrita de comandos. 
 
III – O erro de ____________ pode exibir comportamentos inadequados 
dos programas. 
 
IV – O erro de _________ impede a execução do algoritmo. 
 
V – O erro de _________ representa erros lógicos. 
 
Complete as sentenças conforme as alternativas apresentadas abaixo. É 
correta a ordem apresentada apenas em: 
Teste de mesa – sintaxe – semântica – sintaxe - semântica. – B 
 
64- Dado o seguinte trecho de código, analise as alternativas abaixo e 
assinale a correta. tipo = registro 
matricula: inteiro; 
nome: string; 
nota1: real; 
nota2: real; 
fim 
No lugar de fim deveria existir fimregistro. 
 
65- Observe o algoritmo em fluxograma. 
 
 
 
Realize o teste de mesa com os seguintes valores de entrada: 
 
Valor = 2.500,00 
Taxa_mes = 22% 
Dias = 12 
2.720,00 
 
66- Do que se trata o processo de depuração em programação de 
computadores? 
É o processo de encontrar erros (bugs) em um código fonte. 
 
67- Observe o algoritmo em pseudocódigo para a solução de um problema 
matemático: 
 
 
 
Um algoritmo pode ter mais de uma solução para determinado problema. 
Analise os algoritmos apresentados nas alternativas a seguir. 
 
 
 
Selecione qual alternativa representa de forma correta uma solução para 
o problema matemático apresentado. 
I. – A 
 
68- Considerando-se o conceito e as características da representação de 
algoritmos em pseudocódigo, identifique qual alternativa não condiz com 
essa forma de representação. 
A linguagem utiliza blocos geométricos para representar os comandos do 
algoritmo. – E 
 
69- Qual alternativa apresenta a sintaxe correta da declaração de uma 
matriz de strings? 
matriz: vetor [0..7,0..7] de caracter – C 
 
70- Como podemos reescrever o seguinte trecho de código, utilizando 
como estrutura de repetição o for? 
 
#include 
int main(){ 
int qtd,contador; 
float valor,soma; 
soma=0; 
contador=1; 
printf( Lista de Compras n); 
while(contador<6) 
{ 
printf(Digite a qtd: ); 
scanf(%d,&qtd); 
printf(Digite o valor por unidade: ); 
scanf(%f,&valor); 
valor=valor*qtd; 
soma=soma+valor; 
contador=contador+1; 
} 
printf(Valor total da compra: R$ %.2fn,soma); 
return 0; 
} 
 
 - A 
 
 
 
71- Considerando o seguinte código, qual o valor das variáveis x e y no final da 
execução? 
 
 
X é 25 e y é 17. 
 
72- Considere a implementação e o funcionamento de subprogramas 
(rotinas) recursivos. Analise as afirmativas a seguir e assinale a falsa. 
Subprogramas recursivos não precisam ter condição de parada. 
 
73- Qual o valor da variável após a execução do seguinte código: 
 
 
16. 
 
74- Por que, em alguns casos, é interessante inicializar uma variável em 
C? 
Para não corrermos o risco de utilizar um valor armazenado anteriormente por 
outro programa naquele espaço de memória. 
 
75- Qual a diferença entre uma estrutura de seleção simples e uma 
composta na linguagem C? 
A estrutura simples só tem if, ou seja, só se executa operações se o teste for 
verdadeiro. Já a estrutura composta tem if-else. 
 
76- Você precisa armazenar os seguintes dados: 
 
- Salário bruto; 
- Sexo, que será representado por F (Feminino), M (Masculino) ou N 
(prefiro não declarar); 
- Idade, em anos. 
 
Quais são os tipos dessas variáveis? 
double, char e int. 
 
77- Uma empresa necessita calcular o salário reajustado do funcionário. 
Para isso, analise os algoritmos abaixo, e assinale o que traz as diretrizes 
solicitadas pela empresa listadas abaixo: - 
 
O valor do salário bruto será informado pelo usuário. 
 
- Todos os funcionários recebem um bônus de 20% sobre o valor do 
salário bruto como presente de final de ano. 
 
- Após o acréscimo do bônus, deverá ser descontado o imposto de 7% do 
salário reajustado. Ao término do algoritmo, deverá ser impresso na tela o 
valor final do salário com o bônus e depois o valor reajustado do salário 
do funcionário. 
 
Regras 
Apenas a alternativa I. 
 
78- Ao declarar uma variável que armazena um caractere, você escreveu a 
seguinte linha de código: char -nome; Ao compilar o programa, verificou 
que essa declaração gerou um erro de sintaxe. Qual a alternativa que 
indica esse erro? 
Variáveis não devem começar com caracteres especiais como o hífen utilizado 
na declaração. 
 
79- Dado o algoritmo. 
 
 
 
Analise as alternativas de construção do teste de mesa para calcular a 
área de um quadrado. 
 
Alternativa 1 
 
 
Alternativa 2 
 
 
Alternativa 3 
 
 
 É correto o teste de mesa representado em: 
Todas as alternativas. 
 
80- Considere os seguintes valores iniciais para as variáveis: a = 3, b = 2, c = 2 e 
d = 4. Realize o teste de mesa e obtenha o valor da variável inteira x dos trechos 
de programa a seguir. 
 
 
 
São corretos os valores das alternativas I, II e III, respectivamente, em: 
24, 3 e 0. – A

Outros materiais