Kirjautuminen

Haku

Tehtävät

Keskustelu: Ohjelmointikysymykset: Brainfuck: Brainfuck

unto [08.05.2008 16:21:28]

#

Onko Brainfuckissa mahdollista tehdä iffiä? Yritän laskinta tehdä mutta en tiedä mitä pitäisi tehdä jos arvo menee yli ascii 57 (chr 9).

Tälläinen minulla on tähän mennessä:

++++++++
>+++
>++
<
[->+<]
<
[>>++++++<<-]
>>
.

Eli laskee muistipaikat 1 ja 2 yhteen ja tuohan tosiaan toimii jos niiden arvo ei ole yhteensä yli 9. Onko siis mahdollista tehdä tätä ja jos ei ole niin onko mitään muuta erittäin simppeliä kieltä, jolla sen voisi tehdä?

User137 [08.05.2008 19:52:26]

#

Eli "onko olemassa simppeliä ohjelmointikieltä jolla voi tehdä if:n"? En tainnut ymmärtää kysymystä, sillä vastaus olisi melkein kaikki maailman ohjelmointikielet...

unto [08.05.2008 20:52:08]

#

Voiko bf:llä?

Newb [08.05.2008 21:33:08]

#

https://www.ohjelmointiputka.net/oppaat/opas.php?tunnus=brainfuck
Auttaiskohan toi..

Antti Laaksonen [09.05.2008 18:51:56]

#

Ainakin joidenkin Internet-sivujen mukaan on todistettu, että BF pystyy kaikkeen samaan kuin muutkin ohjelmointikielet. Eli jos jonkin ohjelman voi tehdä esim. C:llä, sen voi tehdä myös BF:llä.

Tämän perusteella voi siis tehdä ohjelman, joka ilmoittaa kahden luvun summan oikein, vaikka vastaus olisi moninumeroinen. En kyllä tiedä, kuinka tämä käytännössä tapahtuu, koska BF on minulle tuntematon kieli.

Jackal von ÖRF [10.05.2008 11:32:19]

#

BF on melkein kuin ohjelmoisi Turingin koneella (Turingin kone on vielä vähän rajoittuneempi), joten kovin helppoa sillä ei ole tehdä mitään. Kieltä osaamattomana näyttäisi, että [ ja ] -operaattoreilla voisi tehdä if-lauseita (sama kuin while-lause, joka toistetaan 0 tai 1 kertaa).

Päärynämies [11.05.2008 20:10:22]

#

Eiköhän tuolla Brainfuckilla if onnistu, sillä tuohon [ -komentoon liittyy eräänlainen if -ehto (jos luku on nolla). Katsoppa wikipedian artikkelista (http://en.wikipedia.org/wiki/Brainfuck) kohta Conditional loop statements. Siinä on koodia, joka voi auttaa.

Vastaus

Aihe on jo aika vanha, joten et voi enää vastata siihen.

Tietoa sivustosta