Giáo án phát triển năng lực Tin học Lớp 11 theo CV3280 - Bài 1-11

doc 83 trang nhungbui22 09/08/2022 1970
Bạn đang xem 20 trang mẫu của tài liệu "Giáo án phát triển năng lực Tin học Lớp 11 theo CV3280 - Bài 1-11", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • docgiao_an_phat_trien_nang_luc_tin_hoc_lop_11_theo_cv3280_bai_1.doc

Nội dung text: Giáo án phát triển năng lực Tin học Lớp 11 theo CV3280 - Bài 1-11

  1. Giáo Án Tin 11 Tiết PPCT: 1 CHƯƠNG I MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH §1. Khái niệm về lập trình và ngôn ngữ lập trình  I. Mục tiêu 1. 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ữ. - Biết được vai trò của chương trình dịch. - Phân biệt được biên dịch và thông dịch. 2. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu khái niệm đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Chúng ta đã được làm quen một số khái niệm về lập trình và ngôn ngữ lập trình trong chương trình Tin học trung học cơ sở. Với chương trình Tin học 11 năm nay chúng ta sẽ có cơ hội tìm hiểu sâu hơn về ngôn ngữ lập trình. Và bài đầu tiên của chương 1 là một số khái niệm về lập trình và ngôn ngữ lập trình. 2. Hình thành kiến thức: Hoạt động của học Hoạt động của giáo viên Nội dung sinh Hoạt động 1. Làm rõ khái niệm lập trình và ngôn ngữ lập trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) - Ở lớp 10 chúng ta đã - Suy nghĩ và trả lời 1. Khái niệm lập trình, biết các bước để giải bài ngôn ngữ lập trình: toán trên máy tính. Em a. Khái niệm lập trình: hãy nêu các bước để giải bài toán trên máy tính? - Nhận xét câu trả lời của học sinh và nhắc lại các bước giải bài toán trên máy tính. - Giải thích: + XĐ bài toán: là xác định input và output. Trang 1
  2. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh + Lựa chọn hoặc thiết kế thuật toán: Một thuật toán chỉ giải được một - Nghe giảng bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Do đó chúng ta cần thiết kế hoặc chọn 1 thuật toán phù hợp để giải bài toán cho trước. - Hãy nhắc lại khái niệm - Ngôn ngữ để viết ngôn ngữ lập trình? chương trình được gọi là ngôn ngữ lập trình. - Với một bài toán, sau - Phải dùng ngôn ngữ khi xác định được thuật máy hiểu được để biểu toán, ta cần phải làm thế diễn thuật toán đó thành một chương trình được nào để máy tính hiểu và gọi là lập trình. thực hiện được thuật toán đã lựa chọn để giải bài toán. Theo các em ta phải làm thế nào? - Thế nào gọi là lập - Lập trình là sử dụng - Lập trình là sử dụng cấu trình? cấu trúc dữ liệu và các trúc dữ liệu và các câu câu lệnh của một ngôn lệnh của một ngôn ngữ lập ngữ lập trình cụ thể để trình cụ thể để mô tả dữ mô tả dữ liệu và diễn liệu và diễn đạt các thao đạt các thao tác của tác của thuật toán. thuật toán. - Thảo luận nhóm: b. Ngôn ngữ lập trình: (Hình thành năng lực Có 3 loại ngôn ngữ lập giao tiếp và năng lực trình. hợp tác) Em hãy cho biết - Thảo luận nhóm và + Ngôn ngữ máy có mấy loại ngôn ngữ lập đọc kết quả trước lớp. + Hợp ngữ trình? Chia lớp thành 4 - Nhận xét kết quả các + Ngôn ngữ bậc cao nhóm, phát phiếu học tập nhóm khác. cho các nhóm và yêu cầu các nhóm ghi lại các loại ngôn ngữ lập trình đã biết vào phiếu học tập. Yêu cầu đại diện các nhóm đọc kết quả. - Nhận xét chung và kết luận. Trang 2
  3. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh - Mỗi loại máy có một - Nghe giảng. - Chương trình viết bằng ngôn ngữ riêng thường ngôn ngữ máy có thể nạp thì chương trình viết trực tiếp vào bộ nhớ và bằng ngôn ngữ của một thực hiện ngay. loại máy nào thì chỉ chạy được trên loại máy đó. - Ví dụ: một người Việt - Không. Nam nói chuyện với một người Mĩ chỉ biết tiếng Anh bằng tiếng Việt, thì người Mĩ có hiểu không? - Vậy phải làm gì để - Dịch ra tiếng Anh người Mĩ hiểu được? - Chương trình viết bằng - Chương trình viết - Chương trình viết bằng ngôn ngữ bậc cao thì bằng ngôn ngữ bậc cao ngôn ngữ bậc cao nói máy có hiểu được nói chung không phụ chung không phụ thuộc không? thuộc vào loại máy. vào loại máy. Chương Chương trình muốn trình muốn thực hiện được thực hiện được thì phải thì phải chuyển sang ngôn chuyển sang ngôn ngữ ngữ máy. máy. Hoạt động 2: Làm rõ khái niệm chương trình dịch (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học) - Khi viết bằng ngôn ngữ 2. Chương trình dịch: lập trình bậc cao muốn 2.1. Khái niệm: thực hiện được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ của máy đó. - Như vậy thì một câu hỏi đặt ra: Làm thế nào để chuyển chương trình - Suy nghĩ trả lời viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy? - Muốn chuyển chương trình bằng ngôn ngữ bậc cao sang ngôn ngữ máy thì phải dịch, chương trình làm nhiệm vụ dịch đó gọi là chương trình dich. - Chương trình dịch là - Chương trình dịch là - Chương trình dịch là Trang 3
  4. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh gì? chương trình đặc biết có chương trình đặc biết có chức năng chuyển đổi chức năng chuyển đổi chương trình viết bằng chương trình viết bằng ngôn ngữ lập trìnhbậc ngôn ngữ lập trìnhbậc cao cao sang ngôn ngữ máy sang ngôn ngữ máy để để máy có thể thực hiện máy có thể thực hiện được. được. - Bạn là người không biết - Cách 1: bạn nói bằng 2.2. Phân loại ct dịch: tiếng Anh vậy làm sao tiếng việt, sau đó nhờ bạn có thể giới thiệu người phiên dịch sang trường mình với người tiếng anh. Người phiên khách đến từ Mĩ chỉ biết dịch dịch ngay từng câu tiếng anh? khi hai người nói chuyện. Cách dich trực tiếp như thế này gọi là thông dịch. - Cách 2: bạn soạn nội dung ra giấy, người phiên dịch dịch toàn bộ nội dung sang tiếng anh rồi đưa cho người khách xem. Cách dịch như vậy được gọi là biên dịch. - Tương tự, chương trình - Nghe giảng. - Chương trình dịch có 2 dịch cũng có 2 loại: loại + Thông dịch thông dịch và biên dịch. + Biên dịch - Hãy phân tích đặc điểm - Tham khảo SGK và a. Thông dịch của thông dịch? suy nghĩ trả lời. (Interpreter) + Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy. Thông dịch là việc lặp lại dãy các bước: - Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn. - Chuyển đổi câu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy. - Thực hiện các câu lệnh vừa chuyển đổi. - Các chương trình thông - Nghe giảng. dịch lần lượt dịch và thực hiện từng câu lệnh, thích Trang 4
  5. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh hợp cho môi trường giữa người và hệ thống. - Hãy phân tích đặc điểm - Tham khảo SGK và b. Biên dịch (Compiler) của biên dịch? suy nghĩ trả lời. Thực hiện qua hai bước sau: - Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của câu lệnh trong Chương trình nguồn. - 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ữ để sử dụng khi cần thiết. - Thông dịch không có - Nghe giảng. chương trình đích để lưu trữ, biên dịch cả chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng về sau. 3. Luyện tập và thực hành: + Khái niệm lập trình và ngôn ngữ lập trình? + Có 3 loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao. + Tại sao người ta hay sử dụng ngôn ngữ lập trình bậc cao? + Khái niệm chương trình dịch? + Phân biệt 2 loại chương trình dịch: Thông dịch và biên dịch? 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học - Đọc bài đọc thêm. - Chuẩn bị bài “ Các thành phần của ngôn ngữ lập trình”. IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Trang 5
  6. Giáo Án Tin 11 Trang 6
  7. Giáo Án Tin 11 Tiết PPCT: 2 CHƯƠNG I MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH §2. Các thành phần của ngôn ngữ lập trình.  I. Mục tiêu 1. Về kiến thức: - Biết ngôn ngữ lập trình có 3 thành phần cơ bản: bảng chữ cái, cú pháp và ngữ nghĩa. - Biết một số khái niệm: tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt, hằng, biến. 2. Về kỹ năng: - Phân biệt được tên, tên chuẩn, tên dành riêng, tên do người lập trình đặt. - Nhớ các quy định về tên, hằng và biến trong một ngôn ngữ lập trình. - Biết đặt tên đúng và nhận biết được tên sai quy định. 3. Về tư duy và thái độ: - Nhận biết đượ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 quyết 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 quyết các bài toán trên máy tính điện tử. - Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực tự quản lý và năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Kiểm tra bài cũ: Hãy cho biết khái niệm lập trình? Chương trình dịch là gì? Phân biệt 2 loại chương trình dịch: Thông dịch và biên dịch? Giới thiệu bài mới: Ở tiết trước, chúng ta đã biết một số khái niệm về lập trình và ngôn ngữ lập trình. Vậy, ngôn ngữ lập trình gồm các thành phần nào? Chúng ta sẽ tìm hiểu tiếp bài 2: Các thành phần của ngôn ngữ lập trình. 2. Hình thành kiến thức: Trang 7
  8. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh Hoạt động 1: Tìm hiểu các thành phần cơ bản của ngôn ngữ lập trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) - Tiếng Việt được hình - Suy nghĩ trả lời 1. Các thành phần cơ thành từ những yếu tố bản nào? Tiếng Việt nói riêng và các ngôn ngữ tự nhiên nói chung được hình thành từ: - Bảng chữ cái - Ngữ pháp - Ngữ nghĩa của từ và câu - Theo em, ngôn ngữ lập - Suy nghĩ trả lời trình có tương tự như ngôn ngữ tự nhiên không? - Chiếu lên màn hình - Suy nghĩ trả lời chương trình viết bằng Free Pascal. Em hãy quan sát chương trình và cho biết người ta đã sử dụng các kí hiệu nào để viết chương trình? - Nhận xét và tiếp tục - Suy nghĩ trả lời - Mỗi ngôn ngữ lập trình dẫn dắt: ngôn ngữ lập thường có 3 thành phần cơ trình cũng tương tự như bản: Bảng chữ cái, cú ngôn ngữ tự nhiên. Hãy pháp, ngữ nghĩa. cho biết ngôn ngữ lập trình gồm các thành phần nào? - Thảo luận nhóm: a. Bảng chữ cái: Trang 8
  9. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh (Hình thành năng lực Bảng chữ cái: là tập các giao tiếp và năng lực kí tự dùng để viết chương hợp tác): Hãy cho biết - Thảo luận nhóm và trình. Không được dùng khái niệm bảng chữ cái đọc kết quả trước lớp. bất kì kí tự nào ngoài các của ngôn ngữ lập trình? - Nhận xét kết quả các kí tự quy định trong bảng - Nhận xét chung và kết nhóm khác. chữ cái. luận. Các chữ cái thường dùng: A B C D E F G H I J K L M N O P Q R S T U V W Y Z. - Tiếp tục dẫn dắt học a b c d e f g h i j k l m n o sinh: Chú ý bảng chữ cái p q r s t u v w y z. của các ngôn ngữ lập 10 chữ số thập phân Ả trìnhkhông khác nhau Rập: 0 1 2 3 4 5 6 7 8 9. nhiều. Các ký tự : Ví dụ: Bảng chữ cái của + - * / = ngôn ngữ C++ so với []., Pascal chỉ thêm vài kí tự ; # ^ $ @ & ( ) là ( “ ), ( \ ), ( ! ). {}:‘ Dấu cách(mã ASCII 32) b. Cú pháp: - Trong tiếng việt muốn - Suy nghĩ trả lời viết câu đúng thì phải dựa vào đâu? - Nhận xét - Tượng tự, trong lập - Suy nghĩ trả lời - Là bộ quy tắc dùng để trình để viết chương trình viết chương trình, dựa vào đúng người ta dựa vào đó mà người lập trình và cái gì? - Đọc sách giáo khoa và chương trình dịch phát - Cú pháp là gì? Suy nghĩ trả lời hiện ra chỗ sai sót trong chương trình - Dẫn dắt: “Cú pháp cũng - Nghe giảng. có sự khác nhau giữa các ngôn ngữ lập trình” và nêu ví dụ minh họa. Ví dụ: Pascal dùng cặp từ Begin End; để gộp nhiều câu lệnh thành một. Còn trong C++ thì sử dụng cặp kí tự { } c. Ngữ nghĩa: Trang 9
  10. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh - Trong tiếng việt khi ta - Nghe giảng. - Xác định ý nghĩa thao nói một câu thì người tác cần thực hiện, ứng với nghe phải hiểu được ý tổ hợp kí tự dựa vào ngữ nghĩa của câu nói đó. cảnh của nó. Vậy, trong lập trình phải xác định được ý nghĩa của tổ hợp các kí tự trong chương trình, đó là ngữ nghĩa. - Ví dụ: Xét 2 biểu thức: - Nghe giảng. - Lỗi cú pháp được A+B (1) A,B là các số chương trình dịch phát thực. hiện và thông báo cho A+B (2) A,B là các số người lập trình. Chương nguyên. trình không còn lỗi cú Dấu + trong (1) là cộng 2 pháp thì mới dịch sang số thực, trong (2) là cộng ngôn ngữ máy. 2 số nguyên. - Lỗi ngữ nghĩa được phát =>Tóm lại cú pháp cho hiện khi chạy chương biết cách viết một trình. chương trình hợp lệ, còn ngữ nghĩa xác định ý nghĩa của tổ hợp kí tự trong chương trình. =>Chương trình dịch phát hiện lỗi về cú pháp nhưng không phát hiện lỗi ngữ nghĩa. Hoạt động 2 : Tìm hiểu khái niệm tên (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) 2. Một số khái niệm: a. Tên: - Mọi đối tượng trong - Suy nghĩ trả lời - Mọi đối tượng trong chương trình đều phải chương trình đều phải được đặt tên. Em hãy cho được đặt tên. Em hãy cho biết quy tắc đặt tên trong biết quy tắc đặt tên trong ngôn ngữ lập trình Turbo Pascal. Pascal? - Quy tắc đặt tên trong Turbo Pascal: + Gồm chữ số, chữ cái, - Suy nghĩ trả lời dấu gạch dưới. - Cho các ví dụ sau, hãy + Bắt đầu bằng chữ cái cho biết tên nào đúng hoặc dấu gạch dưới. quy tắc: + Độ dài không vượt quá Trang 10
  11. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh ABC 127 kí tự. Q89_O A 12 3 _12BN 87_AC @DFG12 BGV#21 - Nhận xét - Trong Free Pascal, tên - Nghe giảng. - Trong Free Pascal, tên có thể có độ dài tới 255 có thể có độ dài tới 255 kí kí tự. tự. - Pascal không phân biệt - Pascal không phân biệt chữ hoa, thường trong chữ hoa, thường trong tên. tên. C++ phân biệt chữ C++ phân biệt chữ hoa, hoa, thường trong tên. thường trong tên. - Đọc sách giáo khoa và - Suy nghĩ trả lời - Ngôn ngữ lập trình cho biết ngôn ngữ lập thường có 3 loại tên: tên trình thường có mấy loại dành riêng, tên chuẩn, tên tên? do người lập trình đặt. - Thảo luận nhóm: - Tên dành riêng (từ (Hình thành năng lực khóa): Là những tên được giao tiếp và năng lực ngôn ngữ lập trìnhquy hợp tác): Chia lớp thành - Thảo luận nhóm và định với ý nghĩa xác định 3 nhóm, mỗi nhóm trình trình bày kết quả. mà người lập trình không bày khái niệm về một - Nhận xét kết quả báo thể dùng với ý nghĩa khác loại tên trên và cho ví dụ cáo của các nhóm khác. Ví dụ: Một số từ khóa minh họa. - Nghe giảng Trong Pascal: Program, - Nhận xét chung và kết Var, Uses, Begin, End, luận lại nội dung. Lưu ý Trong C++: main, với học sinh: trong include, void, Pascal, từ khóa có màu trắng. - Tên chuẩn Là những tên được ngôn ngữ lập trìnhdùng với ý nghĩa nhất định nào đó , tuy nhiên người lập trình có thể sử dụng với ý nghĩa khác Ví dụ: Một số tên chuẩn: Trong Pascal: Real, Integer, Sin, Cos, Char, Trong C++: cin, cout, getchar - Tên do người lập trình Trang 11
  12. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh tự đặt dùng với ý nghĩa riêng, xác định bằng cách khai báo trước khi sử dụng và không được trùng với tên dành riêng. VD: A, S, X, XY, vidu - Cho ví dụ: - Suy nghĩ trả lời Program ct_vd; Uses crt; - Tên dành riêng : Begin program, uses, begin, end Clrscr; - Tên chuẩn : Write, Write(‘ Xin chào Readln lớp 11A’); - Tên do người lập trình Readln; đặt : ct_vd. End. - Hãy xác định tên dành riêng, tên chuẩn, tên do người lập trình đặt. Hoạt động 3: Tìm hiểu khái niệm hằng và biến (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) . b. Hằng và biến: - Hằng: Là các đại lượng - Hằng là gì? Trong ngôn - Suy nghĩ trả lời có giá trị không đổi trong ngữ lập trình thường có quá trình thực hiện các loại hằng nào? chương trình - Các ngôn ngữ lập trình thường có: + Hằng số học: Số nguyên, số thực + Hằng logic: Có giá trị đúng hoặc sai(true hoăc false) + Hằng xâu: Là chuổi kí tự trong bộ mã ASCII. Trong Pascal: Chuổi kí tự này được đặt trong cặp nháy đơn (‘’) còn trong C++ đặt trong(“”). - Hãy trình bày khái - Suy nghĩ trả lời - Biến Là đại lượng được niệm biến? đặt tên, dùng để lưu trữ giá trị và giá trị có thể thay đổi được trong quá trình thực hiện chương Trang 12
  13. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh trình. - Biến có nhiều loại và phải khai báo trước khi sử dụng. - VD: Xác định các đại - Suy nghĩ trả lời - Pi là hằng. lượng có trong bài toán: R, CV, DT là biến. “Tính chu vi (CV), diện tích (DT) hình tròn với bán kính (R) bất kì được đưa vào từ bàn phím”. Hãy cho biết đại lượng nào là hằng? đại lượng nào là biến? c. Chú thích : - Cho biết chức năng của - Suy nghĩ trả lời - Chú thích có thể có hoặc chú thích trong chương không. Nó không làm ảnh trình? hưởng đến chương trình. - Trong Pascal chú thích được đặt trong { } hoặc (* *) 3. Luyện tập và thực hành: Các thành phần cơ bản của ngôn ngữ lập trình? Sự khác nhau giữa tên dành riêng và tên chuẩn? 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học - Đọc bài đọc thêm. - Chuẩn bị bài “ Cấu trúc chương trình”. IV. Rút kinh nghiệm: - Ưu điểm: Tiết PPCT: 3 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN §3. Cấu trúc của chương trình  I. Mục tiêu 1. Về kiến thức: - Hiểu chương trình là sự mô tả của thuật toán bằng một ngôn ngữ lập trình - Biết cầu trúc chung của một chương trình Pascal 2. Về kỹ năng: Trang 13
  14. Giáo Án Tin 11 - Nhận biết được các thành phần của một chương trình đơn giản. 3. Về tư duy và thái độ: - Nhận biết được quá trình phát triển của ngôn ngữ lập trìnhgắn liền với quá trình phát triển của tin học nhằm giải quyết các bài toán thực tiễn ngày càng phức tạp. - Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực tự quản lý và năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Chương I chúng ta đã tìm hiểu một số khái niệm về lập trình, dựa trên sự hiểu biết đó chúng ta nghiên cứu tiếp một số chương trình đơn giản của ngôn ngữ lập trình Turbo Pascal. 2. Hình thành kiến thức: Hoạt động của giáo Hoạt động của học sinh Nội dung viên Hoạt động 1: Tìm hiểu cấu trúc chung của một chương trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) 1. Cấu trúc chung - Khi đã có thuật toán để - Suy nghĩ trả lời - Muốn máy tính giải bài toán giải bài toán, muốn máy đó ta phải biểu diễn thuật toán tính giải bài toán đó ta bằng một chương trình trên phải làm gì? một ngôn ngữ lập trình nào đó. - Nhận xét câu trả lời của học sinh và kết luận: Muốn máy tính giải bài toán đó ta phải biểu diễn thuật toán bằng một chương trình trên một ngôn ngữ lập trình nào đó. - Một bài tập làm văn - Suy nghĩ trả lời thường có mấy phần? Vì sao phải chia ra như vậy? - Nhận xét câu trả lời của học sinh và kết luận: Trang 14
  15. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên *Chia làm 3 phần: Mở bài, thân bài, kết luận *Dễ viết, dễ đọc, dễ hiểu nội dung. - Đối với chương trình - Nghe giảng - Một chương trình viết bằng viết bằng ngôn ngữ lập ngôn ngữ lập trìnhbậc cao gồm trình bậc cao gồm 2 2 phần: phần: phần khai báo, + Phần khai báo phần thân. Trong đó phần + Phần thân CT thân chương trình phải [ ] có, phần khai báo có thể có hoặc không tuỳ thuộc chương trình cụ thể. Hoạt động 2: Tìm hiểu các thành phần của một chương trình. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) 2. Các thành phần của chương trình: a. Phần khai báo: - Phần khai báo sẽ báo - Nghe giảng - Phần khai báo có thể có các cho máy biết chương khai báo: trình sẽ sử dụng những tài + Tên chương trình nguyên nào của máy. + Thư viện - Yêu cầu học sinh + Hằng, biến nghiên cứu sách giáo + Chương trình con khoa để trả lời câu hỏi: Trong phần khai báo có - Suy nghĩ trả lời những khai báo nào? Khai báo tên chương trình: Phần này có thể có hoặc không. - Khai báo tên chương - Suy nghĩ trả lời trình có bắt buộc không? - Cho biết cách khai báo - Suy nghĩ trả lời Trong Pascal: tên chương trình trong Program ; - Tên chương trình do Ví dụ: program Tinh_tong; người lập trình tự đặt theo đúng quy tắc đặt tên. - Cho ví dụ? - Suy nghĩ trả lời - Mỗi ngôn ngữ lập trình - Nghe giảng Khai báo thư viện: thường có sẵn một số thư viện cung cấp một số chương trình thông dụng Trang 15
  16. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên đã được lập sẵn. Để sử dụng các chương trình đó cần khai báo thư viện chứa nó. - Cho biết cách Khai báo - Suy nghĩ trả lời Pascal: thư viện trong ngôn ngữ Uses ; lập trình Pascal? Cho ví Ví dụ: Uses crt; dụ? C++: #include ; - Cho biết cách Khai báo - Suy nghĩ trả lời Ví dụ: #include ; thư viện trong ngôn ngữ lập trình C++ ? Cho ví dụ? Khai báo hằng: - Đối với giá trị tham gia - Nghe giảng. - Những hằng sử dụng nhiều vào chương trình ở nhiều lần trong chương trình thường nơi chúng ta nên khai báo được đặt tên cho tiện sử dụng. hằng. Để mỗi khi thay đổi giá trị của hằng ở tất cả các chỗ thì chỉ cần sửa đổi 1 lần ở khai báo hằng. - Cho biết cách Khai báo - Suy nghĩ trả lời Const := ; - Cho ví dụ? - Suy nghĩ trả lời Pascal: const MaxN=1000; const pi=3.14; const KQ=’Ket qua:’; C++: Const int N=100; Const float pi=3.14; Const char* KQ=”Ket qua:”; - Mọi biến sử dụng trong Khai báo biến chương trình đều phải - Nghe giảng - Mọi biến sử dụng trong khai báo để chương trình chương trình đều phải khai báo dịch biết để xữ lý và lưu để chương trình dịch biết để xữ trữ. lý và lưu trữ. - Biến như thế nào gọi là - Suy nghĩ trả lời - Biến chỉ mang một giá trị gọi biến đơn? là biến đơn. - Khai báo biến là xin - Nghe giảng máy cấp cho biến một vùng nhớ để lưu trữ và xữ lý thông tin trong bộ nhớ. Ví dụ: ax 2 +bx+c=0 - Nghe giảng (a<>0) Trang 16
  17. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên Đối với bài toán này ta khai báo các biến: a, b, c, delta, x1, x2. Tức là chúng ta xin cấp bộ nhớ để lưu: a, b, c, delta, x1, x2. b. Phần thân chương trình: - Phần thân chương trình - Suy nghĩ trả lời - Thân chương trình là nơi chứa những gì? chứa toàn bộ các câu lệnh của chương trình hoặc lời gọi chương trình con. - Làm sao để chương - Suy nghĩ trả lời - Thân chương trình thường có trình dịch biết phần thân cặp dấu hiệu bắt đầu và kết chương trình? thúc chương trình. Begin [ ]; End. 3. Ví dụ chương trình đơn giản: - Thảo luận nhóm: - Thảo luận nhóm và trả Program ; (Hình thành năng lực lời. Uses ; giao tiếp và năng lực Const = ; nhóm, em hãy trình bày Var : ; trình Pascal đơn giản? (*Có thể có những khai báo - Nhận xét và kết luận. khác*) Begin [ ]; End. Xét 2 chương trình đơn - Trong Pascal: giản: Program Vi_du; Begin Writeln(‘Xin chao cac bạn!’); End. - Trong C++: #include ; Void main() { Ptrintf(“ Xin chao cac bạn!”); } - Hãy cho biết nhận xét - Suy nghĩ trả lời Hai chương trình cùng thực của em về 2 ví dụ trên? hiện một công việc nhưng viết Trang 17
  18. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên bằng 2 ngôn ngữ lập trình khác nhau nên hệ thống câu lệnh trong chương trình là khác nhau. Cho ví dụ: Cho ví dụ: Begin Writeln(‘xin chao cac ban!’); Writeln(‘moi cac ban lam quen voi Pascal’) ; - Hãy nhận xét chương End. trình ? - Suy nghĩ trả lời - Chương trình không có phần khai báo. 3. Luyện tập và thực hành: Hãy nêu các thành phần của một chương trình? Em hãy trình bày cấu trúc của một chương trình Pascal đơn giản? 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học - Chuẩn bị bài “ Một số kiểu dữ liệu chuẩn” & “Khai báo biến”. IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Trang 18
  19. Giáo Án Tin 11 Tiết PPCT: 4 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN §4. Một số kiểu dữ liệu chuẩn  I. Mục tiêu 1. Về kiến thức: - Biết một số kiểu dữ liệu chuẩn: nguyên, thực, kí tự, logic. - Hiểu được cách khai báo biến. 2. Về kỹ năng: - Xác định được kiểu cần khai báo của dữ liệu đơn giản. - Khai báo đúng, nhận biết được khai báo sai. 3. Về tư duy và thái độ: - Tạo hứng thú học ngôn ngữ lập trình Pascal. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực tự quản lý và năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Ở tiết trước, chúng ta đã làm quen với cách khai báo biến trong Pascal. Hôm nay, chúng ta sẽ tìm hiểu kĩ hơn về cách khai báo biến và các kiểu dữ liệu thường dùng trong Pascal. 2. Hình thành kiến thức: Hoạt động của giáo Hoạt động của học Nội dung viên sinh Hoạt động 1: Tìm hiểu một số kiểu dữ liệu chuẩn. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) - Ở lớp 10, các em đã - Suy nghĩ trả lời - Thông tin có thể biểu diễn học về thông tin và biểu trong máy tính có hai loại: diễn thông tin trong máy số và phi số (văn bản, hình tính, vậy em nào có thể nhắc lại các dạng thông ảnh, âm thanh) tin có thể biểu diễn trong máy tính? - Các thông tin đó được - Suy nghĩ trả lời - Dữ liệu biểu diễn trong biểu máy tính là thông tin đã diễn trong máy như thế được mã hóa. nào? Trang 19
  20. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh - Có nhiều loại dữ liệu - Nghe giảng khác nhau, trong mỗi ngôn ngữ lập trìnhchỉ có một số kiểu dữ liệu chuẩn nhất định. Giá trị của dữ liệu biểu diễn trong máy tính là có giới hạn, nó phụ thuộc vào dung lượng bộ nhớ, khả năng xử lí của CPU. - Vì vậy, mỗi ngôn ngữ - Nghe giảng lập trình thường cung cấp một số kiểu dữ liệu chuẩn cho biết phạm vi giá trị có thể lưu trữ, dung lượng bộ nhớ cần thiết để lưu trữ và các phép toán tác động lên dữ liệu. - Kiểu dữ liệu số có mấy - Suy nghĩ trả lời - Có hai loại: số nguyên (vd: loại? Cho ví dụ? 1, 2, 123 ) và số thực (6.5, 123.567, ) 1. Kiểu nguyên: - Để khai báo kiểu dữ - Nghe giảng. liệu cho một đối tượng nào đó thì chúng ta phải dựa vào từng đối tượng để khai báo cho phù hợp, để khỏi lãng phí bộ nhớ. - Ví dụ: + Số HS một lớp thì chúng ta nên khai báo kiểu byte. + Tính giai thừa N thì chúng ta nên khai báo kiểu longint. Trang 20
  21. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh - Em hãy cho biết trong - Suy nghĩ trả lời các kiểu số nguyên, kiểu nào có phạm vi biểu diễn lớn nhất? 2. Kiểu thực: - Máy tính điện tử không - Nghe giảng 3. Kiểu kí tự: chỉ có khả năng xử lý những dữ liệu bằng số nguyên, số thực mà còn có khả năng xử lý các dữ liệu là các kí tự như khi soạn thảo văn bản. - Ngoài ra máy tính điện 4. Kiểu logic: tử còn có khả năng xử lý các dữ liệu kiểu logic là kiểu chỉ có 2 giá trị đúng sai. 3. Luyện tập và thực hành: - Nhắc lại một số kiểu dữ liệu đơn giản trong ngôn ngữ lập trình Pascal? 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học - Chuẩn bị bài “KHAI BÁO BIẾN”. IV. Rút kinh nghiệm: - Ưu điểm: Trang 21
  22. Giáo Án Tin 11 - Hạn chế: Trang 22
  23. Giáo Án Tin 11 Tiết PPCT: 5 §5. KHAI BÁO BIẾN  I. Mục tiêu 1. Về kiến thức: - Hiểu được cách khai báo biến. 2. Về kỹ năng: - Xác định được kiểu cần khai báo của dữ liệu đơn giản. - Khai báo đúng, nhận biết được khai báo sai. 3. Về tư duy và thái độ: - Tạo hứng thú học ngôn ngữ lập trình Pascal. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực tự quản lý và năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Ở tiết trước, chúng ta đã làm quen với cách khai báo biến trong Pascal. Hôm nay, chúng ta sẽ tìm hiểu kĩ hơn về cách khai báo biến và các kiểu dữ liệu thường dùng trong Pascal. Hoạt động của giáo Hoạt động của học Nội dung viên sinh Hoạt động 1: Tìm hiểu cách khai báo biến. (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) Ví dụ: Để kiểm tra N có - Nghe giảng. II. KHAI BÁO BIẾN: phải là số nguyên tố hay không thì chúng ta dùng một biến kiểm tra và biến kiểm tra này sẽ nhận hai giá tri hoặc đúng hoặc sai. - Muốn sử dụng biến thì phải khai báo. Vậy để khai báo biến ta thực hiện như thế nào? - Hãy cho biết cú pháp - Suy nghĩ trả lời - Trong Pascal, khai báo biến để khai báo biến trong bắt đầu bằng từ khóa var có ngôn ngữ lập trình dạng: Trang 23
  24. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh Pascal? Var : ; - danh sách biến là một hoặc nhiều tên biến, được viết cách nhau bởi dấu phẩy. - kiểu dữ liệu thường là một trong các kiểu dữ liệu chuẩn. - Sau var có thể khai báo nhiều danh sách biến khác nhau. - Ví dụ 1: Giả sử trong - Suy nghĩ trả lời - Var A,B,C,D,E,F: Real; chương trình có các biến G,H: Integer; thực A,B,C,D,E,F và các biến nguyên G,H. Hãy khai báo các biến đó? - Nhận xét - Thảo luận nhóm: - Bộ nhớ cấp phát cho X,Y,Z: (Hình thành năng lực 36=18 byte giao tiếp và năng lực - Bộ nhớ cấp phát cho C: 1 byte hợp tác) - Bộ nhớ cấp phát cho I,J: Ví dụ 2: xét khai báo 21=2 byte biến: - Bộ nhớ cấp phát cho N: 2 byte Var X,Y,Z: real; - Tổng bộ nhớ dành cho các C: char; biến đã khai báo là: I,J: byte; - Thảo luận nhóm và 18+1+2+2=23 (byte). N: word; đưa ra kết quả. - Hãy tính tổng bộ nhớ dành cho các biến đã khai báo? - Nhận xét - Cần đặt tên biến sao - Nghe giảng. Lưu ý: cho gợi nhớ đến ý nghĩa - Cần đặt tên biến sao cho gợi của nó. nhớ đến ý nghĩa của nó. - Không nên đặt tên quá - Không nên đặt tên quá ngắn ngắn hay quá dài. hay quá dài. - Khai báo cần đặc biệt - Khai báo cần đặc biệt lưu ý lưu ý đến phạm vi giá trị đến phạm vi giá trị của nó. của nó. 3. Luyện tập và thực hành: - Cho biết cú pháp khai báo biến trong Pascal? 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học - Chuẩn bị bài “PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN”. Trang 24
  25. Giáo Án Tin 11 Tiết PPCT: 6,7 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN §6. Phép toán, biểu thức, câu lệnh gán  I. Mục tiêu 1. Về kiến thức: - Biết các khái niệm: Phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ. - Hiểu lệnh gán. 2. Về kỹ năng: -Viết được các biểu thức số học và logic với các phép toán thông dụng. - Viết được lệnh gán. 3. Về tư duy và thái độ: - Nhận biết đượ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 quyết các bài toán thực tiễn ngày càng phức tạp. - Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực tính toán (thông qua giải bài tập). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực sáng tạo. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Để mô tả các thao tác trong thuật toán, mỗi ngôn ngữ lập trình đều xác định và sử dụng một số khái niệm cơ bản: phép toán, biểu thức, gán giá trị cho biến. Dưới đây sẽ xét các khái niệm đó trong Pascal. 2. Hình thành kiến thức: Hoạt động của giáo Hoạt động của học Nội dung viên sinh Hoạt động 1: Tìm hiểu khái niệm phép toán (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) 1. Phép toán: - Trong lập trình thường - Nghe giảng phải thực hiện các phép tính toán, phép so Trang 25
  26. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh sánh Vậy những phép toán đó trong chương trình được viết như thế nào? Có giống với ngôn ngữ toán học hay không? Chúng ta tìm hiểu vấn đề này? - Hãy kể các phép toán - Phép: cộng, trừ, nhân, đã học ở toán học? chia, lấy dư, so sánh, chia lấy nguyên. - Trong ngôn ngữ lập - Nghe giảng Ngôn ngữ lập trìnhPascal trình Pascal cũng có các có sử dụng một số phép phép toán đó nhưng toán sau: được diễn tả bằng một - Các phép toán số học: cách khác. - Suy nghĩ và trả lời + Với số nguyên: +, -, *, - Yêu cầu học sinh div, mod nghiên cứu sách giáo + Với số thực: +, -, *, khoa có bao nhiêu nhóm / phép toán? - Các phép toán quan hệ: , >=, <> - Các phép toán logic: Not, And, Or. - Phép chia (/) được sử - Kiểu thực. dụng cho kiểu dữ liệu nào? - Phép Mod, Div được - Kiểu nguyên. sử dụng cho kiểu dữ liệu nào? Ví dụ: - Suy nghĩ trả lời 17 mod 2= 1 17 mod 2= ? 17 div 2= 8 17 div 2= ? - Kết quả của phép toán - Suy nghĩ và trả lời - Kết quả của phép toán quan hệ thuộc kiểu dữ quan hệ thuộc kiểu logic. liệu nào? - Ứng dụng của phép - Suy nghĩ và trả lời - Ứng dụng của phép toán toán logic là gì? logic là: tạo ra các biểu - Lưu ý: Chỉ một số phép - Nghe giảng thức phức tạp từ các quan toán được dùng, một số hệ đơn giản. phép toán phải xây dựng từ các phép toán khác. Ví dụ phép lũy thừa không phải ngôn ngữ nào cũng dùng được. Trang 26
  27. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh Hoạt động 2: Tìm hiểu biểu thức số học (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học, năng lực giao tiếp, năng lực tính toán) 2. Biểu thức số học: - Trong toán học ta đã - Suy nghĩ và trả lời - Trong toán học, các yếu làm quen với khái niệm tổ cơ bản xây dựng nên biểu thức. Hãy cho biết biểu thức: toán hạng, toán các yếu tổ cơ bản xây tử. dựng nên biểu thức? - Nếu trong một bài toán - Suy nghĩ trả lời - Nếu trong một bài toán mà toán hạng là hằng số, mà toán hạng là hằng số, biến, hoặc hàm số và biến, hoặc hàm số và toán toán tử là các phép toán tử là các phép toán số học số học thì biểu thức có thì biểu thức có tên gọi là tên gọi là gì? biểu thức số học. - Dẫn dắt học sinh khái - Nghe giảng * Khái niệm: Biểu thức số niệm biểu thức số học và học là một biến kiểu số cách viết biểu thức số hoặc hằng số và các hàm học trong ngôn ngữ lập kiểu số liên kết lại với trình. nhau bởi một số hữu hạn các phép toán số học +,- ,*,/,div, mod, các dấu ngoặc ( ) tạo thành một biểu thức có dạng tương tự như trong toán học. * Quy tắc viết biểu thức số học: - Chỉ dùng dấu ( ) xác định trình tự thực hiện các phép toán trong trường hợp cần thiết - Thảo luận nhóm: - Viết lần lượt từ trái sang (Hình thành năng lực - Thảo luận nhóm và phải giao tiếp, năng lực hợp báo cáo kết quả. - Không bỏ qua dấu nhân tác, năng lực tính toán) - Nhận xét kết quả các (*) trong tích Chia thành 3 nhóm: Hãy nhóm khác biễu diễn biểu thức toán học sau đây thành biểu thức trong ngôn ngữ lập trình. a. 4x - 2y b. x + 1 x y Trang 27
  28. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh a b c b2 c c. - 2a ac c a. 4*x-2*y b - Nhận xét và kết luận b. x+1/(x-y) c. ((a+b+c)/((2*a /b)+c)) - (b*b-c)/(a*c) - Từ việc xây dựng các * Thứ tự thực hiện các biểu thức trên, hãy nêu - Suy nghĩ trả lời phép toán: thứ tự thực hiện các - Thực hiện các phép toán phép toán? trong ngoặc trước. - Trong dãy các phép toán không chứa dấu ngoặc thì thực hiện từ trái sang phải: *, /, div, mod thực hiện trước và các phép toán +, - thực hiện sau. - Nếu biểu thức chứa - Nghe giảng Chú ý : một hằng hay biến kiểu - Nếu biểu thức chứa một thực thì ta có biểu thức hằng hay biến kiểu thực thì số học thực, giá trị của ta có biểu thức số học thực, biểu thức cũng thuộc giá trị của biểu thức cũng kiểu thực. thuộc kiểu thực. - Trong một số trường - Trong một số trường hợp hợp nên dùng biến trung nên dùng biến trung gian gian để có thể tránh để có thể tránh được việc được việc tính một biểu tính một biểu thức nhiều thức nhiều lần. lần. Hoạt động 3: Tìm hiểu một số hàm số học chuẩn (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học, năng lực giao tiếp, năng lực tính toán) 3. Hàm số học chuẩn: - Để tính giá trị x2 thì - Nghe giảng - Các ngôn ngữ lập trình chúng ta có thể được thường cung cấp sẳn một biểu diễn: x*x số hàm số học để tính giá - Nhưng để tính giá trị trị một số hàm thông dụng. của x hay thì chúng Cách viết: Tên-hàm (Đối - ta phải làm như thế nào? số) - Để tính các giá trị đó Trong đó: một cách đơn giản các - Đối số: Là một hay nhiều Trang 28
  29. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh ngôn ngữ lập trình đều biểu thức số học đặt trong có thư viện chứa một số dấu ngoặc đơn chương trình tính giá trị * Một số hàm chuẩn những hàm toán học thường dùng: thường dùng. Các Sqr(x) : Bình chương trình như vậy phương gọi là các hàm số học Sqrt(x): Căn bậc chuẩn. hai Abs(x): Giá trị tuyệt đối Sin(x) : Tính giá trị sinx (Bảng một số hàm chuẩn sách giáo khoa 26) VD1: Biểu thức toán - Suy nghĩ và trả lời học: b b 2 4ac (-b+sqrt(b*b-4*a*c))/(2*a) 2a Trong Pascal biểu thức này được biểu diển như thế nào? VD2: Cho biểu thức - Suy nghĩ và trả lời (abs(x) - sqrt(2*x+1)) / x 2x 1 (sqr(x)-1) x 2 1 Hãy biểu diễn biểu thức toán trong biểu thức trong ngôn ngữ lập trình? - Bản thân hàm chuẩn - Nghe giảng và ghi bài. - Bản thân hàm chuẩn cũng cũng được coi là một được coi là một biểu thức biểu thức số học và có số học và có thể tham gia Trang 29
  30. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh thể tham gia vào biểu vào biểu thức số học như thức số học như một một toán hạng. toán hạng. - Kết quả của hàm có thể là - Kết quả của hàm có thể nguyên hay thực phục là nguyên hay thực phục thuộc vào kiểu của đối số. thuộc vào kiểu của đối số. 4. Biểu thức quan hệ: Hoạt động 4: Tìm hiểu khái niệm biểu thức quan hệ (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học, năng lực giao tiếp, năng lực tính toán) - Trong lập trình ta phải - Nghe giảng - Biểu thức quan hệ có so sánh 2 giá trị nào đó dạng sau: trước khi thực hiện lệnh thức quan hệ. Biểu thức Trong đó: Bt1, bt2: Phải quan hệ còn gọi là biểu cùng kiểu thức so sánh được dùng để so sánh 2 giá trị đúng hoặc sai. - Cho một ví dụ về biểu - Suy nghĩ và trả lời x + y 5 → Kết quả? - Suy nghĩ và trả lời 3>5 → Kết quả false 10>5 → Kết quả? 10>5 → Kết quả true - Kết quả mà phép toán - Suy nghĩ và trả lời - Kết quả của biểu thức quan hệ thuộc kiểu dữ quan hệ: kiểu logic. liệu nào? Hoạt động 5: Tìm hiểu khái niệm biểu thức logic (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học, năng lực giao tiếp, năng lực tính toán) 5. Biểu thức logic: - Các biểu thức quan hệ - Nghe giảng và ghi bài. - Biểu thức logic đơn giản: được liên kết với nhau Là biến logic hoặc hằng bởi phép toán Logic logic được gọi là biểu thức - Biểu thức logic: Là các Logic. biểu thức logic đơn giản, các biểu thức quan hệ liên Trang 30
  31. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh kết lại với nhau bởi các phép toán logic. - Hãy cho một số ví dụ -Suy nghĩ và trả lời Vi du: Ba số dương a, b, c về biểu thức logic. là độ dài ba cạnh của tam giác nếu thoả mản điều kiện sau: (a+b>c) AND (a+c>b) AND (b+c>a) - Trong toán học ta có - Suy nghĩ và trả lời - Biểu diễn trong ngôn ngữ biểu thức 5 0) định điều kiện sao cho and (N mod 3<>0)) M và N đồng thời chia hết cho 3 hoặc đồng thời không chia hết cho 3 được viết trong Pascal như thế nào? Hoạt động 6 : Tìm hiểu khái niệm câu lệnh gán (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học, năng lực giao tiếp, năng lực tính toán) 6. Câu lệnh gán : - Giới thiệu một ví dụ về - Suy nghĩ và trả lời - Lệnh gán là một trong lệnh gán trong Pascal những lệnh cơ bản nhất như sau: của mọi ngôn ngữ lập Trang 31
  32. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học Nội dung viên sinh x := 4+8; trình, thường dùng để gán cho biết kết quả. giá trị cho biến. - Giải thích: Lấy 4 cộng 8, đem kết quả đặt vào x. Ta được x=12. - Cho biết cấu trúc - Suy nghĩ trả lời - Cấu trúc: chung của lệnh gán := ; Trong đó: Kiểu của giá trị biểu thức phải phù hợp với kiểu của biến. - Hãy cho biết chức năng - Suy nghĩ trả lời - Chức năng của lệnh gán: của lệnh gán? Tính giá trị của biểu thức sau đó gán giá trị vào biến. - Hãy cho một ví dụ về - Suy nghĩ trả lời - Chức năng của lệnh gán: câu lệnh gán nghiệm của Tính giá trị của biểu thức phương trình bậc hai: sau đó gán giá trị vào biến. b b2 4ac 2a Cho chương trình: - Quan sát chương Var i,z:integer; Var i,z:integer; trình. Begin Begin z:=4; z:=4; i:=6: i:=6: z := z - 1; z := z - 1; i := i+1; i := i+1; writeln(‘i=’,i); writeln(‘i=’,i); writeln(‘z=’,z); writeln(‘z=’,z); readln; readln; End. End. - Chương trình in ra màn - Suy nghĩ trả lời - In ra màn hình: z=3 và hình giá trị bằng bao i=7. nhiêu? - Thực hiện chương trình - Quan sát kết quả của để học sinh kiểm nghiệm chương trình. kết quả tự suy luận. 3. Luyện tập và thực hành: Hãy nhắc lại: - Các phép toán trong Turbo Pascal? - Các biểu thức trong Turbo Pascal? - Cấu trúc lệnh gán trong Turbo Pascal? - Làm các bài tập 5, 6, 7, 8, sách giáo khoa, trang 35-36. Trang 32
  33. Giáo Án Tin 11 - Xem phụ lục A, sách giáo khoa trang 121: Một số phép toán thường dùng và giá trị phép toán logic. 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học - Chuẩn bị bài “ CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN”. IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Trang 33
  34. Giáo Án Tin 11 Tiết PPCT: 8 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN §7. Các thủ tục vào/ra chuẩn  I. Mục tiêu 1. Về kiến thức: - Biết được ý nghĩa của các thủ tục vào/ ra chuẩn đối với lập trình - Biết được các cấu trúc chung của thủ tục vào/ ra trong ngôn ngữ lập trìnhPascal 2. Về kỹ năng: - Viết đúng lệnh vào /ra dữ liệu đơn giản - Biết nhập đúng dữ liệu khi thực hiện chương trình 3. Về tư duy và thái độ: - Nhận biết đượ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 quyết các bài toán thực tiễn ngày càng phức tạp. - Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Khi giải một bài toán nào đó, nếu chúng ta muốn nhập dữ liệu từ bàn phím để giải bài toán đó thì làm như thế nào? Hay muốn hiện thị kết quả ra màn hình thì phải làm như thế nào? Để giải quyết được những vấn đề đó thì ngôn ngữ lập trình pascal có các thủ tục chuẩn vào/ ra đơn giản. 2. Hình thành kiến thức: Hoạt động của học Hoạt động của giáo viên Nội dung sinh Hoạt động 1: Tìm hiểu các thủ tục chuẩn vào/ra đơn giản (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực giao tiếp) 1. Nhập dữ liệu từ bàn phím: - Khi giải quyết một bài - Chú ý lắng nghe dẫn toán, ta phải đưa dữ liệu dắt của giáo viên. vào để máy tính xử lý, việc đưa dữ liệu bằng Trang 34
  35. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh lệnh gán sẽ làm cho chương trình chỉ có tác dụng với một dữ liệu cố định. Để chương trình giải quyết được nhiều bài toán hơn, ta phải sử dụng thủ tục nhập dữ liệu. - Yêu cầu học sinh nghiên - Nghe giảng Việc nhập dữ kiệu từ bàn phím cứu sách giáo khoa và được thực hiện bằng thủ tục: cho biết cấu trúc chung Read( ); của thủ tục nhập dữ liệu Hoặc: Readln( ); trong ngôn ngữ lập Trong đó: DS biến vào là một trìnhPascal? hoặc nhiều biến đơn - Read(N): nhập 1 giá trị - Chú ý lắng nghe Ví dụ: Read(N); từ bàn phím cho N giảng và ghi bài. Readln(a,b,c); - Readln(a,b,c): Nhập 3 giá trị và gán cho a, b, c Lưu ý: Khi nhập giá trị - Chú ý lắng nghe cho nhiều biến, các giá trị giảng và ghi bài. này cách nhau ít nhất một dấu cách trống hoặc enter. Readln(a,b,c) Nếu ta nhập: 1, 5, 9 → sai Mà chúng ta phải nhập: 1 5 9 Hoặc: 1 5 9 - Nêu ví dụ: Khi viết - Suy nghĩ và trả lời - Phải nhập giá trị cho hai biến: chương trình giải phương a, b. trình ax+b=0, ta phải - Viết lệnh: Readln(a,b); nhập vào các đại lượng nào? viết lệnh nhập? 2. Đưa dư liệu ra màn hình: - Sau khi xử lý xong, kết - Chú ý lắng nghe dẫn quả tìm được đang được dắt của giáo viên. lưu trong bộ nhớ. Để thấy được kết quả trên màn Trang 35
  36. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh hình ta sử dụng thủ tục xuất dữ liệu. - Yêu cầu học sinh nghiên - Suy nghĩ và trả lời - Để đưa dữ liệu ra màn hình, cứu sách giáo khoa và pascal cung cấp thủ tục chuẩn: cho biết cấu trúc chung của thủ tục xuất dữ liệu Write( ); trong ngôn ngữ lập Hoặc: trìnhPascal? Writeln( ); - Trong đó: - Trong đó: + Danh sách kết quả đưa - Nghe giảng + Danh sách kết quả đưa ra: Có ra: Có thể là tên biến, thể là tên biến, biểu thức, hoặc biểu thức, hoặc hằng. hằng. -Write: Sau khi đưa kết -Write: Sau khi đưa kết quả ra quả ra màn hình con trỏ màn hình con trỏ không chuyển không chuyển xuống xuống dòng tiếp theo dòng tiếp theo - Writeln: Con trỏ chuyển xuống - Writeln: Con trỏ dòng tiếp theo. chuyển xuống dòng tiếp theo. Ví dụ: Nhập một số - Suy nghĩ và trả lời Ví dụ: Nhập một số nguyên và nguyên và một số thực từ một số thực từ bàn phím bàn phím? Write(‘Nhập số nguyên M:’); readln(M); Write(‘Nhập số thực N:’); readln(N); * Ngoài ra trong Pascal - Chú ý lắng nghe * Ngoài ra trong Pascal còn có còn có quy cách đưa giảng và ghi bài. quy cách đưa thông tin như sau: thông tin như sau: - Kết quả thực: - Kết quả thực: : : : thập phân> - Kết quả khác: - Kết quả khác: : : Lấy ví dụ minh hoạ: - Chú ý lắng nghe giảng và ghi bài. Vd1: Var N : real; Writeln(‘N=’, N:5:2); Vd2: Var M:integer; Writeln(‘M=’,M:5); Hãy nhắc lại: - Nhập dữ liệu vào từ bàn phím? Trang 36
  37. Giáo Án Tin 11 - Đưa dữ liệu ra màn hình? 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Tiết PPCT: 9 § 8. 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. Về kiến thức: - Biết các bước soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình - Biết được một số công cụ của môi trường Turbo Pascal 7.0 2. Về kỹ năng: - Biết khởi động và thoát khỏi Turbo Pascal - Bước đầu sử dụng được chương trình dịch để phát hiện lỗi - Bước đầu chỉnh sửa được chương trình dựa vào thông báo lỗi của chương trình dịch. 3. Về tư duy và thái độ: - Nhận biết đượ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 quyết các bài toán thực tiễn ngày càng phức tạp. - Có tính kỉ luật cao và tinh thần làm việc theo nhóm. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Khi giải một bài toán nào đó, nếu chúng ta muốn nhập dữ liệu từ bàn phím để giải bài toán đó thì làm như thế nào? Để viết các chương trình những vấn đề đó thì ngôn ngữ lập trình pascal thực hiện 2. Hình thành kiến thức: Trang 37
  38. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh Hoạt động 1: Tìm hiểu việc soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực giao tiếp) Khởi động: - Để sử dụng được Turbo - Suy nghĩ trả lời Turbo.exe Pascal, trên máy phải có Turbo.tpl các file chương trình cần Graph.tpu thiết. Tham khảo sách egavga.bgi giáo khoa và cho biết tên các file chương trình đó? - Trình diễn cách khởi - Quan sát. động Turbo Pascal thông qua máy chiếu. - Giới thiệu màn hình Một số thao tác thường dùng soạn thảo chương trình: trong pascal: Bảng chọn, con trỏ, vùng - Xuống dòng: Enter soạn thảo - Ghi file lên đĩa: F2 - Giới thiệu một số thao - Nghe giảng - Mở file đã có: F3 tác thường dùng trong - Biện dich CT: Alt+F9 pascal: - Chạy CT: Crtl+F9 + Xuống dòng: Enter Thoát khỏi Pascal: Alt+X + Ghi file lên đĩa: F2 + Mở file đã có: F3 + Biện dich CT: Alt+F9 + Chạy CT: Crtl+F9 + Thoát khỏi TP:Alt+X - Thực hành ví dụ sau: - Thực hành và chạy Program dt_hinh_tron; Hãy viết chương trình thử chương trình: Const pi=3.1416; tính diện tích hình tròn Var R,S: Real; bán kính R với R nhập Begin vào từ bàn phím? Write(‘Nhap R=’); Hướng dẫn: Readln(R); Program dt_hinh_tron; S:=pi*R*R; Const pi=3.1416; Write(‘Dt hinh tron S=’,S:8:3); Var R,S: Real; Readln; Begin End. Write(‘Nhap R=’); Readln(R); S:=pi*R*R; Write(‘Dt hinh tron S=’,S:8:3); Readln; End. Trang 38
  39. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh - Thực hành ví dụ sau: - Thực hành và chạy Program vi_du; Program ví_du; thử chương trình: Uses crt; Uses CRT; Var a, b, Max: Integer; Var a, b, Max: Integer; Begin Begin Write(‘Nhập a, b:’); Write(‘Nhập a, b:’); readln(a,b); readln(a,b); Max:=a; Max:=a; If Max<b then Max:=b; If Max<b then Max:=b; Write(‘Max la:’, Max:5); Write(‘Max la:’, Max:5); Readln; Readln; End. End. 3. Luyện tập và thực hành: - Soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình? Trang 39
  40. Giáo Án Tin 11 Tiết PPCT: 10 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN Bài tập và thực hành 1  I. Mục tiêu 1. Về kiến thức: - Biết viết một chương trình Pascal hoàn chỉnh. - Làm quen với các dịch vụ chủ yếu của Turbo Pascal trong việc soạn thảo, lưu chương trình, dịch chương trình và thực hiện chương trình. 2. Về kỹ năng: - Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện, tìm lỗi của chương trình và 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 Turbo Pascal. 3. Về tư duy và thái độ: - Tự giác, tích cực và chủ động trong thực hành. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ - Phát triển năng lực tính toán (thông qua giải bài tập). - Phát triển năng lực giao tiếp - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực tự quản lý và năng lực tự học. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, phòng máy 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Hôm nay, chúng ta sẽ làm quen với một số dịch vụ cơ bản của Turbo Pascal trong việc soạn thảo, lưu trữ, dịch và thực hiện một số chương trình đơn giản. 2. Hình thành kiến thức: Hoạt động của học Hoạt động của giáo viên Nội dung sinh Hoạt động 1: Làm quen với môi trường Turbo Pascal (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực sử dụng máy vi tính) 1. Làm quen với môi trường Turbo Pascal: - Ngồi thực hành theo hướng dẫn của giáo - Giới thiệu các thành phần viên. trên màn hình của Pascal, - Chú ý theo dõi hướng hướng dẫn các bước để dẫn của giáo viên, sau soạn thảo một chương đó thực hành theo sự Trang 40
  41. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh trình. hướng dẫn đó. - Giới thiệu và giải thích - Nghe giảng. Nội dung: Cho chương chương trình đơn giản như trình sau: giải phương trình bậc hai: Program Giai_pt; input, output, thuật toán Uses crt; Var a, b, c, d, x1, x2: real; Begin Clrscr; Write(’nhap a b c ’); Readln(a, b, c); D:= b*b-4*a*c; X1:= (-b-sqrt(d))/(2*a); X2:= -b/a – X1; Writeln(’x1=’,x1:6:2,’ x2=’,x2:6:2); Readln; End. Chiếu chương trình lên Quan sát chương trình, - Gõ chương trình vào bảng. Yêu cầu hs thực hiện tiến hành soạn vào máy máy tính. các nhiệm vụ: - Lưu chương trình. - Soạn chương trình vào - Soạn thảo, dịch, thực - Dịch và sửa lỗi cú pháp. máy. hiện và hiệu chỉnh - Thực hiện chương trình. - Lưu chương trình. chương trình theo các - Thực hiện chương trình - Dịch lỗi cú pháp. yêu cầu mà sách giáo với bộ dữ liệu khác. - Thực hiện chương trình. khoa đã đặt ra. - Sửa lại chương trình - Nhập dữ liệu 1 -3 2. theo yêu cầu. Thông báo kết quả - Sửa lại chương trình - Trở về màn hình soạn theo yêu cầu khác. thảo. - Thực hiện chương trình - Thực hiện chương trình. đã sửa. - Nhập dữ liệu 1 0 2. - Thực hiện chương trình Thông báo kết quả. đã sửa với bộ dữ liệu - Vì sao có lỗi xuất hiện? khác. - Chỉnh sửa chương trình trên để chương trình không dùng biến trung gian D. - Thay đổi công thức tính x2? - Thực hiện chương trình. - Quan sát và hướng dẫn sửa lỗi chương trình khi học sinh không tự phát hiện và sửa được lỗi. Hoạt động 2: Rèn luyện kĩ năng lập chương trình (Hình thành năng lực phát Trang 41
  42. Giáo Án Tin 11 Hoạt động của học Hoạt động của giáo viên Nội dung sinh hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học) 2. Rèn luyện kĩ năng lập chương trình: - Đưa ra một bài tập, yêu - Ghi đề bài toán. - Hãy viết chương trình cầu học sinh phân tích và nhập vào độ dài các cạnh lập trình giải bài toán. và chiều cao của một hình thang, sau đó tính diện tích và đưa kết quả ra màn hình. - Dữ liệu vào? Dữ liệu ra? - Suy nghĩ trả lời - Dữ liệu vào: a,b,h - Dữ liệu ra: - Thuật toán/Ý tưởng? - Suy nghĩ và trả lời - Tính diện tích hình thang theo công thức: S=(a+b).h/2 - Yêu cầu học sinh tự sọan Thực hiện các yêu cầu Program chương trình và lưu lên của giáo viên: dientichhinhthang; máy. - Soạn chương trình Uses crt; - Quan sát hướng dẫn từng - F2, gõ tên file để lưu Var a,b,h,S: Real; nhóm học sinh trong lúc - Alt+F9 : biên dịch lỗi Begin thực hành - Ctrl+F9: thực hiện Clrscr; chương trình. Write(’nhap a b h ’); - Nhập dữ liệu theo yêu Readln(a, b, h); - Yêu cầu học sinh nhập dữ cầu và thông báo kết S:=(a+b)*h/2; liệu và thông báo kết quả quả. Writeln(’S=’,S:6:2); Readln; End. 3. Luyện tập và thực hành: - Viết chương trình nhập vào ba số a, b, c. Tính tổng ba số đó? - Viết chương trình nhập từ bàn phím 2 số thực a và b, tính và đưa ra màn hình trung bình cộng các bình phương của hai số đó. 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học - Làm các bài tập trang 35,36 SGK. IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Trang 42
  43. Giáo Án Tin 11 Trang 43
  44. Giáo Án Tin 11 Tiết PPCT: 11 CHƯƠNG II CHƯƠNG TRÌNH ĐƠN GIẢN Bài tập và thực hành tổng hợp  I. Mục tiêu 1. Về kiến thức: - Chữa một số bài tập cuối chương và làm thêm một số bài tập ngoài SGK. - Củng cố những kiến thức đã học. 2. Về kỹ năng: - Biết xác định Input và Output. - Biết đặt tên đúng theo quy tắc của Pascal. Phân biệt được hằng và biến. - Biết sử dụng các thủ tục chuẩn vào/ra. 3. Về tư duy và thái độ: - Tự giác, tích cực và chủ động trong thực hành. 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực tính toán (thông qua giải bài tập). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. - Phát triển năng lực sáng tạo. - Phát triển năng lực tự quản lý và năng lực tự học. - Phát triển năng lực sử dụng công nghệ thông tin và truyền thông. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, phòng máy 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Để vận dụng các lý thuyết đã học ở chương I và II. Chúng ta cùng thực hành một số bài tập sau. 2. Hình thành kiến thức: Hoạt động của giáo Hoạt động của học sinh Nội dung viên Hoạt động 1: Giải quyết các bài toán cuối chương trong sách giáo khoa (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực tính toán) - Yêu cầu HS trả lời các - Đứng tại chỗ trả lời. - Câu hỏi lý thuyết 1,2,3,4,5 câu hỏi 1,2,3,4,5 SGK. – SGK trang 35. Câu 1: Sự khác nhau giữa hằng có đặt tên và biến là: xét về mặt lưu trữ của hằng và biến trong Ram thì giá trị trong ô nhớ của hằng có đặt Trang 44
  45. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên tên là không thay đổi, còn giá trị trong ô nhớ của biến thì có thể thay đổi được tại từng thời điểm thực hiện chương trình. Câu 2: khai báo biến nhằm các mục đích sau: - Xác định kiểu của biến - Đưa tên biến vào danh sách các đối tượng được chương trình quản lí. - Trình dịch biết cách truy cập giá trị của biến và áp dụng thao tác thích hợp cho biến. Câu 3: Integer, Word, Longint Câu 4: khai báo đúng là các khai báo ở câu b và d. Tuy nhiên khai báo của câu d tốt hơn. Câu 5: Vì cạnh a chỉ nhận giá trị trong phạm vi từ 100 đến 200 nên các khai báo b,c,d đều đúng. Cách khai báo câu c là tốt nhất vì tiết kiệm được bộ nhớ cần lưu trữ. - Thảo luận nhóm: - Làm bài tập nhóm theo Câu 6: Hãy viết biểu thức (Hình thành năng lực yêu cầu của giáo viên. toán học dưới đây trong giao tiếp, năng lực hợp Pascal y tác, năng lực tính toán) x Chia lớp làm bốn nhóm, (1+z) z 1 yêu cầu các nhóm làm a bài tập 6,7,8 theo nhóm. 1 x 3 ĐÁP ÁN: (1+z)*((x+y/z)/(a- 1/(1+x*x*x))) - Yêu cầu các nhóm lên - Lên bảng trình bày kết Câu 7: hãy chuyển các biểu bảng trình bày kết quả quả. thức trong Pascal dưới đây của nhóm. sang biểu thức toán học tương ứng: a. a/b*2 b. a*b*c/2 c. 1/a*b/c Trang 45
  46. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên d. b/sqrt(a*a+b) ĐÁP ÁN: a. 2a b b. abc 2 c. b ac b d. a 2 b - Yêu cầu học sinh nhận - Theo dõi nhận xét. Câu 8: Viết biểu thức logic xét kết quả. cho kết quả true khi tọa độ (x,y) là điểm nằm trong vùng gạch chéo kể cả biên của hình 2a (SGK) ĐÁP ÁN: (y =abs(x)) - Sau khi học sinh thảo - Ghi bài. Bài 8: Viết biểu thức logic luận nhóm xong, nhận cho kết quả true khi tọa độ xét đánh giá kết quả các (x,y) là điểm nằm trong nhóm làm, đưa ra kết vùng gạch chéo kể cả biên quả cuối cùng, cho điểm của hình 2b (SGK) các nhóm. ĐÁP ÁN: (abs(x) 0 rồi tính và - Dữ liệu vào: Dữ liệu vào a đưa ra diện tích phần được - Dữ liệu ra: Dữ liệu ra S gạch chéo trong hình 3 - Cách tính: Cách tính diện tích hình SGK (kết quả làm tròn đến gạch chéo bằng nửa diện 4 chữ số thập phân) tích hình tròn bán kính là a. - Thảo luận nhóm: - Làm bài theo nhóm. Program bai 9; (Hình thành năng lực Uses crt; giao tiếp, năng lực hợp Const pi=3.14; tác, năng lực tính toán) Var a,S: real; Chia lớp làm bốn nhóm, Begin yêu cầu cầu các nhóm Clrscr; viết chương trình. Write (‘nhap gia tri a (a>0): - Yêu cầu đại diện nhóm - Theo dõi bạn làm trên ‘); lên máy soạn thảo, dịch màn hình, sau đó nhận xét. Readln(a); và chạy thử rồi thông S:=pi*a*a/2; báo kết quả. Write(‘dien tich phan duoc - Theo dõi học sinh trao gach cheo la : ‘, S:20:4); Trang 46
  47. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên đổi thảo luận, sau đó Readln; nhận xét đánh giá và sửa End. lỗi (nếu có) Định hướng để học sinh Phân tích theo yêu cầu của Câu 10: lập trình và đưa ra phân tích bài toán. giáo viên. màn hình vận tốc v khi - Dữ liệu vào: Dữ liệu vào h chạm đất của một vật rơi từ - Dữ liệu ra: Dữ liệu ra v độ cao h, biết rằng v= 2gh , - Cách tính: Cách tính: v= 2gh trong đó g là gia tốc rơi tự do và g=9,8 m/s2. Độ cao h(m) được nhập từ bàn phím. - Thảo luận nhóm: - Làm bài theo nhóm. Program bai 10; (Hình thành năng lực Uses crt; giao tiếp, năng lực hợp Const g=9.8; tác, năng lực tính toán) Var V,h: real; Chia lớp làm bốn nhóm, Begin yêu cầu cầu các nhóm Clrscr; viết chương trình. Write(‘nhap do cao h=’); - Yêu cầu đại diện nhóm - Theo dõi bạn làm trên Readln(h); lên máy soạn thảo, dịch màn hình, sau đó nhận xét. V:=sqrt(2*g*h); và chạy thử rồi thông Write(‘van toc khi cham dat báo kết quả. la:’,V:10:4,’m/s’); - Theo dõi học sinh trao Readln đổi thảo luận, sau đó End. nhận xét đánh giá và sửa lỗi (nếu có). Hoạt động 2: Thực hiện một số bài tập ngoài SGK (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực tính toán) - Định hướng để học - Phân tích theo yêu cầu Bài tập 1: hãy viết chương sinh phân tích bài toán. của giáo viên. trình nhập vào bán kính R - Dữ liệu vào: Dữ liệu vào R của hình tròn rồi tính và đưa - Dữ liệu ra: Dữ liệu ra S ra diện tích S của hình tròn - Cách tính: Cách tính: S= R2 đó. - Thảo luận nhóm: - Làm bài theo nhóm. Program dt_hinh_tron; (Hình thành năng lực Uses crt; giao tiếp, năng lực hợp Const pi=3.1416; tác, năng lực tính toán) Var R, S:Real; Chia lớp làm bốn nhóm, Begin yêu cầu cầu các nhóm Write(‘nhap R=’); viết chương trình. Readln(R); - Yêu cầu đại diện nhóm - Theo dõi bạn làm trên S:=pi*R*R; lên máy soạn thảo, dịch màn hình, sau đó nhận xét. Write(‘dt hinh tron la và chạy thử rồi thông S=’,S:8:2); Trang 47
  48. Giáo Án Tin 11 Hoạt động của giáo Hoạt động của học sinh Nội dung viên báo kết quả. Readln; - Theo dõi học sinh trao End. đổi thảo luận, sau đó nhận xét đánh giá và sửa lỗi (nếu có). 3. Luyện tập và thực hành: Các bước để hoàn thành một chương trình - Phân tích bài toán để xác định dữ liệu vào, dữ liệu ra. - Xác định thuật toán - Soạn thảo chương trình vào máy. - Lưu trữ chương trình - Biên dịch chương trình - Thực hiện và hiệu chỉnh chương trình 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học. - Xem trước bài 9 chương 3. Trang 48
  49. Giáo Án Tin 11 Tiết PPCT: 12-13 CHƯƠNG III CẤU TRÚC RẼ NHÁNH VÀ LẶP § 9: Cấu trúc rẽ nhánh  I. Mục tiêu 1. Về kiến thức: - Biết nhu cầu cần có cấu trúc rẽ nhánh trong biểu diễn thuật toán. - Hiểu câu lệnh rẽ nhánh (dạng thiếu và dạng đầy đủ). - Hiểu câu lệnh ghép. 2. Về 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 dạng khuyết, rẽ nhánh dạng đầy đủ và áp dụng để thể hiện được thuật toán của một số bài toán đơn giản. 3. Về tư duy và thái độ: - Tiếp tục khơi gợi lòng ham thích giải toán bằng lập trình trên máy tính. - Tiếp tục rèn luyện các phẩm chất cần thiết của người lập trình như cẩn thận, chu đáo, sáng tạo 4. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực tính toán (thông qua giải bài tập). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: - Giới thiệu chương mới: Ở chương trước, chúng ta đã tìm hiểu cấu trúc chung của một chương trình đơn giản, các khai báo cần có trong một chương trình, các phép toán, biểu thức, câu lệnh gán, các thủ tục chuẩn vào/ra Chúng ta cũng đã thực hành soạn thảo, dịch, thực hiện và hiệu chỉnh một số chương trình đơn giản nhất. Hôm nay, chúng ta sẽ tiếp tục tìm hiểu về các chương trình Pascal phức tạp hơn với hai cấu trúc hoàn toàn mới là RẼ NHÁNH VÀ LẶP. - Giới thiệu bài mới: Ở bài thực hành số 1 ta đã viết chương trình tính nghiệm của phương trình bậc hai: ax2+bx+c=0 (a 0) như sau: Trang 49
  50. Giáo Án Tin 11 Program Giai_pt; Uses crt; Var a, b, c, d, x1, x2: real; Begin Clrscr; Write(’nhap a b c ’); Readln(a, b, c); D:= b*b-4*a*c; X1:= (-b-sqrt(d))/(2*a); X2:= -b/a – X1; Writeln(’x1=’,x1:6:2,’ x2=’,x2:6:2); Readln; End. Với chương trình này thì khi gặp trường hợp D<0 (với a=b=c=1) chương trình sẽ báo lỗi. Vậy, để giải phương trình bậc hai: ax 2+bx+c=0 (a 0) với đầy đủ tất cả các trường hợp, ta làm như thế nào? Chúng ta học bài 9 “CẤU TRÚC RẼ NHÁNH” để giải quyết vấn đề này. 2. Hình thành kiến thức: Hoạt động của giáo Họat động của học sinh Nội dung viên Hoạt động 1: Tìm hiểu khái niệm rẽ nhánh (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ) I. Rẽ nhánh. Cho ví dụ về 1 câu điều -Nếu em thuộc bài thì 10 kiện? điểm. -Nếu tối nay trời mưa thì em nghỉ học ngược lại thì em đi học. Chúng ta sẽ phân tích * Một số mệnh đề có dạng điều từng ví dụ: kiện: +Câu đầu tiên : Nếu em + Dạng thiếu: Nếu thì thuộc bài thì 10 điểm + Dạng đủ: Nếu thì nếu câu này chỉ nói trường không thì hợp thuộc bài thì 10 * Cấu trúc dùng để mô tả các điểm chứ không nói mệnh đề như trên được gọi là không thuộc bài thì cấu trúc rẽ nhánh thiếu và đủ. sao. Câu này là câu * Mọi ngôn ngữ lập trình đều nếu .thì . dạng thiếu có các câu lệnh để mô tả cấu + Câu thứ hai: Nếu tối trúc rẽ nhánh. này trời mưa thì em nghỉ học ngược lại thì em đi học. Câu này nói trường hợp trời mưa thì không đi học và trời không mưa thì đi học. Trang 50
  51. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên Câu này là dạng câu Nếu .thì , nếu không thì (dạng câu nếu thì dạng đủ). Hoạt động 2: Tìm hiểu câu lệnh If- Then (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ) 2. Câu lệnh IF – THEN: Nêu cú pháp câu lệnh Dạng khuyết: * Để mô tả cấu trúc rẽ nhánh, rẽ nhánh dạng đủ và IF THEN Pascal dùng câu lệnh: dạng khuyết. ; a. Dạng khuyết: Dạng đủ: IF THEN THEN lệnh>; ( Hình 5) ELSE ; IF THEN ELSE ; (Hình 6) Gọi học sinh viết câu If a > b then max:= a; lệnh so sánh để tìm If a b then max:=a Else max:=b; Nhận xét. Hoạt động 3: Tìm hiểu câu lệnh ghép (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học, năng lực giao tiếp) 3. Câu lệnh ghép và ví dụ: Muốn thực hiện nhiều Phát biểu ý kiến của- lệnh sau if hoặc sau mình. then thì làm thế nào? Dẫn đến khái niệm và * Trong ngôn ngữ Pascal câu cách dùng câu lệnh lệnh ghép có dạng: ghép: nếu trong cấu Begin trúc rẽ nhánh, sau ; THEN có từ 2 lệnh trở End; 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 Yêu cầu học sinh thảo Thảo luận nhóm: * Ví dụ: Viết chương trình giải luận tìm giải tìm thuật B1: Nhập a, b, c. phương trình bậc hai. toán giải PT bậc hai? B2: Tính d = b2 – 4ac; - B3: + Nếu d < 0 thì pt vô nghiệm Trang 51
  52. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên + Ngược lại thì pt có 2 nghiệm x1,2 = b d 2a Yêu cầu học sinh thảo Đại diện nhóm trình Program ptb2; luận nhóm để viết bày: Var a, b, c, d, x1, x2: real; chương trình thể hiện Program ptb2; Begin thuật toán trên. Var a, b, c, d, x1, x2: Write(‘ Nhap a, b, c:’); real; Readln(a,b,c); Begin d := b*b – 4*a*c; Write(‘ Nhap a, b, c:’); If d then ; Trang 52
  53. Giáo Án Tin 11 B. If then . C. If ; then ; D. If ; then . Câu 2: Trong ngôn ngữ lập trìnhPascal, câu lệnh nào sau đây là đúng? A. If then ; else ; B. If ; then else ; C. If ; then ; else ; D. If then else ; Câu 3: Trong ngôn ngữ lập trìnhPascal, câu lệnh nào sau đây là đúng? A. if a>b then max:=a else max:=b. B. if a>b then max:=a else max:=b; C. if a>b; then max:=a; else max:=b. D. if a>b; then max:=a; else max:=b; Câu 4: Cho đoạn chương trình sau: Begin x:=a; If a>b then x:=a-b else x:=b; End. Đoạn chương trình trên cho kết quả x bằng bao nhiêu nếu cho a=5, b=7? A. 5 B. 2 C. 7 D. -2 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học. - Xem trước phần tiếp theo của bài 9. IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Trang 53
  54. Giáo Án Tin 11 Tiết PPCT: 14-15 BÀI TẬP VÀ THỰC HÀNH 2  I. Mục tiêu 1. Về kiến thức: - Nắm chắc cấu trúc và sơ đồ thực hiện của cấu trúc rẽ nhánh. - Soạn được chương trình, lưu lên đĩa, dịch lỗi cú pháp, thực hiện, tìm lỗi của chương trình và hiệu chỉnh. 2. Định hướng hình thành và phát triển năng lực: - Hình thành và phát triển năng lực sử dụng ngôn ngữ - Hình thành và phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Hình thành và phát triển năng lực giải quyết vấn đề. - Hình thành và phát triển năng lực tự quản lý và năng lực tự học. - Hình thành và phát triển năng lực sử dụng máy vi tính II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, phòng máy 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: Hôm nay, chúng ta sẽ làm tìm hiểu rõ hơn cấu trúc rẽ nhánh thông qua bài thực hành 2 2. Hình thành kiến thức: Hoạt động của giáo Họat động của học sinh Nội dung viên Hoạt động 1: Tìm hiểu cấu trúc rẽ nhánh thông qua giải bài bộ số Pitago (Hình thành và phát triển năng lực sử dụng ngôn ngữ, giải quyết vấn đề, tự quản lý và năng lực tự học, giao tiếp và năng lực hợp tác, năng lực sử dụng máy tính) Yêu cầu học sinh thảo Thảo luận nhóm và trình Bài toán. Bộ số Pitago luận nhóm và làm các bày yêu cầu sau: -Yêu cầu học sinh nêu -Bình phương của 1 số Chương trình bài toán: nhập từ khái niệm về bộ số bằng tổng bình phương bàn phím 3 số nguyên dương a, pitago và cho ví dụ. của 2 số còn lại. Ví dụ: 3 b, c kiểm tra xem chúng có phải ; 4 ; 5 là bộ số Pitago vì là bộ số Pitago không? 52=32+42. Program Pitago; - Để kiểm tra bộ ba số -Ta phải kiểm tra đẳng Uses crt; a,b,c bất kỳ có phải là thức: Var a,b,c:word; 2 2 2 bộ Pitago, ta phải kiểm a = b + c a2,b2,c2:longint; 2 2 2 begin tra các đẳng thức nào? b = a + c c2 = b2 + a2 clrscr; write('a,b,c:'); - Khởi động chương Thao tác trên máy. readln(a,b,c); trình Turbo Pascal lên a2:=a; Trang 54
  55. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên và gõ vào chương trình b2:=b; kiểm tra bộ số Pitago c2:=c; như sách giáo khoa Thao tác trên máy. a2:=a2*a; b2:=b2*b; trang 49-50. c2:=c2*c; Yêu cầu học sinh lưu If (a2=b2+c2) or (b2=a2+c2) chương trình với tên Thao tác trên máy. or (c2=a2+b2) then writeln(' 3 so pytago.pas ( F2 và gõ da nhap la bo so pitago') tên). else writeln(' 3 so khong la Yêu cầu học sinh thực bo so pitago'); hiện từng lệnh của readln chương trình. (F7 và end. nhập giá trị a=3,b=4,c=5). Yêu cầu học sinh tự tìm thêm bộ dữ liệu là bộ số pitago và so sánh. - Yêu cầu học sinh xem Thao tác trên máy và các kết quả a2, b2, c2 thông báo kết quả. bằng cách chọn menu Debug để mở cửa sổ hiệu chỉnh để xem các giá trị. -Nhận xét. Dùng phần mềm hỗ trợ học tập Net Support quan sát và hướng dẫn học sinh thực hành. Kiểm tra bài làm của một số học sinh bất kì. Nhận xét, đánh giá và rút ra kinh nghiệm cho giờ thực hành sau. Hoạt động 2: Tìm hiểu cấu trúc rẽ nhánh thông qua giải bài toán tính điểm thi tin học (Hình thành và phát triển năng lực sử dụng ngôn ngữ, giải quyết vấn đề, tự quản lý và năng lực tự học, giao tiếp và năng lực hợp tác, năng lực sử dụng máy tính) Yêu cầu học sinh thảo Thảo luận nhóm và trình Bài toán. Tính điểm thi tin học luận nhóm và làm các bày yêu cầu sau: Các biến tb, lt, th lần Var lt,th,tb:real; Viết chương trình tính điểm thi lượt là điểm thi và điểm tin học và thông báo kết quả: lý thuyết và điểm thực nhập vào từ bàn phím điểm lý hành được khai báo thuyết và điểm thực hành, tính Trang 55
  56. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên kiểu gì? trung bình 2 điểm này, nếu điểm trung bình lớn hơn hoặc bằng 5 thì kết quả là đậu, ngược lại rớt. Program thitinhoc; Uses crt; Var lt, th, tb :real; begin clrscr; writeln('Nhap diem ly thuyet va thuc hanh); readln(lt,th); tb:=(lt+th)/2; writeln(‘Diem thi’, tb:0:1); if tb>=5 then (‘Ket qua: dau’) else (‘Ket qua: rot’) readln end. Cho biết công thức tính tb:=(lt+tb)/2 điểm trung bình Cho biết câu lệnh xét if tb>=5 then (‘Ket kết quả đậu, rớt? qua: dau’) else (‘Ket qua: rot’) Yêu cầu học sinh hoàn Thao tác trên máy. thiện chương trình trên máy Quan sát bài làm học sinh, sửa sai kịp thời. Kiểm tra bài làm của một số học sinh bất kì. Nhận xét, đánh giá và rút ra kinh nghiệm cho giờ thực hành sau. 3. Luyện tập và thực hành: - Dịch chương trình dùng tổ hợp phím nào? - Chạy chương trình dùng tổ hợp phím nào? 4. Vận dụng, mở rộng và bổ sung - Xem lại bài đã học - Xem trước bài 11. Kiểu mảng (1 chiều) IV. Rút kinh nghiệm: - Ưu điểm: Trang 56
  57. Giáo Án Tin 11 - Hạn chế: Trang 57
  58. Giáo Án Tin 11 Tiết PPCT: 16 BÀI TẬP I. Kiến thức cần đạt Ôn tập lại các kiến thức trọng tâm trong chương II và chương III chuẩn bị cho kiểm tra 1 tiết. II. Chuẩn bị dạy - học - Giáo viên: Sách giáo khoa, sách giáo viên, máy tính, máy chiếu (nếu có) - Học sinh: Sách giáo khoa, vở ghi. III. Phương pháp: Thuyết trình kết hợp vớ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ũ: kết hợp kiểm tra và cho điểm khi làm bài tập 3. Nội dung bài mới Hoạt động 1: làm một số bài tập cơ bản trong sách giáo khoa Hoạt động của GV Hoạt động của HS Bài 5 (sgk trang 51) uses crt; Lập trình tính: var y: real; n: byte; 50 n begin a) Y =  ; n=1n + 1 clrscr; Gợi ý: y:= 0; for n:=1 to 50 do y:= y + n/(n+1); - Bài này yêu cầu chúng ta làm gì? writeln(‘ Tong Y=’,Y:0:5); - Vai trò của n? readln - N có giá trị như thế nào? end. Bài 6 (sgk trang 51) Var ga, cho: byte; Gợi ý: Begin - số gà tối đa có thể nhận là bao For ga:=1 to 35 do nhiêu con? For cho:=1 to 24 do - Số chó tối đa có thể nhận là bao If (ga+cho=36) and nhiêu con? (ga*2+cho*4=100) then - Điều kiện để đưa ra số gà và số Writeln('So ga=',ga,' va so chó là gì? cho=',cho); Readln End. Bài tập làm thêm Program TRAMTRAU_TRAMCO; Dựa vào bài 6 ở trên lập trình giải bài Uses crt; toán cổ sau: Var td, tn, tg: integer; Trăm trâu trăm cỏ Begin Trâu đứng ăn năm Trang 58
  59. Giáo Án Tin 11 Hoạt động của GV Hoạt động của HS Trâu nằm ăn ba Clrscr; Lụ khụ trâu già Writeln(' TRAM TRAU TRAM Ba con một bó CO:'); Hỏi số trâu mỗi loại Writeln(' '); Gợi ý: Writeln('Trau dung Trau nam Trau - số trâu đứng tối đa có thể nhận là gia'); bao nhiêu con? For td:=0 to 20 do - Số trâu nằm tối đa có thể nhận là For tn:=0 to 33 do bao nhiêu con? For tg:=0 to 100 do - Số trâu già tối đa có thể nhận là If ((5*td + 3*tn + tg/3 = 100) and (td + bao nhiêu con? tn + tg = 100)) then Điều kiện để đưa ra số trâu mỗi loại Writeln(td:6, tn:12, tg:15); là gì? Readln; End. 4. Củng cố: Hướng dẫn học sinh bài 7 và bài 8 trang sách giáo khoa trang 51 để học sinh về nhà làm. 5. Bài tập về nhà Xem lại bài, tiết sau kiểm tra 1 tiết. Trang 59
  60. Giáo Án Tin 11 Tiết PPCT: 17 ĐỀ KIỂM TRA GIỮA KỲ 1 Họ và Tin Học 11 tên Lớp 11A Ngày A. Mục tiêu: 1. Kiến thức - Biết tin học là một ngành khoa họ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 ngôn ngữ Pascal: bảng chữ cái, tên, tên chuẩn, Tên dành riêng (từ khoá), hằng và biến. - Biết cấu trúc của một chương trình Pascal: cấu trúc chung và các thành phần. - Biết một số kiểu dữ liệu định sẵn trong Pascal: nguyên, thực, kí tự, logic. - Biết các khái niệm: Phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ. - Biết các lệnh vào/ra đơn giản để nhập thông tin từ bàn phím và đưa thông tin ra màn hình - Biết các bước: soạn thảo, dịch, thực hiện và hiệu chỉnh chương trình. - Biết một số công cụ của môi trường Pascal. - Biết cấu trúc rẽ nhánh. - Phân biệt được tên, hằng và biến. Phân tên đúng và tên sai - Nhận biết được các phần của một 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. - Khai báo đúng. - Nhận biết khai báo sai. - Viết được một chương trình đơn giản có sử dụng cấu trúc rẽ nhánh. 2. Định hướng hình thành và phát triển năng lực: - Hình thành và phát triển năng lực giải quyết vấn đề. - Hình thành và phát triển năng lực tự quản lý và năng lực tự học. B. Ma trận: Nhận biết Thông hiểu Vận dụng Vận dụng cao Tổng Chủ đề TN TL TN TL TN TL TN TL §1. Khái niệm lập Câu 2 1 câu Trang 60
  61. Giáo Án Tin 11 trình và ngôn ngữ 0.25 điểm 0.25 đ lập trình. Câu §2. Các thành phần Câu 7 3 câu 12, 26 của ngôn ngữ lập 0.5 trình. 0.25 điểm 0.75 đ điểm Câu 4, §3. Cấu trúc chương 10, 25, 5 câu trình. 27, 28 1.25 điểm 1.25 đ §4. Một số kiểu dữ Câu 5 1 câu liệu chuẩn. 0.25 điểm 0.25 đ Câu 1 Câu 20 2 câu §5. Khai báo biến 0.25 0.25 điểm 0.5 đ điểm Câu 11, 13, Câu 9 Câu 15 14, 8 câu §6. Phép toán, biểu 16, thức, câu lệnh gán. 17, 18 0.25 1.5 0.25 điểm 2 đ điểm điểm Câu §7. Các thủ tục Câu 3,6 3 câu 19 chuẩn vào/ra đơn 0.25 giản 0.5 điểm 0.75 đ điểm §8. Soạn thảo, dịch, Câu 8, 24 Câu 29 3 câu thực hiện và hiệu chỉnh chương trình 0.5 điểm 3 điểm 3.5 đ Câu 21, Câu 3 câu §9. Cấu trúc rẽ 23 22 nhánh 0.25 0.5 điểm 0.75 đ điểm 16 câu 4 câu 8 câu 1 câu 29 câu Tổng 2 4 điểm 1 điểm 3 điểm 10 điểm điểm C.Đề bài: gồm 2 phần : phần I. Trắc nghiệm và phần II. Tự luận I. Trắc nghiệm:trình bày đáp án vào các khung sau (7đ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 Trang 61
  62. Giáo Án Tin 11 Nội dung đề: Câu 1: Đưa dữ liệu ra màn hình, con trỏ sẽ chuyển xuống dòng tiếp theo ta dùng thủ tục nào : A. Readln(); B. Write(); C. Writeln; D. Read(); Câu 2: Để gán giá trị cho một biến số A ta thực hiện như thế nào A. := A; B. A := ; C. = A; D. A = ; Câu 3: Để tính diện tích đường tròn bán kính R, với pi:=3.14, biểu thức nào trong PASCAL là đúng: A. S:=R*R* ; B. S:=sqr(R)*pi; C. S:=sqr(R)* ; D. S:=R2*pi; Câu 4: Trong ngôn ngữ Pascal, để chạy chương trình A. Nhấn tổ hợp phím Ctrl+F9 B. Nhấn phím F9 C. Nhấn tổ hợp phím Shift+F9 D. Nhấn tổ hợp phím Alt+F9 Câu 5: Trong Pascal, biểu thức (20 div 3+18 mod 4) bằng : A. 10 B. 8 C. 7 D. 6 Câu 6: Trong các kiểu dữ liệu dưới đây, kiểu nào không phải là kiểu nguyên? A. byte B. word C. Longint D. extended Câu 7: Ngôn ngữ lập trình phổ biến thích hợp với nhiều người là: A. Ngôn ngữ tự nhiên B. Ngôn ngữ máy tính C. Hợp ngữ D. Ngôn ngữ lập trình bậc cao Câu 8: Trong ngôn ngữ Pascal, từ khóa Var dùng để A. Khai báo hằng B. Khai báo biến C. Khai báo tên chương trình D. Khai báo thư viện Câu 9: Biểu thức sqrt(x+y)/x-sqr(x-y)/y viết trong toán học sẽ là biểu thức nào? 2 (x y) 2 x y x y x y x y (x y) 2 A. B. C. D. x y x y x y 2 x y x y x y Câu 10: Cho x là biến thực đã được gán giá trị 12.41235. Để thực hiện lên màn hình nội dung “x=12.41” cần chọn câu lệnh nào sau đây A. Writeln(x:5:2); B. Writeln(‘x=’ ,x:5:2); C. Writeln(x:5); D. Writeln(x); Câu 11: Các thành phần cơ bản của ngôn ngữ lập trình gồm: A. Bảng chữ cái, tên, ngữ nghĩa B. Bảng chữ cái, hằng, ngữ nghĩa C. Ngữ pháp, ngữ nghĩa D. Bảng chữ cái, cú pháp, ngữ nghĩa Câu 12: Biểu thức α≤a≤β được biểu diễn trong Pascal là: A. (α Then else ; Trang 62
  63. Giáo Án Tin 11 B. IF Then else ; C. IF = true Then else ; D. IF Then ; Câu 14: Để nhập giá trị cho hai biến a và b ta dùng lệnh: A. Read(a,b) ; B. write(a,b); C. Read(‘a,b’); D. write(‘a,b’); Câu 15: Biểu thức: 25 div 3+5/2*3 cho kết quả nào dưới đây : A. 15.0 B. 9.5 C. 15.5 D. 8.0 Câu 16: Trong ngôn ngữ Pascal, từ khóa Program dùng để A. Khai báo hằng B. Khai báo biến C. Khai báo tên chương trình D. Khai báo thư viện Câu 17: Cho câu lệnh sau If (sqr(x)+sqr(y) =x) then z:=x+y else z=0.5; với x=1, y=5 A. z có giá trị bằng 1 B. z có giá trị bằng 6 C. z có giá trị bằng 5 D. z có giá trị bằng 0.5 Câu 18: Phần thân chương trình được đánh dấu bằng A. Begin end. B. Begin end; C. { và } D. [ và ] Câu 19: Trong ngôn ngữ Pascal, tên nào sau đây là tên dành riêng: A. program, sqr B. uses, var C. include, const D. integer, begin Câu 20: Trong ngôn ngữ Pascal, tên nào sau đây đặt SAI theo quy tắc đặt tên A. tin hoc B. tinhoc11 C. _11 D. tin_hoc Câu 21: Trong ngôn ngữ Pascal, từ khóa Const dùng để: A. Khai báo tên chương trình B. Khai báo hằng C. Khai báo thư viện D. Khai báo biến Câu 22: Với giá trị nào của N biểu thức sau đây là đúng. Biểu thức: N = (25 mod 3) A. 25 B. 3 C. một giá trị khác D. 1 Câu 23: Hãy chọn cú pháp khai báo biến đúng: A. Var : ;B. Var = ; C. : ; D. Var ; Câu 24: a:=cos(x); a có kiểu dữ liệu là: A. Kiểu thực hoặc nguyên B. Kiểu nguyên C. Không thể xác định kiểu D. Kiểu thực Câu 25: Trong ngôn ngữ lập trình Pascal, để lưu chương trình vào đĩa ta nhấn phím? A. F2 B. F9 C. F3 D. F5 Câu 26: trong cấu trúc rẽ nhanh A. biểu thức lôgic B. biểu thức toán học C. một câu lệnh D. biểu thức số học Câu 27: Cho đoạn chương trình sau: x:=10; y:=30; writeln(‘x+y’); Kết quả màn hình sẽ là gì? A. 30 B. 40 C. 10 D. x+y Trang 63
  64. Giáo Án Tin 11 Câu 28: Chọn đáp án đúng. Chương trình xuất ra màn hình dòng thông báo "chung ta co gang hoc Pascal that tot" A. Begin Read( 'chung ta co gang hoc Pascal that tot ); end. B. Begin Read( 'chung ta co gang hoc Pascal that tot' ); end. C. Begin Write( 'chung ta co gang hoc Pascal that tot' ); end. D. Begin Write( 'chung ta co gang hoc Pascal that tot ); end. II.Tự Luận: (3đ) Câu 29: Trường đại học X có xét tuyển ngành công nghệ thông tin với số điểm xét tuyển đầu vào là 18 điểm. Điểm xét tuyển này là tổng điểm của ba môn Toán, Lý, Hóa. Yêu cầu: Viết chương trình nhập vào điểm Toán, Lí, Hóa và tính tông điểm của ba môn này để xét tuyển đầu vào, nếu tổng điểm lớn hơn hoặc bằng 18 thì đậu ngược lại rớt. Dữ liệu: Nhập từ bàn phím ba số tương ứng với điểm Toán, Lí, Hóa. Kết quả: Xuất ra tổng điểm và kết quả là đậu hoặc rớt. Ví dụ 1: Dữ liệu Kết quả Nhap diem 3 mon Toan, Li, Hoa:8 9 8 Tong diem: 25 Ket qua: dau Ví dụ 2: Dữ liệu Kết quả Nhap diem 3 mon Toan, Li, Hoa:4 6 5 Tong diem: 15 Ket qua: rot D. Đáp án: I. Trắc nghiệm: (7đ) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 C B B A B D D B C B D D C A 15 16 17 18 19 20 21 22 23 24 25 26 27 28 C C B A B A C D A D A A D C II. Tự luận: (3đ) Câu 29: Var toan, li, hoa, tong: longint; Begin Write("Nhap diem 3 mon Toan, Li, Hoa:"); Readln(toan,li,hoa); tong:=toan+li+hoa; writeln("Tong diem: ",tong); if tong>=16 then writeln("Ket qua: dau") Trang 64
  65. Giáo Án Tin 11 else writeln("Ket qua: rot") readln End. Viết đúng khai báo cho 0.5 điểm. Nhập liệu 0.5 điểm. Tính toán: 2 điểm Trang 65
  66. Giáo Án Tin 11 Tiết PPCT: 18-19-20-21 § 10: Cấu trúc lặp  I. Mục tiêu 1. Về 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 . - Hiểu cấu trúc lặp với số lần định trước. - Hiểu cấu trúc lặp với số lần chưa định trước. - Biết cách vận dụng đúng đắn cấu trúc lặp vào tình huống cụ thể . - Mô tả thuật toán của một số bài toán đơn giản có sử dụng lệnh lặp . - Viết đúng các lệnh lặp với số lần lặp trước . - Viết đúng các lệnh lặp với số lần chưa định trước. - Viết được thuật toán của một số bài toán đơn giản . 2. Định hướng hình thành và phát triển năng lực: - Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu định nghĩa, định lí, phương pháp, quy tắc, đã học). - Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm). - Phát triển năng lực giải quyết vấn đề. II. Phương tiện dạy học 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa 2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà III. Hoạt động dạy – học: 1. Tình huống xuất phát: - Cho biết cú pháp rẽ nhánh dạng thiếu và dạng đủ? - Cho biết cú pháp úcâu lệnh ghép? - Viết câu lệnh in ra màn hình câu “Xin chao” 2 lần? - Nếu không phải là 2 lần mà là 100 lần thì sao? Những bài toán lặp đi lặp lại các bước. Trong Pascal những thuật toán đó được biểu diễn như thế nào, muốn biết được điều đó chúng ta nghiên cứu bài Bài 10. CẤU TRÚC LẶP 2. Hình thành kiến thức: Hoạt động của giáo Họat động của học sinh Nội dung viên Hoạt động 1: Tìm hiểu bài toán lặp (Hình thành và phát triển năng lực sử dụng ngôn ngữ, giải quyết vấn đề, tự quản lý và năng lực tự học, giao tiếp và năng lực hợp tác) 1. Lặp Thảo luận nhóm tìm ý Bài toán 1: - Xét 2 bài toán như sau với a tưởng giải 2 bài toán này Gán S 0 > 2 là số nguyên cho trước : Tiếp theo cộng vào tổng S một giá trị i với i=1,2, 10 Bài toán 1 : Tính tổng Bài toán 2: S1=1 + 2 + 3 + 10 Gán S 0 Trang 66
  67. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên Tiếp theo cộng vào tổng S Bài toán 2 : Tính Tổng một giá trị i với i=1,2, S2=1 + 2 + 3+ .+ i Cho đến khi Với điều kiện S2 >15 tìm i S2>15 số lần lặp này phụ Ý tưởng giải bài toán thuộc vào biến S. Bài toán 1: Gán S 0 Tiếp theo cộng vào tổng S một giá trị i với i=1,2, 10 Bài toán 2: Gán S 0 Tiếp theo cộng vào tổng S một giá trị i với i=1,2, Cho đến khi S2>15 số lần lặp này phụ thuộc vào biến S. Trong thực tế có những Trong lập trình, có những việc lặp đi lặp lại nhiều thao tác phải lặp lại nhiều lần 1 thao tác hay 1 phép lần, khi đó ta gọi là cấu trúc tính lặp. Ví dụ 1: Bài toán gửi tiền Lặp thường có 2 loại : vào ngân hàng. Hằng ❖ Lặp với số lần biết tháng phải tính lãi và trước . cộng thêm vào gốc đang ❖ Lặp với số lần không gửi hay nói cách khác biết trước . gốc của tháng sau = gốc NNLT nào cũng cung cấp một + lãi tháng trước. số câu lệnh để mô tả các cấu Ví dụ 2: Tính tổng của trúc lặp như trên. một đoạn số nguyên mà Sau đây chúng ta sẽ tìm hiểu không được dùng công các câu lệnh trong ngôn ngữ thức. Pascal. Hoạt động 2: Tìm hiểu lặp có số lần biết trước và câu lệnh for – do (Hình thành và phát triển năng lực sử dụng ngôn ngữ, giải quyết vấn đề, tự quản lý và năng lực tự học, giao tiếp và năng lực hợp tác) 2. Lặp có số lần biết trước và câu lệnh for – do Thảo luận nhóm biểu Tong_1a Trong Pascal, có 2 lọai câu diễn thuật toán theo cách B1: S:= 0; i:=0; lệnh lặp có số lần biết trước : liệt kê của bài toán 1 B2: i:=i+1; theo 2 cách. Với i tăng từ B3: Nếu i >10 thì chuyển - Lặp dạng tiến: 1 tới 10 và ngược lại i sang bước 5; For := to do B2; ; B5: Đưa ra S rồi kết thúc. - Lặp dạng lùi Trang 67
  68. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên For := downto do ; Tong_1b Trong đó: B1: S:= 0; i:=11; ❖ Biến đếm thường là biến B2: i := i -1; kiểu số nguyên. B3: Nếu N < 1 thì chuyển ❖ Giá trị đầu, giá trị cuối sang bước 5; là các biểu thức cùng B4: S:= S+ i rồi quay lại kiểu với biến đếm. Giá B2; trị đầu phải nhỏ hơn hay B5: Đưa ra S rồi kết thúc. bằng giá trị cuối. Thuật toán có lặp không? Cả hai thuật toán đều lặp. ❖Ở dạng lặp tiến: Biến Tong_1a lặp bao nhiêu Tong_1a và Tong_1b lặp đếm tự tăng dần từ giá lần? Tong_1b lặp bao 10 lần. trị đầu đến giá trị cuối. nhiêu lần? ❖Ở dạng lặp lùi: Biến Hai thuật toán khi nào Hai thuật toán này lặp 10 đếm tự giảm dần từ giá dừng? lần thì dừng. trị cuối đến giá trị đầu. Tương ứng với mỗi giá trị của biến đếm, câu lệnh sau do thực hiện 1 lần Hai thuật toán này khác Tong_1a thì biến N nhận- nhau chỗ nào? các giá trị tăng dần từ 1 đến 10 còn Tong_1b biến N nhận các giá giảm dần từ 10 đến 1. Trình bày Tong_1a và Thảo luận nhóm, đại diện Chương trình cài đặt các Tong_1b bằng Pascal nhóm trình bày. thuật toán Tong_1a và Tong_1b program tong1a; uses crt; var S,i:integer; begin clrscr; S:=0; for i:=1 to 10 do S:= S+i; writeln('Tong S=',S:3); readln end. program tong1b; uses crt; var S,i:integer; begin Trang 68
  69. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên clrscr; S:=0; for i:=10 downto 1 do S:= S+i; writeln('Tong S=',S:3); readln end. Hoạt động 3: Tìm hiểu lặp với số lần chưa biết trước và câu lệnh while – do. (Hình thành và phát triển năng lực sử dụng ngôn ngữ, giải quyết vấn đề, tự quản lý và năng lực tự học, giao tiếp và năng lực hợp tác) 3. Lặp với số lần chưa biết trước và câu lệnh while – do. Yêu cầu học sinh thảo Thảo luận nhóm và đại Bài toán 2 : luận nhóm: đọc bài toán diện trình bày. Tính tổng 2 và trả lời các câu hỏi S=1 + 2 + 3+ .+ i sau: Với điều kiện S >15 tìm i Trình bày các bước liệt B1: S :=0; i :=0; kê của thuật toán tổng 2 B2: Nếu S > 15 thì chuyển đến bước 5 ; B3: i:=i+1; B4: S := S+ i rồi quay lại bước 2; B5: Đưa kết quả i rồi kết thúc. Bài toán này lặp với N Suy nghĩ, trả lời. - bằng mấy thì kết thúc? Nhận xét, chốt ý - Từ bước 2 đến bước 4 được lặp lại nhiều lần nếu điều kiện S >15 chưa được thỏa mãn. Trong Pascal có một câu Trong Pascal dùng câu lệnh lệnh để giải bài toán có while-do để giải bài toán có điều kiện dừng mà chưa điều kiện dừng mà chưa biết biết số lần lặp. số lần lặp. Câu lệnh while-do While do coa dạng: ; - While do ; - Trong đó Điều kiện là biểu thức - -Điều kiện là biểu thức lôgic lôgic. Câu lệnh là một câu lệnh - -Câu lệnh là một câu lệnh đơn đơn hoặc câu lệnh ghép. hoặc câu lệnh ghép. Trang 69
  70. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên Ý nghĩa : Khi điều kiện Chương trình bài toán 2: còn đúng thì còn thực program tong2; hiện câu lệnh sau do sau uses crt; đó lại quay lại kiểm tra var S,i:integer; điều kiện. begin Sử dụng câu lệnh while- Thào luận nhóm, đại diện clrscr; do hãy viết chương trình trình bày S:=0;i:=0; tính tổng 2. while S N thì M  M chung này làm U7CLN rồi – N ngược lại N  N- M; chuyển đến bước 5; B4: Quay lại bước 2; B3: Nếu M>N thì M  M – N B5: Đưa kết quả ƯCLN ngược lại N  N- M; rồi kết thúc. B4: Quay lại bước 2; B5: Đưa kết quả ƯCLN rồi kết thúc. Nhận xét và chốt ý. - Trình bày thuật toán trên Trình bày thuật toán theo- Thuật toán theo sơ đồ khối theo sơ đồ khối? sơ đồ khối. hình 9 trang 47 sgk. Nhận xét và sửa sai. Viết chương trình của Program UCLN; - Chương trình tìm UCLN của thuật toán trên? Uses crt; hai số. Var - Program UCLN; M,N: integer; - Uses crt; Begin - Var Clrscr; - M,N: integer; Writeln('Nhap vao so- Begin nguyen duong M, N:'); - Clrscr; Readln(M,N); - Writeln('Nhap vao so While M<>N do nguyen duong M, N:'); Trang 70
  71. Giáo Án Tin 11 Hoạt động của giáo Họat động của học sinh Nội dung viên If M>N then- Readln(M,N); M:= M-N - While M N then M:= Writeln('Uoc chung lon M-N nhat cua 2 so = ',M); - else N:= N-M; Readln - Writeln('Uoc chung lon End. nhat cua 2 so = ',M); - Readln - End. Nhận xét, sửa sai. - 3. Luyện tập và thực hành: - Viết cấu trúc lặp với số lần biết trước và không biết trước? 4. Vận dụng, mở rộng và bổ sung: - Xem lại bài đã học. - Xem trước BTTH2 IV. Rút kinh nghiệm: - Ưu điểm: - Hạn chế: Tiết PPCT: 22-23-24 BÀI TẬP THỰC HÀNH CHƯƠNG III I. Kiến thức cần đạt - Ôn tập lại các kiến thức về cấu trúc rẽ nhánh và cấu trúc lặp - Rèn luyện kỹ năng biên soạn, hiệu chỉnh và thực hiện chương trình. II. Chuẩn bị dạy - học - Giáo viên: Phòng máy vi tính - Học sinh: Sách giáo khoa, vở ghi. Trang 71
  72. Giáo Án Tin 11 III. Phương pháp: Thuyết trình kết hợp với vấn đáp Tiết 22,23 IV. Tiến trình lên lớp 1. Ổn định lớp 2. Kiểm tra bài cũ: kết hợp cho điểm khi thực hành 3. Nội dung bài mới Hoạt động 1: làm một số bài tập sử dụng câu lệnh for-do Hoạt động của GV Hoạt động của HS Bài 1: viết chương trình tính tổng S Quan sát và hướng dẫn S = 1 + 2 + 3 + + N học sinh thực hiện. Var S, N, i: integer; Begin Write(‘nhap N=’); readln(N); S:=0; For i:=1 to N do S:=S + i; Yêu cầu học sinh thực Write(‘Tong S=’,S); hiện chương trình với Readln; nhiều input khác nhau. End. Quan sát và hướng dẫn Bài 2: chỉnh sửa chương trình trên để giải bài toán học sinh thực hiện. tính tích S = 1 * 2 * 3 * 4 * * N Var S, N, i: integer; Begin Write(‘nhap N=’); readln(N); S:=1; Yêu cầu học sinh thực For i:=1 to N do S:=S * i; hiện chương trình với Write(‘Tong S=’,S); nhiều input khác nhau. Readln; End. Quan sát và hướng dẫn Bài 3: Tạo bảng số dạng sau: 0 1 2 3 4 5 6 7 8 9 học sinh thực hiện. 10 11 12 13 14 15 16 17 18 19 Program BANGSO; Uses crt; Var i, n: integer; Cho điểm những học Begin sinh hoàn thành tốt bài Clrscr; tập và những học sinh Writeln(' TAO BANG SO TU 0-99'); có nhiều cố gắng trong Writeln(' '); học tập. For i:=0 to 99 do Begin If (i mod 10 = 0) then Writeln; Write(i:3) End; Readln; Trang 72
  73. Giáo Án Tin 11 Hoạt động của GV Hoạt động của HS End. 4. Củng cố: Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc phải khi thực hành. 5. Bài tập về nhà Xem lại bài, tiết sau tiếp tục thực hành. Tiết 24 IV. Tiến trình lên lớp 1. Ổn định lớp 2. Kiểm tra bài cũ: kết hợp cho điểm khi thực hành 3. Nội dung bài mới Hoạt động 2: làm một số bài tập sử dụng cấu trúc rẽ nhánh, lặp Hoạt động của GV Hoạt động của HS Bài 1: Nhập vào ba số a,b,c bất kì. Kiểm tra xem nó có thể là độ dài ba cạnh hay không, nếu không thì in ra màn hình ' Khong la ba canh cua mot tam giac'. Ngược lại, thì in chu vi, diện tích của tam giác đó ra màn hình. Gv: em hãy xác định input và output Program TAMGIAC; Uses crt; của bài toán? Var a, b, c, s, p: real; Hs: input: 3 số a, b, c Begin Output: chu vi, diện tích của hình tam Clrscr; giác hoặc kết luận a, b, c không phải là Write ('nhap a ='); readln(a); Write ('nhap b ='); readln(b); 3 cạnh của hình tam giác. Write ('nhap c ='); readln(c); Gv: điều kiện để 3 số a, b, c là 3 cạnh If (a>0) and (b>0) and (c>0) and của tam giác khi nào? (a+b>c) and (b+c>a) and (a+c>b) then Hs: (a+b)>c and (b+c)>a and (a+c)>b Begin Gv: công thức tính chu vi và diện tích p:=(a+b+c)/2; của hình tam giác khi biết 3 cạnh? s:=sqrt(p*(p-a)*(p-b)*(p-c)); Hs: p:=(a+b+c)/2; Writeln('Chu vi tam giac:',2*p:4:2) ; s:=sqrt(p*(p-a)*(p-b)*(p-c)); Writeln('Dien tich tam giac:',s:4:2); End Else Writeln(‘ a, b, c khong phai la ba Quan sát, hướng dẫn đồng thời cho canh cua tam giac') ; Readln; điểm học sinh. End. Bài 2: viết chương trình nhập vào số Var I, N, S: integer; nguyên dương N. Tính tổng các số Trang 73
  74. Giáo Án Tin 11 Hoạt động của GV Hoạt động của HS chẵn từ 1 tới N. Begin Hướng dẫn học sinh thực hiện. S:=0; Write(‘Nhap N=’); readln(N); For i:=1 to N do If (I mod 2=0) then S:=S+I; Yêu cầu học sinh thực hiện chương Write(‘Tong chan la:’,S); trình với nhiều input khác nhau. Readln End. Quan sát, hướng dẫn đồng thời cho điểm học sinh. 4. Củng cố: Nhận xét về ý thức học tập của học sinh và những lỗi thường mắc phải khi thực hành. 5. Bài tập về nhà Xem lại bài, tiết sau sang chương IV – Kiểu dữ liệu có cấu trúc === === Trang 74
  75. Giáo Án Tin 11 Tiết PPCT: 25,26,27 CHƯƠNG IV:KIỂU DỮ LIỆU CÓ CẤU TRÚC 11. KIỂU MẢNG I. MỤC TIÊU 1. Về kiến thức - Hiểu khái niệm mảng một chiều. - Hiểu cách khai báo và truy cập đến các phần tử của mảng. 2. Về kĩ năng - Cài đặt được thuật toán giải một số bài toán đơn giản với kiểu dữa liệu mảng một chiều. - Thực hiện khai báo mảng, truy cập, tính toán, đếm các phần tử trong mảng. 3. Về thái độ - Thái độ nghiêm túc trong học tập. - Chủ động tìm hiểu kiến thức mới. 4. Năng lực hướng tới: - Khai báo biến dữ liệu hợp lý. Hiểu nguyên lý lưu dữ liệu một cách có cấu trúc. II. CHUẨN BỊ CỦA GIÁO VIÊN VÀ HỌC SINH 1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa, sách giáo viên, máy tính, máy chiếu, phông chiếu, bút lông, bảng, 2. Chuẩn bị của học sinh: Sách giáo khoa, tập, viết, III. TỔ CHỨC CÁC HOẠT ĐỘNG HỌC TẬP 1. Ổn định lớp 2. Kiểm tra bài cũ (không) 3. Tiến trình bài học ❖ HOẠT ĐỘNG 1: Hoạt động khởi động (1) Mục tiêu: Tạo động cơ để học sinh hiểu được cách sử dụng và khai báo được biến mảng. (2) Phương pháp/kĩ thuật dạy học: Cá nhân, thảo luận nhóm. (3) Phương tiện dạy học: SGK, Projector, máy tính. (4) Học sinh có nhu cầu mong muốn được học cách khai báo biến mảng Nội dung hoạt động Hoạt động của giáo viên Hoạt động của học sinh - Trong thực tế, các kiểu dữ liệu chuẩn - Nghe giảng. không thể đáp ứng đủ biểu diễn của các bài toán lớn. Vì thế, dựa trên các kiểu dữ liệu đó người lập trình có thể tạo ra các kiểu dữ liệu phức tạp hơn để giải quyết các bài toán trong thực tế. - Tham khảo sách giáo khoa và trả (?) Các em hãy tham khảo bài toán sách lời: Input: Nhập vào nhiệt độ trung giáo khoa trang 53 và cho biết cần nhập bình của 7 ngày t1, t2, t3, t4, t5, t6, Trang 75