Bài 13.Kiểu bảnghi Bài 13. KIỂUBẢNGHI 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ểubản ghi. - Phân biệt được sự giống và khác nhau giữa kiểubảnghi với mảng một chiều. 2. Kĩ năng: - Định nghĩa được kiểubản ghi, khai báo được biến kiểubảnghi 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ểubản ghi. - Sử dụng được kiểubảnghi để 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ểubả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ểubảnghi đượ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ảnghi - Bảnghi 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ểubả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ểubảnghi 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ểubản ghi: Var <tênbiến>:<tênkiểubảnghi> ; <tênmảng>:Array[1 N] OF <tên kiểubản ghi>; 3. Sử dụng kiểubảnghi 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ểubản ghi, biến kiểubảnghi 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ảnghi - 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ảnghi đã đượ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ểubản ghi, tạo mảng các bảnghi đó. - 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ểubả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ảnghi 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 . 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. . 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& gt;; 3. Sử dụng kiểu bản ghi trong Pascal.