- Sử dụng được kiểu bản ghi để giải quyết một số bài toán đơn giản.. - 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
Trang 1Bà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
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
Trang 2- 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ường
1>;
<têntrường2>:<kiểutrường
2>;
<têntrườngk>:<kiểutrường
k>;
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
- 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;
Trang 3- 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
- Yêu cầu học sinh lấy ví dụ minh 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
- 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)
Trang 4Bà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