Tải bản đầy đủ (.docx) (8 trang)

Tuyển tập Bài tập ôn học sinh giỏi môn Tin học lập trình

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 (131.67 KB, 8 trang )

Kiến thức cần nắm được, tự nghiên cứu trước gồm:
- Cấu trúc lặp và rẽ nhánh (đã được học)
- Kiểu dữ liệu mảng, xâu ký tự: SGK Tin 11 + Internet
- Các hàm xử lý trên kiểu dữ liệu xâu và mảng: SGK Tin 11 + Internet
Vận dụng lập trình bằng ngơn ngữ Pascal để giải các bài tốn sau:
Bài 1 (3 điểm):
Nhập mảng A gồm N phần tử nguyên dương ( 5 ≤ N ≤ 250), mỗi phần tử có giá trị khơng
quá 255. Đưa ra màn hình giá trị và vị trí của phần tử chẵn lớn nhất trong mảng. Nếu trong
mảng không có phần tử chẵn thì đưa ra thông báo ‘Trong mang khong co so chan’
VD: Mảng A gồm các phần tử 6 0 15

4

24 13 1

Kết quả đưa ra màn hình: So chan lon nhat la so thu 5 co gia tri la 24
Mảng A gồm các phần tử 1 15 7

11 3

Kết quả đưa ra màn hình: Trong mang khong co so chan
Bài 2 (3 điểm):
Viết chương trình nhập từ bàn phím một số tự nhiên N (0 < N ≤ 100). Hãy liệt kê và đưa ra
màn hình các cách phân tích số N thành tổng của ba số tự nhiên khác nhau. Nếu khơng có
cách nào hãy in ra màn hình câu thông báo ‘KHONG CO’.
VD: N = 4 Kết quả đưa ra màn hình: KHONG CO
N = 6 Kết quả đưa ra màn hình: 6 = 1 + 2 + 3
N = 8 Kết quả đưa ra màn hình: 8 = 1 + 2 + 5
8=1+3+4
Bài 3 (4 điểm):
Một số tự nhiên được gọi là số thân thiện nếu ước chung lớn nhất của số đó và số đảo ngược


của nó bằng 1. Ví dụ: số 23, số đảo ngược của nó là 32, hai số này có ước chung lớn nhất là 1 nên
số 23 là số thân thiện và 32 cũng là số thân thiện.
Viết chương trình nhập từ bàn phím 1 số tự nhiên N(N ≥ 10) và kiểm tra xem N có phải là
số thân thiện hay khơng?
Bài 4 ( 3,5 điểm):
trình:

Nhập vào một xâu bất kỳ có độ dài khơng q 100 ký tự từ bàn phím. Hãy viết chương

a) In ra màn hình xâu con dài nhất chứa liên tiếp kí tự ‘a’ và độ dài của xâu đó. Nếu xâu
khơng có ký tự ‘a’ thì đưa ra màn hình thông báo ‘Xau khong co ky tu a’
VD: Xâu nhập vào: aabcaaade
Kết quả đưa ra màn hình: Xau con dai nhat la: aaa
Do dai: 3
b) Tính xem trong xâu có bao nhiêu loại kí tự khác nhau (phân biệt chữ in hoa với chữ in
thường).


VD1: Xâu nhập vào: Pascal
Kết quả đưa ra màn hình: Trong xau co 5 loai ky tu.
VD2: Xâu nhập vào: Aabcaaa
Kết quả đưa ra màn hình: Trong xau co 4 loai ky tu.
Bài 5 ( 3,5 điểm):
trình:

Nhập vào một xâu bất kỳ có độ dài khơng q 100 ký tự từ bàn phím. Hãy viết chương

Loại bỏ các ký tự trống của xâu ký tự theo quy tắc: Khơng có ký tự trắng ở đầu và cuối xâu,
giữa các từ trong xâu chỉ có duy nhất 1 ký tự trống. In ra màn hình xâu kết quả sau khi đã sửa lỗi.
VD: Xâu nhập vào:


Happy

New

Year

!

Kết quả đưa ra màn hình: Xau con dai nhat la: Hapy New Year!


Bài 6 ( 3,5 điểm):
Nhập mảng A gồm N phần tử nguyên dương ( 5 ≤ N ≤ 250), mỗi phần tử có giá trị
khơng q 255 và một số tự nhiên K (0 < K ≤ N). Đưa ra màn hình mảng A vừa nhập và
thơng báo mảng A có K số ngun dương cạnh nhau hay khơng?
VD1: Dữ liệu vào:N = 8
A = 2 -2 5 7 3 0 2 -1
K=4
Kết quả đưa ra màn hình: Trong day khong co 4 so duong dung canh nhau
VD2: Dữ liệu vào:N = 9
A = 1 -2 3 7 9 1 2 -1 -7
K=5
Kết quả đưa ra màn hình: Trong day co 5 so duong dung canh nhau
Câu 7 (3,0 điểm): Xâu thuần nhất.
Một xâu kí tự thuần nhất được định nghĩa là xâu chỉ bao gồm các kí tự ‘A’.. ‘Z’
hoặc ‘a’.. ‘z’. Một xâu thuần nhất có thể được viết thu gọn, bao gồm các ký tự kèm theo
số lần xuất hiện liên tiếp của ký tự đó. Hãy viết chương trình kiểm tra nếu là xâu thuần
nhất thì hãy chuyển đổi nó về dạng thu gọn. Ngược lại nếu là xâu thuần nhất dạng thu
gọn thì hãy chuyển đổi trở lại dạng thuần nhất tương ứng.

Ví dụ
INPUT

OUTPUT

ABBBBCKKKEEF

A4BC3K2EF

A2B3D3EP

ABBDDDEEEP

Câu 8 (3,5 điểm): Số nguyên tố tương đương.


Hai số tự nhiên được gọi là Nguyên tố tương đương nếu chúng có chung các ước
số ngun tố khơng kể chính nó. Cho trước hai số tự nhiên A, B. Hãy viết chương trình
kiểm tra xem các số này có là ngun tố tương đương với nhau hay khơng.
Dữ liệu vào: gồm 2 số nguyên dương A, B.
Dữ liệu ra: Nếu có hai số tương đương bao gồm 2 dòng, dòng đầu ghi "CO", dòng 2
ghi các ước chung. Ngược lại ghi "KHONG".
Ví dụ:

INPUT
15 75

OUTPUT
CO
3 5


15 30

KHONG

Câu 9 (3,0 điểm): Ta gọi x1, x2,…xn là lượng colesterol của người đến khám bệnh.
Người khỏe có lượng colesterol nhỏ hơn tiêu chuẩn x < A. Xác định số người không
mắc bệnh và lượng colesterol trung vbình của người bệnh
Câu 10 (3,0 điểm): Cho dãy A gồm N số được nhập từ bàn phím, sắp xếp các số
trong dãy A theo thứ tự không giảm


Bài 11: (7 điểm)

An được bạn cho hai số M và N với quy tắc tìm dãy số bí ẩn như sau. Tính lũy
thừa N của số nguyên dương M, sau đó lấy hai chữ số cuối của kết quả vừa tính được.
Hai chữ số cuối lại tiếp tục tính lũy thừa N và lại lấy hai chữ số cuối của kết quả đó,...
Q trình này lặp lại nhiều lần cho đến khi gặp lại hai chữ số cuối của lần tính đầu tiên thì
kết thúc.
Ví dụ: Cho N=3 và M=123 ta có:
1233=1860867, 673=300763, 633=250047, 473=103823, 233=12167
Hai chữ số cuối của lần tính đầu tiên là 67.
Vậy dãy số bí ẩn là: 67, 63, 47, 23.
Lưu ý: Nếu kết quả của lũy thừa chỉ có một chữ số thì ta thêm số 0 phía trước
Ví dụ: Cho N=3 và M=2 ta có:
23=08, 83=512, 123=1728, 283=21952, 523=140608
Hai chữ số cuối của lần tính đầu tiên là 08.
Vậy dãy số bí ẩn là: 08, 12, 28, 52.
Bài 12. (3 điểm) Tên chương trình MEAN.PAS
Cho mảng B, hãy xác định mảng A biết rằng Mảng B có N phần tử được tạo ra từ

