Bài 13. Kiểu bản ghi

Chia sẻ bởi Nguyễn Việt Chung | Ngày 10/05/2019 | 53

Chia sẻ tài liệu: Bài 13. Kiểu bản ghi thuộc Tin học 11

Nội dung tài liệu:

KIỂM TRA BÀI CŨ
 Delete(A,1,5) = ?
 Length(A) = ?
 Insert(‘DL ’,A,6) = ?
 Pos(‘XA’,A) = ?
Cho xâu A:= ‘KIEU XAU’;
Em hãy cho biết kết quả của các hàm và thủ tục sau đây:
 ‘XAU’
 8
 ‘KIEU DL XAU’
 6
Nhập vào thông tin của 1 học sinh bao gồm: Họ tên, lớp, Toán (điểm môn Toán), Văn (điểm môn Văn), Ngoại ngữ (điểm môn ngoại ngữ). Tính và đưa ra màn hình điểm trung bình theo cách tính sau: toán và văn hệ số 2, ngoại ngữ hệ số 1.
- INPUT: thông tin của 1 học sinh gồm các thuộc tính: họ tên, toán, văn.
- OUTPUT: điểm trung bình.
Bài toán mở đầu
Chương trình dưới đây viết dựa trên các công cụ và những kiểu DL đã học.
Khai báo các biến đại diện cho thông tin của 1 học sinh
Nhập thông tin và tính điểm trung bình cho 1 học sinh
Nâng bài toán lên một mức cao hơn với n học sinh (n được nhập từ bàn phím) thì phát sinh vấn đề gì?
Viết n khai báo như bên
Viết n đoạn lệnh để nhập thông tin và tính điểm trung bình.
- Khai báo dài dòng; tốn hao nhiều bộ nhớ;
- Phát sinh nhiều câu lệnh;
- CT rườm ra, phức tạp.
Để giải quyết khó khăn này, NNLT Pascal cung cấp cho ta công cụ cho phép khai báo một lần sử dụng cho n học sinh
KIỂU BẢN GHI
 Khái niệm kiểu bản ghi
 Khai báo
 Gán giá trị
BÀI 13
KIỂU BẢN GHI
 Khái niệm kiểu bản ghi
 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.
Ví dụ: đối tượng học sinh có các thuộc tính: họ tên, ngày sinh, giới tính, địa chỉ,…
 Các thuộc tính có thể có kiểu DL khác nhau.
Ví dụ: hoten: string[30]; toan: real;
 Thông tin hoàn chỉnh về 1 cá thể của đối tượng gọi là 1 bản ghi.
 Mỗi thuộc tính của đối tượng gọi là một trường
 Khái niệm kiểu bản ghi
 KHAI BÁO
 Xây dựng (định nghĩa) kiểu bản ghi
TYPE = RECORD
: ;
- - - - - - - - - -
: ;
END;
 Khai báo biến bản ghi
VAR : ;
 Trong đó:
- Tên kiểu bản ghi: do người lập trình đặt phù hợp với tên đối tượng bài toán đề cập đến.
- Tên trường 1,…, Tên trường K: tên các thuộc tính của đối tượng trong bài toán. Tên này cũng do người lập trình đặt.
- Tên biến bản ghi: do người lập trình đặt (đơn giản, ngắn gọn, dễ nhớ và dễ sử dụng).
- Kiểu DL trường 1,…, Kiểu DL trường K: là kiểu DL của các thuộc tính (sử dụng các kiểu DL đã học bao gồm: kiểu DL chuẩn và các kiểu DL có cấu trúc).
Để khai báo một biến bản ghi ta cần những thông tin gì?
 Đối tượng bài toán đề cập đến là gì?  để người lập trình đặt tên kiểu bản ghi phù hợp.
 Những thuộc tính nào của đối tượng cần được xử lí  để đặt tên và chọn kiểu DL phù hợp cho các trường.
 Đặt tên biến bản ghi hợp lí, không trùng với tên các biến khác (đơn giản, dễ sử dụng).
Ví dụ: khai báo bản ghi lưu trữ thông tin học sinh trong bài toán mở đầu
Đối tượng: học sinh
Tên kiểu bản ghi: hocsinh
Các thuộc tính của đối tượng:
- Họ tên
- lớp
- điểm toán, điểm văn, điểm ngoại ngữ, điểm trung bình.
Hoten chọn kiểu DL là kiểu xâu (tối đa 30 kí tự).
Lop chọn kiểu DL là kiểu xâu (tối đa 5 kí tự).
Các trường toan, van, NN, DTB chọn kiểu DL là số thực. Các trường này có cùng kiểu DL ta có thể khai báo trên 1 dòng.
Tên biến bản ghi có thể đặt là: A
Mô tả
Thể hiện
Khai báo được viết hoàn chỉnh như sau:
TYPE hocsinh = RECORD
hoten: string[30];
lop: string[5];
toan, van, NN, DTB: real;
END;
VAR A: hocsinh;
{khai báo 1 biến bản ghi đại diện cho 1 học sinh. Có thể khai báo nhiều biến bản ghi hơn}
VAR B, C, D: hocsinh;
{khai báo 3 biến bản ghi sử dụng cùng 1 kiểu bản ghi hocsinh}
HOẠT ĐỘNG NHÓM (thời gian 2 phút): viết khai báo một biến bản ghi lưu trữ thông tin về mặt hàng bánh ngọt bao gồm các thuộc tính: Mã mặt hàng, tên hàng, số lượng, đơn giá, đơn vị tính.
TYPE banhngot = RECORD
maMH: string[5];
tenhang: string[30];
dvt: string[10];
soluong, dongia: real;
END;
VAR kinhdo: banhngot;
Thông thường 1 biến bản ghi có nhiều hơn 1 trường. Để thực hiện các thao tác xử lí với biến bản ghi ta phải thực hiện trên từng trường.
 Cách viết tham chiếu (truy xuất) đến 1 trường bất kỳ trong 1 biến bản ghi: .
 Ví dụ: Tham chiếu (truy xuất) đến trường hoten trong biến bản ghi A, ta viết như sau: A.hoten
 Gán giá trị
 Có 2 cách gán giá trị cho biến bản ghi:
 Dùng lệnh gán trực tiếp: nếu A và B là 2 biến bản ghi có cùng kiểu, ta có thể thực hiên lệnh gán như sau: A:=B;
 Gán giá trị cho từng trường: có thể thực hiện bằng lệnh gán hoặc nhập giá trị từ bàn phím.
Ví dụ: A.toan:= 9.1; A.DTB:= B.DTB;
CỦNG CỐ
GHI NHỚ
KHAI BÁO
CÁCH VIẾT THAM CHIẾU(TRUY XUẤT)
A.X (A là tên biến bản ghi, X là một trường của A)
GÁN GIÁ TRỊ
 A:=B;
 A.toan:= 9.1;
KÍNH CHÚC SỨC KHỎE QUÝ THẦY CÔ!
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Nguyễn Việt Chung
Dung lượng: | Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)