Joomla портал
seo seo Subscribe
0
seo

Сейчас уместно поговорить о стиле записи текста программы. Дело в том что в Паскале допустимы вложения одна в другую сложных конструкций, таких, как условные операторы или операторы цикла. В результате структура таких конструкций трудно читаема. Для того, чтобы облегчить читаемость текста, каждый программист может следовать определенным правилам записи, называемым стилем записи. Например, условный оператор можно записать в одном из следующих стилей:

if <�условие> then <�оператор1> else <�оператор2> ; {Стиль 1}

if <�условие> then <�оператор1> {Стиль 2}

else <�оператор2> ;

if <�условие> then {Стиль 3}

<�оператор1>

else <�оператор2> ;

if <�условие> {Стиль 4}

then <�оператор1>

else <�оператор2> ;

Первый стиль не пригоден, если THEN- и ELSE-конструкции длинные. Приведем пример условного оператора, содержащего составные операторы, записанного одним стилем:

if <�условие> then

begin

<�оператор1> ;

<�оператор2>

end

else

begin

<�оператор3> ;

<�оператор4>

end;

и другим стилем:

if <�условие>

then

begin

<�оператор1> ;

<�оператор2>

end

else

begin

<�оператор3> ;

<�оператор4>

end;

Каждый из стилей имеет свои достоинства и недостатки.

4.9.6. Оператор выбора.

Иногда в процессе выполнения алгоритма может потребоваться выбор не из двух, а из трех и более альтернатив. Например, одно действие нужно сделать, если некоторая величина x равна 1 или 2, другое, если она равна 3,4 или 5, и третье, если она равна 6. Во всех остальных случаях нужно выполнить четвертое действие. Это можно записать с помощью нескольких вложенных условных операторов (обратите внимание на стиль записи):

if (x=1) or (x=2)

then <�оператор1>

else

if (x=3) or (x=4)) or (x=5)

then <�оператор2>

else

if (x=6)

then <�оператор3>

else <�оператор4> ;

Для такой хотя и сложной, но стандартной конструкции более удобно использовать следующий стиль записи:

if (x=1) or (x=2) then <�оператор1>

else if (x=3) or (x=4) or (x=5) then <�оператор2>

else if (x=6) then <�оператор3>

else <�оператор4> ;

Но кроме того, в Паскале для описания таких ситуаций существует специальный оператор, называемый оператором выбора. С помощью этого оператора тот же кусок программы можно переписать следующим образом:

case x of

1,2: <�оператор1> ;

3,4,5: <�оператор2> ;

6: <�оператор3> ;

else <�оператор4>

end

Вместо списка 3,4,5 можно указать диапазон 3..5. В общем случае формат оператора выбора следующий:

case <�выражение> of

<�список значений выражения (через запятую)> : <�оператор_1> ;

<�список значений выражения (через запятую)> : <�оператор_2> ;

. . .

<�список значений выражения (через запятую)> : <�оператор_n> ;

[ else <�оператор_0> ]

end

Обязательно требуется, чтобы элементы каждого списка значений выражения были различными. Выражение после case не может быть вещественного типа. При выполнении оператора выбора выраже¬ние вычисляется, и выполняется тот оператор, в список которого вычислен¬ное значение попадает. Если такой список отсутствует, выполня¬ется оператор_0 из ELSE-конструкции (или ничего не делается, если ELSE-конст¬рукция отсутствует).

4.9.7. Оператор цикла с предусловием.

Оператор цикла с предусловием применяется в тех случаях, когда надо выполнить сходное действие несколько раз, пока выполняется некоторое условие. Формат оператора цикла с предусловием следующий:

while <�условие выполнения цикла> do <�оператор>

Этот оператор сначала проверяет условие выполнения цикла и, если оно истинно, выполняет внутренний оператор цикла. После этого снова проверя¬ется условие и, если оно опять истинно, снова выполняется внутренний опе¬ра¬тор и т.д. Процесс заканчивается тогда, когда при проверке условия окажется, что оно ложно. Очевидно, что компоненты выражения, входящие в условие, должны изменяться внутри цикла, иначе все время будет проверять¬ся одно и то же (истинное) условие и цикл никогда не закончиться. Про такой случай говорят, что программа зациклилась.

Следует принимать во внимание, что если условие цикла будет ложно с само¬го начала, то внутренний оператор цикла не выполнится ни разу. Далее, как и в условном операторе, если внутри цикла необходимо выполнить нес¬¬¬ко¬лько операторов, их нужно заключить в операторные скобки begin . . . end.

seo
8th Май 2011
Теги:
seo

Написать ответ

seo
 
seo
Все права защищены © 2023 Joomla портал
 
 
seo