499
pakeitimai
Pipedija - tautosaka, gandai, kliedesiai ir jokios tiesos! Durniausia wiki enciklopedija durnapedija!
(Atšaukta atgal į versiją su veikiančia nuoroda, kad nebūtų neveikiančios nuorodos) Žyma: Manual revert |
|||
(nerodoma 16 tarpinių versijų, sukurtų 2 naudotojų) | |||
1 eilutė: | 1 eilutė: | ||
[[Vaizdas:Programavimas_dibilu_kalba.jpg|400px|thumb|right|DABAR DARAI TAIP, PAS MANE YRA KANTUPERIS KURIS YRA DIBILAS...]] | |||
'''Dibilų kalba''', '''dibilkalbė''' arba '''dibilangas''' (iš santrumpos nuo ''dibil-language'') - moderni ir puiki [[programavimo kalba]], priskiriama prie ezoterinių, nes normaliems žmonėms nelabai suprantama. Pagal kilmę - lietuviška, siejama su [[dibilai|dibilais]], nes nuo šitų yra kilęs pats kalbos pavadinimas. | '''Dibilų kalba''', '''dibilkalbė''' arba '''dibilangas''' (iš santrumpos nuo ''dibil-language'') - moderni ir puiki [[programavimo kalba]], priskiriama prie ezoterinių, nes normaliems žmonėms nelabai suprantama. Pagal kilmę - lietuviška, siejama su [[dibilai|dibilais]], nes nuo šitų yra kilęs pats kalbos pavadinimas. | ||
Išties gi dibilų kalba buvo sukurta kaip bandymas įrodyti, kad net visiški idiotai gali būti ne mažiau logiški, negu [[kompiuteriai]], nes svarbu tiktai viską aiškiai jiems išaiškinti. Todėl dibilų kalba vienareikšmiai prieštarauja įvairių [[kalbainiai|kalbainių]] aiškinimams, esą [[lietuvių kalba]] nelogiška ir niekaip netinkama griežtoms ir vienareikšmėms konstrukcijoms rašyti. | Išties gi dibilų kalba buvo sukurta kaip bandymas įrodyti, kad net visiški idiotai gali būti ne mažiau logiški, negu [[kompiuteriai]], nes svarbu tiktai viską aiškiai jiems išaiškinti. Todėl dibilų kalba vienareikšmiai prieštarauja įvairių [[kalbainiai|kalbainių]] aiškinimams, esą [[lietuvių kalba]] nelogiška ir niekaip netinkama griežtoms ir vienareikšmėms konstrukcijoms rašyti. | ||
Dar pagal savo kilmę dibilų kalba siejama su tokia [[Lolcode]] - primityvia, bet pilnaverte programavimo kalba, imituojančia visokius [[lolketai|lolketus]], mat savo bukumu tie lolketai atitika tipiškus dibilus. Sintaksė tokia buka, kad šios kalbos tiesiog visiškai panašios. | Dar pagal savo kilmę dibilų kalba siejama su tokia [[Lolcode]] - primityvia, bet pilnaverte programavimo kalba, imituojančia visokius [[lolketai|lolketus]], mat savo bukumu tie lolketai atitika tipiškus dibilus. Sintaksė tokia buka, kad šios kalbos tiesiog visiškai panašios, tik kad lolketų kalba yra [[anglų kalba|angliška]], o dibilų kalba yra [[lietuvių kalba|lietuviška]]. | ||
Atskirai išskirtinės nuorodos būdu duodame jums išsyk nuorodą bandymams: [http://burgzt.brigin.lt/dibilai/ online dibilų kalbos interpretatorius]. | |||
== Dibilų kalbos gramatika == | |||
Šiuo metu, versijoje 1.0 dibilų kalba palaiko tiktai didžiąsias raides. Naudojama prefiksinė notacija (t.y., vadinamoji lenkiškoji), kur argumentai yra užrašomi po to, kai yra užrašomas operatorius, abu argumentus naudojantis. | |||
Savo esme kalba yra struktūrinė, savo pobūdžiu labiau primena [[Algol]] grupės kalbas. Reikalaujama kintamųjų deklaracijos ir tiesioginio priskyrimo. Tipizacijos griežtumas priklauso nuo transliatoriaus realizacijos. | |||
=== Bendra sintaksė === | |||
Bet kuri programa pradedama raktiniu žodžiu ''LABAS'', užbaigiama raktiniu žodžiu ''ATE''. Komentarai toje pačioje eilutėje rašomi, pradedant raktiniu žodžiu ''TA PRASME''. Daugiaeilučiai komentarai pradedami raktiniu žodžiu ''PEZALAI'' ir užbaigiami raktiniu žodžiu ''NESVARBU''. | |||
Sakiniai skiriami naujomis eilutėmis arba kableliais, jeigu prireikia kelis sakinius įrašyti vienoje eilutėje. | |||
Papildomos bibliotekos, jei tokių prireikia, įtraukiamos, naudojant raktinį žodį ''MAN REIKE'', pvz.: | |||
* MAN REIKE STDIO? | |||
Šiuo metu papildomų bibliotekų įtraukimas nėra realizuotas, todėl ignoruojamas. | |||
=== Duomenų įvedimas/išvedimas === | |||
Standartinis išvedimas realizuojamas per funkciją ''PARASAI''. Pvz.: | |||
* PARASAI KINTAMASIS | |||
* PARASAI "tekstas" | |||
Standartinis įvedimas realizuojamas per funkciją ''DUOK MAN'', kuriai perduodamas kintamasis, į kurį perkeliama įvesta reikšmė. Pvz.: | |||
* DUOK MAN KINTAMASIS | |||
=== Kintamųjų deklaravimas, operacijos ir priskyrimas === | |||
Deklaravimas vykdomas pagal raktinį žodį ''PAS MANE YRA'', kuriam perduodamas deklariojamo kintamojo pavadinimas. Pvz.: | |||
* PAS MANE YRA KINTAMASIS | |||
Reikšmės priskyrimas kintamąjam vykdomas pagal raktinį žodį ''DABAR YRA''. Pvz.: | |||
* KINTAMASIS DABAR YRA 5 | |||
Operacijos vykdomos, naudojant lenkiškąją (prefiksinę) notaciją. Vietoje skirtuko tarp parametrų naudojamas raktinis žodis ''IR''. Pvz.: | |||
* KINTAMASIS DABAR YRA SUMA IS 3 IR 4 | |||
=== Funkcijų deklaravimas === | |||
Funkcija deklaruojama, pradedant ją raktiniu žodžiu ''DABAR DARAI TAIP'' ir pabaigiant raktiniu žodžiu ''TAI VAT TAIP DARAI''. Rezultatas grąžinamas per operatorių ''RADAU YRA'': | |||
: DABAR DARAI TAIP ''PAVADINIMAS'' YRA ''PARAMETRAS'' | |||
: ''operacijos'' | |||
: RADAU YRA ''grazinamas rezultatas'' | |||
: TAI VAT TAIP DARAI | |||
=== Ciklai === | |||
Standartinis ciklas deklaruojamas per raktinį žodį ''DABA GERAI PRASISUKSIM RATUKU''. Išėjimas iš ciklo - per operatorių ''JEIGU sąlyga EIKNX'' (break), ciklo pabaiga - per raktinį žodį ''VISKAS'': | |||
: DABA GERAI PRASISUKSIM RATUKU | |||
: operacijos | |||
: JEIGU sąlyga, EIKNX, VISKAS | |||
: VISKAS | |||
=== Sąlyginiai sakiniai === | |||
==== Jeigu (If/Else) sakiniai ==== | |||
Standartinis sąlyginis sakinys vykdomas per operatorių ''AR TIKRAI?''. Sąlyga tenkinanti vykdymo šaka vykdoma per ''TAIP TIKRAI'' (if), alternatyvinė sąlyga (else if) - per ''TADA JEIGU'', bendra alternatyva per ''NU TADA'' (else). Užbaigiama raktiniu žodžiu ''BAIGES VARIANTAI'': | |||
: ATRODO KAD ''sąlyga'', AR TIKRAI? | |||
: TAIP TIKRAI | |||
: ''operacijos'' | |||
: TADA JEIGU ATRODO KAD ''sąlyga2'' | |||
: ''operacijos'' | |||
: NU TADA | |||
: ''operacijos'' | |||
: BAIGES VARIANTAI | |||
==== Variantinis sakinys (case operatoriai) ==== | |||
Standartinis variantinis sakinys pradedamas per raktinį žodį ''VARIANTAI?'', patys variantai nagrinėjami per raktinį žodį ''GAVOSI'', kuris suveikia atitikties atveju. Išėjimas vykdomas per raktinį žodį ''EIKNX'', alternatyvinis variantas, vykdomas nesuradus atitikties - ''NESIGAVO'', užbaigiama raktiniu žodžiu ''VISKAS'': | |||
: KINTAMASIS, VARIANTAI? | |||
: GAVOSI ''patikrinimas'' | |||
: ''operacijos'' | |||
: GAVOSI ''patikrinimas'' | |||
: ''operacijos'' | |||
: EIKNX | |||
: NESIGAVO | |||
: ''operacijos'' | |||
: VISKAS | |||
=== Operatorių sąrašas === | |||
==== Aritmetiniai operatoriai ==== | |||
* SUMA IS | |||
* SANDAUGA IS | |||
* DALYBA IS | |||
* SKIRTUMAS IS | |||
* LIEKANA IS | |||
==== Loginiai operatoriai ==== | |||
Binariniai operatoriai, naudojami su dviem operandais: | |||
* ABUDU IS - loginis IR | |||
* VIENAS IS - loginis IRBA | |||
Unariniai operatoriai, naudojami su vienu operandu: | |||
* NE - loginis NE, t.y., inversija | |||
==== Daugiaparametriniai operatoriai ==== | |||
Šie operatoriai išsiskiria tuo, kad jiems galima nurodyti daugiau kaip vieną arba du kintamuosius: | |||
* BET KURIS IS - loginis IRBA | |||
* VISI IS - loginis IR | |||
* SUKISAM - konkatenacija, naudojama tekstui ir kintamiesiems apjungti į bendrą tekstinį kintamąjį | |||
==== Kiti operatoriai ==== | |||
* ATRODO KAD - lygybė | |||
* SKIRIASI - nelygybė | |||
* DIDESNIS IS - palyginimas | |||
* MAZESNIS IS - palyginimas | |||
== Dibilų kalbos pavyzdžiai == | == Dibilų kalbos pavyzdžiai == | ||
15 eilutė: | 117 eilutė: | ||
ATE | ATE | ||
</code> | </code> | ||
=== Paprasta aritmetika === | === Paprasta aritmetika === | ||
74 eilutė: | 175 eilutė: | ||
ATE | ATE | ||
</code> | </code> | ||
=== Funkcijų deklaravimas === | === Funkcijų deklaravimas === | ||
91 eilutė: | 191 eilutė: | ||
RADAU YRA PADALINIMAS | RADAU YRA PADALINIMAS | ||
TAI VAT TAIP DARAI | TAI VAT TAIP DARAI | ||
TA PRASME dabar tas funkcijas panaudojam: | TA PRASME dabar tas funkcijas panaudojam: | ||
PAS MANE YRA NUMERELIS KURIS YRA SUDALINIMAS 20 10 | PAS MANE YRA NUMERELIS KURIS YRA SUDALINIMAS 20 10 | ||
97 eilutė: | 197 eilutė: | ||
NUMERELIS DABAR YRA SUDEJIMAS 20 10 | NUMERELIS DABAR YRA SUDEJIMAS 20 10 | ||
PARASAI NUMERELIS | PARASAI NUMERELIS | ||
ATE | |||
</code> | |||
=== Visokių operatorių naudojimas === | |||
<code> | |||
LABAS | |||
TA PRASME naudojam prefiksine (lenkiska) notacija, tai reik ziuret kaip skaicius delioji | |||
TA PRASME nes pirma operacija o tada jau operandai eina, panasiai kaip exelio fromulese | |||
TA PRASME (1*2) + (3/4) bus su tokia logika: suma(sandauga(1,2),dalyba(3,4)) | |||
PAS MANE YRA X | |||
X DABAR YRA SUMA IS SANDAUGA IS 1 IR 2 IR DALYBA IS 3 IR 4 | |||
PARASAI "X yra :{X}" | |||
TA PRASME yra dar operatoriai su neapibreztu kiekiu operandu, tai juos terminuojam su TAI TIEK: | |||
TA PRASME cionai taip idedam neapibreztini BET KURIS IS i binarini ABUDU IS tai gaunasi jau idomiai | |||
PARASAI ABUDU IS BET KURIS IS TEISYBE IR TEISYBE IR MELAS IR TEISYBE TAI TIEK IR TEISYBE | |||
TA PRASME galime padaryti ir funkcijas kurios irgi bus kaip operatoriai | |||
TA PRASME galesim funkcijas naudot vietoje operatoriu operandu: | |||
TA PRASME cionai jum funkcija kuri vadinasi XORINAM tai reiskia XOR irba ekskliuzinanti ARBA | |||
DABAR DARAI TAIP XORINAM YRA SKAICIUX1 IR SKAICIUX2 | |||
PAS MANE YRA X KURIS YRA NE ABUDU IS SKAICIUX1 IR SKAICIUX2 | |||
X DABAR YRA ABUDU IS X IR VIENAS IS SKAICIUX1 IR SKAICIUX2 | |||
RADAU YRA X | |||
TAI VAT TAIP DARAI | |||
TA PRASME komanda SUKISAM leidzia viska konkatenuoti i kruva, bet ka padaro tekstu | |||
PARASAI SUKISAM "XORINAM 1 IR 0 = " YRA XORINAM 1 IR 0 TAI TIEK | |||
TA PRASME cionai jau parasom sudetingai viska su funkcija ir operatoriais iskart | |||
TA PRASME cia taip suprast: suma(xorinam(suma(0,1), 0), 2) = 3 | |||
PARASAI SUMA IS XORINAM SUMA IS 0 IR 1 IR 0 IR 2 | |||
ATE | |||
</code> | |||
=== Case variantai === | |||
<code> | |||
LABAS | |||
TA PRASME cionai case panaudojimas paprastas bet interaktyvus | |||
PAS MANE YRA ALUS | |||
PARASAI "kox pas mane alus???" | |||
DUOK MAN ALUS | |||
ALUS, VARIANTAI? | |||
GAVOSI "Carlsberg" | |||
GAVOSI "carlsberg" | |||
PARASAI "zalia bonke - skonis kaip zoles" | |||
GAVOSI "Utenos" | |||
GAVOSI "utenos" | |||
GAVOSI "Svyturys" | |||
GAVOSI "svyturys" | |||
GAVOSI "Svyturio" | |||
GAVOSI "svyturio" | |||
PARASAI "pirk preke lietuviska" | |||
GAVOSI "sviesus" | |||
PARASAI "sviesus alus - kaip vanduo" | |||
EIKNX | |||
GAVOSI "Ginesas" | |||
GAVOSI "Guiness" | |||
GAVOSI "Guines" | |||
PARASAI "geras alus kaip sriuba" | |||
GAVOSI "grimbergen" | |||
GAVOSI "Grimbergen" | |||
PARASAI "nu tu cionai pasikeles kazkox" | |||
GAVOSI "Baltijos" | |||
GAVOSI "baltijos" | |||
GAVOSI "tamsus" | |||
PARASAI "tamsus alus - greit kepenis pragersi" | |||
EIKNX | |||
GAVOSI "zaibo" | |||
GAVOSI "kobra" | |||
GAVOSI "kobros" | |||
PARASAI "chroniau eik bonkiu rinkt" | |||
GAVOSI "degtine" | |||
PARASAI "tu alchasas tau jau niex nepades" | |||
EIKNX | |||
GAVOSI "vynas" | |||
PARASAI "tu gal kox UZKALNIS pasikeles labai" | |||
EIKNX | |||
NESIGAVO | |||
PARASAI "isvis tu ce geri kazkoki bruda" | |||
VISKAS | |||
PARASAI "alkoholi geri busi alchasas o paskui bomzas" | |||
ATE | |||
</code> | |||
=== Rekursija visame gražume === | |||
<code> | |||
LABAS | |||
TA PRASME tai yra klasikine programa rekursijai demonstruoti | |||
TA PRASME ji skaiciuja faktoriala kuris is saves paties tai gerai rodo navarotus | |||
TA PRASME pirma parasom rekursine funkcija: | |||
DABAR DARAI TAIP FAKTORIJOLAS SKAICIUX | |||
ATRODO KAD 0 YRA DIDESNIS IS SKAICIUX IR 0, AR TIKRAI? | |||
TAIP TIKRAI | |||
RADAU YRA 1 | |||
NU TADA | |||
RADAU YRA SANDAUGA IS SKAICIUX IR FAKTORIJOLAS SKIRTUMAS IS SKAICIUX IR 1 | |||
VISKAS | |||
TAI VAT TAIP DARAI | |||
PAS MANE YRA NUMERELIS | |||
DUOK MAN NUMERELIS | |||
TA PRASME reikia dar paverst i skaiciu nes bbz ka mum irase cionai tai konvertuojam tipus: | |||
NUMERELIS PAVERCIAM I NUMERIS | |||
TA PRASME dar reik patikrint ar neparase minusino skaiciaus nes nesamone bus jei maziau uz nuli | |||
ATRODO KAD 0 YRA DIDESNIS IS NUMERELIS IR 0, AR TIKRAI? | |||
TAIP TIKRAI | |||
NUMERELIS DABAR YRA 0 | |||
VISKAS | |||
NUMERELIS DABAR YRA FAKTORIJOLAS NUMERELIS | |||
PARASAI SUKISAM "Surastas faktorijolas jis yra " NUMERELIS | |||
ATE | ATE | ||
</code> | </code> | ||
[[Category:Programavimo kalbos]] | [[Category:Programavimo kalbos]] |
pakeitimai