Prevod z desiatkovej sústavy do dvojkovej sústavy

Ak chceme v Lazaruse naprogramovať kalkulačku na prevod medzi dvojkovou a desiatkovou sústavou, budeme musieť umocňovať číslo dva. Na umocňovanie budeme používať funkciu Power. Pomocou tejto funkcie budeme vedieť umocniť číslo na ktorékoľvek číslo. Nakoľko je funkcia Power matematickou funkciou, pracuje s reálnymi číslami a teda výstup z nej musí byť premenná typu Real. Funkcia Power je zložená z dvoch parametrov - prvý parameter je číslo, ktoré chceme umocniť, druhý parameter je mocniteľ, napr. výsledkom Power(5, 4); bude 625 (54).

Keďže funkcia Power nie je obsiahnutá v základných (prednastavených) knižniciach pri spustení novej aplikácie v programe Lazarus, ale obsahuje ju knižnica týkajúca sa matematiky (Math), je potrebné zapísať ju medzi ostatné knižnice. 

Na vytvorenie prevodovej kalkulačky opäť využijeme editovací riadok, do ktorého budeme zadávať číslo v dvojkovej sústave. Následne nám ho vytvorený program prepočíta do desiatkovej sústavy a zobrazí na plátne.

Zadeklarujeme si teda premennú cislo, ktorú načítame z komponentu Edit1. Vieme, že editovací riadok pracuje s textom, teda údajový typ bude String. Takisto potrebujeme zadeklarovať premennú pre výsledok. Keďže pracujeme s funkciou Power, premenná vysledok musí byť typu Real. 

Aby nám program spustil prepočet na všetky dané čísla a vypísal ho ako jednotné číslo, využijeme cyklus For a takisto príkaz Length (dĺžka). Na základe príkladu hore vieme, že umocnenú dvojku násobíme číslom nula alebo jedna. Vieme, že výsledok násobenia nulou (0 * 22) je rovný nule, preto môžeme počítanie s nulou vynechať a budeme hľadať len jednotky.

Nami zadaný cyklus bude postupne prechádzať zadané číslo a v prípade, že nájde cifru jeden, číslo dva umocní na číslo n-1, kde n je poradové číslo danej cifry jeden v nami zadanom čísle. Z matematiky vieme, že násobenie jednotkou nám konečný výsledok nijako neovplyvní, preto samotné násobenie jednotkou môžeme vynechať a budeme iba umocňovať číslo dva. Posledným krokom výpočtu je súčet všetkých mocnín, ktorým dostaneme konečnú hodnotu čísla v desiatkovej sústave. Nakoniec si výsledok necháme vypísať na grafické plátno. Aby bol Lazarus schopný nám dané číslo zobraziť na plátne, opäť musíme previesť číselný údaj na údaj textový. Využijeme preto príkaz na konvertovanie FloatToStr, teda konvertovanie reálneho čísla na znakový reťazec.

Vytvorte si webové stránky zdarma! Táto stránka bola vytvorená pomocou služby Webnode. Vytvorte si vlastný web zdarma ešte dnes! Vytvoriť stránky