Difference between revisions of "Basic Pascal Tutorial/Chapter 3/FOR..DO/bg"

From Free Pascal wiki
Jump to navigationJump to search
m (Kai Burghardt moved page FOR..DO/bg to Basic Pascal Tutorial/Chapter 3/FOR..DO/bg: tidy up main name space: create subpage hierarchy for basic Pascal tutorial [cf. [[Special: PermaLink/149778#Clutteri...)
(bypass redirects [cf. discussion])
Line 1: Line 1:
 
{{FOR..DO}}
 
{{FOR..DO}}
{{TYNavigator|CASE|WHILE..DO}}
+
{{TYNavigator|Chapter 3/CASE|Chapter 3/WHILE..DO}}
  
 
== FOR...DO цикъл ==
 
== FOR...DO цикъл ==
Line 50: Line 50:
  
 
== Виж също ==
 
== Виж също ==
[[WHILE..DO//bg|While ...Do цикъл]]
+
[[Basic Pascal Tutorial/Chapter 3/WHILE..DO//bg|While ...Do цикъл]]
  
 
[[UNTIL/bg|Repeat... Until цикъл]]
 
[[UNTIL/bg|Repeat... Until цикъл]]
Line 56: Line 56:
 
[[for-in_loop/bg|For... in цикъл]]
 
[[for-in_loop/bg|For... in цикъл]]
  
{{TYNavigator|CASE|WHILE..DO}}
+
{{TYNavigator|Chapter 3/CASE|Chapter 3/WHILE..DO}}

Revision as of 01:11, 6 August 2022

български (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 началната стойност трябва да е по-голяма от крайната стойност иначе цикъла никога няма да се изпълни.

Виж също

While ...Do цикъл

Repeat... Until цикъл

For... in цикъл

 ◄   ▲   ►