CSI106Chưa đoKỳ 1Cơ sở ngành Cập nhật 2 ngày trước
Introduction to Computer Science - CSI106
359Câu hỏi
8Bộ đề
13Chủ đề
Câu hỏi của môn
304/359 câuCòn 55
A
DesignB
TestingC
AnalysisD
ImplementationLời giải
Mở trang câu hỏi này →Đáp án đúng: "Analysis". Pha phân tích là nơi người làm hệ thống đi hiểu miền bài toán: nghiệp vụ hiện tại diễn ra thế nào, ai tham gia, dữ liệu nào xuất hiện, hệ thống mới phải làm được những gì; kết quả là mô hình mô tả yêu cầu, chưa chứa quyết định kỹ thuật nào. Phương án "Design" đi sau, lấy mô hình yêu cầu đó làm đầu vào để quyết cấu trúc module, cấu trúc dữ liệu và thuật toán, tức chuyển từ bài toán sang giải pháp. Phương án "Testing" là pha kiểm thử, đối chiếu sản phẩm đã có với yêu cầu đã chốt nên không thể là nơi lần đầu phân tích miền bài toán. Phương án "Implementation" là pha viết mã, chỉ hiện thực những gì đã phân tích và thiết kế xong trước đó.
AThe user’s interaction with the system
BThe movement of data within the system
CThe relationships between entities in a database
DThe sequence of events in a process
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The user’s interaction with the system". Lược đồ ca sử dụng vẽ các tác nhân bên ngoài cùng những ca sử dụng mà họ thực hiện, nên nó trả lời ai dùng hệ thống và dùng để làm gì, tức mô tả ranh giới hệ thống và các cách người dùng tương tác với nó, chưa nói gì về cấu trúc hay thuật toán bên trong. Phương án "The movement of data within the system" là việc của lược đồ luồng dữ liệu bên lối phân tích hướng thủ tục. Phương án "The relationships between entities in a database" thuộc lược đồ thực thể liên kết dùng khi thiết kế cơ sở dữ liệu. Phương án "The sequence of events in a process" gần với lược đồ tuần tự hay lược đồ hoạt động, những lược đồ mô tả diễn biến theo thời gian, khác mục đích của lược đồ ca sử dụng.
A0111 0111 . 0000 1010 . 0000 0010 . 0000 1000
B0111 0110 . 0000 1010 . 0000 0010 . 0000 1000
C0111 0111 . 0000 1010 . 0000 0010 . 0000 0100
D0111 0111 . 10 . 0000 0010 . 0000 1000
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "0111 0111 . 0000 1010 . 0000 0010 . 0000 1000". Địa chỉ dạng này gồm bốn byte, mỗi byte viết bằng đúng tám bit: 119 bằng 64 cộng 32 cộng 16 cộng 4 cộng 2 cộng 1 nên là 0111 0111; 10 bằng 8 cộng 2 nên là 0000 1010; 2 là 0000 0010; 8 là 0000 1000. Phương án "0111 0110 . 0000 1010 . 0000 0010 . 0000 1000" sai byte đầu, vì mẫu bit đó ứng với 118 chứ không phải 119. Phương án "0111 0111 . 0000 1010 . 0000 0010 . 0000 0100" sai byte cuối, vì mẫu bit đó ứng với 4. Phương án "0111 0111 . 10 . 0000 0010 . 0000 1000" viết byte thứ hai chỉ bằng hai bit; cách viết nhị phân của địa chỉ buộc giữ đủ tám bit mỗi byte kể cả các bit 0 ở đầu.
AOnly mathematical operators.
BPunctuation, blank, newline, and tab
COnly programming language keywords
DOnly special graphical symbols.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Punctuation, blank, newline, and tab". Bảng mã ký tự không chỉ chứa chữ và số: nó còn phải mã hoá các dấu câu, ký tự dấu cách và những ký tự điều khiển như xuống dòng hay tab, bởi văn bản thật cần cả cách ngắt từ và ngắt dòng mới đọc được. Phương án "Only mathematical operators." bó hẹp sai ở chữ chỉ, vì các dấu phép toán chỉ là một phần nhỏ và bỏ sót toàn bộ nhóm dấu câu cùng ký tự điều khiển. Phương án "Only programming language keywords" nhầm tầng khái niệm: từ khoá là các chuỗi ghép từ chữ cái đã có sẵn, không phải một nhóm ký hiệu riêng trong bảng mã. Phương án "Only special graphical symbols." cũng chỉ nêu một nhóm hẹp và bỏ qua dấu cách lẫn ký tự xuống dòng, hai thứ xuất hiện trong gần như mọi tệp văn bản.
AArray
BRecord
CLinked List
DQueue
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Record". Bản ghi là cấu trúc gom nhiều trường có thể khác kiểu vào một đơn vị dữ liệu, chẳng hạn một bản ghi sinh viên gồm chuỗi tên, số nguyên tuổi và số thực điểm; các trường được truy cập bằng tên nên kiểu của chúng không cần giống nhau. Phương án "Array" đòi mọi phần tử cùng một kiểu và cùng kích thước, vì nhờ vậy máy mới tính được địa chỉ phần tử theo chỉ số. Phương án "Linked List" là dãy các nút cùng kiểu nối nhau bằng con trỏ, điểm khác biệt của nó nằm ở cách lưu rời rạc trong bộ nhớ chứ không phải việc trộn nhiều kiểu. Phương án "Queue" là cấu trúc quy định thứ tự vào trước ra trước, phần tử trong nó thường vẫn cùng một kiểu.
290In a two-dimensional array stored using row-major order, how are elements stored in memory?4 lựa chọn
AAn entire row of an array is stored before the next row
BAn entire column of an array is stored before the next column
CElements are stored randomly
DRows and columns are stored simultaneously
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "An entire row of an array is stored before the next row". Bộ nhớ là một dãy ô địa chỉ liên tiếp, nên mảng hai chiều phải được dàn phẳng thành một chiều; cách lưu theo hàng xếp hết các phần tử của hàng thứ nhất, rồi mới tới hàng thứ hai, nhờ vậy địa chỉ một phần tử tính được bằng địa chỉ đầu cộng số hàng đã qua nhân số cột rồi cộng chỉ số cột. Phương án "An entire column of an array is stored before the next column" mô tả cách lưu theo cột, cách mà một số ngôn ngữ khác dùng, nên không phải nghĩa của lưu theo hàng. Phương án "Elements are stored randomly" không thể đúng, vì khi đó máy không còn công thức nào để tính địa chỉ từ chỉ số. Phương án "Rows and columns are stored simultaneously" bất khả thi với bộ nhớ tuyến tính một chiều.
291When performing an in-order traversal on a Binary Search Tree (BST), what is the correct sequence of nodes visited?6 lựa chọn
ARoot, Left, Right
BLeft, Root, Right
CRight, Root, Left
DLeft, Right, Root
ERight, Left, Root
FRoot, Right, Left
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Left, Root, Right". Duyệt giữa đi xuống cây con bên trái cho tới hết, thăm gốc, rồi mới sang cây con bên phải. Trên cây tìm kiếm nhị phân, mọi khoá bên trái một nút đều nhỏ hơn nút đó và mọi khoá bên phải đều lớn hơn, nên đúng thứ tự này cho ra dãy khoá tăng dần, đó là lý do người ta dùng nó để lấy dữ liệu đã sắp xếp. Phương án "Root, Left, Right" là duyệt trước. Phương án "Left, Right, Root" là duyệt sau, dùng khi cần xử lý con trước cha như khi giải phóng cây. Phương án "Right, Root, Left" là bản phản chiếu của duyệt giữa, cho dãy khoá giảm dần. Phương án "Right, Left, Root" là bản phản chiếu của duyệt sau. Phương án "Root, Right, Left" là bản phản chiếu của duyệt trước; cả ba bản phản chiếu đều không phải định nghĩa của duyệt giữa.
292What is the binary equivalent of (24C)16 ?4 lựa chọn
A(1100010010)2
B(0100101010)2
C(1000101100)2
D(1001001100)2
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "(1001001100)2". Mỗi chữ số hệ mười sáu ứng với đúng bốn bit, nên ta đổi riêng từng chữ số: chữ số 2 thành 0010, chữ số 4 thành 0100, chữ số cuối mang giá trị 12 thành 1100; ghép theo đúng thứ tự được 0010 0100 1100, bỏ hai bit 0 không mang giá trị ở đầu thì còn 1001001100. Phương án "(1100010010)2" tách từ phải thành các nhóm 0010, 0001 và 11, tức ứng với 312 trong hệ mười sáu, không phải số đã cho. Phương án "(0100101010)2" tách ra các nhóm 1010, 0010 và 01, ứng với 12A, cũng lệch. Phương án "(1000101100)2" chỉ sai ở nhóm giữa, nơi nó cho 0010 thay vì 0100, nên ứng với 22C; đây là lỗi dễ mắc khi đổi nhầm một chữ số trong lúc nhẩm.
293Each 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.
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.
295When designing a database using an E-R(Entity-Relationship) diagram, what does a diamond shape typically represent?4 lựa chọn
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.
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.
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.
298A 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.
299What 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.
A12
B14
C8
D10
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "12". Mô hình thác nước cho các pha chạy nối tiếp, pha sau chỉ bắt đầu khi pha trước kết thúc, nên tổng thời gian bằng số pha nhân thời gian mỗi pha. Câu dẫn liệt kê sáu pha gồm phân tích yêu cầu, thiết kế, hiện thực, kiểm thử, lập tài liệu và đánh giá; sáu pha nhân hai tuần cho 12 tuần. Phương án "14" ứng với bảy pha, tức đếm thêm một pha không có trong danh sách. Phương án "8" ứng với bốn pha, bỏ sót hai pha, thường do quên lập tài liệu và đánh giá. Phương án "10" ứng với năm pha, bỏ sót một pha; con số này chỉ đúng nếu các pha được chồng lấn hay gộp lại, nhưng câu dẫn đã nói rõ là không có chồng lấn.
ASource code
BUser documentation
CSoftware architecture diagram
DRequirements specification document
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Requirements specification document". Pha phân tích trong vòng đời phát triển hệ thống đi tìm hiểu hệ thống phải làm gì cho ai, nên kết quả chính của nó là tài liệu đặc tả yêu cầu: bản ghi đầy đủ các yêu cầu chức năng và phi chức năng, trở thành căn cứ ràng buộc cho mọi pha về sau và cho cả việc kiểm thử. Phương án "Source code" là sản phẩm của pha hiện thực, chỉ viết được sau khi đã thiết kế xong. Phương án "User documentation" là tài liệu hướng dẫn cho người dùng cuối, sinh ra ở giai đoạn cuối khi hệ thống đã chạy được. Phương án "Software architecture diagram" thuộc pha thiết kế, vì sơ đồ kiến trúc trả lời câu hỏi hệ thống được tổ chức thế nào, còn phân tích chỉ trả lời hệ thống cần làm gì.
302During the design phase, what distinguishes procedure-oriented design from object-oriented design?4 lựa chọn
AProcedure-oriented design organizes the system around data, while object-oriented design organizes it around procedures.
BProcedure-oriented design organizes the system around procedures, while object-oriented design organizes it around objects.
CProcedure-oriented design uses classes, while object-oriented design uses functions.
DProcedure-oriented design is used only in Agile methodologies.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Procedure-oriented design organizes the system around procedures, while object-oriented design organizes it around objects.". Thiết kế hướng thủ tục chia hệ thống thành các hàm xử lý, dữ liệu được truyền qua lại giữa chúng; thiết kế hướng đối tượng thì gom dữ liệu cùng những hành vi tác động lên chính dữ liệu đó vào một đối tượng, và hệ thống là tập các đối tượng trao đổi thông điệp. Phương án "Procedure-oriented design organizes the system around data, while object-oriented design organizes it around procedures." đảo ngược đúng hai cách tổ chức. Phương án "Procedure-oriented design uses classes, while object-oriented design uses functions." cũng sai chiều, vì lớp là khái niệm của hướng đối tượng. Phương án "Procedure-oriented design is used only in Agile methodologies." lẫn hai thứ khác loại: Agile là quy trình phát triển, không quy định kiểu thiết kế, và lối thiết kế hướng thủ tục có từ rất lâu trước Agile.
A
AbstractionB
EncapsulationC
ModularityD
InheritanceLời giải
Mở trang câu hỏi này →Đáp án đúng: "Modularity". Tính mô-đun là nguyên tắc chia hệ thống lớn thành các khối nhỏ, mỗi khối có nhiệm vụ rõ ràng và giao diện xác định, nhờ đó mỗi khối có thể được hiểu, viết, kiểm thử và bảo trì gần như độc lập với phần còn lại. Phương án "Abstraction" là trừu tượng hoá: che chi tiết bên trong và chỉ phơi ra những gì cần biết để dùng, nó làm giảm độ phức tạp khi nhìn một đơn vị chứ không phải việc chia hệ thống thành nhiều đơn vị. Phương án "Encapsulation" là đóng gói dữ liệu cùng phương thức và chặn truy cập trực tiếp vào trạng thái bên trong, đó là tính chất của một đơn vị đã có. Phương án "Inheritance" là kế thừa, cơ chế để lớp con dùng lại và mở rộng lớp cha, phục vụ tái dùng mã chứ không phải phân rã hệ thống.
304Which of the following is NOT a component of the ACID properties in database transactions?4 lựa chọn
A
AtomicityB
ConsistencyC
IntegrityD
DurabilityLời giải
Mở trang câu hỏi này →Đáp án đúng: "Integrity". Bốn tính chất ACID của giao dịch là Atomicity, Consistency, Isolation và Durability; chữ thứ ba là Isolation, nghĩa là các giao dịch chạy đồng thời không thấy trạng thái dở dang của nhau. Phương án "Atomicity" nằm trong ACID: giao dịch thực hiện trọn vẹn hoặc không có gì xảy ra. Phương án "Consistency" cũng nằm trong ACID: giao dịch đưa cơ sở dữ liệu từ một trạng thái hợp lệ sang trạng thái hợp lệ khác. Phương án "Durability" là tính bền: kết quả đã xác nhận không mất dù hệ thống sập ngay sau đó. Còn "Integrity" là tính toàn vẹn dữ liệu nói chung, được bảo đảm bằng các ràng buộc khoá, kiểu và quy tắc nghiệp vụ, nên nó là mục tiêu chung của cơ sở dữ liệu chứ không phải một chữ trong ACID.