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

Foi útil?

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.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a cs.stackexchange
scroll top