Upload
quyloc
View
14.003
Download
1
Embed Size (px)
DESCRIPTION
thuật toán
Citation preview
Giảng viên: Lê Quý LộcBlog: http://loclq.wordpress.com
Ngày: 23/09/2008
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
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
Đị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
• 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
• 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
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
• 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
• 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
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
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 đó
http://loclq.wordpress.com
Ngôn Ngữ Lập Trình (4.2)
• 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)
• 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)