ProPlay.ru
  MAIN    NEWS    ARTICLES    TEAMS    DEMOS    VODs    ODDS    TOURNEYS    FORUMS    GALLERIES    SITE   
Русский Китайский
Forget password?
Registration

    Richest users
 ggtt 2664
 Hvostyn 2400
 GopaveC 2000
 rmn1x 2000
 Akon 1958
 razdavalochka 994
 CoolMast 700
 Devostatortk 606
 modify2h 600
 Boevik 400
    Poll

The Internaitonal 2015 был
Лучше предыдуших
Хуже предыдущих
Такой же



    Reports
SLTV StarSeries 6: Репортаж
SLTV StarSeries V: CS Global Offensive
Рейтинг ProPlay.ru: Январь 2013
Fnatic FragOut CS:GO League
SLTV StarSeries #4 CS:GO
SLTV Star Series #3: Репортаж
GosuLeague #3: Репортаж
SLTV Star Series #2: Репортаж
The Premier League Season 2: Репортаж
36ON.RU BATTLE CITY: Плей-офф
Fantasy Football - Евро 2012: Лига ProPlay.ru
Rising Stars Challenge
36ON.RU BATTLE CITY: Групповой этап
FnaticRC CS League: Групповой этап
It's Gosu's Monthly Madness: 2 сезон
36ON.RU BATTLE CITY: 2й квалификационный тур
The Premier League: 2 cезон
Fantasy Football - UEFA Champions League лига ProPlay.ru
36ON.RU BATTLE CITY: 1й квалификационный тур
36ON.RU BATTLE CITY: Составы команд


    Links


    #1   ПиКаЧу @ 13.11.12 02:53 [пожаловаться]   
Brainfuck (англ. brain мозг + fuck ебать) — один из известнейших эзотерических языков программирования, придуман Урбаном Мюллером (нем. Urban Mьller) в 1993 году для забавы. Язык имеет восемь команд, каждая из которых записывается одним символом. Исходный код программы на Brainfuck представляет собой последовательность этих символов без какого-либо дополнительного синтаксиса.

Одним из мотивов Урбана Мюллера было создание языка с как можно меньшим компилятором. Отчасти он был вдохновлён языком FALSE, для которого существовал компилятор размера 1024 байта. Существуют компиляторы языка Brainfuck размера меньше 200 байт.[1] Программы на языке Brainfuck писать сложно, за что его иногда называют языком для мазохистов. Но при этом важно отметить, что Brainfuck является вполне естественным, полным и простым языком и может использоваться при определении понятия вычислимости.

Машина, которой управляют команды Brainfuck, состоит из упорядоченного набора ячеек и указателя текущей ячейки, напоминая ленту и головку машины Тьюринга. Кроме того, подразумевается устройство общения с внешним миром (см. команды . и ,) через поток ввода и поток вывода.

Язык Brainfuck можно описать с помощью эквивалентов языка Си (предполагается, что переменная p объявлена как указатель на байт):
Команда Brainfuck Эквивалент на Си Описание команды
> ++p; перейти к следующей ячейке
< --p; перейти к предыдущей ячейке
+ ++(*p); увеличить значение в текущей ячейке на 1
- --(*p); уменьшить значение в текущей ячейке на 1
. putchar(*p); напечатать значение из текущей ячейки
, *p = getchar(); ввести извне значение и сохранить в текущей ячейке
[ while (*p) { если значение текущей ячейки нуль, перейти вперёд по тексту программы на ячейку, следующую за соответствующей ] (с учётом вложенности)
] } если значение текущей ячейки не нуль, перейти назад по тексту программы на символ [ (с учётом вложенности)


Несмотря на внешнюю примитивность, Brainfuck с бесконечным набором ячеек имеет тьюринговскую полноту, а, следовательно, по потенциальным возможностям не уступает «настоящим» языкам, подобным Си, Паскалю или Java.

Brainfuck подходит для экспериментов по генетическому программированию из-за простоты синтаксиса, и, соответственно, генерации исходного кода.

В «классическом» Brainfuck, описанном Мюллером, размер ячейки — один байт, количество ячеек 30 000. В начальном состоянии указатель находится в крайней левой позиции, а все ячейки заполнены нулями. Увеличение/уменьшение значений ячеек происходит по модулю 256. Ввод/вывод также происходит побайтно, с учётом кодировки ASCII (то есть в результате операции ввода (,) символ 1 будет записан в текущую ячейку как число 0x31 (49), а операция вывода (.), совершённая над ячейкой, содержащей 0x41 (65), напечатает латинскую А). В других вариантах языка размер и количество ячеек может быть другим (большим). Есть версии, где значение ячеек не целочисленно (с плавающей точкой).


пока всё, что я написал:

копирование в след ячейку:
,[>+>+<<-]>>[<<+>>-]<.<.
if:
>+>,[блокtrue<-]<[блокfalse<]
if_v2:
>+<,[блокtrue>-]>[блокfalse>]
умнож:
,>,<[>[>+>+<<-]>[<+>-]<<-]>>>.
сумма:
,>,[<+>-]<.

на днях напишу ещё числовой вывод.

IDE
    #2   Потрошитель мух @ 13.11.12 03:07 [пожаловаться]   
Машинный язык чтоле
    #3   Потрошитель мух @ 13.11.12 03:13 [пожаловаться]   
Хотя тут ещё и компилятор, х7й пойми короче
    #4   Шешин @ 13.11.12 03:14 [пожаловаться]   
Чумачечие ачечи
Следующее
Чумачечие ачечи

Чумачечие ачечи
Следующее
    #5   невозмутимый джо @ 13.11.12 08:01 [пожаловаться]   
Shocked Shocked Shocked
    #6   пердунчик васька @ 13.11.12 19:45 [пожаловаться]   
Laughing Laughing Laughing
з.ы не читал
    #7   ABAsrazzo @ 13.11.12 22:06 [пожаловаться]   
#1 ПиКаЧу SurprisedK
    #8   npocTou pycckuu napeHb @ 13.11.12 22:51 [пожаловаться]   
поеб4ть Arrow
    #9   ПиКаЧу @ 15.11.12 01:07 [пожаловаться]   
#2 напротив, довольнотаки высокоуровневый язык.ввод, вывод, изменение переменных выполняются одним оператором.
Но его можно реализовать на машине вроде машины Тьюринга.

    Reply
Very Happy Smile Sad Surprised Shocked Confused Cool Laughing Mad Razz Embarassed Crying or Very sad Evil or Very Mad Twisted Evil Rolling Eyes Wink Exclamation Question Idea Arrow

New topic
Unsubscribe

    Event




    Next tourneys

Add tourney


    Last blogs
Записки без смысла [5] (22)
Ф (1)
Я вернулась. Olya (12)
Китайская улица (0)
Окей. (3)
Ранетки: Новая любовь. Ча... (5)
Кадровые перестановки (7)

    Random galleries
AR4ER [Michael Jackson Forever in my heart]: о_god;  тоже умеет на гитаре шпилить

AR4ER [Michael Jackson Forever in my heart]: Epic Boobs ;) клёвая цыпа.....

AR4ER [Michael Jackson Forever in my heart]: (.)(.)

AR4ER [Michael Jackson Forever in my heart]:  25/06/2009 The day music died....прошло 4 года...


    Searching a new authors!

ProPlay.ru ищет новых авторов. Прочитайте "Памятку для авторов" и, если заинтересовались, пишите нам miker@proplay.ru


    Links



Rambler's Top100
Яндекс цитирования Rambler's Top100

Copyright © 2006-2007 www.proplay.ru. All rights reserved.
Полное или частичное использование материалов сайта www.proplay.ru возможно только с письменного разрешения редакции.

Нашёл на сайте ошибку? Сообщи редакции!