1. Ngôn ngữ lập trình nào không cần trình biên dịch?
Vấn đề: Ngôn ngữ lập trình nào không cần trình biên dịch?
A. Assembly
B. Ngôn ngữ lập trình cấp cao
C. Ngôn ngữ máy tính
D. Pascal
Đáp án:
Đáp án đúng: C
Giải thích:
Mỗi loại máy tính đều có một ngôn ngữ máy riêng. Ngôn ngữ máy là ngôn ngữ duy nhất mà máy tính có thể hiểu và thực thi trực tiếp.
2. Khái niệm về ngôn ngữ lập trình - Tin học lớp 10
2.1. Ngôn ngữ máy
Ngôn ngữ máy là ngôn ngữ mà máy tính có thể trực tiếp hiểu và thực hiện. Để chạy các chương trình viết bằng ngôn ngữ khác, cần dùng một trình biên dịch để chuyển đổi sang ngôn ngữ máy tương ứng.
Các lệnh trong ngôn ngữ máy thường được mã hóa dưới dạng nhị phân hoặc hexa, tùy vào phương pháp mã hóa của từng loại máy tính.
Ngôn ngữ máy có lợi thế lớn là tận dụng triệt để các tính năng phần cứng của máy tính, từ đó tối ưu hóa hiệu suất hệ thống.
Tuy nhiên, ngôn ngữ máy cũng tồn tại những hạn chế. Trước hết, nó khó hiểu với con người vì thường được biểu diễn bằng các chuỗi mã không rõ ràng. Thứ hai, ngôn ngữ máy có thể rất phức tạp và phụ thuộc vào phần cứng của máy tính, làm cho việc lập trình trở nên tốn kém và cồng kềnh. Cuối cùng, việc gỡ lỗi và chỉnh sửa chương trình viết bằng ngôn ngữ máy cũng gặp khó khăn do tính chất trừu tượng của mã.
2.2. Assembly
- Assembly sử dụng các từ tiếng Anh để biểu diễn các lệnh cần thực hiện.
- Ví dụ: Để thực hiện phép cộng giữa giá trị của hai thanh ghi AX và BX, ta sử dụng lệnh ADD AX, BX.
- Để một chương trình viết bằng hợp ngữ có thể chạy trên máy tính, nó phải được biên dịch sang ngôn ngữ máy bằng một trình biên dịch hợp ngữ.
- Hạn chế của hợp ngữ:
+ Phức tạp và phụ thuộc vào nhiều loại phần cứng.
+ Vì vậy, hợp ngữ thường chỉ phù hợp với những lập trình viên dày dạn kinh nghiệm.
2.3. Ngôn ngữ bậc cao
Ngôn ngữ bậc cao là loại ngôn ngữ mà các câu lệnh gần gũi với ngôn ngữ tự nhiên, có mức độ độc lập cao và ít phụ thuộc vào phần cứng cụ thể. Mỗi ngôn ngữ bậc cao đều đi kèm với một trình biên dịch để chuyển đổi mã nguồn sang ngôn ngữ máy. Những ngôn ngữ bậc cao nổi bật bao gồm Fortran, Cobol, Algol, Basic, Pascal, C, C++, Java, và nhiều ngôn ngữ khác.
3. Bài tập thực hành liên quan
Câu 1. Ai là người sáng lập Ngôn ngữ lập trình Python?
A. Wick van Rossum.
B. Rasmus Lerdorf.
C. Guido van Rossum.
D. Niene Stom.
Đáp án chính xác là: C
Ngôn ngữ Python được phát triển bởi lập trình viên người Hà Lan, Guido van Rossum.
Câu 2. Ngôn ngữ Python được công bố lần đầu vào năm nào?
A. 1995.
B. 1972.
C. 1981.
D. 1991.
Đáp án chính xác là: D
Ngôn ngữ Python được sáng tạo bởi Guido van Rossum và được công bố lần đầu vào năm 1991.
Câu 3. Ngôn ngữ nào gần gũi nhất với ngôn ngữ tự nhiên?
A. Ngôn ngữ bậc cao.
B. Ngôn ngữ máy.
C. Hợp ngữ.
D. Tất cả các phương án đều không đúng.
Đáp án chính xác là: A
Ngôn ngữ lập trình bậc cao có các câu lệnh gần gũi với ngôn ngữ tự nhiên, giúp việc đọc và hiểu chương trình trở nên dễ dàng hơn.
Câu 4. Ngôn ngữ nào sau đây không thuộc loại ngôn ngữ bậc cao?
A. C/C++.
B. Assembly.
C. Python.
D. Java.
Đáp án chính xác là: B
Ngôn ngữ Assembly là ngôn ngữ hợp ngữ.
Câu 5. Phần mở rộng đúng của tệp Python là gì?
A. .python.
B. .pl.
C. .py.
D. .p.
Đáp án chính xác là: C
'.py' là phần mở rộng đúng cho tệp Python. Các chương trình Python có thể được viết bằng bất kỳ trình soạn thảo văn bản nào, nhưng khi lưu lại, chúng phải được lưu với phần mở rộng '.py'.
Câu 6. Kết quả của biểu thức Python sau đây là gì?
4 + 15 / 5
A. Số 7.
B. Số 2.
C. Số 4.
D. Số 1.
Đáp án chính xác là: A
Theo quy tắc ưu tiên, phép chia (/) được thực hiện trước phép cộng (+). Do đó, biểu thức sẽ được tính là 4 + 3 = 7.
Câu 7. Phương pháp nào sau đây dùng để xác định một khối mã trong Python?
A. Sử dụng thụt lề.
B. Sử dụng dấu nháy kép “ ”.
C. Sử dụng dấu ngoặc ( ).
D. Dấu ngoặc vuông [ ].
Đáp án chính xác là: A
Trong Python, để định nghĩa một khối mã, chúng ta dùng thụt lề, tức là khoảng trắng ở đầu dòng.
Câu 8. Thứ tự ưu tiên của các phép toán trong Python là gì trong các đáp án dưới đây?
A. /, -, +, *.
B. (, /) thực hiện trước (+, -).
C. Thực hiện từ trái sang phải.
D. (+, -) thực hiện trước (, /).
Đáp án chính xác là: B
Trong Python, phép nhân và chia được ưu tiên thực hiện hơn phép cộng và trừ, giống như trong toán học.
Câu 9. Biểu thức Python dưới đây có giá trị là bao nhiêu?
6 – 6 / 2 + 4 * 5 – 6 / 2
A. 17.
B. 20.
C. 18.
D. 19.
Đáp án chính xác là: B
6 – 6 / 2 + 4 * 5 – 6 / 2 = 6 – 3 + 20 – 3 = 20
Câu 10. Trong đoạn mã dưới đây, lỗi xảy ra ở đâu?
A. 3 .
B. + hoặc *.
C. *.
D. Không có lỗi.
Đáp án chính xác là: B
Hai dấu + và * không thể xuất hiện liên tiếp giữa hai số, cần loại bỏ một trong hai dấu này.
Câu 11: Để kết thúc một phiên làm việc trong Python, bạn có thể làm gì?
A. Nhấp vào dấu X ở góc trên bên phải màn hình.
B. Nhập lệnh quit() và nhấn Enter.
C. Sử dụng lệnh Exit.
D. Tất cả các cách trên đều đúng.
Đáp án chính xác là: D
Để kết thúc một phiên làm việc trong Python, bạn có thể nhấp vào dấu X ở góc trên bên phải màn hình, nhập lệnh quit() rồi nhấn Enter, hoặc sử dụng lệnh Exit.
Câu 12: Kết quả của lệnh dưới đây là gì?
print(1 + 2 + 3 + 4)
A. 10.
B. 15.
C. 1 + 2 + 3 + 4.
D. 1 + 2 + 3.
Đáp án chính xác là: A
Kết quả của 1 + 2 + 3 + 4 là 10
Câu 13: Phát biểu nào sau đây là sai khi nói về Python?
A. Python là một ngôn ngữ lập trình bậc cao.
B. Python là ngôn ngữ mã nguồn mở, được nhiều nhà khoa học cộng tác phát triển.
C. Python có các lệnh phức tạp, vì vậy ít được sử dụng trong giáo dục.
D. Python có cú pháp gần gũi với ngôn ngữ tự nhiên.
Đáp án chính xác là: C
Python có cú pháp gần gũi với ngôn ngữ tự nhiên, được ưa chuộng trong cả nghiên cứu và giáo dục.
Câu 14. Chọn câu đúng về môi trường lập trình Python?
A. Có chế độ soạn thảo với dấu nhắc lệnh.
B. Ngoài chế độ gõ lệnh và soạn thảo, còn nhiều chế độ khác.
C. Chế độ gõ lệnh trực tiếp rất phù hợp cho việc thực hiện các phép toán nhanh chóng và kiểm tra lệnh.
D. Chế độ gõ lệnh trực tiếp đi kèm với con trỏ soạn thảo.
Đáp án chính xác là: C
Môi trường lập trình Python hỗ trợ hai chế độ chính:
- Chế độ gõ lệnh trực tiếp thường được sử dụng để thực hiện tính toán và kiểm tra các lệnh một cách nhanh chóng.
- Chế độ soạn thảo được sử dụng để viết các chương trình dài với nhiều dòng lệnh.
Câu 15. Để in đoạn văn xuống dòng giữa các chuỗi bằng câu lệnh print, bạn cần sử dụng kí tự nào?
A. Dấu nháy đơn.
B. Ba dấu nháy kép.
C. Dấu nháy kép.
D. Không thể thực hiện.
Đáp án chính xác là: B
Khi một chuỗi được bao bọc trong ba dấu nháy kép, bạn có thể sử dụng phím Enter để xuống dòng trong chuỗi.
Câu 16: Câu nào sau đây không đúng 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 cần được dịch qua chương trình dịch máy để máy tính hiểu và thực thi.
B. Ngôn ngữ bậc cao có cấu trúc gần gũi với ngôn ngữ con người.
C. Ngôn ngữ bậc cao có tính độc lập lớn, ít phụ thuộc vào phần cứng cụ thể.
D. Có khả năng chạy trên mọi loại máy.
Đáp án chính xác: D
Giải thích:
Ngôn ngữ lập trình bậc cao gần gũi với ngôn ngữ con người, có tính độc lập lớn và ít phụ thuộc vào phần cứng cụ thể. Các chương trình viết bằng ngôn ngữ này cần được biên dịch bởi phần mềm dịch để máy tính có thể hiểu và thực thi.
Đây là toàn bộ nội dung bài viết của Mytour về bài tập: Ngôn ngữ lập trình không cần trình biên dịch là? Tin học lớp 10. Cảm ơn quý bạn đọc đã theo dõi!