Při tomto příkladu se standardně využívá proměnná pole. S tou jsme zatím nepracovali, a proto si místo ní pomůžeme TextBoxem a postupným zápisem zbytků po dělení dvěma v tomto TextBoxu.
Samotný kód je velice jednoduchý a funkce programu je zřejmá z následujícího obrázku:
Nově se zde vyskytují dva operátory . Operátor pro zbytek po dělení a operáto pro celočíselné dělení. S operátorem pro řetězení jsme se již setkali.
A ještě dvakrát faktoriál – uživatelské funkce a procedury
V kapitole 11 jsme přepsali algoritmus pro výpočet faktoriálu z LOGA. Nyní si ukážeme další možnost a k tomu přidáme výpočet faktoriálu rekurzivně. Zároveň si ukážeme, jak lze ve VisualBasicu vytvářet uživatelské funkce a procedury.
Uživatelské funkce jsou ekvivalentem vestavěných funkcí, stejně jako ony mají návratovou hodnotu. (Uživatelské procedury jsou ekvivalentem vestavěných příkazů, stejně jako ony provádějí určitou činnost bez návratové hodnoty)
Pro tvorbu funkcí , resp. Procedur, jsou určeny příkazy
Function a Sub
Příklad jejich použití bez dalšího komentáře vidíte ve výpisu programu na výpočet faktoriálu.
Rekurzivní funkce
A výpočet faktoriálu rekurzivně vypadá takto:
Rekurzivní funkce je taková funkce, která volá sama sebe. Je to vidět na výše uvedeném příkladu. Je zde jediná podmínka – pokud je číslo větší než 1, zavolá se funkce sama s parametrem o 1 menším násobená N. Je-li parametr roven 1, je i faktoriál roven 1.
Příklad pro číslo 5!
Úkol:
1.Sestavte funkci, která sečte čísla v rozsahu od A do B (s jednotkovým krokem) Zapište tuto funkci jako rekurzivní i nerekurzivní, popiště činnost vaší funkce. Tuto funkci využijte v nějakém programu – navrhněte formulář. (Zde najdete nápovědu ).