Bài 01 – Đổi chỗ số lớn nhất đường chéo chính và số nhỏ nhất đường chéo phụ Bài 02 – Tìm số lớn nhất trên vòng ngoài cùng của ma trận Bài 03 – Tìm số lớn nhất trên khối trong của ma trận Bài 04 – Tổng k chữ số tận cùng của một số
Bài tập Pascal – Nâng cao - Phần Bài 01 – Đổi chỗ số lớn ñường chéo số nhỏ ñường chéo phụ (Mảng 7 => 8 có Số lớn ñường chéo 3, số nhỏ ñường chéo phụ 2) Bạn nhập ma trận vuông, tìm ñổi chỗ số lớn ñường chéo số nhỏ ñường chéo phụ ma trận ñó Var A: Array [1 10] of Integer; i, j, n, t: Integer; Max, Min, SLN_VT_dong, SLN_VT_cot, SNN_VT_dong, SNN_VT_cot: Integer; Begin WriteLn('Hay nhap so dong/ cot cua mang'); ReadLn(n); {Nhập ma trận vuông} For i:=1 to n For j:=1 to n begin WriteLn('Hay nhap phan tu thu ', i, j); ReadLn(A[i, j]); End; {In ma trận vuông} For i:=1 to n begin For j:=1 to n Write(A[i, j]:3); WriteLn; End; {Tìm Số lớn ñường chéo vị trí} Max := A[1,1]; For i:=1 to n For j:=1 to n If (i = j) and (Max < A[i,j]) then begin Max := A[i,j]; SLN_VT_dong := i; SLN_VT_cot := j; End; {Tìm Số nhỏ ñường chéo phụ vị trí} Max := A[1,n]; For i:=1 to n For j:=1 to n If (i + j = n + 1) and (Min > A[i,j]) then begin Min := A[i,j]; Biên soạn: Th.s Nguyễn Anh Việt Trang Bài tập Pascal – Nâng cao - Phần SNN_VT_dong := i; SNN_VT_cot := j; End; {Đổi vị trí} T := A[SLN_VT_Dong, SLN_VT_Cot]; A[SLN_VT_Dong, SLN_VT_Cot] := A[SNN_VT_Dong, SNN_VT_Cot]; A[SNN_VT_Dong, SNN_VT_Cot] := t; {In ma trận vuông kết quả} For i:=1 to n begin For j:=1 to n Write(A[i, j]:3); WriteLn; End; ReadLn; End Bài 02 – Tìm số lớn vòng ma trận (Mảng => số lớn vòng Bạn nhập ma trận vuông, tìm số lớn vòng ma trận ñó Var A: Array [1 10] of Integer; i, j, n, t, Max : Integer; Begin WriteLn('Hay nhap so dong/ cot cua mang'); ReadLn(n); {Nhập ma trận vuông} For i:=1 to n For j:=1 to n begin WriteLn('Hay nhap phan tu thu ', i, j); ReadLn(A[i, j]); End; {In ma trận vuông} For i:=1 to n begin For j:=1 to n Write(A[i, j]:3); WriteLn; End; {Tìm Số lớn vòng cùng} Max := A[1,1]; For i:=1 to n Biên soạn: Th.s Nguyễn Anh Việt Trang Bài tập Pascal – Nâng cao - Phần For j:=1 to n If ((i=1) or (i=1) or (j=1) or (j=n)) and (Max < A[i,j]) then Max := A[i,j]; {In kết quả} Write('So lon nhat tren vòng ngoai cung cua ma tran la ', Max); ReadLn; End Bài 03 – Tìm số lớn khối ma trận (Mảng 7 => số lớn khối 9 Bạn nhập ma trận vuông, tìm số lớn khối ma trận ñó Var A: Array [1 10] of Integer; i, j, n, t, Max : Integer; Begin WriteLn('Hay nhap so dong/ cot cua mang'); ReadLn(n); {Nhập ma trận vuông} For i:=1 to n For j:=1 to n begin WriteLn('Hay nhap phan tu thu ', i, j); ReadLn(A[i, j]); End; {In ma trận vuông} For i:=1 to n begin For j:=1 to n Write(A[i, j]:3); WriteLn; End; {Tìm Số lớn khối trong} Max := A[1,1]; For i:=1 to n For j:=1 to n If not (((i=1) or (i=1) or (j=1) or (j=n)) and (Max < A[i,j])) then Max := A[i,j]; Biên soạn: Th.s Nguyễn Anh Việt Trang Bài tập Pascal – Nâng cao - Phần {In kết quả} Write('So lon nhat tren khoi cua ma tran la ', Max); ReadLn; End Bài 04 – Tổng k chữ số tận số (Số 365 có tổng chữ số tận 11) Lập chương trình nhập vào số tự nhiên n (n0) nhập vào m, sau ñó tính tổng m số tận n Ví dụ: n = 365, m =2 tổng chữ số tận = 5+6 = 11 Var Tong, n, i: Integer; Begin WriteLn('Hay nhap so'); ReadLn(n); WriteLn('Muon tính tong bao nhieu chu so tan cung'); ReadLn(k); {Tính tổng k chữ số tận cùng} i := 1; While i