KIỂU BẢNGHI I. MỤC TIÊ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ảnghi với kiểu mảng một chiều. 2. Kĩ năng - Khai báo được kiểu bản ghi, khai báo được biến kiểu bảnghi trong ngôn ngữ lập trình 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 kiểu bảnghi để giải quyết một số bài tập đơn giản. II. ĐỒ DÙNG DẠY HỌC 1. Chuẩn bị của giáo viên - Máy vi tính, máy chiếu projector để giới thiệu ví dụ. 2. Chuẩn bị của học sinh - Sách giáo khoa. III. HOẠT ĐỘNG DẠY-HỌC 1. Hoạt động 1: Giới thiệu về kiểu bản ghi. Tạo một kiểu bảnghi trong ngôn ngữ lập trình Pascal. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Tìm hiểu về kiểu bản ghi. - Chiếu bảng kết quả thi tốt nghiệp, sách giáo khoa trang 74. - Hỏi: Trên bảng có những thông tin gì? - Hỏi: 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 một ví dụ tương tự. - Diễn giải: Mỗi thông tin của đối được gọi là một thuộc tính hay một trường. Mỗi đối tượng được mô tả bằng nhiều thông tin trên một hàng được gọi là một bản ghi. - 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 kiểu bản ghi. Mỗi đối tượng được mô tả bằng một bản ghi. 2. Yêu cầu học sinh nghiên cứu sách giáo khoa và cho biết cách khai báo kiểu bản ghi, khai báo biến kiểu bảnghi trong ngôn ngữ lập trình Pascal. 1. Quan sát ví dụ của giáo viên và trả lời các câu hỏi. - Họ tên, ngày sinh, giới tính, điểm của các môn thi, - Bảng chứa thông tin của 3 đối tượng. - Để mô tả một người trong danh bạ điện thoại cần có các thông tin: Họ tên, địa chỉ và số điện thoại. 2. Tham khảo sách giáo khoa để nắm được cấu trúc chung của khai báo kiểu bản ghi, khai báo biến bản ghi. - Yêu cầu: Tìm một ví dụ để minh hoạ. - Để giải quyết bài toán trong mục 1 ta phải khai báo một mảng các bản ghi. Hãy tạo kiểu mảng đó. - Yêu cầu học sinh phân biệt sự giống và khác nhau giữa kiểu bảnghi và kiểu mảng một chiều - Ví dụ: Type kieu_nguoi=record hoten:string; diachi:string; sdt:longint; end; Var nguoi:kieu_nguoi; - Độc lập suy nghĩ để tạo kiểu bảnghi và mảng các bản ghi. Type kieu_hs=record Hoten, ngaysinh:String; Toan, van:byte; dtb:real; End; Kieu_mbg=array[1 50] of kieu_hs; - Giống nhau: được ghép bởi nhiều phần tử. - Khác nhau: Mảng một chiều là ghép nhiều phần tử có cùng kiểu dữ liệu. Trong khi bảnghi là ghép nhiều phần tử có kiểu dữ liệu có thể khác nhau. 2. Hoạt động 2: Tìm hiểu về cách sử dụng kiểu bảnghi trong ngôn ngữ Pascal. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Giới thiệu cấu trúc chung để tham chiếu đến từng trường của biến bản ghi. Tên_biến_bg.Tên_trường - Yêu cầu: Tìm ví dụ về tham chiếu đến từng trường của biến bảnghi đã được khai báo ở trên. 2. Giới thiệu 2 cách gán giá trị cho biến bản ghi. + Gán nguyên cả biến bảnghi (1) + Gán lần lượt từng trường (2) - Yêu cầu: Lấy ví dụ minh hoạ cho từng trường hợp. - Hỏi: Trường hợp (1) thực hiện được trong điều kiện nào? 3. Nhập/xuất giá trị cho biến bản ghi. - Diễn giải: Ta phải viết lệnh nhập hoặc xuất giá trị cho từng trường. - Yêu cầu học sinh: Viết lệnh nhập giá trị 1. Quan sát cấu trúc chung của tham chiếu đến từng trường của biến bản ghi. - Ví dụ: nguoi.hoten nguoi.diachi nguoi.sdt; 2. Quan sát hai cách gán giá trị cho biến bảnghi để tìm ví dụ cụ thể. A := B; A.ht := B.ht; A.dtb := B.dtb; . - Hai biến A, B phải được khai báo cùng một kiểu bản ghi. 3. Chú ý theo dõi dẫn dắt của giáo viên để tìm được ví dụ. - Readln(nguoi.hoten); - Readln(nguoi.diachi); cho ba trường của biến bảnghi nguoi đã được khai báo. - Yêu cầu học sinh: Viết lệnh in giá trị trường hoten của biến bảnghi nguoi. - Readln(nguoi.sdt); - Writeln(nguoi.hoten); 3. Hoạt động 3: Rèn luyện kĩ năng lập trình. HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH 1. Chiếu nội dung đề bài lên bảng. - Hỏi: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán? - Yêu cầu học sinh: Mô tả thông tin về một học sinh bằng kiểu bản ghi. Tạo mảng các bảnghi đó. - Nêu các bước để giải quyết bài toán này. 2. Chia lớp thành ba nhóm. Yêu cầu viết chương trình lên bìa trong. - Thu phiếu học tập. Chiếu kết quả lên bảng. Gọi học sinh nhóm khác nhận xét và đánh giá. 3. Chiếu chương trình mẫu để chính xác hóa lại cho học sinh. 1. Quan sát đề, chú ý phân tích để trả lời câu hỏi. - Một mảng các bản ghi. Type Kieu_hs=record hoten:string; toan,van,tong:byte; xeploai:char; end; Kieu_mhs=array[1 45] of kieu_hs; + Bước 1: Tạo kiểu dữ liệu, khai báo biến. + Bước 2: Nhập dữ liệu cho mảng các bản ghi. + Tính tổng điểm toán và điểm văn. + Dựa vào tổng điểm để xếp loại. 2. Thảo luận theo nhóm để hoàn thành chương trình. - Thông báo kết quả. - Nhận xét, đánh giá và bổ sung những sai sót của nhóm khác. 3. Quan sát và ghi nhớ. IV. ĐÁNH GIÁ CUỐI BÀI 1. Những nội dung đã học - Cách tạo kiểu bản ghi, khai báo biến kiểu bản ghi. - Tham chiếu đến từng trường của biến bản ghi. - Nhập/xuất giá trị cho biến bản ghi. 2. Câu hỏi và bài tập về nhà - Bài tập: Viết chương trình giải quyết bài toán quản lý sau: Nhập họ và tên, điểm toán (Toan), điểm lý (Ly) của 30 học sinh trong lớp. In ra màn hình họ tên, điểm trung bình (DTB) của 30 học sinh đó với DTB = (TOAN+LY)/2. - Xem nội dung phụ lục B, sách giáo khoa, trang 134: Câu lệnh With . KIỂU BẢN GHI I. MỤC TIÊ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 kiểu mảng. Khai báo được kiểu bản ghi, khai báo được biến kiểu bản ghi trong ngôn ngữ lập trình Pascal. - Nhập xuất được dữ liệu cho biến bản ghi. - Tham chiếu đến