Tải bản đầy đủ (.docx) (113 trang)

Giao an tong hop

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (586.38 KB, 113 trang )

<span class='text_page_counter'>(1)</span>Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Chương I :. MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Tiết 01 Bài 1 :KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH. I. Mục tiêu + Kiến thức:  Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ.  Hiểu ý nghĩa và nhiệm vụ của chương trình dịch. Phân biệt được biên dịch và thông dịch.  Kĩ năng: Chưa đòi hỏi phải thực hiện các kĩ năng + Thái độ: Ham muốn tìm hiểu các ngôn ngữ lập trình. II. Chuẩn bị của giáo viên và học sinh + Giáo viên: + Học sinh: Đọc trước SGK, xem lại một số kiến thức Tin học lớp 10. III. Phương pháp: Diễn giải, đàm thoại, giải quyết tình huống có vấn đề. IV. Tiến trình dạy- học: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (Không) 3.Bài mới:. Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình(20’) Hoạt động của học sinh. Hoạt động của giáo viên. Suy nghĩ và trả lời câu hỏi: Có 5 bước giải bài toán trên máy tính B1:-Xác định bài toán (Xác đinh Input và Output) B2: Lựa chọn và xây dựng thuật toán (Lựa chọn TT thích hợp) B3: Viết chương trình (CTDL và NNLT diễn tả thuật toán) B4: Hiệu chỉnh (Chạy thử, sửa sai) B5: Viết chương trình (Mô tả CT, hướng dẫn sử dụng) -Quan sát bài toán và trả lời câu hỏi. +Input: a, b +Output: x=-b/a, vô nghiệm, vô số nghiệm. +B1: Nhập a, b. B2: Nếu a<> 0 kết luận có nghiệm x=-b/a. B3: Nếu a=0 và b<>0, kết luận vô nghiệm. B4: Nếu a=0 và b=0, kết luận vô. Nhắc lại kiến thức lớp 10 Hãy nêu các cách giải bài toán trên máy tính?. -Cho bài toán sau: Kết luận nghiện của phương trình ax + b=0. + Hãy xác định Input, Output của bài toán trên. + Hãy xác định các bước để giải bài toán trên. Nội dung Nội dung Bài 1 KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH.

<span class='text_page_counter'>(2)</span> số nghiệm. -Hệ thống các bước này chúng ta gọi là thuật toán. Làm thế nào để -Dùng ngôn ngữ lập trình. máy tính điện tử có thể hiểu được thuật toán này ? -Diễn giải: Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình -Nghiên cứu nội dung trong SGK -Các em hãy cho biết khái niệm về và trả lời câu hỏi lập trình ? +Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. + Được một chương trình +Ngôn ngữ máy, hợp ngữ và ngôn - Kết quả của hoạt động lập trình ? ngữ bâc cao. -Ngôn ngữ lập trình gồm những -Nghiên cứu SGK và trả lời câu loại nào ? hỏi. -Theo các em chương trình được + Chương trình viết bằng ngôn viết bằng ngôn ngữ bậc cao và ngữ máy có thể nạp trực tiếp vào chương trình được viết bằng ngôn bộ nhớ và thực hiện ngay. ngữ máy khác nhau như thế nào ? + Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ lập máy thì mới thực hiện được. -Làm thế nào để chuyển một -Phải sử dụng một chương trình chương trình viết bằng ngôn ngữ dịch để chuyển đổi. bậc cao sang ngôn ngữ máy ? Ngôn ngữ bậc cao dễ viết, dễ hiểu. -Vì sao không lập trình trên ngôn Ngôn ngữ máy khó viết. ngữ máy để khỏi mất công chuyển đổi khi lập trình với ngôn ngữ bậc cao. Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán.. Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch (20’) Hoạt động của học sinh. Hoạt động của giáo viên -Theo các em đối với chương trình dịch: chương trình nào là chương trình nguồn và chương trình đích. -Nghiên cứu SGK và trả lời câu hỏi: + Chương trình nguồn là chương trình viết bằng ngôn ngữ lập trình bậc cao. + Chương trình đích là chương trình thực hiện chuyển đổi sang ngôn ngữ máy. -Nêu vấn đề: Em muốn giới thiệu. Nội dung.

<span class='text_page_counter'>(3)</span> về trường mình cho một người khách du lịch quốc tế biết tiếng Anh, có hai cách thực hiện: C1: Cần một người biết tiếng Anh dịch từng câu nói của em sang tiếng Anh cho người khách. Cách mày gọi lag thông dịch C2: Em soạn nội dung giới thiệu ra giấy và người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc cho khách nghe. Cách này gọi là biên dịch. Tương tự chương trình dịch có hai loại là thông dịch và biên dịch. -Chương trình dịch gồm thông -Nghiên cứu SGK và trả lời câu -Các em hãy cho biết tiến trình của dịch và biên dịch. hỏi: thông dịch và biên dịch. a) Thông dịch +Thông dịch: B1: Kiểm tra tính đúng đắn B1: Kiểm tra tính đúng đắn của của câu lệnh tiếp theo trong câu lệnh tiếp theo trong chương chương trình nguồn; trình nguồn; B2: Chuyển lệnh đó thành B2: Chuyển lệnh đó thành ngôn ngôn ngữ máy ngữ máy B3: Thực hiện các câu lệnh B3: Thực hiện các câu lệnh vừa vừa được chuyển đổi. được chuyển đổi. +Biên dịch: +Biên dịch: B1: Duyệt, phát hiện lỗi, kiểm B1: Duyệt, phát hiện lỗi, kiểm tra tra tính đúng đắn của các câu tính đúng đắn của các câu lệnh lệnh trong chương trình trong chương trình nguồn. nguồn. B2: Dịch toàn bộ chương trình B2: Dịch toàn bộ chương trình nguồn thành một chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và đích có thể thực hiện trên máy có thể lưu trữ để sử dụng lại khi và có thể lưu trữ để sử dụng cần thiết lại khi cần thiết 4.Củng cố kiến thức -Khái niệm lập trình và ngôn ngữ lập trình. -Các ngôn ngữ lập trình: ngôn ngữ máy, ngôn ngữ bậc cao, hợp ngữ. -Khái niệm chương trình dịch. -Thông dịch và biên dịch. 5.Dặn dò - Học bài và trả lời các câu hỏi SGK - Nc trước nội dung bài 2 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(4)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A4:..............Lớp 11A5:................Lớp 11A6:.................. Tiết 02 Bài 2: CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I.Mục tiêu: 1.Kiến thức: - Biết ngôn ngữ lập trình có ba thành phần cơ bản là: Bảng chữ cái, cú pháp và ngữ nghĩa. hiểu được ba thành phần này - Biết một số khái niệm: Tên, tên chuẩn, tên dành riêng(từ khoá), hằng và biến. 2.Kỹ năng: - Phân biệt được ba thành phần:bảng chữ cái ,cú pháp và ngữ nghĩa - Phân biệt được tên, hằng và biến. biết đặt tên đúng 3.Tư duy và thái độ : - Tư duy logic - Thái độ cẩn thận, chính xác. II.Chuẩn bị của giáo viên và học sinh; - GV: Bảng phụ, phấn, thước. - HS: Đọc trước bài ở nhà III.Phương pháp - Thuyết trình, vấn đáp, hoạt động nhóm IV.Tiến trình bài học 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: Câu hỏi: Trình bày khái niệm: Lập trình, chương trình dịch. Phân biệt thông dịch và biên dịch ? 3.Bài mới: HĐ1: Các thành phần cơ bản (15’) HĐ CỦA HS HĐ CỦA GV HĐTP1:Dẫn dắt vào baì Chữ cái - Để diễn tả một ngôn ngữ tự nhiên Cú pháp ta cần phải biết những gì? Ý nghĩa của điều - Các ngôn ngữ lập trình nói chung cần diễn tả. thường có chung một số thành phần như:Dùng những kí hiệu nào để viết chương trình, viết theo quy tắc nào? viết như vậy có ý nghĩa là gì? Mỗi ngôn ngữ lập trình có một quy Lắng nghe định riêng về những thành phần này. H ĐTP2: Giới thiệu bảng chữ cái. GHI BẢNG. 1. Các thành phần cơ bản - Mỗi ngôn ngữ lập trình thường có ba thành phần cơ bản là: bảng chữ cái ,cú pháp và ngữ nghĩa..

<span class='text_page_counter'>(5)</span> HS chú ý. GV treo bảng phụ 1 (SGK Trang 9) Bảng chữ cái trong ngôn ngữ lập trình khác nhau có sự a.Bảng chữ cái:Là tập các kí khác nhau. Ví dụ bảng chữ cái hiệu dùng để viết chương trình trong ngôn ngữ lập trình C++ chỉ khác pascal là sử dụng thêm các kí tự như dấu nháy kép(“), dấu sổ ngược(\), dấu chấm than(!). HĐTP3: Giớ thiệu cú pháp -. HS lắng nghe. Cú pháp ngôn ngữ lập trình khác nhau cũng khác nhau ngôn ngữ pascal dùng cặp từ BeginEnd để gộp nhiều lệnh thành một lệnh nhưng trong C++ dùng cặp kí hiệu {}. b. Cú pháp Ví dụ : Xét 2 biểu thức A+B (1) - Là bộ quy tắc để viết chương A,B là các số thực. trình I+J (2) với I,J là các số nguyên Hỏi HS: Về ngữ nghĩa 2 biểu thức trên có khác nhau không? - Mỗi nôn ngữ khác nhau cũng có ngữ nghĩa khác nhau c. Ngữ nghĩa Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh của nó.. Khác nhau: Dấu cộng trong (1) là cộng 2 số thực cong trong (2) là cộng trong 2 số nguyên. HS lắng nghe và ghi chép.. Tóm lại: - cú pháp cho biết cách viết một chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của các tổ hợp kí tự trong chương trình. - Các lỗi cú pháp được chương trình dịch phát hiện và thông báo cho người lập trình biết. chương trình không còn lỗi cú pháp thì mới có thể dịch sang ngôn ngữ máy. - Lỗi ngữ nghĩa được phát hiện khi chạy chương trình.

<span class='text_page_counter'>(6)</span> HĐ2: Giới thiệu Tên(15’) HĐ CỦA HS. Lắng nghe và ghi chép. HĐ3: Hằng và biến (10’) HĐ CỦA HS Lắng nghe. HĐ CỦA GV GHI BẢNG - Trong các ngôn ngữ lập trình 2 Một số khái niệm nói chung,các đối tượng sử dụng a. Tên: trong chương trình đều phải đặt - Mọi đối tượng trong chương tên để tiện cho việc sử dụng. trình đều phải được đặt tên theo Việc dặt tên trong các ngôn ngữ quy tắc của ngôn ngữ lập trình khác nhau là khác nhau,có ngôn - Trong ngôn ngữ turbo pascal ngữ phân biệt chữ hoa,chữ tên là một dãy liên tiếp không thường, có ngôn ngữ không phân quá 127 kí tự bao gồm: chữ số, biệt chữ hoa, chữ thường. chữ cái hoặc dấu gạch dướivà bắt đầu bằng chữ cái hoặc gạch dưới - Ngôn ngữ lập trình pascal - Ví dụ : Trong ngôn ngữ pascal không phân biệt chữ hoa chữ + Các tên đúng: A, Bre1, -ten, . . . thường nhưng một số ngôn ngữ + Các tên sai: a bc, 6hgf, x# y, .... lập trình khác(như C++) lại - Ngôn ngữ lập trình có 3 loại tên: phân biệt chữ hoa, chữ thường tên dành riêng, tên chuẩn, tên do người lập trình đặt.  Tên dành riêng: Là những tên được ngôn ngữ lập trình quy định với ý nghĩa riêng xác định mà người lập trình không được dùng với ý nghĩa khác - Tên dành riêng được gọi là từ khoá - Ví dụ: một số tên dành riêng: - Trong pascal : program, uses, var, const, .... - Trong c++: main, include, if,... - * Tên chuẩn: là nhữnh tên được ngôn ngữ lập trình dùng với ý nghĩa nhất định nào đó. Trong các thư viện của ngôn ngữ lập trình. - Ví dụ : Một số tên chuẩn - Trong pascal: real, integer, char, ... - Trong c++: cin, count,... * Tên do người lập trình đặt: Được xác định bằng cách trước khi sử dụng, không được trùng với tên dành riêng HĐ CỦA GV VG đưa ra ví dụ:Đẻ viết một -. GHI BẢNG b. Hằng và biến.

<span class='text_page_counter'>(7)</span> chương trình giải phương trình bậc hai ta cần khai báo những tên sau: - a,b,c là ba tên dùng để lưu ba hệ số của phương trình. - - x1,x2 là hai tên dùng để lưu nghiệm ( nếu có). - - Delta là tên dùng để lưu giá trị của delta.. -. Lắng nghe. Biến là đối tượng sử dụng nhiều nhất trong khi viết chương trình. Biến là đại lượng có thể thay đổi được nên thường dùng để lưu trữ kết quả -. * Hằng: Là đại lượng có giá trị không đổi trong quá trình thực hiện chương trình - Các ngôn ngữ lập trình thường có: + Hằng số học: số nguyên hoặc số thực + Hăng logic: Là cácgiá trị đúng hoặc sai Ví dụ ( bảng phụ 2:vd về hằng sgk trang 12) * Biến:Là đại lượng được đặt tên, dùng để lưu trữ gí trị và giá trị có thể được thay đổi trong quá trình thực hiện chương trình Biến phải khai báo trước khi sử dụng. C. Chú thích: - Trong khi viết chương trình có thể viết các chú thích cho chương trình. Chú thích không làm ảnh hưởng đến chương trình Trong pascal chú thích được đặt trong {} hoặc (* *) Trong C++ chú thích đặt trong: /* */. 4.Củng cố (3’) Giáo viên mở một chương trình pascal đơn giản có chứa các thành phần là các khái niệm của bài học, nếu không có máy thì sử dụng bảng phụ đẻ chỉ cho HS từng khái niệm trong chương trình. 5.Dặn dò (1’) - Tổng hợp kiến thức chương 1 - Trả lời các câu hỏi 1, 2, 3, 4 (SGK-13) - Làm bài tập 4, 5, 6 (SGK-13) - Tiết sau chữa bài tập V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(8)</span> Ngày soạn: ...................... Ngày giảng:Lớp11A1:.........11A2:………11A3:………11A4:………11A5:…….11A6:.......... Tiết: 03 - BÀI TẬP I.Mục tiêu: 1. Về kiến thức: - Biết có 3 lớp ngôn ngữ lập trình và các mức của ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao. - Biết vai trò của chương trình dịch. - Biết khái niệm biên dịch và thông dịch. - Biết các thành phần cơ bản của ngôn ngữ lập trình: bảng chữ cái, cú pháp và ngữ nghĩa. - Biết các thành phần cơ sở của Pascal: bảng chữ cái, tên, tên chuẩn, tên riêng (từ khóa), hằng và biến. 2. Về kỹ năng: - Biết viết hằng và tên đúng trong một ngôn ngữ lập trình cụ thể. 3. Về tư duy và thái độ: - Nhận thức được quá trình phát triển của ngôn ngữ lập trình gắn liền với quá trình phát triển của tin học nhằm giải các bài toán thực tiễn ngày càng phức tạp. - Ham muốn học một ngôn ngữ lập trình cụ thể để có khả năng giải các bài toán bằng máy tính điện tử. II.Chuẩn bị của giáo viên và học sinh: 1. Giáo viên: chuẩn bị nội dung để giải bài tập cuối chương và một số câu hỏi trắc nghiệm của chương. 2. Học sinh:Ôn lại kiến thức của chương, chuẩn bị bài tập cuối chương. III.Phương pháp: - Thuyết trình, vấn đáp IV.Tiến trình bài học: 1.Ổn định tổ chức 2.Kiểm tra bài cũ. 3.Tiến trình tiết dạy: Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Đọc yêu cầu của câu hỏi - ĐVĐ: Trước khi giải bài tập Câu 1: và bài tập cuối chương trong SGK, các em tự ôn lại - Ngôn ngữ bậc cao gần với trang 13 SGK. một số kiến thức mà chúng ngôn ngữ tự nhiên hơn, thuận - Suy nghĩ để đưa ra ta đã học ở các bài trước dựa tiện cho đông đảo người lập phương án trả lời. trên yêu cầu của câu hỏi trình. trang 13 SGK. - Chương trình viết bằng ngôn - Suy nghĩ, trả lời câu hỏi. - Đặt câu hỏi số 1: Tại sao ngữ bậc cao nói chung không người ta phải xây dựng các phụ thuộc vào phần cứng máy ngôn ngữ lập trình bậc cao? tính và một chương trình có - Nhận xét, đánh giá và bổ thể thực hiện trên nhiều máy sung hướng dẫn cho học tính khác nhau. sinh trả lời câu hỏi số 1: - Chương trình viết bằng ngôn ngữ bậc cao dễ hiểu, dễ hiệu chỉnh và dễ nâng cấp. - Ngôn ngữ bậc cao cho phép làm việc với nhiều kiêu dữ liệu và cách tổ chức dữ liệu đa.

<span class='text_page_counter'>(9)</span> -. Suy nghĩ, trả lời câu hỏi. -. Đặt câu hỏi 2: Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?. . -. Suy nghĩ, trả lời câu hỏi, cho ví dụ -. Đặt câu hỏi 3: Biên dịch và thông dịch khác nhau như thế nào? Phân tích câu trả lời của học sinh.. - Suy nghĩ, trả lời, giải thích từng câu hỏi, -. -. Đặt câu hỏi 4: Hãy cho biết các điểm khác nhau giữa tên dành riêng và tên chuẩn? Gọi hs trả lời và cho ví dụ Phân tích câu trả lời của học sinh. Đặt câu hỏi 5: Hãy tự viết ra ba tên đúng theo quy tắc của Pascal Gọi 3 học sinh lên bảng cho ví dụ về tên do người lập trình đặt. Nhận xét, sửa chữa, góp ý.. dạng, thuận tiện cho mô tả thuộc toán. Câu 2: - Chương trình dịch là chương trình đặc biệt, có chức năng chuyển đổi chương trình được viết trên ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính cụ thể. Chương trình nguồn -> Chương trình dịch -> Chương trình đích Câu 3: - Trình biên dịch: duyệt, kiểm tra, phát hiện lỗi, xác định chương trình nguồn có dịch được không? dịch toàn bộ chương trình nguồn thành một chương trình đích có thể thực hiện trên máy và có thể lưu trữ lại để sử dụng về sau khi cần thiết. - Trình thông dịch lần lượt dịch từng câu lệnh ra ngôn ngữ máy rồi thực hiện ngay câu lệnh vừa dịch được hoặc báo lỗi nếu không dịch được. Câu 4: - Tên dành riêng không được dùng khác với ý nghĩa đã xác định, tên chuẩn có thể dùng với ý nghĩa khác. VD: Tên dành riêng trong Pascal: program, uses, const, type, var, begin, end. Tên chuẩn: trong Pascal abs, integer. Câu 5: Gợi ý: Trong Pascal tên (do người lập trình đặt) được đặt tuân theo các quy tắc sau: - Chỉ bao gồm chữ cái, chữ số và dấu gạch dưới; - Không bắt đầu bằng chữ số; - Độ dài theo quy định của chương trình dịch (TP không.

<span class='text_page_counter'>(10)</span> -. a) b) c) d) e) f) g) h) i) -. Đặt câu hỏi 6: Hãy cho biết những biểu diễn nào dưới đây không phải là biểu diễn hằng trong Pascal và chỉ rõ trong từng trường hợp: 150.0 –22 6,23 ‘43’ A20 1.06E-15 4+6 ‘C ‘TRUE’ Nhận xét, giải thích. quá 127 kí tự, Free Pascal không quá 255 kí tự). Tuy nhiên, không nên đặt tên quá dài hay quá ngắn mà nên đặt sao cho gợi ý nghĩa đối tượng mang tên đó.. -Những biểu diễn sau đây không phải là hằng trong Pascal: 6,23 dấu phẩy phải thay bằng dấu chấm; A20 là tên chưa rõ giá trị; 4+6 là biểu thức hằng trong Pascal chuẩn cũng được coi là hằng trong Turbo Pascal; ‘TRUE’ là hằng xâu nhưng không là hằng lôgic.. 4. Hoạt động củng cố (3’) -Ôn lại các khái niệm, các tên -Chuẩn bị bài Cấu trúc chương trình. 5.Dặn dò: - Đọc bài đọc thêm số 2 - Nc trước nội dung bài 3 V.Rút kinh nghiệm: .............................................................................................................................................. ............................................................................................................................................... Ngày soạn: ......................

<span class='text_page_counter'>(11)</span> Ngày giảng: Lớp11A1:.........11A2:………11A3:………11A4:………11A5:…….11A6:............ CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN. Tiết 04-Bài 3, 4: CẤU TRÚC CHƯƠNG TRÌNH MỘT SỐ KIỂU DỮ LIỆU CHUẨN I - Mục tiêu. 1. Kiến thức. Biết được cấu trúc chung của một chương trình Biết một số kiểu dữ liệu định sẵn: Nguyên, thực, logic, kí tự Hiểu được chương trình là sự mô tả thuật toán bằng ngôn ngữ lập trình 2. Kỷ năng: Nhận biết từng phần cấu trúc chương trình đơn giản Xác định được kiểu cần khai báo của dữ liệu đơn giản 3. Tư duy – thái độ: Tư duy logic. II - Chuẩn bị. 1. Giáo viên : Máy tính, máy chiếu projec, một số ví dụ minh hoạ. 2. Học sinh : SGK III – Phương pháp dạy học: Đặt vấn đề hướng dẫn học sinh nắm bắt vấn đề Hoạt động nhóm. IV - Tiến trình bài học 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (không) 3.Bài mới: Hoạt động 1: Tìm hiểu cấu trúc chung. (3’). Hoạt động của Gv Giới thiệu và đưa ra. Hoạt động của Hs Ghi chép. Nội dung 1.Cấu trúc chung: [<phần khai báo>] <phần thân> - Phần đặt trong dấu [] thì có thể có hoặc không - Phần đặt trong dấu <> thì bắt buộc phải có.. Hoạt đông 2: Tìm hiểu các thành phần của chương trình (15’) Hoạt động của Gv Hoạt động của Hs Nội dung 2.Các thành phần của CT Lắng nghe a.Khai báo Giới thiệu tổng thể các khai Ghi chép cấu trúc * Khai báo tên: báo Tìm hiểu ví dụ Gv đưa ra để Program <tên CT>; Với mỗi khai báo Gv đưa ra hiểu về cấu trúc * Khai báo thư viện: ví dụ cụ thể và những lưu ý Uses crt; cần thiết. * Khai báo hằng:.

<span class='text_page_counter'>(12)</span> Gv lên tập trung vào ngôn ngữ lập trình Pascal. Hoạt đông 3: Tìm hiểu một chương trình đơn giản (7’) Hoạt động của Gv Hoạt động của Hs Gv đưa ra một CT đơn gian Hs quan sát Phân tích cấu trúc của CT Hs tự viết một chương trình Hd: Mỗi dòng xuất ra tương đơn giản ứng dùng một lệnh write (hoặc writeln) Hoạt động 4. Một số kiển dữ liệu chuẩn. Yêu cầu học sinh nghiên cứu sách. Trả lời các câu hỏi sau: Có bao nhiêu dữ liệu chuẩn trong ngôn ngữ - Có 4 kiểu : kiểu nguyên, Pascal ? thực, kí tự, lôgic. Trong ngôn ngữ - Có 4 loại : Byte, word, Pascal, có những kiểu integer, logint nguyên nào thương dùng, phạm vi biểu diễn của mỗi loại. Trong ngôn ngữ - Có 2 loại: Real, extended. Pascal, có những kiểu thực nào thương dùng, phạm vi biểu diễn của mỗi loại. Cho học sinh đọc ví dụ đơn Đọc sách. giản trong SGK. Giải thích từng dòng lệnh. Const MaxN=100; * Khai báo biến: (Thực hiện trong bài riêng) b.Phần thân CT: - Phần thân chương trình được đặt trong cặp từ khóa (tên dành riêng) mở đầu và kết thúc: Begin [<dãy lệnh>] end. Nội dung 3.Chương trình đơn giản: Program loi_chao; Begin writeln(‘Chao cac em’); end.. 4.Một số kiểu DL chuẩn: - Có 4 kiểu dữ liệu chuẩn trong NNLT Pascal + Kiểu nguyên + Kiểu thực + Kiểu logic + Kiểu kí tự - Bộ nhớ lưu trữ và phạm vi biểu diễn giá trị (SGK-21). SGK. 4.Củng cố: (3’) - Cấu trúc chung của chương trình - Nếu có khai báo thì có thể có các khai báo: tên chương trình, thư viện sử dụng, khai báo hằng, khai báo biến - Có 4 kiểu dữ liệu chuẩn sử dụng trong NNLT Pascal.

<span class='text_page_counter'>(13)</span> - Với mỗi kiểu dữ liệu có phạm vi, bộ nhớ lưu trữ xác định, đây là căn cứ để khai báo biến tránh bị lãng phí bộ nhớ. 5.Dặn dò: (1’) - Học bài, lấy ví dụ theo cấu trúc - Ghi nhớ các kiểu dữ liệu chuẩn. - Chuẩn bị trước nd bài 5, 6. V.Rút kinh nghiệm: .............................................................................................................................................. ............................................................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A4:..............Lớp 11A5:................Lớp 11A6:..................

