Bài 2: 7 điểm Viết chương trình cho phép nhập vào dãy số nguyên gồm n phần tử 1≤n≤100 a Tinh trung bình cộng của các phần tử lớn hơn 0 có trong dãy số.. Kết quả làm tròn 2 chữ số ở phần [r]
Trang 1Sở GD&ĐT Hậu Giang ĐỀ THI HỌC SINH GIỎI HUYỆN NĂM HỌC 2014-2015 Phòng GD&ĐT Long Mỹ Môn: Tin Học 8
Thời gian làm bài: 120 phút
(Các tập tin lưu trong thư mục D:\SBD\, trong đó SBD là số báo danh của thí sinh)
Bài 1: (6 điểm) Viết chương trình cho phép nhập vào số nguyên n (1≤n≤10000) In ra màn hình giá
trị của biểu thức: 2 2 2 2
T
n
(Kết quả làm tròn 2 chữ số ở phần thập phân)
Ví dụ:
Dữ liệu vào (bàn phím) Dữ liệu ra (màn hình)
Bài 2: (7 điểm) Viết chương trình cho phép nhập vào dãy số nguyên gồm n phần tử (1≤n≤100)
a) Tinh trung bình cộng của các phần tử lớn hơn 0 có trong dãy số
(Kết quả làm tròn 2 chữ số ở phần thập phân) b) Hiện ra màn hình các số nguyên tố có trong dãy số trên.
Ví dụ:
Dữ liệu vào (bàn phím) Dữ liệu ra (màn hình)
12 -6 5 14 11 31 -7 14.600
5 11 31
32 -9 -7 7 3 -23 14.000
7 3
Bài 3: (7 điểm) Nhập vào 1 số tự nhiên N với (0 < N ≤ 65535)
a) Hãy cho biết chữ số lớn nhất của số tự nhiên vừa nhập.
b) Kiểm tra xem số đó có đối xứng không.
Ví dụ:
Dữ liệu vào (bàn phím) Dữ liệu ra (màn hình)
Khong doi xung
Doi xung
-Hết - Thí sinh không được sử dụng tài liệu
Giám thị không giải thích gì thêm
Trang 2HƯỚNG DẪN CHẤM ĐIỂM
(Chấm theo bộ Test)
Bài Dữ liệu vào (bàn phím) Dữ liệu ra (màn hình) Điểm
Bai1.pas
(6 điểm)
Bai2.pas
(7 điểm)
-5 -8 -3 <Khoảng trắng>
<Khoảng trắng> 2 đ -8 2 7 11 9 13 -21 8.400
Bai3.pas
(7 điểm)
Khong doi xung
2 đ
Trang 3CHƯƠNG TRÌNH THAM KHẢO Program bai1;
Uses crt;
Var i,n: integer;
t: real;
Begin
Clrscr;
Write('Nhap n: '); readln(n);
t:=0;
for i:=1 to n do t:=t+1/(i*i);
Writeln('T=',t:0:2);
Readln;
End
Program bai2;
Uses crt;
Var i,j,n,d,t: integer;
a: array[1 100] of Integer;
Begin
Clrscr;
Write('Nhap n: '); readln(n);
For i:=1 to n do
Begin
Write('Nhap phan tu thu ',i,': '); readln(a[i]);
end;
d:=0; t:=0;
For i:=1 to n do
if a[i]>0 then
begin
t:=t+a[i];
d:=d+1;
end;
Writeln('Trung binh cong cua cac phan tu lon ho 0 la: ', t/d:0:3); Writeln('Cac so nguyen to co trong day so la: ');
For i:=1 to n do
begin
d:=0;
for j:=1 to a[i] do if a[i] mod j=0 then d:=d+1;
if d=2 then Write(a[i],' ');
end;
Readln;
End
Program bai3;
Uses crt;
Var s,s1,max: string;
i: integer;
Begin
Clrscr;
Write('Nhap n: '); readln(s);
max:='';
for i:=1 to length(s) do if s[i]>max then max:=s[i];
Writeln('Chu solon nhat la ',max);
s1:='';
for i:=length(s) downto 1 do s1:=s1+s[i];
if s1=s then writeln(s,' la xau doi xung')
else writeln(s,' khong la xau doi xung');
Readln;
End