LẬP TRÌNH CẤU TRÚC (structured programming)

28 4 0
LẬP TRÌNH CẤU TRÚC (structured programming)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Thuậttoánƒ Khái niệm thuật tốnƒ Ngơn ngữ mơ tả thuật tốn Trang 2 2KHÁI NIỆM THUẬT TỐNƒ Thuật tốn giải thuật là một quy tắc để với những dữliệu ban đầu đã cho, tìm được lời giải sau một

LẬP TRÌNH CẤU TRÚC (structured programming) programming) NỘI DUNG: Thuật toán Kiểu liệu, Cấu trúc liệu, Mơ hình liệu Cấu trúc lệnh Khái niệm nguyên lý lập trình cấu trúc So sánh với lập trình hướng đối tượng Thuật toán ƒ Khái niệm thuật toán ƒ Ngơn ngữ mơ tả thuật tốn ƒ Độ phức tạp thuật tốn KHÁI NIỆM THUẬT TỐN Thuật tốn (giải thuật) quy tắc để với liệu ban đầu cho, tìm lời giải sau khoảng thời gian hữu hạn ƒ Bài toán Thuật toán Dữ liệu vào Máy tính Kết CÁC ĐẶC TRƯNG CỦA THUẬT TỐN ƒ Tính kết thúc (tính dừng) ƒ Tính xác định ƒ Tính phổ dụng ƒ Tính hiệu • Thực nhanh • Tiêu phí tài nguyên máy tính (bộ nhớ) CÁC ĐẶC TRƯNG CỦA THUẬT TỐN ƒ Thuật tốn tìm UCLN hai số nguyên dương Nhập vào hai số nguyên dương a, b So sánh hai số, chọn số nhỏ gắn cho UCLN Nếu hai số a, b khơng chia hết cho UCLN thực bước 4, ngược lại thực bước Giảm UCLN đơn vị quay lại bước In UCLN Kết thúc ? Các đặc trưng thuật toán TIÊU CHUẨN ĐÁNH GIÁ THUẬT TỐN ƒ Lựa chọn thuật tốn cho tốn? ƒ Tiêu chuẩn 1: Thuật toán đơn giản, dễ hiểu, dễ cài đặt ƒ Tiêu chuẩn 2: Thuật toán sử dụng tiết kiệm tài ngun máy tính (dung lượng khơng gian nhớ, thời gian) NGƠN NGỮ THUẬT TỐN ƒ Ngơn ngữ dùng để mơ tả thuật tốn ? Tại phải dùng ngơn ngữ diễn đạt thuật tốn ? Đặc điểm ngơn ngữ diễn đạt thuật tốn • Ngôn ngữ liệt kê bước (Ngôn ngữ tự nhiên) • Sơ đồ khối (flow chart) • Ngôn ngữ “giả code” (pseudo−code): Tựa Pascal, tựa C, … – Các bước chương trình nên đánh số thứ tự – Có thể bỏ qua phần khai báo liệu, thay vào đặc tả cấu trúc liệu trước viết giải thuật ƒ Mơ tả thuật tốn • Thuật tốn: • Vào (Input): • Ra (Output): NGƠN NGỮ THUẬT TỐN ƒ Ngơn ngữ liệt kê bước • Thuật tốn: Euclid • Vào: m,n ngun dương (m > n) • Ra: gcd ước chung lớn m n r: số nguyên dương Bước Nhập vào m, n Bước Nếu m, n >0 chuyển sang bước 3, ngược lại thông báo “Dữ liệu vào không hợp lệ” kết thúc thuật tốn Bước Nếu m > n chuyển sang bước Ngược lại, hoán chuyển giá trị m, n Bước Nếu n ≠ chuyển sang bước Ngược lại, gcd = m, in giá trị gcd kết thúc Bước Tính r phần dư phép chia m cho n Bước Gán giá trị n cho m r cho n Quay lại bước NGÔN NGỮ THUẬT TOÁN ƒ Sơ đồ khối (Flow Chart ) Lệnh Nút thao tác (Nú (Nút vào/ra dữ liệ liệu) Chỉ Chỉ hướ hướng truyề truyền thông tin Điề Điều kiệ kiện Nút điề điều kiệ kiện Nút bắt đấu, nút kết thú thúc NGÔN NGỮ THUẬT TỐN ƒ Thuật tốn Euclid NGƠN NGỮ THUẬT TỐN ƒ Ngơn ngữ Tựa Pascal • Khai báo: Program < Tên chương trình> Begin …… End • Chú thích {….} • Phép toán số học: +, - *, /, ↑(luỹ thừa) • Phép tốn so sánh: >, >=, ta có f ( x ) ≤ a n x n + a n −1 x n −1 + + a ≤ x n ( an + a n −1 + + a0 x xn ≤ x n ( a n + a n −1 + + a ) • Đặt C = |an| + |an−1| + … + |a0| k = 1, suy f(x) = O(xn) ƒ Ví dụ • f(x) = 1+ 2+ + … + n = n(n+1)/2 nên O(n2) 16 ĐỘ PHỨC TẠP THUẬT TỐN ƒ Các thuật ngữ thường dùng • Độ phức tạp O(1) gọi độ phức tạp số • Độ phức tạp O(log(n)) gọi độ phức tạp logarit • Độ phức tạp O(n) gọi độ phức tạp tuyến tính • Độ phức tạp O(nlogn) gọi độ phức tạp nlogn • Độ phức tạp O(nk) gọi độ phức tạp đa thức • Độ phức tạp O(bn) , b>1, gọi độ phức tạp hàm mũ • Độ phức tạp O(n!) gọi độ phức tạp giai thừa 17 ĐỘ PHỨC TẠP THUẬT TỐN ƒ Ví dụ K:=0; For i:=1 to n Begin K:=K+i; End; ƒ Ví dụ K:=0; For i:=1 to n For j:= to n Begin K := K + i * j ; End; 18 ĐỘ PHỨC TẠP THUẬT TỐN ƒ Ví dụ i :=1; K:=0; while i

Ngày đăng: 25/01/2024, 18:22

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan