Prévia do material em texto
Revisar envio do teste: Clique aqui para iniciar o Quiz
SP_GRAD_686274_2301_01 2301-ALGORITMOS E
PROGRAMAÇÃO II
Quiz
REVISAR ENVIO DO TESTE: CLIQUE AQUI
PARA INICIAR O QUIZ
Usuário LARA CAROLINA FONSECA DE SENA
Curso 2301-ALGORITMOS E
PROGRAMAÇÃO II
Teste Clique aqui para iniciar o Quiz
Iniciado 14/03/23 20:18
Enviado 16/03/23 19:26
Data de
vencimento
29/03/23 23:59
Status Completada
Resultado da
tentativa
10 em 10 pontos
Sala de Aula Tutoriais
LARA CAROLINA FONSECA DE SENA
1
https://senacsp.blackboard.com/webapps/blackboard/execute/courseMain?course_id=_205067_1
https://senacsp.blackboard.com/webapps/blackboard/content/listContent.jsp?course_id=_205067_1&content_id=_9195762_1&mode=reset
https://www.ead.senac.br/
https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_260_1
https://senacsp.blackboard.com/webapps/portal/execute/tabs/tabAction?tab_tab_group_id=_210_1
https://senacsp.blackboard.com/webapps/login/?action=logout
Tempo
decorrido
47 horas, 8 minutos
Resultados
exibidos
Todas as respostas, Respostas
enviadas, Respostas corretas,
Comentários
Pergunta 1
Resposta
Selecionada:
e.
Respostas: a.
b.
A classe Carro possui o método
acelerar(). Qual seria uma forma
válida de utilizar esse método?
Considere que essa classe não
possui um construtor.
Carro esportivo =
new Carro();
esportivo.acelera
r();
Carro esportivo =
new Carro();
esportivo =
acelerar();
Carro esportivo =
new Carro();
Carro.acelerar();
1 em 1 pontos
c.
d.
e.
Comentário
da resposta:
Carro.acelerar();
Carro
esportivo.acelera
r();
Carro esportivo =
new Carro();
esportivo.acelera
r();
Resposta: e) Carro
esportivo = new
Carro();
esportivo.acelerar();
Primeiro, é
necessário criar um
objetivo da classe.
Depois, é utilizado
o nome do objeto
criado <ponto>
nome do método.
Pergunta 2
Observe a seguinte matriz:
1 em 1 pontos
Resposta
Selecionada:
b.
int[][] valores = { {0,3,5},{6,0,4},
{7,8,0} };
É necessário somar os valores de
uma linha, onde não sejam zero, e
armazenar o resultado na posição
dessa linha onde esteja o valor zero
(preenchendo assim a diagonal
principal). Quais seriam as
instruções que resolveriam esse
problema?
valores[0,0] =
valores[0,1] +
valores [0,2];
valores[1,1] =
valores[1,0] +
valores [1,2];
valores[2,2] =
valores[2,0] +
valores [2,1];
Respostas: a.
b.
valores[0,0] =
valores[1,0] +
valores [2,0];
valores[1,1] =
valores[0,1] +
valores [2,1];
valores[2,2] =
valores[0,2] +
valores [1,2];
valores[0,0] =
valores[0,1] +
valores [0,2];
valores[1,1] =
valores[1,0] +
valores [1,2];
valores[2,2] =
valores[2,0] +
valores [2,1];
c.
d.
valores[1,1] =
valores[2,1] +
valores [3,1];
valores[2,2] =
valores[1,2] +
valores [3,2];
valores[3,3] =
valores[1,3] +
valores [2,3];
valores[1,1] =
valores[1,2] +
valores [1,3];
valores[2,2] =
valores[2,1] +
valores [2,3];
valores[3,3] =
valores[3,1] +
valores [3,2];
e.
Comentário
da resposta:
valores[1,1] =
valores[1,0] +
valores [1,2];
valores[2,2] =
valores[2,0] +
valores [2,1];
valores[3,3] =
valores[3,0] +
valores [3,1];
O índice (0,0) (valor
zero) recebe a soma
do índice (0,1) com
o índice (0,2). O
índice (1,1) (valor
zero) recebe a soma
do índice (1,0) com
o índice (1,2). O
índice (2,2) (valor
zero) recebe a soma
do índice (2,0) com
o índice (2,1).
Pergunta 3
Suponha que exista o vetor valores
com tamanho 5. Na primeira
posição ele possui o valor 1. Qual o
1 em 1 pontos
Resposta Selecionada: e.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
valor armazenado no índice 2 após
a execução do código abaixo?
for(int i=1;i<valores.Length;i++){
valores[i] = valores[i-1] + 2;
}
5
1
2
3
4
5
O código está
percorrendo o vetor,
e para cada posição,
começando da
segunda posição
(índice 1) é
preenchido com o
valor da posição
anterior + 2. Ao final,
o vetor terá os
valores {1,3,5,7,9}.
Portanto, o valor no
índice 2 é 5.
Pergunta 4
Resposta
Selecionada:
a.
Respostas: a.
Observe o seguinte vetor:
int[] valores = {5,3,0,7,2,0};
É necessário, a cada dois valores,
somá-los e inserir o resultado dessa
soma na posição seguinte, onde
consta o valor zero. Quais seriam as
instruções que resolveriam esse
problema?
valores[2] =
valores[1] +
valores[0];
valores[5] =
valores[4] +
valores[3];
valores[2] =
valores[1] +
valores[0];
valores[5] =
valores[4] +
valores[3];
1 em 1 pontos
b.
c.
d.
e.
valores[3] =
valores[2] +
valores[1];
valores[4] =
valores[5] +
valores[6];
valores[2] =
valores[1] +
valores[0];
valores[3] =
valores[4] +
valores[5];
valores[3] =
valores[2] +
valores[1];
valores[6] =
valores[5] +
valores[4];
valores[2] =
valores[1] +
valores[0];
valores[6] =
valores[5] +
valores[4];
Comentário
da resposta:
O índice 2 (valor
zero) recebe a soma
do índice 1 com o
índice 0 (as duas
posições anteriores).
O índice 5 (valor
zero) recebe a soma
do índice 4 com o
índice 3 (as duas
posições anteriores).
Pergunta 5
Resposta
Selecionada:
d.
Respostas: a.
b.
Utilizando o algoritmo de ordenação
por inserção, como ficaria ordenado
o vetor a seguir logo após a primeira
passada?
int[] valores = {5, 3, 7, 6, 2};
{ 3, 5, 7, 6, 2 }
{ 2, 3, 7, 5, 6 }
{ 5, 3, 7, 6, 2 }
1 em 1 pontos
c.
d.
e.
Comentário
da resposta:
{ 2, 3, 7, 6, 5 }
{ 3, 5, 7, 6, 2 }
{ 3, 5, 6, 2, 7 }
Resposta: d) { 3, 5,
7, 6, 2 }
O método de
ordenação por
inserção percorre a
porção anterior do
vetor (que já está
ordenada) em
relação ao elemento
em análise,
buscando a posição
adequada para
inseri-lo. Portanto,
como etapa inicial, o
segundo elemento
será apenas
verificado com o
primeiro. Como o
segundo é maior,
eles trocam de
posição, encerrando
assim a primeira
passada.
Pergunta 6
Considere a função a seguir como
uma solução recursiva para calcular
o resto de uma divisão. Qual deve
ser o retorno dentro do bloco else?
public static int
restoRecursivo(int a, int
b)
{
if ( critério
de parada )
{
return
caso base;
}
else
{
return
código;
}
1 em 1 pontos
Resposta
Selecionada:
b.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
}
return
restoRecursivo(a
- b, b)
return b -
restoRecursivo(a
, b)
return
restoRecursivo(a
- b, b)
return
restoRecursivo(a
, a - b)
return a -
restoRecursivo(a
, b)
return
restoRecursivo(b
, a)
Resposta: b) return
restoRecursivo(a - b,
b)
O passo indutivo
consiste em retirar o
valor “b” de “a”,
portanto, o novo
dividindo deve ser “a
– b” e o divisor
(quantidade a ser
removida de “a”)
permanece “b”. O
retorno é
diretamente a
chamada recursiva
com esses
parâmetros, pois, ao
se encontrar o resto,
ele deve ser
devolvido
recursivamente, sem
alterações, de volta à
chamada original.
Pergunta 7
Qual a função que representa a
complexidade da busca binária?
1 em 1 pontos
Resposta
Selecionada:
e.
Respostas: a.
b.
c.
d.
e.
Comentário
da resposta:
Logarítmica
Reta
Linear
Quadrática
Exponencial
Logarítmica
A complexidade da
busca binária é
O(log_2 n),
representada por
uma função
logarítmica.
Pergunta 8
A classe Pessoa possui quatro
atributos: int idade; String nome;
String estado; double altura. O
construtor foi definido conforme a
seguir. Qual a forma correta de se
criar um objeto do tipo Pessoa?
1 em 1 pontos
Resposta
Selecionada:
d.
Respostas: a.
b.
c.
d.
Pessoa(String n, int i, double a,
String e){
idade = i;
altura = a;
nome = n;
estado = e;
}
Pessoa joao = new
Pessoa(“João”,20,
1.75,”São Paulo”);
Pessoa joao = new
Pessoa(20,”João”,
”São Paulo”,1.75);
Pessoa joao = new
Pessoa(20,1.75,”J
oão”,”São Paulo”);
Pessoa joao = new
Pessoa(20,1.75,”S
ão Paulo”,”João”);
e.
Comentário
da resposta:
Pessoa joao = new
Pessoa(“João”,20,
1.75,”São Paulo”);
Pessoa joao = new
Pessoa(“João”,20,
1.75,”S”);
Resposta: d)
Pessoa joao = new
Pessoa(“João”,20,1.
75,”São Paulo”);
A ordem dos
argumentos deve
seguir a ordem
definida nos
parâmetros do
construtor,não
importando a ordem
de atribuição dos
valores dentro do
corpo do construtor.
Pergunta 9
Observe o código abaixo.
1 em 1 pontos
Resposta
Selecionada:
c.
Respostas: a.
double[] notas = {5.0,6.0,8.0};
double[] notas_com_bonus =
bonus(notas);
E a função:
double[] bonus(double[] vetor){
for(int i=0;i<vetor.Length;i++){
vetor[i] = vetor[i]*1.2;
}
return vetor;
}
Após a execução do código, qual o
valor dos elementos armazenados
nos vetores notas e
notas_com_bonus?
notas =
{6.0,7.2,9.6}
notas_com_bonu
s = {6.0,7.2,9.6}
notas =
{5.0,6.0,8.0}
notas_com_bonu
s = {5.0,6.0,8.0}
b.
c.
d.
e.
Comentário
da resposta:
notas =
{5.0,6.0,8.0}
notas_com_bonu
s = {6.0,7.2,9.6}
notas =
{6.0,7.2,9.6}
notas_com_bonu
s = {6.0,7.2,9.6}
notas =
{6.0,7.2,9.6}
notas_com_bonu
s = {5.0,6.0,8.0}
notas =
{5.0,6.0,8.0}
notas_com_bonu
s = {0.0,0.0,0.0}
A função recebe o
vetor e atualiza os
valores de todas as
posições. Como o
vetor é passado por
referência, os
valores do vetor
original (notas)
também são
alterados. Dessa
forma,
notas_com_bonus e
notas apontam para
a mesma estrutura,
com os valores
atualizados.
Pergunta 10
Resposta
Selecionada:
c.
Respostas: a.
b.
c.
Utilizando o algoritmo de ordenação
por seleção, como ficaria ordenado
o vetor a seguir logo após a primeira
passada?
int[] valores = {5, 3, 7, 6, 2};
{ 2, 3, 7, 6, 5 }
{ 2, 3, 7, 5, 6 }
{ 5, 3, 7, 6, 2 }
{ 2, 3, 7, 6, 5 }
1 em 1 pontos
d.
e.
Comentário
da resposta:
{ 3, 5, 7, 6, 2 }
{ 3, 5, 6, 2, 7 }
Resposta: c) { 2, 3,
7, 6, 5 }
O método de
ordenação por
seleção percorre o
vetor buscando o
menor elemento que
vá trocar de posição
com o elemento
atual em análise,
nesse caso, o
primeiro elemento.
Portanto, identificará
que após a primeira
posição, o menor
elemento é o 2 na
última posição,
trocando esse
elemento com o
primeiro, e
avançando a análise
para o segundo
elemento do vetor.
Quinta-feira, 16 de Março de 2023 19h26min54s BRT
← OK