Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции сем. 1.doc
Скачиваний:
9
Добавлен:
13.11.2019
Размер:
2.03 Mб
Скачать

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

Составной оператор имеет синтаксическую структуру:

Begin оператор1 [, оператор, ..... ] End;

Используется в том случае, если по логике алгоритма требуется записать несколько операторов, а синтаксис языка позволяет записать только один оператор. (См. Пример ниже).

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

Условный оператор в языке Delphi предназначен для реализации базовой алгоритмической структуры «Ветвление».

Синтаксическая структура полного условного оператора имеет следующий вид:

IF <выражение> THEN <оператор 1> ELSE <оператор 2> ;

<выражение> должно иметь значение логического типа.

После служебных слов THEN и ELSE можно записать только один оператор

Е сли по логике алгоритма необходимо записать несколько операторов, то необходимо использовать составной оператор.

Пример: If X>0 Then

Begin

Y: = l;

Z: = Y+2;

End

Else

Z:=0;

If Z>0 Then D: = l

Else D: = 0;

Перед служебным словом ELSE нельзя ставить точку с запятой

Семантика условного оператора:

Вычисляется значение выражения, если полученное значение True («Истина»), то выполняется <оператор 1>, в противном случае (значение False – «Ложь» ) выполняется <оператор 2>.

Сокращенный условный оператор имеет следующую синтаксическую структуру:

IF <выражение> THEN оператор; Пример : IF (Y)0 THEN X:= Sqrt( Y);

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

Оператор выбора для более компактной записи в тех случаях, когда необходимо выбрать не из двух (как в условном операторе), а их большего числа альтернатив.

Синтаксическая структура оператора выбора имеет следующий вид:

Case <выражение - селектор> of

<список констант1> : Оператор1;

<список констант2> : Оператор2;

<список константn> : Операторn;

[Else

Оператор; {операторы, выполняемые по умолчанию}

Оператор;]

End;

Где:

  • <выражение - селектор> должно быть выражением порядкового типа;

  • <список констант1> - это одна или несколько перечисленных через запятую констант того же порядкового типа, что и <выражение - селектор>, или интервал (диапазон);

  • операторы, записанные в каждой ветви после двоеточия, - это одиночные операторы (возможно и составные);

  • раздел, выполняемый по умолчанию, может отсутствовать. Если операторы этого раздела присутствуют, то их можно не заключать в ключевые слова Begin End.

Семантика оператора выбора:

Вычисляется значение селекторного выражения и сравнивается со значениями меток – констант. Если сравниваемые значения совпали, то выполняется оператор, перед которым стоит константа, значение которой равно значению селекторного выражения, а затем оператор, записанный после оператора выбора. В случае, если значение селекторного выражения не совпало ни с одним из значений меток – констант, то выполняются операторы, записанные в Else разделе оператора выбора, если Else раздел отсутствует, никакие операторы внутри оператора выбора не выполняются.

Пример:

Var k:integer;

k:=StrToInt(Edit1.Text);

Case k of

1. .30: Label1.Caption:= 'Очень плохо';

31. .40: Label1.Caption:= 'Плохо';

41. .70: Label1.Caption:= 'Удовлетворительно';

71. .90: Label1.Caption:= 'Хорошо';

91. .99: Label1.Caption:= 'Отлично';

100: Label1.Caption:= 'Превосходно';