Vízügyi Közlemények, 1968 (50. évfolyam)
2. füzet - Déri József: Az elektronikus számológép és a vízimérnök
184 Déri József részeredmények összeadásával könnyen előállíthatjuk; tehát 128 + 64 + 0+16 + 0 + 0 + 2 + 0 = 210. A tízes alapú számoknak kettes alapú változatát maga a gép, igen egyszerű módon — kész program segítségével — állítja elő. a) A digitális számológépek programozása Mint már mondottuk a digitális számológép használata igen komoly előkészítő munkát igényel. Az első szakasz a számítás logikai vázának kidolgozása, majd matematikai megfogalmazása. A matematikai megfogalmazásba beleértjük azoknak a módszereknek az alkalmazását is, amelyek révén összetett matematikai műveleteket elemi műveletekre lehet visszavezetni. A matematikai előkészítő munka eredményeképpen megszületik a tulajdonképpeni számítási algoritmus. Ez általános alakban azoknak az elemi műveleteknek a sorozatát tartalmazza, amelyeket a kérdéses probléma feldolgozása kapcsán meg kell oldani. Ezután a feladat megoldására kijelölt számológép utasításrendszerét felhasználva, a gépi számítási programot kell elkészíteni. A digitális számológép legfontosabb tulajdonsága a programozhatóság. Bizonyos programozási lehetőség megvan a nem elektronikus számológépeknél is. Például a Hollerit rendszerű lyukkártyás géppel a lyukkártyán rögzített adathalmaz előre meghatározott program szerint dolgozható fel, de nem automatikusan, ugyanis a gépek csupán aritmetikai műveletek végzésére alkalmasak, logikai műveletek végzését irányító egységeket nem tartalmaznak. Az elektronikus digitális számológép viszont képes saját programját automatikusan megoldani, vagy azt menet közben módosítani. Ennek kidolgozása és bevezetése a magyar származású Neumann János nevéhez fűződik. A számológép-technikának ilyen értelmű továbbfejlesztése a gépesítés és az automatizálás forradalmasításához nagymértékben hozzájárult. A program a számítási feladat megoldására irányuló utasítások rendezett sorozatát tartalmazza. Minden utasítás valamilyen elemi művelet elvégzését írja elő. Az utasítások megjelölik magát az elvégzendő műveletet, továbbá a benne szereplő mennyiségek címeit. Az előkészítési munkának ez a fázisa már teljes mértékben a kérdéses számológép sajátosságaitól függően alakul. Miután az algoritmust a számítási feladat programja alakjában feldolgoztuk, a programot kódolva — a számológép nyelvére lefordítva — a bemeneti közeget előkészítő pl. billentyűs beíró szerkezeteken keresztül a számológépbe való adagolásra előkészítjük. A gépi számítási program megoldásának lépései: — a program beolvasása a számológép memóriájába, — próbafuttatások és — a feladat teljes megoldása. A program megoldásának részletesebb munkamenetét a 4. ábra szemlélteti. A számításokban néhány matematikai művelet gyakran ismétlődik, pl. a sin X, cos x, tg X, ctg х-, log X, In x; e x, e~ x, függvények, ismert trigonometriai függvények, hiperbolikus függvények stb. Ezek kiszámítására a kézi számításokhoz táblázatok készültek. Ha a gépekben akarnánk őket felhasználni, óriási és igen drága memóriákat kellene alkalmazni. E nehézséget a különleges kész alprogramok ún. szubrutinok alkalmazása oldotta meg, amelyeket a kész programok megoldásánál használnak fel.