40
6.2. Сложни (структурирани) оператори
стойността на Expression е FALSE и ако има ELSE част, изпълнява се операторът, стоящ
след ключовата дума ELSE.
Забележка: Синтактичната двусмисленост на оператора
if Expr1 then if Expr2 then Statement1 else Statement2
се разрешава, като се приема, че тя е еквивалентна на:
if Expr1 then begin
if Expr2 then
Statement1
else
Statement2
end { if }
т.е. приема се, че ELSE частта на оператора IF принадлежи на най-близкия предхождащ го
оператор IF, за който няма такава.
6.2.3. Селективен оператор (case)
Селективният оператор се състои от израз, наричан още селектор (selector), и
списък от оператори, на всеки от които е съпоставена една или няколко константи от
тип, съвместим с този на селектора. Селекторът, а следователно и константите, трябва
да бъдат от дискретен (ordinal) тип.
CaseStatement =
'case' Selector 'of'
   CnstList ':' Statement {';'
   CnstList ':' Statement } [';'] [
'else' ':' Statement { ';' 
   Statement } [';'] ]
'end'.
Selector =
Expression.
CnstList =
Constant {',' Constant }.
При изпълнение на този оператор се пресмята изразът (селекторът) и се
изпълнява този оператор, на който е съпоставена константата, равна на изчислената
стойност на селектора. Ако такъв оператор няма, изпълнява се операторът, пред който
стои ключовата дума ELSE, а ако и такъв оператор няма (т.е. не е зададена ключова
дума ELSE), не се изпълнява нищо.
Забележки:
1. Възможността за задаване на оператор, който се изпълнява, ако изчислената
стойност на селектора е различна от всички зададени константи (ELSE частта на
оператора CASE), е особеност на UniPascal и не съществува в стандарта на Pascal.
2. Една и съща константа не може да се използва два пъти в един и същ оператор
CASE.
6.2.4. Оператори за цикъл
Операторите за цикъл указват, че изпълнението на даден оператор (или група
оператори) трябва да се повтаря. Броят на повторенията на изпълнението на
операторите може да бъде известно предварително или да се определя чрез пред- или
постусловие. Операторът (или групата оператори), който се повтаря се нарича тяло на
цикъла.
<<  <  GO  >  >>

Вернуться к началу сайта