Danh sách câu hỏi của đề

Câu hỏi: CSI106 Nhập môn khoa học máy tính – Bộ ôn tập cuối kỳ số 3

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
A1110 0000
B0001 1111
C1110 0111
D0000 0111
Lời giải
Đáp án đúng: "1110 0000". Muốn bật ba bit ngoài cùng bên trái lên 1 mà không làm xáo trộn các bit còn lại, ta lấy mẫu gốc OR với một mặt nạ có đúng ba bit cao bằng 1 và năm bit thấp bằng 0, vì OR với 1 luôn cho 1 còn OR với 0 giữ nguyên bit cũ. Áp dụng với 1010 0111 thì kết quả là 1110 0111, đúng như mong muốn. Phương án "0001 1111" làm ngược: ba bit cao bằng 0 nên không bật được chúng, trong khi năm bit thấp lại bị ép thành 1. Phương án "1110 0111" có ba bit cao đúng nhưng ba bit thấp bằng 1 sẽ bật thêm những bit đáng ra phải để nguyên, nên nó là kết quả chứ không phải mặt nạ. Phương án "0000 0111" chỉ tác động vào ba bit thấp và không chạm tới ba bit cao cần bật.
Mở trang câu hỏi này →
Abitmap
Bvector
Cquantized
Dbinary
Lời giải
Đáp án đúng: "bitmap". Ảnh dạng bitmap được lưu thành một lưới điểm ảnh với màu của từng điểm, nên số điểm là cố định; khi phóng to, máy phải nhân bản hoặc nội suy điểm ảnh, làm mép hình thành bậc răng cưa và chi tiết trông vỡ hạt. Phương án "vector" ngược lại: ảnh được mô tả bằng các đối tượng hình học cùng tham số, nên phóng ở tỉ lệ nào cũng vẽ lại mịn mà không mất nét. Phương án "quantized" không phải một phương pháp biểu diễn ảnh; lượng tử hoá là bước làm tròn giá trị mẫu thành một tập mức hữu hạn trong quá trình số hoá tín hiệu. Phương án "binary" nói về dạng mã hoá chung của mọi dữ liệu trong máy, cả ảnh bitmap lẫn ảnh vector đều được lưu dưới dạng nhị phân, nên nó không phân biệt được hai cách biểu diễn.
Mở trang câu hỏi này →
A3072 kbps
B3072 bps
C12 kbps
D12 bps
Lời giải
Đáp án đúng: "3072 kbps". Tốc độ bit của âm thanh số hoá bằng tần số lấy mẫu nhân với số bit mỗi mẫu. Ở đây tần số lấy mẫu là 192 kHz, tức 192 000 mẫu mỗi giây, mỗi mẫu dùng 16 bit, nên mỗi giây sinh ra 192 000 nhân 16 bằng 3 072 000 bit, viết gọn là 3072 kbps. Phương án "3072 bps" đúng con số nhưng sai đơn vị một nghìn lần: 3072 bit mỗi giây còn chưa đủ cho một kênh thoại chất lượng thấp. Phương án "12 kbps" là kết quả của phép chia 192 cho 16 thay vì nhân, tức làm sai bản chất công thức. Phương án "12 bps" sai cả phép tính lẫn đơn vị, cho ra một tốc độ nhỏ đến mức vô nghĩa với âm thanh.
Mở trang câu hỏi này →
AOperations that change the data type of a bit pattern.
BOperations that apply the same basic operation on individual bits of a pattern, or on two corresponding bits in two patterns.
COperations that physically move bit patterns between memory locations.
DOperations that perform mathematical calculations on entire bit patterns as a whole
Lời giải
Đáp án đúng: "Operations that apply the same basic operation on individual bits of a pattern, or on two corresponding bits in two patterns.". Các phép logic như NOT, AND, OR, XOR làm việc ở mức từng bit: NOT đảo mỗi bit của một mẫu, còn AND, OR, XOR ghép từng cặp bit cùng vị trí của hai mẫu, và kết quả tại một vị trí không phụ thuộc các vị trí khác. Phương án "Operations that change the data type of a bit pattern." nói về việc diễn giải lại mẫu bit ở mức ngôn ngữ lập trình, không phải một phép tính trên bit. Phương án "Operations that physically move bit patterns between memory locations." mô tả các lệnh nạp và chuyển dữ liệu, chúng dịch chuyển nội dung chứ không biến đổi nó. Phương án "Operations that perform mathematical calculations on entire bit patterns as a whole" là phép số học: nó coi mẫu bit như một con số và có nhớ lan từ bit thấp lên bit cao, khác hẳn tính độc lập theo từng bit của phép logic.
Mở trang câu hỏi này →
AThe left shift operation is used to divide an integer by two
BThe right shift operation is used to multiply an integer by two
CThe left shift operation is used to multiply an integer by two
DNone of the other options are correct
Lời giải
Đáp án đúng: "The left shift operation is used to multiply an integer by two". Trong biểu diễn nhị phân, trọng số của mỗi vị trí là một lũy thừa của hai, nên dịch toàn bộ mẫu bit sang trái một vị trí và thêm 0 vào bên phải sẽ làm mỗi bit mang trọng số gấp đôi, tức giá trị của số nhân hai, miễn là không bị tràn. Phương án "The left shift operation is used to divide an integer by two" nhận đúng phép dịch nhưng gán sai tác dụng, vì dịch trái làm số lớn lên chứ không nhỏ đi. Phương án "The right shift operation is used to multiply an integer by two" cũng lộn chiều: dịch phải hạ trọng số của từng bit, nên tương ứng với phép chia hai, và bit bị đẩy ra ngoài chính là phần dư bị bỏ. Phương án "None of the other options are correct" không thể chọn, vì đã có một phát biểu nêu đúng quan hệ giữa dịch trái và phép nhân hai.
Mở trang câu hỏi này →
AConverting audio into hexadecimal format
BCapturing discrete values of the sound wave at regular intervals
CCompressing the audio file
DEncoding text metadata for audio
Lời giải
Đáp án đúng: "Capturing discrete values of the sound wave at regular intervals". Âm thanh là tín hiệu biến đổi liên tục theo thời gian, còn máy tính chỉ lưu được các con số rời rạc; lấy mẫu là bước đo biên độ của sóng tại những thời điểm cách nhau đều đặn, số lần đo mỗi giây chính là tần số lấy mẫu. Phương án "Converting audio into hexadecimal format" chỉ nói về cách viết lại dữ liệu đã có theo cơ số mười sáu, không hề là việc rời rạc hoá tín hiệu. Phương án "Compressing the audio file" là nén, một bước làm sau khi đã số hoá nhằm giảm dung lượng bằng cách bỏ phần dư thừa hoặc phần tai người ít nhận ra. Phương án "Encoding text metadata for audio" chỉ là ghi kèm thông tin mô tả như tên bài hay tên người trình bày, chẳng liên quan gì tới bản thân dạng sóng.
Mở trang câu hỏi này →
ATo impersonate another entity
BTo delay or delete messages
CTo replay a previously sent message
DTo deny sending or receiving a message
Lời giải
Đáp án đúng: "To impersonate another entity". Tấn công giả danh xảy ra khi kẻ tấn công tự nhận mình là một thực thể khác, chẳng hạn dùng danh tính hoặc địa chỉ của người dùng hợp lệ, để được cấp quyền và thực hiện hành động dưới tên người đó; vì vậy nó là đòn tấn công vào xác thực và danh tính. Phương án "To delay or delete messages" mô tả việc làm chậm hoặc xoá thông điệp, đó là tấn công vào tính khả dụng và tính toàn vẹn của luồng tin, không dính tới danh tính. Phương án "To replay a previously sent message" là tấn công phát lại: ghi lại một thông điệp hợp lệ rồi gửi lần nữa để lặp lại hiệu lực của nó. Phương án "To deny sending or receiving a message" là sự phủ nhận, khi một bên chối đã gửi hoặc đã nhận, và biện pháp chống lại nó là chống phủ nhận bằng chữ ký số.
Mở trang câu hỏi này →
A0101
B1010
C0011
D1100
Lời giải
Đáp án đúng: "0101". Theo quy ước đã cho, dấu phẩy là chữ số 0 và dấu chấm là chữ số 1, nên chỉ cần đọc các dấu câu theo đúng thứ tự xuất hiện trong thông điệp. Trong câu đã cho, dấu phẩy sau human cho 0, dấu chấm sau student cho 1, dấu phẩy sau hard cho 0, dấu chấm cuối cùng cho 1, ghép lại thành 0101. Phương án "1010" là kết quả của việc đảo ngược quy ước, coi dấu phẩy là 1 và dấu chấm là 0. Phương án "0011" đến từ việc gom hai dấu phẩy lại rồi mới xét hai dấu chấm, làm mất trình tự xuất hiện thật trong câu, trong khi thông tin ẩn nằm đúng ở trình tự đó. Phương án "1100" vừa đảo quy ước vừa gộp nhóm, nên sai cả hai mặt.
Mở trang câu hỏi này →
AEnhancing system performance
BFraud and manipulation of data, leading to financial loss
CInstalling new, unauthorized software.
DProviding free services to customers
Lời giải
Đáp án đúng: "Fraud and manipulation of data, leading to financial loss". Với một tổ chức tài chính, dữ liệu chính là tiền: sửa số dư, chỉnh bản ghi giao dịch hay tạo lệnh chuyển khoản giả đều biến đổi trực tiếp thành thiệt hại vật chất, cộng thêm mất uy tín và chi phí khắc phục, nên đây là tổn hại điển hình mà kẻ xâm nhập gây ra. Phương án "Enhancing system performance" nói về việc hệ thống chạy tốt hơn, điều đó không phải thiệt hại nên không trả lời được câu hỏi. Phương án "Installing new, unauthorized software." đúng là một hành vi xâm nhập, nhưng nó là phương tiện mở đường như cài cửa hậu hay mã độc, chứ chưa phải tổn hại cuối cùng mà tổ chức phải chịu. Phương án "Providing free services to customers" mô tả một chính sách kinh doanh, không phải hậu quả của tấn công.
Mở trang câu hỏi này →
AHackers who infiltrate computer networks with negative motives, such as monetary gain or reputation building
BHackers who track down black hat hackers and work to stop their activities
CHackers whose actions are often driven by revenge or personal agendas
DHackers who expose large datasets online for the public good
Lời giải
Đáp án đúng: "Hackers who track down black hat hackers and work to stop their activities". Trong cách phân loại theo màu mũ, mũ đỏ là nhóm chủ động truy đuổi và vô hiệu hoá kẻ tấn công mũ đen, thậm chí phản công vào hạ tầng của chúng, tức hành động vì mục đích chặn tội phạm nhưng theo cách cứng rắn và thường vượt khuôn khổ cho phép. Phương án "Hackers who infiltrate computer networks with negative motives, such as monetary gain or reputation building" là định nghĩa của mũ đen, chính đối tượng mà mũ đỏ nhắm vào. Phương án "Hackers whose actions are often driven by revenge or personal agendas" mô tả động cơ tư thù cá nhân, thường được gán cho mũ xanh lam, khác hẳn mục đích triệt hạ tội phạm. Phương án "Hackers who expose large datasets online for the public good" gần với kiểu hành động vì lý tưởng hoặc tố giác, còn mũ đỏ không công bố dữ liệu mà tấn công vào chính kẻ gây hại.
Mở trang câu hỏi này →
31What is a green hat hacker?5 lựa chọn
AGreen Hat is a bad guy
BGreen hat will find and destroy black hat hacker
CGreen hat is someone who just wants to learn to hack
DGreen hat will find and destroy white hat hacker
ENone of the others
Lời giải
Đáp án đúng: "Green hat is someone who just wants to learn to hack". Mũ xanh lá chỉ người mới bước vào lĩnh vực này: chưa có kỹ năng đáng kể, đang học hỏi công cụ và kỹ thuật, nên đặc điểm nhận dạng của họ là trình độ và ý muốn học, không phải mục đích thiện hay ác. Phương án "Green Hat is a bad guy" gán cho họ bản chất xấu, điều mà cách phân loại này không nói; kẻ tấn công vì mục đích xấu là mũ đen. Phương án "Green hat will find and destroy black hat hacker" là việc của mũ đỏ, nhóm có đủ năng lực truy đuổi kẻ tấn công. Phương án "Green hat will find and destroy white hat hacker" không ứng với nhóm nào, vì mũ trắng là người kiểm thử bảo mật hợp pháp và không ai được định nghĩa bằng việc triệt hạ họ. Phương án "None of the others" không chọn được vì đã có một mô tả đúng.
Mở trang câu hỏi này →
AIt directly executes the high-level code
BIt translates high-level code into machine language all at once
CIt translates and executes the code line by line
DIt optimizes the code for better performance
Lời giải
Đáp án đúng: "It translates high-level code into machine language all at once". Trình biên dịch đọc toàn bộ chương trình nguồn, kiểm tra cú pháp và ngữ nghĩa, rồi sinh ra mã máy cho cả chương trình trong một lần dịch; sau đó tệp kết quả chạy độc lập mà không cần tới trình biên dịch nữa. Phương án "It directly executes the high-level code" mô tả việc chạy thẳng mã nguồn, đó là vai của trình thông dịch hoặc máy ảo, còn trình biên dịch chỉ dịch rồi dừng. Phương án "It translates and executes the code line by line" chính là cách làm việc của trình thông dịch: dịch và chạy từng câu lệnh, nên lỗi chỉ lộ ra khi chạy tới dòng đó. Phương án "It optimizes the code for better performance" nói về một pha tuỳ chọn bên trong quá trình dịch; tối ưu là việc kèm thêm, không phải chức năng định danh của trình biên dịch.
Mở trang câu hỏi này →
33What is the main role of a compiler?4 lựa chọn
ATranslate source code into machine code
BOptimize hardware performance
CTranslate binary code into assembly
DExecute source code directly
Lời giải
Đáp án đúng: "Translate source code into machine code". Nhiệm vụ cốt lõi của trình biên dịch là chuyển chương trình viết bằng ngôn ngữ con người đọc được thành các lệnh mà bộ xử lý thực hiện trực tiếp, đi qua các bước phân tích từ vựng, phân tích cú pháp, phân tích ngữ nghĩa rồi sinh mã. Phương án "Optimize hardware performance" nhắm vào phần cứng, trong khi trình biên dịch chỉ làm việc với mã; nó có thể sinh mã tốt hơn nhưng không điều chỉnh thiết bị. Phương án "Translate binary code into assembly" là chiều ngược lại, công việc của trình dịch ngược dùng khi phân tích mã đã biên dịch. Phương án "Execute source code directly" là việc của trình thông dịch; trình biên dịch tạo ra tệp mã máy rồi kết thúc, việc chạy tệp đó là chuyện của hệ điều hành.
Mở trang câu hỏi này →
AFunctions and data are separate entities with no direct relationship.
BFunctions operate directly on data passed to them as parameters.
CFunctions encapsulate both data and behavior.
DData and functions are globally shared without restrictions.
Lời giải
Đáp án đúng: "Functions operate directly on data passed to them as parameters.". Trong mô hình lập trình thủ tục, chương trình là tập các hàm thực hiện từng nhiệm vụ, còn dữ liệu nằm riêng và được đưa vào hàm qua tham số; hàm nhận dữ liệu, biến đổi nó rồi trả kết quả, nên quan hệ giữa hàm và dữ liệu là quan hệ xử lý trực tiếp. Phương án "Functions and data are separate entities with no direct relationship." đúng ở chỗ hai thứ tách rời, nhưng sai khi nói không có quan hệ trực tiếp, vì hàm chính là thứ tác động lên dữ liệu đó. Phương án "Functions encapsulate both data and behavior." mô tả đối tượng trong mô hình hướng đối tượng, nơi dữ liệu và phương thức nằm cùng một gói. Phương án "Data and functions are globally shared without restrictions." biến một kỹ thuật dễ gây lỗi thành đặc trưng của mô hình, trong khi lập trình thủ tục vẫn có biến cục bộ và truyền tham số để giới hạn phạm vi.
Mở trang câu hỏi này →
AWeb development
BWriting operating systems
CPerforming mathematical and data analysis tasks
DBuilding relational databases
Lời giải
Đáp án đúng: "Performing mathematical and data analysis tasks". Lập trình hàm coi việc tính toán là áp dụng hàm lên giá trị, tránh trạng thái thay đổi và tác dụng phụ, nên mã rất gần cách viết công thức toán, dễ suy luận đúng sai và dễ chạy song song; vì vậy nó mạnh ở các bài toán tính toán, biến đổi và phân tích dữ liệu. Phương án "Web development" là việc làm được nhưng không phải thế mạnh định danh, lĩnh vực này lâu nay do các ngôn ngữ thủ tục và hướng đối tượng cùng bộ khung của chúng chiếm phần lớn. Phương án "Writing operating systems" cần kiểm soát bộ nhớ, thanh ghi và thiết bị ở mức rất thấp, đó là đất của ngôn ngữ hệ thống như hợp ngữ hoặc C. Phương án "Building relational databases" thuộc về mô hình khai báo với ngôn ngữ truy vấn chuyên dụng, không phải điểm mạnh của lập trình hàm.
Mở trang câu hỏi này →
AThe processor and the memory
BThe input data and the program
CThe hardware and the software
DThe control unit and the I/O
Lời giải
Đáp án đúng: "The input data and the program". Mô hình Turing nhìn máy tính như một hộp nhận hai thứ làm đầu vào rồi sinh ra đầu ra: dữ liệu cần xử lý, và chương trình quy định phải xử lý thế nào. Giữ nguyên dữ liệu mà đổi chương trình thì ra kết quả khác, giữ nguyên chương trình mà đổi dữ liệu cũng ra kết quả khác, nên đầu ra phụ thuộc đúng vào cặp này. Phương án "The processor and the memory" kể tên các bộ phận thực hiện công việc; chúng là nơi chương trình chạy chứ không phải hai yếu tố quyết định nội dung đầu ra. Phương án "The hardware and the software" nói quá chung, gộp cả dữ liệu vào cùng một chỗ nên làm mất chính sự phân biệt mà mô hình muốn nhấn mạnh. Phương án "The control unit and the I/O" là chi tiết kiến trúc bên trong máy thật, không thuộc mức mô tả của mô hình Turing.
Mở trang câu hỏi này →
AA machine capable of performing multiple tasks simultaneously
BA machine processing data with external programming
CA universal computational device using a program and data
DA machine limited to performing simple arithmetic operations
Lời giải
Đáp án đúng: "A universal computational device using a program and data". Điểm mới của mô hình Turing là cả chương trình lẫn dữ liệu đều là đầu vào, nên cùng một cỗ máy có thể làm bất kỳ việc nào chỉ bằng cách nạp chương trình tương ứng; đó chính là ý nghĩa của từ vạn năng. Phương án "A machine processing data with external programming" mô tả máy chuyên dụng, nơi chức năng gắn cứng bên ngoài vào mạch và chỉ dữ liệu được đưa vào; đây là mô hình có trước Turing, và chính việc bỏ cách đó đi mới làm nên bước nhảy. Phương án "A machine capable of performing multiple tasks simultaneously" nói về chạy nhiều việc cùng lúc, một chuyện thuộc tổ chức phần cứng và hệ điều hành mà mô hình Turing không đề cập. Phương án "A machine limited to performing simple arithmetic operations" ngược hẳn tinh thần của mô hình, vì giá trị cốt lõi của nó nằm ở tính vạn năng chứ không phải ở một nhóm phép tính hẹp.
Mở trang câu hỏi này →
AA model that includes hardware, software, and data
BA mathematical model of computation that defines what can be computed
CA hardware-centric architecture for data processing
DA model emphasizing the interaction between users and computers
Lời giải
Đáp án đúng: "A mathematical model of computation that defines what can be computed". Turing không mô tả một cỗ máy cụ thể mà đưa ra một mô hình trừu tượng của quá trình tính toán, nhờ đó xác định được đâu là bài toán có thể giải bằng giải thuật và đâu là bài toán không thể, bất kể máy móc sau này nhanh tới đâu. Phương án "A model that includes hardware, software, and data" liệt kê các thành phần của một máy tính thực, đó là cách nhìn vào cấu tạo thiết bị chứ không phải một mô hình tính toán. Phương án "A hardware-centric architecture for data processing" đặt trọng tâm vào phần cứng, trong khi mô hình Turing cố ý không phụ thuộc vào cách hiện thực vật lý. Phương án "A model emphasizing the interaction between users and computers" thuộc lĩnh vực tương tác người và máy, hoàn toàn khác mục tiêu lý thuyết tính toán.
Mở trang câu hỏi này →
A20% of the data is accessed 80% of the time
B80% of the data is accessed 20% of the time
C20% of the date is computed 80% of the time
D80% of the data is computed 20% of the time
Lời giải
Đáp án đúng: "20% of the data is accessed 80% of the time". Quy tắc 80-20 diễn tả tính cục bộ của truy cập: chỉ một phần nhỏ dữ liệu được dùng tới rất nhiều lần, nên chỉ cần giữ khoảng một phần năm dữ liệu nóng trong bộ nhớ đệm là đã phục vụ được phần lớn số lượt truy cập, và đó là lý do một cache dung lượng nhỏ nhưng rất nhanh lại hiệu quả. Phương án "80% of the data is accessed 20% of the time" nhìn vào phần dữ liệu lạnh, nên dù nói về cùng hiện tượng thì nó không nêu được điều có ích là phần nào đáng đưa vào cache. Phương án "20% of the date is computed 80% of the time" dùng từ sai bản chất, vì cache quan tâm tới số lượt truy cập dữ liệu, không phải số lần tính toán. Phương án "80% of the data is computed 20% of the time" sai cả tỉ lệ nhấn mạnh lẫn cách dùng từ, nên không diễn tả được quy tắc này.
Mở trang câu hỏi này →
ASSD
BRAM
CCPU Cache
DRegisters
Lời giải
Đáp án đúng: "SSD". Ổ thể rắn lưu dữ liệu trong các ô nhớ flash giữ được trạng thái mà không cần nguồn điện, nên khi tắt máy nội dung vẫn còn, đúng nghĩa bộ lưu trữ không khả biến. Phương án "RAM" là bộ nhớ chính, dùng tụ hoặc mạch cần nguồn để giữ trạng thái, nên mất toàn bộ nội dung ngay khi cắt điện; nó chỉ là nơi làm việc tạm thời của chương trình đang chạy. Phương án "CPU Cache" là bộ nhớ đệm nằm sát bộ xử lý, làm bằng mạch tĩnh rất nhanh nhưng cũng khả biến và lại chỉ giữ bản sao tạm của dữ liệu đang được dùng. Phương án "Registers" là các thanh ghi bên trong bộ xử lý, mức nhớ nhanh nhất và nhỏ nhất, cũng mất sạch nội dung khi mất nguồn nên không dùng để lưu trữ lâu dài.
Mở trang câu hỏi này →