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 Ngày soạn: Ngày dạy: I/ Mục tiêu: Giúp học sinh nắm được 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. * Thái độ: Ham thích môn học, có tính kỉ luật cao và tinh thần làm việc theo nhóm. II/ Chuẩn bị: Giáo viên: Giáo án – Sách GK - Đồ dùng dạy học Học sinh: Vở soạn, sách GK,vở học. III/ Phương pháp truyền thụ: Dựa vào câu hỏi và một số hiểu biết về ngôn ngữ lập trình đã học ở khối 10 của học sinh để dẫn dắt vào vấn đề. IV/ Tiến trình lên lớp: 1. Ổn định lớp:Kiểm tra sĩ số - Làm quen với học sinh 2. Kiểm tra bài cũ: Không V/ Nội dung bài mới: Như ta đã biết, mọi bài toán có thuật đều có thể giải được trên máy tính điện tử, thế thì sau các bước xác định bài toán và xây dựng hoặc lựa chọn thuật toán khả thi nhất là bước lập trình. Hoạt động của GV và HS Nội dung HĐ1: GV: Để giải một bài toán trên máy tính cần có những bước nào? HS: Có 5 bước + Xác định bài toán + Lựa chọn hoặc thiết kế thuật toán + Viết chương trình + Hiệu chỉnh + Viết tài liệu GV: Trong 5 bước đó bước nào là quan trọng nhất HS: Lựa chọn hoặc thiết kế thuật toán GV: Phân tích câu trả lời của học sinh - Để diễn tả thuật toán phải có chương trình, ngôn ngữ để viết chương trình gọi là gì? HS: Ngôn ngữ lập trình GV: Có những loại ngôn ngữ lập trình nào? HS: Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao. GV: Các chương trình viết bằng ngôn ngữ lập trình bậc cao, có chương trình dịch sang ngôn ngữ máy để máy hiểu và thực hiện được. Tại sao người ta lại xây dựng ngôn ngữ lập trình bậc cao? HS: Chương trình viết bằng ngôn ngữ lập trình bậc cao nói chung không phụ thuộc vào loại máy và phải dịch sang ngôn ngữ máy mới thực hiện được. GV: Phân tích câu trả lời của học sinh - Chương trình viết bằng ngôn ngữ máy có thể nạp trực tiếp vào bộ nhớ thi hành ngay - Chương trình viết bằng ngôn ngữ bậc cao nói chung không phụ thuộc vào loại máy, muốn thi hành được thì nó phải được chuyển sang ngôn ngữ máy. GV: Làm thế nào để chuyển chương trình viết bằng ngôn ngữ bậc cao sang ngôn ngữ máy? HS: Trả lời GV: Gọi HS vẽ sơ đồ về chức năng của chương trình dịch CT nguồn (Input) CT dịch CT đích (Output) GV: Đưa ra ví dụ: Bạn là người không biết tiếng Anh, vậy làm thế nào để bạn có thể nói chuyện với người Anh hay đọc một cuốn sách tiếng Anh. + Khi một người làm phiên dịch người đó phải dịch như thế nào? HS: Dịch ngay từng câu khi hai người nói chuyển + Khi một người muốn dịch một cuốn sách sang tiếng Việt thì làm thế nào? HS: Dịch toàn bộ cuốn sách đó sang tiếng Việt để người khác có thể đọc được. 1. Khái niệm lập trình: - Lập trình là sử dụng một cấu trúc dữ liệu và các câu lệnh của một ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt thuật toán. GV: Giải thích thêm về câu lệnh + Câu lệnh diễn tả các thao tác trong các bước của thuật toán. + Câu lệnh đơn thực hiện bước có một thao tác. + Câu lệnh cấu trúc thực hiện bước gồm dãy các thao tác. → Cần phải có chương trình dịch để chuyển chương trình viết bằng ngôn ngữ lập trình bậc cao sang ngôn ngữ máy để máy có thể thi hành được. 2. Chương trình dịch: Có hai loại a. Thông dịch: (Interprerer) Dịch lần lượt từng câu lệnh và thực hiện nay câu lệnh đó. * Thông dịch và việc lặp lại dãy các câu lệnh sau: + Kiểm tra tính đúng đắn của câu lệnh tiếp theo trong chương trình nguồn. + Chuyển đổi các câu lệnh đó thành một hay nhiều câu lệnh trong ngôn ngữ máy. + Thực hiện các lệnh ngôn ngữ máy vừa chuyển được. b. Biên dịch: (Compiler) + Duyệt, kiểm tra phát hiện lỗi và kiểm tra tính đúng đắn của các câu lệnh trong chương trình nguồn. + Dịch toàn bộ chương trình nguồn thành một chương trình đích (NN máy) để có thể thực hiện trên máy tính và có thể lưu giữ lại khi cần. VI/ Củng cố: Giáo viên nhắc lại khái niệm lập trình, chức năng của chương trình dịch,.thông dịch và biên dịch khác nhau như thế nào. VII/ Dặn dò: Làm các bài 1, 2,3/13 vào vở bài tập. VIII/ Rút kinh nghiệm:
Tài liệu đính kèm: