C++ - funkcje 
Omawiane zagadnienia.
Przykład 1: Wartość wielomianu.

Napisz funkcję wyliczającą wartość wielomianu w punkcie. Argumentami funkcji powinny być:

Przykład 2: Całka oznaczona z wielomianu.

Całka oznaczona z funkcji ciągłej na przedziale [a,b] to pole obszaru ograniczonego wykresem funkcji, osią OX oraz prostymi x=a oraz x=b (zobacz rysunek poniżej). Pole obszaru ponad osią OX wliczane jest do łącznego pola ze znakiem plus, natomiast pole poniżej osi OX jest wliczane ze znakiem minus.

całka oznaczona
Wyznaczanie analityczne całki oznaczonej jest na ogół zadaniem trudnym, często niemożliwym. Wyjątek stanowią (między innymi) wielomiany, z których całki wyznacza się bardzo łatwo. Dokładniej, dla wielomianu
f(x) = anxn + ... + a1x + a0
całka oznaczona jest różnicą
P = F(b) - F(a)
gdzie F jest wielomianem
F(x) = anxn+1/(n+1) + ... + a1x2/2 + a0x
Na przykład pole pod wykresem paraboli f(x)=x2 na przedziale [0,1] to P = F(1)-F(0) dla F(x)=x3/3, czyli P=1/3.
całka parabola

Zadanie: Napisz funkcję wyznaczającą całkę oznaczoną z wielomianu na podanym przedziale.

Przykład 3: Przeładowanie funkcji.

Wiele języków programowania dopuszcza przeładowanie nazw funkcji, czyli tworzenie wielu funkcji o takich samych nazwach. Bardzo proszę zaimplementować dwie funkcje o nazwie liczbaLosowa

Przykład 4: Silnia - rekurencyjnie.

Jeśli funkcja wywołuje w swoim ciele siebie samą, to mówimy o wywołaniu rekurencyjnym. Oczywiście taki ciąg wywołań musi kiedyś zostać przerwany, aby uniknąć zapętlenia programu.

Napisz funkcję wyliczającą silnię z podanej liczby korzystając z definicji rekurencyjnej: n! = n*(n-1)!. W rozwiązaniu użyj typu całkowitoliczbowego long long.

Przykład 5: Silnia - rekursja ogonowa (zadanie dodatkowe).

Jeśli wywołanie rekurencyjne jest ostatnią wykonywaną instrukcją w funkcji, to mówimy o rekursji ogonowej. Takie wywołania kompilatory doskonale optymalizują, zamieniając je na zwykłe pętle.

Napisz funkcję wyliczającą silnię z podanej liczby z użyciem rekursji ogonowej. Nazwij funkcję tak samo, jak poprzednią funkcję liczącą silnię zwykłą rekurencją.

Wskazówka: funkcja powinna mieć więcej niż jeden argument.

Przykład 6: Symbol Newtona - zmienne statyczne.

Symbol Newtona można wyliczyć z zależności rekurencyjnej:

Binomial(n,k) = Binomial(n-1,k-1) + Binomial(n-1,k)

Przykład 7: Równanie kwadratowe - argumenty przesyłane przez referencję.

Funkcja może zwracać tylko jedną wartość. Ale może modyfikować obiekty, które zostały przesłane przez referencję!

Napisz funkcję liczącą pierwiastki równania kwadratowego.

Materiały przeznaczone wyłącznie dla studentów
Instytutu Informatyki i Matematyki Komputerowej UJ