Hãy chọn những câu đúng nhất khi phát biểu về thuật toán để giải bài toán trong Tin học

25/03/2022 8

A. Trong phạm vi Tin học, ta có thể quan niệm bài toán là việc nào đó mà ta muốn máy tính thực hiện

B. Thuật toán [giải thuật] để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm

C. Sơ đồ khối là sơ đồ mô tả thuật toán

D. Cả ba câu trên đều đúng

Đáp án chính xác

Đáp án : D

+ Bài toán là việc nào đó mà ta muốn máy tính thực hiện.

+ Thuật toán [giải thuật] để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm.

+ Sơ đồ khối là sơ đồ mô tả thuật toán.

CÂU HỎI HOT CÙNG CHỦ ĐỀ

Khi biểu diễn thuật toán bằng lưu đồ [sơ đồ khối], hình chữ nhật thể hiện điều gì?

Xem đáp án » 25/03/2022 16

Thuật toán tốt là thuật toán:

Xem đáp án » 25/03/2022 10

Trong tin học sơ đồ khối là:

Xem đáp án » 25/03/2022 9

"…[1] là một dãy hữu hạn các …[2] được sắp xếp theo một trình tự xác định sao cho khi thực hiện dãy các thao tác ấy, từ …[3] của bài toán, ta nhận được …[4] cần tìm". Các cụm từ còn thiếu lần lượt là?

Xem đáp án » 25/03/2022 9

Thuật toán sắp xếp bằng đổi chỗ cho dãy số A theo trật tự tăng dần dừng lại khi nào?

Xem đáp án » 25/03/2022 7

Thuật toán có tính:

Xem đáp án » 25/03/2022 5

Input của bài toán: "Hoán đổi giá trị của hai biến số thực A và C dùng biến trung gian B" là:

Xem đáp án » 25/03/2022 5

Cho thuật toán tìm giá trị nhỏ nhất trong một dãy số nguyên sử dụng phương pháp liệt kê dưới đây:

Bước 1: Nhập N, các số hạng a1, a2,…., aN;

Bước 2: Min ← ai, i ← 2;

Bước 3: Nếu i < N thì đưa đưa ra giá trị Min rồi kết thúc;

Bước 4:

Bước 4.1: Nếu ai > Min thì Min ← ai;

Bước 4.2: i ← i+1, quay lại bước 3.

Hãy chọn những bước sai trong thuật toán trên:

Xem đáp án » 25/03/2022 3

Cho bài toán kiểm tra tính nguyên tố của một số nguyên dương N. Hãy xác đinh Output của bài toán này?

Xem đáp án » 25/03/2022 1

Trắc nghiệm: Hãy chọn phát biểu Đúng:

A. Các bước giải bài toán trên máy tính là: Mô tả thuật toán → Xác định bài toán → Viết chương trình

B. Cần phải xác định bài toán trước khi giải bài toán trên máy tính

C. Máy tính có hiểu được chương trình viết bằng ngôn ngữ tự nhiên

D. Với mỗi bài toán cụ thể, phải lựa chọn ngôn ngữ lập trình phù hợp rồi mới xây dựng thuật toán giải bài toán đó

Lời giải:

Đáp án đúng B. Cần phải xác định bài toán trước khi giải bài toán trên máy tính

Để giải một bài toán cần phải xác định bài toán [Input, Output] trước khi giải bài toán trên máy tính.

Tìm hiểu thêm về thuật toán và bài toán cùng Top Tài Liệu nhé.

a. Khái niệm

– Là việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào [Input] tìm được thông tin ra [Output].

+ Khi máy tính giải bài toán cần quan tâm đến 2 yếu tố:

– Input : Thông tin đã có.

– Output: thông tin cần tìm từ Input

b. Ví dụ:

Xác định Input và Output của các bài toán sau:

* Vd1: Giải phương trình

         ax2 + bx + c = 0      [a 0]

Input: Số nguyên a, b, c với a 0.

Output: Nghiệm của phương trình.

*Vd2 Kiểm tra số nguyên dương N có phải là số nguyên tố không?

Input: Số nguyên dương N

Output: Kết luận N có phải là số nguyên tố không.

*Vd3 Cho bảng điểm của HS lớp10A. Đưa ra màn hình danh sách HS tiên tiến của lớp 10A.

Input: Bảng điểm của HS lớp 10 A.

Output: Danh sách HS tiên tiến của lớp 10A.

Thuật toán là một khái niệm cơ sở của Toán học và Tin học. Hiểu một cách đơn giản, thuật toán là một tập các hướng dẫn nhằm thực hiện một công việc nào đó. Ðối với việc giải quyết một vấn đề – bài toán thì thuật toán có thể hiểu là một tập hữu hạn các hướng dẫn rõ ràng để người giải toán có thể theo đó mà giải quyết được vấn đề. Như vậy, thuật toán là một phương pháp thể hiện lời giải của vấn đề – bài toán.

a. Tại sao lại là “Thuật toán”?

Từ thuật toán [Algorithm] xuất phát từ tên một nhà toán học người Trung Á là Abu Abd – Allah ibn Musa al’Khwarizmi, thường gọi là al’Khwarizmi. Ông là tác giả một cuốn sách về số học, trong đó ông đã dùng phương pháp mô tả rất rõ ràng, mạch lạc cách giải những bài toán. Sau này, phương pháp mô tả cách giải toán của ông đã được xem là một chuẩn mực và được nhiều nhà toán học khác tuân theo. Từ algorithm ra đời dựa theo cách phiên âm tên của ông.

