Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 22 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
22
Dung lượng
678,6 KB
Nội dung
4/26/2012 LOGO TIN HỌC ĐẠI CƢƠNG Chương 3: LÝ THUYẾT THUẬT TỐN GV: Lê Nhật Tùng Bộ mơn: Cơng nghệ Phần mềm lntung@utc2.edu.vn Tin học đại cương Nội dung Khái niệm thuật toán Tính chất thuật tốn Các cách biểu diễn thuật toán Các cấu trúc thuật toán Một số thuật toán Bài tập lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 4/26/2012 Khái niệm thuật toán Thuật toán tập hữu hạn bước, phép toán xếp theo trình tự định để từ thơng tin đầu vào toán sau tập hữu hạn bước đạt kết đầu mong muốn Input lntung@utc2.edu.vn Algorithm Output Tin học đại cương Khái niệm thuật tốn o Thơng thường thuật tốn khơng dùng để giải tốn cụ thể, mà dùng để giải lớp toán cụ thể thuộc thể loại Hai thành phần để cấu thành tốn tin học thơng thường là: o Thông tin đầu vào (input) o Là thơng tin tốn cho o Thơng tin đầu (ouput) o Là thơng tin cần tìm câu trả lời cần thiết o Ví dụ: o Giải tốn tính diện tích hình chữ nhật với cơng thức S= a * b o Input: a,b o Output: diện tích S thơng báo liệu khơng hợp lệ lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương S=a*b 4/26/2012 Khái niệm thuật tốn o Ví dụ 1: Thuật tốn để giải phương trình bậc P(x): ax + b = 0, (a, b số thực) Input: a,b Output: kết giải phương trình bậc P(x) Mơ tả thuật tốn: • Nếu a = – Nếu b = P(x) có nghiệm – Nếu b P(x) vơ nghiệm • Nếu a – P(x) có nghiệm x = -b/a lntung@utc2.edu.vn Tin học đại cương Khái niệm thuật tốn o Ví dụ 2: kiểm tra số nguyên x có phải số chẵn không? Input: x Output: kết kiểm tra result Mơ tả thuật tốn: • Bước 1: Tìm số dư r phép chia x cho • Bước 2: Kiểm tra – Nếu r = result = True – Nếu r result = False lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 4/26/2012 Tính chất thuật tốn o o o o o o Tính dừng Tính xác định Tính Ðầu vào đầu (input/output) Tính hiệu (effectiveness) Tính tổng quát (generalliness) lntung@utc2.edu.vn Tin học đại cương Tính chất thuật tốn o Thuật tốn phải có tính dừng: thuật tốn phải bao đảm kết thúc sau số hữu hạn bước Ta tìm đâu lời giải vấn đề - tốn có vơ số bước giải ? o Tính dừng tính dễ bị vi phạm, thường sai sót trình bày thuật tốn dẫn đến “lặp vô tận” lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 4/26/2012 Tính chất thuật tốn o Thuật tốn phải có tính xác định: bước thuật tốn phải xác định rõ ràng, thực thi được, không gây mập mờ, nhập nhằn, tùy chọn B1: Lập danh sách sản phẩm bán tháng B2: Sắp xếp thứ tự danh sách sản phẩm B3: Giảm giá 10% giá tiền 10 sản phẩm đứng đầu danh sách B1: Lập danh sách sản phẩm bán tháng gồm: Mã sản phẩm, tên sản phẩm, giá tiền, số lượng bán tháng B2: Sắp xếp thứ tự danh sách sản phẩm tăng dần theo số lượng bán B3: Giảm giá 10% giá tiền 10 sản phẩm đứng đầu danh sách lntung@utc2.edu.vn Tin học đại cương Tính chất thuật tốn o Thuật tốn phải có tính đắn: để đảm bảo kết tính tốn hay thao tác mà máy tính thực xác Trong kỳ thi kiểm tra tất học sinh điều đưa lời giải “đúng” Khi thiết kế thuật toán cần kiểm nghiệm chỉnh sửa nhiều lần để có thuật tốn lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 10 4/26/2012 Tính chất thuật tốn o Ðầu vào đầu (input/output): thuật tốn điều có đại lượng vào o Tính hiệu (effectiveness): Một tốn có nhiều thuật tốn khác để giải, thuật tốn tốt phải hiệu quả, tính hiệu thuật toán đánh giá dựa số tiêu chuẩn khối lượng tính tốn, khơng gian thời gian thuật toán thi hành o Tính tổng qt (generalliness): thuật tốn có tính tổng quát thuật toán phải áp dụng cho trường hợp tốn khơng phải áp dụng cho số trường hợp riêng lẻ lntung@utc2.edu.vn Tin học đại cương 11 Biểu diễn thuật toán o Biểu diễn thuật toán phương pháp liệt kê bước o Biểu diễn thuật toán sơ đồ khối o Biểu diễn thuật toán mã giả lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 12 4/26/2012 Phƣơng pháp liệt kê bƣớc o Đặc điểm: o Các thao tác thuật toán liệt kê bước o Tại bước sử dụng ngôn ngữ tự nhiên để diễn tả công việc phải làm o Các bước thuật tốn đánh số thứ tự, bước có số thứ tự nhỏ thực trước o Ưu điểm: Dễ hiểu, dễ thực o Khuyết điểm: phụ thuộc cách hành văn người thiết kế thuật tốn, khó áp dụng cho thuật tốn có tính phức tạp lntung@utc2.edu.vn Tin học đại cương 13 Phƣơng pháp liệt kê bƣớc o Ví dụ 1: Giải phương trình bấc P(x): ax +b = 0: Input: a,b Output: Kết giải phương trình Bước 1: Nhập vào số thực a, b Bước 2: Kiểm tra a = thực hiện: Bước 2.1: Nếu b = phương trình vơ số nghiệm Bước 2.2: Nếu b phương trình vơ nghiệm Bước 3: Khi a phương trình có nghiệm x=-b/a Bước 4: Kết thúc thuật toán lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 14 4/26/2012 Phƣơng pháp liệt kê bƣớc o Ví dụ 2: Giải phương trình bấc hai P(x): ax2 + bx + c = (a,b,c số thực, a ≠ 0) Input: a,b,c Output: Kết giải phương trình Bước 1: Nhập vào số thực a, b, c Bước 2: Tính b 4ab Bước 3: Kiểm tra ∆ Bước 3.1: Nếu ∆0 kết luận phương trình có nghiệm: x1 b 2a x2 b 2a Bước 4: Kết thúc thuật toán lntung@utc2.edu.vn Tin học đại cương 15 Biểu diễn thuật toán sơ đồ khối (flowchart) o Đặc điểm: o Sử dụng hình khối để biểu diễn lệnh hay thao tác o Sử dụng mũi tên để biểu diễn thứ tự thực o Ưu điểm: diễn đạt khoa học, có tính qn, dễ hiểu dễ kiểm tra o Khuyết điểm: phải vẽ nhiều hình, cồng kềnh, khơng phù hợp với thuật toán phức tạp lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 16 4/26/2012 Các hình sơ đồ khối Tin học đại cương lntung@utc2.edu.vn 17 Các hình sơ đồ khối Ý nghĩa Hình Biểu thức Logic S Biểu diễn câu lệnh rẽ nhánh: - Nếu điếu kiện thực nhánh Đ - Nếu điều kiện sai thực nhánh S Đ A Biểu diễn việc thực công việc A A Biểu diễn việc gọi chương trình A Biểu diễn hướng thực thuật toán lntung@utc2.edu.vn tungit07@gmail.com Tin học đại cương 18 4/26/2012 Ví dụ biểu diễn thuật tốn sơ đồ khối Tin học đại cương lntung@utc2.edu.vn 19 Ví dụ biểu diễn thuật toán sơ đồ khối Begin Input: a,b,c Delta = Delta