- Hầu hết các ngôn ngữ lập trình đều có quy tắc cho phép xác định tên kiểu mảng, số lượng phần tử, kiểu dữ liệu của từng phần tử, cách khai báo một biến mảng và cách tham chiếu đến từng [r]
(1)Tiết 1:
Ch ¬ng I: Một số khái niệm lập trình
Và ngôn ngữ lập trình
Đ1: khái niệm lập trình ngôn ngữ lập trình
A MC CH, YÊU CẦU:
Sau học học sinh có khả năng:
- Biết khái niệm lập trình ngơn ngữ lập trình - Biết khái niệm chương trình dịch
- Phân biệt hai loại chương trình dịch biên dịch thơng dịch
B.PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu chương trình học lớp 11 - Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiều khái niệm lập trình ngơn ngữ lập trình. a Mục tiêu:
- Giúp học sinh biết lập trình Ý nghĩa việc lập trình
(2)Mọi tốn có thuật tốn giải máy tính điện tử Các bước để giải toán:
- Xác định toán
- Xây dựng thuật tốn khả thi - Lập trình
Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mô tả liệu diễn đạt thao tác thuật tốn
Ngơn ngữ lập trình phần mềm dùng để diễn đạt thuật toán thành chương trình giúp cho máy tính hiểu thuật tốn
Một số ngơn ngữ lập trình: Ngơn ngữ máy, hợp ngữ ngôn ngữ bậc cao c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Viết nội dung tốn đặt vấn đề của bài giải phương trình bậc kết luận nghiệm phương trình ax + b = 0. - Hãy xác định yếu tố Input Output toán?
- Hãy xác định bước để tìm Output?
- Diễn giải: Hệ thống bước gọi thuật tốn
- Nếu trình bày thuật tốn với người nước ngồi; em dùng ngơn ngữ để diễn đạt?
- Nếu diễn đạt thuật toán cho máy hiểu, em dùng ngôn ngữ nào?
- Diễn giải: Hoạt động để diễn đạt thuật tốn thơng qua ngơn ngữ lập
1 Học sinh quan sát nội dung toán và theo dõi yêu cầu giáo viên. - Input: a,b
- Output: x=-b/a, vô nghiệm, vô số nghiệm
Bước 1: Nhập a,b
Bước 2: Nếu a<>0 kết luận có nghiệm x=-b/a
Bước 3: Nếu a=0 b<>0 kết luận vô nghiệm
Bước 4: Nếu a=0 b=0 kết luận vô số nghiệm
- Ngôn ngữ Tiếng Anh
- Dùng ngơn ngữ lập trình
(3)trình gọi lập trình
- Yêu cầu học sinh đọc sách giáo khoa cho biết khái niệm lập trình
- Hỏi: kết hoạt động lập trình? 2 Yêu cầu học sinh cho biết loại ngơn ngữ lập trình.
- Hỏi: Các em hiểu ngôn ngữ máy, ngôn ngữ bậc cao hợp ngữ?
- Hỏi: Làm để chuyển chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy?
- Hỏi: Vì khơng lập trình ngơn ngữ máy để khỏi phải công chuyển đổi mà người ta thường lập trình ngơn ngữ bậc cao?
- Lập trình việc sử dụng cấu trúc liệu lệnh ngôn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán
- Ta chương trình
2 Tham khảo sách giao khoa sử dụng vốn hiểu biết Tin học.
- Ngôn ngữ máy - Hợp ngữ
- Ngôn ngữ bậc cao
- Ngơn ngữ máy: lệnh mã hóa kí hiệu -1 Chương trình viết ngơn ngữ máy nạp vào nhớ thực
- Ngôn ngữ bậc cao: Các lệnh mã hóa ngơn ngữ gần cới ngơn ngữ Tiếng Anh Chương trình viết ngôn ngữ bậc cao phải chuyển đổi thành chương trình ngơn ngữ máy thực
- Phải sử dụng chương trình dịch để chuyển đổi
- Lập trình ngơn ngữ bậc cao dễ viết lệnh mã hóa gần với ngơn ngữ tự nhiên Lập trình ngơn ngữ máy khó, thường chun gia lập trình lập trình
5'
(4)- Học sinh biết khái niệm chương trình dịch cần thiết chương trình dịch - Phân biệt thông dịch với biên dịch
b Nội dung:
- Chương trình dịch chương trình có chức chuyển đổi chương trình viết ngơn ngữ lập trình bậc cao thành chương trình thực máy tính
- Cần phải có chương trình dịch để chuyển chương trình viết ngơn ngữ khác thành ngôn ngữ máy
- Đầu vào chương trình dịch chương trình viết ngơn ngữ lập trình bậc cao Đầu chương trình viết ngơn ngữ máy
- Biên dịch: Kiểm tra, phát lỗi dịch tồn chương trình nguồn thành chương trình thực máy
- Thơng dịch: dịch thực lệnh c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu vấn đề:
Các em muốn giới thiệu trường cho người khách du lịch quốc tế biết tiếng Anh, có cách để thực hiện:
- Cách 1: Cần người biết tiếng Anh, dịch câu nói em sang tiếng Anh cho người khách
- Cách 2: Em soạn nội dung cần giới thiệu giấy người phiên dịch dịch toàn nội dung sang tiếng Anh đọc cho người khách
- Hãy lấy ví dụ tương tự thực tế biên dịch thông dịch từ tiếng Anh sang tiếng việt
1 Chú ý lắng nghe ví dụ giáo viên và thảo luận để tìm ví dụ tương tự.
- Khi thủ tướng phủ trả lời vấn trước nhà báo quốc tế, họ thường cần người thông dịch để dịch câu tiếng việt sang tiêng Anh
- Khi thủ tướng phủ đọc diễn văn tiếng Anh trước hội nghị, họ cần người biên dịch để chuyển văn
(5)2 Yêu cầu học sinh nghiên cứu SGK và sử dụng ví dụ biết các bước tiến trình thơng dịch và biên dịch.
tiếng Việt thành tiếng Anh
2 Nghiên cứu SGK suy nghĩ để trả lời. a Biên dịch: (Compiler)
Bước 1: Duyệt, phát lỗi, kiểm tra tính đắn lệnh chương trình nguồn
Bước 2: Dịch tồn chương trình nguồn thành chương trình ngơn ngữ máy
b Thông dịch:
Bước 1: Kiểm tra tính đắn lệnh chương trình nguồn Bước 2: Chuyển lệnh thành ngơn ngữ máy
Bước 3: Thực câu lệnh vừa chuyển đổi
15'
IV Củng cố lại bài: (3') 1 Những nội dung học:
- Khái niệm lập trình ngơn ngữ lập trình
- Có loại ngơn ngữ lập trình: Ngôn ngữ máy, hợp ngữ ngôn ngữ bậc cao - Khái niệm chương trình dịch
- Có loại chương trình dịch biên dịch thơng dịch 2 Câu hỏi tập nhà:
- Mỗi loại ngơn ngữ lập trình phù hợp với người có trình độ lập trình nào? - Kể tên số ngơn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch thơng dịch - Trả lời câu hỏi 1,2,3 SGK trang 13
(6)Ngày soạn: 11/8/2007 Tiết 2:
Đ2: Các thành phần ngôn ngữ lập trình A MỤC TIÊU, YÊU CẦU:
1 Kiến thức:
- Nắm thành phầncủa ngôn ngữ lập trình nói chung Một ngơn ngữ lập trình có thành phần: Bảng chữ cái, cú pháp ngữ nghĩa
- Biết số khái niệm như: tên, tên chuẩn, tên dành riêng, tên người lập trình tự đặt, hằng, biến thích
2 Kĩ năng:
- Phân biệt tên chuẩn với tên dành riêng tên tự đặt - Nhớ quy định tên, hằng, biến
- Biết đặt tên nhận biết tên sai quy định - Sử dụng thích
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu thành phần ngơn ngữ lập trình. a Mục tiêu:
(7)- Bảng chữ cái: tập hợp kí tự dùng để viết chương trình Khơng phép dùng kí tự ngồi kí tự quy định bảng chữ
- Cú pháp: quy tắc để viết chương trình
- Ngữ nghĩa xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Đặt vấn đề: có yếu tố nào dùng để xây dựng nên ngôn ngữ tiếng Việt?
2 Diễn giải: Trong ngơn ngữ lập trình cũng tương tự vậy, gồm có thành phần: Bảng chữ cái, cú pháp ngữ nghĩa 3 Yêu cầu học sinh nghiên cứu trong SGK cho biết:
- Hãy nêu chữ bảng chữ tiếng Anh
- Nêu số hệ đếm thập phân - Nêu số kí hiệu đặc biệt
- Gọi học sinh trả lời bổ sung thêm
1 Độc lập suy nghĩ trả lời: - Bảng chữ tiếng việt, số, dấu
- Cách ghép kí tự thành từ, ghép từ thnàh câu
- Ngữ nghĩa từ câu 2 Lắng nghe ghi nhớ.
3 Nghiên cứu SGK thảo luận. - Bảng chữ cái: A,B,C ,Z
a,b,c ,z - Hệ đếm: 0,1,2, ,9
- Kí hiệu đặc biệt:
+ - * / = < > [ ] , _ ; # ^ $ & () { }: ‘ - Theo dõi kết bổ sung
5'
2 Tìm hiểu khái niệm “tên” thành phần ngơn ngữ lập trình. a Mục tiêu:
- Học sinh biết phân biệt số loại tên: tên dành riêng, tên chuẩn, tên người lập trình tự đặt
b Nội dung:
- Mọi đối tượng chương trình phải đặt tên theo quy tắc ngôn ngữ lập trình chương trình dịch cụ thể
(8)- Tên chuẩn: tên ngơn ngữ lập trình quy định dùng với ý nghĩa đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác
- Tên người lập trình đặt : tên dùng theo ý nghĩa riêng người lập trình, tên khai báo trước sử dụng Các tên không trùng với tên dành riêng c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Đặt vấn đề: Mọi đối tượng trong chương trình phải đặt tên.
- Hãy nghiên cứu SGK, trang 10, để nêu quy cách đặt tên Turbo Pascal?
2 Đưa tên yêu cầu học sinh chọn tên đúng.
A 6Pq R12 X#y _45
- Giải thích thêm cách đặt tên
3 Yêu cầu học sinh nghiên cứu SGK trang 10,11 để biết khái niệm tên dành riêng, tên chuẩn tên người lập trình đặt
- Gọi học sinh trả lời cho ví dụ
- Lấy số ví dụ Pascal :
Program Asb Integer Type Xyx Byte Tong - Yêu cầu học sinh rõ xem đâu : + Tên dành riêng
+ Tên chuẩn + Tên tự đặt
1 Nghiên cứu SGK trả lời.
- Gồm chữ số, chữ cái, dấu gạch - Bắt đầu bàng chữ dấu gạch - Độ dài không 127 kí tự
2 Quan sát trả lời.
A R12 _45
3 Nghiên cứu SGK để trả lời.
- Tên dành riêng: tên ngơn ngữ lập trình quy định dùng với ý nghĩa xác định(còn gọi từ khóa), người lập trình khơng dùng với ý nghĩa khác -Tên chuẩn: tên ngôn ngữ lập trình quy định dùng với ý nghĩa đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác
- Tên người lập trình đặt : tên dùng theo ý nghĩa riêng người lập trình, tên khai báo trước sử dụng Các tên không trùng với tên dành riêng
- Học sinh trả lời:
+ Tên dành riêng: Program Type + Tên chuẩn: Asb Integer Byte + Tên tự đặt Xyx Tong
5'
5'
5'
(9)- Học sinh biết khái niệm , biến thích Phân biệt biến thấy ý nghĩa thích
b Nội dung:
- Hằng đại lượng có giá trị khơng đỏi q trình thực chương trình Có loại thường dùng: Hằng số học, xâu logic
+ Hằng số học: số nguyên số thực, có dấu khơng dấu
+ Hằng xâu: chuỗi kí tự Khi viết, chuỗi kí tự đặt cặp dấu nháy đơn
+ Hằng logic: giá trị (true) hặc sai (false)
- Biến đại lượng đặt tên dùng để lưu trữ giá trị giá trị thay đổi q trình thực chương trình Các biến dùng chương trình phải khai báo
- Chú thích đặt cặp dấu nháy { } (* *) dùng để giải thích cho chương trình rõ ràng dễ hiểu
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Yêu cầu học sinh cho ví dụ về hằng số, xâu logic.
- Trình bày khái niệm số, xâu logic?
2 Ghi bảng: Xác định số hằng xâu sau:
- 2345 ‘QP’ ‘30’ 1.5E+2
3 Yêu cầu học sinh nghiên cứu SGK và cho biết khái niệm biến.
1 Độc lập suy nghĩ trả lời. - Hằng số: 40, 40.5
- Hằng xâu: ‘Hưng Đạo’, ‘B’ - Hằng logic: False
- Hằng số học số nguyên số thực, có dấu khơng dấu
- Hằng xâu chuỗi kí tự mã ASCII, đặt cặp nháy đơn - Hằng logic: giá trị (true) sai (false)
2 Quan sát trả lời. - Hằng số: -2345, 1.5E+2 - Hắng xâu: ‘QP’, ‘30’
3 Nghiên cứu SGK trả lời:
- Biến đại lượng đặt tên dùng để 5'
5'
(10)Hoạt động giáo viên Hoạt động học sinh thờigian
- Cho số ví dụ biến
4 Yêu cầu học sinh nghiên cứu SGK và cho biết chức thích trong chương trình.
- Cho ví dụ dịng thích
- Hỏi: Tên biến tên tên dành riêng hay tên chuẩn hay tên người lập trình đặt? - Hỏi: Các lệnh viết cặp dấu { } có Turbo thực khơng?
lưu trữ giá trị giá trị thay đổi trình thực chương trình Các biến dùng chương trình phải khai báo
Ví dụ tên biến Tong, xyz 4 Nghiên cứu SGK trả lời.
- Chú thích đặt cặp dấu nháy { } (* *) dùng để giải thích cho chương trình rõ ràng dễ hiểu
-{ Lệnh gán}
- Là tên người lập trình đặt
- Khơng: dịng thích
5'
IV Củng cố giảng: (3') 1 Những nội dung học:
- Thành phần ngơn ngữ lập trình: bảng chữ cái, cú pháp ngữ nghĩa
- Khái niệm: tên, tên chuẩn, tên dành riêng, tên người lập trình đặt, hằng, biến thích
2 Câu hỏi tập nhà:
- Làm tập 4,5,6 SGK trang 13
- Xem đọc thêm: Ngôn ngữ Pascal SGK trang 14, 15, 16 - Xem trước bài: Cấu trúc chương trình SGK trang 18
(11)Tiết 3:
Bµi tËp
Bài 1: Phát biểu dới ỳng ?
A - Để biên soạn chơng trình ngôn ngữ bậc cao sử dụng nhiều hệ soạn thảo văn khác
B - Output chơng trình chơng trình trờn ngụn ng mỏy
C - Chơng trình viết hợp ngữ Input hay Output chơng trình dịch
D - Chơng trình dịch thành phần ngôn ngữ lập trình bậc cao Đáp án: C
Bi 2: Phát biểu dới ?
A - Chơng trình dãy lệnh đợc tổ chức theo quy tắc đợc xác định ngôn ngữ lập trình cụ thể
B - Trong chế độ thơng dịch câu lệnh chơng trình nguồn đợc dịch thành câu lệnh chơng trình đích
C - Mọi tốn có chơng trình để giải máy tính
D - Nếu chơng trình nguồn có lỗi cú pháp chơng trình đích có lỗi cú pháp Đáp án: A
Bµi 3: Đâu biểu diễn biểu diễn dới ? A - begin
B - '65c' C - 5.8A D - integer Đáp án: B
Bài 4: Hãy chọn biểu diễn tên biểu diễn dới ? A - '********'
B - (2) C - 3GHI D - PpPpPp Đáp án: D
(12)A - Integer B - END C - Real D - Sqrt Đáp án: B
Bài 6: Phát biểu dới ?
A - Khi cần thay đổi ý nghĩa từ khố ngời lập trình cần khai báo theo ý nghĩa
B - Tên ngời lập trình tự đặt đợc trùng với từ khố
C - Trong chơng trình tên gọi đối tợng khơng thay đổi nên xem
D - Mọi đối tợng có giá trị thay đổi chơng trình gọi biến Đáp án: D
Bài 7: Trong chế độ biên dịch, chơng trình đợc dịch thơng suốt, hệ thống khơng báo lỗi Có thể khẳng định ta có chơng trình hay cha ? Tại ?
Tr¶ lêi:
Khơng thể khẳng định chơng trình chơng trình chứa lỗi ngữ nghĩa
Bài 8: Trong chế độ thông dịch, giả sử hai phần ba số câu lệnh chơng trình đợc thực Có thể khẳng định nh chơng trình khơng cịn chứa lỗi cú pháp hay không ? Tại ?
Tr¶ lêi:
Khơng thể khẳng định Cú pháp câu lệnh cha thực cha đợc kiểm tra
Bài 9: Tại phải kiểm tra tính đắn chơng trình nhiều liệu thử nghiệm khác ?
Tr¶ lêi:
Chơng trình có nhiều nhánh có nhiều dạng lỗi ngữ nghĩa khác
Bài 10: Trong chơng trình có lỗi cú pháp, thông thờng chơng trình biên dịch hay chơng trình thông dịch phát lỗi nhanh ? Tại ?
Tr¶ lêi:
(13)Tiết 4:
Ch ơng II: chơng trình đơn giản Đ3: cấu trúc chơng trình A MỤC TIấU, YấU CẦU:
1 Kiến thức:
- Biết cấu trúc chung chương trình B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
Hoạt động giáo viên Hoạt động học sinh
1 Phát vấn gợi ý: Một tập làm văn em thường viết có máy phần? Các phần có thứ tự khơng? Vì phải chia vậy?
2 Yêu cầu học sinh nghiên cứu SGK để trả lời câu hỏi sau:
- Một chương trình có cấu trúc phần ?
- Trong phần khai báo, có khai báo nào?
1 Lắng nghe suy nghĩ trả lời: - Có phần
- Có thứ tự: Mở bài, thân kết luận - Dễ viết, dễ đọc, dễ hiểu nội dung 2 Nghiên cứu SGK thảo luận trả lời. - Hai phần:
[<phần khai báo>]
<phần thân chương trình>
(14)Hoạt động giáo viên Hoạt động học sinh
- Yêu cầu học sinh lấy ví dụ khai báo tên chương trình ngơn ngữ Pascal - u cầu học sinh lấy ví dụ khai báo thư viện chương trình Pascal - Yêu cầu học sinh lấy ví dụ khai báo ngôn ngữ Pascal
- Yêu cầu học sinh lấy ví dụ khai báo biến ngơn ngữ Pascal
- Yêu cầu học sinh cho biết cấu trúc chung phần thân chương trình ngơn ngữ Pascal
3 Tìm hiểu chương trình đơn giản. Cho đoạn chương trình đơn giản Program VD1;
Var x,y:byte; t: word; Begin t:=x+y; Writeln(‘t’); Readln; End
- Hỏi: Phần khai báo chương trình? - Hỏi: Phần thân chương trình có lệnh thân chương trình?
4 Yêu cầu học sinh lấy VD một chương trình khơng có phần tên và khai báo.
khai báo biến khai báo chương trình - Cấu trúc: Program ten_chuong_trinh; VD: Program tinh_tong;
- Cấu trúc: Uses ten_thu_vien; VD: Uses crt;
- Cấu trúc: Const ten_hang= gia_trị; VD: Const maxn=100;
- Cấu trúc: var ten_bien= Kieu_du_lieu; VD: var a,b,c:integer;
- Cấu trúc: Begin
Dãy lệnh End
3 Quan sát trả lời.
- Khai báo tên chương trình: Program VD1;
- Khai báo biến: Var x,y:byte; t:word;
- Còn lại thân chương trình 4 Thảo luận trả lời: Begin
(15)End
IV Củng cố học: (3') 1 Những nội dung học:
- Một chương trình gồm phần: phần khai báo phần thân
- Các kiểu liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic
- Mọi biến chương trình phải dược khai báo Cấu trúc chuẩn khai báo Pascal: Var ten_bien: ten_kieu_du_lieu
2 Câu hỏi tập nhà:
(16)Ngày soạn: 11/8/2007 Tiết 5:
Đ4: một số kiểu liệu chuẩn Đ5: khai b¸o biÕn
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, logic - Biết cấu trúc chung khai báo biến
2 Kĩ năng:
- Sử dụng kiểu liệu khai báo biến để viết chương trình đơn giản B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG. I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu số kiểu liệu chuẩn: (Bài 4) a Mục tiêu:
Biết tên số kiểu liệu chuẩn, biết giới hạn biểu diễn loại kiểu liệu
(17)Byte: 255
Integer: -32768 32767 Word: 65535
Longint -2148473648 2148473647 - Kiểu số thực:
Real: 2.9E-39 1.7E38
Extended: 3.4E-4932 1.1E4932
- Kiểu kí tự: Là kí tự thuộc bảng mã ASCII, gồm 256 kí tự đánh số từ đến 255 - Kiểu logic: Là tập hợp gồm giá trị True False, kết phép so sánh c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Đặt vấn đề: Trong toán học, để thực hiện tính tốn ta cần phải có các tập số Đó tập số nào?
- Diễn giải: Cũng tương tự vậy, ngơn ngữ lập trình Pascal, để lập trình giải tốn, cần có tập hợp, tập hợp có giới hạn định - Các em hiểu nơm na: kiểu liệu chuẩn tập hữu hạn giá trị, kiểu liệu cần dung lượng nhớ cần thiết để lưu trữ xác định phép tốn tác động lên liệu
2 Yêu cầu học sinh nghiên cứu SGK trả lời câu hỏi sau:
- Có kiểu liệu chuẩn ngôn ngữ Pascal?
- Trong ngơn ngữ Pascal, có kiểu ngun thường dùng, phạm vi biểu diễn loại?
- Trong ngơn ngữ Pascal, có kiểu số thực thường dùng, phạm vi biểu diễn loại?
1 Chú ý lắng nghe suy nghĩ trả lời.
- Số tự nhiên, số nguyên, số hữu tỷ, số thực
- Liên tưởng tập số toán học với kiểu liệu Pascal
2 Nghiên cứu SGK trả lời.
- Có kiểu: kiểu nguyên, kiểu thực, kiểu kí tự kiểu logic
- Có loại: Byte, word, integer, longint
(18)Hoạt động giáo viên Hoạt động học sinh
- Trong ngôn ngữ Pascal, có kiểu kí tự?
- Trong ngơn ngữ Pascal, có kiểu logic, gồm giá trị nào?
3 Giáo viên giải thích số vấn đề cho học sinh:
- Vì phạm vi biểu diễn loại kiểu số nguyên khác nhau?
- Miền giá trị loại kiểu số thực, số chữ số có nghĩa?
4 Phát vấn: Muốn tính tốn các giá trị: 7.5 ta phải sử dụng kiểu dữ liệu gì?
- Có loại: Char
- Có loại: Boolean, gồm phần tử: True False
3 Chú ý lắng nghe ghi nhớ.
4 Suy nghĩ trả lời. - Kiểu Real:
2 Tìm hiểu cách khai báo biến: a Mục tiêu:
- Học sinh biết biến dùng chương trình phải khai báo tên kiểu liệu
- Học sinh biết cấu trúc chung khai báo biến ngôn ngữ Pascal Khai báo biến lập trình
b Nội dung:
Trong ngơn ngữ lập trình Pascal, cấu trúc chung khai báo biến là: Var
Tên_biến_1: Kiểu_ Liệu_1; Tên_biến_2 Kiểu_ Liệu_2; Tên_biến_n Kiểu_ Liệu_n;
Nếu có nhiều biến có kiểu liệu, khai báo ghép, biến phân cách dấu phẩy Kiểu_dữ_liệu kiểu liệu chuẩn Pascal
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Yêu cầu học sinh nghiên cứu SGK và cho biết phải khai báo biến?
(19)- Cấu trúc chung khai báo biến ngơn ngữ lập trình Pascal
- Cho ví dụ để khai báo biến kiểu số nguyên biến kiểu kí tự
2 Cho đoạn khai báo sau: yêu cầu học sinh khai báo biến đúng? Var
x,y,z:word; n l:real; X:longint; h: in tegr; i:byte;
3 Hãy cho biết đoạn khai báo : - Hỏi: Có biến tất cả, nhớ phải cấp phát bao nhiêu?
- Mọi biến dùng chương trình phải khai báo tên biến kiểu liệu biến Tên biến dùng để xác lập quan hệ biến với địa nhớ nơi lưu giữ giá trị cảu biến
- Var <danh sách biến>: <kiểu liệu>;
- Var
x:word; y:char
2 Chú ý quan sát trả lời. Var
x,y,z:word; i:byte;
3 Quan sát trả lời: - Có biến;
- Tổng nhớ cần cấp là: x(2 byte), y(2 byte), z (2 byte) h (2 byte), i (1 byte), Tổng Byte IV Củng cố học: (3')
1 Những nội dung học:
- Các kiểu liệu chuẩn: kiểu số nguyên, kiểu số thực, kiểu kí tự, kiểu logic
- Mọi biến chương trình phải dược khai báo Cấu trúc chuẩn khai báo Pascal: Var ten_bien: ten_kieu_du_lieu
2 Câu hỏi tập nhà:
- Làm tập 3,4,5 SGK trang 35
- Xem trước nội dung bài: Phép toán Biểu thức, lệnh gán SGK trang 24 - Xem nội dung phụ lục B SGK trang 129: số kiểu liệu chuẩn
Ngày soạn: 11/8/2007 Tiết 6:
(20)A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết phép tốn thơng dụng ngơn ngữ lập trình - Biết diễn đạt biểu thức ngơn ngữ lập trình
- Biết chức lệnh gán
- Biết cấu trúc lệnh gán số hàm chuẩn thơng dụng ngơn ngữ lập trình Pascal
2 Kĩ năng:
- Sử dụng phép toán để xây dựng phép toán - Sử dụng lệnh gán để viết chương trình
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng: 1 Tìm hiểu số phép toán: a Mục tiêu:
Học sinh biết tên phép tốn, kí hiệu phép toán cách sử dụng phép toán kiểu liệu
b Nội dung:
- Các phép toán số học: + - * / Div Mod
(21)các biểu thức quan hệ đơn giản
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Đặt vấn đề: Để mô tả thao tác thuật tốn, ngơn ngữ lập trình sử dụng số khái niệm bản: phép toán, biểu thức, gán giá trị
2 Phát vấn: Hãy kể phép toán em đã học tốn học?
- Diễn giải: Trong ngơn ngữ lập trình Pascal có phép tốn diễn đạt cách khác
- Yêu cầu học sinh nghiên cứu SGK cho biết nhóm phép tốn
- Hỏi: Phép Div, Mod sử dụng cho kiểu liệu nào?
- Hỏi: Kết phép toán quan hệ thuộc kiểu liệu nào?
1 Chú ý lắng nghe.
2 Suy nghĩ trả lời.
- Phép: cộng, trừ, nhân, chia, lấy số dư, chia lấy số nguyên, so sánh
- Các phép toán số học: + - * / Div Mod - Các phép toán quan hệ: <, <=, >, >=, =, <> - Các phép toán logic: NOT, AND, OR - Chỉ sử dụng cho kiểu nguyên
- Thuộc kiểu logic
5'
2 Tìm hiểu biểu thức: a Mục tiêu:
- Học sinh biết khái niệm biểu thức số học, biểu thức quan hệ biểu thức logic Biết cách xây dựng biểu thức
- Biết số hàm số học chuẩn lập trình b Nội dung:
- Biểu thức số học biểu thức nhận từ số, biến số hàm số liên kết với phép toán số học
- Thứ tự thực biểu thức số học: ngoặc trước, ngoặc sau Trong dãy phép tốn khơng chứa ngoặc thực từ trái sang phải theo thứ tự phép toán: nhân, chia, chia lấy nguyên, chia lấy dư thực trước phép toán cộng, trừ thực sau
(22)Hàm Kiểu đối số Kiểu hàm số
Bình phương SQR(x) I R Theo kiểu đối số
Căn bậc hai: SQRT(x) I R R
Giá trị tuyệt đối: ABS(x) I R Theo kiểu đối số
Sin(x) I R R
Cos(x) I R R
Logarit tự nhiên Ln(x) I R R
Lũy thừa số e ex exp(x) I R R
- Hai biểu thức có kiểu liệu liên kết với phép toán quan hệ cho ta biểu thức quan hệ
<biểu_thức_1> <phép_toán_quan_hệ> <biểu_thức_2> Thứ tự thực hiện:
+ Tính giá trị biểu thức
+ Thực phép toán quan hệ
Các biểu thực quan hệ liên kết với phép toán logic ta biểu thức logic Biểu thức logic đơn giản giá trị True False
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu vấn đề: Trong toán học ta đã làm quen với khái niệm biểu thức, hãy cho biết yếu tố xây dựng nên biểu thức.
- Nếu toán mà toán hạng biến số, số hàm số toán tử phép toán số học biểu thức có tên gì?
2 Cho biểu thức sau: 2a + 5b + c;
xy 2z
x + y/1-2/z + x2/2z
- Nghiên cứu SGK từ việc xây dựng
1 Suy nghĩ trả lời.
- Gồm hai phần: toán hạng toán tử
- Biểu thức số học
2 Quan sát trả lời 2*a + 5*b + c;
x*y/(2*z);
((x+y)/(1-(2/z))) + (x*x/(2*z))
- Thực ngoặc trước, 3'
(23)các biểu thức trên, nêu thứ tự thực phép toán
3 Nêu vấn đề: Trong toán học ta đã làm quen với số hàm số học, hãy kể tên số hàm đó?
- Trong số ngơn ngữ lập trình ta có số hàm diễn đạt cách khác
Cho biểu thức: − b+√b2−4 ac
2a , biểu diễn biểu thức sang biểu thức ngơn ngữ lập trình
4 Nêu vấn đề: Khi biểu thức số học liên kết với phép toán quan hệ ta biểu thức mới, biểu thức gọi biểu thức gì?
- Hãy lấy VD biểu thức quan hệ?
- Yêu cầu học sinh nghiên cứu SGK cho biết cấu trúc chung biểu thức quan hệ - Thứ tự thực biểu thức quan hệ
- Cho biết kết phép toán quan hệ thuộc kiểu DL nào?
5 Nêu vấn đề: Các biểu thức quan hệ liên kết với phép toán logic gọi biểu thức logic
- Hãy cho số VD biểu thức logic
- Trong tốn học ta có biểu thức ≤ x ≤ 11 Hãy biểu diễn biểu thức ngơn ngữ lập trình
- Thứ tự thực biểu thức logic
- Kết biểu thức logic có kiểu DL gì? - Cho bảng giá trị A B, yêu cầu HS
ngoặc sau Nhân, chia, chia nguyên, chia lấy dư trước, cộng trừ sau
3 Suy nghĩ trả lời.
- Hàm trị tuyệt đối, hàm bậc hai, hàm sin, cos
- Suy nghĩ, lên bảng trả lời
(-b+SQRT(b*b – * a * c)) / (2 * a)
4 Suy nghĩ trả lời. - Gọi biểu thức quan hệ
- VD: * x < y - Cấu trúc chung:
<BT1> <phép tốn quan hệ> <BT2> + Tính giá trị biểu thức
+ Thực phép toán quan hệ - Kiểu logic
5 Chú ý theo dõi dẫn dắt GV và suy nghĩ để trả lời.
- VD: (A>B) or ((X + 1) < Y) (5 > 2) and ((3 + 2) < 7)
- Biểu diễn ngơn ngữ lập trình: (5 <= x) and (x <= 11)
+ Thực biểu thức quan hệ + Thực phép toán logic
- Kiểu logic
- HS suy nghĩ trả lời
5'
5'
(24)Hoạt động giáo viên Hoạt động học sinh thờigian
điền giá trị vào
A B not A A and B A or B
T T F T T
T F F F T
F T T F T
F F T F F
3 Tìm hiểu lệnh gán: a Mục tiêu:
- HS biết chức lệnh gán lập trình Biết cấu trúc chung lệnh gán ngôn ngữ Pascal Biết lệnh lập trình
b Nội dung.
- Lệnh gán dùng để tính giá trị biểu thức chuyển giá trị vào biến - Cấu trúc: Tên biến := biểu_thức;
- Sự thực máy:
+ Tính giá trị biểu_thức + Đặt giá trị vào tên_biến c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
- Giới thiệu VD lệnh gán Pascal sau:
X:= + 8;
- Giải thích: Lấy cộng 8, đem kết đặt vào x Ta x=12
- Hỏi: Hãy cho biết chức lệnh gán?
- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung lệnh gán ngôn ngữ Pascal
- Hãy cho VD để tính nghiệm phương trình bậc
− b+√b2−4 ac
2a
- Quan sát VD suy nghĩ để trả lời
+ Tính giá trị biểu thức
+ Gán giá trị tính vào tên biến <tên_biến>:=<biểu_thức>;
X:=(-b+SQRT(b*b-4a*c)) / (2*a);
(25)- Giới thiệu thêm VD: cho chương trình Var i, z: integer;
Begin z:=4; i:=6; z:= z - 1; i:= i + 1; writeln(‘i=’, i); writeln(‘z=’, z); Readln;
End
- Hỏi: Chương trình in hình giá trị bao nhiêu?
- Thực chương trình để HS kiểm nghiệm kết tự suy luận
- In hình x=3 i=7
- Quan sát kết chương trình
IV Đánh giá cuối bài: (3') 1 Những nội dung học.
- Các phép toán Turbo Pascal; số học, quan hệ logic - Các biểu thức Turbo Pascal, số học, quan hệ logic - Cấu trúc lệnh gán Turbo Pascal: tên_biến:= biểu_thức; 2 Câu hỏi tập nhà.
- Làm tập 5, 6, 7, SGK-T35,36
(26)Ngày soạn: 11/8/2007 Tiết 7:
Đ7: Các thủ tục chuẩn vào/ra đơn giản A MỤC TIấU, YấU CẦU:
1 Kiến thức:
- Biết ý nghĩa thủ tục vào/ra chuẩn lập trình
- Biết cấu trúc chung thủ tục vào/ra ngơn ngữ lập trình Pascal 2 Kĩ năng:
- Viết lệnh vào/ra DL
- Biết nhập DL thực chương trình B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
- Tranh chứa biểu thức toán học, máy chiếu, máy vi tính, số chương trình viết sẵn
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu thủ tục nhập liệu vào từ bàn phím: a Mục tiêu:
- Giúp HS thấy cần thiết thủ tục nhập DL - Biết cấu trúc chung thủ tục nhập DL
b Nội dung:
- Dùng để đưa nhiều DL khác cho chương trình xử lí - Nhập: Read/Readln(<tên_biến_1> , , <tên_biến_n>);
(27)1 ĐVĐ: Khi giải toán, ta phải đưa DL vào để máy tính xử lí, việc đưa DL lệnh gán làm cho chương trình có tác dụng với DL cố định Để chương trình giải nhiều toán hơn, ta sử dụng thủ tục nhập DL - Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục nhập DL ngôn ngữ Pascal:
- Nêu VD: Khi viết chương trình giải phương trình ax + b = 0, ta phải nhập vào đại lượng nào? Viết lệnh nhập?
2 Chiếu chương trình Pascal đơn giản có lệnh nhập cho biến
- Thực chương trình thực nhập DL
- Hỏi: Khi nhập giá trị cho nhiều biến, ta thực nào?
- Yêu cầu HS thực nhập DL cho chương trình
1 Chú ý lắng nghe dẫn dắt GV.
- Nghiên cứu SGK suy nghĩ để trả lời Read(<tên_biến_1>, ,<tên_biến_n>); Readln(<tên_biến_1>, ,<tên_biến_n>); - Phải nhập giá trị cho biến: a, b - Viết lệnh: Readln(a,b);
2 Quan sát chương trình VD GV.
- Những giá trị phải gõ cách dấu cách kí tự xuống dịng - Lên bảng thực nhập theo yêu cầu GV
5'
15'
2 Tìm hiểu thủ tục đưa liệu hình: a Mục tiêu:
- Giúp HS thấy cần thiết thủ tục đưa DL hình - Biết cấu trúc chung thủ tục đưa DL hình
b Nội dung:
- Dùng để đưa kết sau xử lí hình đẻ người sử dụng thấy - Xuất: Write/Writeln(<Tham_số_1>, ,<Tham_số_n>);
(28)Hoạt động giáo viên Hoạt động học sinh thờigian
1 ĐVĐ: Sau xử lí xong, kết tìm được lưu nhớ Để thấy kết hình ta sử dụng thủ tục xuất DL
- Yêu cầu HS nghiên cứu SGK cho biết cấu trúc chung thủ tục xuất DL ngơn ngữ lập trình Pascal:
- Nêu VD: Khi viết chương trình giải phương trình ax + b = 0, ta phải đưa hình giá trị nghiệm –b/a, Ta phải viết lệnh nào?
2 Viết lên bảng chương trình Pascal đơn giản.
Program VD;
Var x, y, z:integer; Begin
Writeln(‘Nhập vào số: ’); Readln(x,y);
z:=x+y;
Write(x:6, y:6, z:6); Readln;
End
- Thực chương trình thực nhập DL để HS thấy kết MH
- Hỏi: Chức lệnh Writeln();
- Hỏi: Ý nghĩa lệnh Write( );
- Hỏi: Khi tham số lệnh Write() thuộc kiểu Char Real quy định vị
1 Chú ý lắng nghe dẫn dắt GV.
Write(<tên_biến_1>, ,<tên_biến_n>); Writeln(<tên_biến_1>, ,<tên_biến_n>);
- Phải nhập giá trị cho biến: a, b - Viết lệnh: Writeln(-b/a);
2 Quan sát chương trình VD GV.
- Viết MH dòng chữ đưa trỏ xuống dòng
- Dành vị trí MH để viết số x, vị trí để viết số y, vị trí để viết số z
- Khi tham số có kiểu kí tự, việc quy định vị trí giống kiểu nguyên
5'
(29)trí nào?
- Cho VD cụ thể với biến c kiểu Char r kiểu nguyên
- Khi tham số có kiểu thực phải quy định hai loại vị trí: vị trí cho tồn số thực vị trí cho phần thập phân - VD: Write(c:8);
Write(r:8:3);
IV Đánh giá cuối bài: (3') 1 Những nội dung học.
- Lệnh nhập DL - Lệnh xuất DL 2 Câu hỏi tập.
- Bằng thực hành máy:
+ Hãy so sánh giống khác Write(); Writeln(); + Hãy so sánh giống khác Read(); Readln(); + Tìm hiểu chức lệnh Readln; Writeln;
(30)Ngy son: 11/8/2007 Tit 8:
Đ8: soạn thảo, dịch, thực hiệu chỉnh chơng trình A MC TIấU, YấU CU:
1 Kin thức:
- Biết bước để hoàn thành chương trình - Biết File chương trình Turbo Pascal 7.0 2 Kĩ năng:
- Biết khởi động thoát khỏi hệ soạn thảo Turbo Pascal - Soạn chương trình vào máy tính
- Dịch chương trình để nhập DL thu kết quả, tìm lỗi thuật tốn sửa lỗi B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
- Máy vi tính có cài phần mềm Turbo Pascal C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng: 1 Làm quen với Turbo Pascal. a Mục tiêu:
- Biết File chươg trình Turbo Pascal - Biết cách khởi động thoát khỏi Turbo Pascal
b Nội dung:
- Chuyển vào thư mục chứa File Turbo.exe
- Gõ Turbo.exe Enter (Nếu môi trường Win cần nhấn biểu tượng Turbo Pascal)
(31)1 ĐVĐ: Để sử dụng Turbo Pascal, máy phải có file chương trình cần thiết Tham khảo SGk cho biết tên file chương trình
2 Trình diễn cách khởi động Turbo Pascal thông qua máy chiếu.
- Giới thiệu hình soạn thảo chương trình: bảng chọn, trỏ, vùng soạn thảo
1 Tham khảo SGK trả lời. Turbo.exe
Turbo.tpl Graph.tpu
Egavga.bgi file *.chr 2 HS quan sát ghi nhớ.
2 Tập soạn thảo chương trình dịch lỗi cú pháp: a Mục tiêu:
- HS biết cách tạo lưu file chương trình - Biết cách dịch tìm lỗi cú pháp
b Nội dung:
- Gõ lệnh chương trình (giống hệ soạn thảo văn bản) - Lưu file chương trình lên đĩa bấm F2
- Biên dịch lỗi cú pháp bấm ALT_F9
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Soạn chương trình làm VD, lưu chương trình, dịch lỗi.
2 Soạn chương trình, hỏi lỗi cú pháp chương trình, gọi HS dịch lỗi sửa.
Program VD; Var x: Integer; Begin
Write(Nhap so nguyen duong); Readln(x);
Y:=sqrt(x); Write(y); End
1 Quan sát ghi nhớ. - Lưu: F2
- Dịch lỗi: ALT_F9
2 Quan sát phát lỗi để sửa lỗi cho chương trình.
Program VD; Var x: Integer; Begin
Write(‘Nhap so nguyen duong’); Readln(x);
Y:=sqrt(x); Write(y); End
3 Tập thực chương trình tìm lỗi thuật toán để hiệu chỉnh: a Mục tiêu:
- HS biết cách thực chương trình
(32)b Nội dung.
- Thực chương trình: bấm Ctrl + F9 - Xây dựng Test
- Nhập DL, thu kết quả, đối chứng với kết test c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh
1 Thực chương trình viết ở trên, nhập DL, giới thiệu kết quả. - Hỏi: nhóm phím dùng để thực chương trình
2 Giới thiệu chương trình giải phương trình bậc ax + b = 0.
Var Begin
Readln(a,b); If a<>0 then Write(-b/a) Else
Write(‘Phuong trinh vo nghiem’); Readln;
End
- Yêu cầu HS tìm Test để chứng minh chương trình sai
1 Quan sát GV thực tham khảo SGK.
- Ctrl + F9
2 Quan sát yêu cầu GV độc lập suy nghĩ để tìm test.
a=0 b=0 x=VSN
IV Đánh giá cuối bài: (3') 1 Những nội dung học.
- Nhắc lại kiến thức trọng tâm 2 Câu hỏi tập.
- Viết chương trình nhập vào số tính bình phương số
- Viết chương trình nhập độ dài bán kính tính chu vi diện tích hình trịn tương ứng - Làm tập 9, 10 SGK-T36
(33)Tiết + 10:
Bµi tËp vµ thùc hµnh 1 A MỤC TIÊU, YÊU CẦU:
1 Kiến thức:
- Biết chương trình Pascal hồn chỉnh
- Làm quen với dịch vụ chủ yếu Turbo Pascal việc soạn thảo, lưu chương trình, dịch chương trình thực chương trình
2 Kĩ năng:
- Soạn chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực tìm lỗi thuật tốn hiệu chỉnh
- Bước đầu biết phân tích hồn thành chương trình đơn giản Turbo Pascal B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
GV: Chuẩn bị phòng máy thiết bị liên quan HS: Thực hành nghe giảng máy
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
Giới thiệu học
III Bài giảng, nội dung giảng:
TiÕt 9: 1 Tìm hiểu chương trình hồn chỉnh. a Mục tiêu:
- HS biết chương trình hồn chỉnh - Biết soạn chương trình
- Biết lưu, biên dịch, thực chương trình - Biết tìm lỗi sửa lỗi
(34)- Cho chương trình sau: Program GPT; Uses crt;
Var a, b, c, d, x1, x2: Real; Begin
Clrscr;
Write(‘Nhap a b c:’); Readln(a, b, c); d:= b*b – * a * c;
x1:= (-b + sqrt(d))/(2*a); x2:= (-b - sqrt(d))/(2*a);
Write(‘x1:=’, x1:6:2,’x2=’,x2:6:2); Readln;
End
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Viết chương trình lên bảng Yêu cầu HS thực nhiệm vụ:
- Soạn chương trình vào máy - Lưu chương trình
- Dịch lỗi cú pháp
- Thực chương trình
- Nhập -3 Thơng báo kết - Trở MH soạn thảo
- Thực chương trình
- Nhập DL Thơng báo kết - Hỏi: Vì có lỗi xuất hiện?
- Sửa lại chương trình khơng dùng biến d
1 Quan sát bảng, tự soạn chương trình vào máy.
F2 Alt + F9 Ctrl + F9
X1=1 X2=2
Enter Ctrl + F9 Thông báo lỗi
Do bậc số âm Readln(a, b, c);
X1:= (-b-sqrt(b*b-4*a*c))/(2*a); X2:= (-b+sqrt(b*b-4*a*c))/(2*a); Writeln(‘x1=’, x1:6:2, ‘x2=’, x2:6:2 );
45'
TiÕt 10: 2 Rèn luyện kĩ lập trình:
(35)b Nội dung:
- Viết chương trình tính diện tích hình tơ màu với a nhập vào từ BP
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Định hướng để HS phân tích tốn. - DL vào:
- DL ra: - Cách tính:
2 Yêu cầu Hs soạn chương trình và lưu đĩa.
- Quan sát hướng dẫn HS lúc thực hành
3 Yêu cầu HS nhập DL thông báo kết quả.
A=3 A= -3
1 Phân tích yêu cầu GV. A
S
Tính diện tích hình trịn có bk a(s1) Tính diện tích hình vng cạnh a √2
(s2) S:= s1-s2
2 Thực yêu cầu GV. - Soạn chương trình
- Bấm phím F2, lưu tên file - Dịch chương trình Alt + F9
- Ctrl + F9 thực chương trình - Thơng báo kết
3 Nhập DL theo yêu cầu.
- Với a= ta s= 9(pi-2) = 10.26 - Với a= -3, kết khơng độ dài cạnh phải số dương
5'
25'
5'
IV Đánh giá cuối bài: (10') 1 Những nội dung học.
(36)2 Câu hỏi tập nhà
- Viết chương trình nhập vào độ dài cạnh tam giác tính chu vi diện tích tam giác
- Cho chương trình sau: Program BT;
Var r, s1, s2, s:real; Begin
Write(‘Nhap r’); Readln(r); S1:=4*r*r; S2:=r*r*pi; S:=s1-s2; Write(s:6:2); Readln; End
Hỏi: Chương trinh thực cơng việc gì, kết in MH bao nhiêu? - Làm tập 7, 8, 9, 10 T36
+ Soạn chương trình + Dịch lỗi thực
(37)Tiết 11:
Ch ¬ng III: cấu trúc rẽ nhánh lặp Đ9: cấu tróc rÏ nh¸nh A MỤC TIÊU, U CẦU:
1 Kiến thức:
- HS biết ý nghĩa cấu trúc rẽ nhánh
- HS biết cấu trúc chung cấu trúc rẽ nhánh
- Biết cáchsử dụng dạng cấu trúc rẽ nhánh: dạng thiếu dạng đủ 2 Kĩ năng:
- Bước đầu sử dụng cấu trúc rẽ nhánh If then else Pascal để viết chương trình giải số toán đơn giản
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu ý nghĩa tổ chức rẽ nhánh. a Mục tiêu:
- HS biết ý nghĩa tổ chức rẽ nhánh, vẽ sơ đồ giải phương trình bậc 2: ax2 + bx + c = với a<>
b Nội dung:
Bắt đầu
(38)c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu VD thực tiễn minh họa cho tổ chức rẽ nhánh:
Chiều mai trời khơng mưa An xem đá bóng, trời mưa An xem ti vi nhà
- Yêu cầu học sinh tìm thêm số ví dụ tương tự
- Yêu cầu học sinh đưa cấu trúc chung cách diễn đạt
- Yêu cầu học sinh lấy ví dụ có cấu trúc chung dạng khuyết đưa cấu trúc chung
2 Nêu bước để kết luận nghiệm của pt bậc hai: ax2 + bx + c=0;
1 Chú ý theo dõi dẫn dắt ví dụ của giáo viên để suy nghĩ tìm ví dụ tương tự.
- Nếu VN thắng đội Indonesia đá tiếp tranh huy chương vàng với Thái Lan, khơng thắng VN tranh huy chương đồng với Mianmar
- Nếu khơng
- Nếu làm xong tập sớm An sang nhà Ngọc chơi
- Nếu
2 Theo dõi thực yêu cầu của giáo viên.
- Tính delta
5'
8'
Sai Đúng
Delta:=b*b+4*a*c
Tính in nghiệm Thông báo VN
Nếu delta>=0
(39)- Yêu cầu học sinh vẽ sơ đồ thực bước
- Nếu delta < kết pt vơ nghiệm - Nếu delta >=0 pt có nghiệm x=(-b+sqrt(delta))/(2a)
x=(-b-sqrt(delta))/(2a)
- Thực vẽ sơ đồ phần nội dung
2 Tìm hiểu cấu trúc lệnh rẽ nhánh IF – THEN – ELSE Pascal: a Mục tiêu:
- Học sinh biết cấu trúc chung lệnh IF Biết thực máy gặp lệnh IF Vẽ sơ đồ thực cho lệnh IF
b Nội dung:
- Dạng thiếu:
+ Cấu trúc: If <điều kiện> then <lệnh>;
Điều kiện: biểu thức quan hệ biểu thức logic Lệnh: lệnh Pascal
+ Sự thực máy: Tính giá trị <điều kiện>
Nếu <điều kiện> có giá trị thực <lệnh> + Sơ đồ:
Đúng
Sai
- Dạng đủ:
+ Cấu trúc: If <điều kiện> then <lệnh 1> else <lệnh 2>;
Điều kiện: biểu thức quan hệ biểu thức logic Lệnh1, Lệnh 2: lệnh Pascal
+ Sự thực máy: Tính giá trị <điều kiện>
Nếu <điều kiện> có giá trị thực <lệnh 1>, ngược lại thực <lệnh 2>
+ Sơ đồ:
Sai Đúng
Điều kiện Lệnh
Điều kiện Lệnh
(40)c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Yêu cầu học sinh nghiên cứu SGK và dựa vào ví dụ tổ chức rẽ nhánh để đưa cấu trúc chung của lệnh rẽ nhánh.
2 Nêu vấn đề trường hợp khuyết: Khi không đề cập đến việc xảy điều kiện khơng thỏa mãn, ta có yêu cấu trúc nào?
3 Yêu cầu học sinh vẽ sơ đồ thực hiện của lệnh rẽ nhánh dạng khuyết và dạng đầy đủ lên bảng.
4 Gợi ý cần thiết lệnh ghép. Đưa cấu trúc lệnh ghép.
- Khi giải thích lệnh, lệnh 1, lệnh 2, giáo viên nói: Sau then else em thấy phép đặt lệnh Trong thực tế, thường lại nhiều lệnh
- Yêu cầu học sinh nghiên cứu SGK cho biết cấu trúc để ghép lệnh thành lệnh
1 Nghiên cứu SGK trả lời.
If <điều kiện> then <lệnh 1> else <lệnh 2>;
2 Học sinh ý lắng nghe trả lời. - Khi ta có lệnh khuyết
If <điều kiện> then <lệnh>;
3 Vẽ sơ đồ thực được trình bày phần nội dung.
4 Theo dõi dẫn dắt giáo viên để trả lời.
- Ta phải nhóm nhiều lệnh thành lệnh
- Cấu trúc lệnh ghép: Begin
<Các lệnh cần ghép> End;
2'
2'
5'
5'
3 Rèn luyện kĩ vận dụng lệnh IF: a Mục tiêu:
- Bước đầu biết sử dụng lệnh IF để lập trình giải số toán đơn giản b Nội dung.
- VD1: Viết chương trình nhập vào độ dài hai cạnh hình chữ nhật tính chu vi, diện tích hình chữ nhật
- VD2: Tìm nghiệm pt bậc c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu nội dung, mục đích yêu cầu của
(41)hai cạnh hình chữ nhật tính chu vi, diện tích hình chữ nhật - Chương trình em viết, cho biết có hạn chế chương trình em?
- Hướng giải em nào?
- Yêu cầu học sinh nhà tiếp tục hồn thiện chương trình
2 Nêu nội dung tập, mục đích yêu cấu tập.
Tìm nghiệm pt bậc hai
- Hãy nêu bước để trả lời nghiệm pt bậc hai
- Trong toán ta cần lệnh rẽ nhánh Dạng nào?
- Khi nhập độ dài âm dẫn đến chương trình trả lời chu vi, diện tích âm Điều khơng có thực tế
- Dùng lệnh rẽ nhánh để kiểm tra giá trị đọ dài cạnh nhập vào
- Nếu độ dài dương tính diện tích ngược lại thơng báo độ dài sai
2 Ghi đề bài, ý mục đích yêu cầu của tập.
- Tính delta
- Nếu delta <0 pt vơ nghiệm - Nếu delta >= pt có nghiệm: x=(-b+sqrt(delta))/(2a) x=(-b-sqrt(delta))/(2a)
- Có thể sử dụng hai lệnh rẽ nhánh dạng khuyết, sử dụng lệnh dạng đủ
8'
IV Đánh giá cuối bài. 1 Những nội dung học
- Cấu trúc chung cấu trúc rẽ nhánh
- Sự thực máy gặp cấu trúc rẽ nhánh IF - Sơ đồ thực cấu trúc rẽ nhánh IF
2 Câu hỏi tập nhà:
- Trả lời câu hỏi 1, 2, SGK trang 50
(42)Ngày soạn: 11/8/2007 Tiết 12 + 13 + 14:
§10: cÊu tróc lỈp A MỤC TIÊU, U CẦU:
1 Kiến thức:
- Biết ý nghĩa cấu trúc lặp
- Biết cấu trúc chung lệnh lặp for Pascal - Biết sử dụng hai dạng lệnh lặp For Pascal
- Biết ý nghĩa cấu trúc lặp có số lần lặp chưa xác định - Biết cấu trúc chung lệnh lặp While Pascal - Biết thực máy gặp lệnh lặp While 2 Kĩ năng:
- Phân biệt giống khác cấu trúc lặp FOR While - Sử dụng lệnh lặp While lập trình
- Bước đầu biết lựa chọn dạng lệnh lặp để lập trình giải số toán đơn giản
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
Giới thiệu học
III Bài giảng, nội dung giảng:
TiÕt 12: 1 Tìm hiểu ý nghĩa cấu trúc lặp:
a Mục tiêu:
- Học sinh thấy cần thiết cấu trúc lặp lập trình
(43)a a a
a+100
Bài toán 2: Một người có số tiền S, ơng ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau 12 tháng gửi tiết kiệm(không rút tiền lãi hàng tháng), ông ta số tiền bao nhiêu?
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu toán đặt vấn đề toán 1: - Hãy xác định cơng thức tốn học để tính tổng?
- Gợi ý phương pháp: Ta xem S thúng nước, số hạng ca có dung tích khác nhau, việc tính tổng tương tự việc đổ ca nước vào thùng S
- Có bao nhiêulần đổ nước vào thùng? - Mỗi lần đổ lượng bao nhiêu? Lần thứ i đổ bao nhiêu?
- Phải viết lệnh?
2 Nêu toán đặt vấn đề toán 2: - Em hiểu cách tính tiền gửi tiết kiệm toán
- Từ đó, lập cơng thức tính tiền thu sau tháng thứ
- Ta phải thực tính lần vậy?
- Dẫn dắt: Chương trình viết dài, khó đọc dễ sai sót Cần có cấu trúc điều khiển việc lặp lại thực công việc
- Trong tất ngơn ngữ lập trình có cấu trúc điều khiển việc thực lặp lại với số lần định trước
3 Yêu cầu học sinh viết thuật toán giải quyết toán 1, 2.
1 Chú ý quan sát tốn dặt vấn đề. - Rất khó xác định công thức
- Theo dõi gợi ý
- Phải thực 100 lần đổ nước - Mỗi lần đổ là:
a+i - Phải viết 100 lệnh
2 Chú ý quan sát trả lời câu hỏi - Với số tiền gửi S, sau tháng có tiền lãi 0,015 * S
- Số tiền cộng vào số tiền ban đầu để tính lãi cho tháng - S:= S+ 0,015 * S;
- Phải thực tính 12 lần
- Tập trung theo dõi giáo viên trình bày
3 Thảo luận để viết thuật toán.
5'
5'
(44)Hoạt động giáo viên Hoạt động học sinh thờigian
Bước 1: N 0; S 1/a; Bước 2: N N+1;
Bước 3:Nếu N>100 chuyển đến B5 Bước 4: S S + 1/(a + N); quay lại B2 Bước 5: Đưa S hình kết thúc
2 Tìm hiểu lệnh lặp For ngôn ngữ Pascal: a Mục tiêu:
- Học sinh biết cấu trúc chung lệnh FOR Hiểu ý nghĩa thành phần lệnh Biết thực máy gặp FOR Vẽ sơ đồ thực b Nội dung:
- Dạng tiến: Cấu trúc:
For <biến đếm>:= <Giá trị đầu> to <Giá trị cuối> <lệnh cần lặp> Biến đếm: biến kiểu nguyên, kí tự miền
Giá trị đầu, giá trị cuối biểu thức kiểu với biến đếm Giá trị đầu phải nhỏ giá trị cuối
Sự thực máy:
Bước 1: Tính giá trị đầu, gán cho biến đếm
Bước 2: Nếu biến đếm <= giá trị cuối thực lặp tăng biến đếm lên đơn vị, quay lại Bước Sơ đồ thực hiện:
- Dạng lùi: Cấu trúc:
Biến đếm <=Giá trị cuối
Lệnh cần lặp Biến đếm tăng Biến đếm:=Giá trị đầu
Đúng
(45)For <biến đếm>:= <Giá trị cuối> Downto <Giá trị đầu> <lệnh cần lặp> Biến đếm: biến kiểu nguyên, kí tự miền
Giá trị đầu phải lớn giá trị cuối Sự thực máy:
Bước 1: Tính giá trị đầu, gán cho biến đếm
Bước 2: Nếu biến đếm >= giá trị cuối thực lặp Giảm biến đếm di đơn vị, quay lại Bước Sơ đồ thực hiện:
Sai
Đúng
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc chung FOR? - Giải thích:
<biến đếm>: biến kiểu nguyên, kí tự - Hỏi: Ý nghĩa <giá trị đầu> <giá trị cuối>, kiểu liệu chúng?
- Hỏi: Trong toán gửi tiết kiệm, <giá trị đầu><giá trị cuối> bao nhiêu?
- Hỏi: Trong tốn tính tổng <giá trị đầu><giá trị cuối> bao nhiêu?
- Dẫn dắt: Những lệnh cần lặp lại ta đặt sau Do
- Hỏi: Khi nhiều lệnh khác cần lặp lại ta viết nào?
1 Đọc SGK trả lời
For <biến đếm>:= <Giá trị đầu> to <Giá trị cuối> <lệnh cần lặp>
- Biến đếm dùng để làm giới hạn cho biến đếm
- Cùng kiểu với <biến đếm>
- <giá trị đầu> 1, <giá trị cuôi> 12
-<giá trị đầu> 1, <giá trị cuôi> 100
- Phải sử dụng cấu trúc lệnh ghép
15'
Biến đếm >=Giá trị cuối
(46)Hoạt động giáo viên Hoạt động học sinh thờigian
- Hỏi: Trong toán tiết kiệm, lệnh cần lặp lại?
- Hỏi: Trong tốn tính tổng, lệnh cần lặp lại?
- Hỏi: Em có nhận xét giá trị <giá trị đầu> <giá trị cuối>?
- Dẫn dắt: Khi lệnh FOR gọi FOR tiến Ngơng ngữ lập trình Pascal có dạng FOR khác gọi FOR lùi 2 Yêu cầu trình bày cấu trúc FOR lùi.
- Hỏi: So sánh <giá trị đầu> <giá trị cuối> ? - Hỏi: Trong toán trên, dạng FOR phù hợp?
- S:= S + 0.015 * S;
- S:= S + a+i ;
- <giá trị đầu> < <giá trị cuối>
2 Nghiên cứu SGK suy nghĩ so sánh với cấu trúc FOR tiến.
For <biến đếm>:= <Giá trị cuối> Downto <Giá trị đầu> <lệnh cần lặp> - <giá trị đầu> > <giá trị cuối>
- Sử dụng dạng FOR tiến phù hợp
10'
TiÕt 13:
3 Tìm hiểu ý nghĩa cấu trúc lặp có số lần chưa xác định: a Mục tiêu:
- Biết cần thiết phai có cấu truc lặp có số lần chưa xác định lập trình b Nội dung:
- Bài tốn 1: Viết chương trình tính tổng: S= a +
1
a+1 +
1
a+2 + +
1
a+N + a1
+N < 0,0001
- Bài tốn 2: Một người có số tiền S đồng, ông ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau tháng gửi tiết kiệm ơng ta có số tiền lớn S1 đồng?
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Chiếu nội dung toán 1. 1 Chú ý lắng nghe, quan sát suy nghĩ để trả lời.
(47)- Hỏi: Sự khác toán với toán viết tiết trước?
- Hỏi: Lặp lần? - Hỏi: Lặp đến nào?
2 Chiếu nội dung toán 2.
- Hỏi: Sự khác toán với toán trước?
- Hỏi: Số lần lặp?
- Hỏi: Lặp đến nào?
3 Kết luận: Qua VD ta thấy có một dạng tốn có lặp lại số lệnh trước số lần lặp Cần có cấu trúc điều khiển lặp lại công việc định thỏa mãn điều kiện
- Bài tốn trước: cho giới hạn N - Bài toán này: cho giới hạn S - Chưa xác định - Đến điều kiện
a+N <0,0001 thỏa mãn
2 Chú ý lắng nghe, quan sát suy nghĩ trả lời.
- Bài toán trước: Biết số tháng, hỏi số tiền
- Bài này: Biết số tiền hỏi số tháng
- Chưa biết trước, số tháng cần tìm
- Đến số tiền thu > S1 đồng 3 Theo dõi ghi nhớ kết luận của giáo viên.
5'
5'
4 Tìm hiểu cấu trúc lệnh lặp While Pascal. a Mục tiêu:
- Học sinh biết cấu trúc chung lệnh While Hiểu ý nghĩa thành phần lệnh Biết thực máy gặp lệnh While Vẽ sơ đồ thực
b Nội dung:
- Cấu trúc: While <điều kiện> <lệnh cần lặp>; Điều kiện: biểu thức quan hệ biểu thức logic Sự thực máy:
Bước 1: Tình giá trị <điều kiện>
Bước 2: Nếu <điều kiện> có giá trị thì: Thực lệnh cần lặp, quay lại B1 Sơ đồ thực hiện:
Sai
(48)c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Yêu cầu học sinh nghiên cứu SGK và cho biết cấu trúc chung lệnh lặp While.
- Giải thích:
+ <điều kiện>: Là biểu thức quan hệ biểu thức logic, điều kiện để lặp lại
- Hỏi: Trong toán 1: điều kiện để lặp lại gì?
- Hỏi: Trong tốn 2: điều kiện để lặp lại gì?
+ <lệnh cần lặp>: lệnh cần phải lặp lại
- Hỏi: Trong toán cần lặp gì?
- Hỏi: Một khác lệnh cần lặp FOR While gì?
- Dựa vào cấu trúc chung, cho biết máy thực tính <điều kiện> trước hay thực <lệnh cần lặp> trước? 2 Yêu cầu học sinh lên bảng vẽ sơ đồ cấu trúc.
- Gọi học sinh đáng giá nhận xét
1 Tham khảo SGK trả lời. - Cấu trúc chung:
While <điều kiện> <lệnh cần lặp>
-
a+N > 0,0001; - S < S1;
- S:= S+ 0.015 * S, để tính số tiền t:= t+1, để tính số tháng
S:= S + 1/(a+i): để tính tổng, i:= i+1 để tăng số
- While phải có lệnh tăng biến số
-Tính biểu thức điều kiện trước - Thực lệnh cần lặp sau
2 Lên bảng vẽ sơ đồ cấu trúc lệnh While.
20'
10'
TiÕt 14: 5 Rèn luyện kĩ vận dụng lệnh lặp FOR: a Mục tiêu:
- Sử dụng lệnh lặp FOR để giải toán đơn giản b Nội dung.
Điều kiện
(49)a a a a 100
- VD2: Một người có số tiền S, ơng ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau 12 tháng gửi tiết kiệm, ông ta số tiền bao nhiêu?
c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu nội dung toán Mục tiêu là xác định việc cần làm. - Xác định giá trị đầu giá trị cuối
- Xác định lệnh cần lặp lại
- Yêu cầu học sinh hồn tiếp tục thiện chương trình nhà
2 Nội dung 2, mục tiêu viết được chương trình hồn thiện.
- Định hướng vấn đề chính: Cho học sinh thảo luận gọi lên bảng
1 Chú ý lắng nghe trả lời yêu cầu giáo viên.
- Giá trị đầu 1, giá trị cuối 100
- S= S + a+i ;
2 Chú ý lắng nghe nội dung yêu cầu.
- Nghiên cứu lên bảng trả lời
10'
6 Rèn luyện kĩ vận dụng lệnh lặp While: a Mục tiêu:
- Học sinh bước đầu biết sử dụng lệnh While để lập trình giải số toán đơn giản
b Nội dung.
- VD 1: Một người có số tiền S đồng, ông ta gửi tiết kiệm ngân hàng với lãi suất 1,5% tháng Hỏi sau tháng gửi tiết kiệm ơng ta có số tiền lớn S1 đồng?
- VD 2: Viết chương trình nhập vào số nguyên dương a b Tìm USCLN a, b c Các bước tiến hành:
Hoạt động giáo viên Hoạt động học sinh thờigian
1 Nêu nội dung toán Mục tiêu là viết chương trình hồn thiện.
- Định hướng vấn đề + Xác định điều kiện để tiếp tục lặp + Xác định lệnh cần lặp
1 Chú ý lắng nghe suy nghĩ trả lời các câu hỏi định hướng giáo viên. - Điều kiện: S < S1;
- S:= S+ 0,015 * S, để tính số tiền t:= t+1, để tính số tháng
(50)Hoạt động giáo viên Hoạt động học sinh thờigian
2 Nêu bà tốn 2:Mục tiêu phân tích để xác định <điều kiện> <lệnh cần lặp> - Lấy VD cụ thể tìm USCLN số 15 25
m n 15 25 15 10 10 - Trả lời: UCLN
- Hỏi: điều kiện để tiếp tục lặp gì? - Các lệnh cần lặp gì?
- u cầu học sinh nêu thuật tốn để tìm USCLN hai số đó?
- u cầu học sinh câu hỏi cần đặt gặp toán dạng này?
2 Tập trung theo dõi để thấy được những công việc cần thực hiện.
- Điều kiện m<>n
- Lệnh cần lặp: m:=m-n; n:=n-m; - Thuật toán:
B1: Nếu m=n UC=m, dừng
B2: Nếu m>n m:=m-n ngược lại n:=n-m; quay lại B1
- Suy nghĩ trả lời
+ Điều kiện để lặp lại + Những lệnh cần lặp lại
25'
IV Đánh giá cuối bài: (3') 1 Những nội dung học.
- Cấu trúc chung lệnh lặp FOR, Sơ đồ thực lệnh lặp FOR - Ý nghĩa cấu trúc lặp có số lần chưa xác định
- Cấu trúc chung lệnh While Pascal - Sơ đồ thực lệnh While
- Sự thực máy gặp lệnh While 2 Câu hỏi tập nhà:
- Giải tập 4, 5.a, 5.b, 6, 7, SGK trang 51
(51)Tiết 15 + 16:
Bµi tËp vµ thùc hµnh 2 A MỤC TIÊU, YÊU CẦU:
1 Kiến thức:
- Nắm cấu trúc sơ đồ thực cấu trúc rẽ nhánh 2 Kĩ năng:
- Rèn luyện kĩ sử dụng cấu trúc rẽ nhánh việc lập trình giải số tốn cụ thể
- Làm quen với cơng cụ phục vụ hiệu chỉnh chương trình 3 Thái độ:
- Tự giác, tích cực chủ động thực hành B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
TiÕt 15:
1 Làm quen với chương trình cơng cụ hiệu chỉnh chương trình. a Mục tiêu:
- Học sinh hiểu nội dung chương trình kết sau thực chương trình Biết cơng cụ dùng để hiệu chỉnh chương trình cần thiết như: thực bước xem kết trung gian
b Nội dung:
- Ba số nguyên dương a, b, c gọi số Pitago tổng bình phương số bình phương hai số cịn lại
Yêu cầu: Viết chương trình nhập từ bàn phím số nguyên dương a, b, c kiểm tra xem chúng có số Pitago hay khơng?
(52)Hoạt động giáo viên Hoạt động học sinh thờigian
- GV: Cho lớp lên phòng máy
- GV: Phổ biến nội quy phịng máy, u cầu học sinh phải có trách nhiệm bảo vệ tất trang thiết bị
1 Gợi ý để học sinh nêu khái niệm về bộ số Pitago.
- Yêu cầu : lấy VD cụ thể
- Hỏi: Để kiểm tra số a, b, c có phải Pitago, ta phải kiểm tra đẳng thức nào?
2 Yêu cầu học sinh thực thao tác soạn chương trình, lưu, thực hiện từng lệnh chương trình.
- Yêu cầu học sinh gõ chương trình mẫu vào máy
-Yêu cầu học sinh lưu chương trình lên đĩa với tên Pitago.pas
- Yêu cầu học sinh thực lệnh chương trình
- Yêu cầu học sinh xem kết a2, b2, c2
- Yêu cầu học sinh tự tìm thêm số a b c khác so sánh
- Học sinh lắng nghe thực
1 Chú ý lắng nghe
- Tổng bình phương số bình phương số cịn lại
- VD - a2 = b2 + c2 b2 = a2 + c2 c2 = a2 + b2
2 Soạn chương trình vào máy theo yêu cầu giáo viên.
- Bấm F2, gõ tên Pitago.pas enter
- Bấm F7: Nhập giá trị a=5, b=4, c=3
- Chon menu Debug để mở cửa sổ hiệu chỉnh
- Quan sát trình rẽ nhánh liệu vào trả lời
5'
10'
2 Rèn luyện kĩ lập trình hồn thiện toán: a Mục tiêu:
- Học sinh biết đọc hiểu đề, phân tích u đề Từ chon cấu trúc liệu lệnh phù hợp để lập trình
b Nội dung:
- Viết chương trình giải phương trình ax + b =
(53)1 Nêu nội dung, mục đích, yêu cầu của toán.
- Hỏi: Bước để giải toán? - Hỏi: Để xác định ta phải đặt câu hỏi nào? Gọi học sinh đặt câu hỏi gọi học sinh trả lời cho câu hỏi đó?
- Yêu cầu học sinh phác họa thuật toán 2 Yêu cầu học sinh gõ chương trình vào máy.
- GV tiếp cận học sinh để hướng dẫn sửa sai
3 Yêu cầu học sinh nhập liệu 1, 2, -2
1 Chú ý theo dõi vấn đề đặt của giáo viên.
- Xác định Input output, thuật giải - Mục đích giải phương trình?
+ Kết luận số nghiệm giá trị nghiệm x - Để tính nghiệm x cần đại lượng nào?
+ Cần đại lượng a, b
- Có bước xử lý để tính x?
2 Độc lập soạn chương trình vào máy. - Thơng báo kết viết
3 Nhập liệu theo yêu cầu GV.
5'
10'
5'
IV Đánh giá cuối bài: (8') 1 Nội dung học:
Các bước để hồn thành chương trình:
- Phân tích tốn để xác định liệu vào, ra, thuật tốn - Soạn chương trình vào máy
- Lưu trữ chương trình - Biên dịch
- Thực hiệu chỉnh chương trình 2 Câu hỏi tập nhà:
- Viết chương trình nhập vào độ dài cạnh tam giác tính chu vi, diện tích tam giác
(54)Var a,b,max:integer; Begin
Write(‘Nhập vào số bất kỳ’); Readln (a,b);
Max :=a;
If max<b then max:=a; Writeln (max);
Readln; End
(55)Bài 11: KIỂU MẢNG
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết kiểu liệu kiểu mảng chiều Biết loại biến có số
- Biết cấu trúc tạo kiểu mảng chiều cách khai báo biến kiểu mảng chiều 2 Kĩ năng:
- Tạo kiểu mảng chiều sử dụng biến mảng chiều Pascal để giải số toán cụ thể
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số
II Kiểm tra cũ gợi động học: - Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu ý nghĩa mảng chiều. a Mục tiêu:
- Biết ý nghĩa cần thiết kiểu mảng chiều việc giải số toán Biết khái niệm kiểu mảng chiều
b Nội dung:
- VD: Nhập vào nhiệt độ(TBình) cảu ngày tuần Tính in hình nhiệt độ trung bình túan số lượng ngày tuần có nhiệt độ cao nhiệt độ trung bình tính
(56)Program nhietdo;
Var t1,t2,t3,t4,t5,t6,t7,tb:real; Dem:integer;
Begin
Write(‘Nhập vào nhiệt độ ngày:’); readln(t1,t2,t3,t4,t5,t6,t7); tb:=(t1+t2+t3+t4+t5+t6+t7)/7;
dem:=0;
if t1>tb then dem:=dem+1; if t2>tb then dem:=dem+1; if t3>tb then dem:=dem+1; if t4>tb then dem:=dem+1; if t5>tb then dem:=dem+1; if t6>tb then dem:=dem+1; if t7>tb then dem:=dem+1;
writeln (‘Nhiệt độ trung bình tuần:’, tb);
writeln (‘Số ngày nhiệt đọ cao nhiệt độ trung bình tuần:’, dem); readln;
End
- Mảng chiều dãy hữu hạn phần tử có kiểu liệu Các phần tử mảng có chung tên phân biệt số Để mô tả mảng chiều cần xác định kiểu phần tử cách đánh số phần tử
- Hầu hết ngơn ngữ lập trình có quy tắc cho phép xác định tên kiểu mảng, số lượng phần tử, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Chép đề chương trình lên bảng. - Hỏi: Khi N lớn chương trình có hạn chế nào?
- Dẫn dắt: Để khắc phục hạn chế trên, người ta thường ghép chung biến thành dãy đặt cho chung tên đánh cho phần tử số
2 Yêu cầu học sinh tham khảo SGK hỏi: Em hiểu mảng chiều?
- Hỏi để mô tả mảng chiều, ta cần xác định yếu tố nào?
1 Quan sát suy nghĩ.
- Phải khai báo nhiều biến Chương trình phải viết dài
2 Nghiên Cứu SGK trả lời.
(57)2 Tạo kiểu mảng chiều khai bao biến mảng: a Mục tiêu:
- Học sinh biết cách tạo kiểu liệu mảng chiều Pascal, biết cách khai báo biến tham chiếu đến phần tử mảng
b Nội dung:
- Tạo kiểu liệu mảng chiều:
TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần;
+ Kiểu_chỉ_số: thường đoạn số nguyên(hoặc đoạn kí tự) liên tục, có dạng n1 n2 với n2 biểu thức nguyên (hoặc kí tự) xác định số đầu số cuối mảng + Kiểu_thành_phần: kiểu liệu chung phần tử mảng
- Khai báo biến mảng chiều: Var tên_biến: tên_kiểu_mảng;
- Tham chiếu đến phần tử mảng: Tên_biến [chỉ số]
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Yêu cầu học sinh nghiên cứu SGK cho biết cách tạo kiểu liệu mảng chiều trong Pascal?
- Tìm VD để minh họa
- Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn vừa viết?
- Viết lên bảng số khai báo kiểu mảng chiều:
Type
Arrayr = array [1 200] of real; Arrayr = array [byte] of real;
Arrayr = array [-100 0] of boolean; Hỏi: khai báo đúng?
2 Yêu cầu học sinh cho biết cách khai báo biến VD khai báo mảng ứng với kiểu liệu vừa tạo.
- Gọi học sinh khác, hỏi: Ý nghĩa lệnh bạn vừa viết?
- Dung lượng nhớ biến a chiếm bao nhiêu?
- Chú ý cho học sinh cách đặt tên kiểu
1 Tham khảo SGK trả lời.
- TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần; - VD: Type mmc=array[1 100] of integer;
- Tạo kiểu liệu có tên mmc, gồm 100 phần tử, có kiểu nguyên
- Quan sát chon khai báo
Arrayr = array [1 200] of real; Arrayr = array [-100 0] of boolean;
2 Tham khảo SGK trả lời. - VAR tên_biến:tên_kiểu mảng; - VD: Var a:mmc;
- Khai báo biến mảng chiều
(58)liệu tên biến, tránh nhầm lẫn
3 Giới thiệu cách tham chiếu đến phần tử mảng chiều Yêu cầu học sinh lấy VD.
3 Theo dõi hướng dẫn giáo viên suy nghĩ trả lời.
- a[1] phần tử vị trí mảng a - a[i] phần tử vị trí i mảng a
3 Rèn luyện kĩ sử dụng kiểu mảng chiều: a Mục tiêu:
- Học sinh sử dụng biến kiểu mảng chiều để giải toán đơn giản b Nội dung.
- Bài toán: Giải toán phần đặt vấn đề phần 1, có sử dụng biến mảng chiều
c Các bước tiến hành
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1.Giới thiệu đề bài. - Ghi đề lên bảng
- Yêu cầu học sinh xác định đầu vào, liệu đầu
- Hỏi: Nếu không sử dụng biến mảng chiều, ta giải tốn khơng? Khó khăn khơng?
2 Định hướng: Sử dụng kiểu mảng một chiều để giải toán.
- Yêu cầu học sinh khai báo biến mảng
- Yêu cầu học sinh tìm nhiệm vụ cần giải
1 Quan sát đề bài, theo dõi những yêu cầu cần giải đề bài. - Vào số giá trị nhiệt độ ngày tuần
- Ra: số ntb nhiệt độ trung bình tuần số nch số ngày có nhiệt độ cao nhiệt độ trung bình - Được:
- Chương trình dài dịng, khó sửa chữa
2 Theo dõi hướng dẫn giáo viên.
- Type tuan=array [1 7] of real; Var ndtuan:tuan;
- Nhập giá trị cho mảng a;
- Tính trung bình cộng giá trị mảng
IV Đánh giá cuối bài.
1. Những nội dung học:
- Cách tạo kiểu mảng chiều cách khai báo biến
TYPE tên_kiểu_mảng = Array [kiểu_chỉ_số] Of kiểu_thành_phần; VAR tên_biến:tên_kiểu mảng;
(59)2. Câu hỏi tập nhà:
- Viết chương trình nhập vào mảng gồm n số ngun (1<=n<=100), số có giá trị tuyệt đối khơng q 300 Tính tổng giá trị phần tử có giá trị chia hết cho k
(60)Bài 11 : KIỂU MẢNG (Tiếp)
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết kiểu liệu kiểu mảng hai chiều
- Biết cách tạo kiểu mảng hai chiều, cách khai báo biến, tham chiếu đến phần tử mảng
2 Kĩ năng:
- Tạo kiểu mảng hai chiều khai báo biến mảng hai chiều Pascal Sử dụng biến mảng để giải số toán cụ thể
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu ý nghĩa kiểu mảng hai chiều: a Mục tiêu:
- Học sinh biết ý nghĩa cần thiết kiểu mảng hai chiều việc giải số toán
b Nội dung:
Bài tốn: Viết chương trình để in hình bảng cửu chương có dạng sau:
1
2 10 12 14 16 18
(61)5 10 15 20 25 30 35 40 45
6 12 18 24 30 36 42 48 54
7 14 21 28 35 42 49 56 63
8 16 24 32 40 48 56 64 72
9 18 27 36 45 54 63 72 81
- Khái niệm: Mảng hai chiều bảng phần tử có kiểu liệu
- Hầu hết ngơn ngữ lập trình có quy tắc cho phép xác định tên kiểu mảng hai chiều, số lượng phần tử chiều, kiểu liệu phần tử, cách khai báo biến mảng cách tham chiếu đến phần tử mảng
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Giới thiệu VD SGK Tính đưa bảng cửu chương hình.
- Hỏi: Sử dụng kiến thức mảng chiều, đưa cách sử dụng kiểu mảng để lưu trữ bảng cửu chương?
- Với cách lưu trữ ta phải khai báo biến mảng?
- Có khó khăn gì?
- Để khắc phục khó khăn này, ta xem mảng chiều phần tử, ta ghép mảng chiều thành mảng hai chiều
- Yêu cầu học sinh nhận xét mảng hai chiều
2 Các yếu tố xác định mảng hai chiều.
-Hỏi: Để mô tả kiểu mảng hai chiều, ta cần xcs định yếu tố nào?
1 Chú ý theo dõi yêu cầu dẫn dắt giáo viên.
- Sử dụng mảng chiều, mảng lưu hàng bảng
- Khai báo biến mảng chiều
- Khai báo nhiều biến, viết chương trình nhập xuất liệu dài
- Nếu xem hàng mảng hai chiều phần tử ta nói mảng hai chiều mảng chiều mà phần tử mảng chiều
2 Các yếu tố để xây dựng mảng hai chiều.
- Tên kiểu mảng
- Số phần tử dòng, số phần tử cột
- Kiểu liệu chung phần tử
2 Tìm hiểu kiểu mảng hai chiều: a Mục tiêu:
- Học sinh biết cách tạo kiểu liệu mảng hai chiều, biết khai báo biến mảng Pascal, biết tham chiếu đến phần tử mảng
b Nội dung:
- Tạo kiểu liệu mảng hai chiều:
(62)- Khai báo biến mảng hai chiều: VAR tên_biến: tên_kiểu_mảng; - Tham chiếu đến phần tử:
Tên_biến [chỉ_số_dòng, chỉ_số_cột]
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Yêu cầu học sinh nghiên cứu SGK cho biết cách tạo kiểu liệu mảng hai chiều. - Yêu cầu học sinh tìm VD minh họa
- Gọi học sinh khác, hỏi: Ý nghĩa lệnh mà bạn vừa viết?
2 Yêu cầu học sinh cho biết cách khai báo biến VD khai báo biến mảng hai chiều ứng với kiểu liệu vừa tạo.
3 Giới thiệu cách tham chiếu đến phần tử mảng chiều Yêu cầu học sinh lấy VD.
1 Tham khảo SGK trả lời.
- TYPE tên_kmhc = Array[csd,csc] OF kiểu_thành_phần;
- VD: Type mhc=array [1 10,1 5] of integer;
- Lệnh dùng để tạo kiểu mảng hai chiều có tên mhc gồm 10 dịng cột, phần tử có kiểu liệu integer
2 Tham khảo SGK trả lời. - VAR tên_biến: tên_kmhc; - VD: Var a:mhc;
3 Quan sát cấu trúc chung suy nghĩ tìm VD.
- a[1,2] phần tử dòng số 1, cột mảng a
- a[i,j] phần tử dòng số i, cột j mảng a
3 Rèn luyện kĩ sử dụng kiểu mảng hai chiều.: a Mục tiêu:
- Học sinh sử dụng biến kiểu mảng hai chiều để giải toán đơn giản b Nội dung.
- Giải toán đặt vấn đề hoạt động c Các bước tiến hành
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Giới thiệu đề bài. - Viết đề lên bảng
- Yêu cầu học sinh xác định cách thức tổ chức liệu
- Yêu cầu học sinh nhiệm vụ tốn cần giải
2 Yêu cầu học sinh viết chương trình. 3 Yêu cầu học sinh xem VD2 SGK trang 62
1 Quan sát đề bài, theo dõi những yêu cầu cần giải cùa đề bài. - Dùng mảng hai chiều
- Điền giá trị cho a[i,j] = i*j;
(63)1. Những nội dung học.
- Tạo kiểu liệu mảng hai chiều:
TYPE tên_kiểu_mảng= Array [chỉ_số_dòng, chỉ_số_cột] OF kiểu_thành_phần; - Khai báo biến mảng hai chiều: VAR tên_biến: tên_kiểu_mảng;
- Tham chiếu đến phần tử: Tên_biến [chỉ_số_dòng, chỉ_số_cột] 2. Câu hỏi tập nhà.
- Làm tập số 8, SGK trang 79, 80
- Xem trước nội dung thực hành SGK trang 63
BÀI TẬP VÀ THỰC HÀNH 3
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Củng cố lại kiến thức kiểu liệu mảng 2 Kĩ năng:
- Nâng cao kĩ sử dụng số lệnh kiểu liệu mảng chiều lập trình, cụ thể
(64)+ Nhập/ xuất liệu cho mảng
+ Duyệt qua tất phần tử mảng để xử lý phần tử - Biết giải số toán thường gặp:
+ Tính tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ
3 Thái độ:
- Góp phần rèn luyện tác phong, tư lập trình: tự giác, tích cực, chủ động sáng tạo tìm kiém kiến thức
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học
III Bài giảng, nội dung giảng:
1 Tìm hiểu cách sử dụng lệnh kiểu liệu mảng chiều qua chương trình có sẵn.
a Mục tiêu:
- Học sinh hiểu chương trình có sẵn câu a, biết kết chạy chương trình này, từ tìm cách giải câu b
b Nội dung:
Tìm hiểu, gõ chương trình câu a SGK trang 63 chạy thử
Thêm lệnh vào chương trình nằm sửa đổi chương trình câu a để chương trình thực đếm số lượng số dương số âm mảng SGK trang 64
(65)1 Tìm hiểu chương trình câu a SGK trang 63 chạy thử chương trình.
- Hỏi: Khai báo Uses crt; có ý nghĩa gì?
- Hỏi: Myarray tên kiểu liệu hay tên biến? - Hỏi: Vai trò nmax n có khác nhau?
- Hỏi: Những dònh lệnh dùng để tạo biến mảng a?
- Thực chương trình để học sinh thấy kết
- Hỏi: Lệnh gán a[i]:=random(300) – random(300) có ý nghĩa gì?
- Hỏi: Lệnh For i:=1 to n write(A[i]:5); có nghĩa gì?
- Hỏi: Lệnh For – Do cuối thực nhiệm vụ gì?
- Hỏi: Lệnh s:=s+ a[i]; thực lần?
2 Sửa chương trình câu a để chương trình giải tốn câu b.
- Viết lệnh cần thêm vào lên bảng
- Hỏi: ý nghĩa biến Posi neg? - Hỏi: Các chức lệnh: If a[i] > then posi:= posi+1 Else if a[i] < then neg:=neg+1;
- Yêu cầu học sinh gõ thêm vào chạy thử chương trình
1 Gõ vào máy chạy thử. - Để sử dụng thủ tục Clrscr; - Tên kiểu liệu
- nmax số phần tử tối đa chứa biến mảng a, n số phần tử thực tế a
- Lệnh khai báo khai báo biến
- Chạy chương trình xem kết
- Lệnh sinh ngẫu nhiên giá trị cho mảng a từ -299 đến 299
- In hình giá trị phần tử mảng a
- Cộng phần tử chia hết cho k
- Bằng số phần tử a[i] chia hết cho k
2 Quan sát ý theo dõi các câu hỏi giáo viên:
- Quan sát lệnh suy nghĩ vị trí cần sửa chương trình câu a - Dùng để lưu số lượng đếm - Đếm số dương số âm
- Thêm đoạn chương trình vào chạy thử
2 Rèn luyện kĩ lập trình: a Mục tiêu:
- Viết chương trình hoàn thiện cách sử dụng lệnh kiểu liệu mảng một chiều
b Nội dung:
- Viết chương trình tìm phần tử có giá trị lớn mảng in hình số giá trị phần tử tìm Nếu có nhiều phần tử có giá trị lớn đưa phần tử có số nhỏ
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
(66)có kích thước lớn dãy viên sỏi để gợi ý cho học sinh thuật tốn tìm giá trị lớn
- u cầu: nêu thuật tốn tìm phần tử có giá trị lớn
2 Tìm hiểu chương trình tìmchỉ số giá trị lớn nhất.
- Yêu cầu học sinh tìm hiểu VD2 SGK trang 64
- Hỏi: Vai trị biến j chương trình?
- Hỏi: Nếu muốn tim phần tử nhỏ nhất, cần sửa chỗ nào?
3 Yêu cầu học sinh chỉnh sửa viết chương trình vào máy để chạy thử
- So sánh tửtái sang phải, giữ lại số phần tử lớn
2 Quan sát chương trình, suy nghĩ và trả lời.
- Giữ lại số phần tử có giá trị lớn
- Phép so sánh a[i]<a[j];
3 Thực yêu cầu của giáo viên.
IV Đánh giá cuối bài.
1. Những nội dung học: - Một số thuật tốn bản:
+ Tính tổng phần tử thỏa mãn điều kiện + Đếm số phần tử thỏa mãn điều kiện + Tìm phần tử lớn nhất, nhỏ
2. Câu hỏi tập nhà:
- Viết chương trình nhập mảng chiều A[1 20] nhập số x Đếm số lượng số A có giá trị x
- Xem nội dung tập thực hành SGK trang 65
BÀI TẬP VÀ THỰC HÀNH 4
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Củng cố lại kiến thức lập trình với kiểu liệu mảng - Làm quen với thuật toán xếp đơn giản
2 Kĩ năng:
(67)3 Thái độ:
- Tự giác, chủ động thực hành B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- GV: Chuẩn bị phòng máy thiết bị liên quan - HS: Thực hành nghe giảng máy
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu chương trình diễn đạt thuật toán xếp. a Mục tiêu:
- Học sinh hiểu chương trình thuật tốn xếp đơn giản b Nội dung:
Bài 1: Viết chương trình xếp phần tử mảng theo thứ tự khơng giảm Chương trình minh họa:
Program Sapxep; Uses crt;
Const nmax=250;
Type arrint=array[1 nmax] of integer; Var i,n,j,t:integer;
a:arrint; Begin
Clrscr; Randomize;
Write(‘Nhập n=’); readln(n); For i:=1 to n
(68)Write (a[i]:5); Writeln ;
For j:=n downto For i:=1 to j -1
If a[i] > a[i + 1] then Begin
t:=a[i]; a[i]:=a[i + 1]; a[i + 1]:=t;
End;
Writeln(‘Dãy số sau xếp:’); For i:=1 to n
Write(a[i]:7); Writeln ; Readln;
End
- Yêu cầu: Soạn chương trình vào máy, chạy thử với giá trị khác n Rút nhận xét thời gian thực chương trình
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Gợi ý cho học sinh thuật toán xếp tăng dần.
- Lấy VD thực tiễn: Người mù xếp dãy viên bi theo kích thước khơng giảm - u cầu: Vạch bước để xếp phần tử cảu mảng khơng giảm
2 Tìm hiểu VD SGK trang 65. -Viết chương trình lên bảng
- Hỏi: Vai trị biến i, j chương trình? Mỗi vịng lặp For đoạn chương trình xếp có ý nghĩa gì?
- Hỏi: Ba lệnh t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t; có ý nghĩa gì?
- Thực chương trình, nhập liệu để học sinh thấy kết chương trình
- Hỏi: Chương trình làm cơng việc gì?
1 Chú ý theo dõi dẫn dắt của giáo viên để trả lời câu hỏi. - Lần lượt lấy phần tử từ trái sang phải
- Cứ phần tử ta đem so sánh với phần tử đứng bên phải
- Nếu nhỏ đổi chỗ
2 Quan sátchương trình, suy nghĩ câu hỏi trả lời.
- Biến i, j dùng để làm số
- Mỗi vòng lặp For ứng với phép duyệt
- Dùng để đổi giá trị hai phần tử a[i] với a[i+1];
(69)câu b.
- Đặt yêu cầu mới: Khai báo thêm biến đếm nguyên Dem bổ sung vào chương trình đoạn lệnh cần thếit để biến Dem tính số lần thực tráo đổi thuật tốn In kết tìm hình
- Hỏi: Đoạn chương trình dùng để thực tráo đổi giá trị?
- Yêu cầu học sinh viết lệnh để đếm số lần tráo đổi?
- Hỏi: Lệnh viết vị trí chương trình?
- Yêu cầu học sinh soạn chương trình vào máy
hướng giải giáo viên.
- t:=a[i]; a[i]:=a[i+1]; a[i+1]:=t;
- Dem:=Dem+1;
-Ngay sau đoạn lệnh tráo đổi
- Soạn chương trình vào máy, thực chương trình xem kết
2 Rèn luyện kĩ nhận xét, phân tích đề xuất cách giải toán: a Mục tiêu:
- Học sinh biết sử dụng kiểu mảng để lập trình giải tốn Biết nhận xét, phân tích đề xuất phương pháp giải hay
b Nội dung:
Cho mảng A gồm n phần tử Viết chương trình tạo mảng B[1 n], B[i] tổng giá trị i phần tử mảng A
Chương trình minh họa:
Program tinh; Uses crt;
Const nmax=250;
Type myarray=array[1 nmax] of integer; Var i,n,j:integer;
a,b: myarray; Begin
Clrscr; Randomize;
Write(‘Nhập n=’); readln(n); For i:=1 to n
a[i]:=random(300)-random(300); For i:=1 to n
(70)Writeln ;
For i:=1 to n Begin
b[i]:=0;
For j:=1 to i b[i]:=b[i] + a[i];
End;
For i:=1 to n Write(a[i]:7); Writeln ; Readln;
End
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Xác định toán. Viết đề lên bảng
- Yêu cầu: xác định liệu vào, liệu ra?
- Gợi ý để học sinh đề xuất thuật tốn thơ
2 Giới thiệu chương trình chưa cải tiến. - Viết chương trình diễn đạt thuật tốn lên bảng
- Thực chương trình để học sinh biết thời gian thực kết chương trình - Hỏi: Trong chương trình phải thực phép cộng?
- Hỏi: Có cách để cải tiến?
- Lệnh thay lệnh chương trình? Viết vị trí nào?
3 Yêu cầu học sinh viết chương trình hồn chỉnh.
- Cùng tốn, có nhiều cách giải
1 Quan sát đề trả lời câu hỏi. - vào : mảng A gồm n phần tử
- : mảng B gồm n phần tử
- Tại vị trí i ta tính tổng giá trị phần tử từ đến i
2 Quan sát chương trình bảng. - Quan sát giáo viên thực hiện, nhận xét thời gian thực chương trình
- Phải thực n(n+1)/2 phép cộng
- Để tính bước thứ i,ta sử dụng kết tính bước thứ i-1
b[i]:= b[i-1] + a[i]; - Thay đoạn lệnh: For j:=1 to i b[i]:=b[i] + a[i];
3 Soạn chương trình vào máy, thực hiện chương trình thơng báo kết quả.
(71)IV Đánh giá cuối bài:
1. Những nội dung học:
- Thuật toán xếp đơn giản
- Một tốn có nhiều cách viết thành chương trình Cần chon cách số phép tính
2. Câu hỏi tập nhà:
- Xem lại tất kiến thức học, bao gồm: lệnh bản, lệnh điều khiển, kiểu liệu bản, kiểu liệu có cấu trúc
- Tiết sau kiểm tra thợc hành, thời gian 45 phút
ÔN TẬP HỌC KỲ I
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Học sinh nắm toàn kiến thức học từ đầu năm học đến 2 Kĩ năng:
- Rèn luyện kĩ nhận xét, phân tích tốn B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
(72)Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng: 1 Nhắc lại kiến thức cũ học. a Mục tiêu:
- Học sinh nhớ lại kiến thức lý thuyết học b Nội dung:
- Khái niệm lập trình ngơn ngữ lập trình
- Có hai loại chương trình dịch: Biên dịch thơng dịch
- Các thành phần ngôn ngữ lập trình: Bảng chữ cái, cú pháp, ngữ nghĩa - Các khái niệm: Tên, hằng, biến thích
- Cấu trúc chương trình Pascal: Phần khai báo phần thân - Các kiểu liệu chuẩn: số nguyên, số thực, kí tự, logic
- Phép toán, biểu thức, lệnh gán - Tổ chức vào/
- Cấu trúc rẽ nhánh - Cấu trúc lặp - Kiểu mảng
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
Đặt câu hỏi gợi ý để học sinh tự nhắc lại kiến thức học
- Em hiểu lập trình ngơn ngữ lập trình?
- Các loại chương trình dịch?
- Các thành phần ngơn ngữ lập trình?
- Các khái niệm ngơn ngữ lập trình?
- Cấu trúc chung chương trình Turbo Pascal?
- Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép tpán học?
- Các loại biểu thức?
- Chức thực lệnh gán?
- Nêu tên chức số hàm số
Chý ý, theo dõi để trả lời câu hỏi
- Lập trình trình diẽn đạt thuật tốn ngơn ngữ lập trình - Biên dịch thơng dịch
- Bảng chữ cái, cú pháp, ngữ nghĩa
- Khái niệm: tên, hằng, biến thích
- Gồm phần: Phần khai báo phần thân
- Số ngun, số thực, kí tự logic - Phép tốn số học, phép toán quan hệ phép toán logic
- Biểu thức số học, biểu thức quan hệ biểu thức logic
- Dùng để tính tốn biểu thức gán giá trị cho biến
(73)- Tổ chức vào / ra?
- Tổ chức rẽ nhánh?
- Tổ chức lặp ?
- Kiểu mảng?
- Lệnh Read()/ readln(); - Lệnh Write()/ writeln();
- if <BTĐK> then <lệnh 1> else <lệnh 2>;
- For tiến; - For lùi - While <> - Array…
2 Rèn luyện kĩ : a Mục tiêu:
- Học sinh biết nhận xét, phân tích giải hồn chỉnh tốn. b Nội dung:
Viết chương trình nhập từ bàn phím số nguyên dương N (1<=N<=100) dãy số A gồm N số nguyên A1, A2,…,Ai có giá trị tuyệt đối không lớn 1000 Hãy đưa hình số lượng số dương số lượng số âm dãy
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Xác định toán:
- Viết nội dung đề lên bảng
- Chia lớp thành hai nhóm: Nhóm1: Nêu câu hỏi phân tích
Nhóm 2: Trả lời câu hỏi phân tích nhóm
- Giáo viên góp ý bổ sung cho nhóm
2 Rèn luyện kĩ lập trình. - Chia lớp thành nhóm
- u cầu: Viết chương trình hồn thiện
1 Quan sát theo dõi đề định hướng giáo viên để xác định bài toán.
- Nhóm1:
+ Dữ liệu vào + Dữ liệu
+ Các nhiệm vụ phải thực
- Nhóm 2:
+ Số N N số nguyên
+ Số lượng số chẵn C số lẻ L
1 Nhập liệu
2 Đếm số lượng số chẵn, số lẻ
3 Đưa kết hình 2 Làm việc theo nhóm.
- Thảo luận theo nhóm để viết chương trình
IV Đánh giá cuối bài.
1. Những nội dung học:
- Giáo viên yêu cầu học sinh nhắc lại số nội dung đac ơn tập tiết học
(74)- Chuẩn bị kiến thức cho tiết sau kiểm tra học kỳ 1: Xem lại toàn kiến thức ôn tập, đặc biệt trọng cấu trúc lặp rẽ nhánh, kiểu mảng
Bài 12: KIỂU XÂU
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết kiểu liệu mới, biết khái niệm kiểu xâu
- Phân biệt giống khác kiểu mảng kí tự với xâu kí tự
- Biết cách khai báo biến, nhập xuất liệu, tham chiếu đến kí tự xâu - Biết phép toán liên quan đến xâu
2 Kĩ năng:
- Khai báo biến kiểu xâu Pascal Sử dụng biến xâu phép toán xâu để giải toán đơn giản
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng: 1 Tìm hiểu xâu cách sử dụng. a Mục tiêu:
(75)- Xâu kí tự dãy kí tự bảng mã ASCII, kí tự gọi phần tử xâu Số lượng kí tự xâu gọi độ dài xâu Xâu có độ dài không xâu rỗng
- Khai báo biến:
VAR tên_biến: STRING [độ dài lớn xâu]; - Tham chiếu đến kí tự xâu:
Tên_biến [chỉ _số];
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Tìm hiểu ý nghĩa xâu kí tự.
- Viết đề tốn đặt vấn đề: Viết chương trình nhập họ tên 30 học sinh lớp
- Hỏi: Ta chọn kiểu liệu nào? Khai báo biến nào?
- Yêu cầu học sinh: Viết đoạn lệnh để nhập xuất liệu cho phần tử?
- Hỏi: Có khó khăn gặp phải?
- Dẫn dắt: Cần phải có kiểu liệu cho phép ta nhập/ xuất liệu cho xâu lệnh
2 Tìm hiểu kiểu xâu.
- Viết cách khai báo biến xâu Pascal - Hỏi: Ý nghĩa từ STRING, [n]
- Hỏi: Khi khai báo khơng có [n] số lượng kí tự tối đa bao nhiêu?
- Yêu cầu học sinh cho VD xâu kí tự - Hỏi: xâu có kí tự?
- Diễn giải: Mỗi kí tự goi phần tử xâu Số lượng kí tự xâu gọi độ dài xâu
- Hỏi: Xâu gồm kí tự trống viết nào? Số lượng kí tự bao nhiêu? - Hỏi: Xâu rỗng viết nào? Số lượng kí tự bao nhiêu?
3 Nhập / xuất liệu cho biến xâu.
- Giới thiệu cấu trúc chung thủ tục nhập/ xuất liệu
- Yêu cầu học sinh tìm VD cụ thể
1 Quan sát suy nghĩ trả lời.
- Kiểu mảng chiều gồm 30 kí tự - Khai báo biến mảng A để lưu họ tên học sinh
- Readln(A[1]); Readln(A[2]); Readln(A[3]); Readln(A[4]);
- Chương trình viết dài dịng Khi nhập liệu, phải thực gõ nhiều phím
2 Quan sát cấu trúc khai báo và tham khảo SGK.
- String tên kiểu xâu
- [n] giá trị quy định số lượng kí tự tối đa mà biến xâu chứa
- Số kí tự tối đa 255
- VD: ‘Hưng Đạo’
- Xâu có kí tự, dấu cách trống kí tự
- Kí hiệu xâu gồm kí tự trống là: ‘’ Xâu có độ dài
- Kí hiệu xâu rỗng là: ‘ ‘ Xâu có độ dài
(76)- Hỏi: viết nhập/xuất liệu cho biến xâu có khác so với biến mảng kí tự?
- Dẫn dắt: Ta sử dụng lệnh gán để nhập giá trị cho biến xâu Cấu trúc chung:
Tên_biến_xâu:=hằng_xâu;
- Yêu cầu học sinh tìm VD cụ thể 4 Tham chiếu đến kí tự xâu. - Giới thiệu cấu trúc chung
- Hỏi: Có giống khác so với cách tham chiếu đến phần tử mảng?
- Yêu cầu học sinh lấy VD 5 Kiểm tra kiến thức.
- Viết nội dung tập kiểm tra lên bảng Var st:string[1];
c:char; Begin
c:=st[1]; { } c:=st; { } End
Hỏi: Trong hai lệnh lệnh đúng?
- VD Write(‘Ho ten’, hoten);
- Viết lệnh nhập nguyên cho xâu Viết lệnh gọn hơn, chương trình gọn
- VD: St:=’Hưng Đạo’
4 Chú ý lắng nghe trả lời.
- Giống cấu trúc chung tham chiếu tên biến[chỉ số]
- VD: St [2];
5 Quan sát chương trình bảng và trả lời.
- Lệnh
- Lệnh sai: gán xâu cho kí tự
2 Tìm hiểu phép toán liên quan đến xâu: a Mục tiêu:
- Học sinh biết phép toán liên quan đến xâu Diễn đạt phép tốn đó Pascal
b Nội dung
- Phép ghép xâu: kí hiệu +, sử dụng để ghép nhiều xâu thành xâu
- Các phép so sánh: =, <>, >, <, <=, >= ; thực việc so sánh xâu Xâu A xem lớn xâu B kí tự khác chúng kể từ trái sang xâu A có số bảng mã ASCII lớn Nếu A B xâu có độ dài khác A đoạn dầu B A nhỏ B
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Gợi nhớ phép toán học
- Hỏi: Hãy nhắc lại phép toán học kiểu liệu chuẩn
2 Tìm hiểu chức số phép toán kiểu xâu qua số VD
- Viết VD lên bảng Var st:string;
1 Cú ý theo dõi, suy nghĩ trả lời - Phép toán số học
- Phép toán so sánh - Phép toán logic
2 Quan sát VD suy nghĩ trả lời
(77)Write(st); Readln; End
- Hỏi: Kết in hình gì? - Yêu cầu học sinh tìm VD khác
- Hỏi: Phép cộng có chức gì?
- Cho xâu st:=’Ha’ +’Noi’
st:=’Ha ’ + ‘Noi’ Kết gì? - Viết chương trình VD phép so sánh xâu Var bo: Boolean;
Begin
bo:=’AB’ < ‘AC’; write (bo);
readln; End
- Hỏi Kết chương trình này? - Hỏi: Cịn có phép so sánh nữa?
- Cho VD khác phép so sánh yêu cầu học sinh cho biết kết phép so sánh đó?
‘AB’ < ‘ABC’ ‘AC’ < ‘ABC’
- Kết cho ta: st= ‘Hưng Đạo’ - VD st:= ‘Trần’ + ‘Hưng Đạo’ Kq: st=’Trần Hưng Đạo’
- Là phép toán nối xâu thứ hai vào cuối xâu thứ
- Kq là: st=’HaNoi’ st= ‘Ha Noi’
- Quan sát chương trình để tính kết
- Kết là: True
- Phép: <, >, <=, >=, <>, =
- Kquả: True - Kquả: False
IV Đánh giá cuối bài.
1. Những nội dung học:
- Khai báo biến: Var tên_biến: String[độ dài lớn xâu]; - Nhập/xuất giá trị cho biến xâu: read/readln(), write/writeln(); - Tham chiếu đến kí tự xâu: tên_biến[chỉ_số]
- Phép ghép xâu: kí hiệu +, sưe dụng để ghép nhiều xâu thành xâu
- Các phép so sánh: <, <=, >, >=, <>, =: thực việc so sánh hai xâu
2. Câu hỏi tập nhà:
- Xem phần kiến thức lý thuyết lại bài, bao gồm hàm thủ tục liên quan đến xâu SGK trang 70-71
Bài 12 : KIỂU XÂU (Tiếp)
Tuần soạn: Tiết:
(78)1 Kiến thức:
- Biết lợi ích hàm thủ tục liên quan đến xâu Pascal
- Nắm cấu trúc chung chức số hàm thủ tục liên quan đến xâu 2 Kĩ năng:
- Nhận biết bước đầu sử dụng số hàm thủ tục để giải số tập đơn giản
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu số hàm thủ tục chuẩn liên quan đến xâu. a Mục tiêu:
- Học sinh biết số hàm thủ tục liên quan đến xâu Nắm cấu trúc chung, hiểu tham số hàm thủ tục
- Biết chức hàm thủ tục chuẩn b Nội dung:
- Thủ tục Delete(st,vt,n) thực việc xóa xâu st gồm n kí tự, vị trí vt
- Thủ tục Insert(st1,st2,vt) thực việc chèn xâu st1 vào xâu st2 vị trí vt - Hàm Copy(st,vt,n) cho giá trị xâu kí tự lấy xâu st gồm n kí tự liên tiếp vị trí vt xâu st
- Hàm Length(st) cho giá trị số lượng kí tự xâu st
- Hàm Pos(st1,st2) cho giá trị vị trí xuất xâu st1 xâu st2 - Hàm UpCase(ch) cho giá trị kí tự hoa tương ứng với kí tự ch
c Các bước tiến hành:
(79)- Hỏi: Ý nghĩa Length st?
- Cho VD chương trình: Var st:string; Begin St:=’Ha Noi’; Write(length(st)); Readln; End
Hỏi: Kết chương trình in hình? - Hỏi chức hàm Length gì?
2 Giới thiệu cấu trúc chung hàm UpCase(ch).
- Cho VD chương trình: Var ch:char; Begin ch:=’h’; write(upcase(ch)); readln; End
- Hỏi: kết chương trình in hình? - Hỏi chức hàm UpCase(ch)?
3 Giới thiệu cấu trúc chung hàm Pos(st1,st2)
-Cho đoạn chương trình: Var vt:byte;
Begin
Vt:=Pos(‘cd’, ‘abcdefcd’); Write(vt);
Readln; End
- Hỏi: Kết chương trình? - Hỏi: chức hàm Pos()?
- Thay tham số hàm Pos chương trình Pos(‘k’, ‘abc’) Hỏi kết bao nhiêu? - Viết chương trình nhập vào xâu st Xét xem xâu có dấu cách trống khơng?
- Length: tên hàm, có nghĩa độ dài, st: biểu thữcâu kí tự
- Quan sát chương trình để tính kết
- Kết là:
- Hàm cho số lượng kí tự xâu st 2 Quan sát cấu trúc chung hàm UpCase.
- Quan sát chương trình trả lời
- Kết là: H
- Cho giá trị chữ in hoa ch 3 Quan sát cấu trúc chung hàm Pos(st1,st2)
- Quan sát chương trình trả lời câu hỏi
-Kết là:
- Hàm cho giá trị số nguyên vị trí xâu st1 xâu st2
- Kết
- Chương trình: Var st:string; Begin
Readln(st);
If pos(‘ ‘, st)<> then Write(‘có’)
Else
Write(‘không’); Readln;
(80)- Hỏi có cách giải khác?
4 Giới thiệu cấu trúc chung hàm Copy(st,vt,n).
Cho đoạn chương trình: Var st:string;
Begin
st:=copy (‘bai tap’, 3,4); Write (st);
Readln; End
- Hỏi: Kết chương trình? - Hỏi chức hàm Copy()?
- Một số VD: Copy(‘abc’,1,5) Copy(‘abc’, 5,2); Copy(‘abc’,1,0); Gọi học sinh trả lời
5 Giới thiệu cấu trúc chung thủ tục Delete(st,vt,n).
Cho đoạn chương trình: Var st:string; Begin st:=’HaNoi’; delete(st,3,2); write(st); readln; End
- Hỏi: Kết qủa chương trình? - Hỏi: chức thủ tục Delete?
- Một số VD;
st:=’abc’ delete(st,1,5) st:=’abc’ delete(st,5,2) st:=’abc’ delete(st,1,0)
- Viết chương trình nhập xâu xóa dấu cách trống đầu xâu
6 Giới thiệu cấu trúc chung thủ tục Insert(st1,st2,vt).
Cho đoạn chương trình:
- Có thể sử dụng For để tìm dấu cách xâu
4 Quan sát cấu trúc chung hàm Copy.
- Quan sát chương trình trả lời
- Kết là: i ta
- Hàm cho giá trị xâu kí tự lấy xâu st, gồm n kí tự vị trí vt
- Trả lời
Cho gí trị abc Cho giá trị xâu rỗng Cho giá trị xâu rỗng
5 Quan sát cấu trúc chung thủ tục Delete.
- Quan sát chương trình
- Kết là: Hai
- Thủ tục delete thực việc xóa biến xâu st gồm n kí tự, vị trí vt
- Trả lời Xâu rỗng ‘abc’ ‘abc’ Var st:string; Begin Readln(st); While st[1]=’ ‘ Delete(st,1,1); Write(st);
Readln; End
(81)st1:=’HaNoi’; st2:=’’;
Insert(st1,st2,3); Write(st);
Readln; End
-Hỏi: Kết chương trình? - Hỏi: Chức thủ tục Insert?
- Một số VD
st1:=’abc’; st2:=’ef’ Insert(st1,st2,5); st1:=’abc’; st2:=’ef’ Insert(st1,st2,0);
- Kết là: ‘Ha Noi’
- Thủ tục thực việc chèn xâu st1 vào xâu st2 bắt đầu vị trí vt
- Trả lời: st2:= ‘efabc’ st2:=’abcef’
IV Đánh giá cuối bài.
1. Những nội dung học: - Thủ tục Delete(st,vt,n); - Thủ tục Insert(st1,st2,vt) - Hàm Copy(st,vt,n); - Hàm Length(st); - Hàm Pos(st1,st2); - Hàm UpCase(ch);
2. Câu hỏi tập nhà: - Giải tập số 10 trang 80
- Viết chươnh trình nhập vào xâu In hình số từ có câu - Xem phần nội dung thực hành số SGK trang 73
- Chuẩn bị số bai tập để thực hành
BÀI TẬP VÀ THỰC HÀNH SỐ 5
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Khắc sâu hêm phần kiến thức lý thuyết kiểu xâu kí tự, đặc biệt hàm thủ tục liên quan
(82)- Khai báo biến kiểu xâu
- Nhập/ xuất giá trị cho biến xâu - Duyệt qua tất kí tự xâu
- Sử dụng hàm thủ tục chuẩn B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu chương trình, đề xuất phương án cải tiến. a Mục tiêu:
- Hiểu chương trình, tính kết chương trình b Nội dung:
- Nhập vào xâu, kiểm tra xem có phải Palidrrom hay khơng? Chương trình:
Var i,x:byte; a,p:string; Begin
Write(‘Nhập vào xâu’); Readln(a); X:=length(a);
P:=’’;
For i:=x downto p:=p+ a[i]; If a=p then
(83)Readln; End
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Tìm hiểu đề bài
- Giới thiệu nội dung đề lên bảng
- Diễn giải: Một xâu gọi Palidrom ta đọc kí tự từ phải sang trái giống đọc từ trái sang phải
- Yêu cầu học sinh lấy VD xâu Palidrom xâu xâu Palidrom
2 Tìm hiểu chương trình gợi ý. - Viết chương trình lên bảng
- Hỏi: Chương trình có chức gì? Kết in nào?
3 Cải tiến chương trình.
- Nêu yêu cầu mới: Viết lại chương trình mà không sử dụng biến trung gian p
- Yêu cầu: nhận xét cặp vị trí đối xứng xâu Palidrom
- Hỏi: kí tự thứ i đối xứng với kí tự vị trí nào?
- Hỏi: Cần phải so sánh cặp kí tự xâu để biết xâu Palidrom? - Hỏi: Dùng cấu trúc lặp để so sánh?
- Yêu cầu học sinh viết chương trình vào máy nhập liệu cụ thể
1 Quan sát, đọc kĩ đề.
- Phải: 12321 abccba - Không phải: abcdea
2 Quan sát chương trình, suy nghĩ, phân tích để hiểu chương trình. - Kiểm tra xâu có phải Palidrom hay không?
- In ‘xâu Palidrom’ ‘khong Palidrom’
3 Chú ý theo dõi yêu cầu giáo viên trả lời số câu hỏi.
- Các kí tự vị trí giống
- Kí tự thứ i đối xứng với kí tự thứ length()- i+1;
- So sánh tối đa length() div
- Có thể dùng For While
- Hồn thiện chương trình vào máy chạy thử
2 Rèn luyện kĩ lập trình: a Mục tiêu:
- Học sinh biết phân tích u cầu để viết chương trình hồn chỉnh. b Nội dung:
-Viết chương trình nhập vào xâu kí tự S thơng báo hình số lần xuất S chữ không phân biệt chữ hoa chữ thường
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
(84)- Viết nội dung đề lên bảng - Chia lớp thành nhóm:
Nhóm 1: Đặt câu hỏi phân tích Nhóm 2: Trả lời câu hỏi phân tích
- Theo dõi nhóm bổ sung nhứng yếu tố cịn thiếu sửa sai
2 Yêu cầu học sinh độc lập viết chương trình hồn chỉnh theo thuật tốn.
- Yêu càu học sinh lập trình xong sớm tìm test
cơng việc cần thực hiện. Nhóm 1:
+ Hỏi: Dữ liệu vào/ra cua tốn? + Hỏi: Nêu nhiệm vụ toán?
+ Hỏi: Cấu trúc liệu phải sử dụng nào?
+ Hỏi: Ta phải sử dụng hàm nào? Nhóm 2:
+ Vào: xâu S
+ ra: Dãy số ứng với xuúat loịa kí tự xâu + TT: Duyệt từ trái sang phải, thêm đơn vị cho kí tự đọc
+ Cấu trúc liệu: Dem[‘A’, ,’Z’] + Dùng hàm UpCase()
2 Độc lập soạn chương trình vào máy.
- Test
IV Đánh giá cuối bài.
1. Những nội dung học:
- Một số thuật tốn đơn giản liên quan đến xâu kí tự Kiểm tra xâu đối xứng, tìm tần suất xuất kí tự có xâu
2. Câu hỏi tập
- Chuẩn bị nội dung cho tiết lý thuyết Đực trước nội dung bà kiểu ghi SGK trang 74
Bài 13: KIỂU BẢN GHI
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦ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:
(85)- Sử dụng kiểu ghi để giải số tập đơn giản B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Giới thiệu kiểu ghi Tạo kiểu ghi Pascal. a Mục tiêu:
- Học sinh biết kiểu liệu có cấu trúc: kiểu ghi Biết ý nghĩa kiểu ghi Phân biệt kiểu ghi với mảng chiều Tạo kiểu ghi Mở bài: Dữ liệu kiểu ghi dùng để mơ tả đối tượng có thuộc tính mà thuộc tính có kiểu liệu khác
b Nội dung:
- Mỗi thông tin đối tượng 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
- Để 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
- Một ngơn ngữ lập trình ln có quy tắc để xác định: tên kiểu ghi, tên trường, tên kiểu liệu trường, cách khai báo biến tham chiếu đến trường
- Khai báo kiểu ghi:
Type <tên_kiểu_bg> = 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 ghi:
(86)c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Tìm hiểu kiểu ghi.
- Yêu cầu học sinh xem bảng kết thi tốt nghiệp SGK trang 74
- 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 VD tương tự
- Diễn giải: Mỗi thông tin đối tượng 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ưc 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 SGK cho biết cách khai báo kiểu ghi, khai báo biến kiểu ghi Pascal.
- Yêu cầu tìm VD để minh họa
- Để giải toán bảng kết thi tốt nghiệp ta phải khai báo mảng ghi Hãy tạo kiểu mảng
- Yêu cầu học sinh phân biệt giống khác ghi kiểu mảng chiều?
1 Quan sát VD giáo viên trả lời câu hỏi.
- 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 - VD để mô tả người danh bạ điện thoại cần có thơng tin: Họ tên, địa chỉ, số điện thoại
2 Nghiên cứu SGK để nắm được cấu trúc chung khai báo kiểu bản ghi, khai báo biến kiểu ghi. - VD: 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
Type kieu_hs=record Hoten, ngaysinh: string; Dt, Dl, Dh, Dv: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
2 Tìm hiểu cách sử dụng kiểu ghi Pascal: a Mục tiêu:
(87)- Tham chiếu đến trường: Tên_biến_bg.Tên_trường - Gán giá trị biến ghi (có hai cách):
+ Gán biến ghi cho biến ghi (cùng kiểu khai báo) + Gán giá trị cho trường
- Nhập/ xuất giá trị: Phải viết lệnh nhập/ xuất với trường
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
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; - Yêu cầu học sinh tìm VD
2 Giới thiệu cách gán giá trị cho biến bản ghi.
+ Gán nguyên biến ghi (1) + Gán trường (2)
- Yêu cầu học sinh lấy VD minh họa 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 trường bién ghi nguoi khai báo
- Yêu cầu viết lệnh in giá trị trường hoten biến ghi nguoi.
1 Quan sát cấu trúc chung của tham chiếu đến trường của biến ghi.
- VD: nguoi.hoten; Nguoi.diachi; Nguoi.sdt;
2 Quan sát hai cách gán giá trị của biến ghi để tìm VD cụ thể.
- A:=B;
- A.ht:=B.ht; A.sdt:=B.sdt;
- 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 VD.
- Readln(nguoi.hoten); Readln(nguoi.diachi); Readln(nguoi.sdt); - writeln(nguoi.hoten);
3 Rèn luyện kĩ lập trình: a Mục tiêu:
- Học sinh sử dụng kiểu ghi để giải số tập đơn giản b Nội dung:
- Viết chương trình giải bà toán sau:
(88)+ Nếu tổng điểm tốn văn nhỏ 10 xếp loại D
+ Nếu tổng điểm toán văn lớn 10 nhỏ 14 xếp loại C + Nếu tổng điểm tốn văn lớn 14 nhỏ 18 xếp loại B + Nếu tổng điểm tốn văn lớn 18 xếp loại A
c Các bước tiến hành
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Viết nôi dung đề lên bảng.
- Hỏi: Sử dụng kiểu liệu để giải toán?
- Yêu cầu học sinh: Mô tả thông tin hoc sinh kiểu ghi Tạo mảng ghi
- Nêu bước để giải toán
2 Chia lớp thành nhóm Yêu cầu viết chương trình lên bảng.
1 Quan sát đề, ý phân tích để trả lời câu hỏi.
- Một mảng ghi
- Type kieu_hs=record Hoten:string;
Toan,van,tong:real; 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 toá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 thiện chương trình.
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, điểm lý 30 học sinh lớp In hình họ tên, điểm trung bình 30 học sinh với DTB=(tốn+ lý)/2
(89)Bài 14: KIỂU DỮ LIỆU TỆP VÀ THAO TÁC VỚI TỆP
Tuần soạn: Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Biết đặc điểm kiểu liệu tệp
- Biết khái niệm tệp có cấu trúc tệp văn 2 Kĩ năng:
- Khai báo biến kiểu tệp
- Thực thao tác xử lý tệp: Gán tên tệp, mở/đóng tệp, đọc/ghi tệp - Sử dụng thủ tục liên quan để đọc/ghi liệu tệp
3 Thái độ:
- Thấy cần thiết tiện lợi kiểu liệu tệp - Có ý thức lưu trữ liệu cách khoa học
- Giáo dục thêm ý thức tôn trọng quyền, không sửa chữa, chép phần mềm chưa mua quyền
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
(90)Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu đặc điểm kiểu liệu tệp, phân loại kiểu tệp. a Mục tiêu:
- Học sinh biết đặc điểm kiểu tệp Biết hai loại tệp: tệp có cấu trúc tệp văn
Mở bài: Các kiểu liệu học lưu trữ nhớ trong, liệu bị tắt máy Khi giải tốn có liệu cần lưu lại xử lý nhiều lần cần có kiểu liệu mới: kiểu tệp
b Nội dung:
- Đặc điểm kiểu tệp:
+ Được lưu trữ lâu dài nhớ ngồi, khơng bị mất điện + Lượng thông tin lưu trữ tệp lớn
- Có hai loại tệp:
+ Tệp có cấu trúc: loại tệp mà thành phần tổ chức theo cấu trúc định
+ Tệp văn bản: tệp mà liệu ghi dạng kí tựtheo mã ASCII Trong tệp văn bản, dãy kí tự kết thúc kí tự xuống dịng hay kí tự kết thúc tệp tạo thành dòng
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
- Hỏi: Em cho biết liệu kiểu liệu từ trước đến ta sử dụng lưu trữ loại nhớ thực chương trình? -Hỏi: Vì em biết điều đó?
- Diễn giải: Để lưu trữ liệu, ta phai lưu nhớ ngồi thơng qua kiểu liệu tệp Mọi ngơn ngữ lập trình có thao tác: khai báo biến tệp, mở tệp, đọc/ghi liệu, đóng tệp - Yêu cầu học sinh nghiên cứu SGK cho biết đặc điểm kiểu tệp? Có loại kiểu tệp?
- Yêu cầu học sinh trình bày khái niệm tệp có cấu trúc vf tệp văn
- Bộ nhớ RAM
- Mất liệu bị điện
-Không thông tin tắt máy - Dung lượng liệu lưu trữ lớn - Có hai loại kiểu tệp: tệp có cấu trúc tệp văn
- Tệp có cấu trúc: loại tệp mà thành phần tổ chức theo cấu trúc định
(91)2 Tìm hiểu thao tác xử lý tệp văn Pascal: a Mục tiêu:
- Học sinh biết cách khai báo biến.
- Học sinh biết sử dụng thủ tục xử lý với tệp - Học sinh biết xử lý đọc/ ghi tệp văn
b Nội dung:
- Khai báo biến tệp văn bản: Var <tên_biến_tệp>:Text;
- Gán tên tệp: Assign(<tên_biến_tệp>, <tên_tệp>); <tên_tệp> biến xâu xâu - Tạo tệp để ghi: Rewrite(<tên_biến_tệp>);
- Mở tệp để đọc: Reset(<tên_biến_tệp>); - Đóng tệp: Close(<tên_biến_tệp>);
- Đọc tệp văn bản: Read(<tên biến tệp>, <danh sách tên biến>); Readln(<tên biến tệp>, <danh sách tên biến>); - Ghi tệp văn Write(<tên biến tệp>, <danh sách kết quả>); Writeln(<tên biến tệp>, <danh sách kết quả>);
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Giới thiệu cấu trúc chung khai báo biến tệp.
Var <tên_biến_tệp>:Text; - Yêu cầu học sinh tìm VD cụ thể
2 Giới thiệu thao tác gán tên tệp, tạo tệp mới để ghi, mở tệp để đọc, đóng tệp.
Assign(<tên_biến_tệp>, <tên_tệp>); Rewrite(<tên_biến_tệp>);
Reset(<tên_biến_tệp>); Close(<tên_biến_tệp>);
- Yêu cầu lấy VD minh họa mở tệp để ghi thông tin mở tệp để đọc thơng tin
3.u cầu học sinh xem hình 16 SGK
1 Quan sát cấu trúc suy nghĩ trả lời.
- Var f,g:text;
2 Quan sát suy nghĩ để trả lời câu hỏi.
Assign(f2,’Bai1.INP’); Rewrite(f2);
Close(f2);
Assign(f2,’Bai1.OUT’); Reset(f2);
Close(f2);
(92)trang 86 giải thích ý nghĩa sơ đồ.
4 Giới thiệu cấu trúc chung thủ tục đọc/ ghi liệu tệp văn bản.
- Đọc tệp văn bản: Read(<tên biến tệp>, <danh sách tên biến>);
Readln(<tên biến tệp>, <danh sách tên biến>);
- Ghi tệp văn Write(<tên biến tệp>, <danh sách kết quả>);
Writeln(<tên biến tệp>, <danh sách kết quả>);
- Yêu cầu học sinh lấy VD minh họa
5 Các hàm liên quan đến việc xử lý tệp - eof(<biến_tệp>);
- eoln(<biến tệp>);
Hỏi : Các hàm có ý nghĩa gì?
- Ghi tệp: Gán tên tệp, tạo tệp mới, ghi thông tin, đóng tệp
- Đọc tệp: Gán tên tệp, mở tệp, đọc thơng tin, đóng tệp
4 Quan sát cấu trúc chung.
- Readln(f,x1,x2); Đọc liệu từ biến tệp f, đặt giá trị vào hai biến x1, x2 - Writeln(g, ‘Tong la’, x1+x2); Ghi vào biến tệp g hai tham số:dòng chữ ‘Tong la’ giá trị tổng x1+x2
5 Chú ý quan sát cấu trúc hàm. - eof: Trả giá trị true trỏ tệp cuối tệp
- eoln();Trả giá trị true trỏ tệp cuối dòng
IV Đánh giá cuối bài.
1. Những nội dung học:
- Việc trao đỏi liệu với nhớ ngồi thực thơng qua kiểu liệu kiểu tệp Có hai loại tệp: tệp có cấu trúc tệp văn
- Để làm việc với tệp, cần phải khai báo biến tệp - Các thủ tục làm việc với tệp là:
+ Gán tên tệp: Assign(<tên_biến_tệp>, <tên_tệp>); <tên_tệp> biến xâu xâu
+ Tạo tệp để ghi: Rewrite(<tên_biến_tệp>); + Mở tệp để đọc: Reset(<tên_biến_tệp>); + Đóng tệp: Close(<tên_biến_tệp>);
(93)2. Câu hỏi tập nhà:
- Trả lời câu hỏi 1,2,3,4 SGK trang 89
VÍ DỤ LÀM VIỆC VỚI TỆP
Ngày soạn: / / Tuần soạn:
Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
- Củng cố lại kiến thức học tệp chương thông qua VD 2 Kĩ năng:
- Sử dụng hàm thủ tục liên quan để giải tập B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN:
1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng: 1 Ôn tập kiến thức lý thuyết. a Mục tiêu:
- Học sinh nhớ kiến thức lý thuyết kiẻu tệp b Nội dung:
(94)- Đọc/ghi tệp văn
- Các hàm thủ tục liên quan
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Gợi ý học sinh nhớ lại kiến thức đã học kiểu tệp.
- Hỏi: Cách khai báo biến kiểu tệp?
- Hỏi: Có thủ tục làm việc với tệp?
- Hỏi hàm thủ tục liên quan đến xử lý tệp?
2 Giới thiệu bảng tổng hợp hàm thủ tục lên bảng, xem tổng kết kiến thức liên quan.
1 Theo dõi dẫn dắt giáo viên và trả lời.
- Var <tên_biến_tệp>:Text;
- Assign(<tên_biến_tệp>, <tên_tệp>); - Rewrite(<tên_biến_tệp>);
- Reset(<tên_biến_tệp>); - Close(<tên_biến_tệp>);
- Read(<tên biến tệp>, <danh sách tên biến>);
- Readln(<tên biến tệp>, <danh sách tên biến>);
- Write(<tên biến tệp>, <danh sách kết quả>);
- Writeln(<tên biến tệp>, <danh sách kết quả>);
- Eof(tên_biến_tệp); - Eoln(tên_biến_tệp);
2 Quan sát bảng tổng hợp ghi nhớ.
2 Tìm hiểu chương trình VD: a Mục tiêu:
- Học sinh hiểu nội dung chương trình Biết đầu vào, đầu chương trình
b Nội dung:
- VD1: SGK trang 87: Tính khoảng cách điểm - VD2: SGK trang 87: Tính điện trở tương đương
c Các bước tiến hành:
HOẠT ĐỘNG CỦA GIÁO VIÊN HOẠT ĐỘNG CỦA HỌC SINH
1 Tìm hiểu VD1
- Giới thiệu nội dung đề
- Viết nội dung chương trình VD lên bảng - Hỏi: hàm eof() có chức gì?
1 Theo dõi quan sát để làm tập chương trình gợi ý
(95)- Chương trình thực cơng việc gì?
2 Tìm hiểu VD2: - Giới thiệu đề
- Hỏi cơng thức tính điện trở sơ đồ II, III,IV - Viết chương trình lên bảng
- Hỏi: Mảng a dùng để lưu trữ giá trị nào?
- Cho file liệu vào gồm hai dịng u cầu học sinh tính kết
- Tính đưa hình khoảng cách từ trại thầy hiệu trưởng đến trại giáo viên
2 Quan sát nôi dung đề - Xem hình 17 SGK trang 88
- Dùng để lưu trữ điện trở tương đương điện trở theo cách ghép nối sơ đồ
- Tínhkết điện trở tương đương
IV Đánh giá cuối bài.
1. Những nội dung học: - Các thao tác xử lý tệp: - Hàm thủ tục liên quan
2. Câu hỏi tập nhà:
(96)Chương VI: CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC
BÀI 17: CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
Ngày soạn: / / Tuần soạn:
Tiết:
A MỤC TIÊU, YÊU CẦU: 1 Kiến thức:
2 Kĩ năng:
B PHƯƠNG PHÁP VÀ PHƯƠNG TIỆN: 1 Phương pháp:
Kết hợp phương pháp giảng dạy như: truyền thống, vấn đáp, có hình minh hoạ 2 Phương tiện:
- Vở ghi lý thuyết
- Sách giáo khoa sách giáo viên lớp 11 - Sách tham khảo (nếu có)
C TIẾN TRÌNH LÊN LỚP, NỘI DUNG BÀI GIẢNG: I Ổn định lớp:
Yêu cầu lớp trưởng báo cáo sĩ số II Kiểm tra cũ gợi động học:
- Giới thiệu học III Bài giảng, nội dung giảng:
1 Tìm hiểu đặc điểm kiểu liệu tệp, phân loại kiểu tệp. a Mục tiêu:
b Nội dung:
(97)