Bài 5. Từ bài toán đến chương trình

Chia sẻ bởi Ngô Thanh Tuấn | Ngày 24/10/2018 | 44

Chia sẻ tài liệu: Bài 5. Từ bài toán đến chương trình thuộc Tin học 8

Nội dung tài liệu:

Chào mừng quý thầy cô về dự giờ

Môn Tin học 8
Quá trình giải bài toán trên máy tính gồm mấy bước? Liệt kê?
Ứng dụng:Hãy chỉ ra INPUT và OUTPUT của bài toán sau:
Tính diện tích hình chữ nhật.

Kiểm tra bài cũ
Trả lời:
+ INPUT: Chiều dài là a, chiều rộng là b.
+ OUTPUT: Diện tích hình chữ nhật.

Kiểm tra bài cũ
Trả lời: Quá trình giải bài toán trên máy tính gồm 3 bước:
Xác định bài toán: Xác định rõ INPUT, OUTPUT
Xây dựng thuật toán: Tìm ra các bước giải bài toán
Viết chương trình: Diễn đạt thuật toán bằng 1 ngôn ngữ lập trình cụ thể.
TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH (tt)
Bài 5.
Bài toán và xác định bài toán
Quá trình giải bài toán trên máy tính
Thuật toán và mô tả thuật toán
Một số ví dụ minh họa
Ví dụ 4
Ví dụ 5
Ví dụ 6
Ví dụ 2
Ví dụ 3
4. Một số ví dụ về thuật toán
Ví dụ 2: Một hình A được ghép từ một hình chữ nhật với chiều rộng là 2a, chiều dài là b và một hình bán nguyệt bán kính a như hình sau:
HÌNH A
1. Xác định bài toán
INPUT
OUTPUT
Các hệ số a và b
Diện tích S của hình A

4. Một số ví dụ về thuật toán
S1
S2
Hình A
Ý tưởng:
+ Tính S1=?
+ Tính S2 =?
+ Tính S =?
Bước 1 : Tính S1 ← 2ab;
Bước 3 : S ← S1 + S2;
Bước 4 : Thông báo S và kết thúc thuật toán.

4. Một số ví dụ về thuật toán
2. Mô tả thuật toán
Thuật toán 1:
Bước 1: 1 + 2  kq;
Bước 2: kq  kq + 3;
Bước 3: kq  kq + 4;
Bước 4: kq  kq + 5;

4. Một số ví dụ về thuật toán
Bài toán: Làm thế nào để tính tổng 5 số tự nhiên đầu tiên?
1 + 2 + 3 + 4 + 5
Thuật toán 2:
Bước 1: Sum  0;
Bước 2: Sum  Sum + 1;
Bước 3: Sum  Sum + 2;
Bước 4: Sum  Sum + 3;
Bước 5: Sum  Sum + 4;
Bước 6: Sum  Sum + 5;
1. Xác định bài toán
INPUT
OUTPUT
Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100
Giá trị của tổng 1 + 2+…+ 100

4. Một số ví dụ về thuật toán
Ví dụ 3: Tính tổng của 100 số tự nhiên đầu tiên
1
2
3
4
5
6
7
8

4. Một số ví dụ về thuật toán
SUM=0
SUM
SUM
SUM
SUM
SUM
SUM
SUM
SUM
SUM
Ý tưởng :
Bước 1: Sum  0;
Bước 2: Sum  Sum + 1;
Bước 3: Sum  Sum + 2;
Bước 4: Sum  Sum + 3;
...
Bước 101: Sum  Sum + 100;

4. Một số ví dụ về thuật toán
Phải thực hiện 101 thao tác
?
Vậy có cách nào khác hay hơn không?
2. Mô tả thuật toán
Bước1 : 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.

4. Một số ví dụ về thuật toán
Tính tổng 5 số tự nhiên đầu tiên:
1
1
Đ
1
2
2
Đ
3
3
3
Đ
6
4
4
Đ
10
5
5
Đ
15
6
Sai
Kết thúc

4. Một số ví dụ về thuật toán

4. Một số ví dụ về thuật toán
b
Ví dụ 4:
Đổi giá trị của hai biến x, y
1. Xác định bài toán
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
a
Sử dụng thêm biến trung gian: Biến z
Bước 1: z  x
Gán giá trị của biến x bằng giá trị của biến z.
Bước 2: x  y
Gán giá trị của biến y bằng giá trị biến x.
Bước 3: y  z
Giá trị của biến z bằng giá trị của y.
Thuật toán:

4. Một số ví dụ về thuật toán
y
x
Qua 3 ví dụ trên em theo em để giải 1 bài toán cụ thể trên máy tính ta cần thực hiện qua mấy bước? Đó là những bước nào?

4. Một số ví dụ về thuật toán
Để giải 1 bài toán cụ thể ta cần thực hiện qua 3 bước:
Bước 1: Xác định bài toán: INPUT, OUTPUT
Bước 2: Mô tả thuật toán.
Bước 3: Viết chương trình
Về nhà làm các bài tập 1,2,3 sách giáo khoa.

Dặn dò
a
b

4. Một số ví dụ về thuật toán
Theo em hai con vật dưới đây, con vật a hay con vật b sẽ nặng hơn?
Ví dụ 5: 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 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


4. Một số ví dụ về thuật toán
Thuật toán:
Bước 1: Nếu a>b thì thông báo “a lớn hơn b”.
Chuyển đến bước 3
Bước 2: Nếu aNgược lại, thì thông báo “a bằng b”
Bước 3: Kết thúc thuật toán

4. Một số ví dụ về thuật toán
Em hãy quan sát và tìm số lớn nhất trong các số sau:
24
35
11
29
01
30
19
36

