Difference between revisions of "Basic Pascal Tutorial/Chapter 3/CASE/bg"
Alpinistbg (talk | contribs) (Created page with "{{CASE}} {{TYNavigator|IF|FOR..DO}} 3Cb - CASE (author: Tao Yue, state: changed) Операторът за разглеждане на случаи <tt>case</tt> сравн...") |
m (bypass language bar/categorization template redirect [cf. discussion]) |
||
(4 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
− | {{CASE}} | + | {{Basic Pascal Tutorial/Chapter 3/CASE}} |
− | {{TYNavigator|IF|FOR..DO}} | + | {{TYNavigator|Chapter 3/IF|Chapter 3/FOR..DO}} |
− | |||
− | + | == CASE == | |
+ | ''(author: Tao Yue, state: changed)'' | ||
− | + | Операторът за разглеждане на случаи <tt>case</tt> сравнява стойността на израз с няколко ''селектора''. Селектор може да бъде [[Const|константа]], диапазон или списък от тях разделени със [[Comma|запетаи]]. Селектора се отделя от действието с [[Colon|двуеточие]] (:). | |
+ | |||
+ | Да предположим, че искате да изпълните действие ако <tt>b</tt> е <tt>1, 7, 2037,</tt> или <tt>5</tt>; а в противен случай да изпълните друго действие. Може да го направите по следния начин: | ||
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 15: | Line 17: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Но в този случай ще е по-просто да направите списък от числата, за които искате да се изпълни Statement1. Това може да се направи с помощта на оператора <tt>case</tt>: | |
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 24: | Line 26: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Общата форма на оператора <tt>case</tt> е: | |
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
− | case | + | case expr of |
− | + | Selector1: Statement1; | |
− | + | Selector2: Statement2; | |
... | ... | ||
− | + | Selectorn: Statementn; | |
otherwise Statement | otherwise Statement | ||
end; | end; | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Частта <tt>otherwise</tt> е незадължителна. Когато е налична, тя се може да се различава за различните компилатори. При повечето от тях се използва думата <tt>else</tt> вместо <tt>otherwise</tt>. | |
− | + | Израза <tt>expr</tt> може да бъде всяка променлива или израз от дискретен тип. Не могат да се използват реални стойности! | |
− | + | Селекторите трябва да съдържат само имена на константи или изписани стойности, т.е. в тях не могат да се използват променливи. | |
− | {{TYNavigator|IF|FOR..DO}} | + | {{TYNavigator|Chapter 3/IF|Chapter 3/FOR..DO}} |
Latest revision as of 16:19, 20 August 2022
│
български (bg) │
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
CASE
(author: Tao Yue, state: changed)
Операторът за разглеждане на случаи case сравнява стойността на израз с няколко селектора. Селектор може да бъде константа, диапазон или списък от тях разделени със запетаи. Селектора се отделя от действието с двуеточие (:).
Да предположим, че искате да изпълните действие ако b е 1, 7, 2037, или 5; а в противен случай да изпълните друго действие. Може да го направите по следния начин:
if (b = 1) or (b = 7) or (b = 2037) or (b = 5) then
Statement1
else
Statement2;
Но в този случай ще е по-просто да направите списък от числата, за които искате да се изпълни Statement1. Това може да се направи с помощта на оператора case:
case b of
1,7,2037,5: Statement1;
otherwise Statement2
end;
Общата форма на оператора case е:
case expr of
Selector1: Statement1;
Selector2: Statement2;
...
Selectorn: Statementn;
otherwise Statement
end;
Частта otherwise е незадължителна. Когато е налична, тя се може да се различава за различните компилатори. При повечето от тях се използва думата else вместо otherwise.
Израза expr може да бъде всяка променлива или израз от дискретен тип. Не могат да се използват реални стойности!
Селекторите трябва да съдържат само имена на константи или изписани стойности, т.е. в тях не могат да се използват променливи.