1. Giáo viên: Giáo án, Máy tính
III. PHƯƠNG PHÁP:Thuyết trình, nêu vấn đề, hỏi đáp.
IV. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Kiểm tra bài cũ
Hđ của GV Hđ của HS
Viết CT nhập vào một xâu bất kì và cho biết trong xâu có bao nhiêu kí tự số?
Var S: string; i: integer; Begin
write(‘Nhap xau S ’); readln(S); d:=0;
For i:=1 to length(s) do
If (s[i]>=’0’) and (s[i]<=’9’) then inc(d);
Write(d);
End.
2. Hoạt động 2: Giới thiệu kiểu bản ghi. Tạo một kiểu bản ghi trong NNLT Pascal.
Hđ của GV Hđ của HS Nd ghi bảng
Hỏi: trên bảng có những thông tin gì?
-bảng chứa thông tin của bao nhiêu đối tượng?
-Y/cầu hs cho thêm ví dụ tương tụ.
* Mỗi thông tin của đtượng đgl 1 thuộc tính hay 1 trường của đtượng. Mỗi đtượng đươc mô tả bằng nhiều thiông tin trên một hàn đgl một bản ghi.
* Để mô tả các đtượng như vậy, NNLT cho phép ta xác định kiểu bản ghi. một đtượng được mô tả băng một bản ghi.
2. Y/cầu hs n/cứu sgk và chobiết cách khai báo kiểu bản ghi, biết cách khai báo kiểu bản ghi, khai báo biến kiểu bản ghi trong Pascal
Y/cầu: Tìm 1 vídụ để minh hoạ Để giải quyết bài toán trong mục 1 ta phải khai báo 1 mảng các bản ghi. Hãy tạo kiểu mảng?
Y/cầu hs so sánh giống và khác nhau của kiểu bản ghi và kiểu mảng 1 chiều.
1. Quan sát ví dụ sgk, trảlời câu hỏi: lời câu hỏi:
- Họ tên, ngày sinh, giới tính, điểm các môn thi. - 3 đối tượng
- Để mô tả 1 người trong danh bạ điện thoại cần các thông tin: họ tên, địa chỉ, SĐT.
2. Tham khảo sgk để nămcách khai báo kiểu và biến cách khai báo kiểu và biến kiểu bản ghi.
Độc lập suy nghĩ, tạo kiểu bản ghi
Type kieu_hs =record
Hten,ngsinh:string; Toan, van:byte; Dtb:real; End; Kieu_m=array[1..50] of kieu_hs; Var Lop:kieu_m; 1. Khai báo
Type <tênkiểu>=record
<têntrường1>: <kiểu trường 1>; ……….
<têntrườngN>:<kiểu trườngN>;
End;
Var <tên biến>: <tênkiểu>; Ví dụ:
Type knguoi = record
Hoten:string; Dchi:string; SDT:longint
End;
Tl:
Giống: được ghép bởi nhiều phần tử
Khác: mảng 1 chiều ghép bởi nhiều ptử cùng kiểu,kiểu bản ghi ghép nhiều ptử có kiểu dữ liệu có thể khác nhau.
3. Hoạt động 3: Tìm hiểu cách sử dụng bản ghi trong NNLT Pascal
Hđ của GV Hđ của HS Nd ghi bảng
1. Giới thiệu cấu trúc chung, thamchiếu đến từng trường của biến bản chiếu đến từng trường của biến bản ghi
Y/cầu hs tìm vídụ về tham chiếu đến từng trường của biến bản ghi từ các khai báo ở trên
2. Gới thiệu 2 cách gán giá trị chobiến bản ghi biến bản ghi
+Gán nguyên cảu biến bản ghi (1) + Gán lần lượt từng trường (2)
Hỏi: trường hợp (1) thực hiện trong điều kiện nào?
3. Nhập/xuất dữ liệu chó biến bản ghi* ta phải nhập/xuất giá trị cho từng * ta phải nhập/xuất giá trị cho từng trường.
Y/cầu hs viết lệnh nhập giá trị cho 3 trường của biến nguoi; lệnh in giá trị của trường hoten của bản ghi nguoi
1. Quan sát cấu trúc gvgiới thiệu giới thiệu Vd: Nguoi.hoten Nguoi.dchi Nguoi.sdt 2. Quan sát 2 cách gán giá trị và tìm ví dụ cụ thể Tl: hai biến A, B được khai báo cùng 1 kiểu bản ghi.
3. Chú ý theo dõi sự dẫndắt của gv, ghi nhớ và tìm dắt của gv, ghi nhớ và tìm ví dụ. Readln(Nguoi.hoten); Readln(Nguoi.dchi); Readln(Nguoi.sdt); Writeln(nguoi.hoten;) 2. Tham chiếu đến từng trường của bản ghi
Tênbiến.têntrường
Vd: Type knguoi = record Hoten:string;
Dchi:string; SDT:longint
End;
Var nguoi: knguoi;
3. Gán giá trị cho biếnbản ghi bản ghi
(1) A:=B (2) A.ht:=B.ht; A.toan:=9;
A.dtb:=(A.toan+A.li)/2;
4. Hoạt động 4: Rèn luyện kĩ năng lập trình
a. Nội dung: Viết CT giải quyết bài toán quản lí sau: Nhập họ và tên, điểm toán(toan) và điểm lý (ly) của 30 học sinh trong lớp. In ra màn hình họ tên và điểm trung bình (dtb) của 30 học sinh đó (dtb=(toan+ly)/2)
b. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
1. Nêu nội dung đề bài
Hỏi: Sử dụng kiểu dữ liệu như thế nào để giải quyết bài toán?
-Y/cầu hs mô tả thông tin của 1 hs bằng kiểu bản ghi.
- Tạo mảng các bản ghi đó
1. Đọc đề, phân tích để trảlời câu hỏi. lời câu hỏi.
-Một mảng các bản ghi Type hs=record Ten:string;Toan,li,tb:real; end; Manghs=array[1..30] of hs; Var Lop:manghs; Type hs=record Ten:string;Toan,li,tb:real; end; Manghs=array[1..30] of hs; Var Lop:manghs;
- Y/cầu hs nếu các bước gải quyết bài toán
2. chia lớp thành 3 nhóm. y/cầuviết CT lên bìa con. viết CT lên bìa con.
Thu bìa và treo lên bảng, gọi hs nhóm khác nhận xét và đánh giá.
3. Thông báo chtrình mẫu để hschuẩn hoá lại. chuẩn hoá lại.
Các bước:
B1:Tạo kiểu dữ liệu, kbáo biến. B2: Nhập dliệu cho mảng các bản ghi, tính giá trị trường tb. B3: đưa các t/tin theo y/cầu ra màn hình. (ten, tb)
2. Thảo luận nhóm và hoàntất CT,Nộp kết quả tất CT,Nộp kết quả
Nhận xét, đánh giá và bổ sung nhữ sau sót của nhóm khác.
3. Quan sát và ghi nhớ
BEGIN
For i:=1 to 30 do begin
write(‘Hoc sinh ’,i); readln(lop[i].ten); write(‘diem toan, ly ‘’); readln(lop[i].toan,lop[i].li);
lop[i].tb:=(lop[i].toan+lop[i].li)/2;
end;
writeln(‘ Ho va ten |Diemtb ’);
For i:=1 to 30 do
Writeln(lop[i].ten:30, lop[i].tb:8:2);
END.
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học
2. Câu hỏi, bài tập về nhà
Xem nội dung phụ lục B, sgk, trang 134: Câu lệnh With.
Ngày soạn: Tiết 32-33 ÔN TẬP I. MỤC TIÊU 1. Kiến thức 2. Kĩ năng II. ĐỒ DÙNG DẠY HỌC 1. Giáo viên 2. Học sinh III. PHƯƠNG PHÁP
IV. HOẠT ĐỘNG DẠY HỌC
1. Hoạt động 1: (5 phút) Kiểm tra bài cũ
Hđ của GV Hđ của HS
2. Hoạt động 2:
a. Mục tiêu: b. Nội dung:
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
3. Hoạt động 3:
a. Mục tiêu: b. Nội dung:
c. Các bước tiến hành:
4. Hoạt động 4:
a. Mục tiêu: b. Nội dung:
c. Các bước tiến hành:
Hđ của GV Hđ của HS Nd ghi bảng
IV. ĐÁNH GIÁ CUỐI BÀI (5phút)
1. Nội dung đã học
2. Câu hỏi, bài tập về nhà
Xem trước bài:
KIỂM TRA HỌC KỲ I
I.TRẮC NGHIỆM (Hs khoanh tròn vào một phương án trả lời đúng cho mỗi câu)
1. Biểu diễn nào dưới đây là Hằng? A. begin B. E58 C. 12.4E-5 D. type
2. Kiểu dữ liệu nào dưới đây thuộc loại kiểu dữ liệu chuẩn:
A. Kiểu kí tự B. Kiểu xâu C. Kiểu mảng D. Kiểu bản ghi3. Phép toán nào sử dụng trong biểu thức trả về giá trị True hoặc False 3. Phép toán nào sử dụng trong biểu thức trả về giá trị True hoặc False
A. Phép toán số học B. Phép toán quan hệ và phép toán số họcC. Phép toán số học và phép toán logic D. Phép toán quan hệ và phép toán logic C. Phép toán số học và phép toán logic D. Phép toán quan hệ và phép toán logic 4. Chương trình sau đây Đúng hay Sai? Vì sao?
Begin
Writeln(‘Chuc cac em thi tot!’); A. Sai, vì CT này không có phần khai báo Write(‘Dat ket qua cao’); B. Đúng, vì CT này không cần khai báo Readln C. Sai, vì CT này thiếu phần nhập giá trị
End. D. Sai, vì CT này thiếu phần tính toán
5. Chương trình dịch Pascal cấp phát bao nhiêu Byte bộ nhớ cho các biến trong khai báo sau:Var A: array[1..10] of integer; A. 28 B. 36 Var A: array[1..10] of integer; A. 28 B. 36