4. Một số ví dụ về thuật toán
a1
a2
a3
a4
a5
a6
a7
a8
Ví dụ 6: Tìm số lớn nhất trong dãy A các số a1, a2, a3,…,an
Input:
Dãy A các con số a1, a2, a3, ....., an (n1)
Out put:
Giá trị MAX = max {a1, a2, a3, ....., an }
(Hay Giá trị lớn nhất trong dãy A)

4. Một số ví dụ về thuật toán
1. Xác định bài toán

4. Một số ví dụ về thuật toán
a1
a2
a3
a4
a5
a6
a7
a8
24
35
11
29
01
30
19
36

4. Một số ví dụ về thuật toán
Thuật toán:
Bướ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 Max < ai , Max  ai;
Quay lại bước 2;

Bước 5: Thông báo và kết thúc thuật toán;
* Mô tả thuật toán tìm số lớn nhất trong dãy số với n=8, tương ứng với dãy: 5, 3, 4, 7, 6, 3, 15, 9
Sai
Sai
Sai
Sai
Sai
Sai
Sai
Đúng
Sai
Sai
Đúng
Sai
Sai
Đúng
Sai
Kết thúc
5
5
5
7
7
7
15
15
1
2
3
4
5
6
7
8
9

4. M?t s? ví d? v? thu?t tốn
Cho trước số nguyên a. Hãy xác định INPUT, OUTPUT và mô tả thuật toán cho biết kết quả so sánh số a với 0 dưới dạng:
“a lớn hơn 0”
Hoặc “a nhỏ hơn 0”
Hoặc “a bằng 0”

Bài tập
1. Xác định bài toán
INPUT
OUTPUT
Số nguyên a.
Kết quả so sánh
2. Mô tả thuật toán:
Bước 1: Nếu a>0 thì thông báo “a lớn hơn 0”
Chuyển đến bước 3
Bước 2: Nếu a<0 thì thông báo “a nhỏ hơn 0”
Ngược lại, thông báo “a bằng 0”
Bước 3: Kết thúc thuật toán

Bài tập

Bài tập
Bước 1: Max …; i 1;
Bước 2: i  i + …;
Bước 3: Nếu i > …, ……………………… ;
Bước 4: Nếu ….… < ai , Max  ai;
Quay lại bước 2;
Bước 5: Thông báo và kết thúc thuật toán;
Trong thuật toán tìm số lớn nhất của dãy A gồm 3 số a1, a2, a3 như sau còn thiếu một vài chỗ ở dấu…Em hãy điền vào dấu … những giá trị thích hợp để thuật toán hoàn chỉnh hơn.
a1
1
3
Chuyển đến bước 5
Max
Giả sử x và y là các biến số. Hãy cho biết kết quả của việc thực hiện thuật toán sau:
Bước 1: x  x + y;
Bước 2: y  x - y;
Bước 3: x  x - y;

Bài tập
Trả lời: Sau ba bước, x có giá trị ban đầu của y và y có giá trị ban đầu của x.
Tức là giá trị của hai biến x và y được hoán đổi cho nhau.
Ý tưởng: Giả sử x là 5, y là 10. Sau khi thực hiện thuật toán thì x=? Và y = ?

Bài tập
Dựa vào thuật toán sau giả sử n là 3 thì sau khi thực hiện thuật toán biến SUM sẽ mang giá trị là bao nhiêu?
Bước1 : SUM ← 0; i ← 0;
Bước 2 : i ← i + 1;
Bước 3 : Nếu i ≤ n, 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.
Trả lời:
Biến Sum sẽ mang giá trị là 6

Bài tập
Bước 1: Max  a1; i 1;
Bước 2: i  i+1;
Bước 3: Nếu i>3, chuyển đến bước 5;
Bước 4: Nếu Max Quay lại bước 2;
Bước 5: Thông báo và kết thúc thuật toán;
Dựa vào thuật toán sau giả sử dãy A gồm ba phần tử 12, 1, 20 thì sau khi thực hiện thuật toán biến Max sẽ mang giá trị là bao nhiêu?
Trả lời:
Biến Max sẽ mang giá trị là 20.
Cho trước ba số dương a, b, c. Hãy mô tả thuật toán cho biết ba số đó có thể là ba cạnh của một tam giác hay không?

Bài tập
Input:
Ba số dương a>0, b>0, c>0
Out put:
Thông báo “a, b, c có thể là ba cạnh của một tam giác”
Hoặc “a, b, c không thể là ba cạnh của một tam giác”
Thuật toán:
Bước 1: Nếu a+b>c, chuyển đến bước 5
Bước 2: Nếu b+c>a, chuyển đến bước 5
Bước 3: Nếu a+c>b, chuyển đến bước 5
Bước 4: Thông báo ” a, b, c có thể là ba cạnh của một tam giác.”
Bước 5: Thông báo “a, b, c không thể là ba cạnh của một tam giác.”

Bài tập
Về nhà làm các bài tập 4,5,6 sách giáo khoa.

Dặn dò
Thực hiện tháng 11 năm 2009
Bài học đã
KẾT THÚC
Kính chào và kính chúc
Quý thầy cô cùng các em học sinh nhiều sức khỏe

Bài tập
Bước 1: Sum …; i 0;
Bước 2: i  i + …;
Bước 3: Nếu i  …, thì Sum  ……. + …..
Và ……………………..
Bước 4: Thông báo và kết thúc thuật toán;
Trong thuật toán tính tổng 4 số tự nhiên đầu tiên như sau còn thiếu một vài chỗ ở dấu…Em hãy điền vào dấu…những giá trị thích hợp để thuật toán hoàn chỉnh hơn.
0
1
4
Quay lại bước 2
Sum
i
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Ngô Thanh Tuấn
Dung lượng: | Lượt tài: 2
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)