Tuần : Tiết : 33 Ngày soạn: Ngày giảng: Bài 13: Kiểu bản ghi I. mục tiêu của bài: 1. Kiến thức: - Biết khái niệm kiểu bản ghi. 2. Kĩ năng: - Biết cách khai báo bản ghi, truy cập trờng của bản ghi. 3. Thái độ: II. Chuẩn bị của Giáo viên và học sinh: 1. Giáo viên: SGK, giáo án, STK ( máy chiếu nếu có). 2. Học sinh: SGK, chuẩn bị trớc bài ở nhà. III. Phơng pháp giảng dạy - Thuyết trình, vấn đáp IV. Tiến trình bàihọc và các hoạt động: 1. ổn định tổ chức: 1 2. Kiểm tra bài cũ: Em hãy điền vào chỗ trống ( .) trong bảng sau: Giá trị của st Thao tác Kết quả abcdef Delete(st, , .); abef Xuan tren cao nguyen Insert( ,st, ); Xuan da ve tren cao nguyen Tong so 123 em Pos(123,st) . 3. Bài mới: *Hoạt động 1: Trình bày khái niệm kiểu bản ghi trong ngôn ngữ lập trình. Hoạt động của GV và HS Nội dung - GV: Đặt vấn đề: * Xét ví dụ sau: + Viết chơng trình dùng để quản lí các thi sinh của một kì thi. + Chơng trình cần quản lí đợc: + SBD của thí sinh. + Họ tên thhí sinh. + Giới tính. + Điểm các môn. Vậy làm thế nào để quản lí toàn bộ thông tin trên? Mỗi thông tin trên có kiểu dữ liệu là gì? - HS: Suy nghĩ và trả lời. * Một số khái niệm: - Kiểu bản ghi 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ó các kiểu dữ liệu khác nhau. - Bản ghi thờng đợc gọi lad Record, mỗi Record sẽ lu trữ dữ liệu về một đối tợng cần quản lí. - Mỗi thuộc tính của đối tợng tơng ứng với một trờng của bản ghi. Các trờng khác nhau có thể có dữ liệu khác nhau. - Các ngôn ngữ lập trình thờng cho cách để xác định: - GV: Với những kiểu dữ liệu đã học có thể quản lí đợc thông tin trên không? - HS: Suy nghĩ và trả lời. - GV: Nhận xét và đa ra kiểu bản ghi. - GV: Lấy một bảng điểm của HS rồi ghi rõ: Mỗi hàng ta coi là một bản ghi, mỗi cột là một trờng. - HS: Chú ý nghe giảng và ghi bài. + Tên kiểu bản ghi. + Tên các trờng. + Kiểu dữ liệu của trờng. + Cách khai báo biến. + Cách tham chiếu đến trờng. Cách khai bào và sử dụng kiểu bản ghi trong ngồn ngữ Pascal. *Hoạt động 2: Giới thiệu cho HS biết cách khai báo kiểu bản ghi trong ngôn ngữ lập trình Pascal. Hoạt động của GV và HS Nội dung - GV: Đặt vấn đề: Để khai báo biến bản ghi, thờng khai báo một kiểu bản ghi sau đó khai báo biến bản ghi thông qua kiểu bản ghi. - GV: Sau từ khoá Type là khai báo kiểu dữ liệu cho các trờng (field). - GV: Làm thế nào để khai báo đợc nhiều biến bản ghi có cùng kiểu dữ liệu? - GV: Gọi ý. - HS: Suy nghĩ và trả lời. - GV: Nhận xét và trình bày cách khai báo biến bản ghi. - GV: Lấy ví dụ về quản lí HS của một lớp gồm: Họ tên, ngày tháng năm sinh, giới tính, điểm các môn (Văn, Toán, Lí, Hoá, Sinh, Ngoại ngữ, Tin). - GV: Em hãy xác định kiểu dữ liệu cho mỗi trờng. (mỗi nội dung trên là một trờng của bản ghi). - HS: Phát biểu ý kiến. - GV: Nhận xét và đa ra cách truy cập đến từng trờng của bản ghi. - HS: Chú ý nghe giảng và ghi bài. 1. Khai báo. - Cách khai báo kiểu bản ghi: Type <tên kiểu bản ghi>=Record <Tên trờng 1>:<Kiểu trờng 1>; . <Tên trờng n>:<Kiểu trờng n>; End; * Cách khai báo biến: Var <Tên biến>:<Tên kiểu bản ghi>; Var <Tên mảng>:Array[1 n] of <tên kiểu bản ghi>; - Để truy cập vào từng trờng của bản ghi, ta viết: <Tên biến bản ghi>.<tên trờng> * Ví dụ: A.hoten A.Ngaysinh Lop[i].toan. Với i là chỉ số nào đó của mảng Lop. *Hoạt động 3: Giới thiệu cho HS biết cách khai Gán giá trị cho các biến bản ghi và một ví dụ về bản ghi quản lí HS trong ngôn ngữ lập trình Pascal. Hoạt động của GV và HS Nội dung - GV: Vì bản ghi có nhiều trờng nên việc 2. Gán giá trị. gán giá trị cho bản ghi phức tạp hơn các biến khác. Khi nhập thông tin vào từ bản phím, ta thờng phải nhập thông tin cho từng trờng. - GV: Đa ra hai cách để gán giá trị cho bản ghi. - HS: Chú ý nghe giảng và ghi bài. - Có 2 cách để gán giá trị cho bản ghi: + Cách 1: Dùng lệnh gán trực tiếp: Nếu A và B là hai bản ghi cùng kiểu ta có thể gán giá trị của A cho B bằng câu lệnh gán: VD: B:=A; hoặc A:=B; + Cách 2: Gán giá trị cho từng trờng: Dùng câu lệnh gán gán giá trị cho các tr- ờng hoặc nhập vào từ bàn phím. * VD: A.Hoten:= Nguyen Van A; Readln(a.Ngaysinh); - Chơng trình quản lí bảng kết quả thi: - GV: Lấy ví dụ về quản lí học sinh (Dùng bảng phụ để trình bày). - GV: Phân tích chơng trình để HS hiểu rõ u điểm của sử dụng bản ghi trong quản lí. - HS: Chú ý nghe giảng và ghi bài. Program vd1; Uses crt; Type { Khai bao} Hocsinh = record SBD: integer; Hoten: string[30]; Toan,Van,Tong:real; Ketqua: string[10]; end; Var Lop:Array[1 100] of Hocsinh; i,n: integer; BEGIN Clrscr; { nhap so hoc sinh } Write( Nhap vao so hoc sinh trong lop:); readln(n); { nhap du lieu tung ban ghi} For i:=1 to n do Begin writeln( Nhap so lieu hoc sinh thu ,i); Write( SBD: ); readln(Lop[i].SBD); Write(Ho ten :); readln(Lop[i].Hoten); Write(Diemtoan:); readln(Lop[i].Toan); Write(Diem van :);readln(Lop[i].Van); end; { tinh tong cho tung ban ghi } For i:=1 to n do Lop[i].Tong:= Lop[i].Toan+ Lop[i].Van; { dien ket qua cho tung ban ghi } For i:=1 to n do if Lop[i].Tong>=10 then Lop[i].Ketqua:=Dat else Lop[i].Ketqua:=Khong dat; { In bang du lieu } Writeln( Bang ket qua kiem tra ); For i:=1 to n do Writeln(Lop[i] sbd:5, Lop[i] Hoten:30, Lop[i].toan:5:1, Lop[i].Van:5:1, Lop[i].tong:8:1,Lop[i].Ketqua:15); Readln; END. V. củng cố dặn dò. - Nhắc lại một số khái niệm mới. - Nhắc lại cấu trúc lệnh về khai báo, truy cập đến các thành phần của bản ghi. - Ra bài tập về nhà. . Ngày soạn: Ngày giảng: Bài 13: Kiểu bản ghi I. mục tiêu của bài: 1. Kiến thức: - Biết khái niệm kiểu bản ghi. 2. Kĩ năng:. II. Chuẩn bị của Giáo viên và học sinh: 1. Giáo viên: SGK, giáo án, STK ( máy chiếu nếu có). 2. Học sinh: SGK, chuẩn bị trớc bài ở nhà. III. Phơng pháp giảng