
Prevod z desiatkovej sústavy do dvojkovej sústavy
Ako aj pri predošlých príkladoch budeme potrebovať tlačidlo, grafické plátno a editovací riadok pre vstup čísla, ktoré budeme chcieť konvertovať. Na vytvorenie programu využijeme metódu delenia základom. Vložené čísla z editovacieho riadku budeme deliť číslom 16 až kým sa výsledok nebude rovnať nule. Z uvedených príkladov vieme, že výsledkom sú zvyšky po delení zapísané od posledného po prvý.
Ako prvé si zadeklarujeme premennú cislo, do ktorej si načítame číslo v desiatkovej sústave. Toto číslo si opäť prevedieme z textového údajového typu (String) na typ celočíselný (Integer) pomocou konverzie StrToInt. Keďže budeme chcieť, aby program delil vložené číslo číslom 16 až kým celočíselný výsledok nebude nula, využijeme cyklus Repeat a zadáme mu podmienku kedy sa číslo po poslednom delení rovná nule. Rovnako ako pri prepočtoch z desiatkovej sústavy do dvojkovej a naopak, aj v tomto programe potrebujeme, aby program dokázal pracovať s priebežným výsledkom a ďalej ho delil. Takisto je potrebné si zapamätať zvyšok po delení, ku ktorému budeme pripisovať ďalšie zvyšky. Pre tento účel využijeme novovytvorenú premennú vysledok, ktorá bude typu String, pretože s ňou nepotrebujeme pracovať ako s číselným údajom, ale údajom textovým na vypisovanie na grafickú plochu.
Číslo zadané v editovacom riadku budeme deliť dvakrát. Prvýkrát, aby sme dostali celočíselný podiel, teda číslo, ktoré sa zapisuje naľavo od desatinnej čiarky a budeme ho ďalej používať na opätovné delenie. Pri tomto delení využijeme príkaz div. Druhýkrát budeme deliť príkazom mod, aby sme dostali zvyšok po celočíselnom delení, teda číslo zapísané napravo od desatinnej čiarky, v našom prípade konečný výsledok. Ako aj v predchádzajúcich prevodoch, výsledky budeme zapisovať vždy naľavo k aktuálnemu výsledku prevodu. Opäť nesmieme zabudnúť na správne poradie príkazov.

Po spustení programu a zadaní čísla v desiatkovej sústave
vidíme nasledovné riešenie:

Na základe príkladu, ktorý sme si vypočítali hore, vidíme, že výsledok
nie je správny (9410 = 5E16). Problém nastáva
v momente, kedy zvyšok po delení je väčší ako deväť. Vtedy nám program
zvyšok síce pripočíta k predchádzajúcemu (aktuálnemu) zvyšku, ale pri
šestnástkovej sústave nepracujeme len s číslami, ale aj písmenami od
A po F a teda zvyšky od 10 po 15 musia byť nahradené týmito
písmenami. Preto do nášho programu musíme doplniť príkaz, ktorý nám pri zvyšku
vyššom ako deväť zamení čísla za príslušné písmená. Najjednoduchším riešením
bude použiť príkaz Case a doplníme
si premennú zvysok, do ktorej si budeme
zapisovať aktuálny zvyšok. Ten sa bude porovnávať s podmienkami zadanými
v príkaze case. Ak by sme porovnávali premennú vysledok, program by mal
problém s porovnávaním.

