SlideShare a Scribd company logo
Bài 13: KIỂU BẢN GHI 
Trong thực tế, chúng ta thường dùng các bản danh sách, biểu bảng thống kê có nội dung 
khác nhau.Trong một lớp học có nhiều học sinh, trong học sinh lại có nam, có nữ, có họ 
tên học sinh, ngày sinh, quê quán. Để xử lý những dữ liệu phức tạp kể trên, Pascal cho 
phép người lập trình tự định nghĩa một kiểu dữ liệu có cấu trúc đó là kiểu bản ghi 
( Record). 
Ví dụ 1: Thông tin của một học sinh gồm có: 
HỌ VÀ TÊN 
NGÀY SINH 
ĐIỂM TRUNG BÌNH 
Ta có mô tả như sau: 
Họ và tên Ngày sinh Giới tính Điểm trung bình Xếp loại 
Thái Trí Hằng 19/04/1993 Nam 7.9 Khá 
Trương Xuân Di 24/04/1993 Nữ 8.2 Giỏi 
Lâm Đạt Khải 17/08/1993 Nam 8.5 Giỏi 
- Kiểu dữ liệu bản ghi là một kiểu dữ liệu có cấu trúc. Một bản ghi gồm các thành phần 
(trường), các trường có thể thuộc các kiểu dữ liệu khác nhau. 
- Kiểu bản ghi có thể mô tả hàng loạt đối tựợng có cùng một số thuộc tính. 
- Có thể truy xuất (thao tác) trên từng thành phần của bản ghi, mỗi trường đó được xác 
định bởi tên biến bản ghi và tên trường. 
Tóm lại, Ngôn ngữ lập trình đưa ra các 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; 
HỌC SINH 
XẾP LOẠI GIỚI TÍNH
· Cách khai báo biến; 
· Cách tham chiếu đến trường. 
1. Khai báo kiểu bản ghi: 
Các thông tin cần khai báo bao gồm tên kiểu bản ghi. Tên các thuộc tính, kiểu dữ liệu của 
mỗi thuộc tính. 
Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta thường dùng định 
nghĩa kiểu bản ghi và sau đó dùng nó đề khai báo các biến liên quan. 
a. Khai báo kiểu: 
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; 
b. Khai báo biến: 
Có hai cách 
Cách 1: VAR 
<tên biến> : <Tên kiểu bản ghi>; 
<tên mảng> : ARRAY [1..Max] OF < tên kiểu bản ghi>; 
Cách 2: 
VAR <Tên biến 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; 
Ví dụ: Lấy ví dụ 1, ta có Bản ghi Học sinh như sau: 
Họ và tên: String [30] 
Ngày sinh: String [10] 
Giới tính: Boolean 
Điểm trung bình: Real 
Xếp loại: String [10] 
Trong chương trình xử lý kết quả có thể sử dụng khai báo sau đây: 
1) Khai báo kiểu: 
TYPE Hocsinh = RECORD 
Hoten: String [30]; 
Ngaysinh:String[10];
Gioitinh: Boolead; 
DiemTB: Real; 
Xeploai: String[10] 
END; 
VAR Hs1, Hs2: Hocsinh; 
2) Khai báo biến: 
VAR hs1, hs2: RECORD 
Hoten: String [30]; 
DiemTB: Real; 
END; 
Nếu A là biến kiểu bản ghi và X là tên một trường của A, thì để tham chiếu đến trường X, 
ta viết: 
A.X 
Để tham chiếu đến điểm trung bính của học sinh trong ví dụ trên ta viết: 
A.DiemTB 
2. Gán giá trị 
Có hai 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à hai biến bản ghi củng kiểu, thì ta có thể gán giá 
trị của B cho A bằng câu lệnh: 
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 từ bàn phím. 
3. Ví dụ về các thao tác với bản ghi 
Viết một chương trình dùng để quản lý kiểm tra chất lượng của học sinh với 2 
môn Toán và Văn. 
Chương trình qun3 lý gồm có: 
STT 
Họ và tên 
Toán, Văn, Tổng,Kết quả. 
a. Nhập thông tin học sinh 
- Nhập học sinh:
Write(‘ Nhap vao so hoc sinh trong lop’); 
Readln(n); 
- Nhập dữ liệu các thuộc tính của bản ghi: 
For i:=1 to n do 
Begin 
Write(‘ STT’); readln(Lop[i].STT); 
Write(‘ Ho va ten ’); readln(Lop[i].Hoten); 
Write(‘ Van’); readln(Lop[i].Van); 
Write(‘ Toan’); readln(Lop[i].Toan); 
Write(‘ Tong’); readln(Lop[i].Tong); 
Write(‘ Ket qua’); readln(Lop[i].Ketqua); 
End; 
b. Các thao tác xử lý trong bản ghi 
Tính điểm Toán và Văn của từng học sinh trên lớp: 
For i:=1 to n do 
Lop[i].Tong := Lop[i].Toan + Lop[i].Van; 
Kiểm tra điều kiện để đưa ra kết quả: 
For i:=1 to n do 
If Lop[i].Tong >=12 then Lop[i].Ketqua := ‘Dat’ 
else Lop[i].Ketqua := ‘Khongdat’; 
c. In kiểu dữ liệu kiểu bản ghi 
Thông báo in: 
Writeln(‘ Bang ket qua kt chat luong’); 
In dữ liệu kiểu bản ghi: 
For i:= 1 to n do 
Writeln(Lop[i].STT:5, 
Lop[i].Hoten:30, Lop[i].Toan:5:1, 
Lop[i].Van:5:1, Lop[i].Tong:8:1, 
Lop[i].ketqua:15); 
TÓM TẮT 
· Cách khai báo (hay định nghĩa) kiểu dữ liệu bản ghi thường dùng là: 
Đặt tên và định nghĩa cho kiểu dữ liệu mới này (với từ khóa type) rồi sau đó khai 
báo các biến thuộc kiểu mới (đã có tên). 
· Để khai báo một kiểu bản ghi, cần phải xác định:
+ Đối tượng được bản ghi mô tả có những thuộc tính nào cần quản lý, mỗi thuộc 
tính sẽ tương ứng với một trường của bản ghi. 
+ Tên trường: Tên trường thường được đặt gợi ý nghĩa của thuộc tính nó thể 
hiện.Các tên trường của một kiểu bản ghi phải khác nhau.. 
+ Kiểu dữ liệu của mỗi trường. 
· Giống như ở kiểu mảng, không thể nhập hay xuất giá trị của một biến kiểu bản 
ghi như nhập hay xuất kiểu giá trị của biến dữ liệu chuẩn mà phải nhập hay xuất 
cho từng phần tử của kiểu bản ghi. 
· Các thao tác nhập xuất hay xử lý mỗi trường kiểu bản ghi phải tuân theo quy định 
của kiểu trường này. 
· Chỉ có phép gán là phép toán duy nhất áp dụng được với các biến kiểu bản ghi 
cùng kiểu.
+ Đối tượng được bản ghi mô tả có những thuộc tính nào cần quản lý, mỗi thuộc 
tính sẽ tương ứng với một trường của bản ghi. 
+ Tên trường: Tên trường thường được đặt gợi ý nghĩa của thuộc tính nó thể 
hiện.Các tên trường của một kiểu bản ghi phải khác nhau.. 
+ Kiểu dữ liệu của mỗi trường. 
· Giống như ở kiểu mảng, không thể nhập hay xuất giá trị của một biến kiểu bản 
ghi như nhập hay xuất kiểu giá trị của biến dữ liệu chuẩn mà phải nhập hay xuất 
cho từng phần tử của kiểu bản ghi. 
· Các thao tác nhập xuất hay xử lý mỗi trường kiểu bản ghi phải tuân theo quy định 
của kiểu trường này. 
· Chỉ có phép gán là phép toán duy nhất áp dụng được với các biến kiểu bản ghi 
cùng kiểu.

