Fakultät und Power Funktion in Taschenrechner (Javascript)
benjmue
- javascript
Moin Moin
Habe eine Hausaufgabe bekommen,indem ich einen Power on/off Operator(^) und einen Fakultätoperator (!) in Js einbinden soll. Bis jetzt sieht mein Taschenrechner wie folgt aus:
<html>
<head>
<Script language=Javascript>
function rechne()
{
if (formular1.op.value=="*") { erg=formular1.wert1.value*formular1.wert2.value;}
if (formular1.op.value=="+")
{erg=eval(formular1.wert1.value)+eval(formular1.wert2.value);}
if (formular1.op.value=="-") { erg=formular1.wert1.value-formular1.wert2.value;}
if (formular1.op.value=="/") { erg=formular1.wert1.value/formular1.wert2.value; }
formular1.ergebnis.value=erg;
}
</script>
</head>
<body>
<form name=formular1 method=POST>
<table border=1>
<Tr><Th>Zahl1</th>
<Td><input type=text Name="wert1"></td></tr>
<tr><th>Operator</th>
<td><input type=text Name="op"> </td></tr>
<Tr><th>Zahl2</th>
<td><input type=text name="wert2"></td></tr>
<Tr><Td colspan=2>
<input type=Button Onclick=rechne() Value="rechne!">
</td></tr>
<tr><th> Ergebnis</th>
<td><input Type=text Name="ergebnis"><Td></tr>
</table>
</form>
</body>
</html>
Leider habe ich keine Ahnung wie ich so etwas realisieren soll.... könntet Ihr Mir dabei behilflich sein?
Vielen Dank schon einmal
Liebe(r) benjmue,
Leider habe ich keine Ahnung wie ich so etwas realisieren soll.... könntet Ihr Mir dabei behilflich sein?
https://wiki.selfhtml.org/wiki/JavaScript/Tutorials/Taschenrechner
Liebe Grüße
Felix Riesterer
Servus!
Moin Moin
Habe eine Hausaufgabe bekommen,indem ich einen Power on/off Operator(^) und einen Fakultätoperator (!) in Js einbinden soll.
Ich schau immer in die Wikipedia und gehe dann links unten auf die englischsprachige Version: Factorial
Unter diesem Suchbegriffen "Factorial" und "JavaScript" fand ich:
Felix hat Dir ja schon unseren Taschenrechner gezeigt. Den könntest du erweitern.
Herzliche Grüße
Matthias Scharwies
@@benjmue
Habe eine Hausaufgabe bekommen,indem ich einen Power on/off Operator(^) und einen Fakultätoperator (!) in Js einbinden soll.
Und ich hab jetzt überlegt, wie man einen Power-on/off-Button implementieren würde … (alle Eingabefelder und Buttons im Formular auf disabled
setzen)
Aber du meintest wohl einen Potenz-Operator (englisch power operator)‽ Nichts mit on/off.
Bis jetzt sieht mein Taschenrechner wie folgt aus:
<Script language=Javascript>
Hat dein Taschenrechner schon LED-Anzeige oder noch Röhren? LCD bestimmt nicht.
language=Javascript
ist uralt, war aber noch nie sinnvoll. Weg damit!
<table border=1>
Tabellenlayout. Früher hat das noch gemüffelt. Heute stinkt es schon.
LLAP 🖖
Hallo Gunnar,
Tabellenlayout. Früher hat das noch gemüffelt. Heute stinkt es schon.
ich bin gerührt, dass dieser Spruch, den ich vor über zehn Jahren abgesondert habe, heute immer noch nicht vergessen ist. :-)
Ciao,
Martin
Hallo,
auf deine Frage hast du ja schon Antworten bekommen, daher hier nur noch ein Rat von mir:
Wenn dieser Ausflug in die HTML-CSS-Javascript-Welt eine einmalige Sache ist, musst du nicht weiterlesen.
Wenn du dich aber noch mehr mit der Materie beschäftigen willst, sei es als Hobby oder auch beruflich, vergiss, was du da "gebastelt" hast. Der Quelltext sieht aus, als wäre er vor deiner Geburt entstanden. Beschäftige dich mit den Grundlagen von HTML & Co. Unser Wiki bietet da einiges als Start- und weiterführende Hilfe.
Gruß
Jürgen
Moin,
haha hast schon recht
Leider wird in der Berufsschule nichts Erklärt, also verstehe ich nur Bahnhof und muss mir das irgendwie Abends selber beibringen.
Eins weiße ich aber, und zwar bin ich froh dass ich den Systemintegrator gewählt habe anstatt den Anwendungsentwickler :)
Hallo,
… Berufsschule …
da musst du durch. Hoffentlich wird dir im Betrieb beigebracht, was du als FiSi brauchst.
Gruß
Jürgen
Hallo JürgenB,
Hoffentlich wird dir im Betrieb beigebracht, was du als FiSi brauchst.
Webseitenprogrammierung jedenfalls nicht, wenn man sich die diversen Beschreibungen dieses Berufsbildes durchliest.
Andererseits braucht es in der Informatik immer „Naturwissenschaftliches, abstraktes, lösungsorientiertes Denken“, und das zeigt sich beim Programmieren recht deutlich. Wer damit nicht klar kommt, bringt diese Denke nicht zustande. Solche Menschen haben dann andere Talente. Nur...
Leider wird in der Berufsschule nichts erklärt, also verstehe ich nur Bahnhof
Das macht es dann absurd. Wenn ich jemandem Fertigkeiten vermitteln soll, kann ich sie nicht voraussetzen. Es sei denn, die Erklärungen waren da, aber nicht für alle in der Klasse hinreichend - das kann man von außen nicht beurteilen. Wenn man deinen Lehrer fragt, wird man vermutlich ganz andere Aussagen bekommen.
Rolf
Hallo,
Hoffentlich wird dir im Betrieb beigebracht, was du als FiSi brauchst.
was zum gütigen Geier ist ein FiSi?
Ciao,
Martin
Hallo Der Martin,
was zum gütigen Geier ist ein FiSi?
Fachinformatiker für Systemintegration.
Bis demnächst
Matthias
@@benjmue
Für *
hast du die Zeile:
if (formular1.op.value=="*") { erg=formular1.wert1.value*formular1.wert2.value;}
Für -
hast du die Zeile:[1]
if (formular1.op.value=="-") { erg=formular1.wert1.value-formular1.wert2.value;}
Für /
hast du die Zeile:
if (formular1.op.value=="/") { erg=formular1.wert1.value/formular1.wert2.value; }
Und jetzt fragst du ernsthaft, wie der Code für ^
aussehen müsste? Ernsthaft?
Mir scheint, du bist zu faul, deine Hausaufgaben selbst zu machen.
LLAP 🖖
Die Zeile für +
, wo eval()
verwendet wird anstatt die Strings vernünftig in Zahlen umzuwandeln, überspringen wir mal. ↩︎
die Frage von mir ist nicht wie ich einen Operator ^ realisieren kann sondern wie ich eine Fakultät mir diesen Operator in Verbindung bringen kann
Hallo,
die Frage von mir ist nicht wie ich einen Operator ^ realisieren kann sondern wie ich eine Fakultät mir diesen Operator in Verbindung bringen kann
mir ist immer noch nicht ganz klar, wo dein Verständnisproblem liegt.
Erstens: Das übliche Symbol für den Fakultäts-Operator ist das Ausrufezeichen.
Zweitens: Es ist ein unärer Operator, hat also nur einen Operanden. Das ist ein wesentlicher Unterschied zu den Operationen, die du bisher realisiert hast - das sind alles binäre Operatoren, sie arbeiten mit zwei Operanden.
Drittens: Die Berechnung der Fakultät kannst du nicht als einfachen Ausdruck hinschreiben wie die bisherigen Fälle; du brauchst dazu eine Schleife (Iteration) oder eine Rekursion.
So long,
Martin
@@benjmue
die Frage von mir ist nicht wie ich einen Operator ^ realisieren kann sondern wie ich eine Fakultät mir diesen Operator in Verbindung bringen kann
Gar nicht. Potenz und Fakultät haben keine Verbindung.
LLAP 🖖
Hallo,
Gar nicht.
Korinthenkacker! ;)
Das Problem ist die Übertragbarkeit, die nicht gegeben ist. JS versteht die Operatoren "!" und "^" eher logisch als mathematisch. Daher muss benjmue mit Funktionen statt nur mit Operatoren hantieren.
Gruß
Kalk
Hallo,
Und jetzt fragst du ernsthaft, wie der Code für
^
aussehen müsste? Ernsthaft?
Ernsthaft? Hast du dir angeschaut, was JS unter "!" und "^" versteht?
Gruß
Kalk
@@Tabellenkalk
Und jetzt fragst du ernsthaft, wie der Code für
^
aussehen müsste? Ernsthaft?Ernsthaft? Hast du dir angeschaut, was JS unter "!" und "^" versteht?
Irgendwann schon mal. 😉
2^10 (2¹⁰) ist in JavaScript natürlich nicht 2^10
(das ist ein Bitoperator), sondern Math.pow(2, 10)
.
Sag das doch gleich!
LLAP 🖖
Hallo,
Sag das doch gleich!
Das doch gleich.
Gruß
Kalk
2^10 (2¹⁰) ist in JavaScript natürlich nicht
2^10
(das ist ein Bitoperator), sondernMath.pow(2, 10)
.
2 ** 10
Hallo,
2 ** 10
in ECMAScript 2016 eingführt, aber wie üblich nicht im IE angekommen.
Gruß
Jürgen
Hallo kai345,
gibt es seit ECMAScript 2016. D.h. in allen heute noch verwendeten Browsern außer IE11 und vermutlich ein paar Android-Schätzchen.
Ob der Lehrer davon weiß, ist also nicht sicher...
Rolf