Sign in Join
Wiki copytemporary

Basic Pascal Tutorial/Chapter 3/FOR..DO/bg

Sent here from FOR..DO/bg.

English · Français · Български · 中文(中国) · 日本語

FOR...DO цикъл

(author: Tao Yue, state: changed)

FOR ... DO е конструкция за цикъл в Pascal. Разбира се, възниква въпроса „Какво е цикъл?“.

Цикли

Цикленето означава да се повтаря прост или съставен оператор докато не се изпълни някакво предварително условие.

Има три вида цикли:

FOR...DO Цикъл

В Pascal, цикълът с с фиксирано повторение е цикъл for. Неговата форма е:

pascal
for index := ??????????????_???????????????? to ????????????_???????????????? do
  statement;

Променливата index трябва да е от дискретен тип. Тя може да се използва в изчисления и изрази в тялото на цикъла, но нейната стойност не може да се променя (т.е. index:=5 ще предизвика програмна грешка).

В Pascal, цикълът for може да брои само със стъпка от 1. Цикълът може да се прекъсне с използването на оператора break. Пример за използването на break:

pascal
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:

pascal
for index := ??????????????_???????????????? downto ????????????_???????????????? do
  statement;

В цикъла for-downto-do началната стойност трябва да е по-голяма от крайната стойност иначе цикъла никога няма да се изпълни.

Виж също

While ...Do цикъл

Repeat... Until цикъл

For... in цикъл


From the Free Pascal wiki, page "Basic Pascal Tutorial/Chapter 3/FOR..DO/bg", as it stood on 2022-08-20 after a change by Kai Burghardt, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Revision 1, last changed by WikiArchive .

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.