- •Лекция 2
- •1.8. Операторы, выражения, операции
- •1.8.1. Исполняемые операторы
- •1.8.2. Оператор присваивания
- •1.8.3. Выражения
- •1.8.4. Арифметические функции
- •1.8.6. Операции
- •1.8.6.1. Арифметические операции
- •1.8.6.2. Логические операции
- •1.8.6.3. Операторы отношения
- •1.8.6.4. Операторы для строк (String)
- •2. Структура: программы, процедуры, функции, модуля
- •2.1. Структура программы
- •2.2. Структура функции
- •2.3. Структура процедуры
- •2.4. Структура модуля
- •Имя модуля и имя файла, в котором записан модуль должны совпадать.
- •2.5. Список параметров
- •2.5.1. Область видимости
- •2.5.2. Формальные и фактические параметры
- •2.5.3. Параметры-значения, параметры-переменные, нетипизированные параметры
- •3. Операторы
- •3.2. Оператор if
- •3.1. Оператор for
- •3.2. Оператор while
- •3.3. Оператор цикла repeat
- •3.4. Оператор выбора case
1.8.6.3. Операторы отношения
Операторы отношения используются для сравнения двух операндов. Операторы =, <>, <= и >= могут применяться к множествам; = и <> могут применяться к указателям.
Оператор |
Операция |
Тип операндов |
Тип |
Пример |
= |
равно |
простые, string |
Boolean |
I = Max |
<> |
Не равно |
Простые, string |
Boolean |
X <> Y |
< |
Меньше |
Простые, string, PChar |
Boolean |
X < Y |
> |
больше |
Простые, string, PChar |
Boolean |
Len > 0 |
<= |
Меньше-равно |
Простые, string, Pchar |
Boolean |
Cnt <= I |
>= |
Больше-равно |
простые, string, Pchar |
Boolean |
I >= 1 |
1.8.6.4. Операторы для строк (String)
Операторы отношения =, <>, <, >, <= и >= применимы для строк. Оператор + соединяет две строки.
Оператор |
Операция |
Тип операндов |
Тип результата |
Пример |
+ |
соединение |
string, packed string |
string |
S + '. ' |
Следующие правила относятся к соединению строк:
Операнды для + могут быть строками, упакованными строками или символами.
Результат совместим с любым типом строки. Тем не менее, если операнды - короткие строки или символы и их суммарная длина больше чем 255, то результат ограничивается длиной 255 символов.
2. Структура: программы, процедуры, функции, модуля
Процедуры и функции – программные блоки (подпрограммы), которые могут вызываться из разных частей программы. При вызове в них передаются фактические параметры (константы, переменные, выражения), которые в подпрограммах воспринимаются как формальные параметры.
2.1. Структура программы
program NameProg; |
Раздел описания типов, констант, переменных, процедур, функций |
Begin |
Радел операторов; |
end. |
2.2. Структура функции
function NameFunc(список параметров): ТИП; |
Раздел описания типов, констант, переменных, процедур, функций |
Begin |
Радел операторов; Result:=…; NameFunc:=…; |
End; |
Возвращаемое значение в теле функции может присваиваться или имени функции или специальной переменной Result.
Пример списка параметров:
X,y: integer; a,b,c: real; var s: string
Пример: Вычислить площадь треугольника, зная координаты вершин.
Листинг 3. Площадь треугольника
program Pr3;
{$APPTYPE CONSOLE}
var
x1,y1, x2,y2, x3,y3, S: real;
function Distance(x1,y1,x2,y2: real): real;
// вычисление длины отрезка
var
begin
Result := Sqrt(Sqr(x2-x1) + Sqr(y2-y1));
end;
function FSurface(x1,y1,x2,y2,x3,y3: real): real;
// вычисление площади треугольника по формуле Герона
// x1,y1,x2,y2,x3,y3 – формальные параметры
var
a,b,c,p: real;
begin
a:=Distance(x1,y1,x2,y2);
b:=Distance(x2,y2,x3,y3);
c:=Distance(x3,y3,x1,y1);
p:=(a+b+c)/2;
Result:=Sqrt(p*(p-a)*(p-b)*(p-c));
end;
begin
Write(‘x1=’); Readln(x1); Write(‘y1=’); Readln(y1);
Write(‘x2=’); Readln(x2); Write(‘y2=’); Readln(y2);
Write(‘x3=’); Readln(x3); Write(‘y3=’); Readln(y3);
// x1,y1,x2,y2,x3,y3 – фактические параметры
S:=FSurface(x1,y1,x2,y2,x3,y3); Write(‘S=’,S:12:4);
Readln;
end.