<span class='text_page_counter'>(14)</span> Tiết 5-Bài 5, 6:. PHÉP TOÁN - BIỂU THỨC - CÂU LỆNH GÁN KHAI BÁO BIẾN. I / Mục tiêu dạy học: 1. Kiến thức : - Biết được các phép toán thông dụng trong NNLT - Biết cách diễn đạt một biểu thức trong NNLT - Biết được chức năng của lệnh gán và cấu trúc của nó - Nắm vững một số hàm chuẩn thông dụng trong NNLT Pascal. 2. Kỹ năng: - Nhận biết được các phép toán để xây dựng biểu thức cho hợp lý. - Sử dụng được một số lệnh gán khi viết chương trình đơn giản. 3. Tư duy và thái độ : - Phát triển tư duy lôgic, linh hoạt, có tính sáng tạo - Biết thể hiện về tính cẩn thận chính xác trong tính toán cũng như lập luận II/ Chuẩn bị của GV & HS: * Giáo viên: - SGK, các tranh liên quan đến bài học. - Máy vi tính và máy chiếu Projector (nếu có) * Học sinh: - SGK III/ Phương pháp: - Thuyết trình, vấn đáp IV/ Tiến trình bài học: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (5’) Câu hỏi: 1,Trình bày cấu trúc chung của một chương trình, lấy ví dụ về khai báo biến 2, Trong NNLT Pascal có mấy kiểu dữ liệu chuẩn, cho biết bộ nhớ lưu trữ một giá trị của các kiểu sau: Integer, real, byte, longint 3.Bài mới: Hoạt động 1: Tìm hiểu phép toán trong Pascal (7’) Hoạt động GV. Hoạt động HS. Khi viết chương trình ta phải sử Chú ý lắng nghe dụng các phép toán, phép so sánh để đưa ra quyết định xem và làm việc gì? và một chương trình ta viết như thế nào ?. Nội dung I.Phép toán biểu thức, câu lệnh gán: * NNLT nào cũng sử dụng đến phép toán, câu lệnh gán và biểu thức, các khái niệm này chỉ được xét trong NNLT Pascal.. Tất cả các ngôn ngữ có sử dụng một cách giống nhau hay không. - Toán học có những phép toán nào?. 1. Phép toán:. - Các phép toán đó có dùng trong NNLT hay không?. NNLT Pascal sử dụng một số phép toán như sau:. + Một số phép toán dùng được và một số phép toán phải sử. + Số nguyên: + , - , *, / , DIV, MOD..

<span class='text_page_counter'>(15)</span> dụng từ các phép tóan khác .. Suy nghĩ và đưa ra một số - Ghi một số phép toán lên phép toán thường dùng: + Số thực: + , - , *, / , bảng. Phép cộng, trừ, nhân, chia + Phép toán quan hệ: <, <=, > , >=, ... =, < > . - Phép DIV, MOD được sử Nghiên cứu SGK và cho + Phép toán logic: AND, OR, NOT. biết các nhóm phép toán dụng cho kiểu dữ liệu nào? - Kết quả của phép toán quan hệ - Chỉ được sử dụng cho kiểu số nguyên. thuộc kiểu dữ liệu nào? - Kiểu logic. Hoạt động 2: Tìm hiểu biểu thức trong Pascal (10’) Hoạt động GV. Hoạt động HS. Nội dung. - Trong toán học biểu thức là - Suy nghĩ và đưa ra khái 2. Biểu thức số học: gì ? niệm - Là một dãy các phép toán + , - , *, / - Trong tin học khái niệm về , DIV, MOD từ hằng biến kiểu số và biểu thức trong lập trình ? các hàm. - Cách viết các biểu thức trong lập trình có giống cách viết trong toán học hay không ?. - Dùng dấu ( ) để qui định trình tự tính toán.. VD: ( SGK - 25) - Treo tranh có chứa các biểu * Chú ý : thức toán học lên bảng. - Quan sát tranh và trả Thứ tự thực hiện các phép toán: Yêu cầu: HS sử dụng các phép lời : + Trong ngoặc trước, ngoài ngoặc sau. toán số học hãy biểu diễn các biểu thức toán học thành biểu + Nhân, chia, chia nguyên, chia lấy dư thức trong NNLT. trước, cộng, trừ sau. 4x - 2y 4*x-2*y 1 x+ x−y x+1/(x-y) 3. Hàm số học chuẩn: a+b+ c 2a +c b. 2. b −c ac. Cách viết cho một số hàm số học ((a+b+c)/((2*a /b)+c)) - chuẩn : (b*b-c)/a*c Tên hàm (đối số) - Trong toán học ta đã làm quen với một số hàm số học, hãy kể + Đối số là một hay nhiều biểu thức số tên? - Hàm trị tuyệt đối, hàm học đặt trong dấu ngoặc ( ) sau tên hàm . - Muốn tính ax2 + 1 ta viết thế căn bậc 2, hàm sin ... nào? VD: (SGK - 26). - Muốn tính |x| , √ x , - HS trả lời: 2*x*x+1 sinx ... ta làm thế nào? -.

<span class='text_page_counter'>(16)</span> Tính các giá trị đó một cách đơn giản người ta đã xây dựng sẵn - HS chưa trả lời được một số đơn vị chương trình trong các thư viện chương trình giúp người lập trình tính toán nhanh hơn. - Treo tranh chứa bảng một số hàm chuẩn. Yêu cầu: Học sinh điền thêm một số thông tin với các chức Nghiên cứu SGK - 26 và năng của hàm. quan sát tranh vẽ, lên bảng điền tranh - Cho biểu thức. |x|. - √ 2 x +1. 4. Biểu thức quan hệ:. x2 - 1. Cấu trúc chung:. Hãy biểu diễn biểu thức toán trong biểu thức trong NNLT. - Suy nghĩ và trả lời: -Trong lập trình ta phải so sánh 2 giá trị nào đó trước khi thực (abs(x)-sqrt(2*x+1)/(x* xhiện lệnh bằng cách sử dụng 1) biểu thức quan hệ . Biểu thức quan hệ còn gọi là biểu thức so sánh được dùng để so sánh 2 giá trị đúng hoặc sai.. + Kết quả của biểu thức quan hệ là TRUE hoặc FALSE. VD: - 5 > 2. - Biểu thức logic đơn gảin là hằng hoặc biến logic.. - Kết quả mà phép toán quan hệ thuộc kiểu dữ liệu nào đã học?. - Hãy quan sát ví dụ về biểu thức logic sau:. + trong đó BT1 và BT2 phải cùng kiểu.. 5. Biểu thức logic.. - Cho một ví dụ về biểu thức quan hệ. -Biểu thức logic là biểu thức quan hệ được liên kết với nhau bởi phép toán logic. <BT1> < phép toán quan hệ > <BT2>. - Trả lời:. - Dùng để liên kết nhiều biểu thức quan hệ lại với nhau.. x + y < 2* x*y. VD: ( SGK - 28). - Kiểu logic. 2< x  8 Trong Pascal cần phải tách - Lắng nghe, theo dõi sự thành 2 < x và x  8 như thế sự dẫn dắt của Gv để trả lời . nào ?. - Kết hợp SGK, trả lời:.

<span class='text_page_counter'>(17)</span> (2< x) and (x<=8 ) Hoạt động 3: Tìm hiểu lệnh gán trong Pascal (5’) Hoạt động GV. Hoạt động HS. Nội dung. Mỗi NNLT có cách viết lệnh - Quan sát ví dụ và suy 6. Câu lệnh gán. gán khác nhau, chẳng hạn như nghĩ để trả lời. - Lệnh gán là cấu trúc cơ bản của mọi trong Pascal có lệnh gán sau: NNLT, thường dùng để gán gái trị i:=8+1 cho biến. - Giải thích: Lấy 8 cộng với 1, đem kết quả đặt vào i , ta được y = 9. - Cần chú ý điều gì khi viết lệnh gán? - Đưa ra ý kiến. - Phân tích câu trả lời của học sinh sau đó tổng hợp lại .. Cấu trúc: < tên - biến>:= <biểu thức>;. - Lệnh gán là gì ? - Minh họa một vài ví dụ khác khi sử dụng lệnh gán trên bảng.. VD:. Treo tranh lên bảng và giới thiệu một ví dụ về Pascal cho - Suy nghĩ và đưa ra vài chương trình ví dụ tương tự.. i:= i+1;. Var i, j integer; Begin i := 2; j := 5; i := i+1; j := j-1; Writeln (‘i=’, i); Writeln (‘j=’, j); readln; End. - Vậy chương trên in ra màn hình giá trị của i và j bằng bao nhiêu ?. - Quan sát và trả lời: i = 3 và j = 4. x:= (b*b-4* a*c); j:= j-1;.

<span class='text_page_counter'>(18)</span> Hoạt động 4: Tìm hiểu cách khai báo biến: (18’) Hoạt động GV. Hoạt động HS. Nội dung. Gv: Đưa ra cấu trúc khai báo Ghi chép biến,. II. Khai báo biến:. Giải thích cấu trúc. Var <Ds biến>:<Kiểu dữ liệu>;. Lấy ví dụ minh họa. Trong đó: Phân tích cấu trúc Tự lấy ví dụ về khai báo biến. 1.Cấu trúc:. + Ds biến là một hoặc nhiều biến, trường hợp có nhiều biến thì giữa các biến cách nhau bằng dấu phảy + Kiểu dữ liệu: 4 kiểu dữ liệu chuẩn trong Pascal Ví dụ: Var a:byte; Var a,b,c:Integer; 2.Một số lưu ý:. Giáo viên giải thích. Quan sát, Nc SGK. - SGK (23). 4.Củng cố: (3’) - Gv nhấn mạnh các kiến thức trọng tâm: + Các phép toán : Số học, quan hệ, logic. + Cấu trúc lệnh trong Pascal: tên_biến := biểu_thức; + Khai báo biến 5.Dặn dò: (1’) - Làm các bài tập 5, 6, 7, 8 SGK trang 35 - 36 - Xem trước bài: Các thủ tục chuẩn vào/ ra đơn giản V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(19)</span> Ngày soạn: ..................... Ngày giảng:Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết:06 - BÀI 7-8 THỦ TỤC CHUẨN VÀO/ RA ĐƠN GIẢN - SOẠN THẢO, DỊCH, THỰC HIỆN VÀ HIỆU CHỈNH CHƯƠNG TRÌNH I. Mục tiêu 1 Kiến thức: - Biết các lệnh vào ra đơn giản để nhập dữ liệu từ bàn phím hoặc đưa dữ liệu ra màn hình. - Viết được một số lệnh vào/ ra đơn giản. - Biết các bước: Soạn, dịch, thực hiện và hiệu chỉnhchương trình. 2.Kỹ năng: - Chưa dòi hỏi phải thực hiện các kỹ năng 3 Thái độ: - Ham muốn tìm hiểu các biên soạn và thực hiện chương trình. II. Chuẩn bị + Giáo viên: một số ví dụ. + Học sinh: Đọc trước SGK. III. Phương pháp: + Diễn giải, đàm thoại, giải quyết tình huống có vấn đề. IV. Tiến trình bài học: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: 3.Bài mới: Hoạt động 1: tìm hiểu thủ tục nhập dữ liệu từ bàn phím. Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Khi giải một bài toán, I.Các thủ tục chuẩn vào ra: những đại lượng đã biết 1.Nhập dữ liệu vào từ bàn phím phải nhập thông tin vào, như - Trong pascal ta dùng thủ tục chuẩn - Ta có lệnh để nhập vậy khi lập trình ta nhập sau: bằng cách nào? Read(danh sách biến vào);hoặc - Làm thế nào nhập giá trị Readln(danh sách biến vào);.

<span class='text_page_counter'>(20)</span> cho bàn phím?. - Nghe và ghi bài. - Trả lời. -. Thủ tục READ sau khi dọc xong giá trị con trỏ không xuống dòng còn READLN là xuống dòng.. -. Ví dụ: Read(N); Readln(a,b,c); Chú ý:+ Khi nhập dữ liệu từ bàn phím READ, READLN, có ý nghĩa như nhau, thường hay dùng READLN hơn. + Khi nhập giá trị cho các biến thủ tục, những giá trị này được gõ cách nhau một dấu cách hoặc phím Enter.. -. Thủ tục READLN không có tham số có chức năng lamg gì? dừng chương trình. - Thủ tục READLN không có tham số dừng chương trình.. Hoạt động 2: tìm hiểu thủ tục đưa dữ liệu ra màn hình. Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Trên đây là thủ tục nhập 2. Đưa dữ liệu ra màn hình dữ liệu vào còn xuất ra thí Trong pascal cung cấp thủ tục sao? chuẩn: - Trả - Trường hợp thủ tục write(<Danh sách kết quả ra>); hoặc lời WRITELN; không có tham writeln(<Danh sách kết quả ra>); số thì thì thủ tục có tác trong đó <Danh sách kết quả ra>có dụng để làm gì? thể tên biến đơn, biểu thức, hằng. - Trường hợp thủ tục Ví dụ: write(‘Nap so N:’); Readln(N); WRITELN; không có tham  Chú ý: số thì thì thủ tục có tác - writeln sau khi đưa kết quả ra con dụng đưa con trỏ xuống trỏ xuống dòng mới. dòng tiếp theo. - Ngoài ra trong TPcó quy cách đưa thông tin ra nàm hình sau: + Kết quả thực: :<Độ rộng>:<số chữ số thập phân> + Kết quả khác: :<Độ rộng> ví dụ: Write(N:3); Writeln(‘X=’,x:8:2); -. Độ rộng, số chữ số thập phân là các hằng nguyên dương..

<span class='text_page_counter'>(21)</span> Hoạt động3 : Tìm hiểu cách soạn thảo, dịch, thực hiện, hiệu chỉnh chương trình . Hoạt động của học sinh Hoạt động của giáo viên Nội dung Nghe giảng Để thực hành trong TP ta khởi II.Soạn thảo, dịch, thực hiện và hiệu động bằng cách: Nháy dúp vào chỉnh chương trình: biểu tượng turbo pascal trên Một số tao tác thường dùng trong màn hình. pascal: - Trên máy cần có tệp: - Khi soạn thảo muốn xuống dòng -Nghe giảng Turbo.exe(file chạy) nhấn Enter. Turbo.tpl(file thư viện) Ghi file vào đĩa: F2 Turbo.tph(file hướng dẫn) 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 Thoát khỏi phần mền: Alt + X 4.Củng cố: - Nhắt lại sự hoạt động của Write/Writeln, read/Readln - Cách soạn thảo,chạy chương trình, ghi vào đĩa, thoát khỏi TP 5.Dặn dò: - Về nhà làm bài tập trong sách trang 35,36 - Tiết sau: Nc trước nội dung bài tập thực hành 1 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(22)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 07 BÀI THỰC HÀNH SỐ 1 (Tiết 1/2) I/ Mục tiêu: 1. Về kiến thức: - Biết được một chương trình Pascal hoàn chỉnh. - Biết sử dụng một số dịch vụ chủ yếu của Pascal trong soạn thảo, lưu, dịch và thực hiện chương trình. 2. Về kỹ năng: - Viết được chương trình đơn giản, lưu được chương trình trên đĩa, dịch lỗi cú pháp, thực hiện và tìm lỗi thuật toán, hiệu chỉnh. - Bước đầu biết phân tích và hoàn thành một chương trình đơn giản trên Pascal hoặc Free Pascal. 3. Về tư duy và thái độ: - Hình thành cho học sinh bước đầu về tư duy về lập trình có cấu trúc. - Tự giác, tích cực và chủ động hoàn thành, II/ Chuẩn bị của giáo viên và học sinh: 1. Giáo viên: Phòng máy tính đã cài sẵn chương trình Turbo Pascal hoặc Free Pascal, các chương trình làm ví dụ. 2. Học sinh: - Sách giáo khoa, sách bài tập và bài viết sẵn ở nhà. - Đọc trước phần phụ lục B1 trang 122 - Môi trường Turbo Pascal. - Xem trước nội dung bài thực hành số 1. III/ Phương pháp: Gợi mở thông qua hoạt động tư duy. IV/ Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (Không) 3.Bài mới: Hoạt động 1: Kiểm tra nội dung thực hành và khởi động (5’) Hoạt động của học sinh Hoạt động của giáo viên - HS để nội dung thực hành - GV kiểm tra sự chuẩn bị nội. Nội dung.

<span class='text_page_counter'>(23)</span> trước mặt. - Chý ý hướng dẫn của GV để khởi động máy và chương trình Turbo Pascal hoặc Free Pascal.. dung thực hành của học sinh. - GV hướng dẫn học sinh khởi động máy, và khởi động chương trình Turbo Pascal hoặc Free Pascal.. Hoạt động 2: Tìm hiểu một chương trình Pascal hoàn chỉnh. (35’) Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Học sinh quan sát trên - GV ghi chương trình Chương trình giải phương trình bảng và độc lập gõ chương Giai_PTB2 lên bảng. bậc hai: trình vào máy. - GV yêu cầu học sinh đọc và gõ program Giai_PTB2; chương trình Giai_PTB2 như trên uses crt; bảng. var a, b , c, D: real; x1, x2: real; begin clrscr; write(‘ a, b, c: ‘); readln(a, b, c); D:=b*b - 4a*b*c; x1:= (-b - sqrt(D))/(2*a); x2:= -b/a - x1; write(‘x1 = ‘, x1 : 6 : 2, ’x2: = ‘, x2 : 6 : 2); readln end. - Nhấn phím F2 và gõ - GV yêu cầu học sinh thực hiện PTB2.PAS các nhiệm vụ sau: + Lưu chương trình bằng cách - Nhấn phím Alt+F9 nhấn phím F2 với tên PTB2.PAS. - Nhấn phím Ctrl+F9 + Dịch và sửa lỗi cú pháp với tổ hợp phím Alt+F9. - x1 = 1.00 x2 = 2.00 + Thực hiện chương trình với tổ hợp phím Ctrl+F9. + Nhập các giá trị 1; -3; và 2. - Nhấn phím Enter Thông báo kết quả của máy đưa ra. - Nhấn phím Ctrl+F9 + Trở về màn hình soạn thảo - Thông báo lỗi và cho biết bằng phím Enter. vì sao: Do căn bậc hai của một số âm.. 4.Củng cố: (5’) - Gv làm mẫu lại các thao tác: khởi động, thoát, dịch, chạy chương trình 5.Dặn dò.

<span class='text_page_counter'>(24)</span> - Ghi nhớ các thao tác đã được thực hiện - Nc trước nội dung cần thực hiện tiếp của bài thực hành 1 V.Rút kinh nghiệm: .............................................................................................................................................. ............................................................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 08 BÀI THỰC HÀNH SỐ 1 (Tiết 2/2) I/ Mục tiêu: 1. Về kiến thức: - Ôn tập, củng cố kiến thức ban đầu về chương trình Pascal - Biết thực hiện các thao tác sửa chương trình, nhập giá trị, quan sát, phân tích kết quả 2. Về kỹ năng: - Thực hiện thành thạo các thao tác: Khởi động, thoát, lưu, dịch và chạy chương trình. 3. Về tư duy và thái độ: - Yêu thích bộ môn, thấy được ý nghĩa của lập trình II/ Chuẩn bị của giáo viên và học sinh: 1. Giáo viên: - Phòng máy 2. Học sinh: - Xem trước nội dung bài thực hành số 1 các ý: d, e, f, g, h III/ Phương pháp: Thực hành, sử dụng các hình ảnh trực quan. IV/ Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (Không) 3.Bài mới: Hoạt động 1: Ôn tập kiến thức về khởi động phần mềm Free Pascal (5’) Hoạt động của học sinh Hoạt động của giáo viên Nội dung Hs khởi động, thoát khỏi Gv yêu cầu thực hiện lại các thao phần mềm tác đã học Thực hiện các thao tác: mở - Mở tệp “TH1.Pas” mới, mở cũ, lưu chương trình. Hoạt động 2: Hiệu chỉnh chương trình Pascal. (35’) Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Chạy chương trình, nhập - Yêu cầu chạy lại chương trình Chương trình cũ:.

<span class='text_page_counter'>(25)</span> giá trị và quan sát kết quả. và nhập các giá trị 1, -3, 2 quan readln(a, b, c); sát kết quả x1:= (-b - sqrt(b*b + Trở về màn hình soạn thảo 4a*b*c))/(2*a); - Thực hiện theo hướng dẫn bằng phím Enter. x2:= -b - x1; và yêu cầu của Gv + Tiếp tục thực hiện chương trình write(‘x1 = ‘, x1 : 6 : 2, ’x2: + Nhập các giá trị 1 ; 0 ; -2. = ‘, x2 : 6 : 2); Thông báo kết quả của máy đưa ra. HỎI: Vì sao lại có lỗi xuất hiện? + Sửa lại chương trình trên không Chương trình mới (sửa lại) dùng đến biến D và thực hiện readln(a, b, c); - Phân tích kết quả, so sánh chương trình đã sửa. x1:= (-b - sqrt(b*b các kết quả đã thực hiện? 4a*b*c))/(2*a); x2:= (-b + sqrt(b*b 4a*b*c))/(2*a); write(‘x1 = ‘, x1 : 6 : 2, ’x2: + Sửa lại chương trình bằng cách = ‘, x2 : 6 : 2); thay đổi công thức tính của x2. - x1 = 2.00 x2 = 3.00. + Thực hiện chương trình đã sửa với bộ dữ liệu 1 ; - 5 ; 6. Thông báo kết quả. + Thực hiện chương trình với bộ dữ liệu 1 ; 1 ; 1. Thông báo kết quả. 4.Củng cố: (5’) - Gv làm mẫu lại các thao tác: khởi động, thoát, dịch, chạy chương trình 5.Dặn dò - Ghi nhớ các thao tác đã được thực hiện - Nc trước nội dung cần thực hiện tiếp của bài thực hành 1 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(26)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:............ Tiết 09 BÀI TẬP I/ Mục tiêu: 1. Về kiến thức: - Ôn tập, củng cố kiến thức chương 2: chương trình đơn giản - Biết thực hiện các thao tác sửa chương trình, nhập giá trị, quan sát, phân tích kết quả 2. Về kỹ năng: - Thực hiện được các dạng bài: chuyển đổi biểu thức trong Pascal, khai báo biến. 3. Về tư duy và thái độ: - Nghiêm túc, tích cực II/ Chuẩn bị của giáo viên và học sinh: 1. Giáo viên: - Các bài tập 2, 3, 4, 5, 6, 7 (SGK - 35) 2. Học sinh: - Hệ thống kiến thức cơ bản chương 2 III/ Phương pháp: Thực hành, vấn đáp IV/ Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: (Không) 3.Bài mới: Hoạt động 1: Hệ thống kiến thức chương 2 (10’) Hoạt động của học sinh Hoạt động của giáo viên Nội dung - Ôn tập, gợi nhớ lại kiến - Giúp học sinh hệ thống lại kiến I.Lý thuyết thức chương 2 thức chương 2 - Cấu trúc CT - Một số kiểu DL chuẩn - Khai báo biến - Phép toán, biểu thức - Các thủ tục chuẩn I/O - Soạn thảo, dịch, chạy chương trình Hoạt động 2: Bài tập. (30’).

<span class='text_page_counter'>(27)</span> Hoạt động của học sinh. Hoạt động của giáo viên Nội dung - Gọi hs lên bảng thực hiện bài 6, II.Bài tập - 2 Hs lên thực hiện bài 6, 7 bài 7 (lấy tinh thần xung phong) Bài 4: - Hs dưới lớp suy nghĩ trả d. var x:real; lời các bài 1, 2, 3, 4, 5. p:byte; Vấn đáp trả lời các bài 1->5 Bài 5: d. var s: longint; Nhận xét?. -. Cho Hs nhận xét, bổ sung? Đánh giá, cho điểm. Bài 6: ((1+z)*(x+y/z))/(a-1/(1+x*x*x)) Bài 7: a.2a/b b.abc/2 c.b/ac. 4.Củng cố: (5’) - Gv đánh giá kỹ năng áp dụng kiến thức vào làm bài tập của hs - Bổ sung những kiến thức yếu cho Hs 5.Dặn dò - Làm các bài 8, 9 (làm bằng toán học) - Nc trước nội dung bài 9 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(28)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:............ Tiết - 10 Bài 9: CẤU TRÚC RẼ NHÁNH. I. Mục tiêu bài dạy: 1. Kiến thức: - Hiểu nhu cầu của cáu trúc rẽ nhánh trong biểu diễn thuật toán. - Học sinh nắm vững ý nghĩa và cú pháp của câu lệnh rẽ nhánh dạng khuyết và dạng đủ, hiểu được cách sử dụng câu lệnh ghép. 2. Kĩ năng: - Sử dụng cấu trúc rẽ nhánh trong mô tả thuật toán của một số bài toán đơn giản. - Viết được các lệnh rẽ nhánh khuyết, rẽ nhánh đầy đủ và áp dụng được để thể hiện thuật toán của một số bài toán đơn giản 3.Thái độ: - Nghiêm túc, tích cực xây dựng bài II. Chuẩn bị: 1.Giáo viên: + Soạn giáo án. + Chuẩn bị bảng phụ sau:. IF. Điều kiện. S. Đ Câu lệnh - Trò: học bài cũ, đọc và chuẩn bị bài mới. III. Phương pháp: - Thuyết trình, vấn đáp, sử dụng hình ảnh trực quan..

<span class='text_page_counter'>(29)</span> S. IF IV. Tiến trình bài dạy: 1. Ổn địnhĐlớp: Câu lệnh 1 Điều kiện 2.Kiểm tra bài cũ:(Không) 3.Bài mới: Hoạt động 1: Tìm hiểu về rẽ nhánh (10’) Hoạt động của giáo viên Hoạt động của học sinh Hỏi: Cho ví dụ về 1 câu điều Trả lời:+ Nếu em thuộc bài kiện? thì 10 điểm… + Nếu tối nay trời mưa thì em nghỉ học ngược lại thì GV: Chọn hai câu làm ví dụ. em đi học…. Từ đó phân tích cho học sinh (Có thể có nhiều câu khác thấy cấu trúc rẽ nhánh thể hiện nhau). trong ví dụ này.. Hoạt động 2: Tìm hiểu về cấu trúc rẽ nhánh (20’) Hoạt động của giáo viên Hoạt động của học sinh GV: Nêu cú pháp câu lệnh rẽ nhánh dạng đủ và dạng khuyết. HS: Quan sát và ghi chép. GV: Treo bảng phụ và giải thích quá trình thực hiện câu lệnh rẽ nhánh dạng đủ và dạng HS: Lên bảng viết: khuyết. If a > b then max:= a; H: Gọi học sinh viết câu lệnh If a < b then max:= b; so sánh để tìm Max(a, b) bằng Hoặc: If a > b then max:=a 2 cách. Else max:=b; GV: Có thể chỉ dùng 1 câu lệnh khuyết? max:=a; if a < b then max:=b; GV: lưu ý các em trước từ khoá Else không có dấu ; và sau then, sau else chỉ có 1 lệnh HS: tìm câu trả lời. chương trình. -> tuỳ trường hợp cụ thể. GV: Với 2 dạng này, dạng nào thuận tiện hơn?. Nội dung 1. Rẽ nhánh: * Một số mệnh đề có dạng điều kiện: + Dạng thiếu: Nếu…thì… + Dạng đủ: Nếu … thì … nếu không thì … * Cấu trúc dùng để mô tả các mệnh đề như trên được gọi là cấu trúc rẽ nhánh thiếu và đủ. * Mọi ngôn ngữ lập trình đều có các câu lệnh để mô tả cấu trúc rẽ nhánh. Nội dung 2. Câu lệnh IF – THEN: * Để mô tả cấu trúc rẽ nhánh, Pascal dùng câu lệnh: a. Dạng khuyết: IF <điều kiện> THEN <câu lệnh>; b. Dạng đủ: IF <điều kiện> THEN <câu lệnh 1> ELSE < câu lệnh 2>; Trong đó: - Điều kiện là biểu thức lôgic. - Câu lệnh, câu lệnh 1, câu lệnh 2 là 1 câu lệnh của Pascal.. Hoạt động 4: Tìm hiểu câu lệnh ghép (7’) Hoạt động của giáo viên Hoạt động của học sinh Nội dung GV: Muốn thực hiện nhiều HS: Phát biểu ý kiến của 3. Câu lệnh ghép và ví dụ: lệnh sau if hoặc sau then thì mình. * Trong ngôn ngữ Pascal câu lệnh làm thế nào? ghép có dạng: → Dẫn đến khái niệm và Begin cách dùng câu lệnh ghép: nếu <các câu lệnh>;.

<span class='text_page_counter'>(30)</span> trong cấu trúc rẽ nhánh, sau THEN có từ 2 lệnh trở lên thì gộp thành câu lệnh ghép, đặt các lệnh đó trong cặp từ khoá Begin…end; với Pascal H: Gọi học sinh nêu thuật toán giải PT bậc hai? Đ: B1: Nhập a, b, c. B2: Tính d = b2 – 4ac; B3: + Nếu d < 0 thì pt vô nghiệm. + Ngược lại thì pt có − b ± √d GV: Nhận xét, bổ sung. 2 nghiệm x1,2 = GV: Phân nhóm và yêu cầu 2a học sinh thảo luận nhóm để HS: Thảo luận theo nhóm và viết chương trình thể hiện trình bày lời giải vào bảng thuật toán trên. Ghi lời giải phụ: vào bảng phụ. GV: Yêu cầu đại diện nhóm lên treo bảng lời giải và trình HS: Đại diện nhóm lên treo bày. Cho các nhóm khác nhận xét. bảng lời giải và trình bày. GV: chính xác hoá lời giải Các nhóm khác nhận xét. của HS và cho điểm.. End;. * Ví dụ: Viết chương trình giải phương trình bậc hai. Program ptb2; Var a, b, c, d, x1, x2: real; Begin Write(‘ Nhap a, b, c:’); Readln(a,b,c); d := b*b – 4*a*c; If d < 0 then Write(‘ PT vo nghiem’) else Begin Write(‘ PT co nghiem :’); x1:= (- b – sqrt(d))/(2*a); x2:= (- b + sqrt(d))/(2*a); Write(x1:6:2, x2:6:2); End; Readln end.. 4. Củng cố: GV tóm tắt các vấn đề cần nắm trong bài: - Cú pháp, ý nghĩa của câu lệnh rẽ nhánh dạng đủ và dạng khuyết. - Cách sử dụng câu lệnh ghép. 5. Bài tập về nhà: - Học bài, trả lời câu 1, 2 trang 50 và làm bài 4 trang 51 sgk. - Viết chương trình tìm Max(a, b, c). - Viết chương trình giải phương trình bậc nhất. - Ôn tập toàn bộ kiến thức đã học, tiết sau kiểm tra 1 tiết V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(31)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:........... Tiết 11. BÀI TẬP. I.Mục tiêu: 1.Kiến thức: - Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh 2.Kỹ năng: - Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh để giải quyết bài toán đặt ra. 3.Tư duy, thái độ: - Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiểu, chủ động trong giải quyết các bài tập. - Rèn luyện tư duy khoa học, tư duy logic.. II.Chuẩn bị của giáo viên và học sinh: - GV: - Soạn giáo án. - HS: - Học bài cũ và chuẩn bị bài tập.. III.Phương pháp dạy học: Gợi mở và thuyết trình và giải quyết vấn đề. IV.Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra: (5’) Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ? 3.Bài mới Hoạt động của HS Hoạt động của GV Nội dung Gọi hs nhắc lại các đơn vị I.Lý thuyết: kiến thức đã học qua chủ đề 1.Câu lệnh If-then Hs nhắc lại kiến thức đã học giáo viên nếu. - Dạng thiếu: If <ĐK> then <CL>; Vấn đề: vận dụng cấu trúc - Dạng đủ: trên vào viết các câu lệnh IF <ĐK> then <CL1> else <CL2>; thuật toán của những bài toán 2.Câu lệnh ghép: cụ thể dạng rẽ nhánh. Begin <các câu lệnh>; End;.

<span class='text_page_counter'>(32)</span> II.Bài tập: - 1 HS lên bảng giải câu 4a) HĐTP1: 1.Câu 4a) (SGK-51) - 1 HS trả lời H1. - GV gọi 1 HS lên bảng giải If (sqrt(x) + sqrt(y)) <=1 then z:= - Các HS khác theo dõi và câu 4a) sqrt(x) + sqrt(y) nhận xét. Else - GV đặt H1. If y>=x then z:= x+y - GV yêu cầ cả lớp theo dõi Else z:= 0.5; và nhận xét.. - 1 HS lên bảng giải câu 4b) - 1 HS trả lời H2.. - GV nhận xét, hoàn chỉnh 2.Câu 4b) (SGK-51) bài làm và đánh giá. If (sqr(x-a) + sqr(y-b)) <= sqr(r) HĐTP2: then z:=abs(x) +abs(y) - GV gọi 1 HS lên bảng giải Else z:= x+y; câu 4b) - GV đặt H2. - GV nhận xét và đánh giá.. HD: * Phương trình bậc nhất: Hs chia nhóm thảo luận và - Xét a=0 -> b=0 -> VSN thực hiện (chia thành 4 b<>0 -> VN nhóm) a<> -> x = -b/a * Phương trình bậc 2 - a = 0 (PT trở về PT bậc 1) Đại diện các nhóm lên trình - a<>0, xét D bày và nhận xét chéo + D<0 -> PTVN + D>=0 -> x1,x2 * Sử dụng các phép: + Chia hết: mod (cho dư=0) + Lẻ: mod (cho dư =1) + Chẵn: chia hết cho 2 hoặc dùng mod cho dư =0 + Và -> dùng and + Hoặc -> dùng or Gv chữa bài, nhận xét, đánh giá.. 3.Dạng bài vận dụng khác: - Sử dụng cấu trúc rẽ nhánh viết thuật toán giải phương trình bậc nhất một ẩn số, phương trình bậc hai một ẩn số với a khác không. - Viết các câu lệnh thuật toán rẽ nhánh theo chủ đề cho sẵn: + Nếu a và b chia hết cho c thì tổng của a và b chia hết cho c. + Nếu a lẻ, b lẻ thì tổng của a và b chia hết cho 2….

