Brainfuck 2

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