PRF192Chưa đoKỳ 1Cơ sở ngành Cập nhật 2 ngày trước
PRF192 - Cơ sở lập trình
266Câu hỏi
7Bộ đề
9Chủ đề
Câu hỏi của môn
266/266 câuHết danh sách
AIt must use recursion
BIt must be written in C language
CIt must have infinite steps
DIt must be finite and well-defined
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It must be finite and well-defined". Thuật toán là dãy bước giải một bài toán, và hai tính chất không thể thiếu là hữu hạn, tức phải dừng sau số bước xác định, cùng rõ ràng, tức mỗi bước chỉ hiểu được theo một nghĩa để ai thực hiện cũng cho cùng kết quả. Thiếu một trong hai thì không còn là thuật toán. Yêu cầu "It must use recursion" sai vì đệ quy chỉ là một cách tổ chức lời giải; vô số thuật toán chỉ dùng vòng lặp. Yêu cầu "It must be written in C language" lẫn thuật toán với chương trình: thuật toán tồn tại độc lập, diễn đạt được bằng lời, bằng mã giả hay sơ đồ khối, rồi mới cài đặt bằng một ngôn ngữ bất kỳ. Yêu cầu "It must have infinite steps" trái hẳn tính hữu hạn; dãy bước không bao giờ dừng chỉ là vòng lặp vô tận, không giải xong việc gì.
266Which variable declaration is correct in C?4 lựa chọn
A_abc
Bbc#
C1abc
Dcase
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "_abc". Tên định danh trong C chỉ gồm chữ cái, chữ số và dấu gạch dưới, ký tự đầu phải là chữ cái hoặc dấu gạch dưới, và tên không được trùng từ khoá; tên mở đầu bằng gạch dưới thoả cả ba điều kiện nên hợp lệ, dù theo quy ước lớp tên đó nên để dành cho thư viện. Tên "bc#" chứa dấu thăng, ký tự không thuộc tập cho phép; bộ phân tích từ vựng tách nó thành một ký tự riêng và câu khai báo vỡ. Tên "1abc" mở đầu bằng chữ số nên bị đọc như một hằng số, đúng điều cấm với ký tự đầu tiên. Tên "case" là từ khoá dành riêng cho nhãn trong cấu trúc switch; từ khoá đã có nghĩa cố định với trình dịch nên không dùng lại làm tên biến được.