PHÒNG GD&ĐT ĐẠI LỘC
ĐỀ THI HỌC SINH GIỎI LỚP 9 (NĂM HỌC 2013 - 2014) Môn: Tin học :
Thời gian: 150 phút Giáo Viên ra đề: Trần Đình Luận Đơn vị: Trường THCS Lê Quý Đôn I. ĐỀ BÀI.
Bài 1. ( 4 điểm) Tính tổng
Viết chương trình nhập số tự nhiên n . Tính các tổng sau::
a/ S1 = 1- 2 + 3 – 4 +...+ n.
b/ 1.2 2.3 3.4 .( 1) 3.4 4.5 5.6 ... ( 2)( 3)
n
S n n
n n
( Sao cho 5 < n ≤100, nếu nhập sai yêu cầu nhập lại)
Ví du:
Input Output
4 Nhap lai n thoa man 5 < n <=100, n =
5 1.879
6 2.462
Bài 2. (5 điểm)
Viết chương trình nhập vào hai số tự nhiên x, y sao cho chương trình chỉ cho nhập các số tự nhiên x, y thỏa mãn 4 x < 53 và 59 < y 121.
- In ra màn hình các số lẻ chia hết cho 3 trong khoảng từ x đến y và đếm có bao nhiêu số như vậy?
- In ra màn hình các số chính phương m sao cho x < m < y và đếm có bao nhiêu số m?
Ví du:
Bài 3. (6 điểm) Mảng
Viêt chưong trình Pasacl nhập vào một dãy số nguyên A gồm n phần tử với n nhập từ bàn phím.
a/ Hãy kiểm tra dãy số đã nhập có đối xưng hay không?
b/ Viết chương trình tạo dãy số B[1..n]. Trong đó B[i] là tổng giá trị của i phần tử đầu tiên của dãy số A.
Bài 4. (5 điểm) Ước nhiều nhất.
Viết chương trình để khi nhập số tự nhiên n từ bàn phím thì in ra màn hình số có nhiều ước nhất trong các số từ 1 đến n và số ước của nó.
Ví dụ: Nhập n=14 thi in ra:
Số có nhiều ước nhất từ 1 đến 14 là 12, có 6 ước số
Input Output
3 64 4 64
Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121 Cac so le chia het cho 3 thoa man la:
9 15 21 27 33 39 45 51 57 63 Co tat ca: 10 so le chia het cho 3
Cac so chinh phuong lon hon 4 va nho hon 64 la:
9 16 25 36 49
Co tat ca 5 so chinh phuong
ĐỀ ĐỀ NGHỊ
II. ĐÁP ÁN – BIỂU ĐIỂM
Bài 1
a/
Chương trình tham khảo Điểm
Var
n,i,s :Integer; 0,5
BEGIN
Write(‘Nhap so tu nhien n=');Readln(n);
s:= 0; d:=1;
For i:=1 to n do begin s:=s+ d*i ; d:=-d; end;
Write(‘Tong la s=’,s);
Readln END.
1
b/
Chương trình tham khảo Điểm
Var
n,i:Integer;
s:Real;
0,5 BEGIN
Write(‘Nhap so tu nhien n=');Readln(n);
While ((n<=5) OR (n>100) do Begin
Write(‘Nhap lai n thoa man 5 < n <=100, n = ');Readln(n);
end;
1
s:=0;
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3));
Write(‘tong la s=’,s:4:3);
Readln END.
1
Bài 2
Chương trình tham khảo Điểm
Uses Crt;
var x,y,i,d:longint;
BEGIN
ClrScr;
d:=0;
Write(‘Nhap so tu nhien x, y =');Readln(x,y);
While ((x<4) OR (x>=53) OR ( y<=59) OR (y>121) ) do Begin
Write(‘Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121’); Readln(n);
end;
writeln(‘Cac so le chia het cho 3 thoa man la:');
0,5
0,5
0,5 0,5 for i:=x to y do
if (i mod 2<>0)and(i mod 3=0) then begin
0,5 0,5
write(i:6);
d: = d+1; end; 0,5
writeln;
writeln('Co tat ca:',d,' so le chia het cho 3');
writeln('Cac so chinh phuong lon hon’, x:4,’va nho hon’, y:4, ‘la: ‘);
d:=0;
For i: = x +1 to y -1 do
IF sqr(trunc(sqrt(i))) = i then
Begin write (I: 7); d:=d+1; end;
writeln; writeln(‘ Co tat ca ‘,d:6,’ so chinh phuong’);
readln;
End.
0,5 0,5 0,5 0,5 0,5 Bài 3
Chương trình tham khảo Điểm
Uses Crt;
Var
A,B: array[1..100] of Integer;i,j,n:integer; 0.5
Begin
Write(' nhap vao so phan tu cua mang'); Readln(n);
For i:= 1 to n do Begin
Write('nhap phan tu a[',i,']='); readln(a[i]);
End;
0.5
I:=1;
While (i <= n div 2) and ( (a[i] = a[n-i +1]) do i:=i+1; 1.0 If i> (n div 2) then Writeln( ‘ Day da nhâp la day doi xung:’)
Else Writeln( ‘ Day da nhâp khong la day doi xung:’) 1.0 For i:= 1 to n do
Write(a[i]:5); 0,5
For i:= 1 to n do Begin
B[i]:= 0 ;
For j:=1 to i do B[i]:=B[i]+a[j];
End; Writeln;
2,0
Writeln(‘ Day b[i] tổng giá trị của i phần tử đầu tiên của dãy số A. la :');
For i:= 1 to n do Write(B[i]:5);
Readln;
End.
0,5
Bài 4. (5 điểm)
Chương trình tham khảo Điểm
var max,i,n,j,dem:integer;
a:array[1..10000] of integer; 1.0
begin
write('nhap so n:'); readln(n);
for i:= 1 to n do begin
dem:=0;
1.0
for j:=1 to i do if i mod j=0 then
dem:=dem+1; a[i]:=dem;
end;
1.0 max:=a[1];
for i:=1 to n do
if a[i]>max then max:=a[i];
1.0
for i:=1 to n do
if a[i]=max then writeln(' so co nhieu uoc nhat la ',i);
readln end.
1.0
---