Tin học 10 bài 4: Bài toán và thuật toán
Chúng tôi xin giới thiệu bài Lý thuyết Tin học 10 bài 4: Bài toán và thuật toán được VnDoc sưu tầm và giới thiệu tới bạn đọc. Bìa viết với nội dung được cập nhật chi tiết và chính xác sẽ là nguồn thông tin hay để giúp các bạn học sinh học tập tốt hơn môn Tin học lớp 10 hiệu quả. Mời các bạn cùng tham khảo chi tiết bài viết dưới đây nhé.
Lưu ý: Nếu bạn muốn Tải bài viết này về máy tính hoặc điện thoại, vui lòng kéo xuống cuối bài viết
Bài: Bài toán và thuật toán
A/ Lý thuyết Tin học 10 bài 4
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ác bài toán được cấu tạo bởi 2 thành phần cơ bản:
+ Input: các 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 các 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 nhất của 1 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 nhất 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 ← a1, i ← 2;
+ B3: nếu i>N thì đưa giá trị Max rồi kết thúc;
+ B4: Nếu ai>Max thì Max ← ai;
+ B5: i ← 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: các thao tác nhập, xuất dữ 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 các 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ố hữu hạn lần thực hiện các thao tác.
+ Tính xác định: Sau một số 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ố 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ố khác nhau là 1 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 ≥ 4 và không có ướ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 ← 2
+ B5: Nếu N>[√N](*) 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 ← 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 các 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 lớn 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 lớn hơn số sau ta đổi chỗ cho nhau. Việc đó lặp lại, khi không còn 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← N;
+ B3: Nếu M<2 thì in dãy đã sắp xếp rồi kết thúc;
+ B4. M ← M – 1; i ← 0;
+ B5: i ← i + 1;
+ B6: Nếu i > M thì quay lại bước 3;
+ B7. Nếu ai > ai+1 thì tráo đổi cho 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 khác nhau: a1…aN. và một số nguyên k. Cần biết có hay không chỉ số i mà ai=k. Nếu có hãy cho biết 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 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ó số hạng nào của dãy A 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 khóa cho đến khi hoặc gặp một số hạng bằng khóa hoặc dãy đã được xét hết và không có giá trị nào bằng khóa. Trong trường hợp thứ 2 dãy A không có số hạng nào bằng khóa...
- Thuật toán
Liệt kê:
+ B1: Nhập vào N, các số hạng a1, . . . , aN và khóa k;
+ B2: i←1;
+ B3: Nếu ai=k thì thông báo chỉ số i rồi kết thúc;
+ B4. i ←i+1;
+ B5: 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;
+ 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
B/ Trắc nghiệm Tin học 10 bài 4
Câu 1. Thế nào là thuật toán?
- Thể hiện thao tác tính toán
- Thể hiện thao tác so sánh
- Quy định trình tự thực hiện các thao tác
- Thể hiện các thao tác nhập, xuất dữ liệu
Câu 2. Thuật toán có tính
- Tính xác định, tính liên kết, tính đúng đắn
- Tính dừng, tính liên kết, tính xác định
- Tính dừng, tính xác định, tính đúng đắn
- Tính tuần tự: Từ input cho ra output
Câu 3. Trong tin học sơ đồ khối là
- Ngôn ngữ lập trình bậc cao
- Sơ đồ mô tả thuật toán
- Sơ đồ về cấu trúc máy tính
- Sơ đồ thiết kế vi điện tử
Câu 4. Chọn phát biểu đúng khi nói về Bài toán và thuật toán?
- 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
- 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ả ba câu trên đều đúng
Câu 5. 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?
- Khi M = 1 và không còn sự đổi chỗ
- Khi số lớn nhất trôi về cuối dãy
- Khi ai > ai + 1
- Tất cả các phương án trên
Câu 6. 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:
- Bước 2
- Bước 3
- Bước 4.1
- Bước 4.2
Câu 7. Thuật toán tốt là thuật toán
- Thời gian chạy nhanh
- Tốn ít bộ nhớ
- Cả 2 ý trên đều đúng
- Tất cả các phương án đều sai
Câu 8. 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à:
- Hai số thực A, C
- Hai số thực A, B
- Hai số thực B, C
- Ba số thực A, B, C
Câu 9. 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 định Output của bài toán này?
- N là số nguyên tố
- N không là số nguyên tố C
- N là số nguyên tố hoặc N không là số nguyên tố
- Tất cả các ý trên đều sai
Câu 10. "…(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à?
- Input – Output - thuật toán – thao tác
- Thuật toán – thao tác – Input – Output
- Thuật toán – thao tác – Output – Input
- Thao tác - Thuật toán– Input – Output
Đáp án
Câu | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 |
Đáp án | A | C | B | D | A | C | C | A | C | C |
------------------------------------------
Với nội dung bài Tin học 10 bài 4: Bài toán và thuật toán các bạn học sinh cùng quý thầy cô chắc hẳn đã nắm vững kiến thức nội dung bài học rồi đúng không ạ? Bài viết cho chúng ta thấy được về khái niệm, đặc điểm và vai trò của bài toán và các thuật toán được dùng trong chương trình giảng dạy... Bên cạnh đó VnDoc.com còn gửi tới bạn đọc 10 câu hỏi trắc nghiệm kèm đáp án giúp bạn đọc có thể trau dồi kiến thức bài học. Hi vọng đây là tài liệu hữu ích giúp bạn đọc có thể học tập tốt hơn môn Tin học lớp 10.
Như vậy VnDoc đã giới thiệu các bạn tài liệu Lý thuyết Tin học lớp 10 bài 4: Bài toán và thuật toán. Để giúp bạn đọc có thêm nhiều tài liệu học tập hơn nữa, VnDoc.com mời các bạn cùng tham khảo thêm một số tài liệu học tập được chúng tôi biên soạn và tổng hợp tại các mục: Giải bài tập Tin học 10, Tài liệu học tập lớp 10.
Để tiện trao đổi, chia sẻ kinh nghiệm về giảng dạy và học tập các môn học lớp 10, VnDoc mời các thầy cô giáo, các bậc phụ huynh và các bạn học sinh truy cập nhóm riêng dành cho lớp 10 sau: Nhóm Tài liệu học tập lớp 10. Rất mong nhận được sự ủng hộ của các thầy cô và các bạn.