Video Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào - Lớp.VN

Mẹo Hướng dẫn Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào Mới Nhất

Bùi Thị Kim Oanh đang tìm kiếm từ khóa Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào được Cập Nhật vào lúc : 2022-05-17 00:54:04 . Với phương châm chia sẻ Bí quyết về trong nội dung bài viết một cách Chi Tiết Mới Nhất. Nếu sau khi Read nội dung bài viết vẫn ko hiểu thì hoàn toàn có thể lại Comment ở cuối bài để Tác giả lý giải và hướng dẫn lại nha.

Thuật toán là một dãy hữu hạn những 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 ấy, từ Input của bài toán, ta nhận được Output cần tìm.

Nội dung chính
    1. Khái niệm bài toán2. Khái niệm thuật toán3. Một số ví dụ về thuật toánVideo liên quan

1. Khái niệm bài toán

- Bài toán là một việc nào đó mà con người muốn máy tính thực hiện.

- Các yếu tố của một bài toán:

   + Input: tin tức đã biết, thông tin đưa vào máy tính.

   + Output: tin tức cần tìm, thông tin lấy ra từ máy tính.

- Ví dụ: Bài toán tìm ước chung lớn số 1 của 2 số nguyên dương, khi đó:

   + Input: hai số nguyên dương A, B.

   + Output: ước chung lớn số 1 của A và B

2. Khái niệm thuật toán

a) Khái niệm

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

b) Biểu diễn thuật toán

- Sử dụng cách liệt kê: nêu ra tuần tự những thao tác cần tiến hành.

- Sử dụng sơ đồ khối để mô tả thuật toán. 

c) Các tính chất của thuật toán

- Tính dừng: thuật toán phải kết thúc sau 1 số hữu hạn lần thực hiện những thao tác.

- Tính xác định: sau khi thực hiện 1 thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng 1 thao tác xác định để được thực hiện tiếp theo.

- Tính đúng đắn: sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm.

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

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

• Xác định bài toán

- Input: N là một số trong những nguyên dương;

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

• Ý tưởng:

- Đị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à một trong 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ố.

• Xây dựng thuật toán

a) 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 thì thông báo ″N là số nguyên tố″, kết thúc;

   - Bước 4: i ← 2;

   - Bước 5: Nếu i là ước của N thì đến bước 7;

   - Bước 6: i ← i+1 rồi quay lại bước 5; (Tăng i lên 1 đơn vị)

   - Bước 7: Nếu i = N thì thông báo ″N là số nguyên tố″, ngược lại thì thông báo ″N không là số nguyên tố″, kết thúc;

b) Sơ đồ khối

Lưu ý: Nếu N >= 4 và không còn ướ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 phương pháp tráo đổi

• Xác định bài toán

   - 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.

• Ý tưởng

   - Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước to hơn số sau ta đổi chỗ chúng lẫn 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 tới lúc không còn sự đổi nơi nào xảy ra nữa.

• Xây dựng thuật toán

a) Cách liệt kê

   - Bước 1: Nhập N, những 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 lẫn 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

• Xác định bài toán

- Input : Dãy A gồm N số nguyên rất khác nhau a1, a2,…, an và một số trong những nguyên k (khóa)

   Ví dụ : A gồm những 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ưởng

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 tới lúc gặp một số trong những 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.

• Xây dựng thuật toán

a) Cách liệt kê

   - Bước 1: Nhập N, những 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òn số hạng nào có mứ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

• Xác định bài toán

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

Ví dụ: Dãy A gồm những 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)

• Ý tưởng

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 phương pháp 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ừ adầu (phạm vi) → agiữa - 1;

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

Quá trình trên được lặp lại cho tới lúc 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.

• Xây dựng thuật toán

a) Cách liệt kê

   - Bước 1: Nhập N, những 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 agiữa = k thì thông báo chỉ số Giữa, rồi kết thúc;

   - Bước 5: Nếu agiữ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

Loigiaihay.com

BÀI 4. BÀI TOÁN VÀ THUẬT TOÁN

1. Khái niệm bài toán

- Bài toán là một việc nào đó ta muốn máy tính thực hiện. Ví dụ: Giải phương trình bậc 2, quản lý nhân viên cấp dưới…

- Các bài toán được cấu trúc bởi 2 thành phần cơ bản:

    Input: những thông tin đã có. Output: Các thông tin cần tìm từ Output.

2. Khái niệm thuật toán

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

- Ví dụ: Tìm giá trị lớn số 1 của một dãy số nguyên.

=> Ta có 3 bước thực hiện như sau:

* Xác định BT

- Input: Số nguyên dương N và dãy N số nguyên a1, a2, …, aN.

- Output: Giá trị lớn số 1 Max của dãy số.

* Ý tưởng

- Khởi tạo giá trị Max = a1.

- Lần lượt với i từ 2 đến N so sánh ai với Max, nếu ai>Max thì Max= ai.

* Thuật toán:

Cách liệt kê:

    B1: Nhập N và dãy a1,...,aN; B2: Max (leftarrow) a1, i (leftarrow) 2; B3: nếu i>N thì đưa giá trị Max rồi kết thúc; B4: Nếu ai>Max thì Max (leftarrow) ai; B5: i (leftarrow) i+1 rồi quay lại bước 3;

Cách lập sơ đồ khối:

- Thuật toán còn được diễn tả bằng sơ đồ khối.

- Quy định:

    Hình ô van: những thao tác nhập, xuất tài liệu. Hình thoi: Thao tác so sánh. Hình chữ nhật: Các phép toán. Mũi tên: trình tự thực hiện những thao tác.

