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 SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ TĨNH ĐỀ CHÍNH THỨC (Đề thi có 2 trang) ĐỀ THI CHỌN HỌC SINH GIỎI TỈNH LỚP 11 THPT NĂM HỌC 201[.]
SỞ GIÁO DỤC VÀ ĐÀO TẠO HÀ TĨNH ĐỀ CHÍNH THỨC (Đề thi có trang) ĐỀ THI CHỌN HỌC SINH GIỎI TỈNH LỚP 11 THPT - NĂM HỌC 2010 - 2011 Môn thi: Tin học Thời gian 180 phút (Không kể thời gian giao đề) TỔNG QUAN BÀI THI Bài Bài Bài Tên Dãy lớn Robot công nghiệp Tạo sơn tổng hợp Tệp làm DAYSO.PAS ROBOT.PAS SON.PAS Tệp liệu vào DAYSO.INP ROBOT.INP Tệp liệu DAYSO.OUT ROBOT.OUT SON.OUT Sử dụng ngơn ngữ lập trình Pascal lập chương trình giải toán sau đây: Bài 1: Dãy lớn Cho dãy số A gồm N số nguyên A 1, A2, , AN Dãy số Ap, ,Aq với 1≤p,q≤N gọi dãy dãy số A Tổng giá trị số dãy gọi trọng lượng dãy Hãy tìm dãy có trọng lượng lớn dãy số A Dữ liệu vào tệp văn dayso.inp có cấu trúc: - Dòng chứa số N (N≤255) - Dòng thứ hai chứa dãy số A, số ghi cách ký tự trống Dữ liệu tệp văn dayso.out có cấu trúc sau: - Dòng chứa hai số cách ký tự trống số số đầu số cuối dãy tìm - Dòng thứ hai chứa trọng lượng dãy tìm Ví dụ: Tệp dayso.inp Tệp dayso.out 13 -1 -2 Bài 2: Robot cơng nghiệp Trong nhà máy có trang bị loại Robot cơng nghiệp để thực việc tự động hố gia công sản phẩm Việc gia công sản phẩm Robot thực đồng thời hai sản phẩm lúc theo tiến trình: Với loại thao tác gia công Robot thực sản phẩm thứ xong chuyển sang thực sản phẩm thứ hai Để hoàn thành sản phẩm, Robot thực tới N loại thao tác gia công (N≤ 24) loại thao tác gia công thực sản phẩm khơng thực lại sản phẩm Robot hoạt động lệnh dãy ký tự in hoa, ký tự lệnh thực cho loại thao tác gia công Lệnh thực loại thao tác gia công khác ký tự khác Việc đọc dòng lệnh thực lệnh Robot tiến hành theo chu trình sau: + Chu trình thứ nhất: Đọc ký tự thứ nhất, thực lệnh tương ứng sản phẩm thứ Tiếp theo đọc ký tự thứ N, thực lệnh tương ứng sản phẩm thứ hai + Chu trình thứ hai: Đọc ký tự thứ hai, thực lệnh tương ứng sản phẩm thứ Tiếp theo đọc ký tự thứ N-1, thực lệnh tương ứng sản phẩm thứ hai + Chu trình thứ ba: Đọc ký tự ba, thực lệnh tương ứng sản phẩm thứ Tiếp theo đọc ký tự thứ N-2, thực lệnh tương ứng sản phẩm thứ hai Tương tự với chu trình cịn lại để đọc hết dịng lệnh Với xâu S ký tự in hoa có số lượng ký tự chẵn không N x 2, xác định xem có phải dịng lệnh Robot nói hay khơng? Dữ liệu vào: Tệp văn ROBOT.INP có cấu trúc: - Dòng ghi số độ dài xâu S - Dòng thứ ghi xâu S Dữ liệu ra: Tệp văn ROBOT.OUT ghi thông báo ‘CO’ xâu S dòng lệnh Robot, ngược lại ghi thơng báo ‘KHONG’ Ví dụ: Tệp ROBOT.INP CBAABC Tệp ROBOT.INP ACBDCA Tệp ROBOT.OUT CO Tệp ROBOT.OUT KHONG Bài Tỉa mảng Tên chương trình nguồn TIA.PAS Cho dãy số nguyên A gồm N phần tử dãy số nguyên B gồm M phần tử (với M≤N) Các phần tử dãy A B có kiểu Integer Yêu cầu: Có thể xóa (gạch) khỏi dãy A số phần tử cho phần tử lại (giữ nguyên trật tự ban đầu) dãy B Dữ liệu vào: Cho tệp TIA.INP: - Dòng thứ nhất: Ghi giá trị hai số N, M tương ứng số lượng phần tử dãy A dãy B (1 ≤ N, M ≤ 150) - Dòng thứ 2: Ghi giá trị phần tử dãy A - Dòng thứ 3: Ghi giá trị phần tử dãy B Các phần tử dòng dòng ghi cách dấu dấu cách trống Kết ra: Ghi tệp TIA.OUT: Có trường hợp - Trường hợp (thực được): Dòng đầu ghi 'CO'; Dòng thứ hai ghi vị trí phần tử bị xóa dãy A Các vị trí ghi cách dấu cách trống - Trường hợp (không thực được): Ghi 'KHONG' Vi du TIA.INP 6 15 75 75 15 30 TIA.OUT CO KHONG ... Tệp ROBOT.OUT CO Tệp ROBOT.OUT KHONG Bài Tỉa mảng Tên chương trình nguồn TIA.PAS Cho dãy số nguyên A gồm N phần tử dãy số nguyên B gồm M phần tử (với M≤N) Các phần tử dãy A B có kiểu Integer Yêu... dãy B Các phần tử dòng dòng ghi cách dấu dấu cách trống Kết ra: Ghi tệp TIA.OUT: Có trường hợp - Trường hợp (thực được): Dòng đầu ghi ''CO''; Dòng thứ hai ghi vị trí phần tử bị xóa dãy A Các vị... (thực được): Dòng đầu ghi ''CO''; Dòng thứ hai ghi vị trí phần tử bị xóa dãy A Các vị trí ghi cách dấu cách trống - Trường hợp (không thực được): Ghi ''KHONG'' Vi du TIA.INP 6 15 75 75 15 30 TIA.OUT