24/05/2018, 17:20

Mã giả (pseudocode)

Để diễn đạt một giải thuật có thể sử dụng nhiều loại ngôn ngữ lập trình khác nhau. Thông thường người ta hay sử dụng các ngôn ngữ lập trình cấp cao như Pascal, C, C ++ , C#, Java . . . Nhưng để sử dụng các ngôn ngữ đó ta gặp phải một số hạn chế sau : ...

Để diễn đạt một giải thuật có thể sử dụng nhiều loại ngôn ngữ lập trình khác nhau. Thông thường người ta hay sử dụng các ngôn ngữ lập trình cấp cao như Pascal, C, C ++, C#, Java . . . Nhưng để sử dụng các ngôn ngữ đó ta gặp phải một số hạn chế sau :

+ Phải luôn tuân thủ các qui luật chặt chẽ về cú pháp của ngôn ngữ đó, khiến cho việc trình bày giải thuật và cấu trúc có thiên hướng nặng nề, gò bó.

+ Phải phụ thuộc vào cấu trúc dữ liệu tiền định của ngôn ngữ, nên có lúc không thể hiện đầy đủ các ý về cấu trúc mà ta muốn biểu đạt.

+ Ngôn ngữ nào được chọn cũng không hẳn đã được mọi người ưa thích và muốn sử dụng.

Để diến đạt giải thuật một cách tự do hơn, phù hợp với tất cả mọi người sử dụng với một mức độ linh hoạt nhất định, không quá gò bó, không câu nệ về cú pháp và gần gũi với các ngôn ngữ chuẩn để khi cần thiết ta có thể dễ dàng chuyển đổi ta sử dụng ngôn ngữ gần giống với một ngôn ngữ lập trình nào đó gọi là "mã giả"

Ví dụ viết mã giả cho thuật toán giải phương trình bậc 2 như sau:

Read(a); {nhap cho den khi a=0}

Read(b);

Read(c);

Δ size 12{Δ} {} =b*b-4*a*c;

If Δ size 12{Δ} {} <0 then Phương trình vô nghiệm

Else if Δ size 12{Δ} {} =0 Phương trình có nghiệm kép

else Phương trình có hai nghiệm phân biệt

0