You are on page 1of 4

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
ĐỀ ĐỀ NGHỊ 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/ ( 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: Input Output
3 64 Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121
4 64 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
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ố
II. ĐÁP ÁN – BIỂU ĐIỂM
Bài 1
a/
Chương trình tham khảo Điểm
Var
0,5
n,i,s :Integer;
BEGIN
Write(‘Nhap so tu nhien n=');Readln(n);
s:= 0; d:=1;
1
For i:=1 to n do begin s:=s+ d*i ; d:=-d; end;
Write(‘Tong la s=’,s);
Readln
END.

b/
Chương trình tham khảo Điểm
Var
n,i:Integer; 0,5
s:Real;
BEGIN
Write(‘Nhap so tu nhien n=');Readln(n);
While ((n<=5) OR (n>100) do
1
Begin
Write(‘Nhap lai n thoa man 5 < n <=100, n = ');Readln(n);
end;
s:=0;
For i:=1 to n do s:=s+i*(i+1)/((i+2)*(i+3));
1
Write(‘tong la s=’,s:4:3);
Readln
END.

Bài 2

Chương trình tham khảo Điểm


Uses Crt;
var x,y,i,d:longint; 0,5
BEGIN
ClrScr;
d:=0;
Write(‘Nhap so tu nhien x, y =');Readln(x,y); 0,5
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); 0,5
end;
writeln(‘Cac so le chia het cho 3 thoa man la:'); 0,5
for i:=x to y do 0,5
if (i mod 2<>0)and(i mod 3=0) then
begin 0,5
write(i:6);
d: = d+1; end; 0,5
writeln;
writeln('Co tat ca:',d,' so le chia het cho 3'); 0,5
writeln('Cac so chinh phuong lon hon’, x:4,’va nho hon’, y:4, ‘la: ‘);
d:=0; 0,5
For i: = x +1 to y -1 do
IF sqr(trunc(sqrt(i))) = i then 0,5
Begin write (I: 7); d:=d+1; end;
writeln; writeln(‘ Co tat ca ‘,d:6,’ so chinh phuong’); 0,5
readln;
End. 0,5

Bài 3

Chương trình tham khảo Điểm


Uses Crt;
Var 0.5
A,B: array[1..100] of Integer;i,j,n:integer;
Begin
Write(' nhap vao so phan tu cua mang'); Readln(n);
For i:= 1 to n do
0.5
Begin
Write('nhap phan tu a[',i,']='); readln(a[i]);
End;
I:=1;
1.0
While (i <= n div 2) and ( (a[i] = a[n-i +1]) do i:=i+1;
If i> (n div 2) then Writeln( ‘ Day da nhâp la day doi xung:’)
1.0
Else Writeln( ‘ Day da nhâp khong la day doi xung:’)
For i:= 1 to n do
0,5
Write(a[i]:5);
For i:= 1 to n do
Begin
B[i]:= 0 ;
For j:=1 to i do 2,0
B[i]:=B[i]+a[j];
End; Writeln;

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); 0,5
Readln;
End.

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 1.0
begin
dem:=0;
for j:=1 to i do
if i mod j=0 then
dem:=dem+1; a[i]:=dem; 1.0
end;
max:=a[1];
for i:=1 to n do 1.0
if a[i]>max then max:=a[i];

for i:=1 to n do
if a[i]=max then writeln(' so co nhieu uoc nhat la ',i);
readln 1.0
end.

----------------------------------------------------------------------------------

You might also like