Dlouhá čísla - poznámky k úkolu

Rozvažujeme-li reprezentaci dlouhých čísel, je dobré se zamyslet nad několika otázkami. V našem případě odpovíme takto:

Nyní tedy víme, že budeme číslo reprezentovat v poli o velikosti MAX, kde typ prvků pole bude cifra 0..9. Dále nás ale zajímá několik dalších věcí:

A jak budeme psát jednotlivé podprogramy na práci s čísly? Ideálně budeme čísla předávat v parametru podprogramu - ale ne hodnotou, nýbrž odkazem (viz přednáška a cvičení). Budeme-li v podprogramu parametr typu TCislo měnit, číslo zůstane změněné i po návratu z podprogramu. Další výhoda je ta, že se celé pole nebude kopírovat (a plýtvat tak pamětí), ale předá se pouze odkaz na původní pole. Předávání odkazem zařídíme pomocí var před parametrem. Například hlavička procedury na načtení čísla by mohla vypadat takto:
       procedure Nacti( var A : TCislo );
Nebo obdobně na součet dvou čísel:
       function Secti( var A,B : TCislo ):TCislo;
A teď už jen stačí vymyslet, jak realizovat jednotlivé operace, jak volat vytvořené podprogramy - a máme vystaráno. :-)

Nakonec pár zajímavých odkazů: