summaryrefslogtreecommitdiffhomepage
path: root/pt-br/bf.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'pt-br/bf.html.markdown')
-rw-r--r--pt-br/bf.html.markdown86
1 files changed, 0 insertions, 86 deletions
diff --git a/pt-br/bf.html.markdown b/pt-br/bf.html.markdown
deleted file mode 100644
index 52a5269e..00000000
--- a/pt-br/bf.html.markdown
+++ /dev/null
@@ -1,86 +0,0 @@
----
-language: bf
-filename: learnbf-pt.bf
-contributors:
- - ["Prajit Ramachandran", "http://prajitr.github.io/"]
- - ["Mathias Bynens", "http://mathiasbynens.be/"]
-translators:
- - ["Suzane Sant Ana", "http://github.com/suuuzi"]
- - ["Rodrigo Muniz", "http://github.com/muniz95"]
-lang: pt-br
----
-
-Brainfuck (em letras minúsculas, exceto no início de frases) é uma linguagem de
-programação Turing-completa extremamente simples com apenas 8 comandos.
-
-```
-Qualquer caractere exceto "><+-.,[]" (sem contar as aspas) é ignorado.
-
-Brainfuck é representado por um vetor com 30 000 células inicializadas em zero
-e um ponteiro de dados que aponta para a célula atual.
-
-Existem 8 comandos:
-+ : Incrementa o valor da célula atual em 1.
-- : Decrementa o valor da célula atual em 1.
-> : Move o ponteiro de dados para a célula seguinte (célula à direita).
-< : Move o ponteiro de dados para a célula anterior (célula à esquerda).
-. : Imprime o valor ASCII da célula atual. (ex. 65 = 'A').
-, : Lê um único caractere para a célula atual.
-[ : Se o valor da célula atual for zero, salta para o ] correspondente.
- Caso contrário, passa para a instrução seguinte.
-] : Se o valor da célula atual for zero, passa para a instrução seguinte.
- Caso contrário, volta para a instrução relativa ao [ correspondente.
-
-[ e ] formam um ciclo while. Obviamente, devem ser equilibrados.
-
-Vamos ver alguns exemplos básicos em brainfuck:
-
-++++++ [ > ++++++++++ < - ] > +++++ .
-
-Este programa imprime a letra 'A'. Primeiro incrementa a célula #1 para 6.
-A célula #1 será usada num ciclo. Depois é iniciado o ciclo ([) e move-se
-o ponteiro de dados para a célula #2. O valor da célula #2 é incrementado 10
-vezes, move-se o ponteiro de dados de volta para a célula #1, e decrementa-se
-a célula #1. Este ciclo acontece 6 vezes (são necessários 6 decrementos para
-a célula #1 chegar a 0, momento em que se salta para o ] correspondente,
-continuando com a instrução seguinte).
-
-Nesta altura estamos na célula #1, cujo valor é 0, enquanto a célula #2
-tem o valor 60. Movemos o ponteiro de dados para a célula #2, incrementa-se 5
-vezes para um valor final de 65, e então é impresso o valor da célula #2. O valor
-65 corresponde ao caractere 'A' em ASCII, então 'A' é impresso no terminal.
-
-, [ > + < - ] > .
-
-Este programa lê um caractere e copia o seu valor para a célula #1. Um ciclo é
-iniciado. Movemos o ponteiro de dados para a célula #2, incrementamos o valor na
-célula #2, movemos o ponteiro de dados de volta para a célula #1 e finalmente
-decrementamos o valor na célula #1. Isto continua até o valor na célula #1 ser
-igual a 0 e a célula #2 ter o antigo valor da célula #1. Como o ponteiro de
-dados está apontando para a célula #1 no fim do ciclo, movemos o ponteiro para a
-célula #2 e imprimimos o valor em ASCII.
-
-Os espaços servem apenas para tornar o programa mais legível. Podemos escrever
-o mesmo programa da seguinte maneira:
-
-,[>+<-]>.
-
-Tente descobrir o que este programa faz:
-
-,>,< [ > [ >+ >+ << -] >> [- << + >>] <<< -] >>
-
-Este programa lê dois números e os multiplica.
-
-Basicamente o programa pede dois caracteres ao usuário. Depois é iniciado um
-ciclo exterior controlado pelo valor da célula #1. Movemos o ponteiro de dados
-para a célula #2 e inicia-se o ciclo interior controlado pelo valor da célula
-#2, incrementando o valor da célula #3. Porém existe um problema, no final do
-ciclo interior: a célula #2 tem o valor 0. Para resolver este problema o valor da
-célula #4 é também incrementado e copiado para a célula #2.
-```
-
-E isto é brainfuck. Simples, não? Por divertimento você pode escrever os
-seus próprios programas em brainfuck, ou então escrever um interpretador de
-brainfuck em outra linguagem. O interpretador é relativamente fácil de se
-implementar, mas caso você seja masoquista, tente escrever um interpretador de
-brainfuck… em brainfuck.