MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN:.[r]
Trang 1Từ bài toán đến chương trình
Từ bài toán đến chương trình
Trang 2Kiểm tra bài cũ
Đề 2:
1/ Thuật toán là gì?
2/ Quá trình giải bài toán trên máy tính gồm những bước nào?
Đề 1:
1/ Bài toán là gì?
2/ Em hiểu như thế
nào về xác định bài
toán?
Trang 3Output:
Ví dụ 2: Một hình chữ
nhật với chiều rộng 2a,
chiều dài b và một hình
bán nguyệt bán kính a
như hình vẽ
Tính diện tích hình A?
2 số a, b Diện tích hình A S1 2ab
S S1+S2
và kết thúc
S2
Bước 1:
{Tính diện tích S1 của hình
chữ nhật}
Bước 2:
{Tính diện tích S2 của hình
bán nguyệt}
Bước 3:
{Tính diện tích S của hình A}
b
S2 S1
Trang 4Ví dụ 3: Tính tổng của 100 số tự nhiên đầu tiên
4 MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN:
Trang 5Ví dụ 3: Tính tổng của 100 số tự nhiên đầu tiên
Input:
Output:
Sum Sum + 1
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100 Giá trị của tổng 1 + 2 + 3+ … + 100
Sum 0
Sum Sum + 2
Sum Sum + 100
Sum 0; i 0
Nếu i ≤ 100, thì Sum Sum + i và quay lại bước 2
i i + 1
Thông báo kết quả
và kết thúc thuật toán
Bước 1:
Bước 2:
Bước 3:
Bước 1:
Bước 101:
Bước 2:
Bước 3:
Bước 4:
….
Trang 6Ví dụ 4: Đổi giá trị của 2 biến x và y
4 MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN:
Input: Hai biến x, y có giá trị tương ứng là a và b
Output: Hai biến x, y có giá trị tương ứng là b và a
Bước 1: z x
Bước 2: x y
Bước 3: y z
Trang 7so sánh hai số đó dưới dạng “a lớn hơn b”, “a nhỏ hơn b” hoặc “a bằng b”
Input: Hai số thực a và b
Output: Kết quả so sánh
Bước 1: Nếu a>b kết quả là “a lớn hơn b” và chuyển đến bước 3
Bước 3: Kết thúc thuật toán
Bước 2: Nếu a<b kết quả là “a nhỏ hơn b” ; Ngược lại kết quả là “a bằng b”
Trang 8Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2,
…, an cho trước
4 MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN:
Trang 9Quả này
lớn nhất
Quả này mới lớn hơn
Quả này mới lớn hơn
Tìm ra quả lớn nhất rồi!
MAX
Trang 10Ý tưởng:
- Đặt giá trị Max = a1
- Lần lượt cho i chạy từ 2 đến N , so sánh
giá trị ai với giá trị Max , nếu ai > Max thì
Max nhận giá trị mới là ai.
Trang 11Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2,
…, an cho trước