Pierwiastek dowolnego stopnia ROOT

Zadanie programistyczne
Stworzyć funkcję skalarną umożliwiającą dla podanej liczby obliczenie dowolnego pierwiastka tej liczby.
Rozwiązanie
Napisać metodę root. Metoda ta została umieszczona w klasie DerbyUtil:

public static double root(double liczba, double stopien) {
	return Math.pow(liczba, 1.0 / stopien);
}

Zadeklarować funkcję w bazie Derby (skrypt r089.sql):

CREATE FUNCTION ROOT(DATA DOUBLE, DEG DOUBLE)
    RETURNS DOUBLE
    PARAMETER STYLE JAVA
    NO SQL
    LANGUAGE JAVA
    EXTERNAL NAME 'utils.MathUtil.root'
;

Napisać klasę testującą (R089_ROOT):
Przetestować przykład.

2 37.8 6.148170459575759
1 39.7 6.300793600809346
3 36.6 6.04979338490167
3 33.2 5.761944116355173
2 39.2 6.260990336999411
2 40.6 6.371812928829597
2 41.2 6.418722614352485
1 40.1 6.332456079595025
1 39.8 6.308724118235001
2 38.9 6.23698645180507
1 38.3 6.18869937870632
2 37.9 6.156297588648554
2 37.4 6.115553940568262
3 37.1 6.0909769331364245
3 36.8 6.06630035524124
3 36.7 6.058052492344384
1 36.6 6.04979338490167

Pliki do ściągnięcia

R089_ROOT.zip (klasa)
r089.zip (skrypt)
Aktualny (tworzony narastająco) plik module-info.java
Aktualny (tworzony narastająco) plik DerbyUtil.java
Pliki tworzone narastająco zastępują poprzednie pliki o tej samej nazwie i działają dla wszystkich wcześniej opublikowanych przykładów we wszystkich wpisach w projekcie. W przypadku pliku module-info.java może być potrzebne skreślenie niepotrzebnych wpisów.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *