Chào mừng quý vị đến với Một ngày một ý tưởng -Bùi Đức Hạnh.
Quý vị chưa đăng nhập hoặc chưa đăng ký làm thành viên, vì vậy chưa thể tải được các tư liệu của Thư viện về máy tính của mình.
Nếu chưa đăng ký, hãy đăng ký thành viên tại đây hoặc xem phim hướng dẫn tại đây
Nếu đã đăng ký rồi, quý vị có thể đăng nhập ở ngay ô bên phải.
Bài tập pascal rất hay

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Đình Hải (trang riêng)
Ngày gửi: 14h:53' 20-02-2009
Dung lượng: 52.0 KB
Số lượt tải: 484
Nguồn:
Người gửi: Trần Đình Hải (trang riêng)
Ngày gửi: 14h:53' 20-02-2009
Dung lượng: 52.0 KB
Số lượt tải: 484
Số lượt thích:
0 người
Bài tập 1: Viết chương trình nhập vào số tự nhiên N (N lẻ), sau đó điền các số từ 1 đến n2 vào trong một bảng vuông sao cho tổng các hàng ngang, hàng dọc và 2 đường chéo đều bằng nhau (bảng này được gọi là Ma phương).
Ví dụ: Với N=3 và N=5 ta có
Bắc
2
7
6
3
16
9
22
15
9
5
1
20
8
21
14
2
4
3
8
Tây
7
25
13
1
19
Đông
24
12
5
18
6
11
4
17
10
23
Nam
Phuơng pháp:
Xuất phát từ ô bên phải của ô nằm giữa. Đi theo hướng đông bắc để điền các số 1, 2, ...
Khi điền số, cần chú ý một số nguyên tắc sau:
- Nếu vượt ra phía ngoài bên phải của bảng thì quay trở lại cột đầu tiên.
- Nếu vượt ra phía ngoài bên trên của bảng thì quay trở lại dòng cuối cùng.
- Nếu số đã điền k chia hết cho N thì số tiếp theo sẽ được viết trên cùng một hàng với k nhưng cách 1 ô về phía bên phải.
Bài tập 2: Viết chương trình in ra màn hình tam giác Pascal. Ví dụ, với n=4 sẽ in ra hình sau:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Ý tưởng:
Tam giác Pascal được tạo ra theo qui luật sau:
+ Mỗi dòng đều bắt đầu và kết thúc bởi số 1.
+ Phần tử thứ j ở dòng k nhận được bằng cách cộng 2 phần tử thứ j-1 và j ở dòng
Bài tập 3: Viết chương trình nhập vào 2 dãy số nguyên (a)n và (b)m, m(n. Kiểm tra xem dãy {b} có phải là dãy con của dãy {a} không?
Bài tập 4: Viết chương trình nhập vào một dãy số nguyên a1, a2, ..., an. Tìm trong dãy {a} một dãy con tăng dần dài nhất (có số phần tử lớn nhất) và in ra màn hình dãy con đó.
Bài tập 5: Cho mảng 2 chiều A cấp mxn. Viết chương trình sắp xếp lại mảng A theo yêu cầu sau:
a/ Các phần tử trên mỗi dòng được sắp xếp theo thứ tự giảm dần.
b/ Các dòng được sắp xếp lại theo thứ tự tăng dần của tổng các phần tử trên mỗi dòng.
Bài 6: Tìm điểm cực tiểu của mảng hai chiều
Một phần tử được gọi là điểm cực tiểu của mảng 2 chiều A[m.n] nếu nó không lứon hơn các phần tử kề nó
Bài 7: Tìm " Phần tử yên ngựa" cuả mảng hai chiều
Phần tử A[i,j] được gọi là "yên ngựa" của mảng hai chiều nếu nó đồng thời là phần tử nhỏ nhất của dòng i và là phần tử lớn nhất của cột j, hoăck A[i,j] phải là phần tử lớn nhất cảu dòng i và là phần tử nhỏ nhất của cột j
Bài 8: Cho ma trận các số nguyên A[m,n], hãy sắp xếp lại ma trận sao cho các phần tử của chúng có giá trị tăng dần theo đường xoắn óc từ ngoài vào trong như hình vẽ sau:
Bài 9: Tìm tất cả các phần tử A[i,j]>0 nằm giữa các phần tử <=0 trong một ma trận vuông A[n,n]
Bài 10: Tìm các phần tử cảu một ma trận vuông là MIN hoặc MAX của các phần tử nằm trên 2 đường chéo chính
Bài 11: Viết chương trình sắp xếp các phần tử của ma trận vuông A[n,n] sao cho các phần tử của nó tăng dần khi đi theo đường zigzag như hình vẽ
Bài tập 11: Viết chương trình để nén và giải nén một xâu ký tự .
Ví dụ: Xâu ‘AAAABBBCDDDDDDDEEF’ sau khi nén sẽ trở thành ‘4A3BC7D2EF’.
Bài 12: CHo mảng số thực vuông kích thước 2n x 2n. Hãy lập các mảng mới bằng cách đổi chổ cho khối ô vuông kích thước n x n của mảng A theo cách sau:
Bài 13 : Để mã hóa một văn bản gồm toàn chữ cái tiếng anh người ta có thể làm như sau: Xếp bảng chữ cái theo vòng tròn, sau đó thay mỗi kí tự bằng kí tự đứng sau nó n vị trí
Ví dụ: Với N=3 và N=5 ta có
Bắc
2
7
6
3
16
9
22
15
9
5
1
20
8
21
14
2
4
3
8
Tây
7
25
13
1
19
Đông
24
12
5
18
6
11
4
17
10
23
Nam
Phuơng pháp:
Xuất phát từ ô bên phải của ô nằm giữa. Đi theo hướng đông bắc để điền các số 1, 2, ...
Khi điền số, cần chú ý một số nguyên tắc sau:
- Nếu vượt ra phía ngoài bên phải của bảng thì quay trở lại cột đầu tiên.
- Nếu vượt ra phía ngoài bên trên của bảng thì quay trở lại dòng cuối cùng.
- Nếu số đã điền k chia hết cho N thì số tiếp theo sẽ được viết trên cùng một hàng với k nhưng cách 1 ô về phía bên phải.
Bài tập 2: Viết chương trình in ra màn hình tam giác Pascal. Ví dụ, với n=4 sẽ in ra hình sau:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
Ý tưởng:
Tam giác Pascal được tạo ra theo qui luật sau:
+ Mỗi dòng đều bắt đầu và kết thúc bởi số 1.
+ Phần tử thứ j ở dòng k nhận được bằng cách cộng 2 phần tử thứ j-1 và j ở dòng
Bài tập 3: Viết chương trình nhập vào 2 dãy số nguyên (a)n và (b)m, m(n. Kiểm tra xem dãy {b} có phải là dãy con của dãy {a} không?
Bài tập 4: Viết chương trình nhập vào một dãy số nguyên a1, a2, ..., an. Tìm trong dãy {a} một dãy con tăng dần dài nhất (có số phần tử lớn nhất) và in ra màn hình dãy con đó.
Bài tập 5: Cho mảng 2 chiều A cấp mxn. Viết chương trình sắp xếp lại mảng A theo yêu cầu sau:
a/ Các phần tử trên mỗi dòng được sắp xếp theo thứ tự giảm dần.
b/ Các dòng được sắp xếp lại theo thứ tự tăng dần của tổng các phần tử trên mỗi dòng.
Bài 6: Tìm điểm cực tiểu của mảng hai chiều
Một phần tử được gọi là điểm cực tiểu của mảng 2 chiều A[m.n] nếu nó không lứon hơn các phần tử kề nó
Bài 7: Tìm " Phần tử yên ngựa" cuả mảng hai chiều
Phần tử A[i,j] được gọi là "yên ngựa" của mảng hai chiều nếu nó đồng thời là phần tử nhỏ nhất của dòng i và là phần tử lớn nhất của cột j, hoăck A[i,j] phải là phần tử lớn nhất cảu dòng i và là phần tử nhỏ nhất của cột j
Bài 8: Cho ma trận các số nguyên A[m,n], hãy sắp xếp lại ma trận sao cho các phần tử của chúng có giá trị tăng dần theo đường xoắn óc từ ngoài vào trong như hình vẽ sau:
Bài 9: Tìm tất cả các phần tử A[i,j]>0 nằm giữa các phần tử <=0 trong một ma trận vuông A[n,n]
Bài 10: Tìm các phần tử cảu một ma trận vuông là MIN hoặc MAX của các phần tử nằm trên 2 đường chéo chính
Bài 11: Viết chương trình sắp xếp các phần tử của ma trận vuông A[n,n] sao cho các phần tử của nó tăng dần khi đi theo đường zigzag như hình vẽ
Bài tập 11: Viết chương trình để nén và giải nén một xâu ký tự .
Ví dụ: Xâu ‘AAAABBBCDDDDDDDEEF’ sau khi nén sẽ trở thành ‘4A3BC7D2EF’.
Bài 12: CHo mảng số thực vuông kích thước 2n x 2n. Hãy lập các mảng mới bằng cách đổi chổ cho khối ô vuông kích thước n x n của mảng A theo cách sau:
Bài 13 : Để mã hóa một văn bản gồm toàn chữ cái tiếng anh người ta có thể làm như sau: Xếp bảng chữ cái theo vòng tròn, sau đó thay mỗi kí tự bằng kí tự đứng sau nó n vị trí
 






Các ý kiến mới nhất