Download as pdf or txt
Download as pdf or txt
You are on page 1of 3

1/11/24, 7:32 PM uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.

htm

Module 10: Ngôn ngữ lập trình


Câu hỏi và bài tập
1. Thế nào là ngôn ngữ lập trình
2. Phân biệt các mức của ngôn ngữ lập trình
3. Sự khác nhau giữa biên dịch (compiler) và thông dịch (interpreter)
4. Phân biệt lỗi cú pháp và lỗi ngữ nghĩa
5. Nêu các bước dịch một chương trình từ ngôn ngữ bậc cao ra ngôn ngữ máy

Câu hỏi trắc nghiệm


Thời gian: Không giới hạn

Hướng dẫn:Chọn phương án trả lời tốt nhất cho các câu hỏi sau:

Câu 1
Bàn về các loại ngôn ngữ lập trình có các ý kiến sau đây. Theo bạn ý kiến nào xác đáng nhất
Sử dụng ngôn ngữ máy tốt hơn vì ta có thể can thiệp tốt nhất đến từng bước xử lý sơ cấp trong máy.
Vì thế hiệu quả của phần mềm là cao nhât
Sử dụng ngôn ngữ bậc cao là tốt nhất vì thời gian phát triển phần mềm nhanh và ít bị
Sử dụng hợp ngữ tốt hơn cả vì hợp ngữ cho phép can thiệp ở mức thấp như ngôn ngữ máy, mặc dù lập
trình có khó hơn ngôn ngữ bậc cao nhưng dễ hơn nhiều so với ngôn ngữ máy
Tuỳ từng trường hợp. Nói chung nên dùng ngôn ngữ bậc cao phù hợp với lĩnh vực ứng dụng vì hiệu
suất phát triển phần mềm là cao nhất. Chỗ nào cần tối ưu mã chương trình thì mới dùng hợp ngữ. Nói
chung không cần sử dụng ngôn ngữ máy vì hợp ngữ hầu như đã thể hiện chính ngôn ngữ máy

Câu 2
Câu nào đúng nhất trong định nghĩa một ngôn ngữ lập trình nói chung
Là ngôn ngữ 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ý
Là ngôn ngữ dưới dạng nhị phân để máy tính có thực hiện trực tiếp
Là ngôn ngữ diễn đạt giải thuật để có thể giao cho máy tính thực hiện
Là ngôn ngữ có tên là "ngôn ngữ thuật toán" hay còn gọi là "ngôn ngữ bậc cao" gần vớingô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
Là hợp ngữ

Câu 3
Trong các ý kiến sau, ý kiến nào xác đáng hơn cả
Sử dụng ngôn ngữ máy tốt hơn vì ta có thể can thiệp tới các xử lý tinh tế nhất trong các lệnh máy. Vì
thể hiệu quả sẽ cao hơn
Sử dụng ngôn ngữ bậc cao là tốt nhất vì thời gian phát triển phần mềm nhanh hơn và ít mắc lỗi hơn
Sử dụng hợp ngữ tốt hơn vì hợp ngữ cho phép can thiệp sâu như mã máy mà vẫn không phải dùng mã
số
Tuỳ từng trường hợp, nhưng nói chung nên dùng ngôn ngữ bậc cao để tăng hiệu suất phát triển phần
mềm

https://uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.htm 1/3


1/11/24, 7:32 PM uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.htm
Câu 4
Ngôn ngữ máy là
Là 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
Là ngôn ngữ thể hiện 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
Là các ngôn ngữ mà sau khi dịch sang hệ nhị phân thì máy có thể chạy được

Câu 5
Chọn phương án tốt nhất trong định nghĩa về hợp ngữ (assembly). Hợp ngữ là loại ngôn ngữ
Máy tính có thể thực hiện được trực tiếp không cần dịch
Là ngôn ngữ có các lệnh được viết trong mã chữ nhưng về cơ bản mỗi lệnh tương đương với một một
lệnh máy. Để chạy được cần dịch ra ngôn ngữ máy
Là ngôn ngữ lập trình mà các lệnh không viết trực tiếp bằng mã nhị phân
Là loại ngôn ngữ 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 chữ

