Hay chọn phát biểu đúng về ngôn ngữ lập trình và chương trình dịch

Trắc nghiệm: Phát biểu nào dưới đây là đúng trong các phát biểu dưới đây?

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch

B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân

D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Trả lời: 

Đáp án đúng D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Giải thích:

Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau như thông dịch và biên dịch. Bất kì một chương trình được viết bằng ngôn ngữ nào đều phải dịch sang ngôn ngữ máy.

Tìm hiểu về khái niệm ngôn ngữ lập trình cùng Top Tài Liệu 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ô phỏng dữ liệu và diễn đạt các thao tác của thuật toán

– Ngôn ngữ lập trình là ngôn ngữ dùng để viết chương trình

a. Khái niệm

– Chương trình có 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 gọi là chương trình dịch

Trong đó:

+ Chương trình nguồn: Là chương trình 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

b. Phân loại:

– Chương trình dịch có 2 loại: thông dịch và biên dịch.

– Thông dịch (Interpret) được thực hiện bằng cách lặp lại dãy 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 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.

Như vậy, quá trình dịch và thực hiện các câu lệnh là luân phiên. 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. Nó thích hợp cho môi trường đối thoại giữa người và hệ thống, được ứng dụng cho các ngôn ngữ khai thác hệ quản trị cơ sở dừ liệu, ngôn ngữ đối thoại với hệ điều hành,..

Hay chọn phát biểu đúng về ngôn ngữ lập trình và chương trình dịch

– Biên dịch (compile) được thực hiện qua hai bước:

+ Duyệt, kiểm tra, phát hiện lỗi, kiếm tra tính đúng đắn của các 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 lại khi cần thiết.

Như vậy, trong thông dịch, không có chương trình đích để lưu trữ, trong biên dịch cả chương trình nguồn và chương trình đích đều có thể lưu trữ lại để sử dụng về sau. Nó được ứng dụng vào việc biên soạn, lưu trữ, tìm kiếm, cho biết các kết quả trung gian,.. Toàn bộ các dịch vụ trên tạo thành một môi trường làm việc trên một ngôn ngữ lập trình cụ thể.

Ví dụ, Turbo Pascal 7.0, Free Pascal 1.2, Visual Pascal 2.1 …. trên ngôn ngữ Pascal, Turbo C++, Visual C++,…

– Ngôn ngữ lập trình được chia thành ba loại:

+ Ngôn ngữ máy: Ngôn ngữ duy nhất máy có thể trực tiếp hiểu và thực hiện

+ Hợp ngữ: Rất gần với ngôn ngữ máy, nhưng mã lệnh được thay bằng tên viết tắt của thao tác (thường là tiếng Anh)

+ Ngôn ngữ bậc cao: Gần với ngôn ngữ tự nhiên, có tính độc lập cao, ít phụ thuộc vào loại máy và chương trình phải dịch sang ngôn ngữ máy mới thực hiện được

Câu 1: Hãy chọn phương án ghép phù hợp nhất. Ngôn ngữ lập trình là gì?

A. Phương tiện để soạn thảo văn bản trong đó có chương trình

B. Ngôn ngữ Pascal hoặc C

C. Phương tiện diễn đạt thuật toán để máy tính thực hiện công việc

D. Phương tiện diễn đạt thuật toán

Giải thích: Ngôn ngữ lập trình là ngôn ngữ để viết chương trình diễn đạt thuật toán giúp  máy tính hiểu và thực hiện.

Câu 2: Phát biểu nào dưới đây chắc chắn sai?

A. Lập trình là viết chương trình

B. Lập trình và chương trình là hai khái niệm tương đương, đều là cách mô tả thuật toán bằng ngôn ngữ lập trình

C. Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

D. Chương trình chưa chắc là đã đúng nếu cho kết quả đúng với rất nhiều bộ dữ liệu vào.

Giải thích:

+ Lập trình là sử dụng cấu trúc dữ liệu và các câu 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. Hay lập trình chính là viết chương trình.

+ Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

→Lập trình và chương trình là hai không khái niệm tương đương⇒  Loại B.

Câu 3: Phát biểu nào sau đây chắc chắn sai?

A. Để giải bài toán bằng máy tính phải viết chương trình mô tả thuật toán giải bài toán đó

B. Mọi người sử dụng máy tính đều phải biết lập chương trình

