Chương trình viết bằng ngôn ngữ bậc cao có ưu điểm trắc nghiệm

Câu hỏi: Ưu điểm và nhược điểm của ngôn ngữ máy

Trả lời:

Ưu điểm và nhược điểm của ngôn ngữ máy

1. Ưu điểm của ngôn ngữ máy

Ngôn ngữ máy là ngôn ngữ dành cho máy tính giao tiếp với phần cứng. Vì vậy:

- Ngôn ngữ máy giúp trao đổi và thực hiện các yêu cầu đối với phần cứng nhanh hơn rất nhiều so với việc ngôn ngữ bậc cao phải biên dịch ra ngôn ngữ máy mới có thể giao tiếp với máy tính.

- Với ngôn ngữ máy, bạn sẽ không cần đến trình biên dịch code. Máy tính sẽ trực tiếp hiểu những gì bạn viết vào bằng ngôn ngữ máy.

- Khai thác được tối đa chức năng của phần cứng.

2. Nhược điểm của ngôn ngữ máy

- Bạn sẽ phải nhớ toàn bộ code hoạt động và vận hành.

- Tất cả các địa chỉ memory cũng phải được lưu lại.

- Ngôn ngữ máy rất khó để con người làm việc cùng và bạn cũng sẽ rất khó để debug một chương trình viết bằng ngôn ngữ máy.

Do đó, ngôn ngữ máy cũng có những ưu điểm và nhược điểm các bạn cùng Top lời giải tìm hiểu chi tiết hơn nhé!

1. Ngôn ngữ máy là gì?

Ngôn ngữ máy (còn được gọi là máy ngữ hay mã máy, tiếng Anh là machine language hay machine code) là một tập các chỉ thị được CPU của máy tính trực tiếp thực thi. Mỗi chỉ thị thực hiện một 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 đơn vị dữ liệu của thanh ghi CPU hay bộ nhớ. Tất cả các chương trình thực thi trực tiếp bởi CPU đều là chuỗi các chỉ thị này.

Hiện nay, hầu như tất cả các chương trình máy tính trong thực tế đều được viết bằng các ngôn ngữ bậc cao hay (đôi khi) hợp ngữ và sau đó được dịch thành mã máy, thực thi bằng các công cụ phụ trợ như trình biên dịch, trình hợp dịch hay trình liên kết.

2. Những câu hỏi thường gặp về ngôn ngữ máy

Nên học ngôn ngữ lập trình nào?

Câu trả lời sẽ phụ thuộc vào mong muốn, mục đích của bạn. Nếu thích lập trình cho các thiết bị di động, Java, Ruby, Kotlin sẽ là những ngôn ngữ rất phù hợp với bạn đấy!

Phát triển game nên học những ngôn ngữ lập trình nào?

Nếu bạn muốn phát triển game, bạn nên sử dụng những ngôn ngữ “gần” với ngôn ngữ máy nhất để có thể tối ưu hóa phần cứng sử dụng như: C/C++, Java,…

Lập trình game có dễ hay không?

Có, nếu bạn thực hiện những game indie đơn giản, khối lượng công việc của bạn sẽ không quá nhiều. Tuy nhiên, nếu bạn đang nghĩ rằng sau khi học lập trình bạn sẽ có thể phát triển những tựa game AAA hay những tựa game phổ biến như như: Grand Theft Auto V, Call of Duty, Liên minh huyền thoại hay Geshin Impact,… điều này sẽ không dễ đâu. Thời gian thực hiện những dự án game AAA sẽ được tính bằng rất nhiều tháng và rất nhiều nhân lực.

Sự khác biệt giữa trình biên dịch và trình phiên dịch là gì?

Đừng nhầm hai khái niệm này là một nhé! Vì:

- Trình biên dịch được viết bằng các ngôn ngữ lập trình cao cấp khác như C hoặc C++ để dịch sang mã máy.

- Một số ngôn ngữ khác như Java, C# sẽ sử dụng con đường khác là dịch mã nguồn cao cấp thành một dạng trung gian được gọi là máy ảo (Ví dụ như máy ảo Java –JVM). Sau đó mã máy ảo sẽ trở thành đầu vào cho một chương trình thông dịch máy ảo mô phỏng CPU phần cứng.

Tóm lại, ngôn ngữ có ứng dụng rất cao trong cuộc sống hiện nay,rất nhiều ngành nghề cần có sự tham gia của ngôn ngữ máy trong việc duy trình hoạt động.

Đồng thời góp phần làm cho hoạt động công nghiệp hóa, hiện đại hóa diễn ra nhanh chóng.

2. Luyện tập Bài 5 Tin học 10

Sau khi học xong Bài 5: Ngôn ngữ lập trình, các em cần nắm vững khái niệm ngôn ngữ máy, hợp ngữ và ngôn ngữ bậc cao.

2.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Bài 5 cực hay có đáp án và lời giải 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ữ
  • 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
  • Câu 3: 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

Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

2.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Bài 5 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Bài tập 1 trang 46 SGK Tin học 10

Bài tập 2 trang 46 SGK Tin học 10

Bài tập 3 trang 46 SGK Tin học 10

3. Hỏi đáp Bài 5 Tin học 10

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

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: khai thác triệt để tính năng phần cứng của máy tính, có thể trực tiếp hiểu được, không cần chương trình dịch.

* Nhược điểm: khó hiểu, khó nhớ, sử dụng nhiều câu lệnh để biểu diễn các thao tác.

b. Hợp ngữ :

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

* Ưu điểm: 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, …

Củng cố, dặn dò:

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

-      Phân loại ngôn ngữ lập trình: ngôn ngữ máy, hợp ngữ, ngôn ngữ bậc cao.

Chương trình viết bằng ngôn ngữ bậc cao có ưu điểm trắc nghiệm

Tailieumoi.vn xin giới thiệu đến các quý thầy cô, các em học sinh lớp 10 tài liệu Lý thuyết, trắc nghiệm Tin học 10 Bài 5: Ngôn ngữ lập trình đầy đủ, chi tiết. Bài học Bài 5: Ngôn ngữ lập trình môn Tin học lớp 10 có những nội dung sau:

Mời quí bạn đọc tải xuống để xem đầy đủ tài liệu lý thuyết, trắc nghiệm Tin học 10 Bài 5: Ngôn ngữ lập trình:

Tin học 10 Bài 5: Ngôn ngữ lập trình

• Khái niệm:

ngôn ngữ lập trình là ngôn ngữ để chuyển thuật toán thành các chương trình mà từ đó máy có thể 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 có thể trực tiếp hiểu và thực hiện được

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

- Ưu điểm: khai thác triệt để đặc điểm phần cứng của máy

- Nhược điểm:

   + Con người khó có thể hiểu được ngôn ngữ máy

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

2. Hợp ngữ

- Sử dụng 1 số từ tiếng anh để tượng trưng cho các lệnh cần thực hiện.

- Ví dụ: cộng giá trị chứa trong hai thanh ghi AX và BX

ADD AX, BX

- Để chương trình viết bằng hợp ngữ thực hiện được trên máy tính, nó cần được dịch ra ngôn ngữ máy bằng chương trình hợp dịch

- Nhược điểm của hợp ngữ:

   + Còn phức tạp, phụ thuộc vào nhiều loại máy

   + Vì vậy, ngôn ngữ máy chỉ thích hợp với các nhà lập trình chuyên nghiệp

3. Ngôn ngữ bậc cao

   - Ngôn ngữ bậc cao là ngôn ngữ có lệnh viết gần với ngôn ngữ tự nhiện hơn, có tính độc lập cao, ít phụ thuộc vào loại máy, chương trình viết ngắn gọn, dễ hiểu, dễ nâng cấp

   - Cần có 1 chương trình dịch để chuyển sang ngôn ngữ máy.

   - Một số ngôn ngữ bậc cao: Turbo Pascal, Java, C++...

Phần 2: 10 câu hỏi trắc nghiệm Tin học 10 Bài 5: Ngôn ngữ lập trình

Câu 1: 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

Đá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 2: 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

Đá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 3: 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

Đá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 4: 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

Đá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 5: 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

Đá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.

Câu 6: 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 : 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 7: 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

Đá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 8: 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

Đá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 9: 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

Đá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 10: 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

Đá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.