More Related Content

What's hot

Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biến
Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biếnBài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biến
Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biếnindochinasp
 
Một số kiểu dữ liệu chuẩn
Một số kiểu dữ liệu chuẩnMột số kiểu dữ liệu chuẩn
Một số kiểu dữ liệu chuẩnvothanhdoit
 
Kieu xau tiet 2 da soan
Kieu xau tiet 2 da soanKieu xau tiet 2 da soan
Kieu xau tiet 2 da soanSunkute
 
Kieu xau tiet 1 da soan
Kieu xau tiet 1 da soanKieu xau tiet 1 da soan
Kieu xau tiet 1 da soanSunkute
 
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngoc
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngocGiao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngoc
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngocNgoc Vu Thi Quynh
 
Chuong 5 tin 11
Chuong 5 tin 11Chuong 5 tin 11
Chuong 5 tin 11Sunkute
 
kiểu xâu ( 2 tiết)
kiểu xâu ( 2 tiết)kiểu xâu ( 2 tiết)
kiểu xâu ( 2 tiết)
Nguyen Phuc Vinh Thuy
 
Chuong 3 tin 11
Chuong 3 tin 11Chuong 3 tin 11
Chuong 3 tin 11Sunkute
 

What's hot (10)

Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biến
Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biếnBài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biến
Bài 4,5:Một số kiểu dữ liệu chuẩn,Khai báo biến
 
Access vba 052009
Access vba 052009Access vba 052009
Access vba 052009
 
Một số kiểu dữ liệu chuẩn
Một số kiểu dữ liệu chuẩnMột số kiểu dữ liệu chuẩn
Một số kiểu dữ liệu chuẩn
 
Ctdl de so 14
Ctdl   de so 14Ctdl   de so 14
Ctdl de so 14
 
Kieu xau tiet 2 da soan
Kieu xau tiet 2 da soanKieu xau tiet 2 da soan
Kieu xau tiet 2 da soan
 
Kieu xau tiet 1 da soan
Kieu xau tiet 1 da soanKieu xau tiet 1 da soan
Kieu xau tiet 1 da soan
 
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngoc
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngocGiao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngoc
Giao an tin hoc 11 - Tuan 07 - Bai thuc hanh so 5 - vtq ngoc
 
Chuong 5 tin 11
Chuong 5 tin 11Chuong 5 tin 11
Chuong 5 tin 11
 
kiểu xâu ( 2 tiết)
kiểu xâu ( 2 tiết)kiểu xâu ( 2 tiết)
kiểu xâu ( 2 tiết)
 
Chuong 3 tin 11
Chuong 3 tin 11Chuong 3 tin 11
Chuong 3 tin 11
 

Viewers also liked

Le huy dung lop 11 bai 13 kieu ban ghi
Le huy dung lop 11 bai 13 kieu ban ghiLe huy dung lop 11 bai 13 kieu ban ghi
Le huy dung lop 11 bai 13 kieu ban ghi
Tin 5CBT
 
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản GhiDương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
SP Tin K34
 
Kieu ban ghi lop 11
Kieu ban ghi lop 11Kieu ban ghi lop 11
Kieu ban ghi lop 11
Đoàn Hòa
 
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghiBài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
Tran Juni
 
Kich ban day hoc bai 13_kieu ban ghi
Kich ban day hoc bai 13_kieu ban ghiKich ban day hoc bai 13_kieu ban ghi
Kich ban day hoc bai 13_kieu ban ghiĐỏ Đậu
 
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảngLớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
Hoàng Kỳ Anh
 
KBDH - Lớp 11 - Bài 13: Kiểu bản ghi
KBDH - Lớp 11 - Bài 13: Kiểu bản ghiKBDH - Lớp 11 - Bài 13: Kiểu bản ghi
KBDH - Lớp 11 - Bài 13: Kiểu bản ghi
Tran Juni
 
Bài 13 kieu ban_ghi
Bài 13  kieu ban_ghiBài 13  kieu ban_ghi
Bài 13 kieu ban_ghiLy Phan
 
