Giáo án môn Tin học khối 11 - Bài 13: Kiểu bản ghi

Giáo án môn Tin học khối 11 - Bài 13: Kiểu bản ghi

I. MỤC TIÊU

1. Kiến thức:

- Biết khía niệm bản ghi.

- Biết cách khai báo bản ghi. Truy cập trường của bản ghi.

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 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ản ghi để giải quyết một số bài tập đơn giản.

 

doc 8 trang Người đăng quocviet Lượt xem 2411Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án môn Tin học khối 11 - Bài 13: Kiểu bản ghi", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
Tiết: 33 
Ngày soạn
12/01/10
Bài 13. KIỂU BẢN GHI
Ngày giảng
..../01/10
MỤC TIÊU
Kiến thức:
Biết khía niệm bản ghi.
Biết cách khai báo bản ghi. Truy cập trường của bản ghi.
Kĩ nă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 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.
Tư duy:
Tạo ra sự logíc giữa các kiểu có cấu trúc.
Thái độ:
Nhiệt tình, chú ý, có sáng tạo. Rèn các đức tính: Cẩn thận, ham học hỏi, có tinh thần tự giác.
CHUẨN BỊ BÀI GIẢNG
Phương tiện:
GV: Giáo án, bài giảng điện tử, phòng máy.Nhấn mạnh rằng trong kiểu bản ghi có các trường.
HS: Sách giáo khoa, vở ghi. Xem trước bài học.
Phương pháp dạy học
Gợi mở vấn đáp 
Đàm thoại
Đặt vấn đề
TIẾN TRÌNH DẠY HỌC
Kiểm tra bài cũ:
Kết hợp trong giờ thực hành.
Nội dung bài giảng:
HOẠT ĐỘNG 1
 Giới thiệu về kiểu bản ghi. Tạo một kiểu bản ghi 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
	Để nhận biết một người ta dựa vào những thông tin gì?
- 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.
Dữ liệu kiểu bản ghi (Record) dùng để mô tả 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.
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ản ghi trong ngôn ngữ lập trình Pascal.
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 .
Các ngôn ngữ lập trình thường cho cách để xác định : 
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 .
- Yêu cầu: Tìm một ví dụ để minh hoạ.
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 .
- Yêu cầu học sinh 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
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.
- 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ản ghi 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ản ghi là ghép nhiều phần tử có kiểu dữ liệu có thể khác nhau.
HOẠT ĐỘNG 2
 Noi dung o day
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
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 kiểu : 
Type =Record
 : ;
 : ;
End ; 
Cách khai báo biến :
Var : ;
Var : Array[1..n] Of ;
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 : 
 . 
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 ?
Học sinh ghi
Cách khai báo kiểu : 
Type =Record
 : ;
 : ;
End ; 
Cách khai báo biến :
Var : ;
Var : Array[1..n] Of ;
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 : 
 . 
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 .
HOẠT ĐỘNG 1
 Noi dung o day
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
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à : 
 .
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) .
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
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.
HOẠT ĐỘNG 1
 Ví dụ sgk
HOẠT ĐỘNG CỦA GIÁO VIÊN
HOẠT ĐỘNG CỦA HỌC SINH
Ví dụ : (xem kỹ đầu bài trong SGK) .
(* Kieu ban ghi xu ly bang ket qua thi 2 mon : Toan, Van *)
Program Xeploai ;
uses crt ;
Type Hocsinh = Record
 Ten : String[30] ;
 Ngaysinh : String[10] ;
 Diachi : String[50] ;
 toan, van : real ;
 Xeploai : Char ;
End ;
Var
 Lop : array[1..100] 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);
 Readln ;
End.
Chương trình trên cho ta kết quả gì? 
J
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
Củng cố:
Nhắc lại một số khái niệm mới .
Nhắc lại cấu trúc câu lệnh về việc 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à .
Dặn dò:
Về nhà học bài và xem tiếp bài tập , ôn tập kiểu dữ liệu có cấu trúc, xem các bài tập sgk và sách bài tập, chuẩn bi cho 2 tiét bài tập và kiểm tra 1 tiết sau khi chúng ta kết thúc 2 tiết bài tập. Các em nghỉ.
NHẬN XÉT
Phương pháp:
Hiệu quả sử dụng:
Hiệu quả SD TBDH:
ND cần điểu chỉnh:
Nhận xét của giáo viên hướng dẫn:

Tài liệu đính kèm:

  • docTiet 33.doc