| OldComp.cz https://oldcomp.cz/ |
|
| DIDAKTIKový BASIC https://oldcomp.cz/viewtopic.php?f=40&t=2409 |
Stránka 3 z 3 |
| Autor: | zz_indigo [ 04.03.2015, 23:30 ] |
| Předmět příspěvku: | Re: DIDAKTIKový BASIC |
faron: zdrojak mam stiahnuty davno. Len sa mi neche. |
|
| Autor: | faraon [ 14.03.2015, 10:27 ] |
| Předmět příspěvku: | Re: DIDAKTIKový BASIC |
Jo, mě se také nechtělo, ale dneska jsem si to dal na probuzení Tak se dobře bav, je to soubor scripts/slovnik.js: Kód: /*
* [Česky] * Projekt: Robot Karel * Copyright: Viz KOPIROVANI v kořenovém adresáři projektu * * [English] * Project: Karel, the Robot * Copyright: See COPYING in the top level directory */ // JavaScript - slovník // =========================================================================== // =~ Globální proměnné ~===================================================== // Příkazy // // Každý příkaz má následující vlastnosti: // // jmeno jméno příkazu // systemovy true, pokud se jedná o systémový příkaz // zobrazit true, pokud má být příkaz zobrazen // ignoruj true, pokud příkaz neprovádí žádnou činnost // hlavicka true, pokud se příkaz může vyskytovat v hlavičce (před // názvem příkazu) // telo pole jednotlivých řádek. Jedna řádka příkazu je pole dvou // hodnot - příkazu a parametrů // syntaxe true, pokud příkaz vyžaduje kontrolu syntaxe (všechny // příkazy, které neprovádí žádnou činnost) // tooltip text nápovědy (není povinné) // spust vykonání příkazu, provádí i kontrolu syntaxe (když je // atribut syntaxe nastaven na true) // formatovac formátování příkazu. Pokud chybí, použije se obecný // formátovač // rozpoznavac rozpoznání příkazu. Pokud chybí, použije se obecný // rozpoznávač // ukladac ukládání příkazu. Pokud chybí, použije se obecní funkce // ukládání // kompatibilita verze, které příkaz znají // verze_ulozeni verze, ve kterých se příkaz ukládá. Pokud se v dané verzi // neukládá, je zobrazeno varování. Pokud se má uložit, ale // příkaz není s verzí kompatibilní, je zobrazena chyba. Pokud // se má uložit a je s verzí kompatibilní, pak se ukládá // prikaz true, pokud se jedná o příkaz. Pouze pro systémové příkazy // a to jen pro zobrazení v chybové hlášce // // Navíc existuje pro každý příkaz prikazy.prikaz["PŘÍKAZ"] // prikazy.seznam = new Array( { jmeno: "prázdná řádka", systemovy: true, zobrazit: false, ignoruj: true, hlavicka: true, rozpoznavac: prikazy.rozpoznavac.prazdna_radka, formatovac: prikazy.formatovac.prazdna_radka, kompatibilita: prikazy.min_VERZE_20, verze_ulozeni: prikazy.min_VERZE_20 }, { jmeno: "komentář", systemovy: true, zobrazit: false, ignoruj: true, hlavicka: true, rozpoznavac: prikazy.rozpoznavac.komentar, formatovac: prikazy.formatovac.komentar, ukladac: data.ukladani.uloz_komentar, nacitac: data.nacitani.nacti_komentar, kompatibilita: prikazy.min_VERZE_20, verze_ulozeni: prikazy.min_VERZE_20 }, { jmeno: "název příkazu", systemovy: true, zobrazit: false, ignoruj: true, hlavicka: true, rozpoznavac: prikazy.rozpoznavac.nazev, formatovac: prikazy.formatovac.nazev, ukladac: data.ukladani.uloz_nazev, nacitac: data.nacitani.nacti_nazev, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_20 }, { jmeno: "prázdná řádka", systemovy: true, zobrazit: false, ignoruj: true, rozpoznavac: prikazy.rozpoznavac.prazdna_radka, formatovac: prikazy.formatovac.prazdna_radka, kompatibilita: prikazy.min_VERZE_20, verze_ulozeni: prikazy.min_VERZE_20 }, { jmeno: "komentář", systemovy: true, zobrazit: false, ignoruj: true, rozpoznavac: prikazy.rozpoznavac.komentar, formatovac: prikazy.formatovac.komentar, ukladac: data.ukladani.uloz_komentar, nacitac: data.nacitani.nacti_komentar, kompatibilita: prikazy.min_VERZE_20, verze_ulozeni: prikazy.min_VERZE_20 }, { jmeno: "KONEC, JINAK", systemovy: true, zobrazit: false, spust: prikazy.jadro.KONEC_JINAK, syntaxe: true, formatovac: prikazy.formatovac.konec, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "KONEC", systemovy: true, zobrazit: false, spust: prikazy.jadro.KONEC, syntaxe: true, formatovac: prikazy.formatovac.konec, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "KDYZ", systemovy: true, zobrazit: false, spust: prikazy.jadro.KDYZ, syntaxe: true, rozpoznavac: prikazy.rozpoznavac.podminka, formatovac: prikazy.formatovac.podminka, nacitac: data.nacitani.nacti_podminku, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "DOKUD", systemovy: true, zobrazit: false, spust: prikazy.jadro.DOKUD, syntaxe: true, rozpoznavac: prikazy.rozpoznavac.podminka, formatovac: prikazy.formatovac.podminka, nacitac: data.nacitani.nacti_podminku, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "OPAKUJ", systemovy: true, zobrazit: false, spust: prikazy.jadro.OPAKUJ, syntaxe: true, rozpoznavac: prikazy.rozpoznavac.cyklus, formatovac: prikazy.formatovac.cyklus, ukladac: data.ukladani.uloz_OPAKUJ, nacitac: data.nacitani.nacti_OPAKUJ, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "AZ", systemovy: true, zobrazit: false, spust: prikazy.jadro.AZ, syntaxe: true, rozpoznavac: prikazy.rozpoznavac.podminka, formatovac: prikazy.formatovac.podminka, nacitac: data.nacitani.nacti_podminku, kompatibilita: prikazy.min_VERZE_11, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "RYCHLE", systemovy: true, zobrazit: false, spust: prikazy.jadro.RYCHLE, syntaxe: true, formatovac: prikazy.formatovac.odsazeni, kompatibilita: prikazy.min_VERZE_12, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "POMALU", systemovy: true, zobrazit: false, spust: prikazy.jadro.POMALU, syntaxe: true, formatovac: prikazy.formatovac.predsazeni, kompatibilita: prikazy.min_VERZE_12, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "STOP", systemovy: true, zobrazit: false, spust: prikazy.jadro.STOP, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true }, { jmeno: "KROK", systemovy: true, zobrazit: true, spust: prikazy.jadro.KROK, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true, tooltip: "Posune Karla o jedno políčko dopředu" }, { jmeno: "VLEVO-VBOK", systemovy: true, zobrazit: true, spust: prikazy.jadro.VLEVO_VBOK, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true, tooltip: "Otočí Karla jednou vlevo" }, { jmeno: "POLOZ", systemovy: true, zobrazit: true, spust: prikazy.jadro.POLOZ, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true, tooltip: "Karel položí jednu značku, pokud je na políčku místo" }, { jmeno: "ZVEDNI", systemovy: true, zobrazit: true, spust: prikazy.jadro.ZVEDNI, kompatibilita: prikazy.min_VERZE_10, verze_ulozeni: prikazy.min_VERZE_10, prikaz: true, tooltip: "Karel zvedne jednu značku, pokud na políčku nějaká je" } ); // Příkazy přístupné podle jména prikazy.prikaz = new Object(); // Textové řetězce spojené s příkazy prikazy.JE = "JE"; prikazy.NENI = "NENI"; prikazy.KRAT = "KRAT"; prikazy.KRAT_text = escape(prikazy.KRAT); prikazy._KRAT = "-" + prikazy.KRAT; prikazy.podminky = [ { jmeno: "ZED", test: mesto.JE_ZED }, { jmeno: "ZNACKA", test: mesto.JE_ZNACKA }, { jmeno: "DOMOV", test: mesto.JE_DOMOV }, { jmeno: "VYCHOD", test: mesto.JE_VYCHOD }, { jmeno: "SEVER", test: mesto.JE_SEVER }, { jmeno: "ZAPAD", test: mesto.JE_ZAPAD }, { jmeno: "JIH", test: mesto.JE_JIH } ]; // =========================================================================== // =~ Základní nastavení ~==================================================== for ( var i = 0; i < prikazy.seznam.length; i++ ) { var prikaz = prikazy.seznam[i]; if (! (prikaz.jmeno in prikazy.prikaz)) { prikazy.prikaz[prikaz.jmeno] = prikaz; } } // =========================================================================== // =~ Příkazové konstanty ~=================================================== prikazy.HLAVICKA_KOMENTAR = prikazy.prikaz["komentář"]; prikazy.HLAVICKA_PRAZDNA_RADKA = prikazy.prikaz["prázdná řádka"]; prikazy.NAZEV = prikazy.prikaz["název příkazu"]; prikazy.KONEC_JINAK = prikazy.prikaz["KONEC, JINAK"]; prikazy.KONEC = prikazy.prikaz["KONEC"]; prikazy.KDYZ = prikazy.prikaz["KDYZ"]; prikazy.DOKUD = prikazy.prikaz["DOKUD"]; prikazy.OPAKUJ = prikazy.prikaz["OPAKUJ"]; prikazy.AZ = prikazy.prikaz["AZ"]; prikazy.RYCHLE = prikazy.prikaz["RYCHLE"]; prikazy.POMALU = prikazy.prikaz["POMALU"]; prikazy.STOP = prikazy.prikaz["STOP"]; prikazy.KROK = prikazy.prikaz["KROK"]; prikazy.VLEVO_VBOK = prikazy.prikaz["VLEVO_VBOK"]; prikazy.POLOZ = prikazy.prikaz["POLOZ"]; prikazy.ZVEDNI = prikazy.prikaz["ZVEDNI"]; |
|
| Autor: | iwosh [ 27.10.2015, 22:00 ] |
| Předmět příspěvku: | Re: DIDAKTIKový BASIC |
Rosta_Kolmix píše: Ale na základě jeho další touhy po poznání vyvstalo pár DALŠÍCH OTÁZEK PRO VÁS: 1) Jak se při ukládání programu na kazetu dělalo, aby se po nahrátí z kazety program rovnou spustil? 2) Za IF a THEN se dá napsat více podmíněných příkazů i na více řádků, nebo musí být vše za IFem jen odděleno dvojtečkami? 3) Jak se dělalo u PRINTu, aby se další zobrazovaný text psal ještě na tentýž řádek a ne na další? 4) Zrovnatak si pamatuju, že se dalo nějakým "lomítkem" zalamovat řádek přímo v textu pro vypsání za PRINTem 5) Jak se v INKEYSu testuje klávesa ENTER? 1) Kód: SAVE "nazov_suboru" LINE cislo_riadku 2) Za IF sa da zadat niekolko podmienok s pouzitim operatorov AND, OR. Za THEN mozno zadat viac prikazov oddelenych dvojbodkou ktore budu vykonane ak su splnene podmienky v IF: Kód: 10 LET a=10: LET a$="desat" 20 IF a=10 AND a$="desat" THEN PRINT a,h$: STOP: REM ak su splnene obidve podmienky vypise obsah premennych a zastavi program 10 LET a$=INKEY$ 20 IF a$="K" OR a$="k" THEN PRINT "bola stlacena klavesa K": STOP: REM ak je splnena aspon jedna podmienka vypise sa text a program sa zastavi 30 GO TO 10 3) Kód: PRINT "Tento";"Text";"Je";"Spojeny";FLASH 1;" a tento blika" 4) Kód: PRINT "Text od zaciatku riadku"'"Dalsi text na novom riadku": REM apostrof (SymbShift+7) medzi uvodzovkami Bonus: Kód: PRINT "Stlpec Vlavo","Stlpec Vpravo",1,2,1,2 5) Kód: IF INKEY$=CHR$ 13 THEN prikaz
IF CODE INKEY$=13 THEN prikaz |
|
| Autor: | Busy [ 28.10.2015, 11:40 ] |
| Předmět příspěvku: | Re: DIDAKTIKový BASIC |
iwosh píše: Rosta_Kolmix píše: 3) Jak se dělalo u PRINTu, aby se další zobrazovaný text psal ještě na tentýž řádek a ne na další? 3)Kód: PRINT "Tento";"Text";"Je";"Spojeny";FLASH 1;" a tento blika" Kód: 10 PRINT "Hello "; 20 PRINT "world!" faraon píše: ... mohl bys mu ještě ukázat nejjednodušší spectráckou kalkulačku, která umí počítat i velmi složité výrazy s funkcemi a závorkami, dokonce včetně proměnných zadaných předem (ale s nimi se musí spustit pomocí GOTO 10, protože RUN je vymaže): Tip na este jednoduchsiu kalkulacku:Kód: 10 INPUT t$ 20 PRINT VAL t$ Kód: INPUT a;#2;(a) |
|
| Stránka 3 z 3 | Všechny časy jsou v UTC + 1 hodina [ Letní čas ] |
| Powered by phpBB® Forum Software © phpBB Group http://www.phpbb.com/ |
|