Upload
lethilien1993
View
115
Download
8
Embed Size (px)
Citation preview
A. Mục đích, yêu cầu:1. Về kiến thức:
- Học sinh biết được khái niệm bài toán, thuật toán.- Học sinh biết cách chỉ ra được Input và Output của
mỗi bài toán đưa ra.2. Về tư tưởng, tình cảm:
- Học sinh biểu bài và hứng thú với bài học.- Học sinh ngày càng yêu thích môn học hơn.
B. Phương pháp, phương tiện. 1. Phương pháp:
Kết hợp phương pháp giảng dạy như thuyết trình, vấn đáp, sử dụng phương tiện trực quan, ...2. Phương tiện:
- Vở ghi lý thuyết, sách giáo khoa, sách tham khảo.- Máy tính, máy chiếu hoặc hình ảnh về thuật toán.
1. Khái niệm bài toán:Xét các yêu cầu sau : Giải phương trình bậc hai ax2+bx+c=0. Viết một dòng chữ ra màn hình máy tính. Quản lý các cán bộ trong một cơ quan. Tìm ước chung lớn nhất của hai số nguyên dương a
và b. Xếp loại học tập các học sinh trong lớp.
Trong TIN HỌCTrong TOÁN HỌC
Yêu cầu 1 và 4 được xem là bài toán
Tất cả các yêu cầu trên đều được xem là bài toán
Trong các yêu cầu trên, yêu cầu nào được xem như là một bài toán?
Khái niệm bài toán trong Tin học?
Bài toán là việc nào đó ta muốn máy tính thực hiện.
Khi máy tính giải bài toán cần quan tâm đến 2 yếu tố:
INPUT
Caùc thoâng tin ñaõ coù
OUTPUT
Caùc thoâng tin caàn tìm töø
Input
CÁC VÍ DỤVD1 : Giải phương trình bậc hai
ax2 + bx + c = 0 (a ≠ 0).• Input : Các số thực a,b,c (a ≠ 0)• Output : Số thực x thỏa : ax2+bx+ c = 0
VD2 : Tìm giá trị nhỏ nhất của các số trong một dãy số.• Input : Các số trong dãy số.• Output : Giá trị nhỏ nhất trong dãy số.
VD3 : Tìm ước chung lớn nhất của hai số nguyên dương a và b.• Input : • Output:
VD4 : Xếp loại học tập các học sinh trong lớp. • Input :• Output :
ƯCLN của a và b.Hai số nguyên dương a và b.??
??Bảng điểm của học sinh.Bảng xếp loại học tập.
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
102 Vò Ngäc S¬n 6.0 8.5 8.5 5.0
215 TrÇn Thuû 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
VD5: Qu¶n lÝ ®iÓm trong mét k× thi b»ng m¸y tÝnh.
Yªu cÇu : H·y x¸c ®Þnh th«ng tin ®a vµo (Input) vµ th«ng tin cÇn lÊy ra (Output)
Input: SBD, Hä vµ tªn, V¨n, To¸n, LÝ, Anh.
Output: Tæng ®iÓm, KÕt qu¶ thi cña häc sinh.
53 §ç
42.5 §ç
41 §ç
33.5 §ç
22
TÓM LẠI
Khi dùng máy tính giải bài toán, ta cần quan tâm đến 2 yếu tố cơ bản:
• Input: Các thông tin đã có.• Output: Các thông tin cần tìm từ Input.
2. Khái niệm thuật toán:
Chương trình
Input OutputMuốn máy tính đưa ra Output từ Input
Thuật toán
BÀI TOÁN
Muốn viết chương trình ?
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 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.
MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN
Có 2 cách mô tảLiệt kê
Dùng sơ đồ khối
Nêu ra tuần tự các thao tác cần tiến hành
Dùng một số biểu tượng thể hiện các thao tác
a. Liệt kê.Ví dụ: Thuật toán tìm số lớn nhất trong dãy
MAX
SỐ LỚN NHẤT TRONG DÃY SỐ LÀ
Input: Nhập số chữ số và các số Output: Chữ số lớn nhất ?
Bước 2: Max = a1, I 2 Bước 3: Nếu I > N thì chuyển đến bước 6
Bước 4: Nếu ai> Max thì max ai
Bước 5: i i+1, quay lại bước 3Bước 6 Thông báo giá trị max, kết thúc
Bước 1: Nhập số chữ số N và các số a1,a2,…,an
i2
2>5 (sai)
i 3
3>5 (sai)
i 4
4>5 (sai)
i 5
5>5 (sai)
i 6
6>5 (Đúng)
Chuyển KNChuyển SDK
: Thể hiện các thao tác so sánh.
b. Dùng sơ đồ khối
Trong sơ đồ khối, người ta dùng một số biểu tượng thể hiện các thao tác như:
: Thể hiện các phép tính toán.
: 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.
§
S
§
S
NhËp N vµ d·y a1,…,aN
Max ← a1 ; i ← 2
I > N ?
ai> Max ?
Max ←ai
i ← i+1
§a ra Max råi kÕt thóc
MaxiA
77555543267415
N=5 ; A [ 5 1 4 7 6 ]
Max ← 5 ; i ← 2
2 > 5 ?
1> 5 ?
i ← 2+1
3 > 5 ?
4> 5 ?
i ←3+1
4 > 5 ?
7 > 5 ?
Max ←7
4
i ←4+1
5 > 5 ?
7 > 7 ?
i ←5+1
6 > 5 ? Sè lín nhÊt cña d·y lµ 7
M« pháng thuËt to¸n
Víi i = 2Víi i = 3Víi i = 4Víi i = 5
VD1: Tìm nghiệm phương trình bậc nhất tổng quát: ax + b = 0
Nhaäp a, b
a = 0
x -b/a
Ñuùng
Ñöa ra x vaø keát thuùc
Sai
Bước 1: Nhập a, b.Bước 2: Nếu a = 0 thì quay lại
bước 1, ngược lại thì qua bước 3.
Bước 3: Gán cho x giá trị -b/a, rồi qua bước 4.
Bước 4: Đưa ra kết quả x và kết thúc.
SƠ ĐỒ KHỐILIỆT KÊ
B7: KÕt thóc.
B1: B¾t ®Çu;
B2: NhËp a, b, c; B3: TÝnh ∆ = b2 – 4ac;
B4: NÕu ∆ < 0 => 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;
VD2: 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
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
Cách 2: Sơ đồ khối
2
PT cã 2 nghiÖm
x1,x2 = ( -b ±√∆ )/2a
B1
B2
B3
B4
B5
B6
s
®
B7
a,b,c= 1 3 5
∆ = 3∗3 − 4∗5 = − 11
−11 < 0 PT v« nghiÖm
∆ = 0 PT cã nghiÖm x = -b/2a KT
BD
-11
∆
531
c b a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
§
S
∆ = b* b − 4* a* c
nhËp vµo a,b,c
∆ < 0
Mô phỏng nghiệm phương trình bậc hai
Bộ Test 1
a,b,c= 1 2 1
∆ = 2∗2 − 4∗1∗1 = 0
PT v« nghiÖm
PT cã nghiÖm x=-b/2a KT
BD
0
∆
121
c b a
S
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2a
§
S
∆ = b* b − 4* a* c
nhËp vµo a,b,c
∆ < 0
§
∆ = 0 PT cã nghiÖm kÐp x=-1
Bộ Test 2
Mô phỏng nghiệm phương trình bậc hai
KT
BD
1
∆
6-51
c b a
S
§
S
∆ < 0
§
∆ = 0
PT cã 2 nghiÖm x1, x2 = (-b ±√∆ )/2aPT cã nghiÖm x1 = 3 x2 = 2
PT cã nghiÖm x=-b/2a
PT v« nghiÖm
∆ = 25 − 24 = 1 ∆ = b* b − 4* a* c
a,b,c= 1 -5 6 nhËp vµo a,b,c
Bộ Test 3
Mô phỏng nghiệm phương trình bậc hai
Thuật toán có các tính chất:
- 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 khi thực hiện một thao tác thì hoặc là thuật toán kết thúc hoặc là có đúng một 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.
Ví dụ: Với thuật toán tìm Max đã xét:
- Tính dừng: Vì giá trị của i mỗi lần tăng lên 1 nên sau N lần thì i > N, khi đó kết quả phép so sánh ở bước 3 xác định việc đưa ra giá trị Max rồi kết thúc.
- Tính xác định: Thứ tự thực hiện các bước của thuật toán được mặc định là tuần tự nên sau bước 1 là bước 2, sau bước 2 là bước 3. Kết quả các phép so sánh trong bước 3 và bước 4 đều xác định duy nhất bước tiếp theo cần thực hiện.
- Tính đúng đắn: Vì thuật toán so sánh Max với từng số hạng các dãy số và thực hiện Max ← ai nếu ai > Max nên sau khi so sánh hết N số hạng của dãy thì Max là giá trị lớn nhất.
CỦNG CỐ
* Bài học hôm nay các em cần nắm những nội dung chính sau:- Bài toán là việc mà con người muốn máy tính thực hiện.- Muốn giải một bài toán trước tiên phải xác định được Input và Output:
+ Input: Thông tin đưa vào máy.+ Output: Thông tin muốn lấy từ máy.
- Thuật toán là một dãy hữu hạn các thao tác được sắp xếp tuần tự mà khi thực hiện nó thì từ Input đưa vào ta sẽ lấy được Output.- Thuật toán có 2 dạng: Liệt kê và Sơ đồ khối
* Một số câu hỏi trắc nghiệm::
Câu 1: Khi sử dụng máy tính giải bài toán:
a. Ta chỉ cần xác định Input
b. Ta cần xác định: Input, Output
c. Ta chỉ cần xác định Output
d. Cả ba ý trên.
Câu 2: Input của bài toán giải phương trình bậc hai
ax2 + bx + c = 0 là:
a. x, a, b, c b. a, b, c
c. a, b d. x, a, c
* Bài tập về nhà:
- Ôn tập lại bài học hôm nay.
- Làm các bài tập trong SGK trang 44
- Chuẩn bị trước phần bài còn lại.