Ví dụ: Mô phỏng việc thực hiện thuật toán với N=8 và dãy số: 5, 1, 4, 7, 6, 3, 15, 11

Ds

5

1

4

7

6

3

15

11

i

2

3

4

5

6

7

8

9

Max

5

5

5

7

7

7

15

15

=> Các tính chất của thuật toán:

    Tính dừng: Thuật toán phải kết thúc sau một số trong những hữu hạn lần thực hiện những thao tác. Tính xác định: Sau một số trong những lần thực hiện thao tác, hoặc là kết thúc hoặc xác định để thực hiện bước tiếp theo. Tính đúng đắn: Sau khi thuật toán kết thúc, ta phải nhận được Output cần tìm.

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

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

- Xác định bài toán:

    Input: Số nguyên dương N. Output: “N là số nguyên tố” hoặc “N không là số nguyên tố”.

- Ý tưởng: Ta nhớ lại định nghĩa: Một số nguyên dương N là số nguyên tố nếu nó có đúng 2 ước số rất khác nhau là một trong và chính nó. Do đó ta có:

    Nếu N = 1 thì N không là nguyên tố. Nếu 1 < N < 4 thì N là số nguyên tố. Nếu N (ge) 4 và không còn ước số 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ố.

- Thuật toán:

    B1: Nhập số nguyên dương N. B2: Nếu N = 1 thì thông báo N không là số nguyên tố rồi kết thúc. B3: Nếu N < 4 thì thông báo N là số nguyên tố rồi kết thúc. B4: i (leftarrow) 2 B5: Nếu N>[(sqrtN)](*) thì thông báo N là số nguyên tố rồi kết thúc. B6: Nếu N chia hết cho i thì thông báo N là số không nguyên tố rồi kết thúc. B7: i (leftarrow) i + 1 rồi quay lại bước 5.

Ví dụ 2: Bài toán sắp xếp

Cho dãy A gồm N số nguyên a1, a2, a3, …,aN. Cần sắp xếp những số hạng để dãy A trở thành dãy không giảm (tức là số hạng trước không to hơn số hạng sau)

- Xác định bài toán:

    Input: Dãy A gồm N số nguyên Output: Dãy A được sắp xếp thành dãy không giảm.

Thuật toán sắp xếp bằng tráo đổi (Exchange Sort)

- Ý tưởng: Với 2 số liền kề, nếu số trước to hơn số sau ta đổi chổ lẫn nhau. Việc đó lặp lai, lúc không hề sự đổi chổ nào nữa.

- Thuật toán

Cách liệt kê:

    B1: Nhập vào n và dãy số nguyên a1, . . . ,aN; B2: M (leftarrow) N; B3: Nếu M<2 thì in dãy đã sắp xếp rồi kết thúc; B4. M (leftarrow) M – 1; i (leftarrow) 0; B5: i (leftarrow) i + 1; B6: Nếu i > M thì quay lại bước 3; B7. Nếu ai > ai+1 thì tráo đổi lẫn nhau; B8: Quay lại bước 5; 

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

Cho dãy A gồm N số nguyên rất khác nhau: a1…aN. và một số trong những nguyên k. Cần biết có hay là không riêng gì có số i mà ai=k. Nếu có hãy cho biết thêm thêm chỉ số đó.

Thuật toán tìm kiếm tuần tự:

- Xác định bài toán

    Input: dãy A gồm N số nguyên rất khác nhau: a1…aN và số nguyên k. Output: chỉ số i mà ai=k hoặc thông báo không còn số hạng nào của dãy A có mức giá trị là k.

- Ý tưởng: lần lượt từ số hạng thứ nhất, ta so sánh giá trị số hạng đang xét với khoá cho tới lúc hoặc gặp một số trong những hạng bằng khoá hoặc dãy đã được xét hết và không còn mức giá trị nào bằng khoá. Trong trường hợp thứ 2 dãy A không còn số hạng nào bằng khoá...

- Thuật toán

Liệt kê:

    B1: Nhập vào N, những số hạng a1, . . . ,aN và khóa k; B2: i(leftarrow)1; B3: Nếu ai=k thì thông báo chỉ số i rồi kết thúc; B4. i (leftarrow)i+1; B5: Nếu i>N thì thông báo dãy A không còn số hạng nào có mức giá trị bằng k rồi kết thúc; B6: Quay lại bước 3;

Dãy A có N = 7 khóa k = 10

Tìm chỉ số i để ai = k.

i

1

2

3

4

5

6

7

ai

7

12

4

6

11

10

8

Ghi chú: k = 10 → i = 6

Trong thuật toán trên, i là biến chỉ số và nhận giá trị nguyên lần lượt từ 1 đến N + 1

Clip Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào ?

Bạn vừa Read tài liệu Với Một số hướng dẫn một cách rõ ràng hơn về Video Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào tiên tiến nhất

Share Link Down Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào miễn phí

Người Hùng đang tìm một số trong những Chia Sẻ Link Down Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào Free.

Giải đáp thắc mắc về Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào

Nếu sau khi đọc nội dung bài viết Tính đúng đắn của thuật toán tìm Max của dãy số nguyên a1, a2 aN được thể hiện ô bước nào vẫn chưa hiểu thì hoàn toàn có thể lại Comments ở cuối bài để Tác giả lý giải và hướng dẫn lại nha #Tính #đúng #đắn #của #thuật #toán #tìm #Max #của #dãy #số #nguyên #được #thể #hiện #bước #nào - 2022-05-17 00:54:04
Post a Comment (0)
Previous Post Next Post