1. Giáo viên: Giáo án, Máy tính
2. Học sinh: sgk
III. PHƯƠNG PHÁP:Thuyết trình, nêu vấn đề, hỏi đáp.
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
1. Tìm hiểu kiểu bản ghi
Y/cầu hs quan sát bảng kết quả thi TN sgk trang 74.
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à cho biế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ăm cá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; 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
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;
Var nguoi: knguoi;
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, tham chiế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ị cho biế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 gv giớ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ẫn dắ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ến bả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:
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 đó
- 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ầu viế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 để hs chuẩn hoá lại. chuẩn hoá lại.
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;
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àn tấ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ớ
Type hs=record
Ten:string;Toan,li,tb:real;
end; Manghs=array[1..30] of hs; Var Lop:manghs; 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) 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: 15/12/20012 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:
Hđ của GV Hđ của HS Nd ghi bảng
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