Truy xuất một Record

Một phần của tài liệu Cơ bản về lập trình Pascal (Trang 68 - 70)

III/ KIỂU BẢN GHI (RECORD)

2. Truy xuất một Record

Ðể truy xuất vào một trường của kiểu Record, ta cần dùng tên biến kiểu Record, sau đó là dấu chấm (.) rồi đến tên trường. Dạng tổng quát sau:

<Biến Record>.<Tên trường>

Ví dụ 3.3: Nhập lý lịch nhân viên của một cơ quan TYPE

Lylich = RECORD {Lý lịch gồm Họ tên, Tuổi, Phái, Lương} Hoten : string [25] ;

Tuoi : integer ;

PhaiNam : boolean; {Nam : M (Male), Nữ : F (Female)} Luong : real;

END;

VAR x, y : Lylich ;

nv : ARRAY [1 .. 200] OF Lylich ;{nv là mảng lý lịch các nhân viên} ...

Write('Nhập tổng số nhân viên : '); readln(n) ; FOR i := 1 TO n DO

Write(' Họ tên : '); readln(nv[i].Hoten); Writeln(' Tuổi : '); readln(nv[i].Tuoi) ;

Write(' Phái (Nam :M, Nữ : F) ? '); readln (Phai);

IF (Phai = ‘M’) or (Phai =‘m’) THEN nv[i].PhaiNam := TRUE ELSE nv[i].PhaiNam := FALSE ;

Writeln(' Lương : '); read(nv[i].Luong) ; END ;

...

Lưu ý :

- Các biến Record có thể gán cho nhau. Ví dụ x và y là 2 biến bản ghi có cùng kiểu Lylich, thì ta có thể gán:

x := y; Như vậy ta không phải lặp lại:

x.Hoten := y.Hoten ; x.Tuoi := y.Tuoi ; ...

- Không được viết ra màn hình hoặc đọc từ bàn phím một biến record như : Writeln(x); hoặc Readln(x);

- Không thể so sánh các record bằng các phép toán quan hệ <, >, <=, >=,=,<> - Không được dùng các toán số học và logic với kiểu record.

Ví dụ 3.4: Nhập vào 2 số phức C1 và C2 và tính C3 là tổng của chúng Với chương trình loại này ta phải lần lượt nhập từng phần thực và phần ảo riêng rẽ của C1 và C2. Ta không thể dùng dòng lệnh C3 = C1 + C2. Kết quả tính C3 phải là phép cộng riêng rẽ từng phần thực và phần ảo của C1 và C2 rồi ghép lại.

PROGRAM So_Phuc ; TYPE Sophuc = Record pt, pa : real ; End; VAR

c1, c2, c3 : Sophuc ; BEGIN

Write('Lần lượt nhập phần thực và phần ảo của 2 số phức C1 và C2') ; Write('Nhập phần thực của số phức C1 : ') ; Readln(c1.pt) ;

Write('Nhập phần ảo của số phức C1 : ') ; Readln(c1.pa) ; Write('Nhập phần thực của số phức C2 : ') ; Readln(c2.pt) ; Write('Nhập phần ảo của số phức C2: ') ; Readln(c2.pa) ; c3.pt := c1.pt + c2.pt ;

c3.pa := c1.pa + c2.pa ;

Writeln('Kết quả của phép cộng 2 số phức :'); Write(‘C3 = C1 + C2 ‘);

Write(‘ = (‘, c1.pt:5:2, ‘+i ‘, c1.pa:5:2, ‘) +(‘, c2.pt:5:2, ‘+i ‘,c2.pa:5:2, ‘) ‘); Write(‘C3 = ‘, c3.pt:5:2, ‘+i’, c3.pa:5:2 );

Readln; END.

Một phần của tài liệu Cơ bản về lập trình Pascal (Trang 68 - 70)

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

(122 trang)
w