Tải bản đầy đủ (.doc) (6 trang)

Thi HSG cấp trường Tin 10 (Đề thi + Đáp án)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (107.91 KB, 6 trang )

BỘ CÔNG AN
TRƯỜNG VĂN HÓA I
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG
NĂM HỌC 2010-2011
Môn: Tin học
Thời gian làm bài: 150 phút
Câu 1
Những biểu thức nào sau đây có giá trị TRUE
A. (30>7) AND (‘B’<’A’)
B. (4>2) AND NOT (9>5) OR (2>4 DIV 2)
C. (3<5) OR (6<5) AND (2<4 DIV 2)
D. 4+2*(3+5) <18 DIV 4 * 4
Câu 2
Những phát biểu nào sau đây là đúng:
A. Chương trình cho kết quả sai khi thực hiện 1 test thì chương trình đó sai
B. Bộ test với kích thước dữ liệu lớn có nhiều khả năng phát hiện lỗi sai của
chương trình hơn là các bộ test với kích thước dữ liệu nhỏ
C. Khi dịch chương trình không thấy lỗi thì có thể kết luận chương trình là
đúng.
D. Cú pháp của một ngôn ngữ lập trình là bộ quy tắc cho phép người lập trình
viết chương trình trên ngôn ngữ đó.
E. Các ngôn ngữ lập trình đều có chung một bộ chữ cái.
Câu 3
Xây dựng chương trình trên PASCAL (hoặc viết thuật toán) giải các bài tập sau:
3.1. Cộng hai phân số theo quy tắc đã học trong chương trình toán
p a c
q b d
= +
với a, b, c, d được nhập vào từ bàn phím. Đưa ra màn hình tử số và mẫu số của phân


số nhận được.
3.2. Nhập từ bàn phím một số nguyên dương N; Tính và đưa ra màn hình tổng
bình phương các chữ số của N
3.3. In ra màn hình biểu diễn nhị phân của số nguyên dương M được nhập từ
bàn phím.
ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG NĂM HỌC 2010-2011
Môn: Tin học
Đáp án và hướng dẫn chấm
Bài 1. (1 điểm)
Các đáp án chọn: B và C
Bài 2. (1 điểm)
Các đáp án: A B D
Bài 3.
Bài giải phải thể hiện được các lệnh xử lý các nhóm yêu cầu theo thuật toán giả lập
sau:
3.1. Cộng 2 phân số (3 điểm)
+ Hàm tính tìm UCNN (thuật toán Oclide hoặc thuật toán khác) (1 điểm)
FUNCTION UCLN (m,n:integer):integer;
Begin
Khi n> 0 thì
Begin
r= m mod n; m=n; n=r;
end;
UCLN = m
End;
+ Chương trình chính (2 điểm)
BEGIN
Nhập (2 phân số)
Mẫu số chung nhỏ nhất = b*d div UCLN (a,b);
Nhân a với (MSC div b);

Nhân c với (MSC div d);
Begin
p = tử + tử
q=MSCNN
End;
Chia p, q cho UCLN (p,q);
Thông báo kết quả
END.
3.2. Tính tổng bình phương các chữ số (2,5 điểm)
Thuật toán:
B1. Nhập N
B2. T:=0
B3. Nếu N=0 thì đưa ra T rồi kết thúc
B4.
T:=T+abs( N mod 10)
N:=N div 10
B5. Quay lại bước 3
Chương trình: phải có các câu lệnh thể hiện được các bước ở trên
3.3 In ra màn hình biểu diễn nhị phân của số nguyên dương M (2,5 điểm)
Thuật toán
B1. Nhập M
B2. St:=’’
B3. Nếu M=0, đưa ra St rồi dừng lại.
B4.
a:= M mod 2
str(a,ch)
St:=ch+St
M := M div 2
B5. Quay lại bước 3
BỘ CÔNG AN

TRƯỜNG VĂN HÓA I
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG
NĂM HỌC 2010-2011
Môn: Tin học
Thời gian làm bài: 150 phút
Câu 1
Những biểu thức nào sau đây có giá trị TRUE
A. (30>7) AND ('A'<'a')
B. (14>2) AND NOT (19>5) OR (2>4 DIV 2)
C. (9>6) OR (19<81) AND (2<4 DIV 2)
D. 30+7*(19+76) < 18 DIV 4 * 4
Câu 2. Đánh dấu (x) vào ô tương ứng để phân loại các thiết bị dưới đây:
Tên thiết bị Thiết bị vào Thiết bị ra
Đĩa mềm
Micro
Máy chiếu
Tai nghe
Webcam
Máy quét
Môđem
Máy in
Loa
Câu 3
Xây dựng chương trình trên PASCAL (hoặc viết thuật toán) giải các bài tập sau:
3.1. Cho số nguyên dương N và N số nguyên dương. Tìm trong dãy số có tổng
các ước lớn nhất.
Ví dụ: N=5, dãy số là 12, 10, 15, 8, 12.
Trả lời là 12

3.2. Tìm vị trí các số dương trong dãy A={A
1
, A
2
,…, A
n
}
3.3. In ra màn hình biểu diễn nhị phân của số nguyên dương M được nhập từ
bàn phím.
ĐỀ THI HỌC SINH GIỎI CẤP TRƯỜNG NĂM HỌC 2010-2011
Môn: Tin học
Đáp án và hướng dẫn chấm
Câu 1 (1 điểm)
Những biểu thức nào sau đây có giá trị TRUE
A C
Câu 2: (1 điểm)
Tên thiết bị Thiết bị vào Thiết bị ra
Đĩa mềm
Micro x
Máy chiếu x
Tai nghe x
Webcam x
Máy quét x
Môđem x x
Máy in x
Loa x
Bài 3.
Bài giải phải thể hiện được các lệnh xử lý các nhóm yêu cầu theo thuật toán giả lập
sau:
3.1. Tìm trong dãy số có tổng các ước lớn nhất. (3 điểm)

B1: Nhập N và dãy A
1
, A
2
,…, A
n

B2: Max:=0; k=1; i:=1;
B3: Nếu i>N Chuyển sang B5, ngược lại thực hiện các bước:
Kiểm tra:
B3.1: T:=0; j:=1
B3.2: Nếu A
i
mod j = 0 thì T:=T+j
B3.3: j:=j+1
Nếu j>A
i
thì sang B3.5
B3.4: Quay lại B3.2
B3.5: Nếu T>Max thì (Max:=T; k:=i)
B4: i:=i+1; quay lại B3
B5: Đưa ra số A
k
là số cần tìm. Kết thúc
3.2. Tìm vị trí các số dương trong dãy A={A
1
, A
2
,…, A
n

}(2,5 điểm)
B1: Nhập N và dãy A
1
, A
2
,…, A
n

B2: i:=1;
B3: Nếu i>N, kết thúc
B4: Nếu A
i
>0, đưa ra chỉ số i
B5: i:=i+1, quay lại B3
3.3 In ra màn hình biểu diễn nhị phân của số nguyên dương M (2,5 điểm)
Thuật toán
B1. Nhập M
B2. St:=’’
B3. Nếu M=0, đưa ra St rồi dừng lại.
B4.
a:= M mod 2
str(a,ch)
St:=ch+St
M := M div 2
B5. Quay lại bước 3

×