Používání vzorců

Nejprve se podívejte na návod jak obsluhovat rozšíření pro Libre Office a Apache OpenOffice.

Vlastní popis textovou formou

Vzorce obsahují 2 řádky. První řádek jsou jen startovní čísla, která můžeme měnit podle potřeby. To se hodí například pro spojování (řetězení) vzorců abychom dosáhli zvětšení k. Další řádek jsou vzorce, které kopírujeme podle potřeby. Tento řádek se kopíruje naráz. Vzorce mají určité vlastnosti. To popiuje následující tabulka.  Zde je startovní řádek proveden se žlutým podkladem (pozadí) a vzorce mají modrý podklad.Konstrukce vzorců je provedena tak, aby je bylo možno používat pro široký okruh potřeb. Vzorce jsou uzavřeny jako cyklus – po poslední kombinaci se vygeneruje první – startovní kombinace. Ta je nastavena pro vlastní transparentní třídu vždy vzestupným zápisem čísel od jedné. Například pro druhou třídu 1-2, pro třetí třídu 1-2-3, pro čtvrtou třídu 1-2-3-4 a pátou třídu 1-2-3-4-5.

První třídu šablona neobsahuje, ale je to poměrně logické. První třída kombinací C(k=1,n) je jen jeden sloupec (nebo řádek) jednic ve vzestupném pořadí od 1 do n. Na to není potřeba žádné složité vzorce. V tabulkovém procesoru si můžeme poradit několika různými postupy. Například pro čísla ve sloupci zadáme od buňky v prvním řádku funkci =ROW(), nebo podobně v řádku od prvního sloupce =COLUMN(). Tabulkové procesory mají také funkce pro automatické vyplňování, kde se zadá přírůstek (+1), nebo se vytvoří vzorec s připočítáváním. Jednoduše vzorce pro první třídu nepotřebujeme.

Pro všechny potřeby nám postačí vzorce kombinací 2. a 3. třídy. V šabloně jsou vzorce ještě pro 4 a 5. třídu. Ty jsem tam uvedl z jiného důvodu. Základem práce se vzorci je jejich řetězení do vyšších tříd. Například 6. třídu lze sestrojit buď jako 3x druhou třídu, nebo 2x třetí třídu. 4. a 5. třída nám umožní kontrolu skládání druhé a třetí třídy. Nejprve si vygenerujeme některou 4. třídu jako celek a vedle se naučíme totéž, ale složením dvou druhých tříd. Podobně 5. třída slouží ke kontrole složení 2. a 3. třídy. Samozřejmě pak nic nebrání složit například ze dvou 5. tříd třídu 10.

Velikost třídy je omezující faktor, který sice umožňuje vytvořit kompaktní vzorce pro vyšší třídy, ale neřeší neomezený počet tříd. Libovolná vyšší třída se dá složit pouze z více tříd nižších. S velikostí kompaktních vzorců vzrůstá nepřiměřeně zatěž stroje, protože se vrství obsah vzorců a nárůst není lineární. Limitní je asi obsah 64 kB v jediné buňce. To se dá pochopit snadno když se podáváte jak vypadá vzorec pro 2. třídu a porovnáte s obsahem pro 5 třídu. Ale stačí se podívat do druhé a páté buňky vzorce pro třídu 5.

Pozorný čitatel si jistě všimnul, že hovořím stále jen o limitě k. Limita n se pro vzorce nastavuje – je to základní volba, ale její velikost není omezena. To je dáno strojem a programem tabulkového procesoru. Obvykle je to číslo typu single – a to je tak veliké, že se velikostí limity pro n jako parametru vůbec zabývat nemusíme. Jednoduše nastavíme číslo jaké potřebujeme. Pochybuji, že by někdo potřeboval vygenerovat množinu kombinací pro n > 1000. Vlastní nastavení n může být určitý problém, ale ne v tabulkových procesorech, kde je možnost použít dialog “najdi a nahraď”. Vzorce generované pomocí StarBasic na to mají dialog (InputBox), kterým se to zadá – tedy žádný problém.

Tabulkové procesory ostatní, například Excel, Gnumeric ap dialog najdi a nahraď mají. Stačí dodržet pravidla pro nahrazování. Takže tento problém je minimální i bez StarBasic makra. Počet možných n se nahrazuje jako konstanta pro všechny buňky v řádku naráz. To se udělá hned na začátku ještě před tím, nežli začneme vzorce kopírovat. Kopírují se vzorce už s upraveným n.

Napsat komentář

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Přejít k navigační liště