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 đượ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 ấy, từ Input của bài toán, ta nh
Trang 1Ngày giảng Lớp Sĩ số
Tiết 10: § 4 BÀI TOÁN VÀ THUẬT TOÁN(Tiết 1)
I Mục tiêu:
1 Kiến thức: Biết khái niệm bài toán và thuật toán
2 Kỹ năng: Xác định được hai thành phần cơ bản cấu thành một bài
toán là input và output
3 Thái độ: Tích cực trong việc phát triển khả năng tư duy.
II Chuẩn bị của giáo viên và học sinh.
1 Chuẩn bị của GV: SGK, SGV, giáo án.
2 Chuẩn bị của HS: học bài cũ, đọc trước bài mới.
III Hoạt động dạy - học:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ:
- Một máy tính chưa có phần mềm có thể hoạt động được không? Vì sao?
3 Nội dung bài mới :
Hoạt động 1: Tìm hiểu khái
niệm bài toán
GV: Trong toán học ta nhắc
nhiều đến khái niệm “bài toán”
và ta hiểu đó là những việc mà
con người cần phải thực hiện
sao cho từ những thông tin đã
có phải đưa ra một kết quả nào
đó Vậy bài toán trong tin học
có gì khác?
GV: Đưa ra ví dụ 1 và 2
1 Khái niệm bài toán.
Trang 2Ví dụ 1a: Bài toán Giải PT:
ax + b = 0 (với a≠0) (*)
Ta nói đây là một bài toán
Bài toán này có các thành
phần:
- Input: các giá trị a, b.
- Output: tìm giá trị x thoả mãn
(*)
Ví dụ 1b: Bài toán: cho số
nguyên dương N và dãy A: a1,
a2, ,aN Tìm giá trị lớn nhất
của dãy A
- Input: Số nguyên dương N và
dãy A
- Output: Max(a1, a2, ,aN)
GV: Từ ví dụ 1a, ví dụ 1b em
hãy cho biết bài toán là gì? Và
cũng từ các ví dụ trên ta thấy
bài toán được cấu tạo bởi các
thành phần nào?
HS1: Trả lời câu hỏi
HS2: Bổ sung
GV: Kết luận
GV: Đưa ra ví dụ 1, 2, 3, 4
Yêu cầu HS đứng tại chỗ xác
định các thành phần của mỗi
bài toán
HS: Đứng tại chỗ trả lời
GV: Tổng hợp, kết luận
HS: Ghi bài
Khái niệm: bài toán là việc nào đó ta muốn
máy tính thực hiện
Bài toán được cấu tạo bởi hai thành phần
cơ bản:
- Input (giả thiết): Các thông tin đã có;
- Output (kết luận): Các thông tin cần tìm
từ Input
Ví dụ 1 Bài toán tìm ước 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 chung lớn nhất của M và N.
Ví dụ 2 Bài toán tìm nghiệm của phương
trình bậc hai
Input: Các số thực a, b, c (a ≠ 0);
Output: Số thực x thoả mãn
ax 2 + bx + c = 0.
ở đây, Output có thể là một hoặc hai số thực hoặc câu trả lời không có số thực nào như vậy
Ví dụ 3 Bài toán kiểm tra tính nguyên tố
Input: Số nguyên dương N;
Output: "N là số nguyên tố" hoặc "N không
là số nguyên tố"
Ví dụ 4 Bài toán xếp loại học tập của một
lớp
Trang 3Input: Bảng điểm của học sinh trong lớp; Output: Bảng xếp loại học lực.
Hoạt động 2: Tìm hiểu khái
niệm thuật toán.
GV: Muốn máy tính đưa ra
được output từ input cần phải
có chương trình, muốn có
chương trình ta cần có thuật
toán Vậy thuật toán là gì?
GV: Đưa ra ví dụ tìm ngiệm
của phương trình dạng ax + b =
0
HS: Đứng tại chỗ xác định
input và output
GV: Qua ví dụ trên em hãy cho
biết thuật toán là gì?
HS: Trả lời câu hỏi
GV: Kết luận
GV: (Yêu cầu) học sinh xác
định Input và Output và nêu ý
tưởng để giải bài toán
HS: Suy nghĩ trả lời
GV: Tổng hợp
2 Khái niệm thuật toán.
Ví dụ 1: Bài toán Giải PT:
ax + b = 0 (*) Xây dựng thuật toán để giải bài toán trên
* Bài toán này các thành phần:
1 Input: các gía trị a, b.
2 Output: tìm giá trị x thoả mãn (*)
* ý tưởng:
- Nếu a = 0 thì PT vô nghiệm
- Nếu a ≠ 0 thì PT có nghiệm
x = - b/a
* Thuật toán:
Bước 1: Nhập các giá trị a, b
Bước 2: Nếu a = 0 thì đưa ra thông báo PT
vô nghiệm rồi kết thúc
Bước 3: Nếu a ≠ 0 thì đưa ra nghiệm x rồi kết thúc
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 đượ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 ấy, từ Input của bài toán, ta nhận được Output cần tìm.
Ví dụ: Tìm giá trị lớn nhất của 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 a 1 , , a N
- Output: Giá trị lớn nhất Max của dãy số.
• Ý tưởng: - Khởi tạo giá trị Max = a 1
- Lần lượt với i từ 2 đến N, so sánh giá trị
số hạng a i với giá trị Max, nếu a i > Max thì
Max nhận giá trị mới là a i
IV Củng cố:
Trang 4- KN bài toán, thuật toán.
- Hai yếu tố cấu tạo nên bài toán là Input và Output
V Bài về nhà:
- Học bài cũ
- Xây dựng thuật toán để giải bài toán: Tìm giá trị lớn nhất của một dãy số nguyên
- Trả lời các câu hỏi sau bài học
Trang 5Ngày giảng Lớp Sĩ số
Tiết 11: § 4 BÀI TOÁN VÀ THUẬT TOÁN(Tiết 2)
I Mục tiêu:
1 Kiến thức:
- Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các
bước;
- Biết các tính chất của thuật toán
2 Kỹ năng:
- Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ
khối hoặc liệt kê các bước
3 Thái độ:
- Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng
như trong cuộc sống
II Chuẩn bị của giáo viên và học sinh.
1 Chuẩn bị của Giáo viên: SGK, SGV, giáo án
2 Chuẩn bị của học sinh: học bài cũ, đọc trước bài mới.
III Hoạt động dạy - học:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ: Khái niệm bài toán? Khái niệm thuật toán?
3 Nội dung bài mới:
Hoạt động 1: Xây dựng thuật toán
giải bài toán tìm giá trị lớn nhất của
dãy số nguyên
GV: Hướng dẫn học sinh xây dựng
thuật toán để giải bài toán tìm giá trị
lớn nhất của một dãy số nguyên
• Thuật toán Thuật toán giải bài toán này có
thể được mô tả theo cách liệt kê như sau:
Bước 1 Nhập N và dãy a 1 , , a N;
Bước 2 Max ← a 1 , i ← 2;
Bước 3 Nếu i > N thì đưa ra giá trị Max rồi
Trang 6HS: Nghe và xây dựng thuật toán
GV: Gọi học sinh lên bảng viết
HS: Viết thuật toán
GV: Nhận xét, bổ sung (nếu có)
GV: Đưa ra ví dụ
Dưới đây là ví dụ mô phỏng các
bước thực hiện thuật toán trên với N
= 11 và dãy A: 5, 1, 4, 7, 6, 3, 15
GV: Em hãy nhìn vào thuật toán
dưới dạng sơ đồ khối và hãy cho biết
thuật toán được diễn tả dưới dạng sơ
đồ khối với các quy định thế nào?
HS: Quan sát thuật toán
Đọc sách giáo khoa
Trả lời câu hỏi
GV: Đưa ra kết luận
Hoạt động 2: Tìm hiểu các tính chất
của thuật toán
GV: Qua hai ví dụ trên em hãy cho
biết thuật toán có những tính chất
nào?
HS: trả lời câu hỏi
kết thúc;
Bước 4.
4.1 Nếu a i > Max thì Max ← a i;
4.2 i ← i + 1 rồi quay lại bước 3;
* 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;
• Các mũi tên quy định trình tự thực hiện các thao tác;
• Hình ô van thể hiện thao tác nhập, xuất dữ liệu
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 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 để
Đúng
Đúng
Sai Nhập N và dãy a1, , aN
Max ← ai
ai >
Max?
i > N ?
Max ← a1, i ← 2
Đưa ra Max rồi kết thúc
i ← i + 1
Sai
Trang 7GV: Hãy chỉ rõ các tính chất của
thuật toán trong ví dụ trên?
HS:
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ủa 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 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
IV Củng cố:
- Thuật toán có 2 dạng: liệt kê và sơ đồ khối
- Các tính chất của thuật toán
V Bài về nhà:
- Học bài cũ
- Trả lời các câu hỏi sau bài học
Trang 8Ngày giảng Lớp Sĩ số
Tiết 12: § 4 BÀI TOÁN VÀ THUẬT TOÁN(Tiết 3)
I Mục tiêu:
1 Kiến thức:
- Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước;
2 Kỹ năng:
- Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước
3 Thái độ:
- Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống
II Chuẩn bị của giáo viên và học sinh.
1 Chuẩn bị của Giáo viên: SGK, SGV, giáo án.
2 Chuẩn bị của học sinh: học bài cũ, đọc trước bài mới.
III Hoạt động dạy - học:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ: Kiểm tra 15’
Cho biết số lượng sản phẩm (SLSP) của người công nhân đã sản xuất
và định mức (DM) sản xuất đối với người công nhân này Em hãy xây dựng
thuật toán (Bằng cách liệt kê hoặc sơ đồ khối) để tính và đưa ra tiền thưởng
(TT) cho người công nhân theo công thức:
TT = (SLSP – DM) 5000 Nếu SLSP > DM
3 Nội dung bài mới:
Hoạt động 1: Tìm hiểu yêu cầu
của bài toán và xây dựng thuật
3 Một số ví dụ về thuật toán.
Trang 9GV: Hướng dẫn học sinh và
cùng học sinh xây dựng thuật
toán để giải bài toán
HS: - Xác định Input và Output
của bài toán
- Nêu ý tưởng để giải bài
toán
- Xây dựng thuật toán để
giải bài toán
GV: Hướng dẫn bổ sung
GV: Gọi học sinh viết cùng viết
thuật toán
HS: Trả lời câu hỏi
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: 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ố"
• ý 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 hai ước số khác nhau là 1 và chính nó Từ định nghĩa đó, ta suy ra:
- 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ố;
- 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 hai của N thì N
là số nguyên tố
Từ đó ta có thuật toán như sau:
• Thuật toán
a) Thuật toán diễn tả bằng 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
nguyên tố rồi kết thúc;
Bước 3: Nếu N < 4 thì thông báo N là
nguyên tố rồi kết thúc;
Bước 4: i = 2;
Bước 5: Nếu i > [ N]1 thì thông báo N là
nguyên tố rồi kết thúc;
Bước 6: Nếu N chia hết cho i thì thông báo N không nguyên tố rồi kết thúc;
Bước 7: i = i + 1 rồi quay lại bước 5.
Trang 10Ghi chú: Biến i nhận giá trị nguyên thay
đổi trong phạm vi từ 2 đến N
+ 1 và dùng để kiểm tra N có chia hết cho i hay không
b) Sơ đồ khối
Hoạt động 2: Nghiên cứu ví dụ mô phỏng
GV: Lấy ví dụ mô phỏng và giải thích cho học sinh hiểu
Dưới đây là ví dụ mô phỏng các bước thực hiện thuật toán trên
Với N = 29 ( 29 = 5 ) Với N = 45 ( 45 = 6 )
N/i 29/2 29/3 29/4 29/5 N/i 45/2 45/3
Chia hết
không? Không Không Không Không Chia hết không? Không Chia hết
a) 29 là số nguyên tố b) 45 không là số nguyên tố
Đúng
Nhập N
N = 1 ?
Thông báo N là số nguyên tố rồi kết thúc
i ← 2 i>?
i ← i + 1 N chia hết cho i ?
N < 4 ?
Thông báo N không là số
nguyên tố rồi kết thúc
Đúng Sai
Sai
Đúng
Sai
Đúng Sai
Trang 11IV Củng cố:
- Cho học sinh mô phỏng việc thực hiện thuật toán trên và cho biết số 25 có phải là số nguyên tố hay không?
V Bài về nhà:
- Học bài cũ
- Trả lời các câu hỏi sau bài học
Trang 12Ngày giảng Lớp Sĩ số
Tiết 13: § 4 BÀI TOÁN VÀ THUẬT TOÁN (Tiết 4)
I Mục tiêu:
1 Kiến thức:
- Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước;
2 Kỹ năng:
- Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước
3 Thái độ:
- Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống
II Chuẩn bị của giáo viên và học sinh.
1 Chuẩn bị của Giáo viên: SGK, SGV, giáo án.
2 Chuẩn bị của học sinh: học bài cũ, đọc trước bài mới.
III Hoạt động dạy - học:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ: Kết hợp trong giờ
3 Nội dung bài mới:
Hoạt động 1: Tìm hiểu yêu cầu
của bài toán sắp xếp
GV: Đặt vấn đề về bài toán sắp
xếp
HS: Nghe giảng
3 Một số ví dụ về thuật toán.
GV: Đưa ra yêu cầu của bài
toán sắp xếp dạng đơn giản (Ví Ví dụ 2 Bài toán sắp xếp:
Trang 13dụ 2: Bài toán sắp xếp)
HS: Nghiên cứu yêu cầu của bài
toán
GV: Lấy ví dụ
GV: Gọi học sinh nêu input và
output của bài toán
HS: Xác định input và output
GV: Gợi ý cho học sinh hướng
giải bài toán để học sinh xây
dựng ý tưởng
HS: Xây dựng ý tưởng giải bài
toán
GV: Kết hợp với học sinh cùng
xây dựng thuật toán
GV: Giải thích thêm: Ta thấy
rằng, sau mỗi lần đổi chỗ, giá trị
lớn nhất của dãy A sẽ được
chuyển dần về cuối dãy và sau
lượt thứ nhất thì giá trị lớn nhất
xếp đúng vị trí là ở cuối dãy
Tương tự, sau lượt thứ hai, giá
trị lớn thứ hai được xếp đúng ở
vị trí sát cuối, Có thể hình
dung, sau mỗi lượt có ít nhất
một số hạng đã xếp đúng vị trí
và không còn tham gia vào quá
trình đổi chỗ nữa, giống như các
bọt nước từ đáy hồ nổi dần và
khi đã lên mặt nước rồi thì tan
biến Có thể vì thế mà sắp xếp
bằng tráo đổi còn có tên gọi là
sắp xếp nổi bọt (Bubble Sort)
Cho dãy A gồm N số nguyên a1, a2, , 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).
Ví dụ, Thuật toán Sắp xếp bằng tráo đổi (Exchange Sort)
• 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 lại thành dãy không
giảm
• ý tưởng: Với mỗi cặp số hạng đứng liền kề trong
dãy, nếu số trước lớn hơn số sau ta đổi chỗ chúng cho nhau Việc đó được lặp lại, cho đến khi không có
sự đổi chỗ nào xảy ra nữa
• Thuật toán
a) Cách liệt kê Bước 1: Nhập N, các số hạng a 1 , a 2 , , a N;
Bước 2: M ← 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 ← M – 1, i← 0;
Bước 5: i ← i + 1;
Bước 6: Nếu i > M thì quay lại bước 3;
Bước 7: Nếu a i > a i+1 thì tráo đổi a i và a i+1 cho nhau; Bước 8: Quay lại bước 5
b) Sơ đồ khối:
Nhập N và a1, a2, , aN
M ← M – 1; i ← 0
M < 2 ?
i > M ? Đúng
Sai
ai > ai+1 ?
i ← i + 1
Đưa ra A rồi kết thúc Đúng
Sai
Sai Đúng
Tráo đổi ai và ai+1
Trang 14Ghi chú: sgk
Hoạt động 2: Nghiên cứu ví dụ mô phỏng
GV: Lấy ví dụ mô phỏng giải thích thêm cho thuật toán
HS: Theo dõi và phát biểu ý kiến (nếu có)
IV Củng cố:
- Cho một dãy số nguyên và yêu cầu học sinh áp dụng thuật toán để sắp xếp
V Bài về nhà:
- Học bài cũ
- Trả lời các câu hỏi sau bài học
- Đọc trước thuật toán của bài toán tìm kiếm
Trang 15Ngày giảng Lớp Sĩ số
Tiết 14: § 4 BÀI TOÁN VÀ THUẬT TOÁN (Tiết 5)
I Mục tiêu:
1 Kiến thức:
- Hiểu cách biểu diễn thuật toán bằng sơ đồ khối và bằng liệt kê các bước;
2 Kỹ năng:
- Xây dựng được thuật toán giải một số bài toán đơn giản bằng sơ đồ khối hoặc liệt kê các bước
3 Thái độ:
- Rèn luyện khả năng tư duy khi giải quyết các vấn đề khoa học cũng như trong cuộc sống
II Chuẩn bị của giáo viên và học sinh.
1 Chuẩn bị của Giáo viên: SGK, SGV, giáo án.
2 Chuẩn bị của học sinh: học bài cũ, đọc trước bài mới.
III Hoạt động dạy - học:
1 Ổn định tổ chức:
2 Kiểm tra bài cũ: Kết hợp trong giờ
3 Nội dung bài mới:
GV: Đặt vấn đề: Tìm kiếm
là việc thường làm của mỗi
người, chẳng hạn tìm cuốn
sách giáo khoa Tin học 10
trên giá sách để chuẩn bị
cho giờ học ngày hôm sau,
tìm chiếc áo sơ mi mới màu
trắng trong tủ quần áo,…
Nói một cách tổng quát là
3 Một số ví dụ về thuật toán.