cách tổ chức chương trình khác nhau” rồi giải thích ý nghĩa của thân chương trình GV yêu cầu HS xem vd SGK để hiểu về các dấu hiệu xác định phạm vi thân chương trình GV giới thiệu th[r]
(1)Trường THPT QUANG TRUNG Giaùo aùn Tin hoïc 11 Tuần: - Tiết PPCT:1 Ngày dạy: KHÁI NIỆM LẬP TRÌNH VAØ NGÔN NGỮ LẬP TRÌNH I MỤC TIÊU Kiến thức HS cần: - HS biết ba lớp 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ò 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 ngôn ngữ lập trình và thành phần sở ngôn ngữ lập trình pascal Kỹ Thái độ - Có tính kỉ luật cao, ham thích môn học, tinh thần làm việc theo nhóm; - 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 II CHUẨN BỊ Giáo viên - Sách giáo viên Học sinh - Xem trước nội dung bài III PHƯƠNG PHÁP Gợi mở tình + Đặt vấn đề + thảo luận + thuyết trình IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: thông qua Giảng bài mới: Hoạt động GV và HS Nội Dung GV: phát vấn học sinh : “Em hãy nêu các bước giải bài toán trên máy vi tính?” HS: Suy nghĩ và trả lời câu hỏi GV:Phân tích câu trả lời và nhắc lại các bước giải bài toán trên máy vi tính GV: Làm để máy tính có thể hiểu và thực các thuật toán đã lựa chọn để giái bài toán? HS: Suy nghĩ và trả lời Naêm hoïc 2010 – 2011 -1Lop11.com Lập trình là sử dụng cấu trúc liệu và các câu lệnh ngôn ngữ lập trình cụ thể để mô tả liệu và diễn đạt các thao tác thuật toán Khuùc Thò Myõ Trinh (2) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG GV: Giới thiệu với các em khái niệm lập trình HS: Lắng nghe ghi chép Lưu ý: giải thích thêm Ý nghĩa lập trình là để tạo các chương trình giải các bài toán trên máy tính Về cấu trúc liệu, cần lựa chọn cho ít tốn kém nhớ GV: Chuyển mạch: “Vậy thì có bao nhiêu lớp ngôn ngữ lập trình?” Giới thiệu cho học sinh biết có lớp ngôn ngữ lập trình HS: Quan sát, ghi chép GV: Chuyển mạch: “Sau đây chúng ta tìm hiểu khái niệm lớp ngôn ngữ lập trình” Trình bày cho học sinh xem HS: Quan sát, ghi chép, lắng nghe GV: Lưu ý học sinh: “Chương trình viết ngôn ngữ máy có thể nạp trực tiếp vào nhớ và thực ” Trình bày và giới thiệu cho học sinh biết hợp ngữ HS: Quan sát, ghi chép, lắng nghe GV: Giới thiệu với các em ngôn ngữ bậc cao HS: Lắng nghe, ghi chép, quan sát Khái niệm chương trình dịch GV: “Để thực trên máy tính, chương trình cần dịch sang ngôn ngữ máy” HS: Lắng nghe, ghi chép GV: giới thiệu khái niệm và chế hoạt động chương trình dịch HS: Quan sát, lắng nghe, ghi chép GV: Chuyển mạch: “Vậy có loại chương trình dịch” và tiến hành cho học sinh xét ví dụ người phiên dịch HS: lắng nghe và suy nghĩ GV: Trình bày cho học sinh các cách thức giải HS: Quan sát, ghi chép GV: Nhận xét: Sau kết thúc Cách 1: Không có tài liệu nào lưu trữ Cách 2: Có tài liệu tiếng Việt và tiếng Anh có thể lưu trữ dùng lại sau” HS: Lắng nghe, ghi chép GV: Chuyển mạch: “Cũng tương tự ta có loại chương trình dịch là : thông dịch và biên dịch” Trình chiếu và giới thiệu cho học sinh thông dịch (interpreter) Naêm hoïc 2010 – 2011 -2Lop11.com - 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 - Chương trình viết ngôn ngữ máy có thể nạp trực tiếp vào nhớ máy và thực còn chương trình viết ngôn ngữ lập trình bậc cao phải chuyển thành ngôn ngữ máy thực - Chương trình có chức chuyển đổi ngôn ngữ viết ngôn ngữ bậc cao thành ngôn ngữ máy gọi là chương trình dịch - Chương trình dịch nhận đầu vào là chương trình viết ngôn ngữ lập trình bậc cao(chương trình nguồn) và cho chương trình dạng ngôn ngữ máy (chương trình đích) CT nguồn CT DỊCH CT đích Chương trình dịch có hai loại là thông dịch và biên dịch a./ Thông dịch (Interpreter): Thông dịch thực cách lặp lại các bước: - B1: Kiểm tra tính đúng đắn câu chương trình nguồn; - B2: Chuyển đổi câu lệnh đó thành các câu lệnh tương ứng ngôn ngữ máy; -B3:Thực các câu lệnh vừa chuyển đổi Thông dịch là quá trình dịch và thực các câu lệnh luân phiên b./ Biên dịch (compiler) Biên dịch thực qua hai bước: - B1: 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; - B2: 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ử Khuùc Thò Myõ Trinh (3) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG HS: Quan sát, ghi chép, suy nghĩ GV: Chú ý cho học sinh: “Thông dịch thích hợp đối thoại người và hệ thống Tuy nhiên câu lệnh nào đó lập lại bao nhiêu lần thì nó dịch nhiêu lần” Nêu ví dụ cho học sinh HS: Lắng nghe, ghi chép GV:giới thiệu cho học sinh biết biên dịch(compiler) HS: Quan sát, ghi chép, suy nghĩ GV: Nêu ví dụ cho học sinh và nhận xét: “Trong chương trình thông dịch, không có chương trình đích để lưu trữ Trong biên dịch chương trình nguồn và đích có thể lưu trữ” dụng lại cần thiết Thông thường, môi trường làm việc trên ngôn ngữ lập trình cụ thể ngoài chương trình dịch còn có số thành phần chức liên quan biên soạn, lưu vtrử, tìm kiếm, … VD: Turbo Pascal, Free Pascal, Visual Pascal, là các môi trường làm việc trên Pascal; C++, Visual C++, là các môi trường làm việc trên C++ Củng cố và luyện tập : - Nhắc lại khái niệm ngôn ngữ lập trình và chương trình dịch: thông dịch và biên dịch Hướng dẫn học sinh chuẩn bị bài nhà: - Học bài cũ Trả lời các câu hỏi SGK V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: Naêm hoïc 2010 – 2011 -3Lop11.com Khuùc Thò Myõ Trinh (4) Trường THPT QUANG TRUNG Giaùo aùn Tin hoïc 11 Tuần: - Tiết PPCT:02 Ngày dạy: CÁC THAØNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH I MỤC TIÊU Kiến thức HS cần: - Biết ba thành phần ngôn ngữ lập trình., hiểu và phân biệt ba thành phần này - Biết các khái niệm: tên, tên chuẩn, tên dành riêng, và biến Kỹ - Phân biệt tên, hằng, biến và biết đặt tên đúng Thái độ - Có tính kỉ luật cao, ham thích môn học, tình thần làm việc theo nhóm II CHUẨN BỊ Giáo viên - Sách giáo viên Học sinh - Xem trước nội dung 3.a, b bài III PHƯƠNG PHÁP Phương pháp phát vấn, thuyết trình – giảng giải IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: Câu hỏi: Biên dịch và thông dịch khác nào?(8đ) Thông dịch: không có chương trình đích để lưu trữ Lần lượt dịch câu lệnh.Một câu lệnh nào đó phải thực bao nhiêu lần thì nó phải dịch nhiêu lần (4đ) Biên dịch: Trong biên dịch chương trình nguồn và đích có thể lưu trữ Dịch toàn chương trình nguồn thành chương trình đích (4đ) Giảng bài mới: Hoạt động GV và HS Nội Dung GV: giới thiệu cho học sinh thành 1./ Các Thành Phần Cơ Bản: Mỗi ngôn ngữ lập trình thường có ba thành phần ngôn ngữ lập trình HS: Quan sát, ghi chép phần sau: GV: dẫn dắt HS: Trong tiếng việt a./ Bảng chữ cái: gồm: chúng ta có sử dụng bảng chữ cái - Các chữ cái thường và các chữ cái hoa không? “ta sử dụng các ký tự bảng bảng chữ cái tiếng anh Naêm hoïc 2010 – 2011 -4Lop11.com Khuùc Thò Myõ Trinh (5) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG chũ cái tiếng việt để ghép thành từ, thành câu, thành văn Tương tự ngôn ngữ lập trình có bảng chữ cái GV: Giới thiệu khái niệm bảng chữ cái và tập hợp các kí tự hợp lệ HS: Chú ý quan sát, ghi chép GV: Chú ý thêm cho học sinh: “Bảng chữ cái các ngôn ngữ lập trình khác có khác không nhiều” và nêu ví dụ cho học sinh GV: giới thiệu cho học sinh biết cú pháp là gì? Và nêu tác dụng cú pháp GV: Lưu ý thêm cho học sinh: “Cú pháp có khác các ngôn ngữ lập trình” và nêu ví dụ minh họa GV: giới thiệu cho học sinh biết thành phần ngữ nghĩa HS: Ghi chép GV: Đưa ví dụ minh họa: Từ “Chạy” câu sau mang nghĩa khac Bình và Hưng thi chạy Nhân dân ĐBSCL chạy lũ Tổ hợp ký tự ngữ cảnh khác mang nghĩa khác HS: Quan sát, suy nghĩ, ghi chép GV: Lưu ý HS, lỗi cú pháp dễ phát hiện, lỗi ngữ nghĩa khó phát Chỉ đưa vào số liệu cụ thể GV: Đặt câu hỏi: Trong đời sống thực, tên là gì? Tại phải đặt tên? HS: Trong sống ngày ta phân biệt người này với người qua tên Nêu ý nghĩa việc đặt tên lập trình GV: Trong ngôn ngữ lập trình vậy, để phân biệt các đối tượng chương trình thì phải đặt tên cho các đối tượng đó GV: Quy tắc đặt tên tuân theo ngôn ngữ lập trình và chương trình Naêm hoïc 2010 – 2011 - 10 chữ số thập phân ả rập: 0 - Các kí tự đặc biệt: + - * / = < > [ ] , ; # ^ $ @ & ( ) : ‘ và dấu cách Bảng chữ cái các ngôn ngữ lập trình có khác khác biệt không nhiều b./ Cú pháp : Là quy tắc để viết chương trình Dựa vào chúng, người lập trình và chương trình dịch biết tổ hợp nào các ký tự bảng chữ cái là hợp lệ và tổ hợp nào là không hợp lệ Từ đó có thể mô tả chính xác thuật tóan để máy thực c./ Ngữ nghĩa: Để xác định ý nghĩa thao tác cần phải thực Tóm lại, cú pháp cho biết cách viết chương trình hợp lệ còn ngữ nghĩa cho phép xác định ý nghĩa các tổ hợp ký tự 2./ Một số khái niệm: a./ Tên: Mọi đối tượng chương trình phải đặt tên theo qui tắc ngôn ngữ lập trình và chương trình dịch cụ thể Trong ngôn ngữ lập trình Pascal, tên là dãy liên tiếp không quá 127 ký tự bao gồm: chữ cái, chữ số, dấu gạch và bắt đầu chữ cái dấu gạch VD : ngôn ngữ lập trình Pascal: -Tên đúng: A ; A3 ; c_Trinh1; _ab3; _34a - Tên sai: c trinh ; 6aB ; A&B; Ngôn ngữ Pascal không phân biệt chữ hoa và chữ thường số ngôn ngữ lập trình khác phân biệt chữ hoa và chữ thường (C, C++) * Nhiều NNLT, đó có Pascal, phân biệt ba loại tên: + Tên dành riêng: Là các từ có ý nghĩa riêng cho NNLT, từ có chức riêng biệt còn gọi là từ khóa Một số từ dàng riêng NNLT pascal: and, asm, array, begin, case, const… + Tên chuẩn: Là tên các NNLT định nghĩa sẵn, -5Lop11.com Khuùc Thò Myõ Trinh (6) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG dịch cụ thể GV: Cho học sinh làm số ví dụ để phân biệt tên đúng, tên sai HS: Học sinh tìm tên đúng Pascal Tênđúng: Giai_Phuong_Trinh _Timx PROGRAM Integer type Abs GV: khái niệm các loại tên và giải nghĩa thêm chức vài loại tên thông dụng: PROGRAM, begin, end, uses, const, GV: hãy các tên sai các đặt tên sau đây: A, R23, _65, A GH, P34_c, 8Jh, F#j, GJ, F@j ? Trả lời: Tên sai là: A GH, 8Jh, F#j, F@j Hằng và biến GV: Trong ngôn ngữ Pascal, cần lưu trữ đại lượng có giá trị thay đổi hay không đổi người ta dùng đại lượng và biến Vậy hay biến là gì? Chức chúng sao? Phần cuối cùng ta tìm hiểu khái niệm và biến HS: Học sinh lắng nghe GV: Các em hãy nhìn lên bảng ví dụ sau và cho biết đâu là xâu, chuỗi, logic 24,74,12.3 ‘NhaTrang’, ‘tour’ False, True GV: Các em hãy cho biết tên biến và tên là tên chuẩn hay tên dành riêng hay tên người lập trình đặt HS: Học sinh đọc sách và trả lời: Tên người lập trình đặt GV: Sau viết chương trình thì người lập trình phải tiến hành “chạy thử” để kiểm tra xem phần mã mình viết có đúng ý tưởng ban đầu thiết kế không, em nào cho biết, các lệnh Naêm hoïc 2010 – 2011 người lập trình có thể định nghĩa lại Một số tên chuẩn Pascal: abs, sqr, sqrt, byte, integer, real, … + Tên người lập trình đặt: Được dùng với ý nghĩa riêng người lập trình, xác định cách khaibáo trước sử dụng VD: Delta, C_trinh1; b./ Hằng và biến: - Hằng số là đại lượng nhận giá trị trước thân chương trình bắt đầu thực hiện, Pascal khai báo sau từ khoá , Pascal CONST VD : CONST n = 15; - Biến số: Là đại lượng có giá trị thay đổi quá trình thực chương trình, biến đặt tên để lưu trử giá trị, Pascal biến khai báo sau từ khoá VAR VD : VAR x: integer; Chú thích: - Để dễ hiểu, chương trình cần có các đoạn chú thích - Chú thích không ảnh hưởng đến nội dung chương trình Trong Pascal, chú thích là phần nằm cặp dấu … (* …*) VD: doan nhap so lieu Bài tập: Cho các tên sau, phân biệt tên đúng, tên sai , vì sai? Bai_tap_01 Bai tap1 _Btap_02 2Btap Bai$tap Hãy phân biệt các tên sau đâu là tên dành riêng, đâu là tên chuẩn? and, asm, abs, sqr, sqrt, byte, integer , array, begin, case, const, real, end -6Lop11.com Khuùc Thò Myõ Trinh (7) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG viết cặp dấu {} hay (* *) có chương trình biên dịch không? HS: Dấu chú thích bỏ qua Pascal biên dịch chương trình Củng cố và luyện tập : Thế nào là tên dành riêng, tên chuẩn, tên người lập trình đặt? Hằng và biến khác nào? Cách để ghi chú thích Pascal? Hướng dẫn học sinh chuẩn bị bài nhà: Học bài cũ Trả lời câu hỏi 4, 5, sách giáo khoa trang 13 Chuẩn bị bài tập cuối chương I sách bài tập V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: Naêm hoïc 2010 – 2011 -7Lop11.com Khuùc Thò Myõ Trinh (8) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG Tuần: - Tiết PPCT: Ngày dạy: BÀI TẬP I MỤC TIÊU: 1.Về kiến thức: Phân biệt tên chuẩn với tên dành riêng và tên tự đặt; Phân biệt tên, và biến; Biết đặt tên đúng và nhận biết tên sai qui định; Sử dụng đúng chú thích 2.Về kỹ năng: Rèn luyện tính cẩn thận, sáng tạo, và tư quá trình giải các bài tập 3.Về thái độ: Có thái độ nghiêm túc học II CHUẨN BỊ: 1.Giáo viên: sách giáo viên 2.Học sinh: Xem lại bài & bài III PHƯƠNG PHÁP: Phương pháp hỏi đáp, đặt vấn đề, so sánh IV.TIẾN TRÌNH DẠY HỌC: 1.Ổn định tổ chức: kiểm diện 2.Kiểm tra bài cũ: Câu hỏi: Tên ngôn ngữ pascal đặt theo quy tắc nào?Cho ví dụ vài tên đúng? Hãy cho biết điểm khác tên dành riêng và tên chuẩn.Tên người lập trình đặt?(5đ) - Quy tắc đặt tên NNLT Pascal (1đ) - Vd: lop_11A, _123Tin,…(1đ) - Tên dành riêng (1đ) - Tên chuẩn (1đ) - Tên người lập trình đặt (1đ) Câu hỏi: Hằng là gì? Có loại nào ? kể ra? cho ví dụ loại ? Biến là gì ?(5đ) - Hằng: (1đ) + Hằng số học; (0.5đ) + Hằng logic; (0.5đ) + Hằng xâu (0.5đ) - Vd : -3, 4.2, -2.7, TRUE, FALSE, ‘lop_11CB4’ ( 1.5đ) - Biến (1đ) Naêm hoïc 2010 – 2011 -8Lop11.com Khuùc Thò Myõ Trinh (9) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG 3.Giảng bài mới: Hoạt động GV và HS GV: Vừa chúng ta đã học bài KHÁI NIỆM LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH & Bài CÁC THÀNH PHẦN CỦA NGÔN NGỮ LẬP TRÌNH Hôm chúng ta học tiết bài tập để củng cố lại các kiến thức đã học GV: Sửa các bài tập SGK/ 13 GV: Yêu cầu hs đọc câu hỏi và yêu cầu hs khác trả lời câu hỏi HS: Lắng nghe và thực yêu cầu GV GV: yêu cầu lớp cho nhận xét GV lắng nghe và bổ sung hoàn chỉnh HS: Ghi nhận câu trả lời vào tập GV: Đưa bài tập cho hs HS: lắng nghe và thực yêu cầu GV GV: Gọi học sinh khác trả lời yêu cầu bài HS: Nghiêm túc lắng nghe và tích cực phát biểu xây dựng bài GV: lắng nghe và nhận xét câu trả lời HS HS: Ghi nhận vào tập GV: Tiếp tục đưa câu hỏi cho hs Hướng dẫn Naêm hoïc 2010 – 2011 Nội Dung 1/13 SGK Tại người ta phải xây dựng ngôn ngữ lập trình bậc cao? Lập trình ngôn ngữ bậc cao dễ viết vì các lệnh mã hoá gần với ngôn ngữ tự nhiên Chương trình viết ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy, nghĩa là chương trình có thể thực trên nhiều loại máy tính khác 2/13 SGK Chương trình dịch là gì? Tại cần phải có chương trình dịch? Chương trình dịch là chương trình có chức chuyển đổi các ngôn ngữ khác sang ngôn ngữ máy Cần phải có chương trình dịch để chuyển chương trình viết các ngôn ngữ khác thành ngôn ngữ máy thì máy tính có thể hiểu và thực 3/13 SGK Biên dịch và thông dịch khác nào? Trong thông dịch không có chương trình đích để lưu trữ Trong biên dịch chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng sau 4/13 SGK Điểm khác tên dành riêng và tên chuẩn Tên dành riêng dùng với ý nghĩa xác định, không dùng với ý nghĩa khác Tên chuẩn dùng với ý nghĩa định, có thể khai báo và dùng với ý nghĩa khác 5/13 SGK Viết tên đúng theo quy tắc Pascal Giai_PT; Baitap1nangcao; _1chuongtrinh; 6/13 SGK Cho biết biểu diễn không phải là biểu diễn Pascal a) 150.0 b) -22 c) 6,23 d) ‘43’ e) A20 f) 1.06E-15 g) 4+6 h) ‘C i) ‘TRUE’ Những biểu diễn không phải là biểu diễn Pascal: c) dấu phẩy thay dấu chấm e) là tên chưa rõ giá trị g) là biểu thức Pascal h) sai quy định xâu: thiếu dấu nháy đơn cuối 1.3/6 SBT Trong chế độ biên dịch, chương trình đã dịch thông suốt, hệ thống không báo lỗi Có thể khẳng định ta đã có chương trình đúng hay chưa? Tại sao? Không thể khẳng định vì chương trình có thể còn chứa lỗi ngữ nghĩa 1.5/6 SBT Sau chương trình đã dịch thông suốt, không còn lỗi cú pháp, có cần tiếp tục hiệu chỉnh, tức là tìm và -9Lop11.com Khuùc Thò Myõ Trinh (10) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG hs làm các bài tập sửa lỗi chương trình nguồn hay không? Có Cần kiểm tra ngữ nghĩa 1.9/7 SBT Hãy chọn biểu diễn biểu HS: Nghiêm túc lắng nghe, diễn đây ghi chép và tích cực phát A) Begin B) ‘65c’ C) 1024 biểu xây dựng bài D) -46 E) 5.A8 F) 12.4E-5 B, C, D, F GV: yêu cầu hs giải thích 1.10/7 SBT Hãy chọn biểu diễn tên biểu lý không chọn diễn đây phương án khác giúp A) ‘*****’ B) -5+9-0 C) PpPpPp hs hiểu rõ bài D) +256.512 E)FA33C9 F) (2) C, E GV: Tiếp tục hướng dẫn 1.11/7 SBT Trong biểu diễn đây, biểu diễn nào là học sinh làm các bài tập từ khóa Pascal ? A) END B) Ingteger C) Real còn lại hết Trong D) sqrt E) ‘end’ F) var quá trình giải bài tập, nên nhắc lại các kiến thức đã A, F học giúp học sinh nắm 1.15/7 SBT Trong dòng thông tin chú thích có thể chứa kí tự vững kiến thức ngoài bảng chữ cái ngôn ngữ hay không và ? Có thể vì chương trình dịch bỏ qua chú thích dịch chương trình Câu : Các chú thích nào đây là đúng ? A) (*Day la mot chuong trinh Pascal*) B) /* Day la mot chuong trinh Pascal*/ C) { Day la mot chuong trinh Pascal} D) A & C đúng 4.Củng cố và luyện tập: Nhắc lại các kiến thức quan trọng cần nắm 5.Hướng dẫn học sinh chuẩn bị bài nhà: Chuẩn bị bài 3: CẤU TRÚC CHƯƠNG TRÌNH V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: Naêm hoïc 2010 – 2011 - 10 Lop11.com Khuùc Thò Myõ Trinh (11) Trường THPT QUANG TRUNG Giaùo aùn Tin hoïc 11 Tuần: Ngày dạy: - Tiết PPCT:4 Chöông II: CHÖÔNG TRÌNH ÑÔN GIAÛN CAÁU TRUÙC CHÖÔNG TRÌNH I MỤC TIÊU Kiến thức - Nắm cấu trúc chung và các phần chương trình viết trên ngôn ngữ bậc cao Từ đó biết cần thiết phải viết đúng cú pháp ngôn ngữ lập trình Kỹ - Biết các khai báo đơn giản Thái độ - Có tính kỉ luật cao, ham thích môn học, tình thần làm việc theo nhóm II CHUẨN BỊ Giáo viên - Sách giáo viên - chuẩn bị chương trình Pascal đơn giản để minh họa Học sinh - Xem trước nội dung bài III PHƯƠNG PHÁP Gợi mở tình + Đặt vấn đề + thảo luận + thuyết trình IV TIẾN TRÌNH DẠY HỌC: Ổn định tổ chức: kiểm diện Kiểm tra bài cũ: Hãy nêu các thành phần ngôn ngữ lập trình ? Phân biệt các khái niệm: Tên dành riêng, tên chuẩn và tên người lập trình đặt? Giảng bài mới: Hoạt động GV và HS Nội Dung Hoạt động 1: Giúp HS có cái nhìn tổng 1./ Cấu trúc chung: Gồm phần: quan cấu trúc chung chương trình viết ngôn ngữ lập trình bậc cao [<phần khai báo>] <phần thân> GV đưa số VD các cấu trúc Trong đó: mà HS đã biết thực tế: cấu +Phần thân chương trình thiết phải có trúc bài văn, cấu trúc máy tính + Phần khai báo có thể có không, tùy GV đặt câu hỏi: “Một chương trình viết ngôn ngữ bậc cao có cấu trúc thuộc vào chương trình 2./ Các thành phần chương trình: nào?” a./ Phần khai báo: Từ các VD, GV phân tích và đưa Naêm hoïc 2010 – 2011 - 11 Lop11.com Khuùc Thò Myõ Trinh (12) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG cấu trúc chương trình GV giải thích thêm cho HS qui định viết các thành phần chương trình Hoạt động 2: Tìm hiểu chi tiết thành phần chương trình và cách khai báo tên chương trình, khai báo thư viện, khai báo GV phân tích ý nghĩa thành phần khai báo tên chương trình và giới thiệu cách khai báo tên chương trình Pascal GV đưa số VD khai báo tên chương trình Pascal, yêu cầu HS nhận xét đúng hay sai GV phân tích khái niệm thư viện chương trình ngôn ngữ lập trình GV đưa vd cho HS thấy cách khai báo thư viện Pascal và C/C++ GV yêu cầu HS trình bày lại khái niệm và phân biệt các loại NNLT GV giải thích ý nghĩa việc khai báo GV đưa vd cho HS thấy cách khai báo và phân biệt khác khai báo Pascal và C/C++ GV yêu cầu HS trình bày lại khái niệm biến và phân biệt các loại biến NNLT GV giới thiệu và phân tích cho HS hiểu ý nghĩa việc khai báo biến chương trình GV có thể giải thích thêm, khai báo biến là xin máy tính cấp cho chương trình vùng nhớ để lưu trữ và xử lý thông tin nhớ GV đưa VD, yêu cầu HS xác định tên và đặc điểm các biến chương trình GV dẫn dắt vấn đề “mỗi NNLT có Naêm hoïc 2010 – 2011 Gồm số khai báo thường gặp: Khai báo tên chương trình: Phần này có thể không có, Với Pascal, có khai báo sau: PROGRAM <TÊN CHƯƠNG TRÌNH>; Tên chương trình người lập trình đặt VD: PROGRAM CTRINH1; Khai báo thư viện: Mỗi ngôn ngữ lập trình có thư viện cung cấp số chương trình thông dụng đã lập sẵn Để sử dụng chương trình này cần khai báo thư viện chứa nó Trong Pascal: USES <danh sách thư viện>; VD: USES CRT; Khai báo Dùng để định nghĩa cho giá trị xuất nhiều lần chương trình Trong Pascal: CONST MaxN=300; PI= 3.14; Khai báo biến: Để lưu các giá trị chương trình các biến thì biến cần đặt tên và khai báo các VD: Khai báo biến x, y kiểu số thực Pascal khai báo: VAR x,y : real; b./ Phần thân chương trình: Thân chương trình là phần bắt buộc phải có, đó là dãy lệnh phạm vi xác định cặp dấu hiệu mở đầu và kết thúc VD: Trong Pascal: BEGIN [<dãy lệnh>] END Cấu trúc tổng quát chương trình viết ngôn ngữ lập trình PASCAL: Phần 1: Tên chương trình PROGRAM ten_chuong_trinh; có thể có không Phần 2:Phần khaibáo tuỳ thuộc vào chương trình USES ; khai báo các Unit - 12 - Lop11.com Khuùc Thò Myõ Trinh (13) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG cách tổ chức chương trình khác nhau” giải thích ý nghĩa thân chương trình GV yêu cầu HS xem vd SGK để hiểu các dấu hiệu xác định phạm vi thân chương trình GV giới thiệu thêm dấu hiệu bắt đầu và kết thúc thân chương trình ngôn ngữ C/C++ là cặp dấu ngoặc { và } Hoạt động 3: Giới thiệu cách viết chương trình đơn giản, bước đầu làm quen với việc viết chương trình trên ngôn ngữ Pascal GV yêu cầu HS xem vd1 SGK nhận xét cách viết chương trình ngôn ngữ khác và xác định thành phần chương trình GV nhận xét và phân tích để HS nhận ra: chương trình cùng thực công việc viết ngôn ngữ khác nên hệ thống câu lệnh chương trình khác GV yêu cầu HS xem tiếp vd2 và giải thích cách đưa câu thông báo màn hình: sử dụng lệnh Writeln và xâu để dấu nháy đơn CONST ; khai báo các hằng TYPE ; khai báo các kiểu liệu mới VAR ; khai báo các biến PROCEDURE ; khai báo các thủ tục FUNCTION khai báo các hàm Phần 3: Phần thân chương trình bắt buộc với chương trình BEGIN Các lệnh chương trình; END 3./ Ví dụ chương trình đơn giản: PROGRAM VI_DU; VAR x, p : INTEGER; BEGIN WRITE(‘Nhap mot so khac :’); xuat dong chu: Nhap mot so khac 0: READLN(x); doc du lieu cho bien x P:= x* x* x; WRITE(‘Lap phuong cua’, x,’ la:’,p); READLN; doi go phim END Củng cố và luyện tập: - Nhắc lại cấu trúc và các thành phần chương trình Hướng dẫn học sinh chuẩn bị bài nhà: Chuẩn bị bài 4: MỘT SỐ KIỂU DỮ LIỆU CHUẨN và Bài : KHAI BÁO BIẾN V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: + Giáo viên: Nội dung: Phương pháp: Tổ chức: Naêm hoïc 2010 – 2011 - 13 Lop11.com Khuùc Thò Myõ Trinh (14) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG Tuần: - Tiết PPCT: Ngày dạy: MỘT SỐ KIỂU DỮ KIỆU CHUẨN KHAI BAÙO BIEÁN I.MỤC TIÊU 1.Kiến thức HS nắm tên, phạm vi giá trị các kiểu liệu chuẩn thường dùng và dung lượng nhớ dùng để lưu trữ giá trị chúng Xác định kiểu cần khai báo liệu đơn giản Hiểu cách khai báo biến Pascal và biết khai báo biến đúng 2.Về kỹ năng: Biết lựa chọn các kiểu liệu chuẩn kiểu nguyên, kiểu thực, kiểu kí tự, kiểu lôgic vào số bài toán cụ thể cách hợp lí Biết khai báo biến đơn cần sử dụng chương trình 3.Về thái độ: Rèn luyện tư lôgic, cách làm việc khoa học và chính xác II.CHUẨN BỊ Giáo viên: – Sách giáo viên, các sách tham khảo Tin học; chuẩn bị chương trình Pascal đơn giản để minh họa Học sinh: - Chuẩn bị bài MỘT SỐ KIỂU DỮ LIỆU CHUẨN và bài KHAI BÁO BIẾN III PHƯƠNG PHÁP Phương pháp đàm thoại, thuyết trình IV.TIẾN TRÌNH BÀI HỌC Ổn định lớp: kiểm diện Kiểm tra bài cũ: Câu hỏi: Cấu trúc chương trình? Khai báo tên, khai báo thư viện? Cho ví dụ? (5đ) Câu hỏi: Cấu trúc phần thân chương trình? Khai báo hằng, khai báo biến? cho ví dụ? (5đ) Giàng bài mới: Hoạt động GV và HS Nội Dung GV: Khi cần viết chương trình -Kiểu liệu là qui định cấu trúc, miền giá quản lí học sinh ta cần xử lí trị và tập phép toán trên miền giá trị đó thông tin dạng nào? -Một liệu thuộc kiểu liệu HS: Suy nghĩ, trả lời định Mỗi ngôn ngữ lập trình có số kiểu GV: Phân tích câu trả lời liệu chuẩn học sinh, đưa vài dạng Trong Pascal, có các kiểu liệu chuẩn sau: thông tin sau: - Họ tên học sinh là Naêm hoïc 2010 – 2011 - 14 Lop11.com Khuùc Thò Myõ Trinh (15) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG thông tin dạng văn hay là Kiểu số nguyên: dạng các kí tự - Điểm học sinh là các -Có kiểu số nguyên sau: thông tin dạng số thực Yêu cầu - Số thứ tự học sinh là các Tên kiểu Miền giá trị nhớ số nguyên đến 255 byte - Một số thông tin khác cần Byte Integer -32768 đến 32767 byte biết chúng là đúng hay sai đến 65535 byte GV: - Ngôn ngữ lập trình nào Word -2147483648 đến byte đưa số kiểu liệu Longint 2147483647 chuẩn - Kiểu liệu nào có - Các phép tính trên kiểu số nguyên: - : trừ * :nhân / :chia miền giới hạn nó Tùy thuộc + :cộng DIV : chia lấy phần nguyên vào ngôn ngữ lập trình mà tên MOD :chia lấy phần dư các kiểu liệu khác VD: 5/2 = 2.50, DIV = 2,5 MOD =1 và miền giá trị các kiểu liệu này 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ố lượng ô nhớ để lưu giá trị thuộc kiểu 2.Kiểu số thực: Tên Miền giá trị nhớ đó Giới thiệu các kiểu liệu chuẩn Real Biểu diễn số có giá trị tuyệt byte 39 38 thường dùng Pascal, hình đối từ 2.9*10 đến 1.7*10 thành HS ý thức sử dụng - Kiểu thực biểu diễn theo hai cách: các kiểu liệu cho phù hợp +Cách viết dấu phẩy tĩnh Vd: 2.5, 5.024 với yêu cầu bài toán và tiết kiệm +Cách viết dấu phẩy động: gồm phần định trị và tài nguyên phần bậc, viết cách chữE GV : Giới thiệu các kiểu liệu * Phần định trị: là số nguyên hay số thực viết nguyên Pascal dạng dấu phẩy tĩnh * Phần bậc: là số nguyên Lưu ý HS phạm vi giá trị và 125E + :biểu diễn số :125000 dung lượng nhớ để lưu trữ giá - Vd: 125.4E + : Biểu diễn số :125400 trị 125000E –3 :Biểu diễn số :125 GV: Nhấn mạnh thực phép toán số nguyên cần - Các phép toán trên kiểu thực:+ (cộng), -(trừ),* chú ý xem các phép toán đó có (nhân), / (chia) cho kết vượt khỏi phạm vi - Không tồn các phép toán DIV, MOD cho số kiểu số nguyên mà đã khai thực báo không! GV: giới thiệu các kiểu liệu thực Pascal Lưu ý: HS phạm vi giá trị và dung lượng nhớ để lưu trữ giá 3.Kiểu logic(BOOLEAN): Naêm hoïc 2010 – 2011 - 15 Lop11.com Khuùc Thò Myõ Trinh (16) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG trị GV: giải thích kiểu thực thì kết tính toán là gần đúng với sai số không đáng kể, miền giá trị mở rộng so với kiểu nguyên GV nhấn mạnh phép toán chứa các toán hạng gồm kiểu nguyên và kiểu thực cho kết kiểu thực Dẫn dắt : Máy tính điện tử không có khả xử lý các liệu số nguyên, số thực mà còn có khả xử lý các liệu là các chữ viết(kí tự) ta soạn thảo văn bản, quản lý hồ sơ HS,… GV: Kiểu kí tự thường là tập hợp các kí tự các bảng mã kí tự Để lưu các giá trị là kí tự thì phải lưu mã thập phân tương ứng nó Trong thực tế chúng ta thường hay gặp loại đại lượng có giá trị: Đúng (True) Sai (False) GV: Kiểu logic là kiểu thường có giá trị đúng, sai Giới thiệu kiểu logic GV nhấn mạnh, đại lượng thuộc kiểu logic nhận hai giá trị: True False GV: Đưa ví dụ, yêu cầu học sinh xác định các biến Giới thiệu với học sinh cách khai báo biến HS : Lắng nghe và tích cực phát biểu xây dựng bài VD: Giải phương trình bậc hai ax2 + bx + c = Khai báo các biến sau: var a, b, c, x1, x2, delta: real; VD: Để tính chu vi và diện tích Naêm hoïc 2010 – 2011 - Kiểu Logic có hai giá trị: Đúng (TRUE) và Sai(FALSE), đó FALSE < TRUE - Các phép toán trên đối tượng có trị Logic: AND, OR, NOT xác định: x y x AND y x OR y NOT x false false false false true false true false true true true false false true false true true true true false 4.Kiểu ký tự (CHAR): * Kiểu ký tự dùng để biểu diễn các ký hiệu bảng mã ASCII, mã ký hiệu chính là số thứ tự nó bảng mã(Vd: mã hay số thứ tự ký tự A là 65) - TP dùng byte để biểu diễn ký tự - Có tất 256 ký tự đánh số từ đến 255 - Để biểu diễn ký tự có mã n có thể dùng ba cách: + Đặt ký tự cặp dấu nháy đơn ‘ ‘ + Dùng hàm CHR(n) + Dùng # n VD: Để biểu diễn ký tự A có thể sử dụng các cách: ‘A’, CHR(65), # 65 * Kiểu ký tự có các phép toán so sánh(=, >, >=, <, <=, < >), so sánh dựa vào mã ký tự VD: ‘A’ < ‘a’ (vì 65< 97) KHAI BAÙO BIEÁN Trong PASCAL, khai báo biến bắt đầu từ khóa VAR sau: VAR <DS biến>:<Kiểu liệu; Trong đó: + DS biến là nhiều tên biến, có nhiều biến thì các biến cách dấu phẩy (,) + Kiểu liệu: Là các kiểu liệu chuẩn - 16 Lop11.com Khuùc Thò Myõ Trinh (17) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG tam giac cần khai báo sau: var a, b, c, cv, s: real; Trong đó: - a, b, c: dùng để lưu độ dài cạnh tam giác - cv: chu vi tam giác - s: diện tích tam giác Trong khai báo này có biến thực X, Y, Z Bộ nhớ cấp phát cho ba biến này là 18 byte ( * = 18 ) C là biến kí tự và nhớ dành cho nó là byte Các biến I, J nhận giá trị nguyên phạm vi từ đến 255 và nhớ dành cho biến là byte Biến N nhận các giá trị nguyên, phạm vi từ đến 65535 Bộ nhớ cấp phát cho biến N là byte Như vậy, tổng nhớ dành cho các biến đã khai báo là : 18 + + + = 23 ( byte ) GV: Đặt câu hỏi: khai báo biến cần chú ý điều gì HS: Suy nghĩ trả lời - Ví dụ, cần đặt tên hai biến biểu diễn điểm toán, điểm tin thì không nên vì ngắn gọn mà đặt tên biến là d1, d2 mà nên đặt là dtoan, dtin - Dễ mắc lỗi viết nhiều lần tên biến Ví dụ, không nên dùng d1, d2 hay diemmontoan, diemmontin cho điểm kiểu liệu người lập trình định nghĩa - Chú ý: Có thể khai báo nhiều biến với nhiều kiểu liệu khác VD: VAR x, y: Real; m,n, p : Integer; Ở khai báo trên, biến x,y chiếm nhớ byte, biến m, n, p chiếm nhớ byte Tổng nhớ cho biến là x + x = 18 byte - Chú ý: + Cần đặt tên biến làm cho dễ gọi nhớ đến ý nghĩa biến VD: Để lưu giá trị điểm toán, điểm tin không nên đặt D1, D2 mà nên đặt tên DTOAN, DTIN + Không nên đặt tên biến quá dài, dễ mắc lỗi gọi biến VD: không nên đặt DIEMMONTOAN, DIEMMONTIN + Cần quan tâm đến phạm vi giá trị biến VD: Khi khai báo biến để lưu số học sinh lớp có thể dùng kiểu Byte, để lưu số học sinh trường thì phải khai báo kiểu Word Củng cố và luyện tập : Nhắc lại các kiểu liệu chuẩn và cách xác định kiểu liệu Hướng dẫn học sinh chuẩn bị bài nhà: - Chuẩn bị bài tập và bài học số V RÚT KINH NGHIỆM: + Chương trình SGK: + Học sinh: Naêm hoïc 2010 – 2011 - 17 Lop11.com Khuùc Thò Myõ Trinh (18) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG + Giáo viên: Nội dung: Phương pháp: Tổ chức: Naêm hoïc 2010 – 2011 - 18 Lop11.com Khuùc Thò Myõ Trinh (19) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG Tuần: - Tiết PPCT: Ngày dạy: PHÉP TOÁN, BIỂU THỨC , CÂU LỆNH GÁN I.MỤC TIÊU 1.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 - Viết lệnh gán Kỹ - Viết lệnh gán - Viết biểu thức số học và lôgic với các phép toán thông dụng 3.Về thái độ: Rèn luyện tư lôgic, cách làm việc khoa học và chính xác Có tính kỉ luật cao, nỗ lực quá trình nghiên cứu độc lập và tình thần làm việc theo nhóm II.CHUẨN BỊ Giáo viên: – Sách giáo viên, các sách tham khảo Tin học; Học sinh: - Chuẩn bị bài PHÉP TOÁN, BIỂU THỨC, CÂU LỆNH GÁN III PHƯƠNG PHÁP Phương pháp đàm thoại, thuyết trình IV.TIẾN TRÌNH BÀI HỌC Ổn định lớp: kiểm diện Kiểm tra bài cũ: Câu hỏi: Hãy chọn khai báo đúng (5đ) Var x,y,z:word; X:longint; i:byte; n l:real; h:in tegr; Var x,y,z:word; i:byte; Câu hỏi: có bao nhiêu biến tất cả, nhớ phải cấp phát là bao nhiêu? (5đ) Var x,y:word; h:integer; z:longint; i:byte; - Có biến - Tổng nhớ cần cấp phát: x(2byte), y(2byte), x(4byte), h(2byte), i(1byte) Tổng 11byte Giàng bài mới: Naêm hoïc 2010 – 2011 - 19 Lop11.com Khuùc Thò Myõ Trinh (20) Giaùo aùn Tin hoïc 11 Trường THPT QUANG TRUNG Hoạt động GV và HS Nội Dung GV: Trong viết chương trình ta thường phải thực các tính toán, thực các so sánh để đưa định xem làm việc gì Vậy chương trình ta làm nào? Có giống với ngôn ngữ tự nhiên không? Tất các ngôn ngữ có sử dụng chung cách giống không? GV: Toán học có phép toán nào? HS: Đưa số phép toán thường dùng toán học GV: Chúng có dùng ngôn ngữ lập trình không? Chỉ có số phép dùng được, số phép phải xây dựng từ các phép toán khác GV: Mỗi ngôn ngữ lập trình khác lại có cách kí hiệu phép toán khác 1./ Phép toán - Các phép toán trên kiểu nguyên: + :cộng : trừ * :nhân / :chia DIV : chia lấy phần nguyên MOD :chia lấy phần dư VD: 5/2 = 2.50, DIV = 2,5 MOD =1 -Kiểu số thực: + , -, * , / - Các phép toán quan hệ: >, <, >=, <=, =, <> -Các phép toán trên đối tượng có trị Logic: AND, OR, NOT 2./ Biểu thức số học: - K/n: Biểu thức là biến, các biến, các liên kết với các phép toán số học Khi viết biểu thức cần chú ý: + Chỉ dùng dấu ngoặc đơn ( ) muốn xác định trình tự các phép toán + Không bỏ qua dấu * phép nhân VD: 3*(a* SIN(x) + b* COS(y))+2*sin(x) - Thứ tự ưu tiên các phép toán: + Phép ( ) + Phép *, / + Phép DIV, MOD + Phép +, Nếu cùng cấp thực từ trái qua phải 3./ Các hám số học chuẩn: - SQR(x) :bình phương số nguyên hay thực - ABS(x): Trị tuyệt đối - SQRT(x):Căn bậc hai x - SIN(x): Tính giá trị sin x với x đo radian - COS(x): tính giá trị cos x với x đo radian - LN(x) : Tính logarit số e (e=2.72) x - EXP(x) :Tính e x - TRUNC(x) : cắt bỏ phần thập phân x có VD: Trunc(4.25) = GV: Trong toán học, biểu thức là gì? HS: Đưa khái niệm GV: Đưa khái niệm biểu thức logic lập trình GV: Cách viết các biểu thức này lập trình có giống cách viết toán học? 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 cú pháp ngôn ngữ lập trình GV: Đưa số biểu thức toán học và yêu cầu học sinh viết ngôn ngữ lập trình Pascal GV: Muốn tính x2 ta viết nào? HS: Suy nghĩ, trả lời GV: Muốn tính x , sinx, cosx, … làm nào? Naêm hoïc 2010 – 2011 - 20 Lop11.com Khuùc Thò Myõ Trinh (21)