[ Príspevkov: 7 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.10.07
Prihlásený: 13.10.07
Príspevky: 3
Témy: 1 | 1
NapísalOffline : 13.10.2007 15:18 | pascal-odmocnina

neviete nahodou, ci v turbo pascale (alebo v pascale vobec) existuje funkcia, ktora zisti tretiu odmocninu cisla?


Offline

Užívateľ
Užívateľ
pascal-odmocnina

Registrovaný: 29.12.05
Prihlásený: 14.08.18
Príspevky: 539
Témy: 62 | 62
Bydlisko: 127.0.0.1 (...
NapísalOffline : 13.10.2007 15:31 | pascal-odmocnina

skus "sqr" alebo skôr "sqrt"


_________________
"Kde končí hiphop, začína IQ."
Offline

Užívateľ
Užívateľ
pascal-odmocnina

Registrovaný: 28.04.07
Prihlásený: 03.11.09
Príspevky: 133
Témy: 1 | 1
NapísalOffline : 13.10.2007 15:48 | pascal-odmocnina

AFAIK taká funkcia nie je v štandartnej knižnici. A sqrt je druhá odmocnina...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.10.07
Prihlásený: 13.10.07
Príspevky: 3
Témy: 1 | 1
Napísal autor témyOffline : 13.10.2007 16:36 | pascal-odmocnina

to je smola...


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 13.10.07
Prihlásený: 13.10.07
Príspevky: 3
Témy: 1 | 1
Napísal autor témyOffline : 13.10.2007 17:01 | pascal-odmocnina

vies o kniznici, ktoru by som mohla skusit?


Offline

Užívateľ
Užívateľ
pascal-odmocnina

Registrovaný: 28.04.07
Prihlásený: 03.11.09
Príspevky: 133
Témy: 1 | 1
NapísalOffline : 13.10.2007 17:39 | pascal-odmocnina

Nie, ale na internete sa určite nájdu algoritmy na jej vypočítanie.
edit: http://www.edn.com/archives/1998/011598/02di_04.htm (prepis z C do pascalu):
Kód:
program cuberoot;
var
  c: real;

function cube_root(num: real): real;
const
  ERR = 0.00001;
  ROOT_START = 2;
  ITER_MAX = 50;
var
  root: real;
  iter: integer;
  negative: boolean;
begin
  if num < 0 then begin
      negative := true;
      num := -num;
  end
  else
      negative := false;
  root := ROOT_START;     
  iter := 0;

  while (abs(root * root * root - num) >= ERR)
    and (iter < ITER_MAX) do begin
      root := (num / (root * root) + root) / 2;
      iter := iter + 1;
  end;
 
  if negative then
      cube_root := -root
  else
      cube_root := root;
end; 

begin
  write('zadaj cislo: ');
  readln(c);
  writeln('tretia odmocnina: ', cube_root(c):6:3);
end.

ERR je presnosť, ITER_MAX je maximálny počet iterácií pre vylúčenie nekonečného cyklu, ktorý by vznikol, ak by sa nenašlo dostatočne presné číslo.


Offline

Užívateľ
Užívateľ
pascal-odmocnina

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6 | 6
NapísalOffline : 14.10.2007 11:44 | pascal-odmocnina

pocuvajte mali ste vy niekedy matiku sak hadam cez exponencialnu a logaritmicku funkciu.
(^mocnina) priklad
2^3 = 8 (/log zlogarimovanie)
log 2^3 = log 8 (upravenie mocniny)
3 * log 2 = log 8 (/exp logaritmicka funkcia je inverzna k exponencialnej tak sa rusia)
exp(3 * log 2) = 8 (log pri 2 sa zrusi az po vynasobeni cisla 3)

a odmocnina sa pise v zlomkovom tvare mocninoveho zakladu.
Kód:
var cislo,odmocnina,vysledok:real;
begin
vysledok:=exp((1/odmocnina)*ln(cislo));
writeln(vysledok);
end.


_________________
getch();?{readkey;?} na konci? !A naco! Riesenie je (Alt+F5)
99% pochopí a shaggy je druhá kategória
 [ Príspevkov: 7 ] 


pascal-odmocnina




© 2005 - 2024 PCforum, edited by JanoF