Bài 5. Từ bài toán đến chương trình
Chia sẻ bởi Nguyễn Ngọc Vũ |
Ngày 24/10/2018 |
41
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:
Tổ Tin Trường THCS Phương Đình
1
Tõ BµI TO¸N §ÕN CH¦¥NG TR×NH
bài 5
3. Thuật toán và mô tả thuật toán
2. Quá trình giải bài toán trên máy tính?
1. Bài toán và xác định bài toán là gì?
4. Một số ví dụ về thuật toán
Tổ Tin Trường THCS Phương Đình
2
1. Bài toán và xác định bài toán
Hãy quan sát các bài toán sau !
Bài toán 1: Tính diện tích của một tam giác biết một cạnh và đường cao tương ứng với cạnh đó.
Bài toán 2: Lập một bảng điểm để quản lí kết quả học tập của học sinh trong một lớp.
Bài toán 3: Tìm các cách khắc phục tắc nghẽn giao thông trong giờ cao điểm
Bài toán là gì nhỉ ?
? Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết
Tổ Tin Trường THCS Phương Đình
3
Để giải quyết một bài toán cụ thể , ta cần xác định bài toán
Điều kiện cho trước
Kết quả thu được
Bài toán 1
Điều kiện cho trước: Một cạnh và đường cao tương ứng với cạnh đó
Kết quả thu được: Diện tích hình tam giác
Bài toán 2
Điều kiện cho trước: Thông tin của học sinh trong lớp (Họ tên. điểm các môn...
Kết quả thu được: Kết quả học tập của học sinh
? Xác định bài toán là bước đầu tiên và là bước rất quan trọng trong việc giải bài toán.
Tổ Tin Trường THCS Phương Đình
4
Máy tính có thể tự giải các bài toán không?
2. Quá trình giải bài toán trên máy tính?
ồ không! Tôi chỉ làm theo sự chỉ dẫn thôi !!!
Tổ Tin Trường THCS Phương Đình
5
Dãy hữu hạn các thao tác để giải một bài toán
thường được gọi là thuật toán
? Để máy tính có thể giải các bài toán, ta cần hướng dẫn máy tính thực hiện một dãy hữu hạn các thao tác để từ các điều kiện cho trước ta nhận được kết quả cần thu được.
Tổ Tin Trường THCS Phương Đình
6
Máy tính không thể tự mình tìm ra lời giải của các bài toán. Lời giải của một bài toán cụ thể, tức thuật toán, là tư duy sáng tạo của con người
Hãy nhớ !
Tổ Tin Trường THCS Phương Đình
7
Xác định bài toán: xác định điều kiện ban đầu (input) và kết quả cần xác định (output).
Xây dựng thuật toán: Lựa chọn và mô tả các thao tác sẽ thực.
Viết chương trình: Diễn đạt thuật toán bằng một ngôn ngữ lập trình sao cho máy tính có thể hiểu và thực hiện được.
Quá trình giải bài toán trên máy tính
1
2
3
Tổ Tin Trường THCS Phương Đình
8
VD1
Các bước thực hiện để pha trà mời khách ntn nhỉ ?
Bước 1: Tráng ấm chén bằng nước sôi;
Bước 2: Cho một nhúm trà vào ấm;
Bước 3: Tráng trà;
Bước 4: Rót nước sôi vào ấm và đợi trong 3 - 4 phút;
Bước 5: Rót trà ra chén để mời khách;
3. Thuật toán và mô tả thuật toán
Thuật toán pha trà mời khách.
Input: Trà, nước sôi, ấm và chén
Output: Chén trà đã pha để mời khách
Tổ Tin Trường THCS Phương Đình
9
INPUT: Trứng, dầu ăn, muối và hành.
OUTPUT: Trứng tráng.
Thuật toán "Làm món trứng tráng"
Bước 1. Đập trứng, tách vỏ và cho trứng vào bát.
Bước 2. Cho một chút muối và hành tươi thái nhỏ
vào bát trứng. Dùng đũa quấy mạnh cho
đến khi đều.
Bước 3. Cho một thìa dầu ăn vào chảo, đun nóng
đều rồi đổ trứng vào. Đun tiếp trong
khoảng 1 phút.
Bước 4. Lật mặt trên của miếng trứng úp xuống
dưới. Đun tiếp trong khoảng 1 phút.
Bước 5. Lấy trứng ra đĩa.
VD2
Tổ Tin Trường THCS Phương Đình
10
VD3
Thuật toán giải phương trình bậc nhất
tổng quát: bx + c = 0
Tổ Tin Trường THCS Phương Đình
11
Các bước của ba thuật toán trên có thay đổi trình tự được không ?
Thuật toán là dãy các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
Tổ Tin Trường THCS Phương Đình
12
Ví dụ 1: Một hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt bán kính a như hình dưới đây:
hình A
b
a
a
Xác định Input và Output của bài toán
4. Một số ví dụ về thuật toán
Tổ Tin Trường THCS Phương Đình
13
1
Tính S1 = 2a ? b {(Tính S hình CN)};
2
Tính S2 = ? a2/2 {(S hình bán nguyệt)};
3
Tính S = S1 + S2 và kết thúc.
- OUTPUT : Diện tích của hình A.
- INPUT: Số a là 1/2 chiều rộng của hình chữ nhật và là bán kính của hình bán nguyệt, b là chiều dài của hình chữ nhật.
Lưu ý: Trong biểu diễn thuật toán kí hiệu ? để chỉ phép gán một giá trị cho biến. VD: S ? 0 - gán giá trị 0 cho biến S
Tổ Tin Trường THCS Phương Đình
14
Xác định Input và Output của bài toán
- OUTPUT : Tổng của dãy số trên.
- INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2, ... 100.
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên
liên tiếp S = 1 + 2 + 3 + 4 + ... + 100
Tổ Tin Trường THCS Phương Đình
15
Nhận xét:
S = 0
S1 = S + 1
S2 = S1 + 2
S3 = S2 + 3
.....
S100 = S99 + 100
Bắt đầu từ S1 việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau = Strước+ i
với i tăng lần lượt từ 1 đến100
. . . . . . . . . . . . . . . . . . . .
tìm thuật toán
Tổ Tin Trường THCS Phương Đình
16
Bước 1: S ? 0; i ? 0;
Bước 3: Nếu i <= 100 thì S ? S + i; và quay lại bước 2. trong trường hợp ngược lại thông báo kết quả rồi kết thúc thuật toán.
Bước 2: i ? i + 1
Thuật toán tính tổng
Tổ Tin Trường THCS Phương Đình
17
Bài toán đổi giá trị hai biến
Cốc A chứa nước màu đỏ, cốc B chứa nước màu xanh. Làm cách nào để tráo đổi cốc A có nước màu xanh, cốc B có nước màu đỏ? (Giả thiết cốc A và cốc B có thể tích như nhau)
Cốc A
Cốc B
Làm cách nào đây?
Tổ Tin Trường THCS Phương Đình
18
Cốc A
Cốc B
Cốc C
1. Lấy một cốc C rỗng có thể tích như A và B
2. Đổ nước màu đỏ ở cốc A sang cốc C
3. Đổ nước màu xanh ở cốc B sang cốc A
4. Đổ nước màu đỏ ở cốc C sang cốc B
Tổ Tin Trường THCS Phương Đình
19
Ví dụ 3: Đổi giá trị hai biến x và y
Input: Hai biến x và y có giá trị tương ứng là a, b
Output: Hai biến x và y có giá trị tương ứng là b, a
Bước 1: z ? x {Sau bước này giá trị của z sẽ bằng a}
Bước 2: x ? y {Sau bước này giá trị của x sẽ bằng b}
Bước 3: y ? z {Sau bước này giá trị của y sẽ bằng giá trị của z, chính là giá trị ban đầu a của biến x}
Tổ Tin Trường THCS Phương Đình
20
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" hoặc "a=b"
B1: So sánh a và b. Nếu a > b, cho kết quả "a lớn hơn b"
B2: Nếu a < b, cho kết quả "a nhỏ hơn b"; ngược lại, cho kết quả "a = b" và kết thúc thuật toán.
Input: Hai số thực a và b
Output: Kết quả so sánh
Hãy tìm chỗ chưa đúng trong thuật toán sau
Tổ Tin Trường THCS Phương Đình
21
Ta thấy, sau bước 1 ta được kết quả
Nhưng trong bước hai, khi kiểm tra a < b thì kết quả là
Thử lại với a=6 và b=5
? a lớn hơn b
? a = b
Tổ Tin Trường THCS Phương Đình
22
Bước 1: So sánh a và b. 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 aBước 3: Kết thúc thuật toán
Tổ Tin Trường THCS Phương Đình
23
Ví dụ 5: Tìm số lớn nhất trong dãy
A các số a1, a2,..., an.
INPUT: Số nguyên dương N và dãy N số nguyên
a1, a2,. aN. (ai với i: 1?n)
OUTPUT: Số lớn nhất (Max) của dãy số.
Tổ Tin Trường THCS Phương Đình
24
3
Thuật toán tìm max
Người ta đặt 5 quả bóng có kích thước khác nhau trong hộp đã được đậy nắp như hình bên.Chỉ dùng tay hãy tìm ra quả bóng có kích thước lớn nhất .
Tổ Tin Trường THCS Phương Đình
25
Quả 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!
tìm thuật toán ?
Tổ Tin Trường THCS Phương Đình
26
ý tưởng:
- Đặt giá trị Max= a1
- Lần lượt cho i chạy từ 2 đến N, so sánh
giá trị ai với giá trị Max, nếu ai> Max thì
Max nhận giá trị mới là ai.
Tổ Tin Trường THCS Phương Đình
27
Bước 1: Max ? a1 ; i ? 1
Bước 3: Nếu i > N, chuyển đến bước 5
Thuật toán
Bước 2: i ?i +1
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
Tổ Tin Trường THCS Phương Đình
28
Ghi nhớ!
Xác định bài toán là việc xác định các điều kiện ban đầu( thông tin vào-ra INPUT) và các kết quả cần thu được( thông tin ra ( OUTPUT)
Giải bài toán trên máy tính nghĩa là hướng dẫn cho máy tính dãy hữu hạn các thao tác đơn giản( thuật toán) mà nó có thể thực hiện được để cho ta kết quả.
Quá trình giải một bài toán trên máy tính gồm các bước: xác định bài toán; xây dựng thuật toán; lập chương trình.
Thuật toán: là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
1
Tõ BµI TO¸N §ÕN CH¦¥NG TR×NH
bài 5
3. Thuật toán và mô tả thuật toán
2. Quá trình giải bài toán trên máy tính?
1. Bài toán và xác định bài toán là gì?
4. Một số ví dụ về thuật toán
Tổ Tin Trường THCS Phương Đình
2
1. Bài toán và xác định bài toán
Hãy quan sát các bài toán sau !
Bài toán 1: Tính diện tích của một tam giác biết một cạnh và đường cao tương ứng với cạnh đó.
Bài toán 2: Lập một bảng điểm để quản lí kết quả học tập của học sinh trong một lớp.
Bài toán 3: Tìm các cách khắc phục tắc nghẽn giao thông trong giờ cao điểm
Bài toán là gì nhỉ ?
? Bài toán là một công việc hay một nhiệm vụ cần phải giải quyết
Tổ Tin Trường THCS Phương Đình
3
Để giải quyết một bài toán cụ thể , ta cần xác định bài toán
Điều kiện cho trước
Kết quả thu được
Bài toán 1
Điều kiện cho trước: Một cạnh và đường cao tương ứng với cạnh đó
Kết quả thu được: Diện tích hình tam giác
Bài toán 2
Điều kiện cho trước: Thông tin của học sinh trong lớp (Họ tên. điểm các môn...
Kết quả thu được: Kết quả học tập của học sinh
? Xác định bài toán là bước đầu tiên và là bước rất quan trọng trong việc giải bài toán.
Tổ Tin Trường THCS Phương Đình
4
Máy tính có thể tự giải các bài toán không?
2. Quá trình giải bài toán trên máy tính?
ồ không! Tôi chỉ làm theo sự chỉ dẫn thôi !!!
Tổ Tin Trường THCS Phương Đình
5
Dãy hữu hạn các thao tác để giải một bài toán
thường được gọi là thuật toán
? Để máy tính có thể giải các bài toán, ta cần hướng dẫn máy tính thực hiện một dãy hữu hạn các thao tác để từ các điều kiện cho trước ta nhận được kết quả cần thu được.
Tổ Tin Trường THCS Phương Đình
6
Máy tính không thể tự mình tìm ra lời giải của các bài toán. Lời giải của một bài toán cụ thể, tức thuật toán, là tư duy sáng tạo của con người
Hãy nhớ !
Tổ Tin Trường THCS Phương Đình
7
Xác định bài toán: xác định điều kiện ban đầu (input) và kết quả cần xác định (output).
Xây dựng thuật toán: Lựa chọn và mô tả các thao tác sẽ thực.
Viết chương trình: Diễn đạt thuật toán bằng một ngôn ngữ lập trình sao cho máy tính có thể hiểu và thực hiện được.
Quá trình giải bài toán trên máy tính
1
2
3
Tổ Tin Trường THCS Phương Đình
8
VD1
Các bước thực hiện để pha trà mời khách ntn nhỉ ?
Bước 1: Tráng ấm chén bằng nước sôi;
Bước 2: Cho một nhúm trà vào ấm;
Bước 3: Tráng trà;
Bước 4: Rót nước sôi vào ấm và đợi trong 3 - 4 phút;
Bước 5: Rót trà ra chén để mời khách;
3. Thuật toán và mô tả thuật toán
Thuật toán pha trà mời khách.
Input: Trà, nước sôi, ấm và chén
Output: Chén trà đã pha để mời khách
Tổ Tin Trường THCS Phương Đình
9
INPUT: Trứng, dầu ăn, muối và hành.
OUTPUT: Trứng tráng.
Thuật toán "Làm món trứng tráng"
Bước 1. Đập trứng, tách vỏ và cho trứng vào bát.
Bước 2. Cho một chút muối và hành tươi thái nhỏ
vào bát trứng. Dùng đũa quấy mạnh cho
đến khi đều.
Bước 3. Cho một thìa dầu ăn vào chảo, đun nóng
đều rồi đổ trứng vào. Đun tiếp trong
khoảng 1 phút.
Bước 4. Lật mặt trên của miếng trứng úp xuống
dưới. Đun tiếp trong khoảng 1 phút.
Bước 5. Lấy trứng ra đĩa.
VD2
Tổ Tin Trường THCS Phương Đình
10
VD3
Thuật toán giải phương trình bậc nhất
tổng quát: bx + c = 0
Tổ Tin Trường THCS Phương Đình
11
Các bước của ba thuật toán trên có thay đổi trình tự được không ?
Thuật toán là dãy các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
Tổ Tin Trường THCS Phương Đình
12
Ví dụ 1: Một hình A được ghép từ một hình chữ nhật với chiều rộng 2a, chiều dài b và một hình bán nguyệt bán kính a như hình dưới đây:
hình A
b
a
a
Xác định Input và Output của bài toán
4. Một số ví dụ về thuật toán
Tổ Tin Trường THCS Phương Đình
13
1
Tính S1 = 2a ? b {(Tính S hình CN)};
2
Tính S2 = ? a2/2 {(S hình bán nguyệt)};
3
Tính S = S1 + S2 và kết thúc.
- OUTPUT : Diện tích của hình A.
- INPUT: Số a là 1/2 chiều rộng của hình chữ nhật và là bán kính của hình bán nguyệt, b là chiều dài của hình chữ nhật.
Lưu ý: Trong biểu diễn thuật toán kí hiệu ? để chỉ phép gán một giá trị cho biến. VD: S ? 0 - gán giá trị 0 cho biến S
Tổ Tin Trường THCS Phương Đình
14
Xác định Input và Output của bài toán
- OUTPUT : Tổng của dãy số trên.
- INPUT: Dãy 100 số tự nhiên đầu tiên: 1, 2, ... 100.
Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên
liên tiếp S = 1 + 2 + 3 + 4 + ... + 100
Tổ Tin Trường THCS Phương Đình
15
Nhận xét:
S = 0
S1 = S + 1
S2 = S1 + 2
S3 = S2 + 3
.....
S100 = S99 + 100
Bắt đầu từ S1 việc tính S được lặp đi lặp lại 100 lần theo quy luật
Ssau = Strước+ i
với i tăng lần lượt từ 1 đến100
. . . . . . . . . . . . . . . . . . . .
tìm thuật toán
Tổ Tin Trường THCS Phương Đình
16
Bước 1: S ? 0; i ? 0;
Bước 3: Nếu i <= 100 thì S ? S + i; và quay lại bước 2. trong trường hợp ngược lại thông báo kết quả rồi kết thúc thuật toán.
Bước 2: i ? i + 1
Thuật toán tính tổng
Tổ Tin Trường THCS Phương Đình
17
Bài toán đổi giá trị hai biến
Cốc A chứa nước màu đỏ, cốc B chứa nước màu xanh. Làm cách nào để tráo đổi cốc A có nước màu xanh, cốc B có nước màu đỏ? (Giả thiết cốc A và cốc B có thể tích như nhau)
Cốc A
Cốc B
Làm cách nào đây?
Tổ Tin Trường THCS Phương Đình
18
Cốc A
Cốc B
Cốc C
1. Lấy một cốc C rỗng có thể tích như A và B
2. Đổ nước màu đỏ ở cốc A sang cốc C
3. Đổ nước màu xanh ở cốc B sang cốc A
4. Đổ nước màu đỏ ở cốc C sang cốc B
Tổ Tin Trường THCS Phương Đình
19
Ví dụ 3: Đổi giá trị hai biến x và y
Input: Hai biến x và y có giá trị tương ứng là a, b
Output: Hai biến x và y có giá trị tương ứng là b, a
Bước 1: z ? x {Sau bước này giá trị của z sẽ bằng a}
Bước 2: x ? y {Sau bước này giá trị của x sẽ bằng b}
Bước 3: y ? z {Sau bước này giá trị của y sẽ bằng giá trị của z, chính là giá trị ban đầu a của biến x}
Tổ Tin Trường THCS Phương Đình
20
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" hoặc "a=b"
B1: So sánh a và b. Nếu a > b, cho kết quả "a lớn hơn b"
B2: Nếu a < b, cho kết quả "a nhỏ hơn b"; ngược lại, cho kết quả "a = b" và kết thúc thuật toán.
Input: Hai số thực a và b
Output: Kết quả so sánh
Hãy tìm chỗ chưa đúng trong thuật toán sau
Tổ Tin Trường THCS Phương Đình
21
Ta thấy, sau bước 1 ta được kết quả
Nhưng trong bước hai, khi kiểm tra a < b thì kết quả là
Thử lại với a=6 và b=5
? a lớn hơn b
? a = b
Tổ Tin Trường THCS Phương Đình
22
Bước 1: So sánh a và b. 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 aBước 3: Kết thúc thuật toán
Tổ Tin Trường THCS Phương Đình
23
Ví dụ 5: Tìm số lớn nhất trong dãy
A các số a1, a2,..., an.
INPUT: Số nguyên dương N và dãy N số nguyên
a1, a2,. aN. (ai với i: 1?n)
OUTPUT: Số lớn nhất (Max) của dãy số.
Tổ Tin Trường THCS Phương Đình
24
3
Thuật toán tìm max
Người ta đặt 5 quả bóng có kích thước khác nhau trong hộp đã được đậy nắp như hình bên.Chỉ dùng tay hãy tìm ra quả bóng có kích thước lớn nhất .
Tổ Tin Trường THCS Phương Đình
25
Quả 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!
tìm thuật toán ?
Tổ Tin Trường THCS Phương Đình
26
ý tưởng:
- Đặt giá trị Max= a1
- Lần lượt cho i chạy từ 2 đến N, so sánh
giá trị ai với giá trị Max, nếu ai> Max thì
Max nhận giá trị mới là ai.
Tổ Tin Trường THCS Phương Đình
27
Bước 1: Max ? a1 ; i ? 1
Bước 3: Nếu i > N, chuyển đến bước 5
Thuật toán
Bước 2: i ?i +1
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
Tổ Tin Trường THCS Phương Đình
28
Ghi nhớ!
Xác định bài toán là việc xác định các điều kiện ban đầu( thông tin vào-ra INPUT) và các kết quả cần thu được( thông tin ra ( OUTPUT)
Giải bài toán trên máy tính nghĩa là hướng dẫn cho máy tính dãy hữu hạn các thao tác đơn giản( thuật toán) mà nó có thể thực hiện được để cho ta kết quả.
Quá trình giải một bài toán trên máy tính gồm các bước: xác định bài toán; xây dựng thuật toán; lập chương trình.
Thuật toán: là dãy hữu hạn các thao tác cần thực hiện theo một trình tự xác định để thu được kết quả cần thiết từ những điều kiện cho trước.
* 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ẻ: Nguyễn Ngọc Vũ
Dung lượng: |
Lượt tài: 0
Loại file:
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)