Danh mục

Tin học đại cương - Phần 2 Ngôn ngữ lập trình TURBO PASCAL - Chương 6

Số trang: 15      Loại file: pdf      Dung lượng: 246.21 KB      Lượt xem: 15      Lượt tải: 0    
tailieu_vip

Hỗ trợ phí lưu trữ khi tải xuống: 1,000 VND Tải xuống file đầy đủ (15 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Tài liệu tham khảo giáo trình Tin học đại cương dùng cho khối A do Đỗ Thị Mơ chủ biên - Bộ môn công nghệ phần mềm gồm 2 phần chia làm 13 chương - Phần 2 Ngôn ngữ lập trình TURBO PASCAL - Chương 6 Kiểu dữ liệu có cấu trúc : Kiểu bản ghi và kiểu tệp
Nội dung trích xuất từ tài liệu:
Tin học đại cương - Phần 2 Ngôn ngữ lập trình TURBO PASCAL - Chương 6 CHƯƠNG VI KI U D LI U CÓ C U TRUC: KI U B N GHI VÀ KI U T P 1 - Ki u b n ghi (record) 1.1 - Khái ni m Ki u b n ghi là m t ki u d li u có c u trúc g m m t s c ñ nh các ph n t có ki u khác nhau. Ki u b n ghi dùng ñ mô t các d li u có nhi u thành ph n khác ki u liên k t v i nhau như d li u c a các b ng, các c t c a b ng là các thành ph n, m i c t có m t ki u d li u khác nhau, các c t liên k t v i nhau ñ bi u di n m t n i dung nh t ñ nh. Ví d 1: B ng lương bao g m các c t: S th t , H và tên, Ngày sinh, H s , Lương, B o hi m xã h i, T ng lĩnh. M i dòng c a b ng lương thu c ki u d li u b n ghi. Các c t là các thành ph n còn ñư c g i là các ph n t . 1.2 - Khai báo ki u d li u b n ghi Ki u d li u b n ghi có các ph n t liên k t v i nhau. Ph n t ñư c g i là trư ng, m i trư ng có m t tên, tên trư ng gi ng như tên bi n. M i trư ng thu c m t ki u d li u nào ñó. Khi báo ki u d li u b n ghi ñư c vi t trong c m t record ... end; Trong c m t là danh sách tên các trư ng kèm theo sau là ki u d li u c a nó. Khai báo ki u b n ghi như sau: Type Tên_ki u= Record Tên_trư ng1 : ki u; Tên_trư ng2 : ki u; ... Tên_trư ngN : ki u; End; Ví d 1: B ng lương trong ví d m c 1 ñư c khai báo như sau: Type bang_luong = record Stt : Integer; Hoten : String[25]; Ns : String[10]; Heso,Luong,Bhxh,Tong : Real; End; Var luong1,luong2:bang_luong; Ví d 2: Danh sách khách hàng bao g m các d li u như h và tên, s nhà, ph , qu n, Thành ph , s ñi n tho i. Type khach_hang = record hoten : string[25]; sonha : string[20]; Pho, quan, thanhpho : string[30]; tel : longint; end; Var Bangkh1,bangkh2: khach_hang; 162 Trư ng ð i h c Nông nghi p 1 - Giáo trình Tin h c ñ i cương --------------------------------------------- 162 1.3 - S d ng b n ghi • M t trư ng c a b n ghi coi như 1 bi n, ñư c s d ng trong các bi u th c và các th t c vào ra. • M t trư ng c a b n ghi ñư c ch ñ nh b ng cách vi t sau: Tên_bi n.Tên_trư ng Ví d luong1.stt:=1; luong1.hoten:='Le Thu Ha'; luong1.luong:=luong1.heso * 210000; bangkh1.pho:='Hang Dao'; bangkh1.tel:=8573980; Readln(luong2.hoten); Writeln(banghk2.pho); Bi n b n ghi không ñư c tham gia vào các bi u th c, các th t c vào ra, các toán t logic, các toán t quan h >, >=, ngày nh p, s lư ng, ñơn giá, ti n c a t t c các m t hàng ñã nh p. Sau cùng in ra t ng s ti n ñã nh p. Chương trình Program Thong_ke_hang; uses crt; Type hang=record ten: string[20]; Ngay: string[10]; sl,gia,tien : real; end; Var bang:array[1..30] of hang; i,n: integer; tong: real; begin clrscr; Write)'Nhap so luong mat hang n ? '); readln(n); tong:=0; for i:=1 to n do with bang[i] do begin Write(' Tên hang '); readln(ten); Write(' Ngay nhap '); readln(ngay); Write(' So luong '); readln(sl); Write(' Gia '); readln(gia); tien:=sl * gia; tong:=tong+tien; end; Writeln(' Bang thong ke hang nhap'); Writeln('| Ten hang':20,'| Ngay nhap':12,'| So luong':12,'| Don gia':12,'| Tien':12 ); for i:= 1 to n do with bang[i] do Writeln(ten:20, ngay:12, sl:12:2, gia:12:2, tien:12:2); writeln; writeln('Tong so tien la: ', tong: 15:2); readln; end. 2 - Ki u t p (File) 2.1 - Khái ni m t p T p d li u là t p h p các d li u có liên quan v i nhau và ñư c nhóm l i v i nhau t o thành m t dãy, ñư c lưu tr trên b nh ngoài ví d như ñĩa t . Các ph n t c a t p cùng ki u, ñư c lưu tr k ti p nhau, khi làm vi c v i các ph n t c a t p có con tr t p. Khi m i m t p con tr t p tr vào ph n t ñ u tiên c a t p. Cu i t p có d u k t thuc t p kí hi u là eof(t p). Các ph n t c a t p f như sau: M i ô là m t ph n t c a t p. Cu i t p là d u k t thúc t p eof(f) (end of file) 164 Trư ng ð i h c Nông nghi p 1 - Giáo trình Tin h c ñ i cương --------------------------------------------- 164 eof(f) Con tr t p (c a s t p) ch vào ph n t ñ u Ph n t i K t thúc t p Có th có các lo i t p sau: • - T p ñ nh ki u. - T p văn b n ( Text) - T p không ñ nh ki u Trong các ph n sau ch xét t p ñ nh ki u và t p văn b n. • T p và m ng có nh ng ñi m gi ng và khác nhau sau ñây: * ði m gi ng nhau gi a t p và m ng : t p h p các ph n t cùng ki u. * ði m khác nhau gi a t p và m ng : M ng khai báo v i s ph n t xác ñ nh, còn t p v i s ph n t không xác ñ nh, t p có th ch a s ph n t tuỳ ý theo dung lư ng trên ñĩa. 2.2 - Các cách truy nh p t p * Truy nh p tu n t và truy nh p ng u nhiên: - Truy nh p tu n t : Vi c ñ c m t ph n t b t kỳ c a t p b t bu c ph i tu n t ñi qua các ph n t trư c ñ y. Còn mu n thêm m t phân t vào t p ph i thêm vào cu i t p. Ki u truy nh p này ñơn gi n trong vi c t o t p, x lý t p, song nó kém linh ho t - Truy nh p t p tr c ti p( direct access ): Có th truy nh p vào b t kỳ ph n t nào trong t p thông qua ch s th t c a ph n t trong t p. Tuỳ theo t ng b nh ngoài mà có th truy nh p tr c ti p ñư c hay không, như ñĩa t có th truy nh p tr c ti p ñư c, còn băng t ch có th truy nh p tu n t không truy nh p tr c ti p ñư c. Như v y trong truy nh p tr c ti p có th ñ c b t kỳ ph n t nào, thêm ph n t m i thì ph i thêm vào cu i t p. 2.3 - Khai báo t p ñ nh ki u Khai báo t p ñ nh ki u dùng c m t sau: File of ki u_ph n_t ; • Khai báo ki u t p: Type tên_ki u = File of ...

Tài liệu được xem nhiều: