Оператор присваивания. <идентификатор>:=<выражение>;
<идентификатор>:=<выражение>;
Значение выражения присваивается переменной, полю или типизированной константе любого типа с указанным идентификатором.
Оператор безусловного перехода Goto
Goto <метка>;
Управление передается к оператору с указанной меткой. Метка может быть идентификатором или числом от 0 до 9999. Не разрешается передавать управление извне вовнутрь цикла или другой подпрограммы. Объявление метки, сама метка и оператор Goto должны находиться в одной головной программе или в подпрограмме.
Оператор вызова процедуры или функции
<имя процедуры/функции>[(<аргументы>)].Передается управление указанной процедуре или функции с соответствующими значениями аргументов. Вызов функции может быть и в любом выражении. Допускается вложенность функций при вызове.
Пустой оператор ( ; )
Пустой оператор может использоваться для организации пустых циклов, перехода в конец составного оператора.
Условный оператор If
If <условие> Then <оператор‑1> [ Else <оператор‑2>];
<условие> ‑ произвольное выражение логического типа. Если оно ‑ истина, то выполняется <оператор‑1>, а <оператор‑2> пропускается. Если условие ложно, то <оператор‑1> пропускается, а выполняется <оператор‑2>. Допускается вложенность условных операторов. При вложенных операторах вложенному Else соответствует ближайший If.
Оператор множественного выбора Case
Case <ключ выбора> Of
<список‑1> : <оператор‑1>;
...
<список‑ n>: <оператор‑ n>
[Else <оператор>]
End;
Ключ выбора ‑ это выражение порядкового типа (не вещественные числа и не строки), значение которого определяет выбор нужного оператора для выполнения значения этого выражения, принадлежащего одному из списков.
Список‑i ‑ список чисел, диапазонов или других типов констант через запятую. Если значение ключа выбора принадлежит i‑му списку, то выполняется оператор, стоящий после этого списка.
Else задает оператор, который выполняется в случае, когда значение не принадлежит ни одному из списков.
Пример анализа односимвольного ответа пользователя:
Var Otvet : Char //объявление переменной с символом ответа пользователя
... Case Otvet Of //анализ возможных вариантов ответа пользователя
‘y’,’Y’,’д’,’Д’ : PrYes; //положительный ответ ‑ выполнение прогр. PrYes
‘n’,’N’,’н’,’Н’ : PrNo; //отрицательный ответ ‑ выполнение прогр. PrNo
Else ShowMessage(‘Ошибочный ответ!’); //запрещенный символ
Операторы цикла
Можно досрочно выйти из любого цикла, используя оператор Break, и досрочно перейти к следующему повторению цикла, используя процедуру Continue.
Счетный цикл For
For<счетчик>:=<начальное значение>{To|Downto}<конечное значение>
Do <оператор>;
<счетчик> ‑ числовая переменная, которая автоматически увеличивается (или уменьшается на единицу, если указано DOWNTO) после выполнения оператора с начального значения до конечного значения.
Допускается вложенность цикла.
Примерпроцедуры вывода простых чисел:
Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры
Var i,j: integer; prostoe:Boolean; //объявление переменных
Begin // начало раздела операторов
For i:=3 to 100 Do // внешний цикл просмотра всех чисел от 3 до 100
Begin prostoe:=True; // начало тела внешнего цикла
For j:=2 to i‑1 Do //начало внутреннего цикла подбора делителей числа i
If i mod j=0 then Begin prostoe:=False; Break; End; //составное число i
If prostoe then Label1.Caption:=Label1.Caption+IntToStr(i)+','; // простое i
End //окончание внешнего цикла
End //окончание процедуры
1.4.8.2. Цикл Repeat‑ Until
Repeat<операторы тела цикла>Until<условие типа пока не>;
После выполнения операторов тела цикла проверяется условие, и если оно истинно, то цикл заканчивается, иначе ‑ цикл повторяется.
Пример.Подсчитать сумму ряда 1+1/2+1/3+...1/n с точностью до 0.0001 (пока не 1/n<0.0001).
Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры
Var i:integer; s:real; Const e=0.0001; //объявление переменных и константы
Begin s:=0; i:=0; Repeat i:=i+1; s:=s+1/i Until (1/i)<e; //цикл суммирования
Label1.caption:=FloatToStr(s) End; //вывод суммы и окончание процедуры
Цикл While
While <условие> Do <оператор>;
Если условие истинно, то выполняется оператор.
Пример. Найти минимальное слагаемое к единице, изменяющее ее (машинный эпсилон - погрешность в вычислениях).
Procedure TForm1.Button1Click(Sender: TObject); //заголовок процедуры
Var e: real; //объявление переменной
Begin e:=1;While e/2+1>1 do e:=e/2; //цикл определения погрешности
Label1.caption:=FloatToStr(e) end; //вывод погрешности в метку Label1
1.4.9. Оператор присоединения имени ‑ With
Оператор используется для сокращения записи при обращении к полям записей, к свойствам и методам объектов и имеет вид:
With<список имен записей или объектов через запятую>Do <оператор>;
Допускается вложенность операторов With.
Запись вида: With A Do ... With B Do ... With C ...
эквивалентна записи: With A, B, C Do ...
В операторе после Do можно не уточнять ссылки для полей, свойств и методов записей и объектов, соответственно, указанных после With.
Пример обращения к полям Fam и Gr записи Sotrudnik. Вместо операторов Sotrudnik.Fam:=’Иванов’; Sotrudnik.Gr:=1970; можно записать:
With Sotrudnik Do Begin Fam:=’Иванов’; Gr:=1970; End;
Дата добавления: 2016-03-22; просмотров: 560;