CÁC VÍ DỤ VỀ BẢN GHI pptx

24 787 0
CÁC VÍ DỤ VỀ BẢN GHI pptx

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

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CÁCDỤ VỀ BẢN GHI dụ 14.1: Nhập một danh sách N ( 1 N 50) sinh viên gồm các trường: Họ tên, Mã số, các điểm Toán, Lý. Ðối với mỗi sinh viên, hãy tính điểm trung bình : DTB=(Toan + Ly)/2 , và phân loại như sau: Loại= Giỏi nếu DTB  9, Khá nếu 7 DTB < 9, Bình nếu 5 DTB < 7, Kém nếu DTB < 5. Sắp xếp danh sách theo trật tự giảm của DTB, in danh sách lên màn hình, mỗi người trên một dòng gồm các mục: Số thứ tự, Họ tên, Mã số, điểm Toán, Lý, DTB và phân loại. Cho biết điểm Tóan cao nhất là mấy ?. Có bao nhiêu người được điểm cao nhất đó ?. Ðiểm trung bình môn Toán cho cả danh sách là bao nhiêu ?. Bài giải : Trong chương trình dưới đây, chỗ nào có ký hiệu ' ' thì hãy thay bằng một ký tự trắng . PROGRAM VIDU14_1; Uses CRT; Type KSVIEN = RECORD Hoten:String[18]; Maso, Loai : String[8]; Toan, Ly, DTB : Real; End; Var DS : Array[1 50] of KSVIEN; Z : KSVIEN; N, i, j, Dem : Integer; Max, TBToan: Real; BEGIN CLRSCR; Repeat Write(‘ Nhập số sinh viên N= ‘) ; Readln(N); Until ( N>0) and ( N < 51); { Nhập danh sach, tính DTB va phân loại } For i:=1 to N do WITH DS[i] DO begin Write(‘Nhap ho ten sinh vien thu ‘,i,’ : ‘); Readln(Hoten); Write(‘Nhap ma so sinh vien thu ‘,i,’ : ‘); Readln(Maso); Write(‘Nhap điểm Toan, Ly sinh vien thu ‘,i,’ : ‘); Readln(Toan, Ly); DTB:=( Toan + Ly)/2; If DTB >=9 then Loai:=‘Gioi’ else if DTB >=7 then Loai:=‘Kha’ else if DTB >=5 then Loai:=‘Binh’ else Loai:=‘Kem’; end; { Sắp xếp giảm theo DTB } For i:=1 to N-1 do For j:=i+1 to N do if DS[i].DTB < DS[j].DTB then begin Z:=DS[i]; DS[i]:=DS[j]; DS[j]:=Z; end; Writeln(‘ In danh sach len man hinh ‘ ); Writeln(‘STT HO VA TEN MASO', ' TOAN LY DTBLOAI’); For i:=1 to N do WITH DS[i] DO Writeln(i:2, #32 , Hoten, #32 :19-Length(Hoten), Maso:8, Toan:4:1,Ly:4:1, DTB:4:1, Loai:5); { Tìm điểm Toán cao nhất } Max:=DS[1].Toan; For i:=1 to N do if Max< DS[i].Toan then Max:=DS[i].Toan; Writeln(‘Diem Toan cao nhat = ‘, Max:4:1); { Ðếm số em có điểm Toán =Max} Dem:=0; For i:=1 to N do if DS[i].Toan =Max then Dem:=Dem+1; Writeln(‘ Có ‘, Dem, ‘ em có điểm Toán= ‘, Max:4:1); { Tính điểm trung bình môn Toán cho cả danh sach } TBToan:=0; { Lấy tổng điểm môn Toán} For i:=1 to N do TBToan := TBToan + DS[i].Toan; TBToan:=TBToan/N ; Writeln(‘Diem trung binh mon Toan= ‘ , TBToan:6:2); Readln; END. Chạy<VD14_1.EXE> Chép tập tin nguồn <VD14_.PAS> dụ 14.2: Nhập một danh sách N (1N 50) đầu sách gồ? các thông tin về Tên sách, Số lượng (SL) và Ðơn gía (DG). Với mỗi đầu sách, tính Gía tiền như sau: GT = SL * DG nếu SL<10 = SL*DG - 5%*SL*DG nếu 10  SL<30 = SL*DG - 8%* SL*DG nếu 30  SL <50 = SL*DG - 10%* SL*DG nếu SL  50 (Tức là nếu mua từ 10 đến 29 cuốn thì được giảm 5% đơn gía, mua từ 30 đến 49 cuốn thì được giảm 8% đơn gía, mua từ 50 cuốn trở lên thì được giảm 10% đơn gía). Tính Tổng số tiền phải chi cho việc mua sách, kể cả 10% thuế gía trị gia tăng đánh vào tổng gía tiền. Tìm xem trong danh sách đó có cuốn "TIN HOC DAI CUONG" không. Nếu có thì cho biết có bao nhiêu cuốn và đơn gía của nó. Bài giải: PROGRAM VIDU14_2; Uses CRT; Type KSACH = RECORD Tensach : String[20]; SL : Integer; DG, GT: Real; End; Mang = Array[1 50] of KSACH; Var S : Mang; Z : KSACH; N, i : Integer; Tongtien : Real; BEGIN Repeat Write(‘ Nhập N: ‘); Readln( N ); Until (N>0) and ( N<51); { Nhập N sách và tính tiền} For i:=1 to N do With S[i] do begin Write(‘Nhập tên sách thứ ‘, i ,’: ‘); Readln(Tensach); Repeat Write(‘Nhập Số lượng : ‘); Readln(SL); Until SL>0; Write(‘Nhập đơn giá : ‘); Readln(DG); Case SL of 1 9 : GT:=SL*DG; 10 29 : GT:=SL*DG*(1-0.05); 30 49 : GT:=SL*DG*(1-0.08); else GT:=SL*DG*(1-0.1); end; { Hết Case} end; { Hết For} { Tính tổng gía thành các đầu sách} Tongtien:=0; [...]... Ví dụ 14.3: Sử dụng dữ liệu của dụ 2 viết thủ tục in danh sách các đầu sách lên mà hình, trình bày thành biểu sau : TỔNG KẾT TIỀN MUA SÁCH NĂM 1999 Giải: Thủ tục INBIEU sau đây chứa một thủ tục con INCHITIET có nhiệm vụ in chi tiết từng dòng cho từng cuốn sách Thân của thủ tục INBIEU là các lệnh in tiêu đề, sau đó là lời gọi thủ tục INCHITIET Các dữ liệu phục vụ cho thủ tục này là các biến... toàn bộ thủ tục INBIEU vào phần khai báo của chương trình trong ví dụ 14.2, và thêm lệnh gọi INBIEU; vào cuối của thân của chương trình đó, ta được một chương trình đầy đủ mà khi chạy sẽ in biểu theo đúng yêu cầu Ngoài ra, để chương trình chính bớt rườm rà, ta đưa phần nhập dữ liệu vào một thủ tục riêng gọi là NHAP, phần tính tổng gía thành các cuốn sách vào một thủ tục riêng gọi là TINH, và phần tìm... cho từng cuốn sách Thân của thủ tục INBIEU là các lệnh in tiêu đề, sau đó là lời gọi thủ tục INCHITIET Các dữ liệu phục vụ cho thủ tục này là các biến toàn cục được khai báo ở chương trình chính trong ví dụ 14.2, đó là N và S Chỗ nào có ký hiệu thì hãy thay bằng một ký tự trắng Nhắc lại rằng #32 cũng là một ký tự trắng Thủ tục in biểu được viết như sau: PROCEDURE INBIEU; Var i: Integer ; Procedure INCHITIET;... riêng gọi là NHAP, phần tính tổng gía thành các cuốn sách vào một thủ tục riêng gọi là TINH, và phần tìm cuốn TIN HOC DAI CUONG vào một thủ tục gọi là TIM Trong chương trình chính ta chỉ phải gọi tên các thủ tục đó ra mà thôi PROGRAM VIDU14_3; Uses CRT; Type KSACH = RECORD Tensach : String[20]; SL : Integer; DG, GT: Real; End; Mang = Array[1 50] of KSACH; Var S : Mang; Z : KSACH; N, i : Integer; Tongtien... SL of 1 9 : GT:=SL*DG; 10 29 : GT:=SL*DG*(1-0.05); 30 49 : GT:=SL*DG*(1-0.08); else GT:=SL*DG*(1-0.1); End; { Hết Case} end; { Hết For} End; { - Thủ tục Tinh -} PROCEDURE TINH ; { Tính tổng gía thành các đầu sách} Var i: Integer; Begin Tongtien:=0; For i:=1 to N do Tongtien:=Tongtien+S[i].GT; { Cộng thêm thuế 10% gía tri gia tăng} Tongtien:=Tongtien + 0.1*Tongtien ; Writeln(‘Tổng tiền phải chi là: . CÁC VÍ DỤ VỀ BẢN GHI Ví dụ 14.1: Nhập một danh sách N ( 1 N 50) sinh viên gồm các trường: Họ tên, Mã số, các điểm Toán, Lý. Ðối với mỗi sinh viên,. Chạy<VD14_2.EXE> Chép tập tin nguồn <VD14_2.PAS> Ví dụ 14.3: Sử dụng dữ liệu của ví dụ 2 viết thủ tục in danh sách các đầu sách lên mà hình, trình bày thành biểu sau : TỔNG KẾT. tục INBIEU là các lệnh in tiêu đề, sau đó là lời gọi thủ tục INCHITIET. Các dữ liệu phục vụ cho thủ tục này là các biến toàn cục được khai báo ở chương trình chính trong ví dụ 14.2, đó là

Ngày đăng: 19/06/2014, 09:20

Từ khóa liên quan

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

Tài liệu liên quan