Như vậy chúng ta đã có một bài toán cần giải quyết trên máy tính .Vậy trong phạm vi tin học,bài toán là gì?. Trong phạm vi tin học,Bài toán là một việc nào đó ta muốn máy tính thực hiện
Trang 1A-MỞ ĐẦU
1) LÝ THUYẾT
1.1Khái niệm bài toán
Đề bài:
Cần có tổng 200000 Đồng từ 3 loại giấy bạc : 1000 Đồng,2000 Đồng,5000 Đồng Lập chương trình để tìm ra tất cả các phương án có thể
Vậy bài toán đưa ra nhằm mục đích gì ??
Bài toán đưa ra là nhằm yêu cầu chúng ta tìm ra kết quả
Bài toán là yêu cầu đặt ra với những dữ liêu cho trưóc Vậy bài toán là gì
?
Trang 2Như vậy chúng ta đã có một bài toán cần giải quyết trên máy tính
Vậy trong phạm vi tin học,bài toán là gì?
Trong phạm vi tin học,Bài toán là một việc nào đó ta muốn máy tính thực hiện
ĐỂ giải một bài toán ta phải làm như thế nào?
Để giải một bài toán ta cần phải biết 2 thông tin sau:
Bài toán cho biết những gì?
Bài toán yêu cầu tìm gì?
Với bài toán : cần có tổng 200000 đồng từ 3 loại giấy bạc 1000 đồng, 2000 đồng ,5000 đồng Lập chương trình tìm ra các phương án có thể
Bài toán có 2 thông tin:
Cho biết :tổng là 200000 đồng có 3 loại giấy bạc 1000 đồng,2000 đồng và 5000 đồng
Yêu cầu: lập chương trình tìm ra các phương án có thể tính được ( các trường hợp
có thể xảy ra)
Ta thấy bài toán này có độ phức tạp cao nếu tính toán bên ngoài thì rất dài và mất thời gian Giải pháp đưa ra là cần giải nó trên máy tính Vậy để giải bài toán trên máy tính cần làm như thế nào?
Khi sử dụng máy tính giải bài toán ,ta cần quan tâm 2 yếu tố:
- Đưa vào máy tính những thông tin gì (input)
- Cần lấy ra thông tin gì (output)
Bài toán được cấu tạo từ hai thành phần:
Trang 3- Input : các thông tin đã có
- Output : các thông tin cần tìm từ Input
1.2) Khái niệm thuật toán
a) Khái niệm
Khi sử dụng máy tính để làm việc ta cần quan tâm 2 thành phần : input và output Từ input máy tính sẽ cho ra output cần tìm
- Câu hỏi được đưa ra là :
+) Máy tính làm cách nào để cho ra output nhỉ?
+) Muốn máy tính cho ra output thì chúng ta cần phải chỉ ra cho máy tính dãy các thao tác cần thực hiện
Vậy các thao tác đó được thực hiện như thế nào Cái nào thực hiện trước cái nào thực hiện sau hay cái nào trước cũng được à??
Câu trả lời đưa ra là : 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ật 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
b) Cách biểu diễn bài toán
Có 2 cách cơ bản :
-Biểu diễn bằng cách liệt kê
+)tìm input ,output của bài toán cần giải (1)
+) nêu ý tưởng giải bài toán này (2)
+)các bước để giải bài toán này.(3)
Tùy vào từng bài mà ta có cách bước giải quyết bài toán khác nhau
-Biểu diễn bằng sơ đồ khối
Biểu diễn bằng sơ đồ khối có một số quy định như sau:
-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
-Hình ô van thể hiện thao tác nhập ,xuất dữ liệu
- Các mũi tên : thể hiện trình tự thực hiện các thao tác
Các thao tác trong thuật toán phải được mô tả đầy đủ chi tiết để đối tượng thực hiện thuật toán có thể thực hiện được
c) Các tính chất của thuật toán
Thuật toán có 3 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
Trang 4Tí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
B) ÁP DỤNG