1. Trang chủ
  2. » Giáo án - Bài giảng

Đề thi HSG môn tin 9

5 691 6
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Đề thi HSG môn tin 9
Trường học UBND Thành Phố Huế
Chuyên ngành Tin học
Thể loại Đề thi
Năm xuất bản 2006-2007
Thành phố Huế
Định dạng
Số trang 5
Dung lượng 49,5 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Câu 1 3 điểm : Tạo file mang tên BAI1.PAS thực hiện chơng trình sau : Kết quả thi của học sinh gồm những thông tin sau: Họ tên, lớp, điểm toán DT, điểm vănDV, điểm trung bình DTB, xếp l

Trang 1

UBND thành phố huế

Phòng Giáo dục

Lớp 9 - Năm học 2006-2007

Thời gian: 120 phút (Không kể thời gian giao đề)

Yêu cầu: Mỗi thí sinh tạo một Folder mang tên là: K9-<Số báo danh của thí sinh > chứa trong D:\ và

lu các file sau vào đúng Folder vừa tạo.

Câu 1 (3 điểm) : Tạo file mang tên BAI1.PAS thực hiện chơng trình sau :

Kết quả thi của học sinh gồm những thông tin sau: Họ tên, lớp, điểm toán (DT), điểm văn(DV), điểm trung bình (DTB), xếp loại(XL) Trong đó:

- Điểm trung bình đợc tính nh sau: DTB=(DT*2+DV)/3

- Xếp loại dựa trên điểm trung bình nh sau:

Nếu DTB>=8.0, xếp loại giỏi

Nếu 8.0>DTB>=6.5, xếp loại khá.

Nếu 6.5>DTB>=5.0, xếp loại trung bình

Còn lại xếp loại cha đạt

Hãy viết chơng trình dới dạng các chơng trình con thực hiện việc in ra màn hình danh sách học sinh theo thứ tự giảm dần của điểm trung bình kèm theo các thông tin: Họ tên, lớp, điểm trung bình, xếp loại.

Câu 2 (3 điểm) : Tạo file mang tên BAI2.PAS thực hiện chơng trình sau :

Viết chơng trình theo yêu cầu sau:

- Khi nhấn phím “n” hoặc “N”: chơng trình thực hiện đổi một số thập phân sang dãy số nhị phân.

- Khi nhấn phím “t” hoặc “T”: chơng trình thực hiện đổi dãy số nhị phân sang số thập phân.

Câu 3 (4 điểm) : Tạo file mang tên BAI3.PAS thực hiện chơng trình sau:

Hai file SN1.TXT, SN2.TXT chứa các số nguyên bất kì Hãy viết chơng trình tạo file KQ.OUT chứa các số nguyên đợc sắp xếp theo thứ tự tăng dần, mỗi số trong file KQ.OUT là tổng của hai số nguyên lấy từ file SN1.TXT và SN2.TXT

Ví dụ: File SN1.TXT chứa các số nguyên: 1 9 7 12; SN2.TXT chứa các số nguyên: 31 5 2 1 thì file KQ.OUT có kết quả: 9 13 14 32.

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 2

đáp án 9 Bài 1:

type HS=record

ht:string;

lop:string[10];

dt,dv,dtb:real;

xl:string[10];

end;

hs1=array[1 20] of hs;

var hss:hs1;

i,j,n:integer;

procedure nhap(var hss:hs1);

begin

writeln(' nhap thong tin cho hoc sinh:');

for i:=1 to n do

begin

with hss[i] do

begin

writeln(' nhap ho ten');

readln(ht);

writeln(' nhap lop');

readln(lop);

writeln(' nhap diem toan');

readln(dt);

writeln(' nhap diem van');

readln(dv);

dtb:=(dt*2+dv)/3;

if dtb>=8.0 then xl:=' loai gioi'

else if dtb>=6.5 then xl:='loai kha'

else if dtb>=5.0 then xl:='loai trung binh' else xl:=' loai chua dat';

end;

end;

end;

{ -}

procedure sx(var hss:hs1);

var tam:hs;

begin

for i:=1 to n-1 do

