Parametr (informatyka)
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
edytujParametrem 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
edytujParametry 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
edytujParametr 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].
Różne rozwiązania
edytujW różnych językach programowania ich twórcy stosowali różne rozwiązania związane z parametrami.
Zmienna lista argumentów
edytujW 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.
Stos zamiast parametrów
edytujSpecyfika 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ż
edytujPrzypisy
edytuj- ↑ 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
- ↑ a b John E. Nicholls, Struktura języków programowania, Wydawnictwa Naukowo-Techniczne, Warszawa 1980, Seria: Informatyka, ISBN 83-204-0246-8
- ↑ 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
- ↑ 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
- ↑ Jan Bielecki, Turbo C z grafiką na IBM PC, Wydawnictwa Naukowo-Techniczne, Warszawa 1990, Seria: Mikrokomputery, ISBN 83-204-1101-7
- ↑ Jan Bielecki, Język FORTH, Wydawnictwa Naukowo-Techniczne, Warszawa 1988, Seria: Mikrokomputery, ISBN 83-204-0930-6