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.