Bài giảng Tin học 10 - Bài 4: Bài toán và thuật toán

ppt 41 trang thungat 31/10/2022 940
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Tin học 10 - Bài 4: Bài toán và thuật toán", để tải tài liệu gốc về máy hãy click vào nút Download ở trên.

File đính kèm:

  • pptbai_giang_tin_hoc_10_bai_4_bai_toan_va_thuat_toan.ppt

Nội dung text: Bài giảng Tin học 10 - Bài 4: Bài toán và thuật toán

  1. Ví dụ 1: Quản lí điểm trong một kì thi bằng máy tính. SBD Họ và tên Văn Toán Lí Anh Tổng Kết quả 105 Lê Thị Thu 8.5 10.0 7.0 9.0 53 Đỗ 102 Vũ Ngọc Sơn 6.0 8.5 8.5 5.0 42.5 Đỗ 215 Trần Thuỷ 7.0 7.0 6.5 6.5 41 Đỗ 211 Nguyễn Anh 4.5 5.0 7.0 7.5 33.5 Đỗ 245 Phan Vân 5.0 2.0 3.5 4.5 22 YêuInput: cầu :SBD, Họ và tên, Văn, Toán, Lí, Anh.  Output:Hãy xác Tổng định điểm, thông Kết tin quả đa thi vào của (Input) học sinh. và thông tin cần lấy ra (Output)
  2. Bài 4. Bài toán và thuật Toán 1. Khái niệm bài toán Là việc nào đó ta muốn máy thực hiện để từ thông tin đa vào (INPUT) tìm đợc thông tin ra (OUTPUT). Ví dụ 3: Tìm ớc số chung lớn nhất của hai số nguyên dơng. INPUT: Hai số nguyên dơng M và N. OUTPUT: ớc số chung lớn nhất của M và N. Ví dụ 4: Bài toán xếp loại học tập của một lớp. INPUT: Bảng điểm của học sinh trong lớp. OUTPUT: Bảng xếp loại học lực của học sinh.
  3. Xét ví dụ 2: Giải phơng trình bậc nhất ax + b = 0. B1: Xác định hệ số a, b; B2: Nếu a=0 và b=0 => Phơng trình vô số nghiệm =>B5; B3: Nếu a=0 và b≠0 => Phơng trình vô nghiệm =>B5; B4: Nếu a≠0 => Phơng trình có nghiệm x=-b/a =>B5; B5: Kết thúc.
  4. 3. Một số ví dụ về thuật toán Thuật toán giải phơng trình bậc hai (a 0). Cách 1: Liệt kê các bớc B1: Bắt đầu; B2: Nhập a, b, c; B3: Tính = b2 – 4ac; B4: Nếu PT vô nghiệm => B7; B5: Nếu = 0 => PT có nghiệm kép x = -b/2a => B7; B6: Nếu > 0 => PT có hai nghiệm x1, x2 = (-b  )/2a => B7; B7: Kết thúc.
  5. Sơ đồ thuật toán giải phơng trình bậc hai BD B1 Nhập vào a, b, c B2 2 = b - 4ac B3 đ < 0 PT vô nghiệm B4 s đ B5 = 0 PT có nghiệm x= - b/2a KT s B7 PT có 2 nghiệm B6 x1,x2= ( -b  )/2a
  6. Mô phỏng thuật toán giải phơng trình bậc hai BD Bộ TEST 2: a b c nha,b,c=ập vào 1 2a,b,c 1 1 2 1 0 == b*b2*2 - 4*1*14*a*c = 0 Đ < 0 PT vô nghiệm S Đ = 0 PTPT cócó nghiệmnghiệm x=kép-b/2a x=-1 KT S PT có 2 nghiệm x1, x2 = (-b  )/2a
  7. Thuật toán tìm max 3 Ngời ta đặt 5 quả bóng có kích thớc khác nhau trong hộp đã đợc đậy nắp nh hình bên. Chỉ dùng tay hãy tìm ra quả bóng có kích thớc lớn nhất .
  8. Thuật toán tìm số lớn nhất trong một dãy số nguyên Xác định bài toán: INPUT: Số nguyên dơng N và dãy N số nguyên a1, a2, , aN (ai với i: 1→N). OUTPUT: Số lớn nhất (Max) của dãy số.
  9. Cách 1: Liệt kê các bớc B1: Nhập N và dãy a1, , aN; B2: Max  a1; i  2; B3: Nếu i > N thì đa ra giá trị Max rồi kết thúc; B4: Bớc 4.1: Nếu ai > Max thì Max  ai; Bớc 4.2: i  i+1 rồi quay lại B3.
  10. Với i = 2354 NhậpN=5 ;N A và [ 5 dãy 1 4 a1,7 6 ],aN A 5 1 4 7 6 i 2 3 4 5 Max 5 5 5 7 7 MaxMax  a15 ; ; i i  22 Đ 62345I >> N5 ?? ĐSốa ralớn Max nhất rồi của kết dãy thúc là 7 S S ai7>4>1> >Max 575 ?? ? Mô phỏng Đ thuật toán MaxMax a7i ii 4+13+15+12+1i+1
  11. Thuật toán 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: N là một số nguyên dơng. OUTPUT: Trả lời câu hỏi N có là số nguyên tố không?
  12. Mô phỏng thuật toán kiểm tra tính nguyên tố Trờng hợp 1: N = 45 ([ 45 ] = 6) i 2 3 45 không là số nguyên tố. N/i 45/2 45/3 Chia hết Không Chia hết không? 29 là số nguyên tố. Trờng hợp 2: N = 29 ([ 29 ] = 5) i 2 3 4 5 N/i 29/2 29/3 29/4 29/5 Chia hết Không Không Không Không không?
  13. Nhập N Đ Cách 2 N =1 ? Vẽ sơ đồ khối S Đ N [N ] nguyên tố rồi kết ? S thúc. S i  i +1 N có chia hết cho i ? Đ Thông báo N không là số nguyên tố rồi kết thúc.
  14. Thuật toán sắp xếp bằng 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.
  15.  VớiMô Nphỏng = 6 và thuậtdãy A toángồm 6 sắp số hạngxếp nhbằngsau tráo: đổi 3 5 9 8 1 7  Lợt thứ nhất:  Lợt thứ hai: 3 5 9 8 1 7 3 5 8 1 7 9 3 5 8 9 1 7 3 5 1 8 7 9 3 5 1 7 8 9 3 5 8 1 9 7  Lợt thứ ba: 3 5 8 1 7 9  Lợt thứ t: 3 1 5 7 8 9 3 5 1 7 8 9 3 1 5 7 8 9 1 3 5 7 8 9
  16. Nhập N và a1, a2, , aN M  N Đ M M ? Cách 2 Tráo đổi S Vẽ sơ đồ khối Đ ai và ai+1 ai > ai+1 ? S
  17. 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 a1, a2, , aN đôi một khác nhau 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 A bằng k.
  18. ý 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á (k) cho đến khi có sự trùng nhau, nếu đã xét tới số hạng cuối cùng mà không có sự trùng nhau thì có nghĩa là dãy A không có số hạng nào có giá trị bằng k.
  19. Nhập N, a1, a2, , aN và k i  1 Đ Đa ra i ai = k ? rồi kết thúc S i i + 1 S Cách 2 i > N ? Vẽ sơ đồ khối Đ Thông báo dãy A không có số hạng có giá trị bằng k, rồi kết thúc
  20. Mô phỏng thuật toán tìm kiếm nhị phân  Với k = 21 và dãy A gồm 10 số hạng nh sau: A 2 4 5 6 9 21 22 30 31 33 i 1 2 3 4 5 6 7 8 9 10 Lợt thứ nhất: agiữa là a5 = 9; 9 21  vùng tìm kiếm thu hẹp trong phạm vi từ a6→ a7; Lợt thứ ba: agiữa là a6 = 21; 21= 21  Vậy số cần tìm là i = 6.
  21. Bài toán và thuật Toán 1. Khái niệm bài toán 2. Khái niệm thuật toán Thuật toán giải phơng trình bậc hai (a 0). Thuật toán tìm Max của một dãy số. Thuật toán kiểm tra tính nguyên tố của một số nguyên dơng. Thuật toán sắp xếp bằng tráo đổi. Thuật toán tìm kiếm tuần tự và nhị phân.