{ 2 } writeln('New x is ',x) { 3 } end. W powyższym przykładzie mamy w kolejnych liniach kodu źródłowego następujące wywołania podprogramów: wywołanie dwóch podprogramów bibliotecznych write i readln, w instrukcji wywołania, wywołanie podprogramu Licz pobranego z modułu MyUnit, w wyrażeniu zawartym w instrukcji przypisania, wywołanie podprogramu bibliotecznego writeln, w instrukcji wywołania,
Wywołanie w wyrażeniu Natomiast w innych językach, takich jak np. C, C++ i pochodne, Icon, Algol 68 i inne, wywołanie podprogramu dokonywane jest zawsze w wyrażeniu, nawet jeżeli jest to wywołanie proceduralne w odrębnej linii kodu bez przypisania zwracanej przez podprogram wartości (tj. z jej ignorowaniem). Takie wywołanie bowiem stanowi instrukcję wyrażeniową, na którą składa się wyrażenie zakończone odpowiednim ogranicznikiem instrukcji, tzn. terminatorem lub separatorem, w zależności od przyjętych przez autorów języka rozwiązań.
Przykład w języku C: #include "stdio.h" int licz(int x);