Định nghĩa: Dữ liệu kiểu bản ghi dùng để mô tả các đối tượng có cùng một số thuộc tính mà các thuộc tính có thể có các kiểu dữ liệu khác nhau.. - Mỗi thuộc tính của đối tượng ứng với mộ
Trang 2Giá trị st Thao tác Kết quả
KIỂM TRA BÀI CŨ
Sử dụng các thủ tục và hàm xử lý xâu đã học để hoàn thành bài tập sau:
Delete(St,1,5)
‘Xau-ky-tu’ Copy(St,5,5) ‘ky-tu’
‘May-tinh’ Insert(‘vi-’,st,5) ‘May-vi-tinh’
Trang 3I Định nghĩa:
Dữ liệu kiểu bản ghi dùng để mô tả các đối tượng
có cùng một số thuộc tính mà các thuộc tính có thể có các
kiểu dữ liệu khác nhau.
Trong đó:
-Bản ghi thường được gọi là RECORT Mỗi Recort sẽ lưu trữ dữ liệu và một đối tượng cần quản lí
- Mỗi thuộc tính của đối tượng ứng với một trường (field) của bản ghi ( Record).Các trường khác nhau có thể có dữ liệu khác nhau.
Trang 4Ngôn ngữ lập trình đưa ra quy tắc , cách
thức xác định:
* Tên kiểu bản ghi
* Tên các thuộc tính (trường)
* Kiểu dữ liệu của mỗi trường
* Cách khai báo biến
* Cách tham chiếu đến trường
Trang 5Ví dụ: Kết quả kiểm tra sức khỏe học sinh được ghi trên phiếu có dạng sau:
Xác định các đối tượng,các thuộc tính và kiểu dữ liệu của các thuộc tính của bản ghi ( Record)?
Từ định nghĩa và các ví dụ đã nêu ta thấy:
Để mô tả hàng loạt các đối tượng có các kiểu dữ liệu khác nhau
ta có thể dùng kiểu dữ liệu kiểu bản ghi ( Record).
Trang 6Thông thường để khai báo kiểu bản ghi ta khai báo gián tiếp như sau:
1 Cú pháp:
TYPE <Tên kiểu bản ghi> = RECORD
<Tên trường 1>: <Kiểu trường 1>;
<Tên trường k>: <Kiểu trường k>;
END;
VAR <Tên biến bản ghi>: <Tên kiểu bản ghi>;
II Khai báo
Trang 7Ví dụ: Áp dụng cú pháp khai báo để khai báo 4 bản ghi mà mỗi bản ghi là một học sinh gồm các thuộc tính( trường) sau:
-Họ và tên(ht)
-Điểm lý thuyết(dlt)
-Điểm Thực hành(dth)
Viết khai báo cho bài toán?
Cú pháp khai báo bản ghi
TYPE
<Tên kiểu bản ghi> = RECORD
<Tên trường 1>: <Kiểu trường 1>;
<Tên trường k>: <Kiểu trường k>;
VAR
<Tên biến bản ghi>: <Tên kiểu bản ghi>;
TYPE Hocsinh = RECORD Ht: String[30];
dlt,dth: Real;
END;
VAR hs1,hs2,hs3,hs4: Hocsinh ;
Trang 8Khai báo một mảng
có 54 phần tử có kiểu phần tử là tên kiểu bản ghi
Var Lop:Array [1 54] of hocsinh;
Khai báo 54 đối tượng học sinh lớp 11A4 tương ứng với 54 bản ghi thì phải làm thế nào?
bản ghi Chỉ số
mảng
Trang 9Chú ý: Để tham chiếu đến trường của bản ghi ta sử dụng cú pháp:
<Tên biến bản ghi>.< Tên trường>
Ví dụ: để tham chiếu đến trường điểm lý thuyết của bạn Hs1 ta viết:
Hs1.dlt
Tham chiếu đến trường điểm thực hành, điểm lý thuyết của bạn hs2?
hs2.dth hs2.dlt
Tên trường Tên biến
bản ghi
Trang 10Để nhập dữ liệu cho một biến bản ghi ta sử dụng câu lệnh READ hoặc READLN như sau:
READ(<tên biến bản ghi>.<tên trường>);
Hoặc: READLN(<tên biến bản ghi>.<tên trường>);
Ví dụ: Để nhập điểm trung bình của bạn Hs1 trong cách khai báo VAR Hs1,hs2,hs3,hs4: Hocsinh; ta nhập như sau:
READLN(Hs1.dtb);
Tên biến bản ghi Tên trường
Tên biến
-Để nhập điểm trung bình cho bạn thứ i trong cách khai báo:
Var Lop:Array [1 54] of hocsinh;
READLN(lop[i].dtb);
2 Nhập dữ liệu cho trường của biến bản ghi:
Trang 11Để xuất dữ liệu cho biến bản ghi ta sử dụng câu lệnh WRITE hoặc WRITELN với cú pháp như sau:
WRITE(<tên biến bản ghi>.<tên trường>);
Hoặc
WRITELN(< tên biến bản ghi>.<tên trường>);
Ví dụ: Để hiển thị điểm lý thuyết của bạn Hs1 trong cách khai báo
VAR Hs1,hs2,hs3,hs4: Hocsinh; ta hiển thị như sau:
WRITELN(Hs1.dlt);
Tên trường
-Để hiển thị điểm lý thuyết cho bạn thứ i trong cách khai báo
Var Lop:Array [1 54] of hocsinh; ta hiển thị như sau:
Tên biến bản
ghi
3 Xuất (hiển thị) dữ liệu cho trường của biến bản ghi:
Trang 124 Ví dụ Viết đoạn chương trình nhập vào danh sách điểm môn tin học của lớp
11A4 biết mỗi học sinh là một bản ghi gồm các trường:
• Họ và tên(ht)
• Điểm lý thuyết(dlt)
• Điểm Thực hành(dth)
Trang 13Chương trình nhập:
Trang 14Hiển thị dữ liệu vừa nhập ra màn hình?
Readln End.
Trang 15Viết chương trình nhập dữ liệu cho phiếu kiểm tra sức khỏe của học sinh lớp 11A4 gồm
BÀI TẬP VỀ NHÀ: