Prévia do material em texto
18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 1/6 Página inicial Meus cursos 32010001906-2023-1 🆘 Módulo de Recuperação ✅ [PO] Prova Optativa Iniciado em quinta, 18 mai 2023, 16:24 Estado Finalizada Concluída em quinta, 18 mai 2023, 17:11 Tempo empregado 46 minutos 57 segundos Avaliar 8,00 de um máximo de 10,00(80%) Questão 1 Correto Atingiu 1,00 de 1,00 As operações mais básicas em listas lineares são as operações de busca, inserção e remoção. O custo dessas operações é o mesmo, independente do tipo de lista linear (simples ou encadeada). Escolha uma opção: Verdadeiro Falso Tamanho da fonte A- A A+ Cor do site R A A A https://ava.ufms.br/ https://ava.ufms.br/course/view.php?id=44592 https://ava.ufms.br/course/view.php?id=44592#section-7 https://ava.ufms.br/mod/quiz/view.php?id=616931 18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 2/6 Questão 2 Correto Atingiu 1,00 de 1,00 Questão 3 Correto Atingiu 1,00 de 1,00 O pseudocódigo abaixo manipula um vetor V de n elementos. V = [ ] soma = 0 for i in range( n ): if V[i] == 0: break soma = soma + V[i] Escolha a alternativa que apresenta a complexidade de melhor caso deste algoritmo. a. O( 2*n ) b. O( 1 ) c. O( n ) d. O( 3*n ) e. O( n*n ) Dada um mesmo vetor de inteiros V e dois algoritmos de ordenação X e Y quaisquer (recursivos e não recursivos), os algoritmos X e Y realizarão a mesma quantidade de comparações para ordenar V. Escolha uma opção: Verdadeiro Falso Tamanho da fonte A- A A+ Cor do site R A A A 18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 3/6 Questão 4 Correto Atingiu 1,00 de 1,00 Questão 5 Correto Atingiu 1,00 de 1,00 Considerando o código abaixo (escrito na linguagem Python), escolha a alternativa que apresenta uma afirmação correta. Soma = 0 Cont = 0 arq = open(“Inteiros.txt”, “r”) S = arq.readline() while S != “”: N = int(S) Soma = Soma + N Cont = Cont + 1 print(“Elemento {0} = {1}”.format(Cont, N)) S = arq.readline() arq.close() print(“\nSoma = {0}”.format(Soma)) a. Esse programa lê um arquivo e totaliza os valores encontrados. Essa é a única maneira de implementar um programa com esse objetivo. b. A implementação desse mesmo código utilizando um iterador de arquivo ficaria mais enxuta. Entretanto, códigos enxutos não fazem parte do estilo de programação em Python. c. Se esse mesmo código fosse implementado usando um iterador de arquivo, o programa ficaria menos enxuto e mais pesado. d. O programa lê um arquivo binário contendo uma sequência de valores binários em cada linha. e. Esse programa lê um arquivo e totaliza os valores encontrados. Seria possível implementar um programa com o mesmo objetivo utilizando o conceito de iterador de arquivo. Uma das diferenças da implementação das operações com fila em relação às operações com pilha é que, no caso da fila, é necessário manter uma marcação do início e do fim da estrutura. Já na pilha, a marcação principal é no topo. Escolha uma opção: Verdadeiro Falso Tamanho da fonte A- A A+ Cor do site R A A A 18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 4/6 Questão 6 Incorreto Atingiu 0,00 de 1,00 Questão 7 Correto Atingiu 1,00 de 1,00 Considere as seguintes afirmações em relação à análise de complexidade de algoritmos. 1. O objetivo dos métodos analíticos é determinar uma expressão matemática que represente o comportamento de tempo de um algoritmo. 2. Métodos analíticos medem o tempo de execução de um algoritmo independente do computador utilizado. 3. Medir o tempo de execução de um algoritmo em um computador específico pode acabar fornecendo uma análise de tempo limitada. 4. Ao calcular a complexidade assintótica de um algoritmo, é possível concluir de maneira direta quando será o tempo de execução (em segundos) desse algoritmo. Escolha a alternativa que apresenta TODAS as sentenças corretas. a. 1 e 2. b. 4. c. 1, 2 e 3. d. 1 e 4. e. 2 e 3. Em geral, os algoritmos recursivos realizam chamadas para si próprio e passam por parâmetro uma nova entrada, que geralmente é maior que a entrada anterior. Ou seja, a cada chamada recursiva o tamanho da entrada aumenta, e essa é a dinâmica que levará ao término da recursão. Escolha uma opção: Verdadeiro Falso Tamanho da fonte A- A A+ Cor do site R A A A 18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 5/6 Questão 8 Correto Atingiu 1,00 de 1,00 Questão 9 Incorreto Atingiu 0,00 de 1,00 Em relação aos algoritmos de ordenação por intercalação e ordenação rápida, escolha uma alternativa que contenha uma sentença correta. a. Tanto a ordenação por intercalação quanto a ordenação rápida são versões modificadas do algoritmo de ordenação por bolha. b. O algoritmo de ordenação por intercalação divide a lista em dois pedaços de tamanhos aleatórios. c. A ideia básica do algoritmo de ordenação por intercalação é intercalar as duas metades de uma lista quando essas duas metades estão desordenadas. d. O algoritmo de ordenação rápida descobrirá um pivô para dividir a lista em dois pedaços, mas não há garantias de que esse pivô será o elemento no centro da lista (mediana). e. Intercalar duas listas já ordenadas é um procedimento similar ao algoritmo de particionamento utilizado na ordenação rápida. O código abaixo tenta resolver o problema de Fibonacci. def fib( n ): if n == 0: return 0 else if n == 1: return 1 else return fib( n-1 ) + fib( n-2 ) Em relação a essa solução, escolha a alternativa correta. a. O algoritmo resolverá o problema corretamente para qualquer valor de n que seja maior ou igual a zero. b. O algoritmo resolverá o problema corretamente para qualquer valor de n. c. Essa solução não é recursiva. d. Essa solução não apresenta uma condição de saída. e. As chamadas recursivas não levarão a cálculos redundantes. Tamanho da fonte A- A A+ Cor do site R A A A 18/05/2023, 17:09 ✅ [PO] Prova Optativa: Revisão da tentativa https://ava.ufms.br/mod/quiz/review.php?attempt=638587&cmid=616931#question-745964-10 6/6 Questão 10 Correto Atingiu 1,00 de 1,00 Em relação às listas duplamente encadeadas, escolha a alternativa CORRETA. a. O uso de listas duplamente encadeadas reduz o consumo de memória em relação a listas simplesmente encadeadas. b. A inserção de um elemento em uma lista duplamente encadeada manipula menos ponteiros de memória do que uma inserção em uma lista simplesmente encadeada. c. A remoção de um elemento em uma lista duplamente encadeada apresenta uma facilidade em relação a uma lista simplesmente encadeada, pelo fato de cada nó já manter um ponteiro para o elemento anterior. d. A grande vantagem do uso de listas encadeadas é a redução na quantidade de ponteiros que precisam ser alterados nas operações de inserção e remoção. e. Nenhuma das alternativas anteriores. Atividade anterior ◄ ✅ [A5] – Avaliação do Módulo 5 – Noções de eficiência de algoritmos Seguir para... Próxima atividade 📋 [Feedback da disciplina] ► Manter contato Suporte Técnico ao Usuário https://suporteagetic.ufms.br (67) 3345-7613 suporte.agead@ufms.br Tamanho da fonte A- A A+ Cor do site R A A A https://ava.ufms.br/mod/quiz/view.php?id=616930&forceview=1 https://ava.ufms.br/mod/url/view.php?id=616932&forceview=1 https://suporteagetic.ufms.br/ tel:(67) 3345-7613 mailto:suporte.agead@ufms.br https://api.whatsapp.com/send?phone=556733457613