SỞ GIÁO DỤC VÀ ĐÀO TẠOHÀ TĨNH Đề thi có 2 trang KỲ THI CHỌN HỌC SINH GIỎI TỈNH CẤP THPT NĂM HỌC 2012 - 2013 MÔN THI: TIN HỌC - LỚP 10 Thời gian: 180 phút Không kể thời gian giao đề Hãy
Trang 1SỞ GIÁO DỤC VÀ ĐÀO TẠO
HÀ TĨNH
(Đề thi có 2 trang)
KỲ THI CHỌN HỌC SINH GIỎI TỈNH CẤP THPT
NĂM HỌC 2012 - 2013 MÔN THI: TIN HỌC - LỚP 10
Thời gian: 180 phút (Không kể thời gian giao đề)
Hãy trình bày thuật toán giải các bài toán sau đây:
BÀI 1: SỐ THÂN THIỆN
Đang tìm hiểu các thuật toán về số tự nhiên, Nguyên phát hiện ra số tự nhiên
có rất nhiều tính chất thú vị Ví dụ số hoàn hảo có tính chất: tổng các ước bằng 2 lần
số đó, như số 6, số 24… Nhiều số tự nhiên khi tìm ước chung lớn nhất với số đảo ngược của nó bằng 1, những số như thế được gọi là số thân thiện Chẳng hạn số 23,
số đảo ngược của nó là 32, hai số này có ước chung lớn nhất là 1 nên số 23 là số thân thiện và 32 cũng là số thân thiện
Yêu cầu: Cho 2 số tự nhiên a, b (10 ≤ a ≤ b ≤ 104) Hãy đếm xem trong đoạn
từ a đến b có bao nhiêu số thân thiện
Ví dụ:
Dữ liệu vào Kết quả Giải thích
BÀI 2: SỐ TỰ NHIÊN NHỎ NHẤT
Nam một người bạn của Nguyên đang tìm cách giải một bài toán liên quan tới
số tự nhiên và cần sự giúp đỡ của Nguyên, nhưng thử thách lần này là một dãy gồm
N số tự nhiên bất kỳ nằm trong đoạn từ 0 tới 109, tìm số tự nhiên nhỏ nhất không có trong dãy số đó Vì số lượng các số tự nhiên trong dãy số đã cho có thể lên tới 106 phần tử nên việc tìm thủ công là không thể mà cần một thuật toán để cài đặt vào máy tính và nhờ máy tính tìm giúp
Yêu cầu: Cho một dãy A gồm N (1 ≤ N ≤ 106) số tự nhiên Hãy tìm số tự nhiên nhỏ nhất không xuất hiện trong dãy A
Ví dụ:
N= 5 Dãy số: 5 4 2 3 1
0
N= 9 Dãy số: 2 4 0 3 1 2 6 2 8
5
ĐỀ CHÍNH THỨC
Trang 2BÀI 3: SỐ LƯỢNG NHÓM ĐỀ TÀI
Nhà trường phát động phong trào đăng ký làm sáng tạo khoa học kỹ thuật, tất
cả các bạn trong lớp của Nguyên đều tích cực tham gia và được phân công vào các nhóm đề tài Mỗi nhóm đề tài được ký hiệu: <Tên nhóm> <Số thành viên>, ví dụ Nguyên được phân công vào nhóm TIN gồm 3 thành viên thì ký hiệu nhóm là TIN 3 Danh sách được lập ra gồm ký hiệu nhóm và tên thành viên, nhưng trong quá trình in
ấn cột ký hiệu nhóm bị mờ <tên nhóm> và không đọc được chỉ còn lại <số thành viên>
Ví dụ:
Ký hiệu Thành viên hiệu Thành viên
Yêu cầu: Cho danh sách gồm n học sinh và số thành viên của nhóm tương ứng
với từng học sinh Hãy xác định số lượng nhóm đề tài đã được phân công Dữ liệu đảm bảo bài toán có nghiệm
Ví dụ:
N= 5
3 2 3 3 2
2
N= 10
5 1 2 5 5 2 5 5 2 2
4
-HẾT -Ghi chú:
- Ngoài cách trình bày bằng phương pháp liệt kê hoặc sơ đồ khối, thí sinh có thể
sử dụng ngôn ngữ mô phỏng PASCAL hoặc ngôn ngữ PASCAL để trình bày thuật toán với dữ liệu vào/ra từ màn hình.
- Thí sinh không được sử dụng tài liệu.
- Giám thị không giải thích gì thêm.
Trang 3-S GI O D C V O T O Ở Á Ụ ÀĐÀ Ạ
H T NH À Ĩ K THI CH N H C SINH GI I T NH C P Ỳ THPT N M H C 2012 - 2013 Ọ Ă Ọ Ọ Ỏ Ỉ Ấ
Môn thi: Tin h c 10 ọ
G i ý áp án ợ đ Thang để i m
- Xác nh b i toán: đị à
Input: Hai s a, bố (10 a b 10 ≤ ≤ ≤ 4)
Output: S l ng s thân thi n thu c o n [a,b]ố ượ ố ệ ộ đ ạ 0.5
- Ý t ng: ưở Dùng 1 bi n ế dem l u s l ng s thân thi nđể ư ố ượ ố ệ
Xét l n l t các s t nhiên i t ầ ượ ố ự ừ a t i ớ b
V i m i s i xác nh s t nhiên j l o ng c c a i ớ ỗ ố đị ố ự à đả ượ ủ
N u UCLN(i,j)= 1 thì t ng bi n ế ă ế dem lên 1
K t qu b i toán l ế ả à à dem
1.0
- Thu t toán: ậ
B c 1 Nh p hai s a v b; ướ ậ ố à
B c 2 i ướ a; dem 0;
B c 3 N u i>b thì chuy n n b c 13; ướ ế ể đế ướ
B c 4 k ướ i, Songuoc0;
B c 5 ướ N u k = 0 thì chuy n n b c 8; ế ể đế ướ
B c 7 k ướ k div 10; r i quay l i b c 5 ồ ạ ướ
B c 8 k ướ i;
B c 9 N u k = Songuoc thì chuy n n b c 11; ướ ế ể đế ướ
B c 10 N u k > Songuoc thì k ướ ế k - Songuoc
Ng ượ ạ c l i Songuoc Songuoc – k, r i quay l i b c 9; ồ ạ ướ
B c 11 N u k=1 thì dem ướ ế dem+1;
B c 12 i ướ i+1 v quay l i b c 3; à ạ ướ
B c 13 ướ Đư a ra k t qu ế ả dem r i k t thúc.ồ ế
4.5
Theo yêu c u b i cho th y các b c gi i r t rõ r ng nên trong thu t toán có th chia ầ đề à ấ ướ ả ấ à ậ ể
nh t ng ph n cho i m ỏ ừ ầ để để
B c 1: Nh p d li u: 0,5 i m ướ ậ ữ ệ đ ể
B c 2, b c 3, b c 12 th hi n vòng l p: 1 i m ướ ướ ướ ể ệ ặ đ ể
B c 4 t i b c 7 tính s o ng c: 1 i m ướ ớ ướ ố đả ượ đ ể
B c 8 t i b c 11 xác nh UCLN: 1,5 i m ướ ớ ướ đị đ ể
B c 13: ướ Đư a ra k t qu : 0,5 i m ế ả đ ể
- Xác nh b i toán: đị à
Input: N v dãy A g m N s t nhiênà ồ ố ự
Output: S t nhiên nh nh t không xu t hi n trong dãy Aố ự ỏ ấ ấ ệ 0.5
- Ý t ưở ng:
Nh n xét: ậ S t nhiên nh nh t luôn n m trong o n t 0 t i ố ự ỏ ấ ằ đ ạ ừ ớ
N
Do v y dùng dãy B[0 N] ánh d u nh ng s ã có trong ậ để đ ấ ữ ố đ dãy A n m trong o n t 0 t i N Ban u ánh d u t t c các ằ đ ạ ừ ớ đầ đ ấ ấ ả
ph n t c a dãy B có giá tr l False Ti p theo ánh d u trong ầ ử ủ ị à ế đ ấ dãy B nh ng ph n t có trong dãy A nh sau:ữ ầ ử ư
Xét i: 1 t i N, n u Aớ ế i<=N thì ánh d u B[Ađ ấ i]True Tìm s t nhiên u tiên j trong dãy B m Bj=False, v i j: 0 ố ự đầ à ớ
t i Nớ
1.5
Trang 4- Thu t toán: ậ
B c 1 Nh p N v dãy A ướ ậ à 1 , A 2 , ,A N ;
B c 2 i ướ 0;
B c 3 N u i>N thì chuy n n b c 6; ướ ế ể đế ướ
B c 4 B ướ i False;
B c 5 i ướ i+1; r i quay l i b c 3; ồ ạ ướ
B c 6 i ướ 1;
B c 7 N u i>N thì v chuy n n b c 10; ướ ế à ể đế ướ
B c 8 N u A ướ ế i <=N thì B[A i ]true;
B c 9 i ướ i+1 v quay l i b c 7; à ạ ướ
B c 10 j ướ 0;
B c 11 N u B ướ ế j =false thì thông báo j, r i k t thúc; ồ ế
B c 12 j ướ j+1 v quay l i b c 11; à ạ ướ
5.0
- Xác nh b i toán: đị à
Input: N v dãy A g m N s nguyên d ng l u s th nh viênà ồ ố ươ ư ố à
Output: S l ng nhóm t iố ượ đề à 0.5
- Ý t ng: ưở
Xét l n l ng t ng h c sinh:1 N ầ ượ ừ ọ
ng v i t ng h c sinh ánh d u các h c sinh cùng nhóm, ng th i Ứ ớ ừ ọ đ ấ ọ đồ ờ
t ng bi n ă ế dem lên 1.
K t qu b i toán l ế ả à à dem
1.5
- Thu t toán: ậ
B c 1 ướ Nh p N v dãy A ậ à 1 , A 2 , ,A N ;
B c 2 i ướ 1; dem 0;
B c 3 N u i>N thì chuy n n b c 11; ướ ế ể đế ướ
B c 4: N u A ướ ế i <=0 thì chuy n sang b c th 10; ể ướ ứ
B c 5 dem ướ dem+1;
B c 6 K ướ A i ; j i; d 0;
B c 7 N u (j>N) ho c (d=K) thì v chuy n n b c 10; ướ ế ặ à ể đế ướ
B c 8 N u A ướ ế j =k thì A j -K; d d+1;
B c 9 j ướ j+1 v quay l i b c 7; à ạ ướ
B c 10 i ướ i+1 v quay l i b c 3 à ạ ướ
B c 11 ướ Đư a ra k t qu ế ả dem r i k t thúc ồ ế
5.0
- M i b i toán có nhi u thu t toán khác nhau gi i, Tùy v o b i l m c a h c ỗ à ề ậ để ả à à à ủ ọ sinh v thang i m trên cho i m phù h p à đ ể để đ ể ợ
- B i 3: Có thu t toán s p x p tr c khi ánh d u v i ph c t p thu t toán nh à ậ ắ ế ướ đ ấ ớ độ ứ ạ ậ ỏ
h n, n u h c sinh th hi n ơ ế ọ ể ệ đượ c thu t toán n y có th khuy n khích h n ậ à ể ế ơ