function ReadFormValue(myValue)
{
 var RV=0;
 RV = parseFloat(myValue);
 if (isNaN(RV) || RV<=0) { alert("Érvénytelen numerikus adat: "+myValue); return -1; }
 return RV;
}

function NewtonSQRT()
{
 var myNumber,myTolerance,myGuess;
 var myStr;

 myNumber = ReadFormValue(document.forms['frmSQRT'].mn.value);
 myTolerance = ReadFormValue(document.forms['frmSQRT'].mt.value);
 if (myNumber<=0 || myTolerance<=0) return;

 myGuess = myNumber/2;
 do {
  myGuess = (myGuess + myNumber/myGuess)/2;
 } while( (myGuess*myGuess - myNumber)*(myGuess*myGuess - myNumber) > myTolerance*myTolerance );

 myGuess = Math.round(myGuess/myTolerance)*myTolerance;
 myStr = myNumber + ' négyzetgyöke a Newton módszerrel: ' + myGuess;
 alert(myStr);
}

function NewtonCRT()
{
 var myNumber,myTolerance,myGuess;
 var myStr;

 myNumber = ReadFormValue(document.forms['frmSQRT'].mn.value);
 myTolerance = ReadFormValue(document.forms['frmSQRT'].mt.value);
 if (myNumber<=0 || myTolerance<=0) return;

 myGuess = myNumber/2;
 do {
  myGuess = (2*myGuess + myNumber/(myGuess*myGuess))/3;
 } while( (myGuess*myGuess*myGuess - myNumber)*(myGuess*myGuess*myGuess - myNumber) > myTolerance*myTolerance );

 myGuess = Math.round(myGuess/myTolerance)*myTolerance;
 myStr = myNumber + ' köbgyöke a Newton módszerrel: ' + myGuess;
 alert(myStr);
}

