Bài 13.Kiểu bản ghi
Bài 13. KIỂU BẢN GHI
Ngày soạn: ....................Ngày dạy: ....................Lớp: ........
I. MỤC ĐÍCH YÊU CẦU:
1. Kiến thức:
- Biết được khái niệm về kiểu bản ghi.
- Phân biệt được sự giống và khác nhau giữa kiểu bản ghi với mảng một chiều.
2. Kĩ năng:
- Định nghĩa được kiểu bản ghi, khai báo được biến kiểu bản ghi trong Pascal.
- Nhập xuất được dữ liệu cho biến bản ghi.
- Tham chiếu đến từng trường của kiểu bản ghi.
- Sử dụng được kiểu bản ghi để giải quyết một số bài toán đơn giản.
II. PHƯƠNG PHÁP PHƯƠNG TIỆN:
1. Phương pháp:
- Kết hợp phương pháp giảng dạy như: Thuyết trình, vấn đáp.
2. Phương tiện:
- Vở ghi, sách giáo khoa, sách giáo viên, sách tham khảo (nếu có).
- Máy tính, máy chiếu, phông chiếu, bảng viết.
III. TIẾN TRÌNH
1. Ổn định lớp.
2. Kiểm tra bài cũ.(7’)
+ Khai báo biến mảng một chiều theo hai cách trực tiếp và gián tiếp? Cho ví dụ?
+ Khai báo biến kiểu xâu? Cho ví dụ?
+ Nhập dãy N số thực. In ra màn hình dãy số vừa nhập?
+ Nhập họ tên hai học sinh. In ra màn hình họ tên hai học sinh đó?
3. Tiến trình bài giảng:
Thời
gian
Nội dung
Hoạt động
của giáo viên
Hoạt động
của học sinh
13’ 1. Tìm hiểu về kiểu bản
ghi.
- Mỗi thông tin của đối
tượng được gọi là một
thuộc tính hay một trường.
Mỗi đối tượng được mô tả
bởi nhiều thông tin trên một
hàng được gọi là một bản
ghi.
- Kiểu bản ghi được dùng
để mô tả cho 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ó
kiểu dữ liệu khác nhau.
- Yêu cầu học sinh xem bảng kết
quả thi SGK(T.74).
- Hỏi: Trên bảng chứa những thông
tin gì?
Bảng chứa thông tin của bao
nhiêu đối tượng?
- Yêu cầu học sinh tìm thêm ví dụ
tương tự.
- Diễn giải: Mỗi thông tin của đối
tượng được gọi là một thuộc tính
hay một trường.
Mỗi đối tượng được mô tả bởi
nhiều thông tin trên một hàng được
gọi là một bản ghi.
- Quan sát ví dụ
trong SGK và trả lời
câu hỏi.
- Họ tên, ngày sinh,
giới tính,...
- Ba đối tượng.
- Hoá đơn bán hàng,
điện thoại...
- Chú ý nghe giảng.
1
Bài 13.Kiểu bản ghi
- Bản ghi thường được gọi
là Record, mỗi Record sẽ
lưu trữ dữ liệu về một đối
tượng cần quản lý.
- Ngôn ngữ lập trình cho
cách để 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.
- Diễn giải: Để mô tả các đối tượng
như vậy ngôn ngữ lập trình cho
phép ta xác định KBG. Mỗi đối
tượng được mô tả bằng một bản
ghi.
- Các trường khác nhau có thể có
kiểu dữ liệu khác nhau.
- Lấy một bảng điểm rồi chỉ rõ:
Mỗi hàng ta gọi là một bản ghi.
Mỗi cột ta gọi là một trường.
- Yêu cầu học sinh lấy ví dụ và cho
biết kiểu của từng trường?
- Yêu cầu học sinh phân biết sự
giống và khác nhau giữa KBG và
mảng một chiều?
- Tìm ví dụ và xác
định kiểu của từng
trường.
- Giống nhau: Được
ghép bởi nhiều phần
tử.
- Khác nhau: MMC
được ghép bởi nhiều
phần tử có cùng
kiểu, trong khi KBG
mô tả các thuộc tính
có kiểu dữ liệu có
thể khác nhau.
13’ 2. Khai báo.
- Kiểu bản ghi thường được
định nghĩa như sau:
Type
<tênkiểubảnghi>=Record
<têntrường1>:<kiểutrường1
>;
<têntrường2>:<kiểutrường2
>; ...
<têntrườngk>:<kiểutrườngk
>;
End;
- Biến kiểu bản ghi:
Var
<tênbiến>:<tênkiểubảnghi>
;
<tênmảng>:Array[1..N] OF
<tên kiểu bản ghi>;
3. Sử dụng kiểu bản ghi
trong Pascal.
- Tham chiếu đến từng
trường:
<tênbiếnbg>.<têntrường>
Gán giá trị cho biến bản
ghi.
- Gán trực tiếp:
Nếu A,B là 2 BBG có cùng
kiểu ta có thể gán trực tiếp:
A: = B;
- Yêu cầu học sinh nghiên cứu
SGK và cho biết cách định nghĩa
kiểu bản ghi, biến kiểu bản ghi
trong Pascal?
- Yêu cầu học sinh tìm ví dụ?
- Để giải quyết bài toán bảng kết
quả thi, ta phải khai báo mảng các
bản ghi. Hãy tạo kiểu mảng đó?
Type ketqua = Record
Hoten:string[30];
Ngaysinh:string[10];
Gioitinh:boolean;
Tin, Toan, Ly, Hoa, Van, Su,
Dia: Real;
End;
Var
Lop:Array[1..50] of ketqua;
- Giới thiệu cấu trúc chung để tham
chiếu đến từng trường của bản ghi.
<tênbiếnbảnghi>.<têntrường>
- Yêu cầu học sinh tìm ví dụ?
- Giới thiệu hai cách gán giá trị cho
biến bản ghi:
+ Gán trực tiếp.
+ Gán giá trị cho từng trường.
- Yêu cầu học sinh lấy ví dụ minh
- Nghiên cứu SGK
trả lời câu hỏi.
- Tìm ví dụ:
Type
Nguoi = Record
HT: String[30];
NS: String[10];
SDT: Longint;
End;
- Suy nghĩ để tạo
kiểu mảng các bản
ghi.
- Var
A: Array[1..49] of
Nguoi;
- VD:
Nguoi.HT;
Ketqua.Tin;
2
Bài 13.Kiểu bản ghi
- 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.
hoạ cho từng trường hợp.
- Trong trường hợp nào thì có thể
gán trực tiếp?
- Nhập, xuất giá trị cho biến bản
ghi.
+ Phải nhập xuất giá trị cho từng
trường.
+ Yêu cầu học sinh nhập giá trị cho
3 trường biến bản ghi đã được khai
báo?
+ Yêu cầu học sinh in ra giá trị của
biến bản ghi?
- VD:
A: = B;
A.HT:= B.HT;
- Hai biến A và B
phải được khai báo
cùng kiểu.
Readln(Nguoi.HT);
Readln(Nguoi.NS);
Readln(Nguoi.SDT);
Writeln(Nguoi.NS);
7’
4. Bài tập
Ví dụ (SGK.T76) - Trình bày ví dụ.
- Hỏi: Sử dụng kiểu dữ liệu như thế
nào để giải quyết bài toán?
- Mô tả thông tin về một học sinh
về kiểu bản ghi, tạo mảng các bản
ghi đó.
- Nêu các bước để giải bài toán.
- Yêu cầu học sinh giải bài toán.
- Quan sát VD, chú ý
trả lời.
- Sử dụng mảng các
bản ghi.
- Type
HS = Record
HT,NS,DC: String;
Toan,Van,XL: Real;
End;
- B1: Tạo kiểu dữ
liệu, khai báo biến
- B2: Nhập dữ liệu
cho mảng các bản
ghi.
- B3: Xếp loại dựa
vào tổng điểm toán
và điểm văn.
- Thảo luận để giải
bài toán.
IV. ĐÁNH GIÁ CUỐI BÀI.(5 phút)
1. Nội dung đã học:
- Định nghĩa kiểu bản ghi, khai báo biến bản ghi.
- Tham chiếu đến từng trường của biến bản ghi.
- Gán giá trị cho biến bản ghi.
- Nhập, xuất dữ liệu cho biến bản ghi.
2. Câu hỏi và bài tập về nhà:
- Bài tập:
Bài 1: Viết chương trình giải bài toán quản lí sau: Nhập họ tên, điểm tin, điểm toán của
10 học sinh trong lớp.
+ In ra màn hình họ tên, điểm tin, điểm toán của học sinh?
+ In ra màn hình họ tên những học sinh có điểm tin lớn hơn 5?
+ In ra màn hình họ tên, điểm trung bình (điểm trung bình = (điểm tin + điểm
toán)/2).
3
Bài 13.Kiểu bản ghi
Bài 2: Để quản lí kết quả thi tuyển sinh vào một trường Đại học mỗi thí sinh cần lưu
trữ các thông tin sau: Số báo danh, họ tên, điểm thi các môn toán, lý, hoá.Viết chương trình
thực hiện công việc sau:
+ Nhập vào danh sách thí sinh tham gia dự thi và kết quả.
+ Hiển thị danh sách thí sinh kèm theo điểm các môn lên màn hình và tổng điểm.
+ Hiển thị danh sách thí sinh trúng tuyển kèm theo điểm các môn và tổng điểm(thí
sinh trúng tuyển là thí sinh có tổng điểm từ 18 trở lên và không có môn nào dưới 2 điểm).
- Tìm hiểu bài kiểu dữ tệp.
4