đề hsg tin 9 toán học 9 lê gia lợi thư viện giáo dục tỉnh quảng trị

5 8 0
đề hsg tin 9  toán học 9  lê gia lợi  thư viện giáo dục tỉnh quảng trị

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

Thông tin tài liệu

[r]

(1)

UBND thµnh huÕ Phòng Giáo dục

thi học sinh giỏi môn tin họccấp thành phố Lớp - 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 Folder mang tên là: K9-<Số báo danh thí sinh > chứa D:\ và lu file sau vào Folder va to.

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

Kt thi học sinh gồm 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 đ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 chơng trình thực việc in hình danh sách học sinh theo thứ tự giảm dần điểm trung bình kèm theo thông tin: Họ tên, lớp, điểm trung bình, xếp loại.

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

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

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

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

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

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

Thí sinh khơng đợc sử dụng ti liu

Giám thị không giải thích thêm

đá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;

(2)

procedure nhap(var hss:hs1); begin

writeln(' nhap thong tin cho hoc sinh:'); for i:=1 to n

begin

with hss[i] 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 for j:=i+1 to n

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 sap xep'); for i:=1 to n

with hss[i] 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

(3)

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 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 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) begin

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

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

end; BEGIN repeat

writeln(' moi ban chon chuc nang'); readln(ch1);

case ch1 of 'n': begin nhap;

writeln('so thap phan', n ,' doi 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;

(4)

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) begin

while not eof(f2) 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 begin

(5)

write(f3,u); end;

for i:=n+1 to m begin

read(f2,u); write(f3,u); end;

end else begin

for i:=1 to m begin

read(f1,u); read(f2,v); u:=u+v; write(f3,u); end;

for i:=m+1 to n 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)

begin

read(f3,n); writeln(n); end;

Ngày đăng: 08/03/2021, 13:35

Tài liệu cùng người dùng

Tài liệu liên quan