function Len(x1,y1, x2, y2:real):real;
begin
Len := sqrt( sqr(x1 - x2) + sqr(y1 - y2) );
end;
var
x1,x2,x3,x4,x5, y1, y2, y3, y4, y5:real;
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);
write('x4 = '); readln(x4);
write('y4 = '); readln(y4);
write('x5 = '); readln(x5);
write('y5 = '); readln(y5);
writeln('P = ', Len(x1,y1,x2,y2) + Len(x2,y2,x3,y3) + Len(x3,y3,x4,y4) + Len(x4,y4,x5,y5) + Len(x5,y5,x1,y1));
end.
1) absolute - директива для задания адреса переменной.
Например:
var
a : integer absolute $0040:$0002; //Сеегмент:смещение
2) asm - директива для ассемблерных вставок.
используется в критичных участках кода.
пример:
begin
asm
xor ax, ax
end
end.
3)
Конструктор и деструктор нужны для создания и уничтожения экземпляра класса.
Существуют конструкторы/деструкторы по умолчанию, но если мы хотим заменить его своим, то используются constructor/destructor.
Пишется просто - вместо function/procedure пишется constructor/destructor, ну и в классе прописывается.
type
ooo = class
public
a, b : integer;
constructor create (x, y : integer);
end;
constructor ooo.create (x, y : integer);
begin
a := x;
b := y;
end;
4)
implementation - в модуле обозначает начало исполняемой части, то есть там сами функции, процедуры и инициализация модуля.
Нужна, разумеется, чтобы отделить части модуля друг от друга.
Пример модуля:
Unit embler;
Interface
Procedure AddS (x,y: integer, var z: integer);
Implementation
Procedure AddD (x,y: integer, var z: integer);
begin
z := 2 * x + y;
end;
end.
5) Например, Graph - позволяет работать с графикой,
Math - математические функции, Windows - системные функции.
6) Pointer хранит адрес. По этому адресу можно пойти и взять значение переменной, при этом неважно какого она типа. Там, например может быть массив.
7) @ - берет адрес переменной
^ - обозначение, что это указатель ИЛИ что это разыменование
пример:
var
a : ^integer; // указатель на Integer;
b : integer;
begin
a := @b;
b := a^ + 2; //То же самое, что b := b + 2;
end.
Поделитесь своими знаниями, ответьте на вопрос:
Статья занимает одну страницу, на странице 32 строки в каждой строке по 16 символов. Вычислите, информационный объём страницы, считая, что каждый символ кодируется 16 битами. ответ дайте в Кб
ответ: 1,024 кб
Объяснение:
32 * 16 = 512 - кол-во символов в статье
512 * 16 = 8192 битов
8192 : 8000 = 1,024 кб