I. MỤC TIÊU BÀI HỌC:
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 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ản ghi trong NNLT 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ản ghi để giải quyết một số bài toán đơn giản.
3. Thái độ:
II. CHUẨN BỊ:
1. Tài liệu, bài tập: SGK, SGV.
2. Dụng cụ, thiết bị:
III. TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 29)
1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2. Kiểm tra bài cũ: Không.
Ngày soạn: 16/02/2008 Bài: §13. KIỂU BẢN GHI I. MỤC TIÊU BÀI HỌC: 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 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ản ghi trong NNLT 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ản ghi để giải quyết một số bài toán đơn giản. 3. Thái độ: II. CHUẨN BỊ: 1. Tài liệu, bài tập: SGK, SGV. 2. Dụng cụ, thiết bị: III. TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 29) 1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số. 2. Kiểm tra bài cũ: Không. 3. Bài giảng: Hoạt động của Thầy và Trò Nội dung ghi bảng Hoạt động 1: -Nội dungHĐ: Tìm hiểu về Bản ghi, tạo một kiểu bản ghi trong NNLT Pascal. -Mục tiêu: HS biết được một kiểu dữ liệu có cấu trúc: Kiểu bản ghi. Biết được ý nghĩa của của kiểu bản ghi. Phân biệt được kiểu bản ghi với mảng một chiều. Tạo được kiểu bản ghi. -Các bước tiến hành: 1/ Tìm hiểu về kiểu bản ghi: GV: Yêu cầu HS xem bảng kết quả thi SGK tr.74 để trả lời câu hỏi. HS: Xem bảng kết quả thi trong SGK. GV: Trên bảng có những thông tin gì? HS: Họ và tên, ngày sinh, . . . GV: Bảng chứa thông tin của bao nhiêu đối tượng? HS: Thông tin của 3 đối tượng. GV Diễn giải: Để mô tả các đối tương như vậy, NNLT cho phép xác định kiểu bản ghi. Mỗi đối tượng được mô tả bằng một bản ghi. HS: Lắng nghe và ghi chép. GV: Yêu cầu HS tìm một VD tương tự. HS: Để 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ỉ, số điện thoại. GV: Mỗi NNLT có quy tắc xác định: tên kiểu bản ghi, tên các trường, kiểu dữ liệu của mỗi trường, cách khai báo biến và cách tham chiếu đến từng trường. HS: Nghe và ghi chép. 2/ Khai báo: GV: Yêu cầu HS đọc SGK và cho biết cách khai báo kiểu bản ghi, khai báo biến kiểu bản ghi. HS: Đọc SGK và trả lời câu hỏi. GV: Lấy VD minh họa. HS: Cho VD tương tự. GV Giải thích: A, B là hai biến có kiểu là bản ghi HocSinh, Lop là biến mảng một chiều, mỗi phần tử mảng là một bản ghi HocSinh. HS: Lắng nghe. GV: Hãy phân biệt sự giống và khác nhau giữa kiểu bản ghi và kiểu mảng một chiều? HS: Suy nghĩ trả lời. 1/ Tìm hiểu về kiểu bản ghi: Các thông tin của đối tượng (Thuộc tính – Trường) Họ và tên Ngày sinh Giới tính Điểm Tin Điểm . . . Điểm Địa Ng T Minh Huệ 12/12 Nữ 9 . . . 8 Dương Trúc Lâm 02/01 Nam 9 . . . 7 Đào Văn Bình 05/12 Nam 8 . . . 6 Một bản ghi (Một hàng) Các đối tượng (Có 3 đối tượng) -Để mô tả các đối tượng như vậy, NNLT cho phép xác định 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 (các trường khác nhau có thể có các kiểu dữ liệu khác nhau). -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. VD: Họ tên địa chỉ số đ. thoại Nguyễn Văn A KP1,Phước Dân, NP 864222 Trần Văn B KP7,Phước Dân, NP 864333 -Mỗi NNLT có quy tắc xác định: +Tên kiểu bản ghi, +Tên các 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 từng trường. 2/ Khai báo: -Khai báo kiểu bản ghi: Type = Record :; . . . . . . . . . . . . :; End; -Khai báo biến bản ghi: Var : ; VD: Type HocSinh = record HoTen : string[30]; NgaySinh : string[10]; GioiTinh: boolean; Tin, Toan, Ly, Hoa, Van, Su, Dia: real; End; Var A, B : HocSinh; Lop : Array[1..50] of HocSinh; *Sự giống và khác nhau giữa kiểu bản ghi và kiểu mảng một chiều: -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 đó Bnả ghi là ghép nhiều phần tử có kiểu dữ liệu có thể khác nhau. 4.Tổng kết nội dung, đánh giá cuối bài: Cách tạo bản ghi, khai báo biến kiểu bản ghi. 5.Dặn dò, kế hoạch học tập tiết sau: Xem trước phần: Tham chiếu đến từng trường, Gán giá trị cho biến bản ghi. IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM: Ngày soạn: 16/02/2008 Bài: §13. KIỂU BẢN GHI (tt) III. TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 30) 1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số. 2. Kiểm tra bài cũ: Hãy nêu cách khai báo kiểu bản ghi, khai báo biến và cho ví dụ? 3. Bài giảng: Hoạt động của Thầy và Trò Nội dung ghi bảng Hoạt động 2: -Nội dungHĐ: Tìm hiểu về cách sử dụng kiểu bản ghi trong NNLT Pascal -Mục tiêu: HS biết cách 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 và nhập/xuất giá trị cho bản ghi. -Các bước tiến hành: *Tham chiếu đến từng trường: GV giới thiệu cấu trúc chung để tham chiếu đến từng trường của biến bản ghi và cho ví dụ minh họa. HS: Lắng nghe và ghi chép. GV: Yêu cầu HS cho ví dụ tương tự. HS: Đưa ra ví dụ. 3/ Gán giá trị: GV giới thiệu 2 cách gán giá trị cho biến bản ghi. HS: Nghe và ghi chép. GV: Yêu cầu HS lấy ví dụ minh họa cho từng trường hợp. HS: Đưa ra ví dụ. GV cho VD: Type DanhBa = record HoTen : string[30]; DiaChi: string[50]; SoDienThoai: longint; End; Var C : DanhBa; B : HocSinh; {đã khai báo ở trên} Lệnh gán B:= C; đúng hay sai. Tại sao? HS: Đưa ra phương án trả lời. *Lệnh nhập/xuất giá trị cho từng trường: GV diễn giải: Trong lập trình ta phải viết lệnh nhập/xuất giá trị cho từng trường. GV: Yêu cầu HS viết lệnh nhập và lệnh xuất giá trị của 2 trường HoTen, NgaySinh của biến bản ghi A. HS: Lên bảng viết. HS khác nhận xét và sửa sai (nếu có). *Tham chiếu đến từng trường: Để tham chiếu đến một trường của biến bản ghi, ta viết: Tên_biến_bản_ghi.Tên_trường. VD: -Để tham chiếu đến điểm Tin học của một học sinh, ta viết: A.Tin -Để tham chiếu đến điểm Tin học của một học sinh thứ hai trong Lop, ta viết: Lop[2].Tin 3/ Gán giá trị: Có 2 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 thực hiện lệnh gán như sau: 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 VD: -Bằng lệnh gán: A.HoTen := ‘Duong Truc Lam’; A.NgaySinh := ‘2/1/1990’; A.GioiTinh:= True; A.Tin:= 9; . . . ; A.Dia := 7; -Nhập từ bàn phím: Readln(A.HoTen); Readln(A.NgaySinh); Readln(GioiTinh); Readln(A.Tin); . . .; Readln(A.Dia); *Lệnh nhập/xuất giá trị cho từng trường: -Nhập giá trị cho từng trường: readln(A.HoTen); readln(A.NgaySinh); . . . -Xuất giá trị của trường: writeln(A.HoTen); writeln(A.NgaySinh); . . . 4.Tổng kết nội dung, đánh giá cuối bài: -Cách 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 giá trị cho biến bản ghi. 5.Dặn dò, kế hoạch học tập tiết sau: -Về nhà học bài và xem trước phần ví dụ (SGK tr.76). IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM: Ngày soạn: 16/02/2008 Bài: §13. KIỂU BẢN GHI (tt) III. TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 31) 1. Ổ định, tổ chức lớp: CBL báo cáo sĩ số. 2. Kiểm tra bài cũ: Không. 3. Bài giảng: Hoạt động của Thầy và Trò Nội dung ghi bảng Hoạt động 3: -Nội dungHĐ: Rèn luyện kĩ năng lập trình. -Mục tiêu: HS sử dụng được bản ghi để giải một số bài toán đơn giản. -Các bước tiến hành: GV: Cho HS đọc nội dung ví dụ (SGK tr76) HS: Đọc nội dung ví dụ. GV: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán? HS: Một mảng các bản ghi GV Yêu cầu HS: 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ản ghi đó. HS: Type HocSinh = record HoTen : string[30]; NgaySinh : string[10]; DiaChi: string[50]; Toan, Van: real; XepLoai: char; End; Var Lop : Array[1..60] of HocSinh; GV hướng dẫn các bước để giải bài toán: -B1: Tạo kiểu bản ghi, khai báo biến; -B2: Nhập dữ liệu cho mảng các bản ghi; -B3: Tính tổng điểm toán và điểm văn; -B4: Dựa vào điểm tổng để xếp loại. HS: Chú ý theo dõi. GV hướng dẫn HS viết chương trình. HS: Thực hiện. program Xep_loai; const max = 60; type HocSinh = record HoTen : string[30]; NgaySinh : string[10]; DiaChi : string[50]; Toan, Van : real; XepLoai : char; end; var Lop : Array[1..max] of HocSinh; N, i: byte; Begin writeln('So luong hoc sinh trong lop N='); readln(N); for i:= 1 to N do begin writeln('Nhap so lieu ve HS thu ', i, ':'); write('Ho va ten:'); readln(Lop[i].HoTen); write('Ngay sinh:'); readln(Lop[i].NgaySinh); write('Dia chi:'); readln(Lop[i].DiaChi); write('Diem Toan:'); readln(Lop[i].Toan); write('Diem Van:'); readln(Lop[i].Van); if Lop[i].Toan + Lop[i].Van >= 18 then Lop[i].XepLoai := 'A'; if (Lop[i].Toan + Lop[i].Van >= 14) and (Lop[i].Toan + Lop[i].Van < 18) then Lop[i].XepLoai := 'B'; if (Lop[i].Toan + Lop[i].Van >= 10) and (Lop[i].Toan + Lop[i].Van < 14) then Lop[i].XepLoai := 'C'; if Lop[i].Toan + Lop[i].Van < 10 then Lop[i].XepLoai := 'D'; end; writeln('Danh sach xep loai HS trong lop:'); for i:= 1 to N do writeln(Lop[i].HoTen:30,'- xep loai:', Lop[i].XepLoai); End. 4.Tổng kết nội dung, đánh giá cuối bài: -Cách tạo bản ghi, khai báo biến kiểu bản ghi. -Cách 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 giá trị cho biến bản ghi. 5.Dặn dò, kế hoạch học tập tiết sau: Học bài và làm các bài tập SGK tr.79-80. IV. NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:
Tài liệu đính kèm: