Parametr (informatyka)

zmienna przekazywana do funkcji lub programu

Parametr (parametr formalny) − element składni w określonym języku programowania, umożliwiający komunikację pomiędzy podprogramem wywołanym a programem wywołującym[1]. Parametry określa się wraz z deklaracją określonego podprogramu, w jego nagłówku[2].

Funkcje parametru

edytuj

Parametrem jest określony, zadeklarowany i zdefiniowany w programie (kodzie źródłowym), element (identyfikator), umożliwiający przekazanie argumentu do podprogramu oraz wyniku z podprogramu do zadania wywołującego tenże podprogram (nadrzędnego)[1]. Parametr może zostać zdefiniowany dla podprogramu lub programu. W tym drugim przypadku parametr służy do komunikacji danego programu (procesu) z systemem operacyjnym lub innym programem wywołującym[3].

Deklaracja i definicja parametru

edytuj

Parametry zwykle, w większości języków programowania, deklaruje się i definiuje wraz z deklaracją podprogramu. Typowym sposobem jest utworzenie listy parametrów w nawiasie po nazwie podprogramu[2]. Tu najczęściej następuje zdefiniowanie atrybutów parametrów (np. typu).

Przykład w języku Pascal[4]:

{ Pascal }
function Sum(a, b : integer):integer;
begin
  Sum:=a+b
end;

Przykład w języku C[5]:

/* C */
int Sum(a, b)
  int a,b;
{
  return a+b;
}

W powyższych przykładach zadeklarowano i zdefiniowano parametry a i b. W Pascalu deklaracja i definicja występuje razem[4], w języku C w nagłówku zadeklarowano parametry pod nagłówkiem a przed nawiasem otwierającym instrukcję blokową funkcji Sum, zdefiniowano parametry jako dane typu int (dotyczy pierwszych wersji języka C, w późniejszych standardach dopuszczono obie formy deklaracji parametrów).

Skojarzenie argumentu z parametrem

edytuj

Parametr w podprogramie reprezentuje określoną wartość lub komórkę pamięci umożliwiającą komunikację z programem nadrzędnym. W momencie wywołania podprogramu następuje skojarzenie argumentu przekazywanego do podprogramu z odpowiednim parametrem. Skojarzenie takie dokonywane jest w wyniku wykonania instrukcji wywołania lub wywołania funkcji w wyrażeniu. Istnieją różne sposoby kojarzenia argumentów z parametrami[1].

Osobny artykuł: Argument (informatyka).

Różne rozwiązania

edytuj

W różnych językach programowania ich twórcy stosowali różne rozwiązania związane z parametrami.

Zmienna lista argumentów

edytuj

W niektórych językach programowania lub ich konkretnych implementacjach istnieje możliwość przekazywania zmiennej liczby argumentów do podprogramu. Aby umożliwić odczyt w podprogramie wartości z listy argumentów o zmiennej ich liczbie, definiuje się parametr wskazujący na taką listę, a w deklaracji podprogramu umieszcza często symbol informujący kompilator, że podprogram może być wywoływany ze zmienną liczbą argumentów.

Osobny artykuł: Zmienna liczba argumentów.

Stos zamiast parametrów

edytuj

Specyfika niektórych języków programowania, np. Forth[6], powoduje, że do przekazywania argumentów do podprogramu używa się stosu zamiast parametrów. Podprogram odczytuje wartość ze stosu, która musi zostać tam umieszczona przed wywołaniem podprogramu. Jedynie wypracowany styl pisania programów w tym języku powoduje, że w kodzie źródłowym specyfikuje się parametry w wartość zwracaną, np.:

 : Sum ( a, b -- a, b, c ) dup rot dup rot + ;

Lecz powyższa specyfikacja parametrów a i b oraz rezultatu a, b, c, jest tylko eleganckim stylem programowania, konwencją dobrowolnie stosowaną przez programistów, gdyż napis "( a, b -- a, b, c )" jest jedynie komentarzem.

Zobacz też

edytuj

Przypisy

edytuj
  1. a b c Michael Marcotty, Henry Ledgord, W kręgu języków programowania, tłumaczenie: Krystyna Jerzykiewicz, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-1342-7
  2. a b John E. Nicholls, Struktura języków programowania, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Informatyka, ISBN 83-204-0246-8
  3. Andrzej Marciniak, Borland Pascal 7.0, Wyd. Nakom, Poznań 1994 r., seria: Biblioteka Użytkownika Mikrokomputerów ISBN 83-85060-53-7, ISSN 0867-6011
  4. a b Michał Iglewski, Jan Madey, Stanisław Matwin, Pascal. Język wzorcowy – Pascal 360., Wydawnictwa Naukowo-Techniczne, Warszawa 1984, wydanie trzecie – zmienione, Seria: Biblioteka Inżynierii Oprogramowania, ISBN 83-204-0597-1
  5. Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, ISBN 83-204-1101-7
  6. Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ISBN 83-204-0930-6