Ocena użytkownikóww: ***** / 7
Nadesłany przez Tomasz Lubiński, 25 września 2012 17:10
Kod przedstawiony poniżej przedstawia główną część rozwiązania problemu.
Pobierz pełne rozwiązanie.Jeżeli nie odpowiada Ci sposób formatowania kodu przez autora skorzystaj z pretty printer'a i dostosuj go automatycznie do siebie.
pierwiastkowanie.html:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<!--
Pierwiastek n-tego stopnia
(c) 2012 by Tomasz Lubinski
www.algorytm.org
-->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>Pierwiastek n-tego stopnia - JavaScript</title>
<style type="text/css">
.mat{font-family:Times New Roman;font-size:20px;white-space:nowrap;padding:20px;margin:0 auto;display:table}
.sqrta,.sqrtb,.result{display:inline-block;vertical-align:middle}
.sub,.sup{font-size:12px;padding:0 1px}
.sqrtb{border-top:1px solid;margin-top:2px}
</style>
</head>
<body>
<script type="text/javascript">
function pierwiastek(a, n)
{
//poczatkowe przyblizenie
var result = a;
var prev_result = result;
//x^n-1
var tmp = Math.pow(result, n-1);
do
{
//zapamietaj poprzednie przyblizenie
prev_result = result;
//oblicz nowe przyblizenie
result = 1/n*((n-1)*result + (a/tmp));
//x^n-1
tmp = Math.pow(result, n-1);
} while (Math.abs(prev_result - result) > 0.0) //powtarzaj dopoki zblizasz sie do rozwiazania
//pokaz wynik
document.getElementById("n").innerHTML = n;
document.getElementById("a").innerHTML = a;
document.getElementById("result").innerHTML = result;
return result;
}
</script>
<form name="params" action="" method="GET">
<table border="0" cellpadding="5" cellspacing="0">
<tr><td>Liczba pierwiastkowana (<i>a</i>)</td><td><input type="text" size="5" value="3" name="param_a"></td></tr>
<tr><td>Podstawa pierwiastka (<i>n</i>)</td><td><input type="text" size="5" value="2" name="param_n"></td></tr>
<tr><td colspan="2"><input type="button" value="Oblicz" onClick="pierwiastek(document.params.param_a.value, document.params.param_n.value);"></td></tr>
</table>
</form>
<div class="mat">
<sup id="n" class="sup" style="position: relative; right: -8px; top: -3px;">n</sup><div class="sqrta">√</div><div id="a" class="sqrtb">a</div> = <div class="result" id="result">wynik</div>
</div>
</body>
</html>