GV: Mọi đối tượng trong chương trình đều phải được đặt tên theo quy tắc của - Ý nghĩa của việc đặt tên và khai báo tên cho các đối ngôn ngữ lập trình và từng chương trình tượng: dịch cụ [r]
(1)Giáo án Tin học 11 Trường THPT Đồng Hỷ Ngày soạn : 12/8/2016 Tiết PPCT : Ngày dạy : 15/8/2016 Chương I: MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Bài 1: KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I MỤC TIÊU: Kiến thức: Học sinh nhận biết có ba lớp ngôn ngữ lập trình và các mức ngôn ngữ lập trình : ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao - Biết dược vai trò chương thình dịch Kĩ năng: Phân biệt hai khái niệm biên dịch và thông dịch, phân biệt các loại ngôn ngữ lập trình Thái độ: Thấy cần thiết và tiện lợi sử dụng các ngôn ngữ lập trình bậc cao Liên hệ với quá trình giao tiếp đời sống II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Một số ví dụ ngôn ngữ lập trình Học sinh: Tìm hiểu số loại ngôn ngữ giao tiếp thông dụng III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ: Nếu có thuật toán thì máy đã thực các bài toán mà chúng ta đã giải hay chưa ? 3) Giảng bài mới: Hoạt động GV và HS NỘI DUNG Mở bài: Tất các bài toán sau chúng ta đã xây dựng thuật toán( Cách giải) thì chúng ta chọn ngôn ngữ để viết thuật toán đó làm cho máy tính có thể hiểu Ngôn ngữ máy: Là ngôn ngữ mà máy tính Việc dùng ngôn ngữ viết lời đó có thể trực tiếp hiểu và xử lý đựơc gọi là lập trình Để hiểu sâu khái Hợp ngữ: Là loại ngôn ngữ sử dụng số từ để niệm này chúng ta vào bài 1: thực lệnh trên ghi Hoạt động 1: Ngôn ngữ bậc cao: Là loại ngôn ngữ gần với ngôn ngữ tự nhiên, ít phụ thuộc vào loại máy Một số KN ? Thế nào gọi là lập trình? Chương trình dịch là chương trình đặc biệt, có chức ? Có loại ngôn ngữ lập trình nào? ? Phân biệt ngôn ngữ bậc cao với các ngôn chuyển đổi chương trình đợc viết ngôn ngữ lập trình bậc cao sang ngôn ngữ máy ngữ lập trình khác nội dung nào? ? Thế nào gọi là chương trình dịch? GV : Gọi học sinh nhắc lại các khái niệm : ngôn ngữ máy, hợp ngữ và ngôn ngư bậc cao Lop11.com (2) Giáo án Tin học 11 Trường THPT Đồng Hỷ Các loại ngôn ngữ lập trình như: Tubo pascal 7.0, Tubo C++, Visual Pascal 2.1, Visual C++ Ngôn ngữ lập trình bậc cao khác với các ngôn ngữ lập trình khác chỗ: + Chương trình viết ngôn ngữ lập trình bậc cao không phụ thuộc vào loại máy + Nó phải dịch sang ngôn ngữ máy có thể thực HOẠT ĐỘNG CHƯƠNG TRÌNH DỊCH Các loại chương trình dịch(Biên dịch và thông dịch) A.Thông dịch VD: Một người mông và người kinh nói chuyện với đó người mông không biết tiếng kinh, người kinh không biết tiếng mông Để hiểu người nói gì chúng ta cần có người phiên dịch biết thứ tiếng ? Thế nào là thông dịch? ? Thế nào là biên dịch? ? Các bước thông dịch và biên dịch tiến hành ntn? Thông dịch là: Quá trình dịch và thực các câu lệnh luân phiên nhau, nó dịch và thực câu lệnh B Biên dịch là: Quá trình dịch toàn chương trình và nó có thể lưu trữ chương trình nguồn và chương trình đích * Các bước biên dịch và thông dịch( SGK) HS: Trả lời câu hỏi CHƯƠNG TRÌNH NGUỒN CHƯƠNG TRÌNH DỊCH CHƯƠNG TRÌNH ĐÍCH Dùng máy chiếu diễn giải hai tình này Kết luận : Biên dịch (Compiler): thực qua hai bước - Duyệt, phát lỗi, kiểm tra tính đúng đắn các câu lệnh chương trình nguồn - Dịch toàn chương trình nguồn thành chơng trình đích có thể thực trên máy và có thể lưu trữ để sử dụng lại cần thiết GV : Để chuyển đổi chương trình viết Thông dịch (Interpreter) đợc thực cách ngôn ngữ lập trình bậc cao sang ngôn ngữ lặp lại dãy các bước sau máy cần phải có gì? - Kiểm tra tính đúng đắn câu lệnh chương trình nguồn HS : Đó là chương trình dịch KN Chương trình dịch: Là chương trình có - Chuyển đổi câu lệnh đó thành hay nhiều câu chức chuyển đổi chương trình viết lệnh tương ứng ngôn ngữ lập trình bậc cao thành chương trình thực trên máy tính GV : Cho ví dụ từ thực tế : “ Người phóng ngôn ngữ máy viên biết ngôn ngữ là tiếng việt - Thực câu lệnh vừa chuyển đổi phóng vấn chính khách nước ngoài ” thông qua người phiên dịch GV : Như có hai cách để người phóng viên có thể thực công việc mình : biên dịch và thông dịch Lop11.com (3) Giáo án Tin học 11 Trường THPT Đồng Hỷ 4) CỦNG CỐ : Khái niệm lập trình? Chương trình dịch là gì? Khái niệm ngôn ngữ lập trình? GV Hướng dẫn HS xem bài tiết sau *Các thành phần ngôn ngữ lập trình ? Ngôn ngữ lập trình có thành phần bản, đó là thành phần nào +3 thành phần + Bảng chữ cái: Là tập cac kí tự để viết chương trình Cú pháp: Là quy tắc để viết chương trình.(cho biết cách viết chương trình hợp lệ) + Ngữ nghĩa: Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh đó 5) BÀI TẬP VỀ NHÀ: HS đọc bài đọc thêm Lop11.com (4) Giáo án Tin học 11 Trường THPT Đồng Hỷ Ngày soạn : 20/08/2016 Ngày dạy : 22/08/2016 Tiết PPCT : Bài CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I MỤC TIÊU Kiến thức: + Biết số khái niệm: tên, tên chuẩn, tên dành riêng, và biến + Học sinh ghi nhớ các quy định tên, và biến ngôn ngữ lập trình Kĩ năng: + Phân biệt tên, và biến + Biết cách đặt tên chúng và nhận biết tên viết sai quy tắc Thái độ: Rèn luyện cho HS tính nguyên tắc, chặt chẽ lập trình II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính cá nhân và máy chiếu ( có) Học sinh: Đọc trước nhà Sách giáo khoa III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ: Câu hỏi : Chương trình dịch là gì? Biên dịch và thông dịch khác nào? 3) Giảng bài mới: Kiểm tra bài cũ Câu hỏi: Trình bày khái niệm ngôn ngữ lập trình, chương trình dịch, phân biệt biên dịch và thông dịch - Nhận xét cho điểm Mở bài: Khi làm bài toán lập trình có phần chúng ta phải tuân thủ theo quy ước nó, có phần người lập trình có thể tự làm theo cách mình Những điều đó là gì? Lop11.com (5) Giáo án Tin học 11 Trường THPT Đồng Hỷ 1.Các thành phần ? Ngôn ngữ lập trình có thành phần bản, đó là thành phần thành phần BẢNG CHỮ CÁI, + Bảng chữ cái: Là tập cac kí tự để viết CÚ PHÁP, chương trình + Cú pháp: Là quy tắc để viết chương NGỮ NGHĨA trình.( cho biết cách viết chương trình hợp lệ) + Ngữ nghĩa: Xác định ý nghĩa thao tác cần phải thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh đó GV: Gọi HS trả lời ý nghĩa việc đặt tên? HS: Tại chỗ trả lời GV: Nhận xét và đưa kết luận Một số khái niệm HS: Chú ý và ghi bài a Tên GV: Mọi đối tượng chương trình phải đặt tên theo quy tắc - Ý nghĩa việc đặt tên và khai báo tên cho các đối ngôn ngữ lập trình và chương trình tượng: dịch cụ thể + Để quản lý và phân biệt các đối tượng chương HS: Chú ý và ghi bài trình GV: Lấy ví dụ tên đặt sai và tên đặt + Để gợi nhớ nội dung đối tượng đúng và gọi học sinh nhận xét HS: - Tên đúng: a,b,c,x1, a_b - Tên sai: a bc, 2x - Qui tắc đặt tên Pascal: Tên là dãy liên tiếp không quá 127 kí tự bao gồm GV: Ngôn ngữ Pascal không phân biệt các chữ cái, chữ số và dấu gạch phải bắt chữ hoa, chữ thường đầu chữ cái dấu gạch HS: Chú ý lắng nghe GV: Ngôn ngữ lập trình thường có ba loại tên bản: tên dành riêng, tên chuẩn và tên người lập trình đặt HS: Đọc SGK và trình bày tên dành riêng GV: Trong Pascal, soạn thảo, tên dành riêng có màu trắng phân biệt với các tên khác GV: Gọi HS phát biểu tên chuẩn HS: Tại chỗ trả lời GV: Viết số tên chuẩn HS: Ghi bài, * Tên dành riêng: - Là tên dùng với ý nghĩa riêng xác định - Tên dành riêng còn gọi là từ khoá Lop11.com (6) Giáo án Tin học 11 Trường THPT Đồng Hỷ GV: Lấy ví dụ giải phương trình bậc Ví dụ: Trong Pascal: hai thì cần dùng các biến nào? Program, uses, var, type, const, begin, end, array, HS: Khi giải PTBH ta cần dùng các type,… biến: a,b,c, x1, x2, Delta để biểu diễn Trong C++: main, include, if, while, void nội dung hệ số phương trình; các nghiệm phương trình và biệt số * Tên chuẩn delta - Được dùng với ý nghĩa định nào đó, dùng riêng GV: Vậy các tên đó là tên người lập thì phải khai báo trình đặt Ví dụ: GV: Nêu khái niệm ngôn Trong Pascal: abs, sqr, sqrt, cos, sin,… ngữ lập trình Trong C++: cin, cout, getchar HS: Tại chỗ trả lời *Tên người lập trình đặt GV: Lấy ví dụ ví dụ đúng và ví dụ sai - Được dùng với ý nghĩa riêng, xác định cách khai cho học sinh nhận biết báo trước sử dụng HS: Nhận biết tên đúng và tên b Hằng và biến sai Hằng Ví dụ: 123, ‘123’, ‘TRUE, 2+3,… GV: Các biến dùng chương - Hằng là đại lượng có giá trị không thay đổi quá trình thực chương trình trình phải khai báo GV: Khi viết chương trình người lập - Các ngôn ngữ lập trình thường có: trình có nhu cầu giải thích cho câu lệnh mình viết để đọc lại thuận tiện người khác đọc có thể hiểu chương trình mình viết, các ngôn ngữ lập trình thường cung cấp cho chúng ta cách đưa vào các đoạn chú thích chương trình HS: Chú ý lắng nghe và ghi bài + Hằng số: số nguyên và số thực VD: , 1.0E-6,… + Hằng lôgic: Là giá trị đúng (True)hoặc sai (False) + Hằng xâu: Là chuỗi kí tự mã ASCII, đặt cặp dấu nháy Biến - Là đại lượng đặt tên, dùng để lưu trữ giá trị và GV: Ví dụ chương trình Pascal đơn giá trị có thể thay đổi quá trình thực giản minh họa chương trình c Chú thích - Các chú thích không làm ảnh hưởng đến chương trình - Trong Pascal chú thích đặt {} (*và*) - Trong C++ chú thích đặt /* và */ // 4) CỦNG CỐ : Nhắc lại quy tắc đặt tên Pascal và khái niệm tên dành riêng, tên chuẩn, tên người lập trình đặt Khái niệm hằng, biến và khác và biến 5) BÀI TẬP VỀ NHÀ: Hướng dẫn làm bài tập và bài tập - Bài 6: Các số: a,b,f,g; Các xâu: d,i Lop11.com (7) Giáo án Tin học 11 Trường THPT Đồng Hỷ Tuần dạy: Ngày soạn : 05/9/2016 Tiết PPCT : Ngày dạy : 07/9/2016 BÀI TẬP I MỤC TIÊU Kíến thức: + Củng cố lại cho HS kiến thức đã học lập trình, ngôn ngữ lập trình bậc cao, ngôn ngữ máy, chương trình dịch, thông dịch, biên dịch qua các bài tập trắc nghiệm Kĩ năng: + Xác định tên đúng, tên sai, tên chuẩn, từ khoá + Biết viết và tên đúng ngôn ngữ lập trình cụ thể Thái độ: + Nhận thức quá trình phát triển ngôn ngữ lập trình gắn liền với quá trình phát triển tin học + Ham muốn học ngôn ngữ lập trình cụ thể để có khả giải các bài toán máy tính điện tử II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính cá nhân và máy chiếu ( có) Học sinh: Làm bài tập trước nhà III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ ( ‘) Câu hỏi : Nêu các thành phần ngôn ngữ lập trình? Nêu quy tắc đặt tên Turbo Pascal? Đáp án: Ngôn ngữ lập trình có ba thành phần bản: bảng chữ cái, cú pháp và ngữ nghĩa - Bảng chữ cái: Là tập các kí tự dùng để viết chương trình - Cú pháp: Là quy tắc để viết chương trình - Ngữ nghĩa: Xác định ý nghĩa các tổ hợp kí tự Quy tắc đặt tên Pascal: - Đối tượng HS kiểm tra: HS trung bình 3) Giảng bài mới: Hoạt động GV và HS Nội dung GV: Gọi HS đọc câu hỏi 1, lớp suy Câu1: Tại người ta phải xây dựng các ngôn ngữ nghĩ trả lời lập trình bậc cao? HS: Đọc câu hỏi Người ta phải xây dựng các ngôn ngữ lập trình bậc cao, Lop11.com (8) Giáo án Tin học 11 Trường THPT Đồng Hỷ vì: GV: Gọi HS đứng chổ trả lời GV: Gọi HS khác bổ sung Sau đó GV - Ngôn ngữ lập trình bậc cao gần với ngôn ngữ tự nhiên hơn, thuận tiện cho đông đảo người lập trình nhận xét câu trả lời và ghi đáp án - Chương trình viết ngôn ngữ lập trình bậc cao nói HS: Chữa bài tập vào chung không phụ thuộc vào phần cứng máy tính - Chương trình viết ngôn ngữ bậc cao dễ hiểu, dễ hiệu chình và nâng cấp - Ngôn ngữ bậc cao cho phép làm việc với nhiều kiểu liệu và cách tổ chức liệu đa dạng, thuận tiện cho việc mô tả thuật toán Câu2: Chương trình dịch là gì? Tại cần phải có chương trình dịch GV: Gọi HS đọc câu hỏi và trả lời câu - Chương trình dịch là chương trình đặc biệt, có chức hỏi chuyển đổi chương trình viết trên ngôn ngữ HS: Tại chỗ trả lời và nêu khái niệm bậc cao thành chương trình đích có thể thực trên máy chương trình dịch GV: Nêu Input và Output chương - Để chương trình viết ngôn ngữ bậc cao máy trình dịch để gợi ý cho HS vai trò có thể hiểu và thực thì phải có chương trình dịch dịch sang ngôn ngữ máy chương trình dịch Câu3: Biên dịch và thông dịch khác nào? HS: Tại chỗ trả lời - Trình biên dịch duyệt, kiểm tra, phát lỗi, xác định chương trình nguồn có dịch không và dịch toàn HS: Tại chỗ đọc câu hỏi thành chương trình đích có thể thực trên máy GV: Gọi HS khác nhận xét câu trả lời, và có thể lưu trữ bổ sung và đưa đáp án - Trình thông dịch dịch câu ngôn ngữ GV: Gọi HS khác nhận xét câu trả lời, máy thực và không lưu lại trên máy bổ sung và đưa đáp án Câu4: Hãy cho biết điểm khác tên dành riêng và tên chuẩn? - Tên dành riêng không dùng khác với ý nghĩa đã xác định, tên chuẩn có thể GV: Gọi HS đọc câu hỏi 4, lớp suy dùng với ý nghĩa khác nghĩ câu hỏi Câu5: Hãy tự viết ba tên đúng theo quy tắc GV: Gọi HS trả lời Pascal GV: Nhận xét và nêu đáp án tên đúng Pascal: GV: Gọi HS trả lời câu hỏi GV: Gọi HS đọc câu hỏi GV: Gợi ý cho HS cách gọi nêu quy tắc đặt tên Pascal và đặt không quá ngắn, hay quá mà nên đặt cho gợi nhớ ý nghĩa tượng mang tên đó abc; vidu3; _15a HS tên dài đối HS: Lên bảng làm Câu6: Hãy cho biết biểu diễn nào đây không phải là biểu diễn Pascal và rõ lỗi trường hợp GV: Chữa bài a) 150.0; HS: Tại chỗ đọc câu hỏi b) -22; c) 6,23; Lop11.com d) ‘43’ ; e) A20; (9) Giáo án Tin học 11 GV: Gọi HS đọc câu hỏi Trường THPT Đồng Hỷ f)1.06E-15 GV: Từng câu a,b,…, i gọi g) 4+6 ; h) ‘c ; i) ‘True’ HS: Trả lời: - Các biểu diễn không phải là hằng: c), e), h) - c) không phải là vì dấu phẩy phải thay dấu chấm - e) là tên chưa rõ giá trị - h) thiếu dấu nháy đơn cuối 4) CỦNG CỐ : - Rèn luyện kĩ đặt tên, biến - Hiểu và nắm vững khái niệm chương trình dịch, và biến,… 5) BÀI TẬP VỀ NHÀ: - Hướng dẫn HS làm các bài tập SBT: BT 1.9; BT 1.10; BT 1.11; BT 1.12 Lop11.com (10) Giáo án Tin học 11 Trường THPT Đồng Hỷ Tuần dạy: Ngày soạn : 05/9/2016 Tiết PPCT : Ngày dạy : 07/9/2016 CHƯƠNG II: CHƯƠNG TRÌNH ĐƠN GIẢN Bài CẤU TRÚC CHƯƠNG TRÌNH I MỤC TIÊU Kiến thức: + Hiểu chương trình là mô tả thuật toán ngôn ngữ lập trình + Biết cấu trúc chương trình đơn giản: cấu trúc chung và các thành phần + Biết số kiểu liệu chuẩn: kiểu nguyên, thực, kí tự, logic và miền Kĩ năng: + Nhận biết các thành phần chương trình đơn giản + Xác định kiểu cần khai báo liệu đơn giản Thái độ: + Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính cá nhân và máy chiếu ( có) Học sinh: tham khảo trước tài liệu nhà III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ Câu hỏi : Câu hỏi: Nêu qui tắc đặt tên Pascal? Phân biệt tên chuẩn và tên dành riêng? Đáp án: - Qui tắc đặt tên Pascal: Trong Pascal, tên là dãy liên tiếp không quá 127 kí tự bao gồm chữ số, chữ cái dấu gạch và bắt đầu chữ cái dấu gạch - Tên dành riêng không sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng có thể dùng chúng với ý nghĩa và mục đích khác Đối tượng kiểm tra: HS trung bình 3) Giảng bài mới: Hoạt động GV và HS Nội dung GV: Một ngôn ngữ lập trình bậc cao thường I Cấu trúc chương trình có hai phần Cấu trúc chung GV: Với quy ước: Các diễn giải ngôn - Cấu trúc chung: ngữ tự nhiên đặt cặp < và > [<phần khai báo>] [ ] : Biểu diễn có thể có không <phần thân> Lop11.com (11) Giáo án Tin học 11 Trường THPT Đồng Hỷ HS: Phần thân chương trình thiết phải có, - Trong Pascal: phần khai báo có thể có không tuỳ theo Phần khai báo: chương trình dịch cụ thể Program < tên chương trình>; GV: Nêu cấu trúc chung chương trình Uses < tên các thư viện>; Pascal đơn giản: Const <tên hằng>=<giá trị hằng>; HS: Lắng nghe và ghi bài GV: Chúng ta tìm hiểu thành phần Var < tên biến>: <kiểu liệu>; chương trình Procedure …; <khai báo thủ tục> GV: Phần này có thể có không Với Function …; <khai báo hàm>… Pascal, có phải khai báo theo đúng quy Phần thân: tắc Begin HS: Lên bảng GV: Gọi HS lấy ví dụ khai báo tên chương {Dãy các câu lệnh}; trình đúng End HS: Lên bảng Các thành phần chương trình GV: Nhận xét a Phần khai báo GV: Mỗi ngôn ngữ lập trình thường có sẵn số thư viện cung cấp số chương trình thông dụng đã lập sẵn Để sử dụng các chương trình đó cần khai báo thư viện chứa nó * Khai báo tên chương trình Trong Pascal: Program <tên chương trình>; Ví dụ: GV: Trong Pascal, khai báo thư viện phải luôn Program vidu; đặt đầu tiên, sau dòng khai báo Program tinhtong; program * Khai báo thư viện - Khai báo thư viện Pascal: Uses crt; {Thư viện crt chứa các hàm vào/ra chuẩn làm việc với màn hình và bàn phím} Uses graph; {Thư viện graph chứa các hàm đồ hoạ} - Để xoá gì trên màn hình sau khai báo GV: Những gía trị xuất nhiều lần crt thì dùng lệnh clrscr chương trình thì thường khai báo - Trong C++: HS: Lắng nghe #include <stdio.h>; GV: Khai báo tạo điều kiện thuận lợi #include <conio.h>; cho việc chỉnh sửa lại giá trị * Khai báo hằng: toàn chương trình - Trong Pascal: GV: Lấy ví dụ PI = 3.1416; GV: - Biến nhận giá trị thời Const MaxN = 1000; điểm thực chương trình gọi là biến * Khai báo biến: - Trong Pascal: đơn Var <danh sách biến>:<kiểu liệu>; GV: Khi cần viết chương trình quản lí học Lop11.com (12) Giáo án Tin học 11 Trường THPT Đồng Hỷ sinh ta cần xử lí thông tin dạng nào? Ví dụ: Giải phương trình bậc hai: HS: Suy nghỉ và trả lời câu hỏi GV ax2 + bx +c = GV: Phân tích câu trả lời học sinh và đưa Khai báo: Var a,b,c,x1,x2,delta: real; vài thông tin dạng sau: b Phần thân chương trình - Họ tên học sinh là thông tin dạng - Phần thân chương trình bao gồm dãy lệnh văn và dạng kí tự phạm vi xác định cặp dấu hiệu mở đầu - Điểm học sinh là thông tin dạng số và kết thúc thực - Trong Pascal, bắt đầu và kết thúc - Số thứ tự học sinh là thông tin dạng số Begin… End nguyên Begin [<Dãy lệnh>]; 3.VÍ DỤ CHƯƠNG TRINH ĐƠN GIẢN GV giới thiệu các chương trình mẫu cho HS nhận biết End 3.Ví dụ CT đơn giản 4) CỦNG CỐ : Nhắc lại các khái niệm cấu trúc chương trình gồm phần khai báo và phần thân 5) BÀI TẬP VỀ NHÀ: Cho chương trình mẫu nhà yêu cầu học sinh rõ thành phần CT đó Tuần dạy: Ngày soạn : 05/9/2016 Tiết PPCT : Ngày dạy : 14/9/2016 Bài KIỂU DỮ LIỆU CHUẨN §5 KHAI BÁO BIẾN I MỤC TIÊU Kiến thức: + Hiểu chương trình là mô tả thuật toán ngôn ngữ lập trình + Biết cấu trúc chương trình đơn giản: cấu trúc chung và các thành phần + Biết số kiểu liệu chuẩn: kiểu nguyên, thực, kí tự, logic và miền Kĩ năng: + Nhận biết các thành phần chương trình đơn giản + Xác định kiểu cần khai báo liệu đơn giản Thái độ: + Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình II PHƯƠNG TIỆN DẠY HỌC: Lop11.com (13) Giáo án Tin học 11 Trường THPT Đồng Hỷ Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính cá nhân và máy chiếu ( có) Học sinh: tham khảo trước tài liệu nhà III HOẠT ĐỘNG DẠY HỌC: 1.Ổn định tổ chức: Kiểm tra sĩ số lớp 2.Kiểm tra bài cũ Câu hỏi : Câu hỏi: Nêu qui tắc đặt tên Pascal? Phân biệt tên chuẩn và tên dành riêng? Đáp án: - Qui tắc đặt tên Pascal: Trong Pascal, tên là dãy liên tiếp không quá 127 kí tự bao gồm chữ số, chữ cái dấu gạch và bắt đầu chữ cái dấu gạch - Tên dành riêng không sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng có thể dùng chúng với ý nghĩa và mục đích khác Đối tượng kiểm tra: HS trung bình Giảng bài mới: Hoạt động GV và HS Nội dung GV: Những gía trị xuất nhiều lần chương trình thì thường khai báo Kiểu liệu chuẩn HS: Lắng nghe Kiểu nguyên GV: Khai báo tạo điều kiện thuận lợi cho việc chỉnh sửa lại giá trị toàn chương trình Kiểu Số Byte Miền gi trị Byte 255 GV: Lấy ví dụ Integer - 215 215- GV: - Biến nhận giá trị thời điểm thực chương trình gọi là biến đơn Word 216- Longint - 231 231- GV: Phân tích câu trả lời học sinh và đưa vài thông tin dạng sau: Byte Miền gi trị Real 2.9e- 39 1.7e38 - Họ tên học sinh là thông tin dạng văn và dạng kí tự Single 1.5e- 45 3.4e- 38 - Điểm học sinh là thông tin dạng số thực Double 5.4e- 325 1.7e- 308 Extended 10 3.4e- 4932 1.2e4932 Kiểu thực GV: Khi cần viết chương trình quản lí học sinh ta cần xử lí thông tin dạng nào? - Có nhiều kiểu cho giá trị là số thực hay dùng số kiểu sau: HS: Suy nghỉ và trả lời câu hỏi GV Kiểu Số - Số thứ tự học sinh là thông tin dạng số Kiểu kí tự nguyên - Tn kiểu: Char GV: Phân tích câu đưa vài thông tin - Miền gi trị l cc gi trị bảng m ASCII gịm 256 kí tự Mỗi kí tự cĩ m tương ứng phạm vi từ đến 255 Lop11.com (14) Giáo án Tin học 11 Trường THPT Đồng Hỷ dạng sau: - Cc kí tự cĩ quan hệ so snh, việc so snh dựa trn - Họ tên học sinh là thông tin dạng m kí tự văn và dạng kí tự Kiểu Logic - Điểm học sinh là thông tin dạng số - Tn kiểu: Boolean thực - Miền giá trị: Chỉ có giá trị là True (đúng) - Số thứ tự học sinh là thông tin dạng số False (sai) nguyên - Một số thông tin khác cần biết chúng là đúng hay sai GV: Thuyết trình đưa số bổ sung sau: - Ngông ngữ lập trình nào đưa số kiểu liệu chuẩn đơn giản, từ kiểu đơn giản này ta có thể xây dựng thành kiểu liệu phức tạp - Kiểu liệu nào có miền giới hạn nó Máy tính không thể lưu tất các số trên trục số nó có thể lưu trữ với độ chính xác cao - Tuỳ thuộc vào ngôn ngữ lập trình mà tên các kiểu liệu khác và miền giá trị các kiểu liệu khác - Với kiễu liệu người lập trình cần ghi nhớ tên kiểu, miền giá trị và số ô nhớ để lưu giá trị thuộc kiểu đó - Trong lập trình nói trung thì kiểu kí tự thường là tập kí tự bảng mã kí tự, kí tự có mã thập phân tương ứng Để lưu các I) Khai báo biến giá trị thì phải lưu các mã thập phân tương - Trong NLT Pascal biến đơn khai báo ứng chúng sau GV: Khai báo biến là chương trình báo cho máy biết phải dùng chương trình nào Var <danh sách biến>: <kiểu liệu>; chương trình Trong đó: HS: Lắng ghe và ghi chép - Var: Là từ khoá dùng để khai báo biến - Ví dụ 1: Để giải phương trình bặc - Danh sách biến: Tên các biến cách dấu ax+b=0 ta cần khai báo sau: phẩy Var a, b, x: Real - Kiểu liệu: Là kiểu liệu nào đó - Ví dụ 2: Để tính chu vi và diện tích tam ngôn ngữ Pascal giác cần khai báo các biến sau: - Sau var là có thể khai báo nhiều danh sách biến có kiểu liệu khác Var a, b, c, p, s, cv: Real; Trong đó: a, b, c: Dùng để lưu độ dài - Cần đặt tên biến cho gợi nhớ đến ý nghĩa nó cạnh tam giác; - Không nên đặt tên quá ngắn hay quá dài, rễ dẫn P: là chu vi; đến mắc lỗi hay hiểu nhầm Lop11.com (15) Giáo án Tin học 11 Trường THPT Đồng Hỷ CV, S: là chu vi và diện tích tam giác - Khai báo biến cần quan tâm chú ý đến phạm vi GV: Khi khai báo biến cần chú ý điểm giá trị nó gì? HS: Suy ghĩ trả lời câu hỏi GV: Phân tích câu trả lời học sinh CỦNG CỐ Nhắc lại các khái niệm cấu trúc chương trình gồm phần khai báo và phần thân BÀI TẬP VỀ NHÀ Cho chương trình mẫu nhà yêu cầu học sinh rõ thành phần chương trình đó Lop11.com (16) Giáo án Tin học 11 Trường THPT Đồng Hỷ Tuần dạy: Ngày soạn : 15/9/2016 Tiết PPCT : Ngày dạy : 21/9/2016 Bài PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN I MỤC TIÊU Về kiến thức: - Hiểu các khai báo biến - Biết khái niệm: phép toán, biểu thức số học, hàm số học chuẩn, biểu thức quan hệ - Hiểu lệnh gán - Biết số hàm thông dụng Pascal Về kỹ năng: - Khai báo biến đúng, nhận biết khai báo sai - Viết lệnh gán - Viết các biểu thức số học và logic với các phương tiện thông dụng Thái độ: + Xác định thái độ nghiêm túc học tập làm quen với nhiều qui định nghiêm ngặt lập trình II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, nghiên cứu sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính cá nhân và máy chiếu ( có) Học sinh: tham khảo trước tài liệu nhà III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ Câu hỏi : Câu hỏi: Nêu qui tắc đặt tên Pascal? Phân biệt tên chuẩn và tên dành riêng? Đáp án: - Qui tắc đặt tên Pascal: Trong Pascal, tên là dãy liên tiếp không quá 127 kí tự bao gồm chữ số, chữ cái dấu gạch và bắt đầu chữ cái dấu gạch - Tên dành riêng không sử dụng với ý nghĩa khác, cong với tên chuẩn, người dùng có thể dùng chúng với ý nghĩa và mục đích khác Đối tượng kiểm tra: HS trung bình H1: Cấu trúc khai báo biến nào? Lấy ví dụ? H2: Những lưu ý đặt tên cho biến? Đáp án: H1: VAR <Danh sách biến>:<Kiểu liệu>; VD: VAR a,b,c: Real; m,n:integer; 3) Giảng bài mới: Lop11.com (17) Giáo án Tin học 11 Trường THPT Đồng Hỷ Hoạt động GV và HS Nội dung GV: Trong viết chương trình ta thường phải thực tính toán, thực các so sánh để đưa định xem làm việc gì? Trong viết chương trình có giống với ngôn ngữ tự nhiên không? Phép Toán * NLT Pascal sử dụng số phép toán sau: - Với số nguyên: +, - , *, Div, Mod - Với số thực: +, - , *, / GV: Toán học có phép toán nào? - Các phép toán quan hệ: <, <=, >, >=, <> cho kết HS: Đưa số phép toán thường dùng là giá trị Logic (true false) toán học - Các phép toán logic: NOT, OR, AND thường GV: Chúng có sử dụng ngôn ngữ dùng để kết hợp nhiều biểu thức quan hệ với lập trình không? Biểu thức số học * Là dãy các phép toán +, - , *, /, div và mod từ các hằng, biến kiểu số và các hàm - Chỉ có số phép toán dùng được, số phép toán phải xây dựng từ các phép toán - Dùng cặp dấu () để quy định trình tự tính toán khác * Thứ tự thực các phép toán: - Ví dụ phép luỹ thừa không phải ngôn ngữ - Trong ngoặc trước, ngoài ngoặc sau nào viết - Nhân chia trước, cộng trừ sau - Mỗi ngôn ngữ khác lại có cách kí - Giá trị biểu thức có kiểu là kiểu biến hiệu phép toán khác có miền giá trị lớn biểu GV: Trong toán học, biểu thức là gì? thức HS: Đưa khái niệm GV: Đưa khái niệm biểu thức lập trình GV: Cách viết các biểu thức này lập trình có giống với cách viết toán học hay không? HS: Đưa ý kiến mình GV: Phân tích ý kiến học sinh GV: Đưa cách viết biểu thức và thứ tự thực phép toán lập trình GV: Cách viết biểu thức phụ thuộc vào ngôn ngữ lập trình - Đưa số biểu thức toán học và yêu cầu các em viết chúng ngôn ngữ lập trình Pascal - Gọi vài học sinh lên bảng làm bài Hàm số học chuẩn GV: Muốn tính X2 ta làm nào? - Các ngôn ngữ lập trình thường cung cấp sẵn số hàm số học để tính số giá trị thông dụng HS: Có thể đưa là: x*x Lop11.com (18) Giáo án Tin học 11 GV: Như muốn tính làm nào? Trường THPT Đồng Hỷ x , Sinx, cosx, ta - Cách viết: Tên_hàm (đối số) - Kết hàm phụ thuộc vào kiểu đối số HS: Chưa biết cách tính - Đối số hàm là hay nhiều biểu thức số GV: Để tính giá trị đó đơn giản, người học đặt dấu ngoặc () sau tên hàm ta xây dựng sẵn chương trình - Bản thân hàm có thể coi là biểu thức số thư viện chương trình giúp người lập trình học và có thể tham gia vào biểu thức tính toán nhanh các giá trị thông dụng toán hạng GV: Với các hàm chuẩn cần quan tâm đến * Bảng số hàm chuẩn: giá trị đối số và kiểu giá trị trả Học sinh xem SGK Ví dụ: Sinx thì đo độ hay radian? Biểu thức quan hệ GV: Trong lập trình thường ta phải so sánh hai giá trị nào đó trước thực lệnh * Có dạng sau: nào đó Biểu thức quan hệ còn coi là <Biểu thức 1> <phép toán quan hệ> <Biểu thức biểu thức so sánh giá trị cho kết là 2> True False - Trong đó: Biểu thức và biểu thức phải cùng Ví dụ: 3>5 cho kết False kiểu GV: Muốn so sánh nhiều giá trị cùng - Kết biểu thức quan hệ là True lúc thì làm nào? False HS: đưa ý kiến mình (dùng biểu thức - Ví dụ: a>b 2*c<3*a quan hệ and, or ) Biểu thức Logic - Đưa ví dụ cách viết đúng NLT - Biểu thức Logic đơn giản là Pascal biến Logic - Mỗi NLT có cách viết lệnh gán khác - Ví dụ: a, b, c là cạnh tam giác thoã GV: Cần chú ý đến điều gì viết lệnh mãn điều kiện: gán? (a+b>c) and (b+c>a) and (c+a>b) HS: Đưa ý kiến Câu lệnh gán GV: phân tích câu trả lời học sinh sau - Lệnh gán là cấu trúc ngôn đó tổng hợp lại: Cần chú ý đến kiểu biến ngữ lập trình, thường dùng để gán giá trị cho biến và kiểu biểu thức - Cấu trúc: Tên biến:=biểu thức; GV: Minh hoạ vài lệnh gán ví - Trong đó biểu thức phải phù hợp với tên biến, dụ trực quan trên bảng trên màn hình nghĩa là kiểu tên biến phải cùng với kiểu biểu thức phải bao hàm kiểu biểu thức - Hoạt động lệnh gán: Tính giá trị biểu thức sau đó ghi giá trị đó vào tên biến X1:=(- b + sqrt(delta))/(2*a); X2:=(- b - sqrt(delta))/(2*a); 4) CỦNG CỐ : Các kiểu liệu chuẩn: nguyên, thực, kí tự, lôgic Cách khai báo biến 5) BÀI TẬP VỀ NHÀ: - Làm bài tập 1,2,3,4,5 sgk trang 35 Xem trước bài: Các thủ tục chuẩn vào/ra đơn giản Soạn thảo, dịch, thực và hiệu chỉnh chương trình Lop11.com (19) Giáo án Tin học 11 Trường THPT Đồng Hỷ Tuần dạy: Ngày soạn : 24/9/2016 Tiết PPCT : Ngày dạy : 28/9/2016 §7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN §8 SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU CHỈNH CHƯƠNG TRÌNH I MỤC TIÊU Về Kiến thức: - Biết các lệnh vào đơn giản để nhập thông tin từ bàn phím và đưa thông tin màn hình - Biết các bước: soạn thảo, dịch, thực và hiệu chỉnh chương trình - Biết số công cụ môi trường Turbo Pascal Về Kỹ năng: - Viết số lệnh vào đơn giản - Bước đầu sử dụng chương trình dịch để phát lỗi - Bước đầu chỉnh sửa chương trình dựa vào thông báo lỗi chương trình dịch và tính hợp lý kết thu Về Thái độ: Thấy cần thiết các thủ tục vào ra, sáng tạo vận dụng vào các bài toán đơn giản II PHƯƠNG TIỆN DẠY HỌC: Giáo viên: Soạn giáo án, sách giáo khoa, sách bài tập, tài liệu tham khảo Máy tính Học sinh: Các kiến thức đã học các bài trước III HOẠT ĐỘNG DẠY HỌC: 1) Ổn định tổ chức: Kiểm tra sĩ số lớp 2) Kiểm tra bài cũ 2HS làm độc lập: Cho M, N là biến nguyên Điều kiện xác định M, N đồng thời là số chẵn đồng thời là số lẻ thể Pascal nào? Đ/a: ((M mod = 0) and (N mod = 0)) Or ((M mod =1) and (N mod = 1)) 3) Giảng bài mới: Hoạt động GV và HS Nội dung Nêu vđ: Khi giải bài toán, ta phải đưa liệu vào máy tính xữ lí Để chtrình giải nhiều bài toán hơn, ta phải sử dụng thủ tục nhập liệu §7 CÁC THỦ TỤC CHUẨN VÀO/RA ĐƠN GIẢN - Y/cầu Hs n/cứu Sgk cho biết cấu trúc chung thủ tục nhập liệu NNLT Pascal: - HS : N/cứu Sgk và trả lời: Nhập liệu vào từ bàn phím Ta sử dụng thủ tục chuẩn read readln có cấu trúc sau: Ví dụ: viết chtrình giải ptrình: Ax2 + Bx + C = 0, ta phải nhập vào các đại lượng nào? viết lệnh nhập? Suy nghĩ, trả lời: phải nhập giá trị vào biến A, B, C Lệnhnhập:Readln(A,B,C); Lop11.com read(<biến 1>,…,<biến n>); readln(<biến 1>,…,<biến n>); Ví dụ 1: (20) Giáo án Tin học 11 Treo bảng chứa chtrình Pascal đơn giản có lệnh nhập giá trị cho biến Trường THPT Đồng Hỷ read(n); readln(A,B,C); Hỏi: Khi nhập giá trị cho nhiều biến, ta phải * Chú ý: nhập giá trị cho nhiều biến thì thực nào? giá trị này gõ cách dấu cách HS : Các giá trị phải cách ít kí tự xuống dòng (phím Enter) dấu cách (Space) kí tự xuống dòng Đưa liệu màn hình (Enter) Để đưa liệu màn hình vị trí trỏ, ta Hỏi: Lệnh Read và Readln khác dùng thủ tục write writeln với cấu trúc: nào? Write(<giá trị 1>,…<giá trị n>); - Suy nghĩ, trả lời : Read: …… Readln: …… Writeln(<giá trị 1>,…<giá trị n>); GV : Sau xữ lí xong, để nhìn thấy Trong đó: các giá trị có thể là biến đơn, biểu kết ta phải dùng thủ tục xuất liệu thức, tên hàm Y/cầu hs n/cứu Sgk cho biết cấu trúc chung Ví dụ : xét chương trình sau thủ tục xuất liệu NNLT Pascal Program vd; - N/cứu Sgk và trả lời Ví dụ: Khi viết CT giải pt: ax+b=0, ta phải đưa màn hình gtrị nghiệm -b/a, ta phải viết lệnh nào? HS : Writeln(-b/a); Để nhập giá trị cho biến từ bàn phím, ta thường đưa thêm câu dẫn dắt sau đó đến câu lệnh nhập Bằng cách dùng cặp thủ tục write và read Ví dụ: Write(‘Moi ban nhap so:’); Hỏi: chức câu lệnh writeln(); Uses crt; Var tuoi:byte; Begin Clrscr; Write(‘Moi ban nhap so:’);readln(a,b,c) Write(‘Ban vua nhap so:’,a,b,c); Write(‘Ban go ENTER de ket thuc’); Readln; End Viết màn hình dòng chữ và đưa trỏ Ghi chú: - Các thủ tục readln và writeln có thể xuống dòng không có tham số - Quy cách đưa thông tin ra: Kết số thực :<độ rộng>:<số chữ số thập phân> Kết khác :<độ rộng> Độ rộng và số chữ số thập phân là các Giới thiệu số tập tin cần thiết để Turbo nguyên dương pascal có thể chạy được, hướng dẫn học sinh Ví dụ: khởi động Pascal trên máy tính Học sinh chú Writeln(n:5,x:6:2); ý lắng nghe và theo dõi hình minh họa Write(i:3,j:4,a+b:8:3); Giới thiệu các thành phần màn §8 SOẠN THẢO, DỊCH, THỰC HIỆN, HIỆU hình soạn thảo (màn hình làm việc) CHỈNH CHƯƠNG TRÌNH Giới thiệu số thao tác thường dùng Một số thao tác thường dùng: soạn thảo, dịch, hiểu chỉnh, chương trình + Lưu chương trình: F2 + Mở file đã có: F3 + Biên dịch chương trình: Alt+F9 Lop11.com (21)