for j:=i+1 to n do

if hss[i].dtb<hss[j].dtb then

begin

tam:=hss[i];

hss[i]:=hss[j];

hss[j]:=tam;

end;

readln;

end;

Begin

writeln(' nhap so hoc sinh');

readln(n);

nhap(hss);

sx(hss);

writeln(' ket qua sau khi sap xep');

for i:=1 to n do

Trang 3

with hss[i] do

begin

writeln(ht,' ',lop,' ',dtb:0:2,' ',xl); end;

readln;

End

Bµi 2:

var st,st2:string;

p,i,n,j,t:integer;

ch,ch1:char;

procedure nhap;

begin

writeln('nhap so thap phan n:');

readln(n);

end;

procedure doinp(n:integer);

var st1,stt:string;t,d:integer;

begin

st1:='';

repeat

t:=n div 2;

d:=n mod 2;

n:=t;

str(d,stt);

st1:=st1+stt;

until t=0;

for i:=length(st1) downto 1 do

write(st1[i]:3);

writeln;

end;

function hammu(n:integer):integer;

var p:integer;

begin

if n=0 then hammu:=1

else

begin

p:=1;

for i:=1 to n do

begin

p:=P*2;

end;

hammu:=p;

end;

end;

procedure doitp(st:string;var t:integer);

var so,k,i:integer;

begin

t:=0;

for i:=1 to length(st) do

begin

val(st[i],k,so);

t:=t+k*hammu(length(st)-i);

end;

end;

BEGIN

repeat

writeln(' moi ban chon chuc nang');

Trang 4

readln(ch1);

case ch1 of

'n': begin

nhap;

writeln('so thap phan', n ,' doi thanh day nhi phan:'); doinp(n);

end;

't': begin

writeln(' moi ban nhap day so nhi phan can doi');

readln(st2);

doitp(st2,t);

writeln(t);

end;

end;

writeln('doi nua khong?');

readln(ch);

until ch in['k','K'];

END

Bµi 3:

type f=file of integer;

var f1,f2,f3:f;

i,j,n,m,tam:integer; ch:char;

procedure taofile(var f1,f2:f);

begin

assign(f1,'c:\f1.txt');

rewrite(f1);

assign(f2,'c:\f2.txt');

rewrite(f2);

repeat

writeln(' nhap gia tri cho file f1');

readln(n);

write(f1,n);

writeln('Tiep tuc?');

readln(ch);

until ch in['k','K'];

repeat

writeln(' nhap gia tri cho file f2');

readln(m);

write(f2,m);

writeln('Tiep tuc (c/k)?');

readln(ch);

until ch in['k','K'];

close(f1);

close(f2);

readln;

end;

procedure taokq(var f3:f);

var i,u,v:integer;

Begin

assign(f1,'c:\f1.txt');

reset(f1);

assign(f2,'c:\f2.txt');

reset(f2);

assign(f3,'c:\f3.out');

rewrite(f3);

{while not eof(f1) do

Trang 5

begin

while not eof(f2) do

begin

read(f1,n);

read(f2,m);

tam:=n+m;

write(f3,tam);

end;

end;}

n:=filesize(f1);

m:=filesize(f2);

if n<=m then

begin

for i:=1 to n do

begin

read(f1,u);

read(f2,v);

u:=u+v;

write(f3,u);

end;

for i:=n+1 to m do

begin

read(f2,u);

write(f3,u);

end;

end

else

begin

for i:=1 to m do

begin

read(f1,u);

read(f2,v);

u:=u+v;

write(f3,u);

end;

for i:=m+1 to n do

begin

read(f1,u);

write(f3,u);

end;

end;

close(f1);

close(f2);

close(f3);

end;

BEGIN

taofile(f1,f2);

taokq(f3);

assign(f3,'c:\f3.out');

reset(f3);

writeln('file kq co ',filesize(f3),' phan tu la:'); while not eof(f3) do

begin

read(f3,n);

writeln(n);

end;

readln;

end

Ngày đăng: 30/08/2013, 05:10

TỪ KHÓA LIÊN QUAN

w