|
var i = 0;
var j = 0;
function Add0(zahlstr) {
/* sorgt für eine formatierte Ausgabe der Zahlenwerte */
var input = zahlstr;
var dot = false;
var pos = 0;
for (j = 0; j <= input.length; j++) {
if (input.charCodeAt(j) == 46) {dot = true; pos = j}
}
var st = "";
if (dot == true) {
var n0 = 11 - input.length + pos;
for (j = 1; j <= n0; j++) {st = st + "0"}
}
else {
input = input + ".";
for (j = 0; j <= input.length; j++) {
if (input.charCodeAt(j) ==
46) pos = j
}
st = "";
var n0 = 11 - input.length + pos;
for (j = 1; j <= n0; j++) {st = st + "0"}
}
return input + st;
}
function CheckInput(inp) {
/* findet fehlerhafte Eingaben */
var input = inp;
var key;
var value = "";
var noValue = false;
var isDot = false;
for (j = 0; j < input.length; j++) {
key = input.charCodeAt(j);
if ((key < 48)||(key > 57))
{
if ((key
== 44)||(key == 46)) {
value
= value + ".";
if
(!isDot) {isDot = true} else {noValue = true}
}
else
{noValue = true}
}
else {value = value +
String.fromCharCode(key)}
}
if ((noValue)||(value == ".")||(value == "0"))
{value = ""}
return value;
}
function Heron() {
/* berechnet näherungsweise die Quadratwurzel aus a */
var inp_k0 =
CheckInput(document.f_startwert.e_k0.value);
var inp_a =
CheckInput(document.f_startwert.e_a.value);
if ((inp_a == "")||(inp_k0 == "")) {
document.f_startwert.e_k0.value
= "";
document.f_startwert.e_a.value
= "";
}
else {
document.f_startwert.e_k0.value
= inp_k0;
document.f_startwert.e_a.value
= inp_a;
var kOld = 1*inp_k0;
var a = 1*inp_a;
var d = 1;
var h = 0;
var kNew = 0;
j = i;
while (j > 0) {
document.getElementById("Tabelle").deleteRow(j);
j--;
}
i = 0;
while ((d >
0.0000000001)&&(i < 20)) {
var row =
document.getElementById("Tabelle").insertRow(i+1);
h = a/kOld;
kNew = 0.5*(kOld
+ h);
d = Math.abs(kNew - kOld);
var td1 =
document.createElement("td");
td1.align = "right";
var td1Text = i;
var td1Node =
document.createTextNode(td1Text);
td1.appendChild(td1Node);
var td2 =
document.createElement("td");
td2.align = "right";
var pow = 10000000000;
var td2Text = Add0("" +
Math.round(kOld*pow)/pow);
var td2Node =
document.createTextNode(td2Text);
td2.appendChild(td2Node);
var td3 =
document.createElement("td");
td3.align = "right";
var td3Text = Add0("" +
Math.round(kOld*kOld*pow)/pow);
var td3Node =
document.createTextNode(td3Text);
td3.appendChild(td3Node);
row.appendChild(td1);
row.appendChild(td2);
row.appendChild(td3);
i += 1;
kOld = kNew;
}
}
}
|