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
284/359 câuCòn 75
AMultiply by 8
BDivide by 8
CMultiply by 2
DDivide by 2
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Multiply by 8". Với phần lẻ sau dấu phẩy, ta nhân phần lẻ với cơ số đích, lấy phần nguyên của kết quả làm chữ số kế tiếp rồi tiếp tục nhân phần lẻ còn lại; chuyển sang hệ tám nên cơ số là 8, và các chữ số thu được đọc theo đúng chiều từ lần nhân đầu tới lần nhân cuối. Phương án "Divide by 8" là thủ tục dành cho phần nguyên: chia liên tiếp cho 8 và ghi số dư, không áp dụng cho phần lẻ. Phương án "Multiply by 2" đúng cách làm nhưng sai cơ số, vì nhân 2 cho ra các chữ số của hệ hai. Phương án "Divide by 2" sai cả hai mặt: cơ số 2 không phải hệ tám, và phép chia dùng cho phần nguyên chứ không phải phần lẻ.
A65535
B65536
C404
D8080
E1023
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "65536". Số hiệu cổng trong bộ giao thức TCP/IP được lưu bằng 16 bit, nên khoảng hợp lệ là từ 0 tới 65535; giá trị 65536 vượt ra ngoài vì cần tới bit thứ mười bảy, không cổng nào mang số đó. Phương án "65535" là giá trị lớn nhất còn hợp lệ, đúng mốc trên của khoảng. Phương án "404" là một cổng hợp lệ, con số này chỉ dễ gây nhiễu vì trùng với mã trạng thái báo không tìm thấy trang của giao thức web. Phương án "8080" là cổng hợp lệ và rất hay dùng cho máy chủ web khi cổng 80 đã bị chiếm. Phương án "1023" cũng hợp lệ, nó là mốc cuối của nhóm cổng quen thuộc từ 0 tới 1023 vốn được dành cho các dịch vụ tiêu chuẩn.
267When inserting a new element into a sorted array, what must be done to maintain the sorted order?4 lựa chọn
AShift elements after the insertion point to create space
BShift all elements to the left to create space at the beginning
CReplace the last element with the new element
DReorganize the array into a linked list structure
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Shift elements after the insertion point to create space". Mảng chiếm một dải ô nhớ liền kề nên không có chỗ trống sẵn ở giữa; muốn chèn mà vẫn giữ thứ tự, ta tìm vị trí đúng rồi dịch mọi phần tử từ vị trí đó về sau sang phải một ô, bắt đầu dịch từ phần tử cuối để không ghi đè, sau đó đặt giá trị mới vào ô vừa trống. Phương án "Shift all elements to the left to create space at the beginning" không tạo được chỗ trống mà còn ghi đè phần tử đầu làm mất dữ liệu, và chỉ phục vụ việc chèn vào đầu. Phương án "Replace the last element with the new element" vừa xoá mất phần tử cuối vừa phá vỡ thứ tự nếu giá trị mới không phải lớn nhất. Phương án "Reorganize the array into a linked list structure" đổi hẳn kiểu cấu trúc dữ liệu, không phải việc cần làm để chèn.
A
PagingB
SwappingC
SegmentationD
FragmentationLời giải
Mở trang câu hỏi này →Đáp án đúng: "Paging". Phân trang chia bộ nhớ vật lý thành các khung có kích thước bằng nhau và cố định, chia chương trình thành các trang cùng kích thước ấy, rồi nạp trang vào khung bất kỳ còn rỗng; nhờ các khối bằng nhau, hệ điều hành không bị kẹt những lỗ trống lẻ không ai dùng được. Phương án "Swapping" nói về việc chuyển cả một tiến trình giữa bộ nhớ chính và đĩa để nhường chỗ, không phải cách chia bộ nhớ thành khối. Phương án "Segmentation" cũng chia nhưng theo từng đoạn logic như mã, dữ liệu, ngăn xếp, và các đoạn có kích thước khác nhau, trái với điều kiện kích thước cố định. Phương án "Fragmentation" là tên của hiện tượng phân mảnh, tức hệ quả phát sinh khi cấp phát bộ nhớ, chứ không phải một cơ chế cấp phát.
ABy writing a sequence of instructions to manipulate dat
BBy creating objects that encapsulate data and methods
CBy defining functions that transform data without side effects.
DBy stating facts and rules, allowing the system to use logical reasoning to answer queries
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "By stating facts and rules, allowing the system to use logical reasoning to answer queries". Lối khai báo đảo ngược cách nghĩ thường gặp: lập trình viên không mô tả các bước phải làm mà khai các sự kiện đã biết cùng những luật suy diễn, sau đó đặt câu hỏi và để bộ suy diễn của hệ thống tự tìm lời giải, như cách làm việc với ngôn ngữ Prolog. Phương án "By writing a sequence of instructions to manipulate dat" tả đúng lối mệnh lệnh và thủ tục, nơi trình tự các bước là trọng tâm. Phương án "By creating objects that encapsulate data and methods" là lối hướng đối tượng. Phương án "By defining functions that transform data without side effects." là lối hàm; nó cũng mang tinh thần khai báo nhưng đơn vị xây dựng là hàm biến đổi dữ liệu, không phải tập sự kiện và luật để suy diễn.
A11101110
B11001110
C11111110
D10110110
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "11101110". Phép hoặc loại trừ xét từng cặp bit cùng vị trí và cho 1 khi hai bit khác nhau, cho 0 khi giống nhau. Xếp 11010011 lên trên 00111101 rồi đi từ trái sang phải: 1 với 0 cho 1, 1 với 0 cho 1, 0 với 1 cho 1, 1 với 1 cho 0, 0 với 1 cho 1, 0 với 1 cho 1, 1 với 0 cho 1, 1 với 1 cho 0, thu được 11101110. Phương án "11001110" lệch ở bit thứ ba, nơi hai bit vào là 0 và 1 nên phải cho 1. Phương án "11111110" lệch ở bit thứ tư, nơi hai bit vào đều là 1 nên phải cho 0. Phương án "10110110" sai ngay từ bit thứ hai và còn giống kết quả của một cách ghép bit khác, không phải phép đang hỏi.
AHonesty in reporting data and respecting user privacy.
BSharing all user information publicly without consent to promote transparency.
CIgnoring software errors because fixing them costs time and money.
DUsing any means necessary to bypass security as long as it helps you learn.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Honesty in reporting data and respecting user privacy.". Đạo đức nghề nghiệp trong tin học đặt trọng tâm vào việc không bóp méo số liệu và bảo vệ dữ liệu của người khác, vì người làm nghề nắm quyền truy cập thông tin mà người dùng không tự kiểm soát được, nên trung thực và tôn trọng quyền riêng tư là hai cam kết nền tảng. Phương án "Sharing all user information publicly without consent to promote transparency." lấy minh bạch làm cớ để xâm phạm quyền riêng tư; minh bạch áp cho cách tổ chức hoạt động, không áp cho dữ liệu cá nhân của người dùng. Phương án "Ignoring software errors because fixing them costs time and money." đẩy rủi ro đã biết sang người dùng để tiết kiệm chi phí, trái trách nhiệm nghề nghiệp. Phương án "Using any means necessary to bypass security as long as it helps you learn." nhầm rằng mục đích học hỏi miễn trừ việc xâm nhập hệ thống không được phép.
A45
B46
C47
D48
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "45". Mã đối xứng dùng chung một khoá cho mỗi cặp bên giao tiếp, nên số khoá cần bằng số cặp khác nhau lấy từ 10 máy, tức 10 nhân 9 rồi chia 2 vì cặp gồm hai máy bị đếm hai lần, cho ra 45 khoá. Phương án "46" là 45 cộng thêm một khoá, có lẽ do cộng thêm một khoá dùng chung cho cả nhóm, nhưng khoá đó không gắn với cặp máy nào nên không thuộc số khoá tối thiểu. Phương án "47" dư hai khoá so với số cặp thực có; không có cách đếm cặp nào trên 10 máy cho ra con số này. Phương án "48" dư ba khoá, cũng không ứng với công thức nào; nếu quên chia đôi thì kết quả sẽ là 90, còn nếu tính thêm cả khoá tự nối với chính mình thì ra 55, không phải 48.
AProcesses voluntarily yield control of the CPU.
BThe scheduler forcibly takes control of the CPU from running processes.
CProcesses are executed in a round-robin manner only.
DIt is exclusively used in real-time operating systems.
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "The scheduler forcibly takes control of the CPU from running processes.". Đa nhiệm có trưng dụng nghĩa là hệ điều hành chủ động lấy lại bộ xử lý khi lượng thời gian cấp cho tiến trình hết hoặc khi có tiến trình ưu tiên cao hơn sẵn sàng, nhờ đó một tiến trình hỏng hay vòng lặp vô tận cũng không treo được cả máy. Phương án "Processes voluntarily yield control of the CPU." mô tả đa nhiệm hợp tác, đúng kiểu không trưng dụng, nơi hệ điều hành phải đợi tiến trình tự nhường. Phương án "Processes are executed in a round-robin manner only." sai ở chữ chỉ: quay vòng là một thuật toán định thời có trưng dụng, nhưng trưng dụng còn dùng với định thời theo ưu tiên hay theo thời gian còn lại ngắn nhất. Phương án "It is exclusively used in real-time operating systems." bó hẹp sai, vì mọi hệ điều hành đa nhiệm phổ thông hiện nay đều trưng dụng.
274Which programming paradigm emphasizes defining what should be computed rather than how it should be computed?4 lựa chọn
AFunctional programming
BImperative programming
CObject-oriented programming
DProcedural programming
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Functional programming". Trong bốn lựa chọn, lối hàm là lối duy nhất mang tinh thần khai báo: chương trình được viết bằng cách định nghĩa các hàm và biểu thức mô tả kết quả cần có, không phải bằng chuỗi lệnh thay đổi trạng thái theo thời gian, nên nó nhấn vào cái gì cần tính thay vì tính theo bước nào. Phương án "Imperative programming" chính là cực đối lập, vì chương trình ở đó là dãy lệnh lần lượt làm thay đổi biến và trạng thái máy, tức mô tả cách làm. Phương án "Object-oriented programming" tổ chức mã quanh các đối tượng gói dữ liệu cùng phương thức, nhưng thân mỗi phương thức vẫn viết theo lối ra lệnh từng bước. Phương án "Procedural programming" là một nhánh của lối mệnh lệnh, chỉ thêm việc chia chương trình thành các hàm con nên vẫn thuộc nhóm mô tả cách làm.
A1111100.01
B1111100.000001
C1111100.011001
D1111100.001001
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "1111100.000001". Phần nguyên 124 chia liên tiếp cho 2 cho dãy số dư đọc ngược là 1111100, kiểm lại bằng 64 cộng 32 cộng 16 cộng 8 cộng 4 đúng bằng 124. Phần lẻ 0,02 thì nhân liên tiếp với 2: năm lần đầu cho các giá trị 0,04 rồi 0,08 rồi 0,16 rồi 0,32 rồi 0,64 nên năm bit đầu đều là 0, lần thứ sáu cho 1,28 nên bit thứ sáu là 1, được 0,000001 tức 0,015625, xấp xỉ gần nhất. Phương án "1111100.01" có phần lẻ bằng 0,25, lệch hơn mười lần. Phương án "1111100.011001" có phần lẻ bằng 0,390625, lệch còn xa hơn nữa. Phương án "1111100.001001" có phần lẻ bằng 0,140625, vẫn lớn gấp bảy lần giá trị cần biểu diễn, do đặt sai bit 1 ở vị trí thứ ba.
AMantissa and Exponent
BReal and Imaginary
CSign and Magnitude
DBase and Variable
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Mantissa and Exponent". Biểu diễn dấu phẩy động tách một số thành phần định trị, tức các chữ số có nghĩa sau khi chuẩn hoá, và phần số mũ cho biết phải dịch dấu phẩy bao nhiêu nấc; nhờ cặp này mà cùng một số lượng bit biểu diễn được cả số rất lớn lẫn số rất nhỏ. Phương án "Real and Imaginary" là hai phần của số phức, thuộc toán học chứ không phải cách máy lưu số thực. Phương án "Sign and Magnitude" là một cách biểu diễn số nguyên có dấu; dấu cũng có mặt trong dấu phẩy động nhưng chỉ chiếm một bit phụ, còn cặp này không nói được gì về việc dịch dấu phẩy. Phương án "Base and Variable" không đúng vì cơ số là hằng số ngầm định của chuẩn, thường là 2, nên không được lưu, và biến không phải một thành phần của khuôn dạng số.
ABy creating laws to balance the two
BBy banning all data collection
CBy allowing unlimited commercial use of collected data
DBy ignoring the right to privacy
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "By creating laws to balance the two". Nhà nước không thể dẹp hẳn việc thu thập dữ liệu vì nhiều dịch vụ cần nó để hoạt động, cũng không thể buông hoàn toàn vì quyền riêng tư là quyền cơ bản, nên cách làm phổ biến là ban hành luật đặt điều kiện: thu thập phải có mục đích rõ, có sự đồng ý, có giới hạn lưu trữ và có quyền khiếu nại. Phương án "By banning all data collection" bất khả thi trên thực tế và sẽ chặn luôn cả những ứng dụng chính đáng như y tế hay giao thông. Phương án "By allowing unlimited commercial use of collected data" bỏ hẳn một phía của xung đột nên không còn là cách dung hoà. Phương án "By ignoring the right to privacy" là phủ nhận vấn đề thay vì xử lý nó, và trái với các văn bản pháp luật về bảo vệ dữ liệu đang có ở nhiều nước.
A1 and 255
B1 and 256
C0 and 255
D0 and 256
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "0 and 255". Tám bit tạo ra 2 luỹ thừa 8 bằng 256 mẫu bit khác nhau; nếu dùng toàn bộ chúng cho số nguyên không dấu thì mẫu nhỏ nhất gồm tám bit 0 biểu diễn giá trị 0 và mẫu lớn nhất gồm tám bit 1 biểu diễn 255, nên dải lưu được là từ 0 tới 255. Phương án "1 and 255" đúng mốc trên nhưng bỏ mất giá trị 0, trong khi 0 hoàn toàn biểu diễn được và vẫn là một số nguyên không dấu hợp lệ. Phương án "1 and 256" sai cả hai đầu: vừa bỏ mất 0 vừa thêm 256, con số cần tới chín bit. Phương án "0 and 256" nhầm số lượng mẫu bit với giá trị lớn nhất; có 256 mẫu nhưng vì đếm bắt đầu từ 0 nên giá trị cuối cùng chỉ là 255.
AA compiler translates the entire program before execution, while an interpreter translates one line at a time
BA compiler executes code line by line, while an interpreter translates the whole program at once
CA compiler does not check for errors, while an interpreter does
DA compiler continuously checks for errors line by line, while an interpreter does not, so an interpreter runs faster than a compiler
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "A compiler translates the entire program before execution, while an interpreter translates one line at a time". Trình biên dịch đọc toàn bộ mã nguồn, dịch thành mã máy rồi mới cho chạy, nên lỗi cú pháp lộ ra trước khi thi hành và chương trình đã dịch chạy nhanh; trình thông dịch đọc và thực hiện từng câu lệnh ngay lúc chạy, nên linh hoạt nhưng chậm hơn. Phương án "A compiler executes code line by line, while an interpreter translates the whole program at once" đổi chỗ vai trò của hai công cụ. Phương án "A compiler does not check for errors, while an interpreter does" sai hẳn, bởi kiểm tra cú pháp và kiểu dữ liệu chính là việc trình biên dịch làm trước tiên. Phương án "A compiler continuously checks for errors line by line, while an interpreter does not, so an interpreter runs faster than a compiler" sai cả mô tả lẫn kết luận về tốc độ.
A
lsB
psC
mvD
catLời giải
Mở trang câu hỏi này →Đáp án đúng: "ps". Lệnh này in danh sách tiến trình đang chạy cùng mã số và trạng thái của chúng, nhờ đó người dùng biết tiến trình nào tồn tại để theo dõi hay kết thúc, nên nó thuộc nhóm lệnh quản lý tiến trình trong UNIX. Phương án "ls" liệt kê nội dung thư mục, tức làm việc với hệ thống tệp chứ không dính tới tiến trình. Phương án "mv" di chuyển hoặc đổi tên tệp và thư mục, cũng là lệnh của hệ thống tệp. Phương án "cat" nối và in nội dung tệp ra đầu ra chuẩn, thường dùng để xem nhanh một tệp văn bản; nó đọc dữ liệu tĩnh trên đĩa, không cho biết gì về các chương trình đang thi hành trong bộ nhớ.
A25
B32
C27
D26
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "32". Mỗi chữ số hệ tám ứng với đúng ba bit, nên ta chia số nhị phân thành nhóm ba bit tính từ bên phải: nhóm phải là 010 cho chữ số 2, nhóm còn lại là 11 cho chữ số 3, ghép lại được 32. Kiểm lại theo hệ mười: số nhị phân này bằng 26, và 26 bằng 3 nhân 8 cộng 2, đúng là 32 trong hệ tám. Phương án "25" ứng với giá trị 2 nhân 8 cộng 5 bằng 21, không khớp. Phương án "27" ứng với 2 nhân 8 cộng 7 bằng 23, cũng lệch, và chữ số 7 đòi nhóm bit 111 vốn không có ở đây. Phương án "26" chính là giá trị thập phân của số đã cho nên rất dễ bị chọn theo quán tính, nhưng đề hỏi cách viết trong hệ tám chứ không hỏi giá trị thập phân.
A.jpg
B.svg
C.gif
D.mp4
Lời giải
Mở trang câu hỏi này →Đáp án đúng: ".svg". Ảnh vector được mô tả bằng các đối tượng hình học như đường, đa giác, đường cong cùng thuộc tính màu, nên phóng to bao nhiêu cũng không rỗ; khuôn dạng này lưu đúng kiểu mô tả đó dưới dạng văn bản đánh dấu, vì vậy nó là khuôn dạng vector quen dùng nhất trên web. Phương án ".jpg" là ảnh mành, lưu lưới điểm ảnh và nén có mất nên phóng to sẽ nhoè, thích hợp cho ảnh chụp. Phương án ".gif" cũng là ảnh mành, giới hạn bảng màu 256 màu và hỗ trợ hoạt ảnh đơn giản, vẫn không mô tả hình bằng công thức hình học. Phương án ".mp4" không phải khuôn dạng ảnh mà là khuôn dạng chứa video kèm âm thanh.
A-7
B7
C120
D134
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "134". Trong cách biểu diễn dư 127, trường số mũ không lưu trực tiếp số mũ thực mà lưu số mũ thực cộng với độ lệch 127, nhằm biến mọi số mũ, kể cả số mũ âm, thành số không dấu để so sánh dễ dàng. Số đã chuẩn hoá có số mũ thực là 7, nên trường số mũ mang giá trị 7 cộng 127 bằng 134. Phương án "-7" là số đối của số mũ thực, không liên quan tới cách lưu nào trong chuẩn này. Phương án "7" là chính số mũ thực khi chưa cộng độ lệch, tức bỏ qua đúng bước mà câu hỏi nhắm tới. Phương án "120" là kết quả của 127 trừ 7, tức trừ độ lệch thay vì cộng, một lỗi đổi dấu rất thường gặp khi mới học cách biểu diễn này.
AConcurrent execution of multiple processes
BEfficient utilization of system resources
CDynamic allocation of memory
DShared memory space among processes
Lời giải
Mở trang câu hỏi này →Đáp án đúng: "Efficient utilization of system resources". Phải nói thẳng rằng đây là một câu hỏng của đề gốc: lựa chọn này chỉ chốt được bằng loại trừ, chứ bản thân nó không đúng với đơn chương. Cả ba lựa chọn sai đều là đặc trưng của đa chương nên bị loại chắc chắn: "Concurrent execution of multiple processes" đòi nhiều tiến trình chạy đồng hành, điều đơn chương không làm được vì bộ nhớ chỉ giữ một chương trình người dùng; "Dynamic allocation of memory" là cấp phát động để nhiều chương trình chia nhau bộ nhớ; "Shared memory space among processes" cũng đòi nhiều tiến trình cùng tồn tại mới có gì để chia sẻ. Cần biết thêm rằng đơn chương thực ra dùng tài nguyên kém hiệu quả, bộ xử lý ngồi không mỗi lần chương trình chờ vào ra, và chính nhược điểm đó mới là lý do đa chương ra đời.