mảng A[1..N], trong đó B[i] là trung bình cộng của i phần tử đầu tiên của A.
Ví dụ: Mảng A có 5 phần tử: 1, 3, 2, 6, 8 thì mảng B có 5 phần tử là

1 1+3 1+3+2 1+3+2+6 1+3+2+6+ 8
,
,
,
,
Như vậy, mảng B có 5 phần tử là: 1, 2, 2, 3, 4.
1 2
3
4
5

Câu 13. Tên chương trình BUY.PAS
Giám đốc ở công ty A cần mua một số máy vi tính đáp ứng nhu cầu sử dụng cho
cơng ty. Sau khi khảo sát ở 3 cửa hàng bán máy vi tính, giám đốc quyết định mua M máy
vi tính. Tuy nhiên để được lợi nhuận cao nhất, giám đốc cần tính tốn sao cho số tiền phải
trả là thấp nhất. Biết rằng cửa hàng vi tính thứ i có bán Ai máy tính với giá mỗi máy tính
là Bi.
Yêu cầu: Bạn hãy giúp giám đốc mua M máy vi tính ở N cửa hàng khác nhau với
chi phí thấp nhất.
Dữ liệu: 2 số nguyên dương M, N (1  M, N  10000);
-

3 dòng tiếp theo, dòng thứ i chứa 2 số nguyên dương A i, Bi (Ai100; Bi 2000; 1 i
N).
Các số trên cùng một dòng cách nhau ít nhất một dấu cách.

Kết quả: Đưa ra màn hình gồm hai dịng:

Ví dụ:

Dịng 1: Ghi tổng số tiền phải trả;
Dòng 2: Gồm 3 số, mỗi số là số lượng máy tính mua được từ cửa hàng 1 đến cửa hàng N
(nếu khơng mua máy ở cửa hàng thì số lượng máy là 0).
Input
22 5
3 30
5 10

Output
168
0 5 6


6 8


Bài 14: (3.0 điểm).
Cho hai xâu st1 và st2, các xâu không quá 255 ký tự được lấy từ tập ‘A’..’Z’.
Yêu cầu: Hãy tìm K là số lần xuất hiện của xâu st1 trong xâu st2.
Dữ liệu vào: Xâu St1, St2
Dữ liệu ra: Số K
Ví dụ:

Dữ liệu vào
st1: ABA
St2: ABABABBA

Dữ liệu ra

k=2

Câu 15: (3.5 điểm)
Trong giờ học tự chọn môn Toán, giáo viên tổ chức cuộc thi cho tất cả các học
sinh trong lớp, Học sinh đạt giải nhất sẽ được thưởng điểm 10, luật thi như sau:
Giáo viên đưa ra một số nguyên dương X có n chữ số, các em học sinh cần thực
hiện xóa đi k chữ số trong n chữ số đã cho và giữ nguyên vị trí các chữ số cịn lại, học
sinh nào có số còn lại lớn nhất là người chiến thắng. “Nam” là một học sinh giỏi đã suy
nghĩe “muốn chiến thắng trong cuộc thi, mình phải tìm được số lớn nhất có thể tạo ra
bằng cách trên”. Em háy hiups “Nam” tìm số nguyên Y lớn nhất
Dữ liệu vào: Các số nguyên dương n và k, X
Dữ liệu ra: Số Y tìm được

Dữ liệu vào
n= 9, k= 4
X=944876268

Dữ liệu ra
Y=98768




×