Advertisement
Guest User

Untitled

a guest
Jun 21st, 2017
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PL/SQL 0.84 KB | None | 0 0
  1. CREATE OR REPLACE FUNCTION solveBhaskara ( aA IN NUMBER, aB IN NUMBER, aC IN NUMBER) RETURN VARCHAR2 AS  
  2.   d NUMBER := 0;
  3.   dSquare NUMBER :=0;
  4.   x1 NUMBER := 0;
  5.   x2 NUMBER := 0;  
  6. BEGIN
  7.  
  8.   DBMS_OUTPUT.put_line('Bhaskara... here we go!');
  9.  
  10.   d := POWER(aB, 2)-(4 * aA * aC);
  11.   DBMS_OUTPUT.put_line('.. Delta = '||d);
  12.  
  13.   IF d < 0 THEN
  14.     DBMS_OUTPUT.put_line('.. .. Que pena... Seu delta é negativo, sua raíz é impossível de ser extraída...');
  15.     RETURN NULL;
  16.   END IF;
  17.  
  18.   dSquare := SQRT(d);
  19.   x1 := (-aB + dSquare) / (2 * aA);
  20.   x2 := (-aB - dSquare) / (2 * aA);
  21.  
  22.   DBMS_OUTPUT.put_line('.. OK, almost done, galere!');
  23.   DBMS_OUTPUT.put_line('.. .. x1 = '||x1);
  24.   DBMS_OUTPUT.put_line('.. .. x2 = '||x2);
  25.  
  26.   RETURN ('x1 = '||x1||' & x2 = '||x2);
  27.  
  28. END solveBhaskara;
  29. /
  30.  
  31. SELECT solveBhaskara(2, -6, -20) FROM DUAL;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement