Commit 460866df authored by Luis Allan Kunzle's avatar Luis Allan Kunzle

Revisão ortográfica e gramatical.

parent b598291b
...@@ -17,7 +17,6 @@ $$n^0 = 1$$ ...@@ -17,7 +17,6 @@ $$n^0 = 1$$
$$n^k = n.n^{k-1}$$ $$n^k = n.n^{k-1}$$
Observe que, no exemplo acima, a exponenciação $n^k$ está sendo definida através de Observe que, no exemplo acima, a exponenciação $n^k$ está sendo definida através de
uma outra exponenciação $(n^{k-1})$, ou seja, este é um caso em que a exponenciação uma outra exponenciação $(n^{k-1})$, ou seja, este é um caso em que a exponenciação
é definida através dela mesma (o que é uma definição recursiva ou também chamada de recorrência). é definida através dela mesma (o que é uma definição recursiva ou também chamada de recorrência).
...@@ -26,7 +25,7 @@ Analisando um pouco melhor o exemplo acima, $n^{k-1}$ também é uma exponencia ...@@ -26,7 +25,7 @@ Analisando um pouco melhor o exemplo acima, $n^{k-1}$ também é uma exponencia
portanto poderia utilizar a mesma definição para se definir, ou seja, se tomamos portanto poderia utilizar a mesma definição para se definir, ou seja, se tomamos
$n^{k-1} = n.n^{k-2}$ e assim podemos definir, $n^{k-3}$, etc. $n^{k-1} = n.n^{k-2}$ e assim podemos definir, $n^{k-3}$, etc.
Note que deveria haver um momento em que a definição termina, pois senão seria Note que deve haver um momento em que a definição termina, pois senão seria
impossível calcular $n^k$. Por isso, toda definição recursiva deve ser acompanhada impossível calcular $n^k$. Por isso, toda definição recursiva deve ser acompanhada
de um caso trivial que será o final da definição. No exemplo apresentado, $n^0 = 1$ de um caso trivial que será o final da definição. No exemplo apresentado, $n^0 = 1$
é o caso trivial e determina o final da recursividade sobre $n^k$. é o caso trivial e determina o final da recursividade sobre $n^k$.
...@@ -46,7 +45,6 @@ já que podem ser definidas através delas mesmas. ...@@ -46,7 +45,6 @@ já que podem ser definidas através delas mesmas.
Para uma linguagem permitir recursividade, uma função deve estar apta a chamar a si própria. Um Para uma linguagem permitir recursividade, uma função deve estar apta a chamar a si própria. Um
exemplo clássico de recursividade em programação é a função que calcula o fatorial de um número. exemplo clássico de recursividade em programação é a função que calcula o fatorial de um número.
Exemplo 1: Duas versões de fatorial Exemplo 1: Duas versões de fatorial
\begin{lstlisting} \begin{lstlisting}
// não recursiva // não recursiva
...@@ -96,11 +94,11 @@ são novas. ...@@ -96,11 +94,11 @@ são novas.
Quando cada chamada recursiva retorna, as antigas variáveis locais e os parâmetros são removidos da Quando cada chamada recursiva retorna, as antigas variáveis locais e os parâmetros são removidos da
pilha e a execução recomeça no ponto de chamada da função dentro da função. pilha e a execução recomeça no ponto de chamada da função dentro da função.
A principal vantagem das funções recursivas é que elas podem ser usadas para criar versões mais claras A principal vantagem das funções recursivas é que elas podem ser usadas para criar versões mais simples
e mais simples de muitos algoritmos complexos do que os seus equivalentes iterativos. e de mais fácil compreensão de muitos algoritmos complexos do que os seus equivalentes iterativos.
Por exemplo, o algoritmo de ordenação rápida é bastante difícil de ser implementado pelo modo Por exemplo, o algoritmo de ordenação rápida é bastante difícil de ser implementado pelo modo
iterativo. Também, alguns problemas, especialmente os relacionados com IA (inteligência artificial), iterativo. Além deste, diversos problemas, especialmente os relacionados com IA (inteligência artificial),
levam a si próprios a soluções recursivas. Finalmente, muitas definições são naturalmente recursivas, o levam a si próprios a soluções recursivas. Finalmente, muitas definições são naturalmente recursivas, o
que torna muito mais fácil implementá-las utilizando recursividade. que torna muito mais fácil implementá-las utilizando recursividade.
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment