Chuyển đến nội dung chính

ĐỀ THI HSG CẤP TỈNH PHÚ YÊN NĂM 2017-2018



ĐỀ THI HSG CẤP TỈNH  PHÚ YÊN NĂM 2017-2018

Bài 1:(6 điểm) Dãy số 
Cho số tự nhiên N (0<N<=10^9) . Hãy lập trình trả lời các câu hỏi sau :
a. N có bao nhiêu chữ số?
b. Tổng các số chẵn của N bằng bao nhiêu?
c. Tìm chữ số thứ K của N kể từ vị trí đầu tiên bên trái ( với K<= số chữ số của N )?
Yêu cầu :
+ Dữ liệu vào: cho trong tệp văn bản BAI1.INP gồm hai tự nhiên N,K  .Các số cách nhau một khoảng trống
    + Dữ liệu ra : ghi trong tệp văn bản BAI1.OUT gồm ba dòng, mỗi một số là kết quả  của các câu a , b và c 
Ví dụ :
     BAI1.INP : 120346786  4
     BAI1.OUT :  9
                          26
                          3 

 Bài 2:(4 điểm) Tính tiền thuê máy tính truy cập Internet 
   Một tiệm Internet công cộng người ta tính tiền thuê máy như sau : Từ  phút thứ 1 đến phút thứ 60 tính giá 80 đồng/1 phút. Từ phút thứ 61 đến phút thứ 120 tính giá 50 đồng/1 phút. Từ phút thứ 121 trở đi tính giá 30 đồng/1 phút . Viết chương trình tính tiền cho khách hàng theo số phút truy cập của một người và thông báo số tiền phải trả của người đó.           +Dữ liệu vào : Cho trong tệp văn bản có tên BAI2.INP gồm hai dòng :
           - Dòng 1 : ghi hai số chỉ giờ và phút bắt đầu thuê máy.
           - Dòng 2 : ghi hai số chỉ giờ và phút kết thúc thuê máy.
    Các số cách nhau một khảng trống. Giả thiết rằng thời gian bắt đầu thuê máy nhỏ hơn thời gian kết thúc. Giờ từ 0 đến 24; phút từ 0 đên 59.
    + Dữ liệu ra : ghi vào tệp văn bản có tên BAI2.OUT gồm một số là tiền khách phải trả .      
Ví dụ :
     BAI1.INP: 9  0
                      11 31
     BAI2.OUT: 8730
     Giải thích :
                     Từ 9:0 đến 11:31 là 151 phút được tính như sau :  60*80+60*50+30*31=8730

Bài 3:(6 điểm) Tính ngày rút tiền gửi ngân hàng
     Lan muốn gửi tiền vào ngân hàng sau N ngày gửi thì Lan sẽ rút cả tiền gốc và tiền lãi . Biết ngày gửi tiền vào ngân hàng , bạn giúp Lan tính xem ngày nào Lan sẽ rút tiền.
     + Dữ liệu vào : từ tệp văn bản BAI3.INP gồm hai dòng :
        - Dòng 1 : gồm 3 số nguyên dương D,M,Y lần lượt là ngày, tháng, năm dương lịch mà Lan muốn gửi . Các số cách nhau một khoảng trống (0< D, M, Y <3000).
        - Dòng 2 : là số nguyên dương N (0< N <=1500).
      + Dữ liệu ra : ghi vào tệp văn bản BAI3.OUT 3 số nguyên dương D1, M1, Y1 lần lượt là ngày, tháng, năm mà Lan sẽ rút tiền; các số cách nhau một khoảng trống . Nếu ngày, tháng, năm đã cho không hợp lệ thì ghi số 0.
Ví dụ 1 :
     BAI3.INP : 2 3 2018
                       2
     BAI3.OUT : 4 3 2018
Ví dụ 2 :
     BAI3.INP : 32 12 2020
                       33
     BAI3.OUT : 0

Bài 4: (4 điểm) Sắp xếp danh sách thí sinh
     Kỳ thi chọn học sinh giỏi cấp tỉnh các môn văn hóa lớp 9 của tỉnh Phú Yên năm học 2017-2018 được tổ chức tại 3 điểm thi ở thành phố Tuy Hòa với 9 môn thi, các môn thi được đánh mã số từ 1 đến 9 . Để tạo sự công bằng và dễ dàng cho việc phân chia thí sinh, hội đồng thi muốn sắp xếp danh sách thí sinh dựa vào tên thí sinh theo thứ tự từ điển và tăng dần theo mã của từng môn thi. 
    Hãy giúp Hội đồng thi sắp xếp lại yêu cầu trên? 
    + Dữ liệu vào : từ tệp văn bản BAI4.INP gồm có N+1 dòng :
       - Dòng 1 : là một số nguyên dương N, là số lượng thí sinh dự thi (1<= N <=200).
       - Từ dòng 2 đến dòng thứ N+1 , mỗi dòng có cấu trúc gồm :
            + Đầu tiên là một số nguyên dương k (1<=k<=9),là mã môn thi.
            + Tiếp đến là Họ và tên thí sinh (Họ tên của thí sinh bao gồm các kí tự thường được ghi hoa đầu từ và các từ cách nhau một khoảng trống , độ dài không quá 35 kí tự ).
     + Dữ liệu ra : ghi vào tệp văn bản BAI4.OUT ,là danh sách thí sinh đã được sắp xếp theo yêu cầu với cấu trúc như sau : Mỗi dòng gồm mã môn thi và họ tên thí sinh (giữa các thông tin cách nhau một khoảng trống).
Ví dụ 1 : 
     BAI4.INP: 4
                      1 Nguyen Ngoc Hung
                      1 Huynh Le Binh
                      2 Tran Ngoc Huyen Tran
                      1 Do Thi Kim Trang
      BAI4.OUT : 1 Huynh Le Binh
                          1 Nguyen Ngoc Hung
                          1 Do Thi Kim Trang
                          2 Tran Ngoc Huyen Tran
Ví dụ 2:
     BAI4.INP : 5
                       1 Vo Minh Luan
                       2 Truong Van Binh
                       1 Nguyen Thi Van Anh
                       3 Pham Van Binh
                       2 Le Van An
     BAI4.OUT : 1 Nguyen Thi Van Anh
                         1 Vo Minh Luan
                         2 Le Van An
                         2 Truong Van Binh
                         3 Pham Van Binh 


Nhận xét

Bài đăng phổ biến từ blog này

DÃY ĐAN DẤU TRONG PASCAL

DÃY ĐAN DẤU TRONG PASCAL Dãy đan dấu là dãy không có 2 phần tử cạnh nhau có dấu giống nhau. ví dụ: -2 4 -9 5 -23 8 là dãy đan dấu Thủ tục kiểm tra dãy đan dấu trong dãy số: procedure dandau; var i,j:integer;     kt:boolean; begin kt:=true; for i:=1 to N-1 do                 begin                 j:=i+1;                 if a[i] *a[j] >0 then kt:=false;                 end; If kt=true then write('Day A la day dan dau') else write('Day A khong phai day dan dau'); end;

Tam giác số (Pascal)

TAM GIÁC SỐ  (Câu 4. Hội thi Tin Học Trẻ Phú Yên lần thứ XIX - năm 2016)                              7                          3       8                      8      1       0                   2     7        4       4                 4    5      2       6       5 Cho một tam giác gồm các số nguyên không âm (xem hình trên). Hãy viết chương trình tính tổng lớn nhất của các số nằm trên lộ trình từ đỉnh xuống: - Tại mỗi bước đi, lộ trình có thể đi xuống phía bên trái hoặc xuống phía bên phải. - Số hàng trong tam giác lớn hơn...

VÒNG LẶP KHÔNG XÁC ĐỊNH WHILE..DO; REPEAT .. UNTIL

VÒNG LẶP KHÔNG XÁC ĐỊNH  WHILE..DO; REPEAT .. UNTIL - Vòng lặp While..do While <điều kiện > Do  <câu lệnh>; Câu lệnh sau do được thực hiện khi điều kiện được thỏa mãn (điều kiện =true); vòng lặp kết thúc khi điều kiện không thỏa (điều kiện =false) - Vòng lặp Repeat .. until; Repeat <câu lệnh>; Until <điều kiện>; Lặp lại câu lệnh cho đến khi nào  thỏa mãn điều kiện  (điều kiện =true) thì dừng lại;  Bài tập: Nhập vào một số nguyên A thỏa mãn (0<A<100), Tính tổng các số nguyên từ 1 đến A (S=1+2+...+A). Vận dụng câu lệnh While .. do uses crt; var A,I:  Integer; S:longint; begin          a:=0;          while not ((a>0) and (a<100)) do          begin          write('Nhap gia tri cua A:'); read(A);           end;          s:=0...