Mã giả trong tin học

Chia sẻ bởi Lê Xuân Lợi | Ngày 14/10/2018 | 22

Chia sẻ tài liệu: Mã giả trong tin học thuộc Tư liệu tham khảo

Nội dung tài liệu:

Mã giả
Bách khoa toàn thư mở Wikipedia
Bước tới: menu, tìm kiếm
Mã giả (tiếng Anh: Pseudocode, xuất phát từ chữ pseudo và code) là một bản mô tả giải thuật lập trình máy tính ngắn gọn và không chính thức cấp cao, trong đó sử dụng những quy ước có cấu trúc của một số ngôn ngữ lập trình, nhưng thường bỏ đi những chi tiết không cần thiết để giúp hiểu rõ giải thuật hơn, như bỏ đi chương trình con, khai báo biến và những đoạn mã đặc biệt của hệ thống. Ngôn ngữ lập trình được bổ sung bằng những mô tả chi tiết bằng ngôn ngữ tự nhiên ở nơi thích hợp, hoặc bằng ký hiệu toán học đơn giản. Mục đích của việc sử dụng mã giả là nó có thể con người đọc hiểu dễ dàng hơn những ngôn ngữ lập trình thông thường, và mã giả có thể là một bản mô tả cô đọng và độc lập với môi trường phát triển ghi lại những nguyên lý chủ chốt của một giải thuật. Không có bất cứ tiêu chuẩn nào cho cú pháp mã giả, vì một chương trình viết bằng mã giả không phải là một chương trình có thể thực thi được.
Lưu đồ (flowchart) có thể được xem là một bản thay thế cho mã giả được mô tả bằng hình ảnh. Mã giả rất giống, nhưng không nên lẫn lộn, với các chương trình khung trong đó có dummy code, và có thể được biên dịch mà không tạo ra lỗi.
Mục lục
[ẩn]
1 Cú pháp
2 Ứng dụng
3 Ví dụ về mã giả
4 Mã giả dạng toán học
5 Biên dịch hoặc thông dịch máy
5.1 Ngữ pháp ngôn ngữ tự nhiên trong ngôn ngữ lập trình
5.2 Các ngôn ngữ lập trình toán học
6 Xem thêm
7 Liên kết ngoài

[sửa] Cú pháp
Như điều cái tên nói lên, mã giả nói chung không thực sự tuân theo quy tắc cú pháp của một ngôn ngữ cụ thể nào; không có dạng chuẩn hệ thống, mặc dù bất kỳ người viết cụ thể nào nói chung cũng sẽ mượn hình thức của một ngôn ngữ nào đó. Những ngôn ngữ thường được mượn là Pascal, BASIC, C, Java, Lisp, và ALGOL. Những chi tiết không thích hợp với giải thuật (như mã quản lý bộ nhớ) thường bị bỏ đi. Những khối mã, như mã nằm trong một vòng lặp, có thể được mô tả chỉ bằng một câu viết bằng ngôn ngữ tự nhiên.
Tùy vào người viết, mã giả do đó rất khác nhau về phong cách, từ sự bắt chước gần như chính xác một ngôn ngữ lập trình có thật, đến một bản mô tả mà đối với người khác đó gần như là một bản văn xuôi được định dạng.
[sửa] Ứng dụng
Sách giáo khoa và bài báo khoa học liên quan đến khoa học máy tính và tính toán số thường sử dụng mã giả để mô tả giải thuật, để cho tất cả các lập trình viên đều có thể hiểu chúng, mặc dù tất cả họ không cùng biết một ngôn ngữ lập trình như nhau. Trong sách giáo khoa, thường có một đoạn giới thiệu đi kèm giải thích về những quy ước cụ thể được sử dụng. Mức độ chi tiết của những ngôn ngữ như vậy trong một số trường hợp có thể gần đạt đến những ngôn ngữ đa mục đích hình thức hóa — ví dụ, cuốn phôi thai của Knuth The Art of Computer Programming (Nghệ thuật lập trình máy tính) mô tả những giải thuật bằng ngôn ngữ assembly được mô tả đầy đủ dành cho những vi xử lý không tồn tại.
Một lập trình viên khi cần hiện thực một giải thuật cụ thể nào đó, đặc biệt là một giải thuật mà họ chưa biết, thường bắt đầu bằng một bản mô tả bằng mã giả, rồi sau đó chỉ đơn giản là "dịch" bản mô tả đó thành ngôn ngữ lập trình tương ứng và chính sửa để giao tiếp đúng với toàn bộ phần chương trình. Các lập trình viên cũng thường bắt đầu một dự án bằng cách thảo ra những đoạn mã bằng mã giả trên giấy trước khi viết chúng bằng ngôn ngữ thật sự của nó, là một cách tiếp cận có hệ thống theo dạng top-down (từ trên xuống).
[sửa] Ví dụ về mã giả
Một ví dụ về mã giả khác nhau với mã thường.
Mã thông thường (viết bằng PHP):
if (is_valid($cc_number)) {
execute_transaction($cc_number, $order);
} else {
show_failure();
}
?>
Mã giả:
if số thẻ tín dụng là đúng then
thực hiện giao dịch dựa trên số và thứ tự
else
hiển thị thông báo thất bại chung chung
end if

Mã giả của chương trình Hello World vô cùng đơn giản:


output: Hello World
[sửa] Mã giả dạng toán học
Trong tính toán số,
* Một số tài liệu cũ có thể bị lỗi font khi hiển thị do dùng bộ mã không phải Unikey ...

Người chia sẻ: Lê Xuân Lợi
Dung lượng: 83,50KB| Lượt tài: 0
Loại file: doc
Nguồn : Chưa rõ
(Tài liệu chưa được thẩm định)