Đề thi chọn học sinh giỏi tỉnh Long An môn Tin học lớp 12 - Vòng 1, bảng B (có đáp án)

Thảo luận trong 'TRUNG HỌC PHỔ THÔNG' bắt đầu bởi Quy Ẩn Giang Hồ, 29/12/12.

  1. Quy Ẩn Giang Hồ

    Quy Ẩn Giang Hồ Administrator
    Thành viên BQT

    Bài viết:
    3,084
    Được thích:
    23
    Điểm thành tích:
    38
    Xu:
    0Xu
    [DOWNC="http://w7.mien-phi.com/Data/file/2012/Thang12/28/De-thi-HSG12-V1-Tinhoc-B-2011.doc"]TẢI TÀI LIỆU[/DOWNC]

    Đề thi chọn học sinh giỏi tỉnh Long An môn Tin học lớp 12 - Vòng 1, bảng B (có đáp án) - Đề thi học sinh giỏi tỉnh

    [TABLE]
    [TBODY]
    [TR]
    [TD]SỞ GIÁO DỤC VÀ ĐÀO TẠO

    LONG AN




    (Đề thi chính thức)[/TD]
    [TD]KỲ THI CHỌN HỌC SINH GIỎI LỚP 12 CẤP TỈNH - VÒNG 1

    Ngày thi: 06 / 10 / 2011

    Môn thi: TIN HỌC           Bảng: B

    Thời gian làm bài: 180 phút

    (Không kể thời gian phát đề)[/TD]
    [/TR]
    [/TBODY]
    [/TABLE]
    Tên file chương trình đặt theo từng bài: bai1.pas, bai2.pas, bai3.pas.
    Bài 1: (7 điểm)
    Cho số tự nhiên n>0, ta viết n dưới n dạng n= 2[SUP]m[/SUP]+p, với m là số tự nhiên lớn nhất. Ví dụ số tự nhiên n=11 được viết dưới dạng n= 2[SUP]3[/SUP]+3 trong đó m=3, p = 3;
    Yêu cầu: Viết chương trình nhập vào số tự nhiên n. Xuất ra màn hình giá trị của m và p.
    Bài 2: (7 điểm)
    Cho mảng một chiều A có n phần tử, phần tử thứ i của mảng A có giá trị là i. Người ta sắp xếp mảng A thành mảng B theo thứ tự với hai phần tử a, b trong mảng B, a ở trước b khi sô dư của a chia cho 5 nhỏ hơn số dư của b chia 5. Trong trường hợp hai số dư bằng nhau thì a trước b khi a nhỏ hơn b.
    Yêu cầu: Viết chương trình nhập vào các số nguyên dương n, m. Phần tử thứ m của mảng A thành phần tử thứ k của bảng B. Xuất ra màn hình giá trị của k.
    Ví dụ: Nhập vào n = 10, m = 9 ta được k=10 vì
    Mảng A:

     [​IMG]

    Sắp xếp thành mảng B



    Mảng B:

    [​IMG]



    Bài 3: (6 điểm)

    Cho một bảng ô vuông A gồm n cột, n hàng. Từ ô vuông cột 1, hàng 1 người ta điền vào mỗi ô vuông đúng một con số tự nhiên bắt đầu từ 1 liên tiếp đến n[SUP]2[/SUP] theo chiều từ trái sang phải và từ trên xuống dưới. Với số tự nhiên k, m cho trước ta biến đổi bảng ô vuông A thành bảng ô vuông B bằng cách dời tất cả các hàng lên trên k hàng, rồi tiếp tục dời tất cả các cột sang trái m cột. Khi dời hàng đến hàng đầu nếu tiếp tục dời thì thành hàng cuối, tương tự cho dời cột
    Yêu cầu: Viết chương trình nhập số tự nhiên n, k, m, i, j, h
    a) Xuất ra màn hình con số của ô vuông cột i hàng j của bảng B
    b) Xuất ra màn hình chỉ số hàng và cột của ô vuông trong bảng B có giá trị là h.
    Ví dụ: Với n=5, k=7, m=6, i=4, j=3, h=25
    [​IMG]
    a) Ô vuông hàng i = 4, cột j = 3 là con số 4.
    b) Chỉ số hàng, cột của ô vuông có giá trị h = 25 là hàng 3, cột 4.
     
Đang tải...