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
1. Kiến thứ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ữ.
- Biết được vai trò của chương trình dịch.
- Phân biệt được biên dịch và thông dịch.
2. Định hướng hình thành và phát triển năng lực:
- Phát triển năng lực sử dụng ngôn ngữ (bằng cách thông qua hoạt động phát biểu khái niệm đã học).
- Phát triển năng lực giao tiếp và năng lực hợp tác (thông qua hoạt động theo nhóm).
- Phát triển năng lực giải quyết vấn đề.
- Phát triển năng lực năng lực tự học.
II. Phương tiện dạy học
1. Chuẩn bị của giáo viên: Giáo án, sách giáo khoa chuyên tin quyển 1…
2. Chuẩn bị của học sinh: sách giáo khoa, tập, đọc trước bài ở nhà…
III. Hoạt động dạy – học:
1. Tình huống xuất phát: Chúng ta đã được làm quen một số khái niệm về lập trình và ngôn ngữ lập trình trong chương trình Tin học trung học cơ sở. Với chương trình Tin học 11 năm nay chúng ta sẽ có cơ hội tìm hiểu sâu hơn về ngôn ngữ lập trình. Và bài đầu tiên của chương 1 là một số khái niệm về lập trình và ngôn ngữ lập trình.
2. Hình thành kiến thức:
Hoạt động của giáo viên | Hoạt động của học sinh | Nội dung |
Hoạt động 1. Làm rõ khái niệm lập trình và ngôn ngữ lập trình (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực hợp tác, năng lực tự học) | ||
- Ở lớp 10 chúng ta đã biết các bước để giải bài toán trên máy tính. Em hãy nêu các bước để giải bài toán trên máy tính? - Nhận xét câu trả lời của học sinh và nhắc lại các bước giải bài toán trên máy tính. | - Suy nghĩ và trả lời | 1. Khái niệm lập trình, ngôn ngữ lập trình: a. Khái niệm lập trình:
|
- Giải thích: + XĐ bài toán: là xác định input và output. + Lựa chọn hoặc thiết kế thuật toán: Một thuật toán chỉ giải được một bài toán nào đó, nhưng có thể có nhiều thuật toán khác nhau cùng giải một bài toán. Do đó chúng ta cần thiết kế hoặc chọn 1 thuật toán phù hợp để giải bài toán cho trước. |
- Nghe giảng | |
- Hãy nhắc lại khái niệm ngôn ngữ lập trình? | - Ngôn ngữ để viết chương trình được gọi là ngôn ngữ lập trình. | |
- Với một bài toán, sau khi xác định được thuật toán, ta cần phải làm thế nào để máy tính hiểu và thực hiện được thuật toán đã lựa chọn để giải bài toán. Theo các em ta phải làm thế nào? | - Phải dùng ngôn ngữ máy hiểu được để biểu diễn thuật toán đó thành một chương trình được gọi là lập trình. | |
- Thế nào gọi là lập trình? | - Lập trình là sử dụng 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 các thao tác của thuật toán. | - Lập trình là sử dụng 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 các thao tác của thuật toán. |
- Thảo luận nhóm: (Hình thành năng lực giao tiếp và năng lực hợp tác) Em hãy cho biết có mấy loại ngôn ngữ lập trình? Chia lớp thành 4 nhóm, phát phiếu học tập cho các nhóm và yêu cầu các nhóm ghi lại các loại ngôn ngữ lập trình đã biết vào phiếu học tập. Yêu cầu đại diện các nhóm đọc kết quả. - Nhận xét chung và kết luận. |
- Thảo luận nhóm và đọc kết quả trước lớp. - Nhận xét kết quả các nhóm khác. | b. Ngôn ngữ lập trình: Có 3 loại ngôn ngữ lập trình. + Ngôn ngữ máy + Hợp ngữ + Ngôn ngữ bậc cao
|
- Mỗi loại máy có một ngôn ngữ riêng thường thì chương trình viết bằng ngôn ngữ của một loại máy nào thì chỉ chạy được trên loại máy đó. | - Nghe giảng.
| - 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.
|
- Ví dụ: một người Việt Nam nói chuyện với một người Mĩ chỉ biết tiếng Anh bằng tiếng Việt, thì người Mĩ có hiểu không? | - Không. | |
- Vậy phải làm gì để người Mĩ hiểu được? | - Dịch ra tiếng Anh | |
- Chương trình viết bằng ngôn ngữ bậc cao thì máy có hiểu được không? | - 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. Chương trình muốn thực hiện được thì phải chuyển sang ngôn ngữ máy. | - 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. Chương trình muốn thực hiện được thì phải chuyển sang ngôn ngữ máy.
|
Hoạt động 2: Làm rõ khái niệm chương trình dịch (Hình thành năng lực phát hiện vấn đề và giải quyết vấn đề, năng lực sử dụng ngôn ngữ, năng lực tự học) | ||
- Khi viết bằng ngôn ngữ lập trình bậc cao muốn thực hiện được trên loại máy nào thì cần chuyển chương trình sang ngôn ngữ của máy đó. - Như vậy thì một câu hỏi đặt ra: Làm thế nào để 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? - Muốn chuyển chương trình bằng ngôn ngữ bậc cao sang ngôn ngữ máy thì phải dịch, chương trình làm nhiệm vụ dịch đó gọi là chương trình dich. |
- Suy nghĩ trả lời
| 2. Chương trình dịch: 2.1. Khái niệm:
|
- Chương trình dịch là gì? | - Chương trình dịch là chương trình đặc biết có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trìnhbậc cao sang ngôn ngữ máy để máy có thể thực hiện được. | - Chương trình dịch là chương trình đặc biết có chức năng chuyển đổi chương trình viết bằng ngôn ngữ lập trìnhbậc cao sang ngôn ngữ máy để máy có thể thực hiện được. |
- Bạn là người không biết tiếng Anh vậy làm sao bạn có thể giới thiệu trường mình với người khách đến từ Mĩ chỉ biết tiếng anh? | - Cách 1: bạn nói bằng tiếng việt, sau đó nhờ người phiên dịch sang tiếng anh. Người phiên dịch dịch ngay từng câu khi hai người nói chuyện. Cách dich trực tiếp như thế này gọi là thông dịch. - Cách 2: bạn soạn nội dung ra giấy, người phiên dịch dịch toàn bộ nội dung sang tiếng anh rồi đưa cho người khách xem. Cách dịch như vậy được gọi là biên dịch. | 2.2. Phân loại ct dịch: |
- Tương tự, chương trình dịch cũng có 2 loại: thông dịch và biên dịch. | - Nghe giảng. | - Chương trình dịch có 2 loại + Thông dịch + Biên dịch |
- Hãy phân tích đặc điểm của thông dịch? | - Tham khảo SGK và suy nghĩ trả lời. | a. Thông dịch (Interpreter) + Dịch lần lượt từng câu lệnh và thực hiện ngay câu lệnh ấy. Thông dịch là việc lặp lại dãy các bước: - 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âu lệnh đó thành một hay nhiều câu lệnh tương ứng trong ngôn ngữ máy. - Thực hiện các câu lệnh vừa chuyển đổi. |
- Các chương trình thông dịch lần lượt dịch và thực hiện từng câu lệnh, thích hợp cho môi trường giữa người và hệ thống. | - Nghe giảng. | |
- Hãy phân tích đặc điểm của biên dịch? | - Tham khảo SGK và suy nghĩ trả lời.
| b. Biên dịch (Compiler) Thực hiện qua hai bước sau: - Duyệt, phát hiện lỗi, kiểm tra tính đúng đắn của 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 có thể thực hiện trên máy và có thể lưu trữ để sử dụng khi cần thiết. |
- Thông dịch không có chương trình đích để lưu trữ, biên dịch cả chương trình nguồn và chương trình đích có thể lưu trữ lại để sử dụng về sau. | - Nghe giảng. |