Bài 4. Bài toán và thuật toán

- 0 / 0
(Tài liệu chưa được thẩm định)
Nguồn:
Người gửi: Trần Văn Nghĩa (trang riêng)
Ngày gửi: 23h:31' 29-09-2008
Dung lượng: 811.5 KB
Số lượt tải: 13
Nguồn:
Người gửi: Trần Văn Nghĩa (trang riêng)
Ngày gửi: 23h:31' 29-09-2008
Dung lượng: 811.5 KB
Số lượt tải: 13
Số lượt thích:
0 người
1. Bài Toán
Ví dụ:
- Giải phương trình bậc 2:
- Chứng minh phương trình:
Luôn có nghiệm với mọi giá trị của m.
- Quản lý học sinh.
Trong nhà trường có phần mềm quản lý học sinh. Nếu ta yêu cầu đưa ra những học sinh có điểm TB từ 7 trở lên => Đó là bài toán.
- Hay đơn giản là yêu cầu máy tính cho ra kết quả của một phép tính nhân hoặc chia => Đó cũng là một bài toán.
Câu hỏi:
*Khái niệm:
- Bài toán là những việc mà con người muốn máy tính thực hiện.
Vậy bài toán trong tin học là gì?
- Công việc đầu tiên là xác định được:
+ Đâu là dữ kiện đã cho.
+ Đâu là cái cần tìm.
Vậy đứng trước một bài toán công việc đầu tiên là gì?
Các yếu tố:
- Khi giải một bài toán cần quan tâm đến 2 yếu tố sau:
+ input (Thông tin đưa vào máy).
+ Output (Thông tin muốn lấy từ máy).
Ví dụ1: Bài toán tìm ước chung lớn nhất của 2 số nguyên M và N.
Input và Output bài toán trên là gì?
Lời giải:
Input: 2 số nguyên dương M và N
Output: ƯCLN của 2 số M và N
Ví dụ 2: Cho biết input và Output của bài toán giải phương trình bậc 2:
Lời giải:
+Input: a, b, c là các số thực.
+Output: Nghiệm của phương trình.
Ví dụ 3: Kiểm tra N có phải là 1 số nguyên tố hay không?
Lời giải:
+ Input: N là số nguyên
+ Output: Trả lời câu hỏi "N có phải là một số nguyên tố hay không?"
Ví dụ 4: Hãy cho biết Input và Output của bài toán xếp loại học tập.
Lời giải:
+ Input: Bảng điểm của học sinh
+ Output: Bảng xếp loại học tập
- Sau khi đã xác định được Input và Output Của bài toán.
=> Vậy muốn máy tính đưa ra được Output
từ input đã cho thì cần phải có chương trình,
mà muốn viết chương trình cần có thuật toán.
Vậy thuật toán là gì?
2. Thuật 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.
?Tác dụng của thuật toán
- Dùng để giải một bài toán.
?Dãy hữu hạn các lệnh => Các lệnh ở đây phải có giới hạn không được vô hạn (số câu lệnh đếm được).
?Ví dụ: Tìm ước chung lớn nhất của 2 số nguyên M và N.
=> Xác định input và Output của bài toán.
+Input: M, N.
+Output: ƯCLN(M , N).
Thuật toán
B1: Nhập M, N
B2: Nếu M = N thì ƯCLN(M , N) = M.
B3: Nếu M>N thì thay M = M - N quay lại B2
B4: Thay N = N - M rồi quay lại B2
B5: Gán ƯCLN = M ?Kết thúc.
?Nhập giá trị cụ thể:
B1: Nhập M = 12 ; N = 8 ? M>N
B3: M = 12 - 8 = 4 ? N>M
B4: M = 4 ; N = 8 - 4 ? N = M.
=> ƯCLN(12, 8) = M = 4
?Cách viết thuật toán theo từng bước như trên gọi là cách Liệt kê, còn có cách khác là dùng sơ đồ khối (học vào tiết sau).
? Thông qua bài học hôm nay các em cần nắm được những kiến thức sau:
+Khái niệm Bài toán, thuật toán.
+Cách giải bài toán trên máy tính.
+Xác định được đâu là Input, Output của bài toán.
? Bài tập về nhà:
Bài 1: Hãy xác định Input, Output của bài toán sau:
a) Hệ phương trình
b) Tính diện tích hình tròn (Bán kính R)
ax + by = c
a`x + b`y = c`
Ví dụ:
- Giải phương trình bậc 2:
- Chứng minh phương trình:
Luôn có nghiệm với mọi giá trị của m.
- Quản lý học sinh.
Trong nhà trường có phần mềm quản lý học sinh. Nếu ta yêu cầu đưa ra những học sinh có điểm TB từ 7 trở lên => Đó là bài toán.
- Hay đơn giản là yêu cầu máy tính cho ra kết quả của một phép tính nhân hoặc chia => Đó cũng là một bài toán.
Câu hỏi:
*Khái niệm:
- Bài toán là những việc mà con người muốn máy tính thực hiện.
Vậy bài toán trong tin học là gì?
- Công việc đầu tiên là xác định được:
+ Đâu là dữ kiện đã cho.
+ Đâu là cái cần tìm.
Vậy đứng trước một bài toán công việc đầu tiên là gì?
Các yếu tố:
- Khi giải một bài toán cần quan tâm đến 2 yếu tố sau:
+ input (Thông tin đưa vào máy).
+ Output (Thông tin muốn lấy từ máy).
Ví dụ1: Bài toán tìm ước chung lớn nhất của 2 số nguyên M và N.
Input và Output bài toán trên là gì?
Lời giải:
Input: 2 số nguyên dương M và N
Output: ƯCLN của 2 số M và N
Ví dụ 2: Cho biết input và Output của bài toán giải phương trình bậc 2:
Lời giải:
+Input: a, b, c là các số thực.
+Output: Nghiệm của phương trình.
Ví dụ 3: Kiểm tra N có phải là 1 số nguyên tố hay không?
Lời giải:
+ Input: N là số nguyên
+ Output: Trả lời câu hỏi "N có phải là một số nguyên tố hay không?"
Ví dụ 4: Hãy cho biết Input và Output của bài toán xếp loại học tập.
Lời giải:
+ Input: Bảng điểm của học sinh
+ Output: Bảng xếp loại học tập
- Sau khi đã xác định được Input và Output Của bài toán.
=> Vậy muốn máy tính đưa ra được Output
từ input đã cho thì cần phải có chương trình,
mà muốn viết chương trình cần có thuật toán.
Vậy thuật toán là gì?
2. Thuật 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.
?Tác dụng của thuật toán
- Dùng để giải một bài toán.
?Dãy hữu hạn các lệnh => Các lệnh ở đây phải có giới hạn không được vô hạn (số câu lệnh đếm được).
?Ví dụ: Tìm ước chung lớn nhất của 2 số nguyên M và N.
=> Xác định input và Output của bài toán.
+Input: M, N.
+Output: ƯCLN(M , N).
Thuật toán
B1: Nhập M, N
B2: Nếu M = N thì ƯCLN(M , N) = M.
B3: Nếu M>N thì thay M = M - N quay lại B2
B4: Thay N = N - M rồi quay lại B2
B5: Gán ƯCLN = M ?Kết thúc.
?Nhập giá trị cụ thể:
B1: Nhập M = 12 ; N = 8 ? M>N
B3: M = 12 - 8 = 4 ? N>M
B4: M = 4 ; N = 8 - 4 ? N = M.
=> ƯCLN(12, 8) = M = 4
?Cách viết thuật toán theo từng bước như trên gọi là cách Liệt kê, còn có cách khác là dùng sơ đồ khối (học vào tiết sau).
? Thông qua bài học hôm nay các em cần nắm được những kiến thức sau:
+Khái niệm Bài toán, thuật toán.
+Cách giải bài toán trên máy tính.
+Xác định được đâu là Input, Output của bài toán.
? Bài tập về nhà:
Bài 1: Hãy xác định Input, Output của bài toán sau:
a) Hệ phương trình
b) Tính diện tích hình tròn (Bán kính R)
ax + by = c
a`x + b`y = c`
 







Các ý kiến mới nhất