Tải bản đầy đủ (.doc) (4 trang)

Đề thi Tin học trẻ không chuyên thcs huyện Cẩm Mỹ năm 2011 (có đáp án)

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 (61.51 KB, 4 trang )

PHÒNG GD-ĐT HUYỆN CẨM MỸ

KỲ THI TIN HỌC TRẺ KHÔNG CHUYÊN

Trường THCS:……………………….

HÈ NĂM HỌC 2010 - 2011
ĐỀ THI THỰC HÀNH
THỜI GIAN : 90’

Họ Tên:……………………………….

SBD:

GIÁM THỊ 1

GIÁM THỊ 2

MẬT MÃ

…………………………………………………………………………………………………………………
ĐIỂM

GIÁM KHẢO 1

GIÁM KHẢO 1

MẬT MÃ

Bài 1: Viết chương tìm ước số chung lớn nhất của hai số nguyên a và b khác 0, với a, b
được nhập từ bàn phím.


Bài 2: Viết chương trình nhập vào một mảng gồm n phần tử (n<=100). Kiểm tra và in ra
màn hình các số là số nguyên tố sắp xếp theo thứ tự tăng dần.
Bài 3: Trăm Trâu, trăm cỏ
Trâu đứng ăn năm
Trâu nằm ăm ba
Lụ khụ Trâu già
Ba con một bó
Viết chương tìm số Trâu đứng, Trâu nằm, Trâu già?


KỲ THI TIN HỌC TRẺ KHÔNG CHUYÊN

HÈ NĂM HỌC 2010 - 2011
ĐỀ THI THỰC HÀNH
ĐÁP ÁN VÀ BIỂU ĐIỂM
Bài 1: 3 điểm
− Khai báo đúng: 0,5 điểm
− Nhập được dữ liệu: 0,5 điểm
− Thuật toán tìm UCLN đúng: 1,5 điểm
− Test đúng các trường hợp: 0,5 điểm
Bài 2: 4 điểm
− Khai báo đúng: 0,5 điểm
− Nhập được dữ liệu: 0,5 điểm
− Thuật toán tìm SNT đúng: 1,5 điểm
− Thuật toán tìm SX đúng: 1 điểm
− Xuất đúng dữ liệu dãy SNT: 0,5 điểm
Bài 3: 3 điểm
− Khai báo đúng: 0,5 điểm
− Thuật toán đúng: 2 điểm
− Xuất đúng các trường hợp: 0,5 điểm

Program Bai1;
Uses crt;
Var a,b,m,n:integer;
Begin
clrscr;
repeat
write('nhap a,b (a<>0, b<>0): ');
readln(a,b);
until (a<>0) and (b<>0);
m:=abs(a); n:=abs(b);
while m<>n do
if m>n then m:=m-n else n:=n-m;
writeln('ucln(',a,',',b,')=',m);
readln;
End.


Program Bai2;
Uses crt;
Var b,a:array[1..100]of integer;
n,i,j,k,tam:integer;
Begin
clrscr;
write('nhap so phan tu cua day so nguyen : ');
readln(n);
writeln('nhap gia tri cua cac phan tu :');
for i:=1 to n do
begin
write('a[',i,']= ') ;
readln(a[i]);

end;
k:=0;
for i:=1 to n do
begin
j:=2;
while a[i] mod j <> 0 do j:=j+1;
if a[i] = j then
begin
k:=k+1; b[k]:=a[i];
end;
end;
for i:=1 to k-1 do
for j:=i+1 to k do
if b[i]>b[j] then
begin
tam:=b[i]; b[i]:=b[j]; b[j]:=tam;
end;
writeln('cac so nguyen to da duoc sap xep: ');
for i:=1 to k do write(b[i]:5);
readln;
End.
Program Bai3;
Uses crt;
Var t_dung, t_nam, t_gia: integer;
Begin
for t_dung:=1 to 100 do
for t_nam:=1 to 100 do
for t_gia:= 1 to 100 do
if (t_dung+t_nam+t_gia=100) and (t_dung*5 + t_nam*3 +
(t_gia/3) = 100) then

writeln('trau dung: ',t_dung:5,'trau nam: ',t_nam:5,'trau gia: ',t_gia:5);


readln
End.



×