Difference between revisions of "Basic Pascal Tutorial/Chapter 3/FOR..DO/bg"
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...) |
m (bypass language bar/categorization template redirect [cf. discussion]) |
||
(2 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | {{FOR..DO}} | + | {{Basic Pascal Tutorial/Chapter 3/FOR..DO}} |
− | {{TYNavigator|CASE|WHILE..DO}} | + | {{TYNavigator|Chapter 3/CASE|Chapter 3/WHILE..DO}} |
== FOR...DO цикъл == | == FOR...DO цикъл == | ||
''(author: Tao Yue, state: changed)'' | ''(author: Tao Yue, state: changed)'' | ||
− | FOR ... DO е конструкция за цикъл в Pascal. Разбира се, възниква въпроса „Какво е цикъл?“. | + | FOR ... DO е конструкция за цикъл в Pascal. Разбира се, възниква въпроса „Какво е цикъл?“. |
=== Цикли === | === Цикли === | ||
− | Цикленето означава да се повтаря прост или съставен оператор докато не се изпълни някакво предварително условие. | + | Цикленето означава да се повтаря прост или съставен оператор докато не се изпълни някакво предварително условие. |
Има три вида цикли: | Има три вида цикли: | ||
Line 17: | Line 17: | ||
=== FOR...DO Цикъл === | === FOR...DO Цикъл === | ||
В Pascal, цикълът с с фиксирано повторение е цикъл for. Неговата форма е: | В Pascal, цикълът с с фиксирано повторение е цикъл for. Неговата форма е: | ||
− | <syntaxhighlight lang=pascal> | + | <syntaxhighlight lang="pascal"> |
for index := начална_стойност to крайна_стойност do | for index := начална_стойност to крайна_стойност do | ||
statement; | statement; | ||
Line 27: | Line 27: | ||
Цикълът може да се прекъсне с използването на оператора ''break''. | Цикълът може да се прекъсне с използването на оператора ''break''. | ||
Пример за използването на break: | Пример за използването на break: | ||
− | <syntaxhighlight lang=pascal> | + | <syntaxhighlight lang="pascal"> |
sum := 0; | sum := 0; | ||
for count := 1 to 100 do | for count := 1 to 100 do | ||
begin | begin | ||
sum := sum + count; | sum := sum + count; | ||
− | if sum = 38 then | + | if sum = 38 then |
break; | break; | ||
end; | end; | ||
Line 42: | Line 42: | ||
В цикъла <tt>for-to-do</tt> началната стойност трябва да е по-малка от крайната стойност иначе цикъла никога няма да се изпълни. Ако искате да броите наобратно, трябва да използвате модификацията <tt>for-downto-do</tt>: | В цикъла <tt>for-to-do</tt> началната стойност трябва да е по-малка от крайната стойност иначе цикъла никога няма да се изпълни. Ако искате да броите наобратно, трябва да използвате модификацията <tt>for-downto-do</tt>: | ||
− | <syntaxhighlight lang=pascal> | + | <syntaxhighlight lang="pascal"> |
for index := начална_стойност downto крайна_стойност do | for index := начална_стойност downto крайна_стойност do | ||
statement; | statement; | ||
Line 50: | Line 50: | ||
== Виж също == | == Виж също == | ||
− | [[WHILE..DO | + | [[Basic Pascal Tutorial/Chapter 3/WHILE..DO/bg|While ...Do цикъл]] |
− | [[ | + | [[Until/bg|Repeat... Until цикъл]] |
− | [[for- | + | [[for-in loop/bg|For... in цикъл]] |
− | {{TYNavigator|CASE|WHILE..DO}} | + | {{TYNavigator|Chapter 3/CASE|Chapter 3/WHILE..DO}} |
Latest revision as of 16:19, 20 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 началната стойност трябва да е по-голяма от крайната стойност иначе цикъла никога няма да се изпълни.