[Pascal] Suma i średnia liczb

anetaaneta1
Użytkownik
Użytkownik
Posty: 654
Rejestracja: 3 lis 2010, o 17:22
Płeć: Kobieta
Lokalizacja: Kraków
Podziękował: 316 razy
Pomógł: 1 raz

[Pascal] Suma i średnia liczb

Post autor: anetaaneta1 »

Hej:)
Mam napisany program w pascalu który oblicza sumę i średnią liczb w wygląda on tak

Kod: Zaznacz cały

http://speedy.sh/rvtfu/liczby.exe

i mam takie pytanie dlaczego niektóre zmienna w procedurze są deklarowane w nazwie czyli tak

Kod: Zaznacz cały

procedure obl_sum(il:integer, t :tablica; var s,sr:real);
a niektóre dopiero pod nazwą procedury czyli

Kod: Zaznacz cały

var j:integer;
I jeszcze jedno od czego zależy to słowo var w nazwie procedure dlaczego nie stoi przed wszystkimi zmiennymi ?
Z góry wielkie dzięki
Ostatnio zmieniony 5 maja 2012, o 19:10 przez Afish, łącznie zmieniany 1 raz.
Powód: Staraj się lepiej dobierać nazwy tematów, tak by wskazywały o czym jest treść zadania. Stosuj tagi.
matinf
Użytkownik
Użytkownik
Posty: 1922
Rejestracja: 26 mar 2012, o 18:52
Płeć: Mężczyzna
Lokalizacja: Warszawa
Podziękował: 695 razy
Pomógł: 4 razy

[Pascal] Suma i średnia liczb

Post autor: matinf »

Nie są deklarowane w nazwie tylko są jako argumenty, tzn funkcja obl_sum przyjmuje jako argumenty 4 zmienne. słowo kluczowe var sprawia że pracujesz na oryginale argumentu, a nie kopii, czyli jak przekażesz taką zmienną - w procedurze zmienisz ją jakoś - np. dodasz do niej 100 (jeśli mówimy o liczbie) to po wyjściu z funkcji zmienna którą przekazywałaś będzie miała tą zmienioną wartość. Jeśli przekazujesz argumenty bez słowa kluczowego var, pracujesz na kopii, czyli możesz dowolnie sobie modyfikować w ciele funkcji, ale wartość po wyjściu z funkcji pozostanie taka sama. Jak wywołujesz funkcję to przekazujesz argumenty.
Jeśli chodzi o to deklarowanie w nazwie (czyli w argumentach) oraz to pod spodem to jest sprawa prosta.
w sekcji var deklarujesz sobie lokalnie zmienne, które się przydadzą przy pracy funkcji, zaś w nazwie jak to nazywasz są po prostu argumenty, czyli to co przekażesz funkcji jak gdyby z zewnątrz, czyli podczas wywołanie
pozdrawiam
ODPOWIEDZ