, PHYTON. Нужно написать программу для этого телефонного справочника , которая выводит процент заполненности телефонных номеров.Тоесть должно получиться Мегафон - 30%(Т.к всех номеров 10 ,а номеров оператора Мегафон встречается-3), Теле2 - 20 % и т.д
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.
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.