Questões de Concurso
Comentadas sobre algoritmos em algoritmos e estrutura de dados
Foram encontradas 1.196 questões
Sobre o conceito de Algoritmos Recursivos, analise as afirmações abaixo e, a seguir, assinale a alternativa correta.
I. Um programa tem um número limitado de procedimentos recursivos.
II. Recursividade é utilizada exclusivamente quando não se sabe solucionar um problema de maneira imediata, então é realizada a divisão em problemas menores para alcançar o resultado desejado.
III. Todos os problemas computacionais resolvidos de maneira iterativa gastam mais memória que se resolvidos de forma recursiva.
k=10
y=0
enquanto y < 10
k = k - 2
y = y + 3
x = 1 - y * k
fim_enquanto
Uma função recursiva pela cauda sempre possui um equivalente iterativo direto.
Considerando que o algoritmo seguinte possui um arranjo A que armazena n > 3 elementos, é correto afirmar que a saída (s) será a soma dos elementos das células ímpares de A.
A[0] = 0;
para i = 2 até n-1 em incrementos de 3 faça
s = s + A [i]
retorna s
Assinale EQ ou RP no QUADRO I, se a caraterística descrita
é VERDADEIRA para as estruturas de controle indicadas no
QUADRO II.
QUADRO I - Característica
(__) O teste de controle é realizado no fim da estrutura de controle.
(__) O teste de controle é realizado no início da estrutura de controle.
(__) A condição de saída do loop ocorre quando o teste é FALSO.
(__) A condição de saída do loop ocorre quando o teste é VERDADEIRO.
(__) Se o resultado do teste for FALSO, a execução do programa permanece no loop.
(__) Se o resultado for VERDADEIRO, a execução do programa permanece no loop.
QUADRO II - Estrutura de Controle
(EQ) enquanto... faca... fimenquanto
(RP) repita... ate... fimrepita
Tendo por foco o QUADRO I, de cima para baixo a sequência
correta é:
Considere a função Divide apresentada em pseudocódigo.
Considere o algoritmo em pseudocódigo no qual DIV calcula o quociente da divisão inteira e MOD o resto da divisão inteira:
Considere o algoritmo em pseudocódigo:
✓ A condição de saída do loop ocorre quando o <teste> é VERDADEIRO.
✓ O teste de controle da estrutura é realizado no início da execução.
✓ O fluxo de execução das instruções contidas no loop permanece se o resultado do <teste> é FALSO.
As afirmativas são respectivamente:
function f(n: inteiro) : inteiro
begin
if n = 1
then return(1)
else return(n+f (n-1))
end
O resultado retornado pela expressão f(10) é:
var i: inteiro
var j: inteiro
para i:= 1 até 2
begin
if i < 2
then k=i*2
else k=i
para j:= i até k
begin
print (i+j)
end
end
Sabendo-se que nesse código cada ocorrência do comando print produz uma linha na saída, está correto afirmar que o número de linhas produzidas é: