Logo Passei Direto
Buscar

Algoritmos e programação de Computadores 2 AV 3

Ferramentas de estudo

Questões resolvidas

Ao passar um valor x para uma função recursiva para realizar uma soma, o que acontece é que a função vai somar de 1 até o valor x, o que indica que ela está chamando a si mesma, porém, a cada vez, com um argumento diferente. Assinale a alternativa que representa a função citada de forma generalizada.
a. f(x) = f(x-1) - x
b. f(x) = f(x+1) - x
c. f(x) = f(x+1) + x
d. f(x) = f(x-1) + x
e. f(x) = f(x-1)

Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.
I. ( ) As funções recursivas em Python apresentam grandes benefícios em relação à melhora da eficiência.
II. ( ) Caso base e o caso recursivo são partes que integram toda função recursiva.
III. ( ) O Python usa o recurso de exceção exibindo a fim de evitar que um código seja executado infinitamente.
a. F - F - V.
b. V - F - F.
c. V - F - V.
d. F - V - V.
e. V - V - F.

Assinale a alternativa que representa a função cujo objetivo é a ordenação das informações de uma lista.
a. pop()
b. sorted()
c. remove()
d. list()
e. index()

A pesquisa ou busca binária confere inicialmente o elemento do meio da lista, caso o elemento procurado seja menor que o elemento intermediário, é feita a busca binária ao lado esquerdo do intermediário, porém caso o procurado seja maior que o intermediário, a busca ocorre ao lado direito. Dessa forma, o parâmetro passado para a função já é uma lista menor caracterizando a função recursiva.
Com relação ao algoritmo apresentado, avalie as afirmacoes a seguir.
I. Trata-se de um algoritmo que adota a estratégia “dividir para conquistar”.
II. As divisões são int, por isso a variável middle faz uso da função de retorno.
III. Middle é um ponto médio que divide a matriz em duas partes.
IV. Quando key == middle, encontra-se o elemento procurado.
a. I e III, apenas.
b. III e IV, apenas.
c. I, II e III, apenas.
d. II e IV, apenas.
e. I, III e IV, apenas.

Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.
I. ( ) Toda função recursiva deve conter uma condição que estabelece o ponto em que ela deve parar de chamar a si própria.
II. ( ) A recursão usa repetição por meio de comandos e utiliza uma condição de teste que, ao falhar, finaliza a iteração.
III. ( ) A iteração usa repetição por meio de várias chamadas a uma rotina e utiliza o alcance de um caso trivial para ser finalizada.
IV. A recursão entra em loop infinito nos casos em que o teste nunca se torna falso.
a. V - F - F - V.
b. V - F - F - F.
c. V - V - F - F.
d. F - V - V - F.
e. F - F - F - V.

O algoritmo de busca binária considera um vetor ordenado de n elementos para realizar a varredura dos elementos, por isso é possível implementar um algoritmo mais eficiente que utiliza busca sequencial. Adotando o paradigma dividir para conquistar, o problema global é dividido em subproblemas, o que faz com que o espaço de busca se reduza à metade a cada iteração do algoritmo.
Com relação ao algoritmo de busca binária apresentado, avalie as afirmações a seguir.
I. O número máximo de comparações requeridas começa com n/2, n/4, n/6, n/8 e assim sucessivamente.
II. A busca binária é O(nlogn) devido ao logaritmo do número de itens na lista.
III. Se n for um valor pequeno, o custo adicional para ordenar a lista não compensa.
IV. A análise da busca binária considera eliminar metade dos itens que restam a cada comparação.
a. II e IV, apenas.
b. I, II e IV, apenas.
c. III e IV, apenas.
d. I e III, apenas.
e. I e II, apenas.

A recursividade em Python é apresentada como uma forma para solucionar problemas cujo fundamento é a fragmentação de um problema em subproblemas menores de tal forma que a função para resolver tal contratempo chame a si mesmo até chegar em um problema que tenha uma simplicidade que viabiliza sua resolução de uma forma trivial. Todos os algoritmos recursivos devem obedecer a três leis importantes, apontadas em 1, 2 e 3.
Sobre tais leis, avalie as afirmações a seguir, e relacione-as adequadamente aos termos às quais se referem.
I. Deve mudar seu estado para se aproximar do caso básico.
II. Deve chamar a si mesmo, recursivamente.
III. Deve possuir um caso básico.
a. 1-II; 2-I; 3-III.
b. 1-I; 2-II; 3-III.
c. 1-III; 2-I; 3-II.
d. 1-III; 2-II; 3-I.
e. 1-I; 2-III; 3-II.

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

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

Crie sua conta grátis para liberar esse material. 🤩

Já tem uma conta?

Ao continuar, você aceita os Termos de Uso e Política de Privacidade

Questões resolvidas

Ao passar um valor x para uma função recursiva para realizar uma soma, o que acontece é que a função vai somar de 1 até o valor x, o que indica que ela está chamando a si mesma, porém, a cada vez, com um argumento diferente. Assinale a alternativa que representa a função citada de forma generalizada.
a. f(x) = f(x-1) - x
b. f(x) = f(x+1) - x
c. f(x) = f(x+1) + x
d. f(x) = f(x-1) + x
e. f(x) = f(x-1)

Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.
I. ( ) As funções recursivas em Python apresentam grandes benefícios em relação à melhora da eficiência.
II. ( ) Caso base e o caso recursivo são partes que integram toda função recursiva.
III. ( ) O Python usa o recurso de exceção exibindo a fim de evitar que um código seja executado infinitamente.
a. F - F - V.
b. V - F - F.
c. V - F - V.
d. F - V - V.
e. V - V - F.

Assinale a alternativa que representa a função cujo objetivo é a ordenação das informações de uma lista.
a. pop()
b. sorted()
c. remove()
d. list()
e. index()

A pesquisa ou busca binária confere inicialmente o elemento do meio da lista, caso o elemento procurado seja menor que o elemento intermediário, é feita a busca binária ao lado esquerdo do intermediário, porém caso o procurado seja maior que o intermediário, a busca ocorre ao lado direito. Dessa forma, o parâmetro passado para a função já é uma lista menor caracterizando a função recursiva.
Com relação ao algoritmo apresentado, avalie as afirmacoes a seguir.
I. Trata-se de um algoritmo que adota a estratégia “dividir para conquistar”.
II. As divisões são int, por isso a variável middle faz uso da função de retorno.
III. Middle é um ponto médio que divide a matriz em duas partes.
IV. Quando key == middle, encontra-se o elemento procurado.
a. I e III, apenas.
b. III e IV, apenas.
c. I, II e III, apenas.
d. II e IV, apenas.
e. I, III e IV, apenas.

Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas (F) as afirmativas a seguir.
I. ( ) Toda função recursiva deve conter uma condição que estabelece o ponto em que ela deve parar de chamar a si própria.
II. ( ) A recursão usa repetição por meio de comandos e utiliza uma condição de teste que, ao falhar, finaliza a iteração.
III. ( ) A iteração usa repetição por meio de várias chamadas a uma rotina e utiliza o alcance de um caso trivial para ser finalizada.
IV. A recursão entra em loop infinito nos casos em que o teste nunca se torna falso.
a. V - F - F - V.
b. V - F - F - F.
c. V - V - F - F.
d. F - V - V - F.
e. F - F - F - V.

O algoritmo de busca binária considera um vetor ordenado de n elementos para realizar a varredura dos elementos, por isso é possível implementar um algoritmo mais eficiente que utiliza busca sequencial. Adotando o paradigma dividir para conquistar, o problema global é dividido em subproblemas, o que faz com que o espaço de busca se reduza à metade a cada iteração do algoritmo.
Com relação ao algoritmo de busca binária apresentado, avalie as afirmações a seguir.
I. O número máximo de comparações requeridas começa com n/2, n/4, n/6, n/8 e assim sucessivamente.
II. A busca binária é O(nlogn) devido ao logaritmo do número de itens na lista.
III. Se n for um valor pequeno, o custo adicional para ordenar a lista não compensa.
IV. A análise da busca binária considera eliminar metade dos itens que restam a cada comparação.
a. II e IV, apenas.
b. I, II e IV, apenas.
c. III e IV, apenas.
d. I e III, apenas.
e. I e II, apenas.

A recursividade em Python é apresentada como uma forma para solucionar problemas cujo fundamento é a fragmentação de um problema em subproblemas menores de tal forma que a função para resolver tal contratempo chame a si mesmo até chegar em um problema que tenha uma simplicidade que viabiliza sua resolução de uma forma trivial. Todos os algoritmos recursivos devem obedecer a três leis importantes, apontadas em 1, 2 e 3.
Sobre tais leis, avalie as afirmações a seguir, e relacione-as adequadamente aos termos às quais se referem.
I. Deve mudar seu estado para se aproximar do caso básico.
II. Deve chamar a si mesmo, recursivamente.
III. Deve possuir um caso básico.
a. 1-II; 2-I; 3-III.
b. 1-I; 2-II; 3-III.
c. 1-III; 2-I; 3-II.
d. 1-III; 2-II; 3-I.
e. 1-I; 2-III; 3-II.

Prévia do material em texto

PERGUNTA 1 
1. Ao passar um valor x para uma função recursiva para realizar uma soma, o que acontece 
é que a função vai somar de 1 até o valor x, o que indica que ela está chamando a si 
mesma, porém, a cada vez, com um argumento diferente. 
 
Assinale a alternativa que representa a função citada de forma generalizada. 
 
a. f(x) = f(x-1) - x 
 
b. f(x) = f(x+1) - x 
 
c. f(x) = f(x+1) + x 
 
d. f(x) = f(x-1) + x 
 
e. f(x) = f(x-1) 
 
PERGUNTA 2 
1. A recursão é uma função que chama a si própria e vale destacar que o mais importante 
é saber identificar seu ponto de parada de modo a evitar que ela seja executada 
infinitamente. Esse ponto de parada é chamado de “caso base”. 
 
Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas 
(F) as afirmativas a seguir. 
 
I. ( ) As funções recursivas em Python apresentam grandes benefícios em relação à 
melhora da eficiência. 
II. ( ) Caso base e o caso recursivo são partes que integram toda função recursiva. 
III. ( ) O Python usa o recurso de exceção exibindo a fim de evitar que um código seja 
executado infinitamente. 
 
Assinale a alternativa que apresenta a sequência correta. 
 
a. F - F - V. 
 
b. V - F - F. 
 
c. V - F - V. 
 
d. F - V - V. 
 
e. V - V - F. 
 
PERGUNTA 3 
1. As listas em Python permitem listar informações dentro de uma única variável para que 
elas sejam utilizadas dentro do código. Uma prática comum ao se trabalhar com listas 
é a utilização de informações dentro dela, já que uma lista comporta uma estrutura de 
dados com itens organizados linearmente que podem ser acessados por meio de um 
índice. Essa tarefa de acesso pode ser facilitada diante de uma ordenação que simplifica 
o trabalho das informações contidas na lista. 
 
Assinale a alternativa que representa a função cujo objetivo é a ordenação das 
informações de uma a lista. 
 
 
a. pop() 
 
b. sorted() 
 
c. remove() 
 
d. list() 
 
e. index() 
 
PERGUNTA 4 
1. A pesquisa ou busca binária confere inicialmente o elemento do meio da lista, caso o 
elemento procurado seja menor que o elemento intermediário, é feita a busca binária ao 
lado esquerdo do intermediário, porém caso o procurado seja maior que o intermediário, 
a busca ocorre ao lado direito. Dessa forma, o parâmetro passado para a função já é 
uma lista menor caracterizando a função recursiva. 
 
Assim, analise o algoritmo abaixo. 
 
 
 
 
 
Fonte: Elaborada pela autora. 
 
Com relação ao algoritmo apresentado, avalie as afirmações a seguir. 
 
