Baixe o app para aproveitar ainda mais
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 09/03/23 20:32 Enviado 14/03/23 20:16 Data de vencimento 29/03/23 23:59 Status Completada Resultado da tentativa 9 em 10 pontos Sala de Aula Tutoriais LARA CAROLINA FONSECA DE SENA 2 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 119 horas, 44 minutos Resultados exibidos Todas as respostas, Respostas enviadas, Respostas corretas, Comentários Pergunta 1 Resposta Selecionada: e. Respostas: a. b. c. d. Considerando um vetor já ordenado, qual dos algoritmos de ordenação, conforme implementação abordada em aula, executaria mais rápido? Método bolha . Nenhum funcionaria para um vetor já ordenado. Todos ordenariam no mesmo tempo. Ordenação por inserção. 1 em 1 pontos e. Comentário da resposta: Ordenação por seleção. Método bolha . Resposta: e) Método bolha Conforme primeira otimização demonstrada para o método bolha, uma variável booleana pode registrar a mudança de posição de valores em uma passada. Se todos os valores já estão ordenados, essa variável não mudará seu valor, logo o laço encerrará após a primeira passada. Pergunta 2 Considere a função a seguir como uma solução recursiva para calcular o resto de uma divisão. Qual deve 1 em 1 pontos Resposta Selecionada: c. Respostas: a. b. ser o critério de parada, e o retorno desse caso base? public static int restoRecursivo(int a, int b) { if ( critério de parada ) { return caso base; } else { return código; } } b > a ; return a a < b ; return a a < b; return b c. d. e. Comentário da resposta: b > a ; return a b > a ; return b a – b ; return a Resposta: c) b > a ; return a A função decrementa um valor de “b” de “a”, a cada recursão (oposto da multiplicação, que acrescenta). Isso é feito enquanto há um valor de pelo menos “b” em “a”, e por isso, o critério é “b > a”. Como o decréscimo ocorre em “a”, o valore final de “a”, na última recursão, é o resto da divisão. Pergunta 3 0 em 1 pontos Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Utilizando o algoritmo de ordenação pelo método bolha, 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 } { 2, 3, 7, 6, 5 } { 3, 5, 7, 6, 2 } { 3, 5, 6, 2, 7 } Resposta: e) { 3, 5, 6, 2, 7 } O método bolha percorre o vetor levando os maiores elementos para o final do vetor. Inicialmente, 5 é maior do que 3; portanto trocam de posição e o 3 fica na primeira posição. 5 é menor do que 7, ficando na segunda posição. 7 é maior do que 6, trocam de posição, e o 6 fica na terceira posição. 7 é maior do que 2, trocam de posição, e o 2 fica na quarta posição e o 5 na última posição. Pergunta 4 Observe o código abaixo. 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; 1 em 1 pontos Resposta Selecionada: c. Respostas: a. b. c. } 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} 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} d. e. Comentário da resposta: 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 5 Resposta Selecionada: c. Respostas: a. b. c. d. e. Comentário da resposta: Aponte o valor no índice (2,1) da seguinte matriz: int[][] valores = { {5, 3, 7, 6}, {8,9,0,1}, {4,2,3,9} }; 2 0 1 2 3 4 O índice começa pelo valor zero, portanto, o índice (2,1) corresponde à terceira linha e segunda coluna, que está preenchida com o valor 2. Pergunta 6 1 em 1 pontos 1 em 1 pontos Resposta Selecionada: d. Respostas: a. b. c. d. e. Comentário da resposta: Qual o índice, no vetor a seguir, do primeiro elemento utilizado para divisão do vetor, utilizando o MergeSort para ordenação dos elementos? Vetor = { 8, 10, 22, 5, 7, 11 } 2 5 4 3 2 1 Resposta: d) 2 O elemento do índice 2, de valor 22, é utilizado como ponto central para criação de dois vetores, para assim dividir o problema maior e subproblemas. Pergunta 7 Resposta Selecionada: a. Respostas: a. b. c. d. Qual o nome do paradigma de programação que permite modularizar o código em classes, que possuem atributos e métodos, permitindo a criação de instâncias dessas classes, que possuem valores e são utilizadas pelo programa? Orientação a Objetos Orientação a Objetos Programação para Classes Orientação a Classes Programação Estruturada 1 em 1 pontos e. Comentário da resposta: Programação para Objetos Resposta: a) Orientação a Objetos O nome desse paradigma é Orientação a Objetos ou Programação Orientada a Objetos (POO). Pergunta 8 Observe a seguinte matriz: 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 1 em 1 pontos Resposta Selecionada: b. Respostas: a. 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]; 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]; b. c. 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]; 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]; d. e. Comentário da resposta: 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]; 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 9 Resposta Selecionada: a. Respostas: a. b. c. d. Como são conhecidos os métodos auxiliares, não recursivos, do MergeSort e do QuickSort, respectivamente? Intercalar e Particionar Intercalar e Particionar Unir e Particionar Unir e Dividir Intercalar e Dividir 1 em 1 pontos e. Comentário da resposta: Unir e Mapear Resposta: a) Intercalar e Particionar O MergeSort realizar duas chamadas a si mesmo,e mais uma ao método Intercalar. O QuickSort realiza uma chamada ao método Particionar e duas a si mesmo. Pergunta 10 Conforme novas chamadas recursivas são executadas, cada uma dessas instâncias é inserida em uma estrutura que controla e mantém a ordem de execução de cada chamada. Essa estrutura é conhecida por: 1 em 1 pontos Resposta Selecionada: b. Respostas: a. b. c. d. e. Comentário da resposta: Pilha de execução Fila de execução Pilha de execução Vetor de execução Matriz de execução Chamada de execução Resposta: b) Pilha de execução A estrutura referida no enunciado é a pilha de execução. A chamada original fica na base da pilha, e cada nova chamada Terça-feira, 14 de Março de 2023 20h17min00s BRT é empilhada acima desta. Quando se alcança o critério de parada, a última chamada no topo da pilha é encerrada e, sequencialmente, todas abaixo são encerradas até finalizar a chamada original. ← OK
Compartilhar