Tin Học 10 Bài 4: Bài Toán Và Thuật Toán - Hoc247

YOMEDIA NONE Trang chủ Tin Học 10 Chương I: Một Số Khái Niệm Cơ Bản Của Tin Học Tin học 10 Bài 4: Bài toán và thuật toán ADMICRO Lý thuyết10 Trắc nghiệm7 BT SGK 926 FAQ

Nội dung bài học bài Bài toán và thuật toán dưới đây sẽ giúp các em tìm hiểu khái biệm bài toán trong Tin học, khái niệm thuật toán, cách biểu diễn thuật toán, hiểu được quan hệ giữa các khái niệm "Bài toán" – "Thuật toán" – "Ngôn ngữ lập trình", rèn cho các em kĩ năng biểu diễn các thuật toán tìm kiếm nhị phân, tìm kiếm tuần tự; thuật toán sắp xếp bằng cách tráo đổi;... Mời các em cùng theo dõi nội dung bài học.

ATNETWORK YOMEDIA

1. Tóm tắt lý thuyết

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

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

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

2. Luyện tập Bài 4 Tin học 10

2.1. Trắc nghiệm

2.2. Bài tập SGK

3. Hỏi đáp Bài 4 Tin học 10

Tóm tắt lý thuyết

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

a. Khái niệm

  • 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: Thông tin đã biết, thông tin đưa vào máy tính
    • Output: Thông tin cần tìm, thông tin lấy ra từ máy tính

b. Ví dụ

  • Tìm USCLN của 2 số nguyên dương
  • Tìm số lớn nhất trong 3 số nguyên dương a,b,c
  • Tìm nghiệm của phương trình bậc nhất: ax + b = 0 (a≠0)
  • ...

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

a. Khái niệm

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 (tính dừng)
  • Các thao tác được tiến hành theo một trình tự xác định (tính xác định)
  • Sau khi thực hiện xong dãy các thao tác đó ta nhận được Output của bài toán (tính đúng đắn)

b. Cách biểu diễn thuật toán

Có 2 cách để biểu diễn thuật toán:

  • Cách dùng phương pháp liệt kê: Nêu ra tuần tự các thao tác cần tiến hành
    • Ví dụ: Cho bài toán Tìm nghiệm của phương trình bậc 2: ax2 + bx + c = 0 (a≠0)?
    • Xác định bài toán
      • Input: Các số thực a, b, c
      • Output: Các số thực x thỏa mãn ax2 + bx + c = 0 (a≠0)
    • Thuật toán:
      • Bước 1: Nhập a, b, c (a≠0)
      • Bước 2: Tính Δ = b2 – 4ac
      • Bước 3: Nếu Δ>0 thì phương trình có 2 nghiệm là
      • \(x_{1}=\frac{-b+\sqrt{\triangle}}{2a}\) ; \(x_{2}=\frac{-b-\sqrt{\triangle}}{2a}\) rồi kết thúc
      • Bước 4: Nếu Δ = 0 thì phương trình có nghiệm kép \(x_{1,2}=\frac{-b}{2b}\) rồi kết thúc thuật toán. Nếu không chuyển sang bước tiếp theo
      • Bước 5: Kết luận phương trình vô nghiệm rồi kết thúc
  • Cách dùng sơ đồ khối
    • Hình thoi : thể hiện thao tác so sánh;
    • Hình chữ nhật : thể hiện các phép tính toán;
    • Hình ô van : thể hiện thao tác nhập, xuất dữ liệu;
    • Các mũi tên : qui định trình tự thực hiện các thao tác.

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

Bài toán 1: Kiểm tra tính nguyên tố

1. Xác định bài toán

  • 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"
  • Tính chất:
    • 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ố

2. Ý tưởng

  • N<4: Xem như bài toán đã được giải quyế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ố

