Ch ng 1 thu t t o n
This presentation is the property of its rightful owner.
Sponsored Links
1 / 25

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


  • 117 Views
  • Uploaded on
  • Presentation posted in: General

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 :

Download Presentation

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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -

Presentation Transcript


Ch ng 1 thu t t o n

503002 - Thuật toán

Chương 1: Thuậttoán


V n b i to n

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ệ).


V n b i to n1

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,...


V n b i to n2

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.


Thu t to n

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. (??)


Thu t to n1

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”.


Thu t to n2

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.


T hu t to n

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


Thu t to n3

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


Thu t to n4

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.


Thu t to n5

503002 - Thuật toán

Thuậttoán

Mã giả của thuật toán giải pt bậc hai:


Thu t to n6

503002 - Thuật toán

Thuậttoán

Biểu diễn bằng lưu đồ:


Thu t to n7

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ý


Thu t to n8

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.


Thu t to n9

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


Thu t to n10

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.


Thu t to n11

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


Thu t to n12

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.


Thu t to n13

503002 - Thuật toán

Thuậttoán


Gi i b i to n tr n m y t nh

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.


Gi i b i to n tr n m y t nh1

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.


Gi i b i to n tr n m y t nh2

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.


Gi i b i to n tr n m y t nh3

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.


Gi i b i to n tr n m y t nh4

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.


B i t p

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ọ.


  • Login