Câu hỏi: CSI106 Nhập môn khoa học máy tính – Bộ ôn tập cuối kỳ số 2
60 câu trắc nghiệm kèm lời giải của môn Introduction to Computer Science, xếp đúng thứ tự trong đề. Trang 2/3 — câu 21–40.
Danh sách câu hỏi
40/60 câuCòn 20
A(0, 0, 0)
B(255, 255, 255)
C(0, 255, 0)
D(0, 0, 255)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "(255, 255, 255)". Trong mô hình True-Color, mỗi điểm ảnh lưu ba thành phần đỏ, lục, lam, mỗi thành phần chiếm một byte nên nhận giá trị từ 0 tới 255 để chỉ cường độ. Đỏ thuần là (255, 0, 0) nghĩa là bật hết kênh đỏ và tắt hai kênh kia; trắng là lúc cả ba kênh đều ở cường độ cực đại, nên bộ ba phải là (255, 255, 255). "(0, 0, 0)" tắt cả ba kênh, cho ra màu đen. "(0, 255, 0)" chỉ bật cực đại kênh lục nên cho màu lục thuần. "(0, 0, 255)" bật riêng kênh lam, cho màu lam thuần.
22If you want to store the decimal number 15 in an 8-bit unsigned integer, what is the binary representation?4 lựa chọn
A00001111
B00001110
C11110000
D11111111
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "00001111". Số 15 phân tích thành 8 + 4 + 2 + 1, nghĩa là bốn bit trọng số thấp đều phải bằng 1; ô nhớ rộng 8 bit mà số lại không dấu nên bốn bit cao chỉ việc bù 0, cho mẫu 00001111. "00001110" tắt bit trọng số 1 nên chỉ bằng 8 + 4 + 2 = 14, hụt đúng một đơn vị. "11110000" đặt bốn bit 1 vào nửa cao, nơi trọng số lần lượt là 128, 64, 32 và 16, nên giá trị thành 240; đây là lỗi hay gặp khi viết các bit theo chiều ngược lại. "11111111" bật cả tám bit nên bằng 255, tức giá trị lớn nhất mà một byte không dấu chứa được chứ không phải 15.
23Which of the following is equivalent to the 8-bit two's complement representation of -31?4 lựa chọn
A(0001 1111)2
B(301)8
C(E1)16
D(32)10
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "(E1)16". Đổi -31 sang bù hai 8 bit theo ba bước: viết 31 thành 0001 1111, đảo mọi bit được 1110 0000, cộng thêm 1 được 1110 0001; tách thành hai nhóm bốn bit 1110 và 0001 rồi đọc theo hệ mười sáu được E1. "(0001 1111)2" chính là 31 ở dạng dương, chưa qua phép đảo bit và cộng 1 nên mang dấu dương. "(301)8" quy ra thập phân là 193, tức mẫu bit 1100 0001, đọc theo bù hai thì bằng -63 chứ không phải -31. "(32)10" là số dương 32, không liên quan gì tới cách biểu diễn số âm.
24According to operator precedence, which operation is performed first in the expression (A OR B) AND C?4 lựa chọn
AOR, then AND
BAND, then OR
CBoth at the same time
DDepends on the hardware
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "OR, then AND". Theo quy tắc ưu tiên thông thường của biểu thức logic thì AND có độ ưu tiên cao hơn OR, nhưng ở đây cặp ngoặc đã bao quanh phép OR nên nó buộc phải được tính trước, rồi kết quả của nó mới đem AND với toán hạng còn lại; đặt ngoặc chính là cách đảo lại thứ tự mặc định. "AND, then OR" đúng là thứ tự khi không có ngoặc, nhưng dấu ngoặc trong câu dẫn đã vô hiệu hoá thứ tự đó. "Both at the same time" không khớp với cách biểu thức được định giá: mỗi phép toán cần đầu vào đã có giá trị nên phải thực hiện tuần tự. "Depends on the hardware" sai vì thứ tự do cú pháp và dấu ngoặc quy định, không do mạch thực hiện phép toán quyết định.
AAs a 7-bit pattern 1000001.
BAs an 8-bit pattern 01000001.
CAs a 16-bit Unicode pattern.
DAs a 32-bit graphical symbol.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "As an 8-bit pattern 01000001." Trong bảng mã ASCII, chữ A hoa có mã 65, viết bằng 7 bit là 1000001; nhưng đơn vị lưu trữ nhỏ nhất mà máy thao tác được là một byte, nên ký tự nằm trong 8 bit với bit trái bù 0, thành 01000001. "As a 7-bit pattern 1000001." đúng về giá trị mã gốc của bảng ASCII, song không phản ánh cách chữ được lưu trong bộ nhớ, nơi mỗi ký tự chiếm trọn một byte. "As a 16-bit Unicode pattern." nói về bảng mã khác: Unicode mở rộng để chứa mọi hệ chữ viết, còn câu dẫn giới hạn ở ASCII. "As a 32-bit graphical symbol." nhầm ký tự với hình ảnh, vì máy lưu mã số của ký tự còn hình dáng chữ do phông chữ vẽ ra lúc hiển thị.
A0 to 15
B-7 to +7
C-8 to +7
D-15 to +15
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "-8 to +7". Với bù hai trên 4 bit, 16 mẫu bit được chia đôi: 0000 đến 0111 biểu diễn 0 tới 7, còn 1000 đến 1111 biểu diễn -8 tới -1. Vì số 0 chỉ có một mẫu bit duy nhất nên phía âm nhận thêm được một giá trị, dải trở thành -8 tới +7. "0 to 15" là dải của số nguyên không dấu, nơi không bit nào dành cho dấu. "-7 to +7" là dải của biểu diễn dấu-và-độ-lớn, cách đó có hai mẫu bit cùng chỉ số 0 nên mất đi một giá trị. "-15 to +15" cần tới 31 mẫu bit khác nhau, vượt quá 16 tổ hợp mà 4 bit tạo ra được.
27How many ethical principles are there?5 lựa chọn
A2
B3
C4
D5
E1
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "3". Phần nhập môn về khía cạnh xã hội và đạo đức của máy tính trình bày đúng ba nguyên tắc để phân xử một hành vi: quy tắc đạo đức (moral rules), nguyên tắc vị lợi gọi là utilization — hành vi tốt nếu mang lại kết quả tốt cho xã hội — và khế ước xã hội (social contract), tức điều mà các thành viên trong xã hội cùng thoả thuận. "2" chỉ ôm được hai trong ba căn cứ đó nên bỏ mất một hướng phân xử. "4" buộc phải kể thêm một nguyên tắc nữa, trong khi các chủ đề khác của chương như quyền sở hữu trí tuệ hay quyền riêng tư là vấn đề được xét bằng ba nguyên tắc chứ không phải nguyên tắc mới. "5" dư tới hai, thường do đếm gộp cả các chủ đề pháp lý vào nhóm nguyên tắc. "1" gộp tất cả về một quy tắc duy nhất, xoá mất khác biệt giữa ba cách đánh giá hành vi.
ASubstitution cipher
BTransposition cipher
CStream cipher
DBlock cipher
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Substitution cipher". Mật mã thay thế giữ nguyên vị trí các ký tự và đổi từng ký tự thành ký tự khác theo một quy tắc cố định, ví dụ dịch mỗi chữ đi đúng một số bước trong bảng chữ cái. "Transposition cipher" không đổi bản thân ký tự mà chỉ đảo lại vị trí của chúng theo một khuôn hoán vị. "Stream cipher" là cách phân loại theo lượng dữ liệu xử lý mỗi lần, tức mã hoá từng ký tự hoặc từng bit một, và khoá thường biến thiên theo từng ký tự chứ không phải một quy tắc cố định. "Block cipher" cũng thuộc cách phân loại theo lượng dữ liệu: nó lấy trọn một khối gồm nhiều ký tự rồi mã hoá cả khối trong một lần.
29Which ethical principle states that an act is ethical if it brings about a good result for society?4 lựa chọn
AMoral rules.
BSocial contract.
CUtilization
DIntellectual property
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Utilization". Nguyên tắc vị lợi lấy kết quả làm thước đo: một hành vi được coi là có đạo đức nếu nó tạo ra điều tốt cho xã hội, nghĩa là phải cân lợi với hại rồi chọn bên mang lại lợi ích chung lớn hơn. "Moral rules." lấy căn cứ là sự phù hợp với một nguyên lý đạo đức được mọi người thừa nhận, không xét tới hệ quả của hành vi. "Social contract." dựa vào thoả thuận chung của các thành viên trong xã hội về điều được làm và điều không được làm. "Intellectual property" không phải nguyên tắc phân xử hành vi mà là một chủ đề về quyền sở hữu đối với sản phẩm trí tuệ như phần mềm hay tác phẩm.
AMoral rules
BUtilization
CSocial contract
DNone of the other options are correct
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Moral rules". Nguyên tắc này xét hành vi bằng cách đối chiếu với một nguyên lý đạo đức được công nhận rộng rãi, kiểu không được dối gạt hay không được gây hại, và chính sự phù hợp đó quyết định hành vi có đạo đức hay không, bất kể hệ quả ra sao. "Utilization" phán xét bằng kết quả: hành vi tốt nếu đem lại điều tốt cho xã hội. "Social contract" dựa trên quy ước mà các thành viên trong xã hội cùng chấp nhận, nên căn cứ là sự đồng thuận chứ không phải một nguyên lý phổ quát. "None of the other options are correct" không dùng được, bởi mô tả trong câu dẫn khớp đúng với nguyên tắc quy tắc đạo đức.
Aconfidentiality
Bintegrity
Cavailability
DNone of these above
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "integrity". Tính toàn vẹn nghĩa là thông điệp phải đến đúng như lúc được gửi, không bị thêm, bớt hay sửa đổi dọc đường; đây chính là mục tiêu mà các cơ chế như hàm băm, mã xác thực thông điệp và chữ ký số phục vụ. "confidentiality" bảo vệ ở khía cạnh khác, là giữ nội dung kín với người không được phép, nên kẻ chặn được bản mã vẫn không đọc ra nghĩa nhưng có thể vẫn can thiệp được vào nội dung. "availability" nói về việc thông tin và dịch vụ luôn sẵn sàng cho người dùng hợp pháp, thứ bị phá bởi tấn công từ chối dịch vụ chứ không bởi hành vi sửa đổi. "None of these above" không dùng được, vì yêu cầu chống sửa đổi thông điệp đã có tên riêng là toàn vẹn.
AMachine Language
BHigh-Level Language
CAssembly Language
DSymbolic Language
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Machine Language". Thế hệ ngôn ngữ đầu tiên chính là ngôn ngữ máy: người lập trình viết trực tiếp các dãy bit mà bộ xử lý hiểu được, không cần bất cứ chương trình dịch nào ở giữa, đổi lại rất khó viết và khó sửa. "High-Level Language" ra đời muộn nhất trong nhóm này, dùng câu lệnh gần với tiếng Anh và phải nhờ trình biên dịch mới chạy được trên máy. "Assembly Language" là bước cải tiến tiếp sau ngôn ngữ máy, thay dãy bit bằng từ gợi nhớ nên vẫn cần trình hợp dịch chuyển về mã máy. "Symbolic Language" là tên gọi khác của chính hợp ngữ, nhấn vào việc dùng ký hiệu thay cho mã nhị phân, nên cũng xuất hiện sau ngôn ngữ máy.
AProcedural
BObject-oriented
CFunctional
DDeclarative
EMathematical
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Mathematical". Các mô thức ngôn ngữ lập trình được phân loại theo cách người viết diễn đạt lời giải, và không có mô thức nào mang tên toán học; toán học là nền tảng lý thuyết chung cho cả ngành chứ không phải một kiểu tổ chức chương trình. "Procedural" là mô thức thủ tục, chương trình là dãy lời gọi thủ tục tác động lên dữ liệu bị động. "Object-oriented" xem chương trình là tập các đối tượng chủ động, mỗi đối tượng mang theo dữ liệu và phương thức của mình. "Functional" dựng chương trình bằng cách kết hợp các hàm, nhấn vào giá trị trả về thay vì trạng thái bị thay đổi. "Declarative" chỉ khai báo sự kiện và luật rồi để hệ thống tự suy diễn ra câu trả lời, tiêu biểu là lập trình logic.
AProcedural paradigm
BObject-oriented paradigm
CFunctional paradigm
DDeclarative paradigm
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Procedural paradigm". Mô thức thủ tục nhìn chương trình như một tác nhân chủ động: chính chương trình phát ra hành động, còn dữ liệu là những đối tượng bị động, chỉ thay đổi khi bị thủ tục tác động lên. "Object-oriented paradigm" đảo lại cách nhìn đó, vì mỗi đối tượng tự mang hành vi của mình và phản ứng khi nhận thông điệp, nên không có bên nào thuần bị động. "Functional paradigm" coi chương trình là sự kết hợp của các hàm, nhấn vào việc biến đầu vào thành đầu ra chứ không vào quan hệ điều khiển giữa bên chủ động và bên bị động. "Declarative paradigm" không mô tả ai tác động lên ai: người viết chỉ nêu sự kiện và luật, còn bộ suy diễn tự tìm câu trả lời.
AAs a collection of active objects that react to stimuli
BAs a set of facts and rules to answer queries
CAs a series of function calls where the algorithm calls itself.
DAs a set of procedure calls, separating procedures from passive data objects
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "As a set of procedure calls, separating procedures from passive data objects". Trong mô thức thủ tục, chương trình được dựng thành các thủ tục gọi nhau, còn dữ liệu nằm tách biệt bên ngoài các thủ tục đó và chờ được truyền vào để xử lý; đúng cấu trúc mà những ngôn ngữ như C hay Pascal khuyến khích. "As a collection of active objects that react to stimuli" là cách tổ chức của mô thức hướng đối tượng, nơi dữ liệu và hành vi được gói chung trong một đối tượng. "As a set of facts and rules to answer queries" mô tả mô thức khai báo, chương trình là cơ sở sự kiện và luật để truy vấn. "As a series of function calls where the algorithm calls itself." chỉ nói về đệ quy, một kỹ thuật viết thuật toán dùng được trong nhiều mô thức chứ không phải cách cấu trúc chương trình thủ tục.
36Computers built on the Von Neumann model divide the computer hardware into _____subsystems4 lựa chọn
A3
B4
C5
D6
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "4". Mô hình von Neumann chia phần cứng máy tính thành bốn hệ con: bộ nhớ, đơn vị số học và logic, đơn vị điều khiển, cùng hệ vào ra; chương trình và dữ liệu đều nằm trong bộ nhớ, còn đơn vị điều khiển lần lượt nạp rồi thi hành từng lệnh. "3" thiếu một hệ con, thường do gộp hệ vào ra vào bộ nhớ hoặc gộp hai đơn vị bên trong bộ xử lý thành một. "5" đếm dư, chẳng hạn tách đường truyền dữ liệu hay nhóm thanh ghi ra thành hệ con riêng, nhưng đó là bộ phận nằm bên trong các hệ con đã kể. "6" càng dư hơn nữa và không khớp với cách phân chia của mô hình này.
ALeibnitz
Bvon Neumann
CPascal
DCharles Babbage
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "von Neumann". Máy tính hiện đại dựa trên mô hình von Neumann với hai ý cốt lõi: phần cứng chia thành bốn hệ con, và chương trình được lưu trong bộ nhớ cùng chỗ với dữ liệu để đơn vị điều khiển nạp từng lệnh ra thi hành. "Leibnitz" gắn với máy tính cơ khí làm được bốn phép tính, nhưng hoàn toàn không có khái niệm chương trình lưu trong bộ nhớ. "Pascal" chế ra máy cộng trừ bằng bánh răng, mỗi phép tính phải quay tay chứ không lập trình được. "Charles Babbage" đã hình dung ra máy phân tích với bộ phận tính và bộ phận lưu, một tiền thân rất quan trọng, song cách tổ chức mà máy tính ngày nay thực sự đi theo là mô hình chương trình lưu trong bộ nhớ được công bố sau đó.
ATransistors
BMicroprocessors
CIntegrated circuits
DHard disks
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Transistors". Thế hệ thứ hai thay đèn điện tử chân không bằng transistor bán dẫn: linh kiện nhỏ hơn nhiều, toả nhiệt ít, tiêu thụ điện thấp và bền hơn, nhờ đó máy gọn lại và chạy ổn định hơn hẳn. "Microprocessors" thuộc thế hệ thứ tư, khi cả bộ xử lý được dồn vào một chip duy nhất. "Integrated circuits" là dấu mốc của thế hệ thứ ba, gom nhiều transistor cùng mạch nối lên một phiến bán dẫn. "Hard disks" là thiết bị lưu trữ ngoài chứ không phải linh kiện dựng nên mạch logic của máy, nên không được dùng để đánh dấu thế hệ máy tính.
A4 KB
B2 KB
C1 KB
D6 KB
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "4 KB". Không gian địa chỉ chạy từ 0 tới 4095 nên tổng số ô được định địa chỉ là 4096, kể cả ô số 0; mỗi ô lưu 1 byte nên dung lượng là 4096 byte, và vì 1 KB bằng 2 luỹ thừa 10 tức 1024 byte, 4096 byte đúng bằng 4 KB. "2 KB" ứng với 2048 ô, nghĩa là địa chỉ cao nhất phải là 2047 chứ không phải 4095. "1 KB" ứng với 1024 ô, nhỏ hơn bốn lần không gian địa chỉ đã cho. "6 KB" bằng 6144 byte, không phải luỹ thừa của 2 nên không thể là kích thước của một không gian địa chỉ liền mạch đánh số từ 0.
ACache memory
BRAM
CRegisters
DHard disk
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Registers". Thanh ghi nằm ngay trong bộ xử lý và là nơi lệnh lấy toán hạng ra để tính, nên thời gian truy cập ngắn nhất trong toàn bộ cấp bậc bộ nhớ, đổi lại số lượng rất ít và dung lượng rất nhỏ. "Cache memory" đứng ngay dưới thanh ghi: nhanh hơn bộ nhớ chính nhưng mỗi lần dùng vẫn phải tra xem dữ liệu có nằm trong đó hay không, nên chậm hơn thanh ghi. "RAM" là bộ nhớ chính, dung lượng lớn và phải truy cập qua bus nên chậm hơn hẳn hai cấp trên. "Hard disk" là bộ nhớ ngoài với cơ cấu cơ học, thời gian truy cập lớn hơn tới nhiều bậc độ lớn.