3. 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 \leftarrow2 ;\)
  • Bước 5: Nếu i là ước của N thì đến bước 7
  • Bước 6: \(i \leftarrow 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

Hình 1. Sơ đồ khối thuật toán kiểm tra tính nguyên tố của một số nguyên dương N

Lưu ý: 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ố

Bài toán 2: Sắp xếp bằng cách tráo đổi

1. Xác định bài toán

  • Input: Dãy A gồm N số nguyên a1, a2,…,an
    • Ví dụ : Dãy A gồm các số nguyên: 2 4 8 7 1 5
  • Output: Dãy A được sắp xếp thành dãy không giảm
    • Dãy A sau khi sắp xếp: 1 2 4 5 7 8

2. Ý tưởng

  • Với mỗi cặp số hạng đứng liền kề trong dãy, nếu số trước > 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

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

  • Bước 1. Nhập N, các số hạng a1, a2,…,an;
  • Bước 2. Đầu tiên gọi M là số số hạng cần so sánh, vậy M sẽ chứa giá trị của N: \(M \leftarrow N\);
  • Bước 3. Nếu số số hạng cần so sánh < 2 thì dãy đã được sắp xếp. Kết thúc;
  • Bước 4. M chứa giá trị mới là số phép so sánh cần thực hiện trong lượt: \(M \leftarrow M-1\). Gọi i là số thứ tự của mỗi lần so sánh, đầu tiên i 0;
  • Bước 5. Để thực hiện lần so sánh mới, i tăng lên 1 (lần so sánh thứ i)
  • Bước 6. Nếu lần so sánh thứ i> số phép so sánh M: đã hoàn tất M số phép so sánh của lượt này. Lặp lại bước 3, bắt đầu lượt kế (với số số hạng cần so sánh mới chính là M đã giảm 1 ở bước 4);
  • Bước 7. So sánh 2 phần tử ở lần thứ i là ai và ai+1. Nếu ai > ai+1 thì tráo đổi 2 phần tử này;
  • Bước 8. Quay lại bước 5

a) Đối chiếu, hình thành các bước liệt kê

  • Bước 1: Nhập N, các số hạng a1, a2,…,an;
  • Bước 2: \(M \leftarrow 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 \leftarrow M-1 ; i \leftarrow 0 ;\)
  • Bước 5: \( i \leftarrow 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

Hình 2. Sơ đồ khối thuật toán sắp xếp bằng cách tráo đổi

Bài toán 3: Tìm kiếm tuần tự

1. Xác định bài toán

  • 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ụ : Dãy 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)

2. Ý 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 đế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.

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

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 \leftarrow 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 \leftarrow 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

Hình 3. Sơ đồ khối thuật toán tìm kiếm tuần tự

Bài toán 4: Tìm kiếm nhị phân

1. Xác định bài toá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)

2. Ý 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 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đầu (phạm vi) \(\rightarrow\) agiữa - 1;
    • Nếu agiữa < k việc tìm kiếm thu hẹp chỉ xét từ agiữa + 1 \(\rightarrow\) 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.

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

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 \(\leftarrow\) 1; Cuối \(\leftarrow\) 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 \(\leftarrow\) 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

Hình 4. Sơ đồ khối thuật toán tìm kiếm tuần tự

2. Luyện tập Bài 4 Tin học 10

Sau khi học xong bài này, các em cần nắm vững các nội dung trọng tâm:

  • Khái niệm bài toán trong Tin học
  • Khái niệm thuật toán và cách biểu diễn thuật toán
  • Một số ví dụ về thuật toán: Kiểm tra tính nguyên tố, sắp xếp bằng cách tráo đổi, tìm kiếm tuần tự, tìm kiếm nhị phân

2.1. Trắc nghiệm

Các em có thể hệ thống lại nội dung kiến thức đã học được thông qua bài kiểm tra Trắc nghiệm Tin học 10 Bài 4 cực hay có đáp án và lời giải chi tiết.

  • Câu 1:

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

    • A. Tính xác định, tính liên kết, tính đúng đắn
    • B. Tính dừng, tính liên kết, tính xác định
    • C. Tính dừng, tính xác định, tính đúng đắn
    • D. Tính tuần tự: Từ input cho ra output
  • Câu 2:

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

    • A. Thời gian chạy nhanh
    • B. Tốn ít bộ nhớ
    • C. Cả A và B đều đúng
    • D. Tất cả các phương án đều sai
  • Câu 3:

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

    • A. Ngôn ngữ lập trình bậc cao
    • B. Sơ đồ mô tả thuật toán
    • C. Sơ đồ về cấu trúc máy tính
    • D. Sơ đồ thiết kế vi điện tử

Câu 4-10: Mời các em đăng nhập xem tiếp nội dung và thi thử Online để củng cố kiến thức về bài học này nhé!

2.2. Bài tập SGK

Các em có thể xem thêm phần hướng dẫn Giải bài tập Tin học 10 Bài 4 để giúp các em nắm vững bài học và các phương pháp giải bài tập.

Bài tập 1 trang 44 SGK Tin học 10

Bài tập 2 trang 44 SGK Tin học 10

Bài tập 3 trang 44 SGK Tin học 10

Bài tập 4 trang 44 SGK Tin học 10

Bài tập 5 trang 44 SGK Tin học 10

Bài tập 6 trang 44 SGK Tin học 10

Bài tập 7 trang 44 SGK Tin học 10

3. Hỏi đáp Bài 4 Tin học 10

Trong quá trình học tập nếu có thắc mắc hay cần trợ giúp gì thì các em hãy comment ở mục Hỏi đáp, Cộng đồng Tin học HOC247 sẽ hỗ trợ cho các em một cách nhanh chóng!

Chúc các em học tập tốt và luôn đạt thành tích cao trong học tập!

-- Mod Tin Học 10 HỌC247

NONE

Bài học cùng chương

Bài 1: Tin học là một ngành khoa học Tin học 10 Bài 1: Tin học là một ngành khoa học Bài 2: Thông tin và dữ liệu Tin học 10 Bài 2: Thông tin và dữ liệu Bài tập và thực hành 1: Làm quen với thông tin và mã hóa thông tin Tin học 10 Bài tập và thực hành 1: Làm quen với thông tin và mã hóa thông tin Bài 3: Giới thiệu về máy vi tính Tin học 10 Bài 3: Giới thiệu về máy vi tính Bài tập và thực hành 2: Làm quen với máy tính Tin học 10 Bài tập và thực hành 2: Làm quen với máy tính Bài 5: Ngôn ngữ lập trình Tin học 10 Bài 5: Ngôn ngữ lập trình ADSENSE ADMICRO Bộ đề thi nổi bật UREKA AANETWORK

XEM NHANH CHƯƠNG TRÌNH LỚP 10

Toán 10

Toán 10 Kết Nối Tri Thức

Toán 10 Chân Trời Sáng Tạo

Toán 10 Cánh Diều

Giải bài tập Toán 10 Kết Nối Tri Thức

Giải bài tập Toán 10 CTST

Giải bài tập Toán 10 Cánh Diều

Trắc nghiệm Toán 10

Ngữ văn 10

Ngữ Văn 10 Kết Nối Tri Thức

Ngữ Văn 10 Chân Trời Sáng Tạo

Ngữ Văn 10 Cánh Diều

Soạn Văn 10 Kết Nối Tri Thức

Soạn Văn 10 Chân Trời Sáng tạo

Soạn Văn 10 Cánh Diều

Văn mẫu 10

Tiếng Anh 10

Giải Tiếng Anh 10 Kết Nối Tri Thức

Giải Tiếng Anh 10 CTST

Giải Tiếng Anh 10 Cánh Diều

Trắc nghiệm Tiếng Anh 10 KNTT

Trắc nghiệm Tiếng Anh 10 CTST

Trắc nghiệm Tiếng Anh 10 CD

Giải Sách bài tập Tiếng Anh 10

Vật lý 10

Vật lý 10 Kết Nối Tri Thức

Vật lý 10 Chân Trời Sáng Tạo

Vật lý 10 Cánh Diều

Giải bài tập Lý 10 Kết Nối Tri Thức

Giải bài tập Lý 10 CTST

Giải bài tập Lý 10 Cánh Diều

Trắc nghiệm Vật Lý 10

Hoá học 10

Hóa học 10 Kết Nối Tri Thức

Hóa học 10 Chân Trời Sáng Tạo

