Это сообщение старое, но, надеюсь, это поможет другим.
«Введение в алгоритмы» книга (по CORMEN, Leiserson и Ривест) хорошая книга для чтения об алгоритмах, но «псевдо-код» ужасен. Такие вещи, как Q [1 ... п] нонсенс, когда нужно понять, что [1 ... п] предположим, означает Q. Который должен будет отметить за пределами «псевдо-кода.» Кроме того, такие книги, как «Введение в алгоритмы», как использовать математический синтаксис, который нарушив одну цель псевдо-кода.
Псевдо-код должен сделать две вещи. Аннотация от синтаксиса и легко читать. Если фактический код более описательный, чем псевдо-код, а код более описательный характер, то это не псевдо-код.
Допустим, вы пишете простую программу.
Конструкция экрана:
Welcome to the Consumer Discount Program!
Please enter the customers subtotal: 9999.99
The customer receives a 10 percent discount
The customer receives a 20 percent discount
The customer does not receive a discount
The customer's total is: 9999.99
Список переменных:
TOTAL: double
SUB_TOTAL: double
DISCOUNT: double
Псевдо-код:
DISCOUNT_PROGRAM
Print "Welcome to the Consumer Discount Program!"
Print "Please enter the customers subtotal:"
Input SUB_TOTAL
Select the case for SUB_TOTAL
SUB_TOTAL > 10000 AND SUB_TOTAL <= 50000
DISCOUNT = 0.1
Print "The customer receives a 10 percent discount"
SUB_TOTAL > 50000
DISCOUNT = 0.2
Print "The customer receives a 20 percent discount"
Otherwise
DISCOUNT = 0
Print "The customer does not a receive a discount"
TOTAL = SUB_TOTAL - (SUB_TOTAL * DISCOUNT)
Print "The customer's total is:", TOTAL
Обратите внимание на то, что это очень легко читать и не ссылаться на любой синтаксис. Это поддерживает все три из Бома и Jacopini в структурах управления.
Последовательность:
Print "Some stuff"
VALUE = 2 + 1
SOME_FUNCTION(SOME_VARIABLE)
Выбор:
if condition
Do one extra thing
if condition
do one extra thing
else
do one extra thing
if condition
do one extra thing
else if condition
do one extra thing
else
do one extra thing
Select the case for SYSTEM_NAME
condition 1
statement 1
condition 2
statement 2
condition 3
statement 3
otherwise
statement 4
Репетиция:
while condition
do stuff
for SOME_VALUE TO ANOTHER_VALUE
do stuff
Сравните , что к этому N-Queens «псевдо-код» ( https://en.wikipedia.org/wiki/Eight_queens_puzzle ):
PlaceQueens(Q[1 .. n],r)
if r = n + 1
print Q
else
for j ← 1 to n
legal ← True
for i ← 1 to r − 1
if (Q[i] = j) or (Q[i] = j + r − i) or (Q[i] = j − r + i)
legal ← False
if legal
Q[r] ← j
PlaceQueens(Q[1 .. n],r + 1)
Если вы не можете объяснить это просто, вы не понимаете, это достаточно хорошо. - Альберт Эйнштейн