Yêu cầu: Tìm ví dụ về tham chiếu đến từng trường của biến bản ghi đã được khai báo ở trên.. 1..[r]
(1)Bài 13:
KIỂU BẢN GHI I MỤC TIÊU
1 Kiến thức
Biết khái niệm kiểu ghi
Phân biệt giống khác kiểu ghi với kiểu mảng chiều
2 Kĩ năng
Khai báo kiểu ghi, khai báo biến kiểu ghi ngơn ngữ lập trình Pascal
Nhập xuất liệu cho biến ghi Tham chiếu đến trường kiểu ghi
Sử dụng kiểu ghi để giải số tập đơn giản
II ĐỒ DÙNG DẠY HỌC 1 Chuẩn bị giáo viên
Máy vi tính, máy chiếu projector để giới thiệu ví dụ
2 Chuẩn bị học sinh
Sách giáo khoa
III HOẠT ĐỘNG DẠY HỌC 1 Hoạt động 1:
Giới thiệu kiểu ghi Tạo kiểu ghi ngôn ngữ lập trình Pascal
TG HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH NỘI DUNG KIẾN THỨC
5 phút
1 Tìm hiểu kiểu ghi
Chiếu bảng kết thi tốt nghiệp, sách giáo khoa trang 74
1 Quan sát ví dụ giáo viên trả lời câu hỏi
*Một số khái niệm:
(2)10 phút
Hỏi: Trên bảng có thơng tin gì?
Hỏi: Bảng chứa thơng tin đối tượng? Yêu cầu: Học sinh tìm thêm ví dụ tương tự Diễn giải: Mỗi thơng tin đối gọi thuộc tính hay trường Mỗi đối tượng mô tả nhiều thông tin hàng gọi ghi
Diễn giải: Để mô tả đối tượng vậy, ngơn ngữ lập trình cho phép ta xác định kiểu ghi Mỗi đối tượng mô tả ghi
2 Yêu cầu học sinh nghiên cứu sách giáo khoa cho biết cách khai báo kiểu ghi, khai báo biến kiểu ghi ngơn ngữ lập trình Pascal
u cầu: Tìm ví dụ để minh hoạ
Để giải toán mục ta phải khai báo mảng ghi Hãy tạo kiểu mảng
Họ tên, ngày sinh, giới tính, điểm môn thi, Bảng chứa thông tin đối tượng
Để mô tả người danh bạ điện thoại cần có thơng tin: Họ tên, địa số điện thoại
Tham khảo sách giáo khoa để nắm cấu trúc chung khai báo kiểu ghi, khai báo biế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 ghi mảng ghi
các kiểu liệu khác - Bản ghi thường gọi Record, Record lưu trữ liệu đối tượng cần quản lí
- Mỗi thuộc tính đối tượng tương ứng với trường ghi Các trường khác có liệu khác
- Các ngơn ngữ lập trình thường cho cách để xác định:
+ Tên kiểu ghi + Tên trường
+ Kiểu liệu trường + Cách khai báo biến + Cách tham chiếu đến trường
(3) Yêu cầu học sinh phân biệt giống khác kiểu ghi kiểu mảng chiều
Type kieu_hs=record Hoten,
ngaysinh:String; Toan, van:byte; dtb:real;
End;
Kieu_mbg=array[1 50] of kieu_hs;
Giống nhau: ghép nhiều phần tử
Khác nhau: Mảng chiều ghép nhiều phần tử có kiểu liệu Trong ghi ghép nhiều phần tử có kiểu liệu khác
1 Khai báo.
Cách khai báo kiểu ghi:
Type <tên kiểu ghi> = record
<Tên trường 1>:<Kiểu trường 1>;
. <Tên trường n>:<Kiểu trường n>;
end;
2 Hoạt động 2:
Tìm hiểu cách sử dụng kiểu ghi ngôn ngữ Pascal
TG HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
3 phút
1 Giới thiệu cấu trúc chung để tham chiếu đến trường biến ghi
Tên_biến_bg.Tên_trường
u cầu: Tìm ví dụ tham chiếu đến trường biến ghi khai báo
1 Quan sát cấu trúc chung tham chiếu đến trường biến ghi
Ví dụ:
nguoi.hoten nguoi.diachi nguoi.sdt;
* Cách khai báo biến: Var <Tên biến>:<Tên kiểu ghi>;
Var <Tên mảng> : Array[1 n] of <Tên kiểu bản ghi>;
- Để truy cập vào trường ghi, ta viết:
<Tên biến ghi>:<Tên trường>
(4)3 phút
4 phút
2 Giới thiệu cách gán giá trị cho biến ghi
+ Gán nguyên biến ghi (1)
+ Gán trường (2)
Yêu cầu: Lấy ví dụ minh hoạ cho trường hợp Hỏi: Trường hợp (1) thực điều kiện nào?
3 Nhập/xuất giá trị cho biến ghi
Diễn giải: Ta phải viết lệnh nhập xuất giá trị cho trường
Yêu cầu học sinh: Viết lệnh nhập giá trị cho ba trường biến ghi nguoi khai báo
Yêu cầu học sinh: Viết lệnh in giá trị trường hoten biến ghi nguoi
2 Quan sát hai cách gán giá trị cho biến ghi để tìm ví dụ cụ thể
A := B;
A.ht := B.ht; A.dtb := B.dtb;
Hai biến A, B phải khai báo kiểu ghi
3 Chú ý theo dõi dẫn dắt giáo viên để tìm ví dụ
Readln(nguoi.hoten); Readln(nguoi.diachi); Readln(nguoi.sdt); Writeln(nguoi.hoten);
A.hoten
A.ngaysinh Lop[i].toan
Với i số mảng Lop
2 Gán giá trị.
- Có cách để gán giá trị cho ghi:
+ Cách 1: Dùng lệnh gán trực tiếp: Nếu A B hai ghi kiểu ta gán giá trị A cho B câu lệnh gán:
VD: B:=A; A:=B; + Cách 2: Gán gía trị cho trường: Dùng câu lệnh gán gán giá trị cho trường nhập vào từ bàn phím
*VD: A.Hoten:’Nguyen Van A’;
Readln(A.Ngaysinh);
3 Hoạt động 3:
Rèn luyện kĩ lập trình
TG HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
5 phút
1 Chiếu nội dung đề lên bảng
Hỏi: Sử dụng kiểu liệu
1 Quan sát đề, ý phân tích để trả lời câu hỏi
* Chương trình quản lí bảng kết thi:
(5)2 phút
như để giải toán?
Yêu cầu học sinh: Mô tả thông tin học sinh kiểu ghi Tạo mảng ghi
Nêu bước để giải toán
2 Chia lớp thành ba nhóm u cầu viết chương trình lên bìa
Thu phiếu học tập Chiếu kết lên bảng Gọi học sinh nhóm khác nhận xét đánh giá
3 Chiếu chương trình mẫu để xác hóa lại cho học sinh
Một mảng ghi
Type Kieu_hs=record hoten:string;
toan,van,tong:byte; xeploai:char; end;
Kieu_mhs=array[1 45] of kieu_hs;
+ Bước 1: Tạo kiểu liệu, khai báo biến + Bước 2: Nhập liệu cho mảng ghi + Tính tổng điểm tốn điểm văn
+ Dựa vào tổng điểm để xếp loại
2 Thảo luận theo nhóm để hồn thành chương trình
Thơng báo kết Nhận xét, đánh giá bổ sung sai sót nhóm khác
3 Quan sát ghi nhớ
Type {Khai báo}
hocsinh= record SBD: integer; hoten:string[30]; toan,van,tong:real; ketqua:string[10]; end;
Var lop: ARRAY[1 50] of
hocsinh;
i,n: byte;
BEGIN
clrscr; {Nhập số học sinh} write(‘nhap vao so hoc sinh lop:’);
Readln(n);
{Nhập liệu cho ghi} For i:=1 to n
Begin
Write(‘nhap du lieu cho hoc sinh thu:‘, i);
Write(‘SBD: ’); readln( lop[i].SBD); Write(‘hoten:’); readln( lop[i].hoten); Write(‘diemtoan:’); readln( lop[i].toan); Write(‘diemvan:’); readln( lop[i].van);
End;
{Tính tổng cho ghi} For i:=1 to n
Lop[i].tong:=lop[i].toan+ lop[i].van;
{Điền kết cho ghi}
For i:=1 to n
If lop[i].tong>=10 then lop[i].ketqua=‘dat’
Else
(6)3 phút
{In bảng liệu}
Writeln(‘Bang ket qua kiem tra chat luong:’); For i:=1 to n 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.
IV ĐÁNH GIÁ CUỐI BÀI 1 Những nội dung học
Cách tạo kiểu ghi, khai báo biến kiểu ghi Tham chiếu đến trường biến ghi Nhập/xuất giá trị cho biến ghi
2 Câu hỏi tập nhà
Bài tập: Viết chương trình giải tốn quản lý sau:
Nhập họ tên, điểm toán (Toan), điểm lý (Ly) 30 học sinh lớp In hình họ tên, điểm trung bình (DTB) 30 học sinh với DTB =