Đồ Án Giáo Trình PasCal

Chia sẻ bởi Trần Minh Thế | Ngày 26/04/2019 | 86

Chia sẻ tài liệu: Đồ Án Giáo Trình PasCal thuộc Công nghệ thông tin

Nội dung tài liệu:

USES CRT; CONST  MaxLength=50;     {do dai danh sach} TYPE Elementtype = Integer;    {kieu phan tu trong DS} Position = Integer;     {kieu vi tri cac phan tu}     List= record {mang chua cac phan tu cua danh sach} Element: Array[1..MaxLength] of Elementtype; Last : Integer; { giu do dai danh sach } End; {------------------------------------------------------------------} Procedure Makenull_List(var L: List); begin      L.Last:=0; end; Function Empty_List(L : List ) : Boolean; Begin      Empty_List:=(L.Last=0); End; {------------------------------------------------------------------} Procedure Insert_List(X:Elementtype; P:Position; var L: List); Var q:Position; Begin      If L.last>=MaxLength Then   Writeln(`Loi : danh sach day `)      Else         If (p>L.Last+1) or (p<1) Then        Writeln(`Loi: vi tri khong hop le `) Else   Begin       {doi cac phan tu tu vi tri P den cuoi danh sach xuong 1 vi tri }       For q:=L.Last Downto p Do       L.Element[q+1]:=L.Element[q];               L.Last:=L.Last+1; {do dai tang len 1}       L.Element[p]:=X; {dat vao vi tri P}   End; End; {-----------------------------------------------------------------------------------------} procedure Delete_List(P:Position ; var L:List); Var q:Position; Begin      If (p>L.last) or (p<1) then writeln(`Loi : vi tri cua phan tu xoa khong hop le `)      Else Begin   {doi cac phan tu tu vi tri P+1 den cuoi danh sach len 1 vi tri }           For q:=p+1 to L.Last do L.Element[q-1]:=L.Element[q];              L.Last:=L.Last-1;         End; End; {-------------------------------------------------------------------------------} Function End_List(L: List) : Position; Begin      End_List:=L.Last+1; End; {--------------------------------------------------------------------------------} Function Next(p:Position; L: List) : Position; Begin      If (p>L.Last) or (p<1) Then         writeln(`Khong xac dinh `)     Else     Next:=p+1; End; {---------------------------------------------------------------------------------} Function Previous (p:Position; L: List) : Position; Begin      If (p>L.Last+1) or (p<2) Then         writeln(`Khong xac dinh `)     Else     Previous:=p-1; End; {---------------------------------------------------------------------------------} Procedure Read_List(var L:List);{Nhap so lieu cho danh sach}     Var         i,n:integer;         X: ElementType;     Begin         Makenull_List(L);        gotoxy(10,6);Write(`Nhap vao so luong phan tu cua mang:`);Readln(n);         For i:=1 to n do          Begin               Gotoxy(10,6+i); Write(`Nhap phan tu thu `,i,` : `);                Readln(X);                Insert_List(X,End_List(L),L);          end;     end;     Procedure Read_List1(var L:List;h:word);{Nhap so lieu cho danh sach}     Var         i,n:integer;         X: ElementType;     Begin         Makenull_List(L);       gotoxy(10,h);Write(`Nhap vao so luong phan tu cua mang:`);Readln(n);         For i:=1 to n do          Begin               Gotoxy(10,h+i); Write(`Nhap phan tu thu `,i,` : `);                Readln(X);                Insert_List(X,End_List(L),L);          end;     end; {----------------------------------------------------------------------------------} Procedure Print_List(L:List;n:Word);{Xuat danh sach }    Var         i:integer;    Begin        if (not Empty_List(L)) then             for i:=1 to L.Last do                    write(L.Element[i]:n)         else                write(`* Danh sach rong`);          writeln;    End; {-------------------------------------------------------------------------------------------------------------} Procedure KT(L:List;Var n:integer); Var i:integer; Begin i:=1
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Trần Minh Thế
Dung lượng: | Lượt tài: 1
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)