Добавил:
Tushkan
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз:
Предмет:
Файл:Лабораторные работы / Laba10 / DeqArr
.pas unit DeqArr;
interface
type Info = record
ch: char;
end;
var arr: array [1..100] of Info;
procedure DestroyQeq(var i: integer); {1) ЋзЁбвЁвм ¤ҐЄ}
function EmptyDeq(i: integer): boolean; {2) Џгбв «Ё ¤ҐЄ?}
procedure AddStartDeq(var i: integer; k: info); {3) „®Ў ўЁвм н«-в ў з «® ¤ҐЄ }
procedure AddEndDeq(var i: integer; k: info); {3) „®Ў ўЁвм н«Ґ¬Ґв ў Є®Ґж ¤ҐЄ }
function GetStartDeq(var i: integer; var k: info): boolean; {4) ‚§пвм н«-в Ё§ з « ¤ҐЄ }
function DelStartDeq(var i: integer): boolean; {5) “¤ «Ёвм н«-в Ё§ з « ¤ҐЄ }
procedure DelEndDeq(var i: integer); {5) “¤ «Ёвм н«-в Ё§ Є®ж ¤ҐЄ }
function MemoryControl(i: integer): boolean; {6) …бвм «Ё бў®Ў®¤ п Ї ¬пвм?}
implementation
procedure DestroyQeq(var i: integer);
begin
i:=0;
end;
function EmptyDeq(i: integer): boolean;
begin
EmptyDeq := i>0;
end;
procedure AddStartDeq(var i: integer; k: info);
var j: integer;
begin
i:=i+1;
for j := i-1 downto 1 do arr[j+1]:=arr[j];
arr[1]:=k;
end;
procedure AddEndDeq(var i: integer; k: info);
begin
i:=i+1;
arr[i+1]:=k;
end;
function GetStartDeq(var i: integer; var k: info): boolean;
var j: integer;
begin
GetStartDeq:=i>0;
if i> 0 then
begin
k:=arr[1];
for j:= 1 to i-1 do arr[j]:=arr[j+1];
end
end;
function DelStartDeq(var i: integer): boolean;
var j: integer;
begin
if i> 0 then
for j:= 1 to i-1 do arr[j]:=arr[j+1];
DelStartDeq := i>0;
end;
procedure DelEndDeq(var i: integer);
var j: integer;
begin
if i> 0 then i:=i-1;
end;
function MemoryControl(i: integer): boolean;
begin
MemoryControl:=i <100;
end;
end.
interface
type Info = record
ch: char;
end;
var arr: array [1..100] of Info;
procedure DestroyQeq(var i: integer); {1) ЋзЁбвЁвм ¤ҐЄ}
function EmptyDeq(i: integer): boolean; {2) Џгбв «Ё ¤ҐЄ?}
procedure AddStartDeq(var i: integer; k: info); {3) „®Ў ўЁвм н«-в ў з «® ¤ҐЄ }
procedure AddEndDeq(var i: integer; k: info); {3) „®Ў ўЁвм н«Ґ¬Ґв ў Є®Ґж ¤ҐЄ }
function GetStartDeq(var i: integer; var k: info): boolean; {4) ‚§пвм н«-в Ё§ з « ¤ҐЄ }
function DelStartDeq(var i: integer): boolean; {5) “¤ «Ёвм н«-в Ё§ з « ¤ҐЄ }
procedure DelEndDeq(var i: integer); {5) “¤ «Ёвм н«-в Ё§ Є®ж ¤ҐЄ }
function MemoryControl(i: integer): boolean; {6) …бвм «Ё бў®Ў®¤ п Ї ¬пвм?}
implementation
procedure DestroyQeq(var i: integer);
begin
i:=0;
end;
function EmptyDeq(i: integer): boolean;
begin
EmptyDeq := i>0;
end;
procedure AddStartDeq(var i: integer; k: info);
var j: integer;
begin
i:=i+1;
for j := i-1 downto 1 do arr[j+1]:=arr[j];
arr[1]:=k;
end;
procedure AddEndDeq(var i: integer; k: info);
begin
i:=i+1;
arr[i+1]:=k;
end;
function GetStartDeq(var i: integer; var k: info): boolean;
var j: integer;
begin
GetStartDeq:=i>0;
if i> 0 then
begin
k:=arr[1];
for j:= 1 to i-1 do arr[j]:=arr[j+1];
end
end;
function DelStartDeq(var i: integer): boolean;
var j: integer;
begin
if i> 0 then
for j:= 1 to i-1 do arr[j]:=arr[j+1];
DelStartDeq := i>0;
end;
procedure DelEndDeq(var i: integer);
var j: integer;
begin
if i> 0 then i:=i-1;
end;
function MemoryControl(i: integer): boolean;
begin
MemoryControl:=i <100;
end;
end.