C. Máy tính điện tử có thể chạy các chương trình

D. Một bài toán có thể có nhiều thuật toán để giải

Giải thích:

Lập chương trình là phải biết một hoặc một vài ngôn ngữ lập trình như: Pascal, C. C++…để viết trình. Việc học này thường rất khó và phức tạp vì vậy người sử dụng máy tính đơn thuần không nhất thiết phải biết lập trình mà chỉ việc biết thao tác đơn giản trên máy tính.

Câu 4: Phát biểu nào dưới đây là đúng trong các phát biểu dưới đây?

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch

B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân

D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Giải thích:

Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau như thông dịch và biên dịch. Bất kì một chương trình được viết bằng ngôn ngữ nào đều phải dịch sang ngôn ngữ máy.

Câu 5: Phát biểu nào không đúng trong các phát biểu dưới đây?

A. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn

B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình

C. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình

D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch

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. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình. Có hai chương trình dịch: thông dịch và biên dịch.

 

Câu 1: Hãy chọn phương án ghép phù hợp nhất. Ngôn ngữ lập trình là gì:

A. Phương tiện để soạn thảo văn bản trong đó có chương trình

B. Ngôn ngữ Pascal hoặc C

C. Phương tiện diễn đạt thuật toán để máy tính thực hiện công việc

D. Phương tiện diễn đạt thuật toán

Hiển thị đáp án

 

Trả lời: Ngôn ngữ lập trình là ngôn ngữ để viết chương trình diễn đạt thuật toán giúp  máy tính hiểu và thực hiện.

Đáp án: C

 

Câu 2: Phát biểu nào dưới đây chắc chắn sai?

A. Lập trình là viết chương trình

B. Lập trình và chương trình là hai khái niệm tương đương, đều là cách mô tả thuật toán bằng ngôn ngữ lập trình

C. Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

D. Chương trình chưa chắc là đã đúng nếu cho kết quả đúng với rất nhiều bộ dữ liệu vào.

Hiển thị đáp án

 

Trả lời:

+ Lập trình là sử dụng cấu trúc dữ liệu và các câu 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. Hay lập trình chính là viết chương trình.

+ Chương trình được tạo thành từ tổ hợp các câu lệnh và các khai báo cần thiết về biến, hằng, hàm, …

→Lập trình và chương trình là hai không khái niệm tương đương⇒  Loại B.

Đáp án: B

 

Câu 3: Phát biểu nào sau đây chắc chắn sai?

A. Để giải bài toán bằng máy tính phải viết chương trình mô tả thuật toán giải bài toán đó

B. Mọi người sử dụng máy tính đều phải biết lập chương trình

C. Máy tính điện tử có thể chạy các chương trình

D. Một bài toán có thể có nhiều thuật toán để giải

Hiển thị đáp án

 

Trả lời:

Lập chương trình là phải biết một hoặc một vài ngôn ngữ lập trình như: Pascal, C. C++…để viết trình. Việc học này thường rất khó và phức tạp vì vậy người sử dụng máy tính đơn thuần không nhất thiết phải biết lập trình mà chỉ việc biết thao tác đơn giản trên máy tính.

Đáp án: B

 

Câu 4: Hãy chọn phương án ghép đúng. Ngôn ngữ lập trình là ngôn ngữ

A. Cho phép thể hiện các dữ liệu trong bài toán mà các chương trình sẽ phải xử lí

B. Dưới dạng nhị phân để máy tính có thể thực hiện trực tiếp

C. Diễn đạt thuật toán để có thể giao cho máy tính thực hiện

D. Có tên là "ngôn ngữ thuật toán" hay còn gọi là "ngôn ngữ lập trình bậc cao" gần với ngôn ngữ toán học cho phép mô tả cách giải quyết vấn đề độc lập với máy tính

Hiển thị đáp án

 

Trả lời: Ngôn ngữ lập trình là ngôn ngữ để viết chương trình, diễn đạt thuật toán giúp  máy tính hiểu và thực hiện.

Đáp án: C

 

Câu 5: Hãy chọn phương án ghép đúng. Ngôn ngữ máy là

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

B. Ngôn ngữ để viết các chương trình mà mỗi chương trình là một dãy lệnh máy trong hệ nhị phân

C. Các ngôn ngữ mà chương trình viết trên chúng sau khi dịch ra hệ nhị phân thì máy có thể chạy được

D. Diễn đạt thuật toán để có thể giao cho máy tính thực hiện

Hiển thị đáp án

 

Trả lời: 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. Mỗi chương trình là một dãy lệnh máy trong hệ nhị phân.

Đáp án: B

 

Câu 6: Hãy chọn phương án ghép đúng. Hợp ngữ là ngôn ngữ

A. Mà máy tính có thể thực hiện được trực tiếp không cần dịch

B. Có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy. Để chạy được cần dịch ra ngôn ngữ máy

C. Mà các lệnh không viết trực tiếp bằng mã nhị phân

D. Không viết bằng mã nhị phân, được thiết kế cho một số loại máy có thể chạy trực tiếp dưới dạng kí tự

Hiển thị đáp án

 

Trả lời: Hợp ngữ là ngôn ngữ có các lệnh được viết bằng kí tự nhưng về cơ bản mỗi lệnh tương đương với một lệnh máy. Để chạy được cần dịch ra ngôn ngữ máy

Đáp án: B

 

Câu 7: Hãy chọn phương án ghép sai. Ngôn ngữ lập trình bậc cao là ngôn ngữ

A. Thể hiện thuật toán theo những quy ước nào đó không phụ thuộc vào các máy tính cụ thể

B. Mà máy tính không hiểu trực tiếp được, chương trình viết trên ngôn ngữ bậc cao trước khi chạy phải dịch sang ngôn ngữ máy

C. Có thể diễn đạt được mọi thuật toán

D. Sử dụng từ vựng và cú pháp của ngôn ngữ tự nhiên (tiếng Anh)

Hiển thị đáp án

 

Trả lời:

Ngôn ngữ lập trình bậc cao là ngôn ngữ gần với ngôn ngữ tự nhiên ( một số từ viết tắt của tiếng Anh), 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 sang ngôn ngữ máy, 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…

Đáp án: D

 

Câu 8: Phát biểu nào không đúng trong các phát biểu dưới đây?

A. Chương trình dịch cho phép chuyển chương trình viết bằng một ngôn ngữ lập trình nào đó sang chương trình trên ngôn ngữ máy để máy có thể thực hiện được mà vẫn bảo toàn được ngữ nghĩa của chương trình nguồn

B. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình

C. Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình

D. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch

Hiển thị đáp án

 

Trả lời:

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. Chương trình dịch giúp người lập trình có thể lập trình trên một ngôn ngữ lập trình gần với ngôn ngữ tự nhiên hơn, do đó giảm nhẹ được nỗ lực lập trình, tăng cường hiệu suất lập trình. Có hai chương trình dịch: thông dịch và biên dịch.

Đáp án: A

 

Câu 9: Phát biểu nào dưới đây là sai khi nói về biên dịch và thông dịch?

A. Chương trình dịch của ngôn ngữ lập trình bậc cao gọi là biên dịch còn thông dịch là chương trình dịch dùng với hợp ngữ

B. Một ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch

C. Thông dịch lần lượt dịch và thực hiện từng câu lệnh còn biên dịch phải dịch trước toàn bộ chương trình sang mã nhị phân thì mới có thể thực hiện được

D. Biên dịch và thông dịch đều kiểm tra tính đúng đắn của câu lệnh

Hiển thị đáp án

 

Trả lời:

Mỗi ngôn ngữ lập trình có thể có cả chương trình thông dịch và chương trình biên dịch vì vậy ngôn ngữ bậc cao và hợp ngữ đều có chương trình thông dịch và biên dịch.

Đáp án: A

 

Câu 10: Phát biểu nào dưới đây là đúng trong các phát biểu dưới đây?

A. Mỗi ngôn ngữ lập trình bậc cao đều có đúng một chương trình dịch

B. Chương trình dịch gồm hợp dịch, thông dịch, biên dịch

C. Máy tính chỉ nhận biết được kí tự 0 và kí tự 1 nên chương trình bằng ngôn ngữ máy cũng phải được dịch sang mã nhị phân

D. Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau

Trả lời:

Một ngôn ngữ lập trình bậc cao có thể có nhiều chương trình dịch khác nhau như thông dịch và biên dịch. Bất kì một chương trình được viết bằng ngôn ngữ nào đều phải dịch sang ngôn ngữ máy.

Đáp án: D