Frage zu Zusicherungen:

soundwaveONE

Mitglied
Hey zusammen!

ich befasse mich gerade mit java für mein Studium und stolpere grad über Zusicherungen. vllt könnt ihr mir da weiter helfen: Ich soll sagen an welchen programmstellen welche Zusicherungen gelten, und dass ganze am ende zusammenfassen zu einer Zeile:

[Java]
if ((a==true)&&(b==true)) //Zusicherung1;
c=true;
else //Zusicherung2:
c= false;

if((a==true)||(c==true)) //Zusicherung3:
erg=true;
else //Zusicherung4:
erg=false;


[/Java]

Mein Verdacht ist folgender:
1. Klar; a==true && b==true
2. Klar; a==false || b==false
3. a==true || c==true
4. a==false && c==false

Das wär meine Einschätzung.

Zusammengefasst in einer Zeile wäre somit mein erg:... und da hakt es.
Vielleicht hat jemand von euch eine Idee und kann mir sagen ob meine Zusicherungen überhaupt stimmen und/oder wie ich erg zusammenfassen kann als äquivalenten Ausdruck.

Ich danke euch vielmals für eure Mühen!
 
N

nillehammer

Gast
Deine Interpretation der Zusicherungen stimmt. Und was die Zusammenfassung auf eine Zeile angeht, denk mal genau über die möglichen Ergebnisse der ganzen Gleichheitsprüfungen nach. Wann kann c überhaupt true sein? Falls Du nicht gleich drauf kommst, mal Dir eine Entscheidungstabelle.
 
Zuletzt bearbeitet von einem Moderator:

soundwaveONE

Mitglied
Ah ok vielen Dank! Ich habe mittlerweile eine etwas alternierende version für Zusicherung 3 und 4:

3: a== true || c==true -> ja auch: a==true || a==true&&b==true
4:a==false && a==false || b == false

Wäre das auch richtig?

mein Ergebnis is somit:

erg= a==true || c==true?

Bitte hilf mir da nochmal auf die Sprünge!
Warum meinst du "Wann kann c überhaupt true sein?"?
Denn ich soll ja zusammengefasst das erg angeben.
Aber vielen Dank schonmal für deine flotte Antwort!
Ich hoffe du kannst mir nochmal helfen^^
 
Zuletzt bearbeitet:
N

nillehammer

Gast
Schauen wir uns die Bedingung auf Zeile 6 an. Diese ist (und damit auch das Ergebnis) true, wenn a==true ist. Das war einfach. Wir sind fertig. Nun stellen wir uns vor, a==false. Wir haben eine Oder-Verknüpfung müssen uns also anschauen, ob c==true sein könnte. Der Wert von c wird durch die Bedingung in Zeile 1 festgelegt. Nachdem wir in einem Zweig sind, in dem a==false ist, kann c dann überhaupt true sein, wenn a==false ist?
 

Ark

Top Contributor
Puh, keine Ahnung, ob ich das gerade richtig verstanden habe, aber ich spiele einfach mal einen optimierenden Compiler. ;)

Gegeben:
[Java]
if((a == true) && (b == true))
c = true;
else
c = false;

if((a == true) || (c == true))
erg = true;
else
erg = false;
[/Java]
Entferne Operationen mit neutralen Elementen:
[Java]
if(a && b)
c = true;
else
c = false;

if(a || c)
erg = true;
else
erg = false;
[/Java]
Wenn eine Bedingung bei einem if als erfüllt erkannt wird (die dort gemachte Aussage also wahr ist), kannst du (solange sich die Voraussetzungen nicht ändern!) bei der Wahr-Alternative jedes [c]true[/c] durch die Bedingung ersetzen (denn die ist ja in diesem Augenblick auch wahr). Genauso kannst du jedes [c]false[/c] in der Falsch-Alternative (else-Teil) durch die Bedingung ersetzen (weil ja diese auch Aussage falsch sein muss, sonst wären wir ja nicht im else-Teil).
[Java]
if(a && b)
c = a && b;
else
c = a && b;

if(a || c)
erg = a || c;
else
erg = a || c;
[/Java]
Jetzt können gemeinsame Präfixe und Suffixe der Alternativen zusammengefasst werden. Weitere äquivalente Umformungen sollten drankommen, wenn es um reguläre Sprachen geht:
[Java]
if(a && b) ;
else ;
c = a && b;

if(a || c) ;
else ;
erg = a || c;
[/Java]
Leere Anweisungen werden entfernt:
[Java]
c = a && b;
erg = a || c;
[/Java]
Einsetzen von c in davon abhängende Ausdrücke:
[Java]
c = a && b;
erg = a || a && b;
[/Java]
Ergebnis (nach Anwendung des Absorptionsgesetzes, siehe Boolesche Algebra ? Wikipedia):
[Java]
c = a && b; // !c == (!a || !b)
erg = a; // !erg == !a
[/Java]

Ark
 
Zuletzt bearbeitet:

soundwaveONE

Mitglied
hahaha^^

ne bin ich nich, hab alles verstanden! Danke euch:D

hö? Wo ist denn mein text hin?! Hab hier ellenlang getippt wie dankbar ich euch bin und es super verstanden hab und hab euch nen schönen Abend gewünscht, naja dann hol ich das hiermit nochmal nach:

Schönen Abend Jungs und vielen Dank für eure mühen! Ich hoffe ihr seid morgen wieder online denn ich hätte da evtl noch eine Frage:D

