Đồ Án Giáo Trình PasCal
Chia sẻ bởi Trần Minh Thế |
Ngày 26/04/2019 |
100
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: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)