?>
Определите, что будет на выходе в результате выполнения алгоритма. запишите условие , для решения которой составлен данный алгоритм. a) var n: integer; begin n: =200; while (n mod 17< > 0) do n: =n+l; writeln ('ответ: ', n); end. b) var n: integer; begin n: =200; while (n mod 18< > 0) do n: =n+l; writeln ('ответ: ', n); end.
Ответы
1) absolute - директива для адреса переменной.например: var a : integer absolute $0040: $0002; //сеегмент: смещение
2) asm - директива для ассемблерных вставок. используется в критичных участках кода. пример:
begin asm xor ax, ax endend.
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.