Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
KATA Microsoft Office Word (6).docx
Скачиваний:
13
Добавлен:
17.07.2019
Размер:
43.37 Кб
Скачать

П7.3. Операторы языка оь]ес1 Разса!

Программа представляет собой последовательность опе­раторов. Операторы отделяются друг от друга точкой с запятой и могут находиться как в разных строках, так по несколько операторов в одной строке. После служебного слова ВЕСШ и почти во всех случаях перед служебным словом ЕЫО точку с запятой можно не ставить. Краткое понятие оператора дано в п. 1.1.

Список основных операторов ОЪ]ес1; Ра§са1 приведен в сле­дующей таблице:

Оператор

Общий вид

Присваивания

<переменная>:=<выражение>

Вызова процедуры

<имя_процедуры> [ ( <список> ) ] 3

Безусловного перехода

СО ТО <метка>

Пустой оператор

обозначения нет

Составной оператор

ВЕСШ <оператор1>;<оператор2>;. . .;<операторМ>

ЕЫО

Условный (полная форма)

1Г <условие> ТНЕЫ <оператор!> ЕЬЗЕ <оператор2>

Условный (сокращенная форма)

1Р <условие> ТНЕМ <оператор>

Условный (оператор варианта)

САЗЕ <переменная> ОР <диапазон_констант1>:<оператор!>; <диапазон_констант2>:<оператор2>;

<диапазон_константМ>:<операторК>;

ЕЫО

Цикл с параметром

РОК <переменная>:=<выражение1> ТО <выражение2> [ООШ] 00 <оператор>4

Цикл с предусловием

Ш1ЬЕ <условие> 00 <оператор>

Цикл с постусловием

КЕРЕАТ <оператор1>;<оператор2>;. . .;

<операторК>;ШТ1Ь <условие>

Оператор присваивания предназначен для изменения значения переменной или присваивания имени функции конечного результа­та. Тип переменной должен соответствовать типу выражения. Пе­ременным вещественных типов можно присваивать выражения лю­бых числовых типов, переменным целых типов можно присваивать только целые выражения.

Примеры:

а!:=х+2; з :=

:=В[]с]+2*В[]с-1] ;

Оператор вызова процедуры состоит из имени процедуры и списка ее фактических параметров (если они есть). Более подробно описание вызова процедуры рассмотрено в п. 1.3.

Оператор безусловного перехода предназначен для изменения естественного порядка выполнения программы и осуществляет без-

3 Здесь квадратные скобки в сам оператор не входят, а показывают, что содержащаяся в них запись может входить (а может и не входить) в состав данного оператора, являясь его необязательной частью.

4 Здесь квадратные скобки в сам оператор не входят, а показывают, что содержащаяся в них запись может входить (а может и не входить) в состав данного оператора, являясь его необязательной частью.

условный переход на оператор, перед которым указана соответст­вующая метка.

При использовании оператора СОТО надо придерживаться следующих правил:

- метка, указанная в операторе, должна быть описана в под­разделе ЬАВЕЪ;

- эта метка должна существовать, то есть указывать на кон­кретный оператор;

- эта метка должна быть уникальной, то есть в программе не должно быть двух разных операторов, помеченных одной и той же меткой.

Последнее правило не распространяется на подпрограммы (процедуры или функции), в которых могут быть описаны метки, одинаковые по написанию с метками головной программы, но не имеющие с ними ничего общего.

Пустой оператор не выполняет каких-либо действий и вво­дится, например, для обозначения места, на которое нужно произ­вести переход без указания конкретного оператора. Например:

М: ; ЕМ С;

Здесь между меткой М и знаком ; в действительности опера­тор отсутствует, но можно представить, что метка как раз и указы­вает на пустой оператор.

Все описанные выше операторы относятся к простым опера­торам. Остальные операторы — структурные., поскольку содержат внутри себя минимум один оператор.

Составной оператор ВЕСШ <оператор 1>; <оператор 2>;...; <оператор М>;ЕЫО предназначен для объединения группы действий в один оператор. Между словами ВЕСШ и ЕЫО может стоять любое количество операторов, либо может их не быть вообще (тогда можно считать, что между этими словами стоит пустой оператор). Он используется там, где по смыслу задачи надо выполнить последовательность действий, тогда как семантика язьжа программирования разрешает использовать только один-единственный оператор. Например, в таких операторах, как 1Е...ТНЕЫ...ЕЬЗЕ, ЕОК...ТО...ОО, ЮН1ЬЕ...ЕО и т. п.

Необходимость использования составных операторов является одним из недостатков языка ОЬ]ес1 Ра§са1, поскольку частое их

применение перегружает программу служебными словами ВЕ6Ш и ЕШ.

Составной оператор может включать в себя любое количество любых операторов, в том числе и другой составной оператор. Программист в таких случаях должен следить за соответствием между количеством слов ВЕС1Ы и ЕШ. Можно сказать, что сама программа представляет собой один большой составной оператор. Однако переход внутрь составного оператора делать нежелательно.

Условные операторы предназначены для выбора одного из возможных действий: одного единственного действия (в случае сокращенной формы), одного из двух действий (в случае полной формы) или одного из множества действий (в случае оператора варианта).

Примеры:

1Г Г(а)*^(х)>0 ТНЕЫ Ъ:=х ЕЬЗЕ а:=х;

1Е сЗ>=0 ТНЕЫ ВЕСШ

х1: = (-Ь-Здг<1: (с!) ) / (2*а) ;х2:=-Ъ/а-х! ЕШ;

САЗЕ

5 ОЕ

1:5

= ' воскресенье ' ;

2:з

= ' понедельник ' ;

3:5

= ' вторник ' ;

4:5'

= ' среда ' ;

5 : 5

= ' четверг ' ;

6: 5

= ' пятница ' ;

7:5

= ' суббота ' ;

ЕШ;

Операторы 1Г...ТНЕЫ... и 1Е...ТНЕЫ...ЕЪЗЕ выбирают выполне­ние оператора, стоящего после служебного слова ТНЕМ, если значение логического выражения <условие> равно Тгие. Если его значение равно Еа15е, то либо выбирается оператор, стоящий после слова ЕЪЗЕ, либо управление передается следующему за IГ оператору.

В качестве меток в операторе САЗЕ могут использоваться не только константы, но и списки констант, отделенных запятыми. Списки не должны пересекаться.

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

ГОК 1с:=0 ТО 20 ВО з : =з + 1с/ (]с*]с+1) ; ГОК 1: =]<:+! 6 ВОШТО О ВО 1:=1-1;

Ш1ЬЕ х<=Ь ВО ВЕСШ х:=х+Ъ;у:=31п(2*х)+Здг (Соз (х/2) ) ;ЕШ;

КЕРЕАТ

х:=х+Ь; у:=31п(2*х)+3дг (Соз (х/2) ) ШТ1Ъ х>Ь;

I

В первом примере приведен оператор цикла с параметром, заданным по нарастанию (шаг изменения равен 1). Во втором - па­раметр цикла задан по убыванию (шаг изменения равен -1).

В третьем примере (цикл с предусловием) тело цикла, представ­ляющее собой составной оператор, будет выполняться (повторяться), пока значение выражения х<=Ъ остается равным Тгие. В последнем примере (в котором приведен цикл с постусловием) наоборот, операторы тела цикла будут выполняться, пока неравенство х>Ь остается равным Еа1зе. Тело цикла, вообще говоря, состоит из единственного операто­ра, стоящего после служебного слова ВО.

Последний пример эквивалентен третьему.

Оператор КЕРЕАТ называется оператором цикла с постусловием. Между служебными словами КЕРЕАТ и ШТ1Ъ, так же как и между ВЕ­СТЫ и ЕЫВ, может стоять любое количество любых операторов (в том числе и ни одного).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]