Chµo
mõng
ThÇy
C«
Tham
Dù
tiÕt
d¹y
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?
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.
Tiết 21:
Bài 5:
Tõ bµi to¸n ®Õn
ch¬ng tr×nh
(tt)
Ví dụ 4
Ví dụ 5
Ví dụ 6
Ví dụ 1
Ví dụ 2
Ví dụ 3
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 21: Từ bài toán đến chương trình
Ví 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
a
b
y
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
a
b
b
b
Sử dụng biến trung gian:
Biến z
Bước 1: z x
Giá trị của z bằng a
Bước 2: x y
Giá trị của x bằng b
Bước 3: y z
Giá trị của y bằng
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
y
z
x
z
x
a
b
Ví dụ 4
Ví dụ 5
Ví dụ 6
Ví dụ 1
Ví dụ 2
Ví dụ 3
4. Một số ví dụ minh họa
Tiết 21: Từ bài toán đến chương trình
Tôi lớn hơn anh
Anh nhỏ hơn tôi
a
b
Hay anh và
tôi bằng
nhau nhỉ?
Ví 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”,
Hoặc: “a bằng b”
Input:
Hai số thực a và b
Output:
Kết quả so sánh
Giải quyết bài toán:
Nếu a>b,
thì “a lớn hơn b”.
Nếu a<b,
thì “a nhỏ hơn b”
Ngược lại,
thì “a bằng b”
Và kết thúc thuật toán
Trường hợp 1: a<b
Trường hợp 2: a>b
Trường hợp 3: a=b
Bước 1:
Bước 2:
Giải quyết bài toán:
Bước 1:
Nếu a>b
thì “a lớn hơn b”.
Bước 2:
Nếu a<b
thì “a nhỏ hơn b”
Ngược lại,
thì “a bằng b”
Và kết thúc thuật toán
Trường hợp: a>b
a= ,b=
Bước 1:
Thông báo kết quả là:
“a lớn hơn b
Bước 2:
Thông báo kết quả là:
a bằng b”
Kết thúc thuật toán
5
3
5
3
Bước 1:
Nếu a>b
>
ĐÚNG
thì “a lớn hơn b”.
Bước 2:
5
3
Nếu a<b
<
SAI
thì “a nhỏ hơn b”.
Không thực hiện
Ngược lại,
thì “a bằng b”
Và kết thúc thuật toán
SAI
Giả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
Ví dụ 4
Ví dụ 5
Ví dụ 6
Ví dụ 1
Ví dụ 2
Ví dụ 3
4. Một số ví dụ minh họa
Tiết 21: Từ bài toán đến chương trình
7
4
6
1
0
2
Max
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ố a
1
, a
2
, a
3
, , a
n
(n 1)
Out put:
Giá trị MAX = max {a
1
, a
2
, a
3
, , a
n
}
≥
Ta 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 a
1
cho biến Max.
- Tiếp theo lần lượt so sánh các số a
2
, , a
n
của dãy A
với Max
- Nếu a
i
>Max ta gán a
i
cho Max
Ý tưởng:
7
4
6
1
0
2
Max
Bước 1: Max a
1
; 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 a
i
> Max, Max a
i
.
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
Bước 1: Max a
1
; 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 a
i
> Max, Max a
i
. Quay lại bước 2
Bước 5: Kết thúc thuật toán
7
4
6
1
0
2
i =
N=5
Bước 1: Max a
1
; i 1.
Max
Max a
1
Bước 2: i i+1.
1
2
3
4
Bước 3: Nếu i>n, chuyển đến bước 5
a
2
= 7
Bước 4: Nếu ai > Max, Max ai. Quay lại bước 2
<
So sánh Max với a2
Max a
2
a
3
= 6
So sánh Max với a3
5
a
4
= 10
So sánh Max với a
4
Max a
4
a
5
= 2
So sánh Max với a
5
=
6
>
Bước 5: Kết thúc thuật toán
7
4
6
1
0
2
Ví dụ 4
Ví dụ 5
Ví dụ 6
Ví dụ 1
Ví dụ 2
Ví dụ 3
4. Một số ví dụ minh họa
Tiết 21: Từ bài toán đến chương trình
Bà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
Bài tập 2
Giả 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
Bài tập
y
5
Bước 1: x x+y
x = 8 ; y = 5
Bước 2: y x-y
x = 8 ; y = 3
Bước 3: x x-y
x = 5 ; y = 3
xx
3 +
x
3
3
5
8
8
x
y
8
x
5
y
-
8
5
3
3
y
y
3
xx
3
-
x
8
8
3
5
5
x
Bước 1:
Bước 2:
Bước 3:
x x+y
y x-y
x x-y
Hướng dẫn về nhà:
1.Học và hiểu được thuật toán của 3 bài
toán trong tiết học này.
2. Trả lời các câu hỏi và làm bài tập
4,5,6/SGK.
3. Học thuộc phần ghi nhớ /SGK
Kính chào
quý thầy cô