Navigátorposledních 10 z diskuze |
Basic v2.0 - průvodce mrtvým jazykem , díl 1 - ÁntréNemyslím si, že jsem pánbůh, ale dokážu si tipnout reakce některých z vás po přečtení tohoto prvního dílu výukové lekce Basic v2.0. Zde jsou některé předpokládáné reakce.
10. PCH se zbláznil .. a konečně definitivně! Tak .. a to bychom měli první program. Ale teď beze srandy.
K tomuto polozoufalému kroku mě vedla jedna věc a to ta, že se na mě začalo obracet mnoho známých a kamarádů s jednoduchou, ale zároveň zatraceně komplikovanou prosbou:
" Můj malý má 10 let a strašně rád by začal programovat ... Nevíš v čem by měl začít ??". Popravdě .. Nevěděl jsem a začali jsme hledat na webu jazyk, který by byl opravdu pro
začátek vhodný. Našli jsme a nainstalovali hromadu odporných graficky zhůvěřilých pseudodětských paskvilů tářících se jako supermegatotal nástroj pro rozvoj dětského analytického myšlení. Každopádně lhát se dětem nemá a tvrdit jim, že programování se dělá pomocí myši, usmívání se na webovou kameru či jiným výrazovým prostředkem je dle mě volovina. Proto jsem se rozhodl, že tyto další a další lekce napíšu pro ty, kteří mají právě těch 10 let a nebudou poslouchat řeči chytrých lidí mluvící o spásných jazycích typu C, C++, JAVA, PYTHON, PHP, RUBY, (KAREL), ... a milióny dalších jazyků, které stejně vychází z logiky těch nejstarších. A právě jednoduchost učení se principů je dle mě základ k tomu, aby se člověk v deseti naučil psát logiku v Basicu a v patnácti ať si napíše svůj první program třeba v programovacím jazyku "Single Four". A vězte, že tento text bude psán tak, aby jej pochopili právě tihle desetiletí lidé a ne vy, kteří se chvástáte, že je vám čtyřicet a všechno je špatně, protože vy tomu rozumíte právě ze všech nejlépe :) Proto půjdeme hezky postupně a budeme si ukazovat všehny možné vychytávky včetně pekelných problémů, které Basic v2.0 přináší. A začneme hezky popořádku:
Lekce 0 - Úvod do ovládání BASICu
Po zapnutí se počítač respektive BASIC ohlásí nápisem READY. a blikající kurzor nám oznamuje že je připraven na příjímání příkazů.
Příkazy se píšou samotné a nebo s nějakými parametry. Je-li jich více tak s nějkými oddělovači jako třeba čárkou nebo středníkem (menší odsazení než čárka). Destinná čárka je v počítačích zapisována jako tečka, protože čárka odděluje jednotlivé výrazy například 3.1415265 . Dvojtečkou jsou odděleny příkazy od sebe napsané v jednom řádku. Uvozovky označují nějaký textový řetězec a to co je uvnitř počítač ignoruje i když by to byl třeba příkaz. Proměnná A to je vlastně taková "krabička" do které si schováme nějakou informaci (číslo) se kterou budeme dále pracovat. Jestli si chceme uschovat nějaký text, tak proměnná už musí být jiného typu a to string A$ . Zadávání takového textu musí být v uvozovkách, jinak by počítač nevěděl kde text začíná a končí. Aby počítač věděl co po něm vlastně chceme musíme nadefinovat proměnné a to dříve než s nimi budeme pracovat, protože jinak by chudák netušil co po něm vlastně chceme např. LET A=15Přiřadí proměnné A číslo 15
U C64 mohou být proměnné maximálně dvou-písmenné AA nebo AB, AC, ZZ, R1 až R9 atd. a není potřeba zadávat příkaz LET. Některé proměnné už zná po zapnutí jako třeba π , TI nebo TI$.
Představme si tedy pár základních příkazů, které nejspíše už stejně všichni známe, tak jdeme na to.
LOAD- nahrávání (stažení) programu do počítače z externího úložiště (1-kazeťák; 8-první disketovka 9-druhá disketovka atd...)
SAVE- uložení programu z paměti počítače na externí záznamové zažízení (opak LOAD)
RUN- spuštění námi napsaného programu (je možné spustit program od určitého místa třeba RUN500)
LIST- bez parametrů vypíše celý program uložený v paměti na obrazovku po zaplnění jí posouvá nahoru
Čísla řádků, k čemu jsou ? Lekce 1 - příkaz PRINT a číslaV matematice pro druhé či třetí třídy se učí počítat takto :
2 + 1 = ??Pokud máte tento příklad spočítat, zamyslíte se a výsledek zapíšete místo ??. ( nápověda : je to 3) V programování lze zapsat tento příklad různými způsoby například :
PRINT 2 + 1 ![]() To znamená, příkaz PRINT vypíše výsledek. Nebo můžeme zapsat program daleko lépe pomocí proměnné. Proměnná je jen slovo, které zastupuje číslo. My pak nepočítáme s čísly 2 a 1 , ale například s pismeny A a B. Jak ? Tak!
10 A = 2 20 B = 1 30 PRINT A + BA pokud potřebujeme výsledek uchovat pro další práci, můžeme i výsledek vložit ne jen na obrazovku, ale uchovat si jej do proměnné. Například do proměnné nazvané "C" 10 A = 2 20 B = 1 30 C = A + B 40 PRINT CVysvětlení 10 A = 2 ...... V proměnné A je hodnota 2 20 B = 1 ...... V proměnné B je hodnota 1 30 C = A + B .. Do proměnné C se uloží výsledek 2 + 1, takže 3 40 PRINT C .... Výsledek (3) se vytiskne na obrazovkuS čísly můžeme dělat psí kusy. Můžeme jej sčítat, odčítat, násobit a dělit a kdovícoještě. Složitější příklad nám například spočítá obsah obdélníku a třeba i jeho obvod: 10 A = 5 20 B = 7 30 C = A * B 40 D = 2 * (A + B) 50 PRINT "OBSAH OBDELNIKU JE :";C;"M2" 60 PRINT "OBVOD OBDELNIKU JE :";D;"METRU"Výsledek ![]()
Příkaz print zde vypisuje nejen výsledky , ale v uvozovkách i texty, které potřebujeme k tomu, abychom vytiskli i informace o výsledku.
A protože lze na jednom řádku vypisovat texty i čísla, jednotlivé texty či čísla se oddělují středníkem. Lekce 1 - příkaz PRINT a textyKdyž čísla mají své proměnné, které se označují například znakem A až Z, tak i texty mohou mít své proměnné. V Basicu se proměnná pro text označuje se znakem dolar (někde uváděné jako string), například A$.A$ = "AHOJ" B$ = "KARLE"A protože bychom rádi vypsali na obrazovku větu "Ahoj Karle", napíšeme si proto krátký program: 10 A$ = "AHOJ" 20 B$ = "KARLE" 30 C$ = A$ + B$ 40 PRINT C$Jenže tento program nám vypíše výsledek "AHOJKARLE" bez mezery mezi slovy, tak si mezeru jednoduše přidáme 10 A$ = "AHOJ" 20 B$ = "KARLE" 30 C$ = A$ + " "+ B$ 40 PRINT C$Ve škole se učí že 3 + 5 je stejné jako 5 + 3, ale v počítači na pořadí záleží takže program nám vypíše "KARLE AHOJ" 10 A$ = "AHOJ" 20 B$ = "KARLE" 30 C$ = B$ + " "+ A$ 40 PRINT C$ Běžné chyby a omyly10 A = "AHOJ" 20 PRINT ADo proměnné A se ukládají jen čísla a ne text. Program skončí chybou ?TYPE MISATCH ERROR 10 A$ = "3" 20 B$ = "5" 30 C$ = A$ + B$ 40 PRINT C$ ![]() 10 A$ = "KAREL" 20 B = 5 30 C$ = A$ + B 40 PRINT C$Nelze jen tak sčítat či spojovat různé proměnné jako je text (KAREL) a číslo (5). Proměnné lze změnit z čísla na hodnotu a naopak, o tom ale někdy později. A protože počítání a psaní na obrazovku je základ, budeme tyto věci opakovat neustále a neustále a neustále a neust... Domácí úkoly1. Vypis na obrazovku "UCIME SE BASIC V2.0 NA". Tento text podtrhněte hvězdičkami a pod hvězdičky napište přesně na prostředek následující vzkaz : "COMMODORE 64" a podtrhněte znovu hvězdičkami.Výsledek by měl vypadat takto : UCIME SE BASIC V2.0 NA ********************** COMMODORE 64 **********************Loučíme se s vámi a příště ... příště to rozjedeme ! PCH & Sillicon / Unreal 2017 Nový příspěvek k článku
10.04.2017 - ray
Je to pouziti ciste basic/kernal rutin. Navic v zadani nebylo, ze by se to melo napsat v BASICu :) A nula bodu ? To teda ne, ja si pujdu stezovat na socialku, neni to gender neutralni pristup ! :P 09.04.2017 - Sillicon
No jak vidím není BASIC jako basic... pro někoho je basic assembler... ale o tom tato lekce není ... a ještě takhle nacheatovat odpověď :-) 09.04.2017 - PCH
Za font 1, technicke provedeni 1, uprava 0. Kdyz to vsechno zanduju, vysledna znamka 0! :) 07.04.2017 - ray
Doufam, ze dostanu dobrrou znamku :) Tak se ukaz, betmene :D
03.04.2017 - PCH
Ha háá, ale pokud ti jde o každý bajt tak příkaz PRINT "SRDICKO" zabira 9 Bajtu a prikaz PRINT CHR$(147) bajtů 15 !! :) 03.04.2017 - Comos
Tohle je řešení podle originální commodore příručky a tam nikdy nelžou :) 02.04.2017 - PCH
Comosi, ty lišáku :) 02.04.2017 - Comos
anebo print chr$(147) 02.04.2017 - PCH
10 PRINT "{shift+home}" 30.03.2017 - wankes
Asi bych doplnil (a školákům zvlášť), že užitečnost BASICu ocení během školní docházky nejen v matematice, ale celkově u technických předmětů = malý prográmek jim časem umožní (kontrolovat, nepodvádět) otravné úkoly jako kvadratické rovnice, výpočty do fyziky, elektrotechniky apod. Snadno si naprogramují kostku 1 až 6,ale taky dvacetistěn z Dračího doupěte apod. (mimochodem, má BASIC 2.0 příkaz CLS, nebo se to tam řeší jinak, nějak si nevzpomínám už. 30.03.2017 - Comos
Jestli myslíte robota Karla,tak ten existuje :) 29.03.2017 - PCH
Karle ne ... Opravdu ne .. :) 26.03.2017 - Solaris104
Existuje ten zmiňovaný Karel i pro C64? 24.03.2017 - PCH
Tak spíš doplňuj :) ... třeba na něco zapomenem ... nebo přijdem :) 23.03.2017 - Comos
tvl tady bych ještě mohl excelovat :) 23.03.2017 - PCH
:) Vidím, že Basic táhne :) Pokud mi síly dovolí, budeme si hrát s basicem do absurdna .. a možná budete překvapeni .. protože já jsem s Basicu překvapen každou chvíli :) 23.03.2017 - F6
Domácí úkol: 23.03.2017 - F6
Pěkné, sice nevím, kam to rozjedete, protože veškeré snažení o něco kloudného na C64 v BASICu stejně končí u příkazu POKE, ale nechám se překvapit ;) |
Poslední recenzereakce na článkyTOP 10 HRY
|