I. MỤC TIÊU
1. Kiến thức
Biết được khái niệm về kiểu 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.
Vận dụng viết cú pháp và thao tác xử lý trên trường
2. Kỹ năng
Định nghĩa đượ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.
6 trang |
Chia sẻ: vivian | Lượt xem: 1676 | Lượt tải: 0
Bạn đang xem nội dung tài liệu Bài giảng Bài 13: Kiểu bản ghi (2, 0, 0), để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
SỞ GD-ĐT TP.HCM
Trường: THPT Trần Hưng Đạo
Ngày dạy:
Lớp:
TIN HỌC LỚP11
CHƯƠNG IV: KIỂU DỮ LIỆU CÓ CẤU TRÚC
BÀI 13: KIỂU BẢN GHI (2, 0, 0)
MỤC TIÊU
Kiến thức
Biết được khái niệm về kiểu 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.
Vận dụng viết cú pháp và thao tác xử lý trên trường
Kỹ năng
Định nghĩa đượ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 được một số bài toán đơn giản.
PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
Phương pháp:
Phương pháp vấn đáp gợi mở là chủ yếu, kết hợp việc tạo tình huống có vấn đề.
Dùng hình ảnh trực quan bằng các slide giúp học sinh tham gia tích cực vào giờ học.
Phương tiện:
Giáo viên: Chuẩn bị giáo án giảng dạy, sách giáo khoa, sách giáo viên và các tài liệu liên quan.
Học sinh: Chuẩn bị sách giáo khoa và các tài liệu liên quan.
TIẾN TRÌNH DẠY- HỌC
Ổn định lớp
Kiểm tra sĩ số, ổn định chỗ ngồi.
Hoạt động dạy học
Kiểm tra bài cũ
Câu hỏi (GV)
Trả lời (HS)
1. Đưa ra thông tin 1 cuốn sách gồm: Tên sách, tác giả, năm xuất bản, nhà xuất bản, giá bán. Hãy đề xuất 1 cách để lưu thông tin 1 quyển sách.
2. Để lưu thông tin của n quyển sách thì dùng kiểu dữ liệu nào? Gặp khó khăn gì?
Tên sách, tác giả, nhà xuất bản: string
Năm xuất bản: integer
Giá bán: real
- Lặp lại n lần khai báo trên. Chương trình quá dài, khó quan sát và sửa chữa.
GV đặt vấn đề:
Với các thông tin có các kiểu dữ liệu khác nhau như trên. Bằng các kiểu dữ liệu đã học để quản lí danh sách các đối tượng bao gồm nhiều thuộc tính như vậy là việc rất khó khăn. Do vậy, trong ngôn ngữ lập trình cung cấp một kiểu dữ liệu mới nữa là kiểu bản ghi. Để hiểu thêm về kiểu bản ghi, chúng ta sẽ nghiên cứu bài hôm nay.
Hoạt động 1: Tìm hiểu về kiểu bản ghi.
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
Chiếu ví dụ lên bảng.
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.
Chiếu và giải thích cho học sinh hiểu về khái niệm kiểu bản ghi.
- Mỗi đối tượng được mô tả bằng một bản ghi.
- Các trường khác nhau có thể có kiểu dữ liệu khác nhau.
- Cho vd và giải thích.
- So sánh kiểu bản ghi với các dữ liệu có cấu trúc khác.
- Yêu cầu học sinh cho một số ứng dụng thực tế của kiểu bản ghi.
HS lắng nghe, trả lời câu hỏi và chép bài.
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.
Ngôn ngữ lập trình đưa ra quy tắc, cách thức xác định kiểu bản ghi
+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 Kiểu bản ghi
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
- GV: Đưa ra một ví dụ kiểu bản ghi và yêu cầu học sinh cho biết các thành phần chính có trong kiểu bản ghi?
GV: Đưa ra cấu trúc khai báo kiểu bản ghi
GV: Phần mô tả kiểu bản ghi bắt đầu bằng từ khóa record và két thúc bằng từ khóa end. Giữa hai từ khóa là phần là phần khai báo các trường của bản ghi.
GV: Dựa vào cách khai báo biến của các kiểu dữ liệu có cấu trúc đã học, yêu cầu học sinh đưa ra cú pháp tổng quát khai báo biến bản ghi.
GV: Yêu cầu học sinh suy nghĩ và cho một ví dụ về kiểu bản ghi, biến bản ghi
GV: Trình bày cú pháp tham chiếu đến trường của bản ghi.
GV: Yêu cầu học sinh tự cho ví dụ cụ thể về tham chiếu đến trường của bản ghi sau đó gọi một học sinh lên bảng trình bày ví dụ của mình
GV: Nhận xét ví dụ mà học sinh đã cho
- HS lắng nghe và ghi bài
HS lên bảng viết khai báo.
HS lắng nghe.
1. Khai báo.
Cú pháp:
Type = record
: ;
: ;
End;
Var : ;
Ví dụ1:
type Sach = record
TenSach:string;
TacGia:string;
NamXB:int;
NhaXB: string;
GiaBan: real;
end;
var A: Sach;
Ví dụ 2:
type Nguoi = record
HoTen:string;
NgaySinh:string;
QueQuan:int;
GioiTinh: boolean;
DiaChi: string;
end;
var A: Nguoi;
Cú pháp tham chiếu đến trường của bản ghi
. ;
Ví dụ: Tham chiếu đến trường quê quán của học sinh A trong ví dụ 2 trên
A.QueQuan;
Hoạt động 3: Gán giá trị và truy xuất dữ liệu của Kiểu bản ghi
Hoạt động của GV
Hoạt động của HS
Nội dung ghi bảng
Nêu và giải thích về cách tham chiếu đến trường của bản ghi.
Hỏi HS muốn tham chiếu tới giới tính của phần tử Nguoi[2] thì làm thế nào?
Nêu và giải thích cho HS hiểu về gán giá trị.
Hỏi HS với ví dụ đã nêu ở mục 1 thì làm thế nào để gán giá trị cho Quê quán?
HS lắng nghe và ghi bài
- HS trả lời:
Nguoi[2].GioiTinh
Chú ý lắng nghe và ghi bài.
HS trả lời:
Nhập từ bàn phím:
Write( ‘nhap que quan: ’ );
readln(Nguoi[2].QueQuan);
- Tham chiếu: Không thể tham chiếu tới bản ghi mà chỉ tham chiếu được tới các trường của bản ghi.
-Ví dụ: Nguoi[2].GioiTinh
2. Gán giá trị
Dùng lệnh gán trực tiếp: nếu A và B là 2 biến bản ghi cùng kiểu có thể gán A:= B.
Ví dụ: A.GioiTinh:= B.GioiTinh
Gán giá trị cho từng trường có thể nhập từ bàn phím hoặc qua câu lệnh gán.
VD: A.QueQuan = ‘Tp. Ho Chi Minh’;
Hoạt động 4: Bài tập áp dụng
GV: Đưa ra bài toán áp dụng kiểu bản ghi như sau:
Phòng kế toán công ty XYZ có 10 người. Mỗi nhân viên có các thuộc tính như họ tên, ngày sinh, giới tính, quê quán, thời gian làm việc (TG), mức lương. Với lương được tính như sau
Nếu TG lương =2.0*2000.000
Nếu TG từ 6 tháng->2 năm=> lương =2.5*2000.000
Nếu TG >=2 năm => lương =3.0*2000.000
Yêu cầu: Viết chương trình nhập vào từ bàn phím thông tin của từng nhân viên, tính lương và in ra màn hình bảng tính lương của nhân viên.
GV: Phân tích yêu cầu bài toán.
GV: Chia lớp thành 6 nhóm mỗi nhóm gồm 6 học sinh thảo luận bài toán áp dụng. Nội dung thảo luận gồm:
- Input và Output của bài toán
- Đối tượng cần quản lý của bài toán
- Khai báo kiểu bản ghi cho bài toán, biến bản ghi
- Viết chương trình hoàn chỉnh.
GV: Yêu cầu học sinh bắt đầu thảo luận trong vòng 10 phút, nhóm nào có kết quá sớm và nhanh nhất sẽ được cộng một điểm cộng.
GV: Yêu cầu nhóm hoàn thành sớm nhất lên trình bày ý tưởng của nhóm.Sau đó nhận xét và giải thích.
HS: lắng nghe giáo viên phân tích bài toán
HS: thảo luận nhóm
HS: xem nhóm lên trình bày và nhận xét của giáo viên
Bài tập áp dụng:
Phòng kế toán công ty XYZ có 10 người. Mỗi nhân viên có các thuộc tính như họ tên, ngày sinh, giới tính, quê quán, thời gian làm việc (TG), mức lương. Với lương được tính như sau
- Nếu TG lương =2.0*2000.000
- Nếu 1năm lương =2.5*2000.000
- Nếu TG >=2 năm => lương =3.0*2000.000
- Yêu cầu: Viết chương trình nhập vào từ bàn phím thông tin của từng nhân viên, tính lương và in ra màn hình bảng tính lương của nhân viên.
Giải
Input: thông tin của nhân viên
Output: mức lương ứng với từng nhân viên
Đối tượng cần quản lý là nhân viên
Kiểu bản ghi nhân viên
type NhanVien = record
HoTen:string;
NgaySinh: string;
QueQuan: string;
GioiTinh: string;
TGLV:string;
Mluong: real;
end;
Biến bản ghi:
NV: array[1..10] of NhanVien;
Hoạt động 5: Tổng kết – Dặn dò
Cần nắm được cách tạo kiểu bản ghi, khai báo biến kiểu bản ghi.
Nắm được cách tham chiếu đến trường của bản ghi.
Nhập xuất giá trị cho biến bản ghi.
Dặn dò bài tập về nhà:
- Hoàn thành chương trình của bài tập trên lớp.
- Coi lại kiến thức về các kiểu dữ liệu có cấu trúc, chuẩn bị thực hành
File đính kèm:
- Bai 13 Kieu ban ghi.docx