11. Cykly – další typy, příklad na cykly For...Next
Přidal/a Jarda dne November 06 2010 19:38:46
V případě, že potřebujeme, aby se nějaký blok příkazů vykonával opakovaně (viz. Příklad v předchozí kapitole), využijeme cykly. Existují dva hlavní typy cyklů. V předchozí kapitole uvedený cyklus s podmínkou a cyklus, který opakuje činnost skupiny příkazů tolikrát, kolikrát určíme.
Cyklus FOR...Next

Je to základní, velmi často používaný cyklus. Má následující syntaxi:


Proměnná (promenna) se nazývá řídící proměnná cyklu, od a do jsou hranice intervalu, mezi kterým se hodnota řídící proměnné pohybuje. Volitelný je krok (pokud neuvedeme, Visual Basic pracuje s krokem 1) Příkaz Exit For umožňuje kdykoli během vykonávání cyklu opustit cyklus a pokračovat ve vykonávání dalších příkazů

Výpočet faktoriálu – příklad na cyklus For...Next

V úvodu k algoritmizaci jsme si zkoušeli naprogramovat výpočet faktoriálu v programovacím jazyce Comenius LOGO. Kód vypadal takto:
to faktorial :n
local "a
make "a :n
local ":v
make "v 1
repeat :n [make "v ( :v * :a ) make "a ( :a - 1 )]
output :v
end


Zkusme tento kód přepsat do Visual Basicu. Algoritmus zůstane stejný, jen se změní syntaxe příkaz. Zároveň zde vidíte, že není podstatný použitý jazyk, ale podstatný je správný algoritmus výpočtu.
Začneme návrhem jednoduchého formuláře, ke tlačítku pro výpočet přiřadíme událost Click.


Zdrojový kód aplikace

Musíme deklarovat potřebné proměnné a pak definovat cyklus.
Dim n As Integer
Dim a As Integer
Dim v As Long
Dim c As Integer
n = Val(txtZadani.Text)
a = n
v = 1
For c = 1 To n
v = v * a
a = a - 1
Next c

txtVysledek.Text = v

Tučně je vyznačen cyklus.

Já jsem ještě doplnil kód o podmínku. Určitě poznáte, proč jsem ji tam doplnil a co program bude dělat.



Úkoly:

1.Zkuste zakreslit vývojový diagram algoritmu použitého pro výpočet faktoriálu a popište činnost algoritmu .

2. Program pošlete na zavadil.gymst@seznam.cz