Câu 3: Lập trình Pascal 7điểm Viết chương trình nhập vào danh sách học sinh số học sinh phải lớn hơn 0 và nhỏ hơn hoặc bằng 50: - Danh sách nhập gồm: Họ tên học sinh, điểm môn Toán diem[r]
Trang 1UBND TX NGÃ NĂM ĐỀ THI TUYỂN CHỌN HỌC SINH GIỎI
MÔN THI: TIN HỌC 9
(Thời gian làm bài: 120 phút không kể phát đề)
* Ghi chú: Thí sinh tạo thư mục số báo danh của thí sinh trên ổ đĩa D:\, lưu các câu trả lời vào thư mục số báo danh của thí sinh (cau1, cau2, cau3).
Câu 1: (10,0 điểm) Bảng tính Excel:
KẾT QUẢ TUYỂN SINH STT MÃ TS NGÀNH THI ĐIỂM THI ƯU TIÊN ĐIỂM ĐIỂM TC KẾT QUẢ BỔNG HỌC
BẢNG 1
MÃ TS
NGÀNH THI
ĐIỂM CHUẨN
BẢNG THỐNG KÊ
BẢNG 2
Yêu cầu: Tạo bảng dữ liệu trên ( 1đ)
1 Ngành thi dựa vào 2 kí tự cuối của MÃ TS và dò ở Bảng 1.(1đ)
2 Điểm ưu tiên: = Dựa vào ưu tiên quê quán + ưu tiên dân tộc, trong đó:
+ Quê quán = Nếu 2 kí tự đầu của MÃ TS là VS thì 1 điểm, nếu là TT thì 0,5 điểm ngược
lại 0 điểm (1đ)
+ Dân tộc = Dựa vào các số của MÃ TS: Nếu 2 số thì 0,5 điểm, ngược lại 0 điểm.(1,5đ)
3 Điểm TC = Điểm thi + Điểm ưu tiên.(0,5đ)
4.Kết quả = Điểm TC lớn hơn hoặc bằng điểm chuẩn thì Đậu ngược lại là Hỏng.(1đ)
5 Học bổng = Dựa vào điểm TC và 2 kí tự cuối của MÃ TS và dò tìm trong Bảng 2.(1,5đ)
Trang 26 Điền dữ liệu cho bảng thống kê.(1đ)
7 Trích ghi xuống bên dưới những thí sinh ở vùng sâu có học bổng.( 1,5đ)
Câu 2: Lập Trình Pascal (3 điểm )
Nhập vào 1 số nguyên lớn hơn 0 ( Nếu nhập số nhỏ hơn 0 thì nhập lại):
a Tính tổng S các số chẳn từ 1 đến số lớn n
b Cho biết số n có là số nguyên tố hay không là số nguyên tố
Câu 3: Lập trình Pascal ( 7điểm)
Viết chương trình nhập vào danh sách học sinh (số học sinh phải lớn hơn 0 và nhỏ hơn hoặc
bằng 50):
- Danh sách nhập gồm:
Họ tên học sinh, điểm môn Toán (diem Toan), điểm môn Văn (diem Van)
- Xuất danh sách vừa nhập theo dạng sau:
Nguyen Van A 8.2 8.2 8.2 Gioi
Nguyen Thi B 6.5 6.3 6.4 Tb
…
* Trong đó:
- Điểm Tb bằng (điểm Toán + điểm văn)/2;
- Xếp loại theo yêu cầu sau:
Loại Giỏi: điểm Tb lớn hơn hoặc bằng 8.0
Loại Khá: điểm Tb lớn hơn hoặc bằng 6.5 và nhỏ hơn 8.0
Loại Tb : điểm Tb lớn hơn hoặc bằng 5.0 và nhỏ hơn 6.5
Loại Yếu: điểm Tb lớn hơn hoặc bằng 3.5 và nhỏ hơn 5.0
Loại kém: điểm Tb nhỏ hơn 3.5
ĐÁP ÁN
Trang 3Câu 1:
Nhập đúng và định dạng đúng theo yêu cầu (1đ)
1 VLOOKUP(RIGHT(MÃ TS,2),Bảng 1 ,2,0) (1đ)
2.IF(LEFT(MÃ TS,2)=”VS”,1,IF(LRFFT(MÃ TS,2)=”TT”,1,0))& (1đ)
IF(LEN(MID(MÃ TS,3,LEN(MÃ TS)-4))=2,0.5,0) (1,5đ)
3 ĐIỂM THI + ĐIỂM ƯU TIÊN (0,5)
4 IF(ĐIỂM TC>=VLOOKUP(RIGHT(Mà TS,2),Bảng 1,3,0),”Đậu”,”Rớt”) (1đ)
5.VLOOKUP(RIGHT(MÃ TS,2), Bảng 2,if(Điểm TC<22,3,
if(Điểm TC<24,4,if(Điểm TC<26,5,6))),0) (1,5đ)
6 - Số thí sinh COUNT(CỘT KẾT QUẢ,”ĐẬU”) (0,5đ)
- Tỷ lệ số thí sinh đậu/tổng số thí sinh *100% (0,5)
7 - Tạo vùng điều kiện ( mỗi điều kiện – 0,5 đ) (1đ)
Câu 2:
Program cau2;
uses crt;
var s,i,n,,tam:integer; bl:boolean; (0,5 đ)
begin
clrscr;
repeat
writeln('Nhap vao so nguyen bat ki: ');
readln(n);
if n<=0 then writeln('Nhap lai so nguyen n');
until 0<n; (0,5 đ)
writeln(' a/ Tinh tong cac so chan tu 1 den ',n); (1đ)
s:=0;
for i:=1 to n do
if i mod 2 =0 then
s:=s+i;
writeln(' Tong cac so tu 1 den ',n,' la: ',s);
writeln;
{KT so nguyen to} (1đ)
writeln(' b/ Kiem tra so ',n,' co co la so nguyen to khong ');
bl:=true;
if n<=1 then bl:=false;
for i:=2 to trunc(sqrt(n)) do
if n mod i=0 then bl:=false;
if bl=true then writeln(' so ',n,' la so nguyen to.')
else writeln(' so ',n,' khong la so nguyen to.');
writeln;
readln;
end
Câu 3:
Trang 4program QLHS;
uses crt;
type hocsinh = record (0,5 đ)
hoten:string[255];
diemtoan:real;
diemvan:real;
dtb:real;
xeploai:string;
end;
Var hs:array[1 50] of hocsinh; (0,5 đ)
i,n:integer;
Begin clrscr; (0,5 đ)
Repeat
write('Nhap so luong hoc sinh: ');Readln(n);
until (0<n) and (n<=50);
writeln;
for i:=1 to n do (0,5 đ)
Begin (0,5 đ)
Write('Nhap ho ten hoc sinh thu ',i,': '); Readln(hs[i].hoten);
Write('Nhap diem Toan: '); Readln(hs[i].diemtoan);
Write('Nhap diem Van: '); Readln(hs[i].diemvan);
writeln;
End;
for i:=1 to n do
Begin (0,5 đ)
hs[i].dtb:= (hs[i].diemtoan + hs[i].diemvan)/2; (1 đ)
if (hs[i].dtb >= 8.0) then hs[i].xeploai:='Gioi'; (1,5 đ)
if (hs[i].dtb <= 7.9) and (hs[i].dtb >=6.5) then hs[i].xeploai:='Kha';
if (hs[i].dtb < 6.5) and (hs[i].dtb >=5) then hs[i].xeploai:='Trung binh';
if (hs[i].dtb < 5) and (hs[i].dtb >=3.5) then hs[i].xeploai:='Yeu';
if (hs[i].dtb < 3.5) then hs[i].xeploai:='kem';
end;
writeln;
writeln(' HO VA TEN ',' DIEM TOAN ',' DIEM VAN ',' DIEM TB ',' XEP LOAI');(0,5đ) for i:= 1 to n do (0,5 đ) Begin (0,5 đ)
Writeln(hs[i].hoten,' ',hs[i].diemtoan:9:1,
hs[i].diemvan:10:1,hs[i].dtb:10:1,' ',hs[i].xeploai);
End;
Readln;
End