Tải bản đầy đủ (.pdf) (4 trang)

Bài tập Pascal 08 Bài tập nâng cao Phần 2

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (101.49 KB, 4 trang )

Bài tập Pascal – Nâng cao - Phần 2
Bài 01 – Mã hoá và Giải mã chuổi
Bài toán sau mô tả một thuật toán mã hoá ñơn giản:
Tập hợp các chữ cái tiếng Anh bao gồm 26 chữ cái ñược ñánh sô thứ tự từ 0 ñến 25 như sau:
0
A

1
B

2
C

3
D

4
E

5
F

6
G

7
H

8
I


9
J

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
K L M N O P Q R S T U V W X Y Z

Quy tắc mã hoá một ký tự như sau (lấy ví dụ ký tự X):
- Tìm số thứ tự tương ứng của ký tự ta ñược 23
- Tăng giá trị số này lên 5 ta ñược 28
- Tìm số dư trong phép chia số này cho 26 ta ñược 2
- Tra ngược bảng chữ cái ta thu ñược C.
a. Sử dụng quy tắc trên ñể mã hoá các dòng chữ sau:
PEACE
I LOVE SPRING
b. Hãy tìm ra quy tắc giải mã các dòng chữ sau:
N FR F XYZIJSY
MFSTN SFYNTSFQ ZSNBJVXNYD
Chương trình mã hoá như sau:
Const
MaHoa: Array [0..25] of Char =
('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','
S','T','U','V','W','X','Y','Z');
Var
Ch: String;
i, j: Integer;
Begin
WriteLn('Ban hay nhap chuoi can ma hoa');
ReadLn(Ch);
For i:=1 to Length(Ch) do
For j:=0 to 25 do

If Ch[i] = MaHoa[j] then begin
Ch[i] := MaHoa[(j + 5) mod 26];
Break;
End;
WriteLn('Chuoi da ma hoa la ',Ch);
ReadLn;
End.

Biên soạn: Th.s Nguyễn Anh Việt

Trang 1


Bài tập Pascal – Nâng cao - Phần 2
Chương trình giải mã như sau:
Const
MaHoa: Array [0..25] of Char =
('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','
S','T','U','V','W','X','Y','Z');
Var
Ch: String;
i, j: Integer;
Begin
WriteLn('Ban hay nhap chuoi can giai ma');
ReadLn(Ch);
For i:=1 to Length(Ch) do
For j:=0 to 25 do
If Ch[i] = MaHoa[j] then begin
Ch[i] := MaHoa[(j - 5) mod 26];
Break;

End;
WriteLn('Chuoi da giai ma la ',Ch);
ReadLn;
End.

Bài 02 – Tìm số lớn nhất trong nửa ma trận dưới của một ma trận
(Mảng 1 4 7
5 2 9 => 8 là số lớn nhất trong nửa ma trận dưới
8 1 3
Bạn hãy nhập một ma trận vuông, tìm số lớn nhất trong nửa ma trận dưới của ma trận ñó.
Var
A: Array [1..10] of Integer;
i, j, n, t, Max : Integer;
Begin
WriteLn('Hay nhap so dong/ cot cua ma tran');
ReadLn(n);
{Nhập ma trận vuông}
For i:=1 to n do
For j:=1 to n do begin
WriteLn('Hay nhap phan tu thu ', i, j);
ReadLn(A[i, j]);
End;

Biên soạn: Th.s Nguyễn Anh Việt

Trang 2


Bài tập Pascal – Nâng cao - Phần 2
{In ma trận vuông}

For i:=1 to n do begin
For j:=1 to n do
Write(A[i, j]:3);
WriteLn;
End;
{Tìm Số lớn nhất trong nửa ma trận dưới}
Max := A[1,1];
For i:=1 to n do
For j:=1 to n do
If (i > j) and (Max < A[i,j]) then
Max := A[i,j];
{In kết quả}
Write('So lon nhat trong nua ma tran duoi la ', Max);
ReadLn;
End.

Bài 03 – Tìm số nhỏ nhất trong nửa ma trận trên của một ma trận
(Mảng 1 4 7
5 2 9 => 1 là số nhỏ nhất trong nửa ma trận trên
8 1 3
Bạn hãy nhập một ma trận vuông, tìm số lớn nhất trong nửa ma trận dưới của ma trận ñó.
Bài 04 – Ma trận chuyển vị của một ma trận
1 4
1 5 8
5 2
=> 4 2 1
8 1
A [i,j] => B [j,i] trong ma trận chuyển vị)
Viết chương trình nhập vào một ma trận và tìm ma trận chuyển vị của ma trận ñó.
Bài 05 – Thứ tự: Sắp thứ tự dãy số

(Dãy 9, 4, 7, 2, 5 => 2, 4, 5, 7, 9)
Bạn hãy nhập một dãy số nguyên và Sắp thứ tự các số trong dãy ñó.
(Ma trận

Var
A: Array [1..10] of Integer;
i, j, n, t: Integer;
Begin
WriteLn('Hay nhap so phan tu cua day so');
ReadLn(n);

Biên soạn: Th.s Nguyễn Anh Việt

Trang 3


Bài tập Pascal – Nâng cao - Phần 2
{Nhập dãy số}
For i:=1 to n do begin
WriteLn('Hay nhap phan tu thu ', i);
ReadLn(A[i]);
End;
{In dãy số}
For i:=1 to n do begin
Write(A[i]:3);
End;
WriteLn;
{Sắp thứ tự}
For i:=1 to n do
For j:= i+1 to n do

If A[i] > A[j] then begin
t := A[i];
A[i] := A[j];
A[j] := t;
End;
{In dãy số}
For i:=1 to n do begin
Write(A[i]:3);
End;
WriteLn;
ReadLn;
End.

Bài 06 – Tìm số lớn nhất và nhỏ nhất của dãy số sau khi sắp thứ tự
(Dãy 9, 4, 7, 2, 5 => 2, 4, 5, 7, 9 => Số lớn nhất là 9, nhỏ nhất là 2)
Bạn hãy nhập một dãy số nguyên và Sắp thứ tự các số trong dãy ñó rồi tìm số lớn nhất và nhỏ nhất của
dãy số ñó.
Bài 07 – Thứ tự: Sắp thứ tự dãy số giảm dần
(Dãy 9, 4, 7, 2, 5 => 9, 7, 5, 4, 2)
Bạn hãy nhập một dãy số nguyên và Sắp thứ tự giảm dần các số trong dãy ñó.

Biên soạn: Th.s Nguyễn Anh Việt

Trang 4



×