Aufgabenblatt Nr. 7

Werbung
Fachbereich 12 – Institut für Informatik
Dr. Karsten Tolle
Datenbanken und Informationssysteme (DBIS)
Grundlagen der Programmierung 2
Sommersemester 2010
Aufgabenblatt Nr. 7
Abgabe: Mittwoch 09. Juni vor! der Vorlesung
Aufgabe 1 (20 Punkte)
Falls sich noch kein JDK auf dem Rechner befindet, laden Sie ein Java Development Kit
(http://java.sun.com/javase/downloads/index.jsp) herunter und installieren Sie es. Machen Sie sich mit
den Befehlen javac und java vertraut, indem Sie diese Befehle ohne Parameter aufrufen und die
Usage-Beschreibung sowie die Erklärung der möglichen Optionen durchlesen.
a) Schreiben Sie auf welche Version genau bei Ihnen installiert ist oder von Ihnen installiert
wurde. Geben Sie dabei die Versionsnummern des Compilers und des Interpreters getrennt an.
(5 Punkte)
b) Erläutern Sie kurz wofür die Option.-cp bzw. -classpath bei den beiden Befehlen javac und
java genutzt wird. (5 Punkte)
c) Erstellen Sie mit einem Texteditor eine Java-Klasse mit einer Main-Methode. Die MainMethode soll Ihren Vor- und Nachnamen, sowie ihre Matrikelnummer auf der Konsole
ausgeben. Kompilieren Sie die Klasse und führen Sie die Main-Methode aus. (Die schriftliche
Abgabe braucht nur den entsprechenden Java-Code enthalten. Schicken Sie zusätzlich Ihrem
Tutor dem Java-Code und die kompilierte .class-Version per E-Mail!) (10 Punkte)
Aufgabe 2 (50 Punkte)
Gegeben ist der folgende Python-Code für die Funktion z_python:
#! /usr/bin/env python
def z_python(n):
"""Bestimmt entsprechende Zahlen bis n"""
for p in range(2, n):
for x in range(2,p):
if p % x == 0 :
print p, 'ist gleich', x , '*', p/x
break
else:
# nichts gefunden
print p, 'ist eine entsprechende Zahl'
return
a) Machen Sie sich klar, was die Funktion tut und beschreiben Sie dies kurz mit eigenen Worten.
(6 Punkte)
b) Welche Ausgaben erwarten Sie für die folgenden Aufrufe: (je 3 Punkte)
1. z_python(-12)
2. z_python(0)
3. z_python(17)
c) Erstellen Sie eine Java-Klasse, welche die Methode z_java enthält. Diese Methode soll eine
Übersetzung der gegebenen Funktion z_python sein, also das gleiche tun wie diese. Erläutern
Sie insbesondere die Stellen, die nicht 1-1 übersetzt werden können, falls so etwas existiert.
(35 Punkte)
Aufgabe 3 (30 Punkte)
Im Python Interpreter werden folgende Zeilen eingegeben:
>>>
>>>
...
...
...
a, b = 0, 1
while b < 10:
print b
a, b = b, a+b
a) Welche Ausgabe würde im Interpreter ausgegeben werden? (5 Punkte)
b) Wandeln Sie diesen Python-Code in Java-Code um, der die gleiche Ausgabe erzeugen würde.
Erläutern Sie insbesondere die Stellen, die nicht 1-1 übersetzt werden können, falls so etwas
existiert. (25 Punkte)
Herunterladen