matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenMatlabSchleife programmieren
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Matlab" - Schleife programmieren
Schleife programmieren < Matlab < Mathe-Software < Mathe < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Schleife programmieren: while-Schleife
Status: (Frage) beantwortet Status 
Datum: 02:16 Mo 06.08.2012
Autor: Ichlerndasnie

Aufgabe
Der Computer "merkt" sich eine Zufallszahl zwischen 1 und 100, die der
Spieler erraten soll. Der Spieler hat unendlich viele Versuche. Nach jedem falschen Versuch gibt der Computer an, ob die angegebene Zahl zu klein oder zu groß ist. Der Spieler hat gewonnen, wenn er die gesuchte Zahl errät.

Hallo, ich habe es mit einer while-Schleife versucht, aber da ist irgendwo ein Denkfehler drin.
Erster Ansatz:
Ergebnis = randi(100,1);
Antwort_VP = input('Bitte errate die Zahl zwischen 1 und 100:  ');

while Antwort_VP~=Ergebnis
if  (Antwort_VP>Ergebnis);
disp('Meine Zahl ist kleiner, versuch es noch einmal!');
elseif (Antwort_VP<Ergebnis);
disp('Meine Zahl ist größer, versuch es noch einmal!');
else;
disp('Hatt ja nicht mehr mit gerechnet, bist doch nicht so dusselig, wie Du aussiehst, das war richtig!');
end
Dann hängt Matlab sich nach der ersten Eingabe auf!

Zweiter Ansatz:
Ergebnis = randi(100,1);
Antwort_VP = input('Bitte errate die Zahl zwischen 1 und 100:  ');

while Antwort_VP~=Ergebnis
if  (Antwort_VP>Ergebnis);
disp('Meine Zahl ist kleiner, versuch es noch einmal!');
end
elseif (Antwort_VP<Ergebnis);
disp('Meine Zahl ist größer, versuch es noch einmal!');
end
else;
disp('Hatt ja nicht mehr mit gerechnet, bist doch nicht so dusselig, wie Du aussiehst, das war richtig!');
end
end
Dann habe ich eine Endlosschleife....WO LIEGT MEIN DENKFEHLER??

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

        
Bezug
Schleife programmieren: Antwort
Status: (Antwort) fertig Status 
Datum: 08:48 Mo 06.08.2012
Autor: Al-Chwarizmi


