Nội Dung Chính
Học xong bài này, em sẽ:
• Biết được thuật toán rất thông dụng, có nhiều việc thường ngày ta vẫn thực hiện thuật toán.
• Diễn tả được sơ lược thuật toán là gì; nêu được ví dụ minh họa khái niệm thuật toán.
1. Thuật toán trong cuộc sống hàng ngày
Hoạt động
Có một bài thơ lục bát khá phổ biến trong các thế hệ học sinh: Muốn tính diện tích hình thang Đáy lớn đáy nhỏ ta mang cộng vào Rồi đem nhân với chiều cao Chia đôi lấy nửa thế nào cũng ra 1) Bài thơ trên cho biết cách giải quyết bài toán nào? 2) Hãy nêu lại từng bước giải toán đó, đánh số thứ tự cho các bước. |
Nhiều việc ta làm hằng ngày, nếu mô tả đúng cách thành một quy trình từng bước đều có thể coi là thuật toán. Trong sách dạy làm các món ăn, các bài hướng dẫn rất cụ thể: trước hết là việc chuẩn bị nguyên liệu thực phẩm; tiếp theo là cách chế biến chúng trước khi nấu; sau đó là trình tự các bước nấu nướng; cuối cùng là kết quả món ăn với mùi vị và hình thức trình bày. Đây là một ví dụ về mô tả quy trình công việc theo kiểu thuật toán. Ta đã làm theo "thuật toán" trong nhiều công việc hằng ngày.
Để minh họa, hãy xem hướng dẫn "Các bước rửa tay đúng cách "với xà phòng do Bộ Y tế quy định.
Các bước rửa tay
Bước 1. Làm ướt hai lòng bàn tay bằng nước, lấy xà phòng vào lòng bàn tay. Chà hai lòng bàn tay vào nhau.
Bước 2. Chà lòng bàn tay này lên mu bàn tay kia và ngược lại.
Bước 3. Chà hai lòng bàn tay vào nhau, miết mạnh các ngón tay vào các kẽ ngón.
Bước 4. Chà mặt ngoài các ngón tay này lên lòng bàn tay kia và ngược lại.
Bước 5. Chà ngón cái của bàn tay này vào lòng bàn tay kia và ngược lại.
Bước 6. Chà các đầu ngón tay này vào lòng bàn tay kia và ngược lại.
Bước 7. Rửa sạch tay dưới vòi nước chảy đến cổ tay, làm khô tay.
Lưu ý mỗi động tác từ Bước 2 đến Bước 6 phải thực hiện ít nhất 5 lần.
Có thể xem quy trình từng bước ở trên là thuật toán "Rửa tay với xà phòng".
2. Bài toán và thuật toán
Trong tin học, bài toán và thuật toán có liên quan chặt chẽ với nhau. Trong ngôn ngữ hằng ngày, "bài toán" và "vấn đề" có nghĩa gần như nhau, đều tương ứng với từ "problem" trong tiếng Anh. Bài toán là vấn đề, là nhiệm vụ cần giải quyết. Thuật toán là cách giải quyết bài toán. Để tìm cách giải quyết, trước hết cần biết rõ đầu vào (dữ liệu cho trước) là gì, đầu ra (kết quả cần đạt được) là gì. Bài toán thường được đặt tên theo đầu ra.
Bài toán: một vấn đề cần giải quyết được phát biểu chặt chẽ và nêu rõ ràng đầu vào là gì, đầu ra là gì.
Thuật toán: một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để giải một bài toán.
3. Vận dụng thuật toán trong cuộc sống hằng ngày
Khi có một nhiệm vụ cần hoàn thành, một vấn đề cần giải quyết, em hãy tập thói quen lên kế hoạch cụ thể:
- Xác định nó như một bài toán: đầu vào có những gì, đầu ra cần đạt được là gì.
- Chia bài toán làm nhiều phần, mỗi phần là một bài toán con nhỏ hơn. Nêu việc phải làm để giải quyết từng bài toán con.
- Sắp xếp lại trình tự các việc phải làm cho hợp lí, việc nào làm trước, việc nào làm sau.
Thói quen này rất hữu ích trong thực tế cuộc sống. Nó sẽ gợi ý "tin học hóa", tìm cách sử dụng máy tính, thiết bị số để giải quyết một số bài toán thường gặp.
Luyện tập
Bài 1. Trong một bài tập làm theo nhóm, bạn Mai được giao nhiệm vụ tìm một ảnh đồng hồ thông minh trên internet. Em hãy:
1) Phát biểu nhiệm vụ giao cho bạn Mai dưới dạng một bài toán và đặt tên cho bài toán đó.
2) Nêu một thuật toán cho bài toán em vừa phát biểu ở trên, đánh số cho các bước của thuật toán.
Bài 2.
Theo kiểu mô tả một thuật toán, em hãy chỉ cho bạn Tuấn cách đi từ trường học về nhà bạn Quân (nhà có mũi tên chỉ vào) sau khi quan sát hình trên.
Vận dụng
Khi còn học ở cấp tiểu học, em đã từng tạo một chương trình trong môi trường lập trình trực quan (ví dụ Scratch) để thể hiện một nhân vật chuyển động. Bản liệt kê tuần tự các bước làm cho nhân vật chuyển động có phải là một thuật toán không? Vì sao?
Câu hỏi tự kiểm tra
Câu 1. Em hãy chọn câu trả lời đúng cho câu hỏi "Cần làm thế nào để lên kế hoạch cụ thể, từng bước rõ ràng nhằm hoàn thành một nhiệm vụ, giải quyết một vấn đề?"
1) Xác định nó như một bài toán.
2) Chia bài toán làm nhiều phần, nêu việc phải làm để giải quyết mỗi phần.
3) Sắp xếp lại các trình trự các việc phải làm cho hợp lí.
4) Cần làm cả ba việc trên.
Câu 2. Trong các câu sau đây, câu nào đúng?
1) Bài toán là một vấn đề phải giải quyết bằng tính toán.
2) Bài toán là một nhiệm vụ cần hoàn thành, đã xác định rõ ràng đầu vào và đầu ra.
3) Thuật toán là cách để tính toán nhanh.
4) Thuật toán là một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để hoàn thành một nhiệm vụ, giải quyết một vấn đề nào đó.
TÓM TẮT BÀI HỌC* Bài toán là một vấn đề cần giải quyết với đầu vào, đầu ra được xác định rõ ràng, chặt chẽ. * Thuật toán là một quy trình chặt chẽ gồm một số bước, có chỉ rõ trình tự thực hiện để giải quyết một bài toán cụ thể nào đó. |
Bình Luận
Để Lại Bình Luận Của Bạn