- Qua các bài học lý thuyết các em đã được làm quen với cấu trúc trong một NNLT(đặc biệt trong pascal), với một số kiểu dữ liệu chuẩn, khai báo biến, phép toán, biểu thức, câu lệnh gán, [r]
(1)Ngày soạn:24/08/2009 Tuần:
Ngày giảng: Tiết:
Chương I:
MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGHỮ LẬP TRÌNH
§1. KHÁI NIỆM LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH
I Mục đích, yêu cầu
1. Về kiến thức:
- Hiểu khả ngôn ngữ lập trình bậc cao, phân biệt với ngơn ngữ máy hợp ngữ
- Hiểu ý nghĩa nhiệm vụ chương trình dịch Phân biệt biên dịch thông dịch
2 Kĩ năng: 3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Giới thiệu chương trình học dẫn nhập mới 2.1 Giới thiệu chương trình học
- Giới thiệu sơ lược chương trình tin học 11 - Giới thiệu sơ lược chương I
2.2 Dẫn nhập mới
- Trong chương trình lớp 10 em biết đến số khái niệm: ngơn ngữ lập trình, chương trình dịch, Trong học hôm tập trung làm sáng tỏ chương trình dịch (bao gồm biên dịch thông dịch)
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Khái niệm lập trình ngơn ngữ lập trình
GV: Đặt câu hỏi
Em cho biết bước giải toán máy tính?
HS: Suy nghĩ trả lời câu hỏi
GV: Phân tích câu trả lời học sinh Nhắc lại bước giải toán máy tính học lớp 10
- 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
(2)GV: Thuyết trình lập trình ngơn ngữ lập trình
GV: Đặt câu hỏi:
Em cho biết có loại ngơn ngữ lập trình?
HS: Trả lời câu hỏi giáo viên
GV: Chương trình viết ngơn ngữ bậc cao nói chung khơng phụ thuộc vào loại máy, nghĩa chương trình thực nhiều máy
Chương trình viết ngơn ngữ máy nạp trực tiếp vào nhớ thực ngay, cịn chương trình viết ngơn ngữ bậc cao phải chuyển đổi thành ngôn ngữ máy thực
các câu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thuật tốn
- Ngơn nghữ lập trình phần mềm dùng để diễn đạt thuật tốn thành chương trình giúp cho máy tính hiểu thuật tốn
- Có ba loại ngơn ngữ lập trình: ngơn ngữ máy, hợp ngữ ngôn ngữ bậc cao
Hoạt động 2: Chương trình dịch
GV: Làm để chuyển chương trình viết ngơn ngữ bậc cao sang ngơn ngữ máy?
HS: 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
GV: Đưa ví dụ
- Em muốn giới thiệu trường cho du khá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. > Không có vb lưu trữ + 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 tồn nội dung sang tiếng Anh đọc cho du khách. > Có vb lưu trữ
GV: Thuyết trình thơng dịch, biên dịch chương trình dịch Lấy ví dụ biên dịch thơng dịch để học sinh hình dung cơng việc
- Chương trình dịch 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
Chương trình nguồn > Chương trình dịch > Chương trình đích
- Chương trình dịch có hai loại: biên dịch thơng dịch
a Thông dịch (interpreter): Dịch lần lượt câu lệnh thực câu lệnh
(3)HS: ý lắng nghe ghi
GV: Đi kèm với chương trình dịch thường có cơng cụ soạn thảo chương trình nguồn, lưu trữ, tìm kiếm, phát lỗi, thơng báo lỗi, ngơn ngữ lập trình thường chứa tất dịch vụ
- Kiểm tra tính đắn câu lệnh chương trình nguồn
- Chuyển đổi câu lệnh thành hay nhiều câu lệnh ngôn ngữ máy - Thực câu lệnh vừa chuyển đổi
a Biên dịch (Compiler): Thực theo bước sau:
- Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn
- Dịch tồn chương trình nguồn thành chương trình đích để thực máy lưu trữ để sử dụng lại
IV Củng cố bài
- Qua tiết học này, em có khái niệm xác lập trình ngơn ngữ lập trình, 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
V Bài tập nhà
- Ôn tập lại học, trả lời câu hỏi cuối
-Đọc trước 2: “Các thành phần ngơn ngữ lập trình” chuẩn bị cho tiết học sau
(4)Ngày soạn:26/08/2009 Tuần:
Ngày giảng:28/08/2009 -Lớp: 11A4 Tiết:
§2. CÁC THÀNH PHẦN CỦA NGƠN NGỮ LẬP TRÌNH
I Mục đích, u cầu
1. Về kiến thức:
- Biết ngơn ngữ lập trình có thành phần là: Bảng chữ cái, cú pháp ngữ nghĩa Hiểu phân biệt ba thành phần
- Biết thành phần pascal: Bảng chữ cái, tên, tên chuẩn, tên riêng(từ khoá), biến
- Phân biệt tên, biến Biết đặt tên
2 Kĩ năng: 3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- Giáo viên nêu câu hỏi, gọi học sinh trả lời, đánh giá cho điểm: + Câu hỏi 1: Hãy nêu khái niệm ngôn ngữ lập trình ý nghĩa + Câu hỏi 2: Chương trình dịch gì?
2.2 Dẫn nhập mới
- Chúng ta biết ngôn ngữ lập trình để viết chương trình giải tốn máy tính Vậy bao gồm thành phần nào? Bài học hôm trả lời câu hỏi
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Các thành phần bản
GV: Đặt vấn đề:
Có yếu tố dùng để xây dựng nên ngôn ngữ tiếng Việt?
HS: Độ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ừ thành câu
GV: Nhận xét thuyết trình
Tương tự ngơn ngữ lập trình thường có chung số thành phần như:
1 Các thành phần bản
- Mỗi ngơn ngữ lập trình thường có thành phần bản: bảng chữ cái, cú pháp ngữ nghĩa
(5)dùng kí hiệu để viết chương trình, viết theo qui tắc nào, viết có ý nghĩa Mỗi ngơn ngữ lập trình có qui định riêng thành phần
VD: Pascal khơng sử dụng kí hiệu !, c++ sử dụng !làm phép phủ định.
HS: trật tự chép đầy đủ
GV: Giảng giải cú pháp để viết CT Cú pháp NNLT khác khác nhau, ngơn ngữ pascal dùng cặp từ begin-end để gộp nhiều lệnh thành lệnh cịn c++ dùng cặp kí hiệu {}.
GV: Mỗi ngơn ngữ khác có cách xác định ngữ nghĩa khác
HS: lắng nghe ghi chép Ví dụ : Xét biểu thức
A+B (1) với A,B số thực I+J (2) với I,J số nguyên Khi đó:
Dấu cộng (1) cộng số thực cong (2) cộng số nguyên
GV: đưa ví dụ ngơn ngữ tự nhiên có bảng chữ cái, ngữ pháp (cú pháp), nghĩa câu, từ
dùng để viết chương trình
- Trong ngôn ngữ pascal bảng chữ gồm: chữ bảng chữ tiếng anh, chữ số số kí tự đặc biệt (xem sgk)
b Cú pháp: quy tắc dùng để viết chương trình
c Ngữ nghĩa: xác định ý nghĩa thao tác cần thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh
- Cú pháp cho biết cách viết chương trình hợp lệ, ngữ nghĩa xác định ý nghĩa tổ hợp kí tự chương trình
Hoạt động 2: Giới thiệu tên
GV: Đặt vấn đề
Trong có tên để phân biệt người với
GV: Thuyết trình
Trong NNLT vậy, đối tượng sử dụng chương trình phải đặt tên để tiện cho việc sử dụng Việc đặt tên ngơn ngữ khác khác nhau, có ngơn ngữ phân biệt chữ hoa chữ thường (c++), có ngôn ngữ không phân biệt (pascal)
GV: Giới thiệu cách đặt tên ngơn ngữ pascal
Ví dụ:
Tên đúng: a, b, c, x1, x2, Tên sai: a bc, 2x, a&b,
GV: thuyết trình
Ngơn ngữ có loại tên Trong soạn thảo chương trình, ngơn ngữ lập trình thường hiển thị tên
2 Một số khái niệm
a Tên
- Mọi đối tượng chương trình phải đặt tên Mỗi NNLT có quy tắc đặt tên riêng
- Trong pascal, phân biệt loại tên:
(6)dành riêng với màu chữ khác hẳn với tên cịn lại giúp người lập trình nhận biết từ khoá, pascal màu trắng
GV: Nếu có máy chiếu, mở chương trình viết pascal để hs quan sát
GV: thuyết trình
Các NNLT thường cung cấp số đơn vị chương trình có sẵn thư viện chương trình giúp người lập trình thực nhanh số thao tác thường dùng
Chỉ cho hs số tên chuẩn NNLT pascal
GV: Đưa ví dụ: để viết chương trình giải phương trình bậc ta cần khai báo tên sau:
a,b,c lưu hệ số x1,x2 lưu nghiệm delta lưu giá trị delta
HS: ý lắng nghe, ghi chép
được dùng với ý nghĩa khác VD:
pascal: program, uses, const, var c++: main, include, void
+ Tên chuẩn: tên ngơn ngữ lập trình qui định dùng với ý nghĩa định đó, người lập trình định nghĩa lại để dùng với ý nghĩa khác VD:
pascal: real, integer, sin, cos c++: cin, cout
+ Tên người lập trình đặt:
Được xác định cách khai báo trước sử dụng không trùng với từ khố Các tên chương trình không trùng
Hoạt động 3: Hằng, biến thích
GV: Đặt vấn đề
- Bài tốn đặt vấn đề: Tính chu vi (cv), diện tích(s) hình trịn với bán kính(r) nhập từ bàn phím Các em xác định đại lượng có tốn trên?
HS: suy nghĩ trả lời
- VD pi sốKN:
+Đại lượng có giá trị ko thay đổi: Pi=3.14 +Đại lượng có giá trị thay đổi:cv,s,r
GV: Hằng chia làm hai loại: đặt tên không đặt tên ( giá trị viết trực tiếp viết chương trình
VD trên:
s:=r*r*3.14 (dùng ko đặt tên_ dùng trực tiếp)
s:=r*r*pi (dùng tên hằng)
GV: Biến đối tượng sử dụng nhiều viết chương trình Biến đại lượng thay đổi nên thường dùng để lưu trữ kết quả, làm trung gian cho tính tốn,
VD trên: biến cv,s,r
b Hằng, biến thích. * Hằng:
- Hằng đại lượng khơng đổi q trình thực chương trình Có loại thường dùng:
+ Hằng số học: số nguyên số thực, có dấu không dấu
+ Hằng logic: giá trị (True) sai (False)
+ Hằng xâu: chuỗi kí tự Khi viết, chuỗi kí tự đặt cặp dấu nháy
* Biến:
(7)GV: thuyết trình
Khi viết chương trình người lập trình thường có nhu cầu giải thích câu lệnh viết, để đọc lại thuận tiện người khác đọc hiểu chương trình viết, NNLT thường cung cấp cho ta cách để đưa thíc vào chương trình
GV: Mở chương trình treo bảng phụ chứa khái niệm học
* Chú thích
- Có thể cài đặt đoạn thích chương trình nguồn Chú thích khơng làm ảnh hưởng đến chương trình Dùng để giải thích cho chương trình rõ ràng dễ hiểu - VD:
Trong pascal: Chú thích đặt cặp dấu { } (* *)
c++: /**/
IV Củng cố bài
- Bài học hôm em cần ghi nhớ nội dung sau: + Các thành phần NNLT pascal
+ Một số khái niệm: tên, biến, thích NNLT pascal c++. V Bài tập nhà
- Ơn tập lại học hơm
- Làm tập sgk tin học 11 trang 13 - Ôn tập chương I
(8)Ngày soạn:01/09/2009 Tuần:
Ngày giảng:04/09/2009 - Lớp 11A4 Tiết:
BÀI TẬP I Mục đích, yêu cầu
1. Về kiến thức:
- Một số khái niệm lập trình NNLT - Các thành phần NNLT
2 Kĩ năng:
- Biết viết tên NNLT cụ thể
3 Thái độ:
- Ham muốn học NNLT cụ thể để có khả giải tốn máy tính điện tử
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, SBT, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK, SBT III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- Kiểm tra lồng ghép với
2.2 Dẫn nhập mới
- Nêu kế hoặch ôn tập chương I làm tập
3 Hướng dẫn tập SGK
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn câu hỏi 1
GV: nêu câu hỏi Yêu cầu hs chuẩn bị câu trả lời
HS: suy nghĩ, tham gia xây dựng
GV: Nhận xét cho điểm Nhấn mạnh nội dung chủ yếu cho câu hỏi
HS: trật tự, chép câu trả lời
Câu 1: Tại người ta phải xây dựng các NNLT bậc cao?
Người ta phải xây dựng NNLT bậc cao lí sau:
- Lập trình ngơn ngữ bậc cao dễ viết lệnh mã hố gần với ngơn ngữ tự nhiên, thuận tiện cho đông đảo người dùng
- Chương trình viết ngơn ngữ lập trình bậc cao nói chung khơng phụ thuộc vào loại máy, chương trình thực nhiều loại máy tính khác
(9)cao dễ hiểu, dễ hiệu chỉnh dễ nâng cấp
- NNLT bậc cao cho phép làm việc với nhiều kiểu DL cách tổ chức DL đa dạng, thuận tiện cho mơ tả thuật tốn Hoạt động 2: Hướng dẫn câu 2
GV: nêu câu hỏi Yêu cầu hs chuẩn bị câu trả lời
HS: đọc sách, tham gia xây dựng
GV: Nhận xét cho điểm Nhấn mạnh nội dung chủ yếu cho câu hỏi
HS: trật tự, chép câu trả lời
Câu 2: Chương trình dịch gì? Tại sao phải có chương trình dịch?
- Chương trình dịch chương trình có chức chuyển đổi ngôn ngữ khác sang ngôn ngữ máy
- 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 máy tính hiểu thực hiên
Hoạt động 4: Hướng dẫn câu 3
GV: nêu câu hỏi Yêu cầu hs chuẩn bị câu trả lời
HS: đọc sách, tham gia xây dựng
GV: Nhận xét cho điểm Nhấn mạnh nội dung chủ yếu cho câu hỏi
HS: trật tự, chép câu trả lời
Câu 3: Biên dịch thông dịch khác nhau nào?
+ Trình biên dịch duyệt, kiểm tra, phát lỗi xác địch chương trình nguồn có dịch khơng, duyệt tồn chương trình nguồn thành chương trình đích thực máy lưu trữ để tái sử dụng
+ Trình thơng dịch lần lựơt dịch câu lệnh ngôn ngữ máy thực câu lệnh vừa dịch báo lỗi không dịch
Trong thông dịch khơng có chương
trình đích để lưu trữ Trong biên dịch chương trình nguồn chương trình đích lưu trữ lại để sử dụng sau Hoạt động 4: Hướng dẫn câu 4
GV: nêu câu hỏi Yêu cầu hs chuẩn bị câu trả lời
HS: đọc sách, tham gia xây dựng
GV: Nhận xét cho điểm Nhấn mạnh nội dung chủ yếu cho câu hỏi HS: trật tự, chép câu trả lời
Câu 4: Hãy cho biết điểm khác nhau giữa tên dành riêng tên chuẩn? - Tên dành riêng dùng với ý nghĩa xác định, không dùng với ý nghĩa khác Tên chuẩn dùng với ý nghĩa định, khai báo dùng với ý nghĩa khác
Câu 5: Hãy viết tên theo quy định pascal? -Gọi HS lên bảng viết tên tên sai.
Câu 6:
(10)a> 150.0 b> -22 c> 6,23 d> ‘43’ e> A20 f> 1.06E-15 g> 4+6 h> ‘C i> ‘True’ c, e, g, h, i sai
c: dấu phẩy phải thay dấu chấm e: tên chưa có giá trị
g: biểu thức số học
h: sai qui định xâu: thiếu nháy đơn i: xâu logic IV Củng cố bài
- Bài học hôm em cần ghi nhớ khái niệm - Làm số tập SBT
V Bài tập nhà
- Ôn tập lại học hôm - Làm tập SBT tin học - Ôn tập chương I
(11)Ngày soạn:08/09/2009 Tuần:
Ngày giảng:11/09/2009 -Lớp: 11A4 Tiết:
Chương II:
CHƯƠNG TRÌNH ĐƠN GIẢN
§3. CẤU TRÚC CHƯƠNG TRÌNH
I Mục đích, u cầu
1. Về kiến thức:
- Giúp học sinh hiểu chương trình mơ tả thuật toán NNLT - Biết cấu trúc chung chương trình
2 Kĩ năng:
- Nhận biết thành phần chương trình đơn giản
3 Thái độ:
- Tư logic II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, số chương trình mẫu
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Dẫn nhập mới
- biết rằng, ứng dụng tin học đời sống thu thập, xử lí tìm kiếm thơng tin, cơng việc thực thơng qua chương trình mà người lập sẵn Chúng ta tìm hiểu xem chương trình có cấu trúc Bài học hơm giải vấn đề
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Cấu trúc chung
GV: Đặt vấn đề
Một tập làm văn em thường viết có phần? Các phần có thứ tự khơng? Vì phải chia vậy?
HS: Lắng nghe suy nghĩ trả lời: - Có phần
- Có thứ tự: mở bài, thân bài, kết luận - Dễ viết, dễ đọc, dễ hiểu nội dung
GV: Trong tin học chương trình viết NNLT bậc cao thường gồm
1 Cấu trúc chung
- Cấu trúc chương trình có phần mô tả sau:
[<phần khai báo>]
<phần thân chương trình>
(12)phần khai báo phần thân
HS: nghe giảng chép + Phần khai báo có khơng.+ Phần thân chương trình bắt buộc phải có
Hoạt động 2: Các thành phần chương trình
GV: Phần khai báo báo cho máy biết chương trình sử dụng tài nguyên máy
Chúng ta khai báo tên chương trìn, đặt tên, chương trình Khai báo chương trình có khơng, tên chương trình người lập trình tạo nên theo quy tắc đặt tên
HS: nghe giảng ghi
GV: Thư viện chương trình thường chứa đoạn chương trình lập sẵn, đoạn chương trình hữu ích cho người lập trình
HS: nghe giảng ghi
GV: Thuyết trình
Khai báo việc đặt tên cho để tiện sử dụng tránh việc phải viết lại nhiều lần chương trình
Khai báo tiện dụng thay đổi giá trị chương trình
HS: nghe giảng ghi
GV: Thuyết trình
Khai báo biến xin máy tính cấp cho chương trình vùng nhớ để lưu trữ xử lí thơng tin nhớ Chúng ta tìm hiểu sâu vấn đề §5.
HS: nghe giảng ghi
GV: Thuyết trình
Mỗi ngơn ngữ lập trình có cách tổ chức chương trình khác nhau, thường phần thân chứa câu lệnh chương trình
2 Các thành phần chương trình a Phần khai báo
* Khai báo tên chương trình:
- ý nghĩa: để ghi nhớ tên toán cần giải, phần có khơng
- Cách viết:
Program <Tên CT>; - VD: Program giaiptb2; * Khai báo thư viện:
- ý nghĩa: cung cấp số chương trình thơng dụng lập sẵn
- Cách viết:
Uses <Tên thư viện>; - VD: Uses crt;
Lệnh sử dụng thư viện: Clrscr; - NNLT c++: #include <tên thư viện>; Lệnh sử dụng thư viện: clrscr(); * Khai báo hằng:
- ý nghĩa: thường sử dụng cho giá trị xuất nhiều lần chương trình - Cấu trúc:
Const <Tên hằng>=<giá trị>;
- VD: Const pi=3.14;
Sau từ khố const có nhiều dòng khai báo
- VD: const a=5; b=4; * Khai báo biến:
- Mọi biến chương trình phải đặt tên khai báo cho chương trình dịch biết để lưu trữ xử lí
- Biến nhận giá trị thời điểm th chương trình gọi biến đơn
Vd: giải ptb2: ax2+bx+c=0. a,b,c cần nhập
delta,x1,x2 biến cần tìm b Phần thân chương trình
- Dãy lệnh phạm vi xác định cặp dấu hiệu mở đầu kết thúc tạo thành thân chương trình
(13)[<dãy lệnh>] End.
Hoạt động 3: Ví dụ chương trình đơn giản
GV: Yêu cầu học sinh đọc ví dụ đơn giản SGK
Giải thích dịng lệnh
Viết lên bảng chương trình đơn giản ngôn ngữ Pascal
Program VD1; const pi=3.14; Begin
Writeln(pi); Readln; End
- Hỏi: phần khai báo chương trình? - Hỏi: phần thân chương trình?
HS : Suy nghĩ trả lời IV Củng cố bài
- Hôm học xong Cấu truc chương trình Với nội dung sau: chương trình gồm có hai phần: phần khai báo phần thân
+ Phần khai báo: tên chương trình, biến, thư viện, + Phần thân: câu lệnh
V Bài tập nhà
- Đọc lại học làm tập 1, 2, 3, SGK-tr35
(14)Ngày soạn:12/09/2009 Tuần: Ngày giảng:15/09/2009 - Lớp: 11A4
- Lớp: 11A5 Tiết:
§4. MỘT SỐ KIỂU DỮ LIỆU CHUẨN
§5 KHAI BÁO BIẾN I Mục đích, yêu cầu
1. Về kiến thức:
- Biết số kiểu liệu chuẩn: nguyên, thực, kí tự, logic - Xác định kiểu liệu cần khai báo liệu đơn giản
- Biết cấu trúc chung khai bào biến Biết khai báo biến
2 Kĩ năng:
- Xác định kiểu cần khai báo liệu đơn giản - Khai báo Nhận biết khai báo sai
3 Thái độ:
- Tư logic II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, kết hợp kiến thức SGK ví dụ thực tế
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, số VD
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- GV nêu câu hỏi, gọi học sinh trả lời, đánh giá, cho điểm + Câu hỏi 1: Hãy nêu thành phần chương trình?
+ Câu hỏi 2: Em cho biết cấu trúc chương trình pascal đơn giản?
2.2 Dẫn nhập mới
- Chúng ta biết rằng, chương trình pascal ln bắt đầu phần khai báo, đặc biệt phần khai báo biến để biết kiểu liệu trả kiểu liệu tính tốn máy Để biết kiểu liệu hay dùng pascal, nghiên cứu học hôm
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Một số kiểu liệu chuẩn
GV: Trong toán học để thực tính tốn cần phải có tập số Đó tập số ?
(15)GV: Đó số kiểu liệu quen thuộc tốn học Cũng tương tự vậy, ngơn ngữ lập trình thường cung cấp số kiểu liệu chuẩn cho biết phạm vi lưu trữ, dung lượng nhớ cần thiết để lưu trũ phép toán tác động lên liệu Sau ta vào chi tiết loại liệu
GV: Em thấy kiểu nguyên máy tính so với kiểu ngun tốn học có hạn chế gì?
HS: Miền giá trị bị hạn chế, tập số ngun vơ hạn, kiểu ngun máy tính hữu hạn
GV: Nêu câu hỏi
Em thấy số thực có đặc điểm gì?
HS:Cho kết gần đúng, kq gồm phần phần nguyên phần thực Số thực máy tính hữu hạn miền giá trị mở rộng so với kiểu nguyên
GV: Em cho biết kiểu kí tự dùng nào?
HS: Trả lời
Kiểu kí tự thường dùng thơng tin kí tự, xâu, hầu hết NNLT có kiểu kí tự để làm việc với văn
GV: Em biết bảng mã nào?
HS: ASCII Unicode
GV: Trong lập trình nói chung kiểu kí tự thường tập kí tự bảng mã kí tự, kí tự có mã thập phân tương ứng, để lưu giá trị kí tự phải lưu mã thập phân tương ứng
GV: Kiểu logic kiểu thường có giá trị – sai Mỗi ngôn ngữ khác lại có cách mơ tả kiểu logic khác nhau, pascal dùng true-false, số ngôn ngữ khác mô tả 0-1
1 Kiểu nguyên
Kiểu nguyên bao gồm số kiểu liệu sau: byte, integer, word, longint Mỗi giá trị lưu trữ nhớ từ đến byte Cụ thể: sgk-tr21
2 Kiểu thực
Có nhiều kiểu dùng để khai báo đại lượng nhận giá trị thực Nhưng hay dùng kiểu: real extend lưu trữ nhớ từ 6byte đến 10 byte
sgk-tr21 3 Kiểu kí tự - Tên: Char
- Miền giá trị: kí tự bảng mã ascii gồm 256 kí tự
- Mỗi kí tự có mã từ đến 255
4 Kiểu logic - Tên: Boolean
- Miền giá trị: có giá trị true false
Hoạt động 2: Khai báo biến
- Chúng ta làm quen với số kiểu DL chuẩn kiểu nguyên, kiểu thực, kiểu logic kiểu kí tự Mặt khác, biến dùng chương trình cần khai báo tên kiểu liệu biến
(16)cho máy biết phải dùng tên chương trình
HS: Lắng nghe ghi chép
GV: Đưa ví dụ
Xét khai báo tốn tính cv,s hình trịn với bán kính r
var r:byte; cv,s:real;
GV: Đặt câu hỏi
Khi khai báo biến cần lưu ý gì?
HS: Suy nghĩ trả lời câu hỏi
GV: Phân tích câu trả lời HS
khai báo sau:
var <DS biến>:<Kiểu DL>; - Trong đó:
+ var: từ khố để khai báo biến Sau từ khố var có nhiều dịng khai báo + DS biến: tên biến nhiều biến dùng dấu phẩy để ngăn cách
+ Kiểu DL: kiểu DL ngơn ngữ pascal
*Chú ý:
- Cần đặt tên biến gợi nhớ ý nghĩa biến
- Không nên đặt tên biến ngắn dài
- Khai báo biến cần lưu ý đến phạm vi gtrị biến
IV Củng cố bài
- Hôm tìm hiểu kiểu liệu thường dùng khai báo biến Với ngôn ngữ, em cần nắm vững tên kiểu, miền giá trị, kích thước nhớ Cần lưu ý cách khai báo biến
V Bài tập nhà
- Đọc lại học làm tập:
+ Hãy viết khai báo cho tốn tính chu vi, diện tích hcn với cạnh nhập từ bàn phím
+ Hãy viết khai báo cho tốn giải phương trình bậc
- Nghiên cứu 6: “Phép toán, biểu thức, câu lệnh gán” để chuẩn bị cho tiết học sau
(17)Ngày soạn:13/09/2009 Tuần: Ngày giảng:16/09/2009 - Lớp 11A5
Ngày giảng:18/09/2009 - Lớp 11A4 Tiết:
§6. PHÉP TỐN, BIỂU THỨC, CÂU LỆNH GÁN
I Mục đích, yêu cầu
1. Về kiến thức:
- Biết khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ
- Hiểu lệnh gán
2 Kĩ năng:
- Viết lệnh gán
- Viết biểu thức số học logic với phép tốn thơng dụng
3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, kết hợp kiến thức SGK ví dụ thực tế
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, VD
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- GV nêu câu hỏi, gọi học sinh trả lời, đánh giá, cho điểm + Câu hỏi 1: Em cho biết số kiểu liệu chuẩn?
+ Câu hỏi 2: Em cho biết cách khai báo biến NNLT pascal?
2.2 Dẫn nhập mới
- Trong viết chương trình ta thường phải thực tính tốn, thực so sánh để đưa định xem làm việc gì? Vậy chương trình ta viết nào? có giống với ngơn ngữ tự nhiên hay khơng? Tất ngơn ngữ có sử dụng chúng giống hay không? Ta xét khái niệm ngôn ngữ pascal
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Phép toán
GV: Toán học thường có nhóm phép tốn nào?
HS: Đưa số nhóm phép tốn thường dùng tốn học
GV: Chúng có dùng NNLT? Chỉ số phép dùng được, số phép toán phải xây dựng khác
1 Phép toán
- NNLT Pascal sử dụng số phép toán sau:
(18)GV: Nêu phép toán thường dùng pascal
HS: Trật tự nghe giảng chép
lấy phần dư)
- Các phép toán quan hệ: <, <=, >, >=, =, <>(khác), dùng để so sánh hay nhiều đại lượng Kết phép toán True False
- Các phép toán logic: NOT, OR, AND, thường dùng để tạo biểu thức logic từ biểu thức quan hệ đơn giản
Hoạt động 2: Biểu thức số học
GV: Trong toán học biểu thức gì?
HS: Đưa khái niệm
GV: Đưa khái niệm biểu thức lập trình
Đưa trình tự thực biểu thức số học, so sánh có giống với trình tự biểu thức toán học
HS: Nghe giảng ghi
GV: yêu cầu hs sử dụng phép toán số học, biểu diễn biểu thức toán học sau thành biểu thức ngơn ngữ lập trình 2a+5b+c
xy x+y+z2 2z 1-z
HS: Lên bảng trình bày 2*a+5*b+c
x*y/(2*z) (x+y+z*z)/(1-z)
2 Biểu thức số học
- Là biến kiểu số số - Là biến kiểu số số liên kết với phép toán số học - Dùng cặp dấu ngoặc trịn để qui định trình tự tính tốn
- Trình tự thực biểu thức số học là: ngoặc trước ngoặc sau,*, /, div, mod, +, -
Hoạt động 3: Hàm số học chuẩn
GV: Trong toán học em làm quen với hàm số học nào?
HS: Hàm khai căn, hàm tính trị tuyệt, hàm lượng giác,
GV: Để lập trình dễ dàng, thuận tiện hơn, pascal có số hàm hỗ trợ tính giá trị hàm tốn học thường dùng Các hàm gọi hàm chuẩn có tên gọi riêng Đối số hàm hay nhiều biểu thức số học đặt dấu ngoặc tròn sau tên hàm
HS: Trật tự nghe giảng, ghi đầy đủ
3 Hàm số học chuẩn
Cách viết cho số hàm số học chuẩn : Tên hàm (đối số)
+ Đối số hay nhiều biểu thức số học đặt dấu ngoặc ( ) sau tên hàm + Một số hàm thông dụng (SGK – tr26) VD: Nghiệm phương trình bậc (-b+sqrt(b*b-4*a*c))/(2*a) (-b+sqrt(sqr(b)-4*a*c))/(2*a)
- Bản thân hàm coi biểu thức số học
Hoạt động 4: Biểu thức quan hệ
GV: Trong lập trình thường ta phải so sánh hai giá trị trước thực lệnh Biểu thức quan hệ cịn gọi biểu thức so sánh giá trị cho kết sai (logic)
4 Biểu thức quan hệ
(19)VD: 3>5 cho kết sai
GV: Cho biết kết phép toán quan hệ thuộc kiểu liệu học?
HS: Kiểu logic
thưc 2>
- Kết biểu thức quan hệ true false
Hoạt động 5: Biểu thức Logic
GV: Muốn so sánh nhiều điều kiện đồng thời ta làm nào?
HS: đưa ý kiến (và, )
GV: Thuyết trình giảng
HS: Nghe giảng chép
GV: Trong toán học ta có biểu thức 5<=x<=7, cho biết dùng phép tốn logic để biểu diễn biểu thức ngôn ngữ lập trình
HS: Suy nghĩ trả lời
- Biểu thức logic đơn giản biến logic
- Dùng phép toán and or để liên kết biểu thức logic đơn giản biểu thức quan hệ lại với
- Phép toán not viết trước biểu thức cần phủ định Vd: not(x<1)
- Các biểu thức quan hệ thường đặt dấu ngoặc tròn
VD: (5<=x) and (x<=11) Hoạt động 6: Câu lệnh gán
GV:Giới thiệu ví dụ lệnh gán Pascal sau: x:=8+4;
Giải thích: lấy cộng 4, đem kết đặt vào x ta x=12
GV: Hỏi: cho biết chức lệnh gán?
HS: Suy nghĩ, nghiên cứu sgk trả lời
GV: Thuyết trình lệnh gán
HS: Nghe giảng chép
GV: Nhấn mạnh nêu số điểm ý sử dụng lệnh gán
- Bên trái lệnh gán tên biến, bên phải biểu thức xác định
- Một số điểm ý:
+Viết kí hiệu lệnh gán
+ Tên biến biểu thức gán phải có miền giá trị
GV: Minh hoạ vài lệnh gán ví dụ trực quan bảng hình
- Lệnh gán lệnh ngôn ngữ lập trình, thường dùng để gán giá trị biểu thức cho biến
- Cách viết:
<tên biến>:=<biểu thức>; - Sự thực hiên máy: + Tính giá trị biểu thức + Đặt giá trị vào tên biến
VD: gán cơng thức tính nghiệm cho x1 x1:=(-b+sqrt(b*b-4*a*c))/(2*a);
i:=i+1;
IV Củng cố bài
- Hôm tìm hiểu phép tốn, biểu thức, câu lệnh gán NNLT pascal Các em biết hàm số học chuẩn dùng pascal
(20)- Về nhà em cần đọc kĩ lại học hôm nay, nắm vững phép toán, biểu thức hàm số học trình tự thực phép tốn biểu thức Điều cần thiết việc viết thuật tốn lập trình tốn sau
- Nghiên cứu học tiếp theo: “Các thủ tục chuẩn vào/ra đơn giản” VI Nhận xét rút kinh nghiệm:
Ngày soạn:19/09/2009 Tuần:
Ngày giảng:22/09/2009 - Lớp 11A4
- Lớp 11A5 Tiết:
§7. CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN
§8. SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH
CHƯƠNG TRÌNH I Mục đích, u cầu
1. Về kiến thức:
- Biết lệnh vào/ra đơn giản để nhập thơng tin từ bàn phím đưa thơng tin hình
- Biết bước: soạn thảo, dịch, thực hiệu chỉnh chương trình - Biết số công cụ môi trường Turbo pascal
2 Kĩ năng:
- Viết số lệnh vào/ra đơn giản
- Bước đầu sử dụng chương trình dịch để phát lỗi
- Bước đầu chỉnh sửa chương trình thơng qua thơng báo lỗi chương trình dịch tính hợp lí kết thu
3 Thái độ:
- Ham muốn tìm hiểu biên soạn thực chương trình II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, kết hợp kiến thức SGK ví dụ thực tế
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo,VD
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
(21)- GV nêu câu hỏi, gọi học sinh trả lời, đánh giá, cho điểm + Câu hỏi 1: Hãy nêu quy tắc cách viết biểu thức số học?
+ Câu hỏi 2: Em hiểu hàm số học chuẩn? Nêu số hàm chuẩn mà em biết?
+ Câu hỏi 3: Em hiểu biểu thức quan hệ, biểu thức logic? Nêu ví dụ minh hoạ?
2.2 Dẫn nhập mới
- Chúng ta làm quen với phép toán, biểu thức câu lệnh gán Vậy làm để thực phép toán đưa kết phép toán, biểu thức hình cho người sử dụng biết? Câu hỏi giải nghiên cứu học: “Các thủ tục chuẩn vào/ra đơn giản”
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Nhập liệu từ bàn phím
GV: Thuyết trình
Khi giải tốn, ta phải đưa liệu vào để máy tính xử lý, việc đưa liệu lệnh gán làm cho chương trình có tác dụng với liệu cố định Để chương trình giải nhiều liệu hơn, ta phải sử dụng thủ tục nhập liệu
GV: Diễn giải hoạt động read/readln, nêu khác
GV: Mỗi ngôn ngữ có cách nhập thơng tin khác
Đưa hai ví dụ chương trình có nhập thơng tin vào từ bàn phím
Chạy chương trình cho học sinh quan sát, nhận xét chương trình
Giải thích việc nhập giá trị cho nhiều biến đồng thời
HS: Trật tự nghe giảng chép
1 Nhập liệu vào từ bàn phím.
- Thủ tục nhập liệu từ bàn phím pascal có dạng:
Read(<biến1>,…,<biếnn>); Readln(<biến1>,…,<biếnn>); Readln;
- Chú ý:
+ Khi nhập liệu từ bàn phím READ, READLN có ý nghĩa nhau, thường hay dùng READLN
+ Readln ko có tham số dùng để tạm dừng thực chương trình cho người dùng quan sát kết Enter để chạy tiếp
+ Khi nhập giá trị cho nhiều biến, giá trị phải gõ cách dấu cách kí tự xuống dịng VD: Readln(a,b);
Hoạt động 2: Đưa liệu hình
GV: Trên thủ tục nhập liệu vào cịn xuất sao?
GV: Giải thích khác write,
2 Đưa liệu hình
- Thủ tục nhập liệu từ bàn phím pascal có dạng:
write(<gtrị 1>, , <gtrị n>); writeln(<gtrị 1>, , <gtrị n>); writeln;
- Trong giá trị tên biến, hàm, biểu thức,
VD: write(A);write(sin(x));
(22)writeln
GV: Lấy ví dụ minh hoạ cụ thể chương trình
- Giải thích VD
- Trong thủ tục write writeln, có hai cách viết để trình bày liệu in cách viết khơng qui cách cách viết có qui cách
- Cách viết khơng có qui cách dạng cho
- Nêu rõ cách viết có qui cáchnhằm tạo
ra giao diện với người dùng tốt
hình trỏ khơng chuyển xuống dòng thủ tục writeln trỏ xuống đầu dịng
- Writeln khơng tham số đơn giản đặt trỏ xuống đầu dòng * Chú ý:
- Trong thủ tục write writeln, sau kết có qui cách Có dạng:
+ Đối với kết thực:
:<độ rộng>:<số chữ số phần thập phân> + Đối với kết khác:
:<độ rộng>
- Trong đó, độ rộng số chữ số phần thập phân số nguyên dương
VD:
writeln(‘x1=’,x1:8:3);
Hoạt động 3: Soạn thảo, dịch, thực hiệu chỉnh chương trình
GV: Giới thiệu số tập tin cần thiết để turbo pascal chạy được, hướng dẫn em cách khởi động pascal máy tính
Trên máy cần có tệp: Turbo.exe(file chạy) Turbo.tpl(file thư viện) Turbo.tph(file hướng dẫn) Graph.tpu
Egavga.bgi file *.chr
GV : Giới thiệu số thao tác thường dùng soạn thảo chương trình mơi trường soạn thảo turbo pascal
GV : Thực vài lần thao tác để em nhận thấy mức độ tiện lợi soạn thảo chạy CT
GV : Viết chương trình VD, thực thao tác sửa lỗi
Một số tao tác thường dùng pascal:
- Khi soạn thảo muốn xuống dòng nhấn Enter
- Ghi file vào đĩa: F2 - Mở file có: F3
- Biêng dịch chương trình: Alt +F9 - Chạy chương trình:
Ctrl + F9
- Đóng cửa sổ chương trình: Alt + F3 - Thốt khỏi phần mền:
Alt + X
IV Củng cố bài
- Bài học hôm em cần nắm vững nội dung: thủ tục nhập liệu từ bàn phím, thủ tục đưa liệu hình, quy cách kết ra, hình làm việc pascal, bảng chọn, số phím tắt
V Bài tập nhà
(23)Ngày soạn:20/09/2009 Tuần: Ngày giảng:23/09/2009 - Lớp 11A5
Ngày giảng:25/09/2009 - Lớp 11A4 Tiết:
Bài tập thực hành 1 I Mục đích, yêu cầu
1. Về kiến thức:
- Biết chương trình Pascal hồn chỉnh đơn giản
- 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:
- Viết chương trình đơn giản, lưu chương trình đĩ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 Pascal Free Pascal
3 Thái độ:
- Hình thành cho học sinh bước đầu tư lập trình có cấu trúc - Tự giác, tích cực chủ động hoàn thành
II Phương pháp
- Kết hợp phương pháp giảng dạy: Giáo viên thao tác mẫu, giới thiệu hướng dẫn thơng qua máy tính, máy chiếu, thuyết trình, vấn đáp
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, VD mẫu, máy tính cài sẵn chương trình Turbo Pascal Free Pascal
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- Kết hợp hỏi cũ hướng dẫn học sinh thực hành máy tính
2.2 Dẫn nhập mới
- Qua học lý thuyết em làm quen với cấu trúc NNLT(đặc biệt pascal), với số kiểu liệu chuẩn, khai báo biến, phép toán, biểu thức, câu lệnh gán, thủ tục chuẩn vào/ra đơn giản việc soạn thảo, dịch, thực hiệu chỉnh chương trình Bài thực hành hơm giúp em hồn thiện, khắc sâu vấn đề nêu
3 Nội dung thực hành
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn thực tập SGK
(24)pascal, soạn thảo chương trình SGK trang 34
HS: Tự giác nhập chương trình
GV: Lưu ý học sinh số điểm soạn thảo chương trình: dấu ;, dấu sau end
GV: Làm mẫu việc lưu CT lên đĩa
HS: tự giác thực
GV: Làm mẫu cho hs cách dịch sửa lỗi cú pháp
HS: tự giác thực
GV: Làm mẫu cho hs cách chạy CT
HS: tự giác thực
GV: Nêu số điểm cần lưu ý trình thực CT:
- Nhập giá trị cách dấu cách
- Quay lại hình soạn thảo
GV: Yêu cầu giảng giải
HS: Thực
a Gõ chương trình sau: program giai_ptb2; uses crt;
var a,b,c,d:real; x1,x2:real; Begin
clrscr;
write('a,b,c: '); readln(a,b,c); D:=b*b-4*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
b Lưu chương trình cách nhấn phím F2 với tên PTB2.PAS.
c Dịch sửa lỗi cú pháp với tổ hợp phím Alt+F9.
d Thực chương trình với tổ hợp phím Ctrl+F9
- Nhập giá trị 1; -3; Thông báo kết máy đưa
>x1 = 1.00 x2 = 2.00
- Nhập giá trị ; ; -2 Thông báo kết máy đưa
>Thơng báo lỗi cho biết sao: Do bậc hai số âm
- Sửa lại chương trình khơng dùng đến biến D thực chương trình sửa
x1:= (-b - sqrt(b*b – 4*a*c))/(2*a); x2:= (-b + sqrt(b*b – 4*a*c))/(2*a);
- Sửa lại chương trình cách thay đổi cơng thức tính x2
x2=-b/a-x1;
- Thực chương trình sửa với liệu ; - ; Thông báo kết
>x1 = 2.00 x2 = 3.00
- Thực chương trình với liệu ; ; Thông báo kết
(25)IV Củng cố bài
- Các bước để hồn thành chương trình:
+ Phân tích toán để xác định liệu vào, liệu + Xác định 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 chương trình
+ Thực hiệu chỉnh chương trình V Bài tập nhà
- Làm lại thực hành hôm
- Làm tập SGK trang 35,36 VI Nhận xét rút kinh nghiệm:
Ngày soạn:26/09/2009 Tuần:
Ngày giảng:29/09/2009 - Lớp 11A5
- Lớp 11A4 Tiết:
Bài tập thực hành 1 I Mục đích, yêu cầu
1. Về kiến thức:
- Biết chương trình Pascal hồn chỉnh đơn giản
- 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:
- Viết chương trình đơn giản, lưu chương trình đĩ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 Pascal Free Pascal
3 Thái độ:
- Hình thành cho học sinh bước đầu tư lập trình có cấu trúc - Tự giác, tích cực chủ động hồn thành
II Phương pháp
- Kết hợp phương pháp giảng dạy: Giáo viên thao tác mẫu, giới thiệu hướng dẫn thơng qua máy tính, máy chiếu, thuyết trình, vấn đáp
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phịng máy, VD mẫu, máy tính cài sẵn chương trình Turbo Pascal Free Pascal
(26)III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: 3 Nội dung thực hành
Hoạt động thầy trò Nội dung
Hoạt động 1: Thực số tập
- 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 bt1;
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 trình thực cơng việc gì, kết in hình bao nhiêu? IV Củng cố bài
- Các bước để hoàn thành chương trình:
+ Phân tích tốn để xác định liệu vào, liệu + Xác định 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 chương trình
+ Thực hiệu chỉnh chương trình V Bài tập nhà
- Làm lại thực hành hôm
- Làm tập SGK trang 35,36 - Ôn tập chương II
(27)Ngày soạn:27/09/2009 Tuần: Ngày giảng:30/09/2009 - Lớp 11A5
Ngày giảng:02/10/2009 - Lớp 11A4 Tiết: 10
BÀI TẬP I Mục đích, yêu cầu
1. Về kiến thức:
- Nắm kiến thức 3,4,5,6,7,8
- Củng cố nội dung đạt tiết thực hành
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Có ý thức cố gắng học tập vượt qua khó khăn giai đoạn đầu bắt đầu học lập trình
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, SBT, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK, SBT III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- Câu hỏi 1: Hãy nêu số thao tác phím tắt thường sử dụng để soạn thảo thực chương trình viết pascal
2.2 Dẫn nhập mới
- Hôm ôn lại toàn chương II
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Giáo viên nhắc lại vấn đề cần nắm vững chương II Hoạt động 2: Hướng dẫn câu hỏi 1
GV: Nêu câu hỏi, gợi ý câu trả lời cho học sinh
HS: Tập trung suy nghĩ, tham gia xây dựng
Câu 1: Hãy cho biết khác giữa hằng có đặt tên biến
(28)Hoạt động 3: Hướng dẫn câu hỏi 2
GV: Nêu câu hỏi, gọi học sinh trả lời Đánh giá câu trả lời học sinh
HS: Tập trung suy nghĩ, tham gia xây dựng
Câu 1: Tại phải khai báo biến
- Khai báo biến nhằm mục đích sau: +Xác định kiểu biến Trình dịch biết cách tổ chức nhớ chứa giá trị củabiến
+ Đưa tên biến vào danh sách đối tượng chương trình quản lí
+ Trình dịch biết cách truy cập giá trị biến áp dụng thao tác thích hợp cho biến
Hoạt động 4: Hướng dẫn câu hỏi 3
GV: Yêu cầu học sinh đọc câu hỏi, nghiên cứu sgk tr21,22 để tìm câu trả lời
HS: Tự giác đọc sách, tìm câu trả lời, tham gia xây dựng
Câu 3:
integer, word, longint
Hoạt động 5: Hướng dẫn câu hỏi 4
GV: Yêu cầu học sinh đọc câu hỏi, nghiên cứu sgk tr21,22, 23 để tìm câu trả lời
HS: Tự giác đọc sách, tìm câu trả lời, tham gia xây dựng
Câu 4:
b dd tốt
Hoạt động 6: Hướng dẫn câu hỏi 5
GV: Yêu cầu học sinh đọc câu hỏi Đánh giá câu trả lời học sinh
HS: Tập trung suy nghĩ, tìm câu trả lời, tham gia xây dựng
Câu 5:
b, c, dc tốt
Hoạt động 7: Hướng dẫn câu hỏi 8
GV: Yêu cầu học sinh đọc câu hỏi Đánh giá câu trả lời học sinh
HS: Tập trung suy nghĩ, tìm câu trả lời, tham gia xây dựng
Câu 6:
Hình 2a: (y>=abs(x)) and (y<=1) Hình 2b: (abs(x)<=1) and (abs(y)<=1)
Hoạt động 8: Hướng dẫn câu hỏi 9
GV: Yêu cầu học sinh đọc câu hỏi Đánh giá câu trả lời học sinh
HS: Tập trung suy nghĩ, tìm câu trả lời, tham gia xây dựng
Câu 6:
Var a:real; Begin
Write(‘nhap gia tri a (a>0):’);readln(a); Write(‘dien tich phan gach cheo la:’, a*a*pi/2:8:3);
(29)Const g=9.8; Hoạt động 9: Hướng dẫn câu hỏi 10
GV: Yêu cầu học sinh đọc câu hỏi Đánh giá câu trả lời học sinh
HS: Tập trung suy nghĩ, tìm câu trả lời, tham gia xây dựng
Câu 10:
Var v,h:real; Begin
Clrscr;
Write(‘nhap cao cua vat h=’); readln(h);
V:=sqrt(2*g*h);
Writeln(‘Van toc cham dat la v=’,v:10:2,’ m/s’);
Readln End IV Củng cố bài
V Bài tập nhà
- Làm lại tập hôm làm thêm tập SBT - Đọc trước chương III
VI Nhận xét rút kinh nghiệm:
Ngày soạn:03/10/2009 Tuần:
Ngày giảng:06/10/2009 - Lớp 11A5 Ngày giảng:09/10/2009 - Lớp 11A4 Ngày giảng: /10/2009 - Lớp 11A Ngày giảng: /10/2009 - Lớp 11A Ngày giảng: /10/2009 - Lớp 11A
Tiết: 11
Chương III:
CẤU TRÚC RẼ NHÁNH VÀ LẶP
§9. CẤU TRÚC RẼ NHÁNH
I Mục đích, yêu cầu
1. Về kiến thức:
- Hiểu nhu cầu cần sử dụng cấu trúc rẽ nhánh biểu diễn thuật toán - Hiểu câu lệnh rẽ nhánh (dạng thiếu dạng đủ)
- Hiểu câu lệnh ghép
- Sử dụng cấu trúc rẽ nhánh mơ tả thuật tốn số tốn đơn giản
(30)- Viết lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ áp dụng để thể thuật toán số toán đơn giản
3 Thái độ:
- Giải tốn cách cẩn thận, chu đáo, có sáng tạo, không thoả mãn với kết ban đầu đạt
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình mẫu giải ptb2
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Giới thiệu chương trình học dẫn nhập mới 2.1 Giới thiệu chương trình học
- Giới thiệu sơ lược chương III
2.2 Dẫn nhập mới
- Chúng ta làm quen với cấu trúc chương trình, kiểu liệu, phép toán, câu lệnh gản, tổ chức vào/ra đơn giản cách thực chương trình môi trường pascal Bài học hôm nghiên cứu cấu trúc lệnh thường dùng NNLT pascal “Cấu trúc rẽ nhánh”
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Rẽ nhánh
GV: Thường ngày có cơng việc thực điều kiện cụ thể thoả mãn
VD1: Chiều mai trời không mưa châu đến nhà Ngọc
GV: Yêu cầu HS đưa cấu trúc chung câu điều kiện trên?
HS: Chú ý lắng nghe trả lời
GV: Đưa VD2: Chiều mai trời không mưa thi Ngọc đến nhà châu, nếu mưa gọi điện cho châu để trao đổi.
GV: Yêu cầu HS đưa cấu trúc chung câu điều kiện trên?
HS: Chú ý lắng nghe trả lời
GV: Yêu cầu HS nêu bước để kết luận nghiệm phương trình bậc 2: ax2+bx+c=0.
HS: Tính D(delta)
Nếu D <0 PTVN Ngược lại PT có nghiệm
1 Rẽ nhánh
- Một số mệnh đề có dạng điều kiện: + Dạng thiếu: Nếu…thì…
(31)Hoạt động 2: Câu lệnh if-then
GV: Thuyết trình
Mọi ngơn ngữ lập trình có câu lệnh để mô tả cấu trúc rẽ nhánh Để mô tả cấu trúc rẽ nhánh, pascal dùng câu lệnh if-then Tương ứng với hai dạng thiếu đủ nói
GV: Đưa cấu trúc lệnh rẽ nhánh pascal Nhắc nhở học sinh cấu trúc quan trọng, sử dụng nhiều chương trình sau
GV: Lưu ý em sau then sau else có lệnh chương trình
GV: Treo bảng phụ giải thích q trình thực câu lệnh rẽ nhánh dạng đủ dạng khuyết
GV: Với dạng này, dạng thuận tiện hơn?
HS: Suy nghĩ trả lời. -> tuỳ trường hợp cụ thể
2 Câu lệnh if-then
a Dạng thiếu *Cấu trúc:
IF <điều kiện> THEN <câu lệnh>; Trong đó:
- Điều kiện biểu thức quan hệ lôgic
- Câu lệnh câu lệnh Pascal
*Ý nghĩa: Nếu điều kiện câu lệnh thực hiện, ngược lại câu lệnh bị bỏ qua
*VD: if x mod 2=0 then writeln(x,’Là số chẵn’);
b Dạng đủ *Cấu trúc:
IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>;
*Ý nghĩa: Nếu điều kiện thực câu lệnh 1, điều kiện sai thực câu lệnh
*VD: if b<>0 then T:=a/b else write(‘Mẫu số =0 không chia được’);
Hoạt động 3: Câu lệnh ghép
GV: Muốn thực nhiều lệnh sau if sau then làm nào?
HS: Phát biểu ý kiến mình.
GV: Nếu cấu trúc rẽ nhánh, sau Then có từ lệnh trở lên gộp thành câu lệnh ghép, đặt lệnh cặp từ khố Begin…end; với Pascal
GV: Nếu có máy chiếu, chiếu chương trình soạn sẵn có chứa lệnh ghép Yêu cầu
3 Câu lệnh ghép - Cấu trúc lệnh ghép: Begin
<Các lệnh cần ghép>; End;
* Chú ý:
- Sau end phải dấu ; trước else không chứa dấu ;
(32)hs lệnh ghép
Nếu có nhiều thời gian, gv gõ lệnh, giải thích hướng dẫn cách gõ if-then-else để đỡ nhầm lẫn lập trình
Hoạt động 4: Một số ví dụ
GV:Yêu cầu học sinh sửa lại chương trình giải PTb2 thực hành sử dụng lệnh rẽ nhành
HS: Lên bảng viết chương trình có máy chiếu gõ vào máy tính
GV: Phân tích nhận xét VD sgk-41 chủ yếu nhấn mạnh vào cấu trúc rẽ nhánh lệnh ghép
4 Một số ví dụ sgk-tr41
IV Củng cố bài
- Qua tiết học này, em cần nắm cấu trúc chung cấu trúc rẽ nhánh, thực máy gặp cấu trúc rẽ nhánh thiếu đủ Áp dụng cấu trúc vào giải tập
V Bài tập nhà
- Ôn tập lại học, trả lời câu hỏi cuối - Làm tập 1,2 trang 50
(33)Ngày soạn:07/10/2009 Tuần: Ngày giảng: / /2009 - Lớp 11A
Ngày giảng: / /2009 - Lớp 11A Ngày giảng: / /2009 - Lớp 11A Ngày giảng: / /2009 - Lớp 11A Ngày giảng: / /2009 - Lớp 11A
Tiết: 12
BÀI TẬP I Mục đích, yêu cầu
1. Về kiến thức:
- Nắm kiến thức
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, SBT, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK, SBT III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ:
- Kiểm tra trình làm tập
2.2 Dẫn nhập mới
- Hôm làm số tập giúp em củng cố kiến thức 9: cấu trúc rẽ nhánh
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Củng cố kiến thức chương I, II, III chuẩn bị cho tiết sau kiểm tra Hoạt động 2: Hướng dẫn tập 4-sgk-tr51
GV: Các em có chuẩn bị nhà em lên bảng làm tập, em làm phần a, em làm phần b
HS: Lên bảng làm tập
GV: Gọi học sinh khác nhận xét
HS: Quan sát nhận xét.
GV: Nhận xét, phân tích cho điểm
Bài tập 4-sgk-tr51
(34)GV: Đưa tập
Tìm nghiệm phương trình bậc ax+b=0 Xác định input, output tốn lập trình chương trình tìm nghiệm cho tốn
HS: Chép đề làm bài
Hoạt động 4: Kiểm tra 15 phút IV Củng cố bài
V Bài tập nhà
- Làm lại tập hôm làm thêm tập SBT
- Ôn kỹ lý thuyết làm nhiều tập để chuẩn bị sau kiểm tra 1tiết VI Nhận xét rút kinh nghiệm:
Ngày soạn: Tuần:
Ngày giảng: Tiết: 16
KIỂM TRA 15 PHÚT I Mục tiêu đánh giá
- Đánh giá kết tiếp thu kiến thức để viết chương trình đơn giản ngơn ngữ lập trình pascal
II u cầu đề
- Biết cách khai báo biến
- Biết cách viết biểu thức pascal - Hiểu lệnh gán
III Ma trận đề
Nhận biết Câu 1,5,9,10 Thông hiểu Câu 6,8
Vận dụng Câu 2,3,4,7
IV Đề bài
Khoanh tròn phơng án A, B, C, D mà bạn cho nhất.
Câu : Trong NNLT Pascal để viết xâu kí tự "Chao cac ban" ta viết nh sau:
A. “Chao ban” B. “Chao ban’ C. “Chao ban “ D. ’Chao ban’
Câu : Với a: real; b: real; nhập giá trị cho a, b từ bàn phím ứng với lệnh Readln(a, b) ta đánh nh sau:
A. 2.5 , B. 2.5 – 3 C. 2.5 va D. 2.5
Câu : Để thông báo giá trị cđa biÕn S (víi khai b¸o var S : integer) ta viÕt lÖnh sau:
(35)C. Write(’S=’,s:8:2); D. Write(’S=’,s:6);
C©u :
Trong ngôn ngữ lập trình Pascal, biểu thức a b d c
đợc viết là:
A. a-b/d-c B. (a-b)/d-c C. (a-b)/(d-c) D. (a-b):(d-c)
Câu : Trong NNLT Pascal để thực chơng trình ta làm nh sau:
A. BÊm tỉ hỵp phÝm Ctrl + F9 B. BÊm phÝm F9
C. BÊm tỉ hỵp phÝm Alt + F9 D. BÊm tỉ hỵp phím Shift + F9
Câu : Giá trị biểu thức 30 div mod (2*2) là:
A. B.
C. D.
Câu : Trong ngơn ngữ lập trình Pascal, mệnh đề a d >0 đợc viết
A. a0 and d > B. a<>0 and d >
C. (a <> 0) and (d > 0) D. (a >< 0) and (d > 0)
Câu : Với giá trị a := 1.345 lệnh Write(a:4:2) cho kết hình là:
A. 1.34 B. 1.3450 C. 1.345 D. 1.35
Câu : Trong Pascal để khai báo biến x số nguyên, y số thực viết:
A. Const x = 1; y = 2.5; B. Var x: real; y: integer;
C. Var x: integer; y: Real; D. Type x = integer; y = real;
Câu 10 : Trong NNLT Pascal phát biểu nói lệnh rẽ nhánh? A. Nếu sau THEN muốn thực nhiều lệnh phải đặt lệnh
Begin vµ End;
B. Nếu sau THEN muốn thực nhiều lệnh phải đặt lệnh hai dấu ngoặc đơn
C. Nếu sau THEN muốn thực nhiều lệnh phải đặt câu lệnh rẽ nhánh IF Begin End;
D. NÕu sau THEN muèn thùc hiÖn nhiều lệnh phải thêm Else
V ỏp ỏn biểu điểm
C©u 1 2 3 4 5 6 7 8 9 10
P.¸n D D D C A B B D C A
(36)Ngày soạn: Tuần:10
Ngày giảng: Tiết: 13
KIỂM TRA TIẾT I Mục tiêu đánh giá
- Đánh giá kết tiếp thu 1,2,3,4,5,6,7,8,9 học II Yêu cầu đề
- Biết ngơn ngữ lập trình
- Biết phân biệt cấu trúc chương trình, phép tốn, biểu thức, câu lệnh gán - Biết cấu trúc if-then
- Biết viết chương trình đơn giản III Ma trận đề
Nhận biết Câu 1,2,3,7,9,10 Thông hiểu Câu 5,6
Vận dụng 4,8,Phần tự luận IV Đề bài
A Phần trắc nghiệm ( 5điểm)
Khoanh tròn phơng án A, B, C, D mà bạn cho Câu : Chơng trình viết ngơn ngữ bậc cao có u điểm:
A. Ng¾n gän dƠ hiĨu, dễ hiệu chỉnh nâng cấp, phụ thuộc vào loại máy
B. Tc thc hin nhanh hn so với chơng trình viết bẳng ngơn ngữ máy
C. Khai thác đợc tối đa khả mỏy
D. Viết dài, nhiều thời gian so với viết chơng trình ngôn ngữ máy
Câu : Cách khai báo biến cách khai báo sau: A. Var x,i: integer; B. Var <x,y>: Real;
C. Var x;i: char; D. Var x i: boolean;
Câu 3: Cho A,B,X biến thực Trong số lệnh sau, câu lệnh đúng: A. IF A<B; THEN X:=X+1;
B. IF A<B THEN X:=A+B;
C. IF A<B THEN X=A ELSE X=B;
D. IF A<B THEN X:=A; ELSE X:=B;
Câu : Kết phép chia div 4:
A. B. C. D.
Câu : Trong ngơn ngữ lập trình Pascal, mệnh đề a ≠0 a mod 2<>0 đợc viết A. a0 and a mod 2<>0 B a<>0 and a mod 2<>0
C. (a <> 0) and (a mod 2<>0) D (a >< 0) and (a mod 2<>0)
Câu : Muốn nhập vào giá trị ba cạnh a,b,c tam giác ta phải sử dụng câu lệnh ?
A. Readln(a,b,c); B. Realn(a,b,c);
C. Readln(a;b;c); D. Readln(abc);
(37)A. sqrt(x) B. sqr(x) C. exp(x) D. abs(x)
Câu : Trong ngôn ngữ lập trình Pascal, biểu thøc x y2
đợc viết là:
A. -x+sqrt(y2) B.
-x + sqr(y)
C. -x+sqrt(sqr(y)) D. -x+sqr(y*y)
Câu : Khai báo khoá:
A. program B. const C. var D. uses
Câu 10 : Cho đoạn chơng trình sau:
var a,b,t: real; {Dòng 1}
Begin {Dßng 2}
if b<>0 then t:=a/b; {Dßng 3}
else {Dßng 4}
writeln(‘Mau bang 0, khong chia duoc’); {Dòng 5}
End
Chơng trình báo lỗi dòng nào?
{Dòng 6}
A. Dòng B. Dßng C. Dßng D. Dßng
B Bài tập (5 điểm):
Câu : Cho đoạn chơng trình sau:
Begin x:=a;
if a<b then x:=b; end
Với a=20 b=15 Với chơng trình kết x bao nhiêu?
Với a=5 b=10 Với chơng trình kết x bao nhiêu?
Câu 2: Viết chơng trình tính diện tích hình chữ nhật với cạnh a,b nhập từ bàn phím
V Hướng dẫn chấm
1 Phần trắc nghiệm: câu 0.5đ Phần tự luận: 5đ
VI Đáp án
A Phần trắc nghiệm
Câu 10
Đ án
B Phần tự luận Câu 1:
a=20, b=15 x:=ax=20
Vì a>b nên khơng thực câu lệnh gán x:=bx=20
a=5, b=10 x:=ax=20
Vì a<b nên thực câu lệnh gán x:=bx=10
Câu 2:
program s_hcn; uses crt;
(38)Begin clrscr;
write('Nhap canh a,b:'); readln(a,b);
if (a<0) and (b<0) then write('Yeu cau nhap a,b>0') else
Begin s:=a*b;
writeln('S=',s); end;
(39)Ngày soạn:25/10/2009 Tuần: 11
Ngày giảng:27/10/2009 Tiết: 14
§10. CẤU TRÚC LẶP (Tiết 1) I Mục đích, yêu cầu
1. Về kiến thức:
- Hiểu ý nghĩa cấu trúc lặp
- Hiểu nhu cầu cần sử dụng cấu trúc lặp biểu diễn thuật toán - Hiểu hai dạng lệnh lặp FOR NNLT pascal
2 Kĩ năng:
- Bước đầu sử dụng lệnh lặp For để lập trình giải số toán đơn giản
3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ
Câu hỏi: Cho biết kết doạn chương trình sau Program VD;
Begin
Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Readln;
End
2.2 Dẫn nhập mới
- Nếu giải toán với việc in khoảng 10 dịng có từ PASCAL Các em có nhận xét dịng lệnh chương trình trên? Chương trình dài dịng,
lệnh giống lặp lặp lại Đối với thuật tốn có thao tác phải thực lặp lặp lại số lần máy tính thực hiệu thao tác lặp cấu trúc lặp Bài học hôm 10: “Cấu trúc lặp”
Nội dung giảng
Hoạt động thầy trò Nội dung
(40)GV: Đưa toán, yêu cầu học sinh tìm cách để lập trình giải tốn Tính tổng 10 số tự nhiên Tính tổng n số tự nhiên với n <=10
Chia HS làm nhóm để viết thuật tốn giải tốn
HS: Đưa cách giải (có thể cách giải em khác nhau)
GV: Tương tự xem toán SGK-42 Xét toán sau với a>2 số nguyên
* Bài tốn 1: tính đưa kết hình tổng S
1 1
1 100
S
a a a a
* Bài tốn 2: tính đưa kết hình tổng S
1 N a a a S
Cho đến 0.0001 N
a
GV: Phân tích nhận xét
-BT1: Việc tăng giá trị cho biến S lặp lặp lại 100 lầnLặp với số lần biết
trước
-BT2: Việc tăng giá trị cho biến S lặp lặp lại 0.0001
N a
Lặp với số lần chưa biết trước
GV: Từ VD nghiên cứu thêm SGK cho biết có loại cấu trúc lặp?
HS: Trả lời
1 Lặp
- Trong lập trình, có thao tác phải lặp lặp lại nhiều lần, ta gọi cấu trúc lặp
- Lặp thường có loại:
+ Lặp với số lần biết trước + Lặp với số lần chưa biết trước
Hoạt động 2: Lặp với số lần biết trước câu lệnh for-do
GV: Đưa thuật toán khác để giải ví dụ nêu
Thuật toán 1: B1: S0; n0
B2: n n +1
B3: Nếu n > 10 chuyển đến B5 B4: S= S + n quay lai b2 B5: Đưa S hình kết thúc Thuật toán 2:
B1: S10; n10
B2: n n -1
B3: Nếu n < chuyển đến B5 B4: S= S + n quay lai b2
2 Lặp với số lần biết trước câu lệnh for-do
* Dạng lặp tiến: - Cấu trúc:
FOR <biến đếm>:= <giá trị đầu> TO <giá trị cuối> DO <câu lệnh>;
- Trong đó:
+ Biến đếm biến đơn, thường có kiểu nguyên
(41)B5: Đưa S hình kết thúc
GV: Số lần lặp thuật toán biết trước (10 lần)
- Giải thích thuật tốn
+ TT1: n bắt đầu sau lần lặp n tăng lên đơn vị n>10 kết thúc lặp
+ TT2: n bắt đầu 10 sau lần lặp n giảm đơn vị n< kết thúc lặp
GV: Nêu dạng cách lặp?
HS: Suy nghĩ trả lời
GV: Giới thiệu câu lệnh FOR - DO với dạng tiến, lùi Pascal
- Giải thích thông số câu lệnh - Yêu cầu HS nghiên cứu SGK nêu hoạt động lệnh FOR - DO?
- GV treo bảng phụ sơ đồ thuật toán lặp
- Gv treo bảng phụ cài đặt thuật toán VD
- Qua chương trình có nhận xét biến đếm ?
- Cho HS cài đặt thuật toán với VD1
- Sự thực máy: câu lệnh viết sau từ khóa DO thực tuần tự, với biến đếm nhận giá trị liên tiếp tăng từ giá trị đầu đến giá trị cuối
* Dạng lặp lùi: - Cấu trúc:
FOR <biến đếm>:= <giá trị cuối> DOWNTO <giá trị đầu> DO <câu lệnh>;
- Sự hoạt động máy: câu lệnh viết sau từ khóa DO thực tuần tự, với biến đếm nhận giá trị liên tiếp giảm từ giá trị cuối đến giá trị đầu
* Chú ý: Câu lệnh viết sau DO không thay đổi giá trị biến đếm
V Củng cố bài
- Qua tiết học này, em cần nắm cấu trúc chung cấu trúc rẽ lặp, thực máy gặp cấu trúc lặp biết trước số lần lặp Áp dụng cấu trúc vào giải tập
VI Bài tập nhà
- Ôn tập lại học, trả lời câu hỏi cuối - Làm tập trang 50
(42)Ngày soạn:31/10/2009 Tuần: 12
Ngày giảng:03/10/2009 Tiết: 15
§10. CẤU TRÚC LẶP (Tiết 2) I Mục đích, yêu cầu
1.Về kiến thức:
- Biết cách vận dụng đắn cấu trúc lặp vào tình cụ thể
- Mơ tả thuật tốn số tốn đơn giản có sử dụng lệnh lặp
2 Kĩ năng:
- Bước đầu sử dụng lệnh For để lập trình giải số toán đơn giản
3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
Câu hỏi: Lặp với số lần biết trước có dạng? Mô tả cấu trúc nêu thực máy với dạng đó?
Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1:Hướng dẫn HS làm ví dụ
GV: Nêu nội dung toán mục tiêu 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 tiếp tục hồn thành chương trình
- Chính xác hố làm học sinh chương trình mẫu
VD1: * Lặp tiến:
Program laptien; uses crt;
var i,n,s: integer; Begin
clrscr;
write('Nhap n='); readln(n);
s:=0;
for i:=1 to n s:=s+i;
writeln('Tong s=',s); readln;
(43)* Ví dụ SGK tương tự
Program laptien; uses crt;
var i,n,s: integer; Begin
clrscr;
write('Nhap n='); readln(n);
s:=0;
for i:=n downto s:=s+i;
writeln('Tong s=',s); readln;
End VD2:
Program laptien; uses crt;
var i,m,n,t: integer; Begin
clrscr;
write('Nhap m=');readln(m); write('Nhap n=');readln(n); t:=0;
for i:=m to n
if (i mod 5=0) or (i mod 3=0) then t:=t+1;
writeln('Ket qua la: ',t); readln;
End
Hoạt động 2: Ví dụ khác *VD: In hình số từ đến 20
Thấy biến i tăng liên tiếp từ giá
trị đầu đến giá trị cuối
Program inso; uses crt;
var i: integer; Begin
clrscr;
for i:=1 to 20 writeln(‘i:',i); readln;
End V Củng cố bài
VI Bài tập nhà
- Về nhà làm nhiều ví dụ SBT Làm tập trang 50 - Đọc tiếp phần 10
VII Nhận xét rút kinh nghiệm:
(44)Ngày giảng:10/11/2009 Tiết: 16 §10. CẤU TRÚC LẶP (Tiết 3)
I Mục đích, yêu cầu
1.Về kiến thức:
- 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 ngôn ngữ 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 sử dụng lệnh while để lập trình giải số toán đơn giản
3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, minh hoạ III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1:Lặp với số lần chưa biết trước câu lệnh while-do
GV: Nêu nội dung toán Yêu cầu học sinh xây dựng thuật toán để giải toán
GV: Sự khác toán với toán viết tiết trước?
HS: Cho giới hạn n
GV: Lặp lần?
HS: phụ thuộc vào n (lặp n lần với điều kiện n<=10)Chưa biết số lần lặp
GV: Tiểu kết vấn đề: qua ví dụ ta thấy có 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 thoả mãn điều kiện
GV: Yêu cầu học sinh nghiên cứu sách
3 Lặp với số lần chưa biết trước và câu lệnh while-do
Thuật toán: B1: S0; n0
B2: Nếu n > 10 chuyển đến B5 B3: n n +1
B4: S= S + n quay lai b2 B5: Đưa S hình kết thúc While <điều kiện> <câu lệnh>; Tronh đó:
-Điều kiện biểu thức quan hệ biểu thức logic;
-Câu lệnh câu đơn ghép * Sự thực máy:
B1: Tính giá trị điều kiện
(45)giáo khoa cho biết cấu trúc chung lệnh lặp While?
- Giải thích:
+ Điều kiện: biểu thức quan hệ biểu thức logic, điều kiện để lặp lại - Hỏi: toán đ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: tốn lệnh cần lặp gì?
-Hỏi: 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 lệnh cần lặp trước?
GV: Đưa ví dụ để mơ tả thêm lệnh while
Thực lệnh cần lặp, quay lại B1 * Chương trình:
Program lapwhile; uses crt;
var i,n,s: integer; Begin
clrscr;
write('Nhap n=');readln(n); s:=0;i:=0;
while i<n begin
i:=i+1; s:=s+i; end;
writeln('Tong s=',s); readln;
End
VD: Tìm ước chung lớn hai số nguyên dương M,N
Program USCLN; USES crt; Var
M,N : integer; BEGIN
clrscr;
write('Nhap M,N: '); readln(M,N);
while M<>N Begin
IF M>N then M:=M-N else N:=N-M; End;
Writeln('UCLN(M,N) la :',M); readln;
END
V Củng cố bài
- Qua tiết học này, em cần nắm cấu trúc chung cấu trúc lặp, thực máy gặp cấu trúc lặp chưa biết trước số lần lặp Áp dụng cấu trúc vào giải tập
VI Bài tập nhà
- Ôn lại học, làm tập trang 50
(46)Ngày soạn:13/11/2009 Tuần: 14,15
Ngày giảng:16/11/2009 Tiết: 17,18
BÀI TẬP VÀ THỰC HÀNH 2 I Mục đích, yêu cầu
1.Về kiến thức:
- Xây dựng chương trình có cấu trúc rẽ nhánh
- Làm quen với cơng cụ hiệu chỉnh chương trình
2 Kĩ năng:
- Rèn luyện kĩ vận dụng linh hoạt việc lựa chọn cấu trúc rẽ nhánh cấu trúc lặp phù hợp để giải tốn đặt
3 Thái độ:
- Hình thành cho học sinh bước đầu tư lập trình có cấu trúc - Tự giác, tích cực chủ động hoàn thành
II Phương pháp
- Kết hợp phương pháp giảng dạy: thuyết trình, vấn đáp, ví dụ minh hoạ II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, VD mẫu, máy tính cài sẵn chương trình Turbo Pascal Free Pascal
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: 3 Nội dung thực hành
Hoạt động GV Hoạt động HS
Hoạt động 1: Bài toán Bộ số Pi-ta-go Gợi ý để học sinh nêu khái niệm
số Pitago
- Yêu cầu: Lấy ví dụ cụ thể
- Hỏi: Để kiểm tra ba số a,b,c có phải Pitago, ta phải kiểm tra đẳng thức nào?
2 Chiếu chương trình mẫu lên bảng Thực mẫu thao tác: lưu, thực lệnh chương trình, xem kết trung gian, thực chương trình
1 Theo dõi dẫn dắt GV để nêu khái niệm số pitago: tổng bình phương hai số bình phương số cịn lại
Ví dụ số Pitago: a2 = b2 + c2
b2 = a2 + c2 c2 = b2 + a2
(47)và nhập liệu
a Yêu cầu học sinh gõ chương trình mẫu vào máy
b Yêu cầu học sinh lưu chương trình lên đĩa với tên Pytago.pas
c Yêu cầu học sinh thực lệnh chương trình
d Yêu cầu học sinh vào bảng chọn Debug mở cửa sổ hiệu chỉnh để xem giá trị a2,b2,c2
e Nhấn phím F7 để thực câu lệnh tính giá trị nói trên, so sánh với kết a2=9,b2=16,c2=25
f Quan sát trình rẽ nhánh
g Lặp lại bước với liệu a=700, b=1000, c=800
h Thay đổi câu lệnh sau chạy chương trình quan sát kết có thay đổi khơng?
- Bấm F2, gõ tên file enter
- Bấm F7 Nhập giá trị a=3, b=4, c=5
- Chọn menu Debug để mở cửa sổ hiệu chỉnh: Debug/Add watch/ nhập a2, tương tự b2,c2
- Quan sát trình rẽ nhánh liệu vào trả lời: Điều kiện: tổng bình phương hai số bình phương số cịn lại chương trình in thơng báo “bộ số nhập số Pi-ta-go” ngược lại chương trình in thông báo “bộ số nhập không số Pi-ta-go”
Hoạt động 2: Làm số ví dụ (đã học tiết lý thuyết) VD1: Tính tổng 10 số tự nhiên
VD2: Tính tổng n số tự nhiên với n<=10
VD3: Tìm UCLN(M,N)
VD1: Sử dụng cấu trúc lặp biết trước số lần lặp FOR-DO
VD2, VD3:Sử dụng cấu trúc lặp chưa biết trước số lần lặp WHILE-DO
IV Củng cố bài
- Qua thực hành em hiểu rõ chương trình có sử dụng cấu trúc rẽ nhánh, cấu trúc lặp việc hiệu chỉnh chương trình, thực chương trình Quan sát kết chương trình với nhiều liệu khác
V Bài tập nhà
- Làm lại thực hành hôm
- Làm tập SGK trang 50, 51 - Ôn tập chương III
(48)Ngày soạn:18/11/2009 Tuần: 16
Ngày giảng: Tiết: 19
ÔN TẬP HỌC KỲ I I Mục đích, yêu cầu
1.Về kiến thức: củng cố kiến thức về:
- Một số khái niệm lập trình NNLT - Các thành phần NNLT
- Nắm cấu trúc chung thành phần chương trình viết ngơn ngữ bậcd cao
- Hiểu cách khai báo hằng, biến, cách tạo biểu thức Hiểu cách sử dụng lệnh gán Biết cách sử dụng lệnh vào/ra đơn giản
- Ghi nhớ kiểu liệu chuẩn thường dùng (tên, phạm vi giá trị kích thước nhớ)
- Hiểu khái niệm rẽ nhánh lặp lập trình
- Biết sử dụng câu lệnh thực rẽ nhánh lặp pascal - Bước đầu hình thành khái niệm lập trình có cấu trúc
2 Kĩ năng:
- Biết viết tên NNLT cụ thể - Biết khai báo biến, biết viết biểu thức đơn giản
- Biết diễn đạt câu lệnh, soạn chương trình giải tốn đơn giản áp dụng cấu trúc học
- Bước đầu có khả phân tích tốn đơn giản để chọn kiểu cấu trúc điều khiển phù hợp
- Biết tạo câu lệnh ghép cần thiết
3 Thái độ:
- Ham muốn học NNLT cụ thể để có khả giải tốn máy tính điện tử
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, SBT, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK, SBT III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung ôn tập
Hoạt động thầy trò Nội dung
Hoạt động 1: Lý thuyết
(49)thuyết chương I, II, III
GV: Nhắc lại vấn đề cần nắm vững chương I, II, III
Đặ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 TP? - Nêu tên kiểu liệu chuẩn? - Nêu nhóm phép tố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ố học?
- Tổ chức vào/ra - Tổ chức rẽ nhánh - Tổ chức lặp
- Lập trình q 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, biến, thích - Gồm phần: Phần khai báo phần thân
- Số nguyên, số thực, ký tự, logic
- Phép toá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
- Hàm bình phương, hàm bậc hai, hàm giá trị tuyệt đối, hàm sin, hàm cos - 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 <> Hoạt động 2: Bài tập
GV: Yêu cầu học sinh làm tập
GV: Yêu cầu HS xác định toán + Dữ liệu vào
+ Dữ liệu
+ Các nhiệm vụ phải thực toán
HS: suy nghĩ trả lời + Số n
+ Tổng số chẵn C + 1- Nhập liệu
2- Tính tổng số chẵn 3- Đưa kết hình
GV: YC hs viết chương trình
GV: Yêu cầu học sinh đọc lại ví dụ học, làm nhiều tập SGK,
Bài tập: Nhập n số ngun sau tính tổng số chẵn
input: n (n số nguyên dương) output: s (tổng số chẵn) chương trình: Program tc; uses crt; var n,s,i:integer; Begin write(‘Nhap n=’);readln(n); s:=0;
for i:=1 to n if (i mod 2=0) then s:=s+i;
(50)tham khảo sách tập tin học 11 end IV Củng cố bài
- Bài học hôm em cần ghi nhớ khái niệm - Làm số tập SBT
- Làm số tập sau:
1 Nhập n số ngun sau tính tổng số lẻ Nhập n số nguyên sau đếm số chẵn, số lẻ Nhập vào số n sau in hình n dịng pascal Làm 4,5-tr51;
5 So sánh giống khác hai dạng câu lệnh if- then, for-do while –do
6 Viết chương trình tính giá trị biểu thức 50
2 n
n Y
n
V Bài tập nhà
- 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
(51)Ngày soạn:02/12/2009 Tuần:17
Ngày giảng:08/12/2009 Tiết: 20
KIỂM TRA HỌC KỲ I I Mục tiêu đánh giá
- Kiểm tra kết tiếp thu HS từ đầu năm học đến
- Đánh giá kĩ phân tích tốn tư lập trình giấy - Có thái độ tự giác, tích cực làm kiểm tra
II Yêu cầu đề
- Kiến thức: HS nắm kiến thức kiểu liệu Các hàm chuẩn thông dụng Cấu trúc vào/ra liệu, cấu trúc rẽ nhánh lặp
- Kĩ năng: có kĩ phân tích tốn, viết chương trình III Đề bài: đề
ĐỀ THI MÔN TIN HỌC 11 Thời gian làm bài: 45 phút
Câu (3đ): Hãy cho biết giống khác hai dạng câu lệnh IF - THEN?
Câu (2đ): Chuyển biểu thức sau sang biểu diễn ngơn ngữ lập trình Pascal A = x x x x
B = 2
1
aSinx x Sinx
b ac
Câu (2đ):Cho đoạn chương trình sau:
Program kiemtra; Var s, i: integer; Begin
S:=0;
For i:=1 to S:=S + 3; Readln;
End
Hỏi: Sau thực chương trình S bao nhiêu?
Câu (3đ): Viết chương trình nhập vào số ngun n sau tính tổng số chia hết cho
ĐỀ THI MÔN TIN HỌC 11 Thời gian làm bài: 45 phút
Câu (3đ): Hãy cho biết giống khác hai dạng câu lệnh FOR-DO?
Câu (2đ): Chuyển biểu thức sau sang biểu diễn ngơn ngữ lập trình Pascal A = (1 )2
1
a a a
a a a
ĐÊ SỐ 1
(52)B = 2
1
aSinx x Sinx
b ac
Câu (2đ):Cho đoạn chương trình sau:
Program kiemtra; Var s, i: integer; Begin
S:=0;
For i:=1 to S:=S + 5; Readln;
End
Hỏi: Sau thực chương trình S bao nhiêu?
Câu (3đ): Viết chương trình nhập vào số ngun n sau tính tổng số không chia hết cho
VI Đáp án Đề 1
Câu Nêu cấu trúc chung lệnh IF-THEN sau so sánh giống khác
Câu
A := Sqrt(x + sqrt(x+ sqrt(x+sqrt(x)))) B := (a*Sinx) / (sqr(b)+a) +
(sqrt(sqr(x)+Sinx) / 2*a*c Câu
S=18 Câu 4. Program tc; uses crt;
var n,s,i:integer; Begin
clrscr;
write(‘Nhap n=’);readln(n); s:=0;
for i:=1 to n if (i mod 2=0) then s:=s+i;
write(‘Tong s=’,s); readln;
end
Đề 2
Câu Nêu cấu trúc chung lệnh IF-THEN sau so sánh giống khác
Câu
A := (a*Sinx) / (sqr(b)+a) + (sqrt(sqr(x)+Sinx) / 2*a*c
B := ((1-a)*sqrt(a-1)) / (a*sqrt(a-1))) + sqrt(a) / (a + 1)
Câu S=20 Câu 4. Program tc; uses crt;
var n,s,i:integer; Begin
clrscr;
write(‘Nhap n=’);readln(n); s:=0;
for i:=1 to n if (i mod 2<>0) then s:=s+i;
write(‘Tong s=’,s); readln;
(53)- Lớp 11A1:
Câu (3đ): Hãy cho biết giống khác hai dạng câu lệnh IF - THEN?
Câu (2đ): Chuyển biểu thức sau sang biểu diễn ngơn ngữ lập trình Pascal A = x x x x B = 2
1
aSinx x Sinx
b ac
Câu (2đ):Cho đoạn chương trình sau:
Program kiemtra; Var s, i: integer; Begin
S:=0;
For i:=8 to 16
if (i mod 2) or (i mod 3) then S:=S + i; Readln;
End
Hỏi: Sau thực chương trình S bao nhiêu?
Câu (3đ): Viết chương trình nhập vào số nguyên n, đếm số chia hết cho khoảng từ đến n
Câu (3đ): Hãy cho biết giống khác hai dạng câu lệnh FOR-DO?
Câu (2đ): Chuyển biểu thức sau sang biểu diễn ngôn ngữ lập trình Pascal A = (1 )2
1
a a a
a a a
B =
2
1
aSinx x Sinx
b ac
Câu (2đ):Cho đoạn chương trình sau:
Program kiemtra; Var s, i: integer; Begin
S:=0;
For i:=1 to
if (i mod 2) or (i mod 3) then S:=S + i; Readln;
End
Hỏi: Sau thực chương trình S bao nhiêu?
Câu (3đ): Viết chương trình nhập vào số nguyên n, đếm số không chia hết cho khoảng từ đến n
ĐÊ SỐ 1
(54)VI Đáp án Đề 1
Câu Nêu cấu trúc chung lệnh IF-THEN sau so sánh giống khác
Câu
A := Sqrt(x + sqrt(x+ sqrt(x+sqrt(x))))
B := (a*Sinx) / (sqr(b)+a) + (sqrt(sqr(x)+Sinx) / 2*a*c Câu
S=56 Câu 4. Program tc; uses crt;
var n,d,i:integer; Begin
clrscr;
write(‘Nhap n=’);readln(n); d:=0;
for i:=1 to n if (i mod 2=0) then d:=d+1;
write(‘Cac so chan=’,d); readln;
end Đề 2
Câu Nêu cấu trúc chung lệnh IF-THEN sau so sánh giống khác
Câu
A := (a*Sinx) / (sqr(b)+a) + (sqrt(sqr(x)+Sinx) / 2*a*c B := ((1-a)*sqrt(a-1)) / (a*sqrt(a-1))) + sqrt(a) / (a + 1) Câu
S=23 Câu 4. Program tc; uses crt;
var n,d,i:integer; Begin
clrscr;
write(‘Nhap n=’);readln(n); d:=0;
for i:=1 to n if (i mod 2<>0) then d:=d+1;
write(‘Cac so le=’,d); readln;
(55)Ngày soạn:12/12/2009 Tuần: 18
Ngày giảng:15/12/2009 Tiết: 21
Chương IV KIỂU DỮ LIỆU CÓ CẤU TRÚC
§11. KIỂU MẢNG
I Mục đích, u cầu
1. Về 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 khiể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 ngôn ngữ lập trình Pascal để giải số tốn cụ thể
3 Thái độ:
- Có tư đắn việc áp dụng mảng chiều để giải toán đơn giản
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, hình ảnh minh hoạ III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ
2.2 Dẫn nhập mới
- Ở chương III nghiên cứu cấu trúc rẽ nhánh, cấu trúc lặp Mặt khác, em làm quen với kiểu liệu chuẩn kiểu số nguyên, số thực, logic, kí tự Tuy nhiên, với kiểu liệu làm để: Lưu trữ xử lí dãy số? Lưu trữ xử lí họ tên người?Lưu trữ và xử lí bảng kết thi tốt nghiệp Các kiểu liệu chuẩn không đủ để biểu diễn dữ liệu toán nhiều toán khác thực tế
- Các NNLT thường cung cấp số kiểu liệu xây dựng từ kiểu liệu chuẩn gọi kiểu liệu có cấu trúc Chương tìm hiểu số kiểu liệu ngôn ngữ pascal để trả lời câu hỏi VD với toán xử lí dãy số ta dùng kiểu liệu mảng Vậy mảng sử dụng mảng nào? Bài học hôm nghiên cứu, tìm hiểu “Kiểu mảng”
Nội dung giảng
(56)Hoạt động 1: Kiểu mảng chiều
GV: Đưa ví dụ, cần lập trình xử lí dãy số ngun, tìm cách lưu trữ dãy số nguyên lập trình?
Bằng cách lưu trữ thơng tin dạng bảng lập trình?
HS: Đưa ý kiến
GV: Đưa khái niệm mảng chiều số yếu tố liên quan lập trình nói chung
GV: Đi sâu phân tích hai chương trình học sinh nhận thấy tiện lợi sử dụng mảng
HS: Trong gv phân tích chương trình, hs đưa ý kiến nhận xét hai chương trình
GV: Chiếu CT ví dụ
HS: Quan sát chương trình: CT1: Khơng sử dụng kiểu mảng CT2: Sử dụng kiểu mảng chiều
GV: Từ CT đưa cách khai báo mảng chiều NNLT pascal, giải thích ý nghĩa
Trong lập trình thường có loại mảng: - Mảng chiều
- Mảng hai chiều 1 Kiểu mảng chiều
- 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
*Xét VD SGK-tr53-54
a Khai báo
- Có cách khai báo:
Cách 1: Khai báo trực tiếp:
Var <tên biến mảng>: array[kiểu số]
of <kiểu phần tử>;
Cách 2: Khai báo gián tiếp
Type <tên kiểu mảng>= array[kiểu số] of <kiểu phần tử>;
Var <tên biến mảng>:<tên kiểu mảng>;
Trong đó:
+Kiểu số thường đoạn số nguyên liên tục có dạng n1 n2 (n1<n2) (n1,n2 biểu thức) + Kiểu phần tử kiểu dl phần tử mảng
Hoạt động 2: VD khai báo mảng chiều
GV: - Quan sát bảng chọn khai báo Arrayr:array[1 200] of real;
Arrayb:array[-100 0] of boolean;
GV: Yêu cầu học sinh cho ví dụ khai
- Ví dụ:
Arrayr:array[1 200] of real;
Type mmc=array[1 100] of integer;
(57)báo biến mảng ứng với kiểu liệu vừa tạo
- Chú ý cho học sinh cách đặt tên kiểu liệu tên biến, tránh nhầm lẫn
GV: 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 ví dụ
Var a:mmc;
- Để truy cập vào phần tử mảng, ta viết: <Tên biến mảng>[chỉ số]
VD: a[3] truy cập phần tử mang số mảng a
V Củng cố bài
- Qua tiết học này, em cần nắm cấu trúc chung mảng chiều Áp dụng cấu trúc vào giải tập
VI Bài tập nhà
- Viết chương trình nhập vào mảng gồm n số nguyên (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
- Trả lời câu hỏi 1-4, làm tập 5, 6, 7, sách giáo khoa, trang 79
- Xem lại thuật tốn học lớp 10 (Tìm GTLN dãy số nguyên, xếp trao đổi tìm kiếm nhị phân)
(58)Ngày soạn:20/12/2009 Tuần: 19
Ngày giảng:24/12/2009 Tiết: 22, 23
§11. KIỂU MẢNG (Tiết 2) I Mục đích, yêu cầu
1.Về kiến thức:
- Hiểu cách khai báo truy cập đến phần tử mảng chiều
- Cài đặt thuật toán số toán đơn giản với kiểu liệu mảng chiều
2 Kĩ năng:
- Nắm thành phần khai báo biến mảng, định danh phần tử xuất chương trình
- Biết cách khai báo sử dụng thao tác vào với biến mảng
- Biết sử dụng phép toán biến mảng, áp dụng để giải số toán cần lưu trữ liệu dạng mảng
3 Thái độ:
- Giúp học sinh hiểu rõ tầm quan trọng kiểu mảng
- Làm cho học sinh thêm yêu thích lập trình, u thích mơn học II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Câu hỏi: Một em lên bảng viết cấu trúc khai báo mảng
3 Nội dung giảng
Hoạt động thầy trị Nội dung
Hoạt động 1: Tìm hiểu ví dụ 1
GV: Chúng ta xét chương trình có sử dụng mảng chiều cài đặt số thuật tốn giải tốn tìm kiếm xếp
GV: Yêu cầu học sinh đọc yêu cầu ví dụ sau tìm input, output thuật toán để giải toán?
HS: Nhớ lại thuật toán học lớp 10, suy nghĩ trả lời
1 Kiểu mảng chiều b Một số ví dụ
VD1: Tìm phần tử lớn dãy số nguyên.
*Input: N, dãy gồm N số nguyên
*Output:Chỉ số giá trị Max = ?
*Ý tưởng:
(59)GV:Giải thích thuật tốn, phân tích tốn cho hs hiểu
GV: Đối với toán trên, cần khai bào biến nào, kiểu liệu tương ứng?
HS: quan sát theo dõi, đưa ý kiến Ta cần khai báo biến n số lượng phần tử dãy, i biến số, mảng A, biến Max biến lưu số phần tử có giá trị Max: csMax
GV: GV đưa đoạn chương trình giải tốn trên, chạy chương trình
thì Max nhận giá trị phần tử
Q trình lặp lại so sánh hết phần tử dãy
*Thuật toán:
B1: Nhập N A1, A2, …, An B2: Max <= A1, i <=
B3: Nếu i>N đưa max kết thúc B4: 4.1 Nếu Ai>Max Max <= Ai 4.2 i <= i+1 quay lại B3 *Chương trình:
Program Tim_Max;
Uses Crt;
Var A: Array[1 250] Of Integer; N, i, Max, csMax: Integer;
Begin
Clrscr;
Write(‘Nhap so luong phan tu cua day: ’); Readln(N);
For i:=1 To N Begin
Write(‘A[ ’,i,’]= ‘); Readln(A[i]); End;
Max:=A[1]; For i:=2 To n Do If A[i] > Max Then
Begin
Max := A[i]; csMax := i; End;
Write(‘Max = ’, Max, ‘ tai vi tri thu ’,csMax); Readln
End.
Hoạt động 2: Tìm hiểu ví dụ 2
GV: Trong 4: Bài toán thuật toán (SGK Tin học 10), em học số thuật tốn có thuật tốn xếp tráo đổi Em tìm input, output thuật toán để giải toán?
HS: Nhớ lại thuật toán học lớp 10, suy nghĩ trả lời
GV:Giải thích thuật tốn, phân tích toán cho hs hiểu
GV: Đối với toán trên, cần khai báo biến nào, kiểu liệu
VD2: Sắp xếp dãy số nguyên bằng thuật toán tráo đổi
Input: Số nguyên N<=250, Dãy số A1, A2, …, An với số không vượt 500
Output: Sắp xếp dãy thành dãy không giảm
*Ý tưởng:
Với cặp số hạng đứng liền kề dãy, số trước lớn số sau ta đổi chỗ chúng cho Lặp lại q trình khơng có đổi chỗ xảy
*Chương trình:
Program Sap_xep; Uses Crt;
Var A: Array[1 250] Of Integer; N, i, j, t: Integer;
Begin Clrscr;
(60)tương ứng?
HS: quan sát theo dõi, đưa ý kiến Khai báo biến
- Một biến mảng A
- Một biến N lưu số lượng phần tử dãy
- Biến số i, j biến trung gian t HS lên bảng viết chương trình khai báo nhập
GV: GV đưa đoạn chương trình giải tốn trên, chạy chương trình
Writeln(‘Nhap gia tri cho mang’); For i:=1 To n Do
Begin
Write(‘A[’, i, ‘]= ‘); Readln;
End;
For i:=1 To N-1 Do For j:=i + To N Do If A[i]>A[j] Then
Begin T:=A[i]; A[i]:=A[j]; A[j]:=t; End;
Writeln(‘Day sau sap xep la:’); For i:= To N Do
Write(A[i]:5); Readln End
Hoạt động 3: Tìm hiểu ví dụ 3
GV: Chúng ta xét chương trình có sử dụng mảng chiều cài đặt tốn tìm kiếm
GV: Yêu cầu học sinh đọc yêu cầu ví dụ sau tìm input, output thuật tốn để giải toán?
HS: Nhớ lại thuật toán học lớp 10, suy nghĩ trả lời
GV:Giải thích thuật tốn, phân tích tốn cho hs hiểu
GV: Đối với toán trên, cần khai bào biến nào, kiểu liệu tương ứng?
HS: quan sát theo dõi, đưa ý kiến Ta cần khai báo biến n số lượng phần tử dãy, i biến số, mảng A lưu dãy số sx tăng dần, biến k lưu khố cần tìm kiếm
VD1: Tìm kiếm nhị phân
*Input: N, dãy a gồm N số nguyên từ a1, ,an
*Output:Chỉ số i mà ai=k thơng báo khơng tìm thấy
*Ý tưởng:
- Dãy A xếp tăng dần
- Chia dãy A thành phần với phần tử agiua với giua=
N
- Khi sảy trường hợp: + Nếu agiua=k số cần tìm + Nếu agiua>k việc tìm kiếm xét dãy a1,a2,…,agiua-1(phạm vi tìm kiếm nửa phạm vi trước đó)
+ Nếu agiua<k việc tìm kiếm xét dãy agiua+1,agiua+2,…,aN
- Quá trình lặp lại số lần tìm thấy khố k dãy A phạm vi tìm kiếm rỗng
*Thuật tốn:
B1 Nhập N, số hạng a1, a2, ,aN khoá k;
B2 Dau1, cuoiN;
B3 Giua
cuoi dau ;
B4 Nếu agiua=k thơng báo số kết thúc;
B5 Nếu agiua>k đặt cuoi=giua-1, chuyển đến bước 7;
(61)GV: GV đưa đoạn chương trình giải tốn trên, chạy chương trình
B7 Neu dau>cuoi thơng báo dãy A khơng có số hạng có giá trị k, kết thúc;
B8 Quay lại bước *Chương trình:
Program TK_nhiphan; Uses crt;
Var A: Array [1 10000] of integer ; N,i,dau,cuoi,giua,k,vk: Integer ; Timthay: Boolean;
Begin Clrscr;
Write (‘Nhap so phan tu day:’) ; Readln (n) ;
Write (‘Nhap gia tri can tim :’) ; Readln (k);
For i:=1 to n Begin
Write (‘Nhap A[’, i, ‘]=’); Readln (a[i]);
End;
Dau:=1; Cuoi:=n; Timthay:=False;
While (Dau>Cuoi) and Not(timthay) Begin
Giua:=(Dau+Cuoi) div 2; If A[giua]:= k then Timthay:=true Else
If A[giua] > k then Cuoi:=Giua -1 Else
Dau:= Giua+1; End;
If timthay then
Write (‘ Vi tri tim duoc la :’, Vk) Else
Write (‘Khong tim thay’); Readln;
End
V Củng cố bài
- Qua tiết học này, em cần biết áp dụng sử dụng kiểu mảng chiều vào giải toán
VI Bài tập nhà
- BTVN: Nhập vào N dãy gồm N số nguyên, Tính đưa hình tổng thân phần tử chẵn mảng
(62)Ngày soạn:03/01/2009 Tuần: 20
Ngày giảng:07/01/2009 Tiết: 24
§11. KIỂU MẢNG (Tiếp) I Mục đích, yêu cầu
1.Về kiến thức:
- HS Biết khái niệm mảng chiều: Có thể hình dung mảng chiều bảng có dịng cột Các dịng cột đánh số số nguyên liên tiếp
- Giống mảng chiều, tham chiếu trên phần tử mảng chiều
2 Kĩ năng:
- Biết cách khai báo mảng chiều ứng dụng vào giải số ví dụ cụ thể
3 Thái độ:
- Có tư đắn việc áp dụng mảng chiều để giải toán đơn giản
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp, hình ảnh minh hoạ III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Kiểu mảng hai chiều
GV: Đưa VD mảng chiều Em quan sát bảng số sử dụng kiến thức mảng chiều, em đưa cách sử dụng kiểu mảng để lưu trữ bảng cửa chương này?
HS: Sử dụng mảng chiều, mảng lưu hàng bảng
GV: Với cách lưu trữ ta phải khai báo biến mảng?
HS: Khai báo biến mảng chiều GV: Như có khó khăn gì? HS: Khai báo nhiều biến, viết chương trình nhập xuất liệu dài
GV: Để khắc phục khó khăn này, ta
2 Kiểu mảng hai chiều:
(63)xem mảng chiều phần tử, ta ghép mảng chiều thành mảng hai chiều GV: Thế mảng hai chiều mảng nào?
HS: HS ý lắng nghe trả lời
GV: Để mô tả kiểu mảng hai chiều ta cần xác định yếu tố nào?
GV: Bây tìm hiểu cách khai bái kiểu mảng hai chiều nào? GV: Tương tự kiểu mảng chiều, em lên bảng viết cách khai báo kiểu mảng hai chiều ngôn ngữ Pascal?
GV: GV đưa ví dụ yêu cầu HS đâu số mảng, số dòng, số cột kiểu phần tử mảng?
- Các yếu tố xây dựng mảng hai chiều: + 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
+ Cách tham chiếu đến phần tử a/ Khai báo:
- Cách 1: Khai báo trực tiếp
Var <tên biến mảng> : array [kiểu số hàng, kiểu số cột] of <kiểu phần tử>; - Cách 2: Khai báo gián tiếp
Type <tên kiểu mảng> = array [kiểu số hàng, kiểu số cột] of <kiểu phần tử>; Var <tên biến mảng> : <tên kiểu mảng>; * Ví dụ:
- Cách 1:
Var A : array [1 9,1 10] of Integer; - Cách 2:
Type bang =array [1 9,1 10] of Integer; Var A : bang;
- Cách truy cập phần tử mảng: <tên mảng>[chỉ số dòng, số cột] Hoạt động 2: Một số ví dụ
GV: Giới thiệu ví dụ SGK
- 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
Chiếu chương trình ví dụ sách giáo khoa, trang 61, 62 để học sinh quan sát
- Thực chương trình để học sinh thấy kết
- Giáo viên cần giải thích số chỗ học sinh chưa hiểu yêu cầu học sinh nhà tìm hiểu thêm
* Ví dụ 1: Chương trình sau tính đưa hình bảng nhân
* Ví dụ 2: Chương trình sau nhập vào từ bàn phím phần tử mảng hai chiều B gồm dòng, cột với phần tử số nguyên số nguyên k Sau đó, đưa hình phần tử mảng có giá trị nhỏ k
V Củng cố bài
- Qua tiết học này, em cần nắm cấu trúc chung mảng hai chiều Áp dụng cấu trúc vào giải tập
VI Bài tập nhà
- Làm tập số 8, trang 79 SGK
- Xem trước nội dung thực hành số SGK
(64)Ngày soạn:10/01/2009 Tuần: 22
Ngày giảng:13/01/2009 Tiết: 25, 26
BÀI TẬP VÀ THỰC HÀNH 3 I Mục đích, yêu cầu
1.Về kiến thức:
- Củng cố lại kiến thức kiểu liệu mảng, cụ thể mảng chiều.
2 Kĩ năng:
- Rèn luyện cho học sinh số kĩ làm việc với mảng như: +Khai báo kiểu liệu mảng chiều,
+ Nhập/ xuất liệu,
+Duyệt qua phần tử mảng,
-Qua giúp học sinh biết cách giải số toán thường gặp như: +Tính tổng phần tử thoả mãn điều kiện đó,
+Đếm số phần tử thoả mãn điều kiện đó,
+Tìm phần tử lớn nhất/bé mảng vị trí
3 Thái độ:
-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
II Phương pháp
-Trình chiếu kết hợp đàm thoại
-Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: 3 Nội dung thực hành
Hoạt động GV Hoạt động HS
Hoạt động 1: Tìm hiều 1 Sử dụng máy chiếu, chiếu nội dung
bài số 1a/ sgk/63 Sau đặt câu hỏi cho học sinh trả lời
+ Khai báo uses CRT; có ý nghĩa gì? +Myarray tên kiểu liệu hay tên biến?
+Vai trò nmax n có khác nhau?
Quan sát chiếu - Lắng nghe câu hỏi trả lời
-Khai báo thư viện chương trình CRT để sử dụng thủ tục Clrscr; - Myarray : tên kiểu liệu
(65)+Những dòng lệnh dùng để tạo biến mảng a
-Giáo viên giới thiệu hàm Random cho học sinh.Sau đố đặt câu hỏi:
+ a[i] := Random(300) – Random (300) có ý nghĩa gì?
+ Lệnh for i:=1 to n Write ( a[i] : 5); Có ý nghĩa gì?
+Lệnh For-do cuối thực nhiệm vụ gì?
+Lệnh gán s := s + a[i] ; thực lần?
-Thực lại chương trình lần cuối để học sinh thấy kết
- Chiếu nội dung câu b/ tập sgk/64 Hỏi HS:
+ Ý nghĩa biến posi neg?
+ Chức lệnh : If a[i] > then
posi := posi +1 else if a[i] < then neg := neg +1; gì?
+Hướng dẫn học sinh thêm vào vị trí cần thiết để chương trình đếm số lượng số âm số dương
+Chạy thử chưong trình để học sinh theo dõi kết
-Theo dõi để nắm hàm Random
-Random(n): cho số ngẫu nhiên từ đến n-1
+Câu lệnh cho số ngẫu nhiên có giá trị từ -299 đến 299
+câu lệnh in hình giá trị tất phần tử mảng
+cộng tất phần tử chia hết cho k +Số lần thực lệnh gán số phần tử mảng chia hết cho k
-Theo dõi kết chạy thử chương trình
Sửa chương trính câu a/ để chương trình giải tốn câu b/ -Quan sát, theo dõi trả lời câu hỏi GV
+posi : đếm số dương mảng +neg: đếm số âm mảng
+Nếu a[i] > cộng a[i] vào posi; ngược lại a[i] < cộng a[i] vào neg
+Quan sát lệnh suy nghĩ vị trí cần sửa chương trình câu a/
+Theo dõi kết chạy chương trình Hoạt động 2: Tìm hiểu 2
-Cho học sinh đọc đoạn chương trình 2/64sgk
Hỏi HS:
+ Nếu muốn tìm phần tử nhỏ cần sửa chỗ nào?
+Nếu muốn tìm phần tử lớn với số lớn ta sửa ổ chỗ nào?
-Đọc đoạn chương trình sgk Liên hệ trả lời câu hỏi mà GV nêu
(66)-Chạy thử chưong trình cho học sinh theo dõi
-Theo dõi học sinh thực chương trình xem kết
-Theo dõi GV chạy chương trình làm lại máy tính
IV Củng cố bài
- Qua thực hành hôm nay, em hiểu rõ chương trình có sử dụng số câu lệnh số kiểu liệu thơng qua việc tìm hiểu, chạy thử chương trình có sẵn Biết giải số tốn tính tốn, tìm kiếm đơn giản máy tính V Bài tập nhà
- Làm lại thực hành hôm
- Viết chương trình nhập mảng chiều, đếm số phần tử nhỏ số k
- 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
(67)Ngày soạn: Tuần:
Ngày giảng: Tiết: 27, 28
BÀI TẬP VÀ THỰC HÀNH 4 I Mục đích, yêu cầu
1. Về kiến thức:
- Tiếp tục củng cố kiến thức lập trình với liệu kiểu mảng.
2 Kĩ năng:
- Biết nhận xét, phân tích, đề xuất thuật tốn giải tốn cho chương trình chạy nhanh
3 Thái độ:
- Tự giác, chủ động lập trình II Phương pháp
- Trình chiếu kết hợp đàm thoại
- Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: 3 Nội dung thực hành
Hoạt động GV Hoạt động HS
Hoạt động 1: Tìm hiểu tốn 1 GV yêu cầu HS khởi động Pascal
GV đưa toán: Tạo mảng A gồm n (n<=100) số ngun, số có giá trị tuyệt đối khơng q 300 Sắp xếp dãy thành dãy không giảm
GV yêu cầu HS gõ chương trình trang 65 (SGK)
HS khởi động pascal
HS gõ chương trình Uses Crt;
Const nmax=250;
Var A: Array[1 nmax] of Integer; n, i, j, t: Integer;
Begin Clrscr; Randomize;
Write(‘Nhap n= ’); Readln(n); {Tao ngau nhien mang gom n so nguyen}
(68)GV u cầu HS sốt lỗi chương trình chạy thử chương trình với liệu khác
(GV hướng dẫn HS giải ý b)
Yêu cầu HS tắt hình, giáo viên sau quan sát hs thực hành gọi số hs nêu ý tưởng giải ý b
GV tổng hợp lại nêu hướng giải
Khai báo thêm biến Dem để đếm số lần thực tráo đổi dãy
? Có thể sửa chương trình để đếm số lần tráo đổi dãy
A[i]:=Random(300)-Random(300);
For i:=1 To n Do Write(A[i]); {In mang vua tao}
Writeln;
For j:= n DownTo Do For i:=1 To j-1 Do If A[i]>A[i+1] Then
Begin
T:=A[i]; A[i]:=A[i+1]; A[i+1]:=t; End;
Writeln(‘Day so duoc sap xep:’); For i:=1 To n Do
Write(A[i]:7); Writeln; Readln; End.
HS sửa lỗi chương trình (nếu có) chạy chương trình Tính thời gian chạy thử chương trình
HS trả lời
HS sửa lại chương trình cho phù hợp cho thêm đoạn chương trình chương trình
HS trả lời:
Khởi tạo biến Dem:=0;
So sánh giá trị mảng với nhau, xảy trường hợp A[i]>A[i+1] đổi chỗ, tăng biến đếm lên lần Cụ thể chương trình sau sửa lại là: Uses Crt;
Const nmax=250;
Var A: Array[1 nmax] of Integer; n, i, j, t, Dem: Integer;
Begin Clrscr; Randomize;
Write(‘Nhap n= ’); Readln(n); {Tao ngau nhien mang gom n so nguyen}
(69)GV theo dõi hướng dẫn HS sửa lại chương trình cho đúng, sau u cầu HS sốt lỗi chương trình chạy lạic hương trình với liệu khác Tính thời gian chạy chương trình
A[i]:=Random(300)-Random(300);
For i:=1 To n Do Write(A[i]); {In mang vua tao}
Writeln; Dem:=0;
For j:= n DownTo Do For i:=1 To j-1 Do If A[i]>A[i+1] Then
Begin
T:=A[i]; A[i]:=A[i+1]; A[i+1]:=t; Dem:=Dem+1; End;
Writeln(‘Day so duoc sap xep:’); For i:=1 To n Do
Write(A[i]:7); Writeln;
Write(‘Có ’,Dem,’ lan trao doi mang vưa nhap’);
Readln; End.
HS sốt lỗi chạy lại chương trình, theo dõi kết nhận
Hoạt động 2: Tìm hiểu toán 2 GV yêu cầu HS khởi động Pascal, giải
bài toán trang 66
Bài toán: Đọc phân tích lời giải, từ dó xây dưụng chương trình hồn chỉnh giải tốn sau
Cho mảng A gồm n phần tử Hãy viết chương trình tạo mảng B[1 n], đó B[i] tổng I phần tử trong mảng A.
? Input, Output toán Ý tưởng giải toán?
GV phân tích để HS đưa cách tạo mảng B thoả mãn yêu cầu đề Có thể sử dụng vòng For lồng nhau, vòng For duyệt theo phần tử mảng B, vòng For duyệt i phần tử đầu mảng A, tính tổng gán cho phần tử thứ i mảng B
GV yêu cầu HS gõ chương trình sách giáo khoa
HS khởi động Pascal
HS trả lời
Input: Mảng A gồm N phần tử
Output: Mảng B thoả mãn B[i]=B[i-1]+A[i]
Ban đầu nhập N dãy gồm N phần tử (sử dụng mảng chiều)
Tạo ngẫu nhiên mảng A có n phần tử Tạo mảng B
(70)GV quan sát lớp, phát lỗi mà học sinh hay mắc phải nêu cách sửa trước lớp
Yêu cầu HS chạy chương trình với nhiều liệu khác
? Theo em, chương trình trên, để tạo mảng B máy phải thực phép tính cộng?
? Có cách thực nhanh b/
GV yêu cầu HS tắt hình theo dõi GV phân tích để học sinh nhận thấy phần tử B[i] nhận tổng B[i-1] A[i] Tức B[i]=B[i-1]+A[i];
Vậy có mảng A rồi, ta có B[1]=A[1]
B[2]=A[1]+A[2]=B[1]+A[2] B[3]=A[1]+A[2]+A[3]=B[2]+A[3] :
B[i]=B[i-1]+A[i]
Từ hình thành nên chương trình GV hướng dẫn để HS sửa lại chương trình
Const nmax=100;
Type MyArray=Array[1 nmax] of Integer;
Var i, j, n: Byte; A, B:MyArray; Begin
Clrscr; Randomize; Write(‘Nhap n= ’); Readln(n);
For i:=1 To n Do
A[i]:=Random(300)-Random(300); For i:=1 To n Do Write(A[i]:4); Writeln;
{Bat dau tao B} For i:=1 To n Do Begin
B[i]:=0;
For j:=1 To i Do B[i]:=B[i] +A[j];
End;
{Ket thuc tao B}
For i:=1 o n Do Write(B[i]:4); Readln;
End.
- HS chạy chương trình với liệu khác
- Tính thời gian thực chương trình HS trả lời
- MT phải thực n(n+1)/2 phép tính cộng
(Vịng lặp For thứ n lần, vòng lặp For thứ hai 1+2+3+…+n=(n+1)/2 lần, tổng n(n+1)2 lần)
HS theo dõi, nghe giảng
HS sửa lại chương trình theo hướng dẫn giáo viên
(71)? Em có nhận xét chương trình sửa chương trình trên, máy tính phải thực phép tính cộng?
? So sánh với chương trình cũ
Chú ý: Tuy tốc độ tính tốn máy tính có nhanh có giới hạn, vậy, giải tốn máy tính, ta cần chọn thuật toán cho thời gian thực nhỏ cành tốt
Const nmax=100;
Type MyArray=Array[1 nmax] of Integer;
Var i, j, n: Byte; A, B:MyArray; Begin
Clrscr; Randomize; Write(‘Nhap n= ’); Readln(n);
For i:=1 To n Do
A[i]:=Random(300)-Random(300); For i:=1 To n Do Write(A[i]:4); Writeln;
{Bat dau tao B} For i:=1 To n Do
B[i]:=B[i-1]+A[j]; {Ket thuc tao B}
For i:=1 o n Do Write(B[i]:4);
Readln; End.
HS trả lời
Chương trình ngắn gọn
Máy tính phải thực n-1 phép tính cộng
Chương trình sửa máy tính phải thực phép tính cộng nên thời gian thực nhanh
IV Củng cố bài
- Nhận xét chất lượng thực hành V Bài tập nhà
- Làm lại thực hành hôm
(72)Ngày soạn: Tuần: 23
Ngày giảng: Tiết: 29
BÀI TẬP I Mục đích, yêu cầu
1.Về kiến thức:
- Nắm kiến thức 11
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra trình làm tập
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn trả lời câu hỏi 1,2,4 trang 79- SGK
GV: Yêu cầu học sinh đọc câu hỏi 1,2,4 suy nghĩ trả lời
HS: Nhớ lại kiến thức học, trả lời.
Câu 1: Tại mảng kiểu liệu có cấu trúc?
Trả lời:
Mảng kiểu liệu có cấu trúc mảng kiểu có cấu trúc đề cập tới sớm NNLT Nó xây dựng từ kiểu liệu có theo quy tắc khn dạng NNLT cung cấp Nó dùng để định nhóm đối tượng tính chất Chẳng hạn, vectơ nhóm số mà số ta xác định biết số Như khai báo mảng phải kiểu liệu phần tử kiểu số Câu 2: Tại phải khai báo kích thước mảng?
(73)Chúng ta phải khai báo kích thước mảng để xác định kiểu phần tử cách đánh số phần tử Câu 4: Tham chiếu đến phần tử của mảng cách nào?
Trả lời:
Tham chiếu đến phần tử mảng xđ tên mảng số
- Mảng chiểu tên mảng đến cặp [] số đặt cặp [] - Mảng hai chiều số gồm chiều
ngăn cách dấu phẩy Hoạt động 2: Hướng dẫn 5
GV: Đưa tập Hướng dẫn học sinh làm theo ý sau:
- Nhập n đảm bảo 0<n<100
- Nhập phần tử đảm bảo a[i]<=1000
- Kiểm tra dãy a nhập vào có phải cấp số cộng hay khơng đưa hình thơng báo “a cấp số cộng” “a không cấp số cộng”
- Kiểm tra: Lấy d=a[2]-a[1];
a cấp số cộng thoả mãn: a[i]=a[1]+(i-1)d
hoặc ĐK a[i]-a[i-1]=d với 1<i<=n
HS: Nhớ lại kiến thức toán viết chương trình
program cscong; uses crt;
var
a:array[1 100]of integer; i,n,d,dem:integer;
begin clrscr;
write('n=');readln(n); for i:=1 to n
begin
write('a[',i,']='); readln(a[i]);
end;
for i:=1 to n write(a[i]:4); writeln;
d:=a[2]-a[1]; dem:=0; for i:=3 to n
if a[i]-a[i-1]<> d then dem:=dem+1; if dem>0 then
write('a khong la cap so cong') else
write('a la cap so cong'); readln;
end readln end
Hoạt động 3: Hướng dẫn hs nhà làm 6,7,8,9 IV Củng cố bài
V Bài tập nhà
(74)Ngày soạn: Tuần:
Ngày giảng: Tiết: 30
§11. KIỂU XÂU I Mục đích, yêu cầu
1.Về kiến thức:
- Học sinh nắm xâu dãy kí tự (có thể coi xâu mảng chiều) - Biết cách khai báo xâu, truy cập phần tử xâu
- Sử dụng số thủ tục, hàm thông dụng xâu - Cài đặt số chương trình đơn giản có sử dụng xâu
2 Kĩ năng:
- Khai báo kiểu xâu, so sánh hai xâu, nhận biết bước đầu sử dụng hàm, thủ tục chuẩn
3 Thái độ:
- Giúp học sinh hiểu rõ tầm quan trọng kiểu mảng, Làm cho hs thêm yêu thích lập trình, u thích mơn học
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung giảng
Hoạt động thầy trị Nội dung
Hoạt động 1: Tìm hiểu ý nghĩa xâu kí tự, cách khai báo
GV: 'Viet Nam' có phải liệu kiểu mảng chiều khơng, Vì sao?
HS: Suy nghĩ, trả lời
GV: 'Viet Nam' liệu kiểu mảng chiều Tuy nhiên khơng mảng kiểu số mà mảng phi số hay gọi cách khác : KIỂU XÂU
GV: Đưa khái niệm
GV: Thuyết trình khai báo kiểu xâu
(75)- Chiếu lên bảng cách khai báo biến xâu ngơn ngữ lập trình Pascal
- Hỏi: Ý nghĩa từ String, [n]
HS: Suy nghĩ, trả lời - 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
GV: 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 ví dụ xâu ký tự
- Hỏi: Xâu có ký tự?
HS: 255
- Ví dụ: ‘HA NOI’
- Xâu có ký tự, dấu cách ký tự
GV: Diễn giải: Mỗi ký tự gọi 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?
HS:
- Ký hiệu xâu gồm ký tự trống ‘ ’ Xâu có độ dài
- Ký hiệu xâu rỗng ‘ ’ Xâu có độ dài
GV: Tham chiếu đến ký tự xâu 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 tìm ví dụ
HS: - Giống cấu trúc chung tham chiếu: tên biến[chỉ số]
- Ví dụ: st[2]
1 Khai báo
Var <tên_biến>:String[độ dài lớn nhất xâu];
VD: var hoten:string[30];
- Tham chiếu đến kí tự xâu: tên_biến[chỉ_số]
Hoạt động 2: Các thao tác xử lí xâu
2 Các thao tác xử lí xâu
(76)đầu B A nhỏ B
* Một số thủ tục chuẩn dùng để sử lí xâu.
- Delete(St,vt,n) Xố n kí tự xâu st vị trí vt
- Insert(S1,S2,vt) Chèn xâu S1 vào xâu S2 vị trí vt S2
- Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nến khơng đổi vị trí gây lỗi ghi m, đổi thành cơng m =
- Str(X,St) Chuyển số X thành xâu kí tự lưu St
*Một số hàm chuẩn:
- Copy(St, vt, n) Sao chép từ xâu St n kí tự từ vị trí vt
- Pos(S1, S2) Tìm vị trí xuất S1 S2
- Length(st) Cho độ dài xâu St - Upcase(ch) Cho chữ viết hoa tưng ứng với chữ thường ch
V Củng cố bài
- Qua tiết học này, ta biết thêm kiểu liệu có cấu trúc VI Bài tập nhà
- Làm tập số 10, 11 trang 80 SGK - Xem trước nội dung
(77)Ngày soạn: Tuần:
Ngày giảng: Tiết: 31
§11. KIỂU XÂU (Tiếp) I Mục đích, yêu cầu
1. Về kiến thức:
- Cài đặt số chương trình đơn giản có sử dụng xâu
2 Kĩ năng:
- Khai báo kiểu xâu, so sánh hai xâu, nhận biết bước đầu sử dụng hàm, thủ tục chuẩn
3 Thái độ:
- Giúp học sinh hiểu rõ tầm quan trọng kiểu mảng, Làm cho hs thêm u thích lập trình, u thích mơn học
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Ví dụ 1
GV: Yêu cầu hs đọc ví dụ xác định tốn
HS: trả lời
input: a,b(lưu họ tên người)
output: Nếu độ dài xâu a>b đưa a, Nếu độ dài xâu a<=b đưa b
GV: Nhắc lại cấu trúc hàm Length cho ví dụ
HS: suy nghĩ, trả lời
GV: Chạy chương trình VD1 yc hs giải thích câu lệnh
3 Một số ví dụ
Ví dụ 1.
var a,b:string; begin
write('Nhap ho ten thu nhat:');
readln(a);
write('Nhap ho ten thu hai:'); readln(b);
if length(a)>length(b) then write(a) else write(b);
readln end
Hoạt động 2: Ví dụ 2
GV: Yêu cầu hs đọc ví dụ xác định toán
HS: trả lời
var a,b:string; x:byte; begin
(78)input: Xâu a, b
output: So sánh kí tự đầu xâu thứ kí tự cuối xâu thứ thông báo “Trùng nhau” “Khác nhau”
GV: Chạy chương trình VD1 yc hs giải thích câu lệnh
readln(a);
write('Nhap ho ten thu hai:'); readln(b);
x:=length(b); if a[1]=b[x] then write('Trung nhau') else write('Khac nhau'); readln
end
Hoạt động 2: Ví dụ 3
GV: Yêu cầu hs đọc ví dụ xác định tốn
HS: trả lời input: Xâu a
output: Đưa xâu a theo thứ tự ngược lại
GV: Chạy chương trình VD3 yc hs giải thích câu lệnh
var a:string; i,k:byte; begin
write('Nhap xau:'); readln(a);
write('Nhap ho ten thu hai:'); readln(b);
k:=length(a);
for i:=k downto write(a[i]);
readln end
Hoạt động 2: Ví dụ 4
GV: Yêu cầu hs đọc ví dụ xác định tốn
HS: trả lời input: Xâu a
utput: Xâu a khơng có dấu cách
GV: Xâu rỗng viết nào?
HS: ‘’
GV: Chạy chương trình VD4 yc hs giải thích câu lệnh
GV: VD5 theo dõi SGK
var a,b:string; i,k:byte; begin
write('Nhap xau:'); readln(a);
k:=length(a); b:=’’;
for i:=1 to k
if a[i]<>’ ’ then b:=b+a[i]; write(‘Ket qua: ’ ,b);
readln end
V Củng cố bài
- Qua tiết học này, ta biết thêm kiểu liệu có cấu trúc VI Bài tập nhà
- Làm tập số 10, 11 trang 80 SGK - Xem trước nội dung
(79)Ngày soạn: Tuần:
Ngày giảng: Tiết: 32,33
BÀI TẬP VÀ THỰC HÀNH 5 I Mục đích, yêu cầu
1. Về kiến thức:
- Củng cố cho học sinh hiểu biết kiểu xâu.
2 Kĩ năng:
- Khai báo kiểu xâu.
- Nhập liệu cho xâu, đưa hình giá trị xâu
- Duyệt qua tất ký tự xâu để thực xử lí tương ứng với kí tự
- Sử dụng hàm thủ tục chuẩn trình bày SGK
3 Thái độ:
- Góp phần hình thành rèn luyện tư lập trình, tác phong người lập trình
II Phương pháp
- Trình chiếu kết hợp đàm thoại
- Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: Kết hợp kiểm tra trình thực hành
3 Nội dung thực hành
Hoạt động GV Hoạt động HS
Hoạt động 1: Tìm hiểu tốn 1
GV: Giới thiệu nội dung đề bài.
- Diễn giải: 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 cho ví dụ xâu Palidrom ví dụ Palidrom
HS: Đọc kĩ đề
Phải: 12321 abccba Không phải: abcdea
Bài 1:
a Chạy chương trình:
uses crt; var i,x:byte; a,p: string; Begin
clrscr;
write('Nhap vao xau:');readln(a); x:=length(a); p:='';
for i:=x downto p:=p+a[i];
if a=p then
(80)GV: Gợi ý
- Chiếu chương trình lên bảng
- Hỏi: chương trình sau có chức làm gì? Kết in nào?
HS: 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 ra: ‘xau la Palidrom’ ‘Xau khong la Palidrom’
GV: Thực chương trình để học sinh kiểm nghiệm suy luận
HS: Quan sát giáo viên thực chương trình, nhập liệu kết chương trình
GV: 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? - u cầu học sinh viết chương trình hồn chỉnh
- Yêu cầu học sinh nhập liệu cho sẵn giáo viên thông báo kết - Xác nhận làm có kết
HS: Chú ý theo dõi yêu cầu giáo viên, trả lời số câu hỏi dẫn dắt
- 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
- Thực soạn thảo chương trình vào máy theo yêu cầu cải tiến giáo viên - Nhập liệu vào thông báo kết
else
write('Xau khong la palindrome'); readln;
End
b Sửa lại chương trình khơng dùng biến p
uses crt;
var i,x,d:byte; a: string; Begin
clrscr;
write('Nhap vao xau:');readln(a); x:=length(a); d:=0;
for i:=1 to x
if a[i]<>a[x-i+1] then d:=d+1; if d>0 then
write('Xau khong la palidrome') else
write('Xau la palidrome'); readln;
End
Hoạt động 2: Tìm hiểu tốn 2
GV: Giới thiệu đề
- Chiếu nội dung đề lên bảng Nêu mục đích toán
Bài 2:
(81)- Hỏi: Dữ liệu vào, liệu toán? - Nêu nhiệm vụ cần thực giải toán
- Hỏi: Cấu trúc liệu phải sử dụng nào?
- Ta phải sử dụng hàm nào? HS: Đọc kỹ đề trả lời - Vào: Một xâu S
- Ra: Số lần xuất loại 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()
GV: Vì tốn khó gv đưa dàn ý cho hs làm theo
GV: Yêu cầu học sinh độc lập viết chương trình hồn chỉnh theo thuật toán phát
- Yêu cầu số học sinh lập trình xong sớm tìm số test
- Yêu cầu học sinh nhập liệu vào theo test giáo viên chọn thông báo kết sau thực chương trình
- Xác nhận kết học sinh sửa sai cho em có kết sai
var s,s1:string; i,j,n:integer;
dem:array['A' 'Z'] of integer; c:char; Begin clrscr; write('Nhap vao xau:');readln(s); n:=length(s);
for c:='A' to 'Z' dem[c]:=0;
s1:='';
for i:=1 to n
if (upcase(s[i])>='A') and (upcase(s[i])<='Z') then
s1:=s1+s[i];
for c:='A' to 'Z' for j:=1 to length(s1) if c=upcase(s1[j]) then dem[c]:=dem[c]+1;
for c:='A' to 'Z' if dem[c]<>0 then begin
write('So lan xuat hien chu cai ',c,' la: ',dem[c]);
writeln; end; readln; End
Hoạt động 3: Tìm hiểu tốn 3
GV: giới thiệu đề
GV: hướng dẫn: Tìm vị trí xâu “anh” xâu st cho, xoá xâu chèn xâu “em” vào vị trí Lặp lặp lại điều khơng tìm thấy xâu “anh” cần thay xâu st
* Các hàm thủ tục chuẩn biết kiểu xâu tìm vị trí xuất xâu con, xoá xâu con, chèn xâu không?
HS: trả lời độc lập viết CT
Bài 3 uses crt; var vt:integer; s:string; Begin clrscr;
write('Nhap vao xau:'); readln(s);
while pos('anh',s)<>0 Begin vt:=pos('anh',s); delete(s,vt,3); insert('em',s,vt); end; write(s); readln End
IV Củng cố bài
- Nhận xét chất lượng thực hành V Bài tập nhà
- Chuẩn bị nội dung 13: “Kiểu ghi” VI Nhận xét rút kinh nghiệm:
(82)Ngày giảng: Tiết: 34 §11. KIỂU BẢN GHI
I Mục đích, yêu cầu
1.Về kiến thức:
- Biết khái niệm kiểu ghi
- Biết cách khai báo ghi, truy cập trường ghi
2 Kĩ năng:
- Khai báo kiểu ghi, khai báo biến kiểu ghi ngôn ngữ lập trình Pascal
- Nhập xuất liệu cho biến ghi - Tham chiếu đến trường kiểu ghi
- Sử dụng kiểu ghi để giải số tập đơn giản
3 Thái độ:
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Giới thiệu ghi, khai báo kiểu ghi.
GV: Giáo viên đưa số ví dụ để giải thích cho học sinh hiểu khái niệm ghi
VD:
- Bảng kết thi gồm thông tin thí sinh: Số báo danh, Họ tên, Ngày sinh, Giới tính, Điểm Tốn, Điểm Lý, Điểm Hố
- Hoá đơn bán hàng cửa hàng: tên hàng, đơn giá, chủng loại, số lượng bán, đơn vị tính, người mua, ngày bán
Để mơ tả thông tin trên, người ta sử
(83)dụng liệu kiểu ghi
GV: Đặt câu hỏi
Cách thức xác định kiểu ghi?
HS: HS trả lời
- Tên kiểu ghi - Tên thuộc tính
- Kiểu liệu trường - Cách khai báo biến
- Cách tham chiếu đến trường
GV: giải thích thành phần cấu trúc khai báo
Chú ý:
Trong cấu trúc khai báo liệu kiểu ghi, bắt đầu Record kết thúc End;
HS: Chú ý ghi
GV: YC hs tìm ví dụ để minh hoạ
HS: VD: Khai báo Record giải tốn quản lí HS trường THPT Bình Liêu
GV: Để lưu thông tin nhiều học sinh ta phải khai báo mảng ghi
GV: Hướng dẫn học sinh tham chiếu tới trường ghi
Ví dụ: Lop[1].Hten: Tham chiếu tới tên HS thứ danh sách
- Một ghi bao gồm thành phần (trường), trường có kiểu liệu khác
1 Khai báo Cấu trúc khai báo:
Type <Tên kiểu ghi> = Record <Tên trường 1>:<Kiểu trường 1>
<Tên trường n>:<Kiểu trường n> End;
Var <Tên biến ghi>:<Tên kiểu bản ghi>;
VD:
Type Hocsinh=Record Hten:String[30]; Nsinh:String[15];
Gtinh:String[5]; Toan,Ly,Hoa:Real;
End;
Var Lop: Array[1 50] Of Hocsinh;
Tham chiếu tới trường ghi
<Tên biến>.<Tên trường> Hoạt động 2: Gán giá trị
GV: Ta nhập, xuất liệu cho biến kiểu ghi biến thông thường mà phải nhập, xuất kiệu cho trường ghi
GV: phân tích ví dụ chương trình xếp loại sách giáo khoa trang 77, 78 để HS thấy cách nhập, xuất liệu cho biến kiểu ghi
2 Gán giá trị
- Có hai cách gán giá trị cho biến kiểu ghi
+ Dùng lệnh gán trực tiếp: Nếu A B hai ghi kiểu, ta gán giá trị A cho B câu lệnh B:=A;
+ Gán giá trị cho trường: Dùng câu lệnh gán gán giá trị cho trường nhập vào từ bàn phím
VD: Lop[1].Hten:=’Nguyen Ngoc Ha’; Lop[1].Nsinh:=’11/12/1991’; V Củng cố bài
- 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
VI Bài tập nhà
(84)Nhập họ tên, điểm toán (Toan), điểm lý (Ly) 30 học sinh lớp In hình họ tên, điểm trung bình (DTB) 30 học sinh với DTB = (TOAN+LY)/2
- Xem nội dung phụ lục B, sách giáo khoa, trang 134: Câu lệnh With - Làm tập trang 80 SGK
(85)Ngày soạn: 20/02/2010 Tuần:
Ngày giảng: 25/02/2010 Tiết: 35
BÀI TẬP I Mục đích, yêu cầu
1. Về kiến thức:
- Nắm kiến thức 11,12,13
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra trình làm tập
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn trang 79- SGK
GV: Yêu cầu học sinh đọc số trả lời câu hỏi
? Sử dụng kiểu liệu cách khai báo?
HS: Kiểu mảng chiều: Var A:array [1 100] of integer;
GV: ? Khai báo biến nào?
- Yêu cầu HS viết chương trình nhập mảng A
HS: Lên bảng viết CT
GV: Chỉnh sửa làm HS
GV: Số chẵn số nào?
- Nếu có số lượng số chẵn dãy tìm số lượng số lẻ hay khơng? -Nếu tìm cách nào?
HS:
- Chia hết cho
- Nếu có số lượng số chẵn dãy
Bài 6:
program cscong; uses crt;
var
a:array[1 100]of integer; j,i,n,c,d:integer;
begin clrscr;
write('n=');readln(n); for i:=1 to n
begin
write('a[',i,']='); readln(a[i]);
end; {In}
for i:=1 to n write(a[i]:4); writeln;
for i:=1 to n begin
(86)tìm số lượng lẻ cách: n - số lượng số chẵn
GV: Sử dụng câu lệnh để viết? - Yêu cầu HS hồn thành chương trình câu a
HS: If then - Lên bảng viết CT
GV: Nhận xét, chỉnh sửa làm HS
GV: Nêu thuật tốn kiểm tra số có phải số nguyên tố hay không?
- Yêu cầu HS viết chương trình dựa theo thuật tốn
GV: Sử dụng câu lệnh nào?
- Yêu cầu HS hồn thành đoạn chương trình câu b
- Nhận xét, đánh giá:
- Gợi ý để HS kết hợp hai đoạn chương trình thành chương trình hoàn chỉnh cho
c:=c+1;
if a[i]>1 then begin
j:=2;
while (j<=sqrt(a[i])) and (a[i] mod j<>0) j:=j+1; if j>sqrt(a[i]) then d:=d+1;
end; end;
writeln('So chan: ',c, ' So le: ',n-c);
writeln('So nguyen to: ',d);
readln; end readln end
Hoạt động 2: Hướng dẫn hs nhà làm 7,8,9 Hoạt động 3: Kiểm tra 15 phút
Khoanh tròn phơng án A, B, C, D mà bạn cho nhất.
Câu : Các lệnh ngơn ngữ lập trình pascal dùng để lặp:
A While…do, if…then C For …to…do, if…then B While …do, for…to(downto)…do D If…then, while …do
C©u : Trong Pascal, biến đếm lệnh For…to(downto)…do phải có kiểu liệu là: A KiĨu thùc B Kiểu nguyên thực
C Kiểu nguyên thực kí tự D Kiểu nguyên kí tự
Câu : Công thức sau (Trong S, S1, S2 kiểu chuỗi, n kiểu số) A Pos(S, S1, S2); B Insert(S, S1, n);
C Copy(S, S1, n); D Delete(S, 2, ‘Hoc’);
Câu : Cho n biến nguyên, lệnh n:=length(Tin_hoc); write(n); Kết in là:
A B C D
C©u : Cho t:= ‘Tin_hoc’; để có kết qủa xâu ‘Tin’ ta thực hiện: A Delete(t,1,3); B Delete(t,3,1); C Delete(t,4,4); D Delete(t,4,3); C©u : Trong ngơn ngữ Pascal, từ khố VAR dùng để:
A Khai báo tên chương trình B Khai báo biến C Khai báo thư viện D Khai báo
(87)A S: string; s: real;
C S: byte; s: char;
C©u : Trong ngơn ngữ lập trình Pascal, Với khai báo mảng
X: Array[1 100,1 100] of integer; việc truy xuất đến phần tử sau:
A X[i],[j] B X[i][j] C X[i;j] D X[i,j]
C©u : Cho mảng chiều: Hỏi a[3]=?
A B C D
C©u 10 : Trong ngơn ngữ lập trình Pascal, để in xâu kí tự hình theo thứ tự ngược lại kí tự xâu (Vd: abcd thành dcba), đoạn chương trình sau thực việc này?
A A For i:=1 to length(S) write(S[i]); B B For i:=length(S) downto write(S[i]); C C For i:=length(S) downto write(S]); D D For i:=1 to length(S) div write(S[i]);
IV Củng cố bài V Bài tập nhà
- Làm lại tập hôm làm thêm tập SBT - Chuẩn bị trước nội dung 14 15
VI Nhận xét rút kinh nghiệm:
(88)Ngày soạn: Tuần:
Ngày giảng: Tiết: 36
§14. KIỂU DỮ LIỆU TỆP §15 THAO TÁC VỚI TỆP I Mục đích, yêu cầu
1.Về kiến thức:
- Biết khái niệm vai trò kiểu tệp
- Biết hai cách phân loại tệp: theo cách tổ chức liệu theo cách truy cập - Hiểu chất 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 tệp cách khoa học, phòng chống mát nhiễm virut
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, giảng slide
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Vai trò kiểu tệp.
GV: Đặt câu hỏi, nêu vấn đề
Ở tập thực hành em quan sát, sau chạy chương trình có lưu kết cho lần chạy hay khơng?
HS: Sau chạy chương trình trước ta thấy kết in hình muốn sử dụng kết sau khơng
GV: Vậy q trình chạy chương trình, theo em liệu lưu đâu?
HS: Bộ nhớ (RAM)
(89)dữ liệu lớn, có yêu cầu lưu trữ để xử lí
nhiều lần, cần có kiểu tệp (file) I Kiểu liệu tệp1 Vai trò kiểu tệp
- Dữ liệu kiểu tệp có đặc điểm sau: + Được lưu trữ lâu dài nhớ ngồi (đĩa từ, CD, ) khơng bị tắt nguồn điện vào máy
+ Lượng thơng tin lưu trữ tệp lớn phụ thuộc vào dung lượng đĩa
Hoạt động 2: Phân loại tệp thao tác với tệp
GV: Giới thiệu cho HS biết hai cách phân loại tệp
- Tệp văn bản: tệp mà liệu ghi dạng kí tự theo bảng mã ASCII Khi truy cập tệp, trỏ tệp di chuyển dòng từ đầu dòng cuối dòng từ dòng đầu đến dòng cuối tệp Cuối dịng có nhóm kí tự báo hiệu hết dòng Truy cập
GV: ? Hãy lấy VD tệp văn
HS:Sách, tài liệu,…
- Tệp cấu trúc: tệp mà thành phần tổ chức theo cấu trúc định Cách truy cập tệp thường truy cập trực tiếp Bằng cách xác định trực tiếp vị trí liệu
GV: ? Hãy lấy VD tệp cấu trúc
HS: Hình ảnh, âm thanh,…
GV: Có hai thao tác làm việc với tệp ghi liệu vào tệp đọc liệu từ tệp
2 Phân loại tệp thao tác với tệp Hai cách phân loại tệp:
- Theo cách tổ chức liệu + Tệp văn
+ Tệp có cấu trúc
- Theo cách thức truy cập + Tệp truy cập + Tệp truy cập trực tiếp
Hai thao tác tệp ghi liệu vào tệp đọc liệu từ tệp
Hoạt động 3: Khai báo
GV: Chỉ xét cách khai báo, thao tác với tệp văn Giới thiệu cấu trúc chung khai báo biến tệp giải thích
II Thao tác với tệp 1 Khai báo
Var <tênbiếntệp>:TEXT; Trong đó:
- <tên biến tệp>: phải tuân thủ theo quy tắc đặt tên
VD: var f1,f2: text; Hoạt động 4: Thao tác với tệp
GV: Các thao tác với tệp chia thành bốn nhóm :
Gắn tên tệp; Mở tệp;Vào/Ra liệu; Đóng tệp
GV: Giới thiệu cấu trúc chung
(90)thao tác giải thích a Gắn tên tệp
Để thao tác với tệp, trước hết phải gán tên tệp cho biến tệp câu lệnh : ASSIGN(< Tên biến tệp>,<Tên tệp>);
Trong Tên tệp biến xâu xâu
Ví dụ Giả thiết có biến xâu MYFILE cần gán biến tệp F2 với tệp có tên DULIEU.DAT Việc gán tên tệp thực câu lệnh ?
Ví dụ Để chuẩn bị thao tác với tệp có tên INP.DAT thư mục gốc đĩa C: ta dùng câu lệnh sau để gắn với tệp F3?
b Mở tệp
Tệp dùng để chứa kết liệu vào Trước mở tệp, biến tệp phải gán tên tệp thủ tục ASSIGN
Câu lệnh mở tệp để ghi kết có dạng :
REWRITE(<Tên biến tệp>);
Khi thực lệnh REWRITE(F3), thư mục gốc C:\ chưa có tệp
KQ.DAT, tệp tạo với nội dung rỗng Nếu tệp có, nội dung bị xố để chuẩn bị ghi thơng tin
Để chuẩn bị đọc liệu từ tệp có ta mở tệp câu lệnh :
RESET(<Tên biến tệp>); c Đọc/ghi tệp văn
Tệp định kiểu mở thủ tục REWRITE ghi liệu thủ tục WRITE Câu lệnh ghi có dạng : WRITE(<Tên biến tệp>,<Tên Biến >); Nếu tệp mở thủ tục RESET đọc thơng tin Câu lệnh đọc có dạng:
READ(<Tên biến tệp>,<Tên biến >); Yêu cầu học sinh cho ví dụ giải thích d Đóng tệp
Sau làm việc xong với tệp cần phải đóng tệp Việc đóng tệp đặc biệt quan trọng sau ghi thơng tin vào tệp Câu lệnh đóng tệp có dạng :
CLOSE(<Tên biến tệp>);
a Gắn tên tệp
ASSIGN(< Tên biến tệp>,<Tên tệp>); Trong Tên tệp biến xâu xâu
b Mở tệp
Để đọc : RESET(<Tên biến tệp>); Để ghi : REWRITE(<Tên biến tệp>);
c Đọc/ghi tệp văn bản Đọc :
READ(<Tên biến tệp>,<danh sách biến>);
Ghi :
WRITE(<Tên biến tệp>, <danh sách kêt quả>);
d Đóng tệp
(91)Một tệp, sau đóng mở lại Khi mở lại tệp, dùng biến tệp cũ khơng cần thiết phải dùng thủ tục ASSIGN gán lại tên tệp
HS: Chú ý nghe giảng, ghi
GV: Giới thiệu HS biết hai hàm chuẩn ý nghĩa
Một số hàm thủ tục chuẩn thường dùng thao tác tệp
Hàm lô gíc EOF(<Tên biến tệp>); Cho giá trị True trỏ tệp tới cuối tệp
Hàm lơgíc EOFLN(<Tên biến tệp>)
Cho giá trị True trỏ tệp tới cuối dòng
V Củng cố bài
Nêu đặc điểm kiểu liệu tệp
Hãy cho biết khác biệt tệp định kiểu tệp văn Cho biết thao tác làm việc với tệp
Sơ đồ làm việc với tệp dùng để nhập thông tin phải có lệnh nào? Các thao tác với tệp mơ tả hình16
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
VI Bài tập nhà
- Về nhà xem trước VD 16 VII Nhận xét rút kinh nghiệm:
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>);
WRITE(<Tªn biÕn tƯp>,<ds ket qua>);
CLOSE(<Tên biến>); tệp>);
Ghi Đọc
Hỡnh 16 S đồ làm việc với tệp
(92)Ngày soạn: Tuần:
Ngày giảng: Tiết: 37
§16. VÍ DỤ LÀM VIỆC VỚI TỆP
I Mục đích, yêu cầu
1.Về kiến thức:
- Củng cố kiến thức làm việc với tệp: Gắn tên tệp, mở tệp, đọc/ghi liệu, đóng tệp thơng qua ví dụ
2 Kĩ năng:
- Rèn luyện kỹ thao tác với tệp
3 Thái độ:
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, giảng slide
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra q trình làm ví dụ
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Ví dụ 1
GV: Gọi học sinh đọc đề
HS: Đọc
GV: Tóm tắt
Một trường tổ chức cắm trại
+ Trại thầy hiệu trưởng gốc toạ độ (0,0)
+ Các trại có toạ độ (x,y) lưu tệp TRAI.TXT
+ Tính khoảng cách từ trại thầy hiệu trưởng đến trại đưa kết hình
GV: Phân tích lại toán gọi học sinh nêu ý tưởng làm toán
HS:
- Cần khai báo biến tệp để gán cho tệp TRAI.TXT
- Mở tệp TRAI.TXT để đọc thông số (x,y)
VD1:
Chương trình:
Program Khoang_cach; Var
T: text; D: real; x,y: integer; Begin
Assign(T,’TRAI.TXT’); Reset(T);
While not eof(T) Begin
Read(T,x,y); D:=sqrt(x*x+y*y);
Writeln(‘Khoang cach la: ‘,D); End;
(93)- Tính khoảng cách d
- Cho khoảng cách hình
GV: Viết (chiếu) chương trình lên bảng hướng dẫn Chú thích dịng hướng dẫn hs hiểu ý nghĩa câu lệnh Chạy chương trình
Hoạt động 2: Ví dụ 2
GV: yêu cầu học sinh tóm tắt ví dụ
HS: tóm tắt
- Cho điện trở có giá trị lưu tệp RESIST.DAT
- mắc sơ đị (hình)
- Tính điện trở tương đương mạch lưu vào tệp RESIST.EQU
GV: Treo bảng phụ
Chi học sinh thành nhóm yêu cầu Nhóm +2: Viết cơng thức tính điện trỏ tương đương đoạn mạch
Nhóm 3: nêu ý tưởng làm tốn
HS: Chia nhóm thực * Nhóm 1+2:
Mạch 1: RI=
3 * * 2 * * * R R R R R R R R R
Mạch 2: RII=RR11*RR22
+R3
Mạch 3: RIII=RR11*RR33
+R2
Mạch 4: RIV=RR33*RR22
+R1
M ạch 5: RV=R1+R2+R3 Nhóm 3: Nêu ý tưởng
- Mở tệp RESIST.DAT để đọc thông số R1, R2, R3
- Tính điện trở tơng đơng
- Lu điện trở tơng đơng vừa tính đợc tệp RESIST.EQU
GV: Chuẩn bị chơng trình máy tính Hớng dẫn học sinh
VD2: Chơng trình Program dientro; Var
f1,f2: text;
R1, R2, R3: Real; i: integer;
A:array[1 5] of real; Begin
Assign(f1, ‘RESIST.DAT’); Reset(f1);
Assign(f2,’RESIST.EQU’); Rewrite(f2);
While not eof(f1) Begin
Readln(f1, R1, R2, R3);
A[1]:=R1*R2*R3/(R1*R2+R2*R3+R1*R3); A[2]:=R1*R2/(R1+R2) + R3
A[3]:=R1*R3/(R1+R3) + R2 A[4]:=R3*R2/(R3+R2) + R1 A[5]:=R1+R2+R3;
For i:=1 to write(f2,A[i]:9:3,’ ‘); Writeln(f2);
End; Close(f1); Close(f2); End
V Củng cố bài VI Bài tập nhà
- c¸c em chuẩn bị câu hỏi từ 1->4 trang 89 SGK
- Làm tập sách tập chuẩn bị sau làm tập
(94)Ngày soạn: Tuần:
Ngày giảng: Tiết: 38
BÀI TẬP I Mục đích, yêu cầu
1.Về kiến thức:
- Qua trả lời câu hỏi 1, 2, 3, học sinh tự nhận thức lại nội dung ý nghĩa vấn đề lí thuyết đề cập tiết gồm kiểu tệp, biến tệp, thao tác với tệp: gắn tên tệp, mở đóng tệp, đọc/ghi liệu
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra trình làm tập
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn trả lời câu hỏi 1,2,3,4 – sgk tr89
GV: Yêu cầu học sinh đọc câu hỏi suy nghĩ trả lời
HS: Đọc câu hỏi trả lời
Câu 1:
Một số trường hợp cần phải dùng tệp: lượng thông tin lớn, dùng lâu dài Câu 2:
Trong sơ đồ thao tác với tệp, cần nhập liệu từ tệp phải dùng thao tác gắn tên tệp, mở tệp để ghi, ghi liệu vào tệp, đóng tệp để hồn tất việc ghi liệu
Câu 3:
Trước sử dụng tệp phải có câu lệnh mở tệp để trình dịch biết mục đích mở tệp để đọc hay ghi, đồng thời đặt trỏ tệp vào vị trí thích hợp
Câu 4:
(95)kết thúc ghi liệu vào tệp để hệ thống hoàn tất việc ghi liệu tệp
- Trước liệu thực ghi vào tệp, lưu trữ nhớ đệm Mỗi nhớ đệm đầy có u cầu đóng tệp liệu nhớ đệm (có thể chưa đầy) chuyển ghi vào tệp
Hoạt động 2: Hướng dẫn làm thêm
GV: Đưa tập
HS: Đọc kỹ đề xác định thao tác cần dùng
HS: Lên bảng viết chương trình vào máy chạy thử chương trình
Bài thêm:
- Vào thư mục gốc D:\ tạo tệp bai.txt chứa nhiều dòng liệu dòng là thông tin học sinh.
- Viết chương trình đọc từ tệp bai.txt và in hình kết đọc được. Chương trình:
uses crt; var s:string; n:integer; f:text; Begin
assign(f,'D:\bai.txt'); reset(f);
while not eof(f) begin
readln(f,s); writeln(s); end;
close(f); readln
* Lưu ý: Readln để đọc dòng với kiểu ký tự.
IV Củng cố bài V Bài tập nhà
(96)Ngày soạn: Tuần:
Ngày giảng: Tiết: 39
ÔN TẬP I Mục đích, yêu cầu
1.Về kiến thức:
- Nắm kiến thức 11,12,13,14,15,16
2 Kĩ năng:
- Viết chương trình đơn giản với NNLT chọn
3 Thái độ:
- Tạo ham muốn giải tập băng lập trình II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra trình làm tập
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Ôn lại lý thuyết 11,12,13,14,15,16. Hoạt động 2: Đưa hướng dẫn
GV: đưa tập
Tính xn (Với n số nguyên không âm) ? Sử dụng kiểu liệu cách khai báo?
HS: x, n số nguyên Var x,n: integer;
GV: ?Cách tính luỹ thừa.
HS: Nhân x với x đến n lần
GV: Dùng cấu trúc lệnh bài?
HS: Lặp tiền
GV: yêu cầu hs lên viết CT.
HS: Lên bảng viết CT
GV: Nhận xét, chỉnh sửa làm hs
Bài 1
uses crt;
var i,n,x,lt:integer; Begin
clrscr;
write('Nhap x=');readln(x); write('Nhap n=');readln(n); lt:=1;
for i:=1 to n lt:=lt*x;
writeln('X^n=',lt); Readln;
End
(97)IV Củng cố bài V Bài tập nhà
- Làm lại tập hôm làm thêm tập SBT - Chuẩn bị trước nội dung 14 15
(98)Ngày soạn: Tuần:
Ngày giảng: Tiết: 40
KIỂM TRA TIẾT I Mục tiêu đánh giá
- Đánh giá kết tiếp thu kiến thức 11, 12, 13, 14, 15 II Yêu cầu đề
- Biết cách khai báo biến với kiểu liệu học
- Biết cách viết chương trình đơn giản có sử dụng kiểu mảng, kiểu xâu III Đề bài
Câu (3đ): Có cách khai báo mảng chiều? Viết cấu trúc khai báo cách? Tham chiếu đến phần tử mảng cách nào?
Câu (3đ): Vai trò liệu kiểu tệp? Khi cần ghi liệu vào tệp phải dùng thao tác nào?
Câu (2đ): Viết chương trình nhập từ bàn phím số nguyên dương n dãy a gồm n số nguyên a1, , an Tính tổng phần tử số lẻ dãy in hình kết
Câu (2đ): Viết chương trình nhập vào từ bàn phím xâu Thay tất cụm kí tự ‘HS’ cụm kí tự ‘Hoc sinh’
Ngày soạn: Tuần:
Ngày giảng: Tiết: 41
(99)Ngày soạn: Tuần: 30
Ngày giảng: Tiết: 42
CHƯƠNG VI:
CHƯƠNG TRÌNH CON VÀ LẬP TRÌNH CĨ CẤU TRÚC
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI
I Mục đích, yêu cầu
1. Về kiến thức:
- Biết khái niệm chương trình
- Biết ý nghĩa chương trình con, cần thiết phải viết chương trình thành chương trình
- Biết cấu trúc chương trình
- Phân biệt hai loại chương trình hàm thủ tục
2 Kĩ năng: 3 Thái độ:
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ dẫn nhập mới 2.1 Kiểm tra cũ
2.2 Dẫn nhập mới: Các chương trình giải tốn phức tạp thường dài, gồm nhiều lệnh, đọc khó hình dung chương trình thực cơng việc việc hiệu chỉnh chương trình khó khăn Như làm toán phức tạp dễ đọc, dễ hiểu, dễ hiệu chỉnh, dễ nâng cấp?
Chúng ta nghiên cứu vấn đề CTC, để tìm hiểu CTC gì?
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Khái niệm chương trình con
GV: Thuyết trình
Để đưa khái niệm CTC, ta cần xét tốn tính tổng bốn luỹ thừa SGK trang 91
HS: Tìm hiểu ví dụ SGK
GV: u cầu học sinh đưa ý tưởng giải toán
(100)dụng chương trình con, chương trình khơng sử dụng chương trình Chẳng hạn: Chương trình tính tổng lũy thừa: TLT=an + bm + cp + dq.
- Gọi học sinh nhận xét tính ngắn gọn, rõ ràng, tính dễ đọc dễ hiểu hai chương trình
- Hỏi: Khi nên viết chương trình con?
HS: Quan sát, suy nghĩ trả lời
- Ct có sử dụng ct viết ngắn gọn, dễ hiểu ct viết không sử dụng ct
- Đối với toán lớn cần nhiều người viết Ct dài, cần chia làm nhiều đoạn Có nhiều đoạn lặp lại, nên viết ct
GV: Tham khảo SGK đưa khái niệm chương trình
HS: Trả lời
GV: Đưa khái niệm
GV: So sánh chương trình + GV giải rhích : dịng lệnh: var j: integer;
tich:=1.0; for j:=1 to k tich:=tich*x
+ Để tính luỹ thừa ta viết: Luythua(a,n), luythua(b,m), Luythua(c,p), luythua(d,q)
+ Và rõ đoạn lệnh thay CTC
+ Từ điều nêu cho HS nêu ích lợi CTC
+ GV giải thích rõ ích lợi việc sử dụng CTC
HS: Chú ý nghe giảng ghi
- Để viết chương trình giải tốn lớn, phức tạp người lập trình chia thành nhiều toán nhỏ, toán dãy lệnh mô tả số thao tác định (gọi Chương trình con) Sau ghép nối chương trình thành chương trình
* Lợi ích việc sử dụng CTC
+ Tránh việc phải viết viết lại nhiều lần dãy lệnh
+ Hổ trợ việc thực chương trình lớn;
+ Phục vụ cho trình trừu tượng hố + Mở rộng khả ngơn ngữ;
+ Thuận tiện cho phát triển, nâng cấp chương trình;
V Củng cố bài
- Bài học hôm em cần nắm vững được: khái niệm chương trình lợi ích việc sử dụng chương trình
VI Bài tập nhà
(101)Ngày soạn:23/03/2010 Tuần: 29
Ngày giảng:25/03/2010 Tiết: 43
§17. CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiếp)
I Mục đích, yêu cầu
1. Về kiến thức:
- Biết cấu trúc chương trình
- Phân biệt hai loại chương trình hàm thủ tục
2 Kĩ năng:
- Nhận biết hai loại tham số hình thức tham số thật - Nhận biết phạm vi hoạt động biến toàn cục, biến cục - Cách thực chương trình
3 Thái độ:
- Rèn luyện phẩm chất người lập trình tinh thần hợp tác, làm việc theo nhóm, tn thủ u cầu công việc chung
II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 2.1 Kiểm tra cũ
- Khái niệm chương trình con? Lợi ích việc sử dụng chương trình con?
2.2 Dẫn nhập mới: Chúng ta biết chương trình gì? Lợi ích việc sử dụng chương trình lập trình Nhưng ta chưa biết chương trình chương trình có cấu trúc nào? Và phân loại nào?
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Phân loại cấu trúc chương trình con
GV: Trong nhiều ngơn ngữ lập trình chương trình phân làm mấy loại?
HS: Trả lời.
GV:Trong ngôn ngữ pascal em cho biết số hàm thủ tục chuẩn mà em biết?
HS: Trả lời câu hỏi:
+ Hàm: Sin(x), sqrt(x),length(x) + Thủ tục: Writeln, readln, Delete
(102)GV: Xét hàm sin(x)
Với x=∏/6 giá trị hàm sin(x) cho kết ?
HS: Sin(x)=1/2
GV: Sau thực tính tốn hàm sin(x) với x= ∏/6 cho giá trị ½
Vậy em cho biết hàm có đặc điểm gì ?(hay hàm ?).
HS: Nghiên cứu SGK trả lời
GV: Xét thủ tục Writeln, Writeln(‘xin chao’)
Thủ tục Writeln(‘xin chao’) làm ? cho kết ? có trả giá trị nào khơng ?.
HS: Trả lời
Vậy em cho biết thủ tục có đặc điểm gì ?(hay hàm ?).
GV: Trên sở phân loại hàm thủ tục ta tìm hiểu cấu trúc hàm thủ tục (Chương trình con) tổ chức ?
GV: Các em cho biết chương trình chính gồm phần ?(kiến thức cũ).
HS:trả lời
GV:Trong chương trình cấu trúc của gồm phần ?
HS: Học sinh trả lời.
GV: -Phần đầu dùng để làm ?
-Phần Khai báo dùng để làm ?
-Phần thân dùng để làm ?
GV :Bây ta tiếp tục tìm hiểu các biến khai báo phạm vi hoạt động chương trình chương trình
+Hàm:
Là chương trình
Thực số thao tác Trả lại giá trị qua tên hàm
+Thủ tục:
Là chương trình
Thực số thao tác KhơngTrả lại giá trị qua tên
thủ tục
b Cấu trúc chương trinh con
-Chương trình có cấu trúc tương tự chương trình gồm phần: <Phần đầu>
[<Phần khai báo>] <Phần thân>
+Phần đầu:
Để khai báo tên hàm thủ
tục
Nếu hàm phải khai báo kiểu
liệu chi giá trị trả hàm
Nhất thiết phải có
+Phần khai báo:
Khai báo biến cho liệu
vào/ra, biến dùng chương trình
+Phần thân:
Gồm dãy lệnh thực để từ
(103)Xét ví dụ : Tính luỹ thừa : luythua= xk tên chương trình đặt luythua, tên biết chưa liệu vào x, k Vậy tính xk ta viết luythua(x,k). Khi x, k tham số hình thức
-Vậy tham số hình thức ?
GV: Đối biến cục bộ, ,biến tồn cục phạm vi hoạt động ? -Biến cục bộ:
Chỉ sử dụng chương
trình cuả mà thơi
Không thể sử dụng biến cục
cuả chương trình cho chương trình chương trình khác
-Biến tồn cục:
Được sử dụng chương trình
chính sử dụng chương trình
GV: Sau có chương trình con, muốn thực chuơng trình ta làm ?
-Hãy cho ví dụ lệnh gọi CTC ?
Xét ví dụ :CTC luythua(x,k) với x,k tham số hình thức
Với biến : a =2, b=3
Lệnh gọi CTC Luythua(a,b) tham số hình thức x,k nhận giá trị tương ứng tham số thực a,b
*Khái niệm biến:
- Tham số hình thức: gồm biến được khai báo cho liệu vào/ra
- Tham số thực sự: biến chứa lời gọi chương trình CT
- Biến cục bộ: Gồm biến khái được khai báo chương trình
- Biến toàn cục: Gồm biến khái được khai báo chương trình *Phạm vi hoạt động biến: -Biến cục bộ:
-Biến toàn cục:
c Thực chương trình con:
-Để thực gọi chương trình ta thực lệnh theo cú pháp sau
Cú pháp:
<tên CTC>(<tham số thực sự>)
Trong đó: tham số thực các hằng, biến chứa liệu vào/
-Khi thực chương trình tham số hình thức dùng để nhập liệu vào tham số hình thức nhận giá trị tham số thực tương ứng, cịn tham số hình thức dùng để lưu trữ liệu trả giá trị cho tham số thực tương ứng
V Củng cố bài
- Bài học hôm em cần nắm vững được: CTC gồm: Hàm thủ tục; Cấu trúc chương trinh con; Biến cục bộ, biến toàn cục; Tham sơ hình thức, tham số thật sự; Cách gọi chương trình con.
VI Bài tập nhà
(104)Ngày soạn:23/03/2010 Tuần: 31
Ngày giảng:31/03/2010 Tiết: 44
§18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON
I Mục đích, yêu cầu
1.Về kiến thức:
- Học sinh biết cấu trúc chung vị trí thủ tục CT - Phân biệt tham trị, tham biến
2 Kĩ năng:
- Nhận biết thành phần phần đầu thủ tục - Nhận biết loại tham số phần đầu thủ tục
- Nhận biết lời gọi thủ tục chương trình với tham số thực
3 Thái độ:
- Thấy cần thiết tiện lợi chương trình II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 2.1 Kiểm tra cũ
Hãy nêu cấu trúc chương trình con? Em hiểu tham số hình thức, tham số thực
2.2 Dẫn nhập mới: Trong học trước, làm quen khái niệm, lợi ích việc sử dụng, phân loại cấu trúc chương trình Vấn đề đặt viết sử dụng ngơn ngữ lập trình?
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Cách viết sử dụng thủ tục
GV: Chiếu ví dụ vẽ HCN cho HS quan sát Đặt câu hỏi: VD bảng sử dụng câu lệnh để vẽ HCn?
HS: câu lệnh
GV: Như cần cẽ HCN ta phải dùng câu lệnh Giả sử muốn vẽ HCN câu lệnh Writeln phải lặp lại lần Gọi HS đứng lên nhận xét
HS: Chương trình dài dịng, tốn TG
(105)GV: Đúng dùng lần câu lệnh chương trình dài, để khắc phục điều ta dùng CT thủ tục
GV: Giới thiệu cho HS câu lệnh chương trình để HS thấy cấu trúc thủ tục
- ?Vị trí thủ tục nằm phần chương trình
HS: Thủ tục nằm bên phần khai báo chương trình
GV: ?Các em quan sát cho biết cấu trúc thủ tục gồm phần ?
HS: Gồm có phần: Tên thủ tục, phần khai báo, phần thân thủ tục
GV: Qua VD cho biết lời gọi thủ tục nằm đâu ?
HS: Nằm phần thân CT
GV: nhận xét ghi bảng
GV: chiếu thủ tục trang 98,99 SGK - GV giải thích VD
- GV nhận xét : Qua VD ta dùng nhiều giá trị thay để vẽ nhiều HCN với chương trình
- Thủ tục vẽ - HCN diễn đạt thủ tục vẽ HCN có kích thước chiều dài chiều rộng tuỳ theo giá trị tham số chdai, chrong Những tham số gọi tham số hình thức Ngồi cịn đựơc thay tên biến
GV: chiếu VD tham biến 1, VD tham biến trang 99, 100
- Gọi HS nhận xét
- GV nhận xét
- Để phân biệt tham số Pascal dùng từ khoá Var để khai báo
- GV ghi bảng
a Cấu trúc thủ tục:
* Thủ tục có cấu trúc sau
Procedure <Tên thủ tuc> [(<DS tham số>)];
[< phần khai báo>] Begin
[<Dãy lệnh>] End;
- Phần đầu thủ tục gồm tên dành riêng Procedure, tên thủ tục DS tham số có khơng có
- Phần khai báo: Dùng để xác định hằng, kiểu, biến xác định chương trình khác sử dụng thủ tục
- Dãy câu lệnhh:Được viết cặp tên dành riêng Begin End tạo thành thân thủ tục
b VD thủ tục:
- Trong lời gọi thủ tục tham số hình thức thay tham số thực tương ứng giá trị cụ thể gọi tham số giá trị (tham trị)
- Trong lệnh gọi thủ tục tham số hình thức thay tham số thực tương ứng tên biến chứa liệu gọi tham số biến (tham biến) * Sự khác khai báo tham số hình thức:
- Các tham số có từ khố Var đứng tham số biến, cịn khơng có tham số giá trị
** Chú ý:
- Nếu có nhiều tham biến kiểu liệu dùng từ khố Var cho phần khai báo, ngăn cách dấu phẩy
- Khai báo liệu cho tham số dùng tên kiểu Tên kiểu tên chuẩn tên người lập trình đặt
V Củng cố bài
- Bài học hôm em cần nắm vững được: cách viết sử dụng thủ tục VI Bài tập nhà
- Ôn lại học đọc trước phần VII Nhận xét rút kinh nghiệm:
(106)Ngày giảng:01/04/2010 Tiết: 45 §18. VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG
CHƯƠNG TRÌNH CON (Tiếp) I Mục đích, yêu cầu
1.Về kiến thức:
- Nhớ cấu trúc hàm, cách sử dụng hàm
- Phân biệt hai loại chương trình (thủ tục hàm) - Xác định biến toàn cục biến cục
2 Kĩ năng:
- Nhận biết thành phần đầu hàm
- Nhận biết câu lệnh sử dụng hàm chương trình tham số thực
3 Thái độ:
- Thấy cần thiết tiện lợi chương trình II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
Câu hỏi: Cho ví dụ cấu trúc thủ tục? Nêu khác tham số giá trị tham số biến?
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Cách viết sử dụng hàm
GV: Hỏi: Hãy kể tên số hàm chuẩn học cách sử dụng chúng
HS:
- Hàm ABS(), SQRT(), ROUND() - Viết tên hàm cần gọi tham số - Lời gọi hàm viết biểu thức tốn hạng, chí tham số hàm khác
GV: Giới thiệu cấu trúc chung vị trí hàm chương trình
HS: Quan sát cấu trúc chung
2 Cách viết sử dụng hàm
a Cấu trúc:
Function <tên hàm>[<DS tham số>]: <kiểu liệu>;
[khai báo biến]; Begin
[<dãy lệnh>] End;
- <Kiểu liệu>: Kiểu liệu trả lại hàm kiểu integer, real, char, boolean, string
Vd: Function tong(x,y: integer): integer; b
(107)GV: Hỏi: So sánh giống khác hàm thủ tục
HS: so sánh
- Giống: Có cấu trúc tương tự, có tham số
- Khác: Tên hàm phải quy đinh kiểu liệu; Trong thân hàm phải có lệnh Tên_hàm:=biểu_thức;
Bắt đầu hàm từ Function
GV: Chiếu chương trình ví dụ rutgon_phanso
- Hỏi: Trong chương trình có hàm - Hàm UCLN(x,y) dùng để làm gì? - Hỏi: Lời gọi hàm đâu?
- Hỏi: Có khác với thủ tục lời gọi hàm
HS:
- Một hàm UCLN, dùng để tìm ước số chung lớn hai số X, Y
- Lệnh A:=UCLN(tuso,mauso);
- Lời gọi hàm phải đặt lệnh lời gọi chương trình khác
GV:
- Chiếu chương trình ví dụ 2, Minbaso, sách giáo khoa
- Hỏi: Trong chương trình có hàm? chức hàm?
- Có lời gọi hàm chương trình chính?
HS:
- Có hàm khai báo - Hàm sử dụng hai lần
- Kết hàm lại đầu vào cho hàm lần gọi thứ hai
GV: Chiếu chương trình ví du 2: Rutgon_phanso lên bảng
- Hỏi: Có biến sử dụng chương trình? Các biến
- Giống hàm chuẩn, viết tên hàm gọi thay tham số hình thức tham số thực tương ứng
- Lệnh gọi hàm tham gia vào biểu thức tốn hạng
Ví dụ: A:= 8*UCLN(x,y)-3;
Chú ý: Trong thân hàm phải có lệnh gán giá trị cho tên hàm
<tên hàm>:= <biểu thức>; Ví dụ 1:
- Chương trình thực rút gọn phân số, sử dụng hàm tính ước chung lơn số
3/ Phân biệt hàm thủ tục: a/ Giống nhau:
- Là chương trình con, có cấu trúc giống chương trình
- Đều chứa tham số, tuân theo quy định khai báo
b/ Khác nhau:
- Tên hàm phải có kiểu liệu
- Trong thân hàm phải có lệnh gán giá trị cho tên hàm
Ví dụ 2:
(108)khai báo chỗ chương trình?
HS:
- Có biến: tuso, mauso, A, sodu - Các biến: tuso, mauso, A khai báo chương trình
- Các biến: sodu khai báo chương trình
- Diễn giải: Biến tuso, mauso, A có ảnh hưởng tồn chương trình Biến Sodu ảnh hưởng thân chương trình
V Củng cố bài
- Nhấn mạnh lại cách khai báo hàm, phân biệt hàm thủ tục VI Bài tập nhà
Bài tập:
Function tim(m,n: integer); Begin
r:=m mod n;
If r= then tim:=n; Else
Tim:=tim(n,r); End;
1 Khai báo biến, sửa lỗi cho đoạn chương trình trên? Đoạn chương trình thực cơng việc gì?
(109)Ngày soạn: Tuần: 32
Ngày giảng: Tiết: 46,47
BÀI TẬP VÀ THỰC HÀNH 6 I Mục đích, yêu cầu
1. Về kiến thức:
- Củng cố lại kiến thức xâu kí tự, chương trình con.
2 Kĩ năng:
- Rèn luyện thao tác xử lí xâu, kĩ tạo hiệu ứng chữ chạy hình. - Nâng cao kĩ viết, sử dụng chương trình
3 Thái độ:
II Phương pháp
- Trình chiếu kết hợp đàm thoại
- Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: Kết hợp kiểm tra trình thực hành
3 Nội dung thực hành
Hoạt động GV Hoạt động HS
a Tìm hiểu hai thủ tục catdan(s1,s2) cangiua(s)
- Chiếu nội dung thủ tục catdan(s1,s2); - Hỏi: Đầu vào đầu thủ tục này?
- Hỏi: Chức thủ tục gì?
- Yêu cầu học sinh cho ví dụ minh họa
- Chiếu nội dung thủ tục: cangiua(s); - Hỏi: Đầu vào thủ tục?
- Hỏi: Thủ tục thực cơng việc gì?
Quan sát thủ tục catdan() trả lời câu hỏi giáo viên
- Vào: xâu ký tự s1 - Ra: biến xâu ký tự s2
- Thực việc tạo xâu s2 từ xâu s1 việc chuyển ký tự thứ đến vị trí cuối xâu
- S1= ‘abcd’ S2= ‘bcda’ - Quan sát, suy nghĩ trả lời
- Đầu vào xâu ký tự S không 79 ký tự
(110)- Giáo viên ý: Có thể nhắc học sinh khơng khai báo s tham biến thủ tục khơng có hiệu lực
b
- Chiếu chương trình lên bảng - Hỏi: Chức chương trình
- Giới thiệu cho học sinh thủ tục chuẩn: gotoxy(x,y); delay(n); keypressed;
- Thực chương trình để giúp học sinh thấy kết chương trình c
- Chiếu nội dung yêu cầu lên bảng - Yêu cầu học sinh tìm vấn đề tập
- Yêu cầu học sinh lập trình máy - Yêu câu học sinh thực chương trình nhập liệu test
- Đánh giá kết quat lập trình học sinh
giữa dòng gồm 80 ký tự
Quan sát chương trình bảng theo dõi dẫn dắt giáo viên
- Yêu cầu người sử dụng nhập xâu ký tự Đưa xâu hình có dạng dịng chữ chạy hình văn 25*80
- Quan sát hình để đối chiếu với kết mà học sinh tự suy luận tính
- Quan sát yêu cầu bảng
- Về bản, giống nhiệm vụ mà câu b làm Chỉ khác chương trình câu b ln cho xâu ký tự chạy dịng 12, xâu ký tự phải chạy dịng Vì phải truyền tham số quy định dòng chạy cho thủ tục
- Độc lập viết chương trình vào máy báo cáo kết thử nghiệm
- Nhập liệu theo test giáo viên báo cáo kết
IV Củng cố bài
- Nhận xét chất lượng thực hành V Bài tập nhà
(111)Ngày soạn: Tuần: 33
Ngày giảng: Tiết: 48,49
BÀI TẬP VÀ THỰC HÀNH 7 I Mục đích, yêu cầu
1. Về kiến thức:
- Củng cố lại kiến thức chương trình con: Thủ tục, hàm, tham số biến và tham số giá trị, biến toàn cục biến cục
2 Kĩ năng:
- Sử dụng CTC để giải trọn vẹn tốn máy tính.
3 Thái độ:
II Phương pháp
- Trình chiếu kết hợp đàm thoại
- Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: Kết hợp kiểm tra trình thực hành
3 Nội dung thực hành
Hoạt động GV Hoạt động HS
- Đưa toán: Nhập toạ độ đỉnh tam giác, tính diện tích, chu vi, hiển thị tính vng, cân tam giác
- GV định hướng cho HS phải xây dựng kiểu liệu để giải toán SGK
- Hỏi: Yêu cầu HS phân biệt hàm thủ tục
- GV xác hố kết quả, nhấn mạnh ý: Một chương trình dùng chương trình khai báo trước thân chương trình
- Dẫn dắt, giải thích cho HS hiểu ý nghĩa, dạng chương trình con, cách dùng tham số (tham biến, tham trị), thứ tự khai báo, đầu vào, đầu chương trình sử dụng để giải
- HS nhìn bảng trả lời câu hỏi GV đưa
- Trả lời câu hỏi GV
- Trả lời câu hỏi GV đưa trình giảng
- HS lắng nghe GV giảng trả lời câu hỏi GV đưa ra:
(112)quyết toán
+ Procedure daicanh(R: Tamgiac; var a,b,c: real);: Nhận đầu vào biến R mô tả tam giác đầu độ dài cạnh a,b,c
+ Function chuvi(var R: Tamgiac): real;: Cho giá trị chu vi tam giác R + Function dientich(var R: Tamgiac): real;: Cho giá trị chu vi tam giác R
+ Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean);: Nhận đầu vào biến R mơ tả tam giác đầu tính chất tám giác (đều, cân vuông)
+ Procedure hienthi(var R: Tamgiac);: Hiển thị toạ độ đỉnh tam giác hình
+ Funtion kh_cach(P,Q: Diem): real;: Cho giá trị khoảng cách hai điểm P, Q
- GV sử dụng máy chiếu để để hiển thị nội dung chương trình SGK lên hình cho HS quan sát, kết hợp với dùng bảng để thảo luận giải thích nội dung chương trình cách dùng chương trình chương trình Sau HS thơng hiểu chương trình, u cầu HS lên chạy thử cách nhập toạ độ HS kiểm tra trước
- Phân tích yêu cầu để + Chiếu nội dung, yêu cầu lên bảng + Chia lớp thành hai nhóm
Nhóm 1: Nêu câu hỏi phân tích
để giải tốn
Nhóm 2: Trả lời câu hỏi phân tích
của nhóm để tìm cách giải tốn
+ GV góp ý, bổ sung câu hỏi phân tích trả lời phân tích
- Quan sát chương trình, dự tính chức chương trình
- Nhập vào toạ độ đỉnh tam giác, khảo sát tính chất tam giác (cân, vuông, đều) Quan sát kết hình để đối chiếu với kết tự tính
- Quan sát ghi nhớ kết để thấy hiệu ứng thay đổi tham biến tham trị
- Quan sát yêu cầu + Nhóm 1: Đặt câu hỏi
Dữ liệu vào Dữ liệu
Cần sửa chỗ
chương trình câu b
Thuật tốn để đếm số lượng
loại hình tam giác
+ Nhóm 2: Trả lời câu hỏi phân tích
Phải viết lệnh đọc đữ liệu
tệp
Ba số nguyên dương số lương
của loại hình tam giác ghi dòng tệp
Cần thay đoạn chương trình nhập
(113)- Lập trình:
+ Yêu cầu HS lập trình máy GV tiếp cận Hs để sửa lỗi cần thiết + Yêu cầu HS nhập liệu vào GV báo cáo kết chương trình + Đánh giá kết HS
con để đọc liệu từ tệp TAMGIAC.DAT
Thay đoạn chương trình in kết
quả hình chương trình để in số nguyên dương số lượng loại hình tệp TAMGIAC.OUT
Thuật tốn:
Nếu deu d:= d +
Ngược lại can c:= c + Ngược lại v:= v + 1;
- Độc lập viết chương trình, thực chương trình test tự tạo
- Thông báo kết cho GV
- Nhập liệu GV báo cáo kết
IV Củng cố bài
- Nhận xét chất lượng thực hành V Bài tập nhà
(114)Ngày soạn:18/03/2010 Tuần: 34
Ngày giảng:21/04/2010 Tiết: 50
§19. THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN
I Mục đích, yêu cầu
1.Về kiến thức:
- Giới thiệu số chương trình chuẩn cách sử dụng
2 Kĩ năng:
- Bước đầu sử dụng thư viện lập trình - Biết khai báo sử dụng thư viện CRT, GRAPH
3 Thái độ:
- Thấy cần thiết tiện lợi chương trình II Phương pháp
- Kết hợp pp giảng dạy thuyết trình, vấn đáp, dùng phương tiện trực quan III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo, máy chiếu, máy tính, chương trình minh hoạ
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
Câu hỏi: Cho ví dụ cấu trúc thủ tục? Nêu khác tham số giá trị tham số biến?
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Giới thiệu thư viện CRT
GV: Đặt vấn đề: Giới thiệu thư viện chương trình ngơn ngữ lập trình Các chương trình thư viện CRT : Clrscr, textcolor, textbackgrond, gotoXY
GV: Trình chiếu cho chạy chương trình sau:
Program xoamanhinh; Begin
Clrscr;
Writeln(‘Xoa man hinh’); Readln;
End
HS: Quan sát
GV: Vì xuất lỗi chạy chương trình này?
1 CRT:
(115)HS: Chưa sử dụng thư viện CRT
GV: Cần thêm : Uses CRT vào trước begin chạy chương trình
GV: Chức thủ tục Clrscr ?
HS: Xố hình
GV: Trình chiếu chương trình chứa thủ tục textcolor, yêu cầu học sinh quan sát nhận xét chức lệnh
HS: Đặt màu chữ
GV: Trình chiếu chương trình chứa thủ tục textbackground, yêu cầu học sinh quan sát nhận xét chức lệnh
HS: Đặt màu
GV: Trình chiếu chương trình chứa thủ tục gotoXY, yêu cầu học sinh quan sát nhận xét chức lệnh
HS: Đưa trỏ cột X dòng Y
- Clrscr: xố hình
- Textcolor(n): đặt màu chữ, n biến xác định màu
- Textbackground(n): đặt màu
- GotoXY(x,y): đưa trỏ đến cột x dòng y hình văn
Hoạt động 2: Tìm hiểu thư viện Graph - ĐVĐ: thư viện Graph chứa thủ tục
liên quan đến chế độ đồ hoạ
GV: Các dạng liệu hiển thi hình?
HS: Văn hình ảnh
GV: Card hình có nhiệm vụ gì?
HS: Đảm bảo tương tác giữ vi xử lí hình
GV: Các tệp điều khiển đồ hoạ có chức gì?
HS: Cung cấp chương trình điều khiền tương ứng với loại bảng mạch đồ hoạ
GV: Khi nói đến hình phân giải 640x480 nói đến điều gì?
HS: 640 dòng 480 cột
GV: Để sử dụng thư viện đồ hoạ ta phải làm gì?
HS: Khởi tạo chế độ đồ hoạ
GV: Để khởi tạo chế độ đồ hoạ ta sử dụng thủ tục nào?
HS: Initgraph(var driver, mode: Integer; path: string);
2 Graph:
- Chứa hàm thủ tục liên quan đến chế độ đồ hoạ
a Các thiết bị chương trình hỗ trợ đồ hoạ:
- Có hai chế độ làm việc: văn đồ hoạ
- Bảng mạch điều khiển hình thiết bị đảm bảo tương tácgiữa vi xử lí hình
b Khởi tạo chế dộ đồ hoạ:
- Initgraph(var driver, mode: Integer; path: string);
+ Trong đó:
- driver: số hiệu chương trình điều khiển BGI
- mode: số hiệu độ phân giải - path: đường dẫn đến tệp BGI
- CloseGraph: Kết thúc chế độ đồ hoạ c.Các thủ tục vẽ điểm, đoạn thẳng
Putpixel (x, y: integer; color: word); + x y tọa độ điểm
+ color màu điểm
(116)GV: Trình chiếu ví dụ thủ tục vẽ điểm, đoạn thẳng Gọi HS nêu cấu trúc chung thủ tục Putpixel
GV: Giải thích thơng số thủ tục Chức thủ tục ?
HS: Tham khảo SGK trả lời
GV: Thuyết trình thủ tục hàm liên quan đến vị trí trỏ
GV: Trình chiếu ví dụ Use graph;
Begin
Drive: = 0;
Initgraph ( drive, mode, ‘C: TP\BGI’) Circle (20, 20, 30);
Elipse (50,50,30,120,50,100); Rectangle (100,100,100,200); Readln;
End
GV: Giải thích thơng số thủ tục Chức thủ tục ?
HS: Quan sát ghi
Line (x1,y1,x2,y2: integer)
- Chức năng: Vẽ đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2)
Lineto (x,y: integer)
- Chức năng: Vẽ đường thẳng từ điểm đến điểm có tọa độ (x,y) Linerel (dx,dy: integer)
- Chức năng: Vẽ đường thẳng nối điểm với điểm có tọa độ tọa độ cộng với gia số (dx,dy) Setcolor (color: word)
- Chức năng: Đặt màu cho nét vẽ
e Các thủ tục hàm liên quan đến vị trí trỏ
- Hàm xác định GTLN cua hình: Function GetMaxX: integer;
Function GetMaxY: integer;
- Thủ tục chuyển trỏ tới tọa độ (x;y) Procedure MoveTo(x,y:integer);
d Các thủ tục vẽ hình đơn giản
+ Hình trịn:
Circle (x,y: integer; r:word) + Elipse:
Ellipse(x,y:integer; stAngle, EndAngle, Xr, Yr: word)
+ Hình chữ nhật:
Rectange(x1,y1,x2,y2:integer)
Hoạt động 3: Tìm hiểu số thư viện khác
GV: Hãy nêu số thư viện khác Pascal?
HS: System, Dos, Printer
GV: Để sử dụng thủ tục hàm chuẩn thư viện ta phải làm gì?
HS: - uses crt,graph;
3 Một số thư viện khác
- System: chứa hàm sơ cấp thủ tục vào
- Dos: chứa thủ tục tạo thư mục, thiết lập hệ thống
- Printer: cung cấp thủ tục làm việc với máy in
4 Sử dụng thư viện
- Khai báo thủ tục hàm chuẩn theo cấu trúc:
Uses unit1, unit2, ,unit n; V Củng cố bài
- Biết số thư viện chuẩn Biết số thủ tục đồ họa đơn giản VI Bài tập nhà
(117)Ngày soạn: Tuần:
Ngày giảng: Tiết:
BÀI TẬP VÀ THỰC HÀNH 8 I Mục đích, yêu cầu
1. Về kiến thức:
- Học sinh thấy khả đồ hoạ pascal.
2 Kĩ năng:
- Sử dụng thủ tục đồ hoạ để viết chương trình đơn giản.
3 Thái độ:
II Phương pháp
- Trình chiếu kết hợp đàm thoại
- Hướng dẫn học sinh bước thực số chương trình II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, xếp phòng máy, CT mẫu
2 Chuẩn bị học sinh: Chuẩn bị nội dung thực hành, SGK, tập III Tiến trình lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ: Kết hợp kiểm tra trình thực hành
3 Nội dung thực hành
Hoạt động GV Hoạt động HS
Hoạt động 1: Giới thiệu chương trình câu a, b
1 Giới thiệu chơng trình câu a - Chiếu nội dung chơng trình lên bảng(sách giáo khoa, trang 115) - Hái: Hµm Detectinit cã chøc gì?
- Thủ tục Moveto(getmaxx div 2, getmaxy div 2) thực công việc gì? - Chơng trình thực công việc gì?
- Thực chơng trình để học sinh thấy kết chơng trình Giới thiệu chơng trình câu b, sách giáo khoa trang 116
- Yêu cầu học sinh nghiên cứu chơng trình cho biết chức chơng tr×nh
- Thực chơng trình để học sinh
1 Quan sát nội dung chơng trình - Cho giá trị khác khơng có lỗi khởi động đồ họa
- Chuyển trỏ đồ họa đến vị trí tâm hình
- Vẽ đờng gấp khúc ngẫu nhiên nhờ thủ tục Lineto, đoạn có màu ngẫu nhiên Vị trí bắt đầu vẽ tâm hình Kết thúc việc vẽ cách nhấn phím
- Quan sát giáo viên thực kiểm nghiệm suy luận
2 Quan sát nội dung chơng trình
- Vẽ hình chữ nhật với nét vẽ màu vàng
(118)thấy kết cña nã
- Yêu cầu học sinh thay đổi số tham số màu vẽ, tọa độ thực lại chơng trình
450, 100 bán kính 50
- Quan sát kết thực Chơng trình kiểm nghiệm suy luận
- Thực yêu cầu giáo viên Thực chơng trình để biết đợc ý nghĩa thủ tục tham số
Hoạt động 2: Rèn luyện kỹ xử lý đồ hoạ
1 Giới thiệu nội dung đề lên bảng Định hớng phơng pháp giải vấn đề:
- Viết chơng trình vẽ hình vng có độ dài cạnh 100 tọa độ đỉnh góc trái 50, 50
- Từ điểm góc trái, dùng thủ tục linerel(0,100) để vẽ đoạn thẳng đến đỉnh góc dới trái Tơng tự nh vậy, thực để vẽ hình vng
Yêu cầu học sinh độc lập viết chơng trình lên máy
- Yêu cầu học sinh thực chơng tình để thấy kết
- Tiếp cận học sinh để hớng dẫn sửa chữa sai sót cho học sinh
1 Quan sát nội dung đề bài, theo dõi định hớng phân tích yêu cầu giáo viên
§éc lËp soạn thảo chơng trình vào máy
- Thông báo hoàn thành lập trình - Thực chơng tr×nh
IV Củng cố bài
- Nhận xét chất lượng thực hành V Bài tập nhà
- Ôn tập
(119)Ngày soạn: Tuần:
Ngày giảng: Tiết: 52
BÀI TẬP I Mục đích, yêu cầu
1. Về kiến thức:
- Hiểu khái niệm, cấu trúc chương trình con, lợi ích việc sử dụng chương trình Phân loại chương trình Phân biệt tham số hình thức, tham số thực sự, biến cục bộ, biến toàn cục
2 Kĩ năng:
- Viết chương trình đơn giản có sử dụng chương trình
3 Thái độ:
- Thấy cần thiết tiện lợi CTC II Phương pháp
- Kết hợp phương pháp dạy học, chủ yếu thuyết trình vấn đáp, lấy ví dụ minh hoạ, mở rộng củng cố vấn đề kiểm tra đánh giá
II.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, tài liệu tham khảo
2 Chuẩn bị học sinh: Làm tập giao, ghi, SGK III Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ
- Kiểm tra trình làm tập
3 Nội dung giảng
Hoạt động thầy trò Nội dung
Hoạt động 1: Hướng dẫn trả lời câu hỏi 1,2,3 – sgk tr117
GV: Yêu cầu học sinh đọc câu hỏi suy nghĩ trả lời
HS: Đọc câu hỏi trả lời
Câu 1:
Giống nhau: thủ tục hàm CTC, cấu trúc giống chương trình trừ phần đầu kết thúc end; Cả thủ tục hàm chứa DS tham số tuân theo quy định khai báo sử dụng loại tham số
Khác nhau: Việc thực hàm trả giá trị kết thuộc kiểu xác định giá trị gán cho tên hàm
Câu 2:
Chương trình khơng có tham số VD thủ tục vẽ HCN…
Câu 3:
(120)Hoạt động 2: Hướng dẫn làm – sgktr117
GV: Đưa tập
HS: Đọc kỹ đề xác định thao tác cần dùng
GV: Hướng dẫn
Ta nhận thấy rằng, bội số chung nhỏ hai số nguyên dương a,b tính theo cơng thức
ab/d
trong d UCLN a b Bởi :
- Nên viết hàm để tính bội chung nhỏ hai số nguyên dương
- Hàm tính BCNN
HS: Lên bảng viết chương trình vào máy chạy thử chương trình
Bài 4:
function BCNN(a,b:integer):integer; begin
BCNN:=a*b div UCLN(a,b); end;
IV Củng cố bài V Bài tập nhà
(121)Ngày soạn: Tuần:
Ngày giảng: Tiết: 53
ÔN TẬP HỌC KỲ II I Mục đích, yêu cầu
1. Về kiến thức:
- Biết hiểu đợc toàn kiến thực học chơng IV, chơng V “Tệp thao tác với tệp”, chơng VI “Chơng trình phân loại”trong kì II số kiến thc học học kì I
- VËn dơng kiÕn thùc lµm mét sè bµi tËp 2 Kĩ năng:
- Vận dụng đợc lệnh kiểu liệu học để lập trình giải tốn cách trọn vẹn
3 Thái độ:
II Phương pháp
- Kết hợp phương pháp giảng dạy thuyết trình, vấn đáp III.Chuẩn bị giáo viên học sinh
1 Chuẩn bị giáo viên: Soạn giáo án, SGK, SBT, tài liệu tham khảo
2 Chuẩn bị học sinh: Đọc trước mới, ghi lý thuyết, SGK, SBT IV Tiến trìn lên lớp, nội dung giảng
1 Ổn định lớp
- Ổn định lớp.
- Yêu cầu lớp trưởng báo cáo sĩ số
2 Kiểm tra cũ 3 Nội dung ơn tập
Hoạt động thầy trị Nội dung
Hoạt động 1: Lý thuyết
1 Chơng IV: Kiểu liệu có cấu trúc a Kiểu m¶ng
GV: Em nhắc lại cách khai báo kiểu mảng, biến mảng, cách tham chiếu đến phần tử mảng
b KiĨu x©u
Hỏi: Cách khai báo kiểu xâu, tham chiếu đến vị trí xâu, hàm thủ tục liên quan đến việc xử lý xâu
c B¶n ghi
GV: Hái cách tạo ghi, khai báo biến
HS: Ghi a Kiểu mảng HS: Khai báo Kiểu mang: Type
<tên kiểu mảng>=array[<kiểu số>] of <kiểu phần tử>;
BiÕn m¶ng Var
<tên biến mảng>: <tên kiểu mảng>; Cách truy cập đến phần tử mảng <Tên biến mảng>[<vị trí phần tử mảng>];
b KiĨu xâu
Cách khai báo biến xâu
Var <tên biến xâu>: String[<số kí tự tối đa xâu>];
(122)kiểu ghi cach tham chiếu đến tr-ờng ghi
2 Ch¬ng V: TƯp thao tác với tệp Nhắc lại thao tác với tệp cách khai báo biến kiểu tệp
3 Chơng VI: Chơng trình lập trình có cấu trúc:
- Chơng trình chia làm loại - Lợi ích việc sử dụng chơng trình
- Sự giống hàm vµ thđ tơc
Length(s), Delete(S,vt,n); Insert, Pos, Upcase
HS: Suy nghĩ trả lời
2 Cách khai báo số thao tác với tệp
Var <tênbiếntệp>:TEXT Assign(<bientep>,<tentep>) reset(<bientep>);
rewrite(<bientep>);
readln(<bientep>, <dsbien>); write(<bientep>,<dsketqua>); Close(<bientep>)
HS: Chơng trình đợc chia làm lại: Hàm thủ tục
Hoạt động 2: Rèn luyện kỹ lập trình
GV: Giới thiệu nội dung đề lên bảng:
Viết chương trình nhập vào mảng chiều, in hình mảng vừa nhập, tính hiển thị giá trị trung bình ca cỏc phn t mng ú
GV: Định hớng phơng pháp giải cho toán
Các nhiƯm vơ ph¶i thùc hiƯn: + NhËp d·y sè gåm N phần tử + Tính trung bình
+ In kêt hình
GV: Hớng dẫn hs giải toán theo cách (sd CTC ko SD CTC)
HS: Quan sát nội dung đề hớng giải toán
HS: Thảo luận để ghép chơng trình HS: Quan sát kết sau chạy chơng trình
V Củng cố bài
- Cách khai báo truy cập đến phần tử mảng, xâu, ghi - Các hàm thủ tục liên quan đến xâu
- C¸ch khai báo tệp thao tác với tệp - Khái niệm chơng trình phân loại
- Cấu trúc CTC chơng trình sử dụng chơng tr×nh
VI Bài tập nhà
- Chuẩn bị kiến thức cho tiết sau kiểm tra học kỳ 2: Xem lại toàn kiến thức ôn tập
(123)Ngày soạn: Tuần:
Ngày giảng: Tiết: 54
KIỂM TRA HỌC KÌ II I. Mục tiêu đánh giá
Đánh giá trạng chất lượng dạy học kết học tập học sinh
cuối năm học
Đánh giá tổng kết, xác định kết quả, chất lượng học tập sau năm học
II. Mục đích, yêu cầu đề
1. Kiến thức
Biết cách sử dụng kiểu liệu chuẩn, kiểu liệu có cấu trúc sử
dụng chương trình để giải số tốn máy tính
Nắm thao tác làm việc với kiểu liệu tệp Phân biệt thành phần chương trình
2 Kĩ năng
Biết viết chương trình để giải toán lớn
3 Thái độ
Rèn luyện HS có thái độ nghiêm túc, tự lực làm