Při deklaraci procedury jako veřejně přístupné (z jiných unit) nebo pomocí direktivy "forward" je podle definice jazyka možné buď uvést při skutečné definici opět tytéž parametry, nebo tyto parametry vynechat úplně. Zde z pedgogických důvodů doporučujeme první možnost. Pokud tedy v části, označené jako "public", uvedeme hlavičku procedury:

procedure p2r(r,fi: real; var x,y: real);

... nebo v textu použijeme (pro jednoduchost jako příklad uvádím tutéž proceduru):

procedure p2r(r,fi: real; var x,y: real); forward;

... pak její definice v programu může vypadat buď takto:

procedure p2r(r,fi: real; var x,y: real);
  begin
    x := r * cos(fi);
    y := r * sin(fi);
  end;

... nebo takto:

procedure p2r;
  begin
    x := r * cos(fi);
    y := r * sin(fi);
  end;

Může se vyskytnout kdekoli v programu (zde již na pořadí umístění skutečného popisu procedury nezáleží), tedy samozřejmě v místě, kde se může deklarace funkce vyskytnout.