Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ 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
Príspevok NapísalOffline : 13.10.2007 15:18

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
Bydlisko: 127.0.0.1 (...
Príspevok NapísalOffline : 13.10.2007 15:31

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
Príspevok NapísalOffline : 13.10.2007 15:48

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
Príspevok Napísal autor témyOffline : 13.10.2007 16:36

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
Príspevok Napísal autor témyOffline : 13.10.2007 17:01

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
Príspevok NapísalOffline : 13.10.2007 17:39

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
Príspevok NapísalOffline : 14.10.2007 11:44

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
Odpovedať na tému [ Príspevkov: 7 ] 


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra