argumenty opcjonalne mogą posiadać zdefiniowaną domyślną wartość argumentu.
Przekazywanie argumentów Argumenty przekazywane przez wartość W tym przypadku parametr zachowuje się w podprogramie jak zmienna lokalna, której przypisano w momencie wywołania podprogramu wartość początkową, równą wartości przekazywanego argumentu. Oznacza to, że argument przekazywany do podprogramu może być wyrażeniem. Po zakończeniu podprogramu, wartość odpowiedniego parametru, nie zostanie zachowana.
Przykładowe języki programowania: Ada (in), Pascal, C, Modula-2, Snobol i inne.
Argumenty przekazywane przez wynik Parametr zachowuje się jak zmienna lokalna, bez wartości początkowej (a więc należy dokonać przypisania wartości w podprogramie), a po zakończeniu podprogramu, argument (który powinien być zmienną, wskazaniem na zmienną lub innym wyrażeniem dopuszczalnym po lewej stronie operatora przypisania w danym języku programowania) otrzyma wartość nadaną w podprogramie, przekazaną do miejsca wywołania.
Przykładowe języki programowania: Ada (out), ALGOL W
Argumenty przekazywane przez wartość i wynik Jest to połączenie metod przekazywania argumentów: przez wartość oraz przez wynik.