Cơ sở dữ liệu - Chương 13: Kiểu dữ liệu có cấu trúc: Kiểu bản ghi (Record)

Array và Set bao gồm các phần tử có cùng kiểu.

Record là kiểu dữ liệu bao gồm nhiều phần tử khác

loại. Record đi liền với kiểu dữ liệu Tệp (File), sẽ học

ở chương sau.

pdf15 trang | Chia sẻ: Mr Hưng | Lượt xem: 1062 | Lượt tải: 0download
Nội dung tài liệu Cơ sở dữ liệu - Chương 13: Kiểu dữ liệu có cấu trúc: Kiểu bản ghi (Record), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
13.1 Có 4 kiểu dữ liệu có cấu trúc: ARRAY, SET, RECORD, FILE Chương 13 Kiểu dữ liệu có cấu trúc: Kiểu bản ghi (Record) 13.2 Array và Set bao gồm các phần tử có cùng kiểu. Record là kiểu dữ liệu bao gồm nhiều phần tử khác loại. Record đi liền với kiểu dữ liệu Tệp (File), sẽ học ở chương sau. Thí dụ 13.1: TYPE Dia_Chi = RECORD So_Nha: integer; Pho : String[20]; Thanh_Pho:String[15]; END; 13.3 Thí dụ 13.2: TYPE Date = RECORD Ngay : 1..31; Thang: 1..12; Nam : integer; END; TYPE Date = RECORD Day: 1..31; Month:(Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec); Year: integer; END; 13.4 TYPE Nhan_Su = RECORD Ho_Ten : String[30]; Ngay_Sinh: Date; Gioi_Tinh: (Nam, Nu); O_Tai : Dia_Chi; Luong : Real; END; Phiếu hồ sơ cán bộ Họ và tên: Ngày sinh: Giới tính: Địa chỉ: Lương: 13.5 Sử dụng Record TYPE Nhan_Su = ...; VAR Nguoi1, Nguoi2: Nhan_Su; BEGIN write ('Ho va Ten Nguoi 1: '); readln( Nguoi1.Ho_Ten); write ('Ngay Sinh: ' ); readln(Nguoi1.Ngay_Sinh.Ngay); write ('Thang sinh: '); readln(Nguoi1.Ngay_Sinh.Thang); write ('Nam sinh: '); readln(Nguoi1.Ngay_Sinh.Nam); write ('O tai so nha: ');readln(Nguoi1.O_Tai.So_Nha); write (' Pho: '); readln(Nguoi1.O_Tai.Pho); write(' Thanh pho : ');readln(Nguoi1.O_Tai.ThanhPho); Nguoi2:=Nguoi1; {Biến Nguoi2 được gán giá trị } ... END. 13.6 Nhận xét:  Cách truy nhập vào một trường của Record Nguoi1.Ho_Ten  Có thể làm phép gán 2 Record cùng loại: Nguoi2:=Nguoi1  So sánh bằng nhau giữa 2 Record If Nguoi2=Nguoi1 then writeln('Cùng mot nguoi!'); 13.7 Tuy nhiên ta không làm được 1) Read và Write cả một Record Readln (Nguoi1); Writeln(Nguoi1); 2) So sánh các Record bằng các phép toán quan hệ như sau: , = Riêng các phép so sánh (khác nhau) và = (bằng nhau) thì có thể được dùng với hai biến có cùng một kiểu Record. 3) Tất cả các phép toán số học và logic. 13.8 Thí dụ 13.6 Phép cộng số phức. TYPE Complexe = RECORD PT,PA: real ; END; VAR C1,C2,C3: Complexe; Dau: String[5];  C3 := C2 + C1; Đúng không? 13.9 BEGIN C1.PT:= 3.5;C1.PA :=-0.2; {C1=3.5-j0.2 } C2.PT:= 5.8;C2.PA := 7.1; {C2=5.8+j7.1 } C3.PT := C1.PT + C2.PT; C3.PA := C1.PA + C2.PA; Writeln(' Tong cua hai so phuc : '); If C1.PA >= 0 then Dau:=' + j ' else Dau:= ' - j '; Writeln(' C1 = ',C1.PT:5:2, Dau ,Abs(C1.PA):5:2); If C2.PA >= 0 then Dau:=' + j ' else Dau:=' - j '; Writeln(' C2 = ',C2.PT:5:2, Dau ,Abs(C2.PA):5:2); Writeln(' La so phuc : '); If C3.PA >=0 then Dau:=' + j ' else Dau := ' -j '; Writeln(' C3 = ',C3.PT:5:2, Dau ,Abs(C3.PA):5:2); END. 13.10 Kết quả chạy chương trình: Tong cua hai so phuc : C1 = 3.50 - j 0.20 C2 = 5.80 + j 7.10 La so phuc : C3 = 9.30 + j 6.90 13.11 Mảng các bản ghi VAR CanBo: Array[1..100] of Nhan_Su; Ta có thể viết: CanBo[50].Ho_Ten:='Nguyen Van A'; CanBo[50].NgaySinh.Ngay:=31; 13.12 Thí dụ 13.7 VAR CanBo: Array[1..100] of Nhan_Su; TG : Nhan_Su; {ô nhớ Trung Gian} i, j: integer; BEGIN ... FOR i:=1 TO 99 Do FOR j:= i + 1 TO 100 DO If CanBo[i].Ho_Ten > CanBo[j].Ho_Ten then Begin TG :=CanBo[i]; CanBo[i]:= CanBo[j]; CanBo[j]:= TG; End; ... END. 13.13 Câu lệnh WITH ... DO ... WITH Nguoi1 DO Begin write('Ho va Ten Nguoi 1: '); readln (Ho_Ten); WITH Ngay_Sinh DO Begin write('Ngay sinh : '); readln(Ngay); write('Thang sinh : '); readln(Thang); write('Nam sinh : '); readln(Nam); End; End; 13.14 WITH Nguoi1, NgaySinh DO Begin Ngay :=12; Thang:= 5; Nam :=1960; End; Hoặc với mảng CanBo ta có thể viết: WITH CanBo[50] DO Begin Ho_Ten := 'Le Thi Tam'; ...... End; 13.15 Bài tập 1/ Viết chương trình nhân hai số phức A, B. Kết quả là C. 2/ Xây dựng cấu trúc dữ liệu mô tả các phiếu ghi ở thư viện. Xây dựng một hộp phiếu bằng một mảng các phiếu ghi. Sau đó lập chương trình vào số liệu của một nhân viên thư viện. Cuối cùng là phân loại hộp phiếu theo thứ tự ABC của tên sách. 3/ Hãy mô tả một đa thức được viết dưới dạng Record Sau đó làm phép nhân, cộng 2 đa thức.

Các file đính kèm theo tài liệu này:

  • pdfngon_ngu_lap_trinh_pascalchuong13_0026.pdf
Tài liệu liên quan