Bài 13 kieu ban_ghi
Bài 13  kieu ban_ghiBài 13  kieu ban_ghi
Bài 13 kieu ban_ghiLy Phan
 

Viewers also liked (9)

Le huy dung lop 11 bai 13 kieu ban ghi
Le huy dung lop 11 bai 13 kieu ban ghiLe huy dung lop 11 bai 13 kieu ban ghi
Le huy dung lop 11 bai 13 kieu ban ghi
 
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản GhiDương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
Dương Minh Tâm Tin Học 11 Bài 13 Kiểu Bản Ghi
 
Kieu ban ghi lop 11
Kieu ban ghi lop 11Kieu ban ghi lop 11
Kieu ban ghi lop 11
 
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghiBài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
Bài giảng - Tin học 11 - Bài 3: Kiểu bản ghi
 
Kich ban day hoc bai 13_kieu ban ghi
Kich ban day hoc bai 13_kieu ban ghiKich ban day hoc bai 13_kieu ban ghi
Kich ban day hoc bai 13_kieu ban ghi
 
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảngLớp 11 --chương 4 -- bài 11 --Kiểu mảng
Lớp 11 --chương 4 -- bài 11 --Kiểu mảng
 
KBDH - Lớp 11 - Bài 13: Kiểu bản ghi
KBDH - Lớp 11 - Bài 13: Kiểu bản ghiKBDH - Lớp 11 - Bài 13: Kiểu bản ghi
KBDH - Lớp 11 - Bài 13: Kiểu bản ghi
 
Bài 13 kieu ban_ghi
Bài 13  kieu ban_ghiBài 13  kieu ban_ghi
Bài 13 kieu ban_ghi
 
Bài 13 kieu ban_ghi
Bài 13  kieu ban_ghiBài 13  kieu ban_ghi
Bài 13 kieu ban_ghi
 

Similar to Tin11 chuong04 bai_13

Tin10 chuong04 bai13
Tin10 chuong04 bai13Tin10 chuong04 bai13
Tin10 chuong04 bai13HaBaoChau
 
Bai giang 13
Bai giang 13Bai giang 13
Bai giang 13Chi Lệ
 
Thdc3 Lap Trinh C
Thdc3 Lap Trinh CThdc3 Lap Trinh C
Thdc3 Lap Trinh C
quyloc
 
Ctdl c1
Ctdl c1Ctdl c1
Ctdl c1
Tin Trinh
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
tienhien110293
 
Bai 12 kx
Bai 12 kxBai 12 kx
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
mai_non
 
2.cac thanh phan cua nnlt
2.cac thanh phan cua nnlt2.cac thanh phan cua nnlt
2.cac thanh phan cua nnlt
Thanh Hà Lê
 
Ch tin dhhue2005
Ch tin dhhue2005Ch tin dhhue2005
Ch tin dhhue2005Hồ Lợi
 
LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2
pnanhvn
 
Ch tin dhhue2004
Ch tin dhhue2004Ch tin dhhue2004
Ch tin dhhue2004Hồ Lợi
 
Chuong 4 tin 11
Chuong 4 tin 11Chuong 4 tin 11
Chuong 4 tin 11Sunkute
 
Ch tin dhhue2002
Ch tin dhhue2002Ch tin dhhue2002
Ch tin dhhue2002Hồ Lợi
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Văn Võ Ntn
 
Chương ii tin 11
Chương ii tin 11Chương ii tin 11
Chương ii tin 11Sunkute
 
Phan 2 chuong 9 (cau truc)
Phan 2   chuong 9 (cau truc)Phan 2   chuong 9 (cau truc)
Phan 2 chuong 9 (cau truc)Trần Văn Nam
 

Similar to Tin11 chuong04 bai_13 (20)

Tin10 chuong04 bai13
Tin10 chuong04 bai13Tin10 chuong04 bai13
Tin10 chuong04 bai13
 
Bai giang 13
Bai giang 13Bai giang 13
Bai giang 13
 
Thdc3 Lap Trinh C
Thdc3 Lap Trinh CThdc3 Lap Trinh C
Thdc3 Lap Trinh C
 
Ctdl c1
Ctdl c1Ctdl c1
Ctdl c1
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
Bai 12 kx
Bai 12 kxBai 12 kx
Bai 12 kx
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
2.cac thanh phan cua nnlt
2.cac thanh phan cua nnlt2.cac thanh phan cua nnlt
2.cac thanh phan cua nnlt
 
Ch tin dhhue2005
Ch tin dhhue2005Ch tin dhhue2005
Ch tin dhhue2005
 
Ctdl 2005
Ctdl   2005Ctdl   2005
Ctdl 2005
 
LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2
 
Bai giang c
Bai giang cBai giang c
Bai giang c
 
Ctdl 2004
Ctdl   2004Ctdl   2004
Ctdl 2004
 
Ch tin dhhue2004
Ch tin dhhue2004Ch tin dhhue2004
Ch tin dhhue2004
 
Chuong 4 tin 11
Chuong 4 tin 11Chuong 4 tin 11
Chuong 4 tin 11
 
Ctdl 2002
Ctdl   2002Ctdl   2002
Ctdl 2002
 
Ch tin dhhue2002
Ch tin dhhue2002Ch tin dhhue2002
Ch tin dhhue2002
 
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_danGiao an trinh_pascal_bai_tap_co_dap_an_huong_dan
Giao an trinh_pascal_bai_tap_co_dap_an_huong_dan
 
Chương ii tin 11
Chương ii tin 11Chương ii tin 11
Chương ii tin 11
 
Phan 2 chuong 9 (cau truc)
Phan 2   chuong 9 (cau truc)Phan 2   chuong 9 (cau truc)
Phan 2 chuong 9 (cau truc)
 

More from HaBaoChau

Tìm hiểu về prezi
Tìm hiểu về preziTìm hiểu về prezi
Tìm hiểu về preziHaBaoChau
 
Tìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerTìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerHaBaoChau
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyHaBaoChau
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyHaBaoChau
 
Bài 22 tin học 10
Bài 22 tin học 10Bài 22 tin học 10
Bài 22 tin học 10HaBaoChau
 
Bài 21 tin học 10
Bài 21 tin học 10Bài 21 tin học 10
Bài 21 tin học 10HaBaoChau
 
Bài 20 tin học 10
Bài 20 tin học 10Bài 20 tin học 10
Bài 20 tin học 10HaBaoChau
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11HaBaoChau
 
Bài 17 tin học 11
Bài 17 tin học 11Bài 17 tin học 11
Bài 17 tin học 11HaBaoChau
 
Bài 1 tin hoc 12
Bài 1 tin hoc 12Bài 1 tin hoc 12
Bài 1 tin hoc 12HaBaoChau
 
K37103025 ha baochau_skype
K37103025 ha baochau_skypeK37103025 ha baochau_skype
K37103025 ha baochau_skypeHaBaoChau
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+HaBaoChau
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+HaBaoChau
 

More from HaBaoChau (15)

Wordpress
WordpressWordpress
Wordpress
 
Tìm hiểu về prezi
Tìm hiểu về preziTìm hiểu về prezi
Tìm hiểu về prezi
 
Edmodo
EdmodoEdmodo
Edmodo
 
Tìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie makerTìm hiểu về snagit window movie maker
Tìm hiểu về snagit window movie maker
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duy
 
Phần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duyPhần mềm tạo sơ đồ tư duy
Phần mềm tạo sơ đồ tư duy
 
Bài 22 tin học 10
Bài 22 tin học 10Bài 22 tin học 10
Bài 22 tin học 10
 
Bài 21 tin học 10
Bài 21 tin học 10Bài 21 tin học 10
Bài 21 tin học 10
 
Bài 20 tin học 10
Bài 20 tin học 10Bài 20 tin học 10
Bài 20 tin học 10
 
Bài 18 tin hoc 11
Bài 18 tin hoc 11Bài 18 tin hoc 11
Bài 18 tin hoc 11
 
