Sahte kod yazmak, kod yazmak gibi bir şeydir: Siz (ve birlikte yazdığınız kişiler) gerçekte bir standarda uyduğu sürece, hangi standarda uyduğunuz önemli değildir .
Ancak kayıt için, ders notlarımda, araştırma yazılarımda ve yaklaşmakta olan kitabımda kullandığım kendine özgü standart.
Kontrol akışı ve hafıza erişimi için standart zorunlu sözdizimini kullanın - eğer, süre için, eğer, [index], function (arguments), return içinse. "Başkasa" kelimesini heceleyin.
- Ancak kullanım yerine ya dafield(record)
record.fieldrecord->field
Matematik standart matematiksel simgelem - Yazma yerine , bir mod b yerine , s ≤ t yerine , ¬ p yerine , √xyx*yamodba%bs≤ts <= t¬p!p yerine,πyerine,yerine∞, vb.x−−√sqrt(x)πPI∞MAX_INT
Fakat problemi önlemek için kullanın .x←y==
Ancak eğer İngilizce daha açıksa, notasyondan (ve sözde koddan!) Tamamen kaçının.
- Simetrik olarak, gösterim açıksa İngilizce'den kaçının!
Sözdizimsel şekeri en aza indirin - Blok yapısını tutarlı girinti ile işaretleyin (à la Python). "Başla / Sona" veya "Do / Od" veya "Fi" gibi şekerli anahtar kelimeleri atlayın. Satır numaralarını atlayın. Do not "için" gibi anahtar kelimeler vurgulamak veya "iken" veya "eğer" Farklı onları ayarlayarak typefaceveya stil . Hiç. Sadece yapma
Fakat \ textsc {Small Caps} içindeki dizgi algoritma adları ve sabitleri, italik değişken isimleri ve sans serif içindeki değişmez dizeler.
Ancak \\[0.5ex]anlamlı kod parçaları arasında az miktarda dikey "nefes" boşluğu ( ) ekleyin .
Önemsiz ayrıntıları belirtmeyin. Köşeleri hangi sırayla ziyaret ettiğiniz önemli değilse, sadece "tüm köşeler için" deyin.
Örneğin, burada Borůvka'nın minimum yayılan ağaç algoritmasının özyinelemeli bir formülasyonu var . Daha önce yi , L kümesindeki tüm kenarları daraltarak G'den elde edilen grafik olarak tanımladım ve ilmekleri ve paralel kenarları kaldıran bir alt rutin olarak Yassılaştır.G / LG,L

Kendi hafif algorithmLaTeX ortamımı psseudocode dizmek için kullanıyorum. (Bu sadece tabbingiçindeki bir ortam \fbox.) İşte Borůvka'nın algoritması için kaynak kodum:
\begin{algorithm}
\textul{$\textsc{Borůvka}(G)$:}\+
\\ if $G$ has no edges\+
\\ return $\varnothing$\-
\\[0.5ex]
$L \gets \varnothing$
\\ for each vertex $v$ of $G$\+
\\ add the lightest edge incident to $v$ to $L$\-
\\[0.5ex]
return $L \cup \textsc{Borůvka}(\textsc{Flatten}(G / L))$
\end{algorithm}