Avatar billede dj.iceman Nybegynder
30. oktober 2003 - 11:07 Der er 3 kommentarer og
2 løsninger

lidt hjælp med andengradsligning

Nogle der kan modaniserer dette lille script lidt så det ser lidt flottere ud.

<HTML>

<BODY>

<P><B><FONT SIZE=6 color="#FF0000">ANDENGRADSLIGNING</FONT></B></P>
<BR>
<BR>
<BR>

<FORM NAME="Anden">
<P><B><FONT SIZE=5>Indtast A, B og C</FONT></B></P>
<TABLE width="174">

<TR>
<TD width="86"><P><B><FONT SIZE=4>A=</FONT></B></P></TD><TD width="74"><INPUT TYPE="TEXT" NAME="a" VALUE="" SIZE=6></TD>
</TR>

<TR>
<TD width="86"><P><B><FONT SIZE=4>B=</TD><TD width="74"><INPUT TYPE="TEXT" NAME="b" VALUE="" SIZE=6></TD>
</TR>

<TR>
<TD width="86"><P><B><FONT SIZE=4>C=</FONT></B></P></TD><TD width="74"><INPUT TYPE="TEXT" NAME="c" VALUE="" SIZE=6></TD>
</TR>

<TR HEIGHT=70>
<TD width="86"><INPUT TYPE="BUTTON" NAME="resultat2"  VALUE="BEREGN" onClick="beregn()">
  <p>&nbsp;</p>
  <p><b><font face="Albertus Extra Bold" size="4">Resultatet:</font></b></p>
</TD>
<TR>
<TD width="86">X1= <INPUT TYPE="TEXT" NAME="x1" VALUE="" SIZE=10></TD>
<TR>

<TD width="86">X2= <INPUT TYPE="TEXT" NAME="x2" VALUE="" SIZE=10></TD>

<SCRIPT LANGUAGE="javascript">

var a
var b
var c
var d

function beregn(a,b,c) {
  a=eval(document.Anden.a.value)
  b=eval(document.Anden.b.value)
  c=eval(document.Anden.c.value)
  d=(b*b-4*a*c)

if (d>0) {
  document.Anden.x1.value=rundAf((-b+Math.sqrt(d))/(2*a), 4)
  document.Anden.x2.value=rundAf((-b-Math.sqrt(d))/(2*a), 4) }
else {
if (d==0) {
  document.Anden.x1.value=rundAf((-b)/(2*a), 4)
  document.Anden.x2.value="Kun een rod" }
else {document.Anden.x1.value="Ingen løsning"
      document.Anden.x2.value="Ingen løsning"}
}
}

function rundAf(x, antal) {
// Returnerer en streng  indeholdende x afrundet til  antal
// decimaler,  antal skal være mindst 1

var gang = 1
for (var i=1; i<=antal;i++) { gang = gang*10 }

var z = Math.round(Math.abs(x)*gang)
var r = z%gang
var n = Math.round((z-r)/gang)

s1 = n.toString()
if (x<0) s1="-"+s1

s2 = r.toString()

var j=s2.length

while (j<antal) {
s2="0"+s2
j=j+1
}
return (s1+"."+s2)

} // rundAf

</SCRIPT>

</table>

</BODY>

Det skal være java.
Avatar billede roenving Novice
30. oktober 2003 - 11:31 #1
Hvorfor stiller du så spørgsmålet i javascript-kategorien ?-)
Avatar billede ras2000 Nybegynder
30. oktober 2003 - 11:41 #2
Kan du ikke fortælle lidt om hvad du vil have ændret? Er det layout, kode, eller noget tredie?
Avatar billede roenving Novice
30. oktober 2003 - 12:23 #3
Lidt rettet i både det ene og det andet:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
    "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<style type="text/css">
.ind{
font-family:Verdana, Arial, sans-serif;
}
.green{
color:green;
font-weight:600;
}
.red{
color:red;
font-weight:600;
}
</style>
<script language="javascript">
var a, b, c, d, x1, x2;
function beregn(f) {
    a=f.a.value;
    b=f.b.value;
    c=f.c.value;
    d=(b*b-4*a*c);
    x1 = document.getElementById('x1');
    x2 = document.getElementById('x2');
if (d>0) {
    x1.innerHTML=rundAf((-b+Math.sqrt(d))/(2*a), 4);
    x2.innerHTML=rundAf((-b-Math.sqrt(d))/(2*a), 4);
}else {
if (d==0) {
    x1.innerHTML=rundAf((-b)/(2*a), 4);
    x2.innerHTML="Kun een rod";
}else {
    x1.innerHTML="Ingen løsning";
    x2.innerHTML="Ingen løsning"}
}
}

function rundAf(x, antal) {
x = "" + x;
if(x.indexOf(".")>-1){
    x += "000";
    return x.substring(0, x.indexOf(".")+5)
}else return x + ".0000";
}
</script>
</head>
<body class="ind">

<form name="Anden">

<table width="174">
<tr><td align="center">
<h3>ANDENGRADSLIGNING</h3></td></tr>
<tr><td align="center">
<h5>Ax&sup2; + Bx + C</h5></td></tr>

<tr><td align="center">
<h4>Indtast A, B og C</h4></td></tr>

<tr>
<td align="center">A=&nbsp;<input class="green" type="TEXT" name="a" value="" size=6></td>
</tr>

<tr>
<td align="center">B=&nbsp;<input class="green" type="TEXT" name="b" value="" size=6></td>
</tr>

<tr>
<td align="center">C=&nbsp;<input class="green" type="TEXT" name="c" value="" size=6></td>
</tr>

<tr height=70>
<td align="center"><input type="BUTTON" name="resultat2" value="Beregn" style="background:#96B8A7;border:1px solid inset;font-weight:700;" onclick="beregn(this.form)"></td></tr>
<tr><td align="center"><h4>Resultatet:</h4></td></tr>
<tr>
<td align="center">X1=&nbsp;<span class="red" id="x1"></span></td></tr>
<tr>

<td align="center">X2=&nbsp;<span class="red" id="x2"></span></td></tr>

</table>

</body>
</html>

Der er dog nok en hel del ting som kunne gøres på andre måder, også hvis jeg selv startede forfra ...

Selve beregningen kan dog nok ikke gøres smartere, så jeg har gjort det lettere/smartere, hvor jeg syntes det skulle gøres '-)

PS. Min bemærkning om kategorien er dybt relevant, for java og javascript har for alvor ca. 4 ting til fælles: j - a - v - a !-)
Avatar billede dj.iceman Nybegynder
08. november 2003 - 17:29 #4
Det var en af mine kammerater der oprettede dette spørgsmål :(
Avatar billede roenving Novice
10. november 2003 - 01:23 #5
-- jamen tak for points da ;~}
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester