Thuật toán, ngôn ngữ thuật toán

Màu nền
Font chữ
Font size
Chiều cao dòng

Khái niệm thuật toán: là một hệ thống nhất chặt chẽ và rõ ràng các quy tắc nhằm xác định một dãy các thao tác thực hiện trên các đối tượng, bảo đảm sau một số hữu hạn bước sẽ đạt tới mục tiêu đã được định trước.
Ví dụ:
Thuật toán E: (Xác định ước chung lớn nhất của 2 số nguyên dương A và B)

B1:Nhập A và B.

B2: Gán m=A và gán n=B

B3: Chia m cho n (phép chia nguyên). Số dư tìm được là R

B4: Nếu R=0 thì chuyển tới bước 6

Nếu R≠0 thì chuyển xuống bước 5

B5: Gán m=n, n=R. quay về thực hiện bước 3

B6: thông báo kết quả UCLN (A,B) = n và kết thúc.

Các đặc trưng:
A. Tính dừng: sau một hữu hạn bước, thuật toán phải dừng. Trong ví dụ trên, thuật toán E chắc chắn sẽ dừng sau hữu hạn bước, vì dãy số dư R là các số nguyên dương giảm dần, và như vậy nhất định phải tiến về 0.

Chú ý do đặc điểm của thao tác điều khiển “thực hiện bước thứ k” cho nên mặc dù số bước mô tả trong thuật toán có thể là hữu hạn , nhưng tính dừng của thuật toán vẫn chưa được đảm bảo.

B. Tính xác định: ở mỗi bước của thuật toán, các thao tác phải hết sức rõ ràng, không được gây nên sự nhập nhằng, lẫn lộn, tùy tiện, có thể hiểu thế nào cũng được. Nói rõ hơn, nếu trong cùng 1 điều kiện, hai bộ xử lý khác nhau cùng thực hiện 1 bước của thuật toán phải cho những kết quả như nhau.

C. Tính hiệu quả: Trước hết, thuật toán cần phải đúng đắn, nghĩa là sau khi đưa dữ liệu vào, thuật toán phải hoạt động và sau quá trình thực hiện phải đưa ra kết quả như ý muốn.

D. Tính phổ dụng: thuật toán có thể giải bất kì một bài toán nào trong các bài toán đang xét. Cụ thể là thuật toán có thể có các đầu vào là các bộ dữ liệu khác nhau trong 1 miền xác định, nhưng luôn phải dẫn đến kết quả mong muốn.

E. Các yếu tố vào ra: đối với 1 thuật toán, có thể có nhiều đại lượng được đưa vào cũng như nhiều đại lượng sẽ được đưa ra. Các đại lượng được đưa vào hoặc ra được gọi là dữ liệu hoặc ra. Tập hợp các bộ dữ liệu mà thuật toán có thể áp dụng để dẫn tới kết quả gọi là miền xác định của thuật toán. Sau khi dùng thuật toán tùy theo chức năng mà thuật toán đảm nhiệm chúng ta thu được một số dữ liệu xác định

Ngôn ngữ thuật toán: Một ngôn ngữ được dùng để mô tả thuật toán được gọi là ngôn ngữ thuật toán. Thuật toán thường được dùng để mô tả bằng một dãy các lệnh. Bộ xử lý sẽ thực hiện các lệnh đó theo một trật tự nhất định cho đến khi gặp lệnh dừng thì kết thúc.
A. Ngôn ngữ liệt kê từng bước

Đây là cách dùng ngôn ngữ thông thường liệt kê theo từng bước phải làm của thuật toán.

– ví dụ giải phương trình bậc 2: ax” + bx +c = 0 (với a khác 0)

B1: Nhập a,b,c;

B2: Nếu a=0 quay về bước 1, nếu a khác 0 tính Δ=b”-4ac;

B3: Nếu Δ<0, kết luận phương trình vô nghiệm và sang bước 6;

B4: Nếu Δ=0, kết luận phương trình có nghiệm kép, tính theo công thức: x1=x2=-b/2a và sang bước 6;

B5: Nếu Δ>0, kết luận phương trình có hai nghiệm phân biệt, tính theo công thức: x1=(-b+√Δ)/2a, x2=(-b-√Δ)/20;

Bước 6: kết thúc.

B. Ngôn ngữ sơ đồ khối:

Một trong các ngôn ngữ thuật toán có tính trực quan cao, và dễ cho chúng ta nhìn thấy rõ toàn cảnh của quá trình xử lý của thuật toán được tạo lập từ các yếu tố cơ bản sau đây:

– khối thao tác: hình chữ nhật, ghi lệnh cần thực hiện. có 1 mũi tên vào và 1 tên ra (ví dụ a:=a-b, i:=i-1)

– khối điều kiện: hình thoi,ghi điều kiện cần kiểm tra, 1 vào và 2 ra (Đ và S)

-Các mũi tên

– Khối bắt đầu thuật toán: hình elip có chữ B

– khối kết thúc thuật toán: hình elip. K

– khối nối tiếp: hình tròn, ghi số nguyên dương hoặc chữ cái

C. Ngôn ngữ lập trình:

Một thuật toán được mô tả dưới 1 ngôn ngữ cụ thể nào đó mà có 1 máy tính hiểu được, được gọi là 1 chương trình. Một ngôn ngữ thuật toán mà máy tính hiểu được, được gọi là ngôn ngữ lập trình.

Bạn đang đọc truyện trên: Truyen2U.Pro

#tin