I. Trata-se de um algoritmo que adota a estratégia “dividir para conquistar”. 
II. As divisões são int, por isso a variável middle faz uso da função de retorno. 
III. Middle é um ponto médio que divide a matriz em duas partes. 
IV. Quando key == middle, encontra-se o elemento procurado. 
 
Está correto que se afirma em: 
 
a. I e III, apenas. 
 
b. III e IV, apenas. 
 
c. I, II e III, apenas. 
 
d. II e IV, apenas. 
 
e. I, III e IV, apenas. 
 
PERGUNTA 5 
1. É necessário o entendimento sobre recursão e iteração para seu uso de forma 
adequada, pois existem problemas naturalmente recursivos e aqueles definidos em 
termos recursivos. Uma função pode ser escrita como uma função recursiva sem o uso 
de iteração e uma função recursiva pode ser descrita por meio de iterações sucessivas. 
 
Com base nas informações apresentadas, identifique se são verdadeiras (V) ou falsas 
(F) as afirmativas a seguir. 
 
I. ( ) Toda função recursiva deve conter uma condição que estabelece o ponto em que 
ela deve parar de chamar a si própria. 
II. ( ) A recursão usa repetição por meio de comandos e utiliza uma condição de teste 
que, ao falhar, finaliza a iteração. 
III. ( ) A iteração usa repetição por meio de várias chamadas a uma rotina e utiliza o 
alcance de um caso trivial para ser finalizada. 
IV. A recursão entra em loop infinito nos casos em que o teste nunca se torna falso. 
 
Assinale a alternativa que apresenta a sequência correta. 
 
a. V - F - F - V. 
 
b. V - F - F - F. 
 
c. V - V - F - F. 
 
d. F - V - V - F. 
 
e. F - F - F - V. 
 
PERGUNTA 6 
1. O algoritmo de busca binária considera um vetor ordenado de n elementos para realizar 
a varredura dos elementos, por isso é possível implementar um algoritmo mais eficiente 
que utiliza busca sequencial. Adotando o paradigma dividir para conquistar, o problema 
global é dividido em subproblemas, o que faz com que o espaço de busca se reduza à 
metade a cada iteração do algoritmo. 
 
Com relação ao algoritmo de busca binária apresentado, avalie as afirmações a seguir. 
 
I. O número máximo de comparações requeridas começa com n/2, n/4, n/6, n/8 e assim 
sucessivamente. 
II. A busca binária é O(nlogn) devido ao logaritmo do número de itens na lista. 
III. Se n for um valor pequeno, o custo adicional para ordenar a lista não compensa. 
IV. A análise da busca binária considera eliminar metade dos itens que restam a cada 
comparação. 
 
Está correto que se afirma em: 
 
a. II e IV, apenas. 
 
b. I, II e IV, apenas. 
 
c. III e IV, apenas. 
 
d. I e III, apenas. 
 
e. I e II, apenas. 
 
PERGUNTA 7 
1. A recursividade em Python é apresentada como uma forma para solucionar problemas 
cujo fundamento é a fragmentação de um problema em subproblemas menores de tal 
forma que a função para resolver tal contratempo chame a si mesmo até chegar em um 
problema que tenha uma simplicidade que viabiliza sua resolução de uma forma trivial. 
Todos os algoritmos recursivos devem obedecer a três leis importantes, apontadas em 
1, 2 e 3. Sobre tais leis, avalie as afirmações a seguir, e relacione-as adequadamente 
aos termos às quais se referem. 
 
1. Primeira lei. 
2. Segunda lei. 
3. Terceira lei. 
 
I. Deve mudar seu estado para se aproximar do caso básico. 
II. Deve chamar a si mesmo, recursivamente. 
III. Deve possuir um caso básico. 
 
Assinale a alternativa que correlaciona adequadamente os dois grupos de informação. 
 
a. 1-II; 2-I; 3-III. 
 
b. 1-I; 2-II; 3-III. 
 
c. 1-III; 2-I; 3-II. 
 
d. 1-III; 2-II; 3-I. 
 
e. 1-I; 2-III; 3-II.

Mais conteúdos dessa disciplina