> Der Computer "merkt" sich eine Zufallszahl zwischen 1 und
> 100, die der
>  Spieler erraten soll. Der Spieler hat unendlich viele
> Versuche. Nach jedem falschen Versuch gibt der Computer an,
> ob die angegebene Zahl zu klein oder zu groß ist. Der
> Spieler hat gewonnen, wenn er die gesuchte Zahl errät.
>  Hallo, ich habe es mit einer while-Schleife versucht, aber
> da ist irgendwo ein Denkfehler drin.
> Erster Ansatz:
> Ergebnis = randi(100,1);
>  Antwort_VP = input('Bitte errate die Zahl zwischen 1 und
> 100:  ');
>  
> while Antwort_VP~=Ergebnis
>  if  (Antwort_VP>Ergebnis);
>  disp('Meine Zahl ist kleiner, versuch es noch einmal!');
>  elseif (Antwort_VP<Ergebnis);
>  disp('Meine Zahl ist größer, versuch es noch einmal!');
>  else;
>  disp('Hatt ja nicht mehr mit gerechnet, bist doch nicht so
> dusselig, wie Du aussiehst, das war richtig!');
>  end
>  Dann hängt Matlab sich nach der ersten Eingabe auf!
>  
> Zweiter Ansatz:
>  Ergebnis = randi(100,1);
>  Antwort_VP = input('Bitte errate die Zahl zwischen 1 und
> 100:  ');
>  
> while Antwort_VP~=Ergebnis
>  if  (Antwort_VP>Ergebnis);
>  disp('Meine Zahl ist kleiner, versuch es noch einmal!');
>  end
>  elseif (Antwort_VP<Ergebnis);
>  disp('Meine Zahl ist größer, versuch es noch einmal!');
>  end
>  else;
>  disp('Hatt ja nicht mehr mit gerechnet, bist doch nicht so
> dusselig, wie Du aussiehst, das war richtig!');
>  end
>  end
>  Dann habe ich eine Endlosschleife....WO LIEGT MEIN
> DENKFEHLER??


Hallo Ichlerndasnie  [haee]

( ... mittels MR vielleicht ja doch noch ...  ;-) )

            [willkommenmr]

Ohne mich in Matlab wirklich auszukennen:

stecken in deinem Programmtext nicht viel zu viele
Strichpunkte ??

(ein Strichpunkt unmittelbar nach einem "else" macht
z.B. wirklich keinen Sinn !)

LG   Al-Chwarizmi

Bezug
                
Bezug
Schleife programmieren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 10:59 Mo 06.08.2012
Autor: Ichlerndasnie

Hallo,
danke dass mir hier geholfen wird, hab ich schon festgestellt.... Habe inzwischen den Fehler selbst gefunden, Dein Tipp mit dem Zuviel an Strich-Punkten war dabei recht hilfreich. Hier meine richtge Lösung:

Ergebnis = randi(100,1);
Antwort_VP=input('Bitte errate die Zahl zwischen 1 und 100:  ');
     while Antwort_VP~=Ergebnis
Antwort_VP=input('Bitte errate die Zahl zwischen 1 und 100:  ');
if  (Antwort_VP>Ergebnis)
disp('Meine Zahl ist kleiner, versuch es noch einmal!');
elseif (Antwort_VP<Ergebnis)
disp('Meine Zahl ist größer, versuch es noch einmal!');
else
disp('Hatt ja nicht mehr mit gerechnet, bist doch nicht so dusselig, wie Du aussiehst, das war richtig!');
end
end

Trotzdem Danke!! ;-)


Bezug
        
Bezug
Schleife programmieren: Antwort
Status: (Antwort) fertig Status 
Datum: 10:59 Mo 06.08.2012
Autor: franzzink

Hallo,

die Zeile

Antwort_VP = input('Bitte errate die Zahl zwischen 1 und 100:  ')

gehört in die while-Schleife. Andernfalls macht man eine Eingabe und hat keine Chance mehr sie zu verändern. War die Eingabe dann falsch, läuft die Schleife endlos weiter, weil man ja keine Chance mehr hat, die Zahl zu verändern.


Und noch ein kleiner Hinweis:
Nach "if", "else" und "disp" muss man nicht unbedingt ein ";" setzen, weil dies keinen Effekt hat. Also spart man sich das in der Regel.

Bezug
                
Bezug
Schleife programmieren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:04 Mo 06.08.2012
Autor: Ichlerndasnie

Ist schon nett, dass ich meine LÖsung zur gleichen Zeit gepostet habe, wie Du. Danke für die Mühe :-)

Bezug
        
Bezug
Schleife programmieren: völlig OT
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:14 Mo 06.08.2012
Autor: angela.h.b.

Hallo,

programmieren kann ich gar nichts,
aber mal ein Hinweis völlig OT:

Dein Nickname ist nicht gut für Dich...
"Ichkannganzbestimmtalleslernen" wäre echt besser - und auch treffender, nicht wahr?

Viel Erfolg!
LG Angela



Bezug
                
Bezug
Schleife programmieren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:21 Mo 06.08.2012
Autor: Ichlerndasnie

Ist lediglich der Ausdruck von totalem Frust und von meiner Verweigerungshaltung in Sachen Programmieren. Würde mich damit nicht mehr beschäftigen, wenn ich nicht dieses Seminar an der Uni abschliessen wollte.

Bezug
                        
Bezug
Schleife programmieren: Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 11:28 Mo 06.08.2012
Autor: fred97

"Lernen und Genießen sind das Geheimnis eines erfüllten Lebens. Lernen ohne Genießen verhärmt, Genießen ohne Lernen verblödet."

Richard David Precht:  Wer bin ich – und wenn ja, wie viele? Eine philosophische Reise (Goldmannverlag)

Gruß FRED

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Matlab"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]