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

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

I. MỤC ĐÍCH, YÊU CẦU

1. Kiến thức

 Biết được khái niệm về kiểu bản ghi.

 Biết cách khai báo bản ghi, truy cập trường của 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

 Bước đầu biết mô tả một đối tượng bằng một số thuộc tính cần quản lý.

 Khai báo được kiểu bản ghi.

 Nhận biết được trường (thuộc tính) của một biến bản ghi và bước đầu viết được một vài thao tác xử lý trên từng trường của bản ghi.

3. Về thái độ

 

doc 11 trang Người đăng quocviet Lượt xem 1834Lượt tải 0 Download
Bạn đang xem tài liệu "Giáo án Tin học 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
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
1. Kiến thức
Biết được khái niệm về kiểu bản ghi.
Biết cách khai báo bản ghi, truy cập trường của 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
Bước đầu biết mô tả một đối tượng bằng một số thuộc tính cần quản lý.
Khai báo được kiểu bản ghi.
Nhận biết được trường (thuộc tính) của một biến bản ghi và bước đầu viết được một vài thao tác xử lý trên từng trường của bản ghi.
3. 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
 1. Phương pháp: Thuyết trình, giảng giải, đàm thoại, trực quan, gợi mở vấn đề
 2. 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
 1. Ổn định tổ chức lớp 
 Lớp: Vắng:
 Sĩ số: Có phép: Không phép:
 2.Kiểm tra bài cũ 
 Câu hỏi: Chương trình quản lý các thí sinh của một kỳ thi tuyển sinh cần quản lý được các thông tin sau: số báo danh của thí sinh, họ tên thí sinh, ngày sinh, giới tính, điểm của 7 môn: Tin, Toán, Lý, Hoá, văn, Sử, Địa. Hãy khai báo kiểu dữ 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;
3. Bảng phân phối thời gian
STT
Nội dung
Thời gian
1
Ổn định tổ chức lớp
1’
2
Kiểm tra bài cũ
5’
3
Đặt vấn đề
1’
4
1. Giới thiệu về bản ghi
10’
5
2. Khai báo
15’
6
3. Gán giá trị
12’
7
Củng cố, dặn dò
1’
4. Đặt vấn đề.
 GV: Với chương trình quản lí các thí sinh của một kỳ thi tuyển sinh như trên. Em nào có thể cho cô biết là làm thế nào để quản lí được toàn bộ thông tin trên của thí sinh? Mỗi thông tin trên có kiểu dữ liệu gì?
HS trả lời: Có thể quản lí mỗi dữ liệu trên là một mảng một chiều
GV: Tuy nhiên trong 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. Vậy thì nó quản lí thế nào? Tổ chức ra sao? Để trả lời cho những câu hỏi đó chúng ta đi vào tìm hiểu bài hôm nay.
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 về bản ghi
Gv : Yêu cầu học sinh quan sát bảng kết quả thi trang 74.
Gv : Trên bảng đó có những thông tin gì ?
Gv : Yêu cầu : Học sinh tìm thêm ví dụ tương tự.
GV chỉ rõ : Mỗi hàng như vậy ta gọi là một bản ghi, mỗi cột là một trường.
Gv : Kiểu bản ghi(record) được 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.
- Mỗi đối tượng được mô tả bằng một bản ghi. 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ác 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;
- HS chú ý quan sát.
- 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 của 7 môn thi Tin, Toán, Lí, Hoá, Văn, Sử, Địa
- 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ỉ và số điện thoại.
- HS : Lắng nghe
- HS : Lắng nghe, ghi bài
- HS : Lắng nghe, ghi bài
Hoạt động 2: Khai báo
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 kiểu bản ghi.
Các thông tin cần khai báo bao gồm tên kiểu bản ghi, tên các thuộc tính, kiểu dữ liệu của mỗi thuộc tính.
Do dữ liệu kiểu bản ghi thường dùng để mô tả nhiều đối tượng nên ta thường định nghĩa một kiểu bản ghi và sau đó dùng nó để khai báo các biến liên quan.
Kiểu bản ghi thường được định nghĩa như sau :
 type = record
	: ;
	............................................
	: ;
 end;
Khai báo biến kiểu bản ghi :
 var 
 : ;
Chú ý: Phần mô tả kiểu bản ghi được bắt đầu bằng từ khoá record và kết thúc bằng 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 chấm, rồi đến kiểu dữ liệu của trường đó và kết thúc bằng dấu chấm phẩy.
Gv : Yêu cầu học sinh tìm một ví dụ để minh hoạ? (Nếu học sinh không lấy ví dụ được thì giáo viên phải lấy)
GV nhận xét
Làm thế nào để khai báo được nhiều bản ghi có cùng một kiểu? (GV gợi ý)
GV nhận xét
Ví dụ
Để xử lý bảng kết quả thi nêu trên ta có thể khai báo Lop là biến mảng một chiều, mỗi phần tử mảng là một bản ghi HocSinh gồm các thông tin: HoTen, NgaySinh, GioiTinh và điểm 7 môn thi : Tin, Toan, Li, Hoa, Van, Su, Dia.
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 nhận xét
Gọi 1 học sinh lên bảng khai báo bản ghi của ví dụ trên? ( GV cũng có thể tự viết)
GV nhận xét
Gv : Em nào hãy cho cô biết tên kiểu dữ liệu của biến A, hai biến A và B có cùng một kiểu không?
Phần tử Lop[1] và phần tử Lop[5] của mảng Lop thuộc kiểu gì? Lop[1] và A có cùng kiểu không?
GV nhận xét
Yêu cầu HS phân biệt sự khác và giống nhau của bản ghi và mảng một chiều?
Gv : Khi có nhu cầu thay đổi thông tin trong từng trường, làm thế nào để truy cập 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à: 
 . 
Ví dụ 
 A.HoTen
 B.NgaySinh
 Lop[i].Van
với i là chỉ số nào đó của mảng Lop
Lop[15].HoTen là để chỉ thông tin gì?
GV nhận xét
Hoạt động 3: Gán giá trị
Gv : Vì bản ghi có nhiều trường nên việc gán giá trị cho từng 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.
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 có thể gán giá trị của B cho A bằng câu lệnh:
 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: A.HoTen:=’Tran Phuong Thao’;
	Readln(A.NgaySinh);
Đọc đề bài của ví dụ trong SGK.
GV làm cho HS hiểu rõ yêu cầu của bài toán trước khi đưa ra chương trình.
Nhấn mạnh: Đối với mỗi học sinh, thông tin về thuộc tính xếp loại không nhập từ bàn phím mà cần được chương trình tính toán dựa vào giá trị của hai thuộc tính khác nhau theo một quy tắc đã biết.
GV đưa ra 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 trong 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 từng giai đoạn:
Câu lệnh for-do, tại bước lặp thứ i làm việc với một bản ghi, đây là hồ sơ của học sinh thứ i. Các việc phải làm đối với một bản ghi như vậy chia làm hai giai đoạn: Trước tiên ta nhập từ bàn phím giá trị 5 trường của bản ghi này (có 5 cặp lệnh write-readln), tiếp đến tính toán giá trị trường XepLoai dựa trên giá trị của hai trường Toan và Van theo bốn trường hợp đã được 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 từng phần tử của mảng để đưa ra màn hình thông tin họ tên và xếp loại của mỗi học sinh.
Bốn điều kiện thực hiện lệnh ở bốn câu lệnh if-then trong chương trình thể hiện việc chia thực tế thành bốn trường hợp phân biệt do vậy tại mỗi bước lặp có một và chỉ một câu lệnh sau then của một trong bốn if-then ấy được thực hiện. 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 cơ bản giống và khác của kiểu bản ghi với hai kiểu dữ liệu có cấu trúc mảng và xâu?
GV nhận xét => Kết luận
- HS : Lắng nghe
- HS : Lắng nghe, ghi bài
- HS : Ghi bài
- HS : Ghi bài
- HS: Lấy ví dụ về cách khai báo kiểu bản ghi, biến bản ghi.
- HS trả lời: Sử dụng kiểu mảng trong đó phần tử mảng sẽ có kiểu bản ghi.
- HS :  Xác định kiểu dữ liệu (hình 14-tr 75)
- HS: 
 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;
- HS : Quan sát, lắng nghe
- HS trả lời : 
Biến A là biến kiểu bản ghi
A, B cùng một kiểu
- HS trả lời : 
 Thuộc kiểu bản ghi. Lop[1] và A có cùng kiểu
- HS trả lời:
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 dữ liệu. Trong bản ghi là ghép nhiểu phần tử có kiểu dữ liệu có thể khác nhau.
- HS : Ghi bài
- HS trả lời : Chỉ họ tên của học sinh thứ 15 trong lớp
- HS : Lắng nghe, ghi bài
- HS : Lắng nghe
- HS : Quan sát, lắng nghe giải thích, phân tích của GV
- HS : Quan sát, lắng nghe giải thích, phân tích của GV.
- HS : Viết lại đoạn chương trình đó.
- HS trả lời:
 + Đặc điểm chung của kiểu dữ liệu có cấu trúc: Được tạo nên từ một số kiểu cơ sở, giá trị của một 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 của kiểu bản ghi có thể thuộc các kiểu dữ liệu cơ sở khác nhau.
IV. CỦNG CỐ, DẶN DÒ
 1. Củng cố
 Đối với bài hôm nay các em cần nắm được cách khai báo kiểu bản ghi, cách truy nhập thông tin vào từng trường của bản ghi và gán giá trị cho bản ghi
 2. Dặn dò
 Các em về nhà làm các bài tập từ 4.47 đến 4.53 trong sách bài tập và các bài tập trong SGK trang 79.
NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
...

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

  • docBai 13 Kieu ban ghiLop11.doc