www.vorhilfe.de
- Förderverein -
Der Förderverein.

Gemeinnütziger Verein zur Finanzierung des Projekts Vorhilfe.de.
Hallo Gast!einloggen | registrieren ]
Startseite · Mitglieder · Impressum
Forenbaum
^ Forenbaum
Status VH e.V.
  Status Vereinsforum

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Suchen
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Softwaretechnik und Programmierung" - If - Else (Logik)
If - Else (Logik) < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

If - Else (Logik): Frage (überfällig)
Status: (Frage) überfällig Status 
Datum: 14:30 Mi 31.01.2007
Autor: DaniSan22

Hallo zusammen:

Schreib in einer Woche eine wichtige DV Klausur und wollt deshalb  fragen, ob ihr mir bei einigen Aufgaben weiterhelfen könnt. (Danke nochmal stovi0040)

4. If - Else (Logik

4.1 Schreiben Sie ein Prg., dass zwei Variablen a, b miteinander Und - Verknüpft (entsprechend der angegebenen Wahrheitstabelle) und das Erg. dieser Verknüpfung (E) auf den Monitor ausgibt.

E = a und b

      b                a               E (Ergebnis)
    False         False                 False
    False         True                  False
    True          False                 False
    True          True                  True

Zur Lösung des Programms darf nur die If - Else Anweisung sowie der logische Operetor NOT benutzt werden.
Die Methode read Boolean () ließt einen Boolschen-Wert (True oder False)
über die Tastatur ein.

public class WS 05
.
.
.
public static void main (String args [] )
boolean a, b,E : ;
a= read Boolean () ; // eingabe true oder false
b= read Boolean () ; // eingabe true oder false
// ab hier sind Sie gefordert
if  

        
Bezug
If - Else (Logik): Antwort
Status: (Antwort) fertig Status 
Datum: 14:57 Mi 31.01.2007
Autor: Bastiane

Hallo DaniSan22!

> 4. If - Else (Logik
>  
> 4.1 Schreiben Sie ein Prg., dass zwei Variablen a, b
> miteinander Und - Verknüpft (entsprechend der angegebenen
> Wahrheitstabelle) und das Erg. dieser Verknüpfung (E) auf
> den Monitor ausgibt.
>  
> E = a und b
>  
> b                a               E (Ergebnis)
>      False         False                 False
>      False         True                  False
>      True          False                 False
>      True          True                  True
>  
> Zur Lösung des Programms darf nur die If - Else Anweisung
> sowie der logische Operetor NOT benutzt werden.
>  Die Methode read Boolean () ließt einen Boolschen-Wert
> (True oder False)
>  über die Tastatur ein.
>  
> public class WS 05
>   .
>   .
>   .
>  public static void main (String args [] )
>  boolean a, b,E : ;
>  a= read Boolean () ; // eingabe true oder false
>  b= read Boolean () ; // eingabe true oder false
>  // ab hier sind Sie gefordert
>  if    

Ginge nicht einfach:
if(a==true) then
   if(b==true) then true
   else false
else false

? Wobei ich erstens jetzt die Syntax nicht kenne und zweitens mir nicht sicher bin, ob die beiden "else's" nötig sind, oder ob als default-Wert sonst sowieso false ausgegeben würde.

Viele Grüße
Bastiane
[cap]

Bezug
                
Bezug
If - Else (Logik): Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 16:36 Mi 31.01.2007
Autor: Frank05


> Ginge nicht einfach:
> if(a==true) then
>     if(b==true) then true
>     else false
>  else false
>  
> ? Wobei ich erstens jetzt die Syntax nicht kenne und
> zweitens mir nicht sicher bin, ob die beiden "else's" nötig
> sind, oder ob als default-Wert sonst sowieso false
> ausgegeben würde.

Es wundert mich, dass hier überhaupt eine Antwort kommt. Vielleicht ist meine Einstellung hier auch einfach nur zu extrem, aber mir stößt hier so einiges auf. Ohne den OP oder sonstwen hier angreifen zu wollen würde mich mal interessieren, wie das andere hier sehen. Hier sind ein paar der Punkte, die mir Kopfschmerzen bereiten wenn ich so eine Frage lese:

- Der OP postet maßenweise Aufgaben im Hausaufgabenstil, die alle mit einem einfachen Tutorial sehr leicht zu lösen sind. Ich erwarte eigentlich von jedem Erstsemester der eine Programmiervorlesung jetzt für etwa 3 Monate besucht hat, dass er/sie über derartige Aufgaben nur noch müde lächelt.

- Natürlich kann es sein, dass es Verständnisprobleme gibt. Dass dies aber bei nahezu allen elementaren Kontrollstrukturen der Fall ist halte ich für äußerst unwahrscheinlich. Nichtsdestotrotz erwarte ich dann eine genauere Beschreibung, was dem OP nun Probleme bereitet.

- In einer Woche Klausur und jetzt panikartig Fragen zu den Grundlagen posten? Das zeugt für mich in erster Linie von mangelndem Interesse.

- Aufgaben werden gestellt, ohne dass im Geringsten klar wird, ob/wie sich der OP mit diesen Aufgaben überhaupt auseinandergesetzt hat. Was soll eine Antwort hier überhaupt ergeben? Einem Kandidaten der diesen Stoff nicht begriffen hat fertige Lösungen zu präsentieren ist imo Zeitverschwendung. Damit besteht man keine Prüfungen. Aber ohne zu wissen, was die Probleme bereitet ist eine vernünftige (Vor-)Hilfe auch nicht möglich.

PS: Was die Syntax betrifft, so ist diese oBdA korrekt. Da der OP nicht einmal eine Programmiersprache angegeben hat definieren wir uns die Sprache eben so, dass deine Syntax stimmt.

Bezug
                        
Bezug
If - Else (Logik): Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 17:05 Mi 31.01.2007
Autor: DaniSan22

Du hast vollkommen Recht Frank.Dass, was ich hier gemacht hab, war nicht unsinnig.
Sorry nochmal.

Bezug
                        
Bezug
If - Else (Logik): Mitteilung
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 12:32 Do 01.02.2007
Autor: Karl_Pech

Hallo Frank,


> Vielleicht ist meine Einstellung hier auch einfach nur zu
> extrem


Hmm, nee wieso?


> - Der OP postet maßenweise Aufgaben im Hausaufgabenstil,
> die alle mit einem einfachen Tutorial sehr leicht zu lösen
> sind.


Ja, im Prinzip gebe ich dir da Recht, ein Bißchen mehr Eigeninitiative vom Fragesteller wäre schon nicht schlecht (Punkt 6 der Forenregeln)... . (Also nicht bloß Fragen der Art <Einleitungssatz><Aufgabe>, wobei <Einleitungssatz> ::= "Ich schreibe in n Wochen eine wichtige ...".)


> Es wundert mich, dass hier überhaupt eine Antwort kommt.


Das ist eigentlich ganz normal hier. :-) Die meisten Leute, die hier viel antworten, sind nämlich Sternchenjäger [happy] mußt du wissen.


> PS: Was die Syntax betrifft, so ist diese oBdA korrekt. Da
> der OP nicht einmal eine Programmiersprache angegeben hat
> definieren wir uns die Sprache eben so, dass deine Syntax
> stimmt.


hehe ... [lol] Das merke ich mir für meine zukünftigen Prüfungen. ;-)



Grüße
Karl




Bezug
        
Bezug
If - Else (Logik): Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 11:46 Do 01.02.2007
Autor: DaniSan22

Hallo nochmal ;-).....

Wäre dies eine mögliche Antwort.

if
System.out.println("a und b= " + E);
if (a)
    if (b)
        E = true;
   else
        E = false;
  else  {
        E = false;
           }
  System.out.println  ("a und b = " + E);


Bezug
                
Bezug
If - Else (Logik): Antwort
Status: (Antwort) fertig Status 
Datum: 11:52 Do 01.02.2007
Autor: Frank05


> Wäre dies eine mögliche Antwort.

So bringt das doch gleich viel mehr ;-)

> if
>   System.out.println("a und b= " + E);
>   if (a)
>      if (b)
>          E = true;
>     else
>          E = false;
>    else  {
>          E = false;
>             }
>    System.out.println  ("a und b = " + E);

Hier ist wohl was bei der Formatierung schiefgegangen. Das erste if mit dem println muss natürlich weg. Danach ist es soweit in Ordnung, falls du die Variable E noch ordentlich deklarierst.

Übrigens kannst du Ausdrücke in der Art
if (b) E = true; else E = false;
auch einfach als E = b; schreiben.

Bezug
                        
Bezug
If - Else (Logik): Frage (beantwortet)
Status: (Frage) beantwortet Status 
Datum: 17:50 Do 01.02.2007
Autor: DaniSan22

