Nắm vững nguyên tắc cơ bản của mã giả Viết mã giả tốt Ví dụ về tạo văn bản mã giả
Mã giả là bản phác thảo code nêu rõ từng bước mà bạn có thể dần chuyển đổi thành ngôn ngữ lập trình. Nhiều lập trình viên sử dụng mã giả để lên kế hoạch cho function (hàm) của thuật toán trước khi thiết lập chúng thành tác vụ code mang tính chuyên môn hơn. Mã giả được sử dụng để minh họa cho cách hoạt động của thuật toán máy tính. Coder (những người viết code) thường dùng mã giả làm một bước trung gian trong lập trình để chuyển từ giai đoạn lên kế hoạch ban đầu sang giai đoạn viết code thật có thể thực thi. Một số coder khác sử dụng mã giả cho những mục đích sau:  Mô tả rằng thuật toán sẽ hoạt động như thế nào. Mã giả có thể minh họa rằng một hàm tạo (construct), cơ chế hoặc kỹ thuật nào đó có thể hoặc bắt buộc phải xuất hiện ở chỗ nào đó trong chương trình. Giải thích quy trình điện toán với những người dùng có trình độ chuyên môn thấp hơn. Máy tính cần có cú pháp nhập vô cùng chặt chẽ để chạy chương trình, nhưng con người (đặc biệt là những người không phải là lập trình viên) có thể sẽ cảm thấy dễ dàng hơn khi tìm hiểu một thứ ngôn ngữ linh hoạt, mạch lạc, cho thấy mục đích của từng dòng code. Thiết kế code cho cả nhóm. Các kỹ sư phần mềm có trình độ cao thường chèn mã giả vào những bản thiết kế của mình để hỗ trợ giải quyết vấn đề phức tạp mà họ nhận thấy rằng nhiều lập trình viên của mình đang gặp phải. Nếu đang phát triển chương trình cùng với các coder khác, bạn có thể nhận thấy rằng mã giả giúp những ý định của bạn trở nên rõ ràng hơn. Không có cú pháp cố định nào mà bạn buộc phải sử dụng khi viết mã giả, nhưng thường thì bạn sẽ có tác phong chuyên nghiệp hơn khi dùng các cấu trúc mã giả tiêu chuẩn mà những lập trình viên khác có thể dễ dàng hiểu được. Nếu bạn đang tự code dự án của mình, điều quan trọng nhất là mã giả hỗ trợ bạn sắp xếp ý tưởng và thực hiện kế hoạch.   Nếu bạn đang hợp tác với những người khác trong cùng một dự án — bất kể đó là đồng nghiệp, lập trình viên hậu bối, hay cộng tác viên không chuyên về kỹ thuật — điều quan trọng là bạn phải sử dụng ít nhất một số cấu trúc tiêu chuẩn để mọi người có thể dễ dàng hiểu được ý định của bạn. Nếu đang theo học khóa lập trình tại trường đại học, hội trại code hoặc ở công ty, bạn có thể sẽ phải làm bài kiểm tra về "tiêu chuẩn" mã giả đã được dạy. Tiêu chuẩn này thường sẽ có sự khác biệt tùy thuộc vào cơ sở giáo dục và giáo viên. Bạn có thể dễ dàng quay trở lại viết code một khi đã nắm rõ mục đích của mình. Việc nhớ kỹ mục đích của mã giả — giải thích xem từng dòng của chương trình có tác dụng gì — giúp bạn luôn đi đúng hướng trong quá trình tạo ra văn bản mã giả. Dù có một số thứ phức tạp hơn, ví dụ như trình xử lý văn bản Microsoft Word hoặc một chương trình tương tự giúp tạo ra văn bản rich-text (giàu tính chất), nhưng mã giả nên được định dạng ở mức tối thiểu để lúc nào cũng đơn giản. Việc dành một hoặc hai dòng để trình bày mục đích của dòng code giúp định hình phần còn lại của văn bản, đồng thời giúp bạn đỡ phải giải thích tính năng của chương trình với từng người mà bạn muốn giới thiệu mã giả. Từng câu lệnh trong mã giả của bạn chỉ nên thực hiện một hành động cho máy tính. Thông thường, nếu danh sách tác vụ được lập chuẩn xác thì mỗi tác vụ sẽ tương ứng với một dòng mã giả. Bạn nên cân nhắc viết ra danh sách tác vụ của mình rồi chuyển danh sách đó thành mã giả, rồi từ từ phát triển mã giả đó thành dòng code thật mà máy tính có thể hiểu được. Việc chèn khoảng trắng giữa "các khối" văn bản giúp từng phần khác nhau của mã giả nằm tách biệt, và việc thụt lề từng khối báo hiệu rằng phần mã giả đó là thông tin chi tiết của đoạn mã giả bị thụt dòng ít hơn. Ví dụ: Phần mã giả nói về việc nhập số nên nằm trong cùng một "khối", còn phần tiếp theo (chẳng hạn như phần nói về kết quả) nên nằm trong một khối khác. Tùy thuộc vào yêu cầu mã giả hoặc môi trường mà bạn đang xuất bản mã giả của mình, có thể bạn sẽ cần viết hoa các câu lệnh được giữ lại trong code thật. Ví dụ: Nếu sử dụng từ khóa "if" và "then" trong mã giả, bạn có thể sẽ muốn viết hoa thành "IF" và "THEN", chẳng hạn như viết là "IF input number THEN output result" (IF nhập số THEN kết quả đầu ra). Nhớ rằng bạn đang viết để giải thích rằng dự án sẽ làm gì chứ không đơn thuần là tóm tắt code. Điều này đặc biệt quan trọng khi bạn đang viết mã giả để demo cho khách hàng không biết gì về code, hoặc trình bày dự án cho lập trình viên mới vào nghề. Dù ngôn ngữ sử dụng để chỉnh sửa mã giả của bạn nên đơn giản, bạn vẫn cần giữ đúng trình tự của mã giả để phục vụ cho mục đích thực thi. Mọi chuyện đang diễn ra trong câu lệnh cần được mô tả một cách hoàn chỉnh. Phải nói rằng câu lệnh mã giả khá giống với câu khẳng định trong tiếng Anh thông thường. Mã giả thường không sử dụng các biến (variable) mà sẽ mô tả xem chương trình sẽ làm gì với những đối tượng gần với thế giới thực như số tài khoản, tên, hoặc số lần giao dịch. Dù không có tiêu chuẩn cụ thể nào cho mã giả, nếu bạn sử dụng cấu trúc của các ngôn ngữ lập trình đã có (tuần tự) thì sẽ dễ dàng hơn cho những lập trình viên khác khi cố gắng hiểu các bước của bạn. Hãy sử dụng các thuật ngữ như "if" (nếu), "then" (thì), "while" (trong khi), "else" (nếu không thì), và "loop" (vòng lặp) giống trong ngôn ngữ lập trình ưa thích của bạn. Xem xét cấu trúc sau đây:   if CONDITION then INSTRUCTION — Nghĩa là câu lệnh sẽ chỉ được thực thi nếu một điều kiện nào đó là đúng (true). "Instruction" trong trường hợp này là một bước mà chương trình sẽ thực hiện, còn "condition" nghĩa là dữ liệu phải thỏa mãn điều kiện nào đấy thì chương trình mới thực hiện hành động.  while CONDITION do INSTRUCTION — Nghĩa là câu lệnh sẽ được thực hiện lặp đi lặp lại cho đến khi điều kiện không còn đúng nữa.  do INSTRUCTION while CONDITION — Rất giống với "while CONDITION do INSTRUCTION". Trong trường hợp này, điều kiện sẽ được kiểm tra trước khi thực hiện câu lệnh, còn trong trường hợp kia, câu lệnh sẽ được thực thi trước. Như vậy, lúc đó câu lệnh sẽ được thực hiện ít nhất một lần.  function NAME (ARGUMENTS): INSTRUCTION — Nghĩa là mỗi khi một cái name nào đó được sử dụng trong code thì sẽ thay thế cho một câu lệnh cụ thể. "Arguments" là danh sách các biến (variable) mà bạn có thể sử dụng để làm rõ câu lệnh. Nếu thấy rằng có nhiều phần mã giả lớn định nghĩa những phần mã giả khác trong cùng khối, bạn có thể sẽ muốn sử dụng dấu ngoặc hoặc một số ký hiệu nhận dạng khác cho dễ nhìn.  Dấu ngoặc—bao gồm cả dấu ngoặc vuông tiêu chuẩn (chẳng hạn như [code]) và dấu ngoặc nhọn (ví dụ như {code})—đều có thể giúp bao hàm đoạn mã giả dài. Khi code, bạn có thể thêm bình luận (comment) bằng cách gõ "//" ở bên trái dòng bình luận (ví dụ như //Đây là bước tạm thời.). Bạn có thể sử dụng phương pháp này khi viết mã giả để viết những dòng bình luận không thể cho vào đoạn code. Bạn nên trả lời được các câu hỏi dưới đây sau khi hoàn thành văn bản mã giả của mình:  Liệu ai đó chưa biết đến câu lệnh này có thể hiểu được mã giả của bạn? Mã giả có được viết chuẩn chỉnh để dễ dàng chuyển hóa thành ngôn ngữ lập trình? Mã giả đã mô tả câu lệnh hoàn chỉnh, không bỏ sót thứ gì hay chưa? Liệu người khác có hiểu rõ từng tên đối tượng được sử dụng trong mã giả? Nếu nhận thấy rằng một phần trong mã giả cần được sửa đổi hoặc chưa nêu rõ một bước nào đó mà người khác có thể quên, bạn cần trở lại và bổ sung thông tin cần thiết. Bạn có thể sử dụng chương trình mặc định Notepad (trên Windows) hoặc TextEdit (trên Mac) nếu không muốn cài đặt chương trình mới. Dù không quá cần thiết, việc viết một hai dòng ở phía trên cùng văn bản sẽ giúp phân biệt với phần thụt lề đầu tiên của chương trình:  Chương trình này sẽ yêu cầu phương án lựa chọn từ phía người dùng. Nếu phương án đó phù hợp, nội dung hồi đáp sẽ được hiển thị; nếu không phù hợp thì sẽ hiện thông báo. Câu lệnh đầu tiên của bạn—thứ đầu tiên mà chương trình sẽ thực hiện khi chạy—nên là dòng đầu tiên:  print greeting (in ra câu chào) 	"Hello stranger!" (Chào bạn!) Thiết lập khoảng trống giữa dòng vừa viết và dòng tiếp theo bằng cách gõ ↵ Enter, sau đó viết dòng code tiếp theo. Trong ví dụ này, người dùng sẽ nhìn thấy hộp thoại sau đây:  print prompt (in ra hộp thoại) 	press "Enter" to continue (nhấn "Enter" để tiếp tục) <người dùng nhấn "Enter"> Trong ví dụ này, người dùng sẽ nhìn thấy câu hỏi thăm:  print call-to-action (in ra kêu gọi hành động) 	"How are you?" (Bạn khỏe không?) Trong ví dụ này, sau khi nhấn ↵ Enter thêm một lần nữa, người dùng sẽ nhìn thấy danh sách câu trả lời dưới đây:  display possible responses (hiển thị các câu trả lời)  	"1. Fine." (khỏe) 	"2. Great!" (rất khỏe!) 	"3. Not good." (không khỏe) Đây là lúc chương trình yêu cầu người dùng nhập câu trả lời:  print request for input (in ra yêu cầu nhập)  	"Enter the number that best describes you:" (nhập số mà bạn thấy phù hợp nhất) Vì có nhiều câu trả lời mà người dùng có thể lựa chọn, bạn có thể sẽ muốn thêm nhiều kết quả dựa theo câu trả lời mà người dùng đã lựa chọn:  if "1" (nếu chọn "1") 	print response (in ra câu đáp) 		"Dandy!" (Khỏe là tốt rồi!)  if "2" (nếu chọn "2") 	print response (in ra câu đáp) 		"Fantastic!" (Rất khỏe thì quá tốt rồi!)  if "3" (nếu chọn "3") 	print response (in ra câu đáp) 		"Lighten up, buttercup!" (Thư giãn hơn chút cho khỏe đi bạn hiền!) Trong trường hợp người dùng không lựa chọn đúng câu trả lời, bạn có thể hiển thị dòng báo lỗi:  if input isn't recognized (nếu không nhận diện được câu trả lời của người dùng) 	print response (in ra câu đáp) 		"You don't follow instructions very well, do you?" (Bạn chưa làm theo đúng hướng dẫn phải không?) Xem kỹ lại văn bản của bạn để bổ sung chi tiết nhằm đảm bảo rằng cả bạn và bất cứ ai đọc văn bản cũng đều hiểu được ý nghĩa. Sau khi làm theo phương pháp trên đây, văn bản mã giả hoàn thiện của bạn sẽ có dạng như sau:  Chương trình này yêu cầu người dùng nhập số. Nếu số đó khớp với phương án trả lời có sẵn, câu đáp lại sẽ được hiển thị; nếu không khớp thì hiện thông báo.  print câu chào 	"Chào bạn!"  print hộp thoại 	Nhấn "Enter" để tiếp tục <Sau khi người dùng nhấn "Enter">  Print câu hỏi thăm và kêu gọi hành động 	"Hôm nay bạn khỏe không?"  display các phương án trả lời có thể lựa chọn 	"1. Khỏe." 	"2. Rất khỏe!" 	"3. Không khỏe."  print yêu cầu input  	"Nhập số phù hợp nhất với bạn:"  if nhập "1" 	print câu đáp 		"Khỏe thì tốt rồi!" if nhập "2" 	print câu đáp 		"Rất khỏe thì quá tốt rồi!" if nhập "3" 	print câu đáp 		"Thư giãn chút cho khỏe đi bạn hiền!"  if không thể nhận diện input của người dùng 	print câu đáp 		"Bạn chưa làm theo đúng hướng dẫn phải không?" Nhấn Ctrl+S (trên Windows) hoặc ⌘ Command+S ( trên Mac), gõ tên, sau đó nhấp Save để lưu.
Biết mã giả là gì. Hiểu vì sao mã giả lại hữu ích. Nhớ rằng mã giả mang tính chủ quan và không chính thống. Tập trung vào mục đích chính của mã giả. Sử dụng trình chỉnh sửa văn bản thuần túy. Bắt đầu bằng cách ghi lại mục đích của dòng lệnh. Chỉ viết một câu lệnh mỗi dòng. Sử dụng khoảng trắng và thụt lề một cách hiệu quả. Viết hoa các từ khóa chính nếu cần. Viết bằng thuật ngữ đơn giản. Giữ đúng trình tự của mã giả. Không để người khác phải đoán ý của bạn. Dùng cấu trúc lập trình tiêu chuẩn. Sắp xếp các phần mã giả của bạn. Kiểm tra lại mã giả của bạn xem đã dễ đọc và rõ ràng chưa. Mở trình chỉnh sửa văn bản thuần túy. Định nghĩa chương trình của bạn. Viết đoạn mở đầu. Thêm dòng tiếp theo. Gọi hành động. Hiển thị cho người dùng thấy danh sách câu trả lời. Yêu cầu người dùng thực hiện hành động. Tạo câu lệnh "if" cho việc nhập của người dùng. Thêm dòng báo lỗi. Thêm các phần khác của chương trình. Lưu lại văn bản của bạn.
https://www.wikihow.com/Write-Pseudocode https://www.wikihow.com/Write-Pseudocode https://www.wikihow.com/Write-Pseudocode
Understanding Pseudocode Basics Writing Good Pseudocode Creating an Example Pseudocode Document