+++++[>++++<-]>[<++++++>>+++++<-]<++>>[<+<<+>>>-]<---<<++++++++.>>.<.<.>-.
Brainfuck 2
2007, december 14 - 14:51 - lazly
Hat ismet itt. Alabbiakban par pontban a legegyszerub muveleteket be szeretnem mutatni, es rovid magyarazattal szolgalni felejuk. Kozertheto lesz, de minimalis logikai keszseget feltetelez. :) Ajanlom elobb a Brainfuck 1 cimu irasom.
Ajanlom a brainfuck debuggert, lasd kereso. Eleg hasznos
Matematika:
- Osszeadas:
++++>++ idaig feltolt ket mezot >[-] itt nullaza egy harmadikat <<[>>+<<-]>[>+<-]Lenyegeben osszemasolja oket egy mezore.
Kivonas hasonlokep. - Szorzas:
++++>[-] feltolt egy mezot es nullaz egyet <[>+++<-] ertelemszeruen ez 3 * 4 volt. - Osztas:
++++++++>[-] mint eddig <[>+<--] ertelemszeruen ez a 8 / 2 volt.
A komolyabbak a kovetkezo cikkben varhatoak, ZH idoszakban faradtabb vagyok en ennel. Gondolok itt: hatvanyok, oszthatosag, oszto kereses.
Logika:
- Ciklus: Mi sem egyszerubb, bar errol mar biztos hallotatok. [] jelek nyitnak es zarnak. Addig meg a ciklus, amig a vizsgalatkor (elolvizsgalas) levo mezo nullara nem csopken. Ebbol lett az elvalasztas
- Elvalasztas: Lenyegeben egy ciklus, amibe ha belep, akkor a vegen nullaza a feltetelt, vagyis mindenkep kilep. A feltetel: Indulo mezo nem-e nulla?
[muvelet[-]]Egy pelda:++>+[<[-]>>++<[-]] - ifelse: lerakunk egy flaget. ha igaz a feltetel a flagat toroljuk. Ha nem akkor erre csinalunk egy elvalasztast.
flag+>vizsgalat[then[-]<[-]>]<[else>[-]<[-]>]Szoveg:
- A nyomtathato ASCII karakterek 32-126ig talalhatoak, tehat a memoria blokkba ennek a kodjat kell beirni, majd . parancsal kiiratni. Beolvasni ugyan ezen az elven lehet ,-vel. Lassunk egy peldat: A beirt karaktert visszairja.
- Pelda: Visszairogat, # jellre kilep majd elkoszon. Ronda de egyszeru. Amugy lehetne rondabb is. :D
+[,.---------------------------------
--]++++++++++[>++++++++++<-]>[>+>+>+<
<<-]>--.+++++++++++++++++++++++.>+.
Jo szorakozast!
v1.0b
lazly.hu 2007-2009 | Minden jog fenntartva | Impresszum