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.[r]
(1)PHÒNG GD&ĐT ĐẠI LỘC
ĐỀ THI HỌC SINH GIỎI LỚP (NĂM HỌC 2013 - 2014) Môn: Tin học :
Thời gian: 150 phút Giáo Viên đề: Trần Đình Luận Đơn vị: Trường THCS Lê Quý Đôn I ĐỀ BÀI.
Bài ( điểm) Tính tổng
Viết chương trình nhập số tự nhiên n Tính tổng sau:: a/ S1 = 1- + – + + n
b/
1.2 2.3 3.4 ( 1)
3.4 4.5 5.6 ( 2)( 3) n
n n S
n n
( Sao cho < n ≤100, nhập sai yêu cầu
nhập lại)
Ví du:
Input Output
4 Nhap lai n thoa man < 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 cho chương trình cho nhập số tự nhiên x, y thỏa mãn x < 53 59 < y 121.
- In hình số lẻ chia hết cho khoảng từ x đến y đếm có số vậy?
- In hình số phương m cho x < m < y đếm có số m?
Ví du:
Bài 3. (6 điểm) Mảng
Viêtchưong trình Pasacl nhập vào 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] tổng giá trị i phần tử dãy số A
Bài (5 điểm) Ước nhiều nhất.
Viết chương trình để nhập số tự nhiên n từ bàn phím in hình số có nhiều ước nhất số từ đến n số ước
Ví dụ: Nhập n=14 thi in ra:
Số có nhiều ước từ đến 14 12, có ước số ĐỀ ĐỀ NGHỊ
Input Output
3 64
4 64 Nhap lai x, y thoa man 4<=x< 53 va 59<y<=121Cac so le chia het cho thoa man la: 15 21 27 33 39 45 51 57 63
Co tat ca: 10 so le chia het cho
Cac so chinh phuong lon hon va nho hon 64 la: 16 25 36 49
(2)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 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)
Begin
Write(‘Nhap lai n thoa man < n <=100, n = ');Readln(n); end;
1
s:=0;
For i:=1 to n s:=s+i*(i+1)/((i+2)*(i+3)); Write(‘tong la s=’,s:4:3);
Readln END.
1
Bài
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) ) 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 thoa man la:');
0,5
0,5
0,5 0,5 for i:=x to y
if (i mod 2<>0)and(i mod 3=0) then begin
(3)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
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:= to n
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]) 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:= to n
Write(a[i]:5); 0,5
For i:= to n Begin
B[i]:= ;
For j:=1 to i B[i]:=B[i]+a[j]; End; Writeln;
2,0
Writeln(‘ Day b[i] tổng giá trị i phần tử dãy số A la :'); For i:= to n
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;
(4)begin
write('nhap so n:'); readln(n); for i:= to n
begin dem:=0;
1.0
for j:=1 to i if i mod j=0 then
dem:=dem+1; a[i]:=dem; end;
1.0
max:=a[1]; for i:=1 to n
if a[i]>max then max:=a[i];
1.0
for i:=1 to n
if a[i]=max then writeln(' so co nhieu uoc nhat la ',i); readln
end
1.0