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ính tổng bình phương các chữ số 2,5 điểm Thuật toán: B1... Chương trình: phải có các câu l
Trang 1BỘ 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 q p = +b d a c 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
Trang 2ĐỀ 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)
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
Trang 3Chươ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
Trang 4BỘ 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={A1, A2,…, An}
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
Trang 5ĐỀ 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
Câu 2: (1 điểm)
Đĩa mềm
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 A1, A2,…, An
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 Ai mod j = 0 thì T:=T+j B3.3: j:=j+1
Nếu j>Ai 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ố Ak 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={A1, A2,…, An}(2,5 điểm)
B1: Nhập N và dãy A1, A2,…, An
B2: i:=1;
B3: Nếu i>N, kết thúc
B4: Nếu Ai>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
Trang 6B1 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