Câu hỏi: CSI106 Nhập môn khoa học máy tính – Bộ ôn tập cuối kỳ số 4
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 3/3 — câu 41–60.
Danh sách câu hỏi
60/60 câuHết danh sách
A[-35, -15, -10, 1, 5, 7, 12, 50]
B[-60, 37, 42, -63, 59, 53, -78, 57]
C[3, 1, 2]
D[1, 2, 3, 4, 5, 6, 7, 9, 0]
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "[-35, -15, -10, 1, 5, 7, 12, 50]". Tìm kiếm nhị phân chỉ chạy đúng khi danh sách đã được sắp thứ tự, vì mỗi bước nó so khoá với phần tử giữa rồi bỏ hẳn một nửa; danh sách được chọn tăng dần đều từ giá trị nhỏ nhất đến giá trị lớn nhất nên điều kiện được thoả. "[-60, 37, 42, -63, 59, 53, -78, 57]" không sắp thứ tự: ngay sau giá trị 42 đã tụt xuống số âm, nên việc loại nửa danh sách sẽ loại mất cả khoá cần tìm. "[3, 1, 2]" cũng không sắp, phần tử đầu lớn hơn hai phần tử đứng sau. "[1, 2, 3, 4, 5, 6, 7, 9, 0]" tăng dần cho tới 9 rồi đột ngột quay về 0 ở cuối; chỉ một chỗ sai thứ tự là đủ làm thuật toán kết luận sai, chẳng hạn khi tìm giá trị 0 nó sẽ bỏ ngay nửa sau.
42Each element in a record is called a(n) _____4 lựa chọn
A
CellB
WordC
ItemD
FieldLời giải
Mở trang câu hỏi này →Đáp án đúng: "Field". Bản ghi là tập hợp các thành phần có thể khác kiểu, và mỗi thành phần ấy được gọi là một trường; trường có tên riêng nên ta truy cập nó bằng tên thay vì bằng chỉ số như với mảng. Phương án "Cell" là thuật ngữ của bảng tính hay của bảng trong cơ sở dữ liệu, chỉ giao của một hàng và một cột, không phải tên gọi thành phần của bản ghi. Phương án "Word" là từ máy, đơn vị nhóm bit mà bộ xử lý xử lý một lần, thuộc tầng tổ chức bộ nhớ chứ không thuộc tầng cấu trúc dữ liệu. Phương án "Item" là từ chung chung để chỉ một phần tử bất kỳ của một tập dữ liệu, không phải tên gọi chuẩn cho thành phần của bản ghi.
AKeyboard
BMonitor
CMagnetic disk
DPrinter
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Magnetic disk". Đĩa từ là thiết bị lưu trữ nối với máy qua cổng vào ra và luồng dữ liệu đi theo cả hai chiều: máy ghi dữ liệu xuống đĩa và cũng đọc dữ liệu từ đĩa lên, nên nó được xếp vào nhóm thiết bị vào ra có chức năng lưu trữ. Thiết bị "Keyboard" chỉ đưa dữ liệu vào máy và không giữ lại gì, nó là thiết bị nhập thuần. Thiết bị "Monitor" chỉ trình bày kết quả cho người xem, dữ liệu đi một chiều ra khỏi máy và không được lưu lại. Thiết bị "Printer" cũng chỉ xuất, nó in kết quả ra giấy chứ không trả dữ liệu lại cho máy và không phải nơi lưu trữ đọc lại được.
AClass diagram
BSequence diagram
CActivity diagram
DState diagram
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Activity diagram". Lược đồ hoạt động vẽ dòng điều khiển bằng các nút hành động nối nhau bởi mũi tên, có nút quyết định để rẽ nhánh theo điều kiện và cho phép mũi tên quay lại để diễn tả vòng lặp, nên nó là lược đồ phù hợp nhất để mô tả logic bên trong một thuật toán. Phương án "Class diagram" chỉ mô tả cấu trúc tĩnh gồm các lớp, thuộc tính, phương thức và quan hệ giữa chúng, không diễn tả trình tự thi hành. Phương án "Sequence diagram" nhắm vào việc các đối tượng gửi thông điệp cho nhau theo thời gian; nó biểu diễn tương tác chứ không phải dòng điều khiển, và muốn vẽ vòng lặp phải mượn thêm khung đặc biệt. Phương án "State diagram" mô tả các trạng thái của một đối tượng và chuyển trạng thái theo sự kiện, góc nhìn khác hẳn.
A
FTPB
HTTPC
SMTPD
POP3Lời giải
Mở trang câu hỏi này →Đáp án đúng: "SMTP". Giao thức này chuyên việc chuyển thư từ máy khách lên máy chủ thư và giữa các máy chủ thư với nhau, tức lo chiều gửi đi của thư điện tử. Mục "FTP" là giao thức truyền tệp, dùng để tải tệp lên hoặc tải xuống giữa hai máy, không liên quan hộp thư. Mục "HTTP" là giao thức của web, dùng để lấy trang và tài nguyên từ máy chủ web; giao diện thư trên web chạy nhờ nó, nhưng khi thư thật sự rời đi thì phần dưới vẫn phải nhờ giao thức gửi thư. Mục "POP3" làm chiều ngược lại, nó cho máy khách lấy thư đã nằm trong hộp thư trên máy chủ về máy mình rồi thường xoá bản trên máy chủ, nên không dùng để gửi thư ra ngoài.
APacket-filtering firewall
BStateful inspection firewall
CProxy firewall
DNetwork address translation (NAT) firewall
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Proxy firewall". Tường lửa dạng proxy làm trung gian ở tầng ứng dụng: nó thay máy bên trong mở kết nối ra ngoài, đọc hiểu nội dung giao thức ứng dụng như yêu cầu web hay lệnh truyền tệp, nên lọc được theo luật đặc thù của từng ứng dụng, chẳng hạn chặn một đường dẫn hoặc một loại tệp. "Packet-filtering firewall" sai vì nó chỉ xét phần đầu của gói, dựa vào địa chỉ nguồn, địa chỉ đích và số hiệu cổng ở tầng mạng cùng tầng giao vận. "Stateful inspection firewall" sai vì nó theo dõi thêm trạng thái của từng kết nối để biết gói có thuộc phiên hợp lệ hay không, nhưng vẫn không đọc nội dung ứng dụng. "Network address translation (NAT) firewall" sai vì dịch địa chỉ mạng chủ yếu che và đổi địa chỉ, không phân tích dữ liệu ứng dụng.
AA relationship between two or more entity sets
BAn entity set that stores data about objects
CAn attribute that describes a property of an entity
DA constraint that enforces data integrity
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A relationship between two or more entity sets". Trong lược đồ thực thể liên kết, hình thoi là ký hiệu của một liên kết; nó được nối bằng đường thẳng tới các tập thực thể tham gia, và trên những đường nối đó người ta ghi bản số để cho biết quan hệ là một một, một nhiều hay nhiều nhiều. Phương án "An entity set that stores data about objects" dùng ký hiệu khác, tập thực thể được vẽ bằng hình chữ nhật. Phương án "An attribute that describes a property of an entity" cũng sai ký hiệu, vì thuộc tính được vẽ bằng hình ô van nối vào thực thể hay vào liên kết. Phương án "A constraint that enforces data integrity" không có hình riêng trong lược đồ này; ràng buộc được thể hiện qua bản số trên đường nối hoặc ghi kèm bằng chú giải.
AAn array defines attributes of an element, while a record defines a collection of similar elements
BAn array defines a combination of elements, while a record defines the identifiable parts (attributes) of a single element.
CArrays store data on disk, while records store data in main memory
DRecords can only store numerical data, while arrays store all data types.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "An array defines a combination of elements, while a record defines the identifiable parts (attributes) of a single element.". Mảng và bản ghi khác nhau ở chỗ gom cái gì: mảng là tập nhiều phần tử cùng kiểu, truy cập bằng chỉ số; bản ghi gom các thuộc tính có thể khác kiểu của cùng một đối tượng, truy cập bằng tên trường. "An array defines attributes of an element, while a record defines a collection of similar elements" sai vì nói ngược hai vai trò, gán việc mô tả thuộc tính cho mảng và việc gom phần tử đồng dạng cho bản ghi. "Arrays store data on disk, while records store data in main memory" sai vì cả hai đều là kiểu dữ liệu trong chương trình, nơi lưu trên đĩa hay trong bộ nhớ chính không phải tiêu chí phân biệt chúng. "Records can only store numerical data, while arrays store all data types." sai vì bản ghi sinh ra chính để chứa nhiều kiểu khác nhau, còn mảng mới là thứ đòi các phần tử phải cùng kiểu.
49What describes the hierarchical model?4 lựa chọn
AData is organized as a binary tree and each entity can have several children
BData is organized as a binary tree and each entity have only one children
CData is organized as an inverted tree and each entity can have several children
DData is organized as an inverted tree and each entity have only one child
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Data is organized as an inverted tree and each entity can have several children". Mô hình phân cấp xếp dữ liệu như một cái cây úp ngược: có một bản ghi gốc trên cùng, từ đó toả xuống các bản ghi con, mỗi thực thể được phép có nhiều con nhưng chỉ có đúng một cha, nên đường từ gốc tới một bản ghi là duy nhất. Mục "Data is organized as a binary tree and each entity can have several children" tự mâu thuẫn, cây nhị phân khống chế mỗi nút tối đa hai con, còn mô hình phân cấp không giới hạn như vậy. Mục "Data is organized as a binary tree and each entity have only one children" sai cả hai chỗ, vừa áp cây nhị phân vừa bó mỗi thực thể một con, lúc đó cấu trúc thành một chuỗi thẳng. Mục "Data is organized as an inverted tree and each entity have only one child" đúng hình dạng nhưng đặt giới hạn sai phía, ràng buộc chỉ một nằm ở phía cha chứ không ở phía con.
50Java 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.
AInsert, delete, update, select, join, union, intersection, and difference
BInsert, delete, update, select, project, union, intersection, and except
CInsert, delete, update, select, project, join, union, intersection, and difference
DInsert, delete, update, select, project, join, union, intersection, and except
ENone of the others
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Insert, delete, update, select, project, join, union, intersection, and difference". Đây đúng danh mục phép toán mà mô hình quan hệ định nghĩa: ba phép sửa đổi nội dung là chèn, xoá, cập nhật, và các phép sinh ra quan hệ mới gồm chọn hàng, chiếu cột, kết nối hai quan hệ, hợp, giao và hiệu. Phương án "Insert, delete, update, select, join, union, intersection, and difference" thiếu phép chiếu, tức phép rút ra một số cột, nên danh sách không đủ. Phương án "Insert, delete, update, select, project, union, intersection, and except" thiếu phép kết nối, phép quan trọng nhất để ghép dữ liệu từ hai quan hệ. Phương án "Insert, delete, update, select, project, join, union, intersection, and except" đủ số phép nhưng gọi phép hiệu bằng tên của câu lệnh truy vấn thay vì tên trong đại số quan hệ. Phương án "None of the others" không dùng được vì đã có một danh sách khớp.
ABatch operating system
BSingle-user operating system
CDistributed system
DReal-time system.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Real-time system." Hệ thời gian thực là hệ phải hoàn tất công việc trong khoảng thời gian đã ấn định, vì kết quả đến muộn thì mất giá trị hoặc gây nguy hiểm; điều khiển đèn giao thông hay theo dõi bệnh nhân đúng là loại việc mà hạn chót tính bằng phần giây. Loại "Batch operating system" gom các công việc cùng loại thành lô rồi chạy lần lượt, người dùng nộp việc rồi chờ, không có ràng buộc hạn chót cho từng việc. Loại "Single-user operating system" chỉ nói tới việc hệ phục vụ một người dùng mỗi lúc, đó là tiêu chí phân loại khác hẳn. Loại "Distributed system" nói tới việc công việc được chia cho nhiều máy nối mạng phối hợp, bản thân điều đó không bao hàm ràng buộc thời gian.
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.
ASocial relationships among users
BConnections between computers
CSorting the list of friends on social media
DDisplaying data structures
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Social relationships among users". Khi mô hình hoá một mạng xã hội bằng đồ thị, mỗi đỉnh là một người dùng và mỗi cạnh là một quan hệ giữa hai người, chẳng hạn kết bạn hay theo dõi; nhờ cách biểu diễn này, các bài toán như gợi ý người quen hay đo khoảng cách giữa hai người trở thành bài toán trên đồ thị. Phương án "Connections between computers" là một ứng dụng khác của đồ thị, nơi đỉnh là máy và cạnh là đường truyền, không phải ngữ cảnh mạng xã hội mà câu dẫn nêu. Phương án "Sorting the list of friends on social media" nói về việc sắp xếp, vốn là nhiệm vụ của thuật toán chứ không phải thứ mà đồ thị biểu diễn. Phương án "Displaying data structures" nhầm vai trò: đồ thị tự nó là một cấu trúc dữ liệu, không phải công cụ để trình bày cấu trúc dữ liệu.
ARunning a word processor
BControlling embedded systems like autopilots
CBrowsing the Internet
DEditing videos
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Controlling embedded systems like autopilots". Hệ điều hành thời gian thực được thiết kế để bảo đảm công việc hoàn tất trong khoảng thời gian xác định trước, vì vậy nó dùng cho các hệ nhúng điều khiển thiết bị, nơi trả lời chậm vài phần nghìn giây có thể gây tai nạn. Mục "Running a word processor" là ứng dụng tương tác bình thường, trễ vài trăm phần nghìn giây người dùng không hề thấy hậu quả. Mục "Browsing the Internet" phụ thuộc độ trễ mạng vốn không kiểm soát được, nên chẳng thể và chẳng cần ràng buộc hạn thời gian chặt. Mục "Editing videos" cần nhiều sức tính và dung lượng, nhưng chịu được việc chờ kết xuất, nên hệ điều hành đa dụng là đủ.
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
WaterfallB
SpiralC
AgileD
PrototypeLời giải
Mở trang câu hỏi này →Đáp án đúng: "Waterfall". Mô hình thác nước chạy một chiều: phân tích xong mới sang thiết kế, thiết kế xong mới cài đặt, mỗi pha chỉ bắt đầu khi pha trước đã kết thúc trọn vẹn và không quay lui. "Spiral" lặp lại cả chuỗi pha qua nhiều vòng, mỗi vòng mở rộng sản phẩm và đánh giá rủi ro, nên các pha được làm lại nhiều lần. "Agile" chia việc thành nhiều chu kỳ ngắn, trong một chu kỳ vẫn vừa phân tích vừa viết mã vừa kiểm thử và chấp nhận yêu cầu thay đổi giữa đường. "Prototype" cố ý dựng bản mẫu nhanh cho người dùng xem rồi dựa vào phản hồi mà làm lại, tức quay về pha trước thay vì khoá pha đó lại.
58A table is in the Third Normal Form (3NF) if:4 lựa chọn
AIt is in 1NF and 2NF, and all transitive dependencies are removed.
BIt contains no null values in any column.
CIt is free of duplicate rows and has a primary key.
DAll foreign key constraints are enforced.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "It is in 1NF and 2NF, and all transitive dependencies are removed.". Dạng chuẩn ba đòi quan hệ đã đạt hai dạng chuẩn trước, rồi loại thêm phụ thuộc bắc cầu, tức trường hợp một thuộc tính không khoá lại xác định một thuộc tính không khoá khác; tách phần phụ thuộc đó ra bảng riêng giúp dữ liệu không bị lặp và không sinh dị thường khi sửa. Phương án "It contains no null values in any column." không phải điều kiện của chuẩn hoá, giá trị rỗng vẫn được phép tồn tại trong bảng đã ở dạng chuẩn ba. Phương án "It is free of duplicate rows and has a primary key." chỉ nhắc lại tính chất cơ bản của một quan hệ, mức yêu cầu thấp hơn nhiều. Phương án "All foreign key constraints are enforced." nói về toàn vẹn tham chiếu, một chuyện khác với việc loại bỏ phụ thuộc hàm dư thừa.
59What is the main idea of ethical principles?4 lựa chọn
APeople should avoid redundancy in coding
BPeople should build systems with high performance
CPeople should avoid doing harmful things for society
DPeople should innovate modern technologies regardless of all consequences
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "People should avoid doing harmful things for society". Cốt lõi của các nguyên tắc đạo đức là giới hạn hành vi theo hậu quả gây ra cho người khác: người làm nghề phải cân nhắc tác động của sản phẩm mình tạo ra lên cộng đồng và tránh những việc gây tổn hại, dù việc đó có lợi cho cá nhân hay tổ chức mình. Phương án "People should avoid redundancy in coding" là một lời khuyên kỹ thuật về chất lượng mã nguồn, không mang nội dung đạo đức. Phương án "People should build systems with high performance" cũng là mục tiêu kỹ thuật, và một hệ thống nhanh vẫn có thể gây hại. Phương án "People should innovate modern technologies regardless of all consequences" trái hẳn tinh thần đạo đức vì nó loại bỏ đúng cái mà đạo đức đòi phải xét, là hậu quả của việc mình làm.
60Which phase of the software lifecycle is primarily concerned with coding and programming?4 lựa chọn
AAnalysis phase
BDesign phase
CImplementation phase
DTesting phase
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Implementation phase". Pha cài đặt là lúc bản thiết kế được biến thành mã nguồn: lập trình viên chọn ngôn ngữ, viết các module theo cấu trúc đã thiết kế, rồi dịch và chạy thử sơ bộ. "Analysis phase" sai vì pha phân tích làm việc với yêu cầu, nó trả lời hệ thống phải làm gì chứ không viết dòng mã nào. "Design phase" sai vì pha thiết kế quyết định cách làm ở mức cấu trúc, chia module và định nghĩa giao diện giữa chúng, nhưng vẫn chưa sinh ra mã chạy được. "Testing phase" sai vì pha kiểm thử dùng mã đã viết xong để tìm lỗi, bằng cách thử theo cấu trúc bên trong và thử theo yêu cầu bên ngoài; nó tiêu thụ sản phẩm của pha cài đặt chứ không tạo ra sản phẩm ấy.