Các lệnh viết bằng ngôn ngữ máy ở dạng mã

BÀI 5. NGÔN NGỮ LẬP TRÌNH

1. Khái niệm ngôn ngữ lập trình

- Cần diễn tả thuật toán bằng một ngôn ngữ mà máy tính có thể hiểu và thực hiện được. Ngôn ngữ đó được gọi là ngôn ngữ lập trình.

2. Phân loại ngôn ngữ lập trình

a. Ngôn ngữ máy

- Mỗi loại máy tính đều có ngôn ngữ máy riêng của nó. Là ngôn ngữ duy nhất mà máy có thể trực tiếp hiểu và thực hiện.

- Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hoặc mã hexa

- Ưu điểm: Là ngôn ngữ duy nhất máy tính có thể trực tiếp hiểu và thực hiện, cho phép khai thác triệt để và tối ­ưu khả năng của máy. 

- Nhược điểm: 

  • Ngôn ngữ phức tạp, phụ thuộc nhiều vào phần cứng, ch­ương trình viết mất nhiều công sức, cồng kềnh và khó hiệu chỉnh.
  • Không thích hợp với số đông ng­ười lập trình.

b. Hợp ngữ

- Ưu điểm: 

  • Hợp ngữ cho phép người lập trình sử dụng một số từ (thường là các từ tiếng Anh viết tắt) để thể hiện các lệnh cần thực hiện.
  • Cho phép khai thác triệt để tính năng phần cứng.

- Nhược điểm: 

  • Thuận lợi cho các nhà lập trình chuyên nghiệp nhưng chưa thích hợp với số đông người lập trình.
  • Để máy tính hiểu cần có chương trình hợp dịch để chuyển hợp ngữ sang ngôn ngữ máy.

c. Ngôn ngữ bậc cao

- Là 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 loại máy.

- Ưu điểm:

  • Dễ hiểu, dễ chỉnh sửa, tính độc lập cao.
  • Để máy tính hiểu được, cần phải có chương trình dịch để chuyển từ ngôn ngữ bậc cao sang ngôn ngữ máy.
  • Một số ngôn ngữ lập trình bậc cao: Pascal, C, Java, …

Bài 5: Ngôn ngữ lập trình – Lý thuyết: Ngôn ngữ lập trình trang 45 SGK Tin học 10. Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được.

1. Ngôn ngữ máy

Ngôn ngữ máy là ngôn ngữ duy nhất để viết chương trình mà máy tính trực tiếp hiểu và thực hiện được. Mỗi chương trình viết bằng ngôn ngữ khác muốn thực hiện trên máy tính đều phải được dịch ra ngôn ngữ máy bằng một chương trình dịch. Các lệnh viết bằng ngôn ngữ máy là các dãy bit hoặc biến thể của chúng theo cơ số 16.

2. Hợp ngữ

Hợp ngữ cho phép người lập trình sử dụng một số từ để thể hiện các lệnh cần thực hiện. Một chương trình viết bằng hợp ngự phải được dịch ra ngôn ngữ máy nhờ chương trình hợp dịch trước khi có thể thực hiện được trên máy tính.

Quảng cáo

3. Ngôn ngữ bậc cao

Ngôn ngữ bậc cao là ngôn ngữ trong đó các câu lệnh được viết tắt với ngón ngữ tự nhiên hơn, có tính độc lập cao, ít phụ thuộc vào các loại máy cụ thể và nó đều có một chương trình dịch để dịch những chương trình viết bằng ngôn ngữ nà sang ngôn ngữ.máy. Các ngôn ngữ bậc cao đó là: Fortran, Cobol, Algol, Basi Pascal, C, C++, Java….

Ngôn ngữ máy tính là ngôn ngữ chuyên ngành và được sử dụng rộng rãi trong cuộc sống chúng ta.

Ngôn ngữ máy là một tập các chỉ thị được CPU trực tiếp, thực thi từng chức năng xác định. Ví dụ như tải dữ liệu, nhảy hay tính toán số nguyên trên một đơn vị dữ liệu của bộ nhớ. Tất cả các chương trình được thực thi trực tiếp bởi CPU, đều là các chuỗi các chỉ thị này.

Mỗi chương trình viết bằng ngôn ngữ khác muốn thực hiện trên máy tính đều phải được dịch ra nó bằng một chương trình dịch. Những lệnh viết là các dãy bit hoặc biến thể của chúng theo cơ số 16.

Một số ngôn ngữ máy tính thông dụng như Cobol, Algol, C, C++, Java... Đối với những người học lập trình, tự động hóa... sẽ thường xuyên sử dụng nó để hoàn thành công việc của mình.

Phân loại ngôn ngữ máy tính

Ngôn ngữ máy

Mỗi loại máy tính đều có ngôn ngữ máy riêng của nó. Là cách thức duy nhất mà máy có thể trực tiếp hiểu, thực hiện.  Các lệnh viết bằng ngôn ngữ máy ở dạng mã nhị phân hoặc mã hexa. Có khả năng khai thác triệt để tính năng phần cứng, trực tiếp hiểu và không cần phần mềm biên dịch.

Hợp ngữ

Cho phép người lập trình sử dụng một số từ để thể hiện các lệnh cần thực hiện. Nó khai thác triệt để kỹ năng phần cứng, nhưng chưa thích hợp với số đông lập trình viên.

Ngôn ngữ bậc cao

Những câu lệnh được viết tắt với ngón ngữ tự nhiên hơn, có tính độc lập cao, ít phụ thuộc vào các loại máy. Cụ thể, một chương trình dịch để dịch những chương trình viết bằng ngôn ngữ nà sang ngôn ngữ.máy. Các ngôn ngữ bậc cao đó là Fortran, Cobol, Algol, Basi Pascal, C, C++, Java… Nó dễ hiểu, chỉnh sửa và độc lập cao.

Từ khóa: ngôn ngữ máy tính ngôn máy tính là gì lập trình tự học lập trình

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

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

Hiển thị đáp án

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

Xem thêm các bài Câu hỏi trắc nghiệm Tin học 11 chọn lọc, có đáp án 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 2k5: fb.com/groups/hoctap2k5/

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.