Ce poste est vieux, mais nous espérons que cela aidera les autres.
« Introduction aux algorithmes » livre (par Cormen, Leiserson et Rivest) est un bon livre à lire sur les algorithmes, mais le « pseudo-code » est terrible. Des choses comme Q [1 ... n] est un non-sens quand on a besoin de comprendre ce que Q [1 ... n] est supposé signifier. Ce qui devra être constatée en dehors de la « pseudo-code. » En outre, des livres comme « Introduction aux algorithmes » aiment utiliser une syntaxe mathématique, qui viole un but de pseudo-code.
pseudo-code doit faire deux choses. Abstraire de la syntaxe et être facile à lire. Si le code réel est plus descriptif que le pseudo-code et le code réel est plus descriptif, il n'est pas pseudo-code.
Dites que vous écriviez un programme simple.
Conception de l'écran:
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
Liste des variables:
TOTAL: double
SUB_TOTAL: double
DISCOUNT: double
Pseudo-code:
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
Notez que cela est très facile à lire et ne fait référence à aucune syntaxe. Cela prend en charge les trois structures de contrôle de Bohm et Jacopini.
Séquence:
Print "Some stuff"
VALUE = 2 + 1
SOME_FUNCTION(SOME_VARIABLE)
Sélection:
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
Répétition:
while condition
do stuff
for SOME_VALUE TO ANOTHER_VALUE
do stuff
comparer à cette N-Queens "pseudo-code" ( 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)
Si vous ne pouvez pas l'expliquer simplement, vous ne comprenez pas assez bien. - Albert Einstein