Font size
WorksheetsPTTT 1
Total questions: 59
Worksheet time: 31mins
Giải bài toán trên máy tính là
Thực hiện một dãy hữu hạn những thao tác để tìm được dữ liệu ra
Thực hiện một dãy hữu hạn những thao tác có cơ sở khoa học thích hợp để tìm được dữ liệu ra
Xuất phát từ dữ liệu vào, thực hiện một dãy hữu hạn những thao tác có cơ sở khoa học thích hợp để tìm được dữ liệu ra
Xuất phát từ dữ liệu vào, thực hiện một dãy hữu hạn những thao tác có cơ sở khoa học thích hợp để tìm được dữ liệu ra theo yêu cầu của bài toán
Thuật toán là
Một dãy hữu hạn các bước, mô tả chính xác các phép toán hoặc hành động cần thực hiện để giải quyết một vấn đề
Một dãy hữu hạn các bước, mô tả chính xác các phép toán hoặc hành động cần thực hiện để giải quyết một vấn đề
Một dãy các bước, mỗi bước mô tả chính xác các phép toán hoặc hành động cần thực hiện để giải quyết một vấn đề
Một dãy hữu hạn các bước, mỗi bước mô tả chính xác các phép toán hoặc hành động cần thực hiện để giải quyết một vấn đề
Tính hiệu quả của thuật toán được đánh giá dựa trên các tiêu chuẩn:
Dung lượng bộ nhớ cần có và thời gian cần thiết để chạy chương trình
Dung lượng bộ nhớ cần có
Thời gian cần thiết để chạy chương trình
Dung lượng bộ nhớ của máy tính và thời gian chạy chương trình
Giải thuật là
Cách giải quyết bài toán cho kết quả gần đúng (chấp nhận được) đỡ phức tạp và có hiệu quả hơn
Cách giải quyết bài toán cho kết quả đúng
Cách giải quyết bài toán đảm bảo các đặc trưng của thuật toán
Cách giải quyết bài toán cho kết quả có hiệu quả hơn
Trong biểu diễn một bài toán trên máy tính, Output là
Các dữ liệu vào của bài toán
Các dữ liệu ra của bài toán
Các dữ liệu ra thỏa mãn yêu cầu của bài toán
Dữ liệu của quá trình tính toán bài toán
Với bài toán: Xác định giá trị lớn nhất trong dãy có n số nguyên X={x1,x2,…,xn} , n là số nguyên dương. Hãy xác định kích thước của bài toán theo quan niệm thứ nhất
n
n+1
n2
nlogn
Với bài toán: Xác định giá trị lớn nhất trong dãy n số nguyên X={x1,x2,…,xn} , n là số nguyên dương. Hãy xác định kích thước của bài toán theo quan niệm thứ 2
i=1∑n⌊log2xi⌋+log2n+n+1
i=1∑n⌊log2xi⌋+log2n+n
i=1∑n⌊log2xi⌋+log2n
i=1∑n⌊log2xi⌋
Xác định Input của bài toán: Hoán đổi giá trị của 2 biến số nguyên x và y và dùng biến trung gian số nguyên z
Ba biến số nguyên x, y, z
Hai biến số nguyên x, y
Hai biến số nguyên x, z
Hai biến số nguyên y, z
Phương pháp giả mã dùng để biểu diễn thuật toán là
Mượn một ngôn ngữ lập trình nào đó để viết chương trình
Dùng cấu trúc của một ngôn ngữ lập trình bậc cao để viết chương trình
Dùng cấu trúc của ngôn ngữ lập trình bậc thấp để mô tả thuật toán
Mượn các cú pháp của một ngôn ngữ lập trình nào đó để thể hiện thuật toán
Khi biểu diễn thuật toán bằng lưu đồ khối (sơ đồ khối), hình chữ nhật có ý nghĩa gì?
Thực hiện thao tác kiểm tra dữ liệu theo điều kiện để phân nhánh thuật toán
Thực hiện thao tác ghi và nhập dữ liệu
Thực hiện thao tác nhập và xuất dữ liệu
Thực hiện thao tác xử lý dữ liệu (gán, các phép tính cơ bản)
Cho dãy số nguyên có n phần tử x1,x2,…,xn và số nguyên k. Nếu thuật toán tìm thấy và đưa ra chỉ số thứ i đầu tiên thỏa mãn xi=k thì với điều kiện nào thuật toán sẽ dừng
i≥n
i<n
xi=k
xi=k
Thuật toán được biểu diễn bằng lưu đồ khối sau, thực hiện việc gì: Sơ đồ gồm: Bắt đầu → Nhập n → đặt i=1 → kiểm tra i≤n (nhánh đúng/nhánh sai) → nếu đúng thì thực hiện xi rồi i=i+1 và lặp → nếu sai thì xuất x1,x2,…,xn → Kết thúc.
Nhập dãy số n phần tử x1,x2,…,xn
Xuất dãy số n phần tử x1,x2,…,xn
Đếm dãy số n phần tử x1,x2,…,xn
Duyệt dãy số n phần tử x1,x2,…,xn
Thuật toán được biểu diễn bằng lưu đồ khối sau, thực hiện việc gì: Sơ đồ gồm: Bắt đầu → Nhập n → đặt i=1,d=0 → kiểm tra i≤n → nếu đúng, kiểm tra ximod2=0 → nếu đúng thì d=d+1 → tăng i=i+1 và lặp → nếu sai ở bất kỳ kiểm tra nào thì đi theo nhánh tương ứng → Kết thúc.
Đếm các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Tính tổng các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Tìm kiếm các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Sắp xếp các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Thuật toán được biểu diễn bằng lưu đồ khối sau, thực hiện:
Đếm các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Tính tổng các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Tìm kiếm các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Sắp xếp các phần tử chẵn của dãy số có n phần tử x1,x2,…,xn
Thuật toán được biểu diễn bằng lưu đồ khối sau, thực hiện
Tìm giá trị lớn nhất của 2 số a, b
Tìm Ước số chung lớn nhất của 2 số a, b
Tìm bội số chung lớn nhất của 2 số a, b
Hoán đổi 2 số a, b
Độ phức tạp dữ liệu vào của bài toán theo quan niệm thứ nhất là
số lượng dữ liệu vào của bài toán
số lượng dữ liệu được xử lý của bài toán
số lượng dữ liệu trung gian của bài toán
số lượng dữ liệu đã được sử dụng vào của bài toán
Thời gian trên máy Turing là:
Thời gian cần thiết để thực hiện một dãy các bước chuyển hình trạng
Thời gian cần thiết để thực hiện một bước chuyển hình trạng
Thời gian cần thiết để thực hiện bước chuyển hình trạng đầu
Thời gian cần thiết để thực hiện bước chuyển hình trạng cuối
Với máy xử lý thuật toán bằng ngôn ngữ tựa ALGOL, đơn vị nhớ là:
Một chỗ nhớ để chứa một kí hiệu
Một chỗ nhớ để chứa một dữ liệu
Một chỗ nhớ để chứa một dữ liệu vào
Một chỗ nhớ để chứa một dữ liệu ra
Xác định Output của bài toán: Kiểm tra tính nguyên tố của số nguyên dương n
n là hợp số
n không là số nguyên tố
n là số nguyên tố
n là số nguyên tố hoặc n không là số nguyên tố
Biểu diễn thuật toán theo ngôn ngữ tự nhiên là
sử dụng ngôn ngữ chữ viết thường ngày
sử dụng ngôn ngữ chữ viết thường ngày để liệt kê các bước của thuật toán
sử dụng ngôn ngữ thường ngày để lập chương trình
sử dụng ngôn ngữ chữ viết để vẽ thuật toán
Với bài toán: Xác định giá trị lớn nhất trong dãy n số nguyên X={x1,x2,…,xn} , n là số nguyên dương. Hãy chọn biểu diễn Input, Output đúng:
Input: Dãy số nguyên X={x1,x2,…,xn} , n nguyên dương. Output: Tìm giá trị lớn nhất Max của dãy X
Input: Dãy số nguyên X={x1,x2,…,xn} ; Output: Tìm số giá trị lớn nhất
Input: Dãy số nguyên X={x1,x2,…,xn} , n ; Output: Tìm giá trị lớn nhất
Input: Dãy số nguyên X={x1,x2,…,xn} ; Output: Tìm giá trị lớn nhất Max của X
Cho dãy số nguyên có n phần tử: x1,x2,…,xn . Nếu thuật toán tìm thấy và đưa ra chỉ số thứ i đầu tiên thỏa mãn xi là số chẵn thì với điều kiện nào thuật toán sẽ dừng:
i≥n
i<n
xi là số chẵn
xi là số lẻ
Thuật toán được biểu diễn bằng lưu đồ khối sau, thực hiện:
Tìm giá trị lớn nhất của 2 số a, b
Tìm Ước số chung lớn nhất của 2 số a, b
Tìm bội số chung lớn nhất của 2 số a, b
Giải phương trình bậc nhất
Trong biểu diễn một bài toán trên máy tính, Input là
Một dữ liệu vào của bài toán
Các dữ liệu vào của bài toán
Dữ liệu trung gian của bài toán
Dữ liệu trong tính toán của bài toán
Tính hữu hạn của thuật toán là
thuật toán bao giờ cũng phải dừng lại sau một số hữu hạn bước
thuật toán sẽ dừng lại sau một số bước thực hiện
thuật toán sẽ dừng lại sau một số lần lặp các bước
thuật toán bao giờ cũng phải dừng lại sau một số vô hạn bước thực hiện
Với máy xử lý thuật toán bằng ngôn ngữ tựa ALGOL, giá bộ nhớ là:
Số chỗ nhớ để chứa dữ liệu vào và dữ liệu ra
Số chỗ nhớ để chứa dữ liệu ra và các dữ liệu trung gian
Số chỗ nhớ để chứa dữ liệu vào, dữ liệu ra và các dữ liệu trung gian
Số chỗ nhớ để chứa dữ liệu được xử lý
Thuật toán được biểu diễn bằng lưu đồ khối trong hình thực hiện công việc gì?
Tính tổng các phần tử của dãy số có n phần tử x1, x2, …, xn
Đếm các phần tử của dãy số có n phần tử x1, x2, …, xn
Tìm kiếm các phần tử của dãy số có n phần tử x1, x2, …, xn
Sắp xếp các phần tử của dãy số có n phần tử x1, x2, …, xn
Lưu đồ khối dùng để biểu diễn thuật toán là gì?
Một hệ thống các nút (nút giới hạn, nút thao tác, nút điều kiện) có hình dạng khác nhau theo quy ước, thể hiện các chức năng khác nhau và được nối với nhau bởi các cung (mũi tên)
Một hệ thống các nút (nút giới hạn, nút điều kiện, mũi tên) có hình dạng khác nhau theo quy ước, thể hiện các chức năng khác nhau
Một hệ thống các nút (nút giới hạn, nút thao tác, mũi tên) được nối với nhau bởi các cung (mũi tên)
Một hệ thống các nút (nút giới hạn, nút thao tác, nút điều kiện, mũi tên) thể hiện các chức năng khác nhau và không được nối với nhau
Xác định Input, Output cho bài toán tìm kiếm tuần tự giá trị k trong dãy n số nguyên khác nhau x1, x2, …, xn.
Input: số nguyên dương n, dãy n số nguyên khác nhau x1, x2, …, xn, số nguyên k; Output: vị trí i mà xi = k hoặc thông báo không tìm thấy số nguyên k trong dãy
Input: dãy n số nguyên khác nhau x1, x2, …, xn, số nguyên k; Output: vị trí i mà xi = k hoặc thông báo không tìm thấy số nguyên k trong dãy
Input: dãy n số nguyên khác nhau x1, x2, …, xn, số nguyên k; Output: vị trí i mà xi = k
Input: số nguyên dương n, dãy n số nguyên khác nhau x1, x2, …, xn; Output: vị trí i mà xi = k hoặc thông báo không tìm thấy số nguyên k trong dãy
Giá về thời gian trên máy Turing là gì?
Thời gian để thực hiện bước chuyển hình trạng đầu
Thời gian để thực hiện bước chuyển hình trạng cuối
Thời gian để thực hiện các bước chuyển hình trạng từ hình trạng đầu đến hình trạng cuối
Thời gian để thực hiện các bước chuyển hình trạng trung gian
Thuật toán giải phương trình ax+b=0 (với a, b là số thực) bằng giả mã, cần (chọn 2 phương án đúng).
Duyệt a, b bằng vòng lặp
Kiểm tra hệ số a = 0
Tính nghiệm x=−b/a
Trong lưu đồ khối biểu diễn thuật toán (chọn 2 phương án đúng).
Không có ký hiệu điều kiện
Hình tròn biểu diễn thao tác kết thúc của thuật toán
Hình bình hành dùng để biểu diễn thao tác nhập/xuất
Mũi tên biểu diễn hướng thực hiện của thuật toán
Trong lưu đồ khối biểu diễn thuật toán tìm giá trị lớn nhất trong dãy n số nguyên (n nguyên dương), cần (chọn 2 phương án đúng).
Gán giá trị ban đầu cho biến tìm max
Lưu đồ khối không dùng được cho thuật toán này
So sánh từng phần tử trong dãy với max
Gán max = 0 là cách làm đúng cho mọi trường hợp
Những điểm cần chú ý khi biểu diễn thuật toán bằng ngôn ngữ tự nhiên là (chọn 2 phương án đúng).
Không cần viết rõ kết quả đầu ra
Dùng từ thông dụng, dễ hiểu
Trình bày theo trình tự logic của quá trình xử lý
Nên dùng thuật ngữ lập trình chuyên nghiệp
Khi biểu diễn thuật toán giải phương trình bậc nhất ax+b=0 (a, b là số thực) bằng sơ đồ khối, các bước nào là phù hợp (chọn 2 phương án đúng)?
Gán giá trị cho x sau khi kiểm tra điều kiện
Tính nghiệm x=b/a mà không kiểm tra điều kiện
Dùng hình thoi để kiểm tra điều kiện a = 0
Sử dụng hình tròn/elip để biểu thị vòng lặp
Trong lưu đồ khối biểu diễn thuật toán tìm USCLN của hai số nguyên a, b bằng phương pháp Euclid, cần (chọn 2 phương án đúng).
Dừng khi phần dư bằng 0
Sử dụng phép chia có dư
Chỉ xét số nguyên dương < 5D và luôn dùng vòng lặp for
Biểu diễn thuật toán bằng ngôn ngữ tự nhiên có thể áp dụng tốt khi (chọn 2 phương án đúng).
Viết phần mềm lớn
Giao tiếp với người chưa học lập trình
Giới thiệu khái niệm thuật toán
Sử dụng cấu trúc vòng lặp phức tạp
Với thuật toán tính tổng của các số chẵn trong dãy n số nguyên (n nguyên dương), cần (chọn 2 phương án đúng).
Kiểm tra tính chất chia hết cho 2 của từng phần tử trong dãy
Lặp lại qua từng phần tử
Tăng tổng khi gặp số lẻ
Khởi tạo tổng bằng -1
Đoạn chương trình viết bằng giả mã sau thực hiện công việc gì (chọn 2 đáp án đúng)? scanf(&a,&b); While(b!=0) { r = a % b; a = b; b = r; } us = a;
Tính tổng hai số nguyên a và b
Áp dụng thuật toán Euclid để tính USCLN
Tìm bội chung nhỏ nhất (BCNN) của a và b
Tính ước số chung lớn nhất (USCLN) của hai số nguyên a và b
Xác định tính đúng sai của các mệnh đề dưới đây về biểu diễn thuật toán bằng sơ đồ khối và giả mã: 1) Sơ đồ khối giúp giảm mã lỗi khi lập trình. 2) Biểu diễn thuật toán bằng giả mã dùng cú pháp của C hoặc Pascal. 3) Biểu diễn thuật toán bằng giả mã có thể viết bằng bất kỳ cú pháp nào không cần theo quy tắc. 4) Sơ đồ khối không áp dụng được cho thuật toán đệ quy.
Sơ đồ khối giúp giảm mã lỗi khi lập trình
Biểu diễn thuật toán bằng giả mã dùng cú pháp của C hoặc Pascal
Biểu diễn thuật toán bằng giả mã có thể viết bằng bất kỳ cú pháp nào không cần theo quy tắc
Sơ đồ khối không áp dụng được cho thuật toán đệ quy
Xác định tính đúng/sai của các mệnh đề dưới đây về các phương pháp biểu diễn thuật toán bằng giả mã
Mọi biểu diễn thuật toán bằng giả mã đều có thể dịch sang một ngôn ngữ lập trình
Trong biểu diễn thuật toán bằng giả mã, cấu trúc lặp được dùng là "for"
Việc dùng giả mã để biểu diễn thuật toán làm khó khăn cho người học lập trình
Biểu diễn thuật toán bằng giả mã không hỗ trợ điều kiện rẽ nhánh
Xác định tính đúng sai của các mệnh đề dưới đây liên quan đến sơ đồ khối
Trong sơ đồ khối, hình tròn/elip dùng để biểu diễn thao tác kiểm tra điều kiện
Trong sơ đồ khối, các thao tác xử lý đều dùng hình chữ nhật
Trong sơ đồ khối có thể có nhiều điểm bắt đầu
Trong sơ đồ khối, thao tác nhập dữ liệu được biểu diễn trong hình bình hành
Xác định tính đúng/sai của các mệnh đề dưới đây về sơ đồ khối:
Sơ đồ yêu cầu tuân thủ quy ước về các hình khối sử dụng
Khối hình thoi trong sơ đồ khối có 3 nhánh đi ra
Các thuật toán tính tổng không dùng sơ đồ khối
Sơ đồ khối giúp trực quan hóa thuật toán
Xác định tính đúng/sai của các mệnh đề dưới đây về sơ đồ khối và ngôn ngữ tự nhiên trong biểu diễn thuật toán
Khối hình chữ nhật trong sơ đồ khối biểu diễn thao tác xử lý
Trong sơ đồ khối, không cần có điểm bắt đầu kết thúc
Ngôn ngữ tự nhiên là cách biểu diễn tối ưu nhất
Sơ đồ khối giúp lập trình viên dễ gỡ rối hơn
Khi thực hiện một thuật toán, người ta thường quan tâm tới điều gì?
Chi phí về hệ điều hành và ngôn ngữ lập trình
Chi phí về cấu trúc dữ liệu
Chi phí thời gian
Chi phí thời gian và chi phí không gian (bộ nhớ)
Chi phí thời gian của một quá trình tính toán là gì?
Thời gian cần thiết để thiết kế thuật toán
Thời gian cần thiết để xây dựng thuật toán
Thời gian cần thiết để thực hiện một quá trình tính toán
Thời gian cần thiết để kiểm tra quá trình tính toán
Chi phí không gian của một quá trình tính toán là gì?
Số ô nhớ cần để chứa một dữ liệu
Số ô nhớ cần để chứa dữ liệu vào và ra
Số ô nhớ cần để kiểm tra một quá trình tính toán
Số ô nhớ cần để thực hiện một quá trình tính toán
Giá về bộ nhớ trên máy Turing là gì?
Số đơn vị nhớ để ghi dữ liệu vào, dữ liệu ra
Số đơn vị nhớ để ghi dữ liệu vào và kết quả trung gian
Số đơn vị nhớ để ghi dữ liệu vào, dữ liệu ra và kết quả trung gian
Số đơn vị nhớ để ghi kết quả trung gian
Với máy xử lý thuật toán bằng ngôn ngữ tựa ALGOL, giá về thời gian là gì?
Số phép tính số học
Số phép tính quan hệ
Số phép tính logic
Số phép tính căn bản
Khi nói thời gian thực hiện của một chương trình là T(n) = Cn (C là hằng số) thì có nghĩa là gì?
Chương trình đó cần Cn dữ liệu vào
Chương trình đó cần Cn dữ liệu ra
Chương trình đó cần Cn dữ liệu tính toán
Chương trình đó cần Cn chỉ thị thực thi
Giả sử T(n) là thời gian thực hiện thuật toán P nếu T(n) có bậc là g(n) thì điều gì đúng?
Độ phức tạp dữ liệu vào của thuật toán P là g(n) hay O(g(n))
Độ phức tạp dữ liệu ra của thuật toán P là g(n) hay O(g(n))
Độ phức tạp của thuật toán P là g(n) hay O(g(n))
Độ phức tạp không gian của thuật toán P là g(n) hay O(g(n))
Cách đánh giá thời gian thực hiện thuật toán độc lập với máy tính và các yếu tố liên quan tới máy tính sẽ dẫn tới khái niệm gọi là gì?
Độ phức tạp dữ liệu vào của thuật toán
Độ phức tạp dữ liệu ra của thuật toán
Độ phức tạp tính toán của thuật toán
Độ phức tạp không gian của thuật toán
Gọi A là một thuật toán tương ứng với một mô hình tính toán, e là bộ dữ liệu vào đã được mã hóa theo cách nào đó. Khi đó thuật toán A tính trên bộ dữ liệu e cần phải trả một giá nhất định bao gồm những gì?
Giá thời gian lớn nhất tA(e)
Giá bộ nhớ lớn nhất lA(e)
Giá trung bình về thời gian tA(e) và bộ nhớ lA(e)
Giá thời gian tA(e) và giá bộ nhớ lA(e)
Nếu gọi n là kích thước dữ liệu vào của thuật toán T, thì thời gian thực hiện của thuật toán T có thể biểu diễn một cách tương đối như hàm của n là gì?
T(n)
O(n)
log n
n log n
Nếu T1(n) và T2(n) là thời gian thực hiện hai chương trình P1, P2 và T1(n) = O(f(n)), T2(n) = O(g(n)), thời gian thực hiện của hai chương trình nối tiếp nhau là gì?
T(n) = O(f(n)*g(n))
T(n) = O(f(n))*O(g(n))
T(n) = O(max(f(n), g(n)))
T(n) = max(f(n), g(n))
Nếu T1(n) và T2(n) là thời gian thực hiện hai đoạn chương trình P1, P2 và T1(n) = O(f(n)), T2(n) = O(g(n)), thời gian thực hiện hai đoạn chương trình lồng nhau là gì?
T(n) = f(n)*g(n)
T(n) = O(max(f(n), g(n)))
T(n) = O(f(n)*g(n))
T(n) = max(f(n), g(n))
Nếu độ phức tạp của lệnh 1 và lệnh 2 đều là O(1) thì độ phức tạp của đoạn chương trình sau được xác định bằng gì? Nội dung: for (i = 1; i <= n; i++) {Lệnh 1} for (j = 1; j <= m; j++) {Lệnh 2}.
O(n)
O(m)
O(n⋅m)
O(max(n,m))
Nếu độ phức tạp của lệnh là O(1) thì độ phức tạp của đoạn chương trình sau là gì? Nội dung: for (i = 1; i <= n; i++) { for (j = 1; j <= m; j++) { lệnh } for (k = 1; k <= h; k++) { lệnh } }
O(n+m+h)
O(n⋅m⋅h)
O(n⋅max(m,h))
O(n⋅(m+h))
Nếu độ phức tạp của lệnh là O(1) thì độ phức tạp của đoạn chương trình sau:
for (i=1; i<=n; i++) {lệnh}
được xác định bằng
O(1)
O(n)
O(logn)
O(nlogn)
