PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Dividieren in JS?


Oblivion
2005-08-31, 12:12:46
Ich möchte rausfinden ob die eigegebene Zahl durch 2 dividierbar ist ... das ganze Programm soll alle Geraden Zahlen bis zu eingegebenen Zahl addieren:

hier der quelltext (is im Anfangstadium ;) ):

<html>
<head>
<title>Summe der geraden Zahlen</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script language="JavaScript">
<!--
function gzsu() {
if (document.gzs.zahl.value) /2;
}

//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
</form>
</body>
</html>


Die Fehlermeldung schaut so aus: Zeile 9, Zeichen 33 "/" erwartet

bitte um Hilfe

PatkIllA
2005-08-31, 12:32:38
if (document.gzs.zahl.value) /2;
was soll das denn machen? Das gibt syntaktisch gar keinen Sinn.

Senior Sanchez
2005-08-31, 12:32:39
Ich möchte rausfinden ob die eigegebene Zahl durch 2 dividierbar ist ... das ganze Programm soll alle Geraden Zahlen bis zu eingegebenen Zahl addieren:

hier der quelltext (is im Anfangstadium ;) ):

<html>
<head>
<title>Summe der geraden Zahlen</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script language="JavaScript">
<!--
function gzsu() {
if (document.gzs.zahl.value) /2;
}

//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
</form>
</body>
</html>


Die Fehlermeldung schaut so aus: Zeile 9, Zeichen 33 "/" erwartet

bitte um Hilfe


müsste es nicht eher so lauten?
if (document.gzs.zahl.value /2 == irgendetwas) {}

sprich das durch 2 noch in die Klammer und eine Abfrage, sodass ein bool'sches Ergebnis eintritt? Vllt gehts aber noch besser indem du mit dem modulo-Operator (Rest) rechnest: Ne Gerade Zahl modulo 2 ergibt immer 0 ;)
demzufolge könnte das vllt gehen
if (document.gzs.zahl.value % 2 == 0) {}


Sry, dass ich dir net soviel helfen kann. Kann kein Java Script, aber Java *g*

Gast
2005-08-31, 12:33:35
Check mal deine Klammersetzung. Du überprüfst ob [...].value == true.

Und dann teilst du nichts durch zwei. ;(

Oblivion
2005-08-31, 13:11:17
if (document.gzs.zahl.value) /2;
was soll das denn machen? Das gibt syntaktisch gar keinen Sinn.

Naja die eingegebene Zahl durch 2 dividieren - damit man mal weiß obst überhaupt eine gerade Zahl is

Oblivion
2005-08-31, 13:11:46
müsste es nicht eher so lauten?
if (document.gzs.zahl.value /2 == irgendetwas) {}

sprich das durch 2 noch in die Klammer und eine Abfrage, sodass ein bool'sches Ergebnis eintritt? Vllt gehts aber noch besser indem du mit dem modulo-Operator (Rest) rechnest: Ne Gerade Zahl modulo 2 ergibt immer 0 ;)
demzufolge könnte das vllt gehen
if (document.gzs.zahl.value % 2 == 0) {}


Sry, dass ich dir net soviel helfen kann. Kann kein Java Script, aber Java *g*

Na leider - funkt net :(

Oblivion
2005-08-31, 13:13:21
Check mal deine Klammersetzung. Du überprüfst ob [...].value == true.

Und dann teilst du nichts durch zwei. ;(

Versteh ich nicht :confused:

überhaupt müsst ihr mir das gaaaanz langsam beibringen ;)

MadMan2k
2005-08-31, 13:18:10
Na leider - funkt net :(
dann haste woanders noch nen Fehler drin...

Senior Sanchez
2005-08-31, 13:18:11
Versteh ich nicht :confused:

überhaupt müsst ihr mir das gaaaanz langsam beibringen ;)

Also, mal im Urschleim.
Eine If-Anweisung überprüft, ob ein bestimmter bool'scher Ausdruck wahr bzw. falsch ist. Demzufolge muss in der Klammer ein Ausdruck stehen, der eindeutig als wahr oder falsch enden kann.
einfach ne zahl in die Klammer zu schreiben geht bei manchen sprachen, aber es ist nicht wirklich eindeutig.
Du willst ja, das etwas ausgeführt wird, wenn ne gerade zahl vorliegt, ne?
Also muss der Ausdruck ergeben obs ne gerade Zahl ist oder nicht. Meine idee war mit Restdivision zu arbeiten, denn jede gerade Zahl modulo 2 ergibt immer Rest 0. (wenn de das jetzt nicht so nachvollziehen kannst, schau mal inner grundschule vorbei ;) da wurde immer mit rest gerechnet). Demzufolge könntest du einfach ne Restdivision durch 2 machen und gegen 0 prüfen. Das ergibt nen bool'schen Ausdruck, weil entweder ist der Rest 0 oder nicht.

Katano
2005-08-31, 13:36:54
Ich möchte rausfinden ob die eigegebene Zahl durch 2 dividierbar ist ... das ganze Programm soll alle Geraden Zahlen bis zu eingegebenen Zahl addieren:

hier der quelltext (is im Anfangstadium ;) ):

<html>
<head>
<title>Summe der geraden Zahlen</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script language="JavaScript">
<!--
function gzsu() {
if (document.gzs.zahl.value) /2;
}

//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
</form>
</body>
</html>


Die Fehlermeldung schaut so aus: Zeile 9, Zeichen 33 "/" erwartet

bitte um Hilfe


ein fehler ist schonmal
<input type="text" name="eingabe" size="10">
das ding heist eingabe
if (document.gzs.zahl.value) /2;
willst aber den wert aus zahl haben...


änder das also in
if(document.gzs.eingabe.value % 2 == 0)
und es sollte klappen ;)

Oblivion
2005-08-31, 13:46:43
JUHU - danke Leute das funktioniert mal

nächste Frage: wie sag ich ihm dass er jede Zahl die durch 2 Teilbar ist bis die Zahl n (die eigegebne) erreicht ist, addieren soll? :confused:

hier mein derzeitiger Quelltext:

<html>
<head>
<title>Summe der geraden Zahlen</title>
<meta name="author" content="Dieter">
<meta name="generator" content="Ulli Meybohms HTML EDITOR">
<script language="JavaScript">
<!--
function gzsu() {
if(document.gzs.eingabe.value % 2 == 0) alert ("Diese Zahl ist durch 2 Teilbar");
else alert ("Leider Nein");
}


//-->
</script>
<noscript></noscript>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
<input type="button" value="prüfen" onClick="gzsu()">
</form>
</body>
</html>

PatkIllA
2005-08-31, 13:49:50
var tmp;
for (var i = 2; i <= document.gzs.eingabe.value; i+=2)
{
tmp+=i;
}

Oblivion
2005-08-31, 14:08:04
var tmp;
for (var i = 2; i <= document.gzs.eingabe.value; i+=2)
{
tmp+=i;
}

Danke für die Mühe aber ich mein das anders:

Ein bsp.

man gibt die Zahl 12 ein dann soll 2 + 4 + 6 + 8 + 10 + 12 gerechnet werden

whatever
2005-08-31, 14:15:21
Danke für die Mühe aber ich mein das anders:

Ein bsp.

man gibt die Zahl 12 ein dann soll 2 + 4 + 6 + 8 + 10 + 12 gerechnet werden
ähm, genau das macht die schleife die du da gequotet hast... :rolleyes:

Oblivion
2005-08-31, 14:18:05
ähm, genau das macht die schleife die du da gequotet hast... :rolleyes:

Nein - da kommt mir für 12 als Ergebnis 14 raus

ich brauch aber 42 wenn du alles zamrechnest

Katano
2005-08-31, 14:22:30
Nein - da kommt mir für 12 als Ergebnis 14 raus

ich brauch aber 42 wenn du alles zamrechnest


dann probier ma
tmp = tmp + i


und denk dran das du tmp ausgibst und nicht i ;)

whatever
2005-08-31, 14:27:44
ich denke mal du solltest dich lieber mal mit ein paar grundlagen beschäftigen, anstatt das zeugs per copy&paste zu übernehmen, ohne zu wissen was da überhaupt gemacht wird...


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Summe der geraden Zahlen</title>
<script type="text/javascript">
<!--
function gzsu() {
if(document.gzs.eingabe.value % 2 == 0){
alert("Diese Zahl ist durch 2 Teilbar");
var tmp=0;
for (var i = 2; i <= document.gzs.eingabe.value; i+=2){
tmp+=i;
}
alert("Ergebnis der sinnlosen Rechnung: "+tmp);
}
else alert("Leider Nein");
}
//-->
</script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
<input type="button" value="prüfen" onClick="gzsu()">
</form>
</body>
</html>

Oblivion
2005-08-31, 16:59:46
ich denke mal du solltest dich lieber mal mit ein paar grundlagen beschäftigen, anstatt das zeugs per copy&paste zu übernehmen, ohne zu wissen was da überhaupt gemacht wird...


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Summe der geraden Zahlen</title>
<script type="text/javascript">
<!--
function gzsu() {
if(document.gzs.eingabe.value % 2 == 0){
alert("Diese Zahl ist durch 2 Teilbar");
var tmp=0;
for (var i = 2; i <= document.gzs.eingabe.value; i+=2){
tmp+=i;
}
alert("Ergebnis der sinnlosen Rechnung: "+tmp);
}
else alert("Leider Nein");
}
//-->
</script>
</head>
<body text="#000000" bgcolor="#FFFFFF" link="#FF0000" alink="#FF0000" vlink="#FF0000">
<form name="gzs">
<input type="text" name="eingabe" size="10">
<input type="button" value="prüfen" onClick="gzsu()">
</form>
</body>
</html>

Erst mal Herzlichen Dank - das funktioniert bestens ;D

zweitens: es is für meine Freundin, weil die das für die Schule braucht (is das einzig schwierige was die Programmieren müssen - frag mi net wieso - is so) ein bisschen kenn ich mich eh aus mit JS, aber halt net für solche Sachen ;)

Thx auf jeden Fall

mithrandir
2005-09-01, 09:53:08
ein bisschen kenn ich mich eh aus mit JS, aber halt net für solche Sachen ;)
Ähm ja, genau. Und der Weihnachtsmann trägt Strapse.

Oblivion
2005-09-01, 11:16:16
Ähm ja, genau. Und der Weihnachtsmann trägt Strapse.

Erstens mal ein sehr sinnvolles Posting, dass man IMO schon zu Spam zählen könnte .... zweitens: weiß ich von JS genau die mindesten Grundlagen, genauso wie von HTML, CSS und PHP - weils mich einfach nie wirklich interessiert hat (und diese Grundlagen hab ich vor 3 Jahren gelernt und nie wieder angewendet) also wo is dein Problem? Nur weil du dich vll Supertoll auskennst brauchst nicht auf anderen herumhacken die dass das 3te mal in ihrem Leben brauchen .....

mithrandir
2005-09-01, 13:28:08
Dere!

Ein if-Konstrukt korrekt anzuwenden ist ja wohl das mindeste, was man beherrschen sollte (egal in welcher Sprache), wenn man von sich behauptet, "zumindest die Grundlagen" zu kennen, oder?

bye, Peter

Gast
2005-09-01, 13:41:04
Erstens mal ein sehr sinnvolles Posting, dass man IMO schon zu Spam zählen könnte .... zweitens: weiß ich von JS genau die mindesten Grundlagen, genauso wie von HTML, CSS und PHP - weils mich einfach nie wirklich interessiert hat (und diese Grundlagen hab ich vor 3 Jahren gelernt und nie wieder angewendet) also wo is dein Problem? Nur weil du dich vll Supertoll auskennst brauchst nicht auf anderen herumhacken die dass das 3te mal in ihrem Leben brauchen .....
Das ist zwar jetzt nicht das, was du hören willst, aber das:

function gzsu() {
if (document.gzs.zahl.value) /2;
}
ist Syntaktisch in den allermeisten Programmiersprachen so ziemlich identisch und so wie du es machst schlichtweg falsch.

Das sind die Grundlagen.

Ja, der Beitrag war Spam (war er wirklich, mithrandir, sry), aber er hat Recht (hat er wirklich, Oblivion, sry). Sowas muß man sehen, wenn man von sich behaupten möchte, man könne "die Grundlagen".

So, und jetzt hört auf, euch zu streiten. ;( Das Problem worum es hier ging ist ja gelöst. ;)

Katano
2005-09-01, 14:19:36
/signed