14/01/2018, 19:44

Một số bài tập Pascal nâng cao

Một số bài tập Pascal nâng cao Bài tập Tin học nâng cao phần pascal là tài liệu tham khảo hay, giúp các bạn học sinh lớp 11 tiếp cận với ngôn ngữ lập trình Pascal một cách dễ dàng và vận dụng vào ...

Một số bài tập Pascal nâng cao

là tài liệu tham khảo hay, giúp các bạn học sinh lớp 11 tiếp cận với ngôn ngữ lập trình Pascal một cách dễ dàng và vận dụng vào các ngôn ngữ lập trình khác trong tin học. Đây cũng là tài liệu bồi dưỡng học sinh giỏi môn Tin hữu ích dành cho quý thầy cô và các bạn tham khảo, luyện tập. Chúc các bạn học tốt.

61 bài tập Pascal cơ bản

Tập hợp các câu hỏi trắc nghiệm Microsoft Access

100 câu hỏi trắc nghiệm Tin học văn phòng

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ó

Một số bài tập pascal nâng cao

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, mn. 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 tập 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 tập 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 tập 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:

Một số bài tập pascal nâng cao

Bài tập 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 tập 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 tập 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ẽ

Một số bài tập pascal nâng cao

Bài tập 12: 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 tập 13: 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:

Một số bài tập pascal nâng cao

Bài tập 14: Để 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í trong bảng vòng tròn. Ví dụ n = 7 thì "anh" được mã hóa thành "huo'. Bạn hãy lập chương trình nhập số tự nhiên n sau đó:

a) Mã hóa một văn bản (xâu kí tự)

b) Giải mã một văn bản đã mã hóa

Bài tập 15: Để 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: Thay mỗi kí tự bằng kí tự đứng sau nó trong bảng chữ cái, riêng z thay bằng a. Ví dụ 'anh' được mã hóa thành 'boi'. Bạn hãy lập trình để

a) Mã hóa một văn bản (xâu kí tự)

b) Giải mã một văn bản đã mã hóa

0