summaryrefslogtreecommitdiffhomepage
path: root/fr-fr/brainfuck-fr.html.markdown
diff options
context:
space:
mode:
Diffstat (limited to 'fr-fr/brainfuck-fr.html.markdown')
-rw-r--r--fr-fr/brainfuck-fr.html.markdown87
1 files changed, 0 insertions, 87 deletions
diff --git a/fr-fr/brainfuck-fr.html.markdown b/fr-fr/brainfuck-fr.html.markdown
deleted file mode 100644
index 545e407e..00000000
--- a/fr-fr/brainfuck-fr.html.markdown
+++ /dev/null
@@ -1,87 +0,0 @@
----
-language: brainfuck
-filename: learnbrainfuck-fr.bf
-contributors:
- - ["Prajit Ramachandran", "http://prajitr.github.io/"]
- - ["Mathias Bynens", "http://mathiasbynens.be/"]
-translators:
- - ["Baptiste Fontaine", "http://bfontaine.net"]
-lang: fr-fr
----
-
-Brainfuck (sans majuscule à part au début d’une phrase) est un langage
-Turing-complet extrêmement simple avec seulement 8 commandes.
-
-```
-Tout caractère en dehors de "><+-.,[]" (en dehors des guillemets) est ignoré.
-
-Brainfuck est représenté par un tableau de 30 000 cellules initialisées à 0 et
-un pointeur de données pointant sur la cellule courante.
-
-Il y a huit commandes :
-+ : Incrémente la valeur de la cellule courante de un.
-- : Décrémente la valeur de la cellule courante de un.
-> : Déplace le pointeur de données sur la cellule suivante (à droite).
-< : Déplace le pointeur de données sur la cellule précédente (à gauche).
-. : Affiche la valeur ASCII de la cellule courante (par ex. 65 = 'A').
-, : Lit un caractère et le place dans la cellule courante.
-[ : Si la valeur dans la cellule courante vaut 0, saute au ] correspondant.
- Sinon, continue avec la commande suivante.
-] : Si la valeur dans la cellule courante vaut 0, continue avec la commande
- suivante. Sinon, retourne au [ correspondant.
-
-[ et ] forment une boucle « tant que » (« while »). Ils doivent évidemment
-aller par paires.
-
-Regardons quelques programmes simples en brainfuck.
-
-++++++ [ > ++++++++++ < - ] > +++++ .
-
-Ce programme affiche la lettre 'A'. Il commence par incrémenter la première
-cellule à 6. Il entre ensuite dans une boucle et se déplace sur la seconde
-cellule. Il l’incrémente 10 fois, retourne sur la première cellule, et la
-décrémente. Cette boucle est exécutée 6 fois (ce qui correspond aux 6
-décrémentations de la première cellule pour la faire atteindre 0, ce qui fait
-sortir de la boucle).
-
-À ce moment-là, nous sommes sur la première cellule, qui a une valeur de 0,
-tandis que la seconde cellule a une valeur de 60. Nous nous déplaçons sur
-celle-ci, l’incrémentons 5 fois, pour une valeur de 65, et affichons sa valeur.
-En ASCII, 65 correspond à 'A' donc le programme affiche 'A' dans le terminal.
-
-, [ > + < - ] > .
-
-Ce programme lit un caractère sur l’entrée standard et le copie dans la
-première cellule. Il commence ensuite une boucle : il bouge sur la seconde
-cellule, incrémente sa valeur, retourne sur la première et décrémente sa
-valeur. Il continue jusqu’à ce que la valeur de la première cellule soit à 0,
-et que la seconde cellule contienne l’ancienne valeur de la première. Comme
-nous sommes sur la première cellule à la fin de la boucle, il bouge sur la
-seconde et affiche sa valeur en ASCII.
-
-Souvenez-vous que les espaces sont uniquement là pour favoriser la lisibilité,
-vous pourriez tout aussi aisément écrire le programme comme ceci :
-
-,[>+<-]>.
-
-Essayez et devinez ce que ce programme fait :
-
-,>,< [ > [ >+ >+ << -] >> [- << + >>] <<< -] >>
-
-Ce programme prend deux nombres en entrée, et les multiplie.
-
-Il commence par lire deux entrées, puis commence une boucle externe, qui a une
-condition sur la première cellule. Il bouge ensuite sur la seconde, et commence
-une boucle interne sur celle-ci, en incrémentant la troisième cellule. Il y a
-cependant un problème : à la fin de la boucle interne, la valeur de la seconde
-cellule est à zéro. Dans ce cas, la boucle interne ne fonctionnera pas une
-seconde fois. Pour régler le problème, nous incrémentons aussi la quatrième
-cellule, puis recopions sa valeur dans la seconde cellule.
-À la fin, la troisième cellule contient le résultat de la multiplication.
-```
-
-Et voilà ce qu’est le brainfuck. Pas très dur, hein ? Pour le fun, vous pouvez
-écrire vos propres programmes en brainfuck, ou écrire un interpréteur brainfuck
-dans un autre langage. L’interpréteur est relativement simple à implémenter,
-mais si vous êtes un masochiste, essayez d’écrire un interpréteur brainfuck en…
-brainfuck.