<span class='text_page_counter'>(33)</span> 4.Củng cố (3’):Gv nhấn mạnh về cấu trúc và hoạt động của cấu trúc rẽ nhánh dạng đủ và thiếu, vấn đề vận dụng linh hoạt 2 dạng trên và câu lệnh ghép vào thực hiện viết câu lênh thuật toán trong bài toán cụ thể. 5.Dặn dò - Làm các bài tập còn lại trong SGK trang 51 V.Rút kinh nghiệm: .............................................................................................................................................. ............................................................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A1:............ Tiết 12 KIỂM TRA 1 TIẾT.  I.MỤC TIÊU: 1.Kiến thức: – Đánh giá sự nắm bắt kiến thức của học sinh về các lĩnh vực: lập trình, viết chương trình đơn giản và cấu trúc rẽ nhánh. 2.Kĩ năng: – Trình bày hiểu biết thông qua bài kiểm tra. 3.Thái độ: – Trung thực, khách quan. II.CHUẨN BỊ: 1.Giáo viên: Đề bài kiểm tra. 2.Học sinh: Ôn lại kiến thức đã học. III.PHƯƠNG PHÁP: - Kiểm tra viết IV.HOẠT ĐỘNG DẠY - HỌC: 1.Ổn định lớp: 2. Kiểm tra bài cũ: (Không) 3. Bài mới ĐỀ BÀI - ĐÁP ÁN - BIỂU ĐIỂM (Đính kèm) 4.Củng cố: - Gv nhận xét giờ kiểm tra 5.Dặn dò - Nc trước nội dung bài 10 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(34)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:……………… Tiết - 13. BÀI 10: CẤU TRÚC LẶP (Tiết 1/3) I.Mục tiêu: 1.Kiến thức: + Hiểu nhu cầu của cấu trúc lặp trong biểu diễn thuật toán. + Biết được cấu trúc chung của lệnh lặp FOR trong ngôn ngữ lập trình. + Hiểu được cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO 2.Kỹ năng: - Bước đầu sử dụng được lệnh lặp FOR để lập trình giải quyết được một số bài toán đơn giản 3.Thái độ: - Yêu thích lập trình II.Chuẩn bị: - GV: SGK, Giáo án, bảng phụ - HS: SGK, vỏ III. Phương pháp: - Gợi mở, vấn đáp. - Làm việc theo nhóm IV.Tiến trình lên lớp: 1.Ổn định lớp: 2.Kiểm tra bài cũ: Cho biết kết quả của doạn chương trình sau Program VD; Begin Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Writeln (‘PASCAL’); Readln; End.. 3.Bài mới: HĐ1: Tìm hiểu ý nghĩa của cấu trúc lặp (10’) Hoạt động GV Hoạt động HS Nội dung - Trình chiếu - Nếu giải bài toán trên với việc - Chương trình dài dòng CẤU TRÚC LẶP.

<span class='text_page_counter'>(35)</span> in khoảng 10 dòng có từ PASCAL? - Có nhận xét gì về các dòng lệnh trong chương trình trên? - Đối với những thuật toán có những thao tác phải thực hiện lặp đi lặp lại một số lần thì máy tính có thể thực hiện hiệu quả hơn các thao tác lặp đó bằng các cấu trúc lặp. - Nêu VD về cấu trúc lặp: a. Tính tổng của 20 số tự nhiên đầu tiên. b. Tính tổng của n số tự nhiên đầu tiên vói n <=20 Chia HS làm 4 nhóm để viết thuật toán giải 2 bài toán trên. 1. Lặp: - Cấu trúc lặp mô tả thao tác lặp. - Lặp lại nhiều lần với câu - Có 2 loại thao tác lặp: lệnh: Writeln + Lặp với số lần biết trước. + Lặp với số lần chưa biết trước.. - HS làm việc theo nhóm Thuật toán 1: B1: S=0; n=0 B2: n  n +1 B3: Nếu n > 20 thì chuyển đến B5 B4: S= S + n rồi quay lai b2 B5: Đưa S ra màn hình và kết thúc Thuật toán 2: B1: S=0; n=20 B2: n  n -1 B3: Nếu n < 1 thì chuyển đến B5 B4: S= S + n rồi quay lai b2 - Từ VD trên và nghiên cứu B5: Đưa S ra màn hình và thêm ở SGK hãy cho biết có kết thúc mấy loại cấu trúc lặp? - 2 loại HĐ 2: Tìm hiểu cấu trúc lặp với số lần biết trước và câu lệnh FOR - DO (30’) Hoạt động GV Hoạt động HS Nội dung- Trình chiếu - Số lần lặp của cả 2 thuật toán 2.Lặp với số lần biết trước và câu trên là biết trước và như nhau lệnh FOR - DO (20 lần). - Cấu trúc lặp: - Giải thích từng thuật toán + Dạng lặp tiến: + TT1: n bắt đầu là 1 và sau FOR <biến đếm>:= <giá trị đầu> mỗi lần lặp n tăng lên 1 đơn vị TO <giá trị cuối> DO <câu lệnh>; cho đến khi n>20 thì kết thúc + Dạng lặp lùi: lặp FOR <biến đếm>:= <giá trị cuối> + TT2: n bắt đầu là 20 và sau DOWNTO <giá trị đầu> DO <câu mỗi lần lặp n giảm đi 1 đơn vị lệnh>; cho đến khi n< 1 thì kết thúc - Trong đó: lặp + Biến đếm là biến đơn, thường có - Nêu các dạng của cách lặp? - Dạng tiến và dạng lùi kiểu nguyên. - Giới thiệu câu lệnh FOR + Giá trị đầu, giá trị cuối là các biểu DO với 2 dạng tiến, lùi trong thức cùng kiểu với biến đếm và giá.

<span class='text_page_counter'>(36)</span> Pascal. - Giải thích các thông số trong câu lệnh. - Yêu cầu HS nghiên cứu SGK - HS trả lời và nêu hoạt động của lệnh FOR - DO?. - GV treo bảng phụ 1 về sơ đồ thuật toán lặp - Gv treo bảng phụ 2 về cài đặt các thuật toán ở VD trên - Qua 2 chương trình trên có nhận xét gì về biến đếm ? - Cho HS cài đặt thuật toán vơi VD1. trị đầu phải nhỏ hơn hoặc bằng giá trị cuối - Hoạt động của lệnh FOR-DO + Dạng lặp tiến: câu lệnh viết sau từ khóa DO được thực hiện tuần tự, với biến đếm lần lượt nhận các 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 lệnh viết sau từ khóa DO được thực hiện tuần tự, với biến đếm lần lượt nhận các 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 được thay đổi giá trị của biến đếm. - Quan sát bảng phụ - Quan sát bảng phụ - Được điều chỉnh tự động. Program In_chu; Var i:byte; Begin For i:=1 to 5 do writeln (‘PASCAL’); Readln; END. - Lập chương trình tạo bảng - HS làm việc theo nhóm cửu chương 4.Củng cố: - Nắm lại các cấu trúc lặp. - Nhớ được 2 dạng tiến lùi của câu lệnh FOR - DO trong Pascal 5. Dặn dò: - Xem trước bài mới V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(37)</span> BẢNG PHỤ 1 Biến đếm:= Giá trị đầu Biến <= Giá tri cuối. ĐÚNG. Câu lệnh. Biến:= succ(biến). BẢNG PHỤ 2 Thuật toán 1 Program tong; Var i,S: integer; Begin Write (‘ Tong cac so nguyen tu 1 den 20 la:’); S:=0; For i:= 1 to 20 do S: = S + i; Writeln(S); Readln; End. Thuật toán 1 Program tong;. SAI.

<span class='text_page_counter'>(38)</span> Var i,S: integer; Begin Write (‘ Tong cac so nguyen tu 1 den 20 la:’); S:=0; For i:= 20 downto 1 do S: = S + i; Writeln(S); Readln; End.. Ngày soạn: ..................... Ngày giảng: Lớp 11A1:………………. Tiết: 14 Bài 10 :CẤU TRÚC LẬP (Tiết 2/3) I . Mục tiêu: 1. Về kiến thức: -Khái niệm cấu trúc lặp,các câu lệnh lập trong Pascal -Hiểu cấu trúc lặp trong biểu diễn thuật toán 2. Về kĩ năng: -Biết diễn đạt đúng câu lệnh.Soạn chương trình giải bài toán đơn giản có sử dụng lệnh lặp. 3. Tư duy ,thái độ: -Rèn luyện phẩm chất cho người lặp trình . II . Chuẩn bị của giáo viên và học sinh: GV: Tổ chức cho học sinh tiếp thu kiến thức. HS:Chuẩn bị bài mới III. Phương pháp: Thuyết trình,diễn giải,vấn đáp. IV.Tiến trình lên lớp: 1.Ổn định lớp: 2.Kiểm tra bài cũ: Trình bày cấu trúc, nguyên tắc hoạt động của câu lệnh lặp với số lần biết trước For - do ? 3.Bài mới: HĐ1: Hình thành câu lệnh While - do (25’) HOẠT ĐỘNG CỦA HS. HS lắng nghe HSTL. HOẠT ĐỘNG CỦA GV. NỘI DUNG 2.Lặp với số lần chưa biết trước + H1: -Có thể xây dựng thuật và câu lệnh While - do toán Tổng _2 như sau để giải 1 bài toán 2 .GV trình bày B1: S:= ;N:=0; a +H2:Theo thuật toán việc lặp 1 lại số lần chưa biết trước có B2:Nếu <0,0001 thì a+ N được kết thúc không? chuyển đến B5 ; B3:N:=N+1;.

<span class='text_page_counter'>(39)</span> B4:S:=S+. 1 ; a+ N. B5:Đưa S ra màn hình rồi kết thúc Nhu vậy, việc lặp lại số lần chưa biết trước sẽ được kết thúc khi điều kiện cho trước được thoả mãn While <điều kiện> do <câu lệnh>; Để mô tả cấu trúc lặp như Tronh đó:-Điều kiện là biểu thức vậy,Pascal dùng câu lệnh logic; -Câu lệnh là 1 câu đơn while-do có dạng: hoặc ghép -Hsinh xem sơ đồ (hình 7) HS lắng nghe(Hoạt động nhóm) +H3:-VD1:Cho HS viết chương trình của bài toán Nhóm trình bày kết quả. -VD2:(SGK/47) Bước 1:Nếu M=N thì Hãy xây dựng thuật toán tìm UCLN:=M;rồi kết thúc UCLN(đã học lớp 10) Bước 2:Nếu M>N thì M:=M-N rồi quay lai bước 1,Ngược lại GV nhận xét và hoàn chỉnh.HS trình bày chương trình. HĐ1: Tìm hiểu ví dụ áp dụng (15’) HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV NỘI DUNG Nc và hiểu chương trình, ý Giải thích ứng với từng bước * Ví dụ: Cài đặt thuật toán tổng_2 nghĩa từng câu lệnh của bài toán (SGK-47) 4.Củng cố: - Nắm lại các cấu trúc lặp. - Nhớ được nguyên tắc hoạt động của lặp While - do 5. Dặn dò: - Xem trước nội dung ví dụ V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(40)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:………………. Tiết: 15 Bài 10 :CẤU TRÚC LẬP (Tiết 3/3) I . Mục tiêu: 1. Về kiến thức: - Ôn tập củng cố cấu trúc lặp - Vận dụng cấu trúc lặp trong các bài toán cụ thể đơn giản 2. Về kĩ năng: - Viết được câu lệnh lặp cho bài toán cụ thể đơn giản. 3. Tư duy ,thái độ: - Rèn luyện tư duy toán học. II . Chuẩn bị của giáo viên và học sinh: GV: Các ví dụ đơn giản: Tìm ƯCLN, Tính tổng 10 số tự nhiên đầu tiên khác 0. HS: Ôn tập kiến thức về cấu trúc lặp III. Phương pháp: Thuyết trình,diễn giải,vấn đáp. IV.Tiến trình lên lớp: 1.Ổn định lớp: 2.Kiểm tra bài cũ: Trình bày cấu trúc, nguyên tắc hoạt động của câu lệnh lặp với số lần chưa biết trước While - do ? 3.Bài mới: HĐ1: Tìm hiểu ví dụ 1 HOẠT ĐỘNG CỦA HS NC bài toán, thực hiện theo yêu cầu của giáo viên. HOẠT ĐỘNG CỦA GV. NỘI DUNG 1.Tìm hiểu bài toán tính tổng của 10 số tự nhiên đầu tiên khác không.. Hướng dẫn hs xác đinh: + Input? + Output? + Giá trị đầu Input các số 1,2,...10 Bám sát hướng dẫn tư duy và + Giá trị cuối Output: tổng 10 số thực hành. + Câu lệnh thuật toán tính Câu lệnh lặp tổng? for i:=1 to 10 do S:=S+i;.

<span class='text_page_counter'>(41)</span> Để hoàn thiện chương trình, phải khai báo tên, biến, lệnh xuất kết quả ra màn hình. *Mô phỏng: S=0 Gv giải mẫu, hướng dẫn hs về i=1, S=0+1=1 Chép lại lời giải, áp dụng viết nhà viết lại chương trình theo i=2, S=1+2=3..... chương trình theo cấu trúc lặp cấu trúc lặp lùi. lùi. Mở rộng bài toán? Quan sát. Mô phỏng lại thuật toán để hs sinh hiểu. HĐ1: Tìm hiểu ví dụ tìm ƯCLN(M,N) (15’). HOẠT ĐỘNG CỦA HS. HOẠT ĐỘNG CỦA GV NỘI DUNG Giáo viên hướng dẫn cách tìm 2.Ví dụ tìm ƯCLN(M,N) Theo hướng dẫn của giáo viên hiểu bài toán như các bước Hs xác định bài toán, viết cấu trên Câu lệnh thuật toán: trúc câu lệnh thuật toán. while M<>N do If M>N then M:=M-N Else N:=N-M; 4.Củng cố: - Ôn tập các cấu trúc lặp. - Nhớ được nguyên tắc hoạt động của lặp While - do và For - do. 5. Dặn dò: - Nc trước nội dung bài tập thực hành 2. - Tiết sau thực hành trên phòng máy. V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(42)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:………………11A2…………………. Tiết: 19 BÀI TẬP THỰC HÀNH 2 (Tiết 1/2) I . Mục tiêu: 1. Về kiến thức: - Củng cố, xây dựng chương trình sử dụng cấu trúc rẽ nhánh. 2. Về kĩ năng: - Cơ bản soạn thảo được chương trình theo yêu cầu. 3. Tư duy ,thái độ: - Nghiêm túc, tích cực. II . Chuẩn bị của giáo viên và học sinh: GV: Phòng máy, phần mềm Pascal trên phòng máy. HS: Nc trước nội dung bài thực hành. III. Phương pháp: Thực hành IV.Tiến trình lên lớp: 1.Ổn định lớp: 2.Kiểm tra bài cũ: Không 3.Bài mới: Hoạt động 1: Nhắc lại các kiến thức cơ bản về sử dụng Pascal HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV NỘI DUNG Hãy nhớ lại các thao tác cơ 1.Lý thuyết: Ôn tập lại các thao tác bản trên phần mềm Pascal + Khởi động + Tạo mới tệp + Mở tệp đã có + Lưu + Dịch và chạy chương trình HOẠT ĐỘNG CỦA HS Thực hành trên máy.. HĐ2: Tìm hiểu ví dụ tìm ƯCLN(M,N) (15’) HOẠT ĐỘNG CỦA GV NỘI DUNG Hướng dẫn theo dõi thực hành 2.Thực hành của Hs Hoàn thành việc soạn thảo Giúp đỡ các hs yếu, kém chương trình theo mẫu SGK trang 49..

<span class='text_page_counter'>(43)</span> 4.Củng cố: - Nhận xét, đánh giá giờ thực hành, kĩ năng thực hành của Hs 5. Dặn dò: - Ôn tập lại các kĩ năng - Nc tiếp nội dung thực hành (b,c,d...) V.Rút kinh nghiệm: .............................................................................................................................................. Ngày soạn: ..................... Ngày giảng: Lớp 11A1:………………11A2…………………. Tiết: 20 BÀI TẬP THỰC HÀNH 2 (Tiết 2/2) I . Mục tiêu: 1. Về kiến thức: - Làm quen với việc hiệu chỉnh chương trình đã soạn thảo. 2. Về kĩ năng: - Hiệu chỉnh được những yêu cầu đơn giản như: nhập giá trị, lưu, thực hiện từng lệnh. 3. Tư duy ,thái độ: - Yêu thích lập trình. II . Chuẩn bị của giáo viên và học sinh: GV: Phòng máy, phần mềm Pascal trên phòng máy. HS: Nc trước nội dung bài thực hành. III. Phương pháp: Thực hành IV.Tiến trình lên lớp: 1.Ổn định lớp: 2.Kiểm tra bài cũ: Không 3.Bài mới: Hoạt động 1: Mở tệp đã có (7’) HOẠT ĐỘNG CỦA HS HOẠT ĐỘNG CỦA GV NỘI DUNG Yêu cầu: mở tệp Pi_ta_go đã 1.Khởi động chương trình Thực hành theo hướng dẫn được thực hành ở tiết trước. HOẠT ĐỘNG CỦA HS Thực hành trên máy.. HD: file -> open -> chọn tệp có tên Pi_ta_go -> ok HĐ1: Hiệu chỉnh chương trình (30’) HOẠT ĐỘNG CỦA GV NỘI DUNG Lân lượt hiệu chỉnh các bước 2.Thực hành theo thứ tự từ c -> h Hiệu chỉnh chương trình theo Giải thích: F7 có chức năng yêu cầu SGK. thực hiện từng câu lệnh. Tại từng thời điểm của câu lệnh hãy quan sát giá trị của biến để thấy được sự biến đổi của giá trị.

<span class='text_page_counter'>(44)</span> Quan sát kết quả thu được? 4.Củng cố: - Nhận xét, đánh giá giờ thực hành, kĩ năng thực hành của Hs 5. Dặn dò: - NC nội dung: Mảng một chiều V.Rút kinh nghiệm: .............................................................................................................................................. Ngày soạn: ..................... Ngày giảng: Lớp 11A1:………………11A2………………… Tiết 16. BÀI TẬP. I.Mục tiêu: 1.Kiến thức: - Củng cố cho học sinh kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp. 2.Kỹ năng: - Rèn luyện kỹ năng vận dụng và linh hoạt trong việc lựa chọn cấu trúc rẽ nhánh và cấu trúc lặp để giải quyết bài toán đặt ra. 3.Tư duy, thái độ: - Rèn luyện ý thức tự giác học tập tích cực, ham thích tìm hiẻu, chủ động trong giải quyết các bài tập. - Rèn luyện tư duy khoa học, tư duy logic.. II.Chuẩn bị của giáo viên và học sinh: - GV: - Soạn giáo án. - HS: - Học bài cũ và chuẩn bị bài tập.. III.Phương pháp dạy học: Gợi mở và thuyết trình.. IV.Tiến trình bài dạy: Hoạt động 1: Kiểm tra bài cũ (5’).

<span class='text_page_counter'>(45)</span> Hoạt động của HS - 1 HS lên bảng trả lời.. Hoạt động của GV. Nội dung. - GV gọi 1 HS lên trả lời H1.. -Rẽ nhánh If <btđk > then <lệnh 1> else <lệnh 2>; If <btđk > then <lệnh 1>; - Lặp For For <biến đếm>:= <giá trị đầu> To <giá trị cuối> Do <lệnh>; For <biến đếm>:= <giá trị đầu> Downto <giá trị cuối> Do <lệnh>; - Lặp While - Cả lớp theo dõi và nhận - GV yêu cầu cả lớp nhận While <điều kiện> Do <lệnh>; xét bổ sung (nếu có). xét câu trả lời của bạn. - GV nhận xét và đánh giá.. Câu hỏi 1: Trình bày cấu trúc câu lệnh rẽ nhánh và cấu trúc lặp ? Hoạt động 2: Giải bài tập 4 (20’) Câu hỏi 1: Sử dụng lệnh If này gồm mấy nhánh ? Câu hỏi 2: Hàm lấy giá trị tuyệt đối của biểu thức hay biến ? Hoạt động của HS. Hoạt động của GV Nội dung HĐTP1: - 1 HS lên bảng giải câu 4a) - GV gọi 1 HS lên bảng giải Câu 4a) - 1 HS trả lời H1. câu 4a) If (sqrt(x) + sqrt(y)) <=1 then z:= - Các HS khác theo dõi và sqrt(x) + sqrt(y) nhận xét. - GV đặt H1. Else - GV yêu cầ cả lớp theo dõi If y>=x then z:= x+y và nhận xét. Else z:= 0.5;. - 1 HS lên bảng giải câu 4b) - 1 HS trả lời H2.. - GV nhận xét, hoàn chỉnh bài làm và đánh giá. HĐTP2: Câu 4b) - GV gọi 1 HS lên bảng giải If (sqr(x-a) + sqr(y-b)) <= sqr(r) câu 4b) then z:=abs(x) +abs(y) Else z:= x+y; - GV đặt H2. - GV nhận xét và đánh giá.. Hoạt động 3: Giải bài tập 5 (15’).

<span class='text_page_counter'>(46)</span> 50. Câu hỏi 1: Hãy khai triển biểu thức Y =. n ∑ n+1. dưới dạng tường minh ?. n=1. Câu hỏi 2: Nhìn vào công thức khai triển, em hãy cho biết n lấy giá trị trong đoạn nào ? Câu hỏi 3: Em hãy thử đưa ra phương pháp tính Y ? Câu hỏi 4: Sử sụng cấu trúc điều khiển lặp nào là phù hợp ? Hoạt động của HS. Hoạt động của GV. - 1 HS lên bảng trình bày H1. - 1 HS trả lời H2. - 1 HS trả lời H3 - 1 HS trả lời H4 - 1 HS lên bảng giải bài 5a. - GV đặt H1. - GV đặt H2. - GV đặt H3. - GV đặt H4. - GV gọi 1 HS lên bảng giải bài 5a). Nội dung Y=. 1 2 3 50 + + + ⋯+ 2 3 4 51. Câu 5a) Uses crt; Var y: real; n: byte; Begin Clrscr; y:=0; for n:=1 to 50 do y:= y + n/(n+1); writeln(y:14:6); readln; End.. - Các HS còn lại theo dõi và nhận xét bổ sung (nếu có).. - GV yêu cầu các HS còn lại theo dõi và nhận xét. - GV nhận xét, hoàn chỉnh bài làm và đánh giá.. 4.Củng cố (3’): Nắm được những nội dung đã học: - Có 2 cấu trúc lặp: Lặp For: Số lần lặp đã xác định Lặp While: Số lần lặp chưa xác định 5.Dặn dò - Làm các bài tập còn lại trong SGK trang 51 V.Rút kinh nghiệm: .............................................................................................................................................. ...............................................................................................................................................

<span class='text_page_counter'>(47)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:……………… Tiết 17. ÔN TẬP HỌC KỲ I I.MỤC TIÊU: 1.Kiến thức - Ôn tập củng cố và hệ thống lại các kiến thức đã học 2.Kỹ năng - Hệ thống, phân tích và tổng hợp kiến thức 3.Thái độ - Nghiêm túc, tích cực II.CHUẨN BỊ: - Giáo viên: Hệ thống hóa các kiến thức đã học - Hs: Ôn tập các kiến thức đã học III.PHƯƠNG PHÁP - Thuyết trình, vấn đáp IV.TIẾN TRÌNH DẠY HỌC 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ (không) 3.Bài mới Hoạt động 1: Hệ thống kiến thức, lý thuyết (20’) Hoạt động của HS Hoạt động của GV. Nội dung.

<span class='text_page_counter'>(48)</span> HS theo hướng dẫn của giáo viên kẻ bảng và hệ thống kiến thức đã học. HD hs hệ thống kiến thức Kẻ bảng gồm 3 cột + Cột 1: Nội dung + Cột 2: Kiến thức cần ghi + Cột 3: Cấu trúc cần ghi. I.Lý thuyết: 1.Khái niệm lập trình và ngôn ngữ lập trình 2.Các thành phần của NNLT Có thể sử dụng kết hợp sách và 3.Cấu trúc chương trình vở ghi. 4.Một số kiểu dữ liệu chuẩn 5.Khai báo biến 6.Phép toán biểu thức, câu lệnh gán 7.Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình 8.Cấu trúc rẽ nhánh 9.Cấu trúc lặp Hoạt động 2: Hệ thống dạng bài tập, định hướng thi học kỳ (20’) Hoạt động của HS Hoạt động của GV Nội dung Gv hệ thống các dạng bài tập II.Bài tập: Hs ghi chép các dạng bài cơ bản nhất 1.Dạng bài 1: Viết cấu trúc, lấy ví dụ minh họa 2.Dạng bài 2: Chuyển đổi biểu thức sang dạng trong Pascal 3.Dạng bài 3: Viết chương trình, sử dụng Hs thảo luận, Nc và hỏi thêm cấu trúc rẽ nhánh hoặc cấu giáo viên những gì chưa hiểu trúc lặp. Ví dụ: Giải phương trình bậc 1, bậc 2, Tìm ƯCLN, Tính Gv HD lại hs viết chương trình, tổng các sô... Gv đưa ra khung chương trình chuẩn đến thời điểm hiện tại 1.Khai báo tên CT 2.Khai báo thư viện sử dụng 3.Khai báo biến 4.Begin 5.Các câu lệnh: + Lệnh nhập dữ liệu + Lệnh thuật toán + Lệnh xuất dữ liệu 6.Dừng màn hình xem KQ 7.End. 4.Củng cố: - Dặn dò hs khi làm bài kiểm tra 5.Dặn dò: - Ôn tập kiến thức, chuẩn bị cho kiểm tra học kỳ V.RÚT KINH NGHIỆM ........................................................................................................................ .........................................................................................................................

<span class='text_page_counter'>(49)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:……………… Tiết 18. KIỂM TRA HỌC KỲ I I.MỤC TIÊU: 1.Kiến thức - Đánh giá việc nắm bắt kiến thức của học sinh trong học kỳ I 2.Kỹ năng - Trình bày bài kiểm tra 3.Thái độ - Trung thực, nghiêm túc trong kiểm tra đánh giá II.CHUẨN BỊ: - Giáo viên: Đề, đáp án và thang điểm - Hs: Ôn tập các kiến thức đã học III.PHƯƠNG PHÁP - Kiểm tra viết IV.TIẾN TRÌNH DẠY HỌC 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ (không) 3.Bài mới. ĐỀ, ĐÁP ÁN & THANG ĐIỂM (đính kèm).

<span class='text_page_counter'>(50)</span> 4.Củng cố - Nhận xét, đánh giá giờ kiểm tra 5.Dặn dò: - Nc trước nội dung bài 11, kiểu dữ liệu có cấu trúc V.RÚT KINH NGHIỆM ........................................................................................................................ ......................................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 21 - KIỂU MẢNG (Tiết 1/3) I/ Mục tiêu: 1.Kiến thức: + Nắm được khái niệm mảng 1 chiều. + Nắm được quy tắc mà NNLT xây dựng và sử dụng mảng một chiều. 2.Kỹ năng: + Nhận biết được các thành phần trong khai báo kiểu mảng một chiều. + Nhận biết được định danh của một phần tử kiểu mảng một chiều xuất hiện trong một chương trình. + Biết cách khai báo mảng đơn giản và chỉ số kiểu miền con của kiểu nguyên. 3.Thái độ: + Có tư duy đúng đắn trong việc áp dụng mảng 1 chiều để giải các bài toán đơn giản. II/ Chuẩn bị của gv, hs: + Giáo viên: Sgk, sbt, sgv, tranh sơ đồ. + Học sinh: Sgk, sbt. III/Phương pháp: Trực quan, thuyết trình kết hợp với hỏi - đáp. IV/ Tiến trình bài học: 1.Ổn định tổ chức: 2.Kiểm tra: (không) 3.Bài mới:.

<span class='text_page_counter'>(51)</span> Hoạt động 1: Tìm hiểu về sự cần thiết của chương IV(Kiểu dữ liệu có cấu trúc) và định nghĩa mảng 1 chiều. H/động của hs H/động của gv N ội dung - Trả lời - Nhắc lại những kiểu dl đã học? - GV nêu lên sự cần thiết phải có kiểu dl có cấu trúc 1. Kiểu mảng 1 chiều: - Tìm hiểu về mảng 1 - Xét ví dụ: chiều. Nhập vào nhiệt độ trung bình của mỗi ngày trong - Hãy trình bày ý tưởng để tuần, tính và đưa ra màn hình nhiệt độ trung bình - Trả lời giải bài toán trên của tuần và số lượng ngày trong tuần có nh/độ cao - Ta có thể viết ct bằng NN hơn nh/độ t/bình của tuần. Pascal như sau: - Giải: Program nhdo; Var t2,t3,t4,t5,t6,t7,cn,tb: real; d: integer; Begin Writeln('Nhap vao nhiet do cua cac thu trong tuan'); Readln(t1,t2,t3,t4,t5,t6,t7,cn); Tb:=(t2+t3+t4+t5+t6+t7+cn)/7; D:=0; If t2>tb then d:=d+1; If t3>tb then d:=d+1; If t4>tb then d:=d+1; If t5>tb then d:=d+1; If t6>tb then d:=d+1; If t7>tb then d:=d+1; If cn>tb then d:=d+1; Writeln('Nhiet do tr/binh tuan: ',tb:5:2); Writeln('So ngay nh/do cao hon nh/do t/binh la: ',d); Readln; End. Dùng mảng 1 chiều: Program nhdo; -Nếu ta viết bằng mảng 1 Const max = 20; chi ều: Type a = array[1..max] of real; Var ndo:a; d,i,n: byte; t,tb: real; Begin Writeln('Nhap so ngay: '); Readln(n); T:=0; d:=0; For i:=1 to n do Begin Writeln('Nhap vao nhiet do cua ngay thu ',i,':'); Readln(ndo[i]); T:=t+ndo[i];.

<span class='text_page_counter'>(52)</span> H/động của hs. H/động của gv. -So s ánh 2 ch/tr trên -Thế nào là mảng 1 chiều?. N ội dung End; Tb:=t/n; For i:=1 to n do If ndo[i]>tb then d:=d+1; Writeln('Nhiet do tr/binh tuan: ',tb:5:2); Writeln('So ngay nh/do cao hon nh/do t/binh la: ',d); Readln; End. A/ Định nghĩa:sgk. Hoạt động 2: Tìm hiểu cách khai báo mảng 1 chiều H/động của hs H/động của gv Nội dung Nội dung Trả lời Có mấy cách để khai báo B/Khai báo: mảng 1 chiều? Cách 1: Khai báo trực tiếp: Var <tên biến mảng>: array[kiểu chỉ 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 chỉ số] of <kiểu phần tử>; Var <tên biến mảng>:<tên kiểu mảng>; Trong đó: +Kiểu chỉ số thường là một đoạn số nguyên liên tục có dạng n1...n2(n1<n2)(n1,n2 là các hằng hoặc biểu thức) + Kiểu phần tử là kiểu dl của các phần tử của mảng. - Lên bảng. - Hãy khai báo mảng trong vd trên bằng cách khai báo trực tiếp. - Để tham chiếu đến nh/độ của thứ 2 ta viết ndo[2]. 4.Củng cố: - Thế nào là mảng 1 chiều? - Cách khai báo biến mảng 5.Dặn dò: - Học và làm bài tập: Nhập vào một dãy số và in ra màn hình những số chẵn. V.RÚT KINH NGHIỆM ........................................................................................................................ .........................................................................................................................

<span class='text_page_counter'>(53)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 22 BÀI 11: KIỂU MẢNG (Tiết 2/3) I. Mục Tiêu: 1.Kiến thức: - Thể hiện các thuật toán cơ bản về tìm kiếm và sắp xếp: sắp xếp dãy số nguyên bằng phương pháp trao đổi và tìm kiếm nhị phân . 2.Kỹ năng : - Biết cách sử dụng mảng 1 chiều trong chương trình thể hiện các thuật toán ở trên. 3.Thái độ : - Ý thức rèn luyện kỹ năng các thao tác trên mỗi kiểu dữ liệu có cấu trúc - Hứng thú tìm hiểu các thuật toán thường gặp trên các mô hình dữ liệu . II. Chuẩn bị 1.Giáo viên: Chuẩn bị 1 số bài tập liên quan đến tìm kiếm và sắp xếp trong mảng 1 chiều . 2.Học sinh: Xem lại 3 thuật toán đã học ở lớp 10 (Tìm GTLN của 1 dãy số nguyên, sắp xếp bằng trao đổi và tìm kiếm nhị phân) III. Phương pháp : - Thuyết trình, gợi mở IV. Tiến trình bài học : 1.Ổn định tổ chức: 2. Kiểm tra bài cũ.

<span class='text_page_counter'>(54)</span> Câu hỏi: Trình bày thao tác nhập, xuất mảng 1 chiều . 3. Nội dung bài mới : Hoạt động 1 (15ph): Tìm hiểu ví dụ về bài toán sắp xếp bằng cách trao đổi trong mảng Hoạt động của GV Hoạt động của HS Nội dung Hãy trình bày phương pháp Sắp xếp và đổi chỗ các phần tử Vidụ 1: Sắp xếp dãy số nguyên bằng của sắp xếp trao đổi? liên tiếp nếu chúng ngược thứ phương pháp trao đổi tự nhau - Đề bài: Sgk/57 Cho dãy số nguyên sau - Lời giải: Sgk/57 K={ 10,7,2,15,8,4} Input:dãy số đã cho (chưa Hãy xác định input và sắp xếp ) output của bài toán sắp xếp Output: đưa ra dãy số đã bằng phương pháp trao đổi? sắp xếp Theo dõi Sgk/57 Hướng dẫn học sinh hiểu những đoạn câu lệnh trong thuật toán ở vd2 sgk trang 57 Hoạt động 2 (20ph): Tìm hiểu ví dụ về bài toán sắp xếp bằng cách trao đổi trong mảng Hoạt động của GV Hoạt động của HS Nội dung Trình bày phương pháp tìm kiếm nhị phân?. Chia đôi 1 mảng đã sắp xếp rồi so sánh phần tử giữa lớn hơn Ví dụ 2 : hay nhỏ hơn giá trị A cần tìm ở Tìm kiếm nhị phân bên phải hay bên trái của mảng - Sgk trang 58 Trả lời câu hỏi viên Input : ? Output:?. của giáo. Cho dãy số nguyên : K = {5,7,10,17,21,25} với khoá A=21. Hãy xác định khoá A có nằm trong dãy K hay không? Xem Sgk trang 58 Xác định Input và Output? Hướng dẫn học sinh hiểu những đoạn câu lệnh trong thuật toán tìm kiếm nhị phân ở ví dụ 3 SGK trang 58. 4.Củng cố: - Thế nào là mảng 1 chiều? - Cách khai báo biến mảng 5.Dặn dò: - Học và làm bài tập: Nhập vào một dãy số và in ra màn hình những số chẵn. V.RÚT KINH NGHIỆM .........................................................................................................................

<span class='text_page_counter'>(55)</span> ......................................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 23. BÀI 11: KIỂU MẢNG (Tiết 3/3) I.Mục tiêu: 1.Kiến thức: - Củng cố kiến thức mảng một chiều 2.Kỹ năng: - Làm quen với cách nhập, xuất dữ liệu của mảng một chiều 3.Thái độ: - Tỷ mỉ, chính xác, có tư duy tích cực trong lập trình. II.Chuẩn bị: - Giáo viên: Các thủ tục nhập xuất, các ví dụ minh họa - Học sinh: Kiến thức về mảng một chiều III.Phương pháp: - Thuyết trình, giảng giải, ví dụ minh họa IV.Tiến trình dạy học: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: Câu hỏi: Trình bày khai báo mảng 1 chiều, cách tham chiếu tới phần tử trong mảng? 3.Bài mới: Hoạt động 1: Củng cố kiến thức (10’).

<span class='text_page_counter'>(56)</span> Hoạt động của Gv Gv đưa ra dạng bài cụ thể Hd: + Xác định biến mảng + Xác định chỉ số + Xác định kiểu dữ liệu + Tiến hành khai báo. Hoạt động của Hs Nội dung Hs khai báo theo kiểu mảng 1.Khai báo mảng 1 chiều Hs làm theo các bước Hd của 2.Cách tham chiếu Gv. Hoạt động 2: Thủ tục nhập dữ liệu cho mảng một chiều (20’) Hoạt động của Gv Hoạt động của Hs Gv đưa ra cấu trúc chung cho Hs ghi chép thủ tục nhập dữ liệu. thực hành ví dụ áp dụng Hd sử dụng: + Đây là cấu trúc chung gồm nhập số phần tử, và từng phần tử của mảng + Trường hợp dạng bài đã cho từng phần tử riêng biệt thì cách nhập Begin write(‘nhap phan tu mang’) Readln(A[i]); Hoạt động 3: Thủ tục xuất dữ liệu (10’) Hoạt động của Gv Hoạt động của Hs Gv đưa ra cấu trúc chung. Hs ghi chép Thực hành ví dụ áp dụng. Nội dung 3.Thủ tục nhập dữ liệu: Begin write(‘Nhap so phan tu’); Readln for i:=1 to n do Begin writeln(‘nhap ptu thu i’); Readln(A[i]); end;. Nội dung 4.Xuất dữ liệu: For i:=1 to n do writeln(‘Ket qua la:’, kq);. 4.Củng cố: - Các thủ tục này được sử dụng thường xuyên trong hầu hết các bài toán - Nắm chắc các thủ tục, linh hoạt trong từng bài toán cụ thể 5.Dặn dò: - Nc trước nội dung bài thực hành 3 V.RÚT KINH NGHIỆM ........................................................................................................................ .........................................................................................................................

<span class='text_page_counter'>(57)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:…………Lớp 11A6:………. Tiết 24 BÀI THỰC HÀNH SỐ 3 (Tiết ½) I.Mục tiêu: 1.Kiến thức: - Củng cố lại kiến thức cơ bản về kiểu dữ liệu mảng, cụ thể là mảng một chiều.Qua đó cung cấp cho học sinh các thuật toán cơ bản thường gặp với kiểu dữ liệu mảng. 2.Kĩ năng: - Rèn luyện cho học sinh một số kĩ năng làm việc với mảng như: +Khai báo kiểu dữ liệu mảng một chiều, + Nhập/ xuất dữ liệu, +Duyệt qua các phần tử của mảng, -Qua đó giúp học sinh biết cách giải một số bài toán cơ bản thường gặp như: +Tính tổng các phần tử thoả mãn điều kiện nào đó, +Đếm số các phần tử thoả mãn điều kiện nào đó, +Tìm phần tử lớn nhất/bé nhất của mảng và vị trí của nó. 3. Thái độ: -Rèn luyện tác phong, tư duy lập trình, tự giác , tích cực, chủ động và sáng tạo trong tìm kiếm kiến thức. II.Chuẩn bị của giáo viên và học sinh: 1.Giáo viên: +Phòng máy vi tính, +Một số chương trình cài sẵn trong USB hoặc đĩa mềm, +Máy chiếu hoặc bảng phụ,.

<span class='text_page_counter'>(58)</span> 2.Học sinh: +Học bài cũ, +Đọc trước bài ở nhà. III.Phương pháp: -Trình chiếu kết hợp đàm thoại. -Hướng dẫn học sinh các bước thực hiện một số chương trình. IV.Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: Câu hỏi: Có mấy cách khai báo mảng một chiều? Cho ví dụ. 3.Bài mới: Hoạt động học sinh. Hoạt động giáo viên. Nội dung. 1/HĐTP1: Quan sát bảng phụ,. Treo bảng phụ có nội dung bài số 1a/ sgk/63 ( có thể sử dụng máy - Lắng nghe câu hỏi và chiếu ). Sau đó đặt câu hỏi cho học trả lời. sinh trả lời . + Khai báo uses CRT; có ý nghĩa gì? -Khai báo thư viện chương trình con CRT để sử dụng được thủ tục Clrscr; +Myarray là tên kiểu dữ liệu hay - Myarray : tên kiểu dữ liệu tên biến? - nmax: số phần tử tối đa có thể +Vai trò của nmax và n có gì khác chứa của biến mảng a, nhau? n: số phần tử thực tế của a.. +Những dòng lệnh nào dùng để tạo -Random(n): cho số ngẫu nhiên từ biến mảng a 0 đến n-1 -Giáo viên giới thiệu hàm Random -Theo dõi để nắm hàm cho học sinh.Sau đố đặt câu hỏi: Random. + a[i] := Random(300) – Random (300) có ý nghĩa gì? +Câu lệnh cho số ngẫu nhiên có giá trị từ -299 + Lệnh for i:=1 to n do đến 299. Write ( a[i] : 5); Có ý nghĩa gì? +câu lệnh in ra màn hình giá trị tất cả các phần tử của mảng. +Lệnh For-do cuối cùng thực hiện nhiệm vụ gì? +cộng tất cả các phần tử +Lệnh gán s := s + a[i] ; được thực.

<span class='text_page_counter'>(59)</span> chia hết cho k.. hiện bao nhiêu lần?. +Số lần thực hiện lệnh gán đúng bằng số phần -Thực hiện lại chương trình lần tử của mảng chia hết cho cuối để học sinh thấy được kết quả. k. -Theo dõi kết quả chạy thử chương trình. 2/HĐTP2: Sửa chương trính câu a/ để được -Treo bảng phụ câu b/ bài tập 1 chương trình giải quyết sgk/64 bài toán câu b/ -Quan sát bảng phụ, theo Hỏi HS: dõi và trả lời các câu hỏi + Ý nghĩa của biến posi và neg? +posi : đếm số dương trong mảng. của GV. +neg: đếm các số âm trong mảng. + Chức năng của lệnh : If a[i] > 0 then posi := posi +1 else if a[i] < 0 then +Nếu a[i] > 0 thì cộng neg := neg +1; a[i] vào posi; ngược lại là gì? nếu a[i] < 0 thì cộng a[i] vào neg. +Hướng dẫn học sinh thêm vào vị trí cần thiết để chương trình đếm được số lượng các số âm và các số dương. +Quan sát các lệnh và suy nghĩ vị trí cần sửa +Chạy thử chưong trình để học sinh trong chương trình câu theo dõi kết quả. a/. +Theo dõi kết quả chạy chương trình. 4.Củng cố (3’) -Nhắc lại cho học sinh một số kiến thức về: + Tính tổng các phần tử các phần tử thoả mãn một điều kiện nào đó. + Đếm số các phần tử thoả mãn một điều kiện nào đó. 5.Dặn dò (2’).

<span class='text_page_counter'>(60)</span> - Viết một chương trình nhập một mảng một chiều, đếm số phần tử nhỏ hơn một số k nào đó. - Tiết sau: Thực hành tiếp V.RÚT KINH NGHIỆM:. .......................................................................................................... ........................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A1:…………Lớp 11A6:………. Tiết 25 BÀI THỰC HÀNH SỐ 3 (Tiết 2/2) I.Mục tiêu: 1.Kiến thức: - Củng cố lại kiến thức cơ bản về kiểu dữ liệu mảng, cụ thể là mảng một chiều.Qua đó cung cấp cho học sinh các thuật toán cơ bản thường gặp với kiểu dữ liệu mảng. 2.Kĩ năng: - Rèn luyện cho học sinh một số kĩ năng làm việc với mảng như: +Khai báo kiểu dữ liệu mảng một chiều, + Nhập/ xuất dữ liệu, +Duyệt qua các phần tử của mảng, -Qua đó giúp học sinh biết cách giải một số bài toán cơ bản thường gặp như: +Tính tổng các phần tử thoả mãn điều kiện nào đó, +Đếm số các phần tử thoả mãn điều kiện nào đó, +Tìm phần tử lớn nhất/bé nhất của mảng và vị trí của nó. 3. Thái độ: -Rèn luyện tác phong, tư duy lập trình, tự giác , tích cực, chủ động và sáng tạo trong tìm kiếm kiến thức. II.Chuẩn bị của giáo viên và học sinh: 1.Giáo viên: +Phòng máy vi tính, +Một số chương trình cài sẵn trong USB hoặc đĩa mềm,.

<span class='text_page_counter'>(61)</span> +Máy chiếu hoặc bảng phụ, 2.Học sinh: +Học bài cũ, +Đọc trước bài ở nhà. III.Phương pháp: -Trình chiếu kết hợp đàm thoại. -Hướng dẫn học sinh các bước thực hiện một số chương trình. IV.Tiến trình bài dạy: 1.Ổn định tổ chức: 2.Kiểm tra đầu giờ: 3.Bài mới: Hoạt động : Tìm hiểu bài tập số 2/sgk/64 Hoạt động học sinh. Hoạt động giáo viên. Nội dung. 1/HĐTP1: Đưa ra một ví dụ cụ thể . Ví dụ: Cho mảng gồm 5 phần tử: 1 5 7 5 2 . Tìm phần tử có giá trị lớn nhất và vị trí của nó trong mảng ( số thứ tự ) -Gợi ý , hướng dẫn học sinh thuật toán -Theo dõi, suy nghĩ để tìm phần tử lớn nhất và vị trí của nó j:=1; nắm thuật toán. (kết hợp làm thủ công). For i:=2 to n do If a[i] > a[j] then j:=i; (Sau khi kết thúc: + Giá trị lớn nhất là a[j] + vị trí cần tìm j.) -Cho học sinh đọc đoạn chương trình trong bài 2/64sgk . -Đọc đoạn chương trình sgk. Liên hệ trả lời các Hỏi HS: câu hỏi mà GV nêu ra. + Nếu muốn tìm phần tử nhỏ nhất thì cần sửa ở chỗ nào? +Sửa a[i] > a[j] ; thành +Nếu muốn tìm phần tử lớn nhất với a[i] < a[j] ; chỉ số lớn nhất của nó thì ta sửa ổ chỗ nào? +Sửa a[i] > a[j]; thành a[i] >= a[j]; -Chạy thử chưong trình cho học sinh theo dõi -Theo dõi học sinh thực hiện chương trình và xem kết quả. 2/HĐTP2: -Theo dõi GV chạy.

