Filtrar


Questões por página:
Um método recursivo é aquele que chama a si mesmo, direta ou indiretamente. Métodos recursivos permitem uma descrição mais clara e concisa dos algoritmos, especialmente quando o problema a ser resolvido pode ser definido em termos recursivos. No entanto, isso não significa que um método recursivo será sempre a melhor opção para resolver um problema (Ziviani, 2012).
O código em Python, a seguir, tem como objetivo calcular, recursivamente, o n-ésimo número de Fibonacci. Esse código é extremamente ineficiente, pois recalcula o mesmo valor várias vezes. Por exemplo, para calcular fib(5) são necessários os valores de fib(4) e fib(3). Entretanto, fib(4) também chama recursivamente fib(3). 
Imagem associada para resolução da questão
Considerando a execução do código apresentado para n = 5, assinale a alternativa que representa CORRETAMENTE o número de chamadas de fib(5), fib(4), fib(3), fib(2) e fib(1), nessa ordem. 
Durante o desenvolvimento de um sistema interno de controle de chamados em um órgão público, um técnico de tecnologia da informação foi encarregado de revisar a lógica de um algoritmo responsável por registrar e classificar solicitações de usuários. Para isso, ele analisou um pseudocódigo inicial elaborado por outro membro da equipe, cujo objetivo é contabilizar quantos chamados possuem prioridade alta. Considere o seguinte pseudocódigo simplificado:

Imagem associada para resolução da questão

Com base nos conceitos de lógica de programação, algoritmos, fluxogramas, pseudocódigo, variáveis, operadores e estruturas de decisão e repetição, analise as assertivas a seguir e assinale V, para verdadeiro, ou F, para falso:

(__)O valor de N funciona como variável de controle da repetição, determinando quantas vezes o bloco de instruções será executado.
(__)A variável contador atua como acumulador, sendo incrementada condicionalmente dentro da estrutura de decisão.
(__)Em um fluxograma equivalente, a verificação da prioridade seria representada por um símbolo de decisão, normalmente indicado por um losango.
(__)Caso o comando de incremento estivesse fora da estrutura condicional, o algoritmo ainda contabilizaria apenas os chamados de prioridade alta.
(__)A leitura da variável prioridade ocorre dentro da estrutura de repetição porque o algoritmo precisa avaliar múltiplos registros de chamados.
(__)A substituição da estrutura "para i de 1 até N" por uma estrutura "enquanto" exigiria um mecanismo adicional de controle da variável de iteração.

Assinale a alternativa que apresenta a sequência CORRETA de V (verdadeiro) e F (falso):
Em uma rotina de ensino de programação procedural, o instrutor apresenta um algoritmo que recebe um vetor de inteiros, percorre seus elementos e retorna um valor calculado ao final. Nessa abordagem, a estrutura mais adequada para percorrer sequencialmente todas as posições do vetor é:
Considere uma função recursiva em Python destinada a calcular o fatorial de um número inteiro não negativo. Para que a recursão termine corretamente, é indispensável a definição de: 
Em análise de algoritmos, uma rotina que percorre sequencialmente os elementos de um vetor de tamanho n, realizando uma comparação por posição, possui complexidade de tempo: