náhled|upright=1.4|Pohled na CGS s vloženým programem „PŘISTÁNÍ NA MĚSÍCI" a proužky papíru v registrech R0-R9 Papírový počítač CGS (akronym z anglického Computer Game System) je didaktická pomůcka a papírový model simulující základní principy fungování počítače. Model byl poprvé publikován v roce 1980 v časopisu ABC (ročník 25, číslo 7). Autory systému jsou Miroslav Háša, Jiří Rada a Martin Pilný, výtvarný návrh zpracoval Jaroslav Velc. Pomůcka sloužila k výuce základů programování a algoritmizace metodou „papír a tužka".
Historie a vydání Model se dočkal několika vydání v různých periodikách: 1980: První vydání v časopise ABC (ročník 25, číslo 7). 1982: Druhé vydání s upraveným grafickým designem v časopisu VTM. 1982: Třetí verze v magazínu MF „Logika v kostce", designově shodná s verzí z VTM.
Princip fungování CGS funguje na principu manuální interpretace kódu zjednodušeného programovacího jazyka. Zařízení bylo distribuováno formou vystřihovánky, kterou bylo nutné po podlepení sestavit a opatřit výřezy pro pohyblivé části.
Programový kód byl vytištěn na papírových kartách (proužcích), přičemž každý řádek reprezentoval jednu instrukci nebo výraz. Karta se mechanicky posouvala ve výřezu v levé části modelu. Pravá část modelu obsahovala výřezy pro deset paměťových registrů (proměnných) označených R0 až R9 a jeden pomocný registr „i" pro nepřímou indexaci; hodnoty proměnných se zaznamenávaly na posuvné proužky papíru, případně se zapisovaly tužkou a gumovaly. Uživatel posouvá kartu s programem shora dolů, přičemž v případě větvení ji instrukce navádějí k posunu zpět nebo vpřed na příslušné návěští (label). Zprávy programu (např. „Vyhrál počítač") jsou čitelné přímo z karty ve výřezu, který tak nahrazuje displej.
Programovací jazyk Použitý jazyk je kombinací zjednodušeného jazyka BASIC a notace typické pro tehdy rozšířené programovatelné kalkulátory (práce s registry, skoky). Syntaxe se od jazyka BASIC lišila například v zápisu přiřazení: BASIC: LET A = A + 1 CGS: R0 + 1 → R0
Jazyk podporoval vstup a výstup hodnot, základní aritmetické operátory (+ - * :), funkce (např. INT), ukládání výsledků do registrů (→) a podmíněné (IF) i nepodmíněné skoky na návěští (LBL, GTO). Specifickým prvkem byla nepřímá adresace pomocí registru „i". Tyto funkce umožňovaly sestavování programů od jednoduchých výpočtů až po složitější simulace.
Ukázka kódu Níže uvedený příklad demonstruje program pro testování parity čísla (sudé/liché).
TEST NA SUDE CISLO "Zadej cislo" → R0 MOD(R0, 2) → R1 IF R1 = 0; GTO A "Cislo {R0} je liche." KONEC A "Cislo {R0} je sude." KONEC
Seznam zveřejněných programů Přehled programů publikovaných v jednotlivých vydáních:
ABC 7/25 ABC 13/25 ABC 19/25 Logika v kostce (1982) NIM – hra se zápalkami Hádání neznámého čísla Chyťte zajíce Gregoriánský kalendář Chyťte zajíce II Přistání na Měsíci Grand prix formule 1 Výpočet výše vkladu Pravidelné spoření Ohmův zákon Rovnice Výkon el. proudu Kámen, papír, nůžky Skládání odporů Není nosník nebezpečně namáhán? Ocelový drát Natahování, stlačování a ohřívání ocelové tyče Jak stlačí závaží pružinu? Výpočet PI Převod desetinného čísla na zlomek Sinus, tangens, arkustangens a cosinus úhlu Největší společný dělitel a nejmenší společný násobek Umělá oběžnice
Podobnost se systémem CARDIAC Koncept papírového počítače byl znám již před vydáním CGS. V roce 1968 byl v USA představen systém CARDIAC (CARDboard Illustrative Aid to Computation), který využíval obdobný mechanický princip (papírový model, průzor pro kód, registry). CGS se však odlišoval instrukční sadou, která byla ve srovnání s Cardiacem méně komplexní a bližší vyšším programovacím jazykům. Přímá inspirace autorů CGS americkým modelem není doložena.
Význam a dobový kontext V době vydání CGS (začátek 80. let) byla dostupnost osobních počítačů v Československu pro běžné uživatele minimální. První československé školní mikropočítače (např. PMD 85, IQ 151) se začaly sériově vyrábět až v polovině dekády. CGS distribuovaný v masovém nákladu časopisu ABC tak v tomto období suploval nedostupnou výpočetní techniku a pro část tehdejší generace představoval první praktický kontakt s principy programování.
Reference
Externí odkazy Článek věnovaný CGS na serveru Root.cz Papírový počítač CGS – online simulátor a e-kniha
Kategorie:Emulátory Kategorie:Časopis ABC Kategorie:Československé počítače