kartkówka nr 5 rozwiazanie (moje)


----------------------------------------------------------
-------------- WSTEP -------------------------------------
----------------------------------------------------------

Na początek tworzymy tablice, w ktorej bedziemy przechowywać wartosci zwracane przez funkcję liczącą pradowpodobieństwo

CREATE TABLE "TEMP" ("A" NUMBER);

----------------------------------------------------------
-------- WYKORZYSTTYWANIE PROCEDURY-----------------------
----------------------------------------------------------

declare
a number;
b number;

begin

odchylenie(a,b);

SYS.dbms_output.put_line('Odchylenie standardowe: ' || a);
SYS.dbms_output.put_line('Srednie odchylenie bezwzgledne: ' || b);

end;

----------------------------------------------------------
-------- PROCEDURA LICZACA -------------------------------
----------------------------------------------------------

create or replace
procedure odchylenie(a OUT number, b OUT number) as

srednia number;
suma number := 0;
wariancja number;
srednie_odchylenie number;
wiersz temp%rowtype;

begin
--wprowadzamy wartosci do tablicy
for k in 1..50 loop
insert into temp values (prwpod(500));
end loop;

--wyliczamy srednia na podstawie danych w tabeli
select avg(A) into srednia from temp;
--SYS.dbms_output.put_line('Srednia: ' || srednia);

--wyliczamy wartosc licznika wariancji
for wiersz in (select * from temp) loop
suma := suma + power((wiersz.A - srednia),2);
end loop;

--obliczamy wartosc wariancji
wariancja := suma / 50;
--SYS.dbms_output.put_line('Wariancja: ' || wariancja);
--SYS.dbms_output.put_line('Odchylenie standardowe: ' || sqrt(wariancja));

--obliczamy wartosc licznika sredniego odchylenia bezwzglednego
suma:=0;
for wiersz in (select * from temp) loop
suma := suma + (abs(wiersz.A - 0.5));
end loop;

--obliczamy wartosc sredniego odchylenia bezwzglednego
srednie_odchylenie := suma / 50;
--SYS.dbms_output.put_line('Srednie odchylenie bezwzgledne: ' || srednie_odchylenie);

--przypisujemy zmiennym przekazanym do procedury wartosc wyliczone
a:=sqrt(wariancja);
b:=srednie_odchylenie;

--usuwamy wszystkie rekordy, ktore zostaly umieszczone w tablicy w ramach dzialania procedury
delete from temp;

exception
when others then
raise_application_error(-20000, 'Wystąpił błąd: ' || SQLERRM || ', kod PL/SQL: ' || SQLCODE);

end;

Wyszukiwarka

Podobne podstrony:
kartkówka nr 4 rozwiazanie
kartkówka nr 5 rozwiązanie (Bołoz)
kartkówka nr 5 rozwiazanie
kolokwium nr 1 rozwiązanie Plichta
Kartkowka nr 1 Zadania 04 XI 2009
kartkowka 1 poprawa rozwiazanie
ZAGADNIENIA DO KARTKÓWKI NR 1 2013
ZAGADNIENIA DO KARTKÓWKI NR 2 2013
Kartkowka nr 3 Zadania 16 XII 2009
kartkówka nr 4 (prawdo) Niewiarowski
kolokwium nr 3 rozwiązanie
PYTANIA DO KARTKÓWKI NR 3 2013
Kartkowka nr 4 Zadania
kartkówka nr 5 (odchylenie) Niewiarowski
kartkówka nr 7 (szyfrowanie i deszyfrowanie XOR)
zadanie nr 9 rozwiazanie(1)
Kartkowke nr 3
kartkówka nr 2 Niewiarowski
Moje sprawko nr 6

więcej podobnych podstron