| Spamer Melu. Były Super Moderator ![]() ![]() Postów: 9,399 Wrzutki w galerii: 349 Operator: Plus Mix Telefon: Nokia 5130 XM Rozdane podziękowania: 16
Podziękowano mu 90 razy
Respekt: 190 Reputacja: 152 Osoby zaproszone: 20 | DOWNLOAD:
Opcje midletu: uruchom z potwierdzaniem - wykonanie jednego kroku (jednej instrukcji Brainfuck) następny krok w menu lub klawiszem # kompiluj - utworzenie pliku .jar z wpisanego kodu otwórz i zapisz - odczyt i zapis listingów (np: file:///c:/other/bf/hello.bf) konwerter wpisanego znaku na jego kod binarny. Brainfuck jest to stworzony około 1993 roku język programowania o prostej skladni. Jego ojcem jest Urban Müller którego celem było stworzenie dla zabawy jezyka o możliwie małym kompilatorze zdolnego obsłużyć maszynę Turinga. Podczas swojej pracy inspirowal sie językiem False. Pierwszy kompilator Brainfucka napisany zostal na Amige i zajmowal jedynie 240bajtow. Nazwa tego jezyka wzięła sie ze stopnia trudności programowania w nim. Do napisania nawet prostej aplikacji trzeba sie czasem nieźle nagłowić o czym sie wkrótce przekonasz. [Srodowisko] Miejscem naszej pracy jest jednowymiarowa tablica majaca dlogosc 30 000 komorek. Kazda z tych komorek posiada rozmiar byte, czyli mozna ja wypelnic liczba z zakresu od 0 do 255. W przypadku przekroczenia ktorejs z tych wartosci poprostu wracamy na przeciwna strone. Czyli dodajac jeden do 255 otrzymujemy 0, lub odejmujac od 0 jeden uzyskujemy 255, to samo dzieje sie z numerami komorek. [Skladnia] W Brainfucku do dyspozycji mamy tylko 8 instrukcji. Kazda z nich reprezentowana jest przez jeden znak. Sa to: + zwiekszenie wartosci komorki o 1 - zmniejszenie wartosci komorki o 1 > przejscie do nastepnej komorki < przejscie do wczesniejszej komorki . wyswietlenie znaku , pobranie znaku [ rozpoczecie petli ] zamkniecie petli Sadze, ze pierwszych 4 instrukcji tlumaczyc nie trzeba. '.' powoduje wyswietlenie na ekranie znaku zgodnie z tablica ASCII. Wartosc komorki w ktorej sie znajdujemy okresla numer wyswietlonego znaku. ',' powoduje pobranie od uzytkownika wartosci w zaleznosci od wcisnietego klawisza i umieszczenie jej w komorce w ktorej sie obecnie znajdujemy. '[]' tworzy pelte. Instrukcje znajdujace sie pomiedzy nawiasami beda wykonywane do momentu w ktorym wartosc komorki w ktorej sie znajdujemy nie wyniesie 0. [Przyklady] Teraz czas na przeanalizowanie kilku prostych przykladow ktore pomoga ci lepiej zrozumiec opisane wczesniej rzeczy. '+[,.]' - ten krotki program bedzie wypisywal wcisniete przez ciebie znaki. + zwieksza wartosc komorki o 1 by mogla sie rozpoczac petla, w petli natomiast pobieramy z klawiatury znak ',' i wyswietlamy go '.'. Petla ta bedzie sie wykonywac w nieskonczonosc poniewaz nie jestesmy w stanie wcisnac znaku o numerze 0 by zakonczyc petle. ',>,<[>+<-]>.' - ten kod natomiast zsumuje dwie podane przez ciebie wartosci. ',>,<' pobiera od ciebie dwie wartosci umieszczjac je w sasiadujacych komorkach i wraca do komorki poczatkowej. '[>+<-]' przejdzie do drugiej komorki, doda do niej jeden, cofnie sie do poczatkowej i odejmie z niej jeden. Bedzie sie wykonywac dopuki wszystkie wartosci z komorki pierwszej nie znajda sie w komorce drugiej. '>.' przejdzie do komorki w ktorej znajduje sie nasza suma i wyswietli ja. '++++++[>++++++++++++<-]>.<++++++[>+++++<-]>-.+++++++..+++.' to ostatni przyklad ktory wypisze na ekranie 'Hello'. '++++++[>++++++++++++<-]' jest prostym mnozeniem w petli, do drugiej komorki dodana zostanie 6 razy wartosc 12. Spowoduje to ustawienie w drugiej komorce wartosci 72 co odpowiada znakowi 'H'. Po wyswietleniu go '>.<' wroci do pierwszej komorki by '++++++[>+++++<-]' wykonal kolejne mnozenie. Jako ze nie da sie nim dojsc do pozadanej wartosci musimy przed wyswietleniem odjac jeden '>-.'. W ten sposob uzyskujemy litere 'e'. Ten kod natomiast '+++++++..+++.' zwieksza wartosc komorki do litery 'l', wyswietla ja dwa razy oraz przechodzi do 'o' rowniez je wyswietlajac. Art. Faszczu
| ||||||
| | |
| Oddana EB :) Aktywność: 100%
Postów: 697 Osoby zaproszone: 35 Respekt: 20 Reputacja: 100 | Brainfuck PL
__________________ Zostań Moderatorem EB && Linker i konta RS && System aktywności && System reputacji |
| | |
![]() ![]() |
| Goście Naszego forum odnaleźli temat przez poniższe frazy: |
| brainfuck java, brainfuck kompilator, brainfuck przykłady, aplikacje java przykłady, brainfuck litery, brainfuck na telefon, brainfuckpl.jar, brainfuck telefon, |
| Narzędzia wątku | |
| Wygląd | |
| |
| Kontakt - Polityka prywatności | Nawigacja |