Một số thuật toán giúp hs dễ nắm bắt, dễ hình dung, hiểu bài nhanh, nhớ lâu, tránh gây bù ngủ, k chú ý với hs, bài giảng này tự soạn chỉnh sửa qua các năm, hợp lí, chi tiết, dễ giảng, từng bước, từng bước
Trang 1Bài 5: Từ bài toán đến chương trình
1. Bài tốn và xác định bài tốn
2. Quá trình giải bài tốn trên máy tính
3. Thuật tốn và mơ tả thuật tốn
4. Một số ví dụ về thuật tốn
Lưu ý: Trong biểu diễn thuật tốn người ta dùng kí hiệu để biểu thị phép gán
Trang 2Bài 5: Từ bài toán đến chương trình
Trang 3* Xác định bài toán:
2a là chiều rộng, b là chiều dài hình chữ nhật.
b
Bài 5: Từ bài toán đến chương trình
4 Một số ví dụ về thuật toán:
Trang 4Mô tả thuật toán:
Trang 5Ví dụ 2 : Hoán đổi giá trị 2 biến x, y.
* INPUT: Biến x lưu giá trị a, biến y lưu giá trị b
* OUTPUT: Biến x lưu giá trị b, biến y lưu giá trị a
Bài 5: Từ bài toán đến chương trình
4 Một số ví dụ về thuật toán:
Trang 6* Đổi giá trị của hai biến
Cốc A có nước màu xanh, cốc B có nước màu đỏ -> Hoán đổi
Cốc A có nước màu đỏ , cốc B có nước màu xanh?
Bài 5: Từ bài toán đến chương trình
4 Một số ví dụ về thuật toán:
Trang 7Cốc A Cốc C Cốc B
Bài 5: Từ bài toán đến chương trình
* Đổi giá trị của hai biến
Trang 8Cốc A Cốc C Cốc B
Bài 5: Từ bài toán đến chương trình
* Đổi giá trị của hai biến
Trang 9Cốc A Cốc C Cốc B
Bài 5: Từ bài toán đến chương trình
* Đổi giá trị của hai biến
Trang 10Bài 5: Từ bài toán đến chương trình
VD2: Đổi giá trị của hai biến x,y
4 Một số ví dụ về thuật toán:
Trang 12Ví dụ 3: Tính tổng của n số tự nhiên đầu tiên
Trang 13Nhận xét:
S = 0 S1 = S + 1 S2 = S1 + 2
Bắt đầu từ S1 việc tính S đ ợc lặp ược lặp
đi lặp lại 100 lần theo quy luật
S sau = S tr ớc Ưước + i với i tăng lần l ợt từ 1 đến 100 ược lặp
1
Bài 5: Từ bài toỏn đến chương trỡnh
Input: Dóy 100 số tự nhiờn đầu tiờn: 1, 2, …, 100 Output: Giỏ trị tổng 1 + 2 + … + 100
Trang 14* Mô tả thuật toán:
Trang 15Bước 1: SUM 0Bước 2: SUM SUM + 1Bước 3: SUM SUM + 2 .
Bước n+1: SUM SUM + n
Bước 1: SUM 0Bước 2: SUM SUM + 1Bước 3: SUM SUM + 2
Bước n+1: SUM SUM + n
Trang 23- Bước 1: Nếu a>b, cho kết quả “a lớn hơn b” và
chuyển đến bước 3
- Bước 2: Nếu a<b, cho kết quả “a nhỏ hơn b”;
ngược lại, cho kết quả “a = b”
- Bước 3: Kết thúc thuật toán
Ví dụ 4: Cho hai số thực a và b Hãy cho biết kết quả so sánh hai số đó
dưới dạng “a lớn hơn b”, “a nhỏ hơn b”
Trang 24Ví dụ 4: Tìm số lớn nhất trong dãy A các số a1 , a2 , …, ancho trước.
Bài 5: Từ bài toán đến chương trình
4 Một số ví dụ về thuật toán:
* Xác định bài toán:
Input: Dãy A gồm các số: a1 , a2 , …, an với (n ≥ 1)
Output: Giá trị max = max{a1 , a2 , …, an}
Trang 25Qu¶ nµy
lín nhÊt
Qu¶ nµy míi lín nhÊt
å! Qu¶ nµy lín h¬n
T×m ra qu¶ lín nhÊt råi!
MAX
Cïng t×m thuËt to¸n
Bài 5: Từ bài toán đến chương trình
Trang 26Bước 3: Nếu i > N, chuyển đến bước 5
Bước 4: Nếu ai > Max thì Max ai rồi quay lại bước 2, trường hợp ngưược lại giữ nguyên Max và quay lại bước 2
Bước 5: Kết thúc thuật toán
Bài 5: Từ bài toán đến chương trình
Trang 27* Mơ tả thuật tốn:
chuyển sang bước 7 Quay về bước 4
aimax
Nhập n Nhập các số trong dãy A
Bài 5: Từ bài tốn đến chương trình
4 Một số ví dụ về thuật tốn:
Trang 28Sai Đúng Sai Sai Sai
Kết thúc
chuyển sang bước 7
quay về bước 4
a i , max
Nhập số phần tử n trong dãy A Nhập các phần tử trong dãy A
i
Bài 5: Từ bài tốn đến chương trình
4 Một số ví dụ về thuật tốn: