đề thi tin học trẻ không chuyên thcs 2011đề thi tin học trẻ không chuyên thcs pascalđề thi tin học trẻ không chuyên thcs 2013đề thi tin học trẻ không chuyên thcs 2012đề thi tin học trẻ không chuyên thcsđề thi tin học trẻ không chuyên thcs đà nẵngđề thi tin học trẻ không chuyên thcs cấp huyệnđề thi tin học trẻ không chuyên thcs co dap anđề thi tin học trẻ không chuyên thcs năm 2011đề thi tin học trẻ không chuyên thcs năm 2012
Trang 1ĐỀ THI THỰC HÀNH TIN HỌC TRẺ
Năm học: 2012-2013
Thời gian: 120 phút (Không kể thời gian giao đề)
Yêu cầu:
- Các File bài làm được lưu theo tên bài Ví dụ: BAI1.PAS.
- Tất cả các tệp đều được lưu trong thư mục theo đường dẫn: D:\SBD* (* là
số báo danh của thí sinh) Ví dụ: D:\SBD020
- Em hãy dùng ngôn ngữ lập trình Pascal để lập trình giải các bài toán sau:
Bài 1 (3 điểm): Cho mảng một chiều Z cấp n>0, nếu n < 0 người dùng nhập lại
Viết chương trình:
a) Sắp xếp mảng Z theo chiều tăng dần
b) Xuất ra màn hình các phần tử là số chẵn không chia hết cho 3 của mảng Z c) Xuất ra màn hình tổng của các phần tử là số nguyên tố của mảng Z
Bài 2 (2 điểm): Tính tổng S = 1 3 5 2 1
n n
− + + + + với n nhập vào từ bàn phím.
Bài 3(2 điểm): Cho danh sách lớp 8A gồm: Họ và tên, giới tính, điểm thi môn tin.
Lập trình làm các việc sau:
a) Nhập dữ liệu từ bàn phím, kết thúc việc nhập khi gặp tên học sinh = ‘*’ b) Đưa ra danh sách những học sinh là nữ và có điểm thi môn tin <5.0
DANH SACH HOC SINH NU CO DIEM TIN <5.0
……….
……….
Đề số 1
Trang 2ài 4 (3 điểm): Trong cuộc vận động ủng hộ sách cũ, mỗi học sinh sẽ nộp sách
cho trường Lớp 8A có N tổ, mỗi tổ có M học sinh Tạo dữ liệu vào cho file
SACH.INP với:
− Dòng đầu tiên là N tổ và M học sinh trong tổ N và M cách nhau bởi một dấu cách
− N dòng tiếp theo là số sách của các học sinh phải nộp của N tổ
Viết chương trình tìm xem số sách nhiều nhất mà 1 học sinh mang nộp trong 1 tổ
là bao nhiêu và tính tổng số sách của những học sinh nộp là số chính phương của
cả lớp rồi xuất kết quả ra file SACH.OUT với:
- Dòng đầu tiên bỏ trống
- N dòng tiếp theo là số sách cao nhất mà 1 học sinh mang nộp trong tổ tương ứng
- Dòng thứ N+2 là tổng số sách của những học sinh nộp là số chính phương của cả lớp
Ví dụ
4 5
3 2 8 9 6
2 6 8 9 1
4 5 6 8 3
2 4 9 10 4
9 9 8 10 40
Híng dÉn ChÊm Thi Hsg M«n TIN HỌC
N¨m häc 2012 - 2013
Yêu cầu chung:
Trang 3Yêu cầu chương trình chạy thông suốt, đúng kết quả: ( 2-3 điểm)
+ Hoàn thành đúng phần khai báo các biến: (0,25 điểm)
+ Viết đúng thuật toán (cách giải): (1-2 điểm)
- Chương trình chạy cho kết quả đúng: khai báo đầy đủ, trình bày có cấu
trúc rõ ràng cho điểm tối đa Không khai báo mỗi biến trừ 0.05 điểm
- Chương trình cho kết quả sai: Chỉ chấm phần các ý chính của thuật toán,
mỗi ý đúng cho điểm không vượt quá 40% số điểm của câu
Bài 1 (3 điểm):
{ }
Uses Crt;
Var
d,n,i,j : Integer;
z:Array[1 100] of integer;
{ }
BEGIN
ClrScr;
repeat
Write(‘Nhap so nguyen n='); Readln(n);
If n<0 then writeln(‘N phai lon hon 0 MOI BAN NHAP LAI!’)
Until n>0 ;
{ }
For i:=1 to n do
Begin
Write(‘z[’,i,’]= ’); Readln(z[i]);
End;
{ }
Writeln(‘DAY Z SAU KHI SĂP XEP TANG DAN LA: ’);
For i:=1 to n-1 do
For j:=i+1 to n do
If a[i] > a[j] then
Begin
Tg:=a[i];
a[i]:=a[j];
a[j]:=tg;
End;
For i:=1 to n do
Write(a[i],' ');
{ }
Writeln(‘CAC PHAN TU LA SO CHAN KHONG CHIA HET CHO 3
0.25 điểm
0.25 điểm
0.25 điểm
0.75 điểm
Trang 4CUA DAY Z’);
For i:=1 to n do
If (z[i] mod 2 =0) and (z[i] mod 3 <> 0) then Write(z[i], ‘ ‘);
{ }
For i:=1 to n do
Begin
d:=0;
for j:=1 to trunc(sqrt(z[i])) do
If z[i] mod j = 0 then
d:=d+1;
if d=1 then tong:=tong+z[i];
end;
Writeln(‘TONG CUA CAC PHAN TU LA SO NGUYEN TO CUA
DAY Z LA: ’, tong);
Readln;
END
0.25 điểm
1 điểm
Bài 2 (2điểm):
Uses crt;
Var i,n,gt: integer;
s:real;
{ }
Begin
Clrscr;
Writeln('CHUONG TRINH TINH TONG:');
Writeln(' -');
Write('Nhap n='); Readln(n);
{ }
gt:=1; s:=0;
For i:=1 to n do
Begin
gt:=gt*i;
s:=s+(2*i-1)/gt;
End;
Writeln('Tong S = ',s:8:2);
Readln;
End
0.25 điểm
0.25 điểm
1.5 điểm
Bài 3 (2điểm):
Uses crt;
Type ds=record
ten:string[25];
gt:string[3];
0.25 điểm
Trang 5dtin:real;
end;
var hs:array [1 100] of ds;
n,i,tt: integer;
{ }
BEGIN
CLRSCR;
write('So luong hoc sinh: '); readln(n);
writeln('NHAP DU LIEU');
For i:=1 to n do
with hs[i] do
begin
write('Ho ten HS thu ',i,': ');
readln(ten);
write('Gioi tinh: ');
readln(gt);
write('Diem thi Tin: ');
readln(dtin);
end;
{ }
clrscr;
gotoxy(10,2);
writeln('DANH SACH HOC SINH NU CO DIEM TIN <5.0');
gotoxy(5,4);
for i:=1 to 70 do
write('-');
gotoxy(5,5);
write(': STT ');
gotoxy(10,5);
write(': HO VA TEN ');
gotoxy(40,5);
write(': DIEM TIN ');
gotoxy(74,5); write(':');
gotoxy(5,6);
for i:=1 to 70 do
write('-');
{ }
tt:=0;
for i:=1 to n do
with hs[i] do
if (gt='nu') and (dtin<5) then
begin
tt:=tt+1;
gotoxy(5,7+i); write(': ',tt);
gotoxy(10,7+i); write(': ',ten);
0.25 điểm
0.5 điểm
1 điểm
Trang 6gotoxy(40,7+i); write(': ',dtin:4:2);
gotoxy(74,7+i); write(':');
end;
readln;
END
Bài 4 (3 điểm):
{ }
Uses Crt;
Const fi='VOCHAI.INP';
fo='VOCHAI.OUT';
Var
Tong,max,n,m,i,j,d: Integer;
a:Array[1 100,1 100] of integer;
F1,F2: text;
{ }
BEGIN
ClrScr;
Assign(F1,fi); Rewrite(F1);
Write('Nhap vao so to: '); Readln(n);
Write('Nhap vao so HS trong to: '); Readln(m);
Write(F1,n,' ',m); {Lưu n, m vào dòng 1 trong tệp 'SACH.INP'
writeln(f1);
{ }
For i:=1 to n do
for j:=1 to m do
Write('a[',i,j,']= ');
Readln(a[i,j]);
{ }
{Lưu ma trận vào dòng 2 trong tệp 'SACH.INP' }
for i:=1 to n do
begin for j:=1 to m do
write(f1,a[i,j],' ');
writeln(f1);
end;
Close(F1);
{ }
Assign(F2,fo); Rewrite(F2);
writeln(F2);
Assign(F1,fi); Reset(F1);
readln(F1,n,m);
for i:=1 to n do
0.25 điểm
0.5 điểm
0.25 điểm
0.5 điểm
0.5 điểm
Trang 7for j:=1 to m do
readln(F1,a[i,j]);
Close(F1);
{ }
{Tìm giá số sách lớn nhất của 1 HS phải nộp của mỗi tổ và lưu giá trị
lớn nhất ứng với mỗi dòng ghi vào tệp 'SACH.OUT'}
For i:=1 to n do
begin
max:=a[i,1];
For j:=2 to m do
If a[i,j] > max then
max:=a[i,j];
writeln(F2,max);
end;
{ }
{Tìm tổng số sách của những HS nộp là số chính phương của cả lớp
ghi vào tệp 'SACH.OUT'}
For i:=1 to n do
For j:=1 to m do
If sqrt(a[i,j]) =trunc(sqrt(a[i,j])) then
Tong:=tong+a[i,j];
write(F2,tong);
end;
Close(F2);
Readln;
END.
0.5 điểm
0.5 điểm
Lưu ý:
− Phương án chấm trên đây có thể điều chỉnh cho phù hợp theo tình hình bài thi của thí sinh HS có thể viết theo chương trình con Giám khảo thống nhất biểu điểm chi tiết chấm cho hợp lý.
− Trên cơ sở yêu cầu chung giám khảo vận dụng chấm cụ thể cho từng bài
− Loại bài 3 điểm: Viết đúng thuật toán (cách giải), tính là 2 điểm.
− Loại bài 2 điểm: Viết đúng thuật toán (cách giải), tính là 1 điểm.