Hóa học 10 Cánh Diều

Giải bài tập Hóa 10 Kết Nối Tri Thức

Giải bài tập Hóa 10 CTST

Giải bài tập Hóa 10 Cánh Diều

Trắc nghiệm Hóa 10

Sinh học 10

Sinh học 10 Kết Nối Tri Thức

Sinh học 10 Chân Trời Sáng Tạo

Sinh học 10 Cánh Diều

Giải bài tập Sinh 10 Kết Nối Tri Thức

Giải bài tập Sinh 10 CTST

Giải bài tập Sinh 10 Cánh Diều

Trắc nghiệm Sinh học 10

Lịch sử 10

Lịch Sử 10 Kết Nối Tri Thức

Lịch Sử 10 Chân Trời Sáng Tạo

Lịch Sử 10 Cánh Diều

Giải bài tập Lịch Sử 10 KNTT

Giải bài tập Lịch Sử 10 CTST

Giải bài tập Lịch Sử 10 Cánh Diều

Trắc nghiệm Lịch sử 10

Địa lý 10

Địa Lý 10 Kết Nối Tri Thức

Địa Lý 10 Chân Trời Sáng Tạo

Địa Lý 10 Cánh Diều

Giải bài tập Địa Lý 10 KNTT

Giải bài tập Địa Lý 10 CTST

Giải bài tập Địa Lý 10 Cánh Diều

Trắc nghiệm Địa lý 10

GDKT & PL 10

GDKT & PL 10 Kết Nối Tri Thức

GDKT & PL 10 Chân Trời Sáng Tạo

GDKT & PL 10 Cánh Diều

Giải bài tập GDKT & PL 10 KNTT

Giải bài tập GDKT & PL 10 CTST

Giải bài tập GDKT & PL 10 CD

Trắc nghiệm GDKT & PL 10

Công nghệ 10

Công nghệ 10 Kết Nối Tri Thức

Công nghệ 10 Chân Trời Sáng Tạo

Công nghệ 10 Cánh Diều

Giải bài tập Công nghệ 10 KNTT

Giải bài tập Công nghệ 10 CTST

Giải bài tập Công nghệ 10 CD

Trắc nghiệm Công nghệ 10

Tin học 10

Tin học 10 Kết Nối Tri Thức

Tin học 10 Chân Trời Sáng Tạo

Tin học 10 Cánh Diều

Giải bài tập Tin học 10 KNTT

Giải bài tập Tin học 10 CTST

Giải bài tập Tin học 10 Cánh Diều

Trắc nghiệm Tin học 10

Cộng đồng

Hỏi đáp lớp 10

Tư liệu lớp 10

Xem nhiều nhất tuần

Đề thi giữa HK2 lớp 10

Đề thi giữa HK1 lớp 10

Đề thi HK1 lớp 10

Đề thi HK2 lớp 10

Đề cương HK1 lớp 10

Video bồi dưỡng HSG môn Toán

Toán 10 Chân trời sáng tạo Bài 2: Tập hợp

Toán 10 Kết nối tri thức Bài 1: Mệnh đề

Toán 10 Cánh Diều Bài tập cuối chương 1

Soạn bài Ra-ma buộc tội - Ngữ văn 10 Tập 1 Cánh Diều

Soạn bài Chữ người tử tù - Nguyễn Tuân - Ngữ văn 10 KNTT

Soạn bài Thần Trụ Trời - Ngữ văn 10 CTST

Văn mẫu về Cảm xúc mùa thu (Thu hứng)

Văn mẫu về Bình Ngô đại cáo

Văn mẫu về Chữ người tử tù

Văn mẫu về Tây Tiến

YOMEDIA YOMEDIA ×

Thông báo

Bạn vui lòng đăng nhập trước khi sử dụng chức năng này.

Bỏ qua Đăng nhập ×

Thông báo

Bạn vui lòng đăng nhập trước khi sử dụng chức năng này.

Đồng ý ATNETWORK ON zunia.vn QC Bỏ qua >>

Từ khóa » Thuật Toán Sắp Xếp Lớp 10