# GÓC SÁNG TẠO > Khu vực lập trình > Pascal/Delphi/Kylix >  Đề thi học sinh giỏi Tin học THPT tỉnh Nam Định 2011

## 4B1601

Bài 1: (Tên file chương trình THI.PAS, tên file dữ liệu vào:THI.INP, tên file kết quả:THI.OUT)
Hội thi học sinh thanh lịch (6 ĐIỂM)
Trong một hội thi học sinh thanh lịch có n thí sinh tham gia, mỗi thí sinh biểu diễn ó m giám khảo trong hội đồng giám khảo cho điểm (điểm là một số nguyên không âm nhỏ hơn 100). Sau khi các giám khảo cho điểm xong người ta lấy trung bình cộng điểm của các giám khảo làm kết quả thi của thí sinh đó.
Yêu cầu: Hãy tính kết quả của các thí sinh(điểm làm tròn đến 2 chữ số thập phân).
Dữ liệu: Vào từ file văn bản THI.INP
- Dòng thứ nhất chứa hai số nguyên dương m,n (m<=100,n<=1000)
- Dòng thứ i trong dòng tiếp theo mỗi dòng chứa m số là điểm của các giám khảo cho thí sinh thứ i
Các số trên cùng một dòng được ghi cách nhau ít nhất một dấu cách.
Kết quả: Ghi ra file văn bản THI.OUT: gồm n dòng, dòng thứ i chứa một số duy nhất là điểm trung bình của thí sinh thứ i.
Ví dụ:
THI.INP |THI.OUT
5 4 | 1.00
1 1 1 1 1 | 2.00
2 2 2 2 2 |3.00 
1 2 3 4 5 |3.20
1 2 3 4 6
Bài 2: Đếm ước (7 điểm)
Cho n số nguyên dương a1, a2,...,an (a<=ai<=2^31 , i=1->n, 1<=50 )
Với mỗi số đã cho hãy xác định số lượng ước số của nó.
Ví dụ với n=2, a1=4, a2=12, số lượng ước số của 4 là là 3(1,2,4), số lượng ước số của 12 là 6 (1,2,3,4,5,12)
Dữ liệu: Vào từ file văn bản DEMUOC.INP:
- Dòng đầu tiên chứa số nguyên n
- Dòng thứ i trong n dòng sau chứa số nguyên ai
Kết quả: Đưa ra file văn bản DEMUOC.OUT n số nguyên trên n dòng, dòng thứ i chứa số lượng ước số của ai.
Ví dụ:
DEMUOC.INP | DEMUOC.OUT
2 | 3
4 | 6
12|
Bải 3: Các đồng xu(7 điểm)
Steve ngồi bên cửa sổ rất lâu quan sát lũ quạ. Chúng là loài chim thông minh, rất thích các vật lóng lánh và hay tha những thứ này về tổ. Hôm nay, không kiếm được ở đau, chúng tha về các đồng xu. Có tất cả n con quạ, con quạ thứ i đã mang về ai đồng xu. Nhìn vào vị trí của tổ trên cành Steve hiểu rằng nếu có bi đồng xu thì tổ của quạ thứ i sẽ bị lật, rơi xuống đất và Steve sẽ nhặt được hết đồng xu trong tổ. Steve đang có trong túi m đồng xu và có tại ném đâu trúng đó. Bây giờ chình là lúc cái tài lẻ này phát huy tác dụng.
Yêu cầu: Hãy xác định số tiền tối đa mà Steve sẽ có được.
Dữ liệu: Vào từ file văn bản COINS.INP
- Dòng đầu tiên chứa 2 số nguyên n và m (1<=n<=1000, 0<=m<=1000)
- Dòng thứ 2 chứa n số a1, a2, ..., an (0<=ai<=1000, i=1->n)
- Dòng thứ 3 chứa n số b1, b2,..., bn (ai<=bi<=1000, i=1->n)
Kết quả: Đưa ra file văn bản COINS.OUT một số nguyên-số tiền tối đa mà Steve sẽ có.
Ví dụ:
COINS.INP | COINS.OUT
2 3 | 6
1 2 |
4 6 |
Hết
​

