Tuần : ....................
Tiết : 33
Ngày soạn:....................
Ngày giảng:..................
Bài 13: Kiểu bản ghi
I. mục tiêu của bài:
1. Kiến thức:
- Biết khái niệm kiểu bản ghi.
2. Kĩ năng:
- Biết cách khai báo bản ghi, truy cập trờng của bản ghi.
3. Thái độ:
II. Chuẩn bị của Giáo viên và học sinh:
1. Giáo viên: SGK, giáo án, STK ( máy chiếu nếu có).
2. Học sinh: SGK, chuẩn bị trớc bài ở nhà.
III. Phơng pháp giảng dạy
- Thuyết trình, vấn đáp
IV. Tiến trình bài học và các hoạt động:
1. ổn định tổ chức: 1
2. Kiểm tra bài cũ:
Em hãy điền vào chỗ trống (.....) trong bảng sau:
Giá trị của st Thao tác Kết quả
abcdef Delete(st,........,...........); abef
Xuan tren cao nguyen Insert(........,st,........); Xuan da ve tren cao nguyen
Tong so 123 em Pos(123,st) .................
3. Bài mới:
*Hoạt động 1: Trình bày khái niệm kiểu bản ghi trong ngôn ngữ lập trình.
Hoạt động của GV và HS Nội dung
- GV: Đặt vấn đề:
* Xét ví dụ sau:
+ Viết chơng trình dùng để quản lí các thi
sinh của một kì thi.
+ Chơng trình cần quản lí đợc:
+ SBD của thí sinh.
+ Họ tên thhí sinh.
+ Giới tính.
+ Điểm các môn.
Vậy làm thế nào để quản lí toàn bộ thông
tin trên? Mỗi thông tin trên có kiểu dữ liệu
là gì?
- HS: Suy nghĩ và trả lời.
* Một số khái niệm:
- Kiểu bản ghi 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 lad Record, mỗi
Record sẽ lu 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:
- GV: Với những kiểu dữ liệu đã học có
thể quản lí đợc thông tin trên không?
- HS: Suy nghĩ và trả lời.
- GV: Nhận xét và đa ra kiểu bản ghi.
- GV: Lấy một bảng điểm của HS rồi ghi
rõ: Mỗi hàng ta coi là một bản ghi, mỗi
cột là một trờng.
- HS: Chú ý nghe giảng và ghi bài.
+ 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.
Cách khai bào và sử dụng kiểu bản ghi
trong ngồn ngữ Pascal.
*Hoạt động 2: Giới thiệu cho HS biết cách khai báo kiểu bản ghi trong ngôn ngữ lập
trình Pascal.
Hoạt động của GV và HS Nội dung
- GV: Đặt vấn đề: Để 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 thông qua kiểu
bản ghi.
- GV: Sau từ khoá Type là khai báo kiểu
dữ liệu cho các trờng (field).
- GV: Làm thế nào để khai báo đợc nhiều
biến bản ghi có cùng kiểu dữ liệu?
- GV: Gọi ý.
- HS: Suy nghĩ và trả lời.
- GV: Nhận xét và trình bày cách khai báo
biến bản ghi.
- GV: Lấy ví dụ về quản lí HS của một lớp
gồm: Họ tên, ngày tháng năm sinh, giới
tính, điểm các môn (Văn, Toán, Lí, Hoá,
Sinh, Ngoại ngữ, Tin).
- GV: Em hãy xác định kiểu dữ liệu cho
mỗi trờng. (mỗi nội dung trên là một trờng
của bản ghi).
- HS: Phát biểu ý kiến.
- GV: Nhận xét và đa ra cách truy cập đến
từng trờng của bản ghi.
- HS: Chú ý nghe giảng và ghi bài.
1. Khai báo.
- Cách khai báo kiểu bản ghi:
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;
* 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>;
- Để 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
A.Ngaysinh
Lop[i].toan.
Với i là chỉ số nào đó của mảng Lop.
*Hoạt động 3: Giới thiệu cho HS biết cách khai Gán giá trị cho các biến bản ghi và
một ví dụ về bản ghi quản lí HS trong ngôn ngữ lập trình Pascal.
Hoạt động của GV và HS Nội dung
- GV: Vì bản ghi có nhiều trờng nên việc 2. Gán giá trị.
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 thông tin cho
từng trờng.
- GV: Đa ra hai cách để gán giá trị cho
bản ghi.
- HS: Chú ý nghe giảng và ghi bài.
- Có 2 cách để gán giá trị cho bản ghi:
+ Cách 1: Dùng lệnh gán trực tiếp: Nếu A
và 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;
+ Cách 2: 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 vào từ bàn phím.
* VD: A.Hoten:= Nguyen Van A;
Readln(a.Ngaysinh);
- Chơng trình quản lí bảng kết quả thi:
- GV: Lấy ví dụ về quản lí học sinh (Dùng
bảng phụ để trình bày).
- GV: Phân tích chơng trình để HS hiểu rõ
u điểm của sử dụng bản ghi trong quản lí.
- HS: Chú ý nghe giảng và ghi bài.
Program vd1;
Uses crt;
Type { Khai bao}
Hocsinh = record
SBD: integer;
Hoten: string[30];
Toan,Van,Tong:real;
Ketqua: string[10];
end;
Var Lop:Array[1..100] of Hocsinh;
i,n: integer;
BEGIN
Clrscr; { nhap so hoc sinh }
Write( Nhap vao so hoc sinh trong lop:);
readln(n);
{ nhap du lieu tung ban ghi}
For i:=1 to n do
Begin
writeln( Nhap so lieu hoc sinh thu ,i);
Write( SBD: ); readln(Lop[i].SBD);
Write(Ho ten :); readln(Lop[i].Hoten);
Write(Diemtoan:); readln(Lop[i].Toan);
Write(Diem van :);readln(Lop[i].Van);
end;
{ tinh tong cho tung ban ghi }
For i:=1 to n do
Lop[i].Tong:= Lop[i].Toan+ Lop[i].Van;
{ dien ket qua cho tung ban ghi }
For i:=1 to n do
if Lop[i].Tong>=10 then
Lop[i].Ketqua:=Dat
else Lop[i].Ketqua:=Khong dat;
{ In bang du lieu }
Writeln( Bang ket qua kiem tra );
For i:=1 to n do
Writeln(Lop[i]..sbd:5, Lop[i]..Hoten:30,
Lop[i].toan:5:1, Lop[i].Van:5:1,
Lop[i].tong:8:1,Lop[i].Ketqua:15);
Readln;
END.
V. củng cố dặn dò.
- Nhắc lại một số khái niệm mới.
- Nhắc lại cấu trúc lệnh về 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à.