You are on page 1of 13

BI TP PASCAL CHNG IV

KIU MNG, KIU XU, KIU BN GHI


BI: Bi 1: chun b cho Hi khe Ph ng, trng inh Thin L t chc cuc thi in kinh chy 100m, mi hc sinh u c quyn ng k thi, mi ngi d thi c 1 phiu ng k gm: H tn: khng qu 35 k t Gii tnh: 3 k t:nam hoc n Lp: 4 k t Thi gian chy(giy): s thc

Sau khi chy v ch, thi gian chy s c ghi vo phiu v c nhp vo my tnh x l. a) Hy xy dng kiu d liu v khai bo cc bin thch hp b) Vit chng trnh nhp vo s th sinh d thi, thng tin v thnh tch tng th sinh, tnh:

Xut ra thng tin ca tt c cc th sinh

S hc sinh nam d thi, s hc sinh n d thi Danh sch cc hc sinh nam d thi, bao gm h tn, lp

Danh sch cc hc sinh n d thi, bao gm h tn, lp

. Tm hc sinh chy nhanh nht (khng k l nam hay n), thng bo ra mn hnh h tn, lp v thnh tch ca th sinh .

Bi 2: Kt qu kim tra sc khe hc sinh trng inh Thin L c ghi trn phiu c dng: PHIU KIM TRA SC KHE

Lp: : ti a 4 k t H v tn:... ti a 30 k t Nam/N:ti a 3 k t Chiu cao: cm (s thc) Cn nng:kg (s thc)

Lp trnh nhp t bn phm tn lp v s hc sinh trong lp (s N), sau nhp kt qu ca N phiu kim tra sc khe, vi mi phiu ch cn nhp 4 trng cui (H tn, Nam/n, chiu cao, cn nng) a) Xc nh kiu d liu v khai bo cc bin thch hp b) Vit chng trnh tnh v a ra mn hnh cc thng tin sau: Chiu cao trung bnh ca hc sinh trong lp Cn nng trung bnh ca hc sinh trong lp S hc sinh cao hn chiu cao trung bnh ca ton lp S hc sinh nh hn mc cn nng trung bnh ca ton lp.

Bi 3: Vit chng trnh qun l sch th vin trng inh Thin L gm cc trng sau:

M s sch: ti a 10 k t Ta sch: ti a 50 k t

Tn Tc gi: ti a 30 k t Nh Xut bn: ti a 30 k t Nm xut bn: s nguyn.

a/ Nhp vo kho sch ca th vin (nhp s lng sch, nhp thng tin cho tng sch gm tt c cc trng). b/ In ra mn hnh tt c cc cun sch c trong th vin. c/ Tm mt cun sch c m s c nhp vo t bn phm. Nu tm thy th in ra mn hnh thng tin y ca cun sch (tt c cc trng), ngc li th thng bo khng tm thy. d/ Nhp vo tn tc gi, tm v in ra mn hnh tt c cc cun sch c cng tc gi . d/ Nhp vo mt nm no , t m v in ra mn hnh tt c cc cun sch c xut bn trong cng mt nm .

HNG DN LU BI V NP BI Sau t Program ghi BAITAPCHUONG4 Ch thch tn-m s-lp

V d: { Ho ten: Ho Ngoc An Ma so: 01 Lop: 11A1 }

Lu bi vo th mc lp mnh trong a D:\ Tn file: Tn lp-M s HS-BTCHUONG4.PAS (V d: 11D-12-BTCHUONG4.PAS) Np bi: copy file .PAS Vo Start->Run \\192.168.1.9

Vo th mc lsts0910-tinhoc\BAI TAP CUA HOC SINH\Lop... Np vo th mc tng ng vi bi, v d HS no lm bi 1 s np vo th mc BAI 1

GII BI TP
BI 1
program baitapchuong4-bai1; uses crt; type Hocsinh=record Hoten:string[35]; Gioitinh: string[3]; Lop:string[4]; Thoigian: real; end;

var

Truong:array[1..50] of Hocsinh; sohsnam,sohsnu,N,i, chisomin: byte;

minthoigian: real;

begin clrscr; write('So luong hoc sinh tham gia du thi:'); readln(N); {nhap thong tin cho tung hoc sinh} for i:=1 to N do begin writeln('Nhap so lieu ve hoc sinh thu ',i,':'); write('Ho va ten:'); readln(Truong[i].Hoten); write('Gioi tinh:'); readln(Truong[i].Gioitinh); truong[i].gioitinh:=upcase(truong[i].gioitinh); write('Lop:'); readln(Truong[i].Lop); write('Thoi gian chay:'); readln(Truong[i].Thoigian); end; writeln('Danh sach hoc sinh du thi'); writeln('STT':5,'HO TEN':20, 'GIOI TINH':20, 'LOP':10, 'THOI GIAN':20);

//xuat thong tin ra

{tat ca thong tin}

for i:=1 to N do begin write(i:5, '.' ,truong[i].hoten:20); write(truong[i].gioitinh:20); write(truong[i].lop:10); write(truong[i].thoigian:20:1); writeln; end;

//dem so hs nam va nu sohsnam:=0; sohsnu:=0; for i:=1 to n do if (truong[i].gioitinh='NAM') then sohsnam:=sohsnam+1 else sohsnu:=sohsnu+1; writeln('So hs nam: ',sohsnam); writeln('So hoc sinh nu: ',sohsnu);

//xuat danh sach cac hoc sinh nam du thi

writeln('DANH SACH HOC SINH NAM DU THI: '); writeln('Ho ten:':20,'Lop':5); for i:=1 to N do if (truong[i].gioitinh='NAM') then begin write('Ho ten: ',truong[i].hoten:20); write('Lop: ',truong[i].Lop:5); end;

//xuat danh sach cac hoc sinh nu du thi writeln('DANH SACH HOC SINH NU DU THI: '); for i:=1 to N do if (truong[i].gioitinh='NU') then begin write('Ho ten: ',truong[i].hoten:20); write('Lop: ',truong[i].Lop:5); end; //Tm hc sinh chy nhanh nht Minthoigian:=Truong[1].thoigian; chisomin:=1; for i:=1 to n do if truong[i].thoigian < minthoigian then Begin minthoigian:=truong[i].thoigian; chisomin:=i; end;

writeln('HOC SINH CHAY NHANH NHAT LA'); Writeln('ho ten' , truong[chisomin].hoten); writeln('lop: ' , truong[chisomin].lop); writeln('thanh tich ', truong[chisomin].thoigian:5:1);

readln; end.

BI 2 program baitapchuong4-bai2; {Ho ten: CHAU YEN TRINH Ma so: 25 Lop: 11a2} uses crt; type hocsinh = record hoten:string[30]; lop:string[4]; gioitinh:string[3]; chieucao, cannang: real; end; var suckhoe:array[1..60] of hocsinh; l:string; n,i,a,b:integer; s,caotrungbinh,nangtrungbinh,c:real;

begin clrscr; write('Nhap ten lop: '); readln(l); writeln('So hoc sinh trong lop: ');readln(n); for i:=1 to n do begin writeln('Thong tin ve hoc sinh thu ',i,': '); write('Ho ten: ');readln(suckhoe[i].hoten); write('Gioi tinh: ');readln(suckhoe[i].gioitinh); write('Chieu cao(cm): ');readln(suckhoe[i].chieucao); write('Can nang(kg): ');readln(suckhoe[i].cannang); readln; end; s:=suckhoe[1].chieucao; for i:=2 to n do s:=s+suckhoe[i].chieucao; caotrungbinh:=s/n; c:=suckhoe[1].cannang; for i:=2 to n do c:=c+suckhoe[i].cannang; nangtrungbinh:=c/n; writeln('PHIEU KIEM TRA SUC KHOE'); for i:=1 to n do writeln(suckhoe[i].hoten:30,' Gioi tinh:',suckhoe[i].gioitinh:3,' Chieu cao:', suckhoe[i].chieucao:4:2,' Can nang:',suckhoe[i].cannang:4:2); writeln('Chieu cao trung binh cua hoc sinh trong lop: ',caotrungbinh:5:2);

writeln('Can nang trung binh cua hoc sinh trong lop: ',nangtrungbinh:5:2); a:=0; for i:=1 to n do if suckhoe[i].chieucao> caotrungbinh then a:=a+1; writeln('So hoc sinh cao hon chieu cao trung binh cua toan lop: ',a); b:=0; for i:=1 to n do if suckhoe[i].cannang> nangtrungbinh then b:=b+1; writeln('So hoc sinh nang hon muc can nang trung binh cua toan lop: ',b);

readln; end.

Bi 3 program baitapchuong4-bai3; {Ho ten: Bui Thai Minh Tuan Ma so: 29 Lop: 11D } uses crt; const max = 200; type Sach = record MaSoSach:string[10]; NhanDe:string[50];

TenTacGia:string[30]; NhaXuatBan:string[30]; NamXuatBan:real; end; var Khosach: array[1..Max] of Sach; N,i,x:Byte; a,b,d:string[10]; c:real; begin clrscr; write('So luong sach trong kho N = '); readln(N); for i:=1 to N do begin writeln('Nhap so lieu ve quyen sach thu ',i,': '); write('Ma so sach: '); readln(Khosach[i].MaSoSach); write('Nhan de: '); readln(Khosach[i].NhanDe); write('Ten tac gia: '); readln(Khosach[i].TenTacGia); write('Nha xuat ban: '); readln(Khosach[i].NhaXuatBan);

write('Nam xuat ban: '); readln(Khosach[i].NamXuatBan); end; write('Nhap ma so sach muon tim: '); readln(a); for i:=1 to N do if Khosach[i].MaSoSach = a then writeln('Sach ne: ',Khosach[i].NhanDe:5, Khosach[i].TenTacGia:5, Khosach[i].NhaXuatBan:5, Khosach[i].NamXuatBan:5:0); readln; write('Nhap ten tac gia muon tim: '); readln(b); for i:=1 to N do if Khosach[i].TenTacGia = b then writeln('Nhung sach co cung tac gia: ',i:5, Khosach[i].NhanDe:5); readln; write('Nam Xuat Ban: '); readln(c); for i:=1 to N do if Khosach[i].NamXuatBan = c then writeln('Sach co cung nam sang tac: ',i:5, Khosach[i].NhanDe:5); readln; write('Nhap mot tu bat ki: '); readln(d); for i:=1 to N do

if pos(d,Khosach[i].NhanDe)<>0 then write(i:1, Khosach[i].NhanDe:5); readln; end.

You might also like