Tải bản đầy đủ (.ppt) (26 trang)

Tiết 21_Từ bài toán đến chương trình

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (510.71 KB, 26 trang )


Chµo
mõng
ThÇy

Tham

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ô

×