Chương trình dịch là chương trình chưa ngôn ngữ gì

Đề bài

Chương trình dịch là gì? Tại sao cần phải có chương trình dịch?

Lời giải chi tiết

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 được 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 cụ thể.

- Chúng ta cần phải có chương trình dịch bởi vì chương trình dịch có chức năng chuyển đổi chương trình được viết bằng 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 cụ thể. Nó 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) là dữ liệu vào (Input), thực hiện chuyển đổi sang ngôn ngữ máy (chương trình đích) là kết qua ra (Output).

Ngoài ra, chương trình dịch trải qua hai giai đoạn: phân tích và tổng hợp.

Giai đoạn phân tích nhằm phân tích chương trình nguồn về từ vựng và cú pháp.

Giai đoạn tổng hợp nhằm tạo ra chương trình đích gồm ba bước, đó là:

• Sinh mã trung gian (chuyển chương trình nguồn về chương trình trung gian);

• Tối ưu mã (chỉnh sửa, tối ưu chương trình trung gian);

• Sinh mã (tạo chương trình đích từ chương trình trung gian đã tối ưu).

Loigiaihay.com

Đáp án đúng là: B

Chương trình đích là chương trình viết bằng ngôn ngữ máy.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

a. dịch từ ngôn ngữ máy sang ngôn ngữ tự nhiên.

b. dịch từ ngôn ngữ lập trình sang ngôn ngữ máy.

Bạn đang xem: Chương trình dịch là chương trình gì

c. dịch từ ngôn ngữ máy sang ngôn ngữ lập trình.

d. dịch từ ngôn ngữ lập trình sang ngôn ngữ tự nhiên.

câu trả lời đúng b.

chương trình dịch được sử dụng để dịch từ ngôn ngữ lập trình sang ngôn ngữ máy, trình dịch là chương trình đặc biệt chuyển đổi chương trình được viết bằng ngôn ngữ lập trình cấp cao thành chương trình có thể chạy trên một máy tính cụ thể.

giải thích lý do chọn câu trả lời b:

Trình biên dịch hoặc trình biên dịch là chương trình máy tính dịch một chuỗi các câu lệnh được viết bằng ngôn ngữ lập trình thành chương trình tương đương ở dạng ngôn ngữ máy tính mới và thường là ngôn ngữ cấp thấp hơn như ngôn ngữ máy.

Xem thêm: Hồ sơ xin phép xây dựng gồm những gì

các tính năng của người dịch bao gồm:

– khả năng chịu lỗi. chương trình có thể chấp nhận lỗi đầu vào và đưa ra các đề xuất xử lý thích hợp. chương trình dừng ở lỗi đầu tiên không thể được coi là tốt.

– tính hoàn chỉnh là kết quả trong ngôn ngữ đích phải hoàn toàn tương đương với đầu vào được viết bằng ngôn ngữ nguồn.

– tính minh bạch của chương trình dịch phải rõ ràng về kết quả của bước thực hiện sau để người dùng có thể chỉnh sửa và sửa lỗi, nếu có, sau mỗi bước.

– hiệu quả là người dịch không sử dụng quá nhiều bộ nhớ và khả năng tính toán, kết quả ở ngôn ngữ đích là đủ tốt.

Các giai đoạn mà chương trình dịch phải trải qua bao gồm:

– giai đoạn phân tích cú pháp phân tích từ vựng và cú pháp của chương trình nguồn.

Xem thêm: Glycogen là gì? Vì sao Glycogen lại quan trọng đối với một gymer?

– giai đoạn tổng hợp để tạo chương trình mục tiêu bao gồm ba bước, bao gồm:

+ tạo mã trung gian bao gồm chuyển đổi chương trình nguồn thành chương trình trung gian.

+ tối ưu hóa mã là chỉnh sửa, tối ưu hóa phần mềm trung gian.

+ tạo mã bao gồm việc tạo một chương trình đích từ một chương trình trung gian được tối ưu hóa.

: Trình biên dịch dịch mã nguồn được viết bằng ngôn ngữ cấp cao thành mã ngôn ngữ máy hoặc tương đối có thể được thực thi trực tiếp trên máy tính hoặc máy ảo. Cũng có thể chuyển đổi từ ngôn ngữ cấp thấp sang ngôn ngữ cấp cao hơn, một quá trình thường được gọi là trình dịch ngược nếu nó có thể tái tạo lại một chương trình bằng ngôn ngữ cấp cao.

: Có những trình biên dịch chuyển đổi từ ngôn ngữ nâng cao này sang ngôn ngữ nâng cao khác hoặc chuyển đổi sang ngôn ngữ mà bạn cần để xử lý thêm; các trình biên dịch như vậy được gọi là trình biên dịch phân lớp. các loại trình biên dịch tạo mã đối tượng về cơ bản là mã máy được bổ sung thêm thông tin về tên vị trí cổng và lệnh gọi bên ngoài.

: Tập hợp các tệp đối tượng không nhất thiết phải được cung cấp bởi chính trình biên dịch mà vẫn có thể được liên kết với nhau để tạo ra các chương trình thực thi cuối cùng của một người dùng. để làm điều đó, các tệp đối tượng phải được tạo kiểu với nhau theo định dạng.

Vì vậy, chương trình dịch được sử dụng để làm gì? là câu hỏi mà chúng tôi đã giải đáp chi tiết trong bài viết trước. chúng tôi hy vọng rằng nội dung của bài viết sẽ hữu ích cho bạn.

Xem thêm: Phân kali là gì? Kỹ thuật bón để đạt hiệu quả cao

Câu hỏi : Chương trình dịch là gì? Tại sao cần phải có chương trình Dịch?
Trả lời:

- 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 được 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 cụ thể.

- Chúng ta cần phải có chương trình dịch bởi vì chương trình dịch có chức năng chuyển đổi chương trình được viết bằng 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 cụ thể. Nó 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) là dữ liệu vào (Input), thực hiện chuyển đổi sang ngôn ngữ máy (chương trình đích) là kết qua ra (Output).

Cùng Top lời giải tìm hiểu các kiến thức xung quanh Chương trình dịch nhé!

Chương trình dịch là gì?

Tổng quát nhất: chương trình dịch là phần mềm hệ thống chuyển đổi đoạn văn viết trong ngôn ngữ A sang đoạn văn tương đương viết trong ngôn ngữ B

Định nghĩa như vậy quá tổng quát, bài toán dịch ngôn ngữ một cách tổng quát chưa có lời giải đủ tốt

 Người ta cố gắng giải quyết các bài toán cụ thể hơn và có ứng dụng thực tế hơn, chẳng hạn:

 Dịch một ngôn ngữ lập trình thành mã máy

 Dịch một ngôn ngữ lập trình bậc cao thành ngôn ngữ bậc thấp hơn

 Chuyển đổi đoạn mã giữa các ngôn ngữ lập trình

 Kiểm tra chính tả, ngữ pháp của các đoạn văn

 Mô tả hình ảnh (dịch từ hình ảnh thành văn bản)

Đặc trưng của chương trình dịch

Một chương trình dịch tốt cần có các đặc trưng sau:

 Tính toàn vẹn: kết quả ở ngôn ngữ đích phải hoàn toàn tương đương với đầu vào viết ở ngôn ngữ nguồn

 Tính hiệu quả: chương trình dịch sử dụng không quá nhiều bộ nhớ và công suất tính toán, kết quả ở ngôn ngữ đích là đủ tốt

 Tính trong suốt: chương trình dịch phải rõ ràng về kết quả sau từ bước thực hiện, giúp người dùng có thể hiệu chỉnh và sửa lỗi nếu có sau từng bước thực hiện

 Tính chịu lỗi: chương trình có thể chấp nhận một số lỗi của đầu vào và đưa ra các gợi ý xử lý phù hợp. Chương trình dừng ở ngay lỗi đầu tiên không thể coi là tốt

Phân loại chương trình dịch

+ Phân loại cổ điển:

+ Trình biên dịch (compiler): nhận toàn bộ nguồn rồi dịch sang đích một lượt

+ Trình thông dịch (interpreter): nhận mã nguồn từng phần, nhận được phần nào dịch (và thực thi) phần đó

Nhận xét:

 Compiler hoạt động giống như dịch giả

 Interpreter hoạt động giống như người phiên dịch (các cuộc giao tiếp)

 Hiện nay: ranh giới giữa compiler và interpreter ngày càng mờ dần

 Ngay cả biên dịch cũng được chia thành 2 loại:

 Tĩnh (statically): mã sinh ra chạy trực tiếp ngay

 Động (dynamically): mã sinh ra cần thao tác tái định vị rồi mới có thể chạy được

 Một số ngôn ngữ lập trình kết hợp cả compiler và interpreter, chẳng hạn như java

 Mã java được biên dịch thành mã bytecode

 Máy ảo chạy mã bytecode ở dạng thông dịch

 Một số sử dụng compiler và just-in-time compiler

 Mã C# được biên dịch thành mã IL

 Mã IL được biên dịch thành mã máy trong lần chạy đầu

Các giai đoạn của chương trình dịch

Ngoài ra, chương trình dịch trải qua hai giai đoạn: phân tích và tổng hợp.

- Giai đoạn phân tích nhằm phân tích chương trình nguồn về từ vựng và cú pháp.

- Giai đoạn tổng hợp nhằm tạo ra chương trình đích gồm ba bước, đó là:

• Sinh mã trung gian (chuyển chương trình nguồn về chương trình trung gian);

• Tối ưu mã (chỉnh sửa, tối ưu chương trình trung gian);

• Sinh mã (tạo chương trình đích từ chương trình trung gian đã tối ưu).

Mã câu hỏi: 7893

Loại bài: Bài tập

Chủ đề :

Môn học:

Câu hỏi này thuộc đề thi trắc nghiệm dưới đây, bấm vào Bắt đầu thi để làm toàn bài

CÂU HỎI KHÁC