39 (438)

39 (438)



function nazwa_funkcji <lista_paramertów_i_ich _typów) : typ_wyniku;

{ blok deklaracji }

begin

{ blok instrukcji } end;

Podstawową sprawą jest określenie, jakich danych (i jakiego typu) potrzebuje funkcja do działania (czyli jakie są jej parametry formalne) i jakiego typu jest wynik jej działania. Zastanówmy się nad kilkoma przykładami:

Silnia. W trakcie pisania przykładowego programu do pamiętania argumentu używaliśmy typu Byte, dla obliczanego wyniku Longint. Czemu więc nie użyć takich samych typów w funkcji? Pierwszy wiersz mógłby więc wyglądać następująco:

function Silnia (N : Byte) : Longint;

Sprawdzanie, czy liczba jest pierwsza. W programie sprawdzaną liczbę pamiętaliśmy jako Longint. Wynik oczywiście powinien być typu Boolean (przyjmowałby wartość True, jeżeli liczba jest pierwsza, i False, jeżeli nie). Oto przykładowy pierwszy wiersz definicji funkcji:

function Pierwsza (N : Longint) ; Boolean;

NWD (największy wspólny podzielnik). Ta funkcja wymaga aż dwóch liczb. Załóżmy, że będą typu Integer. Wynikiem będzie też liczba (także typu Integer).

function NWD (A, B : Integer) : Integer;

Typy parametrów definiuje się podobnie jak typy zmiennych w sekcji var bloku dekla-racyjnego. Jeżeli dwa parametry są tego samego typu, można je zadeklarować jednocześnie, oddzielając przecinkiem. Można je także zawrzeć w dwóch deklaracjach, oddzielonych średnikiem. Powyższy wiersz mógłby więc także wyglądać następująco:

function NWD (A, Integer; B: Integer) : Integer;

Usuwanie znaku z tekstu. Wyobraźmy sobie funkcję, która ma z podanego tekstu usunąć wszystkie wystąpienia jakiegoś znaku. Argumentami funkcji są znak (typu Char) i łańcuch (typu String). Wartością funkcji jest również łańcuch (typu String). Można by więc zapisać:

function UsunZnak (Znak, Char; Łańcuch: String) : String;

Bardzo ważne jest zapisanie w komentarzu, co dana funkcja robi, co oznaczają jej kolejne parametry i co jest wynikiem działania. Jeżeli ma jakieś ograniczenia, także należy to opisać. Po napisaniu i przetestowaniu taka funkcja może dla nas pełnić rolę „czarnej skrzynki”, której wnętrze nie będzie nas interesować i będziemy jej używać wielokrotnie i przez długi czas, nie tylko w jednym, ale w wielu programach. Dobra własna biblioteka różnych przydatnych funkcji i procedur jest osobistym skarbem każdego programisty.

Zauważ, że to, co występuje w dalszej części, do złudzenia przypomina strukturę programu (blok deklaracji, begin, blok instrukcji, end, tylko na końcu występuje średnik zamiast kropki).

Koniecznie musisz zawrzeć w bloku instrukcji przypisanie funkcji wartości. Jeżeli tego nie zrobisz, funkcja zwróci wartość nieokreśloną. Przypisania wartości dokonuje się za pomocą instrukcji:

nazwa_funkcji wartość


Wyszukiwarka

Podobne podstrony:
KARTA PRZEDMIOTU NR 4/l/SP-ZUPS Nazwa przedmiotu Właściwości UPS i ich badanie Typ
tabela i. Porównanie stopnia trudności oraz efektywności ćwiczeń według ich typów. TYP
ffunc1 ctyp-Wartośc^ <nazwa_funkcji> ([parametry_foimalne])
Statystyka12 3.    Wyznaczyć parametry liniowej funkcji regresji, podać ich interpret
DSC00182 (2) Bi W polu Return type (typ zwracany) wybieramy typ void. W polu nazwa funkcji (Function
P211009 39 zmierzające do określenia wartości owych źródeł, ich funkcji itp. Szczególne zainteresow
% funkcja z jednym parametrem (argumentem), zwracajęca trzy wartości function [yl, y2, y3] =
DSC00182 (2) Bi W polu Return type (typ zwracany) wybieramy typ void. W polu nazwa funkcji (Function
Dodatek D 787 bad function Pierwszy (zerowy) element listy nie jest dopuszczalną nazwą funkcji. Może
Zadania dodatkowe o Dany jest plik tekstowy. Napisz funkcję, której parametrem jest nazwa pliku, a w
Wprowadzenie z równoległego funkcjonowania wielu parametrów wyceny, możliwości ich dostosowania do
38923 Image155 ■ Programowanie Lista parametrów, jakie przyjmuje fbnkcja Ważne aics*. jedynie wymien
skanuj0013 (362) 122 dla nich szczególnie cenna. Drugie natomiast nigdy nie funkcjonują w całej pełn

więcej podobnych podstron