CHƯƠNG VI KI ỂU DỮ LIỆ U CÓ C Ấ U TRUC: KI Ể U B Ả N GHI VÀ KI Ể U T Ệ P

Một phần của tài liệu giáo trình tin học đại cương (Trang 154 - 155)

- Khai báo trực tiếp trong khai báo biến

CHƯƠNG VI KI ỂU DỮ LIỆ U CÓ C Ấ U TRUC: KI Ể U B Ả N GHI VÀ KI Ể U T Ệ P

1 - Kiu bản ghi (record) 1.1 - Khái nim 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 o kiu dliu 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;

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ệ >, >=, <, <= .

Nếu hai biến bản ghi có cùng kiểu thì có thể tham gia các phép so sánh = (bằng) và <> (khác).

Nếu hai biến bản ghi có cùng kiểu thì có thể gán giá trị cho nhau. luong1:=luong2;

banghk1:=banghk2;

1.4 - Câu lnh With ... do

Khi chỉ ựịnh một trường của bản ghi ta phải viết cả tên biến và tên trường, do vậy viết các tên sẽ dài. để không phải viết tên biến, chỉ viết tên trường ta dùng câu lệnh With ... do như

sau:

With Tên_biến do Chuỗi_lệnh;

Trong chuỗi lệnh nếu chỉ ra một trường nào ựó của biến ựã nêu tên thì không phải viết tên biến kèm theo.

Vắ dụ thay cho cách viết ở vắ dụ phần 3 ta có thể sử dụng câu lệnh With...do With luong1 do

begin stt:=1;

hoten:='Le Thu Ha'; luong:=heso * 210000; end; With banghk1 do begin pho:='Hang Dao'; tel:=8573980; end;

With luong2 do Readln(hoten); With bangkh2 do Writeln(pho);

Một phần của tài liệu giáo trình tin học đại cương (Trang 154 - 155)

Tải bản đầy đủ (PDF)

(182 trang)