Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 14 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
14
Dung lượng
307,54 KB
Nội dung
Lý thuyết ngơn ngữ lập trình Chương THUẬT TỐN VÀ LƯU ĐỒ THUẬT TOÁN Nội dung Khái niệm thuật tốn Các đặc trưng thuật tốn Ngơn ngữ biểu diễn thuật toán Khái niệm thuật toán Thuật toán hệ thống chặt chẽ rõ ràng quy tắc xác định dãy thao tác liệu vào cho sau số hữu hạn bước thực thao tác ta thu kết tốn Khái niệm thuật tốn Ví dụ: Thuật tốn tìm UCLN a b Bước 1: Nhập vào số a b Bước 2: So sánh hai số a b, gán số nhỏ gán cho UCLN Bước 3: Nếu hai số a b không chia hết cho UCLN thực bước 4, ngược lại a b chia hết cho UCLN thực bước Bước 4: Giảm UCLN đơn vị quay lại bước Bước 5: Chỉ UCLN - Kết thúc Các đặc trưng thuật tốn Tính Tính dừng Tính xác định Tính phổ dụng Tính hiệu Các đặc trưng thuật tốn Trong trình nghiên cứu giải vấn đề - toán, người ta đưa nhận xét: Có nhiều tốn chưa tìm cách giải theo kiểu thuật toán khơng biết có tồn thuật tốn hay khơng Có nhiều tốn có thuật tốn để giải khơng chấp nhận thời gian giải q lớn điều kiện cho thuật tốn khó đáp ứng Có tốn giải theo cách giải vi phạm thuật toán chấp nhận Các đặc trưng thuật toán Người ta mở rộng hai tiêu chuẩn tính xác định tính đắn thuật tốn Việc mở rộng tính xác định thể qua giải thuật đệ quy ngẫu nhiên Tính thuật tốn khơng cịn bắt buộc tốn, cách giải gần Các cách giải chấp nhận khơng hồn tồn đáp ứng đầy đủ tiêu chuẩn thuật toán gọi thuật giải Thuật giải thường đề cập sử dụng khoa học trí tuệ nhân tạo Ngơn ngữ biểu diễn thuật toán Để biểu diễn thuật toán cần phải có tập hợp ký hiệu Mỗi ký hiệu biểu diễn hành động Tập hợp ký hiệu gọi ngơn ngữ biểu diễn thuật tốn: Ngôn ngữ tự nhiên Ngôn ngữ lưu đồ Mã giả Ngơn ngữ tự nhiên Ví dụ: Thuật tốn giải phương trình bậc ax + b = Bước 1: Nhập giá trị tham số a b Bước 2: Kiểm tra a có hay khơng? Nếu a = thực bước 3, ngược lại thực bước Bước 3: Kiểm tra b = kết luận phương trình có vơ số nghiệm, ngược lại kết luận phương trình vơ nghiệm Bước 4: Kết luận phương trình có nghiệm x = -b/a Ngơn ngữ lưu đồ Dùng để mô tả giải thuật sơ đồ hình khối, khối quy định hành động cụ thể, riêng biệt Khối Ý nghĩa Bắt đầu /Kết thúc thuật toán Nhập / Xuất Thi hành Lựa chọn (điều kiện) Đường Chương trình Khối nối Ngơn ngữ lưu đồ Ví dụ: Mã giả Khi thể thuật toán mã giả, ta vay mượn cú pháp ngơn ngữ lập trình để thể thuật tốn Mọi ngơn ngữ lập trình có thao tác xử lý, rẽ nhánh lặp Dùng mã giả vừa tận dụng khái niệm ngơn ngữ lập trình, vừa giúp người cài đặt dễ dàng nắm bắt nội dung thuật tốn Mã giả Ví dụ: Thuật tốn giải phương trình bậc if Delta > then begin x1=(-b-sqrt(delta))/(2*a) x2=(-b+sqrt(delta))/(2*a) xuất kết : phương trình có hai nghiệm x1 x2 end else if delta = then xuất kết : phương trình có nghiệm kép -b/(2*a) else {trường hợp delta < } xuất kết : phương trình vơ nghiệm CÂU HỎI ÔN TẬP CHƯƠNG Trình bày khái niệm thuật tốn Trình bày đặc trưng thuật tốn cho ví dụ Hãy biểu diễn thuật tốn giải tốn sau ngơn ngữ tự nhiên, ngơn ngữ lưu đồ mã giả: - Tìm số lớn n số cho trước - Thuật tốn Euclide, tìm ước số chung lớn hai số a, b - Phân tích số thừa số nguyên tố Trình bày cấu trúc suy luận thuật tốn cho ví dụ Dùng lưu đồ biểu diễn thuật toán giải tốn sau: Tìm học sinh điểm số lớn sau kỳ thi Tin học văn phịng lớp có N học sinh hai trường hợp: - N biết trước - N nhập tuỳ vào người sử dụng ... Thi hành Lựa chọn (điều kiện) Đường Chương trình Khối nối Ngơn ngữ lưu đồ Ví dụ: Mã giả Khi thể thuật toán mã giả, ta vay mượn cú pháp ngơn ngữ lập trình để thể thuật tốn Mọi ngơn ngữ lập trình. .. Ngơn ngữ biểu diễn thuật tốn Để biểu diễn thuật tốn cần phải có tập hợp ký hiệu Mỗi ký hiệu biểu diễn hành động Tập hợp ký hiệu gọi ngôn ngữ biểu diễn thuật tốn: Ngơn ngữ tự nhiên Ngôn ngữ. .. phương trình có vơ số nghiệm, ngược lại kết luận phương trình vơ nghiệm Bước 4: Kết luận phương trình có nghiệm x = -b/a Ngôn ngữ lưu đồ Dùng để mô tả giải thuật sơ đồ hình khối, khối quy định hành