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..[r]
(1)(2)VÝ dơ 1: Qu¶n lí điểm kì thi máy tính
SBD Họ 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
102 Vị Ngäc S¬n 6.0 8.5 8.5 5.0
215 TrÇn Thủ 7.0 7.0 6.5 6.5
211 NguyÔn Anh 4.5 5.0 7.0 7.5
245 Phan V©n 5.0 2.0 3.5 4.5
Input: SBD, Họ tên, Văn, Toán, Lí, Anh.
(3)Ví dụ 1: Quản lí điểm kì thi máy tính Ví dụ 2: Giải ph ¬ng tr×nh bËc nhÊt ax + b =
Input: C¸c hƯ sè a, b.
Output: Nghiệm ph ơng trình. Với a = 1, b = -5
Ph ơng trình có nghiệm x = 5
1 Khái niệm toán
Là việc ta muốn máy thực để từ thơng tin đ a vào (INPUT) tìm đ ợc thông tin (OUTPUT)
VÝ dô 3: Tìm ớc số chung lớn hai số nguyên d ơng. INPUT: Hai số nguyên d ơng M N.
OUTPUT: íc sè chung lín nhÊt cđa M N.
Ví dụ 4: Bài toán xếp loại học tập lớp. INPUT: Bảng điểm học sinh líp.
(4)1 Kh¸i niƯm toán 2 Khái niệm thuật toán
T INPUT làm thế để tìm
ra OUTPUT ?
Chúng ta cần tìm ra cách giải của bài toán
Xét ví dụ 2: Giải ph ơng trình bậc nh t ax + b = ấ
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 b0 => Ph ơng trình vô nghiệm =>B5; B4: Nếu a0 => Ph ơng trình có nghiệm x=-b/a =>B5; B5: KÕt thóc.
Thuật tốn để giải tốn dãy hữu hạn thao tác đ ợc xếp theo trình tự xác định cho sau thực dãy thao tác ấy, từ Input toán, ta nhận đ ợc Output cần tìm.
Cã hai c¸ch thĨ hiƯn mét thuật toán: Cách 1: Liệt kê b ớc
(5)1 Khái niệm to¸n 2 Kh¸i niƯm tht to¸n
B7: KÕt thú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;
3 Mét sè vÝ dơ vỊ tht to¸n
(6)1 Khái niệm toán 2 Khái niệm thuật toán
3 Mét sè vÝ dơ vỊ tht to¸n
VD1:Thuật tốn giải ph ơng trình bậc hai ax2 + bx + c = (a 0) * Quy ớc khối sơ đồ thuật toán
Bắt đầu thuật toán
Dựng nhp xuất liệu.
Dùng để gán giá trị tính tốn.
Xét điều kiện rẽ nhánh theo hai điều kiện đúng, sai.
KÕt thúc thuật toán BĐ
ĐK
đ
S
(7)3 Mét sè vÝ dơ vỊ tht to¸n
VD1: Thuật tốn giải ph ơng trình bậc hai ax2 + bx + c = (a 0) Cách 2: Vẽ sơ đồ khối
NhËp vµo a, b, c
= b - 4ac
< 0 PT v« nghiÖm
= 0 PT cã nghiÖm x= - b/2a KT
BD
®
s 2
PT cã nghiÖm x1,x2 = ( -b )/2a
(8)3 Mét sè vÝ dơ vỊ thuật toán
VD1: Thuật toán giải ph ơng tr×nh bËc hai ax2 + bx + c = (a 0) Mô thuật toán giải ph ơng trình bậc hai
VD2: Thuật toán tìm max
Ng ời ta đặt bóng có kích th ớc khác hộp đ ợc đậy nắp nh hình bên Chỉ dùng tay tìm bóng có kích th ớc lớn nhất.
(9)Quả lớn
Quả lớn
nhất
ồ! Quả lớn
hơn Tìm lớn rồi!
Cùng tìm thuật toán
MAX
VD2: Thuật toán tìm max
(10)VD3: Thuật toán tìm số lín nhÊt mét d·y sè nguyªn
3 Mét sè vÝ dơ vỊ tht to¸n
Xác nh bi toỏn:
INPUT: Số nguyên d ơng N dÃy N số nguyên a1, a2, , aN (ai víi i: 1N).
OUTPUT: Sè lín nhÊt (Max) cña d·y sè.
ý t ëng:
- Đặt giá trị Max = a1
(11)3 Mét sè vÝ dơ vỊ tht to¸n
VD3: Thuật toán tìm số lớn dÃy số nguyên
Cách 1: Liệt kê b íc
B1: NhËp N vµ d·y a1,…, aN; B2: Max:= a1; i:= 2;
B3: NÕu i > N đ a 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.
Cách 2: Sơ khi
Mô thuật toán tìm số lớn dÃy số nguyên
VD4: Thuật toán s¾p sÕp
(12)3 Mét sè vÝ dơ vỊ tht to¸n
VD4: Tht to¸n sếp
Hình a Hình b
Hóy tìm cách xếp học sinh đứng chào cờ (hình a) theo thứ tự thấp tr ớc cao sau (hình b).
Thuật tốn xếp tráo đổi
Xác định toán:
INPUT: D·y A gåm N sè nguyªn a1, a2,…, aN.
OUTPUT: DÃy A đ ợc xếp thành dÃy không giảm
Với cặp số hạng đứng liền kề dãy, số tr ớc lớn số sau ta đổi vị trí chúng cho Việc đ ợc lặp lại khơng có đổi chỗ xảy
(13)Các cách mơ tả thuật tốn xếp tráo đổi 3 Một số ví dụ thuật toán
Thuật toán xếp tráo đổi
Mơ tả thuật tốn xếp tráo i
VD5: Thuật toán tìm kiếm nhị phân
ý t ëng:
Sử dụng tính chất dãy A xếp tăng, ta tìm cách thu hẹp nhanh phạm vi tìm kiếm cách so sánh k với số hạng dãy (agiữa), khi xảy ba tr ờng hợp:
- Nếu agiữa= k => tìm đ ợc chØ sè, kÕt thóc;
- Nếu agiữa > k => dãy A đ ợc xếp tăng nên việc tìm kiếm thu hẹp xét từ a1 agiữa - 1;
- Nếu agiữa < k => dãy A đ ợc xếp tăng nên việc tìm kiếm thu hẹp xét từ agiữa + aN.
(14)(15)