O que significa a expressão "Simples Para Loops" significa em computability teoria?
-
29-09-2020 - |
Pergunta
Eu estava lendo uma página na Wikipédia Primitivas De Funções Recursivas mas há uma frase para descrever o simples para loops de que eu realmente não entendo.Alguém pode explicar isso para mim?
A Frase: Um limite superior do número de iterações de cada ciclo pode ser determinado antes de entrar no loop
O Taxas página
Solução
A Wikipédia instrução é informal e bastante ambígua.Por exemplo, vamos $A(n,n)$ ser o Função de Ackermann, e considere o programa a seguir, onde $n$ entrada:
x ← 0
for i from 1 to A(n,n):
x ← x + 1
return x
Esta função não é primitiva recursiva, embora haja um limite para o número de iterações, que é conhecido antes do tempo.
Uma melhor explicação é a LOOP linguagens de programação.A cada loop, LOOP é executado $x_i$ vezes, onde $x_i$ é uma variável, e o número de iterações é o valor de $x_i$ antes que o loop é executado.Por exemplo:
LOOP x DO
x ← x + 1
END
é um problema que dobra $x$, e
z ← 0
LOOP x DO
z ← z + 1
END
LOOP y DO
z ← z + 1
END
é um problema que atribui $x + y$ para $z$.
Uma função pode ser calculado em LOOP (usando um razoável de entrada/saída convenção) iff é primitiva recursiva.Então, se você permitir apenas loops em que o número de iterações é o valor de algumas variáveis pouco antes do loop, e , em seguida, a função será primitiva recursiva, e, além disso, cada primitiva função recursiva pode ser calculado usando apenas estes ciclos.
Outras dicas
Essa linha é bastante auto-descrever.Ainda, deixe-me explicar um pouco. for
loops de obras em um intervalo específico de valores.Por exemplo:Quando você iterar através de uma matriz, consciente ou inconscientemente, a mais conhecida length
da matriz, o que significa que você sabe que não.de iterações do loop irá realizar.
Dê uma olhada no pseudo-código abaixo:
FRUITS = ["APPLE", "BANANA", "MANGO"]
FOR FRUIT OF FRUITS
PRINT FRUIT
Acima, o for
loop será executado 3 times
, assim você sabe que não.de iterações antes mesmo de começar isso.
Espero sei que você entendeu que a linha bem.