<, >, =, <>, <=, >=
.
Častou chybou je zneužívání příkazu if pro přiřazení logické hodnoty do proměnné.
if znak = #27 then konec := true else konec := false;Toto jde mnohem efektivněji přepsat takto:
konec := znak = #27;nebo ještě přehledněji takto:
konec := (znak = #27);
Další chybou je porovnávání logických proměnných s konstantami true a false v podmíněných příkazech.
if konec = true then halt(0);Touto konstrukcí nutíte překladač, aby vygeneroval zbytečný kód, protože bude logický výraz vyhodnocovat dvakrát. Správně je to takto:
if konec then halt(0);
Samozřejmě můžete namítnout, že moderní překladače si s podobným kódem poradí a výsledek bude stejně efektivní v obou případech. To je pravda, pokud používáte optimalizující překladač. Obecně ale platí, že byste se měli snažit vytvářet rozumně efektivní zdrojový kód. Ve výše uvedených příkladech vás to nestojí téměř žádné úsilí.
Mimochodem - podle takovýchto drobností se spolehlivě pozná začátečník od programátora.