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 (102.71 KB, 5 trang )
<span class='text_page_counter'>(1)</span>PHÒNG GD&ĐT HƯƠNG TRÀ. ĐỀ THI CHỌN HỌC SINH GIỎI CẤP THỊ XÃ NĂM HỌC 2012-2013. ĐỀ THI CHÍNH THỨC. MÔN: TIN HỌC 9. Thời gian làm bài: 150 phút. Câu 1 (3 điểm): S 1 . 1 1 1 ... 3 5 2n 1. Viết chương trình tính tổng Câu 2 (3 điểm): Nhập vào từ bàn phím số nguyên dương N (0 < N hình tổng bình phương các chữ số của N.. 2*109). Tính và đưa ra màn. Câu 3 (4 điểm): Một số nguyên dương N được gọi là số hoàn thiện, nếu tổng các ước số của N bằng chính N (Tính luôn số 1). Ví dụ: 6 = 1+2+3 nên số 6 được gọi là số hoàn thiện. Viết chương trình kiểm tra xem số N có phải là số hoàn thiện hay không, N được nhập từ bàn phím. In ra màn hình theo dạng sau: Ví dụ: Nhập A=6 Chương trình in ra màn hình: 6 là số hoàn thiện Nhập A=8 Chương trình in ra màn hình: 8 không phải là số hoàn thiện Câu 4 (3 điểm): Viết chương trình nhập từ bàn phím hai số nguyên dương, mỗi số gồm ba chữ số và in chi tiết kết quả phép nhân ra màn hình như ví dụ sau: 456 x 789 -----4104 3648 3192 ----------359784 Câu 5 (3 điểm): Viết liên tiếp dãy các số tự nhiên bắt đầu từ 1 ta được dãy vô hạn các chữ số 1234567891011121314..... (1). Hỏi: Chữ số ở vị trí thứ K (K Z+) trong dãy (1) là chữ số nào? Em hãy viết chương trình yêu cầu nhập số K từ bàn phím và in ra trên màn hình kết quả là chữ số nằm ở vị trí thứ K trong dãy (1) ở trên. Câu 6 (4 điểm): Cho mảng A các số nguyên gồm n phần tử. Viết chương trình tạo mảng B[1..n]. Trong đó B[i] là tổng giá trị của i phần tử đầu tiên của mảng A..
<span class='text_page_counter'>(2)</span> PHÒNG GIÁO DỤC VÀ ĐÀO TẠO HƯƠNG TRÀ. ĐÁP ÁN, HƯỚNG DẪN CHẤM ĐỀ THI CHỌN HỌC SINH GIỎI NĂM HỌC 2012-2013.. MÔN: TIN HỌC 9. 1 1 1 S 1 ... 3 5 2n 1 Câu 1 (3 điểm): Viết chương trình tính tổng. Program Cau_1; Var n,i: integer; S: real; Begin Write ('Nhap n = '); readln(n); S :=0; For i:=1 to n do S:= S+1/(2*i-1); Writeln ('Tong la S = ', S:6:2); readln End. Câu 2 (4 điểm): Nhập vào từ bàn phím số nguyên dương N (0 < N 2*109). Tính và đưa ra màn hình tổng bình phương các chữ số của N. Program Cau_2; Var n, s, tg : longint; Begin Repeat write ('N = '); readln(n); If (n <= 0) or (n > 2000000000) then Writeln ('moi ban nhap lai.'); Until (n > 0) and (n <= 2000000000); Write ('Tong binh phuong cac chu so cua ', N , ' la : '); s := 0; while n>0 do begin tg := n mod 10; s := s + sqr(tg); end; writeln(s) End. Câu 3 (3 điểm): Một số nguyên dương N được gọi là số hoàn thiện, nếu tổng các ước số của N bằng chính N (Tính luôn số 1). Ví dụ: 6 = 1+2+3 nên số 6 được gọi là số hoàn thiện. Viết chương trình kiểm tra xem số N có phải là số hoàn thiện hay không, N được nhập từ bàn phím. In ra màn hình theo dạng sau: Ví dụ: Nhập A=6 Chương trình in ra màn hình: 6 là số hoàn thiện Nhập A=8 Chương trình in ra màn hình: 8 không phải là số hoàn thiện Program Cau_3; uses crt; var n,i,tong:integer; Begin clrscr; write('n:'); readln(n); tong:=1;.
<span class='text_page_counter'>(3)</span> for i:=2 to (n div 2) do if (n mod i)=0 then tong:=tong+i ; if n=tong then write(n,'la so hoan thien') else write(n, 'khong phai la so hoan thien'); readln end. Câu 4 (3 điểm): Viết chương trình nhập từ bàn phím hai số nguyên dương, mỗi số gồm ba chữ số và in chi tiết kết quả phép nhân ra màn hình như ví dụ sau: 456 x 789 -----4104 3648 3192 ----------359784 Program Cau_4; Uses Crt; Var m, n: Integer; i: byte; l: longint; Begin Clrscr; Repeat Write('Nhap so co 3 chu so: m= ');Readln(m); Write('Nhap so co 3 chu so: n= ');Readln(n); Until (m<1000) and (n<1000); l:=m*n; Writeln; Writeln(m:12); Writeln('x':7); Writeln(n:12); writeln('-------':13); i:=12; while n>0 do begin Writeln(m*(n mod 10):i); n:= n div 10; i:=i-1; end; Writeln('-------':13); Writeln(l:12); Readln; End. Câu 5 (3 điểm): Viết liên tiếp dãy các số tự nhiên bắt đầu từ 1 ta được dãy vô hạn các chứ số 1234567891011121314..... (1). Hỏi: Chữ số ở vị trí thứ K (K Z+) trong dãy (1) là số nào? Em hãy viết chương trình yêu cầu nhập số K từ bàn phím và in ra trên màn hình kết quả là số nằm ở vị trì thứ K trong dãy (1) trên.. Program Cau_5;.
<span class='text_page_counter'>(4)</span> Uses crt; var n, Result: LongInt; procedure ReadInput; begin Write('Ban hay nhap so K: '); Readln(n); end; procedure Solution; var i, Sum, Num, Digits: LongInt; begin Sum := 9; Num := 1; Digits := 1; while Sum < n do begin Num := Num * 10; Inc(Digits); Inc(Sum, Num * 9 * Digits); end; Dec(Sum, Num * 9 * Digits); Dec(n, Sum); Num := Num + (n - 1) div Digits; n := (n - 1) mod Digits + 1; for i := 1 to Digits - n do Num := Num div 10; Result := Num mod 10; end; procedure WriteOutput; begin Writeln('Chu so can tim la: ', Result); Readln; end; begin ReadInput; Solution; WriteOutput; End. Câu 6 (4 điểm): Cho mảng A các số nguyên gồm n phần tử. Viết chương trình tạo mảng B[1..n]. Trong đó B[i] là tổng giá trị của i phần tử đầu tiên của mảng A.. Program Cau_6; Uses Crt; Const max = 100; Var A,B: array[1..max] of Integer; i,j,n: integer; Begin Write(' nhap vao so phan tu cua mang'); Readln(n); For i:= 1 to n do Begin Write('a[',i,']='); readln(a[i]); End; For i:= 1 to n do Write(a[i]:5); For i:= 1 to n do Begin B[i]:= 0 ;.
<span class='text_page_counter'>(5)</span> For j:=1 to i do B[i]:=B[i]+a[j]; End; For i:= 1 to n do Write(B[i]:5); Readln; End.. Ghi chú: + Đáp án là gợi ý giải, các cách giải khác, đúng, giám khảo căn cứ biểu điểm của từng câu để chấm. + Biểu điểm chi tiết (đến 0,25) của các câu, tổ giám khảo bàn bạc, thống nhất. + Điểm của toàn bài không làm tròn. ––––––––––––.
<span class='text_page_counter'>(6)</span>