Chủ đề 1 MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH (Lớp 11, 2 tiết) 1. Thông tin bài học Loại giáo án: Giáo án lý thuyết Chủ đề lớn: Chủ đề F (Giải quyết vấn đề với sự trợ giúp của máy tính) Chủ đề con: Kĩ thuật lập trình (CS) Vị trí bài học: Đây là bài học đầu tiên về ngôn ngữ lập trình Thời lượng: 2 tiết 2. Mục tiêu a) Kiến thức, kĩ năng Nêu được khái niệm về lập trình Giải thích được khả năng 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ữ. Giải thích được ý 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. Nêu được ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa. Nêu được các khái niệm tên, tên chuẩn, tên dành riêng (từ khoá), hằng và biến. Trình bày được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình cụ thể. Thực hiện được việc đặt tên đúng và nhận biết được tên sai quy định. b) Năng lực được củng cố và phát triển cho HS NLc (Giải quyết vấn đề với sự hỗ trợ của công nghệ thông tin và truyền thông): HS được rèn luyện, bồi dưỡng năng lực giải quyết vấn đề thông qua học lập trình, đồng thời được phát triển một số thao tác trí tuệ trong hoạt động lập trình. 3. Nội dung bài học Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình Giới thiệu tên Giới thiệu hằng và biến 4. Phương pháp, kĩ thuật dạy học và thiết bị, phương tiện dạy học Phương pháp dạy học: Tự học và “Phát hiện và giải quyết vấn đề” Kĩ thuật dạy học: Thảo luận nhóm, vấn đáp Phương tiện dạy học: CT GDPT Tin học (122018); máy tính, máy chiếu; bài giảng điện tử; và một số chương trình minh họa 5. Tiến trình sư phạm (2 tiết) Tổng quát Tiết Hoạt động Thời gian 1 HĐ1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình 10’ HĐ2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch 15’ HĐ3: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình 20’ 2 HĐ4: Giới thiệu tên 10’ HĐ5: Giới thiệu hằng và biến 15’ HĐ6: Kiểm tra, đánh giá chủ đề 20’ Hoạt động 1: Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình (10 phút, tiết 1) a) Mục tiêu Nêu được khái niệm về lập trình Giải thích được khả năng 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ữ. b) Sản phẩm HS trình bày được khái niệm về lập trình, giải thích được khả năng của NNLT bậc cao, phân biệt được ngôn ngữ máy và hợp ngữ. c) Nội dung hoạt động GV hỏi cho học sinh: Hãy nêu các cách giải bài toán trên máy tính? Gợi động cơ: GV cho bài toán và yêu cầu biện luận để tìm 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 HS suy nghĩ và trả lời: Có 5 bước giải bài toán trên máy tính B1: Xác định bài toán (Xác đinh Input và Output) B2: Lựa chọn và xây dựng thuật toán (Lựa chọn TT thích hợp) B3: Viết chương trình (CTDL và NNLT diễn tả thuật toán) B4: Hiệu chỉnh (Chạy thử, sửa sai) B5: Viết chương trình (Mô tả CT, hướng dẫn sử dụng) Quan sát bài toán và trả lời câu hỏi. +Input: a, b +Output: x=ba, vô nghiệm, vô số nghiệm. Các bước để giải B1: Nhập a, b. B2: Nếu a ≠ 0 kết luận có nghiệm x = ba. B3: Nếu a = 0 và b ≠ 0, kết luận vô nghiệm. B4: Nếu a = 0 và b = 0, kết luận vô số nghiệm. GV yêu cầu 2 học sinh trên một bàn vào một nhóm, thảo luận trong 5 phút và ghi ra giấy để GV kiểm tra, trả lời các câu hỏi sau: Hệ thống các bước này chúng ta gọi là thuật toán. Làm thế nào để máy tính điện tử có thể hiểu được thuật toán này? Các em hãy cho biết khái niệm về lập trình ? Kết quả của hoạt động lập trình ? Ngôn ngữ lập trình gồm những loại nào? Theo các em chương trình được viết bằng ngôn ngữ bậc cao và chương trình được viết bằng ngôn ngữ máy khác nhau như thế nào? Làm thế nào để chuyển một chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy? Vì sao không lập trình trên ngôn ngữ máy để khỏi mất công chuyển đổi khi lập trình với ngôn ngữ bậc cao. d) Tổ chức dạy học HĐ của GV HĐ của HS Trước HĐ – GV đưa ra đưa ra hệ thống câu hỏi và yêu cầu HS tìm hiểu các câu hỏi đã cho. – Với câu hỏi đã nêu, GV qui định mỗi bàn là một nhóm và yêu cầu HS độc lập suy nghĩ trước rồi cùng trao đổi với bạn bên cạnh trong nhóm Trong HĐ Quan sát và giúp đỡ khi HS không hiểu Độc lập suy đoán nhiệm vụ của từng câu hỏi Trao đổi và thảo luận tong nhóm để trả lời các câu hỏi trên Sau HĐ – Khuyến khích HS xung phong trả lời câu hỏi – Chỉ định một số nhóm trả lời câu hỏi – Cung cấp các kiến thức trong phần nội dung – Xung phong trả lời câu hỏi hoặc trả lời câu hỏi khi GV gọi tên – Ghi chép phần nội dung kiến thức được GV trình bày Hoạt động 2: Tìm hiểu hai loại chương trình dịch: thông dịch và biên dịch (15 phút, tiết 1) a) Mục tiêu Giải thích được ý 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. b) Sản phẩm HS trình bày được ý 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. c) Nội dung hoạt động Nêu vấn đề: Em muốn giới thiệu về trường mình cho một người khách du lịch quốc tế biết tiếng Anh, có hai cách thực hiện: C1: Cần một người biết tiếng Anh dịch từng câu nói của 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 ra giấy và người phiên dịch dịch toàn bộ nội dung đó sang tiếng Anh rồi đọc cho khách nghe. Cách này gọi là biên dịch. Tương tự chương trình dịch có hai loại là thông dịch và biên dịch. Các em hãy cho biết tiến trình của thông dịch và biên dịch. + Chương trình nguồn là chương trình viết bằng ngôn ngữ lập trình bậc cao. + Chương trình đích là chương trình thực hiện chuyển đổi sang ngôn ngữ máy. Nghiên cứu SGK và trả lời câu hỏi: +Thông dịch: B1: Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn; B2: Chuyển lệnh đó thành ngôn ngữ máy B3: Thực hiện các câu lệnh vừa được chuyển đổi. +Biên dịch: B1: Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn. B2: 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 lại khi cần thiết d) Tổ chức dạy học Hoạt động này có thể được thực hiện theo phương pháp dạy học “Phát hiện và giải quyết vấn đề” như sau: Bước 1: Tiếp cận vấn đề (3 phút) GV nêu vấn đề cũng như mô tả yêu cầu HS cần thực hiện. Tình huống có vấn đề trong bước này thể hiện ở những điểm sau: – HS có thể còn lúng túng khi xác định thông dịch và biên dịch của bài toán. – Chưa phân biệt được thông dịch và biên dịch. Bước 2: Lựa chọn giải pháp (5 phút) GV gợi ý cho HS lựa chọn giải pháp thông qua kĩ thuật “vấn đáp tìm tòi”. Giải pháp ở đây gồm 2 công việc chính: Xác định thông dịch và biên dịch, phân biệt được hai chương trình dịch đó. Bước 3: Thực hiện giải pháp (5) GV khuyến khích HS tự suy nghĩ và trả lời câu hỏi của giáo viên Bước 4: Đánh giá, tìm kiếm sâu, mở rộng (2 phút) Ở bước này, GV giới thiệu hoặc khuyến khích HS suy nghĩ và phân biệt thông dịch và biên dịch Hoạt động 3 Tìm hiểu khái niệm lâp trình và ngôn ngữ lập trình (20 phút, tiết 1) a) Mục tiêu Nêu được ngôn ngữ lập trình có ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa. b) Sản phẩm HS trình bày được ba thành phần cơ bản là: bảng chữ cái, cú pháp và ngữ nghĩa. c) Nội dung hoạt động Dẫn dắt vào bài: Để diễn tả một ngôn ngữ tự nhiên ta cần phải biết những gì? Giới thiệu bảng chữ cái: SGK Trang 9 Giới thiệu cú pháp Ví dụ : Xét 2 biểu thức A+B (1) A,B là các số thực. I+J (2) với I,J là các số nguyên Gợi động cơ: GV hỏi HS: Về ngữ nghĩa 2 biểu thức trên có khác nhau không? Mỗi ngôn ngữ khác nhau cũng có ngữ nghĩa khác nhau Các ngôn ngữ lập trình nói chung thường có chung một số thành phần như: Dùng những kí hiệu nào để viết chương trình, viết theo quy tắc nào? viết như vậy có ý nghĩa là gì? Mỗi ngôn ngữ lập trình có một quy định riêng về những thành phần này. d) Tổ chức dạy học HĐ của GV HĐ của HS Trước HĐ – GV đưa ra đưa ra hệ thống câu hỏi và yêu cầu HS tìm hiểu các câu hỏi đã cho. – Với câu hỏi đã nêu, GV qui định mỗi bàn là một nhóm và yêu cầu HS độc lập suy nghĩ và trả lời Trong HĐ Quan sát và giúp đỡ khi HS không hiểu Độc lập suy đoán nhiệm vụ của từng câu hỏi Sau HĐ – Khuyến khích HS xung phong trả lời câu hỏi – Cung cấp các kiến thức trong phần nội dung – Xung phong trả lời câu hỏi hoặc trả lời câu hỏi khi GV gọi tên – Ghi chép phần nội dung kiến thức được GV trình bày Hoạt động 4 Giới thiệu tên (10 phút, tiết 2) a) Mục tiêu Nêu được các khái niệm tên, tên chuẩn, tên dành riêng (từ khoá), tên do người lập trình đặt. b) Sản phẩm HS trình bày được khái niệm về tên, và phân biệt được các loại tên. c) Nội dung hoạt động Thảo luận nhóm trong 10 phút, ghi vào giấy trả lời các câu hỏi của GV và cử đại diện nhóm trình bày khi giáo viên yêu cầu: Tên là gì? Có mấy loại tên, cho ví dụ và phân biệt các loại tên đó d) Tổ chức dạy học Hoạt động này có thể được thực hiện theo phương pháp dạy học “Tự học” như sau: Bước 1: Lập kế hoạch và mục tiêu (2 phút) Xác định thời gian cần hoàn thành hoạt động Xác định yêu cầu của giáo viên về khái niệm tên, tên dành riêng, tên chuẩn, tên do người lập trình đặt. Phân biệt được các loại tên Bước 2: Tìm kiếm tài liệu (5 phút) Tham khảo Internet và SGK để hoàn thành yêu cầu của GV Bước 3: Tự kiểm tra kiến thức (2 phút) Thực hiện kiểm tra chéo theo yêu cầu của GV và chỉnh sửa nếu có sai sót Bước 4: Học cách ghi nhớ (1 phút) Ghi nhớ nội dung kiến thức vừa học Hoạt động 5 Giới thiệu hằng và biến (15 phút, tiết 2) a) Mục tiêu Nêu được các khái niệm hằng và biến. Trình bày được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình cụ thể. b) Sản phẩm HS trình bày được khái niệm về hằng và biến. Trình bày được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình C++ c) Nội dung hoạt động GV đưa ra ví dụ: Để viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau: a,b,c là ba tên dùng để lưu ba hệ số của phương trình. x1,x2 là hai tên dùng để lưu nghiệm ( nếu có). Delta là tên dùng để lưu giá trị của delta. Vậy theo các em hằng là gì, biến là gì? d) Tổ chức dạy học Hoạt động này có thể được thực hiện theo phương pháp dạy học “Tự học” như sau: Bước 1: Lập kế hoạch và mục tiêu (3 phút) Xác định thời gian cần hoàn thành hoạt động Xác định yêu cầu của giáo viên về khái niệm hằng và biến. Phân biệt được hằng và biến Bước 2: Tìm kiếm tài liệu (7 phút) Tham khảo Internet và SGK để hoàn thành yêu cầu của GV Bước 3: Tự kiểm tra kiến thức (3 phút) Thực hiện kiểm tra chéo theo yêu cầu của GV và chỉnh sửa nếu có sai sót Bước 4: Học cách ghi nhớ (3 phút) Ghi nhớ nội dung kiến thức vừa học Hoạt động 6 Giới thiệu hằng và biến (15 phút, tiết 2) a) Mục tiêu Nêu được các khái niệm hằng và biến. Trình bày được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình cụ thể. b) Sản phẩm HS trình bày được khái niệm về hằng và biến. Trình bày được các quy định về tên, hằng và biến trong một ngôn ngữ lập trình C++ c) Nội dung hoạt động GV đưa ra ví dụ: Để viết một chương trình giải phương trình bậc hai ta cần khai báo những tên sau: a,b,c là ba tên dùng để lưu ba hệ số của phương trình. x1,x2 là hai tên dùng để lưu nghiệm ( nếu có). Delta là tên dùng để lưu giá trị của delta. Vậy theo các em hằng là gì, biến là gì? d) Tổ chức dạy học Hoạt động này có thể được thực hiện theo phương pháp dạy học “Tự học” như sau: Bước 1: Lập kế hoạch và mục tiêu (3 phút) Xác định thời gian cần hoàn thành hoạt động Xác định yêu cầu của giáo viên về khái niệm hằng và biến. Phân biệt được hằng và biến Bước 2: Tìm kiếm tài liệu (7 phút) Tham khảo Internet và SGK để hoàn thành yêu cầu của GV Bước 3: Tự kiểm tra kiến thức (3 phút) Thực hiện kiểm tra chéo theo yêu cầu của GV và chỉnh sửa nếu có sai sót Bước 4: Học cách ghi nhớ (2 phút) Ghi nhớ nội dung kiến thức vừa học Hoạt động 6: Kiểm tra, đánh giá chủ đề (20 phút, tiết 2) a) Mục tiêu Củng cố lại kiến thức của HS trong chủ đề. b) Sản phẩm HS đạt đượcnội dung kiến thức cần đạt trong chủ đề 1 c) Nội dung hoạt động Câu hỏi trắc nghiệm Học sinh chọn một đáp án chính xác nhất Câu 1: Ngôn ngữ lập trình là A. Phương tiện soạn thảo văn bản B. Ngôn ngữ C, Pascal C. Phương tiện diễn đạt thuật toán D. Phương tiện diễn đạt thuật toán để máy tính thực hiện công việc Câu 2: Phát biểu sai là: A. Lập trình để giải bài toán là viết chương trình B. Lập trình và chương trình là hai khái niệm tương đương đều mô tả thuật toán bằng ngôn ngữ lập trình C. Chương trình được tạo thành từ tổ hợp các câu lệnh theo một trình tự nhất định. D. Chương trình chưa chắc chính xác nếu đúng trên một bộ test. Câu 3: Ngôn ngữ gần với ngôn ngữ tự nhiên là A. Ngôn ngữ máy B. Hợp ngữ C. Ngôn ngữ bậc thấp D. Ngôn ngữ bậc cao Câu 4: Phát biểu sai là A. Chương trình dịch cho phép chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn ý nghĩa của chương trình nguồn. B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ gần với tự nhiên hơn. C. Chương trình dịch giúp tìm ra các lỗi của chương trình nguồn. D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và biên dịch. Câu 5: Phát biểu sai về thông dịch và biên dịch là: A. Chương trình dịch của ngôn ngữ lập trình bậc cao gọi là biên dịch còn thông dịch là chương trình dịch của hợp ngữ. B. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và biên dịch. C. Biên dịch là dịch chương trình mà chưa thực hiện. D. Biên dịch và thông dịch đều kiểm tra tính đúng đắn của câu lệnh. Câu 6: Chọn tên đúng A. Baitap B. Hoc tin C. Hoctin D. 11bai Câu 7: Tên dành riêng là A n B giatri C include D “hang” Câu 8: Tên chuẩn là A n B sqrt C include D if Câu 9: Tên do người lập trình đặt là A ent B sqrt C define D if Câu 10: Biểu diễn không phải là biểu diễn hằng trong C++ là A 15A B “23” C 6.23 D true Câu 11: Hằng số là A “a” B “23” C 6.23 D true Câu 12: Hằng logic là A 4E17 B “true” C 6.23 D false Câu 13: Hằng xâu là A 23 B “true” C 6.23 D false Câu 14: Hằng logic là hằng A được đặt trong cặp dấu nháy đơn B gồm các số thực và số nguyên C Có 2 giá trị : true và false D là các ký tự Đáp án 1 D 2 A 3 D 4 B 5 A 6 C 7 C 8B 9 A 10 A 11 C 12 D 13 B 14 C d) Tổ chức dạy học Hoạt động này có thể được thực hiện theo phương pháp dạy học “Phát hiện và giải quyết vấn đề” như sau: Bước 1: Tiếp cận vấn đề (3 phút) GV nêu bài tập và yêu cầu HS cần thực hiện. Tình huống có vấn đề trong bước này thể hiện ở những điểm sau: – HS có thể còn lúng túng khi chưa quen với khâu xác định đáp án. Các phương án trong câu gần giống nhau và gần giống nội dung kiến thức nên học sinh không biết đâp là đáp án chính xác nhất. – Sau khi xác định được đáp án, HS khó khăn trong củng cố kiến thức bản than đã học và ghi nhớ nó. Bước 2: Lựa chọn giải pháp (7 phút) GV gợi ý cho HS lựa chọn giải pháp thông qua kĩ thuật “vấn đáp tìm tòi”. Giải pháp ở đây gồm 2 công việc chính: Xác định vấn đề và loại trừ đáp án sai. Bước 3: Thực hiện giải pháp (7 phút) GV khuyến khích HS tự thực hiện chọn đáp án. GV gợi ý, hướng dẫn HS yếu kém. Việc gợi ý, hướng dẫn này cũng có thể thực hiện bằng “vấn đáp tìm tòi”. Bộ câu hỏi gợi ý, định hướng cho kĩ thuật thuật “vấn đáp tìm tòi” để giải quyết yêu cầu. Bước 4: Đánh giá, tìm kiếm sâu, mở rộng giải pháp (5 phút) GV giới thiệu hoặc khuyến khích HS tìm thêm các đáp án tương tự (nếu có).