Baøi giaûng: Hoạt động của Thầy và Trò Hoạt động 2: -Nội dungHĐ: Tìm hiểu về cách sử dụng kieåu baûn ghi trong NNLT Pascal -Mục tiêu: HS biết cách tham chiếu đến từng trường của biến bản[r]
Trang 1Ngày soạn: 16/02/2008
I MỤC TIÊU BÀI HỌC:
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
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 NNLT 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 toán đơn giản
3 Thái độ:
II CHUẨN BỊ:
1 Tài liệu, bài tập: SGK, SGV.
2 Dụng cụ, thiết bị:
III TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 29)
1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2 Kiểm tra bài cũ: Không.
3 Bài giảng:
Hoạt động của Thầy và Trò Nội dung ghi bảng
Hoạt động 1:
-Nội dungHĐ: Tìm hiểu về Bản ghi, tạo một
kiểu bản ghi trong NNLT Pascal
-Mục tiêu: HS biết được một kiểu dữ liệu có
cấu trúc: Kiểu bản ghi Biết được ý nghĩa của
của kiểu bản ghi Phân biệt được kiểu bản
ghi với mảng một chiều Tạo được kiểu bản
ghi
-Các bước tiến hành:
1/ Tìm hiểu về kiểu bản ghi:
GV: Yêu cầu HS xem bảng kết quả thi SGK
tr.74 để trả lời câu hỏi
HS: Xem bảng kết quả thi trong SGK
GV: Trên bảng có những thông tin gì?
HS: Họ và tên, ngày sinh,
GV: Bảng chứa thông tin của bao nhiêu đối
tượng?
HS: Thông tin của 3 đối tượng
GV Diễn giải: Để mô tả các đối tương như
vậy, NNLT cho phép xác định kiểu bản ghi
Mỗi đối tượng được mô tả bằng một bản ghi
HS: Lắng nghe và ghi chép
1/ Tìm hiểu về kiểu bản ghi:
Họ và tên Ngày sinh Giới tính Điểm Tin Điểm Điểm Địa
Ng T Minh Huệ 12/12 Nữ 9 8 Dương Trúc Lâm 02/01 Nam 9 7 Đào Văn Bình 05/12 Nam 8 6
-Để mô tả các đối tượng như vậy, NNLT cho phép xác định kiểu bản ghi
-Mỗi thông tin của đối tượng được gọi là một
thuộc tính hay một trường (các trường khác
nhau có thể có các kiểu dữ liệu khác nhau) -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.
Các thông tin của đối tượng
(Thuộc tính – Trường)
Các đối tượng
(Có 3 đối tượng)
Một bản ghi
(Một hàng)
Trang 2GV: Mỗi NNLT có quy tắc xác định: tên kiểu
bản ghi, tên các trường, kiểu dữ liệu của mỗi
trường, cách khai báo biến và cách tham
chiếu đến từng trường
HS: Nghe và ghi chép
2/ Khai báo:
GV: Yêu cầu HS đọc SGK và cho biết cách
khai báo kiểu bản ghi, khai báo biến kiểu
bản ghi
HS: Đọc SGK và trả lời câu hỏi
GV: Lấy VD minh họa
HS: Cho VD tương tự
GV Giải thích: A, B là hai biến có kiểu là
bản ghi HocSinh, Lop là biến mảng một
chiều, mỗi phần tử mảng là một bản ghi
HocSinh
HS: Lắng nghe
GV: Hãy 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?
HS: Suy nghĩ trả lời
-Mỗi NNLT có quy tắc xác định:
+Tên kiểu bản ghi, +Tên các 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 từng trường
2/ Khai báo:
-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;
-Khai báo biến bản ghi:
Var <tên_biến>: <tên_kiểu_bản_ghi>; VD:
Type HocSinh = record
HoTen : string[30];
NgaySinh : string[10];
GioiTinh: boolean;
Tin, Toan, Ly, Hoa, Van, Su, Dia: real;
End;
Var A, B : HocSinh;
Lop : Array[1 50] of HocSinh;
*Sự giống và khác nhau giữa kiểu bản ghi và kiểu mảng một chiều:
-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 đó Bnả ghi là ghép nhiều phần tử có kiểu dữ liệu có thể khác nhau
4.Tổng kết nội dung, đánh giá cuối bài:
Cách tạo bản ghi, khai báo biến kiểu bản ghi
5.Dặn dò, kế hoạch học tập tiết sau:
Xem trước phần: Tham chiếu đến từng trường, Gán giá trị cho biến bản ghi
IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:
Trang 3
Ngày soạn: 16/02/2008
III TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 30)
1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2 Kiểm tra bài cũ: Hãy nêu cách khai báo kiểu bản ghi, khai báo biến và cho ví dụ?
3 Bài giảng:
Hoạt động của Thầy và Trò Nội dung ghi bảng
Hoạt động 2:
-Nội dungHĐ: Tìm hiểu về cách sử dụng
kiểu bản ghi trong NNLT Pascal
-Mục tiêu: HS biết cách tham chiếu đến
từng trường của biến bản ghi, gán giá trị
cho biến bản ghi và nhập/xuất giá trị cho
bản ghi
-Các bước tiến hành:
*Tham chiếu đến từng trường:
GV giới thiệu cấu trúc chung để tham
chiếu đến từng trường của biến bản ghi
và cho ví dụ minh họa
HS: Lắng nghe và ghi chép
GV: Yêu cầu HS cho ví dụ tương tự
HS: Đưa ra ví dụ
3/ Gán giá trị:
GV giới thiệu 2 cách gán giá trị cho biến
bản ghi
HS: Nghe và ghi chép
GV: Yêu cầu HS lấy ví dụ minh họa cho
từng trường hợp
HS: Đưa ra ví dụ
GV cho VD:
Type DanhBa = record
HoTen : string[30];
DiaChi: string[50];
SoDienThoai: longint;
End;
Var C : DanhBa;
B : HocSinh; {đã khai báo ở trên}
Lệnh gán B:= C; đúng hay sai Tại sao?
HS: Đưa ra phương án trả lời
*Tham chiếu đến từng trường:
Để tham chiếu đến một trường của biến bản ghi, ta viết:
Tên_biến_bản_ghi.Tên_trường.
VD:
-Để tham chiếu đến điểm Tin học của một học sinh, ta viết:
A.Tin -Để tham chiếu đến điểm Tin học của một học sinh thứ hai trong Lop, ta viết: Lop[2].Tin
3/ Gán giá trị:
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 thực hiện lệnh gán như sau:
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: -Bằng lệnh gán:
A.HoTen := ‘Duong Truc Lam’;
A.NgaySinh := ‘2/1/1990’;
A.GioiTinh:= True;
A.Tin:= 9; ; A.Dia := 7;
-Nhập từ bàn phím:
Readln(A.HoTen);
Readln(A.NgaySinh);
Readln(GioiTinh);
Readln(A.Tin);
;
Readln(A.Dia);
Trang 4xuất giá trị của 2 trường HoTen,
NgaySinh của biến bản ghi A
HS: Lên bảng viết
HS khác nhận xét và sửa sai (nếu có)
-Xuất giá trị của trường:
writeln(A.HoTen);
writeln(A.NgaySinh);
4.Tổng kết nội dung, đánh giá cuối bài: -Cách tham chiếu đến từng trường của biến bản ghi -Gán giá trị cho biến bản ghi -Nhập/xuất giá trị cho biến bản ghi 5.Dặn dò, kế hoạch học tập tiết sau: -Về nhà học bài và xem trước phần ví dụ (SGK tr.76) IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM:
Trang 5
Ngày soạn: 16/02/2008
III TIẾN TRÌNH LÊN LỚP: (Tiết PPCT: 31)
1 Ổ định, tổ chức lớp: CBL báo cáo sĩ số.
2 Kiểm tra bài cũ: Không.
3 Bài giảng:
Hoạt động của Thầy và Trò Nội dung ghi bảng
Hoạt động 3:
-Nội dungHĐ: Rèn luyện kĩ năng lập
trình
-Mục tiêu: HS sử dụng được bản ghi để
giải một số bài toán đơn giản
-Các bước tiến hành:
GV: Cho HS đọc nội dung ví dụ (SGK
tr76)
HS: Đọc nội dung ví dụ
GV: Sử dụng kiểu dữ liệu như thế nào để
giải quyết bài toán?
HS: Một mảng các bản ghi
GV Yêu cầu HS: Mô tả thông tin về một
học sinh bằng kiểu bản ghi Tạo mảng
các bản ghi đó
HS:
Type HocSinh = record
HoTen : string[30];
NgaySinh : string[10];
DiaChi: string[50];
Toan, Van: real;
XepLoai: char;
End;
Var Lop : Array[1 60] of HocSinh;
GV hướng dẫn các bước để giải bài toán:
-B1: Tạo kiểu bản ghi, khai báo biến;
-B2: Nhập dữ liệu cho mảng các bản ghi;
-B3: Tính tổng điểm toán và điểm văn;
-B4: Dựa vào điểm tổng để xếp loại
HS: Chú ý theo dõi
GV hướng dẫn HS viết chương trình
HS: Thực hiện
program Xep_loai;
const max = 60;
type HocSinh = record
HoTen : string[30];
NgaySinh : string[10];
DiaChi : string[50];
Toan, Van : real;
XepLoai : char;
end;
var Lop : Array[1 max] of HocSinh;
N, i: byte;
Begin
writeln('So luong hoc sinh trong lop N='); readln(N);
for i:= 1 to N do begin
writeln('Nhap so lieu ve HS thu ', i, ':'); write('Ho va ten:'); readln(Lop[i].HoTen); 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);
if Lop[i].Toan + Lop[i].Van >= 18 then Lop[i].XepLoai := 'A';
if (Lop[i].Toan + Lop[i].Van >= 14) and (Lop[i].Toan + Lop[i].Van < 18) then Lop[i].XepLoai := 'B';
if (Lop[i].Toan + Lop[i].Van >= 10) and (Lop[i].Toan + Lop[i].Van < 14) then Lop[i].XepLoai := 'C';
if Lop[i].Toan + Lop[i].Van < 10 then Lop[i].XepLoai := 'D';
end;
writeln('Danh sach xep loai HS trong lop:'); for i:= 1 to N do
writeln(Lop[i].HoTen:30,'- xep loai:', Lop[i].XepLoai);
End.
Trang 65.Dặn dò, kế hoạch học tập tiết sau:
Học bài và làm các bài tập SGK tr.79-80
IV NHỮNG VẤN ĐỀ CẦN RÚT KINH NGHIỆM: