Ngày soạn: Ngày giảng: Tiết theo PPCT: CHƯƠNG I - MỘT SỐ KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH §1. KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I - Mục tiêu bài học 1. Kiến thức - Biết được khái niệm lập trình và ngôn ngữ lập trình. - Biết được khái niệm chương trình dịch, thông dịch và biên dịch. - Hiểu được khả năng của ngôn ngữ lâp trình bậc cao 2. Kĩ năng - Phân biệt được hai loại chương trình dịch là biên dịch và thông dịch. - Phân biệt được biên dịch và thông dịch II – Phương pháp, phương tiện dạy học - Phương pháp: Thuyết trình, giảng giải, vấn đáp - Phương tiện: sgk, phấn, bảng III - Tiến trình bài học 1. Ổn định tổ chức lớp - Lớp: - Sĩ số: - Lí do vắng: 2. Kiểm tra bài cũ 3. Nội dung bài mới Hoạt động của giáo viên và học sinh Nội dung Ta đã biết mọi bài toán có thuật toán đều có thể giải được trên MTĐT. ? Nhắc lại các bước giải bài toán trên MTĐT? B1: xác định bài toán B2: lựa chọn và viết thuật toán B3: viết chương trình B4: hiệu chỉnh B5: viết tài liệu 1 Giải phương trình ax+b=0 ?Hãy xác định các yếu tố Input và Output của bài toán? - Input : a, b - Output : x=-b/a, Vô nghiệm, Vô số nghiệm. ? Hãy xác định các bước để tìm output? Bước 1 : Nhập a,b. Bước 2 : Nếu a<>0 kết luận có nghiệm x=b/a. Bước 3 : Nếu a=0 và b<>0, kết luận Vô nghiệm. Bước 4 : Nếu a=0 và b=0, kết luận Vô số nghiệm. Hệ thống các bước này được gọi là thuật toán. ?Nếu diễn đạt thuật toán này cho máy hiểu, em sẽ dùng ngôn ngữ nào? Dùng ngôn ngữ lập trình. Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình. ?Vậy lập trình là gì? Tuy nhiên khái niệm lập trình như vậy chỉ được hiểu trong phạm vi phổ thông, thực ra lập trình còn bao hàm 1 khía cạnh khác đó là giai đoạn tìm tòi, phát minh thuật toán hoặc tìm cách tổ chức dữ liệu mới. Bước lập trình chính là bước viết chương trình giải bài toán trên MTĐT. ? Và ngôn ngữ để viết chương trình giải bài toán trên MTĐT gọi là gì? - Ngôn ngữ lập trình * Khái niệm lập trình Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và diễn đạt các thao tác của thuật toán. 2 ? Em hãy cho biết có mấy loại ngôn ngữ lập trình? Có 3 loại: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bâc cao. ?Em hiểu như thế nào về ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao? - Ngôn ngữ máy : các lệnh được mã hóa bằng các ký hiệu 0-1. Chương trình được viết trên ngôn ngữ máy có thể được nạp vào bộ nhớ và thực hiện ngay. - Ngôn ngữ bậc cao : Các lệnh được mã hóa bằng một ngôn ngữ gần với ngôn ngữ tiếng Anh. Chương trình viết trên ngôn ngữ bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ máy mới có thể thực hiện được. ?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? + 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ớ và thực hiện ngay. + Chương trình viết bằng ngôn ngữ lập trình bậc cao phải được chuyển đổi thành chương trình trên ngôn ngữ lập máy thì mới thực hiện được. ?Vì sao không lập trình trên ngôn ngữ máy để khỏi phải mất công chuyển đổi mà người ta thường lập trình bằng ngôn ngữ bậc cao? - Lập trình bằng ngôn ngữ bậc cao dẽ viết hơn vì các lệnh được mã hóa gần với ngôn ngữ tự nhiên. Lập trình trên ngôn ngữ máy rất khó, thường các chuyên gia lập trình mới lập trình được Khái niệm ngôn ngữ lập trình Ngôn ngữ để viết chương trình giải bài toán trên MTĐT được gọi là ngôn ngữ lập trình. 3 ?Làm thế nào để chuyển một chương trình viết từ ngôn ngữ bậc cao sang ngôn ngữ máy? ?Chương trình dịch thực hiện như thế nào? ? Chương trình dịch được chia thành mấy loại? - Chia thành 2 loại: biên dịch và thông dịch 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: Cách 1: 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 dịch trực tiếp như vậy gọi là thông dịch Cách 2: Em soạn nội dung cần 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 người khách. Cách dịch như vậy gọi là biên dịch ? Thông dịch là gì? ?Vậy thông dịch thực hiện như thế nào? - Phải sử dụng một chương trình dịch để chuyển đổi - Chương trình dịch nhận đầu vào là chương trình viết bằng ngôn ngữ lập trình bậc cao (chương trình nguồn) thực hiện chuyển đổi sang ngôn ngữ máy (chương trình đích) - Thông dịch(Interpreter): Là dịch lần lượt từng câu lệnh và thi hành ngay câu lệnh ấy. Bước 1 : Kiểm tra tính đúng đắn của lệnh tiếp theo trong chương trình nguồn. Bước 2 : Chuyển lệnh đó thành ngôn ngữ máy. Bước 3 : Thực hiện các câu lệnh vừa được chuyển đổi 4 Loại chương trình này thích hợp cho môi trường đối thoại giữa người và hệ thống, tuy nhiên 1 câu lệnh được thực hiện bao nhiêu lần thì nó phải được dịch bấy nhiêu lần. ?Biên dich được thực hiện như thế nào? Thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần ? Điểm khác nhau giữa biên dịch và thông dịch? - Trong thông dịch không có chương trình đích để lưu trữ, trong biên dịch các chương trình nguồn và chương trình đích có thể lưu trữ để sự dụng về sau Đi kèm với các chương trình dịch thường có các công cụ như soạn thảo chương trình nguồn, lưu trữ, tìm kiếm, phát hiện lỗi, báo lỗi ngôn ngữ lập trình thường chứa tất cả các dịch vụ trên. - Biên dịch (Compiler): Bước 1 : Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của lệnh trong chương trình nguồn. Bước 2 : Dịch toàn bộ chương trình nguồn thành một chương trình trên ngôn ngữ máy. IV - Củng cố 1. Những nội dung đã học - Khái niệm lập trình và ngôn ngữ lập trình. - Có ba loại ngôn ngữ lập trình: Ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao - Khái niệm chương trình dịch. - Có hai loại chương trình dịch là biên dịch và thông dịch. 2. Câu hỏi và bài tập về nhà - Mỗi loại ngôn ngữ lập trình phù hợp với những người lập trình có trình độ như thế nào? - Kể tên một số ngôn ngữ lập trình bậc cao có sử dụng kĩ thuật biên dịch và một số ngôn ngữ lập trình có sử dụng kĩ thuật thông dịch. 5 - Trả lời các câu hỏi 1, 2, 3, sác giáo khoa, trang 13. - Xem bài đọc thêm 1:Em biết gì về các ngôn ngữ lập trình?, sách giáo khoa, trang 6. - Xem trước bài học: Các thành phần của ngôn ngữ lập trình. 6 . KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH §1. KHÁI NIỆM VỀ LẬP TRÌNH VÀ NGÔN NGỮ LẬP TRÌNH I - Mục tiêu bài học 1. Kiến thức - Biết được khái niệm lập trình và ngôn ngữ lập trình. - Biết. MTĐT. ? Và ngôn ngữ để viết chương trình giải bài toán trên MTĐT gọi là gì? - Ngôn ngữ lập trình * Khái niệm lập trình Lập trình là việc sử dụng cấu trúc dữ liệu và các lệnh của ngôn ngữ lập trình. nào? Dùng ngôn ngữ lập trình. Hoạt động để diễn đạt một thuật toán thông qua một ngôn ngữ lập trình được gọi là lập trình. ?Vậy lập trình là gì? Tuy nhiên khái niệm lập trình như vậy chỉ được