Một ngôn ngữ lập trình bậc cao có thể được chương trình dịch dịch sang hợp ngữ

Chương trình dịch là chương trình Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy

Trắc nghiệm: Chương trình dịch là chương trình:

A. Chuyển đổi ngôn ngữ máy sang ngôn ngữ lập trình bậc cao

B. Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy

C. Chuyển đổi hợp ngữ sang ngôn ngữ lập trình bậc cao

D. Chuyển đổi ngôn ngữ máy sang hợp ngữ

Đáp án đúng: B. Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy

Kiến thức mở rộng

– Chương trình máy tính được hiểu là một chuỗi những câu lệnh của máy tính, đó là tập hợp những thông tin hướng dẫn để người thực hiện có thể tiến hành thực hiện được những nhiệm vụ của một máy tính.

– Đối với các máy tính, đòi hỏi phải có những chương trình để hoạt động được theo ý muốn của con người, dựa vào chương trình máy tính mà con người có thể thực hiện được các lệnh máy tính, các lệnh này sẽ nằm ở phần trung tâm xử lý.

– Đối với mỗi chương trình máy tính thì sẽ được viết bởi một ngôn ngữ lập trình khác nhau.

Ví dụ:

– Trình duyệt web Mozilla, Safari của hệ điều hành IOS. Những chương trình này sẽ giúp cho người dùng có thể truy cập vào internet.

– Chương trình máy tính quản lý hệ văn phòng

a. Khái niệm

– Chương trình dịch [compiler] còn được gọi là trình biên dịch. Nhiệm vụ của chương trình dịch là dịch một chuỗi các câu lệnh được viết bằng một ngôn ngữ lập trình cụ thể [hay còn được gọi là ngôn ngữ nguồn hoặc mã nguồn] thành một chương trình mới nhưng dưới dạng một ngôn ngữ máy tính [hay còn gọi là ngôn ngữ đích. Thông thường, ngôn ngữ đích là ngôn ngữ ở cấp thấp hơn được dùng để cho máy tính hiểu được các câu lệnh. Chương trình mới được được chương trình dịch tạo ra này còn được gọi là mã đối tượng.

b. Đặ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

c. Phân loại 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:

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

+ 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

– 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.

– 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.

d. 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 trinh trung gian đã tối ưu].

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

Đề 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

  • Tải app VietJack. Xem lời giải nhanh hơn!

  • Lý thuyết Bài 5: Ngôn ngữ lập trình [hay, chi tiết]

Câu 1: Chương trình dịch là chương trình:

A. Chuyển đổi ngôn ngữ máy sang ngôn ngữ lập trình bậc cao

B. Chuyển đổi chương trình viết bằng hợp ngữ hoặc ngôn ngữ lập trình bậc cao sang ngôn ngữ máy

C. Chuyển đổi hợp ngữ sang ngôn ngữ lập trình bậc cao

D. Chuyển đổi ngôn ngữ máy sang hợp ngữ

Hiển thị đáp án

Đáp án : B

Giải thích :

Mỗi chương trình viết bằng ngôn ngữ khác muốn máy tính thực hiện trên máy tính đều phải được dịch ra ngôn ngữ máy nhờ chương trình dịch.

Câu 2: Ngôn ngữ máy là gì?

A. Là bất cứ ngôn ngữ lập trình nào mà có thể mô tả thuật toán để giao cho máy tính thực hiện

B. Là ngôn ngữ duy nhất mà máy tính có thể hiểu và thực hiện được

C. Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao và không phụ thuộc vào các loại máy

D. Một phương án khác

Hiển thị đáp án

Đáp án : B

Giải thích :

Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính có thể hiểu và thực hiện được. Việc viết chương trình bằng ngôn ngữ máy có thể khai thác triệt để các đặc điểm phần cứng của máy.

Câu 3: Ngôn ngữ lập trình bao gồm:

A. Hợp ngữ, ngôn ngữ bậc cao

B. Ngôn ngữ máy, hợp ngữ

C. Ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao

D. Ngôn ngữ bậc cao, ngôn ngữ máy

Hiển thị đáp án

Đáp án : C

Giải thích :

Ngôn ngữ lập trình bao gồm ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.

Câu 4: Ngôn ngữ lập trình bậc cao là?

A. Là ngôn ngữ máy tính có thể trực tiếp hiểu và thực hiện được

B. Là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao và ít phụ thuộc vào loại máy cụ thể

C. Là ngôn ngữ có thể mô tả được tất cả các thuật toán

D. Là ngôn ngữ mô tả thuật toán dưới dạng văn bản

Hiển thị đáp án

Đáp án : B

Giải thích :

Ngôn ngữ lập trình bậc cao là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao và ít phụ thuộc vào loại máy cụ thể, làm việc với nhiều kiểu dữ liệu và cách tổ chức dữ liệu đa dạng.

Câu 5: Ngôn ngữ lập trình là:

A. Ngôn ngữ khoa học

B. Ngôn ngữ tự nhiên

C. Ngôn ngữ giao tiếp hằng ngày

D. Ngôn ngữ để viết chương trình

Hiển thị đáp án

Đáp án : D

Giải thích :

Ngôn ngữ lập trình là ngôn ngữ để viết chương trình giúp máy tính hiểu và thực hiện được.

Câu 6: Ngôn ngữ lập trình không cần chương trình dịch là:

A. Hợp ngữ

B. Ngôn ngữ lập trình bậc cao

C. Ngôn ngữ máy

D. Pascal

Hiển thị đáp án

Đáp án : C

Giải thích :

Mỗi loại máy có một ngôn ngữ máy riêng. Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính có thể hiểu và thực hiện được.

Câu 7: Câu nào là sai khi nói về đặc điểm của ngôn ngữ lập trình bậc cao:

A. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch máy mới hiểu và thực hiện được

B. Ngôn ngữ bậc cao gần với ngôn ngữ tự nhiên

C. Có tính độc lập cao, ít phụ thuộc vào các loại máy cụ thể

D. Thực hiện được trên mọi loại máy

Hiển thị đáp án

Đáp án : D

Giải thích :

Ngôn ngữ lập trình bậc cao là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao và ít phụ thuộc vào loại máy cụ thể. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch máy mới hiểu và thực hiện được.

Câu 8: Ngôn ngữ Pascal thuộc loại:

A. Ngôn ngữ bậc cao

B. Hợp ngữ

C. Ngôn ngữ máy

D. Cả A, B, C đều sai

Hiển thị đáp án

Đáp án : A

Giải thích :

Ngôn ngữ lập trình bậc cao là ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao và ít phụ thuộc vào loại máy cụ thể. Chương trình viết bằng ngôn ngữ bậc cao phải được dịch bằng chương trình dịch máy mới hiểu và thực hiện được. Một số ngôn ngữ lập trình bậc cao: FORTRAN, COBOL, PASCAL, C…

Câu 9: Hợp ngữ là:

A. Ngôn ngữ trong các lệnh sử dụng một số từ tiếng Anh

B. Ngôn ngữ máy tính có thể trực tiếp hiểu được

C. Ngôn ngữ gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào các loại máy cụ thể

D. Ngôn ngữ trong các lệnh sử dụng một số từ tiếng Việt

Hiển thị đáp án

Đáp án : A

Giải thích :

Hợp ngữ là ngôn ngữ kết hợp ngôn ngữ máy với ngôn ngữ tự nhiên của con người. Nó cho phép người lập trình sử dụng một số từ [ thường là từ viết tắt các từ tiếng Anh] để thể hiện lệnh cần thực hiện.

Câu 10: Ngôn ngữ nào sau đây máy có thể trực tiếp hiểu và thực hiện?

A. Ngôn ngữ bậc cao

B. Hợp ngữ

C. Pascal

D. Ngôn ngữ máy

Hiển thị đáp án

Đáp án : D

Giải thích :

Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính có thể trực tiếp hiểu và thực hiện được.

Xem thêm các bài Lý thuyết và Câu hỏi trắc nghiệm Tin học lớp 10 chọn lọc, có đáp án hay khác:

Giới thiệu kênh Youtube VietJack

  • Hỏi bài tập trên ứng dụng, thầy cô VietJack trả lời miễn phí!

Đã có app VietJack trên điện thoại, giải bài tập SGK, SBT Soạn văn, Văn mẫu, Thi online, Bài giảng....miễn phí. Tải ngay ứng dụng trên Android và iOS.

Nhóm học tập facebook miễn phí cho teen 2k6: fb.com/groups/hoctap2k6/

Theo dõi chúng tôi miễn phí trên mạng xã hội facebook và youtube:

Nếu thấy hay, hãy động viên và chia sẻ nhé! Các bình luận không phù hợp với nội quy bình luận trang web sẽ bị cấm bình luận vĩnh viễn.

bai-5-ngon-ngu-lap-trinh.jsp

Video liên quan

Bài Viết Liên Quan

Chủ Đề