Chương I MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Tiết 1 : BÀI 1: KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH Ngày soạn: 03092022 Ngày dạy: I. MỤC TIÊU 1. Kiến thức Biết và phân biệt được có 3 lớp ngôn ngữ lập trình là 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 một trong những nhiệm vụ quan trọng của chương trình dịch là phát hiện lỗi cú pháp của chương trình nguồn. 2. Năng lực Năng lực chung Năng lực sử dụng máy tính, năng lực giải quyết vấn đề, năng lực sáng tạo, ứng dụng KHKT, năng lực tự học, năng lực hợp tác, làm việc nhóm. Năng lực chuyên biệt Năng lực tính toán, Năng lực thực hành. 3. Phẩm chất Giúp học sinh rèn luyện bản thân phát triển các phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm. II. THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU 1. Giáo viên Bài giảng, máy chiếu, máy chiếu vật thể. Yêu cầu học sinh tập hợp kiến thức đã học ở lớp 10. Cụ thể là bài 4, bài 5 và bài 6 của SGK lớp 10 Chuẩn bị các bài toán đơn giản, ngôn ngữ lập trình cụ thể VD như ngôn ngữ lập trình C++. 2. Học sinh Sách giáo khoa, vở ghi Kiến thức đã học ở lớp 10 III. TIẾN TRÌNH DẠY HỌC A. HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU) a) Mục tiêu: Tạo tình huống khơi gợi tinh thần cho học sinh b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi. c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa ra. d) Tổ chức thực hiện: GV giới thiệu và dẫn dắt vào bài: Chiếu bài toán: Kết luận nghiệm của phương trình ax + b=0. + Hãy xác định Input, Output của bài toán trên? + Hãy xác định các bước để giải bài toán trên? Hệ thống các bước này chúng ta gọi là thuật toán. + Các bước giải bài toán trên máy tính? + Làm sao để máy tính có thể hiểu và thực hiện các thuật toán đã lựa chọn giải bài toán? Như vậy hoạt động để diễn đạt một thuật toán trên máy tính thông qua một ngôn ngữ lập trình được gọi là lập trình. Và để máy tính hiểu và thực hiện được câu lệnh đó thì NNLTBC cần phải được chuyển đổi về NN của máy để máy tính hiểu và thực hiện được. B. HÌNH THÀNH KIẾN THỨC MỚI Hoạt động 1: Tìm hiểu Khái niệm lập trình – các ngôn ngữ lập trình a) Mục tiêu: Nắm được khái niệm lập trình – các ngôn ngữ lập trình b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu của GV. c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức d) Tổ chức thực hiện:
Chương I MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Tiết : BÀI 1: KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGƠN NGỮ LẬP TRÌNH Ngày soạn: 03/09/2022 Ngày dạy: I MỤC TIÊU Kiến thức - Biết phân biệt có lớp ngơn ngữ lập trình ngơn ngữ máy, hợp ngữ 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 thơng dịch - Biết nhiệm vụ quan trọng chương trình dịch phát lỗi cú pháp chương trình nguồn Năng lực Năng lực chung Năng lực sử dụng máy tính, lực giải vấn đề, lực sáng tạo, ứng dụng KHKT, lực tự học, lực hợp tác, làm việc nhóm Năng lực chun biệt Năng lực tính tốn, Năng lực thực hành Phẩm chất - Giúp học sinh rèn luyện thân phát triển phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU Giáo viên - Bài giảng, máy chiếu, máy chiếu vật thể - Yêu cầu học sinh tập hợp kiến thức học lớp 10 Cụ thể 4, SGK lớp 10 - Chuẩn bị tốn đơn giản, ngơn ngữ lập trình cụ thể VD ngơn ngữ lập trình C++ Học sinh - Sách giáo khoa, ghi - Kiến thức học lớp 10 III TIẾN TRÌNH DẠY HỌC A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU) a) Mục tiêu: Tạo tình khơi gợi tinh thần cho học sinh b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa d) Tổ chức thực hiện: GV giới thiệu dẫn dắt vào bài: Chiếu toán: Kết luận nghiệm phương trình ax + b=0 + Hãy xác định Input, Output toán trên? + Hãy xác định bước để giải toán trên? - Hệ thống bước gọi thuật toán + Các bước giải toán máy tính? + Làm để máy tính hiểu thực thuật toán lựa chọn giải toán? - Như hoạt động để diễn đạt thuật tốn máy tính thơng qua ngơn ngữ lập trình gọi lập trình Và để máy tính hiểu thực câu lệnh NNLTBC cần phải chuyển đổi NN máy để máy tính hiểu thực B HÌNH THÀNH KIẾN THỨC MỚI Hoạt động 1: Tìm hiểu Khái niệm lập trình – ngơn ngữ lập trình a) Mục tiêu: Nắm khái niệm lập trình – ngơn ngữ lập trình b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu GV c) Sản phẩm: HS hoàn thành tìm hiểu kiến thức d) Tổ chức thực hiện: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Khái niệm lập trình + Nghiên cứu SGK nêu khái niệm lập trình + Khái niệm: Lập trình việc + Kết hoạt động lập trình gi? sử dụng cấu trúc liệu lệnh ngôn ngữ lập trình cụ + Có loại ngơn ngữ lập trình nào? thể để mơ tả liệu diễn đạt ? Phân biệt ngơn ngữ lập trình bậc cao với các thao tác thuật tốn ngơn ngữ khác nội dung nào? Các loại ngơn ngữ lập trình ? Tại người ta phải xây dựng ngơn ngữ lập - Có nhiều loại ngơn ngữ lập trình bậc cao? trình, chia làm ba loại ? Kể tên số ngơn ngữ lập trình bậc cao mà chính: NN máy, hợp ngữ em biêt? NNLT bậc cao * Bước 2: Thực nhiệm vụ: - Ngôn ngữ gần gũi với ngôn + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi ngữ tự nhiên + GV: quan sát trợ giúp cặp - Có tính độc lập cao * Bước 3: Báo cáo, thảo luận: - Ít phụ thuộc vào loại máy + HS: Lắng nghe, ghi chú, HS phát biểu lại tính chất cụ thể +Vì: NN gần gũi vời NN tự nhiên, dễ đọc, dễ hiểu NNLTBC nói chung khơng phụ + Các nhóm nhận xét, bổ sung cho thuộc loại máy * Bước 4: Kết luận, nhận định: GV xác hóa gọi học sinh nhắc lại kiến thức - Một số NNLTBC: C++, C++, Java,… Hoạt động 2: Tìm hiểu Chương trình dịch a) Mục tiêu: Biết vai trị chương trình dịch, hiểu giai đoạn chương trình dịch; Phâm biệt chương trình thơng dịch chương trình biên dịch b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu GV c) Sản phẩm: HS hồn thành tìm hiểu kiến thức d) Tổ chức thực hiện: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Chương trình dịch ? Theo em chương trình viết - CTD chương trình đặc biệt có ngơn ngữ bậc cao chương trình viết chức chuyển đổi chương trình ngơn ngữ máy khác ? viết ngơn ngữ lập trình ? Khi chương trình đưa vào máy tính bậc cao thành chương trình máy tính hiểu thực chưa? thực máy tính ? Làm để chuyển chương trình - Chương trình viết ngơn ngữ viết ngơn ngữ bậc cao sang ngơn ngữ máy nạp trực tiếp vào máy ? nhớ thực ? Nghiên cứu SGK cho biết khái niệm - Chương trình viết ngơn ngữ chương trình dịch lập trình bậc cao phải chuyển ? 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 ? Theo em chương trình dịch: đổi thành chương trình ngơn ngữ lập máy thực - Ngôn ngữ bậc cao dễ viết, dễ hiểu chương trình chương trình nguồn - Ngơn ngữ máy khó viết chương trình đích - Chương trình nguồn chương ? Cho nhận xét tiến trình hai ví dụ trình viết ngơn ngữ lập trình bậc cao ? Vậy với cách dịch người ta - Chương trình đích chương trình gọi gi? thực chuyển đổi sang ngôn ngữ máy ? Hai cách dịch có khác - Tiến trình thơng dịch biên * Bước 2: Thực nhiệm vụ: dịch: + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát trợ giúp cặp +Thơng dịch: B1: Kiểm tra tính đắn câu * Bước 3: Báo cáo, thảo luận: lệnh chương trình + HS: Lắng nghe, ghi chú, HS phát biểu nguồn; B2: Chuyển lệnh thành lại tính chất ngơn ngữ máy + Các nhóm nhận xét, bổ sung cho B3: Thực câu lệnh vừa * Bước 4: Kết luận, nhận định: GV chuyển đổi xác hóa gọi học sinh nhắc lại kiến thức +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 C HOẠT ĐỘNG LUYỆN TẬP a Mục tiêu: Củng cố, luyện tập kiến thức vừa học b Nội dung: HS đọc SGK làm tập c Sản phẩm: Bài làm học sinh, kĩ giải nhiệm vụ học tập d Tổ chức thực hiện: Câu Lập trình là: A Sử dụng giải thuật để giải toán B Dùng máy tính để giải tốn C Sử dụng cấu trúc liệu câu lệnh ngôn ngữ lập trình cụ thể để giải tốn máy tính D Sử dụng NN C++ Câu Đối với ngơn ngữ lâp trình có kĩ thuật dịch? A loại (biên dịch) B loại (Thông dịch biên dịch C loại (Thông dịch hợp dịch) D loại (Hợp dịch biên dịch) Câu 3: Trong NNLT có chức sau: A Biên soạn B Lưu trữ C Tìm kiếm D Có tất chức Câu 4: Chương trình viết hợp ngữ có đặc điểm: A Máy tính hiểu trực tiếp chương trình B Kiểu liệu cách tổ chức liệu đa dạng, thuận tiện cho việc nhập mô tả thuật tốn C Diễn đạt gần với ngơn ngữ tự nhiên D Tốc độ thực nhanh so với chương trình viết D HOẠT ĐỘNG VẬN DỤNG a Mục tiêu: Vận dụng kiến thức vừa học vấn đề học tập thực tiễn b Nội dung: HS sử dụng SGK vận dụng kiến thức để trả lời câu hỏi c Sản phẩm: HS vận dụng kiến thức vào giải nhiệm vụ đặt d Tổ chức thực hiện: GV chia lớp thành nhiều nhóm giao nhiệm vụ: thảo luận trả lời câu hỏi sau ghi chép lại câu trả lời vào tập: Mối liên hệ thuật toán cấu trúc liệu? Ví dụ minh họa (có thể sử dụng ví dụ có sẵn) Việc tìm tịi, phát minh thuật toán thuộc giai đoạn nào? Hãy cho biết đặc điểm ngơn ngữ lập trình bậc cao * HƯỚNG DẪN VỀ NHÀ: - Ơn lại học hơm - Chuẩn bị trước cho tiết sau * RÚT KINH NGHIỆM Tiết 2: BÀI 2: CÁC THÀNH PHẦN CƠ BẢN CỦA NGƠN NGỮ LẬP TRÌNH Ngày soạn: 05/09/2022 Ngày dạy: I MỤC TIÊU Kiến thức - 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 Năng lực Năng lực chung Năng lực sử dụng máy tính, lực giải vấn đề, lực sáng tạo, ứng dụng KHKT, lực tự học, lực hợp tác, làm việc nhóm Năng lực chuyên biệt Năng lực tính tốn, Năng lực thực hành Phẩm chất - Phẩm chất: Giúp học sinh rèn luyện thân phát triển phẩm chất tốt đẹp: yêu nước, nhân ái, chăm chỉ, trung thực, trách nhiệm II THIẾT BỊ DẠY HỌC VÀ HỌC LIỆU Giáo viên - Bài giảng, máy chiếu, máy chiếu vật thể - Yêu cầu học sinh tập hợp kiến thức học lớp 10 Cụ thể 4, SGK lớp 10 - Chuẩn bị tốn đơn giản, ngơn ngữ lập trình cụ thể VD ngơn ngữ lập trình C++ Học sinh - Sách giáo khoa, ghi - Kiến thức học lớp 10 III TIẾN TRÌNH DẠY HỌC A HOẠT ĐỘNG KHỞI ĐỘNG (MỞ ĐẦU) a) Mục tiêu: Tạo tình khơi gợi tinh thần cho học sinh b) Nội dung: Hs dựa vào hiểu biết để trả lời câu hỏi c) Sản phẩm: Từ yêu cầu HS vận dụng kiến thức để trả lời câu hỏi GV đưa d) Tổ chức thực hiện: GV giới thiệu dẫn dắt vào bài: (?) Để diễn tả ngơn ngữ tự nhiên ta cần phải biết gì? lấy ví dụ (?) Quan sát chương trình viết ngơn ngữ lập trình bậc cao so sánh với ngơn ngữ tự nhiên - Ngôn ngữ tự nhiên gồm thành phần: bảng chữ cái, cú pháp ý nghĩa câu (từ) cần diễn tả - Các ngơn ngữ lập trình nói chung thường có chung số thành phần như: Dùng kí hiệu bảng chữ để viết chương trình? viết theo quy tắc nào? viết có ý nghĩa gì? Bài học hơm trả lời câu hỏi B HÌNH THÀNH KIẾN THỨC MỚI Hoạt động 1: Tìm hiểu thành phần NNLT a) Mục tiêu: Nắm thành phần NNLT b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu GV c) Sản phẩm: HS hồn thành tìm hiểu kiến thức d) Tổ chức thực hiện: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Các thành phần Hãy cho biết khái niệm bảng chữ - Tiếng Việt nói riêng ngơn ngữ tự ngơn ngữ lập trình? nhiên nói chung hình thành từ: - Trong tiếng việt muốn viết câu + Bảng chữ phải dựa vào đâu? + Ngữ pháp - Tượng tự, lập trình để viết + Ngữ nghĩa từ câu chương trình người ta dựa - Mỗi ngơn ngữ lập trình thường có thành vào gì? - Cú pháp gì? phần bản: Bảng chữ cái, cú pháp, ngữ - Khái niệm ngữ nghĩa? nghĩa - Lấy ví dụ bảng chữ cái, cú a Bảng chữ pháp, ngữ nghĩa Bảng chữ cái: tập kí tự dùng để viết * Bước 2: Thực nhiệm vụ: chương trình Khơng dùng kí + HS: Suy nghĩ, tham khảo sgk trả lời câu hỏi + GV: quan sát trợ giúp cặp * Bước 3: Báo cáo, thảo luận: + HS: Lắng nghe, ghi chú, HS phát biểu lại tính chất + Các nhóm nhận xét, bổ sung cho * Bước 4: Kết luận, nhận định: GV xác hóa gọi học sinh nhắc lại kiến thức tự ngồi kí tự quy định bảng chữ Các chữ thường dùng: ABCDEFGHIJKLMNOPQRS T U V W Y Z abcdefghijklmnopqrstuvwy z 10 chữ số thập phân Ả Rập: Các ký tự : + - * / = < > [ ] , ; # ^ $ @& ( ) { } : ‘ Dấu cách(mã ASCII 32) b Cú pháp - Là quy tắc dùng để viết chương trình, dựa vào mà người lập trình chương trình dịch phát chỗ sai sót chương trình c Ngữ nghĩa - Xác định ý nghĩa thao tác cần thực hiện, ứng với tổ hợp kí tự dựa vào ngữ cảnh - Lỗi cú pháp chương trình dịch phát thơng báo cho người lập trình Chương trình khơng cịn lỗi cú pháp dịch sang ngôn ngữ máy - Lỗi ngữ nghĩa phát chạy chương trình Hoạt động 2: Tìm hiểu khái niệm tên a) Mục tiêu: Nắm khái niệm tên b) Nội dung: HS quan sát SGK để tìm hiểu nội dung kiến thức theo yêu cầu GV c) Sản phẩm: HS hồn thành tìm hiểu kiến thức d) Tổ chức thực hiện: Hoạt động GV HS Sản phẩm dự kiến * Bước 1: Chuyển giao nhiệm vụ: Một số khái niệm: - Em cho biết quy tắc đặt tên a Tên ngơn ngữ lập trình C++? - Mọi đối tượng chương trình - Cho ví dụ sau, cho biết tên phải đặt tên Em cho biết quy quy tắc: tắc đặt tên C++ ABC - Quy tắc đặt tên C++: Q89_O + Gồm chữ số, chữ cái, dấu gạch A 12 + Bắt đầu chữ dấu gạch _12BN 87_AC + Độ dài không vượt q 127 kí tự @DFG12 - Trong C++, tên có độ dài tới BGV#21 - Đọc sách giáo khoa cho biết ngơn ngữ lập trình thường có loại tên? - Chia lớp thành nhóm, nhóm trình bày khái niệm loại tên cho ví dụ minh họa 255 kí tự - C++ phân biệt chữ hoa, thường tên - Ngơn ngữ lập trình thường 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 (từ khóa): Là 10