Kiểm tra bài cũViết giải thuật của bài toán tính tổng của một dãy gồm 100 số tự nhiên đầu tiên?. Thông báo kết quả và kết thúc thuật toán... Sử dụng biến trung gian: Biến zBước 1: z x
Trang 2Kiểm tra bài cũ
Viết giải thuật của bài toán tính tổng của một dãy gồm 100 số tự nhiên đầu tiên?
Bước 1 SUM ← 0; i ← 0.
Bước 2 i ← i + 1.
Bước 3 Nếu i ≤ 100, thì SUM ← SUM + i
và quay lại bước 2
Bước 4 Thông báo kết quả và kết thúc thuật toán.
Trang 4Ví dụ 4
Ví dụ 5
Ví dụ 1
Ví dụ 2
1.Bài toán và xác định bài toán
2.Quá trình giải bài toán trên máy tính 3.Thuật toán và mô tả thuật toán
4.Một số ví dụ minh họa
Tiết 26: Từ bài toán đến chương trình
Trang 5Ví dụ 4:
Đổi giá trị của hai biến x, y
Input:
Biến x có giá trị a Biến y có giá trị b Output:
Biến x có giá trị b Biến y có giá trị a
y
x
Trang 6y x
X Y
Y X
Cả hai biến X, Y cùng có giá trị ban đầu của biến Y
Giải quyết bài toán
SAI
Trang 7Sử dụng biến trung gian:
Biến zBước 1: z x
giá trị của z, chính là a giá
trị ban đầu của biến x
Giải quyết bài toán Minh họa
Trang 9Tôi lớn hơn anh
Anh nhỏ hơn tôi a
b
Hay anh và
tôi bằng
nhau nhỉ?
Trang 10Ví dụ 5: Cho hai số thực a và b hãy cho biết kết quả so sánh hai số đo dưới dạng “a nhỏ hơn b”,
Hoặc: “a lớn hơn b”,
Trang 11Giải quyết bài toán:
Trang 12Giải quyết bài toán:
Và kết thúc thuật toán
SAI
Trang 13Giải quyết bài toán:
Bước 1: Nếu a>b
thì “a lớn hơn b” Chuyển đến bước 3
Bước 2: Nếu a<b
thì “a nhỏ hơn b”
Ngược lại, thì “a bằng b”
Bước 3: Kết thúc thuật toán
Trang 16
Ví dụ 6: Tìm số lớn nhất trong dãy A các con số a 1 , a 2 , a 3 , , a n cho trước?
Input:
Dãy A các con số a1, a2, a3, , an (n 1) Out put:
Giá trị MAX = max {a1, a2, a3, , an }
≥
Trang 17Ta dùng biến Max để lưu giá trị phần tử lớn nhất của dãy A Việc xác định Max có thể thực hiện như sau:
- Đầu tiên gán a1 cho biến Max
- Tiếp theo lần lượt so sánh các số a2, , an của dãy A với Max
- Nếu ai >Max ta gán ai cho Max
Trang 18Bước 1: Max a1; i 1.
Bước 2: i i+1.
Bước 3: Nếu i>n, chuyển đến bước 5
Quay lại bước 2
Bước 5: Kết thúc thuật toán
Giải quyết bài toán
Trang 19Bước 1: Max a1; i 1.
Bước 2: i i+1.
Bước 3: Nếu i>n, chuyển đến bước 5
Bước 4: Nếu ai > Max, Max ai Quay lại bước 2
Bước 5: Kết thúc thuật toán
Bước 4: Nếu ai > Max, Max ai Quay lại bước 2
Trang 21Bài tập 1
Tìm số lớn nhất trong 3 số a,b,c
* Xác định bài toán:
- Input: 3 số a,b,c.
- Output: Max của 3 số a,b,c
* Mô tả thuật toán
Bước 1: Max a
Bước 2: Nếu b > Max thì Max b
Bước 3: Nếu c > Max thì Max c
Bước 4: Thông báo kết quả và kết thúc
Trang 22Bài tập 2Giả sử biến số x chứa giá trị 3 và biến
số y chứa giá trị 5 Hãy cho biết kết quả của việc thực hiện thuật toán sau
và giải thích cụ thể các bước?
Bước 1: x x+y Bước 2: y x-y Bước 3: x x-y
Trang 23Bài tập
y5
3y
Trang 25Kính chào quý thầy cô