16. Opět trošku matematiky- některé další operátory Visual Basicu, uživatelské funkce.
Přidal/a Jarda dne November 22 2010 11:19:17
Převod čísla z desítkové soustavy do dvojkové
Budeme využívat algoritmu, který běžně využíváme pro převod mezi desítkovou a dvojkovou soustavou. Postupně dělíme číslo deseti, zapisujeme zbytky po tomto dělení, a když pak zapíšeme zbytky v opačném pořadí (od konce), tak dostaneme číslo ve dvojkové soustavě.


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 ).