Câu hỏi: CSI106 Nhập môn khoa học máy tính – Bộ ôn tập cuối kỳ số 1
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
A8
B-0
C-7
D-8
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "-8". Với bốn bit bù hai, bit trái cùng mang trọng số âm nên mẫu 1000 có giá trị trừ 2 lũy thừa 3 cộng với 0, tức trừ 8; kiểm lại bằng quy tắc lấy bù hai cũng cho kết quả ấy, vì đảo bit của 1000 được 0111 rồi cộng 1 thành 1000, độ lớn là 8 và bit dấu cho biết đó là số âm. Giá trị "8" không biểu diễn được trên bốn bit bù hai, vì dải chỉ chạy từ trừ 8 đến 7 và mẫu lớn nhất 0111 đã là 7. Giá trị "-0" không tồn tại trong bù hai, số không chỉ có một mẫu duy nhất là 0000. Giá trị "-7" có mẫu 1001, khác mẫu đang được hỏi đúng một bit.
22When storing the unsigned integer 12 in an 8-bit memory location, why are leading zeros added?4 lựa chọn
ATo fill the memory location to its full capacity
BTo indicate the number is negative
CTo align the decimal point for floating-point representation
DTo compress the data for storage efficiency
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To fill the memory location to its full capacity". Số 12 ở hệ hai là 1100, chỉ chiếm bốn bit, nhưng ô nhớ 8 bit phải được điền đủ tám vị trí nên bốn chỗ trống bên trái được đặt bằng 0, cho mẫu 00001100; thêm số 0 vào bên trái không làm thay đổi giá trị nên đây chỉ là việc lấp cho đủ chỗ. Lý do "To indicate the number is negative" không thể đúng vì số nguyên không dấu không có bit dấu, và bit 0 ở đầu càng không biểu thị số âm. Lý do "To align the decimal point for floating-point representation" không liên quan, vì đây là số nguyên và không có phần lẻ nào cần căn. Lý do "To compress the data for storage efficiency" trái hẳn tác dụng, vì thêm bit là làm mẫu dài ra cho khớp kích thước ô nhớ chứ không nén.
23Computers use the_____language to process data4 lựa chọn
A
ProcessingB
KilobyteC
BinaryD
RepresentationalLời giải
Mở trang câu hỏi này →Đáp án đúng: "Binary". Máy tính được dựng từ các linh kiện chỉ phân biệt tin cậy hai trạng thái điện, có điện và không có điện, nên mọi dữ liệu dù là số, chữ, ảnh hay âm thanh đều phải mã về dãy bit 0 và 1 trước khi xử lý; đó là lý do hệ hai được gọi là ngôn ngữ của máy. Từ "Processing" chỉ hoạt động xử lý, nó không phải tên của một hệ biểu diễn hay một ngôn ngữ. Từ "Kilobyte" là đơn vị đo lượng dữ liệu, chỉ cho biết kích thước chứ không nói gì về cách mã hoá. Từ "Representational" không ứng với bất kỳ hệ biểu diễn nào trong máy tính, nó chỉ là một tính từ nói về việc biểu diễn.
ABase 2 (binary)
BBase 8 (octal)
CBase 10 (decimal)
DBase 16 (hexadecimal)
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Base 2 (binary)". Mạch điện tử chỉ giữ ổn định hai mức tín hiệu nên cơ số dùng để lưu và xử lý mọi dữ liệu bên trong máy là cơ số hai, mỗi chữ số ứng với một bit. Hệ "Base 8 (octal)" chỉ là cách viết gọn cho người đọc, mỗi chữ số thay cho ba bit, nhưng máy không lưu dữ liệu theo hệ này. Hệ "Base 10 (decimal)" là hệ của con người, muốn dùng trực tiếp thì linh kiện phải phân biệt được mười mức điện khác nhau, điều vừa khó làm vừa dễ nhiễu. Hệ "Base 16 (hexadecimal)" cũng chỉ là ký hiệu thuận tiện cho con người, mỗi chữ số thay cho bốn bit, thường thấy khi viết địa chỉ hay mã màu, nhưng bên trong máy vẫn là các bit.
AOne place to the left
BOne place to the right
CTwo places to the left
DTwo places to the right
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Two places to the left". Muốn cộng hai số viết dưới dạng dấu phẩy động thì hai số mũ phải bằng nhau, và quy tắc là kéo số mũ nhỏ lên cho bằng số mũ lớn. Ở đây số mũ nhỏ là 7, cần lên 9, tức tăng thêm 2; để giá trị của số không đổi thì phần định trị phải nhỏ đi một trăm lần, nghĩa là dấu phẩy dịch hai chỗ sang trái. Cách "One place to the left" đúng hướng nhưng chỉ bù được một đơn vị số mũ, hai số mũ vẫn còn lệch nhau một bậc. Cách "One place to the right" sai cả hướng lẫn số bước, vì dịch sang phải làm số mũ giảm còn 6 nên khoảng lệch rộng thêm. Cách "Two places to the right" đúng số bước nhưng ngược hướng, nó đưa số mũ từ 7 xuống 5 và càng xa 9.
A705,600 bits
B352,800 bits
C1,411,200 bits
D282,240 bits
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "705,600 bits". Mỗi giây lấy 44.100 mẫu, mỗi mẫu lưu bằng 16 bit, nên số bit cần cho một giây là 44.100 nhân 16, bằng 705.600 bit, tức khoảng 88,2 kilobyte cho một dòng tín hiệu. Con số "352,800 bits" là 44.100 nhân 8, ứng với độ sâu 8 bit mỗi mẫu chứ không phải 16 bit như đề cho. Con số "1,411,200 bits" gấp đôi kết quả đúng, nó là lượng bit của tín hiệu hai kênh âm thanh nổi, trong khi đề chỉ nói tới một tín hiệu được lấy mẫu. Con số "282,240 bits" không ứng với phép nhân nào của hai dữ kiện đã cho; muốn ra số đó thì mỗi mẫu phải chiếm 6,4 bit, một độ sâu bit không có thật.
A
AvailabilityB
ConfidentialityC
IntegrityD
EncryptionLời giải
Mở trang câu hỏi này →Đáp án đúng: "Availability". Mục tiêu sẵn dùng đòi dữ liệu và dịch vụ phải tới được tay người có quyền ngay khi họ cần; tình huống trong câu nói về việc nhân viên đã được cấp quyền phải đọc và cập nhật được dữ liệu mà không bị chậm trễ, nên đó đúng là mục tiêu sẵn dùng. Mục tiêu "Confidentiality" lo việc giữ kín dữ liệu trước người không có quyền, nó không nói gì tới việc người có quyền tiếp cận nhanh hay chậm. Mục tiêu "Integrity" lo việc dữ liệu không bị thay đổi sai lệch hay hỏng, tức tính đúng đắn của nội dung chứ không phải khả năng tiếp cận. Từ "Encryption" là một kỹ thuật bảo vệ, không phải một trong ba mục tiêu an toàn thông tin.
ATo keep data secret from unauthorized users.
BTo ensure data can be accessed by everyone for maximum transparency at all times regardless of user permission.
CTo allow users to modify data freely without any controls or logging.
DTo speed up encryption processes significantly even if it compromises data safety.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To keep data secret from unauthorized users." Tính bí mật nhằm bảo đảm chỉ người được phép mới đọc được nội dung, nên nó được thực hiện bằng kiểm soát truy cập và mã hoá; dữ liệu có bị chặn lấy trên đường truyền thì kẻ lấy cũng không hiểu được. Mục đích "To ensure data can be accessed by everyone for maximum transparency at all times regardless of user permission." trái hẳn, vì mở dữ liệu cho mọi người bất kể quyền hạn chính là phá tính bí mật. Mục đích "To allow users to modify data freely without any controls or logging." nói về quyền ghi không kiểm soát, nó phá tính toàn vẹn chứ cũng chẳng bảo vệ điều gì. Mục đích "To speed up encryption processes significantly even if it compromises data safety." lấy tốc độ đánh đổi an toàn, ngược với mục tiêu bảo vệ.
AThe same secret key for both operations.
BPublic and private keys exchanged via secured network to ensure trustworthiness.
CNo key at all.
DPublic and private keys.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The same secret key for both operations." Khi chỉ có một thông tin mật duy nhất điều khiển cả việc mã hoá lẫn việc giải mã thì đó là mật mã khoá đối xứng: hai bên dùng chung một khoá, bên gửi khoá lại bản tin và bên nhận mở ra bằng đúng khoá ấy. Cơ chế "Public and private keys exchanged via secured network to ensure trustworthiness." mô tả hệ bất đối xứng với hai khoá khác nhau, và hệ đó cũng không cần mạng an toàn để chuyển khoá công khai. Cơ chế "No key at all." thì không còn gì để kiểm soát ai đọc được bản tin, nên không phải một hệ mật mã. Cơ chế "Public and private keys." cũng là hệ bất đối xứng, ở đó khoá dùng để mã hoá khác khoá dùng để giải mã nên không khớp với mô tả một thông tin mật duy nhất.
AWhite Hat
BBlack Hat
CRed Hat
DGray Hat
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Red Hat". Nhóm tin tặc mũ đỏ tự nhận vai trừng phạt: thay vì báo lỗ hổng cho chủ hệ thống, họ phản công trực tiếp vào hạ tầng của kẻ tấn công, có thể làm tê liệt hoặc phá huỷ máy của đối tượng, nên hành động của họ nằm ngoài khuôn khổ hợp pháp dù nhắm vào kẻ xấu. Nhóm "White Hat" kiểm thử xâm nhập khi đã được chủ hệ thống cho phép và báo lại lỗ hổng để vá, họ không tấn công ai. Nhóm "Black Hat" chính là bên tấn công vì mục đích xấu, tức đối tượng bị phản công trong câu hỏi. Nhóm "Gray Hat" ở giữa hai thái cực, có thể dò lỗ hổng mà không xin phép nhưng không chủ trương đánh phá hệ thống của người khác.
AIt is slower for encrypting large messages.
BIt requires no keys but only lucky guesses to decrypt.
CIt can never be implemented on mobile devices.
DIt automatically deletes messages after 10 seconds to improve secrecy.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It is slower for encrypting large messages." Mật mã khoá bất đối xứng dựa trên các phép toán số học trên số rất lớn, như lũy thừa theo modulo, nên mỗi khối dữ liệu tốn nhiều tính toán hơn mật mã đối xứng tới hàng trăm lần; vì thế trong thực tế nó được dùng để trao khoá phiên hoặc để ký số, còn khối dữ liệu lớn thì giao cho thuật toán đối xứng. Nhận định "It requires no keys but only lucky guesses to decrypt." sai hoàn toàn, vì hệ này dùng một cặp khoá công khai và riêng, giải mã bằng khoá riêng chứ không bằng phỏng đoán. Nhận định "It can never be implemented on mobile devices." trái thực tế, điện thoại vẫn chạy các giao thức bảo mật web dùng chính loại mật mã này. Nhận định "It automatically deletes messages after 10 seconds to improve secrecy." nói về một tính năng của ứng dụng, không phải thuộc tính của thuật toán.
AIt structures programs as a sequence of instructions acting on passive data
BIt focuses on objects and their interactions
CIt defines functions based on mathematical logic
DIt allows programs to make decisions based on logical rules and focuses on objects
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It structures programs as a sequence of instructions acting on passive data". Trong mô thức thủ tục, chương trình là một dãy lệnh mà máy thi hành lần lượt, còn dữ liệu nằm riêng và thụ động chờ các lệnh hay thủ tục tác động lên; người viết phải mô tả từng bước cần làm nên đây là lối lập trình ra lệnh. Mô tả "It focuses on objects and their interactions" là của mô thức hướng đối tượng, nơi dữ liệu và các phép toán trên nó được gói chung trong đối tượng. Mô tả "It defines functions based on mathematical logic" là của mô thức hướng hàm, nơi chương trình là phép hợp của các hàm. Mô tả "It allows programs to make decisions based on logical rules and focuses on objects" trộn đặc trưng của mô thức khai báo logic với đặc trưng hướng đối tượng nên không ứng với mô thức nào.
33Java is a(n) _____ language.4 lựa chọn
Aprocedural
Bfunctional
Cdeclarative
Dobject-oriented
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "object-oriented". Trong Java mọi đoạn mã đều phải nằm trong một lớp, chương trình được dựng từ các đối tượng có trạng thái riêng và phương thức riêng, và ngôn ngữ hỗ trợ sẵn kế thừa, đóng gói cùng đa hình, đó đúng là bộ đặc trưng của mô thức hướng đối tượng. Nhãn "procedural" ứng với những ngôn ngữ như C hay Pascal, nơi đơn vị tổ chức là hàm và thủ tục chứ không phải lớp. Nhãn "functional" ứng với các ngôn ngữ coi chương trình là phép hợp của các hàm không trạng thái; Java chỉ vay một ít cú pháp hàm chứ không dựa trên nền ấy. Nhãn "declarative" ứng với kiểu ngôn ngữ chỉ khai báo sự kiện và luật rồi để máy suy diễn, còn Java buộc người viết chỉ rõ từng bước thi hành.
AIts value is copied to the subprogram
BIt is shared with the subprogram
CIt is modified by the subprogram
DIt is destroyed after the subprogram call
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Its value is copied to the subprogram". Khi truyền theo giá trị, hệ thống sao giá trị của biến thực tế vào tham số hình thức của chương trình con, nên chương trình con làm việc trên một bản sao nằm ở ô nhớ khác và mọi thay đổi bên trong chỉ tác động lên bản sao đó. Khả năng "It is shared with the subprogram" là đặc điểm của truyền theo tham chiếu, khi chương trình con nhận địa chỉ của biến gốc. Khả năng "It is modified by the subprogram" không xảy ra, vì sau khi chương trình con kết thúc thì biến ở chương trình chính vẫn giữ giá trị cũ. Khả năng "It is destroyed after the subprogram call" cũng không đúng, thứ bị giải phóng khi kết thúc lời gọi là bản sao cục bộ chứ không phải biến gốc.
AA class deriving properties from another class.
BProcedures calling other procedures in a program.
CA program interpreting each line of source code.
DUsing functions without side effects.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A class deriving properties from another class." Kế thừa là cơ chế cho một lớp con nhận lại thuộc tính và phương thức của lớp cha rồi bổ sung hoặc định nghĩa lại phần riêng, nhờ đó phần mô tả chung chỉ viết một lần và các lớp xếp được thành cây phân loại từ tổng quát đến cụ thể. Mô tả "Procedures calling other procedures in a program." chỉ là lời gọi thủ tục, chuyện thường ngày của lập trình thủ tục và không tạo ra quan hệ cha con giữa các kiểu. Mô tả "A program interpreting each line of source code." nói về cách thông dịch mã nguồn, thuộc chuyện dịch chương trình. Mô tả "Using functions without side effects." là đặc trưng của hàm thuần trong lập trình hàm, không liên quan tới quan hệ giữa các lớp.
36Which of the following statements is true in the context of different architectures of computers?4 lựa chọn
AProgramming in RISC is more difficult and time-consuming than in the other design
BProgramming in CISC is more difficult and time-consuming than in the other design
CThe strategy behind CISC architectures is to have a small set of instructions
DPrograms executed on RISC architecture tend to have more bugs because there are not enough instructions available for the programmer
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Programming in RISC is more difficult and time-consuming than in the other design". Kiến trúc tập lệnh thu gọn chỉ cung cấp một số ít lệnh rất đơn giản, nên một tác vụ phức tạp phải được ghép từ nhiều lệnh và gánh nặng ấy dồn sang người viết hợp ngữ hoặc trình biên dịch; kiến trúc tập lệnh phức hợp thì có sẵn những lệnh làm nhiều việc một lúc nên viết ngắn hơn. Nhận định "Programming in CISC is more difficult and time-consuming than in the other design" đảo ngược quan hệ vừa nêu. Nhận định "The strategy behind CISC architectures is to have a small set of instructions" gán chiến lược tập lệnh nhỏ cho bên sai, vì đó là chủ trương của kiến trúc thu gọn. Nhận định "Programs executed on RISC architecture tend to have more bugs because there are not enough instructions available for the programmer" suy diễn sai, vì tập lệnh nhỏ vẫn đủ sức biểu đạt mọi tính toán.
ATo define the hardware architecture.
BTo manage memory allocation.
CTo provide a set of instructions that dictates what to do with data
DTo establish communication protocols between devices
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "To provide a set of instructions that dictates what to do with data". Trong mô hình Turing, máy tính vạn năng nhận cả dữ liệu lẫn chương trình làm đầu vào, trong đó chương trình là tập lệnh nói cho máy biết phải làm gì với dữ liệu để sinh ra kết quả; chính việc đổi chương trình mà không phải đổi máy làm nên tính vạn năng. Vai trò "To define the hardware architecture." không thuộc chương trình, vì kiến trúc phần cứng do người thiết kế máy quyết định và đã cố định trước khi chương trình chạy. Vai trò "To manage memory allocation." là việc của hệ điều hành, bản thân nó cũng chỉ là một chương trình trong số nhiều chương trình. Vai trò "To establish communication protocols between devices" là việc của các giao thức truyền thông, không phải định nghĩa của chương trình.
ARegisters
BDecoder
CALU
DControl unit
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Registers". Thanh ghi là các ô nhớ rất nhanh nằm ngay trong bộ xử lý, dùng để giữ tạm lệnh đang được thi hành, địa chỉ của lệnh kế tiếp, toán hạng và kết quả trung gian, nhờ đó bộ xử lý không phải ra bộ nhớ chính cho từng bước nhỏ. Bộ phận "Decoder" chỉ dịch mã lệnh thành các tín hiệu điều khiển tương ứng, nó không lưu giữ gì. Bộ phận "ALU" thực hiện các phép tính số học và phép logic trên toán hạng được đưa tới, kết quả của nó lại được cất vào thanh ghi. Bộ phận "Control unit" điều phối hoạt động của các khối khác theo đúng nhịp, nó ra lệnh chứ không phải nơi chứa dữ liệu tạm.
A
ComputerB
ProgramC
AlgorithmD
DataLời giải
Mở trang câu hỏi này →Đáp án đúng: "Data". Một chương trình là tập lệnh mô tả những việc cần làm trên dữ liệu đầu vào để tạo ra dữ liệu đầu ra, nên đối tượng mà các lệnh tác động lên chính là dữ liệu; đây cũng là bộ ba đầu vào, chương trình và đầu ra của mô hình máy tính vạn năng. Từ "Computer" không hợp vì máy tính là cỗ máy thi hành chương trình, nó là bên thực thi chứ không phải thứ bị xử lý. Từ "Program" không hợp vì chính chương trình là tập lệnh đang được nói tới, nó không thể đồng thời là đối tượng mà các lệnh của nó tác động lên. Từ "Algorithm" chỉ cách giải một bài toán theo từng bước, còn chương trình là bản hiện thực của thuật toán bằng một ngôn ngữ cụ thể.
40Which type of memory is typically the fastest and used to temporarily store frequently accessed data?4 lựa chọn
AHard disk drive.
BCache memory.
CRandom Access Memory (RAM).
DRead Only Memory (ROM).
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Cache memory." Bộ nhớ đệm được xây bằng linh kiện nhanh và đặt rất gần bộ xử lý, nhiệm vụ của nó là giữ bản sao của những khối dữ liệu và lệnh vừa dùng hoặc được dùng nhiều, nhờ vậy lần truy cập sau không phải chờ bộ nhớ chính; trong các mức lưu trữ được nêu thì nó là mức nhanh nhất. Loại "Hard disk drive." là bộ nhớ ngoài, chậm hơn nhiều bậc và dùng để lưu lâu dài. Loại "Random Access Memory (RAM)." nhanh hơn đĩa nhưng vẫn chậm hơn bộ nhớ đệm, nó là nơi chứa toàn bộ chương trình và dữ liệu đang chạy. Loại "Read Only Memory (ROM)." chỉ đọc và giữ chương trình khởi động, nó không được dùng làm nơi đệm dữ liệu truy cập thường xuyên.