SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ TĨNH Bạn đang đọc: Đề thi học sinh giỏi tỉnh Hà Tĩnh môn Tin học lớp 11 năm học 2010 – 2011 (Đề thi chính thức) |
KỲ THI CHỌN HỌC SINH GIỎI CẤP TỈNH NĂM HỌC 2010 – 2011 Môn thi: TIN HỌC – Lớp: 11 |
Tên bài | Tệp bài làm | Tệp dữ liệu vào | Tệp dữ liệu ra | |
Bài 1 | Dãy con lớn nhất | DAYSO.PAS | DAYSO.INP | DAYSO.OUT |
Bài 2 | Robot công nghiệp | ROBOT.PAS | ROBOT.INP | ROBOT.OUT |
Bài 3 | Tạo sơn tổng hợp | SON.PAS | SON.OUT |
Sử dụng ngôn ngữ lập trình Pascal hãy lập chương trình giải các bài toán sau đây:
Bài 1: Dãy con lớn nhất
Cho dãy số A gồm N số nguyên A1, A2, …, AN. Dãy số Ap,…,Aq với 1≤p,q≤N được gọi là dãy con của dãy số A. Tổng giá trị các số trong một dãy con được gọi là trọng lượng của dãy con đó. Hãy tìm dãy con có trọng lượng lớn nhất của dãy số A.
Dữ liệu vào là tệp văn bản dayso.inp có cấu trúc:
– Dòng đầu tiên chứa số N (N≤255).
– Dòng thứ hai chứa dãy số A, các số ghi cách nhau ít nhất là một ký tự trống..
Dữ liệu ra là tệp văn bản dayso.out có cấu trúc như sau:
– Dòng đầu tiên chứa hai số cách nhau ít nhất một ký tự trống là chỉ số của số đầu và số cuối của dãy con tìm được.
– Dòng thứ hai chứa trọng lượng của dãy con tìm được.
Bài 2: Robot công nghiệp
Trong một nhà máy có trang bị loại Robot công nghiệp để thực hiện việc tự động hoá gia công các sản phẩm. Việc gia công các sản phẩm của Robot được thực hiện đồng thời trên hai sản phẩm cùng một lúc theo tiến trình: Với mỗi loại thao tác gia công được Robot thực hiện trên sản phẩm thứ nhất xong rồi chuyển sang thực hiện trên sản phẩm thứ hai. Để hoàn thành một sản phẩm, Robot có thể thực hiện tới N loại thao tác gia công (N≤ 24) và mỗi loại thao tác gia công đã thực hiện trên một sản phẩm nào đó rồi thì không thực hiện lại trên sản phẩm đó nữa. Robot hoạt động bằng lệnh là một dãy ký tự in hoa, mỗi ký tự là lệnh thực hiện cho một loại thao tác gia công. Lệnh thực hiện các loại thao tác gia công khác nhau là các ký tự khác nhau. Việc đọc dòng lệnh và thực hiện lệnh của Robot được tiến hành theo các chu trình như sau:
+ Chu trình thứ nhất: Đọc ký tự thứ nhất, thực hiện lệnh tương ứng trên sản phẩm thứ nhất. Tiếp theo đọc ký tự thứ N, thực hiện lệnh tương ứng trên sản phẩm thứ hai.
+ Chu trình thứ hai: Đọc ký tự thứ hai, thực hiện lệnh tương ứng trên sản phẩm thứ nhất. Tiếp theo đọc ký tự thứ N-1, thực hiện lệnh tương ứng trên sản phẩm thứ hai.
+ Chu trình thứ ba: Đọc ký tự ba, thực hiện lệnh tương ứng trên sản phẩm thứ nhất. Tiếp theo đọc ký tự thứ N-2, thực hiện lệnh tương ứng trên sản phẩm thứ hai.
…
Tương tự với các chu trình còn lại để đọc hết dòng lệnh.
Với một xâu S các ký tự in hoa có số lượng các ký tự là chẵn và không quá N x 2, hãy xác định xem nó có phải là một dòng lệnh của Robot đã nói ở trên hay không?
Dữ liệu vào: Tệp văn bản ROBOT.INP có cấu trúc:
– Dòng đầu tiên ghi 1 số là độ dài xâu S.
– Dòng thứ 2 ghi xâu S.
Dữ liệu ra: Tệp văn bản ROBOT.OUT ghi thông báo ‘CO’ nếu xâu S là dòng lệnh của Robot, ngược lại ghi thông báo ‘KHONG’
Bài 3: Tạo sơn tổng hợp
Từ N loại sơn ban đầu có số hiệu là 1, 2, …, N (1≤N≤9), người ta có thể tạo ra rất nhiều loại sơn tổng hợp khác nhau bằng cách trộn lẫn một số loại sơn nào đó lại với nhau theo một liều lượng nào đó của mỗi loại. Khi tham gia trộn để được một loại sơn tổng hợp nào đó, các loại sơn khác nhau được đưa vào từ các vị trí khác nhau và liều lượng của mỗi loại sơn là bao nhiêu phụ thuộc vào thứ tự vị trí đưa vào của loại sơn đó. Liều lượng của mỗi loại sơn mà khác nhau trong khi trộn thì cho ra các loại sơn tổng hợp khác nhau. Hãy liệt kê ra tất cả các phương án trộn M loại sơn (M≤N) trong N loại sơn đã cho để có được các loại sơn tổng hợp.
Dữ liệu vào: Giá trị của các số N, M được đưa vào từ bàn phím.
Dữ liệu ra là tệp văn bản SON.OUT có cấu trúc: Mỗi dòng ghi số hiệu của M loại sơn theo thứ tự khi đưa vào trộn để tạo ra một loại sơn tổng hợp nào đó. Dòng cuối cùng ghi số lượng các loại sơn tổng hợp tạo ra.
Download tài liệu để xem thêm chi tiết