| Autor |
Beitrag |
hoehlenpain
      
Beiträge: 22
|
Verfasst: Fr 27.08.10 17:43
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
Zuletzt bearbeitet von hoehlenpain am Fr 27.08.10 17:50, insgesamt 4-mal bearbeitet
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: Fr 27.08.10 17:45
Hallo und  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:
| 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! 
_________________ We are, we were and will not be.
|
|
hoehlenpain 
      
Beiträge: 22
|
Verfasst: Fr 27.08.10 17:48
hoffe die überschrift passt jetzt 
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: 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.
Zuletzt bearbeitet von delfiphan am Fr 27.08.10 17:52, insgesamt 1-mal bearbeitet
|
|
Gausi
      
Beiträge: 8554
Erhaltene Danke: 480
Windows 7, Windows 10
D7 PE, Delphi XE3 Prof, Delphi 10.3 CE
|
Verfasst: 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);
|
_________________ We are, we were and will not be.
Für diesen Beitrag haben gedankt: hoehlenpain
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Für diesen Beitrag haben gedankt: hoehlenpain
|
|
delfiphan
      
Beiträge: 2684
Erhaltene Danke: 32
|
Verfasst: Fr 27.08.10 17:57
Für diesen Beitrag haben gedankt: hoehlenpain
|
|
hoehlenpain 
      
Beiträge: 22
|
Verfasst: 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 
      
Beiträge: 22
|
Verfasst: Sa 28.08.10 09:05
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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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 Seite als erstes Ergebnis. Da steht wie es geht, aber wohl eher für fortgeschrittene Anfänger (nichts für ungut).
lg elundril
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Für diesen Beitrag haben gedankt: hoehlenpain
|
|
hoehlenpain 
      
Beiträge: 22
|
Verfasst: Sa 28.08.10 10:24
ok  ausführen lässt es sich ^^
danke für den tipp mit der farbe 
|
|
hoehlenpain 
      
Beiträge: 22
|
Verfasst: 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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
|
|
hoehlenpain 
      
Beiträge: 22
|
Verfasst: Sa 28.08.10 15:56
 dank dir - aber IF hatten wir noch nicht ;D
|
|
der organist
      
Beiträge: 467
Erhaltene Danke: 17
WIN 7
NQC, Basic, Delphi 2010
|
Verfasst: 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
_________________ »Gedanken sind mächtiger als Waffen. Wir erlauben es unseren Bürgern nicht, Waffen zu führen - warum sollten wir es ihnen erlauben, selbständig zu denken?« Josef Stalin
Zuletzt bearbeitet von der organist am So 29.08.10 13:25, insgesamt 1-mal bearbeitet
|
|
Teekeks
      
Beiträge: 211
Erhaltene Danke: 23
|
Verfasst: 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
      

Beiträge: 217
Erhaltene Danke: 96
|
Verfasst: 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
      
Beiträge: 2242
Erhaltene Danke: 55
Win10
VS Code, Delphi 2010 Prof.
|
Verfasst: 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
lg,
_________________ Centaur spears can block many spells, but no one tries to block if they see that the spell is a certain shade of green. For this purpose it is useful to know some green stunning hexes. (HPMoR)
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: Sa 28.08.10 17:46
_________________ This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
Zuletzt bearbeitet von elundril am Sa 28.08.10 17:50, insgesamt 1-mal bearbeitet
Für diesen Beitrag haben gedankt: hoehlenpain
|
|
Teekeks
      
Beiträge: 211
Erhaltene Danke: 23
|
Verfasst: Sa 28.08.10 17:49
OOps, stimmt.
So genau hatte ich mir den von dir verlinkten Beitrag nicht angesehen -_-
Tschuldigung...
|
|