Đề thi tin học trẻ không chuyên tq lần thứ I-1995
Khối C - Thời gian: 180 phút
Bài 1.
Một trang sổ liên lạc giả thiết có các đề mục sau:
- Tên trờng, lớp, họ và tên học sinh.
- Kết quả học tập trong năm học của học sinh bao gồm: điểm tổng kết học kỳ 1, học kỳ 2 và cả năm của 9
môn học: Tin, Toán, Lý, Hoá, Văn, Sử, Địa, Ngoại ngữ, GDCD
- Xếp loại đạo đức, văn hoá cả năm.
- Nhận xét của giáo viên chủ nhiệm.
- ý kiến của gia đình.
Thông tin cụ thể của các mục tự điền theo một nội dung tuỳ chọn. Riêng mục họ và tên học sinh không
đợc đề tên của chính mình.
Yêu cầu: Hãy soạn thảo và trình bày sao cho thích hợp văn bản tiếng Việt sao cho nội dung kể trên trong một
trang giấy không quá 45 dòng, mỗi dòng không quá 128 ký tự và lu vào file có tên là SOLL.TXT.
Bài 2.
Một phần mềm ứng dụng gồm một số file đợc lu trên 3 đĩa mềm. Bộ đĩa mềm đợc gọi là ổ đĩa gốc và để
dùng để cài đặt phần mềm đó lên ổ đĩa cứng để sử dụng. Bộ đĩa gốc có các file DISK1, DISK2, DISK3 trên các
đĩa tơng ứng.
Trên ổ đĩa cứng cần tạo th mục có dạng sau:
C:\VNSOFT
SYSTEM
DATA
Việc cài đặt cần thực hiện các yêu cầu sau:
- Các file có đuôi EXE và DBL cần sao chép vào th mục SYSTEM
- Các file có đuôi DAT và DBF cần sao chép vào th mục DATA
- Các file còn lại cần sao chép vào th mục VNSOFT
Hãy viết một file BATCH có tên INSTAL.BAT dùng để thực hiện toàn bộ quá trình cài đặt phần mềm
trên. File này cần đợc lu ngay trên đĩa DISK1.
Bài 3.
Hai số tự nhiên A, B đợc coi là hữu nghị nếu nh số này bằng tổng các ớc số của số kia và ngợc lại. Lập
trình tìm và chiếu lên màn hình các cặp số hữu nghị trong phạm ci từ 1 đến 10000. (Lu ý: số 1 đợc coi là ớc số
thiết rằng nớc không thẩm thấu qua các cột bê tông cũng nh không rò rỉ qua các đờng ghép giữa chúng. Hãy xác
định khối lợng nớc chứa giữa các cột bê tông của lới.
Dữ liệu vào đợc ghi trong file văn bản có tên BL3.INP, trong đó dòng đầu tiên chứa 2 số m, n cách nhau
ít nhất một dấu cách; các dòng tiếp theo chứa các số nguyên dơng h
1,1
, h
1,2
....,h
1,n
, h
2,1
, h
2,1
...., h
2,n
, ..... h
m,1
, h
m,2
,....,
h
m,n
là các chiều cao của các cột bê tông dựng trên lứơi (các số đợc ghi cách nhau bởi dấu cách hoặc dấu xuống
dòng).
Đa ra màn hình khối lợng nớc tính đợc.
Bài 4.
Nếu em là ngời phát triển máy tính (chế tạo hay làm phần mềm) thì em cải tiến để máy có những khả
năng mới nào. Nêu ý kiến của em vào một tệp văn bản có tên BL4.TXT
Hạn chế kỹ thuật: Các bài làm ứng với bài 2 và bài 3 phải đặt tên tơng ứng là BL2.??? và BL3.???, trong
đó đuôi ngầm định của ngôn ngữ lập trình đợc sử dụng.
Bài 2. Mạng máy tính
Một mạng gồm n máy tính đánh số từ 1 đến n, và m kênh truyền tin 1 chiều giữa một số cặp máy trong
mạng đợc đánh số từ 1 đến m. Mạng máy tính là thông suốt, nghĩa là từ một máy bất kỳ có thể truyền tin đến tất
cả các máy còn lại hoặc là theo kênh nối trực tiếp giữa hai máy hoặc thông qua các máy trung gian trong mạng.
Một máy trong mạng đợc gọi là máy chẵn (máy lẻ) nếu số kênh truyền tin trực tiếp từ nó đến các máy khác
trong mạng là số chẵn (số lẻ). Giả sử s và t là hai máy lẻ trong mạng. Bằng cách đảo ngợc hớng truyền tin của
một số kênh trong mạng, hãy biến đổi mạng đã cho thành mạng (không nhất thiết phải thông suốt) mà trong đó
hai máy s và t trở thành máy chẵn mà không thay đổi tính chẵn lẻ của các máy khác.
Dữ liệu vào đợc cho trong file kiểu TEXT có tên NET.INP theo quy cách:
Dòng đầu tiên chứa 2 số n, m đợc ghi cách nhau bởi dấu cách (n<101);
Dòng thứ hai chứa 2 số nguyên dơng s, t đợc ghi cách nhau bởi dấu cách là chỉ số của hai máy lẻ
trong mạng;
Dòng thứ i trong số m dòng tiếp theo ghi hai số nguyên dơng u
i
, v
i
cho biết kênh truyền tin thứ i
truyền tin trực tiếp từ máy u
i
đến máy v
i
(i=1, 2, ....., m)
Kết quả ghi ra file kiểu TEXT với tên NET.OUT theo quy cách:
Dòng đầu ghi số lợng kênh cần thay đổi hớng truyền tin q;
Mỗi dòng trong số q dòng tiếp theo ghi chỉ số của kênh cần đảo ngợc hớng truyền tin.
Ví dụ:
NET.INP NET.OUT
6
1
1
cái trong bảng chữ cái tiếng Anh hoặc một trong các chữ số từ 0 đến 9. Phần tên đợc ghi trớc,
tiếp đến là dấu chấm, cuối cùng là phần mở rộng. Phần mở rộng nhất thiết phải có mặt. Trong
trờng hợp tên file không có phần mở rộng, dấu chấm phân cách phần tên và phần mở rộng có
thể không có mặt trong tên file. Nh đã biết lệnh COPY cho phép sử dụng các ký tự thay thế ?
hoặc * để mô tả tên của một hoặc nhiều file cần sao chép. Bạn cần xác định xem có thể chỉ sử
dụng một lệnh COPY để sao chép tất cả các file mà bạn Thuỷ hay không?
Yêu cầu: Cho trớc danh sách các tên file trên th mục gốc của đĩa cắm ở ổ A và dánh sách các file cần sao
chép, hãy lập trình xác định xem có thể dùng một lệnh COPY để sao chép chỉ các file trong danh sách các file
cần sao chép không?
Dữ liệu: Vào từ file BL1.INP có cấu trúc nh sau:
Dòng đầu tiên chứa số N (N<1000) là số lợng file trên th mục gốc của đĩa mềm cắm ở ổ đĩa A
N dòng tiếp theo mỗi dòng bắt đầu từ dấu + hoặc dấu - tiếp đến là tên file; trong đó dấu cộng cho biết
file với tên ghi sau nó cần sao chép, còn dấu - cho biết file với tên ghi sau nó không đợc sao chép.
Kết quả: ghi ra file văn bản với tên BL1.OUT
Trong trờng hợp câu trả lời khẳng định cần ghi ra lệnh COPY cần thực hiện;
Ngợc lại ghi dòng thông báo: KHONG CO
Ví dụ:
BL1.INP BL1.OUT
9
+ BTAP.EXE
+ BINPACK.PAS
- TIME.COM
+ BICH.TXT
+ BACK.DOC
+ BIENBAN.DOC
- HUNG.PAS
- HUONG.PAS
+ BYE
COPY A:\B*.*
Bài 2. Cây tứ phân