SỞ GD&ĐT VĨNH PHÚC KÌ THI CHỌN HSG LỚP 12, NĂM HỌC 2016 - 2017 TRƯỜNG THPT NGUYỄN DUY THÌ MÔN: TINHỌC – LẦN Thời gian làm bài: 180 phút, không kể thời gian giao đề Tổng quan: Đềthi gồm 02 trang TT Tên File chương trình File liệu File kết Điểm Bài Số hoàn hảo HOANHAO.PAS BAI1.INP BAI1.OUT Bài Dãy số DAYSO.PAS BAI2.INP BAI2.OUT Bài Đếm từ xâu XAU.PAS BAI3.INP BAI3.OUT Bài Số hoàn hảo Một số tự nhiên N có tổng ước nhỏ nó gọi số hồn hảo Ví dụ: Số số hồn hảo vì: Các ước 1, 2, = + + * Dữ liệu: Vào từ tệp văn HOANHAO.INP, gồm dòng ghi số N (2 < N < 1000) * Kết quả: Ghi tệp văn HOANHAO.OUT: số hồn hảo có giá trị < N, số viết dòng * Ví dụ: BAI1.INP BAI1.OUT BAI1.INP BAI1.OUT 30 28 Bài Dãy số * Dữ liệu: Vào từ tệp văn SUM.INP, gồm dòng: • - Dòng 1: Số N • - Dòng 2: Dãy số a1, a2 ., an số cách dấu cách (0 ≤ ≤ 104; i = 1, 2, , N) * Kết quả: Ghi tệp văn SUM.OUT, gồm dòng: • Dòng 1: Giá trị vị trí phần tử lớn dãy số (mỗi số cách dấu cách) • Dòng 2: ghi giá trị trung bình cộng số có giá trị lẻ vị trí chẵn dãy * Ví dụ: BAI2.INP BAI2.OUT 40 7 23 25 40 16 BÀI 3: Đếm từ xâu Chuẩn hóa xâu có nghĩa loại bỏ dấu cách dư thừa xâu * Dữ liệu: Vào từ tệp văn XAU.INP, gồm dòng: xâu S có độ dài khơng q 255 kí tự * Kết quả: Ghi tệp văn XAU.OUT, gồm dòng: • Dòng 1: ghi xâu sau chuyển hết ký tự in hoa • Dòng 2: ghi độ dài xâu sau chuẩn hóa • Dòng 3: ghi số từ có xâu * Ví dụ: BAI3.INP BAI3.OUT thpt nguyen thi THPT NGUYEN DUY THI 19 Đáp án đềthihọc sinh giỏi mônTinhọc lớp 12 Bài Program hoanhao; Uses crt; Var i, n: interger; f, g: text; {Xay dung ham tinh tong cac uoc cua so nguyen duong} function tongus(n : integer): integer; var i,s : integer; begin s := 0; for i := to n div if n mod i = then s := s + i; tongus := s; end; Begin Assign(f, 'bai1.inp'); Reset (f); Assign( g, 'bai1.out'); Rewrite(g); Read(f, n); {kiem tra va in so hoan hao} For i:=1 to n If i = tongus(i) then write(g, i); Close(f); Close(g); Readln End Bài Program dayso; Uses crt; Var i, n, , tong, dem, tb, max: interger; A: array[1 10000] of longint; F, g: text; Begin Assign(f, 'bai2.inp'); Reset (f); Assign( g, 'bai2.out'); Rewrite(g); Read(f, n); For i:=1 to n Begin Readln(f, a[i]); End; {Tim gia tri va vi tri cua phan tu lon nhat} Max:=a[1]; For i:=1 to n If max < a[i] then begin max:=a[i]; Write(g, a[i]); Write(g, i); end; {Ghi gia tri trung binh cong cua cac so le o vi tri chan day} Dem: =0; Tong:=0; For i: to n If (a[i] mod 2 0) and (i mod = 0) then Tong: = tong +a[i]; Inc(dem); Tbc:= tong/dem; Writeln(g, tbc); Close(f); Close(g); Readln End Bài Program xau; Uses crt; Var s: string; F, g: text; X, i, dem: integer; {Ham dem so tu xau s} Function sotu(s : string) : integer; Var i, dem : integer; Begin { cong them dau cach dau xau de dem tu dau tien} S: = '' + s; Dem: = ; For i:= to x If (s[i-1]='') and (s[i]'') then inc(dem); Sotu:= dem; End; Begin Assign(f, 'bai3.inp'); Reset (f); Assign( g, 'bai3.out'); Rewrite(g); Read(f, s); x:= length(s); {chuyen het xau ve ki tu in hoa} For i:=1 to x upcase(s[i]); Write(g, i); {chuan hoa xau} while s[1]=' ' delete(s,1,1); while s[x]=' ' delete(s,x,1); for i:= x downto if (s[i]='') and (s[i-1]='') then delete (s, i, 1); writeln(g, s); {ghi so tu co xau} Writeln(g, Sotu(s)); Close(f); Close(g); Readln End ... BAI3.OUT thpt nguyen thi THPT NGUYEN DUY THI 19 Đáp án đề thi học sinh giỏi môn Tin học lớp 12 Bài Program hoanhao; Uses crt; Var i, n: interger; f, g: text; {Xay dung ham tinh tong cac uoc cua... KÌ THI CHỌN HSG LỚP 12, NĂM HỌC 2016 - 2017 TRƯỜNG THPT NGUYỄN DUY THÌ MÔN: TIN HỌC – LẦN Thời gian làm bài: 180 phút, không kể thời gian giao đề Tổng quan: Đề thi. .. Bài Số hoàn hảo Một số tự nhiên N có tổng ước nhỏ nó gọi số hồn hảo Ví dụ: Số số hồn hảo vì: Các ước 1, 2, = + + * Dữ liệu: Vào từ tệp văn HOANHAO.INP, gồm dòng ghi số N (2 < N < 100 0) * Kết quả: