Táto séria kešiek Vás postupne prevedie programovacím prostredím od bežného PC možno až po techniky a jazyk využívaný pri kódovaní (ako progravovanie nazývame) mikročipov, displejov a možno aj robotov.

Programovanie je moje hobby so začiatkami v 1984 roku. V tom čase som začínal základnú školu a moje prvé pokusy v programovaní boli v jazyku Basic na počítači mojho otca - Sinclair ZXSpectrum (prezývaný gumák kvôli svojej klávesnici). Pamäť tejto mašiny bola 48kB, čo je pre predstavu stotina dĺžky jedinej pesničky vo formáte mp3. Poďte teda somnou nahliadnuť do softvérového sveta tak ako digitálne mašiny uvažujú! Rád by som to poňal ako sériu, no nakoľko som pracujúci živiteľ rodiny s deťmi, kešky budem pridávať podľa časových možností. Hneď z úvodu Vám prajem veľa zábavy pri lúštení i odlove.

Určite ste už počuli o tomto univerzálnom a jednoduchom programovacom jazyku.
V tejto nultej keške (nezabúdajme že sme v programovacom prostredí a tu sa všetky číselné rady začínajú nulou) sa v listingu zatiaľ nebudeme venovať pre laika zložitým podrobnostiam. Povieme si ale niečo z histórie. Kto chce, môže pokračovať rovno na lúštenie.
História:
Pred polovicou 60. rokov 20. storočia boli počítače veľmi drahé sálové stroje, ktoré obvykle vyžadovali vlastné dedikované miestnosti a klimatizáciu. Boli využívané veľkými spoločnosťami na plnenie vedeckých a komerčných úloh. Užívatelia odovzdávali svoje úlohy na diernych štítkoch alebo podobných médiách počítačovým operátorom a výsledky vypočítané počítačom zbierali neskôr. Jednoduché dávkové spracovanie však umožňovalo vykonávať len jednu úlohu v daný čas. Ďalšie úlohy potom nasledovali. Počas 70. rokov 20. storočia sa stali dostupnejšími rýchlejšie a lacnejšie počítače, stále sa však jednalo o sálové stroje. Tieto počítače prišli s novou technikou umožňujúce zdieľanie času, takže procesor a operačnú pamäť mohlo využívať viac užívateľov alebo procesov. V takomto systéme operačný systém prideľuje jednotlivým procesom procesorový čas a prepína medzi nimi. Každý proces sa správa tak, aby využil počítač naplno, hoci čas pre vykonanie jeho operácie stúpa. Časové zdieľanie bolo použité so zámerom spustenie niekoľkých dávkových procesov súčasne.
Časové zdieľanie umožňovalo používať počítače niekoľkým nezávislým užívateľom, ktorí pracovali s terminálom, ktorý bol vybavený klávesnicou a teletype tlačiarňou, neskôr aj monitorom. Počítače boli dostatočne rýchle, aby dokázali rýchlo reagovať na požiadavky všetkých užívateľov. Oblasťou intenzívneho výskumu v 60. a 70. rokoch 20. storočia sa stala potreba pre optimalizáciu interaktívneho časového zdieľania pomocou interpretov príkazového riadku a programovacích jazykov.
Vznik BASICu
Pôvodný jazyk BASIC bol navrhnutý v roku 1964 pánmi Kemény a Kurtz z Dartmouthskej univerzity v Hannoveri v americkom štáte New Hampshire a implementovaný tímom Dartmouthských študentov pod ich vedením. Skratka "BASIC" pochádza z nepublikované práce Thomasa Kurtza. BASIC bol navrhnutý tak, aby bolo umožnené študentom písať programy pre sálové počítače pre systém Dartmouth Time-Sharing. Bol určený špeciálne pre menej technických užívateľov, ktorí nemali alebo nechceli mať súvisiace matematické znalosti. Schopnosť používať počítač pre podporu výučby a výskumu bola v tej dobe celkom nová.
Jazyk bol založený na FORTRAN II s niektorými prvkami ALGOL 60, aby bol vhodný pre systémy so zdieľaním času. Spočiatku sa BASIC sústredil na podporu jednoduchých matematických prác s podporou aritmetiky matíc.
Návrhári jazyka sa rozhodli uvoľniť kompilátor zadarma, takže jazyk sa mohol podstatne rozšíriť. (V roku 1960 sa softvér stal spoplatnenou komoditou, do tej doby bol poskytovaný zadarmo ako služba s veľmi drahými počítačmi, zvyčajne k dispozícii len na prenájom). BASIC bol k dispozícii vysokým školám v Hannoveri. V nasledujúcich rokoch sa objavili ďalšie dialekty BASICu; Keményho a Kurtzov pôvodný BASIC dialekt sa stal známy ako Dartmouth BASIC.