<span class='text_page_counter'>(62)</span> chương trình và làm lại trên máy tính. 4.Củng cố (3’) -Nhắc lại cho học sinh một số kiến thức về:. + Tìm phần tử lớn nhất/ bé nhất. 5.Dặn dò (2’) - Viết một chương trình nhập một mảng một chiều, đếm số phần tử nhỏ hơn một số k nào đó. - Tiết sau: Nc trước nội dung bài thực hành số 4 V.RÚT KINH NGHIỆM:. .......................................................................................................... ...........................................................................................................

<span class='text_page_counter'>(63)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:…………Lớp 11A6:………. Tiết 26 BÀI THỰC HÀNH SỐ 4 (Tiết ½) I. Mục tiêu 1. Kiến thức - Củng cố kiến thức về dữ liệu kiểu mảng. - Xây dựng cấu trúc dữ liệu, hiểu thuật toán sắp xếp bằng tráo đổi. 2. Kĩ năng - Biết chỉnh sữa lỗi trong chương trình. - Tự nhập các bộ dữ liệu để hiểu ý nghĩa một số câu lệnh. 3. Thái độ - Nghiêm túc thực hiện đúng nội quy phòng máy, tự giác trong khi lập trình. II.Chuẩn bị - Gv:Bảng phụ viết sẵn chương trình, phòng máy, project. - Hs: Sgk, CT đã được viết sẵn. III. Phương pháp IV. Tiến hành dạy học 1.Ổn định tổ chức: 2.Kiểm tra: 3.Bài mới: Hoạt động 1: Nhắc lại kiến thức đã học liên quan bài thực hành. Hđ của GV Hđ của Hs Hỏi 1: Nêu cách khai báo kiểu mảng 1 chiều. Tl: có 2 cách + gián tiếp: + trực tiếp: Hỏi 2: Nhập từ bàn phím xây dựng mảng một chiều A có 6 phần tử. TL: For i:= 1 to 6 do Begin Writeln(‘Nhap phan tu thu ’,i,’=’); Readln(A[i]); End; Hoạt động 2: Xác định bài toán và tìm hiểu chương trình. Hđ của GV Hđ của HS Nội dung 1. Chiếu đề bài lên bảng. 1. Quan sát đề và lằng nghe Đề: Sắp xếp dãy số nguyên bằng câu hỏi của gv. thuật toán tráo đổi với các giá trị 2. Xác định bài toán 2. Trả lời câu hỏi. khác nhau của n số. Y/cầu hs xác định dữ liệu vào/ra - Vào: mảng A của bài toán? - Ra: mảng A đã sắp xếp 3. Gv minh hoạ bài toán: 3. Theo dãy số minh họa, nhớ A lại thuật toán sắp xếp đã học. 5 7 2 8 - Nhắc lại thuật toán. CT( SGK/65) 6 4 - Quan sát, đối chiếu thuật.

<span class='text_page_counter'>(64)</span> 1 2 3 4 5 6. Mảng A đã sắp xếp: A 2 4 5 6 7 8. toán liệt kê với CT (SGK). 4. Xem CT và tìm hiểu một số biến, lệnh. - TL: Dùng làm biến chỉ số. - TL:3 lệnh: tg := a[i]; a[i]:= a[i+1]; a[i+1]:= tg; - Chú ý, lắng nghe, quan sát và ghi nhớ.. 1 2 3 4 5 6. - Yêu cầu hs nhắc lại ý tưởng thuật toán(Lớp 10)? - Chiếu thuật toán đã được liệt kê các bước. 4. Tìm hiểu chương trình - Vai trò của biến i, j trong CT? - Đoạn lệnh nào thực hiện tráo đổi giá trị 2 phần tử liền kề của mảng? - Treo bảng CT chuẩn bị sẵn. Giải thích một số lệnh của CT. Hoạt động 3: Chạy CT câu a. Hđ của GV Hđ của HS Nội dung - Yêu cầu hs tự nhập dữ liệu với - Chạy CT, nhập dữ liệu, xm CT có sẵn. kết quả. - Giúp hs phát hiện và sữa lỗi. - Chỉnh sữa CT thông qua các thông báo lỗi. - Thuật toán trên tiến hành đưa - Chú ý hiểu rõ thêm về CT. số lớn thứ j về đến vị trí j sau mỗi vòng lặp: For i:= 1 to j-1 do Hoạt động 4: Xác định bài toán câu b. Hđ của GV Hđ của HS Nội dung 1. Xác định bài toán. 1. Xác định bài toán: Đề: Khai báo biến đếm nguyên - Y/cầu hs xác I/O bài toán? + I: mảng a; Dem và bổ sung vào chương.

<span class='text_page_counter'>(65)</span> +O: mảng a đã sắp xếp, số lần trình những câu lệnh cần thiết để tráo đổi (Dem); biến Dem tính số lần tráo đổi - Biến Dem được tăng lên khi TL: Khi A[i] > A[i+1] trong chương trình. nào? (tức là biểu thức đk trong CL If đúng) - Cần đưa câu lệnh tăng Dem vào TL: Trong thân CL If: trước chỗ nào trong CT trên? hoặc sau 3 lệnh tráo đổi. - Câu lệnh khởi tạo Dem:= 0 được đặt vào vị trí nào trong CT? TL: Chọn một trong hai + Trước CL đầu tiên: phương án 3, 4. For j:= N down to 2 do + Trước CL duyệt: For i:= 1 to j-1 do + Trước 3 CL tráo đổi + Sau 3 CL tráo đổi - Sau CL cuối CT nên đưa CL nào vào để hiển thị giá trị biến Dem ra màn hình. Hoạt động 5: Sữa CT câu a để giải bài toán câu b. Hđ của GV Hđ của HS Nội dung - Yêu cầu hs sữa lại CT theo gợi - Thêm các CL như đã hướng CT(Phụ lục) ý đã nêu. dẫn vào CT. - Hướng dẫn hs chỉnh sữa và - Chạy CT. chạy CT. - Đánh giá kết quả của hs. 4.Củng cố (3’) -Nhắc lại cho học sinh một số kiến thức về:. + Thuật toán sắp xếp bằng tráo đổi. + Đếm số lần tráo đổi. 5.Dặn dò (2’) - Tìm thêm các thuật toán sắp xếp khác tối ưu hơn. - Cho mảng A và mảng B (là mảng A đã được sắp xếp). Hãy in ra chỉ số của các phần tử mảng A theo mảng B. - Tiết sau: Nc tiếp nội dung bài thực hành số 4 V.RÚT KINH NGHIỆM:. .......................................................................................................... ...........................................................................................................

<span class='text_page_counter'>(66)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A1:…………Lớp 11A6:………. Tiết 27 BÀI THỰC HÀNH SỐ 4 (Tiết 2/2) I. Mục tiêu 1. Kiến thức Tiếp tục củng cố kiến thức khi lập trình với dữ liệu kiểu mảng. 2. Kĩ năng Nhận xét, phân tích và đề xuất các cách giải bài toán sao cho chương trình chạy nhanh hơn. 3. Thái độ Tự giác, chủ động trong khi lập trình. II.Chuẩn bị Gv:Bảng phụ viết sẵn chương trình, phòng máy, project. Hs: Sgk, CT đã được viết sẵn III. Phương pháp IV. Tiến hành dạy học 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới: Hoạt động 1:(3') Ôn lại kiến thức chuẩn bị thực hành Hđ của GV Hđ của Hs Hỏi 1: cách khai báo kiểu mảng 1 chiều. Tl: có 2 cách + gián tiếp: + trực tiếp: Hỏi 2: (tuỳ từng lớp) Hoạt động 2:(13') Nêu đề bài toán và tìm hiểu Hđ của GV Hđ của HS Nội dung 1. Ghi đề bài lên bảng. 1. Quan sát đề và lắng nghe Đề: Cho mảng A gồm n câu hỏi của gv. phần tử. Viết CT tạo ra 2. Tìm hiểu đề 2. Trả lời câu hỏi. mảng B[1..n] Y/cầu hs xác định dữ liệu vào/ra của bài - Vào: toán? - Ra: 3. Gv lấy ví dụ minh hoạ 3. Theo dõi ví dụ minh hoạ A 4 5 1 2 3 7 Tl: (2-3hs) 1 2 3 4 5 6. Tl: B.

<span class='text_page_counter'>(67)</span> B. 4 9 10 12 15 22 1 2 3 4 5 6. 1 2 3 4 5 6. Khai báo: + k/báo mảng + biến đơn Phần thân: B1: tạo mảng A. B2: xd mảng B theo A. B3: In mảng B.. 4. Lần lượt cho từng hs trình Ban đầu: mọi B[i] = 0 bày Hỏi: mỗi B[i] được tạo mới bằng bao Tl: nhiêu? Tóm lại: B[i] = A[1] + …+ A[i] i.  A[j ] j=1. = Tl: sử dụng 2 vòng for lồng GV minh hoạ một số phần tử: B[1], nhau. B[2], B[3] for i:=1 to n do - Y/cầu hs tìm kết quả mảng B theo ví begin b[i]: =0; dụ trên. for j:=1 to i do 4. Viết CT thô b[i]:=b[i]+a[j]; end; - Y/cầu hs cho biết từng phần của CT cần xây dựng? 5. Chú ý, lắng nghe, quan sát và ghi nhớ. Gv tranh thủ ghi lại trên bảng.. H: Bước B2 được cụ thể trong CT như thế nào? 5. Treo bảng CT chuẩn bị sẵn. Giải thích từng phần của CT tương ứng với phần trả lời được Nội dung của hs. Hoạt động 3: (5')Tối ưu chương trình Hđ của GV Hđ của HS 1. Dựa vào phần phân tích ví dụ thuật toán ở trên. Gv hỏi: So sánh giá trị B[i] và B[i-1]? Đặc biệt: B[1]=? Tl: B[i]:=B[i-1]+A[i] 2. Chta luôn hướng tới thuật toán tối ưu. Tl: B[1]=A[1] Đối với bài toán này theo phân tích ở 2. Chú ý theo dõi. Nội dung.

<span class='text_page_counter'>(68)</span> trên ta đã tận dụng được kết quả của việc tính tổng i -1 phần tử có sẵn ở bước trước. - Do vậy ta có được: + Số lượng phép toán '+' ít hơn +Chỉ dùng 1 vòng lặp for -> chỉ sd 1 biến chỉ số i cho cả 2 mảng A, B. {tùy đối tượng hs} 3. Cải tiến lại chtrình. Gv treo bảng chtrình được cải tiến. 3. Nhìn bảng, tự điều chỉnh hành vi nhận thức. Đoạn CT cải tiến: Sgk Hoạt động 4: (20') Hs thực hành trên máy theo nhóm Hđ của GV Hđ của HS Nội dung 1. Y/cầu hs nhập CT cải tiếnvào máy. 1. Hs nhập chtrình vào máy 2. Theo dõi quá trình t/hiện của hs. Giải 2. Tự biên dịch và chạy CT quyết 1 số lỗi nhỏ tại từng nhóm. với ví dụ trên. 3. Tự lấy Input để chạy lại CT 4.Củng cố (3’) - Nhận xét tiết thực hành 5.Dặn dò (2’) - Nc trước nội dung bài 12: Kiểu xâu V.RÚT KINH NGHIỆM:. .......................................................................................................... ........................................................................................................... Ngày soạn: ......................

<span class='text_page_counter'>(69)</span> Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 28 Bài 12: KIỂU XÂU (Tiết ½) I.Mục tiêu 1. Về kiến thức - Biết được một kiểu dự liệu mới, biết được khái niệm kiểu xâu. - Phân biệt được sự giống và khác giữa kiểu mảng với kiểu xâu. - Biết được cách khai báo biến, nhập/xuất dữ liệu, tham chiếu dến từng kí tự của xâu. - Biết các phép toán liên quan đến xâu. 2. Về kĩ năng - Khai báo được biến kiểu xâu trong ngôn ngữ lập trình Pascal. - Sử dụng biến xâu và các phép toán trên xâu để giải quyết một bài toán đơn giản. II. Chuẩn bị của GV và HS 1. GV: Máy vi tính, Máy chiếu để giới thiệu ví dụ. 2. HS: SGK. III. Phương pháp - Thuyết trình, vấn đáp IV. Tiến trình bài học 1.Ổn định tổ chức: 2.Kiểm tra: Không 3.Bài mới: HĐ1: Kiểm tra bài cũ và khởi động bài mới HĐ của GV HĐ của HS Nội dung Ghi câu hỏi lên bảng Suy nghĩ, trả lời Câu hỏi: Phát vấn HS tại chỗ Định nghĩa mảng một chiều và cách Y/c HS khác nhận xét Nhận xét khai báo. Chính xác hóa nội dung Ghi nhớ kiến thức 'Viet Nam' có phải là dữ liệu kiểu mảng 'Viet Nam' là dữ liệu kiểu một chiều không, Vì sao? mảng. Tuy nhiên nó là một kiểu dữ liệu mà tiết này ta sẽ học: KIỂU XÂU HĐ2: Tìm hiểu về dữ liệu kiểu xâu HĐ của GV HĐ của HS Nội dung Xâu là gì? Trả lời Bài 12: KIỂU XÂU Y/c HS khác nhận xét Nhận xét Khái niệm (SGK) Chính xác hóa nội dung Hình thành khái niệm Xâu Y/c HS cho VD Cho VD Xâu có bao nhiêu kí tự? Trả lời. Dấu cách là 1 ký tự. Y/c HS viết xâu có ký tự trống, xâu rỗng, nêu số lượng ký tự của mỗi xâu. Giới thiệu cách tham chiếu Ttự kiểu mảng phần tử HĐ3: Khai báo dữ liệu kiểu xâu và các thao tác xử lí xâu HĐ của GV HĐ của HS Nội dung - Hỏi: Ý nghĩa của từ String? Trả lời 1. Khai báo (SGK) Độ dài lớn nhất của.

<span class='text_page_counter'>(70)</span> xâu là bao nhiêu - Hãy nhắc lại các phép toán Trả lời 2. Các thao tác xử lí xâu đã học trên kiểu dữ liệu Var st:string; chuẩn Quan sát chương trình để Begin - Chiếu chương trình VD dự tính kết qủa St:='A' + 'B'; - Hỏi: Kết quả của chương Write(st); trình in ra màn hình? Readln; Thực hiện chương trình cho End. HS thấy kết quả - Y/c HS tìm một số VD khác VD: - Hỏi: Chức năng của phép 'AB'<'ABC' cộng 'AC'<'ABC' - Chiếu chương trình VD về Lưu ý: phép so sánh và y/c HS cho Một xâu có độ dài nhỏ hơn có thể lớn biết kết quả hơn (>) và ngược lại Lưu ý cho HS c) Th 4.Củng cố(5'): Nhắc lại những nội dung đã học: - Khai báo biến - Nhập xuất gá trị cho biến xâu - Tham chiếu từng kí tự trong xâu. - Phép ghép xâu. - Các phép so sánh. 5. Dặn dò (1') - Về nhà xem phần kiến thức lý thuết còn lại trong bài, bao gồm các thủ tục và hàm liên quan đến xâu, sách giáo khoa trang 70 - 72. V.RÚT KINH NGHIỆM: .......................................................................................................... ........................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:.............

<span class='text_page_counter'>(71)</span> Tiết 29 Bài 12: KIỂU XÂU(Tiết 2/2) I: Mục tiêu: 1. Kiến thức: o Hiểu được lợi ích của các hàm và thủ tục liên quan đến xâu trong ngôn ngữ lập trình Pascal. o Nắm được cấu trúc chính và chức năng của một số hàm liên quan đến xâu. 2. Kỹ năng: o Bước đầu sử dụng được một số hàm, thủ tục thông dụng về xâu. o Có thể cài đặt được một số chương trình đơn giản có sử dụng xâu II. Chuẩn bị của GV và HS: - GV: Giáo án, SGK, sách GV, bảng phụ soạn các ví dụ. - HS: Sách GK. III. Phương pháp: - Đặt vấn đề. - Thuyết trình, vấn đáp. - Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ IV. Tiến trình bài học. 1.Ổn định tổ chức: 2.Kiểm tra: Câu hỏi: Xâu là gì? Cách khai báo biến xâu. 3.Bài mới: * Giới thiệu bài mới ĐVĐ: Chúng ta đã biết xâu là gì? - HS trả lời câu hỏi. Và một số các phép toán trên xâu. Bây giờ chung ta sẽ học về một số thủ tục chuẩn dùng để xử lí xâu.. 2. Các thao tác sử lí xâu: Một số thủ tục chuẩn dùng để sử lí -Ứng với mỗi thủ tục và hàm giáo xâu. viên đưa ra một ví dụ minh hoạ - Delete(St,vt,n) Xoá n kí tự theo sgk. của xâu st bắt đầu từ vị trí vt. - Insert(S1,S2,vt) Chèn xâu S1 vào xâu S2 bắt đầu từ vị trí vt Chú ý quan sát trên của S2. bảng. - Val(St,x,m) Đổi giá trị xâu St thành số ghi giá trị vào biến X, nếu không đổi được thì vị trí gây lỗi ghi trong m, nếu - Xâu gồm một kí tự trống được đổi thành công thì m = 0 viết như thế nào? số lượng kí tự là - Str(X,St) Chuyển số X thành bao nhiêu? xâu kí tự lưu trong St..

<span class='text_page_counter'>(72)</span> - Tham số của các hàm và thủ tục chuẩn phải hợp lí, chẳng hạng không thể dùng Insert( S1, S2, 12) khi length(S2)<12. Hoạt động 2: Rèn luyện kĩ năng vận dụng hàm và thủ tục. ĐVĐ: Bấy giờ chúng ta sẽ đi sâu hơn về các chức năng của các hàm và thủ tục trong xâu. - Ý nghiã của hàm Length(b)?. Một số hàm chuẩn: HS trả lời. - Copy(St, vt, n) Sao chép từ xâu - Kí hiệu của xâu gồm 1 St n kí tự từ vị trí vt. kí tự trống là ‘ ‘ xâu này - Pos(S1, S2) Tìm vị trí xuất hiện có độ dài là 1. đầu tiên của S1 trong S2. - Length(st) Cho độ dài của xâu St. - Upcase(ch) Cho chữ cái viết hoa tưng ứng với chữ thường trong ch. Bảng phụ chứa ví dụ 1 Ues crt; Quan sát trên bảng Var a, b: string; Begin Clrscr; TL: Cho ra số lượng kí Write(‘ nhap ho ten thu nhat: ‘); tự có trong sâu b. Realn (a); Write(‘ nhap ho ten thu hai: ‘); Realn (b); If length(a)>length(b) then Write(a) else writer(b); Realn End. Bảng phụ chứa ví dụ 2. Em nào có thể giải thích câu lệnh For i:=k downto 1 do write([i]);. Quan sát trên bảng Bảng phụ chứa ví dụ 3. Qua các ví dụ trên ta thấy điêù gì?. TL: Sử dụng vòng lặp For giá trị cuối downto giá trị đầu để sau đó in ra các kí tự của chuỗi theo chiều ngược lại. TL: cho thấy hàm length() có thể tham Em có nhận xét gì về xâu b được chiếu đến từng kí tự cử tạo thành. một xâu thông qua vị trí của nó. Bảng phụ chứa ví dụ 4 Tương tự các em xem ví dụ 5 TL: Xâu b được tạo.

<span class='text_page_counter'>(73)</span> thành từ một xâu rỗng qua phép ghép xâu. Bảng phụ chứa ví dụ 5 Quan sát trên bảng 4.Củng cố(5'): Nhắc lại một số hàm và thủ tục liên quan đến xâu. Nhắc lại cấu trúc câu lệnh. 5. Dặn dò (1') Giải bài tạp số 10 trang 80 V.RÚT KINH NGHIỆM:. .......................................................................................................... ........................................................................................................... ..

<span class='text_page_counter'>(74)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 30. BÀI THỰC HÀNH SỐ 5 (Tiết 1/2) I.Mục tiêu: 1.Kiến thức: - Củng cố cho học sinh những kiến thức về xâu ký tự, đặc biệt là các hàm và thủ tục liên quan. - Nắm được một số thuật toán cơ bản : tạo xâu mới, đếm số lần xuất hiện 1 ký tự… 2.Kỹ năng: - Khai báo được biến kiểu xâu - Nhập, xuất giá trị cho biến xâu. - Duyệt qua được tất cả các ký tự của xâu. - Sử dụng được các hàm và thủ tục chuẩn. 3.Thái độ: Tự giác, tích cực, chủ động trong thực hành.. II.Chuẩn bị của giáo viên và học sinh: 1.GV: - Phòng máy vi tính đã được cài đầy đủ Turbo Pascal. - Tổ chức trong phòng máy để HS có được kỹ năng cơ bản khi làm việc với kiểu xâu. 2.HS: SGK, bài tập chuẩn bị sẵn ở nhà. III.Phương pháp dạy học: Gợi mở, vấn đáp kết hợp hoạt động nhóm.. IV.Tiến trình bài dạy: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới Hoạt động 1: Tìm hiểu một chương trình, đề xuất phương án cải tiến Hoạt động của HS. Hoạt động của GV. Nội dung Bài 1: SGK trang 73. HĐTP1: Tìm hiểu đề bài: - Giới thiệu nội dung đề bài lên bảng. - GV diễn giải: Một xâu được gọi là Palidrom nếu ta đọc các ký tự từ phải sang trái sẽ giống khi đọc từ trái sang phải. - Yêu cầu HS cho 1 ví dụ về xâu -HS trả lời: Palidrom và 1 ví dụ không phải là xâu * Là xâu Palidrom: Palidrom 45654; abccba * Gọi 2 HS trả lời. * Không là xâu * Gọi HS khác nhận xét. Palidrom: abcdba * GV chính xác - HS nhận xét Quan sát, đọc kỹ đề.. Hoạt động của HS. Hoạt động của GV. Nội dung.

<span class='text_page_counter'>(75)</span> HĐTP2: Tìm hiểu chương trình - Quan sát chương trình, gợi ý suy nghĩ, phân tích để hiểu - GV thực hiện chương trình gợi ý chương trình. trên máy chủ để HS quan sát. - HS trả lời: * Kiểm tra 1 xâu có phải Palidrom hay không? *In ra: ‘ xau la Palidrom’ * Chức năng của chương trình là gì? ‘xau khong la Palidrom’ - HS nhận xét. - Quan sát GV thực hiện *Kết quả in ra màn hình như thế chương trình, nhập dữ liệu nào? và kết quả của chương trình - Gọi 2 HS trả lời. - Gọi HS khác nhận xét. - GV chính xác. - Chạy chương trình trên máy chủ để HS kiểm nghiệm suy luận của mình.. - Chú ý theo dõi yêu cầu của GV và trả lời 1 số câu hỏi dẫn dắt: * Các ký tự ở vị trí này giống nhau *Ký tự thứ i đối xứng với ký tự thứ length( ) – i +1 * So sánh tối đa length( ) div 2 * Có thể dùng For hoặc While -Thực hiện soạn thảo chương trình vào máy theo yêu cầu cải tiến của GV - Nhập dữ liệu vào và thông báo kết quả. HĐTP3: Cải tiến chương trình - GV 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. * Nhận xét về các cặp ở vị trí đối xứng nhau trong một xâu Palidrom? * Ký tự thứ i đối xứng với ký tự vị trí nào? * Cần phải so sánh bao nhiêu cặp ký tự trong xâu để biết được xâu đó là Palidrom? * Dùng cấu trúc lặp nào để so sánh ? - Gọi HS trả lời - GV chính xác - Yêu cầu HS chi tiết hoá bằng các câu lệnh để có 1 chương trình chạy đúng - Yêu cầu HS nhập dữ liệu cho sẵn của GV và thông báo kết quả -Xác nhận những bài làm có kết quả đúng và sửa sai cho HS có kết quả sai Hoạt động 2: Rèn luyện kỹ năng lập trình.

<span class='text_page_counter'>(76)</span> Hoạt động của HS. Hoạt động của GV. Nội dung. - Quan sát đề và xác định HĐTP1: GV giới thiệu đề bài Bài 2: SGK trang 73 những công việc cần thực - GV nêu mục đích của bài toán hiện - Chia lớp thành 2 nhóm: * Nhóm 1: Đặt các câu hỏi phân - Nhóm 1: tích. * Dữ liệu vào, dữ liệu ra * Nhóm 2: Trả lời các câu hỏi phân của bài toán? tích * Nêu các nhiệm vụ chính cần thực hiện khi giải quyết bài toán * Cấu trúc dữ liệu phải sử dụng như thế nào? * Ta phải sử dụng hàm nào? - Nhóm 2: * Vào: Một xâu S * Ra: Dãy các số ứng với - Theo dõi những câu hỏi phân tích sự xuất hiện của mỗi loại của nhóm 1 và câu trả lời của nhóm 2. ký tự trong xâu - Bổ sung và sửa sai cho cả nhóm 1 và * Nhiệm vụ: Duyệt từ trái nhóm 2 sang phải, thêm 1 đơn vị cho ký tự đọc được. * Cấu trúc dữ liệu: Dem[‘A’..’Z’] HĐTP2: * Dùng hàm Upcase - GV đưa ra dàn ý chi tiết thông qua bảng phụ và yêu cầu HS chi tiết hoá Thực hiện soạn thảo bằng các câu lệnh để có 1 chương chương trình vào máy trình chạy đúng theo yêu cầu của GV - Yêu cầu HS nhập dữ liệu cho sẵn của GV và thông báo kết quả -Xác nhận những bài làm có kết quả - Nhập dữ liệu vào và đúng và sửa sai cho HS có kết quả sai thông báo kết quả cho GV 4.Củng cố: - Gv đánh giá, nhận xét tiết thực hành, chỉ ra kĩ năng hs còn yếu cần khắc phục 5.Dặn dò: - Nc tiếp nội dung thực hành V.RÚT KINH NGHIỆM: ...................................................................................................... .......................................................................................................

<span class='text_page_counter'>(77)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 31. BÀI THỰC HÀNH SỐ 5 (Tiết 2/2) I.Mục tiêu: 1Kiến thức:  Củng cố cho học sinh những kiến thức về xâu ký tự, đặc biệt là các hàm và thủ tục liên quan.  Nắm được một số thuật toán cơ bản : tạo xâu mới, đếm số lần xuất hiện 1 ký tự… 2.Kỹ năng:  Khai báo được biến kiểu xâu  Nhập, xuất giá trị cho biến xâu.  Duyệt qua được tất cả các ký tự của xâu.  Sử dụng được các hàm và thủ tục chuẩn. 3.Thái độ: Tự giác, tích cực, chủ động trong thực hành.. II.Chuẩn bị của giáo viên và học sinh:  GV: - Phòng máy vi tính đã được cài đầy đủ Turbo Pascal. - Tổ chức trong phòng máy để HS có được kỹ năng cơ bản khi làm việc với kiểu xâu.  HS: SGK, bài tập chuẩn bị sẵn ở nhà. III.Phương pháp dạy học: Gợi mở, vấn đáp kết hợp hoạt động nhóm.. IV.Tiến trình bài dạy: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới Hoạt động 1: Rèn luyện kỹ năng tìm kiếm và thay thế sự xuất hiện 1 từ bằng 1 từ khác trong một xâu văn bản Hoạt động của HS. - HS trả lời. Hoạt động của GV. Nội dung. - GV giới thiệu đề bài Bài 3: SGK trang 73 - GV hướng dẫn: Tìm vị trí xâu con “anh” trong xâu st đã cho, xoá xâu con này đi rồi chèn xâu “em” vào vị trí đó . Lặp đi lặp lại điều này cho đến khi không tìm thấy xâu “anh” cần thay thế trong xâu st nữa * Các hàm và thủ tục chuẩn đã biết đối với kiểu xâu có thể tìm được vị trí xuất hiện 1 xâu con, xoá 1 xâu con, chèn 1 xâu con không? - Gọi HS trả lời - Gọi HS khác nhận xét - GV chính xác.

<span class='text_page_counter'>(78)</span> - HS nhận xét -HS về nhà chuẩn bị. - GV cùng HS thống nhất 1 dàn ý chương trình và yêu cầu HS về nhà chi tiết hoá bằng các câu lệnh để có 1 chương trình chạy đúng.. Hoạt động 2: Thực hành (20’) - Gv yêu cầu: Soạn thảo lại chương trình, kiểm tra lỗi, chạy chương trình quan sát KQ - Hs thực hành trên máy 4.Củng cố: - Gv đánh giá, nhận xét tiết thực hành, chỉ ra kĩ năng hs còn yếu cần khắc phục 5.Dặn dò: - Làm các bài tập SGK - Tiết sau chữa bài tập V.RÚT KINH NGHIỆM: ...................................................................................................... .......................................................................................................

<span class='text_page_counter'>(79)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 32 - BÀI TẬP (Tiết ½) I. Mục tiêu: 1. Về kiến thức: Củng cố các kiến thức về: - Kiểu dữ liệu có cấu trúc: Mảng một chiều, xâu kí tự - Sử dụng vòng lặp for - do 2. Về kĩ năng: - Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc (với Pascal, sử dụng thành thạo các từ khoá Var, Type). - Sử dụng thành thạo các thao tác vào/ ra và các phép toán trên các thành phần cơ sở. 3. Về tư duy và thái độ: - Thái độ học tập tích cực, ham thích lập trình. - Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình. II. Chuẩn bị: - GV: Computer, Projecter. - HS: Chuẩn bị bài tập về nhà. III. Phương pháp: - Nêu vấn đề, Dẫn dắt, gợi ý... IV. Tiến trình hoạt động: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới: Hoạt động 1: Giải bài tập số 6 trang 79 Sách GK Tin học lớp 11 Hoạt động của GV. Hoạt động của HS. Nội dung. HĐTP1: H1: Sử dụng kiểu dữ liệu nào và - Trả lời: cách khai báo? Kiểu mảng một chiều: Var A:array [1..100] of integer; H2: Khai báo biến như thế nào?. - Trình bày lên bảng:. - Yêu cầu HS viết chương trình nhập mảng A. - Chỉnh sửa bài làm của HS. H3: Số chẵn là số như thế nào? - Nếu có số lượng số chẵn trong dãy. TL: Chia hết cho 2.. Chính xác hoá bài 6/tr79..

<span class='text_page_counter'>(80)</span> Hoạt động của GV. Hoạt động của HS. Nội dung. thì tìm số lượng số lẻ được hay không? - Nếu được thì tìm bằng cách - Nếu có số lượng số chẵn nào? trong dãy thì tìm số lượng H4: Sử dụng câu lệnh nào để viết? lẻ bằng cách: n - số lượng - Yêu cầu HS hoàn thành chương số chẵn. trình của câu a.. TL: If ... then.... - Nhận xét, chỉnh sửa bài làm của HS. HĐTP 2:. - Trình bày lên bảng:. H1: Nêu thuật toán kiểm tra 1 số có phải là số nguyên tố hay không? - Yêu cầu HS viết chương trình dựa theo thuật toán. Hd: Sử dụng câu lệnh nào? - Yêu cầu HS hoàn thành đoạn chương trình câu b. - Nhận xét, đánh giá:. - Trả lời câu hỏi: - Trình bày lên bảng:. - Gợi ý để HS kết hợp hai đoạn chương trình thành một chương trình hoàn chỉnh cho cả bài. + Hoạt động 2: Giải bài tập 7 trang 79 Sách GK Tin học lớp 11 Hoạt động của GV Hoạt động của HS Nội dung - Yêu cầu HS liệt kê 6 số hạng đầu - Liệt kê: 0, 1, 1, 2, 3, 5. của dãy Fiponaci. H1: Đoạn chương trình nhập từ bàn - Viết chương trình lên Chính xác hoá bài 6/trang79. phím số nguyện dương như thế nào? bảng: H2: Số hạng tổng quát thứ n như thế nào? TL: Fn = Fn-1 + Fn-2 - Gợi ý: Để viết chương trình này ta cần bao nhiêu biến phụ? TL: Dùng 2 biến phụ (F1, H3: sử dụng câu lệnh nào trong bài F2) này? - Suy nghĩ, trả lờ: - Yêu cầu HS viết chương trình tìm số hạng thứ n. - Lên bảng trình bày: - Gọi 1 HS hoàn chỉnh lại chương trình. - Nhận xét, chỉnh sửa, đánh giá bài làm. 4.Củng cố: - Gv nhấn mạnh về cách sử dụng vòng lặp for - do 5.Dặn dò:.

<span class='text_page_counter'>(81)</span> - Làm bài tập 10 (SGK) - Tiết sau chữa bài tập V.RÚT KINH NGHIỆM:. ...................................................................................................... ....................................................................................................... Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............. Tiết 33 - BÀI TẬP (Tiết 2/2) I. Mục tiêu: 1. Về kiến thức: Củng cố các kiến thức về: - Kiểu dữ liệu có cấu trúc: Mảng một chiều, xâu kí tự - Sử dụng vòng lặp for - do 2. Về kĩ năng: - Rèn luyện kĩ năng khai báo kiểu dữ liệu có cấu trúc (với Pascal, sử dụng thành thạo các từ khoá Var). - Sử dụng thành thạo các thao tác vào/ ra và các phép toán trên các thành phần cơ sở. 3. Về tư duy và thái độ: - Thái độ học tập tích cực, ham thích lập trình. - Tiếp tục hình thành và xây dựng phẩm chất cần thiết của người lập trình. II. Chuẩn bị: - GV: Computer, Projecter. - HS: Chuẩn bị bài tập về nhà. III. Phương pháp: - Nêu vấn đề, Dẫn dắt, gợi ý... IV. Tiến trình hoạt động: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới: Hoạt động 1: Giải bài tập số 6 trang 79 Sách GK Tin học lớp 11 Hoạt động của GV. Hoạt động của HS. Nội dung. HĐTP1: H1: Sử dụng kiểu dữ liệu nào và - Trả lời: cách khai báo? Kiểu mảng một chiều: Var A:array [1..100] of. Chính xác hoá bài 6/tr79..

<span class='text_page_counter'>(82)</span> Hoạt động của GV. Hoạt động của HS. Nội dung. integer; H2: Khai báo biến như thế nào?. - Trình bày lên bảng:. - Yêu cầu HS viết chương trình nhập mảng A. - Chỉnh sửa bài làm của HS. H3: Số chẵn là số như thế nào?. TL: Chia hết cho 2. - Nếu có số lượng số chẵn trong dãy thì tìm số lượng số lẻ được hay không? - Nếu được thì tìm bằng cách nào? - Nếu có số lượng số chẵn trong dãy thì tìm số lượng H4: Sử dụng câu lệnh nào để viết? lẻ bằng cách: n - số lượng - Yêu cầu HS hoàn thành chương số chẵn. trình của câu a. TL: If ... then... - Nhận xét, chỉnh sửa bài làm của HS. HĐTP 2:. - Trình bày lên bảng:. H1: Nêu thuật toán kiểm tra 1 số có phải là số nguyên tố hay không? - Yêu cầu HS viết chương trình dựa theo thuật toán. Hd: Sử dụng câu lệnh nào? - Yêu cầu HS hoàn thành đoạn - Trả lời câu hỏi: chương trình câu b. - Nhận xét, đánh giá:. - Trình bày lên bảng:. - Gợi ý để HS kết hợp hai đoạn chương trình thành một chương trình hoàn chỉnh cho cả bài. + Hoạt động 2: Giải bài tập 7 trang 79 Sách GK Tin học lớp 11 Hoạt động của GV Hoạt động của HS Nội dung - Yêu cầu HS liệt kê 6 số hạng đầu - Liệt kê: 0, 1, 1, 2, 3, 5. của dãy Fiponaci. H1: Đoạn chương trình nhập từ bàn - Viết chương trình lên Chính xác hoá bài 6/trang79. phím số nguyện dương như thế nào? bảng: H2: Số hạng tổng quát thứ n như thế nào? TL: Fn = Fn-1 + Fn-2 - Gợi ý: Để viết chương trình này ta cần bao nhiêu biến phụ? TL: Dùng 2 biến phụ (F1, H3: sử dụng câu lệnh nào trong bài F2) này? - Suy nghĩ, trả lờ:.

<span class='text_page_counter'>(83)</span> - Yêu cầu HS viết chương trình tìm số hạng thứ n. - Lên bảng trình bày: - Gọi 1 HS hoàn chỉnh lại chương trình. - Nhận xét, chỉnh sửa, đánh giá bài làm. 4.Củng cố: - Gv nhấn mạnh về cách sử dụng vòng lặp for - do 5.Dặn dò: - Làm bài tập 10 (SGK) - Tiết sau chữa bài tập V.RÚT KINH NGHIỆM: ...................................................................................................... .......................................................................................................

<span class='text_page_counter'>(84)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 34 KIỂU DỮ LIỆU TỆP - THAO TÁC VỚI TỆP (Tiết 1/2) I.MỤC TIÊU 1.Kiến thức - Biết được vai trò của kiểu tệp, tệp mà chúng ta đang nghiên cứu là tệp văn bản - Biết khai báo biến kiểu tệp - Hiểu sơ đồ các thao tác xử lý tệp 2.Kĩ năng: - Khai báo tệp 3.Thái độ: - Hs thấy được sự cần thiết cần có kiểu dữ liệu tệp II.CHUẨN BỊ: - Giáo viên: Sơ đồ các thao tác xử lý với tệp - Học sinh: Nc trước nội dung bài học III.PHƯƠNG PHÁP: - Thuyết trình, giải thích, minh họa IV.TIẾN TRÌNH DẠY HỌC: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới: Néi dung ghi b¶ng Hoạt động của giáo viên Hoạt động của học sinh Hoạt động 1. Đặt vấn đề(3’) Sau khi chạy chương trình ở các bài trước ta thấy kết quả in trên màn hình nhưng muốn sử dụng kết quả đó về sau thì không được. Do đó ta có kiểu dữ liệu tệp. 1. Vai trò của kiểu tệp Hoạt động 2. Đặc điểm của kiểu Dữ liệu kiểu tệp có những đặc dữ liệu tệp.(7’) Trả lời: điểm sau: + Được lưu trữ lâu dài ở Hỏi: Các kiểu dữ liệu trước được RAM bộ nhớ ngoài (đĩa từ, CD, . . .) và lưu trữ ở bộ nhớ nào? không bị mất khi tắt nguồn điện Khi tắt máy hoặc mất điện thì dữ Dữ liệu sẽ mất đi vào máy liệu lưu trữ trong bộ nhớ này sẽ + Lượng thông tin lưu trữ trên tệp như thế nào? có thể rất lớn và chỉ phụ thuộc vào Để lưu giữ dữ liệu lâu dài nhằm dung lượng đĩa. khai thác, xử lí thông tin đó ta phải lưu nó ở bộ nhớ ngoài thông qua Không mất dữ liệu khi tắt kiểu dữ liệu tệp. máy Yêu cầu học sinh đọc sách giáo Dung lượng dữ liệu được khoa và nhắc lại đặc điểm của kiểu lưu trữ lớn dữ liệu tệp? Có 2 loại tệp:tệp có cấu Hoạt động 3.Phân loại tệp và thao trúc và tệp văn bản. tác với tệp(4’) tệp văn bản là tệp mà dữ 2. Phân loại tệp và thao tác với Có mấy loại tệp( theo cách tổ chức liệu được ghi dưới dạng tệp dữ liệu), trình bày khái niệm các các kí tự theo mã ASCII. Hai cách phân loại tệp: loại tệp? tệp có cấu trúc: là tệp mà.

<span class='text_page_counter'>(85)</span> Néi dung ghi b¶ng Theo cách tổ chức dữ liệu -tệp văn bản -tệp có cấu trúc Theo cách thức truy cập -tệp truy cập tuần tự -tệp truy cập trực tiếp Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp. Hoạt động của giáo viên Giới thiệu cho HS biết hai cách phân loại tệp. Có hai thao tác cơ bản khi làm việc với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp.. II.Thao tác với tệp:. Hoạt động của học sinh các thành phần của nó được tổ chức theo một cấu trúc nhất định Hai thao tác cơ bản đối với tệp là ghi dữ liệu vào tệp và đọc dữ liệu từ tệp. Var a:text;. 1.Khai báo tệp văn bản : VAR <Tên biến tệp>: TEXT; Vd Var f : text;. 4.Củng cố: Nêu đặc điểm của kiểu dữ liệu tệp Hãy cho biết những khác biệt giữa tệp định kiểu và tệp văn bản. 5.Dặn dò: Học bài theo câu hỏi SGK V.RÚT KINH NGHIỆM: ...................................................................................................... .......................................................................................................

<span class='text_page_counter'>(86)</span> Ngày soạn: ..................... Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 35 KIỂU DỮ LIỆU TỆP - THAO TÁC VỚI TỆP (Tiết 2/2) I.MỤC TIÊU 1.Kiến thức - Biết được vai trò của kiểu tệp, tệp mà chúng ta đang nghiên cứu là tệp văn bản - Biết khai báo biến kiểu tệp - Hiểu sơ đồ các thao tác xử lý tệp 2.Kĩ năng: - Khai báo tệp 3.Thái độ: - Hs thấy được sự cần thiết cần có kiểu dữ liệu tệp II.CHUẨN BỊ: - Giáo viên: Sơ đồ các thao tác xử lý với tệp - Học sinh: Nc trước nội dung bài học III.PHƯƠNG PHÁP: - Thuyết trình, giải thích, minh họa IV.TIẾN TRÌNH DẠY HỌC: 1.Ổn định tổ chức 2.Kiểm tra: 3.Bài mới: Néi dung ghi b¶ng Hoạt động của giáo viên Hoạt động của học sinh Yêu cầu HS nhắc lại các thao tác 2.Gán tên tệp : cơ bản khi làm việc với tệp. ASSIGN(< Tên biến tệp>, <Tên tệp>); Assign(f1, ‘b1.inp’); Rewrite(f1); Thao tác với tệp Các thao tác với tệp chia thành bốn nhóm : Gán tên tệp; Vd1 Mở tệp; MYFILE := 'DULIEU.DAT'; ASSIGN(F2,MYFILE); Vào/Ra dữ liệu; hoặc Đóng tệp. ASSIGN(F2,'DULIEU.DAT'); Vd2 MYFILE := 'C:\INP.DAT'; ASSIGN(F3,MYFILE);. Để thao tác với tệp, trước hết phải gán tên tệp cho biến tệp bằng Assign(f1, ‘b1.out’); 3.Mở tệp : Reset(f1); câu lệnh : Để đọc : RESET(<Tên biến tệp>); ASSIGN(< Tên biến tệp>,<Tên Để ghi : REWRITE(<Tên biến tệp>); tệp>); Trong đó Tên tệp là biến xâu Ví dụ 1 hoặc hằng xâu. TF := 'C:\KQ.DAT'; ASSIGN(F3,TF); Ví dụ 1 Giả thiết có biến xâu REWRITE(F3); MYFILE và cần gán biến tệp F2 với tệp có tên DULIEU.DAT. Ví dụ 2 Để đọc dữ liệu từ tệp DL.INP Việc gán tên tệp được thực hiện bằng các câu lệnh ? ta có thể mở tệp bằng : Ví dụ 2 Để chuẩn bị thao tác với ASSIGN(F1, 'DL.INP'); tệp có tên là INP.DAT trên thư Readln(f,x1,x2); RESET(F1);.

<span class='text_page_counter'>(87)</span> Néi dung ghi b¶ng 4.Đọc/ghi tệp : Đọ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ả>);. Ví dụ 1 Lệnh ghi giá trị biến A vào tệp gắn với biến tệp F3 : WRITE(F3,A);. Ví dụ 2 Lệnh đọc giá trị từ tệp gắn với biến tệp F1 và gán cho biến C : READ(F1,C);. 5. Đóng tệp Sau khi làm việc xong phải đóng tệp bằng câu lệnh : CLOSE(<Tên biến tệp>);. Ví dụ:. CLOSE(F1); CLOSE(F3);. Một số hàm và thủ tục chuẩn thường dùng trong thao tác tệp Hàm lô gíc EOF(<Tên biến tệp>); Cho giá trị True nếu con trỏ tệp đang chỉ tới cuối tệp. Hàm lôgíc EOFLN(<Tên biến tệp>) Cho giá trị True nếu con trỏ tệp đang chỉ tới cuối dßng.. Hoạt động của giáo viên mục gốc đĩa C: ta dùng các câu lệnh sau để gắn nó với tệp F3? Hoạt động 4.2 Mở tệp(10’) Tệp có thể dùng để chứa kết quả ra hoặc dữ liệu vào. Trước khi mở tệp, biến tệp phải được gán tên tệp bằng thủ tục ASSIGN. Câu lệnh mở tệp để ghi kết quả có dạng : REWRITE(<Tên biến tệp>); Khi thực hiện lệnh REWRITE(F3), nếu trên thư mục gốc C:\ chưa có tệp KQ.DAT, thì tệp sẽ được tạo với nội dung rỗng. Nếu tệp này đã có, thì nội dung của nó sẽ bị xoá để chuẩn bị ghi thông tin mới. Để chuẩn bị đọc dữ liệu từ tệp đã có ta mở tệp bằng câu lệnh : RESET(<Tên biến tệp>); Hoạt động 4.3 Đọc/ghi tệp (6’) Tệp định kiểu mở bằng thủ tục REWRITE chỉ có thể ghi dữ liệu bằng 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 được mở bằng thủ tục RESET thì có thể đọ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ụ và giải thích Hoạt động 4.4 Đóng tệp (3’) Sau khi làm việc xong với tệp cần phải đóng tệp. Việc đóng tệp là đặc biệt quan trọng sau khi 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>); Một tệp, sau khi đóng có thể mở lại. Khi mở lại tệp, nếu vẫn dùng biến tệp cũ thì không cần thiết phải dùng thủ tục ASSIGN gán lại tên tệp. Một số hàm và thủ tục chuẩn thường dùng trong thao tác tệp(2’). Hoạt động của học sinh Đọc dữ liệu từ biến tệp f,đặt giá trị vào hai biÕn x1 vµ x2. Writeln(f, ‘hieu la’,x1x2); Ghi vµo biÕn tÖp f hai tham sè lµ dßng ch÷ ‘hieu la’ vµ gi¸ trÞ x1-x2 Học sinh ghi bài Close(f1); Eof(f1);.

<span class='text_page_counter'>(88)</span> Néi dung ghi b¶ng. Hoạt động của giáo viên Giới thiệu HS biết hai hàm chuẩn và ý nghĩa của nó.. Hoạt động của học sinh. 4.Củng cố: Nêu đặc điểm của kiểu dữ liệu tệp Hãy cho biết những khác biệt giữa tệp định kiểu và tệp văn bản. Cho biết các thao tác cơ bản khi 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ó những lệnh cơ bản nào? Các thao tác với tệp được mô tả trong 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. ASSIGN(<Tªn biÕn tÖp>,<Tªn tÖp>);. Ghi. §äc. REWRITE(<Tªn biÕn tÖp>);. WRITE(<Tªn biÕn tÖp>,<ds ket qua>);. RESET(<Tªn biÕn tÖp>);. READ(<Tªn biÕn tÖp >,<ds bien>);. CLOSE(<Tªn biÕn>); tÖp>);. Hình 16. Sơ đồ làm việc với tệp. 5.Dặn dò: Học bài theo câu hỏi SGK V.RÚT KINH NGHIỆM: ...................................................................................................... ....................................................................................................... Ngày soạn: ......................

<span class='text_page_counter'>(89)</span> Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 36 Bài 16: VÍ DỤ LÀM VIỆC VỚI TỆP I.Mục tiêu: 1.Kiến thức: - Củng cố lại kiến thức đã học về tệp trong bài 14, 15 của chương V thông qua ví dụ 2.Kỹ năng: - Nhận biết được các cách hoạt động của tệp. - Biết sử dụng các thủ tục và hàm liên quan để giải quyết bài toán. - Nắm được chức năng của các thủ tục và hàm để thao tác với tệp. II.Chuẩn bị của GV và HS: - GV: Giáo án, SGK, sách GV, máy chiếu, sách bài tập, máy tính có soạn sẵn các ví dụ. - HS: Sách GK. III.Phương pháp: - Đặt vấn đề. - Thuyết trình. - Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ IV.Tiến trình bài học. 1.Ổn định tổ chức: 2.Kiểm tra: Câu hỏi: 1.Viết cấu trúc khai báo biến tệp, lấy ví dụ? 2.Viết cấu trúc gán tên tệp, mở tệp, đọc, ghi tệp 3.Bài mới: Hoạt động của thầy Hoạt động của trò Nội dung 1. Tìm hiểu VD 1. - Gọi 1 HS đọc VD1 - Theo dõi VD1. - Nhấn mạnh những điểm quan - Lắng nghe hướng dẫn của GV. trọng cần lưu ý trong VD1. - Gợi ý cách giải quyết bài toán, để giải được bài bài toán này ta cần phải nắm được công thức tính khoảng cách giữa 2 điểm. - Nhắc lại công thức tính - Ghi lại công thức tính khoảng khoảng cách giữa 2 điểm trên cách giữa 2 điểm lên bảng để mặt phẳng toạ độ. HS nắm rõ. - ? Trong VD này ta cần tổ - HS trả lời : Cần tổ chức và lưu chức và lưu trữ dữ liệu trong trữ tệp ở dạng văn bản. tệp ở dạng nào ? - ? Các thao tác liên quan đến - HS trả lời : tệp được sử dụng trong VD Khai báo tệp. này gồm những gì ? Gắn tên tệp. Mở tệp để đọc dữ liệu. Hiện kết quả ra màn hình. Đóng tệp. - ?Các hàm và thủ tục nào sẽ - HS trả lời : Các hàm sẽ sử sử dụng trong VD này ? dụng là: Var Var <tên biến tệp>: text;.

<span class='text_page_counter'>(90)</span> Assign Assign(<biến tệp>, <tên tệp>); Reset Reset(<biến tệp>); While..do While..do Eof Eof(<biến tệp>); Read Read(<biến tệp>,<DS biến>); Writeln Writeln(<biến tệp>); Close Close(<biến tệp>); - ?Hàm Eof(<biến tệp>) có - HS trả lời: Trả về kết quả là chức năng gì ? True nếu con trỏ chỉ ở cuối tệp. - ?Có thể thay thế lệnh - Không, vì không biết trước số While..do bằng lệnh lượng phần tử của tệp. For..to..do được không ? - Kết luận lại những vấn đề đã - Lắng nghe giải thích của thầy. nêu. - Thực hiện chương trình cho - Theo giỏi quá trình thực hiện - Trình bày nội dung CT lên HS thấy được kết quả. của GV. bảng. 2. Tìm hiểu VD2. - Gọi HS đọc VD2. - Theo dõi VD 2 trong SGK. - Nhắc lại công thức tính địên - HS lắng nghe lời giảng của - Ghi lại công thức tính điện trở trở tương đương của 3 điện trở GV. tương đương của 3 điện trở mắc mắc song song. song song. - Gọi HS trình bày cách tính - Ghi lại kết quả điện trở tương điện trở tương đương của các đương do HS trình bày. điện trở được mắc như trong hình 1 đến 5. - Nhận xét và sửa sai. - HS nhìn lên bảng để theo dõi. - Bổ sung thêm cho hoàn - Cho HS đọc qua nội dung CT - Theo dõi nội dung CT của chỉnh. . của VD2. VD2 trong SKG. - ? Mảng a dùng để làm gì? - HS trả lời: Dùng để lưu kết - ? Dòng lệnh For..to.. do có ý quả điện trở tương đương của 3 nghĩa gì? điện trở được mắc theo 5 cách như hình vẽ. -? Tại sao phải dùng 2 hàm - Vì CT dùng 2 biến tệp f1và f2 Close? nên ta phải dùng 2 hàm Close để đóng 2 tệp đó. - Tổng kết lại CT của VD2 - Yêu cầu HS về tìm hiểu lại VD2 qua sự hướng dẫn trên lớp. 4.Củng cố:(3’) Gv: đưa bảng phụ về các thao tác với tệp, nhấn mạnh lại nội dung kiến thức một lần nữa. 5.Dặn dò.(2) - Cần nắm vững cách làm việc với tệp. - Xem lại các VD1 và VD2 V.RÚT KINH NGHIỆM: ...................................................................................................... ...................................................................................................... Ngày soạn: ......................