----------


## vanphongchothuequan1

Các bạn xem, thao khảo và thử sức nhé!:shifty:

----------


## lamtuenhi

Bài 3 đáng nhẽ phải có tối đa 8 đồng xu chứ. Vì có sẵn 3 xu lại lấy thêm đc 5 xu của 2 con quạ nữa :-?

----------


## hoangkiso

> Bài 3 đáng nhẽ phải có tối đa 8 đồng xu chứ. Vì có sẵn 3 xu lại lấy thêm đc 5 xu của 2 con quạ nữa :-?


 Chính xác đấy, mình gõ lại từ đề mà:wacko:

----------


## drspillerseo

oh, sao không ai nói gì vậy?:down:

----------


## thichduthu

Zidane là em nào ấy nhỉ? Thấy trên này lâu rùi mà tiếc là chưa biết tên. 
Nhìn đề bài muốn làm thật đấy nhưng qua rồi thời code pascal, ôn đh đã [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]

----------


## damtuyen232

> Zidane là em nào ấy nhỉ? Thấy trên này lâu rùi mà tiếc là chưa biết tên. 
> Nhìn đề bài muốn làm thật đấy nhưng qua rồi thời code pascal, ôn đh đã [IMG]data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAEAAAABAQMAAAA  l21bKAAAAA1BMVEXh5PJm+yKVAAAAAXRSTlMAQObYZgAAAApJR  EFUCNdjYAAAAAIAAeIhvDMAAAAASUVORK5CYII=[/IMG]


 my name Nguyễn Hoàng
em mới sưu tầm được đề này thôi
mong các pro chỉ giáo thêm
à, theo các bác thì để làm được những đề như vậy thì học pascal mình cần học những gì:botay:

----------


## lehiep108

Chẳng lẽ lại có gì khác ngoài thuật toán hả bạn =))

----------


## phuongnam

> Chẳng lẽ lại có gì khác ngoài thuật toán hả bạn =))


 oh, ý mình là sẽ phải học những thuật toán hay những bài toán gì?:emlaugh:

----------


## havong

zidane học ở trường nào nhỉ? Về câu hỏi học Pascal cần học những gì thì theo mình cần học 2 mảng chính (đi thi không thể thiếu): QHD, đồ thị
QHD thì nhiều dạng, bạn tự search những bài toán về qhd để đọc và làm thử, cũng như xem cách họ giải để hình thành cho mình 1 tư duy, 1 cách làm với bài qhd
Đồ thị thì trước hết nắm chắc nguyên lí của 2 thuật toán tìm kiếm DFS và BFS bởi vì thông thường những bài toán về đồ thị hay xoay quanh 2 thuật toán này, những thuật toán khác như euler, halminton (viết như nào nhỉ lâu rồi quên mất :|) ... cũng chỉ là tuân theo 2 thuật toán tìm kiếm để mở rộng. Và khi nắm vững được DFS và BFS thì việc làm được 50% của bài đồ thị trong đề thi là không khó khăn lắm (như đề qg vừa rồi để được 50% bài 6 không phải quá khó nếu biết dùng DFS).
QHD và đồ thị là 2 dạng chính trong đề thi Tin, ngoài ra cũng có 1 số bài toán khác đòi hỏi có sự tư duy để nghĩ ra thuật toán hợp lí, vd bài 1 qg vừa rồi, dùng mảng 2 chiều tích lũy dần là đủ để AC. 
Và cách tốt nhất để bạn PRO pascal là làm nhiều, thật nhiều bài để có kinh nghiệm + đầu óc. Bạn có thể tìm nguồn bài ở các đề thi các tỉnh, đề thi qg, hoặc lên những trang chấm bài online để làm thử. 
Chúc bạn học tốt và có niềm đam mê đối với môn mà tất cả các khối chuyên khác cảm thấy khô cứng và khó hiểu - môn LẬP TRÌNH.

----------

