Funkce explicitně vrací hodnotu, procedura může předat výsledek jen prostřednictvím parametrů.
COMMON jmeno_bloku,var1,var2,...
;definice procedury s jednim povinnym parametrem pro FCEX1, x print,'sin(',x,')=',sin(x) end ;volani FCEX1,!pi
;definice procedury se dvema povinnymi parametry pro FCEX2, x, y print,'sin(',x,')=',sin(x) print,'cos(',y,')=',cos(y) end ;volani FCEX2,!pi,!pi/4
;definice procedury s dvema nepovinnymi parametry pro FCEX3, x, y if N_PARAMS() eq 0 then return print,'sin(',x,')=',sin(x) if N_PARAMS() gt 1 then print,'cos(',y,')=',cos(y) end ;volani FCEX3,!pi,!pi/4 FCEX3,0 FCEX3
;definice procedury s klicovym parametrem pro FCEX4, x, SINX=s if keyword_set(s) then print,'sin(',x,')=',sin(x) end ;volani FCEX4,!pi FCEX4,!pi,/S FCEX4,!pi,/SI FCEX4,!pi,/SIN FCEX4,!pi,/SINX FCEX4,!pi,SI=1
;definice funkce s klicovymi parametry function FCEX5, x, SINX=s, COSX=c if keyword_set(s) then return,sin(x) if keyword_set(c) then return,cos(x) return,!values.f_nan end ;volani print,FCEX5(!pi) print,FCEX5(!pi,/SINX) print,FCEX5(!pi,/COSX) print,FCEX5(!pi,/C,S=1) ;vrati sin(x)
;procedura menici hodnotu formalniho parametru pro H1, x print,x x=0 print,x end
;hodnotou H1,8
;hodnotou x=2 H1,2*x print,x
;odkazem x=2 H1,x print,x
L.Přech, poslední úpravy 22.11.2000