thuật toán
DESCRIPTION
thuật toánTRANSCRIPT
![Page 1: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/1.jpg)
Giảng viên: Lê Quý LộcBlog: http://loclq.wordpress.com
Ngày: 23/09/2008
![Page 2: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/2.jpg)
Nội Dung
• Giải phương trình bậc hai• Định nghĩa thuật toán• Tính chất thuật toán• Làm sao mô tả thuật toán ?• Giả lệnh• Sơ đồ khối• Ngôn ngữ lập trình
http://loclq.wordpress.com
![Page 3: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/3.jpg)
Giải Phương Trình Bậc Hai
http://loclq.wordpress.com
02 CBxAx• Điều kiện: A ≠ 0• Tính Delta:
• Nếu ∆ = 0 thì
• Nếu ∆ ≠ 0 thì
A
ACB
2
42
A
Bxx
221
A
Bx
21
A
Bx
22
![Page 4: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/4.jpg)
Định Nghĩa Thuật Toán
http://loclq.wordpress.com
• Thuật toán là một trình tự các công việc cần thực hiện để giải quyết một bài toán
![Page 5: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/5.jpg)
• Tính hữu hạn: kết thúc sau một số bước• Tính hiệu quả: thuật toán tối ưu về mặt số bước thực
hiện và sử dụng bộ nhớ• Tính tổng quát: giải bài toán một cách tổng quát• Tính xác định: kết quả chỉ phụ thuộc vào dữ liệu đầu
vào của bài toán
Tính Chất Thuật Toán
http://loclq.wordpress.com
![Page 6: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/6.jpg)
• Mô tả như trong ví dụ giải phương trình bậc hai gọi là mô tả bằng giả lệnh– Ưu điểm: mô tả bằng ngôn ngữ tự nhiên, dễ đọc
dễ hiểu– Nhược điểm: không có chuẩn nhất quán
• Mô tả bằng giả lệnh: là mô tả bài toán bằng ngôn ngữ tự nhiên
Làm Sao Mô Tả Thuật Toán ?
http://loclq.wordpress.com
![Page 7: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/7.jpg)
Sơ Đồ Khối (4.1)
http://loclq.wordpress.com
02 CBxAx• Điều kiện: A ≠ 0• Tính Delta:
• Nếu ∆ = 0 thì
• Nếu ∆ ≠ 0 thì
A
ACB
2
42
A
Bxx
221
A
Bx
21
A
Bx
22
![Page 8: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/8.jpg)
• Cần có một cách biểu diễn bài toán nhất quán
Sơ Đồ Khối (4.2)
http://loclq.wordpress.com
Bắt đầu
Nhập A, B, C
Tính ∆∆
Nếu ∆ ≠ 0
Tính x1, x2
Tính x1 = x2
Kết thúc
Sai
Đúng
![Page 9: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/9.jpg)
• Các kí hiệu trong sơ đồ khối
http://loclq.wordpress.com
Sơ Đồ Khối (4.3)
Begin
Bắt đầu
End
Kết thúcNhập xuất dữ liệu
Thực hiện công việc
Sai
Đúng
Kiểm tra rẽ nhánh
![Page 10: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/10.jpg)
http://loclq.wordpress.com
Sơ Đồ Khối (4.4)
Đúng
Begin
Nhập A, B, C
Tính ∆∆
Nếu ∆ ≠ 0
Tính x1, x2
Tính x1 = x2
End
Sai
In ra x1, x2
![Page 11: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/11.jpg)
program HelloWorld;begin writeln(Hello World');end.
http://loclq.wordpress.com
Ngôn Ngữ Lập Trình (4.1)
• Ngôn ngữ lập trình• Là một ngôn ngữ nhân tạo, dùng để viết chương
trình chạy trên máy tính• Gồm bộ từ vựng và các quy tắc cú pháp áp dụng
lên bộ từ vựng đó
![Page 12: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/12.jpg)
http://loclq.wordpress.com
Ngôn Ngữ Lập Trình (4.2)
![Page 13: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/13.jpg)
• Phân loại ngôn ngữ lập trình– Ngôn ngữ máy: là các chuỗi nhị phân được xử lí
trực tiếp bởi bộ vi xử lý– Ngôn ngữ bậc thấp: sử dụng một số từ dễ nhớ,
thay cho ngôn ngữ máy– Ngôn ngữ bậc cao: gần gũi với ngôn ngữ tự nhiên,
dễ sử dụng, như C, Pascal,…
http://loclq.wordpress.com
Ngôn Ngữ Lập Trình (4.3)
![Page 14: ThuậT ToáN](https://reader036.vdocuments.pub/reader036/viewer/2022062419/5587bb3cd8b42a7c398b46a1/html5/thumbnails/14.jpg)
• Chương trình dịch– Máy tính chỉ hiểu được ngôn ngữ máy (các bit 0 và
1)– Chương trình dịch dịch chương trình viết bằng
ngôn ngữ bậc cao sang ngôn ngữ máy– Có 2 loại chương trình dịch
• Thông dịch: dịch và thực hiện từng lệnh một• Biên dịch: dịch toàn bộ chương trình rồi mới
thực thi
http://loclq.wordpress.com
Ngôn Ngữ Lập Trình (4.4)