Lập trình là một quá trình mô phỏng và thực hiện các thao tác của thuật toán bằng cách sử dụng cấu trúc dữ liệu và câu lệnh của một ngôn ngữ lập trình cụ thể. Ngôn ngữ lập trình là ngôn ngữ dùng để diễn đạt thuật toán sao cho máy tính có thể hiểu và thực hiện.
Contents
Các loại ngôn ngữ lập trình
Có ba loại ngôn ngữ lập trình chính:
1. Ngôn ngữ máy
Ngôn ngữ máy bao gồm các kí hiệu 0-1 được mã hóa. Chương trình được viết trên ngôn ngữ máy có thể nạp vào bộ nhớ và thực hiện ngay lập tức. Đây là ngôn ngữ duy nhất mà máy tính có thể hiểu và xử lí trực tiếp.
2. Hợp ngữ
Hợp ngữ là loại ngôn ngữ sử dụng một số từ để thực hiện lệnh trên thanh ghi. Nó sử dụng các từ viết tắt tiếng Anh để diễn đạt câu lệnh.
3. Ngôn ngữ bậc cao
Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên, độc lập và ít phụ thuộc vào loại máy. Chương trình viết trên ngôn ngữ bậc cao cần được dịch sang ngôn ngữ máy để thực hiện.
Lập trình là việc sử dụng cấu trúc dữ liệu và câu lệnh của ngôn ngữ lập trình cụ thể để mô tả dữ liệu và thực hiện các thao tác của thuật toán. Chương trình dịch là chức năng chuyển đổi chương trình viết trên ngôn ngữ lập trình bậc cao thành chương trình thực hiện được trên máy tính.
Trong đó:
- Chương trình nguồn là chương trình được viết trên ngôn ngữ lập trình bậc cao.
- Chương trình đích là chương trình nguồn được chuyển đổi sang ngôn ngữ máy nhờ chương trình dịch.
Chương trình dịch chia thành hai loại: Thông dịch và biên dịch.
Thông dịch
Thông dịch thực hiện lặp đi lặp lại các bước 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âu lệnh đó thành các 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.
Thông dịch phù hợp với môi trường đối thoại giữa người và máy.
Biên dịch
Biên dịch thực hiện qua hai bước sau:
- Duyệt, kiểm tra, phát hiện lỗi và xác định tính dịch được của chương trình nguồn.
- Dịch 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à lưu trữ lại để sử dụng sau này.
Biên dịch thuận tiện cho các chương trình ổn định và cần thực hiện nhiều lần.
Câu hỏi và hướng dẫn giải
Câu 1: Trong chế độ biên dịch, nếu một chương trình đã được dịch thông suốt mà hệ thống không báo lỗi, có thể khẳng định rằng chương trình đã đúng hay chưa? Tại sao?
Hướng dẫn giải: Không thể khẳng định chương trình đã đúng vì có thể vẫn còn lỗi ngữ nghĩa.
Câu 2: Trong chế độ thông dịch, giả sử hai phần ba số câu lệnh trong chương trình đã được thực hiện. Có thể khẳng định rằng chương trình không còn chứa lỗi cú pháp nữa hay không? Tại sao?
Hướng dẫn giải: Không thể khẳng định. Cú pháp của các câu lệnh chưa được thực hiện chưa được kiểm tra.
Các câu hỏi khác:
- Hãy nêu sự khác biệt giữa hai loại chương trình dịch là biên dịch và thông dịch?
- Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?
- Ngôn ngữ máy là gì?
- Ngôn ngữ lập trình bậc cao là ngôn ngữ nào?
- Hợp ngữ là ngôn ngữ nào?
Qua bài học này, chúng ta nắm được khái niệm và cách phân loại lập trình và ngôn ngữ lập trình, cũng như khái niệm và cách phân loại chương trình dịch.