![]() |
Bedingungen mit Boolean und Listbox ausgeben
Heyho,
Hab erst seit ein paar Monaten Informatik, nun haben wir eine Aufgabe bekommen, bei der wir mithilfe von Boolean Variablen arbeiten sollen. In der Aufgabe ging es um die Einladung von 3 Personen, bei denen alle 3 Bedingungen erfüllt sein müssen. Mit einer Listbox sollen wir alle 8 Ergebnisse in 3 Spalten ( Bsp.: true false false ) etc. ausgeben. Leider habe ich keinen Plan wie man das so ausgeben kann. Für die Meisten hier sicherlich ein Kinderspiel. Hoffe ihr könnt mir schnell helfen, das Projekt wird eventuell am Donnerstag schon eingesammelt und benotet ... Hier der Quelltextausschnitt (weiß nich ob auch da schon alles korrekt ist ...) : procedure TForm1.B_StartClick(Sender: TObject); var A, B, C, BB : boolean; begin A := false; B := false; C := false; FOR A := false TO true DO FOR B := false TO true DO FOR C := false TO true DO begin BB := (A AND C) OR (NOT A AND NOT C) AND (B OR C) OR (B AND C) AND (A OR B) OR (NOT A AND NOT B); end; end; end. |
AW: Bedingungen mit Boolean und Listbox ausgeben
Habt ihr denn nicht in der Schule gelernt, was eine Boolean-Variable ist? Offenbar nicht, denn sonst würdest du nicht versuchen, damit eine Schleife zu basteln.
Was soll denn da passieren, wenn du auf den Button klickst? Von welchen drei Bedingungen schreibst du da? |
AW: Bedingungen mit Boolean und Listbox ausgeben
Die Bedingungen sind wohl einfach irgendwelche ja/nein-Kriterien die erfüllt sein müssen, damit die Person auch eingeladen wird. Also beispielsweise:
Richtig? Ich verstehe ein paar Punkte daran nicht:
PS: Gewöhn dir an, Variablen NICHT
Delphi-Quellcode:
zu nennen sondern
A,B,C
Delphi-Quellcode:
oder ähnlich. Das macht es für alle einfacher. Auch dich 8-)
istAttraktiv
Kein Mensch kann sehen, was
Delphi-Quellcode:
bedeutet. Und du auch nicht, wenn du zwei Stunden später nochmal draufschaust.
(A AND C) OR (NOT A AND NOT C)
|
AW: Bedingungen mit Boolean und Listbox ausgeben
Im Grunde haben wir nicht besonders viel erklährt bekommen, haben ur die 3 FOR Schleifen angeschrieben bekommen:
" FOR A := false TO true DO FOR B := false TO true DO FOR C := false TO true DO begin . . . Ausgabe der Kombi A,B,C END " Durch Klicken des Buttons sollen einfach alle 8 möglichen Kombinationen (wie oben im Beispiel) untereinander in der Listbox ausgegeben werden. Die Drei Bedingungen sind: 1. (A AND C) XOR (NOT A AND NOT C) 2. (B OR C) 3. (A XOR B) (Ich weiß, im Quelltext etwas komplizierter dargestellt) |
AW: Bedingungen mit Boolean und Listbox ausgeben
mit Spalten war einfach nur die Darstellung aller Ergebnisse der Bedingung nebeneinander, sodass bei mehrerern Zeilen optisch 3 Spalten entstehen.
Es soll nichts selber ausgewählt oder eingegeben werden, es sollen im Grunde nur die 2 möglichen Kombinationen ermittelt werden, was in dem fall in der listbox zu sehen sein soll. |
AW: Bedingungen mit Boolean und Listbox ausgeben
Was mir nicht klar ist: was soll denn nun in der Listbox ausgegeben werden, alle 8 möglichen Kombinationen oder nur diejenigen, bei denen die 3 Bedingungen zutreffen?
|
AW: Bedingungen mit Boolean und Listbox ausgeben
Alle acht.
|
AW: Bedingungen mit Boolean und Listbox ausgeben
Dann brauchst Du doch im Grunde nur noch eine Funktion, die Dir aus 3 Boolean-Variablen einen entsprechend aufbereiteten String bastelt. Den fügst Du dann der ListBox hinzu.
Delphi-Quellcode:
D.h., MultiBoolToStr nimmt 3 Booleans entgegen und macht daraus z.B. "True, False, False". Du musst sie nur noch schreiben ;)
procedure TForm1.Button1Click(Sender: TObject);
var a, b, c: Boolean; begin for a := false to true do for b := false to true do for c := false to true do ListBox1.Items.Add(MultiBoolToStr(a, b, c)); end; |
AW: Bedingungen mit Boolean und Listbox ausgeben
Zitat:
|
AW: Bedingungen mit Boolean und Listbox ausgeben
Liste der Anhänge anzeigen (Anzahl: 1)
Ja, technisch geht das, aber potthässlich ist es trotzdem. Lass den armen nur einmal statt
Delphi-Quellcode:
einmal
for variable := False to True
Delphi-Quellcode:
schreiben und sich dann wundern warum nichts mehr geht.
for variable := True to False
Zitat:
Er will sowas wie im Anhang in Listboxen packen. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:33 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