b. Một số ví dụ về thuật toán

Ví dụ 1: Kiểm tra tính nguyên tố của 1 số nguyên dương

– Input: N là một số nguyên dương;

– Output: ″N là số nguyên tố″ hoặc ″N không là số nguyên tố″.

– Định nghĩa: ″Một số nguyên dương N là số nguyên tố nếu nó chỉ có đúng hai ước là 1 và N″

– Nếu N = 1 thì N không là số nguyên tố.

– Nếu 1 < N < 4 thì N là số nguyên tố.

– N ≥ 4: Tìm ước i đầu tiên > 1 của N.

+ Nếu i < N thì N không là số nguyên tố [vì N có ít nhất 3 ước 1, i, N].

+ Nếu i = N thì N là số nguyên tố.

* Cách liệt kê

– Bước 1: Nhập số nguyên dương N;

– Bước 2: Nếu N=1 thì thông báo ″N không là số nguyên tố″, kết thúc;

– Bước 3: Nếu N= 4 và không có ước trong phạm vi từ 2 đến phần nguyên căn bậc 2 của N thì N là số nguyên tố.

Ví dụ 2: Sắp xếp bằng cách tráo đổi

– Input: Dãy A gồm N số nguyên a1, a2,…, an

– Output: Dãy A được sắp xếp thành dãy không giảm.

– Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau. [Các số lớn sẽ được đẩy dần về vị trí xác định cuối dãy].

– Việc này lặp lại nhiều lượt, mỗi lượt tiến hành nhiều lần so sánh cho đến khi không có sự đổi chỗ nào xảy ra nữa.

a] Cách liệt kê

– Bước 1: Nhập N, các số hạng a1, a2,…, an;

– Bước 2: M ← N;

– Bước 3: Nếu M < 2 thì đưa ra dãy A đã được sắp xếp, rồi kết thúc;

– Bước 4: M ← M – 1, i ← 0;

– Bước 5: i ← i + 1;

– Bước 6: Nếu i > M thì quay lại bước 3;

– Bước 7: Nếu ai > ai+1 thì tráo đổi ai và ai+1 cho nhau;

– Bước 8: Quay lại bước 5;

b] Sơ đồ khối

Ví dụ 3: Bài toán tìm kiếm

– Input : Dãy A gồm N số nguyên khác nhau a1, a2,…, an và một số nguyên k [khóa]

Ví dụ : A gồm các số nguyên ″ 5 7 1 4 2 9 8 11 25 51″ và k = 2 [k = 6].

– Output: Vị trí i mà ai = k hoặc thông báo không tìm thấy k trong dãy. Vị trí của 2 trong dãy là 5 [không tìm thấy 6]

Tìm kiếm tuần tự được thực hiện một cách tự nhiên: Lần lượt đi từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khóa cho đến khi gặp một số hạng bằng khóa hoặc dãy đã được xét hết mà không tìm thấy giá trị của khóa trên dãy.

a] Cách liệt kê

– Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k;

– Bước 2: i ← 1;

– Bước 3: Nếu ai = k thì thông báo chỉ số i, rồi kết thúc;

– Bước 4: i ←i+1;

– Bước 5: Nếu i > N thì thông báo dãy A không có số hạng nào có giá trị bằng k, rồi kết thúc;

– Bước 6: Quay lại bước 3;

b] Sơ đồ khối

Ví dụ 4: Tìm kiếm nhị phân

– Input: Dãy A là dãy tăng gồm N số nguyên khác nhau a1, a2,…, an và một số nguyên k.

Ví dụ: Dãy A gồm các số nguyên 2 4 5 6 9 21 22 30 31 33 và k = 21 [k = 25]

– Output : Vị trí i mà ai = k hoặc thông báo không tìm thấy k trong dãy. Vị trí của 21 trong dãy là 6 [không tìm thấy 25]

Sử dụng tính chất dãy A đã sắp xếp tăng, ta tìm cách thu hẹp nhanh vùng tìm kiếm bằng cách so sánh k với số hạng ở giữa phạm vi tìm kiếm [agiữa], khi đó chỉ xảy ra một trong ba trường hợp:

– Nếu agiữa= k thì tìm được chỉ số, kết thúc;

– Nếu agiữa > k thì việc tìm kiếm thu hẹp chỉ xét từ a dầu [phạm vi] → a giữa – 1;

– Nếu agiữa < k việc tìm kiếm thu hẹp chỉ xét từ a giữa + 1→acuối [phạm vi].

Quá trình trên được lặp lại cho đến khi tìm thấy khóa k trên dãy A hoặc phạm vi tìm kiếm bằng rỗng.

a] Cách liệt kê

– Bước 1: Nhập N, các số hạng a1, a2,…, aN và giá trị khoá k;

– Bước 2: Đầu ←1; Cuối ←N;

– Bước 3: Giữa←[[Đầu+Cuối]/2];

– Bước 4: Nếu a giữa = k thì thông báo chỉ số Giữa, rồi kết thúc;

– Bước 5: Nếu a giữa > k thì đặt Cuối = Giữa – 1 rồi chuyển sang bước 7;

– Bước 6: Đầu ←Giữa + 1;

– Bước 7: Nếu Đầu > Cuối thì thông báo không tìm thấy khóa k trên dãy, rồi kết thúc;

– Bước 8: Quay lại bước 3.

b] Sơ đồ khối

Video liên quan

Chủ Đề