Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование в среде Delphy / Программирование в среде Delphi.doc
Скачиваний:
189
Добавлен:
01.05.2014
Размер:
1.3 Mб
Скачать

6. Операторы delphi

6.1. Оператор присваивания

В результате выполнения оператора присваивания значение переменной меняется – ей присваивается новое значение. В общем виде оператор присваивания выглядит так: Имя : = Выражение, где Имя — переменная, значение которой изменяется в результате выполнения оператора присваивания; : = — символы инструкции присваивания; Выражение — выражение, значение которого присваивается переменной, имя которой указано слева от символа инструкции присваивания.

Пример:

Y:=a*b/10; S:=’Дом’; F1:= False;

Результат вычисления выражения всегда приводится к типу имени переменной и только затем записывается в поле переменной.

Каждый оператор Delphi заканчивается точкой с запятой (;), что позволяет в одной строке программы записывать несколько операторов.

6.2. Оператор безусловной передачи управления

Оператор безусловной передачи управления имеет вид:

Goto метка;

Метка – это идентификатор, описанный в разделе меток – Label.

Например:

Label M1;

………

Goto M1;

………..

M1:y:=sin(x);

……………

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

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

Этот оператор разветвления if в общем случае имеет вид

If условие then оператор1 else оператор2;

В этой записи зарезервированные слова выделены жирным шрифтом, а то, что подчеркнуто, может отсутствовать. Работает он следующим образом: если условие имеет значение «истина», то выполняется оператор1, иначе – оператор2.

Например:

If a>b then y:=a-b else y:=b-a;

В этом примере «y» всегда будет принимать положительные значения, независимо от значений a и b.

6.4. Оператор разветвления Case

Этот оператор в общем случае может иметь вид

Case выражение of

знач11..знач12:оператор1;

знач21..знач22:оператор2;

………………………..

значK1..значK2:операторK

else оператор0;

end;

В зависимости от значения выражения выполняется тот или иной оператор. Если значение выражения не попадает ни в один из интервалов, то выполняется оператор0.

Пример:

Var c:char; s:String;

…………………….

Case c of

’0’..’9’:s:=’Цифра’;

’A’..’z’:s:=’Латинская буква’;

..’А’..’я’:s:=’Русская буква’

else s:=’Специальный символ’

end;

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

Этот оператор еще называют операторными скобками, он начинается ключевым словом Begin и заканчивается словом End. Между этими словами можно записывать любое число операторов, но чисто внешне он воспринимается как один оператор.

Пример:

If a>b then Begin

Y:=a-b;

Z:=a*b;

End else Begin

Y:=b-a;

Z:=a/b;

End;

В этом примере вместо одного оператора в инструкции if было использовано по два оператора присваивания.

Для лучшей читаемости программы рекомендуется после каждого оператора Begin все последующие строки программы сдвигать на две позиции вправо, а после оператора End – на две позиции влево. Это позволит легко отследить вложенность блоков Begin – End.