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

Bai 5 Cac thuat toan hay

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 (1.24 MB, 27 trang )

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

<span class='text_page_counter'>(2)</span> BÀI 5: TỪ BÀI TOÁN ĐẾN CHƯƠNG TRÌNH. (TT). Bàitoán toánvà vàxác xácđịnh địnhbài bàitoán toán Bài. Quátrình trìnhgiải giảibài bàitoán toántrên trênmáy máytính tính Quá. Thuậttoán toánvà vàmô môtả tảthuật thuậttoán toán Thuật. Mộtsố sốví vídụ dụvề vềthuật thuậttoán toán Một.

<span class='text_page_counter'>(3)</span> 4. MỘT SỐ VÍ DỤ VỀ THUẬT TOÁN 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 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. Tính diện tích hình A Tính S1 ← 2ab. Tính S2 ←. a 2 2. b. 2a. a. S ← S1 + S2.

<span class='text_page_counter'>(4)</span> 1. Xác định bài toán • INPUT. Các hệ số a và b. • OUTPUT. Diện tích S của hình A. 2. Mô tả thuật toán Bước1 : xác định hệ số a, b; Bước 2 : Tính S1 ← 2ab; 2  a Bước 3 : Tính S2 ← 2. Bước 4 : S ← S1 + S2 Bước 5 : Kết thúc.. ;.

<span class='text_page_counter'>(5)</span> Ví dụ 2: Tính tổng của 100 số tự nhiên đầu tiên. 1. Xác định bài toán • INPUT. Dãy 100 số tự nhiên đầu tiên: 1, 2, …, 100. • OUTPUT. Giá trị của tổng 1+2+…+100.

<span class='text_page_counter'>(6)</span> Cïng t×m thuËt to¸n. S 0  1  2  3  .......  100 ..................... S=0 S1 = S + 1 S2 = S1 + 2 S3 = S2 + 3. ...... S100 = S99 + 100. NHẬN XÉT: 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.

<span class='text_page_counter'>(7)</span> 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 bài toán..

<span class='text_page_counter'>(8)</span> Ví dụ 3: Đổi giá trị của hai biến x và y. 1. Xác định bài toán • INPUT. Hai biến x và y có giá trị tương ứng là a và b. • OUTPUT. Hai biến x và y có giá trị tương ứng là b và a.

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

<span class='text_page_counter'>(10)</span> Bước 1: Z  X.

<span class='text_page_counter'>(11)</span> Bước 1: Z  X Bước 2: XY.

<span class='text_page_counter'>(12)</span> Bước 1: Z  X Bước 2: X  Y Bước 3: Y  Z.

<span class='text_page_counter'>(13)</span> 2. Mô tả thuật toán. a. x. b. y. Bước 1: z  x {Sau bước này giá trị của z bằng a} Bước 2: x  y {Sau bước này giá trị của x bằng b} Bước 3: y  z {Sau bước này giá trị của y bằng a}. a. x. b. Z. y.

<span class='text_page_counter'>(14)</span> 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”, “a bằng b”,. 1. Xác định bài toán • INPUT. Hai số thực a và b. • OUTPUT. Kết quả so sánh. 2. Mô tả thuật toán Bước1 : Nếu a > b, kết quả là “a lớn hơn b”; Bước 2 : Nếu a < b, kết quả là “a nhỏ hơn b”; ngược lại là “a bằng b”; Bước 3 : Kết thúc thuật toán;.

<span class='text_page_counter'>(15)</span> Ví dụ 5: Tìm số lớn nhất trong dãy số A các số a1, a2, …,an. Quả này lớn nhất. MAX. Quả này mới lớn nhất ?. Ồ ! Quả Tìm ra quả nàynhất lớn rồi lớn hơn.

<span class='text_page_counter'>(16)</span> 1. Xác định bài toán • INPUT. dãy số A các số a1, a2, …,an (n≥1). • OUTPUT. Giá trị MAX = max{a1, a2, …,an}. 2. Mô tả thuật toán Bước1 : MAX ← a1; i ← 1; Bước 2 : i ← i + 1; Bước 3 : Nếu i > n, thì 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'>(17)</span> MEMORIZE 1. 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 – INPUT) và các kết quả cần thu được (thông tin ra – OUTPUT). 2. Giải bài toán trên máy tính là đưa 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ả. 3. 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; mô tả thuật toán; viết chương trình. 4. Thuật toán là dãu hữu hạn các thao tác cần thực hiện theo một trình tự xác định để nhận được kết quả cần tìm từ những điều kiện cho trước..

<span class='text_page_counter'>(18)</span> TIN HỌC 8 GV thực hiện: ĐOÀN NGỌC HUY.