Bài 17 tin học 11
Bài 17 tin học 11Bài 17 tin học 11
Bài 17 tin học 11
 
Bài 1 tin hoc 12
Bài 1 tin hoc 12Bài 1 tin hoc 12
Bài 1 tin hoc 12
 
K37103025 ha baochau_skype
K37103025 ha baochau_skypeK37103025 ha baochau_skype
K37103025 ha baochau_skype
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+
 
K37103025 ha baochau_google+
K37103025 ha baochau_google+K37103025 ha baochau_google+
K37103025 ha baochau_google+
 

Tin11 chuong04 bai_13

  • 1. Bài 13: KIỂU BẢN GHI Trong thực tế, chúng ta thường dùng các bản danh sách, biểu bảng thống kê có nội dung khác nhau.Trong một lớp học có nhiều học sinh, trong học sinh lại có nam, có nữ, có họ tên học sinh, ngày sinh, quê quán. Để xử lý những dữ liệu phức tạp kể trên, Pascal cho phép người lập trình tự định nghĩa một kiểu dữ liệu có cấu trúc đó là kiểu bản ghi ( Record). Ví dụ 1: Thông tin của một học sinh gồm có: HỌ VÀ TÊN NGÀY SINH ĐIỂM TRUNG BÌNH Ta có mô tả như sau: Họ và tên Ngày sinh Giới tính Điểm trung bình Xếp loại Thái Trí Hằng 19/04/1993 Nam 7.9 Khá Trương Xuân Di 24/04/1993 Nữ 8.2 Giỏi Lâm Đạt Khải 17/08/1993 Nam 8.5 Giỏi - Kiểu dữ liệu bản ghi là một kiểu dữ liệu có cấu trúc. Một bản ghi gồm các thành phần (trường), các trường có thể thuộc các kiểu dữ liệu khác nhau. - Kiểu bản ghi có thể mô tả hàng loạt đối tựợng có cùng một số thuộc tính. - Có thể truy xuất (thao tác) trên từng thành phần của bản ghi, mỗi trường đó được xác định bởi tên biến bản ghi và tên trường. Tóm lại, Ngôn ngữ lập trình đưa ra các 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; HỌC SINH XẾP LOẠI GIỚI TÍNH
  • 2. · Cách khai báo biến; · Cách tham chiếu đến trường. 1. Khai báo kiểu bản ghi: Các thông tin cần khai báo bao gồm tên kiểu bản ghi. Tên các thuộc tính, kiểu dữ liệu của mỗi thuộc tính. Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta thường dùng định nghĩa kiểu bản ghi và sau đó dùng nó đề khai báo các biến liên quan. a. Khai báo kiểu: 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; b. Khai báo biến: Có hai cách Cách 1: VAR <tên biến> : <Tên kiểu bản ghi>; <tên mảng> : ARRAY [1..Max] OF < tên kiểu bản ghi>; Cách 2: VAR <Tên biến 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; Ví dụ: Lấy ví dụ 1, ta có Bản ghi Học sinh như sau: Họ và tên: String [30] Ngày sinh: String [10] Giới tính: Boolean Điểm trung bình: Real Xếp loại: String [10] Trong chương trình xử lý kết quả có thể sử dụng khai báo sau đây: 1) Khai báo kiểu: TYPE Hocsinh = RECORD Hoten: String [30]; Ngaysinh:String[10];
  • 3. Gioitinh: Boolead; DiemTB: Real; Xeploai: String[10] END; VAR Hs1, Hs2: Hocsinh; 2) Khai báo biến: VAR hs1, hs2: RECORD Hoten: String [30]; DiemTB: Real; END; Nếu A là biến kiểu bản ghi và X là tên một trường của A, thì để tham chiếu đến trường X, ta viết: A.X Để tham chiếu đến điểm trung bính của học sinh trong ví dụ trên ta viết: A.DiemTB 2. Gán giá trị Có hai 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à hai biến bản ghi củng kiểu, thì ta có thể gán giá trị của B cho A bằng câu lệnh: 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 từ bàn phím. 3. Ví dụ về các thao tác với bản ghi Viết một chương trình dùng để quản lý kiểm tra chất lượng của học sinh với 2 môn Toán và Văn. Chương trình qun3 lý gồm có: STT Họ và tên Toán, Văn, Tổng,Kết quả. a. Nhập thông tin học sinh - Nhập học sinh:
  • 4. Write(‘ Nhap vao so hoc sinh trong lop’); Readln(n); - Nhập dữ liệu các thuộc tính của bản ghi: For i:=1 to n do Begin Write(‘ STT’); readln(Lop[i].STT); Write(‘ Ho va ten ’); readln(Lop[i].Hoten); Write(‘ Van’); readln(Lop[i].Van); Write(‘ Toan’); readln(Lop[i].Toan); Write(‘ Tong’); readln(Lop[i].Tong); Write(‘ Ket qua’); readln(Lop[i].Ketqua); End; b. Các thao tác xử lý trong bản ghi Tính điểm Toán và Văn của từng học sinh trên lớp: For i:=1 to n do Lop[i].Tong := Lop[i].Toan + Lop[i].Van; Kiểm tra điều kiện để đưa ra kết quả: For i:=1 to n do If Lop[i].Tong >=12 then Lop[i].Ketqua := ‘Dat’ else Lop[i].Ketqua := ‘Khongdat’; c. In kiểu dữ liệu kiểu bản ghi Thông báo in: Writeln(‘ Bang ket qua kt chat luong’); In dữ liệu kiểu bản ghi: For i:= 1 to n do Writeln(Lop[i].STT:5, Lop[i].Hoten:30, Lop[i].Toan:5:1, Lop[i].Van:5:1, Lop[i].Tong:8:1, Lop[i].ketqua:15); TÓM TẮT · Cách khai báo (hay định nghĩa) kiểu dữ liệu bản ghi thường dùng là: Đặt tên và định nghĩa cho kiểu dữ liệu mới này (với từ khóa type) rồi sau đó khai báo các biến thuộc kiểu mới (đã có tên). · Để khai báo một kiểu bản ghi, cần phải xác định:
  • 5. + Đối tượng được bản ghi mô tả có những thuộc tính nào cần quản lý, mỗi thuộc tính sẽ tương ứng với một trường của bản ghi. + Tên trường: Tên trường thường được đặt gợi ý nghĩa của thuộc tính nó thể hiện.Các tên trường của một kiểu bản ghi phải khác nhau.. + Kiểu dữ liệu của mỗi trường. · Giống như ở kiểu mảng, không thể nhập hay xuất giá trị của một biến kiểu bản ghi như nhập hay xuất kiểu giá trị của biến dữ liệu chuẩn mà phải nhập hay xuất cho từng phần tử của kiểu bản ghi. · Các thao tác nhập xuất hay xử lý mỗi trường kiểu bản ghi phải tuân theo quy định của kiểu trường này. · Chỉ có phép gán là phép toán duy nhất áp dụng được với các biến kiểu bản ghi cùng kiểu.
  • 6. + Đối tượng được bản ghi mô tả có những thuộc tính nào cần quản lý, mỗi thuộc tính sẽ tương ứng với một trường của bản ghi. + Tên trường: Tên trường thường được đặt gợi ý nghĩa của thuộc tính nó thể hiện.Các tên trường của một kiểu bản ghi phải khác nhau.. + Kiểu dữ liệu của mỗi trường. · Giống như ở kiểu mảng, không thể nhập hay xuất giá trị của một biến kiểu bản ghi như nhập hay xuất kiểu giá trị của biến dữ liệu chuẩn mà phải nhập hay xuất cho từng phần tử của kiểu bản ghi. · Các thao tác nhập xuất hay xử lý mỗi trường kiểu bản ghi phải tuân theo quy định của kiểu trường này. · Chỉ có phép gán là phép toán duy nhất áp dụng được với các biến kiểu bản ghi cùng kiểu.