Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Ví dụ 1: Để tính diện tích tam giác ta cần xác định: - Điều kiện cho trước: một cạnh và đường cao tương ứng của cạnh đó.. -Kết quả thu được: Diện tích[r]
(1)Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài toán và xác định bài toán: a) Bài toán: -Bài toán là công việc hay nhiệm vụ cần giải Ví dụ: Tính tổng các số tự nhiên từ đến 100, tính quãng đường ô tô với vận tốc 60 km/giờ b) Xác định bài toán - Để giải bài toán cụ thể, người ta cần xác định rõ các điều kiện cho trước và kết thu (2) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Ví dụ 1: Để tính diện tích tam giác ta cần xác định: - Điều kiện cho trước: cạnh và đường cao tương ứng cạnh đó -Kết thu được: Diện tích hình tam giác Ví dụ 2: Đối với bài toán nấu món ăn - Điều kiện cho trước: Các thực phẩm có (trứng, mỡ, mắm, muối, rau…) -Kết thu được: món ăn Ví dụ 3: (3) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Quá trình giải bài toán trên máy tính a) Khái niệm thuật toán: Thuật toán là dãy hữu hạn các thao tác cần thực để giải bài toán (4) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH b) Quá trình giải bài toán trên máy tính: Quá trình giải bài toán trên máy tính gồm: - Xác định bài toán: xác định thông tin đã cho và thông tin cần tìm - Mô tả thuật toán: Tìm cách giải bài toán và diễn tả các lệnh cần phải thực - Viết chương trình: Dựa vào mô tả thuật toán trên, ta viết chương trình ngôn ngữ lập trình mà ta biết (5) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Thuật toán và mô tả thuật toán: - Thuật toán là dãy các thao tác cần thực theo trình tự xác định để thu kết cần tìm từ điều kiện cho trước a Ví dụ 1: Mô tả thuật toán để liệt kê các bước 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 - Bước Tráng ấm, chén nước sôi - Bước Cho trà vào ấm - Bước Rót nước sôi vào ấm và đợi khoảng đến phút - Bước Rót trà chén để khách (6) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH b Ví dụ 2: Mô tả thuật toán đổi giá trị hai biến x và y -Input: Hai biến x,y có giá trị tương ứng là a, b - Output: Hai biến x,y có giá trị tương ứng là b và a Bước 1: z x {Sau bước này z có giá trị a} Bước 2: x y {Sau bước này x có giá trị b} Bước 3: y z {Sau bước này giá trị y giá trị z} z y x x y (7) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH c Ví dụ 2: Giải phương trình bậc dạng tổng quát bx+c=0 - INPUT: Số b, c - OUTPUT: Nghiệm phương trình bậc - Bước Nếu b=0 chuyển tới bước - Bước Tính nghiệm phương trình x=-c/a và chuyển tới bước - Bước Nếu c 0, thông báo phương trình đã cho vô nghiệm Ngược lại (c=0), thông báo phương trình có vô số nghiệm - Bước Kết thúc (8) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Một số ví dụ thuật toán a Ví dụ 1: Một hình A ghép từ hình chữ nhật với chiều rộng 2a, chiều dài b và hình bán nguyệt bán kính a hình đây: (40SGK) + Thuật toán để tìm diện tích hình A gồm các bước sau: - Input: Số a là ½ chiều rộng hình chữ nhật và là bán kính hình bán nguyệt, b là chiều dài hình chữ nhật - Output: Diện tích hình A (9) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bước Tính S1 2a b {Tính diện tích hình chữ nhật} Bước Tính S2 π a2/2 {Tính diện tích hình bán nguyệt} Bước Tính kết S S1 + S2 và kết thúc (10) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH b Ví dụ 2: Viết thuật toán tính tổng 100 số tự nhiên đầu tiên - Input: Dãy 100 số tự nhiên đầu tiên 1, 2, , 100 - Output: Giá trị tổng 1+2+3+ +100 3 (11) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH b Ví dụ 2: Viết thuật toán tính tổng 100 số tự nhiên đầu tiên Bước SUM 0; i Bước i i + Bước Nếu i <= 100, thì SUM SUM + i và quay lại bước Bước Thông báo kết và kết thúc thuật toán (12) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH c Ví dụ 3: Cho hai số thực a và b Hãy cho biết kết so sánh hai số đó dạng “a lớn b”, “a nhỏ b” “a b” -Input: Hai số thực a và b - Output: Kết so sánh -Bước 1: Nếu a>b, thì kết là “a lớn b” và chuyển đến bước - Bước 2: Nếu a<b, thì kết là “a nhỏ b” ngược lại kết là: “a b” -Bước 3: Kết thúc thuật toán (13) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH d Ví dụ 4: Tìm số lớn dãy số A các số a1, a2, …, an cho trước - Input: dãy số A các số a1, a2, …, an (n>=1) -Output: Giá trị Max = max{a1, a2, …, an } Bước Max a1 ; i1; Bước i i+1 Bước Nếu i>n, chuyển đến bước Bước Nếu > Max, Max Quay lại bước Bước Kết thúc thuật toán (14) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH * Minh họa thuật toán với trường hợp chọn số lớn chữ số: Cho dãy số: , 3, , 9, -Bước 1: Max -Bước 2: So sánh Max (5) với số 3, số lớn số =>Max - Bước 3: So sánh Max (5) với số Số lớn số nên =>Max - Bước 4: so sánh Max (7) với số Số lớn số nên Max - Bước 5: Cuối cùng, so sánh Max (9) với số Số lớn số nên Max Kết số là số lớn (15) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH d Ví dụ 4: Tìm số lớn dãy số A các số a1, a2, …, an cho trước Quả này lớn ? Quả này lớn MAX Ồ ! Quả Tìm nàynhất lớn lớn (16) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH e Ví dụ 5: Tìm tổng các phần tử dãy số A các số a1, a2, …, an cho trước - Input: dãy số A các số a1, a2, …, an (n>=1) -Output: Giá trị S = a1+ a2 + …+ an Bước S 0; i Bước i i + Bước Nếu i n, thì S S + và quay lại bước Bước Thông báo kết và kết thúc thuật toán (17) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH f Ví dụ 6: Giải phương trình bậc dạng tổng quát bx+c=0 - INPUT: Số b, c - OUTPUT: Nghiệm phương trình bậc - Bước Nếu b=0 chuyển tới bước - Bước Tính nghiệm phương trình x=-c/a và chuyển tới bước - Bước Nếu c 0, thông báo phương trình đã cho vô nghiệm Ngược lại (c=0), thông báo phương trình có vô số nghiệm - Bước Kết thúc (18) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài Mô tả thuật toán cho biết ba số đó có thể là độ dài cạnh tam giác hay không - Input: số dương a>0, b>0, c>0 - Output: Thông báo “a,b và c có thể là ba cạnh tam giác” “a,b và c không phải là ba cạnh tam giác” - B1: Nếu a+b c thì chuyển tới bước - B2: Nếu a+c b thì chuyển tới bước - B3: Nếu b +c a thì chuyển tới bước - B4: Thông báo “a,b và c có thể là ba cạnh tam giác” - B5: Thông báo “a,b và c không thể là ba cạnh tam giác” (19) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài Mô tả thuật toán đổi giá trị hai biến x và y theo thứ tự có giá trị không giảm - Input: Hai biến x và y - Output: Hai biến x và y có giá trị không giảm - B1: Nếu x y thì chuyển tới bước - B2: z x - B3: x y - B4: y z - B5: Kết thúc thuật toán (20) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài Tính tổng các phần tử dãy số A = { a1, a2, …,an} cho trước - Input: n và dãy số a1,a2, , an - Output: Tổng S = a1, a2, ,an Bước S 0; i Bước i i + Bước Nếu i n, thì S S + và quay lại bước Bước Thông báo kết và kết thúc thuật toán (21) Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài Tính tổng các số dương dãy số A = { a1, a2, …,an} cho trước - Input: n và dãy số a1,a2, , an - Output: S= Tổng các số ai>0 dãy a1, a2, ,an Bước S 0; i Bước i i + Bước Nếu ai>0, thì S S + Bước Nếu i n, thì quay lại bước Bước Thông báo kết S và kết thúc thuật toán (22) Kiểm tra 15 phút Câu 1: Thuật toán là gì? Nêu các bước để giải bài toán trên máy tính (5 đ) Câu 2: Hãy mô tả thuật toán tính tổng các phần tử chẵn dãy số a1, a2, ,an.( 5đ) (23) Kiểm tra 15 phút Câu 1: Bài toán là gì? Nêu các bước để giải bài toán trên máy tính? ( 5đ) Câu 2: Hãy mô tả thuật toán tính tổng các phần tử âm dãy số a1, a2, ,an.( 5đ) (24)