Mittwoch, 25. Februar 2009

 

Prüfen Sie Ihr Wissen

Sie finden an dieser Stelle eine Reihe von Fragen und Aufgaben, die Sie etwa Mitte des zweiten Jahrgangs EDVO beantworten bzw. lösen können sollten. Die Fragen bezüglich Objektorientierung (Klasse, Objekt, Methode etc.) können ohne Vererbung beantwortet werden.

Theorie
  1. Was ist eine Variable?
  2. Welche Grunddatentypen kennen Sie? Geben Sie auch den Speicherbedarf und den Wertebereich an.
  3. Was versteht man unter den Eigenschaften eines Objekts? Wie spiegelt sich das in einer Klasse wieder?
  4. Welche Kontrollstrukturen kennen Sie?
  5. Was ist ein Array?
  6. Geben Sie ein Beispiel eines eindimensionalen Arrays in Java an.
  7. Wie kann man ein eindimensionales Array in Java initialisieren?
  8. Geben Sie ein Beispiel eines zweidimensionalen Arrays in Java an.
  9. Wie kann man ein zweidimensionales Array in Java initialisieren?
  10. Kann man in Java ein zweidimensionales Array definieren, welches "nicht rechteckig" (rechteckig bedeutet hier: alle Zeilen gleich lang) ist?
  11. Geben Sie einen Algorithmus (ohne Programmdetails) an, um alle Elemente eines eindimensionalen Arrays zu ermitteln, die ein bestimmtes Kriterium (z.B. ist größer als ein bestimmter Wert) erfüllen.
  12. Geben Sie einen Algorithmus (ohne Programmdetails) an, um alle Elemente eines zweidimensionalen Arrays zu ermitteln, die ein bestimmtes Kriterium erfüllen.
  13. Geben Sie einen Algorithmus (ohne Programmdetails) an, um das Maximum aller Werte eines eindimensionalen Arrays zu ermitteln.
  14. Geben Sie einen Algorithmus (ohne Programmdetails) an, um das Minimum aller Werte eines eindimensionalen Arrays zu ermitteln.
  15. Geben Sie einen Algorithmus (ohne Programmdetails) an, um das Maximum aller Werte eines zweidimensionalen Arrays zu ermitteln.
  16. Geben Sie einen Algorithmus (ohne Programmdetails) an, um das Minimum aller Werte eines zweidimensionalen Arrays zu ermitteln.
  17. Was ist eine Funktion? Geben Sie ein Beispiel in Java inklusive der Verwendung der Funktion.
  18. Was ist eine Methode? Geben Sie ein Beispiel in Java inklusive der Verwendung der Funktion.
  19. Was ist der Unterschied zwischen einer Variable eines Grunddatentyps und einer Variable vom Typ einer Klasse?
  20. Was ist eine Klasse?
  21. Was ist ein Objekt? Erklären Sie den Zusammenhang zwischen Objekt und Klasse.
  22. Was sind Strings?
  23. Wie kann man Strings vergleichen?
  24. Was ist ein Stack? Beschreiben Sie die Eigenschaften und Methoden.
  25. Was ist eine Queue? Beschreiben Sie die Eigenschaften und Methoden.
  26. Wozu benötigt man Kommentare?
  27. Wozu benötigt man Programmierrichtlinien?
  28. Vergleichen Sie Java mit Python.
  29. Was ist ein Dictionary in Python?
  30. Was bedeutet der Begriff "Sequenz" in Python? Geben Sie einige Beispiele.
  31. Woran soll Sie die Geschichte "Shlemiel the Painter" erinnern?
  32. Was muss grundsätzlich (ohne Programmdetails) gemacht werden, um von einer Datei zu lesen?
  33. Was muss grundsätzlich (ohne Programmdetails) gemacht werden, um in eine Datei zu schreiben?
  34. Geben Sie einen Algorithmus (ohne Programmdetails) an, um alle Zeilen einer Textdatei zu ermitteln, die ein bestimmtes Kriterium (z.B. enthält einen bestimmten String) erfüllen.
  35. Was versteht man unter einem "Gruppenwechsel"?
  36. Was sind die Voraussetzungen für einen Gruppenwechsel?
  37. Geben Sie einen Algorithmus für einen einstufigen Gruppenwechsel an (z.B. Struktogramm).
  38. Geben Sie einen Algorithmus für einen zweistufigen Gruppenwechsel an (z.B. Struktogramm).
  39. Welche Arten von Programm(ier)fehlern kennen Sie? Wie findet man diese Fehler?
  40. Wieviele main()-Methoden muss eine Java-Klasse besitzen?
  41. Wieviele main()-Methoden kann eine Java-Klasse maximal haben?
  42. Wieviele Klassen können in einer einzelnen Java-Datei implementiert werden?
  43. Welchen Wert hat die Variable einInteger? Begründen Sie Ihre Antwort!

    int einInteger = Integer.MAX_VALUE + 1;
  44. Was versteht man unter impliziter bzw. expliziter Typumwandlung? Nennen Sie jeweils mindestens ein Beispiel.
  45. Erläuten Sie den Unterschied zwischen String und StringBuffer!
Praxis:
In diesem Blog und auch im alten Blog gibt es bereits eine Reihe von Aufgaben. Vergleichen Sie Ihre Lösungen mit jenen Ihrer MitschülerInnen.
Hier noch ein paar "Grundübungen":
  1. Erstellen Sie ein Pythonprogramm, welches das Maximum einer Sequenz ermittelt. Definieren Sie dazu eine fixe Testsequenz mit folgenden Werten [-1, -23, -2, -32, -89, -100, -1, -99]. Finden Sie weitere Beispieltestdaten.
  2. Erstellen Sie ein Pythonprogramm, welches das Minimum einer Sequenz ermittelt. Definieren Sie dazu eine fixe Testsequenz mit folgenden Werten [1, 23, 2, 32, 89, 100, 1, 99]. Finden Sie weitere Beispieltestdaten.
  3. Erstellen Sie ein Javaprogramm, welches das Maximum einer Sequenz ermittelt. Definieren Sie dazu eine fixe Testsequenz mit folgenden Werten [-1, -23, -2, -32, -89, -100, -1, -99]. Finden Sie weitere Beispieltestdaten.
  4. Erstellen Sie ein Javaprogramm, welches das Minimum einer Sequenz ermittelt. Definieren Sie dazu eine fixe Testsequenz mit folgenden Werten [1, 23, 2, 32, 89, 100, 1, 99]. Finden Sie weitere Beispieltestdaten.
  5. Erstellen Sie ein Pythonprogramm, welches die Häufigkeit von Elementen einer Sequenz (Liste) ermittelt. Definieren Sie dazu eine Testsequenz mit folgenden Werten [1, 2, -3, 4, 2, 1, 10, -3, 4, 2, 2, 10] bzw. ["hallo", "du", "test", "du", "Maus", "test", "Test"]. Das Ergebnis soll eine Liste von unterschiedlichen Werten sein und wie oft sie vorkommen.
  6. Betrachten Sie die Methode dividiere im folgenden Programm. lässt sich das Programm übersetzen? Falls nicht, dann korrigieren Sie die Fehler:

    public class DivisionApp
    {
    public static void main(String[] args)
    {
    int ergebnis = dividiere(40, 5);
    System.out.println("Ergebnis: " + ergebnis);
    }

    public static int dividiere(int divident, int divisor)
    {
    if (divisor > 0)
    {
    return divident / divisor;
    }
    }
    }

  7. Folgende Ausgabe soll erzeugt werden: 1 3 5 7 9. Lösen Sie die Aufgabe
    • mithilfe einer while-Schleife
    • mithilfe einer do-while-Schleife
    • mithilfe einer for-Schleife und des Modulo-Operators
    • mithilfe einer for-Schleife ohne den Modulo-Operator

  8. Folgende Ausgabe soll erzeugt werden: 1 2 4 7 11 16 22 29 37. Lösen Sie die Aufgabe
    • mithilfe einer do-while-Schleife
    • mithilfe einer for-Schleife
  9. Schreiben Sie ein Java-Programm, welches mithilfe eines Stacks folgende Werte in umgekehrter Reihenfolge ausgibt: 23 21 20 18 17 13 11 5 3
  10. Schreiben Sie ein Java-Programm, welches mithilfe einer Queue folgende Werte in derselben Reihenfolge ausgibt: 23 21 20 18 17 13 11 5 3
  11. Schreiben Sie auf Basis der letzten beiden Beispiele Programme, die Strings statt der Integer-Werte verwenden können.

Labels: ,


Kommentare:

Kommentar veröffentlichen

Abonnieren Kommentare zum Post [Atom]





<< Startseite

This page is powered by Blogger. Isn't yours?

Abonnieren Posts [Atom]