Tải bản đầy đủ (.ppt) (26 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 (471.17 KB, 26 trang )

<span class='text_page_counter'>(1)</span>Chµo. Tham. mõng. Dù. ThÇy. tiÕt. C«. d¹y.

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

<span class='text_page_counter'>(3)</span> Tiết 26: Bài 5:. Từ bài toán đến ch ¬ng tr×nh (tt).

<span class='text_page_counter'>(4)</span> Tiết 26: Từ. bài toán đến chương trình. 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. Ví dụ 1. Ví dụ 4. Ví dụ 2. Ví dụ 5. Ví dụ 3. Ví dụ 6.

<span class='text_page_counter'>(5)</span> 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. x. y. a. b.

<span class='text_page_counter'>(6)</span> Giải quyết bài toán. XY. Cả hai biến X, Y cùng có giá trị ban đầu của biến Y. YX. SAI x. y. ba. b.

<span class='text_page_counter'>(7)</span> Giải quyết bài toán 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. Minh họa. zz. x. y. a. b.

<span class='text_page_counter'>(8)</span> Tiết 26: Từ. bài toán đến chương trình. 4. Một số ví dụ minh họa. Ví dụ 1. Ví dụ 4. Ví dụ 2. Ví dụ 5. Ví dụ 3. Ví dụ 6.

<span class='text_page_counter'>(9)</span> Tôi lớn hơn anh... Hay anh và tôi bằng nhau nhỉ? Anh nhỏ hơn tôi.... a. b.

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

<span class='text_page_counter'>(11)</span> Giải quyết bài toán:. Trường hợp 1: a<b. Bước 1: .................. Nếu a>b, thì “a lớn hơn b”.. Bước 2: .................. Nếu a<b,. Trường hợp 2: 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 3: a=b.

<span class='text_page_counter'>(12)</span> Giải quyết bài toán: Bước 1: 1: Bước Nếu Nếua>b a>b thì thì “a “a lớn lớn hơn hơn b”. b”. Bước 2: 2: Bước. SAI. Nếu a<b thì “a “a nhỏ nhỏ hơn hơn b” b”. thì Ngượclại, lại, Ngược thì “a “abằng bằngb” b” thì. Vàkết kếtthúc thúcthuật thuậttoán toán Và. Trường hợp: a>b a=. ,b=. 3. 5. Bước 1:. Thông báo kết quả là: “a lớn hơn b Bước 2:. >. ĐÚNG Không hiệnlà: Thông báo thực kết quả. <. a bằng b” Kết thúc thuật SAI toán.

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

<span class='text_page_counter'>(14)</span> Tiết 26: Từ. bài toán đến chương trình. 4. Một số ví dụ minh họa. Ví dụ 1. Ví dụ 4. Ví dụ 2. Ví dụ 5. Ví dụ 3. Ví dụ 6.

<span class='text_page_counter'>(15)</span> Max 7 4. 10 6. 2.

<span class='text_page_counter'>(16)</span> Ví dụ 6: Tìm số lớn nhất trong dãy A các con số a1, a2, a3, ....., an cho trước?. Input: Dãy A các con số a1, a2, a3, ....., an (n 1) Out put: Giá trị MAX = max {a1, a2, a3, ....., an }.

<span class='text_page_counter'>(17)</span> Ý tưởng:. Max 4. 7. 6. 10 2. 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 a1 cho biến Max. - Tiếp theo lần lượt so sánh các số a2, ..., an của dãy A với Max - Nếu ai >Max ta gán ai cho Max.

<span class='text_page_counter'>(18)</span> Giải quyết bài 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 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'>(19)</span> Max So sánh Max với a5 Sosánh sánhMax Maxvới vớia3 a2 a4 So Max  a421 Bước 1: Max  a1; i 1. Bước 2: i  i+1.. i = 134265. Bước Bước 3: 3: Nếu Nếu i>n, i>n, chuyển chuyển đến bước 5. <> =. N=5. aa4352== 10 627. Bước 4: Nếu aaii >> Max, Max, Max Max   aai. Quaylại lạibước bước22 i. Quay Bước 5: Kết thúc thuật toán. 4. 7. 6. 10. 2.

<span class='text_page_counter'>(20)</span> Tiết 26: Từ. bài toán đến chương trình. 4. Một số ví dụ minh họa. Ví dụ 1. Ví dụ 4. Ví dụ 2. Ví dụ 5. Ví dụ 3. Ví dụ 6.

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

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

<span class='text_page_counter'>(23)</span> Bài tập 1: Bước 3: 2:. Bước 1: x  x+y x+y x=8. ;y=5. Bước 2: y  x-y x-y x=8. ;y=3. Bước 3: x   x-y x-y x=5 ;y=3. 38 x. 385 + 358 yx. 53 y.

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

<span class='text_page_counter'>(25)</span> Kính chào quý thầy cô.

<span class='text_page_counter'>(26)</span> Minh họa. zz. x. y. a. b.

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

×