Javscript (Übung-Hilfe)

serhat062

Grünschnabel
ICH BRAUCHE EURE HILFE BITTE, ICH KOMME NICHT MEHR WEITER BEI DEM PROGRAMM.

1) Es sollen so lange Niederschlagswerte eingelesen (vom Benutzer eingegeben) werden bis ein negativer Wert eingegeben wird. Dies ist ein Kennzeichen, dass die Zahelnreihe zu Ende ist.
Danach soll die Anzahl der eingegebenen Werte ( ohne dem letzten, negativen Wert) ausgegeben werden.

2) Gültig sind nur Werte zwischen 0 und +200. Falls ein falscher Wert eingegeben zu wiederholen und eine entsprechende Fehlermeldung auszugeben (z.B:. Zahl zu groß)

3)Zusätzlich soll der Mittelwert der eingegebenen Werte sowie der höchste und niedrigste Wert ausgegeben werden. Bei Der Berechnung des Mittelwerts sollen die Nullwerte (kein Regen an diesem Tag) nicht berücksichtigt werden.

KEIN ARRAY!!!

HINWEIS. Die Zahlenangaben geben Auskunft darüber, wieviele Millimeter Regen in einer bestimmten Region während eines Zeitraums niedergegangen sind.

BSP:

Eingegebene Zahlen: 20,60,330,40,-10

Bildschirmausgabe:
Es wurden 3 gültige Werte eingegeben.
Der Mittelwert beträgt 40 Millimeter.
Höchster Wert ist 60
Niedrigster Wert ist 20.

Das habe ich bis jetzt selber gemacht.
Javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>

<body>
    <script type="text/javascript">
    $count=0;
  
        for($i=1; $i>0; $i){
            $i=prompt("Zahl eingeben")*1
            if($i > 200){
                $i=prompt("Ungültige Zahl")
            }
        $count++;
        $letztes=$i;
      
        if($i>$letztes){
            $max=$i;
        }
        if($i<$letztes){
            $min=$i;
        }
  
        if($i>$letztes){
            $mitt=($max+$min)/2;
        }
    }
      
    document.write("Es wurden"+ $count + " gültige Werte eingegeben.<br /> der Mittelwertt beträgt "+$mitt+" Millimeter<br /> der höchster Wert beträgt "+$max+" Millimeter <br /> der niedrigste wert beträgt "+$min+" millimeter");
  
  
  
    </script>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Hallo serhat062

Ein paar Punkte:
1. Du machst hier offenbar ein bisschen ein Durcheinander zwischen php und javascript. Deine Art der Variablendeklaration mit $name ist das was man in php macht.

In Javascript wäre die Idee eher:
Javascript:
var foo = { };

2. Deine Mittelwertberechnung macht nicht so Sinn, konzeptionell besser:
while input >= 0
add input to total
increment numElements

mittelWert = total / numElements

Viele Grüsse
Cromon
 
Passt das so oder gibt es was zu ändern muss es so einfach es geht machen :)

Javascript:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
</head>
<body>
    <script type="text/javascript">
   
    $gesamt=0;
    $mwert=0;
    $i=0;
    $groesste=200;
    $kleinste=0;
   
    do {
    $ein = prompt("Wert eingeben bitte")*1;
   
        if ($ein>0 && $ein<=200){
            $i=$i+1;
            $gesamt=$gesamt+1;
            $mwert=$ein+$mwert
           
            if($ein>$kleinste) {
               $kleinste = $ein;
                }  
            if($ein<$groesste) {
                   $groesste=$ein;
             }
        }
        if ($ein>200){
            alert("Zahl zu groß");
        }
    } while ($ein>0)
   
    $mittelwert = $mwert/$i
   
    document.write("Es wurden " + $gesamt + " gültige Werte eingegeben. <br />");
    document.write("Der Mittelwert beträgt " + $mittelwert + " Millimeter. <br />");
    document.write("Der Maximalwert ist " + $kleinste + " Millimeter. <br />");
    document.write("Der Minimalwert ist " + $groesste + " Millimter. <br />");
   
   
   
    </script>
</body>
</html>
 
Zuletzt bearbeitet von einem Moderator:
Hallo serhat062

Du hast weder Punkt 1 noch Punkt 2 von mir berücksichtigt. Ohne diese werden wenige Leute deinen Code durchsehen.

Viele Grüsse
Cromon
 
Hallo serhat062

Dein Lehrer hat es vorgesehen, dass du hier im Forum keine Codetags verwendest? Das erscheint mir doch als eine relativ interessante Vorgabe!

Variablen in javascript alle mit $ als Präfix zu deklarieren und alle im globalsten Namespace unterzubringen ist mit Sicherheit auch nicht die Idee eines Lehrers. Ansonsten müsste man mal eine gewisse Evaluation vornehmen.

Viele Grüsse
Cromon
 
Hi serhat,

schau dir deinen Code oben noch einmal an, wie er jetzt angezeigt wird.
Das meint Cromon mit den Codetags (nicht Änderungen im Code selber)
 

Neue Beiträge

Zurück