Определен цикъл срещу неопределен цикъл
Цикълът е блок от код, който ще се повтаря определен брой пъти или докато не бъде изпълнено някое условие. Определен цикъл е цикъл, в който броят пъти, които ще се изпълни, е известен предварително, преди да влезете в цикъла. В неопределен цикъл броят пъти, които ще се изпълни, не е известен предварително и ще се изпълни, докато не бъде изпълнено някое условие.
Какво е определен цикъл?
Определеният цикъл е цикъл, в който броят пъти, които ще се изпълни, е известен предварително, преди да влезете в цикъла. Броят на итерациите, които ще повтори, обикновено се предоставя чрез целочислена променлива. Като цяло for циклите се считат за определени цикли. Следва пример за определен цикъл, реализиран с помощта на for цикъл (на програмен език Java).
за (int i=0; i < номер; i++)
{
//тялото на for цикъла
}
Горният цикъл ще изпълни тялото си няколко пъти, предоставени от променливата num. Това може да се определи от първоначалната стойност на променлива i и условието на цикъла.
While циклите могат също да се използват за реализиране на определени цикли, както е показано по-долу (в Java).
int i=0;
while(i<num)
{
//тялото на цикъла
i++;
}
Въпреки че това използва цикъл while, това също е определен цикъл, тъй като е известно предварително, че цикълът ще се изпълни броя пъти, предоставен от променливата num.
Какво е неопределен цикъл?
В неопределен цикъл, броят пъти, които ще се изпълни, не е известен предварително. Обикновено неопределен цикъл ще се изпълнява, докато не бъде изпълнено някое условие. Докато циклите и do-while циклите обикновено се използват за внедряване на неопределени цикли. Въпреки че няма конкретна причина да не се използват for цикли за конструиране на неопределени цикли, неопределените цикли могат да бъдат организирани спретнато с помощта на цикли while. Някои от често срещаните примери, които ще трябва да внедрите неопределени цикли, са подкана за четене на вход, докато потребителят вмъкне положително цяло число, четене на парола, докато потребителят не вмъкне същата парола два пъти подред и т.н.
Каква е разликата между определен цикъл и неопределен цикъл?
Определен цикъл е цикъл, в който броят пъти, които ще се изпълни, е известен предварително, преди да влезе в цикъла, докато неопределеният цикъл се изпълнява, докато не бъде изпълнено условие и броят пъти, в които ще се изпълни за изпълнение не е известно предварително. Често определените цикли се изпълняват с помощта на цикли for, а неопределените цикли се изпълняват с помощта на цикли while и цикли do-while. Но няма теоретична причина да не се използват цикли for за неопределени цикли и цикли while за определени цикли. Но неопределените цикли могат да бъдат спретнато организирани с while цикли, докато определените цикли могат да бъдат спретнато организирани с for цикли.