![]() |
Ungerade Zahlen odd
Programmieren sie flogendes Programm in 2 Versionen,
zum einen mit repeat, zum anderen mit while. Es sollen in einem Delphi-Programm zufallszahlen zwischen 1 und 100 gebildet werden bis die Anzahl der geraden Zahlen einer von dem Benutzer eingegebenen Anzahl entspricht. Sowohl als auch die geraden und ungeraden sollen angezezeigt werden in unterschiedlichen Memofeldern. Die jeweilige ANzahl der Zahler wird unter die Liste angegeben} Das ist meine Aufgabe!!!
Delphi-Quellcode:
SO mein PRoblem ist!!! Was schreibe ich in die if Aiweisung, damit er, fals die Zahl eine ungerade zahl ist, in die erste Schleife reingeht!!!
procedure TForm1.Button1Click(Sender: TObject);
var zahl1, zufall, runde: real; function Odd(zahl1: Integer): Boolean; begin runde := 0 ; randomize ; try zahl1 := strtoint (edit1.Text); if then while zufall <> zahl1 do begin runde := runde +1; zufall := random (100) +1; memo1.Lines.add ( floattostr(runde)+'. Runde '+ floattostr(zufall)) end else while zufall <> zahl1 do begin runde := runde +1; zufall := random (100) +1; memo2.lines.add ( floattostr (runde)+'. Runde '+ floattostr(zufall)); end; except memo1.lines.add ('Die Zahl wurde nach der' +floattostr(runde)+ ' Runde erreicht'); memo2.lines.add ('die Zahl wurde nach der' +floattostr(runde)+ ' Runde erreicht'); end; end; |
Re: Ungerade Zahlen odd
du kannst mit sprungmarken arbeiten, suche mal nach label (nicht das tlabel)
|
Re: Ungerade Zahlen odd
Die Lösung steht doch schon in deinem Betreff
Delphi-Quellcode:
if Odd( zahl1) then
|
Re: Ungerade Zahlen odd
Ich versthe nicht genau was du meinst mit Sprungmarken... Und nach Label statt Tlabel zu suchen?? Was soll ich darunter verstehen?
Ich bin noch Anfänger |
Re: Ungerade Zahlen odd
Zitat:
|
Re: Ungerade Zahlen odd
Zitat:
|
Re: Ungerade Zahlen odd
Zitat:
Benutze den Operator mod (= Rest einer ganzzahligen Division). Zitat:
Viel Spaß weiterhin, Bug |
Re: Ungerade Zahlen odd
Gibt es nicht auch Even und Odd?
|
Re: Ungerade Zahlen odd
Auweia, da ist ja fast gar nichts richtig in deinem Beispiel.
Also die Funktion Odd() ist eine Pascal-Funktion, die du auf jeden Fall benützen solltest. (nicht selber deklarieren, sondern BENÜTZEN) Lies auf jeden Fall die Online Hilfe zu Odd(). Dann hast du hintereinander 2 while-Schleifen, obwohl du nur ein braucht. In der Schleife brauchst du eine Zufallszahl zwischen 1 und 100. Dann mit Odd() prüfem, ob gerade oder ungerade und ide geraden Zahlen hochzählen. Try und Except hat in deinem Programm bisher nichts verloren; also wech damit. |
Re: Ungerade Zahlen odd
ich glaub da stimmt noch mehr nicht.
ich erkenn nur eine Schleife in der Aufgabenstellung und nur die Anzeige in verschiedenen Memos außerdem ist "zufall" beim ersten Durchlauf von "while zufall <> zahl1 do" noch undefiniert. |
Re: Ungerade Zahlen odd
DU möchest, dass ich überprüfe ob die Zuifallszahl eine geradne oder ungerade ist. indem ich odd(zufall) in die Schleife einbaue.
Aber wie gebe ich die ungerade und die gerade Zahl in getrennten Memofelder aus? |
Re: Ungerade Zahlen odd
Zitat:
MfG, Bug |
Re: Ungerade Zahlen odd
|
Re: Ungerade Zahlen odd
[code}wenn odd(...) dann
Memo1 ansonsten Memo2[/code] |
Re: Ungerade Zahlen odd
Zitat:
|
Re: Ungerade Zahlen odd
Ein Tipp: mach erstmal eine Version des Programms (mit repeat-until)
Dann erzeugst du solange (repeat) eine neue Zufallszahl und schreibst diese in eines der Memos, je nachdem, ob die Zahl gerade oder ungrade (odd(<die Zufallszahl>) = true) ist (siehe #14). Das tust du, bis (until) die Anzahl der Zahlem im Memo für die graden Zahlen (MemoFuerGradeZahlen.lines.count) gleich der Benutzervorgabe ist. Das umschreiben in eine zweite Version mit der while-Schleife sollte dich danach eigentlich nicht mehr lange aufhalten. [OT] Zitat:
[/OT] MfG, Bug |
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:51 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz