Entwickler-Ecke
Sonstiges (Delphi) - Boolean Variablen Hilfe ;D
hoehlenpain - Fr 27.08.10 17:43
Titel: Boolean Variablen Hilfe ;D
hallöle, bin neu hier wie man sehen kann ;D
so nun zu meinem problem:
wir fangen gerade mit delphi 7 an zu programieren und haben nun folgende aufgabe bekommen:
"Stellen Sie die Tabelle zu den logischen Operatoren (not,and,or,xor) in einer Konsolenanwendung dar!
Dabei werden nur die Werte fpr a und b gesetzt, alle anderen Werte soll das Programm selbständig ausführen!
hier die vorgegebene tabelle ( soll so wohl dann aussehen ):
a not a b a and b a or b a xor b
true false true true true true false
false true true false false true true
false true false true true
false false false false false"
so.. nun meine frage (da der lehrer das ein wenig kompliziert erklärt hat und uns die aufgabe einfach hingeschmissen hatt): was genau will der? ^^ und wie könnte das in etwa aussehen in der konsolenanwendung? da ich das gerne so gut es geht selber hinbekommen möchte währen ein paar denkanstöße/erklärungen genug^^ (hoffe ich mal)
lg pain
Gausi - Fr 27.08.10 17:45
Hallo und :welcome: in der Entwickler-Ecke,
bitte ändere den Titel des Topics, da er wenig über das eigentlich Thema verrät. Hier der entsprechende Absatz aus den
Richtlinien [
http://www.entwickler-ecke.de/richtlinien.html]:
| 1.2 Beiträge: |
| Bitte formuliere den Betreff Deiner Beiträge so, dass andere Mitglieder anhand dieser bereits das eigentliche Thema festmachen können. Beiträge wie etwa "Eine Anfängerfrage" oder "Weiß jemand, wie das geht?" lassen den Leser im Unklaren darüber, was das Thema der Diskussion ist.[...] |
Einfach oben bei Deinem ersten Beitrag auf

oder

klicken und den Titel ändern. Danke Dir! :D
hoehlenpain - Fr 27.08.10 17:48
hoffe die überschrift passt jetzt :)
delfiphan - Fr 27.08.10 17:52
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7:
| begin Writeln('a not a b a and b a or b a xor b'); Writeln('true false true true true true false'); Writeln('false true true false false true true'); Writeln(' false true false true true'); Writeln(' false false false false false'); end. |
Die true und false Texte müsstest du dann wohl noch durch die entsprechenden Befehle austauschen.
Gausi - Fr 27.08.10 17:52
Ja, os ist das schon besser. Das "Hilfe" muss zwar nicht sein, weil hier fast alle Hilfe brauchen, aber das passt für den Anfang. ;-)
Wenn ich das richtig verstehe, dann soll da sowas passieren (in Pseudocode)
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| Eingabe(a); Eingabe(b);
if a then Ausgabe( a ist wahr) else Ausgabe( a ist falsch);
if (a and b) then Ausgabe(a AND b ist wahr) else Ausgabe(a AND b ist falsch);
|
elundril - Fr 27.08.10 17:53
naja vermutlich soll das dann in der konsole so aussehen:
Quelltext
1: 2: 3: 4: 5:
| geben sie einen boolschen wert für a ein (t: true, f: false): f geben sie einen boolschen wert fpr b ein (t: true, f: false): f
Boolsche tabelle: ..... |
demnach musst du mal 2 zeilen jeweils n zeichen einlesen und interpretieren: wenn t dann true wenn f dann false, bei ungültigem zeichen meldung.
und dann einfach auswerten und mit if dann wieder unterscheiden was ausgegeben werden soll.
lg elundril
delfiphan - Fr 27.08.10 17:57
hoehlenpain hat folgendes geschrieben : |
Stellen Sie die Tabelle zu den logischen Operatoren (not,and,or,xor) in einer Konsolenanwendung dar!
Dabei werden nur die Werte fpr a und b gesetzt, alle anderen Werte soll das Programm selbständig ausführen! |
Ich verstehe das eher so:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| a := true; b := true; Writeln(a xor b); Writeln(a and b); Writeln(a or b); Writeln(not a);
a := false; b := true; Writeln(a xor b); Writeln(a and b); Writeln(a or b); Writeln(not a); |
Das ganze in die Tabelle wie gezeigt.
hoehlenpain - Fr 27.08.10 18:03
das ist ja schonmal eine menge stoff in der kurzen menge O.ö
ich danke euch schonmal, und werde mit das nach dem abendessen zu gemüte führen :)
hoehlenpain - Sa 28.08.10 09:05
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31:
| program phausaufgabe3;
{$APPTYPE CONSOLE}
uses SysUtils;
var a, b: boolean; begin a := true; b := true; writeln('a','nota':12,'a':8,'b':10,'a and b':15,'a or b':10,'a xor b':10); writeln(a ,not a :10, a :10 ,b :10 ,a and b:10 ,a or b:10 , a xor b:10 ); a := false;b := false; writeln(a ,not a :8, a :12 ,b :10 ,a and b:10 ,a or b:10 , a xor b:9 ); a := false; b := true; writeln(a :25 ,b :9 ,a and b:11 ,a or b:9 , a xor b:9); a := false; b := false; writeln(a :25 ,b :10 ,a and b:10 ,a or b:10 , a xor b:9); readln;
end. |
so.. nach einer kurzen nacht , 2 kannen kaffee und zahllosen filmen habe ich das hier aus eureren denkanstößen zusammengebastelt :=) was haltet ihr davon? und noch eine frage^^:
wie kann man die schriftfarbe ändern? (hatten wir noch nicht drangenommen in der schule ;d)
(danke nochmal an eurere beiträge , die haben mir dabei sehr geholfen :) :) )
elundril - Sa 28.08.10 10:22
hoehlenpain hat folgendes geschrieben : |
| was haltet ihr davon? und noch eine frage^^: wie kann man die schriftfarbe ändern? (hatten wir noch nicht drangenommen in der schule ;d) |
Sieht gut aus, was ich so am Quelltext erkenne. Wenns sich compilieren lässt und ausführen lässt und deinen Vorstellungen entspricht (bzw den deines Lehrers), dann ist es vermutlich auch gut. ;)
Zu deiner Farben-Fragen: Das habt ihr in der Schule deswegen noch nicht gelernt weil es so einfach nicht geht. Wenn man nach "Delphi Konsole Farbe" googelt, bekommt man
diese [
http://www.delphipraxis.net/56245-konsole-farbe-haben.html] Seite als erstes Ergebnis. Da steht wie es geht, aber wohl eher für fortgeschrittene Anfänger (nichts für ungut). ;)
lg elundril
hoehlenpain - Sa 28.08.10 10:24
ok :) ausführen lässt es sich ^^
danke für den tipp mit der farbe :D
hoehlenpain - Sa 28.08.10 14:44
hab noch eine kleine frage:
was müsst ich ändern wen ich wöllte das der benutzer eingibt ob a - bzw. b den wert
true, oder false haben? (habs seid 2 std. probiert aber nicht hinbekommen >_<)
elundril - Sa 28.08.10 14:56
1) Zuerstmal musst du ausgeben das der benutzer was eingeben soll, also brauchst du writeln. zb writeln('Bitte einen wert für a eingeben (t = true, f = false):')
2) dann musst du das was der benutzer eingegeben hat einlesen also a_txt := UpperCase(readln());
3) du musst a_txt auswerten ob t, f oder was ganz anderes drin steht (If-Anweisung ;)). Dann dementsprechend reagieren (programm abbrechen oder in a dann true bzw false speichern).
4) schritt 1, 2 und 3 für b wiederholen. (statt a_txt bitte b_txt schreiben usw.
5) fertig ist die erweiterung.
lg elundril
hoehlenpain - Sa 28.08.10 15:56
:) dank dir - aber IF hatten wir noch nicht ;D
der organist - Sa 28.08.10 16:17
in dem Fall braucht man auch keine IF-anweisung:
Delphi-Quelltext
1: 2:
| BoolA:=('t'=ausgelesenerText); BoolB:=('t'=ausgelesenerText); |
kannste auch mit false machen und dann noch nen NOT davor, aber das wird dann doch alles aufwendiger.....
Gruss, Lukas
Teekeks - Sa 28.08.10 16:52
Nochmal zu der Textfarbe:
Binde mal bei uses crt ein. Da hast du dann die Procedure Textcolor(int);
Tankard - Sa 28.08.10 17:28
Teekeks hat folgendes geschrieben : |
Nochmal zu der Textfarbe:
Binde mal bei uses crt ein. Da hast du dann die Procedure Textcolor(int); |
die lib crt gibbet doch in delphi schon lange nicht mehr. benutze hier noch ab und zu delphi7 , da ist die leider auch schon nicht mehr dabei. unter lazarus ist sie allerdings noch vorhanden.
Hidden - Sa 28.08.10 17:40
Moin!
der organist hat folgendes geschrieben : |
in dem Fall braucht man auch keine IF-anweisung:
BoolA:=('t'=ausgelesenerText);
BoolB:=('t'=ausgelesenerText);
kannste auch mit false machen und dann noch nen NOT davor, aber das wird dann doch alles aufwendiger..... |
Dass man das auch direkt machen kann, kommt aber gefühlt etwas nach if. ;)
Wenn ihr if noch nicht hattet, weiß ich nicht, wie ihr diese Aufgabe lösen sollt :gruebel:
lg,
elundril - Sa 28.08.10 17:46
der organist hat folgendes geschrieben : |
in dem Fall braucht man auch keine IF-anweisung:
BoolA:=('t'=ausgelesenerText);
BoolB:=('t'=ausgelesenerText);
kannste auch mit false machen und dann noch nen NOT davor, aber das wird dann doch alles aufwendiger.....
Gruss, Lukas |
Dann kann man aber nicht abfangen ob vielleicht "Duff Beer" eingegeben wurde statt f. Du könntest auch Hamlet abschreiben und es würde zu false ausgewertet werden. Und Weltliteratur darf nicht zu false ausgewertet werden. :mrgreen:
Teekeks hat folgendes geschrieben : |
Nochmal zu der Textfarbe:
Binde mal bei uses crt ein. Da hast du dann die Procedure Textcolor(int); |
Hab ich dazu nicht schon was gepostet? :gruebel:
hoehlenpain hat folgendes geschrieben : |
| :) dank dir - aber IF hatten wir noch nicht ;D |
Dann solltest du dir ev. das hier zu Gemüte führen, falls du vorarbeiten willst ;)
Christian's Crashkurs [
http://www.christian-stelzmann.de/index_tutorials_crashkurs.html]
Delphi-Wikibook [
http://de.wikibooks.org/wiki/Programmierkurs:_Delphi]
lg elundril
Teekeks - Sa 28.08.10 17:49
OOps, stimmt.
So genau hatte ich mir den von dir verlinkten Beitrag nicht angesehen -_-
Tschuldigung...
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!