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.
IV. HOẠT ĐỘNG DẠY HỌC1. Hoạt động 1: Kiểm tra bài cũ 1. Hoạt động 1: 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 biết cách khai báo kiểu bản ghi, khai báo biến kiểu bản ghi
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à cách khai báo kiểu và biến kiểu bản ghi.
1. Khai báoType Type <tênkiểu>=record <têntrường1>: <kiểu trường 1>; ………. <têntrườngN>:<kiểu trườngN>; End; 82
trong Pascal
Y/cầu: Tìm 1 vídụ để minh hoạ
Để giải quyết bài tố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.
Độ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 kiểu,kiểu bản ghi ghép nhiều ptử cĩ kiểu dữ liệu cĩ thể khác nhau.
Var <tên biến>: <tênkiểu>; Ví dụ: Type knguoi = record Hoten:string; Dchi:string; SDT:longint End;
Var nguoi: knguoi;
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 ghi
* ta phải nhập/xuất giá trị cho từng trường. 1. Quan sát cấu trúc gv 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 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 biến bản ghi (1) A:=B (2) A.ht:=B.ht; A.toan:=9; A.dtb:=(A.toan+A.li)/ 2; 83
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 nhớ và tìm ví dụ. Readln(Nguoi.hoten); Readln(Nguoi.dchi); Readln(Nguoi.sdt); Writeln(nguoi.hoten;)
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 tốn quản lí sau: Nhập họ và tên, điểm tố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 tố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 tố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 hố lại. chuẩn hố lại.
1. Đọc đề, phân tích để trả lời câu hỏi. để trả lời câu hỏi. -Một mảng các bản ghi
Type hs=record
Ten:string;Toan,li,t b:real; end; Manghs=array[1..3 0] 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à hồn 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, 84
lop[i].tb:8:2);
END.
IV. ĐÁNH GIÁ CUỐI BÀI 1. Nội dung đã học 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:
Ngày dạy:
Tiết 33 BÀI TẬP