Скачиваний:
61
Добавлен:
15.06.2014
Размер:
1.18 Mб
Скачать

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

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

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

Пример:

Y:=a*b/10; 8:='Дом';F1:= False;

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

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

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

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

Goto метка;

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

Move(Source,Dest,

Count)

Ramdomize

Например:

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;

значк1..значк2:операторк

else оператор^;

end;

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

Var c:char; s:String;

Case c of '0'..'9'^:='Цифра'; 'A'..'z':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.