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

bai 5 tu bai toan den chuong trinh

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 (272.76 KB, 23 trang )

<span class='text_page_counter'>(1)</span>Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH 1. Bài toán và xác định bài toán: a) Bài toán: -Bài toán là một công việc hay một nhiệm vụ cần giải quyết. Ví dụ: Tính tổng các số tự nhiên từ 1 đến 100, tính quãng đường ô tô đi được trong 3 giờ với vận tốc 60 km/giờ. b) Xác định bài toán - Để giải quyết được một 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 quả thu được..

<span class='text_page_counter'>(2)</span> 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 hình tam giác. Ví dụ 2: Đối với bài toán nấu một món ăn - Điều kiện cho trước: Các thực phẩm hiện có (trứng, mỡ, mắm, muối, rau…) -Kết quả thu được: một món ăn. Ví dụ 3: .....

<span class='text_page_counter'>(3)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH 2 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 hiện để giải một bài toán..

<span class='text_page_counter'>(4)</span> 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ả bằng các lệnh cần phải thực hiện. - 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 bằng một ngôn ngữ lập trình mà ta biết..

<span class='text_page_counter'>(5)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH 3. 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 hiện theo một trình tự xác định để thu được kết quả cần tìm từ những đ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 1. Tráng ấm, chén bằng nước sôi. - Bước 2. Cho trà vào ấm. - Bước 3. Rót nước sôi vào ấm và đợi khoảng 3 đến 4 phút. - Bước 4. Rót trà ra chén để mới khách..

<span class='text_page_counter'>(6)</span> 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ị của 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ị bằng a} Bước 2: x y {Sau bước này x có giá trị bằng b} Bước 3: y z {Sau bước này giá trị của y bằng giá trị của z}. 3. z 1. y x. 2. x. y.

<span class='text_page_counter'>(7)</span> 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 nhất dạng tổng quát bx+c=0. - INPUT: Số b, c. - OUTPUT: Nghiệm của phương trình bậc nhất. - Bước 1. Nếu b=0 chuyển tới bước 3. - Bước 2. Tính nghiệm của phương trình x=-c/a và chuyển tới bước 4. - Bước 3. 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 4. Kết thúc.

<span class='text_page_counter'>(8)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH 4. Một số ví dụ về thuật toán a. 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: (40SGK). + Thuật toán để tìm diện tích của hình A gồm các bước sau: - Input: Số a là ½ 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. - Output: Diện tích của hình A..

<span class='text_page_counter'>(9)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH. Bước 1. Tính S1  2a  b {Tính diện tích hình chữ nhật} Bước 2. Tính S2  π a2/2 {Tính diện tích hình bán nguyệt} Bước 3. Tính kết quả S  S1 + S2 và kết thúc.

<span class='text_page_counter'>(10)</span> 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. 1. 2. 3. 4. 5. 2 1.

<span class='text_page_counter'>(11)</span> 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 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..

<span class='text_page_counter'>(12)</span> 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 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ằng b”. -Input: Hai số thực a và b. - Output: Kết quả so sánh. -Bước 1: Nếu a>b, thì kết quả là “a lớn hơn b” và chuyển đến bước 3. - Bước 2: Nếu a<b, thì kết quả là “a nhỏ hơn b” ngược lại kết quả là: “a bằng b” -Bước 3: Kết thúc thuật toán..

<span class='text_page_counter'>(13)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH d. Ví dụ 4: Tìm số lớn nhất trong 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 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 ai > Max, Max  ai. Quay lại bước 2. Bước 5. Kết thúc thuật toán..

<span class='text_page_counter'>(14)</span> 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 nhất trong 4 chữ số: Cho dãy số: 5 , 3, 7 , 9, 4. -Bước 1: Max  5 -Bước 2: So sánh Max (5) với số 3, số 5 lớn hơn số 3. =>Max 5 - Bước 3: So sánh Max (5) với số 7. Số 7 lớn hơn số 5 nên =>Max  7. - Bước 4: so sánh Max (7) với số 9. Số 9 lớn hơn số 7 nên Max  9. - Bước 5: Cuối cùng, so sánh Max (9) với số 4. Số 9 lớn hơn số 4 nên Max  9. Kết quả số 9 là số lớn nhất.

<span class='text_page_counter'>(15)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH d. Ví dụ 4: Tìm số lớn nhất trong dãy số A các số a1, a2, …, an cho trước. Quả này mới lớn nhất ?. Quả này lớn nhất. 5. MAX. 3. 7. Ồ ! Quả Tìm ra quả nàynhất lớn rồi lớn hơn. 9. 4.

<span class='text_page_counter'>(16)</span> 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ử trong 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 1. S  0; i  0. Bước 2. i  i + 1.  Bước 3. Nếu i n, thì S  S + ai 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..

<span class='text_page_counter'>(17)</span> 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 nhất dạng tổng quát bx+c=0. - INPUT: Số b, c. - OUTPUT: Nghiệm của phương trình bậc nhất. - Bước 1. Nếu b=0 chuyển tới bước 3. - Bước 2. Tính nghiệm của phương trình x=-c/a và chuyển tới bước 4. - Bước 3. 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 4. Kết thúc.

<span class='text_page_counter'>(18)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài 3. Mô tả thuật toán cho biết ba số đó có thể là độ dài 3 cạnh của một tam giác hay không. - Input: 3 số dương a>0, b>0, c>0 - Output: Thông báo “a,b và c có thể là ba cạnh của một tam giác” hoặc “a,b và c không phải là ba cạnh của tam giác”. - B1: Nếu a+b  c thì chuyển tới bước 5. - B2: Nếu a+c  b thì chuyển tới bước 5. - B3: Nếu b +c a thì chuyển tới bước 5. - B4: Thông báo “a,b và c có thể là ba cạnh của tam giác”. - B5: Thông báo “a,b và c không thể là ba cạnh của tam giác”..

<span class='text_page_counter'>(19)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài 4. Mô tả thuật toán đổi giá trị của 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 5. - B2: z  x - B3: x  y - B4: y  z - B5: Kết thúc thuật toán..

<span class='text_page_counter'>(20)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài 5. Tính tổng các phần tử của 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 1. S  0; i  0. Bước 2. i  i + 1.  Bước 3. Nếu i n, thì S  S + ai 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..

<span class='text_page_counter'>(21)</span> Bài 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH Bài 6. Tính tổng các số dương trong 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 trong dãy a1, a2,..,an Bước 1. S  0; i  0. Bước 2. i  i + 1. Bước 3. Nếu ai>0, thì S  S + ai.  Bước 4. Nếu i n, thì quay lại bước 2. Bước 5. Thông báo kết quả S và kết thúc thuật toán..

<span class='text_page_counter'>(22)</span> 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 trong dãy số a1, a2, ...,an.( 5đ).

<span class='text_page_counter'>(23)</span> 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 trong dãy số a1, a2, ...,an.( 5đ).

<span class='text_page_counter'>(24)</span>

×