Bài tập số 1
Dùng ngôn ngữ lập trình Pascal để thực hiện công việc sau:
Tạo một danh sách liên kết đơn n phần tử (n>0) chứa các số nguyên ngẫu nhiên. Hãy in ra giá trị và các vị trí của phần tử nhỏ nhất trong danh sách.
Bài tập số 2
Dùng ngôn ngữ lập trình Pascal để thực hiện công việc sau:
Tạo một danh sách liên kết đơn n phần tử (n>0) chứa các số nguyên ngẫu nhiên. Hãy in ra giá trị và các vị trí của phần tử lớn nhất trong danh sách.
Dùng ngôn ngữ lập trình Pascal để thực hiện công việc sau:
Tạo một danh sách liên kết đơn n phần tử (n>0) chứa các số nguyên ngẫu nhiên. Hãy in ra giá trị và các vị trí của phần tử nhỏ nhất trong danh sách.
Bài tập số 2
Dùng ngôn ngữ lập trình Pascal để thực hiện công việc sau:
Tạo một danh sách liên kết đơn n phần tử (n>0) chứa các số nguyên ngẫu nhiên. Hãy in ra giá trị và các vị trí của phần tử lớn nhất trong danh sách.
code:
PROGRAM DANHSACH_NOIDON;
VAR Type Contro = ^SoNguyen;
SoNguyen = Record
Value: Integer;
Next: Contro;
End;
P:Contro;
/*Cac ham va thu tuc dung trong chuong trinh*/
Procedure TaoDanhsach(Var P: Contro);
(*Thu tuc tao moi danh sach lien ket don chua cac so nguyen ngau
nhien, so phan tu nhap tu ban phim*)
Var Q,R: Contro; I,n: Interger;
Begin
Write(“Nhap co phan tu cua danh sach: ”); Readln(n);
P:=Nil; R:=P; For i:=1 to n do
Begin
New(Q);
Q^.Value := Random(32767);
If P=Nil then P:=Q
Else R^.Next:=Q; R:=Q;
End;
End;
Procedure HienthiDanhsach(P: Contro);
(*Thu tuc hien thi danh sach P ra man hinh*)
Var P:Contro;
Begin
If P=Nil then
Begin
Write(“Danh sach rong”);
Exit(1);
End;
R:=P;
While R<>Nil do
Begin
Write(R^.Value:5);
R:=R^.Next;
End;
End;
Function Min_DS (P: Contro): Integer;
(*Ham tim so nho nhat trong danh sach*)
Var R: Contro; X: Integer;
Begin
X:=P^.Value; R:=P^.Next;
While R<>Nil
Begin
If R^.Value < X then X:=R^.Value; R:=R^.Next;
End;
Min_DS:=X;
End;
Function Max_DS (P: Contro): Integer;
(*Ham tim so lon nhat trong danh sach*)
Var R: Contro; X: Integer;
Begin
X:=P^.Value; R:=P^.Next;
While R<>Nil
Begin
If R^.Value > X then X:=R^.Value;
R:=R^.Next;
End;
Max_DS:=X;
End;
Procedure SoNhoNhat (P: Contro);
(*Thu tuc hien thi so nho nhat va danh sach dia chi cua cac so nho
nhat*)
Var X: integer; R:Contro;
Begin
X:=Min_DS(P);
Writeln(“So nho nhat co trong danh sach: ”,X);
Writeln(“Vi tri:”);
R:=P;
While R<>Nil do
Begin
If R^.Value = X then Writeln(R);
R:=R^.Next;
End;
End;
Procedure SoLonNhat (P: Contro);
(*Thu tuc hien thi so lon nhat va danh sach dia chi cua cac so lon
nhat*)
Var X: integer; R:Contro;
Begin
X:=Max_DS(P);
Writeln(“So lon nhat co trong danh sach: ”,X);
Writeln(“Vi tri:”);
R:=P;
While R<>Nil do
Begin
If R^.Value = X then Writeln(R);
R:=R^.Next;
End;
End;
BEGIN
Writeln(“TAO DANH SACH LIEN KET DON”);
TaoDanhsach(P);
Writeln(“DANH SACH VUA TAO”);
HienThiDanhsach(P);
SoNhoNhat(P);
SoLonNhat(P);
Readln;
END.
Không có nhận xét nào:
Đăng nhận xét