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

Bai 4 Bai toan va thuat toan

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 (275.56 KB, 22 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>CHƯƠNG TRÌNH TIN HỌC LỚP 10</b>


<b> (SGK thí điểm)</b>



<b>Chương I</b>



<b>Bài 4.</b>

<b>BÀI TỐN và </b>



</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Xét các yêu cầu sau :</b>



1. Giải phương trình bậc hai ax

2

+bx+c=0



2. Viết một dịng chữ ra màn hình máy tính.


3. Quản lý các cán bộ trong một cơ quan.



4. Tìm ước chung lớn nhất của hai số


nguyên dương a và b.



5.

Xếp loại học tập các học sinh trong lớp.



<b>I. BÀI TOÁN</b>



<b>I. BÀI TOÁN</b>



<b>Trong TIN HỌC</b>
<b>Trong TOÁN HỌC</b>


<b>Yêu cầu 1 và 4 được </b>
<b>xem là </b><i><b>bài toán</b></i>


<b>Tất cả các yêu cầu trên </b>
<b>đều được xem là </b><i><b>bài toán</b></i>



<b>Trong các yêu cầu trên, yêu cầu </b>



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Khái niệm </b>



<b>Khái niệm </b>

<i><b>bài toán</b></i>

<i><b><sub>bài toán</sub></b></i>

<b> trong </b>

<b><sub> trong </sub></b>



<b>Tin học?</b>



<b>Tin học?</b>



<i><b>Bài tốn</b></i>

<b> là việc nào đó </b>



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>TIN HỌC</b>



<b>Đưa vào máy </b>
<b> thông tin gì</b>

<b>Cần lấy ra </b>



<b>thơng tin gì </b>



<b>TOÁN HỌC?</b>



<b>TOÁN HỌC?</b>



<b>Các yếu tố cần quan tâm khi </b>



<b>Các yếu tố cần quan tâm khi </b>



<b>giải một bài toán</b>




<b>giải một bài toán</b>



 Trong Tin học, để phát biểu một bài tốn, ta cần


trình bày rõ <i><b>Input</b></i> và <i><b>Output</b></i> của bài tốn đó.


<b>TỐN HỌC</b>



-

<b> Giả thiết</b>



-

<b> Kết luận</b>



<b>THUẬT NGỮ</b>


<b> </b>

<b>Input</b>



<b> </b>



</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>CÁC VÍ DỤ</b>



<b>VD1 :</b>

<b>Giải phương trình bậc hai </b>


<b>ax</b>

<b>2 </b>

<b>+ bx + c = 0 (a ≠ 0).</b>



<b>Input</b>

<b>:</b>

Các số thực a,b,c (a ≠ 0)



<b>Output</b>

<b>:</b>

Số thực x thỏa : ax

2

+bx+ c = 0



<b>VD2 :</b>

<b>Tìm giá trị nhỏ nhất của các số </b>


<b>trong một dãy số.</b>




<b>Input :</b>

Các số trong dãy số.



</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>VD3 :</b>

<b>Tìm ước chung lớn nhất của hai số </b>


<b>nguyên dương a và b.</b>



<b>Input : </b>



<b>Output :</b>



<b>VD4 :</b>

<b>Xếp loại học tập các học sinh trong </b>


<b>lớp. </b>



<b>Input :</b>



<b>Output :</b>



UCLN của a và b.



Hai số nguyên dương a và b.


<b>CÁC VÍ DỤ (tt)</b>



?


?



?



</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

Nêu m t bài toán và



ch rõ Input, Output




c a bài tốn đó?



</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>TĨM LẠI</b>



<b>Một bài tốn được cấu tạo bởi 2 thành </b>


<b>phần cơ bản :</b>



<b>Input </b>

<b>(Các thơng tin đã có)</b>



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>II. THUẬT TOÁN</b>



<b>II. THUẬT TOÁN</b>



<b>Hướng dẫn các thao tác cho máy </b>


<b>thực hiện để tìm ra lời giải</b>



<b>Bài tốn</b>



<b>Input</b>

<b>Bằng cách nào?</b>

<b>Output</b>



<b>Giải bài tốn</b>



</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>Input</b>

<b>THUẬT TỐN</b>

<b>Output</b>


<b>(Thao tác 1</b><b>Thao tác 2</b><b>...</b><b>Thao tác n)</b>


<b>Thuật toán để giải một bài toán là một dãy </b>


<b>hữu hạn các thao tác được sắp xếp theo </b>


<b>một trình tự xác định sao cho sau khi thực </b>


<b>hiện dãy thao tác đó, từ Input của bài tốn </b>



<b>này, ta nhận được Output cần tìm.</b>



<b>BÀI TỐN</b>



<b>Thuật tốn để giải một bài tốn là :</b>



<b><sub> Một dãy hữu hạn các thao tác.</sub></b>



<b><sub> Các thao tác được sắp xếp theo một </sub></b>



<b>trình tự xác định.</b>



<b><sub> Sau khi thực hiện dãy thao tác đó, từ </sub></b>



</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>MƠ TẢ CÁC THAO TÁC </b>


<b>TRONG THUẬT TỐN</b>



<b>Có 2 cách mơ tả</b>

<b>Liệt kê</b>



<b>Dùng sơ đồ khối</b>



<b>Nêu ra tuần tự các thao </b>


<b>tác cần tiến hành</b>



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>Giải tốn thơng thường:</b>


 Nếu a = 0 thì <sub>(</sub><sub></sub><sub>)</sub> khơng


phải là pt bậc nhất.



+

Neáu b = 0 thì

()



s nghiệm.



+

Nếu b

0 thì

()



nghiệm.



 Nếu a ≠ 0 thì <sub>(</sub><sub></sub><sub>)</sub> có


nghiệm x = -b/a.


<b>a) LIỆT KÊ</b>



<b>LIỆT KÊ :</b>


• Bước 1 : Nhập a, b.


• Bước 2 : Nếu a = 0 thì
quay lại bước 1, ngược lại
thì qua bước 3.


• Bước 3 : Gán cho x giá
trị -b/a, rồi qua bước 4.


• Bước 4 : Đưa ra kết quả
x và kết thúc.


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

: Thể hiện các thao tác so sánh


<b>b) DÙNG SƠ ĐỒ KHỐI</b>




Trong sơ đồ khối, người ta dùng một số



biểu tượng thể hiện các thao tác như :



: Thể hiện các phép tốn



: Quy định trình tự thực hiện các


thao tác



</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>VD:</b> Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0


<b>Nhaäp a, b</b>


<b> a = 0</b>


<b> x = -b/a</b>



<b>Sai</b>


<b>Đúng</b>


<b>Đưa ra x và</b> <b>kết thúc</b>


• Bước 1

:

Nhập a, b.



• Bước 2 :

Nếu a = 0 thì


quay lại bước 1, ngược


lại thì qua bước 3.




• Bước 3 :

Gán cho x


giá trị -b/a, rồi qua bước


4.



Bước 4 :

Đưa ra kết


quả x và kết thúc.



</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>Ta cần diễn tả thuật tốn bằng </b>


<b>một ngơn ngữ sao cho máy </b>


<b>tính có thể hiểu và thực hiện </b>


<b>được, ngơn ngữ đó gọi là </b>

<i><b>ngơn </b></i>


<i><b>ngữ lập trình</b></i>

<b>. Kết quả diễn tả </b>


<b>thuật toán như vậy gọi là </b>


<i><b>chương trình</b></i>

<b>.</b>



</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>III. VÍ DỤ VỀ THUẬT TỐN</b>



<b>III. VÍ DỤ VỀ THUẬT TỐN</b>



<b>Bài tốn 1 :</b>



<b>Cho dãy số gồm N số sau (N = 5):</b>


<b>11 6 20 4 8 </b>



</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>HƯỚNG DẪN:</b>


- Gọi <b>Min</b> là giá trị nhỏ nhất cần
tìm.


- Gán <b>Min</b> bằng giá trị phần tử đầu


tiên của dãy.




- Lần lượt so sánh <b>Min</b> với các
phần tử tiếp theo trong dãy. Tại
mỗi vị trí so sánh :


+ Nếu <b>Min</b> lớn hơn giá trị phần


tử cần so sánh trong dãy thì lấy giá
trị của phần tử đó gán lại cho <b>Min</b>.


- Khi so sánh đến phần tử cuối
cùng trong dãy số thì <b>Min</b> sẽ mang


giá trị nhỏ nhất của dãy.


Gán <b>i = 2</b>

<b> 11 6 20 4 8</b>


<b>Min</b>



Min=11


Min=6


Min=4


Giá trị nhỏ nhất:

<b>4</b>



Biến <b>i</b> lưu trữ vị trí


tiếp theo mà <b>Min</b> sẽ
so sánh


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>SƠ ĐỒ KHỐI :</b>


<b>SƠ ĐỒ KHỐI :</b> <b><sub>Nhập N và dãy a</sub><sub>1</sub><sub>,…, a</sub><sub>N</sub></b>


<b> Min = a<sub>1</sub></b> <b>, i = 2</b>
<b>i <=N</b>


<b>Min > a<sub>i</sub></b>


<b>Min = a<sub>i</sub></b>
<b> i = i+1</b>


<b>Đưa ra Min </b>
<b>rồi kết thúc</b>


<b>Sai</b>
<b>Đúng</b>


</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

<b>LIỆT KÊ</b>



<b>LIỆT KÊ</b>



<i><b>Bước 1 :</b></i>

<b>Nhập N và dãy a</b>

<b><sub>1</sub></b>

<b>,…, a</b>

<b><sub>N</sub></b>

<b>.</b>


<i><b>Bước 2 :</b></i>

<b>Đặt Min= a</b>

<b><sub>1</sub></b>

<b>, i=2;</b>



<i><b>Bước 3 :</b></i>

<b>Nếu i<=N thì thực hiện bước 4, nếu </b>




<b> khơng thì chuyển đến bước 5.</b>



<i><b>Bước 4 :</b></i>



<b>4.1. </b>

<b>Neáu Min > a</b>

<b><sub>i</sub></b>

<b> thì đặt Max=a</b>

<b><sub>i</sub></b>

<b>.</b>



<b>4.2. </b>

<b>Tăng i một đơn vị rồi quay về bước 3</b>



</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>Bài tốn 2</b> :


Tìm giá trị LỚN NHẤT của một dãy số với Input
và Output như sau:


• <b>Input :</b> Số nguyên dương N và dãy N số
a1,...,aN.


• <b>Output :</b> Giá trị lớn nhất (Max) của dãy số.
Mô tả thuật toán để giải bài toán này theo cả
2 cách liệt kê và dùng sơ đồ khối.


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

<b>CÁC THUẬT NGỮ CHÍNH</b>



<b>CÁC THUẬT NGỮ CHÍNH</b>


<b>Là việc nào đó ta muốn </b>



<b>máy tính thực hiện</b>


<b>Các thơng tin đã có </b>



<b>(các giả thiết)</b>




<b>Các thơng tin cần tìm </b>


<b>từ Input (kết luận)</b>



*Một dãy hữu hạn các thao tác.
*Các thao tác được sắp xếp theo
một trình tự xác định.


*Sau khi thực hiện dãy thao tác
đó, từ Input ta tìm được Output
của bài toán.


<b>Dùng các biểu tượng qui </b>


<b>ước để thể hiện các thao </b>



<b>tác trong thuật tốn</b>



<b><sub> Bài tốn</sub></b>



<b><sub> Input</sub></b>



<b><sub> Output</sub></b>



<b><sub> Thuật tốn</sub></b>



</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

<b>BÀI TẬP VỀ </b>


<b>NHÀ</b>



<b> </b>

<b>Bài 1, 3, 4, 5, 6 </b>



</div>


<!--links-->

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

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