Prévia do material em texto
LOGICA DE PROGRAMAÇÃO PROVA 4 FMU
•
• Pergunta 1
0,25 em 0,25 pontos
Nas rodovias paranaenses, os veículos pagam pedágio em função do
número de eixos e da sua categoria (que são no total 15). Para se ter o valor
que deve ser pago, é realizado um cálculo, existe uma tarifa mínima que é
multiplicada pelo valor correspondente ao número de eixos. Sendo assim,
analise o vetor a seguir que indica a categoria do veículo (colunas), a
primeira linha a quantidade de eixos e a segunda linha o valor que a tarifa
mínima deve ser multiplicada.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14
0 2 2 2 2 2 3 3 4 5 6 7 8 9 4 3
1 0 1 1 2 2 3 3 4 5 6 7 8 9 2 1,5
Exemplos: o veículo 0 é motocicleta que tem 2 eixos, mas é isento; o veículo
5 é caminhonete/furgão que tem 2 eixos e paga 2 tarifas; o veículo 9 é uma
carreta que tem 9 eixos e paga 9 tarifas.
Considerando o exposto, o conteúdo de vetores e que X é a categoria do
veículo, que Y é a tarifa mínima e que a estrutura é denominada pedágio, o
trecho em pseudocódigo que calcula valor pedágio, o valor pedágio,
corretamente, é:
Resposta Selecionada:
valor_pedagio ← pedagio [1,X] * Y
Resposta Correta:
valor_pedagio ← pedagio [1,X] * Y
Feedback
da
resposta:
Resposta correta. Analisando a problemática, o cálculo do valor
do pedágio deve ser realizado da seguinte forma: deve-se
multiplicar a tarifa mínima pelo valor correspondente ao número
de eixos. Assim, no array pedágio, deve-se indicar a linha
referente a quantos eixos e em qual índice dos veículos
correspondentes, indicado por X, a partir desta correspondência,
deve-se multiplicar pelo valor de Y que é o valor da tarifa
mínima.
• Pergunta 2
0,25 em 0,25 pontos
Matrizes são consideradas variáveis compostas, já que podemos adicionar
diversos dados utilizando uma variável com o mesmo nome. As informações
devem seguir o mesmo tipo de dados e indexados para diferenciá-los.
A indexação deve indicar para qual linha e qual coluna pertence tal dado.
Considerando o exposto e o conteúdo estudado, analise as afirmativas a
seguir:
I. É possível o uso de matrizes com mais que duas dimensões
(multidimensional).
II. Uma matriz de duas dimensões (bidimensional) é composta por dois
índices, que representam linhas e colunas.
III. O carregamento de matrizes pode ser facilitada através do uso de laços
de repetição.
IV. O processo de leitura e apresentação de uma matriz pode ser feita
sem estruturas de repetição.
É correto o que se afirma em:
Resposta Selecionada:
I, II, III e IV.
Resposta Correta:
I, II, III e IV.
Feedback
da
resposta:
Resposta correta. A afirmativa I está correta, pois podemos criar
matrizes com mais de duas dimensões, chamadas assim de
multidimensional. A afirmativa II está correta, bidimensional
significa que a matriz possui dois índices indicando linhas e
colunas. A afirmativa III está correta, pois laços de repetição
auxiliam no carregamento dos dados de uma matriz. A afirmativa
IV está correta, podemos realizar a leitura e apresentação de
dados de uma matriz sem nos utilizarmos de uma estrutura de
repetição, no entanto, o trabalho vai ser dobrado, já que
podemos ter uma matriz com diversas linhas e colunas.
• Pergunta 3
0,25 em 0,25 pontos
Uma vez que uma variável em um vetor possui o mesmo nome, o que as
distingue é um índice, que referencia sua localização dentro da estrutura.
Desta forma, suponhamos que um vetor X foi definido com 20 posições e o
programador tentou fazer a operação X[25] = 1. A alternativa que indica
corretamente o que ocorre quando esta atribuição é realizada para uma
posição além do tamanho do vetor é:
Resposta
Selecionada:
O algoritmo é compilado, mas quando for executado pode
apresentar resultados que não foram previstos ou ainda
abortar a execução.
Resposta
Correta:
O algoritmo é compilado, mas quando for executado pode
apresentar resultados que não foram previstos ou ainda
abortar a execução.
Feedback da
resposta:
Resposta correta. Ao ser executado o algoritmo irá realizar a
compilação normalmente, porém quando for executado pode
apresentar resultados imprevistos ou ainda o programa é
abortado de forma repetida.
• Pergunta 4
0,25 em 0,25 pontos
Algoritmos possuem estruturas, como vetores, que armazenam valores que são utilizados
para a resolução de determinados problemas. Para verificar se os dados e a lógica utilizada
está de acordo com o problema, devemos realizar o teste de mesa, analisando assim linha
por linha do nosso código.
Considere o algoritmo em pseudocódigo a seguir:
Inicio
tipo A = vetor [1..4] de inteiro <- {3, 5, 7};
tipo B = vetor [1..5] de inteiro <- {4, 6, 10, 18, 20};
tipo C = vetor [1..9] de inteiro;
inteiro: Ia <- 1, Ib <- 1, Ic <- 1;
inteiro: Na <-3, Nb <- 5, cont <- 0, i;
enquanto (Ia <= Na) e (Ib <=Nb) faça
se (A[Ia] <= B[Ib]) então
c[Ic] <- A[Ia];
Ia <- Ia +1;
senão
c[Ic] <- B[Ib];
Ib <- Ib +1;
Fimse;
Ic <- Ic +1;
cont <- cont +1;
fimenquanto;
para I de Ia ate Na passo 1 faça
c[Ic] <- A[i];
Ic <- Ic +1;
fimpara;
Fimalgoritmo.
Analisando as informações e o algoritmo apresentado, é correto afirmar que:
Resposta
Selecionada:
o vetor C resultante intercala os elementos dos vetores A e
B, ordenando-os.
Resposta Correta:
o vetor C resultante intercala os elementos dos vetores A e
B, ordenando-os.
Feedback da
resposta:
Resposta correta. O algoritmo irá realizar a análise dos
números dos vetores, intercalando-os e ordenando-os.
• Pergunta 5
0,25 em 0,25 pontos
Nayara foi contratada para resolver um determinado problema que lhe foi
passado. A sua função é auxiliá-la a resolver o problema. Analise o caso a
seguir:
“Faça um programa que utilize uma matriz com dimensões fornecidas pelo
usuário, e que a matriz seja de forma quadrada. O algoritmo deverá realizar
a leitura dos elementos que vão compor a matriz e somar os elementos
comente da primeira linha da matriz”.
Considerando as informações expostas e o conteúdo estudado, analise as
afirmativas com os trechos de códigos a seguir e indique quais satisfazem o
problema proposto de forma correta:
I –
II –
III –
IV –
É correto o que se afirma em:
Resposta Selecionada:
II, III e IV, apenas.
Resposta Correta:
II, III e IV, apenas.
Feedback
da
resposta:
Resposta correta. A afirmativa II está correta, pois no trecho de
código é realizado a leitura dos dados através do teclado pelo
usuário, de acordo com a quantidade de linhas e colunas
expostas. A afirmativa III está correta, diz respeito à atribuição
de valores que serão utilizados para o tratamento dos próximos
laços de repetição, e para a soma de valores. A afirmativa IV
está correta, pois ao executarmos o laço de repetição iremos
somar todas as colunas da linha 1.
• Pergunta 6
0,25 em 0,25 pontos
Estruturas como vetores e matrizes são muito utilizadas na resolução de
problemas complexos, em que devemos armazenar diversas informações,
porém, sem a necessidade de criar diversas variáveis para o
armazenamento.
Esse tipo de estrutura deixa assim o algoritmo mais legível e mais fácil de
realizar uma manutenção, já que não precisamos criar muitas variáveis.
Considerando essas informações e o conteúdo estudado, analise as
afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s)
falsa(s):
I. ( ) O preenchimento de cada elemento de um vetor pode ser feito por
meio de uma indexação.
II. () A leitura dos elementos de um vetor pode sem a necessidade de
indicar para qual índice está referenciando.
III. ( ) É muito comum utilizar estruturas de repetição para carregar dados
em um vetor, principalmente quando há uma lógica para os valores a serem
atribuídos.
IV. ( ) A inicialização do vetor pode ser feita para todos ou alguns
elementos.
A partir das associações feitas anteriormente, assinale a alternativa que
apresenta a seqüência correta:
Resposta Selecionada:
I, III e IV, apenas.
Resposta Correta:
I, III e IV, apenas.
Feedback
da
resposta:
Resposta correta. A afirmativa I está correta, pois os vetores
também são conhecidos como arrays. O preenchimento de
cada elemento de um vetor pode ser feito indicando o valor de
acordo com a posição (índice) do elemento, ou seja, por meio de
uma indexação. Por isso, os vetores também são conhecidos
como variáveis indexadas unidimensionais, por exemplo: VA[3]
= 10. A afirmativa III está correta, pois na maioria das vezes nos
utilizamos de laços de repetição para carregar dados em um
vetor, sempre que necessitamos ler os dados seguidos, de
forma lógica. A afirmativa IV está correta, pois para
inicializarmos um vetor podemos realizar de forma individual ou
feita para todos.
• Pergunta 7
0 em 0,25 pontos
Rafael está estudando a disciplina de lógica de programação e seu
professor lhe passou um exercício no qual ele deveria analisar um algoritmo
a fim de encontrar possíveis erros e encontrar a sua funcionalidade. O
algoritmo passado foi:
Inicio
tipo X = vetor [1..10] de inteiros;
Inteiro: i, j, aux;
Para 1 até 10 passo 1 faça
Leia X[i];
Fimpara;
Para i até 10 passo 1 faça
Para j até 9 passo 1 faça
Se (X[j] < X[I]) então
aux <- X[j];
X[j] <- X[j + 1];
X[j + 1] <- aux;
Fimse;
Fimpara;
Fimpara;
Para i até 10 passo 1 faça
Escreva (x[i]);
Fimpara;
Fimalgoritmo.
Considerando o algoritmo apresentado e o conteúdo estudado, analise as
afirmativas a seguir:
I. O algoritmo irá ler um vetor de 10 números inteiros e irá apresentar o vetor
em ordem decrescente.
II. São utilizados 2 laços de repetição na estrutura, sendo um para ordenar e
outro para mostrar os resultados.
III. Temos no algoritmo a presença de laços de repetição encadeados, ou
seja, um laço dentro do outro.
IV. Há um erro de sintaxe na comparação dos números para a ordenação
dos dados.
É correto o que se afirma em:
Resposta Selecionada:
I, II e IV, apenas.
Resposta Correta:
I e III, apenas.
Feedback
da
resposta:
Sua resposta está incorreta. A afirmativa II está incorreta, pois
temos a presença de três laços de repetição e não dois. A
afirmativa IV está incorreta, pois a sintaxe está correta, o laço de
repetição possui um bloco de códigos que será analisado qual
valor é maior e menor, e assim ordená-los em ordem
decrescente.
• Pergunta 8
0,25 em 0,25 pontos
Podemos armazenar diversas informações tanto em uma variável do tipo
vetor quanto em uma variável do tipo matriz, o que devemos ter atenção é
como estas informações deverão ser armazenadas.
Sempre que formos trabalhar com essas estruturas, devemos nos utilizar de
laços de repetição. Considerando a citação apresentada e os conteúdos
estudados, analise as asserções a seguir e a relação proposta entre elas.
I. Tanto num vetor quanto numa matriz, o acesso a um dado em uma
posição específica deve ser por meio do número de seu índice.
Porque
II. Sempre que formos utilizar uma estrutura do tipo vetor ou matriz,
devemos evitar que o conjunto de informações que possuem o mesmo tipo
de dado sejam guardados em uma destas estruturas.
A seguir, assinale a alternativa correta:
Resposta
Selecionada:
A asserção I é uma proposição verdadeira, e a II é uma
proposição falsa.
Resposta Correta:
A asserção I é uma proposição verdadeira, e a II é uma
proposição falsa.
Feedback da
resposta:
Resposta correta. A asserção I é uma proposição correta, pois
como definição, vetores e matrizes devem ser acessadas por
índices, que indicam em qual posição deve ser armazenado ou
acessado um referido dado.
• Pergunta 9
0,25 em 0,25 pontos
Uma variável possui como definição poder armazenar somente um valor por
vez de um tipo determinado. Quando trabalhamos com vetores, estendemos
o armazenamento de um valor, para uma quantidade determinada de
valores, no entanto continuam a ser do mesmo tipo.
Assim, um vetor é considerado uma variável multidimensional sendo
indexada. Considerando a citação apresentada e os conteúdos estudados,
analise as asserções a seguir e a relação proposta entre elas:
I. Um vetor sempre deve ser declarado utilizando uma estrutura
determinada, sendo pelo nome, seu tamanho e por fim seu tipo de dados.
Porque
II. Ao atribuirmos valores em um vetor, devemos proceder adicionando
elemento por elemento, alterando-se sempre o índice do vetor.
A seguir, assinale a alternativa correta:
Resposta
Selecionada:
As asserções I e II são proposições verdadeiras, e a II é
uma justificativa correta da I.
Resposta Correta:
As asserções I e II são proposições verdadeiras, e a II é
uma justificativa correta da I.
Feedback
da
resposta:
Resposta correta. A asserção I é uma proposição correta, pois
sempre que formos declarar um vetor em um algoritmo,
devemos determinar o seu limite, ou seja, a quantidade de
posições que ele deve ter. Ainda, na declaração, devemos impor
um nome a este vetor e o tipo de dados que ele irá aceitar. A
asserção II é uma proposição verdadeira, sendo que ao
atribuirmos um valor ao vetor, devemos indicar em qual índice
ele irá pertencer. Devemos proceder adicionando elemento por
elemento, alternando-se o índice a cada inserção.
• Pergunta 10
0,25 em 0,25 pontos
Conhecer o funcionamento de cada estrutura presente na programação é
essencial, desta forma, não teremos possíveis problemas quando
executarmos nosso algoritmo. Cada estrutura possui suas características
que devem ser respeitadas.
As estruturas apresentadas dos laços de repetição, vetores e matrizes
necessitam uma análise especial na construção dos algoritmos.
Considerando essas informações e o conteúdo estudado, analise as
afirmativas a seguir e assinale (V) para a(s) verdadeira(s) e (F) para a(s)
falsa(s):
I. ( ) Para incluirmos o tipo de estrutura vetor, devemos no algoritmo indicar:
tipo identificador = vetor [LI .. LF] de tipo primitivo.
II. ( ) Para inserir elementos em um vetor, devemos nos utilizar de laços de
repetição, onde a variável de controle do laço irá indicar cada dado inserido
em cada coluna, ou ainda, diretamente em uma posição específica.
III. ( ) Para a inserção de dados em uma matriz devemos nos utilizar
somente de um laço de repetição, ou a inserção pode ser feita diretamente
em uma posição específica, como MAT[3,2] = 7.
IV. ( ) Para incluirmos o tipo de estrutura matriz, devemos o algoritmo
indicar: tipo identificador = matriz [LI1..LF1] de tipo primitivo.
A partir das associações feitas anteriormente, assinale a alternativa que
apresenta a seqüência correta:
Resposta Selecionada:
V, V, F, F.
Resposta Correta:
V, V, F, F.
Feedback
da
resposta:
Resposta correta. A afirmativa I está correta, a estrutura de um
vetor deve seguir a sintaxe tipo identificador = vetor [LI .. LF] de
tipo primitivo. A afirmativa II está correta, pois podemos
adicionar elementos em uma posição específica, ou nos
utilizando de um laço de repetição para ir incluindo os dados.