Chuyên gia máy tính
Kiểm tra mẫu chương trình thạc sĩ
Bạn sẽ được yêu cầu hoàn thành một bài kiểm tra thực tế như là một phần của quy trình đăng ký của bạn.
Mục đích của bài kiểm tra ngắn này là để đánh giá khả năng của bạn để giải quyết các vấn đề lập trình cơ bản bằng ngôn ngữ bạn chọn.
Viết các giải pháp của bạn bằng Java nếu bạn quen thuộc với ngôn ngữ đó; mặt khác, sử dụng một trong các ngôn ngữ sau: C, C ++ hoặc C #. Đối với mỗi vấn đề dưới đây, hãy viết giải pháp đơn giản nhất, rõ ràng nhất bạn có thể, dưới dạng một chương trình ngắn.
MẪU THỬ
- Một mảng có số phần tử lẻ được gọi là trung tâm nếu tất cả các phần tử (trừ phần tử ở giữa) lớn hơn giá trị của phần tử ở giữa. Lưu ý rằng chỉ các mảng có số phần tử lẻ có phần tử ở giữa. Viết hàm chấp nhận một mảng số nguyên và trả về 1 nếu nó là một mảng ở giữa, nếu không nó sẽ trả về 0.
Ví dụ:
nếu mảng đầu vào là | trở lại |
{1, 2, 3, 4, 5} | 0 (phần tử ở giữa 3 không hoàn toàn nhỏ hơn tất cả các phần tử khác) |
{3, 2, 1, 4, 5} | 1 (phần tử ở giữa 1 hoàn toàn ít hơn tất cả các phần tử khác) |
{3, 2, 1, 4, 1} | 0 (phần tử ở giữa 1 không hoàn toàn nhỏ hơn tất cả các phần tử khác) |
{1, 2, 3, 4} | 0 (không có phần tử ở giữa) |
{} | 0 (không có phần tử ở giữa) |
10 {} | 1 (phần tử ở giữa 10 hoàn toàn ít hơn tất cả các phần tử khác) |
Xem câu trả lời đúng cho các câu hỏi mẫu.
- Viết hàm lấy một mảng các số nguyên làm đối số và trả về giá trị dựa trên tổng của các số chẵn và số lẻ trong mảng. Đặt X = tổng các số lẻ trong mảng và cho Y = tổng các số chẵn. Hàm sẽ trả về X - Y
Chữ ký của hàm là:
int f (int [] a)
Các ví dụ
nếu mảng đầu vào là | trở lại |
1 {} | 1 |
{1, 2} | -1 |
{1, 2, 3} | 2 |
{1, 2, 3, 4} | -2 |
{3, 3, 4, 4} | -2 |
{3, 2, 3, 4} | 0 |
{4, 1, 2, 3} | -2 |
{1, 1} | 2 |
{} | 0 |
Xem câu trả lời đúng cho các câu hỏi mẫu.
- Viết hàm chấp nhận một mảng ký tự, vị trí bắt đầu dựa trên số không và độ dài. Nó sẽ trả về một mảng ký tự có chứa chiều dàicác ký tự bắt đầu bằng Bắt đầuký tự của mảng đầu vào. Hàm nên kiểm tra lỗi ở vị trí bắt đầu và độ dài và trả về null nếu giá trị này không hợp pháp.
Chữ ký hàm là:
char [] f (char [] a, int start, int len)
Các ví dụ
nếu tham số đầu vào là | trở lại |
{'a', 'b', 'c'}, 0, 4 | vô giá trị |
{'a', 'b', 'c'}, 0, 3 | {'a', 'b', 'c'} |
{'a', 'b', 'c'}, 0, 2 | {'a', 'b'} |
{'a', 'b', 'c'}, 0, 1 | {'a'} |
{'a', 'b', 'c'}, 1, 3 | vô giá trị |
{'a', 'b', 'c'}, 1, 2 | {'b', 'c'} |
{'a', 'b', 'c'}, 1, 1 | {'b'} |
{'a', 'b', 'c'}, 2, 2 | vô giá trị |
{'a', 'b', 'c'}, 2, 1 | {'c'} |
{'a', 'b', 'c'}, 3, 1 | vô giá trị |
{'a', 'b', 'c'}, 1, 0 | {} |
{'a', 'b', 'c'}, -1, 2 | vô giá trị |
{'a', 'b', 'c'}, -1, -2 | vô giá trị |
{}, 0, 1 | vô giá trị |
Xem câu trả lời đúng cho các câu hỏi mẫu.
- Viết hàm để đảo ngược một số nguyên bằng toán tử số và không sử dụng bất kỳ mảng hoặc cấu trúc dữ liệu nào khác.
Chữ ký của hàm là:
int f (int n)
Các ví dụ
nếu số nguyên đầu vào là | trở lại |
1234 | 4321 |
12005 | 50021 |
1 | 1 |
1000 | 1 |
0 | 0 |
-12345 | -54321 |
Xem câu trả lời đúng cho các câu hỏi mẫu.
- Viết hàm để trả về một mảng chứa tất cả các phần tử phổ biến cho hai mảng đã cho chứa các số nguyên dương khác biệt. Bạn không nên sử dụng bất kỳ phương pháp sẵn có. Bạn được phép sử dụng bất kỳ số lượng mảng.
Chữ ký của hàm là:
int [] f (int [] đầu tiên, int [] thứ hai)
Các ví dụ
nếu tham số đầu vào là | trở lại |
{1, 8, 3, 2}, {4, 2, 6, 1} | {1, 2} |
{1, 8, 3, 2, 6}, {2, 6, 1} | {2, 6, 1} |
{1, 3, 7, 9}, {7, 1, 9, 3} | {1, 3, 7, 9} |
{1, 2}, {3, 4} | {} |
{}, {1, 2, 3} | {} |
{1, 2}, {} | {} |
{1, 2}, null | vô giá trị |
vô giá trị, {} | vô giá trị |
null null | vô giá trị |
Xem câu trả lời đúng cho các câu hỏi mẫu.
- Xét một mảng A với n số nguyên dương. Một idx số nguyên được gọi là POE (điểm cân bằng) của A, nếu A [0] + A [1] + Thẻ + A [idx - 1] bằng A [idx + 1] + A [idx + 2] + Cẩu + A [n - 1]. Viết hàm để trả về POE của một mảng, nếu nó tồn tại và -1 nếu không.
Chữ ký của hàm là:
int f (int [] a)
Các ví dụ
nếu mảng đầu vào là | trở lại |
{1, 8, 3, 7, 10, 2} | 3 Lý do: a [0] + a [1] + a [2] bằng với [4] + a [5] |
{1, 5, 3, 1, 1, 1, 1, 1, 1} | 2 Lý do: a [0] + [1] bằng [3] + a [4] + a [5] + a [6] + a [7] + a [8] |
{2, 1, 1, 1, 2, 1, 7} | 5 Lý do: a [0] + a [1] + a [2] + a [3] + a [4] bằng với [6] |
{1, 2, 3} | -1 Lý do: Không POE. |
{3, 4, 5, 10} | -1 Lý do: Không POE. |
{1, 2, 10, 3, 4} | -1 Lý do: Không POE. |
Xem câu trả lời đúng cho các câu hỏi mẫu.
LƯU Ý Xin hãy đọc danh sách các lỗi lập trình phổ biến mà các sinh viên đã cam kết trong bài kiểm tra của chúng tôi.