Object Pascal/Procedury i funkcje: Różnice pomiędzy wersjami

Usunięta treść Dodana treść
edycje spod IP - wandalizm
Linia 5:
 
===Deklaracja procedury===
 
'''procedure''' nazwa [(lista_parametrów_formalnych)];
{deklaracje lokalnych stałych, zmiennych i typów}
'''begin'''
{część operacyjna}
'''end;'''
 
Deklaracja procedury powinna znajdować się przed częścią operacyjną programu, czyli przed głównym słowem ''begin'',a po deklaracji zmiennych, z których ona korzysta. Nie jest konieczne umieszczanie po deklaracji zmiennych, ale stosowanie się do tej zasady pozwala na zastosowanie porządku w zapisie programu.
 
Jeżeli chcemy aby procedura była zadeklarowana za miejscem jej pierwszego wywołania, należy użyć słowa kluczowego ''forward'':
 
'''procedure''' nazwa [(lista-parametrów-formalnych)]; '''forward''';
 
Wewnątrz procedury można deklarować zmienne lokalne, czyli zmienne wewnętrzne, obowiązujące tylko w tej procedurze, w której zostały zadeklarowane. Zmienne lokalne mogą mieć takie same identyfikatory jak zmienne globalne (zmienne zewnętrzne, obowiązujące w całym programie), wtedy znaczenie zmiennej globalnej zostanie przysłonięte znaczeniem zmiennej lokalnej. Wewnątrz deklaracji można używać zmiennych globalnych (nie przysłaniając ich), pokazane na przykładzie, jednak należy pamiętać o częstych błędach przy drobnej nieuwadze.
 
 
 
====Przykład deklaracji====
 
'''procedure''' srednia;
'''var'''
i:integer;
s:real;
'''begin'''
s:=0.0;
'''for''' i:=1 '''to''' ilosc '''do''' //ilosc - zmienna zewnętrzna
s:=s+dane[i];
wynik:=s/ilosc
'''end;'''
 
===Wywołanie procedury===
Linia 125 ⟶ 154:
 
====Przykłady:====
'''Program''' iloczyny;
'''var'''
a,b:real
'''function''' iloczyn (a,b: integer): integer;'''overload''';
'''begin'''
result:=a*b;
'''end;'''
'''function''' iloczyn (a,b:real): real;'''overload''';
'''begin'''
result:=a*b;
'''end;'''
'''begin'''
c:=iloczyn(5,6) //zostanie wywołana pierwsza funkcja
c:=iloczyn(5,5.6) //zostanie wywołana druga funkcja.
'''end.'''
 
===Rekurencja===