Questo post è vecchio, ma spero che questo aiuterà gli altri.
"Introduzione agli algoritmi" libro (da Cormen, Leiserson e Rivest) è un buon libro da leggere su algoritmi, ma il "pseudo-codice" è terribile. Cose come Q [1 ... n] è una sciocchezza quando si ha la necessità di capire cosa Q [1 ... n] è supponiamo di dire. Che dovrà essere osservato al di fuori della "pseudo-codice." Inoltre, libri come "Introduzione agli algoritmi" piace usare una sintassi matematica, che sta violando uno scopo di pseudo-codice.
Pseudo-codice dovrebbe fare due cose. Estratto dalla sintassi ed essere di facile lettura. Se il codice attuale è più descrittivo pseudo-codice e codice reale è più descrittivo, allora non è pseudo-codice.
Diciamo che stesse scrivendo un semplice programma.
design dello schermo:
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
Elenco variabili:
TOTAL: double
SUB_TOTAL: double
DISCOUNT: double
Pseudo-codice:
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
Si noti che questo è molto facile da leggere e non fa riferimento alcuna sintassi. Questo supporta tutti e tre di Bohm e Jacopini di strutture di controllo.
Sequenza:
Print "Some stuff"
VALUE = 2 + 1
SOME_FUNCTION(SOME_VARIABLE)
Selezione:
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
Ripetizione:
while condition
do stuff
for SOME_VALUE TO ANOTHER_VALUE
do stuff
confrontare che a questo N-Queens "pseudo-codice" ( 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)
Se non si può spiegare semplicemente, non si capisce abbastanza bene. - Albert Einstein