<span class='text_page_counter'>(91)</span> Ngày giảng: Lớp 11A2:……Lớp 11A3:………Lớp 11A4:...........Lớp 11A5:...........Lớp 11A6:............ Tiết 39 Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI – V Í DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON (Tiết 1) I: Mục tiêu: 1. Kiến thức: Biết phân biệt được hai loại chương trình con: Hàm và thủ tục. Biết được cấu trúc của một chương trình con. Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục. 2. Kỹ năng: - Nhận biết được hai loại tham số hình thức và tham số thật sự. - Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ. Cách thực hiện một chương trinh con 3. Thái độ: - Phát huy tinh thần học tập theo nhóm. II. Đồ dùng dạy học: -GV: Bảng phụ, máy chiếu(nếu có) -HS: Sách GK, sách bài tập III. Phương pháp: -Đặt vấn đề. -Thuyết trình. -Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ -Phát huy tính sáng tạo của học sinh. IV. Tiến trình bài học. 1.Ổn định tổ chức: 2.Kiểm tra: 3.Bài mới: Hoạt động của GV Hoạt động của HS Nội dung + Hoạt động 1:(5’) Đặt vấn đề: Các chương trình giải các bài toán + Nghe GV nêu vấn đề điều phức tạp thường rất dài, có thể gồm cần thiết phải có chương trình nhiều lệnh, khi đọc rất khó hình con. dung chương trình thực hiện những công việc gì và việc hiệu chỉnh chương trình cũng rất khó khăn. Như vậy làm thế nào để cho bài toán phức tạp dễ đọc, dễ hiểu, dễ hiệu chỉnh, dễ nâng cấp? Do đó ta nghiên cứu vấn đề mới là CTC, để tìm hiểu CTC là gì? + Hoạt động 2(17’) Tỉnh tổng : an + bm + cp + dq + GV cho HS nêu ý tưởng bài toán này Có nghĩa là chia bài toán thành 2 + HS nêu ý tưởng giải quyết bài toán nhỏ, làm như vậy là làm bài toán và trả lời . mịn dần bài toán ---> thiết kế bài.

<span class='text_page_counter'>(92)</span> toán từ trên xuống. + Cho HS khác nhận xét trả lời + GV phân tích: để giải BT trên của bạn. MT có thế chia chương trình thành các khối, mỗi khối gồm nhiều lệnh giải bài toán con nào đó ---> chương trình chính được xây dựng từ các CTC. + Chương trình con là gì? + Giáo viên chốt lại khái niệm trên bảng phụ, máy chiếu hoặc viết trên bảng. 1.Khái niệm chương trình + Trả lời khái niệm chương con trình con. Những bài toán phức tạp có thể phân chia thành nhiều bài toán nhỏ, mỗi bài toán nhỏ được phân chia thành nhiều bài toán nhỏ, quá trình làm “mịn” dần bài toán như vậy được gọi là cách thiết kế từ trên xuống. Khi lập trình để giải các bài toán có thể chia thành các khối, mỗi khối bao gồm các lệnh để giải 1 bài toán nào đó, mỗi khối lệnh được xây dựng thành 1 CTC , sau đó + Hoạt động 3(17’) chương trình chính được xây + GV dùng bảng phụ 1: bài dựng trên các CTC này, cách tinh_tong ( không sử dụng CTC lập trình như vậy gọi là trang 92 SGK ), cho HS nhận xét chương trình có cấu trúc. đoạn chương trình trên. Chương trình con là một dãy lệnh mô tả một số thao tác nhất định và có thể được + GV chốt lại các ý: đoạn CT có 4 thực hiện (được gọi ) từ đoạn lệnh tương tự nhiều vị trí trong chương ---> chương trình dài, khó theo dõi, + Chú ý bảng phụ hoặc trình trình. khó hiệu chỉnh. chiếu, sau đó nhận xét. + Dùng bảng phụ 2: Chương trình tinh_tong có sử dụng chương trình con. + GV giải rhích : các dòng lệnh: var j: integer; + HS nhận xét và so sánh 2 tich:=1.0; đoạn chương trình. for j:=1 to k do tich:=tich*x + Để tính các luỹ thừa ta viết: Luythua(a,n), luythua(b,m), Luythua(c,p), luythua(d,q).

<span class='text_page_counter'>(93)</span> + Và chỉ rõ các đoạn lệnh được thay thế bằng CTC. + Từ những điều đã nêu cho HS nêu các ích lợi của CTC. + GV giải thích rõ từng ích lợi của việc sử dụng CTC + Hoạt động 4: (5’) IV. Củng cố: + Các HS nêu lần lượt các lợi 1/ HS nêu khái niệm CTC, lợi ích ích của CTC. việc sử dụng CTC. * Lợi ích của việc sử dụng CTC + Tánh được việc phải viết đi viết lại nhiều lần cùng 1 dãy lệnh; + Hổ trợ việc thực hiện các chương trình lớn; + Phục vụ cho quá trình trừu tượng hoá ; + Mở rộng khả năng ngôn ngữ; + Thuận tiện cho phát triển, nâng cấp chương trình; V. Dặn dò: Xem trước phần 2của bài 17. Ngày 27/01/08 Tiết thứ:…….. Bài 17 CHƯƠNG TRÌNH CON VÀ PHÂN LOẠI (Tiết 2) I: Mục tiêu: 1. Kiến thức: Biết phân biệt được hai loại chương trình con: Hàm và thủ tục. Biết được cấu trúc của một chương trình con. Biết phân biệt được tham số hình thức với tham số thực sự, biến cục bộ với biến toàn cục. 2. Kỹ năng: - Nhận biết được hai loại tham số hình thức và tham số thật sự. - Nhận biết được phạm vi hoạt động của biến toàn cục, biến cục bộ. Cách thực hiện một chương trinh con 3. Thái độ: - Phát huy tinh thần học tập theo nhóm. II. Đồ dùng dạy học: -GV: Bảng phụ, máy chiếu(nếu có) -HS: Sách GK, sách bài tập III. Phương pháp: -Đặt vấn đề. -Thuyết trình..

<span class='text_page_counter'>(94)</span> -Diễn giải, dùng bảng để ghi lại các chi tiết quan trọng trong ví dụ -Phát huy tính sáng tạo của học sinh. IV. Tiến trình bài học. Hoạt động của thầy Hoạt động của trò Nội dung * Kiểm tra kiến thức cũ. - Gọi HS : - HS đứng dậy và trả lời Câu 1: Trình bày khái niệm câu hỏi. chương trình con là gì?. Câu 2: Mục đích sử dụng chương trình con là gì? -GV nhận xét cho điểm. * Giới thiệu bài mới ĐVĐ: Chúng ta đã biết chương trình con là gì?. Lợi ích của việc sử dụng chương trình con trong lập trình. Nhưng ta chưa biết chương trình chương trình con có cấu trúc như thế nào? Và được phân loại như thế nào?. -Trong nhiều ngôn ngữ lập trình -HS trả lời câu hỏi. chương trình con được phân làm mấy loại?. 2. Phân loại và cấu trúc của chương trình con. a. Phân loại: -Chương trình con. -Trong ngôn ngữ pascal các em -HS trả lời câu hỏi: cho biết một số hàm và thủ tục + Hàm: Sin(x), chuẩn mà em biết? sqrt(x),length(x)... + Writeln, readln,.... -Xét hàm sin(x) Với x=∏/6 giá trị của hàm sin(x) -HS trả lời câu hỏi: cho kết quả là bao nhiêu ? Sin(x)=1/2 GV nhận xét : Sau khi thực hiện tính toán hàm sin(x) với x= ∏/6 cho giá trị là 1/2 Vậy các em cho biết hàm có đặc -Học sinh trả lời điểm gì ?(hay hàm là gì ?).. +Hàm: Là chương trình con Thực hiện một số thao tác nào đó..

<span class='text_page_counter'>(95)</span> Hoạt động của thầy. Hoạt động của trò. Nội dung Trả lại giá trị qua tên của hàm.. -Xét thủ tục Writeln, Writeln(‘‘xin chao’’) Thủ tục Writeln(‘xin chao’) làm -Học sinh trả lời gì ? cho kết quả là gì ? có trả về giá trị nào không ?. Vậy các em cho biết thủ tục có đặc điểm gì ?(hay hàm là gì ?).. +Thủ tục: Là chương trình con Thực hiện một số thao tác nào đó. KhôngTrả lại giá trị qua tên của thủ tục. b. Cấu trúc chương trinh con. ĐVĐ : Trên cơ sở phân loại hàm và thủ tục bây giờ ta tìm hiểu cấu trúc của hàm và thủ tục (Chương trình con) được tổ chức như thế nào ? -Các em hãy cho biết chương -Học sinh trả lời: trình chính gồm mấy phần ?(kiến [<Phần khai báo>] thức củ). <Phần thân>. -Trong chương trình con cấu trúc -Học sinh trả lời: của nó gồm mấy phần ? <Phần đầu> [<Phần khai báo>] <Phần thân> -Về cơ bản chương trình con và -Học sinh trả lời. chuơng trình chính có tương tự nhau không ?. -Chương trình con có cấu trúc tương tự như chương trình chính gồm 3 phần: <Phần đầu> [<Phần khai báo>] <Phần thân>. +Phần đầu: Để khai báo tên của hàm hoặc thủ tục..

<span class='text_page_counter'>(96)</span> Hoạt động của thầy -Phần đầu dùng để làm gì ?. Hoạt động của trò -HS trả lời. Nội dung Nếu là hàm phải khai báo kiểu dữ liệu chi giá trị trả về của hàm. Nhất thiết phải có. +Phần khai báo: Khai báo các biến cho dữ liệu vào/ra, các hằng và biến dùng trong chương trình con.. -Phần Khai báo dùng để làm gì ?. -HS trả lời +Phần thân: Gồm dãy các lệnh thực hiện để từ những dữ iệu vào/ra ta nhận dữ liệu ra hay kết qủa mong muốn.. -Phần thân dùng để làm gì ?. -HS trả lời. ĐVĐ :Bây giờ ta tiếp tục sẽ tìm hiểu các biến được khai báo và phạm vi hoạt động của nó trong chương trình con và trong chương trình chính. Xét ví dụ : Tính luỹ thừa : k luythua= x . khi đó tên chương trình con có thể đặt là luythua, tên các biết chưa dữ liệu vào là x, k. Vậy khi tính xk ta viết luythua(x,k). Khi đó x, k là tham số hình thức. -Vậy tham số hình thức là gì ?. -HS trả lời. *Khái niệm các biến: - Tham số hình thức: gồm các biến được khai báo cho dữ liệu vào/ra. - Biến cục bộ: Gồm các biến khái được khai báo trong chương trình con. - Biến toàn cục: Gồm các biến khái được khai báo trong chương trình chính. *Phạm vi hoạt động của các biến: -Biến cục bộ: Chỉ sử dụng trong một chương trình con cuả nó mà thôi. Không thể sử dụng biến cục bộ cuả.

<span class='text_page_counter'>(97)</span> Hoạt động của thầy Hoạt động của trò Nội dung ĐVĐ : Đối biến cục bộ, ,biến toàn -Học sinh đọc sách GK một chương trình con cho chương cục thì phạm vi hoạt động của nó và trả lời. trình chính và các chương trình như thế nào ? con khác. -Biến toàn cục: Được sử dụng trong chương trình chính cũng có thể sử dụng trong chương trình con. c. Thực hiện chương trình con: -Để thực hiện gọi chương trình con ta thực hiện lệnh theo cú pháp sau Cú pháp: <tên chương trình con>(<tham số thực sự>) Trong đó: tham số thực sự là các hằng, biến chứa dữ liệu vào/ ra. ĐVĐ : Sau khi có một chương trình con, muốn thực hiện chuơng trình con đó thì ta làm thế nào ?. -Hãy cho ví dụ về lệnh gọi CTC ?. -Khi thực hiện chương trình con các tham số hình thức dùng để nhập dữ liệu vào và tham số hình thức sẽ nhận giá trị của tham số thực sự tương ứng, còn các tham số hình thức dùng để lưu trữ dữ liệu ra sẽ trả giá trị đó cho tham số thực sự tương ứng. -HS trả lời Ví dụ: sqrt(255). 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 là Luythua(a,b) khi đó tham số hình thức x,k nhận giá trị tương ứng của tham số thực sự a,b. *Cũng cố kiến thức: Những nội dung đã học: -CTC gồm: Hàm và 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 trinh con..

<span class='text_page_counter'>(98)</span> Ngày soạn 15/02/08 Tiết thứ ………. Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I: Mục tiêu: Kiến thức: Học sinh biết được cấu trúc chung và vị trí của thủ tục trong chương trình chính. Phân biệt được tham trị, tham biến. Kỹ năng: Nhận biết được các thành phần trong phần đầu của thủ tục. Nhận biết được 2 loại tham số trong phần đầu của thủ tục. Nhận biết lời gọi của thủ tục ở chương trình chính cùng với tham số thực sự. Tư duy và thái độ: Rèn luyện cho HS phẩm chất của người lập trình như tinh thần hợp tác, khả năng làm việc nhóm, làm việc chung. II. Chuẩn bị của GV và HS: GV: Giáo án, SGK, sách GV, các ví dụ, bảng phụ, sách bài tập. HS: Sách GK, sách bài tập. III. Phương pháp: Thuyết trình. Diễn giải. Đàm thoại. IV. Tiến trình bài học. * Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới(5’) Ổn định lớp. Kiểm tra bài cũ. Hoạt động của thầy Hoạt động của trò Nội dung Nội dung Câu hỏi: Trả lời : CT con là gì ? CT con có những loại CT con là 1 dãy lệnh mô tả Khái niệm nào? cấu trúc của 1 CT con ? một số thao tác nhất định và có thể được thực hiện ở nhiều vị trí trong CT. CT con có 2 loại : Hàm và Phân loại thủ tục. ... Cấu trúc : Phần đầu, phần khai báo, phần thân. - GV gọi 1 HS nhận xét câu trả lời. - HS đứng lên nhận xét. GV nhận xét lại và cho điểm. * Hoạt động 2 : Bài mới. 1. Giới thiệu bài mới : Các em đã được học về CT con, bài học hôm nay sẽ cung cấp cho các em 1 số ví dụ để các em thấy rõ hơn lợi ích, cấu trúc của CT con trong chương trình. 2. Cách viết và sử dụng thủ tục..

<span class='text_page_counter'>(99)</span> Hoạt động của thầy HĐ1 : Dẫn dắt vấn đề : - GV treo bảng phụ đã ghi vd vẽ HCN cho HS quan sát - ? Ví dụ trên bảng sử dụng bao nhiêu câu lệnh để vẽ HCN ? * Diễn giải : Như vậy khi cần cẽ 1 HCN ta phải dùng 3 câu lệnh. Giả sử muốn vẽ 3 HCN thì 3 câu lệnh Writeln ở trên phải lặp lại 3 lần. - Gọi 1 HS đứng lên nhận xét. - Đúng vậy nếu dùng 3 lần câu lệnh đó thì chương trình sẽ rất dài, để khắc phục điều đó ta dùng CT con là thủ tục. HĐ 2 : Tìm hiểu chương trình. - Treo bảng phụ 2 ( VD thủ tục 1 SGK trang 96, 97). - Giới thiệu cho HS từng câu lệnh trong chương trình để HS thấy được cấu trúc thủ tục. - ?Vị trí của thủ tục nằm ở phần nào trong chương trình. - ?Các em quan sát và cho biết cấu trúc thủ tục gồm mấy phần ? - Qua VD cho biết lời gọi thủ tục nằm ở đâu ? - GV nhận xét và Nội dung.. - GV cho HS quan sát bảng phụ 3 (VD thủ tục 2 trang 98,99 SGK). - GV giải thích về VD. - GV nhận xét : Qua VD trên ta có thể dùng nhiều giá trị. Hoạt động của trò HS quan sát bảng phụ. Nội dung 1. Cách viết và sử dụng thủ tục. * VD: Bảng phụ (VD vẽ HCN trang 96).. Sử dụng 3 câu lệnh để vẽ HCN. HS lắng nghe.. HS trả lời chương trình rất dài dòng, tốn TG. HS lắng nghe.. - HS quan sát chương trình trên a. Cấu trúc thủ tục: bảng phụ. - VD bảng 2 (VD thủ tục 2 - HS lắng nghe GV giới thiệu. trang 96, 97 SGK). * Thủ tục có cấu trúc như sau. Procedure <Tên thủ tuc> [(<DS - HS trả lời: Thủ tục nằm ở tham số>)]; phần khai báo trong chương [< phần khai báo>] trình. Begin - HS trả lời: Gồm có 3 phần: [<Dãy các lệnh>] Tên thủ tục, phần khai báo, End; phần thân thủ tục - Phần đầu thủ tục gồm tên - Nằm ở phần thân của CT dành riêng Procedure, tiếp theo chính. là tên thủ tục. DS tham số có thể - HS lắng nghe và ghi bài có hoặc không có. - Phần khai báo: Dùng để xác định các hằng, kiểu, biến và cũng có thể xác định các chương trình con khác được sử dụng trong thủ tục. - Dãy câu lệnhh:Được viết giữa cặp tên dành riêng Begin và - HS quan sát bảng phụ. End tạo thành thân của thủ tục. b. VD về thủ tục: - Trong lời gọi thủ tục các tham - HS lắng nghe theo dõi. số hình thức được thay bằng tham số thực sự tương ứng là - HS lắng nghe theo dõi. các giá trị cụ thể đgl tham số giá trị (tham trị). - Trong lệnh gọi thủ tục các tham số hình thức được thay.

<span class='text_page_counter'>(100)</span> thay thế để vẽ nhiều HCN với 1 chương trình. - Thủ tục vẽ - HCN ở đây đã diễn đạt 1 thủ tục vẽ 1 HCN có kích thước chiều dài và chiều rộng tuỳ theo giá trị của các tham số chdai, chrong. Những tham số này gọi là tham số hình thức. Ngoài ra nó còn đựơc thay bằng tên các biến. - GV treo bảng phụ 4 cho HS quan sát (VD tham biến 1, VD tham biến 2 trang 99, 100). - Gọi HS nhận xét.. bằng các tham số thực sự tương ứng là tên các biến chứa dữ liệu ra đgl tham số biến (tham biến). * Sự khác nhau trong khai báo tham số hình thức: - Các tham số có từ khoá Var đứng là tham số biến, còn không có là tham số giá trị. - HS quan sát bảng phụ ** Chú ý: - Nếu có nhiều tham biến cùng một kiểu dữ liệu thì có thể dùng - HS nhận xét: Khi khai báo 1 từ khoá Var cho phần khai tham số biến ta đặt từ khoá Var báo, ngăn cách bằng dấu phẩy. đằng trước các tham số đó. - Khai báo dữ liệu cho tham số - HS lắng nghe chỉ được dùng tên kiểu. Tên kiểu là tên chuẩn hoặc tên do người lập trình đặt.. - GV nhận xét. - Để phân biệt 2 tham số này Pascal dùng từ khoá Var để - HS ghi bài. khai báo. - GV Nội dung * Hoạt động 3: Củng cố, dặn dò: - Cấu trúc CT con và vị trí của nó trong CT chính? - CT con được viết ở phần khai báo. CT con có phần đầu, phần khai báo và phần thân. - CT con có thể có tham số hình thức khi khai báo và được thay bằng tham số thực sự khi gọi CT con. - Phân biệt tham số hình thức và tham số thực sự. Cách sử dụng tham biến và tham trị. * BT về nhà: BT trang 60 SBT: 6.1, 6.3, 6.4, 6.5. Ngày 25/02/08 Tiết 2 – Bài 18: VÍ DỤ VỀ CÁCH VIẾT VÀ SỬ DỤNG CHƯƠNG TRÌNH CON I/ Mục tiêu: - Về kiến thức: + Nhớ cấu trúc của hàm, cách sử dụng hàm. + Phân biệt được giữa hai loại chương trình con (thủ tục và hàm) + Xác định được biến toàn cục và biến cục bộ. - Về kỹ năng: + Nhận biết các thành phần trong đầu hàm. + Nhận biết các câu lệnh sử dụng hàm ở chương trình chính cùng các tham số thực sự. - Về tư duy và trình độ: + Tiếp tục rèn luyện, thảo luận làm việc theo nhóm. II/ Chuẩn bị của giáo viên và học sinh - Giáo viên: Giáo án, bảng phụ. - Học sinh: Ghi chép bài đầy đủ. 2/ Phương pháp: - Học sinh nghe giảng, thảo luận và trả lời câu hỏi do giáo viên đưa ra. - Giáo viên thuyết trình, đặt câu hỏi cho học sinh. III/ Tiến trình tiết dạy:.

<span class='text_page_counter'>(101)</span> Hoạt động 1: Kiểm tra bài cũ và giới thiệu bài mới TG. Hoạt động của giáo viên Câu hỏi: Cho ví dụ về cấu 5’ trúc thủ tục? Nêu sự khác nhau giữa tham số giá trị và tham số biến? GV: Gọi học sinh lên trả lời? Có 2 loại chương trình con đó là Thủ tục (Procedure) và hàm (Function). Thủ tục được chúng ta tìm hiểu ở tiết trước. Bầy giờ ta tiếp tục tìm hiểu về Hàm. - Em hãy kể tên hàm mà chúng ta đã được học và cho biết cách sử dụng của chúng? Hoạt động 2: Nội dung bài mới. Hoạt động của học sinh. TG. Hoạt động của giáo viên. Hoạt động của học sinh. 7’. - <tên hàm> do người dùng tự đặt - Cũng giống như thủ tục [<danh sách tham số>]: không cần thiết nếu hàm không có tham số. - Em hãy nhắc lại các kiểu dữ liệu đã được học?. 7’. Nội dung Nội dung. HS lên bảng trả lời. - 1 HS nhận xét. - Như các hàm: Abs(x), sqrt(x), round(x)…. Nội dung Nội dung II/ Dạng Hàm (Function) 1/ Cấu trúc: Function <tên hàm>[<danh sách tham số>]: <kiểu dữ liệu>; [khai báo các biến]; Begin [<dãy các lệnh>] End; - <Kiểu dữ liệu>: Kiểu dữ liệu trả lại của hàm như các kiểu integer, real, char, boolean, - Các kiểu dữ liệu: integer, string. real, char, boolean, string Vd: Function tong(x,y: integer): integer; 2/ Sử dụng hàm: - Giống hàm chuẩn, viết tên của hàm gọi và thay thế tham số hình thức bằng các tham số thực sự tương ứng. - Lệnh gọi hàm tham gia vào biểu thức như một toán hạng. Ví dụ: A:= 8*UCLN(x,y)-3; Chú ý: Trong thân hàm phải có ít nhất một lệnh gán giá trị cho tên hàm. <tên hàm>:= <biểu thức>;.

<span class='text_page_counter'>(102)</span> 5’. 5’. 5’. 5’. Chương trình được trình bày trên bảng phụ -Trong ví dụ có bao nhiêu hàm? - Hàm UCLN(x,y): được dùng để làm gì? - Chỉ ra lệnh gán giá trị cho tên hàm? - Em hãy cho biết sự giống nhau và khác nhau giữa hàm và thủ tục? - Tổng hợp rút ra kết luật chung.. - Dựa vào ví dụ 1 chi ra đâu là biến toàn cục, biến cục bộ? chúng được khai báo ở vị trí nào? Chương trình được trình bày trên bảng phụ. - Phân tích cho hoc sinh biết được ý tưởng thuật toán. - Chỉ ra các biến được sử dụng trong chương trình, phân biệt biến cục bộ, biến toàn cục, được khai báo ở vị trí nào trong chương trình ? - Nêu tên của hàm, giá trị kết quả của hàm thuộc kiểu dữ liệu nào? - Hàm được sử dụng mấy lần?. Ví dụ 1: - Chương trình thực hiện rút gọn - Có một hàm UCLN một phân số, sử dụng hàm tính - Tính ước chung lớn nhất ước chung lơn của 2 số. của hai số x, y. - UCLN:= x; 3/ Phân biệt giữa hàm và 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 là chương trình con. - Đều có thể chứa các tham số, - Khác: trong thân hàm cùng tuân theo một quy định phải có ít nhất một lệnh. khai báo. b/ Khác nhau: - Tên hàm phải có kiểu dữ liệu. - Trong thân hàm phải có lệnh gán giá trị cho tên hàm. 4/ Biến toàn cục và biến cục bộ: - Biến toàn cục là biến được khai báo trong chương trình chính. - Biến cục bộ là biến được khai báo trong chương trình con. - Biến toàn cục là: Tuso, mauso, a. Được khai báo Ví dụ 2: trong chương trình chính. Chương trình tìm ra số nhỏ nhất trong 3 số được nhập từ bàn phím. - Biến cục bộ: x, y. Được khai báo trong chương trình con.. - Biến được sử dụng gồm 3 biến. - a, b vừa là biến toàn cục vừa là biến cục bộ, c là biến toàn bộ. - Tên hàm là Min, giá trị kết quả thuộc kiểu dữ liệu real. - Hàm được sử dụng 2 lần..

<span class='text_page_counter'>(103)</span> IV/ Cũng cố:(4’) - Nhấn mạnh lại cách khai báo hàm, phân biệt giữa hàm và thủ tục. - Phân được biến toàn cục và biến cục bộ. V/ Bài tập về nhà: (3’) Function tim(m,n: integer); Begin r:=m mod n; If r= 0 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? 2. Đoạn chương trình thực hiện công việc gì? Ngµy so¹n: 03/03/08 TiÕt thø:…….. Bµi: Bµi thùc hµnh sè 6 i. Môc Tiªu KiÕn thøc: Còng cè l¹i c¸c kiÕn thøc vÒ x©u, kÝ tù, ch¬ng tr×nh con. Kü n¨ng: RÌn luyÖn kü n¨ng xö lý x©u b»ng viÖc t¹o hiÖu øng cho m¸y ch¹y trªn mµn h×nh N©ng cao kü n¨ng viÕt vµ sö dông ch¬ng tr×nh con. II. đồ dùng dạy học ChuÈn bÞ cña gi¸o viªn: Máy vi tính, tổ chức tại phòng máyđể học sinh có đợc các kỹ năng cơ bản tronh việc tổ chức và sử dông ch¬ng tr×nh con trong lËp tr×nh. ChuÈn bÞ cña häc sinh: S¸ch gi¸o khoa. III. Hoạt động dạy học Hoạt động 1: Tìm hiểu việc xây dựng hai thủ tục catdan(s1, s2) và cangiua(s). Môc tiªu: nắm đợc chức năng của hai thủ tục catdan(s1, s2) và cangiua(s). Biết đợc ý nghĩa cảu mỗi tham số trong từng chơng trình con đó. Néi dung: Thñ tôc catdan Type str79 = string[79]; Procedure catdan(s1 : str79; var s2 : str79); Begin S2 := copy(s1 , 2 , length(s1) - 1) + s1[1]; End; Thñ tôc cangiua Procedure cangiua( var s : str79); Var i,n : integer; Begin n:= length(s); n:= (80-n)div 2; for i:= 1 to n do s:= ‘ ‘ + s end; C¸c bíc tiÕn hµnh: Hoạt động của giáo viên Hoạt động của học sinh 1. T×m hiÓu hai thñ tôc catdan (s1, s2) vµ cangiua (s). 1. Quan s¸t thñ tôc catdan() vµ tr¶ lêi c©u hái - ChiÕu néi dung thñ tôc catdan (s1, s2); cña gi¸o viªn. - Hái: §Çu vµo vµ ®Çu ra cña thñ tôc nµy? - Hái: Chøc n¨ng cña thñ tôc nµy lµ g×?.

<span class='text_page_counter'>(104)</span> - Vµo: X©u kÝ tù s1 - Ra: BiÕn x©u kÝ tù s2 - Thùc hiÖn viÖc t¹o x©u s2 tõ x©u s1 b»ng việc chuyển kí tự thứ nhất đến vị trí cuối cïng cña x©u. - S1= ‘abcd’ th× S2 = ‘ bcda’. - Yªu cÇu häc sinh cho mét vÝ dô minh ho¹. - ChiÕu néi dung thñ tôc: cangiua(s); - Hái: §Êu vµo cña thñ tôc? - Thñ tôc thùc hiÖn c«ng viÖc g×? - Gi¸o viªn chó ý: Cã thÓ nh¾c häc sinh nÕu kh«ng khai b¸o s lµ tham biÕn th× thñ tôc nµy kh«ng cã hiÖu lùc g× v× lÖnh ®a s ra nµm h×nh kh«ng n»m trong thñ tôc nµy. 2. T×m hiÓu ch¬ng tr×nh cña c©u b, s¸ch gi¸o khoa, trnag 103, 104. - ChiÕu ch¬ng tr×nh lªn b¶ng. - Hái: Chøc n¨ng cña ch¬ng tr×nh.. - Quan s¸t, suy nghÜ vµ tr¶ lêi. - §Çu vµo lµ mét x©u kÝ tù S kh«ng qua 79 kÝ tù. - Thñ tôc thùc hiÖn thªm vµo tríc x©u s mét số kí tự tự trắng để khi đa s ra màn hình kí tự trong S ban đầu đợc căn giữa của dòng gồm 80 kÝ tù.. - Giíi thiÖu cho häc sinh c¸c thñ tôc chuÈn : gotoxy (x,y); delay(n); vµ keypressed; 2. Quan s¸t ch¬ng tr×nh trªn b¶ng vµ theo dâi - Thực hiện chơng trình để giúp học sinh thấy kết dẫn dắt của giáo viên. qu¶ cña ch¬ng tr×nh. - Yªu cÇu cña ngêi sö dông nhËp mét x©u kÝ tự. Đa xâu đó ra màn hình có dạng dòng chữ ch¹y mµn h×nh v¨n b¶n 25*80. - Quan sát trên màn hình để đối chiếu với kết quả mà học sinh tự suy luận tính đợc Hoạt động 2: Rèn luyện kĩ năng lập trình: a. Môc tiªu: - Học sịnh vận dụng đợc các hiểu biết về chơng trình con, thuật toàn về đợc cung cấp để giải quyÕt bµi to¸n tæng qu¸t h¬n. b. Néi dung: - ViÕt ch¬ng tr×nh nhËp mét x©u kÝ tù vµ ®a ra dßng ch÷ ch¹y ë dßng bÊt k× do ch¬ng tr×nh chÝnh quy định. - Néi dung ch¬ng tr×nh gièng nh ch¬ng tr×nh c©ub, SGK, trang 10. c. C¸c bíc tiÕn hµnh: Hoạt động của giáo viên Hoạt động của học sinh 1. Tìm hiểu yêu cầu đề bài. 1. Quan s¸t yªu cÇu trªn b¶ng. - ChiÕu néi dung yªu cÇu lªn b¶ng. - Yêu cầu học sinh tìm ra vấn đề mới trong bài - Về cơ bản, giống nh nhiệm vụ mà câu b đã làm. tËp nµy. ChØ kh¸c lµ ch¬ng tr×nh c©u b lu«n cho x©u kÝ tù ch¹y ë dßng 12, cßn trong bµi nµy x©u kÝ tù ph¶i ch¹y ë dßng bÊt k×. V× vËy 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 vµ b¸o c¸o kÕt qu¶ thö nghiÖm. - Yªu cÇu häc sinh lËp tr×nh trªn m¸y. - NhËp d÷ liÖu theo test cña gi¸o viªn vµ b¸o c¸o - Yªu cÇu häc sinh thùc hiÖn ch¬ng tr×nh vµ kÕt qu¶. nhËp d÷ liÖu test. - §¸nh gi¸ kÕt qu¶ lËp tr×nh cña häc sinh IV. §¸nh gi¸ cuèi bµi: C©u hái vµ bµi tËp vÒ nhµ. ViÕt thñ tôc chaychu ( s,dong) nhËn tham sè vµ x©u S gåm kh«ng qua 79 kÝ tù vµ mét biÕn nguyªn Dong. In ra màn hình dòng chữ xác định bởi S chạy ở dòng Dong viết chơng trình và thực hiện có sử dông thñ tôc nµy. ChuÈn bÞ bµi cho bµi thùc hµnh sè 7: Xem tríc néi dung cña bµØ thùc hµnh sè 7, SGK, trang 105. Ngµy so¹n: TiÕt thø:……... Bµi:. Bµi thùc hµnh sè 7.

<span class='text_page_counter'>(105)</span> I. MỤC TIÊU: 1. Kiến thức: Củng cố lại các kiến thức về 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 và biến cục bộ. 2. Kỹ năng: Sử dụng được chương trình con để giải quyết trọn vẹn một bài toán trên máy tính II. ĐỒ DÙNG DẠY HỌC: 1. Chuẩn bị của giáo viên: Máy vi tính, tổ chức tại phòng máy để HS có được các lỹ năng cơ bản trong việc tổ chức và sử dụng các chương trình con trong lập trình 2. Chuẩn bị của học sinh: Đọc trước bài tập thực hành theo yêu cầu của giáo viên III. HOẠT ĐỘNG DẠY VÀ HỌC: 1. Hoạt động 1: Tìm hiểu việc xây dựng hàm và thủ tục trong chương trình, thực hiện các việc liên quan đến tam giác. a. Muc tiêu: HS biết được các hàm và thủ tục trong chương trình, hiểu được chức năng của từng chương trình con, tính được đầu vào và đầu ra của chương trình b. Nội dung: - Procedure daicanh(R: Tamgiac; var a,b,c: real); - Function chuvi(var R: Tamgiac): real; - Function dientich(var R: Tamgiac): real; - Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean); - Procedure hienthi(var R: Tamgiac); - Funtion kh_cach(P,Q: Diem): real; c. Các bước tiến hành: T/g Hoạt động của GV - Đưa ra bài toán: Nhập toạ độ 3 đỉnh của 1 tam giác, tính diện tích, chu vi, hiển thị tính vuông, cân đều của tam giác. - GV định hướng cho HS vì sao phải xây dựng kiểu dữ liệu để giải quyết bài toán như trong SGK - Hỏi: Yêu cầu HS phân biệt hàm và thủ tục - GV chính xác hoá kết quả, nhấn mạnh ý: Một chương trình con có thể được dùng các chương trình con khai báo trước nó trong thân của chương trình mình - Dẫn dắt, giải thích cho HS hiểu được ý nghĩa, dạng chương trình con, cách dùng các tham số (tham biến, tham trị), thứ tự khai báo, đầu vào, đầu ra của từng chương trình con được sử dụng để giải quyết bài toán trên + Procedure daicanh(R: Tamgiac; var a,b,c: real);: Nhận đầu vào là biến R mô tả một tam giác và đầu ra là độ dài 3 cạnh a,b,c. + Function chuvi(var R: Tamgiac): real;: Cho giá trị là chu vi của tam giác R. Hoạt động của HS. - HS nhìn bảng và trả lời các câu hỏi của GV đưa ra - Trả lời câu hỏi của GV - Trả lời các câu hỏi của GV đưa ra trong quá trình giảng bài - HS lắng nghe GV giảng bài và trả lời các câu hỏi GV đưa ra: + Xác định đâu là tham trị và đâu là tham biến trong các chương trình con ở bên.

<span class='text_page_counter'>(106)</span> + Function dientich(var R: Tamgiac): real;: Cho giá trị là chu vi của tam giác R + Procedure tinhchat(var R: Tamgiac; var deu,can,vuong: boolean);: Nhận đầu vào là một biến R mô tả tam giác và đầu ra là tính chất của tám giác (đều, cân hoặc vuông) + Procedure hienthi(var R: Tamgiac);: Hiển thị toạ độ 3 đỉnh của tam giác trên màn hình + Funtion kh_cach(P,Q: Diem): real;: Cho giá trị là khoảng cách giữa hai điểm P, Q - GV sử dụng máy chiếu để để hiển thị nội dung của chương trình trong SGK lên màn hình cho HS quan sát, kết hợp với dùng bảng để thảo luận và giải thích nội dung của từng chương trình con và cách dùng các chương trình con trong chương trình chính. Sau khi HS đã thông hiểu được chương trình, yêu cầu HS lên chạy thử bằng cách nhập những toạ độ HS đã kiểm tra trước. - Quan sát chương trình, dự tính chức năng của chương trình - Nhập vào toạ độ 3 đỉnh của tam giác, khảo sát tính chất của tam giác (cân, vuông, đều). Quan sát kết quả trên màn hình để đối chiếu với kết quả tự tính được - Quan sát và ghi nhớ kết quả để thấy được hiệu ứng thay đổi của tham biến và tham trị. 2. Hoạt động 2: Rèn luyện kỹ năng lập trình a. Mục tiêu: Viết được chương trình có sử dụng chương trình con để tính được số lượng tam giác đều, số lượng tam giác cân và số lượng tam giác vuông b. Nội dung: - Viết chương trình, sử dụng các hàm và thủ tục đã được xây dựng để giải quyết bài toán sau: Cho tệp dữ liệu TAMGIAC.DAT có cấu trúc như sau: Dòng 1: Ghi số nguyên N (1<=N<=100) N dòng tiếp theo: mỗi dòng ghi 6 số thực xA, yA, xB, yB, xC, yC là các toạ độ của 3 đỉnh A, B, C của một tam giác Yêu cầu: đọc dữ liệu từ tệp TAMGIAC.DAT, xử lý và đưa kết quả ra tệp TAMGIAC.OUT gồm 3 dòng: Dòng 1: Ghi số lượng tam giác đều Dòng 2: Ghi số lượng tam giác cân (nhưng không đều) Dòng 3: Ghi số lượng tam giác vuông c. Các bước tiến hành: T/G. Hoạt động của GV - Phân tích yêu cầu của để bài + 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 quyết bài toán Nhóm 2: Trả lời câu hỏi phân tích của nhóm 1 để tìm ra cách giải quyết của bài toán. Hoạt động của HS - Quan sát yêu cầu + Nhóm 1: Đặt câu hỏi Dữ liệu vào Dữ liệu ra Cần sửa những chỗ nào tỏng chương trình câu b Thuật toán để đếm số lượng các loại.

<span class='text_page_counter'>(107)</span> + GV góp ý, bổ sung câu hỏi phân tích và trả lời hình tam giác phân tích + Nhóm 2: Trả lời câu hỏi phân tích Phải viết lệnh đọc đữ liệu trong tệp Ba số nguyên dương là số lương của 3 loại hình tam giác ghi trên 3 dòng của một tệp Cần thay đoạn chương trình nhập dữ liệu bằng một chương trình con để đọc dữ liệu từ tệp TAMGIAC.DAT. Thay đoạn chương trình in kết quả ra màn hình bằng một chương trình con để in 3 số nguyên dương là số lượng 3 loại hình ra tệp TAMGIAC.OUT Thuật toán: Nếu deu thì d:= d + 1 Ngược lại nếu can thì c:= c + 1 Ngược lại thì v:= v + 1; - Độc lập viết chương trình, thực hiện chương trình đối với test tự tạo - Thông báo kết quả cho GV - Nhập dữ liệu của GV và báo cáo kết quả - Lập trình: + Yêu cầu HS lập trình trên máy. GV tiếp cận từng Hs để sửa lỗi cần thiết + Yêu cầu HS nhập dữ liệu vào của GV và báo cáo kết quả của chương trình + Đánh giá kết quả của HS IV. CỦNG CỐ KIẾN THỨC: Nhắc lại những nội dung đã học từ đầu chương VI : Cách xây dựng chương hàm, thủ tục, cách truyền tham biến, tham trị V. CÂU HỎI VÀ BÀI TẬP VỀ NHÀ: - Đọc bài đọc thêm - Chuẩn bị bài mới - Viết các chương trình sau (dùng các chương trình con): + Đếm và in ra màn hình các số nguyên tố trong một dãy số nguyên được nhập từ bàn phím + Nhập dữ liệu gồm các thông tin họ tên, điểm toán, điểm văn của HS vào file KETQUA.INP. Sau đó đọc file và in ra màn hình những HS được lên lớp (biết rằng HS được lên lớp là HS có điểm toán >= 5 và điểm văn >= 5).

<span class='text_page_counter'>(108)</span> Ngày soạn: Tiết thứ: BÀI 19: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN (Tiết 1: 1 + 2 a,b) I. Mục tiêu: + Kiến thức: Giới thiệu một số thư viện chương trình con chuẩn và cách sử dụng + Kĩ năng: Bước đầu sử dụng các thư viện đó trong lập trình Biết khai báo và sử dụng thư viện CRT, GRAPH II. Đồ dùng Dạy học: + Giáo viên: giáo án, máy chiếu, chương trình sử dụng các hàm cần giới thiệu + Học sinh: Sách giáo khoa III. Hoạt động Dạy - Học: + Ổn định lớp + Kiểm tra bài cũ + Tiến trình tiết dạy: Hoạt động của giáo viên Hoạt động của học sinh Nội dung Nội dung + Đặt vấn đề: Giới thiệu về các thư viện chương trình trong ngôn ngữ lập trình + HĐ 1: Giới thiệu thư viện CRT - Yêu cầu học sinh đọc sách và kể 1/ CRT: tên những chương trình con trong + Các chương trình trong thư - Chứa các thủ tục liên quan thư viện CRT viện CRT : đến việc quản lí và khai thác Clrscr, textcolor, mà hình, bàn phím của máy - Trình chiếu và cho chạy chương textbackgrond, gotoXY tính trình sau: - Quan sát Program xoamanhinh; Begin Clrscr; Writeln(‘Xoa man hinh’); Readln; End. - Vì sao xuất hiện lỗi khi chạy chương trình này? - Chưa sử dụng thư viện CRT - Clrscr: xoá màn hình - Thêm : Uses CRT vào trước - Quan sát begin và chạy chương trình - Chức năng của thủ tục Clrscr ? - Trình chiếu chương trình chứa -Xoá màn hình thủ tục textcolor, yêu cầu học sinh quan sát và nhận xét về chức năng - Đặt màu chữ của lệnh này - Textcolor(n): đặt màu chữ, - Trình chiếu chương trình chứa trong đó n là hằng hoặc biến thủ tục textbackground, yêu cầu xác định màu học sinh quan sát và nhận xét về chức năng của lệnh này - Đặt màu nền - Trình chiếu chương trình chứa - Textbackground(n): đặt màu thủ tục gotoXY, yêu cầu học sinh nền.

<span class='text_page_counter'>(109)</span> Hoạt động của giáo viên quan sát và nhận xét về chức năng của lệnh này + HĐ 2: Tìm hiểu thư viện Graph - ĐVĐ: thư viện Graph chứa các thủ tục liên quan đến chế độ đồ hoạ + Cho HS xem sách và trả lời: - Các dạng dữ liệu nào có thể được hiển thi trên màn hình? - Card màn hình có nhiệm vụ gì? - Các tệp điều khiển đồ hoạ có chức năng gì?. Hoạt động của học sinh. Nội dung Nội dung. - Đưa con trỏ về cột X và dòng Y - GotoXY(x,y): đưa con trỏ đến cột x dòng y của màn hình văn bản. - Lắng nghe. 2/ Graph: - Chứa các hàm và thủ tục liên quan đến chế độ đồ hoạ a) Các thiết bị và chương trình hỗ trợ đồ hoạ: - Khi nói đến màn hình phân giải - Văn bản và hình ảnh - Có hai chế độ làm việc: văn 640x480 là nói đến điều gì? bản và đồ hoạ + Để sử dụng thư viện đồ hoạ ta - Đảm bảo tương tác giữ vi - Bảng mạch điều khiển màn phải làm gì? xử lí và màn hình hình là thiết bị đảm bảo tương - Để khởi tạo chế độ đồ hoạ ta sử - Cung cấp các chương trình tácgiữa vi xử lí và màn hình dụng thủ tục nào? điều khiền tương ứng với các loại bảng mạch đồ hoạ - 640 dòng và 480 cột b) Khởi tạo chế dộ đồ hoạ: - Initgraph(var driver, mode: Integer; path: string); - Initgraph(var driver, mode: + Trong đó: Integer; path: string); - driver: số hiệu chương trình - Khi không sử dụng chế độ đồ điều khiển BGI hoạ nữa thì ta phải làm gì? - mode: số hiệu độ phân giải - path: đường dẫn đến tệp BGI - CloseGraph: Kết thúc chế độ đồ hoạ - Khởi tạo chế độ đồ hoạ. - Trở về chế độ văn bản IV. Củng cố: V. Dặn dò, về nhà:.

<span class='text_page_counter'>(110)</span> Ngày soạn: Tiết thứ: BÀI 19: THƯ VIỆN CHƯƠNG TRÌNH CON CHUẨN (TIẾT 2) Mục đích yêu cầu: Về kiến thức: Biết được một số thư viện chương trình con chuẩn. Về kỹ năng: + Khởi động được chế độ đồ họa. + Sử dụng được các thủ tục vẽ điểm, đường, hình tròn, hình elip, hình chữ nhật Chuẩn bị: GV: SGK, giáo án, máy chiếu Projector HS: SGK, vở Phương pháp: Gợi mở, vấn đáp Làm việc theo nhóm Hoạt động dạy học: Ổn định lớp: Kiểm tra sĩ số HS Kiểm tra bài cũ: Nêu ý nghĩa và một số thủ tục của thư viện CRT ? Nội dung dạy học: * HĐ 1: Khởi động và đóng chế độ đồ họa: Hoạt động Giáo Viên Hoạt động Học sinh Nội dung - Trình chiếu ví dụ về vẽ đường - Quan sát ví dụ và trả lời tròn. Hãy chỉ ra đoạn chương trình khởi động đồ họa. b) Khởi động đồ họa: - Yêu cầu học sinh nghiên cứu - Cấu trúc chung của thủ tục khởi SGK và ví dụ để nêu ra cấu trúc - Initgraph ( driver, động đồ họa. chung của thủ tục khởi động đồ mode: integer, path: Initgraph (driver, mode: integer, họa. string) path: string); - Giải thích các thông số trong thủ tục. + Driver: số hiệu của chương trình điều khiển BGI, thường được gán giá trị 0. + Mode: là số hiệu của độ phân giải. + Path: đường dẫn đến các - Muốn thoát khỏi chế độ đồ tệp .BGI họa dùng thủ tục gì? - Thủ tục kết thúc đồ họa: Closegraph - Trình chiếu thêm ví dụ minh - Closegraph họa - Quan sát *HĐ 2: Các thủ tục vẽ điểm, đoạn thẳng Hoạt động Giáo viên Hoạt động Học sinh Nội dung  Thủ tục Putpixel c.Các thủ tục vẽ điểm, đoạn thẳng - Quan sát Use graph; - Trình chiếu ví dụ Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’); - Cho HS nêu kết quả.

<span class='text_page_counter'>(111)</span> - Gọi HS nêu cấu trúc chung của thủ tục Putpixel - Giải thích các thông số trong - HS trả lời thủ tục - Chức năng của Putpixel là gì ? - HS trả lời Thủ tục Line: - Trình chiếu ví dụ. - Quan sát. - Cho HS nêu kết quả - Gọi HS nêu cấu trúc chung của thủ tục Line - Giải thích các thông số trong - HS trả lời thủ tục - Chức năng của Line là gì ?. Putpixel(20,40,60); Readln; End. - Cấu trúc chung: Putpixel (x, y: integer; color: word); + x và y là tọa độ của điểm + color là màu của điểm - Chức năng: Vẽ một điểm màu color trên màn hình tại tọa độ (x,y) Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’); Line (20,40,30,60); Readln; End. - Cấu trúc chung: Line (x1,y1,x2,y2: integer). - Chức năng: Vẽ một đoạn thẳng từ điểm có tọa độ (x1,y1) đến điểm có tọa độ (x2,y2). Thủ tục Lineto: - Trình chiếu ví dụ. - HS trả lời. - Quan sát - Cho HS nêu kết quả - Gọi HS nêu cấu trúc chung của thủ tục Lineto - Giải thích các thông số trong - HS trả lời thủ tục - Chức năng của Lineto là gì? Thủ tục Linerel: - Trình chiếu ví dụ. - HS trả lời. - Quan sát. Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20) Readln; End. - Cấu trúc chung: Lineto (x,y: integer). - Chức năng: Vẽ một đường thẳng từ điểm hiện tại đến điểm có tọa độ (x,y) Use graph Begin Drive: = 0; Initgraph ( drive, mode,.

<span class='text_page_counter'>(112)</span> - Cho HS nêu kết quả - Gọi HS nêu cấu trúc chung của thủ tục Linerel - Giải thích các thông số trong - HS trả lời thủ tục - Chức năng của Linerel là gì?. ‘C: TP\BGI’) Linerel (10,10); Readln; End. - Cấu trúc chung: Linerel (dx,dy: integer) - Chức năng: Vẽ một đường thẳng nối điểm hiện tại với điểm có tọa độ bằng tọa độ hiện tại cộng với gia số (dx,dy).. - HS trả lời Thủ tục Setcolor: - Trình chiếu ví dụ. - Quan sát. - Cho HS nêu kết quả - Gọi HS nêu cấu trúc chung của thủ tục Setcolor - Giải thích các thông số trong thủ tục - Chức năng của Setcolor là gì?. Use graph; Begin Drive: = 0; Initgraph ( drive, mode, ‘C: TP\BGI’) Lineto (20,20); Setcolor (10); Lineto (20;-20); Readln; End. - Cấu trúc chung: Setcolor (color: word) - Chức năng: Đặt màu cho nét vẽ.. - HS trả lời - HS trả lời *HĐ 3: Các thủ tục vẽ hình đơn giản và các thủ tục, hàm liên quan đến vị trí con trỏ. Hoạt động GV Hoạt động HS Nội dung Trình chiếu: ví dụ - Quan sát d. Các thủ tục vẽ hình đơn giản 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. - Cho HS nêu kết quả - HS trả lời - Cấu trúc chung: - Gọi HS nêu lần lượt cấu - HS trả lời + Hình tròn: trúc chung của các thủ tục Circle (x,y: integer; r:word) Circle, Ellipse, Rectange + Elipse:.

<span class='text_page_counter'>(113)</span> - Giải thích các thông số - HS trả lời trong thủ tục - Chức năng của từng thủ tục là gì?. Giới thiệu các hàm xác định GTLN của màn hình, thủ tục chuyển con trỏ tới tọa độ (x, y). *HĐ 4:Tìm hiểu một số thư viện khác Hoạt động GV Hoạt động HS - Hãy nêu một số thư viện - System, Dos, printer khác trong Pascal? - Chức năng của từng thư - HS trả lời viện?. - Để sử dụng các thủ tục - Khai báo và hàm chuẩn của thư viện nào đó ta phải làm gì? - uses crt,graph; - Gọi HS nêu VD *HĐ 5: Củng cố - Dặn dò - Biết được một số thư viện chuẩn. - Biết được một số thủ tục đồ họa đơn giản. - Đọc thêm bài “Âm thanh”. Ellipse(x,y:integer; stAngle, EndAngle, Xr, Yr: word) + Hình chữ nhật: Rectange(x1,y1,x2,y2:integer) - Chức năng: + Circle:Vẽ một đường tròn có tâm tại (x,y) và bán kính r. + Elipse : Vẽ cung của Elip có tâm tại điểm (x,y) với trục lớn xr, trục nhỏ yr, từ góc đầu StAngle đến góc cuối EndAngle. + Rectange: Vẽ hình chữ nhật với (x1,y1) là tọa độ của đỉnh trái trên; (x 2,y2) là tọa độ của đỉnh phải dưới. e. Các thủ tục và hàm liên quan đến vị trí con trỏ - Hàm xác định GTLN cua màn hình: Function GetMaxX: integer; Function GetMaxY: integer; - Thủ tục chuyển con trỏ tới tọa độ (x;y) Procedure MoveTo(x,y:integer); Nội dung Nội dung 3. Một số thư viện khác: - System: chứa các hàm sơ cấp và các thủ tục vào ra. - Dos: chứa các thủ tục tạo thư mục, thiết lập giờ hệ thống. - Printer: cung cấp các 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 và hàm chuẩn theo cấu trúc: Uses unit1, unit2,...,unit n;.

<span class='text_page_counter'>(114)</span>

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×