1. Trang chủ
  2. » Giáo án - Bài giảng

bài 13 kiểu bản ghi

7 243 0

Đang tải... (xem toàn văn)

THÔNG TIN TÀI LIỆU

Sở Giáo Dục và Đào Tạo Kiên Giang Trường THPT Nguyễn Trung Trực Môn Tin Học Khối 11 Họ và tên SVTT: Huỳnh Phụng Hoàng MSSV: K32 103 241 Họ và tên GVHD: Trần Văn Kỹ Giáo Án Tuần 25 Tiết PPCT: 30 Ngày soạn: 17/02/2011 Ngày dạy: Bài 13 KIỂU BẢN GHI I . Mục đích yêu cầu:  Kiến thức : - Biết được khái niệm về kiểu bản ghi. - Phân biệt được kiểu bản ghi với kiểu mảng một chiều.  Kĩ năng : - Khai báo được kiểu bản ghi, 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 tập đơn giản.  Thái độ : - Học sinh học tập nghiêm túc. II. Phương pháp, phương tiện dạy học:  Phương pháp: đặt vấn đề, thuyết trình, vấn đáp.  Phương tiện: Máy tính, viết, bảng. III. Chuẩn bị:  Giáo viên: giáo án, sách giáo khoa, slide.  Học sinh: sách giáo khoa, tập ghi chép. IV. Tiến trình trên lớp: 1. Ổn định lớp: - giữ trật tự, kiểm tra sỉ số. 2. Kiểm tra bài cũ: - Câu 1: Hãy nêu cú pháp và ý nghĩa của hàm Length, cho ví dụ. - Câu 2: Hãy cho biết kết quả đoạn chương trình sau: Var A, B,C: String[30]; i: byte; Begin A:= ‘ chung’; B:= ‘Lop minh rat vui’; Insert (A,B,4); C:=Copy(B,1,3); i:=Length(C); Writeln(B); Writeln(C); Writeln(i); Readln; End. 1 3. Nội dung bài mới: Hoạt động thầy và trò Nội dung Ghi chú Xét ví dụ sau : Viết chương trình dùng để quản lí các thí sinh của một kỳ thi tuyển sinh . Chương trình của chúng ta cần quản lí được : + SBD của thí sinh, + Họ tên thí sinh, + Giới tính, + Điểm của các môn … GV : Đưa ra một số câu hỏi sau : - Làm thế nào để quản lý toàn bộ thông tin trên của học sinh ? - Mỗi thông tin trên có kiểu dữ liệu là gì ? HS : Có thể quản lý mỗi dữ kiện trên là một mảng một chiều Ngôn ngữ lập trình bậc cao có cách tốt hơn để quản lý dữ liệu trên -> Bản ghi . GV lấy một bảng điểm của học sinh rồi chỉ rõ : Mỗi hàng ta gọi là một bản ghi, mỗi cột là một trường . Bài 13 KIỂU BẢN GHI Một số khái niệm - Kiểu bản ghi đượ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ó các kiểu dữ liệu khác nhau . - Bản ghi 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í . - 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 . 2 GV : Mỗi ngôn ngữ có một cách khai báo kiểu bản ghi khác nhau . Ngôn ngữ Pascal không cho bạn khai báo biến bản ghi trực tiếp mà phải khai báo biến bản ghi thông qua khai báo kiểu bản ghi . Trước hết phải khai báo kiểu bản ghi sau đó biến bản ghi được khai báo thông qua kiểu bản ghi này . Cách khai báo và sử dụng kiểu bản ghi trong ngôn ngữ Pascal 1. Khai báo Để 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 . Cách khai báo kiểu : 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 ; 3 GV : Làm thế nào để có thể khai báo được nhiều biến bản ghi có cùng một kiểu ? HS : GV sẽ gợi ý để học sinh đưa ra đó là sử dụng kiểu mảng trong đó phần tử mảng sẽ có kiểu bản ghi . Ví dụ về khai báo bản ghi . Khai báo một kiểu bản ghi để xử lý bảng kết quả thi của các học sinh . Mỗi bản ghi sẽ bao gồm : Họ và tên của học sinh (Hoten), ngày tháng năm sinh(Ngaysinh), Giới tính (NamNu), và điểm thi các môn của mỗi học sinh (Toan, Ly, Hoa, Van, Su, Dia,Tin) . Hãy xác định kiểu dữ liệu cho các trường trên (Mỗi nội dung trên là một trường của bản ghi) GV : Khi có nhu cầu thay đổi thông tin trong từng trường, làm thế nào để truy cập thông tin vào từng trường của bản ghi ? Mỗi ngôn ngữ có một cách truy cập khác nhau nhưng thường được viết là : <Tên biến bản ghi>.<tên trường> GV: Đưa ra một số ví dụ . 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> ; Ví dụ về khai báo bản ghi: Type Hocsinh = Record Hoten : String[30] ; Ngaysinh : String[10] ; NamNu :Boolean ; Toan,Ly, Hoa, Van, Su, Dia : Real ; End ; Var A, B : Hocsinh ; Lop : Array[1 100] Of Hocsinh ; Để 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 B.Ngaysinh Lop[i].Toan Lop[i].Ly ……… với i là chỉ số nào đó của mảng Lop 4 GV: Vì bản ghi có nhiều trường nên việc 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 cho từng trường . Ví dụ : Chương trình sau được viết trong ngôn ngữ Pascal dùng kiểu bản ghi để xử lý bảng kết quả thi bao gồm 2 môn Toán, Văn của học sinh , Sau khi nhập xong danh sách sẽ đưa ra bảng kết quả học tập và xếp loại (xem kỹ đầu bài trong SGK) . 2. Gán giá trị Có 2 cách để gán giá trị cho bản ghi . - Dùng lệnh gán trực tiếp : Nếu A, 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 ; - 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 từ bàn phím . A.Hoten := ‘Nguyen Van Tuan’ ; Readln(a.Ngaysinh); Chương trình xử lý bảng kết quả thi. VD: Một lớp gồm N(N<60) học sinh. Cần quản lí học sinh với các thuộc tính như họ tên, ngày sinh, địa chỉ, điểm toán, điểm văn, xếp loại. Giả sủ việc xếp loại được xác định như sau: - Nếu tổng điểm toán và văn lớn hơn hoặc bằng 18 thì xếp loại A. - Nếu tổng điểm toán và văn lớn hơn hoặc bằng 14 và nhỏ hơn 18 thì xếp loại B. - Nếu tổng điểm toán và văn lớn hơn hoặc bằng 10 và nhỏ hơn 14 thì xếp loại C. - Nếu tổng điểm toán và văn nhỏ hơn 10 thì xếp loại D. {* Kieu ban ghi xu ly bang ket qua thi 2 mon : Toan, Van *} Program Xeploai ; uses crt ; 5 Type Hocsinh = Record Ten : String[30] ; Ngaysinh : String[10] ; Diachi : String[50] ; toan, van : real ; Xeploai : Char ; End ; Var Lop : array[1 60] of Hocsinh ; i, n : Byte ; Tg : Real ; Begin Clrscr ; Write(' Cho biet so hoc sinh : ') ; Readln(n) ; For i := 1 to n do Begin Writeln(' Vao thong tin cho hoc sinh thu ',i,' : ') ; Write (' Ho ten : ') ; readln(Lop[i].ten) ; 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) ; Tg := Lop[i].toan + Lop[i].van ; if Tg >= 18 then Lop[i].Xeploai := 'A' Else if Tg >= 14 then Lop[i].Xeploai := 'B' Else if Tg >= 10 then Lop[i].Xeploai := 'C' Else Lop[i].Xeploai := 'D' End ; Readln ; For i := 1 to n do Writeln(i : 4, Lop[i].ten : 30 , ' Loai : ', Lop[i].Xeploai); 6 Readln ; End. 4. Cũng cố: - Bài học hôm nay chúng ta cần nắm: Kiểu Bản Ghi là gì? Cách khai báo kiểu bản ghi? Cách tham chiếu đến từng trường trong biến có kiểu bản ghi? 5. Dặn dò: - Các em về học bài, làm bài trong sách bài tập. V. Rút kinh nghiệm tiết dạy: Phê duyệt của giáo viên hướng dẩn ngày 17 tháng 02 năm 2011 Trần Văn Kỹ Huỳnh Phụng Hoàng 7 . dạy: Bài 13 KIỂU BẢN GHI I . Mục đích yêu cầu:  Kiến thức : - Biết được khái niệm về kiểu bản ghi. - Phân biệt được kiểu bản ghi với kiểu mảng một chiều.  Kĩ năng : - Khai báo được kiểu bản ghi, . khai báo kiểu bản ghi khác nhau . Ngôn ngữ Pascal không cho bạn khai báo biến bản ghi trực tiếp mà phải khai báo biến bản ghi thông qua khai báo kiểu bản ghi . Trước hết phải khai báo kiểu bản ghi sau. biến bản ghi được khai báo thông qua kiểu bản ghi này . Cách khai báo và sử dụng kiểu bản ghi trong ngôn ngữ Pascal 1. Khai báo Để khai báo biến bản ghi, thường khai báo một kiểu bản ghi sau

Ngày đăng: 29/05/2015, 22:00

Xem thêm: bài 13 kiểu bản ghi

TỪ KHÓA LIÊN QUAN

w