Wiederholungsfragen und -aufgaben für die Klausurvorbereitung

  1. Konvertieren Sie die Dezimalzahl 507 in eine Hexadezimalzahl, Dualzahl und Oktalzahl.
  2. Konvertieren Sie die Dezimalzahl 14.4375 in das Dualsystem.
  3. Schreiben Sie die folgenden Zahlen ohne Exponentialdarstellung:

    4.72E+03 = 
    -10.52E+02 =
    -1.7654321E+05 =
    4.42E-04 = 
  4. Ist der folgende Programm-Code korrekt? Falls nein: Warum nicht?

      public static void frage() {
        int i1 = 0, i2, 3i = 5;
        if (i = 0) {
          int j, i2;
          i2 = 1;      
          i = i1 + 10 + 3i; 
        }
        j = i + i2;
      }
    
  5. Sind im folgenden Programm-Code Fehler enthalten?

      cla
          ss example
      {
        public static void eineMethode ()
        {
          long   hoursWorked = 40;    
          final  double pay Rate = 10.0, tax Rate = 0.10;    
    
          System.out.println("Hours 
    	  Worked: " + hoursWorked );
    
          System.out.println("pay Amount  : " + (hours
    	  Worked * pay Rate) );
    
          System.out.println("tax Amount  : " + (
    	  hoursWorked *
    	  pay Rate * tax
    	  Rate) );
        }
    
      
  6. Wann sollte man im Programmcode Konstanten verwenden und warum sollte man dies tun?
  7. Wie deklariert man eine Konstante?
  8. Werten Sie den folgenden Ausdruck schrittweise wie ein Computer aus:

    3*val1*val2 + val3/7.3 - val4 + 5.2
  9. Werten Sie den folgenden Ausdruck schrittweise wie ein Computer aus:

    ( ( ( 32 - 16 ) / ( 2 * 2 ) ) - ( 4 - 8 ) ) + 7
  10. Was liefern die folgenden Ausdrücke für Werte?


  11. Wieviele Bäume repräsentiert die Datenstruktur in der Grafik unten? Begründen Sie Ihre Antwort.
  12. Ist die folgende Anweisung korrekt? Begründen Sie ihre Antwort.
    int arr = {27, 12, 5.2, 44};
  13. Ist das folgende Codefragment korrekt?
    class Polynom {
    static double polynomEvaluation(
    double pa3, double pa2, double pa1,
    double pa0, double px) {
    return(
    ((pa3*px + pa2)*px + pa1)*px + pa0);
    }

    static float polynomEvaluation(
    double pa3, double pa2, double pa1,
    double pa0, double px) {
    return(
    ((pa3*px + pa2)*px + pa1)*px + pa0);
    }
    }

    Begründen Sie Ihre Entscheidung.

  14. Was versteht man unter einem "Literal"?
  15. Was versteht man unter einer Gleitkommazahl? Worin unterscheidet sich diese von einer Festkommazahl?
  16. Welche Probleme können beim Rechnen mit Gleitkommazahlen auftreten?
  17. Was versteht man unter "short circuit evaluation"?
  18. Was ist eine Abzweigung/Verzweigung?
  19. Was ist eine geschachtelte Fallunterscheidung?
  20. Was versteht man unter dem "dangling-else"-Problem?
  21. Welche logischen Operatoren stehen in unserer Programmiersprache zur Verfügung?
  22. Aus welchen Teilen besteht die Datenstruktur Baum?
  23. Benennen Sie ein paar Beispiele für Daten, die sich mit Hilfe von Bäumen repräsentieren lassen!
  24. Welche Arten von Bäumen gibt es?
  25. Worin unterscheidet sich eine Zählschleife von einer allgemeinen Schleife?
  26. Welche Schleifenanweisung ist speziell für die Implementierung von Zählschleifen konzipiert?
  27. Was ist eine "Endlosschleife"?
  28. Worin besteht der Unterschied zwischen i++ und ++i?
  29. Was unterscheidet eine Klasse von einem primitiven Datentyp?
  30. Was versteht man unter Instanzierung?
  31. Wo sind die Werte gültig, die Methodenparametern innerhalb eines Methodenrumpfs zugewiesen werden?
  32. Wozu dient ein Konstruktor?
  33. Was versteht man unter einer "überladenen" Methode, einem "überladenen" Operator?
  34. Wofür benutzt man überladene Konstruktoren?
  35. Erläutern Sie die "Methode der zunehmenden Verfeinerungen".
  36. Im Urwald sitzt der Affe livingstone unter einer Bananenpalme. Die Äffin tschita unter einer Kokospalme. Wenn eine Banane herunterfällt, isst livingstone diese. Jede zweite Banane reicht er an tschita weiter. tschita reicht ihm dafür jede zweite herunterfallende Kokosnuss. Die anderen isst sie selbst.

    Schreiben Sie die folgenden Klassen:

    1. Frucht: Diese Klasse enthält nur einen Konstruktor für die Art der Frucht. Diese wird als String in der Klasse abgelegt.

    2. Palme: Diese Klasse enthält einen Konstruktor, der als Parameter einen String für den Namen der Palme sowie ein Objekt vom Typ Frucht erwartet. Dieses legt die Art der Palme fest. Daneben gibt es eine öffentliche Methode fallen. In dieser wird zunächst der Name der fallenden Frucht auf die Konsole ausgegeben und dann dem zugehörenden Affen das Fallen einer Frucht signalisiert.

    3. Affe: Der Konstruktor dieser Klasse dient dazu, der Affeninstanz als String einen Namen zuzuweisen. Daneben gibt es eine öffentliche Methode fangen, die aufgerufen wird, sobald eine Frucht herunterfällt. Die Behandlung dieses Ereignisses erfolgt in der Methode fangen durch zwei weitere Methoden essen und weiterreichen, die als Parameter jeweils ein Objekt vom Typ Frucht erwarten. Die durchgeführte Aktion wird in diesen Methoden durch eine einfache Textausgabe auf die Konsole simuliert. Dabei werden die in den Klassen gespeicherten Informationen über den Namen des Affens und der Frucht ausgenutzt. Die beiden Methoden sind private Methoden der Klasse Affe.

    4. Urwald: Diese Klasse repräsentiert das Hauptprogramm. In diesem werden zwei Affen erzeugt sowie zwei Fruchtobjekte, die dazu dienen, zwei Palmeninstanzen die Art ihrer Frucht zuzuweisen. Danach werden in einer Schleife regelmäßig von den Palmen diese Fruchtsorten fallen gelassen.

      Beispielausgabe:

      Palme 1 lässt Banane fallen.
      Livingstone isst Banane.
      Palme 2 lässt Kokosnuss fallen.
      Tschita isst Kokosnuss.
      Palme 1 lässt Banane fallen.
      Livingstone reicht Banane weiter.
      Palme 2 lässt Kokosnuss fallen.
      Tschita reicht Kokosnuss weiter.
      Palme 1 lässt Banane fallen.
      Livingstone isst Banane.
      Palme 2 lässt Kokosnuss fallen.
      Tschita isst Kokosnuss.
      ...etc.

  37. Was versteht man in unserer Programmiersprache unter einem "Feld" und woraus setzt sich dieses zusammen?
  38. Auf welche unterschiedliche Weisen kann ein Feld initialisiert werden?
  39. Wie kann man, ohne Zugriff auf die Deklaration, auf einfache Weise die Anzahl der Elemente eines Felds auslesen?
  40. Welche Bedeutung besitzt das Attribut public?
  41. Welche Bedeutung besitzt das Attribut private?