Liczbowe funkcje rekurencyjne wielu zmiennych – uczymy się na błędach

3444
wyświetleń
Liczbowe funkcje rekurencyjne wielu zmiennych – uczymy się na błędach
Prezentujemy implementację funkcji rekurencyjnych wielu zmiennych w języku F# oraz sposób wyświetlania wartości tych funkcji. W artykule omówione są funkcje rekurencyjne liczbowo-liczbowe i pokazany jest sposób, w jaki można wykrywać defekty funkcji rekurencyjnych.

Języki programowania takie jak Java, C++, Python są językami, które wykonują sekwencje zadań zdefiniowane jawnie przez programistę.  Język F# jest językiem funkcyjnym. Programowanie funkcyjne działa inaczej niż programowanie sekwencyjne, ponieważ aplikacje tego typu nie wykonują zadań sekwencyjnie, tylko wyznaczają jedynie wartości poszczególnych wyrażeń. Programy funkcyjne składają się głównie z funkcji, które są ich podstawowymi elementami. Główna funkcja składa się tylko i wyłącznie z innych funkcji, które z kolei składają się z jeszcze innych funkcji, a ta cecha daje możliwość tworzenia funkcji złożonych. Takie podejście jest czysto matematyczne – funkcje przyjmują pewną liczbę zmiennych i zwracają wynik (stąd pomysł na wykorzystanie języka F# w artykule).

 

Analogicznie jak w innych językach programowania, w F# można pisać programy przepisując po prostu założenia. Jednak nie wszystkie programy funkcyjne mogą powstać tylko za pomocą przepisania założeń. Takie podejście, w którym założenia przepisywane są w postaci kodu, nie jest efektywne w dużej liczbie przypadków. Efektywny program może być trudniejszy do napisania i nie zawsze jest tak przejrzysty jak jego nieefektywny odpowiednik. W przypadku programowania funkcyjnego nie powstają takie problemy jak kolejność wykonywania instrukcji, zmiana wartości zmiennej w nieoczekiwany sposób, co poprawia czytelność programów, ułatwia ich weryfikację i jest pewnego rodzaju ułatwieniem. Projektowanie funkcji rekurencyjnych wielu zmiennych nie jest jednak rzeczą trywialną. Łatwo można popełnić błąd podczas ich implementacji, co zostanie pokazane w artykule.

 

Pobierz pełen artykuł  >>

 

Marek Żukowicz jest absolwentem matematyki na Uniwersytecie Rzeszowskim. Obecnie pracuje jako tester. Jego zainteresowania skupiają się wokół testowania, matematyki, zastosowania algorytmów ewolucyjnych oraz zastosowania matematyki w procesie testowania. Interesuje się również muzyką, grą na akordeonach oraz na perkusji.

 

Od redakcji:

 

Jeśli chcesz podzielić się swoją wiedzą z innymi testerami, czekamy na Twój artykuł, film, komentarz, pracę dyplomową czy inną formę treści, jaką chcesz opublikować na naszych łamach.

3444
wyświetleń
Marek Żukowicz

Autor

Marek Żukowicz jest absolwentem matematyki na Uniwersytecie Rzeszowskim. Jest testerem oprogramowania w firmie Ailleron.

To powinno Cię zainteresować

Dołącz do dyskusji