Hi Frank!

Danke für deine Hilfe.

Habs nochmal versucht.

boolean E;
boolean a = true;
boolean b = false;
1:
2: If (a)
3:    If(b) {
4:           E =true;
5:           System.out.print("a und b oder nicht-b=" +E+"\n\n");}
6: If(!a)
7:    If(!b) {
8:           E =true;
9:          System.out.print("a und b oder nicht-b="+E+"\n\n");}
10:
11:    Else = false;
12: System.out.print("a und b oder nicht-b="+E+"\n\n");}
13: }
14: }
15:




Bezug
                                
Bezug
If - Else (Logik): Antwort
Status: (Antwort) fertig Status 
Datum: 12:26 Fr 02.02.2007
Autor: Frank05


> Habs nochmal versucht.

Vorher sahs besser aus.
1:
2: boolean E;
3: boolean a = true;
4: boolean b = false;
5:
6:   If (a)
7:      If(b) {
8:             E =true;
9:             System.out.print("a und b oder nicht-b=" 
10:  +E+"\n\n");}

Wenn du E nur benutzt um es gleich danach wieder auszugeben kannst du dir die Variable auch sparen. Davon abgesehen was passiert wenn a==true und b==false? Dann gibt es hier gar keine Ausgabe!

1:
2:   If(!a)
3:      If(!b) {
4:             E =true;
5:            System.out.print("a und b oder 
6:  nicht-b="+E+"\n\n");}


Hier nochmal der gleiche Fehler für den Fall a==false und b==true.

1:
2:  Else = false;
3:   System.out.print("a und b oder nicht-b="+E+"\n\n");[red][b]}[/b][/red]
4:   [red][b]}[/b][/red]
5:   [red][b]}[/b][/red]


Hier sind viel zu viele falsche Klammern unterwegs. Versuch doch deine Programme auch mal zu kompilieren und zu testen. Die Zuweisung Else=false; funktioniert ebenfalls nicht, weil es keine Variable namens Else gibt in deinem Programm.


Zum größten Teil mögen das nun lediglich Flüchtigkeitsfehler sein, aber es erweckt wieder den Eindruck, dass du dich nur unzureichend mit der Materie auseinandersetzt. Ich lege dir dringend nahe dir eine Java-Umgebung zu installieren und ein paar kleine Programme dieser Art auch wirklich mal zum Laufen zu bringen um diese ganzen Kleinigkeiten in den Griff zu bekommen. Auf 'Papier' zu programmieren ist gerade am Anfang sehr schwer ohne die Unterstützung eines Compilers! Und gerade wenn du bald eine Klausur hast ist der Programm schreiben - überprüfen - neu schreiben Zyklus wesentlich schneller mit einem Compiler zu bewerkstelligen als hier über das Forum.

Wenn du dich dann über Ergebnisse wunderst oder wenn du einen bestimmten Compilerfehler nicht verstehst melde dich nochmal. Ansonsten aber bitte ein syntaktisch korrektes Programm angeben, denn hier helfen alle viel lieber wenn es um Inhaltliches geht.

PS: Wenn du die Aufgabenstellung abgewandelt hast und jetzt wirklich "a und b oder nicht b" berechnen willst, dann solltest du auch gleich beachten, dass [mm](a \wedge b) \vee \neg b = a \vee \neg b[/mm] gilt.

Bezug
        
Bezug
If - Else (Logik): Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 15:20 Fr 02.02.2007
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
ev.vorhilfe.de
[ Startseite | Mitglieder | Impressum ]