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 + 1V počítači Commodore 64 se po napsání příkazu RUN a zmáčknutí klávesy RETURN na obrazovce vypíše výsledek tohoto příkladu. 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$Program s proměnnými nepočítá jako s čísly, ale jako s textem a když spojíte 3 a 5 vznikne 35 a ne hodnota 8!! 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
|