1 / 25

Chương 1: Thuật t oán

Chương 1: Thuật t oán. Vấn đề , bài toán. Vấn đề : Những v ư ớng mắc, khó khăn trong cuộc sống mà ta cần giải quyết . Bài toán : Một loại vấn đề mà để giải quyết, cần đến tính toán (phép toán số, luận lí, quan hệ ). Vấn đề , bài toán. Giải quyết vấn đề bài toán :

didier
Télécharger la présentation

Chương 1: Thuật t oán

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 503002 - Thuật toán Chương 1: Thuậttoán

  2. 503002 - Thuật toán Vấnđề, bàitoán Vấnđề: • Những vướng mắc, khó khăn trong cuộc sốngmà ta cần giải quyết. Bàitoán: • Một loại vấn đề mà để giải quyết, cần đến tínhtoán (phép toán số, luận lí, quan hệ).

  3. 503002 - Thuật toán Vấnđề, bàitoán Giảiquyếtvấnđềbàitoán: • Bất kỳ vấn đề, bài toán ngoài đời nào cũng có thểđược chia thành trình tự nhiều công việc nhỏ hơn. • Trình tự các công việc nhỏ này được gọi là giải thuật giải quyết công việc ngoài đời. • Mỗi công việc nhỏ hơn cũng có thể được chia nhỏ hơn nữa nếu nó còn phức tạp,...

  4. 503002 - Thuật toán Vấnđề, bàitoán Giảiquyếtvấnđềbàitoán: • Vấn đề mấuchốt của việc dùng máy tính giải quyết công việc ngoài đời là lập trình.

  5. 503002 - Thuật toán Thuậttoán Thuậttoán: • Là cách biểu diễn lời giải "bài toán“ rõ ràng,chi tiết để có thể thực thi được trên máytính. • Là một dãy hữu hạn các bước nhằm xácđịnh các thao tác mà máy tính có thể thựchiện được sao cho sau khoảng thời gianhữu hạn thì cho ra kết quả. Bài toán giải phương trình bậc 1- 1 ẩn. (??)

  6. 503002 - Thuật toán Thuậttoán Các đặc trưng của thuật toán: • Tính hữu hạn: có hữu hạn bước và phải dừng. • Tính xác định: các bước rõ ràng, thực thi được. • Tính đúng: quá trình thực thi theo các bước đãchỉ ra phải đi đến kết quả nhưý. • Tính hiệu quả: khối lượng, không gian, thờigian tính toán không quá “lớn”.

  7. 503002 - Thuật toán Thuậttoán Các đặc trưng của thuật toán: • Tính tổng quát: áp dụng được cho mọi trườnghợp của bài toán.

  8. 503002 - Thuật toán Thuậttoán Phươngphápbiểudiễnthuậttoán: -Thuật toán thường được biểu diễn bằng các ngôn ngữ sau: • Dùng ngôn ngữ tự nhiên (NNTN) • Dùngmãgiả (NNTN + NN LT) • Dùng lưu đồ - sơ đồ khối

  9. 503002 - Thuật toán Thuậttoán Biểudiễnbằng NNTN: • Dùng ngôn ngữ thường ngày để liệt kê các bước của thuật toán. • Khôngthểhiệnrõcấutrúccủathuậttoán. • Dài dòng, có thể gây hiểu lầm hoặc khó hiểu. • Không yêu cầu người viết hay đọc nắm quy tắc. • Không có một quy tắc cố định

  10. 503002 - Thuật toán Thuậttoán Biểudiễnbằngmãgiả: • Vay mượn các cú pháp của một ngôn ngữ lập trình. • Dùngmộtphầnngônngữtựnhiên. • Bịphụthuộcvàongônngữlậptrình. • Mọi ngôn ngữ lập trình đều có những thao tác cơ bản. • Xửlý, rẽnhánhvàlặp. • Tận dụng được các khái niệm trong ngôn ngữ lập trình. • Dễdàngnắmbắtnội dung thuậttoán.

  11. 503002 - Thuật toán Thuậttoán Mã giả của thuật toán giải pt bậc hai:

  12. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ:

  13. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Công cụ trực quan diễn đạt thuật toán: Biểudiễnbằngmôhình – hìnhvẽ. • Theo dõi được: • sựphâncấpcáctrườnghợp. • quátrìnhxửlýcủathuậttoán. • Phânbiệthailoạithaotác: chọnlựavàxửlý

  14. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Chọnlựatheo một điều kiện nào đó: • Biểu diễn bằng một hình thoi, bên trong chứa biểu thức điều kiện. • Vídụ: thao tác "nếu a = b thì thực hiện thao tác B2, ngược lại thực hiện B3" là thao tác chọn lựa.

  15. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Thao tác chọn lựa: có thể có hai hướng đi • một hướng ứng với điều kiện thỏa • một hướng ứng với điều kiện không thỏa. • 2 cung có nhãn • Đ/Đúng,Y/Yes • S/Sai,N/No

  16. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Xử lý: • Biểu diễn bằng một hình chữ nhật, bên trong chứa nội dung xử lý. • Ví dụ: "Chọn một môn học và in ra." là một thao tác thuộc loại hành động.

  17. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Ðiểm cuối (terminator) • Biểu diễn bằng hình ô van • Điểm khởi đầu • chỉ có cung đi ra. • bên trong ô van ghi chữ: bắt đầu/start/begin

  18. 503002 - Thuật toán Thuậttoán Biểu diễn bằng lưu đồ: • Điểm kết thúc • Chỉ có cung đi vào • Bên trong ô van ghi chữ: kết thúc/end • Mỗi lưu đồ chỉ có 1 điểm bắt đầu và 1 điểm kết thúc.

  19. 503002 - Thuật toán Thuậttoán

  20. 503002 - Thuật toán Giảibàitoántrênmáytính • Các bước giải quyết vấn đề, bài toán bằng máy tínhđiện tử (MTĐT): • Xác định vấn đề: xác định rõ yêu cầu bài toán, bài toán cho gì (Input) và yêu cầu tìm gì (Output). • Lựa chọn phương pháp giải: Có nhiều cách khác nhau để giải bài toán. Có thể khác nhau về thời gian thực hiện, chi phí lưu trữ dữ liệu, độ chính xác, … => tùy theo nhu cầu cụ thể mà chọn phương pháp giải thích hợp.

  21. 503002 - Thuật toán Giảibàitoántrênmáytính • Xây dựng thuật toán: xây dựng mô hình chặt chẽ, chính xácvà chi tiết hơn cho phương pháp giải đã chọn. Xác định rõ ràng dữ liệu vào, ra cho cácbước thực hiện cơ bản và trật tự thực hiện các bước đó. Nên áp dụng phương pháp thiết kế có cấu trúc, từ thiết kế tổng thể tiến hành làm mịn dần từng bước.

  22. 503002 - Thuật toán Giảibàitoántrênmáytính • Cài đặt chương trình: mô tả thuật giải bằng chương trình. Dựa vào thuật giải đã được xây dựng, căn cứ quy tắc của một ngôn ngữ lập trìnhđể soạn thảo ra chương trình thể hiện giải thuật thiết lập ở bước 3.

  23. 503002 - Thuật toán Giảibàitoántrênmáytính • Hiệu chỉnh chương trình: Cho chương trìnhchạy thử để phát hiện và điều chỉnh sai sót nếu tìm thấy. Có hai loại lỗi: • lỗi cú pháp. • lỗi ngữ nghĩa.

  24. 503002 - Thuật toán Giảibàitoántrênmáytính • Thực hiện chương trình: Cho MTĐT thực hiệnchương trình. Tiến hành phân tích kết quả thu được. Việc phân tích kết quả nhằm khẳng định kết quả đó có phù hợp hay không. Nếu không, cần kiểm tra lại toàn bộ các bước một lần nữa.

  25. 503002 - Thuật toán Bàitập Một công ty, mỗi giờ làm việc của một công nhân được trả 25,000 đồng/giờ trong 8 giờ đầu làm việc theo qui định. Nếu làm tăng ca (phải làm nhiều hơn 8 giờ qui định), thì mỗi giờ vượt qui định được trả thêm 30%. Tính tiền công cho một công nhân tùy theo giờ làm việc của họ.

More Related