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> сравн...") |
Alpinistbg (talk | contribs) |
||
Line 4: | Line 4: | ||
3Cb - CASE (author: Tao Yue, state: changed) | 3Cb - CASE (author: Tao Yue, state: changed) | ||
− | Операторът за разглеждане на случаи <tt>case</tt> сравнява стойността на | + | Операторът за разглеждане на случаи <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 15: | ||
</syntaxhighlight> | </syntaxhighlight> | ||
− | + | Но в този случай ще е по-просто да направите списък от числата, за които искате да се изпълни Statement1. Това може да се направи с помощта на оператора <tt>case</tt>: | |
<syntaxhighlight lang="pascal"> | <syntaxhighlight lang="pascal"> | ||
Line 24: | Line 24: | ||
</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|IF|FOR..DO}} |
Revision as of 01:42, 22 April 2021
│
български (bg) │
English (en) │
español (es) │
français (fr) │
日本語 (ja) │
中文(中国大陆) (zh_CN) │
3Cb - 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 може да бъде всяка променлива или израз от дискретен тип. Не могат да се използват реални стойности!
Селекторите трябва да съдържат само имена на константи или изписани стойности, т.е. в тях не могат да се използват променливи.