Basic Pascal Tutorial/Chapter 3/FOR..DO/bg
│
български (bg) │
English (en) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
FOR...DO цикъл
(author: Tao Yue, state: changed)
FOR ... DO е конструкция за цикъл в Pascal. Разбира се, възниква въпроса „Какво е цикъл?“.
Цикли
Цикленето означава да се повтаря прост или съставен оператор докато не се изпълни някакво предварително условие.
Има три вида цикли:
- с фиксирано повторение - повтаря се точен брой пъти
- с предусловие - проверява се Boolean израз, ако е TRUE се преминава към тялото на цикъла
- с постусловие - изпълнява се тялото на цикъла и след това се проверява Boolean израз
FOR...DO Цикъл
В Pascal, цикълът с с фиксирано повторение е цикъл for. Неговата форма е:
for index := начална_стойност to крайна_стойност do
statement;
Променливата index трябва да е от дискретен тип. Тя може да се използва в изчисления и изрази в тялото на цикъла, но нейната стойност не може да се променя (т.е. index:=5 ще предизвика програмна грешка).
В Pascal, цикълът for може да брои само със стъпка от 1. Цикълът може да се прекъсне с използването на оператора break. Пример за използването на break:
sum := 0;
for count := 1 to 100 do
begin
sum := sum + count;
if sum = 38 then
break;
end;
Компютърът ще направи сумата по дългия начин и пак ще успее да завърши за по-кратко време отколкото е отнело на математика Гаус да го изчисли по неговия метод (1+100 = 101. 2+99 = 101. Виждате ли модел? Има 100 числа, така че модела се повтаря 50 пъти. 101*50 = 5050. Това не висша математика и приписването на метода на Гаус вероятно е апокрифно).
Въпрос: в горния цикъл ще се изпълни ли оператора break?
В цикъла for-to-do началната стойност трябва да е по-малка от крайната стойност иначе цикъла никога няма да се изпълни. Ако искате да броите наобратно, трябва да използвате модификацията for-downto-do:
for index := начална_стойност downto крайна_стойност do
statement;
В цикъла for-downto-do началната стойност трябва да е по-голяма от крайната стойност иначе цикъла никога няма да се изпълни.