KHÁI NIỆM BÀI TOÁN• Là một việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào Input ta tìm được thông tin ra Output • Ví dụ: – Tìm UCLN của hai số nguyên dương.. Một bài t
Trang 31 KHÁI NIỆM BÀI TOÁN
• Là một việc nào đó mà ta muốn máy tính thực hiện để từ thông tin đưa vào (Input) ta tìm được thông tin ra (Output)
• Ví dụ:
– Tìm UCLN của hai số nguyên dương
• Input: Hai số nguyên dương m và n
• Output: UCLN của m và n
– Bài toán nấu cơm
• Input: Gạo, nước
• Output: Cơm đã chín
Một bài toán được tạo bởi 2 thành phần là:
Input (giả thiết), Output (kết luận)
Trang 4• 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.
• Có hai cách để thể hiện thuật toán:
– Liệt kê từng bước
– Vẽ sơ đồ khối
2 KHÁI NIỆM THUẬT TOÁN
Thể hiện thao tác nhập/xuất dữ liệu
Thể hiện thao tác
so sá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
Trang 5• Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên có n phần tử
– Input: số nguyên n và các số hạng a1,a2,…an
– Output: số lớn nhất của dãy số
– Ý tưởng:
• Giả sử a1 là lớn nhất, ta cho max nhận giá trị a1
• Lần lượt so sánh max với các số còn lại trong dãy, nếu max<ai thì max nhận giá trị mới là ai
2 KHÁI NIỆM THUẬT TOÁN
Quả này
lớn nhất
Còn phòng
nào không nhỉ
A! còn Quả ở phòng
số 1 lớn nhất
Còn phòng nào không nhỉ
A! còn Waa! Quả này
là lớn nhất.
Còn phòng nào không nhỉ
A! còn Waa! Lớn quá
Quả này lớn nhất
Còn phòng nào không nhỉ
A! còn Quả ở phòng số
4 vẫn lớn nhất
Còn phòng nào không nhỉ
A! Hết rồi
Vậy, quả ở phòng
số 4 là lớn nhất
Trang 6• Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên có n phần tử
– Thuật toán:
• Liệt kê:
+ B1: Nhập số nguyên dương n và dãy a1,a2,…an + B2: max:=a1; i:=2; (hoặc max←a1; i←2;)
+ B3: Nếu i>n thì số lớn nhất là max Dừng
+ B4: Nếu ai>max thì max:=ai (hoặc max←ai)
+ B5: i:=i+1 (hoặc i←i+1) quay lại bước 3
2 KHÁI NIỆM THUẬT TOÁN
Trang 7• Ví dụ: Tìm giá trị lớn nhất của một dãy số nguyên có n phần tử
– Thuật toán:
• Sơ đồ khối: Nhập n, a 1 ,a 2 a n
max:=a 1 ; i:=2
i>n
i:=i+1
F
a i >max
Số lớn nhất
là max Dừng
T
T
F
2 KHÁI NIỆM THUẬT TOÁN
Nhập n, a 1 ,a 2 a n
max:=a 1 ; i:=2
i>n
i:=i+1
F
a i >max
Số lớn nhất
là max Dừng
T
T
F
Nhập n, a 1 ,a 2 a n
max:=a 1 ; i:=2
i>n
i:=i+1
F
a i >max
Số lớn nhất
là max Dừng
T
T
F
3 1 5 7 6
A
1 2 3 4 5
max
3
ai 1 <
3
4
5
6
=
6
~
>