Chủ đề 1 tin học 11, Chủ đề 1 tin học 11, Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ; Hiểu ý nghĩa và nhiệm vụ của chương trình dịch; Phân biệt được biên dịch và thông dịch. Hiểu khả năng của ngôn ngữ lập trình bậc cao, phân biệt được với ngôn ngữ máy và hợp ngữ; Hiểu ý nghĩa và nhiệm vụ của chương trình dịch; Phân biệt được biên dịch và thông dịch.
Chủ đề 1: CÁC THÀNH PHẦN CƠ BẢN CỦA NGÔN NGỮ LẬP TRÌNH Thực tiết x 45 phút = 180 phút (Tuần đến tuần 2) A MỤC TIÊU CẦN ĐẠT Kiến thức: - Hiểu khả ngơn ngữ lập trình bậc cao, phân biệt với ngôn ngữ máy hợp ngữ - Hiểu ý nghĩa nhiệm vụ chương trình dịch Phân biệt biên dịch thông dịch - Biết ngôn ngữ lập trình có ba thành phần là: Bảng chữ cái, cú pháp ngữ nghĩa hiểu ba thành phần - Biết số khái niệm: Tên, tên chuẩn, tên dành riêng (từ khoá), biến Về kĩ năng: - Biết thành phần ngơn ngữ lập trình: Bảng chữ cái, cú pháp ngữ nghĩa (trong Pascal: tên, tên chuẩn, tên dành riêng, biến) - Phân biệt tên, biến Biết đặt tên - Phân biệt thông dịch biên dịch - Phân biệt ba thành phần:bảng chữ ,cú pháp ngữ nghĩa - Phân biệt tên, biến biết đặt tên Thái độ: - Ham muốn tìm hiểu ngơn ngữ lập trình - Tư logic - Thái độ cẩn thận, xác Hình thành lực: - Năng lực hợp tác: Tở chức nhóm học sinh hợp tác thực hoạt động - Năng lực tự học, tự nghiên cứu: Học sinh tự giác tìm tòi, lĩnh hội kiến thức tình - Năng lực giải vấn đề: Học sinh biết cách huy động kiến thức học để giải câu hỏi Biết cách giải tình giờ học - Năng lực thuyết trình, báo cáo: Phát huy khả báo cáo trước tập thể, khả thuyết trình - Năng lực ngơn ngữ B CHUẨN BỊ Chuẩn bị giáo viên: - Phương pháp phương tiện giảng dạy: diễn giảng kết hợp với đàm thoại gợi mở - Giáo án, SGV, SGK, sách tập,… Chuẩn bị học sinh: Tập vở, sách giáo khoa, … Trang C TIẾN TRÌNH DẠY HỌC Hoạt động Khởi động: Dự kiến thời lượng: …… phút NỘI DUNG Phương x2 3x TỔ CHỨC DỰ KIẾN SẢN PHẨM CỦA HS trình GV?: Cho phương trình HS: - Các hệ số a=2; b=-3; c=1 bậc hai x x có a=2; b=-3; c=1 Ta có b 4ac (3) 4.2.1 b 4ac Xác định hệ số a, b, - Ta có c (3) 4.2.1 Tính ? Tìm số - Phương trình có nghiệm phân nghiệm phương trình? �x biệt � � x � Có nghiệm phân biệt �x � � x � Nội dung trọng tâm chủ đề - Khái niệm lập trình ngơn ngữ lập trình - Các thành phần ngơn ngữ lập trình - Phép tốn, biểu thức GV?: Dẫn dắt vào nội HS: ý lắng nghe ghi chép dung chuyên đề - Khái niệm lập trình ngơn ngữ lập trình - Các thành phần ngơn ngữ lập trình - Phép tốn, biểu thức Hoạt động Triển khai kiến thức: Dự kiến thời lượng: …… phút NỘI DUNG TỔ CHỨC DỰ KIẾN SẢN PHẨM CỦA HS KHÁI NIỆM LẬP TRÌNH Gv: Cho tốn sau: Kết VÀ NGÔN NGỮ LẬP luận nghiện phương TRÌNH trình ax + b=0 ?Gv: Hãy xác định Input, Hs: Quan sát toán trả lời Output toán câu hỏi + Input: a, b + Output: x=-b/a, vô nghiệm, vô số nghiệm ?Gv: Hãy xác định bước Hs: để giải toán - B1: Nhập a, B - B2: Nếu a kết luận có nghiệm x=-b/A - B3: Nếu a=0 b0, kết Trang luận vô nghiệm - B4: Nếu a=0 b=0, kết luận vô số nghiệm Khái niệm vè lập trình a) Khái niệm lập trình: Lập trình việc sử dụng cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mơ tả liệu diễn đạt thao tác thuật toán Gv: Hệ thống bước Hs: Dùng ngơn ngữ lập trình gọi thuật tốn Làm để máy tính điện tử hiểu thuật toán ? Gv: Hoạt động để diễn đạt thuật tốn thơng qua ngơn ngữ lập trình gọi lập trình ?Gv: Các em cho biết Hs: Lập trình việc sử dụng khái niệm lập trình ? cấu trúc liệu lệnh ngơn ngữ lập trình cụ thể để mô tả liệu diễn đạt thao tác thuật toán ?Gv: Kết hoạt động Hs: Được chương trình lập trình ? ?Gv: Ngơn ngữ lập trình Hs: Ngơn ngữ máy, hợp ngữ gồm loại ? ngôn ngữ bâc cao ?Gv: Theo em chương trình viết ngơn ngữ bậc cao chương trình viết ngơn ngữ máy khác ? Hs: Nghiên cứu SGK trả lời câu hỏi + Chương trình viết ngơn ngữ máy nạp trực tiếp vào nhớ thực + Chương trình viết ngơn ngữ lập trình bậc cao phải chuyển đởi thành chương trình ngơn ngữ lập máy thực đượC ?Gv: Làm để chuyển Hs: Phải sử dụng chương chương trình viết trình dịch để chuyển đởi Trang ngơn ngữ bậc cao sang ngôn Hs: Ngôn ngữ bậc cao dễ viết, ngữ máy ? dễ hiểu Ngơn ngữ máy khó viết ?Gv: Vì khơng lập trình ngơn ngữ máy để khỏi cơng chuyển đởi lập trình với ngôn ngữ bậc cao Hs: Nghiên cứu SGK trả lời câu hỏi: ?Gv: Theo em + Chương trình nguồn chương trình dịch: chương chương trình viết ngơn trình chương trình ngữ lập trình bậc cao nguồn chương trình đích + Chương trình đích chương trình thực chuyển đởi sang ngôn ngữ máy Gv: Em muốn giới thiệu trường cho người khách du lịch quốc tế biết tiếng Anh, có hai cách thực C1: Cần người biết tiếng Anh dịch câu nói em sang tiếng Anh cho người khách Cách mày gọi lag thông dịch C2: Em soạn nội dung giới thiệu giấy người phiên dịch dịch toàn nội dung sang tiếng Anh đọc cho khách nghe Cách gọi biên dịch b) Chương trình dịch: gồm thông dịch biên dịch * Thông dịch: - B1: Kiểm tra tính đắn câu lệnh chương trình nguồn; - B2: Chuyển lệnh thành ngôn ngữ máy - B3: Thực câu lệnh Gv: Tương tự chương trình dịch có hai loại thông dịch biên dịch Hs: * Thông dịch: ?Gv: Các em cho biết - B1: Kiểm tra tính đắn tiến trình thơng dịch câu lệnh biên dịch chương trình nguồn; - B2: Chuyển lệnh thành Trang vừa chuyển đổi * Biên dịch: - B1: Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn - B2: Dịch tồn chương trình nguồn thành chương trình đích thực máy lưu trữ để sử dụng lại cần thiết ngôn ngữ máy - B3: Thực câu lệnh vừa chuyển đổi * Biên dịch: - B1: Duyệt, phát lỗi, kiểm tra tính đắn câu lệnh chương trình nguồn - B2: Dịch tồn chương trình nguồn thành chương trình đích thực máy lưu trữ để sử dụng lại cần thiết 2.Ngơn ngữ lập trình: Một số ngơn ngữ lập trình bậc cao : Turbo Pascal, Free Pascal, C, C+, C++, … Hoạt động : Tìm hiểu nội dung thành phần ngơn ngữ lập trình CÁC THÀNH PHẦN CỦA Gv: Dẫn dắt vào Hs: NGÔN NGỮ LẬP TRÌNH ?Gv: Để diễn tả ngơn - Chữ ngữ tự nhiên ta cần phải biết - Cú pháp Các thành phần gì? - Ý nghĩa điều cần diễn tả - Mỗi ngôn ngữ lập trình Hs: Cú pháp thường có ba thành phần ?Gv: Các ngơn ngữ lập trình là: bảng chữ ,cú pháp nói chung thường viết theo ngữ nghĩA quy tắc nào? viết có ý nghĩa gì? A Bảng chữ cái:Là tập HS: ý lắng nghe ghi kí hiệu dùng để viết chương Gv: Giới thiệu bảng chữ chép trình Gv: treo bảng phụ (SGK Trang 9) Gv: Bảng chữ ngơn ngữ lập trình khác có khác Ví dụ: bảng chữ ngơn ngữ lập trình C++ khác pascal sử dụng thêm kí tự dấu nháy kép(“), dấu sổ ngược(\), dấu Trang chấm than(!) Gv: Giới thiệu cú pháp B Cú pháp: Gv: Cú pháp ngôn ngữ lập - Là quy tắc để viết trình khác khác chương trình ngơn ngữ pascal dùng cặp từ Begin- End để gộp nhiều lệnh thành lệnh C++ dùng cặp kí hiệu {} Ví dụ : Xét biểu thức A+B (1) A,B số thựC I+J (2) với I,J số nguyên HS: lắng nghe C Ngữ nghĩa ?Gv: Về ngữ nghĩa biểu Xác định ý nghĩa thao tác thức có khác cần phải thực hiện, ứng với khơng? tở hợp kí tự dựa vào ngữ cảnh Gv:Mỗi ngơn ngữ khác có ngữ nghĩa khá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 xác định ý nghĩa tở hợp kí tự chương trình - Các lỗi cú pháp chương trình dịch phát thông báo cho người lập Gv: Trong ngơn ngữ lập trình nói chung,các đối tượng sử dụng chương trình phải đặt tên để tiện cho việc sử dụng Việc dặt tên ngơn ngữ khác khác nhau,có ngơn ngữ phân biệt chữ hoa,chữ thường, có ngơn ngữ khơng phân biệt chữ hoa, chữ thường Trang Hs: Khác nhau: Dấu cộng (1) cộng số thực cộng (2) cộng số nguyên trình biết chương trình khơng còn lỗi cú pháp dịch sang ngơn ngữ máy Gv: Ngơn ngữ lập trình pascal không phân biệt chữ hoa chữ thường số ngơn ngữ lập trình khác(như C++) lại phân biệt chữ hoa, chữ thường Gv: đưa ví dụ để viết chương trình giải phương trình - Lỗi ngữ nghĩa phát bậc hai ta cần khai báo chạy chương trình tên sau: * a, b, c ba tên dùng để lưu ba hệ số phương trình Một số khái niệm * x1, x2 hai tên dùng để A Tên: lưu nghiệm ( có) - Mọi đối tượng * Delta tên dùng để lưu chương trình phải giá trị deltA đặt tên theo quy tắc ngơn ngữ lập trình - Trong ngơn ngữ turbo pascal tên dãy liên tiếp khơng q 127 kí tự bao gồm: chữ số, chữ dấu gạch dướivà bắt đầu chữ gạch Ví dụ : Trong ngôn ngữ pascal + Các tên đúng: A, Bre1, -ten, Trang + Các tên sai: a bc, 6hgf, x# y, - Ngôn ngữ lập trình có loại tên: tên dành riêng, tên chuẩn, tên người lập trình đặt * Tên dành riêng: Là tên ngơn ngữ lập trình quy định với ý nghĩa riêng xác định mà người lập trình khơng dùng với ý nghĩa khác Tên dành riêng gọi từ khố Ví dụ: số tên dành riêng: Trong pascal : program, uses, var, const, Trong c++: main, include, if, * Tên chuẩn: nhữnh tên ngơn ngữ lập trình dùng với ý nghĩa định Trong thư viện ngơn ngữ lập trình Ví dụ : Một số tên chuẩn Trong pascal: real, integer, char, Trong c++: cin, count, * Tên người lập trình đặt: Được xác định cách trước sử dụng, không trùng với tên dành riêng B Hằng biến * Hằng: Là đại lượng có giá Trang trị khơng đởi q trình thực 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: Là giá trị sai Ví dụ ( bảng phụ 2:vd sgk trang 12) Gv: Nêu nội dung : tên người lập trình đặt ?Gv: Trong trình thực Hs: Hằng, biến chương trình có đại lượng có giá trị thay đỗi khơng thay đởi, giá trị khơng đởi khơng đởi trình thực chương trình gọi gì? Hs: ?Gv: Hằng gì? Biến gì? Hằng: Là đại lượng có giá trị khơng đởi q trình thực chương trình * Biến:Là đại lượng đặt tên, dùng để lưu trữ gí trị giá trị thay đởi q trình thực chương trình Biến phải khai báo trước sử dụng Gv: Trong trình thực chương trình, muốn C Chú thích: thích vấn đề hay Trong pascal thích giải thích ý nghĩa, nội dung đặt {} (* *) câu lệnh ta dùng thích Hoạt động 3: Phép tốn, biểu thức, câu lệnh gán Gv: Để mô tả thao tác thuật tốn, ngơn ngữ lập trình sử dụng phép tốn, biểu thức, PHÉP TỐN, BIỂU gán giá trị THỨC, CÂU LỆNH GÁN ? Hãy kể phép toán mà Phép toán: em học tốn học Gv: Trong ngơn ngữ Pascal Trong Pascal có phép có phép tốn tốn: diễn đạt - Các phép toán số học: +, -, cách khác *, /, Div, Mod ? Hãy cho biết nhóm - Các phép tốn quan hệ: =,