ThuËt to¸n lµ t duy s¸ng t¹o cña con ngêi Tuy nhiên thuật toán phải đợc mô tả dới dạng ngôn ngữ máy để máy tính có thể hiểu và thực hiện đợc Kết quả diễn đạt thuật toán chơng trình đợc v[r]
(1)LOGO TiÕt 21 – Bµi (2) Bài toán và xác định bài toán Qu¸ tr×nh gi¶i to¸n trªn m¸y tÝnh ThuËt to¸n vµ m« t¶ thuËt to¸n (3) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n BµI TO¸N Bµi to¸n c¸c m«n häc Toán: Tính tổng các số từ đến 100 Vật lý: Tính quãng đờng ô tô đợc thêi gian giê víi vËn tèc 60 km/h V¨n: ViÕt bµi v¨n miªu t¶ mÌo nhµ em Tin häc: ViÕt ch¬ng tr×nh tÝnh tæng hai sè a và b đợc nhập từ bàn phím (4) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n BµI TO¸N Bµi to¸n cuéc sèng h»ng ngµy So s¸nh c©n nÆng cña hai b¹n líp So s¸nh gi¸ tiÒn cña 1kg ®Ëu vµ 1kg thÞt (5) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Bµi to¸n lµ g× nhØ? (6) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Kh¸i niÖm Bµi to¸n: Lµ mét c«ng viÖc hay mét nhiÖm vô cÇn ph¶i gi¶i quyÕt (7) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Để giải đợc bài toán cụ thể, cần xác định bài toán Tøc lµ cÇn xác định rõ các điều kiện cho trớc và kết cần thu đợc (8) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Ví dụ: Xác định điều kiện cho trớc và kết nhận đợc cho bài to¸n sau: Cho tam gi¸c ABC biÕt r»ng độ dài cạnh đáy BC = cm; đờng cao t¬ng øng AH = cm TÝnh diÖn tÝch tam gi¸c ABC? (9) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n GT Tam gi¸c ABC BC = cm; AH BC AH = cm KL DiÖn tÝch tam gi¸c ABC (10) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n VÝ dô TÝnh diÖn tÝch h×nh tam gi¸c Tìm đờng tr¸nh c¸c ®iÓm nghÏn giao th«ng giê cao ®iÓm NÊu mét mãn ¨n (11) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Mét c¹nh cña tam gi¸c §iÒu kiÖn cho tríc §êng cao t¬ng øng với cạnh đó KÕt qu¶ thu đợc DiÖn tÝch tam gi¸c Bµi Bµi to¸n to¸n tÝnh tÝnh diÖn diÖn tÝch tÝch tam tam gi¸c gi¸c (12) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n §iÒu kiÖn cho tríc VÞ trÝ ®iÓm t¾c nghÏn giao th«ng Các đờng có thể từ vị trí đến vị trí cần đến KÕt qu¶ thu đợc Đến đợc vị trí cần đến mµ kh«ng qua ®iÓm t¾c nghÏn T×m T×m ® đờng êng ®i ®i tr¸nh tr¸nh c¸c c¸c ®iÓm ®iÓm nghÏn nghÏn giao giao th«ng th«ng trong giê giê cao cao ®iÓm ®iÓm (13) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Quèc Quèc lé lé 4G 4G mïa mïa m ma a lò lò § §êng êng phè phè HN HN giê giê cao cao ®iÓm ®iÓm (14) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n Bµi Bµi to¸n to¸n giao giao th«ng th«ng nan nan gi¶i gi¶i (15) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n (16) Bµi Bµi to¸n to¸n vµ vµ x¸c xác định định bài bµi to¸n to¸n §iÒu kiÖn cho tríc C¸c thùc phÈm hiÖn cã KÕt qu¶ thu đợc Mét mãn ¨n Bµi Bµi to¸n to¸n nÊu nÊu mét mét mãn mãn ¨n ¨n (17) M¸y tÝnh cã thÓ tù gi¶i c¸c bµi to¸n kh«ng? å kh«ng! T«i chØ lµm theo sù chØ dÉn th«i!!!! (18) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh Việc dùng máy tính để giải mét bµi to¸n chÝnh lµ ®a cho m¸y tÝnh d·y h÷u h¹n các thao tác đơn giản mà nó có thể thực đợc để từ các điều kiện cho trớc ta nhận đợc kết cần tìm (19) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh D·y h÷u h¹n c¸c thao t¸c cÇn thực để giải mét bµi to¸n đợc gọi là thuËt to¸n ThuËt ThuËt to¸n to¸n gi¶i gi¶i ph ph¬ng ¬ng tr×nh tr×nh ax ax ++ b b == 00 (20) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh M¸y tÝnh kh«ng tù t×m lêi gi¶i (ThuËt to¸n) cña c¸c bµi to¸n ThuËt to¸n lµ t s¸ng t¹o cña ngêi Tuy nhiên thuật toán phải đợc mô tả dới dạng ngôn ngữ máy để máy tính có thể hiểu và thực đợc Kết diễn đạt thuật toán chơng trình đợc viết ngôn ngữ lập trình nào đó Máy tính chạy chơng tr×nh vµ cho ta lêi gi¶i cña bµi to¸n (21) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh ThuËt ThuËt to¸n to¸n Ch Ch¬ng ¬ng tr×nh tr×nh Lµ Lµ thÓ thÓ hiÖn hiÖn Lµ c¸c b íc Lµ c¸c bíccña thuËt to¸n cña thuËt to¸n để gi¶i mét để giải mét mét bµi to¸n bµi to¸n ng«n ng÷ lËp ng«n ng÷ lËp tr×nh tr×nh cô cô thÓ thÓ ThuËt to¸n Ch¬ng tr×nh (22) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh C¸c C¸c b bíc íc gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh Xác định bµi to¸n: Input, Output M« t¶ thuËt to¸n: T×m c¸ch gi¶i, diÔn t¶ b»ng c¸c lÖnh ViÕt ch¬ng tr×nh: ViÕt CT b»ng ng«n ng÷ lËp tr×nh đã biết (23) Qu¸ Qu¸ tr×nh tr×nh gi¶i gi¶i bµi bµi to¸n to¸n trªn trªn m¸y m¸y tÝnh tÝnh LLuu ý: ý: §Ó §Ó gi¶i gi¶i mét mét bµi bµi to¸n to¸n cã cã thÓ thÓ cã cã nhiÒu nhiÒu thuËt thuËt to¸n to¸n kh¸c kh¸c nhau, nhau, song song mçi mçi thuËt thuËt to¸n to¸n chØ chØ dïng dùng để để giải gi¶i mét mét bµi bµi to¸n to¸n cô cô thÓ thÓ V× V× vËy vËy khi m« m« t¶ t¶ thuËt thuËt to¸n to¸n nªn nªn chØ chØ ra ®iÒu ®iÒu kiÖn kiÖn cho cho trtríc íc vµ vµ kÕt kÕt qu¶ qu¶ nhËn nhËn ® đợc îc kÌm kÌm theo theo để để dÔ dÔ nhËn nhËn biÕt biÕt thuËt thuËt to¸n toán đó đó dùng dùng để để giải gi¶i bµi bµi to¸n to¸n nµo nµo (24) (25) Caâu Caâu Caâu Caâu Caâu Caâu (26) Caâu 1: Haõy chæ Input vaø Output cuûa bài toán sau: Tìm số lớn soá a, b, c Input: soá a, b, c Output: Số lớn số a, b, c 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 (27) Caâu 2: Haõy choïn phaùt bieåu Sai? A Việc thực bước giải bài toán trên máy tính là cần thiết, là bài toán phức tạp B Xác định bài toán là xác định rõ Các điều kiện cho trước và kết cần thu C Dãy hữu hạn các thao tác cần thực để giải bài toán gọi là thuật toán D Đối với bài toán cụ thể chúng ta có thuật toán để giải bài toán đó trên maùy tính 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 (28) Caâu 3: Haõy chæ Input vaø Output cuûa bài toán sau: Tính quãng đường ô tô với vận tốc 60km/giờ Input: t = 3h, υ = 60km/h Output: Quãng đường ô tô 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 (29) Caâu 4: Haõy chæ Input vaø Output cuûa bài toán sau: Tính tổng các số chẵn các số tự nhiên từ đến 100 23 30 29 28 26 27 24 25 10 11 12 13 14 15 16 17 18 19 20 21 22 Input: Dãy 100 số tự nhiên đầu tiên 1, 2,…, 100 Output: Giaù trò cuûa toång 2+4+6+…+100 (30) Câu 5: Hãy chọn phát biểu Đúng? A Các bước giải bài toán trên máy tính là: Mô tả thuật toán Xác định bài toán Viết chöông trình B Cần phải xác định bài toán trước giải bài toán trên máy tính C Máy tính hiểu chương trình viết baèng NNLT Pascal D Với bài toán cụ thể, phải lựa chọn NNLT phù hợp xây dựng thuật toán giải bài toán đó 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 (31) Caâu 6: Haõy chæ Input vaø Output cuûa bài toán sau: Cho số a và b (a>0, b>0) Tìm caùc USC cuûa soá a vaø b Input: a>0, b>0 Output: Caùc USC cuûa soá a vaø b 23 30 29 28 26 27 10 11 12 13 14 15 16 17 18 19 20 21 22 24 25 (32) Bµi Bµi tËp tËp vÒ vÒ nhµ: nhµ: X¸c Xác định định input input vµ vµ output output cho cho bµi bµi to¸n: to¸n: a a NÊu NÊu c¬m c¬m b b Luéc Luéc trøng trøng c c Röa Röa b¸t b¸t (33) LOGO (34) LOGO (35) Bài toán và xác định bài toán: - Ví dụ bài toán: + Bài toán 1: Tính tổng các số tự nhiên từ đến 100 + Bài toán 2: Tính quãng đường ô tô với vận tốc 60km/giờ + Bài toán 3: Tính diện tích hình tam giác A c B b h a C (36) Bài toán và xác định bài toán: - Ví dụ bài toán: + Bài toán 4: Tính điểm trung bình môn Toán, Lyù, Tin + Bài toán 5: Bài toán điều khiển Rô-bốt nhặt rác + Bài toán 6: Lập bảng điểm các bạn lớp Bài toán là công việc Em hieå u theá naø o laø hay moät nhieäm vuï caàn baøiigiaû toá n ? t phaû i quyeá (37) Bài toán và xác định bài toán: Để giải bài toán cụ thể, ta cần xác ñònh roõ ñieàu gì? Xác định bài toán * Xác định các điều kiện cho trước * Kết quả cần thu được (38) Ví dụ: Xác định các bài toán sau: a) Tính dieän tích hình tam giaùc: A 1c m b= 2c h=4cm c= B m a=3cm C Điều kiện cho trước: Một cạnh và đường cao tương ứng với cạnh đó Kết quả cần thu được: Diện tích hình tam giác (39) b) Tính diện tích hình chữ nhật: b=2cm a=3cm Điều kiện cho trước: Chiều dài, chiều rộng Kết quả cần thu được: Diện tích hình chữ nhật (40) c) Tìm đường traùnh caùc ñieåm ngheõn giao thoâng: • Vị trí điểm nghẽn giao thông Điều kiện cho trước: Kết quả cần thu được: • Các đường có thể từ vị trí hiện tại tới vị trí cần tới Đường từ vị trí hiện tại tới vị trí cần tới mà không qua điểm nghẽn giao thông (41) d) Bài toán nấu món ăn: Điều kiện cho trước: Các thực phẩm hiện có Kết quả cần thu được: Một món ăn (42) Bài toán và xác định bài toán: - Bài toán: Là công việc hay nhiệm vụ cần phải giải - Xác định bài toán: Là xác định các điều kiện cho trước và kết cần thu (43) Quá trình giải bài toán trên máy tính: - Ví dụ Bài toán điều khiển rô-bốt nhặt rác: Tiến bước; Quay trái, tiến bước; Nhặt rác; Quay phải, tiến bước; Quay trái, tiến bước; Bỏ rác vào thùng; Thuật toán: là dãy hữu hạn các thao tác cần thực để giải bài toán Thuật toán ThuËt to¸n lµ g×? (44) Quá trình giải bài toán trên máy tính: - Ví dụ Bài toán điều khiển rô-bốt nhặt rác: Tiến bước; Quay trái, tiến bước; Nhặt rác; Quay phải, tiến bước; Quay trái, tiến bước; Bỏ rác vào thùng; Máy tính hiểu chương trình viết ngôn ngữ lập trình Maùy tính chæ hiểu trực tiếp ngôn ngữ nào? (45) - Quan saùt hình sau: Quá trình giải bài toán trên máy tính gồm bước? (46) 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 bước: Xác định bài toán: Xác định thông tin đã cho (Input) Thoâng tin caàn tìm (Output) Mô tả thuật toán: Tìm cách giải bài toán và diễn tả các lệnh cần phải thực Vieát chöông trình: Dựa vào mô tả thuật toán, ta viết chương trình ngôn ngữ lập trình (47) Quá trình giải bài toán trên máy tính: Ví dụ: Viết chương trình tính chu vi và diện tích hình vuông ? * Xác định bài toán: Điều kiện cho trước: cạnh hình vuông Kết thu được: chu vi, diện tích hình vuông * Mô tả thuật toán: Nhập vào cạnh hình vuông Sử dụng các công thức tính chu vi và diện tích để tính toán In kết màn hình * Viết chương trình: Sử dụng chương trình Pascal để viết chương trình (48)