instrukcja blokowa: begin WRITE('Number? '); READLN(NUMBER); end instrukcja warunkowa: if A > 3 then WRITELN(A) else WRITELN("NOT YET") end instrukcja wyboru: switch (c) { case 'a': alert(); break; case 'q': quit(); break; } pętla: while NOT EOF DO begin READLN end

Wyrażenia W większości języków instrukcje różnią się od wyrażeń tym, że niekoniecznie zwracają wyniki i mogą być wykonywane dla osiągnięcia określonych skutków ubocznych, podczas gdy wyrażenia zawsze zwracają wynik i zwykle nie powodują żadnych efektów ubocznych. Spośród imperatywnych języków programowania, Algol 68 jest jednym z niewielu, w którym instrukcja z reguły zwraca wynik. W językach, które łączą programowanie imperatywne z programowaniem funkcyjnym, takich jak dialekty Lispu, nie istnieje podział na wyrażenia i instrukcje: nawet wyrażenia wykonywane sekwencyjnie jedynie dla określonych skutków ubocznych, których zwracane wyniki nie są brane pod uwagę, wciąż są nazywane wyrażeniami. W językach czysto funkcyjnych nie ma instrukcji – wszystko jest wyrażeniem.