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; Hoạt động 2: Khai báo Gv : Mỗi ngôn[r]
(1)BÀI 13 KIỂU BẢN GHI (1 tiết) Ngày soạn: Ngày giảng: Người soạn: Lê Thị Hương Gv hướng dẫn: Nguyễn Văn Trường I MỤC ĐÍCH, YÊU CẦU Kiến thức Biết khái niệm kiểu ghi Biết cách khai báo ghi, truy cập trường ghi Phân biệt giống và khác kiểu ghi với kiểu mảng chiều Kĩ Bước đầu biết mô tả đối tượng số thuộc tính cần quản lý Khai báo kiểu ghi Nhận biết trường (thuộc tính) biến ghi và bước đầu viết vài thao tác xử lý trên trường ghi Về thái độ Rèn luyện thái độ học tập nghiêm túc, suy luận khoa học và sáng tạo II PHƯƠNG PHÁP, PHƯƠNG TIỆN DẠY HỌC Phương pháp: Thuyết trình, giảng giải, đàm thoại, trực quan, gợi mở vấn đề… Phương tiện: Giáo án, SGK, SGV, phương tiện khác phục vụ cho bài học III NỘI DUNG CHƯƠNG TRÌNH Ổn định tổ chức lớp Lớp: Vắng: Sĩ số: Có phép: Lop11.com Không phép: (2) 2.Kiểm tra bài cũ Câu hỏi: Chương trình quản lý các thí sinh kỳ thi tuyển sinh cần quản lý các thông tin sau: số báo danh thí sinh, họ tên thí sinh, ngày sinh, giới tính, điểm môn: Tin, Toán, Lý, Hoá, văn, Sử, Địa Hãy khai báo kiểu liệu hợp lý với các thông tin cần quản lý trên ?(9đ) Đáp án: Var SBD: string[10]; Hoten: string[30]; GioiTinh: string[10]; NgaySinh: string[10]; Tin, Toan, Ly, Hoa, van, Su, Dia: Real; Bảng phân phối thời gian STT Nội dung Ổn định tổ chức lớp Kiểm tra bài cũ Đặt vấn đề Giới thiệu ghi Khai báo Gán giá trị Củng cố, dặn dò Thời gian 1’ 5’ 1’ 10’ 15’ 12’ 1’ Đặt vấn đề GV: Với chương trình quản lí các thí sinh kỳ thi tuyển sinh trên Em nào có thể cho cô biết là làm nào để quản lí toàn thông tin trên thí sinh? Mỗi thông tin trên có kiểu liệu gì? HS trả lời: Có thể quản lí liệu trên là mảng chiều GV: Tuy nhiên ngôn ngữ lập trình bậc cao có cách tốt để quản lí liệu trên Vậy thì nó quản lí nào? Tổ chức sao? Để trả lời cho câu hỏi đó chúng ta vào tìm hiểu bài hôm Lop11.com (3) BÀI 13: KIỂU BẢN GHI HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH Hoạt động 1: Giới thiệu ghi Gv : Yêu cầu học sinh quan sát bảng kết - HS chú ý quan sát thi trang 74 Gv : Trên bảng đó có thông tin gì ? - HS trả lời : Các thông tin trên bảng là : Họ tên, ngày sinh, giới tính, điểm môn thi Tin, Toán, Lí, Hoá, Văn, Sử, Địa Gv : Yêu cầu : Học sinh tìm thêm ví dụ tương tự - HS : Để mô tả người danh bạ điện thoại cần có các thông tin : Họ tên, địa và số điện thoại GV rõ : Mỗi hàng ta gọi là - HS : Lắng nghe ghi, cột là trường Gv : Kiểu ghi(record) dùng để mô - HS : Lắng nghe, ghi bài tả các đối tượng có cùng số thuộc tính mà các thuộc tính có thể có các kiểu liệu khác - Mỗi đối tượng mô tả ghi Mỗi thuộc tính đối tượng tương ứng với trường ghi Các trường khác có thể có liệu khác - HS : Lắng nghe, ghi bài Các ngôn ngữ lập trình thường cho các Lop11.com (4) cách để xác định : Tên kiểu ghi; Tên các thuộc tính (trường); Kiểu liệu trường; Cách khai báo biến; Cách tham chiếu đến trường; Hoạt động 2: Khai báo Gv : Mỗi ngôn ngữ có cách khai báo - HS : Lắng nghe kiểu ghi khác Ngôn ngữ Pascal không cho bạn khai báo biến ghi trực tiếp mà phải khai báo biến ghi thông qua kiểu ghi Các thông tin cần khai báo bao gồm tên kiểu ghi, tên các thuộc tính, - HS : Lắng nghe, ghi bài kiểu liệu thuộc tính Do liệu kiểu ghi thường dùng để mô tả nhiều đối tượng nên ta thường định nghĩa kiểu ghi và sau đó dùng nó để khai báo các biến liên quan Kiểu ghi thường định nghĩa sau : type <tên kiểu ghi> = record <tên trường 1>: <kiểu trường 1>; - HS : Ghi bài <tên trường k>: <kiểu trường k>; end; Lop11.com (5) Khai báo biến kiểu ghi : var <tên biến ghi>: <tên kiểu ghi>; Chú ý: Phần mô tả kiểu ghi khoá record và kết thúc từ khoá end Giữa hai từ khoá đó là phần khai báo các trường gồm tên trường, dấu hai - HS : Ghi bài chấm, đến kiểu liệu trường đó và kết thúc dấu chấm phẩy Gv : Yêu cầu học sinh tìm ví dụ để minh hoạ? (Nếu học sinh không lấy ví dụ thì - HS: Lấy ví dụ cách khai báo kiểu ghi, biến ghi giáo viên phải lấy) GV nhận xét Làm nào để khai báo nhiều ghi có cùng kiểu? (GV gợi ý) - HS trả lời: Sử dụng kiểu mảng đó phần tử mảng có kiểu GV nhận xét ghi Ví dụ Để xử lý bảng kết thi nêu trên ta có thể khai báo Lop là biến mảng chiều, phần tử mảng là ghi HocSinh gồm các thông tin: HoTen, NgaySinh, GioiTinh và điểm môn thi : Tin, Toan, Li, Hoa, Van, Su, Dia Hãy xác định kiểu liệu cho các Lop11.com (6) trường trên (Mỗi nội dung trên là - HS : Xác định kiểu liệu (hình trường ghi) 14-tr 75) GV nhận xét Gọi học sinh lên bảng khai báo ghi ví dụ trên? ( GV có thể tự - HS: viết) const Max=60; type HocSinh = record HoTen : string[30]; NgaySinh : string[10]; GioiTinh : boolean; Tin, Toan, Li, Hoa, Van, Su, Dia : Real; end; var A, B: HocSinh; Lop: array[1 Max] of HocSinh; GV nhận xét - HS : Quan sát, lắng nghe Gv : Em nào hãy cho cô biết tên kiểu liệu biến A, hai biến A và B có cùng - HS trả lời : Lop11.com (7) Biến A là biến kiểu ghi kiểu không? A, B cùng kiểu Phần tử Lop[1] và phần tử Lop[5] mảng Lop thuộc kiểu gì? Lop[1] và A - HS trả lời : có cùng kiểu không? Thuộc kiểu ghi Lop[1] GV nhận xét và A có cùng kiểu Yêu cầu HS phân biệt khác và giống ghi và mảng - HS trả lời: chiều? Giống nhau: Được ghép nhiều phần tử Khác nhau: Mảng chiều là ghép nhiều phần tử có cùng liệu Trong ghi là ghép nhiểu phần tử có kiểu Gv : Khi có nhu cầu thay đổi thông tin liệu có thể khác trường, làm nào để truy cập vào trường ghi? Mỗi ngôn ngữ có cách truy cập khác thường viết là: <tên biến ghi>.<tên trường> - HS : Ghi bài Ví dụ A.HoTen B.NgaySinh Lop[i].Van Lop11.com (8) với i là số nào đó mảng Lop Lop[15].HoTen là để thông tin gì? GV nhận xét - HS trả lời : Chỉ họ tên học Hoạt động 3: Gán giá trị sinh thứ 15 lớp Gv : Vì ghi có nhiều trường nên việc gán giá trị cho ghi phức tạp 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 cho trường Có cách gán giá trị cho biến ghi : Dùng lệnh gán trực tiếp: Nếu A và B là hai biến ghi cùng - HS : Lắng nghe, ghi bài kiểu, thì ta có thể gán giá trị B cho A câu lệnh: A:= B; Gán giá trị cho trường: Có thể thực lệnh gán nhập từ bàn phím VD: A.HoTen:=’Tran Phuong Thao’; Readln(A.NgaySinh); Đọc đề bài ví dụ SGK GV làm cho HS hiểu rõ yêu cầu bài toán trước đưa chương trình - HS : Lắng nghe Nhấn mạnh: Đối với học sinh, thông tin thuộc tính xếp loại không nhập từ bàn phím mà cần chương trình tính toán dựa vào giá trị hai - HS : Lop11.com Quan sát, lắng nghe giải (9) thuộc tính khác theo quy tắc thích, phân tích GV đã biết GV đưa chương trình (nếu có máy chiếu thì chiếu chương trình lên, không thì cho học sinh quan sát chương trình SGK) và phải hướng dẫn học sinh tìm hiểu, giải thích và phân tích chương trình ví dụ theo giai đoạn: Câu lệnh for-do, bước lặp thứ i làm việc với ghi, đây là hồ sơ học sinh thứ i Các việc phải làm ghi chia làm hai giai đoạn: Trước tiên ta nhập từ bàn phím giá trị trường ghi này (có cặp lệnh write-readln), tiếp đến - HS : Quan sát, lắng nghe giải tính toán giá trị trường XepLoai dựa thích, phân tích GV trên giá trị hai trường Toan và Van theo bốn trường hợp đã quy định ( bốn câu lệnh if-then) Câu lệnh for-do cuối chương trình duyệt qua phần tử mảng để đưa màn hình thông tin họ tên và xếp loại học sinh Bốn điều kiện thực lệnh bốn câu lệnh if-then chương trình thể việc chia thực tế thành bốn Lop11.com (10) trường hợp phân biệt bước lặp có và câu lệnh sau then bốn if-then thực Có thể viết đoạn này theo kiểu if-then-else Nếu có thời gian, GV yêu cầu HS viết lại đoạn chương trình đó theo kiểu if-then-else Gv : Em nào hãy cho cô biết đặc điểm - HS : Viết lại đoạn chương trình giống và khác kiểu ghi với hai đó kiểu liệu có cấu trúc mảng và xâu? - HS trả lời: + Đặc điểm chung kiểu liệu có cấu trúc: Được tạo nên từ số kiểu sở, giá trị biến có nhiều thành phần + Khác với mảng và xâu, các kiểu thành phần kiểu ghi có thể thuộc các kiểu liệu sở GV nhận xét => Kết luận khác IV CỦNG CỐ, DẶN DÒ Củng cố Đối với bài hôm các em cần nắm cách khai báo kiểu ghi, cách truy nhập thông tin vào trường ghi và gán giá trị cho ghi Dặn dò Các em nhà làm các bài tập từ 4.47 đến 4.53 sách bài tập và các bài tập SGK trang 79 10 Lop11.com (11) NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… ……………………………………………………………………………………… …………………………………………………………………………………… 11 Lop11.com (12)