Logo Passei Direto
Buscar

Teste_ AO2 6 de 6 COMPLEXIDADE de algoritmos

User badge image
Karen Martins

em

Ferramentas de estudo

Questões resolvidas

Considerando as informações apresentadas, assinale a alternativa correta: O algoritmo executará 5 instruções e, para diminuir esse valor, basta remover uma das linhas de instruções do tipo escreva. O algoritmo executará 4 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6). O algoritmo executará 7 instruções e, para diminuir esse valor, basta colocar um “else if” substituindo a segunda instrução “se” (na linha 6). O algoritmo executará 5 instruções e, devido às características do algoritmo, torna-se inviável diminuir o número de instruções. O algoritmo executará 5 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).

O algoritmo executará 5 instruções e, para diminuir esse valor, basta remover uma das linhas de instruções do tipo escreva.
O algoritmo executará 4 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).
O algoritmo executará 7 instruções e, para diminuir esse valor, basta colocar um “else if” substituindo a segunda instrução “se” (na linha 6).
O algoritmo executará 5 instruções e, devido às características do algoritmo, torna-se inviável diminuir o número de instruções.
O algoritmo executará 5 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).

Material
páginas com resultados encontrados.
páginas com resultados encontrados.
left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

left-side-bubbles-backgroundright-side-bubbles-background

Experimente o Premium!star struck emoji

Acesse conteúdos dessa e de diversas outras disciplinas.

Libere conteúdos
sem pagar

Ajude estudantes e ganhe conteúdos liberados!

Questões resolvidas

Considerando as informações apresentadas, assinale a alternativa correta: O algoritmo executará 5 instruções e, para diminuir esse valor, basta remover uma das linhas de instruções do tipo escreva. O algoritmo executará 4 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6). O algoritmo executará 7 instruções e, para diminuir esse valor, basta colocar um “else if” substituindo a segunda instrução “se” (na linha 6). O algoritmo executará 5 instruções e, devido às características do algoritmo, torna-se inviável diminuir o número de instruções. O algoritmo executará 5 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).

O algoritmo executará 5 instruções e, para diminuir esse valor, basta remover uma das linhas de instruções do tipo escreva.
O algoritmo executará 4 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).
O algoritmo executará 7 instruções e, para diminuir esse valor, basta colocar um “else if” substituindo a segunda instrução “se” (na linha 6).
O algoritmo executará 5 instruções e, devido às características do algoritmo, torna-se inviável diminuir o número de instruções.
O algoritmo executará 5 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda instrução “se” (na linha 6).

Prévia do material em texto

AO2
Iniciado: 29 nov em 23�05
Instruções do teste

Pergunta 1 0,6 pts

Pergunta 2 0,6 pts
Importante:
Caso você esteja realizando a atividade através do aplicativo "Canvas Student", é necessário que
você clique em "FAZER O QUESTIONÁRIO", no final da página.
Leia o texto a seguir:
A técnica de divisão e conquista é dividida em três etapas. Na primeira (dividir), é realizada a
divisão do problema em subproblemas menores. Na segunda (conquistar), os subproblemas são
resolvidos por chamadas recursivas até a completa resolução. Por fim, os subproblemas são
combinados para obter a solução final de todo o problema.
Considerando as informações apresentadas, analise as asserções a seguir e a relação proposta
entre elas.
I. O algoritmo Merge Sort divide o vetor em duas metades, ordenando�as recursivamente e,
finalmente, mescla as duas metades ordenadas. Sua complexidade de tempo é O(n log n).
PORQUE
II. A eficiência e a baixa complexidade de tempo do Merge Sort ocorrem graças ao algoritmo que
escolhe um elemento central chamado pivô, o qual ajuda a reorganizar os elementos do vetor.
A respeito dessas asserções, assinale a alternativa correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa correta da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa correta da I.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
As asserções I e II são proposições falsas.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
Leia o texto e observe o código�fonte a seguir:
A+
A
A-

Pergunta 3 0,6 pts
Em Python, podemos utilizar os operadores aritméticos para manipular os dados de variáveis,
bem como realizar cálculos - assim como na matemática.
Considerando as informações apresentadas, avalie as seguintes asserções e a relação proposta
entre elas.
I. O algoritmo apresentado tem a complexidade de tempo O(1), sendo considerada a
complexidade de tempo mais eficiente.
PORQUE
II. Ao executar um algoritmo no tempo O(1), não importa o valor do elemento que você está
pedindo para a função imprimir, apenas uma etapa é necessária.
A respeito dessas asserções, assinale a opção correta:
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
As asserções I e II são proposições falsas.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
Leia o texto a seguir:
Um algoritmo é uma lista passo a passo de instruções usadas para executar uma tarefa final. Um
bom engenheiro de software considerará a complexidade do tempo ao planejar seu programa.
Desde o início, um engenheiro deve considerar um cenário que seu programa pode encontrar e
que exigirá mais tempo para ser concluído. Isso é conhecido como a complexidade de tempo do
pior caso de um algoritmo.
Considerando as informações apresentadas, avalie as seguintes asserções e a relação proposta
entre elas.
I. O tempo de execução de uma tarefa constante não mudará, independentemente de qual seja o
valor de entrada, sendo representada por O(n), onde O é chamado de Big O.
A+
A
A-

Pergunta 4 0,6 pts

PORQUE
II. A notação Big O é a métrica mais comum para calcular a complexidade do tempo.
A respeito dessas asserções, assinale a opção correta:
As asserções I e II são proposições verdadeiras, e a II é uma justificativa da I.
As asserções I e II são proposições verdadeiras, mas a II não é uma justificativa da I.
A asserção I é uma proposição falsa, e a II é uma proposição verdadeira.
A asserção I é uma proposição verdadeira, e a II é uma proposição falsa.
As asserções I e II são proposições falsas.
Leia o texto e observe o código a seguir:
Em Python e em outras linguagens de programação, para que seja possível manipular dados uma
das necessidades é criar variáveis que armazenem temporariamente valores, os quais podem ser
numéricos (int ou float), textos (string) ou booleanos (bool).
Qual a classe de complexidade de tempo do algoritmo apresentado?
O(n) – Complexidade Linear.
O(n²) – Complexidade Quadrática.
O(1) – Complexidade Constante.
O(2n) – Complexidade Exponencial.
O(log n) – Complexidade Logarítmica.
A+
A
A-
Pergunta 5 0,6 pts

Pergunta 6 0,6 pts
Leia o texto e observe o pseudocódigo a seguir:
Um algoritmo é uma sequência finita de instruções que podem ser representadas de maneira
declarativa, por meio de fluxogramas ou em um pseudocódigo, por exemplo. Essa sequência de
instruções pode ser mais longa ou mais curta e pode ser alterada preservando a essência do
algoritmo, ou seja, mantendo seu propósito.
Considerando as informações apresentadas, assinale a alternativa correta:
O algoritmo executará 5 instruções e, para diminuir esse valor, basta remover uma das linhas de instruções do
tipo escreva.
O algoritmo executará 4 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda
instrução “se” (na linha 6).
O algoritmo executará 7 instruções e, para diminuir esse valor, basta colocar um “else if” substituindo a
segunda instrução “se” (na linha 6).
O algoritmo executará 5 instruções e, devido às características do algoritmo, torna�se inviável diminuir o
número de instruções.
O algoritmo executará 5 instruções e, para diminuir esse valor, basta colocar um “else” substituindo a segunda
instrução “se” (na linha 6).
Leia o texto a seguir:
Do ponto de vista da complexidade computacional, existem alguns tipos de problemas para os
quais não existem algoritmos eficientes para resolvê�los. A maioria desses problemas tem um
algoritmo que fornece uma solução, e esse algoritmo é a busca de força bruta. Esse algoritmo,
no entanto, não fornece uma solução eficiente e, portanto, não é viável para computação com
nada mais do que a menor entrada. A razão pela qual não há algoritmos eficientes para esses
A+
A
A-

Pergunta 7 0,6 pts
problemas é que esses problemas estão todos em uma categoria que poderia ser chamada de
“um pouco menos que aleatório”. Eles são próximos do aleatório, de fato, ainda que não
permitam nenhum algoritmo significativo além do de força bruta.
Considerando as informações apresentadas, assinale a alternativa correta.
Problemas Heurísticos, os quais são resolvidos utilizando heurísticas e técnicas de força bruta, não podem ser
resolvidos dentro de um tempo aceitável.
Problemas de Parada, os quais geralmente requerem tempos polinomiais de processamento, não podem ser
resolvidos dentro de um tempo aceitável.
Problemas Tratáveis, como aqueles de complexidade NP e NP-Hard, não podem ser resolvidos dentro de um
tempo aceitável.
Problemas Intratáveis, os quais geralmente requerem tempos exponenciais de processamento, não podem ser
resolvidos dentro de um tempo aceitável.
Problemas Insolúveis, os quais dificilmente serão resolvidos em um tempo polinomial, não podem ser
resolvidos dentro de um tempo aceitável.
Leia o texto a seguir:
Em uma época em que o poder computacional nos cerca, é fácil se confundir com a ideia de que
a informação é processada e entregue como mágica. O processamento é algo tão rápido que às
vezes esquecemos que milhões de cálculos por segundo estão sendo feitos entre o momento em
que solicitamos a informação e o momento em que ela é entregue.
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. Cada instrução de um algoritmo deve ser executada em uma ordem específica para resolver
um problema computacional ou não.
II. A complexidade de tempo em uma taxa exponencial significa que, a cada etapa que a função
executa, a próxima etapa será executada mais rapidamente.
III. A notação Big O ou Big Ômega é a métrica mais comum para calcular a complexidade do
tempo, juntamente com Big Teta.
IV. Um algoritmo de complexidade quadrática requer uma quantidade de tempo ou execução einstruções igual ao quadrado de seu valor de entrada.
É correto o que se afirma em:
II e III, apenas.
A+
A
A-

Pergunta 8 0,6 pts

Pergunta 9 0,6 pts
I, III e IV apenas.
I e IV, apenas.
III e IV, apenas.
I e II, apenas.
Leia o texto a seguir:
Algumas linguagens de programação, como o Python, possibilitam o desenvolvimento de códigos
utilizando estruturas de armazenamento de dados chamada vetores ou arrays. O objetivo desse
tipo de estrutura é armazenar mais de um valor em uma região de memória. Veja um exemplo de
desenvolvimento de código utilizando um vetor:
Considerando o código apresentado, qual a técnica mais eficiente para realizar a pesquisa do
número 6 neste vetor?
Utilizar o algoritmo de busca sequencial.
Utilizar o algoritmo de merge sort e, em seguida, busca binária.
Utilizar o algoritmo de busca binária.
Utilizar o algoritmo de quick sort e, em seguida, busca binária.
Utilizar o algoritmo de quick sort e, em seguida, busca sequencial.
A+
A
A-

Pergunta 10 0,6 pts
Leia com atenção a definição a seguir.
A programação dinâmica é uma técnica que divide os problemas em subproblemas e salva o
resultado para fins futuros, para que não precisemos computar o resultado novamente. Os
subproblemas são desenvolvidos para otimizar a solução geral, o que é conhecida como
propriedade de subestrutura ótima. O principal uso da programação dinâmica é resolver
problemas de otimização. Aqui, problemas de otimização significam quando estamos tentando
descobrir a solução mínima ou máxima de um problema.
Considerando as informações apresentado, avalie as afirmações a seguir:
I. A programação dinâmica divide o problema complexo em subproblemas mais simples,
encontrando a solução para esses subproblemas e armazenando a solução em memória.
II. A complexidade de tempo e a complexidade de espaço aumentam com o uso da programação
dinâmica, ao contrário do que vemos nos algoritmos de força bruta.
III. As principais abordagens da programação dinâmica são Top-Down e Bottom-Up.
É correto o que se afirma em: 
II, apenas.
I, apenas.
III, apenas.
I e III, apenas.
I e II, apenas.
Leia a descrição a seguir.
Digamos que queremos pesquisar um número específico em um array. Considere que essa
estrutura de dados possuí 20 números e, dentre eles, queremos encontrar o número 100. Nesse
exemplo, pesquisar 20 números não é um problema. Mas imagine que estamos lidando com
conjuntos de dados que armazenam informações de perfil de milhões de usuários. Pesquisar
cada valor de índice do início ao fim seria muito ineficiente. Especialmente se tiver que ser feito
várias vezes.
Considerando as informações apresentadas, avalie as afirmações a seguir:
I. Em uma pesquisa sequencial, cada rodada de pesquisa consiste em um conjunto de dados
menor que o anterior. 
II. Um algoritmo logarítmico que realiza uma pesquisa binária examina as duas metades de um
conjunto de dados.
A+
A
A-
Salvo em 7�03
III. A complexidade logarítmica log n trata de um tipo de algoritmo que torna a computação
incrivelmente mais rápida que a complexidade linear.
IV. Localizar uma palavra em um dicionário possui a mesma complexidade de tempo que um
algoritmo de busca binária.
É correto o que se afirma em:
II e III, apenas.
II e IV, apenas.
I e II, apenas.
I e IV, apenas.
III e IV, apenas.
Enviar teste
A+
A
A-

Mais conteúdos dessa disciplina