Buscar

PROVA ALGORITMOS RESPOSTAS

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

Questão 1 :
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 2 :
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.
Acertou! 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 3 :
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 4 :
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;
}
Acertou! 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 5 :
Considere a estrutura, as características e o funcionamento das matrizes.
Analise as alternativas a seguir e determine qual é a falsa.
Resposta Errada! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
As variáveis utilizadas para indexar elementos de uma matriz
devem ser do tipo inteiro.
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.
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
Questão 6 :
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 ordem correta de construção de um
programa.
Acertou! 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 7 :
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 8 :
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?
Acertou! 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 9 :
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.
CI e III.
D II e III.
E I, II e III.
Questão 10 :
Qual alternativa NÃO é uma afirmação verdadeira sobre as estruturas de
dados homogêneas?
Acertou! A resposta correta é a opção B
Justificativa:
RESPOSTA CORRETA
Os valores adicionados em uma variável são salvos na memória
do computador, não no banco de dados.
A Matrizes também são chamadas de "arrays bidimensionais".
B Ao adicionar um valor para uma variável, este valor está sendo salvo temporariamente
no banco de dados.
C Para efetuar a leitura de um valor que está salvo em uma matriz, é necessário
referenciar os índices de linha e coluna, por exemplo, matriz[2,2].
D Para ler todos os valores contidos em uma matriz, é necessário utilizar dois laços PARA
e, em cada execução, verificar um índice da matriz.
E Um exemplo de utilização de matrizes em software são os jogos de tabuleiro.
Questão 1 :
Qual a diferença entre a estrutura while e a do-while?
Acertou! 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 2 :
Considerando o trecho de código, qual é o valor que será impresso na tela ao
final da execução?
Resposta Errada! 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 3 :
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 4 :
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?
Acertou! 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 5 :
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 6 :
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.
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Essa função calcula corretamente o somatório dos elementos de
cada linha e armazena o somatório em um vetor.
A 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
B 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] <- valores[i,j] fimpara fimpara fimprocedimento
C procedimento somatorio var somas:real inicio para i de 1 ate 4 passo 1 faca somas <- 0
para j de 1 ate 4 passo 1 faca somas <- somas + valores[i,j] fimpara fimpara
fimprocedimento
D procedimento somatorio inicio para i de 1 ate 4 passo 1 faca para j de 1 ate 4 passo 1
faca soma[i] <- 0 soma[i] <- soma[i] + valores[i,j] fimpara fimpara fimprocedimento
E 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[j,i] fimpara fimpara fimprocedimento
Questão 7 :
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 Apenaso 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 8 :
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?
Resposta Errada! A resposta correta é a opção 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;
A maior=numero1>numero2?numero2:numero1;
B maior=numero2>numero1?numero1:numero2;
C maior=numero1>numero2?numero1:numero2;
D maior=numero1>numero2?numero1::numero2;
E Não é possível realizar esse tipo de operação com o operador ternário.
Questão 9 :
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.
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
- Resolução I: representa uma solução correta para o problema,
apenas utiliza mais variáveis para resolvê-lo.
- Resolução II: apresenta três problemas de atribuição: c2 <-
num2 *2 , esta atribuição deverá ser * ou exp(num2,2). também a
para variável total está com prioridade de execução errada, os
parênteses devem representar ordem correta da expressão. ser:
<- (c1>num1 * c2)) * c3. E deveria apontar a variável C3 como
uma variável não declarada.
- Resolução III - está incorreta, pois a variável C3 não foi
declarada.
A I.
B II.
C III.
D I e II.
E I e III.
Questão 10 :
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:
Resposta Errada! A resposta correta é a opção B
Justificativa:
RESPOSTA CORRETA
O teste de mesa tem por objetivo verificar se o algoritmo está
funcionando, sua eficácia. O erro de sintaxe representa erro de
comandos e pode impedir a execução do algoritmo. O erro de
semântica representa erros lógicos (operadores) e atribuições
erradas e pode exibir comportamentos inadequados dos
programas.
A Teste de mesa – semântica – sintaxe – sintaxe - semântica.
B Teste de mesa – sintaxe – semântica – sintaxe - semântica.
C Teste de mesa – semântica – semântica – semântica - sintaxe.
D Teste de mesa – sintaxe – sintaxe – semântica - semântica.
E Teste de mesa – sintaxe – sintaxe – sintaxe - semântica.
Questão 1 :
Considerando os operadores lógicos, relacionais e de atribuição utilizados na
ferramenta de desenvQuestão 1 :
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 2 :
Em que ocasião ocorre um loop infinito?
Resposta Errada! 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 3 :
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
Acertou! 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 4 :
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 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.
Resposta Errada! 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 deFibonacci.
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 :
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 7 :
Qual a diferença entre a estrutura while e a do-while?
Acertou! 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 8 :
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 9 :
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 10 :
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:
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Alternativa 1
O resultado do teste lógico V ou F resulta em V na tabela verdade do conectivo “ou”.
Assim, ele entra no teste, executa o cálculo e armazena 24 no valor X.
Alternativa 2
O resultado do teste lógico F ou F resulta em F na tabela verdade do conectivo “ou”.
Assim, ele não entra no comando condicional simples “se”. O valor X vai receber 1 + 2 =
3.
Alternativa 3
O resultado do teste lógico V e F resulta em F na tabela verdade do conectivo “e”. Assim,
ele não entra no comando condicional simples “se”. O valor X vai receber 0 (zero) ao sair
do comando condicional.
A 24, 3 e 0.
B 24, 0 e 0.
C 24, 6 e 0.
D 24, 4 e 0.
E 24, 4 e 11.
olvimento 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 2 :
Em que ocasião ocorre um loop infinito?
Resposta Errada! 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 3 :
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
Acertou! 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 4 :
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 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 requisitospara ser considerado um algoritmo.
Resposta Errada! 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 :
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 7 :
Qual a diferença entre a estrutura while e a do-while?
Acertou! 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 8 :
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 9 :
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 10 :
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:
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Alternativa 1
O resultado do teste lógico V ou F resulta em V na tabela verdade do conectivo “ou”.
Assim, ele entra no teste, executa o cálculo e armazena 24 no valor X.
Alternativa 2
O resultado do teste lógico F ou F resulta em F na tabela verdade do conectivo “ou”.
Assim, ele não entra no comando condicional simples “se”. O valor X vai receber 1 + 2 =
3.
Alternativa 3
O resultado do teste lógico V e F resulta em F na tabela verdade do conectivo “e”. Assim,
ele não entra no comando condicional simples “se”. O valor X vai receber 0 (zero) ao sair
do comando condicional.
A 24, 3 e 0.
B 24, 0 e 0.
C 24, 6 e 0.
D 24, 4 e 0.
E 24, 4 e 11.
Questão 1 :
Qual a diferença entre uma estrutura de seleção simples e uma composta na
linguagem C?
Acertou! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A estrutura de seleção simples é usada quando se precisa
realizar operações somente quando o teste for verdadeiro. Já a
estrutura de seleção composta é utilizada quando se deseja
realizar operações quando o teste condicional for verdadeiro e
quando o teste retornar falso.
A A estrutura simples é usada em programas simples e a composta em problemas mais
complexos.
B Não existe estrutura de seleção simples e composta em C.
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.
D A estrutura composta só tem if, ou seja, só se executa operações se o teste for
verdadeiro. Já a estrutura simples tem if-else.
E Não existe diferença, cabendo ao programador escolher uma entre as duas.
Questão 2 :
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 3 :
Qual alternativa descreve corretamente o processo de atribuição de valores
para todos os elementos de uma matriz com 5 linhas e 7 colunas?
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Utilizando dois laços de repetição, é possível percorrer toda a
matriz e adicionar valores para todos os elementos.
A para a de 1 ate 5 passo 1 faca
para b de 1 ate 7 passo 1 faca
matriz[a,b] <- x<>>
fimpara
fimpara
B para a de 0 ate 5 passo 1 faca
para b de 0 ate 7 passo 1 faca
matriz[a,b] <- x<>>
fimpara
fimpara
C para a de 0 ate 35 passo 1 faca
matriz[a] <- x<>>
fimpara
fimpara
D para a de 1 ate 7 passo 1 faca
para b de 1 ate 5 passo 1 faca
matriz[a,b] <- x<>>
fimpara
fimpara
E para a ate 5 passo 1 faca
para b ate 7 passo 1 faca
matriz[a,b] <- x<>>
fimpara
fimpara
Questão 4 :
Considere a implementação e o funcionamento de subprogramas (rotinas)
recursivos. Analise as afirmativas a seguir e assinale a falsa.
Resposta Errada! A resposta correta é a opção E
Justificativa:
RESPOSTA CORRETA
Todo subprograma recursivo precisa ter uma condição de
parada, pois ficará autochamando-se infinitamente até ocorrer
stack overflow.
A Subprogramas recursivos possuem chamadas a si mesmos.
B A execução do subprograma fica em espera (em suspenso) até que retorne da chamada
recursiva.
C Cada chamada recursiva exige o armazenamento de nova posição de retorna e criação
de novas variáveis locais.
D Rotinas recursivascorrem o risco de gerar stack overflow.
E Subprogramas recursivos não precisam ter condição de parada.
Questão 5 :
Do que se trata o processo de depuração em programação de computadores?
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
O processo de procurar erros em um código-fonte. Esse
processo pode ser feito de forma manual ou usando-se um
debug que é um programa que procurar por erros no
código-fonte e os sinaliza.
A É o processo de encontrar erros (bugs) em um código fonte.
B É o processo de compilar e executar um código-fonte.
C É o processo de interpretar um código-fonte.
D É o processo de transformar um algoritmo em um código-fonte
E Não se trata de depeuração em software, somente em hardware.
Questão 6 :
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 7 :
Qual estrutura está representada na imagem a seguir?
Resposta Errada! 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 8 :
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 9 :
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?
Acertou! 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 10 :
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
Acertou! 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 1 :
Qual a diferença entre uma estrutura de seleção simples e uma composta na
linguagem C?
Acertou! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A estrutura de seleção simples é usada quando se precisa
realizar operações somente quando o teste for verdadeiro. Já a
estrutura de seleção composta é utilizada quando se deseja
realizar operações quando o teste condicional for verdadeiro e
quando o teste retornar falso.
A A estrutura simples é usada em programas simples e a composta em problemas mais
complexos.
B Não existe estrutura de seleção simples e composta em C.
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.
D A estrutura composta só tem if, ou seja, só se executa operações se o teste for
verdadeiro. Já a estrutura simples tem if-else.
E Não existe diferença, cabendo ao programador escolher uma entre as duas.
Questão 2 :
Em que ocasião podemos substituir a while pela for?
Acertou! 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 3 :
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 4 :
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 ordem correta de construção de um
programa.
Acertou! 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 5 :
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?
Acertou! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
variavel de atribuicao =condicao ? expressao 1 : espressao 2;
O operador ternáriofunciona 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;
A maior=numero1>numero2?numero2:numero1;
B maior=numero2>numero1?numero1:numero2;
C maior=numero1>numero2?numero1:numero2;
D maior=numero1>numero2?numero1::numero2;
E Não é possível realizar esse tipo de operação com o operador ternário.
Questão 6 :
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?
Resposta Errada! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A declaração de uma variável que vai armazenar um caractere
começa com o tipo adequado, que, em C, é char. Já para o nome,
é obrigatório que não se comece com caracteres especiais e se
faça uso de palavras reservadas.
A -nome é uma palavra reservada; por esse motivo, ocorreu o erro.
B char não é um tipo existente em C.
C Variáveis não devem começar com caracteres especiais como o hífen utilizado na
declaração.
D Durante a declaração, não é preciso o ponto e vírgula no final da linha de código.
E Faltou inicializar a variável, pois, em C, não podemos usar uma variável sem antes
inicializá-la.
Questão 7 :
Qual a principal diferença entre variáveis, vetores e matrizes?
Acertou! 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 8 :
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?
Resposta Errada! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
Como o salário é um valor real, ou seja, pode conter casas
decimais, a melhor forma de armazená-lo é com o tipo double. O
sexo será representado com um caractere, então a forma
adequada é ter uma variável do tipo char. Já para a idade, que vai
armazenar somente os anos, podemos criar uma variável do tipo
inteiro, int.
A int, char e double.
B double, char e double.
C double, char e int.
D int, char e int.
E char, double e int.
Questão 9 :
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.
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
- Resolução I: representa uma solução correta para o problema,
apenas utiliza mais variáveis para resolvê-lo.
- Resolução II: apresenta três problemas de atribuição: c2 <-
num2 *2 , esta atribuição deverá ser * ou exp(num2,2). também a
para variável total está com prioridade de execução errada, os
parênteses devem representar ordem correta da expressão. ser:
<- (c1>num1 * c2)) * c3. E deveria apontar a variável C3 como
uma variável não declarada.
- Resolução III - está incorreta, pois a variável C3 não foi
declarada.
A I.
B II.
C III.
D I e II.
E I e III.
Questão 10 :
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 1 :
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:
Acertou! 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 2 :
Qual a diferença entre uma estrutura de seleção simples e uma composta na
linguagem C?
Acertou! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A estrutura de seleção simples é usada quando se precisa
realizar operações somente quando o teste for verdadeiro. Já a
estrutura de seleção composta é utilizada quando se deseja
realizar operações quando o teste condicional for verdadeiro e
quando o teste retornar falso.
A A estrutura simples é usada em programas simples e a composta em problemas mais
complexos.
B Não existe estrutura de seleção simples e composta em C.
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.
D A estrutura composta só tem if, ou seja, só se executa operações se o teste for
verdadeiro. Já a estrutura simples tem if-else.
E Não existe diferença, cabendo ao programador escolher uma entre as duas.
Questão 3 :
Qual a definição de uma função em linguagem de programação?
Acertou! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
As funções são códigos-fontes organizados em blocos. Sua
principal utilização é na eliminação da necessidade de
reescrever um código, bastando apenas chamar a função. Uma
função pode ser escrita por qualquer programador, bastando
somente ser definida antes do uso.
A 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.
B Uma função é uma regra matemática utilizada em programação para realizar cálculos.
C É uma regra paraacesso de forma mais simples à memória do computador.
D Uma função é a forma com que os usuários entram com os dados em um programa.
E Uma função é uma entidade básica de um sistema computacional e existe somente em
linguagens antigas.
Questão 4 :
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 5 :
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 6 :
São dados os seguintes blocos aplicados na representação em fluxograma:
Quais figuras podem ser utilizadas para representar comandos de entrada?
Resposta Errada! 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 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?
Acertou! 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 :
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.
Acertou! 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 9 :
Qual alternativa NÃO é uma afirmação verdadeira sobre as estruturas de
dados homogêneas?
Acertou! A resposta correta é a opção B
Justificativa:
RESPOSTA CORRETA
Os valores adicionados em uma variável são salvos na memória
do computador, não no banco de dados.
A Matrizes também são chamadas de "arrays bidimensionais".
B Ao adicionar um valor para uma variável, este valor está sendo salvo temporariamente
no banco de dados.
C Para efetuar a leitura de um valor que está salvo em uma matriz, é necessário
referenciar os índices de linha e coluna, por exemplo, matriz[2,2].
D Para ler todos os valores contidos em uma matriz, é necessário utilizar dois laços PARA
e, em cada execução, verificar um índice da matriz.
E Um exemplo de utilização de matrizes em software são os jogos de tabuleiro.
Questão 10 :
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].
Resposta Errada! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A função Y recebe um valor inteiro; quando esse valor é 1, ela
retorna 1, se não, ela retorna o valor de X + Y(X-1), calculando
recursivamente o somatório.
A funcao Y(X :inteiro): inteiro inicio se X = 0 entao retorne (1) senao retorne(X + Y(X-1))
fimse fimfuncao
B funcao Y(X :inteiro): inteiro inicio se X = 1 entao retorne (1) senao retorne(X - Y(X-1))
fimse fimfuncao
C funcao Y(X :inteiro): inteiro inicio se X = 1 entao retorne (1) senao retorne(X + Y(X-1))
fimse fimfuncao
D funcao Y(X :inteiro): inteiro var K, L : inteiro inicio K <- 0 para L de 1 ate X passo 1 faca K
<- k + l fimpara retorne(K) fimfuncao
E funcao Y(X :inteiro):inteiro var K, L : inteiro inicio K <- 0 para L de 1 ate X passo 1 faca K
<- k - l fimpara retorne(K) fimfuncao
Questão 1 :
Qual o valor da variável após a execução do seguinte código:
Resposta Errada! A resposta correta é a opção E
Justificativa:
RESPOSTA CORRETA
A variável resposta é calculada subtraindo 2 da variável x. Nesse
código-fonte a variável x é declarada e inicializada na mesma
linha, e seu valor inicial é 18. Sendo assim, 18-2 é 16, e esse é o
valor da variável resposta.
A 18.
B -2.
C O valor da variável x é um endereço de memória.
D Nada. Ocorre um erro, pois não é possível realizar uma operação do tipo x-2.
E 16.
Questão 2 :
Qual alternativa apresenta a sintaxe correta da declaração de uma matriz de
strings?
Resposta Errada! A resposta correta é a opção C
Justificativa:
RESPOSTA CORRETA
A sintaxe de declaração da matriz é esta.
A matriz: vetor [ ][ ] de string
B matriz: conjunto [0..7][0..7] de string
C matriz: vetor [0..7,0..7] de caracter
D matriz: vetor [7, 7] de caracter
E dados: matriz [0..7,0..7] de string
Questão 3 :
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.
Acertou! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Para resolver o problema, o usuário deverá informar os graus em
centígrados (Celsius) e mostrar a saída em Fahrenhe
A Entrada: Leia(Celsius) Saída: Escreva(Fahrenheit)
B Entrada: Leia (Fahrenheit) Saída: Escreva(Celsius)
C Entrada: Leia (Fahrenheit,Celsius) Saída: Escreva(Fahrenheit)
D Entrada: Não possui comandos de entrada Saída: Escreva(Fahrenheit)
E Entrada: Leia (Celsius) Saída: Não possui comandos de saída
Questão 4 :
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;
}
Resposta Errada! 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 5 :
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:
Resposta Errada! 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 Todas as alternativas.
E Nenhuma alternativa.
Questão 6 :
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 7 :
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ódigo do 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 8 :
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?
Resposta Errada! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Depois de imprimir cada linha da matriz será quebrada a linhaescreval 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
Questão 9 :
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 10 :
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?
Resposta Errada! 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 1 :
Assinale a opção que indica a diferença entre os operadores = e ==, ambos
utilizados na linguagem C.
Resposta Errada! 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 2 :
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.
Acertou! 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 3 :
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:
Acertou! A resposta correta é a opção A
Justificativa:
RESPOSTA CORRETA
Alternativa 1
O resultado do teste lógico V ou F resulta em V na tabela verdade do conectivo “ou”.
Assim, ele entra no teste, executa o cálculo e armazena 24 no valor X.
Alternativa 2
O resultado do teste lógico F ou F resulta em F na tabela verdade do conectivo “ou”.
Assim, ele não entra no comando condicional simples “se”. O valor X vai receber 1 + 2 =
3.
Alternativa 3
O resultado do teste lógico V e F resulta em F na tabela verdade do conectivo “e”. Assim,
ele não entra no comando condicional simples “se”. O valor X vai receber 0 (zero) ao sair
do comando condicional.
A 24, 3 e 0.
B 24, 0 e 0.
C 24, 6 e 0.
D 24, 4 e 0.
E 24, 4 e 11.
Questão 4 :
Em que ocasião ocorre um loop infinito?
Resposta Errada! 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 5 :
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.
Acertou! 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 6 :
Analise as características apresentadas

Continue navegando