Prévia do material em texto
23/03/2023, 16:01 Avaliação II - Individual
about:blank 1/8
Prova Impressa
GABARITO | Avaliação II - Individual (Cod.:768950)
Peso da Avaliação 1,50
Prova 56416875
Qtd. de Questões 10
Acertos/Erros 9/0
Canceladas 1
Nota 10,00
As matrizes na linguagem de programação Java possuem características diferentes em sua
definição. Ao invés de definir uma matriz na memória, a máquina virtual Java cria vetores de vetores,
o que acaba por facilitar o gerenciamento e a visualização das matrizes por parte dos programadores.
Sobre as características dos vetores na linguagem de programação Java e do nome do objeto que
contém a matriz é "matriz", bem como a figura anexa, analise as sentenças a seguir:
I- O número 31 pode ser referenciado usando matriz[0][0].
II- Ao acessar matriz[4][3], obteremos um erro de compilação.
III- A posição [0][4] contém o número 1.
IV- Ao acessar matriz[4][2], obteremos um erro na execução.
Assinale a alternativa CORRETA:
A As sentenças I, II e III estão corretas.
B Somente a sentença II está correta.
C As sentenças II e IV estão corretas.
D Somente a sentença III está correta.
Estruturas de Dados (Data Structures) é o nome dado à organização de dados e algoritmos de
forma coerente e racional de modo a otimizar o seu uso. De acordo com o modo como um conjunto
de dados são organizados e como as operações são efetuadas sobre estes dados, pode-se solucionar de
forma simples problemas extremamente complexos. Existem diversos modelos de estruturas de
dados, sendo que os clássicos podem ser utilizados com sucesso na maioria dos casos. Sobre as
estruturas de dados utilizados em linguagens de programação, classifique V para as sentenças
verdadeiras e F para as falsas:
( ) A linguagem Java possui tipos de dados primitivos, que não possuem uma estrutura sobre seus
valores, ou seja, não é possível decompor.
( ) Em C e Java o desempenho de uma operação com uma matriz é independente da forma como
elas são organizadas em memória.
( ) Uma estrutura de dados do tipo união (union) é representada em memória da mesma forma que
VOLTAR
A+ Alterar modo de visualização
1
2
23/03/2023, 16:01 Avaliação II - Individual
about:blank 2/8
um registro (record).
Assinale a alternativa que apresenta a sequência CORRETA:
A F - F - V.
B F - V - V.
C V - F - F.
D V - V - F.
A classe String na linguagem de programação Java pode ser utilizada para representar situações
em que existam caracteres, palavras, frases e até mesmo textos. A fim de facilitar operações sobre
estas informações, a classe String possui diversos métodos utilitários já escritos, que podem
simplesmente ser reutilizados pelo desenvolvedor. Considerando os métodos da classe String, o
trecho de código mostrado na figura a seguir e enviando a palavra "quebra-cabeças" como parâmetro,
classifique V para as sentenças verdadeiras e F para as falsas:
( ) Na linha 25 será impresso quebrA-cAbeçAs.
( ) A string de retorno do método será "QUEBRA-CABEÇAS".
( ) Na linha 22, não há alteração na variável arg.
( ) Na linha 27 criamos uma nova String, cujo conteúdo é: "quebra-cabeça".
Assinale a alternativa que apresenta a sequência CORRETA:
A V - V - V - V.
B F - V - F - F.
C V - F - V - F.
D F - F - F - V.
Considere um painel luminoso representado por uma matriz quadrada de ordem n, sendo n um
número inteiro ímpar. A cor de cada célula é definida pelo elemento cor[i, j] utilizado na posição
correspondente no painel. Considere, ainda, que a função par(x) devolve verdadeiro se o argumento x
for um número par. O trecho de código a seguir foi elaborado para produzir determinado padrão no
painel.
...
m = n (+1)/2
3
4
23/03/2023, 16:01 Avaliação II - Individual
about:blank 3/8
para ( i de 1 até n ) faça
para ( j de 1 até n ) faça
se ((par(i) e par(j)) e ((i - j = 0) ou ((i + j) = (n + 1)) ou (i = m) ou (j = m)) então
cor[i,j] = preto
senão
cor[i,j] = branco
fim-se
fim-para
fim-para
...
Nessa situação, se o valor de n for igual a 7, o padrão que será produzido no painel é:
A Imagem B.
B Imagem D.
C Imagem A.
D Imagem C.
O algoritmo a seguir recebe um vetor v de números inteiros e rearranja esse vetor de tal forma
que seus elementos, ao final, estejam ordenados de forma crescente. Considerando que nesse
algoritmo há erros de lógica que devem ser corrigidos para que os elementos sejam ordenados de
forma crescente, avalie as afirmativas a seguir:
I- A linha 04 deve ser corrigida da seguinte forma: for(i = 1; i < n - 1 ; i ++)
II- A linha 08 deve ser corrigida da seguinte forma: while( j >= 0 && v[j] >chave)
III- A linha 10 deve ser corrigida do seguinte modo: v [ j + 1] = v [ j];
IV- a linha 13 deve ser corrigida do seguinte modo: v [ j - 1] = chave;
5
23/03/2023, 16:01 Avaliação II - Individual
about:blank 4/8
Assinale a alternativa CORRETA:
A As afirmativas I e II estão corretas.
B As afirmativas II e III estão corretas.
C As afirmativas I e IV estão corretas.
D As afirmativas III e IV estão corretas.
A classe CountOccurrence escrita na linguagem Java tem por objetivo localizar e contar quantas
ocorrências de um determinado valor existem em um conjunto predeterminado de valores, retornando
a quantidade de vezes que um determinado valor se repete no conjunto.
public class CountOccurrence {
public boolean hasValue(int searchValue, int[] array, int i) {
if (i >= array.length)
return false;
if (array[i] == searchValue)
return true;
else
return hasValue(searchValue, array, i + 1);
}
public int count(int countValue, int[] array, int i) {
if (!hasValue(countValue, array, i) '' i >= array.length)
return 0;
int c = 0;
if (array[i] == countValue)
c++;
c += count(countValue, array, i+1);
return c;
}
6
23/03/2023, 16:01 Avaliação II - Individual
about:blank 5/8
public static void main(String[] args) {
int[] array = {2, 3, 5, 6, 9, 7, 8, 8, 9};
CountOccurrence co = new CountOccurrence();
System.out.println(co.count(5, array, 0));
}
}
Considerando o requisito proposto e o código apresentado, avalie as asserções a seguir e a relação
proposta entre elas:
I- Para que o algoritmo funcione corretamente, deve-se alterar a linha 21, de
c += count( countValue, array, i );
para
c += count(countValue, array, i + 1);
PORQUE
II- Da forma como o código está escrito, o código não compilará por estar chamando o mesmo
método dentro dele indefinidamente.
Assinale a alternativa CORRETA:
A A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
B As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa correta da
primeira.
C A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
D As duas asserções são proposições falsas.
Algoritmos são desenvolvidos para resolver inúmeros problemas, os quais sempre respeitam
uma estrutura bem definida e também as etapas de entrada, processamento e saída. Diante disso, com
base nas atribuições das variáveis definidas e no algoritmo anexo, avalie as asserções a seguir e a
relação proposta entre elas:
I- A linha 19 não será executada se inicializar a=5, x=6 e y=7.
PORQUE
II- Devido à execução da linha 13, o valor de y terá o valor 8, que é menor do que o valor 12,
comparado na linha 16.
7
23/03/2023, 16:01 Avaliação II - Individual
about:blank 6/8
Assinale a alternativa CORRETA:
A As duas asserções são proposições verdadeiras, e a segunda é uma justificativa correta da
primeira.
B A primeira asserção é uma proposição falsa, e a segunda, uma proposição verdadeira.
C As duas asserções são proposições verdadeiras, mas a segunda não é uma justificativa corretada
primeira.
D A primeira asserção é uma proposição verdadeira, e a segunda, uma proposição falsa.
A ordenação por inserção funciona de modo semelhante à forma como algumas pessoas
ordenam cartas de baralho. Inicia-se com a mão esquerda vazia e as cartas empilhadas na mesa.
Remove-se da pilha uma carta de cada vez, inserindo-a na posição correta na mão esquerda. Para se
identificar a posição correta de uma carta, deve-se compará-la com as cartas presentes na mão
esquerda, no sentido da direita para a esquerda. Em todos os momentos, as cartas na mão esquerda
estão ordenadas, tendo sido obtidas no topo da pilha da mesa. Um programador implementou um
algoritmo de ordenação semelhante à forma de ordenação de cartas descrita no texto. Ao realizar um
teste com um vetor de nove posições (vetor [ 1 .. 9] ), verificou que o algoritmo não funcionava
corretamente. Considerando que nesse algoritmo há erros de lógica que devem ser corrigidos para
que o algoritmo ordene corretamente um vetor de inteiros de forma crescente, analise as afirmativas a
seguir:
I- A linha 04 deve ser corrigida da seguinte forma: enquanto ( ( j >= 1 ) ou ( valor < vetor [ j ] ) )
II- A linha 05 deve ser corrigida da seguinte forma: vetor [ j + 1 ] <- vetor [ j ]
8
23/03/2023, 16:01 Avaliação II - Individual
about:blank 7/8
III- A linha 11 deve ser corrigida do seguinte modo: vetor [ j ] <- valor
Assinale a alternativa CORRETA:
A As afirmativas I e II estão corretas.
B Somente a afirmativa II está correta.
C As afirmativas II e III estão corretas.
D As afirmativas I e III estão corretas.
Atenção: Esta questão foi cancelada, porém a pontuação foi considerada.
Nas linguagens de programação, existem diversos tipos de dados para a declaração de variáveis,
dentre os quais se destacam os caracteres e as strings. Pode-se considerar que a existência das strings
abstrai a complexidade de controle de sequências de caracteres que ficaria a cargo do programador, o
que torna vantajosa a utilização de variáveis deste tipo.Sobre as características dos tipos caractere e
string na linguagem de programação C, assinale a alternativa CORRETA:
A Uma variável do tipo string é, na verdade, um vetor de caracteres que não pode ser manipulado
diretamente pelo programador.
B Uma variável do tipo string tem seu final sinalizado através do caractere '' na última posição do
vetor.
C Valores literais são atribuídos para as variáveis dos tipos caracteres e strings através do uso de
aspas duplas.
D O conteúdo de uma variável do tipo string é representada internamente por um símbolo
numérico, geralmente no formato ASCII.
As strings funcionam como facilitadores para os desenvolvedores de software, pois permitem
que sejam criadas variáveis para armazenamento de conjuntos de caracteres sem a necessidade de
preocupação com o seu funcionamento interno. Sobre o tipo string na linguagem de programação C,
analise as sentenças a seguir:
I- Uma variável do tipo string tem seu final sinalizado através do caractere ''.
II- O conteúdo de uma variável do tipo string é representado internamente por um símbolo numérico,
geralmente no formato ASCII.
III- Uma string pode ser considerada como um vetor multidimensional.
IV- Uma string pode ser considerada como um vetor unidimensional.
Assinale a alternativa CORRETA:
A As sentenças I e III estão corretas.
9
10
23/03/2023, 16:01 Avaliação II - Individual
about:blank 8/8
B As sentenças II e III estão corretas.
C As sentenças I e IV estão corretas.
D As sentenças II e IV estão corretas.
Imprimir