LG
 

soundwaveONE

Mitglied
ich hab mal noch eine version probiert und würd gerne hören ob die so ok ist:

Java:
if ((a>0)&&(b<0))     //1
     c=true;
else                        //2
    c=false


if((a==0)||c))           //3
         erg=true;
else                         //4
         erg=false;

so meine lsg:
1: a>0 und b<0
2: die negation a<=0 || b>=0
3: a==0 || c -> a==0 || a>0&&b<0
4: a!=0 && !c -> a!=0 && a<=0 || b>=0


so zusammengefasst ergibt so:

erg = a==0||c
-> erg = a==0||a>0&&b<0

kann man das so stehen lassen?
weitere alternativen meinerseits waren:

wenn a=0 sein muss oder in Verbindung mit b<0 größer null, reicht dann vielleicht auch
erg = a>=0??

ich hoffe ihr könnt mir nochmal helfen^^

lg
 
N

nillehammer

Gast
3: a==0 || c -> a==0 || a>0&&b<0
Das stimmt für c nicht. Richtig wäre: c -> a>0&&b<0 (Weiter unten hast Du es aber wieder richtig gemacht, also wohl nur C&P-Fehler).

erg = a==0||c
-> erg = a==0||a>0&&b<0
Das stimmt.

wenn a=0 sein muss oder in Verbindung mit b<0 größer null, reicht dann vielleicht auch
erg = a>=0??
Das reicht nicht. Im Gegensatz zu Deinen ersten Posts, hast Du hier eine neue Bedingung (a==0) eingeführt, die in der ersten Verzweigung nicht abgefragt wird.
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
C SOLID Single Responsibility Priciple Frage Softwareentwicklung 2
K Frage OOP Softwareentwicklung 8
dgtKotlin Frage zu Kotlin source code Softwareentwicklung 5
A Frage zu testdriven developement Softwareentwicklung 1
H Regex Frage Softwareentwicklung 2
D Frage Schichtenarchitektur Softwareentwicklung 3
T Frage bezüglich MVC Softwareentwicklung 1
Shams Frage wegen guava-Eventbus. Softwareentwicklung 0
B Frage zu Schnittstellen (lose Kopplung) Softwareentwicklung 5
H Frage zur Stanford NLP-API Softwareentwicklung 2
E Frage zu Dekorator-Pattern Softwareentwicklung 2
O Frage zu Regulärer Ausdruck Softwareentwicklung 3
H WEKA - Frage zu Methode in Evaluation Softwareentwicklung 2
D Frage zu String Algorithmen / String Metric Softwareentwicklung 7
Airwolf89 Theoretische Frage - In Java Java-Programme schreiben Softwareentwicklung 5
D Frage zur Objektorientierung mit Interfaces Softwareentwicklung 9
B Theoretische Informatik Frage zu Formalismus RegExp Softwareentwicklung 12
Wepster LGPL, MPL Frage Softwareentwicklung 3
D Frage zur Benutzeroberflächenprogrammierung Softwareentwicklung 8
D Frage zu Klassendiagramm und Konstruktor (UML) Softwareentwicklung 3
M [OOP] Frage zu Methode-Namen / Funktionsweise Softwareentwicklung 9
P Frage zu Processing Softwareentwicklung 9
S Regex Frage Softwareentwicklung 4
D Frage zu meiner Vorgehensweise in einem Projekt Softwareentwicklung 5
A Frage zu GPL Softwareentwicklung 3
K Frage zu UML Aktivitätsdiagramm Softwareentwicklung 3
J Frage zu Lizenzrechten Softwareentwicklung 5
B bash frage Softwareentwicklung 6
F allgemeine exe frage Softwareentwicklung 10
G Frage zur LGPL? Softwareentwicklung 5
0x7F800000 "Wozu ist denn CSS / CSS2 gut" Dumme Frage? Softwareentwicklung 9
G Frage zur UML Softwareentwicklung 2
B Ajax Frage Softwareentwicklung 2
J Frage zu Relation Softwareentwicklung 2
W Frage zu a)Innere Klassen und b)OO Design Softwareentwicklung 13
G MVC Frage Softwareentwicklung 4
P Frage zu Prolog! Softwareentwicklung 7
E Frage zu Excel und Filtern Softwareentwicklung 4
Y OpenGL/C Frage - externe Funktionen Softwareentwicklung 5
G C# Frage Softwareentwicklung 12
T SQL, Feld mehrmals abfragen, IN Frage Softwareentwicklung 3
C Grundsätzliche Frage zur OOP bzw. zum MVC Softwareentwicklung 5
RaoulDuke Frage zu Datenmodel / Zugriff Softwareentwicklung 5
J Frage zu C Softwareentwicklung 2
H Frage ueber Prototype Pattern? Softwareentwicklung 2
L Noch 'ne Perl-Frage. Kehre dann auch reumütig zu Java zurück Softwareentwicklung 10
S Design-Frage: Wie viele Fassaden? Softwareentwicklung 4
J Frage zu MVC, Swing, Gui Softwareentwicklung 3
L Frage zu Beziehungen zwischen Klassen und UML Softwareentwicklung 10
T Frage zu Mysql Softwareentwicklung 3
C Mysql-Frage(Problem mit nicht durchgeführten Zugriff) Softwareentwicklung 5

Ähnliche Java Themen

Neue Themen


Oben