Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Программирование на языке Delphi_1.doc
Скачиваний:
43
Добавлен:
28.03.2015
Размер:
710.14 Кб
Скачать
    1. 2.6. Операторы

      1. 2.6.1. Общие положения

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

Все операторы принято в зависимости от их назначения разделять на две группы: простые и структурированные.

Простые операторы не содержат в себе никаких других операторов. К ним относятся операторы присваивания, вызова процедуры, пустой оператор и оператор безусловного перехода.

Структурированные операторы содержат в себе простые или другие структурированные операторы. Это составной оператор, условные операторы и операторы повтора (циклы).

      1. 2.6.2. Простые операторы

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

Оператор присваивания (:=) вычисляет выражение, заданное в его правой части, и присваивает результат переменной, идентификатор которой расположен в левой части. Например:

X := 4;

Y := 6;

Z := (X + Y) / 2;

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

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

var

B: Byte;

I: Integer;

R: Real;

begin

B := 255;

I := B + 1; // I = 256

R := I + 0.1; // R = 256.1

I := R; // Ошибка! Типы данных несовместимы по присваиванию

end.

        1. Оператор вызова процедуры

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

Примеры вызова процедур:

ShowMessage('');; // Вызов стандартной процедуры

MyProc; // Вызов процедуры, определенной программистом

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

;

        1. Оператор безусловного перехода

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

Метка — это именованная точка в программе, в которую можно передать управление. Перед употреблением метка должна быть описана. Раздел описания меток начинается зарезервированным словом label, за которым следуют имена меток, разделенные запятыми. За последним именем ставится точка с запятой. Типичный пример описания меток:

label

Label1, Label2;

В разделе операторов метка записывается с двоеточием. Переход на метку выполняется с помощью зарезервированного слова goto, за которым следует имя метки:

program Console;

{$APPTYPE CONSOLE}

uses

SysUtils;

label

M1, M2;

begin

M1:

Write('Желаем успеха ');

goto M2;

Write('А этого сообщения вы никогда не увидите!');

M2:

goto M1;

Writeln('в освоении среды Delphi!');

Writeln('Press Enter to exit...');

Readln;

end.

В соответствии с правилами структурного программирования следует избегать применения оператора goto, поскольку он усложняет понимание логики программы. Оператор goto использовался на заре программирования, когда выразительные возможности языков были скудными. В языке Delphi без него можно успешно обойтись, применяя условные операторы, операторы повтора, процедуры Break и Continue, операторы обработки исключений.