<span class='text_page_counter'>(19)</span> Bài 1. Hãy thực hiện và cho biết giá trị của biến Sum trong thuật toán sau Bước1 : SUM ← 0; i ← 0; Bước 2 : i ← i + 2; 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 bài toán..

<span class='text_page_counter'>(20)</span> Thực hiện thuật toán (chạy tay) Bước1 : SUM = 0; i = 0; Bước 2 : i ← i + 2 i=0+2=2. 1. Bước 3 : Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2 2 ≤ 100. sum=0+2=2. 2. i=2+2=4. 4 ≤ 100. sum=2+4. 3. i=4+2=6. 6 ≤ 100. sum=2+4+6. …. …... ………. 50. i=98+2=100. 100 ≤ 100. 51. i=100+2=102. 102 ≤ 100. sum=2+4+6+…+100 Điều kiện sai. Bước 4 : Thông báo kết quả và kết thúc bài toán. Vậy sum=2+4+6+…+100.

<span class='text_page_counter'>(21)</span> Bài 2. Hãy thực hiện và cho biết giá trị của biến Sum trong thuật toán sau Bước1 : SUM ← 1; i ← 1; Bước 2 : i ← i + 2; 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 bài toán..

<span class='text_page_counter'>(22)</span> Thực hiện thuật toán (chạy tay) Bước1 : SUM = Bước 2 : i ← i + 2 i=. 1. ;i=. ; Bước 3 : Nếu i ≤ 100, thì SUM ← SUM + i và quay lại bước 2 ≤ 100. 2. i=. ≤ 100. 3. i=. ≤ 100. …. …... ………. 50. i=. ≤ 100. 51. i=. ≤ 100. sum= sum= sum=. sum= Điều kiện sai. Bước 4 : Thông báo kết quả và kết thúc bài toán. Vậy sum=.

<span class='text_page_counter'>(23)</span> Bài 3 Mô tả thuật toán tìm giá trị nhỏ nhất trong dãy n số a1,a2,…,an Gợi ý : Dựa vào thuật toán tìm giá trị lớn nhất mà em đã học. Bước1 : MAX ← a1; i ← 1; Bước 2 : i ← i + 1; Bước 3 : Nếu i > n, thì chuyển đến bước 5; Bước 4 : Nếu ai > MAX, MAX ← ai, Quay lại bước 2; Bước 5 : Thông báo kết quả và kết thúc bài toán..

<span class='text_page_counter'>(24)</span> Thực hiện thuật toán (chạy tay) Cho n=5: a1=10, a2=8, a3=13. a4=5, a5=20. Bước1 : max = a1=10 B2 : i ← i + 1. ; i =1. B3 : Nếu i > n, thì chuyển đến bước 5. B4 : Nếu ai > MAX, MAX ← ai, Quay lại bước 2. 1. i=1+1=2. 2>5 ?. a2=8>10 ?. 2. i=2+1=3. 3>5 ?. a3=13>10 ?. 3. i=3+1=4. 4>5 ?. a4=5>13 ?. 4. i=4+1=5. 5>5 ?. a5=20>13 ?. 5. i=5+1=6. 6>5 ?. Đúng. Max=a5=20. Chuyển đến bước 5. Bước 5 : Thông báo kết quả và kết thúc bài toán. Vậy max=20. Max=a3=13.

<span class='text_page_counter'>(25)</span> Bài 3 Mô tả thuật toán tìm giá trị nhỏ nhất trong dãy n số a1,a2,…,an. Bước1 : MIN ← a1; i ← 1; Bước 2 : i ← i + 1; Bước 3 : Nếu i > n, thì chuyển đến bước 5; Bước 4 : Nếu ai < MIN, MIN ← ai, Quay lại bước 2; Bước 5 : Thông báo kết quả và kết thúc bài toán..

<span class='text_page_counter'>(26)</span> Thực hiện thuật toán (chạy tay) Cho n=5: a1=10, a2=8, a3=13. a4=5, an=20. Bước1 : MIN = a1=10 B2 : i ← i + 1. ; i =1. B3 : Nếu i > n, thì chuyển đến bước 5. B4 : Nếu ai > MAX, MAX ← ai, Quay lại bước 2. 1. i=1+1=2. 2>5 ?. a2=8<10 ?. 2. i=2+1=3. 3>5 ?. a3=13<8 ?. 3. i=3+1=4. 4>5 ?. a4=5<8 ?. 4. i=4+1=5. 5>5 ?. a5=20<8 ?. 5. i=5+1=6. 6>5 ?. Đúng. MIN=a4=5. Chuyển đến bước 5. Bước 5 : Thông báo kết quả và kết thúc bài toán. Vậy MIN=5. MIN=a2=8.

<span class='text_page_counter'>(27)</span> Cảm ơn sự chú ý theo dõi của quý thầy cô và các em học sinh..

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

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×