Rozšírenie na minipočítače
Znalosť relatívne jednoduchého jazyka BASIC sa rýchlo rozšírila po celom počítačovom svete. BASIC bol implementovaný mnohými výrobcami. Stal sa pomerne populárny v nových minipočítačoch, ako sú DEC a PDP. BASIC bol tiež hlavným jazykom pre HP. Tiež bol v tejto dobe portovaný do operačného systému Pick, kde kompilátor renderuje do pseudoinštrukčného kódu.
Počas tohto obdobia bolo napísaných niekoľko jednoduchých počítačových hier v BASICu, najväčšia lahôdka bola Mike Mayfieldov Star Trek. Mnohé hry, ktoré zhromažďoval David H. Ahl, vyšli vo forme knihy "101 BASIC Computer Games", ktorá bola prvýkrát publikovaná v roku 1973. Počas rovnakého obdobia sa Ahl podieľal na vytvorení malého počítača pre použitie vo vzdelávaní, ranej formy osobného počítača.
Ukážka kódu Hello world, ktorým začína takmer každá výučbová literatúra kódovania, v BASICu:
10 PRINT "Hello, world!"
20 END
(zdroj: wikipedia, google)
Toľko by som Vám vypichol k základom. Nemáme tu priestor na ďalšie podrobnosti, ani nemáme priestor sa učiť základy programovania - je to rozsiahla záležitosť v analógii kombinujúca naučiť sa cudzí jazyk a súčasne sa naučiť myslieť / riešiť úlohy jednotným postupom logickych krokov (algoritmov) a zároveň rozumieť hardvéru, ktorý bude kroky vykonávať.
Ku keške na lúštenie: nuž len veľa šťastia, nech sa páči, tu už sľúbený kód - pre naše účely vo formáte Visual Basic, s ktorým sa bežne môžete stretnúť napríklad pri písaní makier v Excely, no pozor! veď čítajte ďalej:
Private Sub Workbook_Open()
'Upozornenie: keska je D3 (riesenie nebudete mat za 5minut)
' Nie kazdy VB compiler bude schopny spracovat uvedeny kod,
' kedze drobnych odlisnosti kodovania vo VB je nespocet..
' ergo zrejme nebude stacit CtrlC a CtrlV niekam do Excelu,
' ale riesenie bude vyzadovat upravit mozne breakpointy tak,
' aby kod vo vasich podmienakch fungoval, u mna kod pracuje ;)
' Dalsia moznost je spocitat vysledok rucne, co je samozrejme mozne
' a pre niekoho mozno jednoduhsie ako studovat syntax alebo anomalie
' v prikazovom systeme VBasicu - takeho matematika caka vyrazne menej ako 100 vypoctov
Dim concertativus As Long = &B1_0000_0000_0000_0000_0000_0000_0000_0000
Dim int_i As Long = &H0
Dim dividend As Long = &H0
Do While concertativus >= 4294967237#
int_i = int_i + 127
dividend = dividend + int_i + 650.640
If int_i \ 100 Then int_i = int_i + 100
concertativus = concertativus - 1
Loop
MsgBox "N48° 46." & Format(dividend / 1000, "0") & " E18° 35." & Format(dividend \ 1000, "0"), vbInformation
End Sub
Kešku ukradli bezďáci - je obnovená na iných súradniciach. Ku pôvodnému finálu pripočítajte (ku tisícinám) N+7 a E+44, certitude je na starý finál. Keška je nenápadná, buďte pozorní.
Kešku po odlovení dajte tak, aby ostala nenápadnou a čo najmenej vykúkala. Poškodenie s nutnosťou výmeny mi hláste. Ďakujem a prajem pekný odlov 😉
štartovacia výbava: logbook, ceruzka

Cez certitude môžete overiť riešenie svojej kešky.