Câu 6
Định nghĩa nào xác đáng nhất về ngôn ngữ bậc cao (ngôn ngữ thuật toán)
Ngôn ngữ dưới dạng văn bản thể thiệ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ể
Là loại ngôn ngữ máy không chạy trực tiếp được. Trước khi chạy phải dịch ra ngôn ngữ máy
Là loại ngôn ngữ có thể diễn đạt được mọi thuật toán

Câu 7
Có các khẳng định sau đây về chương trình dịch, khẳng định nào sai:
Chương trình dịch cho phép chuyển chương trình về 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
Chương trình dịch giúp có thể lập trình trên một ngôn ngữ tự nhiên hơn, do đó giảm nhẹ
Chương trình dịch giúp tìm ra tất cả các lỗi của chương trình

Câu 8
Quá trình dịch chỉ tạo ra các mô đun đối tượng. Để có một chương trình duy nhất, hoàn chỉnh và có thể
chạy được còn cần phải liên kết (link). Trong các phát biểu sau, phát biểu nào sai:
Quá trình liên kết không bao giờ có lỗi
Tất cả các mô đun đối tượng đều được sinh từ chương trình của người lập trình viết, cũng có thể được
tạo sẵn từ trước

Câu 9
Điều nào là đúng trong các kết luận sau khi trả lời câu hỏi "Sự khác nhau giữa biên dịch (compiler) và
thông dịch (interpreter) là"
Biên dịch dùng với ngôn ngữ thuật toán còn thông dịch dùng với hợp ngữ
Thông dịch chỉ tạo ra các lệnh mô phỏng, sau đó phải chạy chương trình mô phỏng
Thông dịch không cần tạo mã mà chạy đến lệnh nào thì tạo các lệnh để thi hành còn biên dịch phải
dịch trước toàn bộ chương trình sang nhị phần thì mới có thể chạy được

Câu 10
Ngôn ngữ lập trình là
Một phần mềm phát triển
Chính là chương trình dịch
Chỉ là một quy ước để diễn tả thuật toán
Là quy ước để diễn tả thuật toán để máy tính có thể thực hiện đựợc trực tiếp hay qua một biến đổi có
thể tự động hoá được
Câu 11
Các phần mềm sau đây, phần mềm nào là chương trình dịch
Winword
Turbo Pascal

https://uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.htm 2/3
1/11/24, 7:32 PM uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.htm

Từ điển Lạc Việt


Câu 12
Ngôn ngữ lập trình là một hệ thống ký hiệu và các quy tắc diễn đạt thuật toán để máy tính có thể hiểu
được. Cách diễn đạt bằng sơ đồ khối có thể coi là một ngôn ngữ lập trình hay không

Không
Câu 13
Ngôn ngữ lập trình là một hệ thống ký hiệu và các quy tắc diễn đạt thuật toán để máy tính có thể hiểu
được. Cách diễn đạt thuật toán bằng chỉ dẫn có thể coi là một ngôn ngữ lập trình hay không

Không
Câu 14
Mục đích của phân tích từ vựng là
Phát hiện ra các lỗi không đúng quy cách của chương trình
Phát hiện ra các đối tượng trùng lặp
Phát hiện ra các đối tượng để lập danh mục các đối tượng
Phát hiện ra các lệnh điều khiển trong chương trình
Câu 15
Mục đích của phân tích cú pháp là
Phát hiện ra các lỗi không đúng quy cách của chương trình
Phát hiện ra các đối tượng trùng lặp
Phát hiện ra các lệnh điều khiển trong chương trình
Câu 16
Có thể hiểu lỗi ngữ nghĩa là lỗi gây ra những tình trạng làm cho máy tính không thể chạy bình thường
hoặc làm cho máy chạy sai ý định Như vậy, có phải lỗi ngữ nghĩa nào cũng được máy tính tự phát hiện
khi chạy tương tự như lỗi chia cho 0 hay không

Không

Kết quả làm bài


Tuyệt vời! Bạn thật xuất sắc!
Số câu hỏi trắc nghiệm: 16
Tổng số điểm: 16
Số câu trả lời đúng: 16
Điểm: 16
Tỉ lệ trả lời đúng: 100%

https://uet.vnu.edu.vn/~nguyenhathanh/lectures/thcs2/exercises/9. Ngon ngu lap trinh.htm 3/3

You might also like