CHƯƠNG TRÌNH TIN HỌC LỚP 10   (SGK thí điểm) <ul><li>Chương I </li></ul><ul><li>Bài 4 .   BÀI TOÁN và  </li></ul><ul><li>T...
<ul><li>Xét các yêu cầu sau : </li></ul><ul><li>Giải phương trình bậc hai ax 2 +bx+c=0 </li></ul><ul><li>Viết một dòng chữ...
Khái niệm  bài toán  trong  Tin học? <ul><li>Bài toán  là việc nào đó ta muốn máy tính thực hiện. </li></ul>
Các yếu tố cần quan tâm khi giải một bài toán <ul><li>   Trong Tin học, để phát biểu một bài toán, ta cần trình bày rõ  I...
CÁC VÍ DỤ <ul><li>VD1  :   Giải phương trình bậc hai  </li></ul><ul><li>ax 2  + bx + c = 0 (a  ≠ 0) . </li></ul><ul><li>In...
CÁC VÍ DỤ (tt) <ul><li>VD3  :   Tìm ước chung lớn nhất của hai số nguyên dương a và b. </li></ul><ul><li>Input  :  </li></...
Nêu một bài toán và chỉ rõ Input, Output của bài toán đó? Xem thêm các ví dụ trong SGK/24, 25
TÓM LẠI <ul><li>Một bài toán được cấu tạo bởi 2 thành phần cơ bản : </li></ul><ul><li>Input  (Các thông tin đã có) </li></...
II. THUẬT TOÁN Hướng dẫn các thao tác cho máy thực hiện để tìm ra lời giải Bài toán Input Output Bằng cách nào? Giải bài t...
Input Output THUẬT TOÁN (Thao tác 1  Thao tác 2  ...  Thao tác n) Thuật toán để giải một bài toán là một dãy hữu hạn cá...
MÔ TẢ CÁC THAO TÁC  TRONG THUẬT TOÁN Có 2 cách mô tả Liệt kê Dùng sơ đồ khối Nêu ra tuần tự các thao tác cần tiến hành Dùn...
<ul><li>Giải toán thông thường : </li></ul><ul><li>Nếu a = 0 thì  (  )   không phải là pt bậc nhất. </li></ul><ul><li>+  ...
b) DÙNG SƠ ĐỒ KHỐI <ul><li>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ư : </li></ul>: Thể h...
VD:  Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0 Nhaäp a, b a = 0 x = -b/a Sai Ñöa ra x vaø   keát thuùc <ul><...
<ul><li>Ta cần diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể hiểu và thực hiện được, ngôn ngữ đó gọi là  ng...
III. VÍ DỤ VỀ THUẬT TOÁN <ul><li>Bài toán 1  :   </li></ul><ul><li>Cho dãy số gồm N số sau (N = 5): </li></ul><ul><li>11  ...
<ul><li>HÖÔÙNG DAÃN: </li></ul><ul><li>Goïi  Min  laø giaù trò nhoû nhaát caàn tìm. </li></ul><ul><li>Gaùn  Min  baèng gia...
SƠ ĐỒ KHỐI : Nhaäp N vaø daõy a 1 ,…, a N Min =  a 1   ,  i = 2 i <=N Min > a i Min = a i i = i+1 Ñöa ra Min roài keát thu...
LIỆT KÊ <ul><li>Böôùc 1 :   Nhaäp N vaø daõy a 1 ,…, a N . </li></ul><ul><li>Böôùc 2 :   Ñaët Min= a 1 , i=2; </li></ul><u...
<ul><li>Bài toán 2   :   </li></ul><ul><li>Tìm giá trị LỚN NHẤT của một dãy số với Input và Output như sau: </li></ul><ul>...
CÁC THUẬT NGỮ CHÍNH   Là việc nào đó ta muốn máy tính thực hiện Các thông tin đã có (các giả thiết) Các thông tin cần tìm ...
BÀI TẬP VỀ NHÀ <ul><li>Bài 1, 3, 4, 5, 6  </li></ul><ul><li>trang 27 – 28 (SGK) </li></ul>
Upcoming SlideShare
Loading in …5
×

Bai giang 4 thuat toan

5,595 views

Published on

Published in: Education
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
5,595
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
59
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Bai giang 4 thuat toan

  1. 1. CHƯƠNG TRÌNH TIN HỌC LỚP 10 (SGK thí điểm) <ul><li>Chương I </li></ul><ul><li>Bài 4 . BÀI TOÁN và </li></ul><ul><li>THUẬT TOÁN </li></ul>
  2. 2. <ul><li>Xét các yêu cầu sau : </li></ul><ul><li>Giải phương trình bậc hai ax 2 +bx+c=0 </li></ul><ul><li>Viết một dòng chữ ra màn hình máy tính. </li></ul><ul><li>Quản lý các cán bộ trong một cơ quan. </li></ul><ul><li>Tìm ước chung lớn nhất của hai số nguyên dương a và b. </li></ul><ul><li>Xếp loại học tập các học sinh trong lớp. </li></ul>I. BÀI TOÁN Trong TIN HỌC Trong TOÁN HỌC Yêu cầu 1 và 4 được xem là bài toán Tất cả các yêu cầu trên đều được xem là bài toán  Trong các yêu cầu trên, yêu cầu nào được xem như là một bài toán ?
  3. 3. Khái niệm bài toán trong Tin học? <ul><li>Bài toán là việc nào đó ta muốn máy tính thực hiện. </li></ul>
  4. 4. Các yếu tố cần quan tâm khi giải một bài toán <ul><li> Trong Tin học, để phát biểu một bài toán, ta cần trình bày rõ Input và Output của bài toán đó. </li></ul>TOÁN HỌC? Đưa vào máy thông tin gì Cần lấy ra thông tin gì TIN HỌC <ul><li>Giả thiết </li></ul><ul><li>Kết luận </li></ul>TOÁN HỌC Input Output THUẬT NGỮ
  5. 5. CÁC VÍ DỤ <ul><li>VD1 : Giải phương trình bậc hai </li></ul><ul><li>ax 2 + bx + c = 0 (a ≠ 0) . </li></ul><ul><li>Input : Các số thực a,b,c (a ≠ 0) </li></ul><ul><li>Output : Số thực x thỏa : ax 2 +bx+ c = 0 </li></ul><ul><li>VD2 : Tìm giá trị nhỏ nhất của các số trong một dãy số. </li></ul><ul><li>Input : Các số trong dãy số. </li></ul><ul><li>Output : Giá trị nhỏ nhất trong dãy số. </li></ul>
  6. 6. CÁC VÍ DỤ (tt) <ul><li>VD3 : Tìm ước chung lớn nhất của hai số nguyên dương a và b. </li></ul><ul><li>Input : </li></ul><ul><li>Output : </li></ul><ul><li>VD4 : Xếp loại học tập các học sinh trong lớp. </li></ul><ul><li>Input : </li></ul><ul><li>Output : </li></ul>UCLN của a và b. Hai số nguyên dương a và b. ? ? ? ? Bảng điểm của học sinh. Bảng xếp loại học tập.
  7. 7. Nêu một bài toán và chỉ rõ Input, Output của bài toán đó? Xem thêm các ví dụ trong SGK/24, 25
  8. 8. TÓM LẠI <ul><li>Một bài toán được cấu tạo bởi 2 thành phần cơ bản : </li></ul><ul><li>Input (Các thông tin đã có) </li></ul><ul><li>Output (Các thông tin cần tìm từ Input) </li></ul>
  9. 9. II. THUẬT TOÁN Hướng dẫn các thao tác cho máy thực hiện để tìm ra lời giải Bài toán Input Output Bằng cách nào? Giải bài toán Thuật toán
  10. 10. Input Output THUẬT TOÁN (Thao tác 1  Thao tác 2  ...  Thao tác n) Thuật toán để giải một bài toán là một dãy hữu hạn các thao tác được sắp xếp theo một trình tự xác định sao cho sau khi thực hiện dãy thao tác đó, từ Input của bài toán này, ta nhận được Output cần tìm. BÀI TOÁN <ul><li>Thuật toán để giải một bài toán là : </li></ul><ul><li>Một dãy hữu hạn các thao tác. </li></ul><ul><li>Các thao tác được sắp xếp theo một trình tự xác định. </li></ul><ul><li>Sau khi thực hiện dãy thao tác đó, từ Input ta tìm được Output của bài toán. </li></ul>
  11. 11. MÔ TẢ CÁC THAO TÁC TRONG THUẬT TOÁN Có 2 cách mô tả Liệt kê Dùng sơ đồ khối Nêu ra tuần tự các thao tác cần tiến hành Dùng một số biểu tượng thể hiện các thao tác
  12. 12. <ul><li>Giải toán thông thường : </li></ul><ul><li>Nếu a = 0 thì (  ) không phải là pt bậc nhất. </li></ul><ul><li>+ Neáu b = 0 thì (  ) voâ số nghieäm. </li></ul><ul><li>+ Neáu b ≠ 0 thì (  ) voâ nghieäm. </li></ul><ul><li>Nếu a ≠ 0 thì (  ) có nghiệm x = -b/a. </li></ul>a) LIỆT KÊ <ul><li>LIỆT KÊ : </li></ul><ul><li>Bước 1 : Nhập a, b. </li></ul><ul><li>Bước 2 : Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3. </li></ul><ul><li>Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4. </li></ul><ul><li>Bước 4 : Đưa ra kết quả x và kết thúc. </li></ul>VD : Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0 (  )
  13. 13. b) DÙNG SƠ ĐỒ KHỐI <ul><li>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ư : </li></ul>: Thể hiện các thao tác so sánh : Thể hiện các phép toán : Quy định trình tự thực hiện các thao tác : Thể hiện các thao tác nhập, xuất dữ liệu
  14. 14. VD: Tìm nghiệm phương trình bậc nhất tổng quát : ax + b = 0 Nhaäp a, b a = 0 x = -b/a Sai Ñöa ra x vaø keát thuùc <ul><li>Bước 1 : Nhập a, b. </li></ul><ul><li>Bước 2 : Nếu a = 0 thì quay lại bước 1, ngược lại thì qua bước 3. </li></ul><ul><li>Bước 3 : Gán cho x giá trị -b/a, rồi qua bước 4. </li></ul><ul><li>Bước 4 : Đưa ra kết quả x và kết thúc. </li></ul>SƠ ĐỒ KHỐI LIỆT KÊ Ñuùng
  15. 15. <ul><li>Ta cần diễn tả thuật toán bằng một ngôn ngữ sao cho máy tính có thể hiểu và thực hiện được, ngôn ngữ đó gọi là ngôn ngữ lập trình . Kết quả diễn tả thuật toán như vậy gọi là chương trình . </li></ul>LƯU Ý
  16. 16. III. VÍ DỤ VỀ THUẬT TOÁN <ul><li>Bài toán 1 : </li></ul><ul><li>Cho dãy số gồm N số sau (N = 5): </li></ul><ul><li>11 6 20 4 8 </li></ul><ul><li>Tìm giá trị NHỎ NHẤT của dãy số trên ? </li></ul>
  17. 17. <ul><li>HÖÔÙNG DAÃN: </li></ul><ul><li>Goïi Min laø giaù trò nhoû nhaát caàn tìm. </li></ul><ul><li>Gaùn Min baèng giaù trò phaàn töû ñaàu tieân cuûa daõy. </li></ul><ul><li>Laàn löôït so saùnh Min vôùi caùc phaàn töû tieáp theo trong daõy. Taïi moãi vò trí so saùnh : </li></ul><ul><li>+ Neáu Min lôùn hôn giaù trò phaàn töû caàn so saùnh trong daõy thì laáy giaù trò cuûa phaàn töû ñoù gaùn laïi cho Min . </li></ul><ul><li>- Khi so saùnh ñeán phaàn töû cuoái cuøng trong daõy soá thì Min seõ mang giaù trò nhoû nhaát cuûa daõy. </li></ul>Gán i = 2 11 6 20 4 8 Min Min=11 Min=6 Min=4 Giaù trò nhoû nhaát: 4 Biến i lưu trữ vị trí tiếp theo mà Min sẽ so sánh + Tăng i lên 1 đơn vị
  18. 18. SƠ ĐỒ KHỐI : Nhaäp N vaø daõy a 1 ,…, a N Min = a 1 , i = 2 i <=N Min > a i Min = a i i = i+1 Ñöa ra Min roài keát thuùc Sai Ñuùng Ñuùng Sai
  19. 19. LIỆT KÊ <ul><li>Böôùc 1 : Nhaäp N vaø daõy a 1 ,…, a N . </li></ul><ul><li>Böôùc 2 : Ñaët Min= a 1 , i=2; </li></ul><ul><li>Böôùc 3 : Neáu i<=N thì thöïc hieän böôùc 4, neáu khoâng thì chuyeån ñeán böôùc 5. </li></ul><ul><li>Böôùc 4 : </li></ul><ul><li>4.1. Neáu Min > a i thì ñaët Max=a i . </li></ul><ul><li>4.2. Taêng i moät ñôn vò roài quay veà böôùc 3 </li></ul><ul><li>Böôùc 5 : Ñöa ra Min roài keát thuùc. </li></ul>
  20. 20. <ul><li>Bài toán 2 : </li></ul><ul><li>Tìm giá trị LỚN NHẤT của một dãy số với Input và Output như sau: </li></ul><ul><li>Input : Số nguyên dương N và dãy N số </li></ul><ul><li>a 1 ,...,a N . </li></ul><ul><li>Output : Giá trị lớn nhất (Max) của dãy số. </li></ul><ul><li>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 . </li></ul>4. VÍ DỤ VỀ THUẬT TOÁN (tt)
  21. 21. CÁC THUẬT NGỮ CHÍNH Là việc nào đó ta muốn máy tính thực hiện Các thông tin đã có (các giả thiết) Các thông tin cần tìm từ Input (kết luận) * 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. Dùng các biểu tượng qui ước để thể hiện các thao tác trong thuật toán <ul><li>Bài toán </li></ul><ul><li>Input </li></ul><ul><li>Output </li></ul><ul><li>Thuật toán </li></ul><ul><li>Sơ đồ khối </li></ul>
  22. 22. BÀI TẬP VỀ NHÀ <ul><li>Bài 1, 3, 4, 5, 6 </li></ul><ul><li>trang 27 – 28 (SGK) </li></ul>

×