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...)
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//bg|While ...Do цикъл]]
+
[[Basic Pascal Tutorial/Chapter 3/WHILE..DO/bg|While ...Do цикъл]]
  
[[UNTIL/bg|Repeat... Until цикъл]]
+
[[Until/bg|Repeat... Until цикъл]]
  
[[for-in_loop/bg|For... in цикъл]]
+
[[for-in loop/bg|For... in цикъл]]
  
{{TYNavigator|CASE|WHILE..DO}}
+
{{TYNavigator|Chapter 3/CASE|Chapter 3/WHILE..DO}}

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

Виж също

While ...Do цикъл

Repeat... Until цикъл

For... in цикъл

 ◄   ▲   ►