Grundlagen der Informatik

Werbung
Hochschule der Medien Stuttgart
Studiengang Audiovisuelle Medien
Grundlagen der Informatik
Aufgabensammlung
Prof. Dr. Bernd Eberhardt
Jochen Bomm
Prof. Uwe Schulz
Sommersemester 2006
HDM Stuttgart, Audiovisuelle Medien
Aufgabensammlung Informatik 1, Sommer 2006
Organisation des Informatik Praktikums
1. Die Teilnahme am Praktikum ist Pflicht! Sie müssen an 80% der Termine Anwesend sein, bei 13 Terminen im
Sommersemester also nur zweimal unentschuldigt fehlen.
2.
Sie können ab dem 3. Termin in jedem Praktikum den Dozenten eine Programmieraufgabe des letzten
Aufgabenblatts abgeben. Die Abnahme der Übungen erfolgt in einem kurzen Fachgespräch von jeweils ca. 10
Minuten Dauer. Für die abgegebene Übung und das Gespräch erhalten Sie eine Note.
3.
Sie müssen im Laufe des Semesters drei Aufgaben aus unterschiedlichen Übungsblättern abgeben. Die Note
für das Praktikum ist das Mittel der drei Einzelnoten.
Hinweise zur Installation der Programme auf der Begleit-CD
Die Begleit-CD enthält die notewndigen Softwarepakete für die Durchführung der Übungen. Bitte installieren
Sie diese in der folgenden Reihenfolge:
1. filzip302.exe
installiert das Programm FilZip zum entpacken von .zip-Archiven. Dies ist nur
notwendig, wenn Sie noch keine entsprechende Software wiez. B WinZip auf Ihrem
Rechner haben. Auch für Windows-XP ist es nicht unbedingt notwendig, denn XP kann
Zip-Archive ohne zusätzliche Software öffnen und entpacken – allerdings ziemlich
langsam.
2. jdk-1_5_0_06-windows-i586-p.exe installiert das Java Developer Kit Version 5 Falls Sie eine ältere
Version auf dem Rechner haben, sollten Sie diese vorher entfernen.
3. eclipse-SDK-3.1.1-win32.zip enthält die Eclipse Entwicklungsumgebung: entpacken Sie die Dateien in ein
Verzeichnis Ihrer Wahl, z. B. C:\eclipse31 und starten Sie das Programm durch
Doppelklick auf die Datei Eclipse.exe. Sie können z. B. eine Verknüpfung auf dem
Desktop erstellen, damit Sie das Programm in Zukunft leichter finden.
Starten Sie Eclipse und überprüfen Sie die Java Einstellungen, unter
Window->Preferences->Java->Compiler sollte Comiler-Level 5.0 ausgewählt sein.
4. jdk-1_5_0-doc.zip enthält die Dokumentation zu den standard Java-Klassen. Entpacken Sie diese Dateien auf
die Festplatte, z. B. in das Verzeichnis c:\dokumentation\javadoc, öffnen Sie die Datei
index.html in einem Browser bzw. merken Sie sich die Adresse in Ihren Favoriten
(Bookmarks).
5. hjp4html.zip
Das "Handbuch der Java Programmierung" in HTML-Format. Dateien in ein Verzeichnis
entpacken (z.B. c:\dokumentation\Javabuch) und die Datei Cover.html in Ihrem Browser
öffnen und Ihren Favoriten (Bookmarks) hinzufügen.
6. hjp4exam.zip
Die Beispiele aus dem "Handbuch der Java Programmierung", z.B. in das Verzeichnis
c:\dokumentation\Javabuch-Beispiele entpacken.
7. TIJ-3rd-edition4.0.zip - Das Buch "Thinking in Java" von Bruce Eckels, eines der besten Bücher zum
Thema Objektorientierte Programmierung mit Java fuer alle, die tiefer einsteigen wollen.
Weitere nützliche Software, für die Übungen aber nicht notwendig:
8. HKSetup.exe
installiert das Programm HTML-Kit zur Bearbeitung von HTML-Seiten
2
HDM Stuttgart, Audiovisuelle Medien
Aufgabensammlung Informatik 1, Sommer 2006
Bitte lösen Sie Aufgaben 1-6 in der 2. Semesterwoche (20.-26.3.2006)
Aufgabe 1
Lernen Sie nebenstehendes Java
Programm auswendig!
Achten Sie dabei besonders auf die Fehler,
die Ihnen unterlaufen. Häufige Fehler sind:
• fehlendes Semikolon,
• falsche Klammer, z. B. ( statt { ,
public class Aufgabe1 {
public static void main (String x[ ] ) {
System.out.println(″Hallo″);
System.out.println (″wie geht es″);
}
}
Um dieses Programm auf dem Rechner zu implementieren, brauchen wir einen Java-Compiler, eine
Java-Virtual Machine (JVM) sowie eine Software zum Bearbeiten (Editieren) des Programmtextes.
Obwohl ein einfacher Text-Editor dazu völlig ausreicht, benutzen wir von Anfang an die
professionelle Entwicklungsumgebung Eclipse, die sich in den letzen Jahren stark verbreitet hat.
Das Java Develope Kit und Eclipse sind auf den Rechnern in den Übungesräumen vorinstalliert, Sie
können die Software aber auch auf Ihrem privaten Rechner zuhause nutzen.
Führen Sie jetzt die folgenden Schritte durch (zuhause beginnen Sie bei Schritt 3):
1. Melden Sie sich am System an Achtung: Im Laufe des Anmeldevorgangs erscheint ein
Fenster mit schwarzem Hintergrund (MS-DOS Eingabeaufforderung), hier muss das
Passwort nochmals eingegeben werden, ansonsten fehlt Ihre H-Disk (s. Schritt 2)!
Wer noch keinen Account besitzt setzt sich zu jemand anderem dazu.
2. Starten Sie den Windows Datei-Explorer und stellen Sie fests, ob eine Disk H: existiert (wenn
nicht: abmelden und nochmals anmelden, s. Schritt 1).
3. Starten Sie Eclipse (Start ->Programme->Eclipse)
4. Klicken Sie die „Welcome to Eclipse“-Seite weg.
5. Legen Sie ein neues Java-Projekt an (auf File->New->Project klicken und dort Java Project
auswählen). Nennen Sie das Projekt informatik1. Im Verzeichnis H:\eclipse gibt es jetzt das
Unterverzeichnis informatik1.
6. Um die Klasse Aufgabe1 zu erzeugen, klicken Sie auf auf File->New->Class und geben Sie
als Name der Klasse Aufgabe1 ein.
7. Tippen Sie in das Eingabefenster das obige Programm ein.
8. Speichern Sie das Programm ab (File->Save oder die Tastenkombination Strg-s). Dabei wird
es übersetzt und eventuelle Fehler werden angezeigt. Fehlermeldungen erscheinen im unteren
Fenster von Eclipse unter Problems. Beseitigen Sie alle Fehler in Ihrem Programm.
9. Führen Sie das Programm aus. Das ist für
Eclipse-Anfänger der größte Stolperstein!
Klicken Sie zunächst die Schaltfläche mit
dem schwarzen Dreieck neben dem weißen
Dreieck im grünen Kreis (siehe rechts). Es
öffnet sich ein Menü, aus dem Sie den
Punkt „Run“ (2. von unten) wählen.
3
HDM Stuttgart, Audiovisuelle Medien
Aufgabensammlung Informatik 1, Sommer 2006
10. Der Dialog, der sich jetzt öffnet ist
rechts abgebildet. Wählen Sie unter
Configurations den Typ
„Java Application“
aus und nicht das voreingestellte
„Eclipse Application“ und auch nicht
den Typ „Java Applet“!
Klicken Sie dann auf New. Im rechten
Teil des Dialogs erscheint als
ausgewählte Klasse Aufgabe1. Diese
Auswahl erfolgt automatisch, wenn Sie
die Klasse Aufgabe1 vorher editiert
haben und wenn die Klasse eine
Methode main enthält, die public, void
und static ist.
11. Klicken Sie auf Run und Ihr Programm
wird ausgeführt. Es öffnet sich ein
Fenster mit dem Titel Console in dem
die Ausgabe Ihres Programmes
erscheint:
Hallo
wie geht es
Gratulation: Sie haben soeben Ihr erstes Java-Program geschrieben und ausgeführt!
12. WennSie Ihr Programm nochmals ausführen wollen, müssen Sei nur auf die Schaltfläche mit
dem weißen Dreieck im grünen Kreis Klicken. Das zuletzt ausgeführte Programm wird dabei
wieder gestartet.
13. Öffnen Sie die Java Dokumentation im Web Browser (www.hdm-stuttgart.de/rz, dort unter
Benutzerinformationen/FAQs ÆInternetdienste Æwww,html,cgi,perl,javaÆjdk1.4.1
Dokumentation Auf dieser Seite Klicken Sie API und Language, dort Java 2 Platform API
Specification an). Diese Dokumentation ist auch CD zur Vorlesung enthalten.
14. Versuchen Sie herauszufinden, zu welcher Klasse das Objekt System.out gehört!
Hinweis: Sie können entweder out in der der Klasse System, oder über den Index der API
Beschreibung die Methoden print() und println()suchen.
Aufgabe 2
Finden Sie die Fehler in nebenstehendem Java
Programm und führen Sie es aus.
Was ist die Bedeutung der Zeichenfolge \n?
Schauen Sie in der Java API Dokumentation nach, was
die Methoden print() und println() machen und was der
Unterschied zwischen println() und print() ist.
public class Aufgabe2 {
public static void main (String x ) {
System.out.println(Hallo);
System.out.print (″wie \ngeht \nes″)
}
}
Um das Programm zu starten, führen Sie die Schritte 9-11 aus Aufgabe 1 erneut durch.
4
HDM Stuttgart, Audiovisuelle Medien
Aufgabensammlung Informatik 1, Sommer 2006
Aufgabe 3
Testen Sie folgendes Java Programm.
Von welchem Typ ist die Variable
Tier?
Was bewirkt der Operator + bei
Strings?
Lesen Sie die Einleitung zur Klasse
String in der Java API Dokumentation
aufmerksam durch.
die Klasse String
public class Aufgabe3 {
public static void main (String x[] ) {
String Tier = "Die Kuh";
System.out.println(Tier + " ist uebern Fence gejumpt\n");
System.out.print("und hat dabei den Benz gerammt\n");
}
}
Aufgabe 4
Schreiben Sie ein Java Programm, welches als Ausgabe das Java Programm aus Aufgabe 1 erzeugt.
Die Schwierigkeit liegt darin, ein Hochkomma (")auszugeben! Schlagen Sie z. B. im Javabuch von
Guido Krüger (www.javabuch.de) in Kapitel 4.2.2 nach, wie man ein Hochkomma innerhalb eines
Strings angibt (das Javabuch ist auch auf der CD enthalten!).
Aufgabe 5
|
*
|
| ***
|
Schreiben Sie eine Java Klasse, welche zusätzlich zur Methode main die statische
| *****
|
Methode zeichneDreieck(), enthält.. Diese Methode soll die nebenstehende Ausgabe
| ******* |
erzeugen, (durch vier Aufrufe der Methode System.out.println). Rufen Sie die
Methode zeichneDreieck in main.
Rufen Sie die Methode zeichneDreieck mehrfach auf, um mehrere Dreiecke hintereinander zu
zeichnen.
Aufgabe 6
Programme, die nur Text ausgeben sind nicht zeitgemäß. Wir schreiben deshalb Windows-basierte
Programme, wie sie heute üblich sind. Das ist zwar anspruchsvoller, macht aber mehr Spaß.
Geben Sie folgendes Programm ein, übersetzen Sie es und führen sie es aus:
// erstes Java Swing-Beispiel
import javax.swing.*;
import java.awt.*;
public class Aufgabe6 {
public static void main(String[] args) {
JFrame frame = new JFrame();
frame.setTitle("Hello World");
frame.setSize(200,150);
frame.setVisible(true);
}
}
Dieses Programm erzeugt ein Objekte vom Typ JFrame, und legt einige Eigenschaften dieses Ojekts fest.
Wichtig: Schlagen Sie die Klasse JFrame und dort die Methoden setTitle, setSize und setVisible nach und
versuchen Sie, deren Funktion so weit wie zur Zeit möglich zu verstehen.
b) Fügen Sie folgende Zeilen vor frame.setVisible() ein und führen Sie Ihr Programm aus:
JButton knopf = new JButton("Do not push!");
Container cp = frame.getContentPane();
cp.add(knopf);
5
HDM Stuttgart, Audiovisuelle Medien
Aufgabensammlung Informatik 1, Sommer 2006
Was Sie nach der ersten Semesterwoche wissen (sollten)
•
Ein Java Programm ist ein Text, der mit einem Editor bearbeitet und in einer Datei mit der
Endung .java abgespeichert wird.
•
Der Java Compiler liest diesen Text und erzeugt daraus Dateien mit der Endung .class.
Der Java Compiler ist Teil des Java SDK (Software Development Kit).
•
Der Java Interpreter (Java Virtual Machine) führt diese Dateien aus. Der Interpreter ist Teil
des JRE (Java Runtime Environment). Ein Mini-JRE ist in jedem Web-Browser enthalten.
•
In einer .java Datei stehen eine oder mehrere Klassen. Genau eine dieser Klassen ist
öffentlich (public) und heißt so wie der Dateiname (ohne die Endung .java). Vor den
Klassen stehen eventuell noch import Anweisungen, die eine verkürzte Schreibweise für
Klassen ermöglichen.
•
In einer Klasse stehen eine oder mehrere Methoden. Enthält die öffentliche Klasse in einer
.java Datei die Methode main, kann die Datei mit dem Interpreter ausgeführt werden. Der
Kopf der Methode main muss exakt "public static void main(String[ ] ...)" heißen.
•
Die Anweisungen im main Programm werden in ihrer Reihenfolge (von oben nach unten)
ausgeführt. Eine Folge von Anweisungen, die nacheinander ausgeführt werden nennt man
Sequenz. Später werden wir noch die Schleife und die Verzweigung als weitere
Kontrollstrukturen kennenlernen.
•
Eine Methode besteht aus mehreren Anweisungen, die nacheinander ausgeführt werden. Die
Ausführung einer Anwendung beginnt mit der ersten ausführbaren Anweisung der Methode
main.
•
Das Java Software Developer Kit (JDK) bietet
sehr viele Standardklassen im sogenannten
Application Programmers Interface (API). Die
(englische) Beschreibung dieser Klassen gehört
zu den wichtigsten Unterlagen beim
Programmieren mit Java. Sie finden es auf der
Begleit-CD zur Vorlesung oder unter
http://java.sun.com/j2se/1.4.2/docs/ und dort
unter API&language, oder unter
http://www.hdm-stuttgart.de/rz und dort unter
Benutzerinformation/FAQsÆInternetdiensteÆ
WWW, HTML, CGI, Perl, JavaÆJDK1.4.1 Documentation
•
Mit new wird ein neues Objekt erzeugt, dabei wird ein Konstruktor der Klasse gerufen.
Die Anweisung JFrame f = new JFrame(); erzeugt somit ein neues Objekt vom
Typ javax.swing.JFrame.
•
Lassen Sie sich durch die komplizierte API Beschreibung und durch die Tatsache, dass Sie
vieles noch nicht verstehen, nicht entmutigen!
6
Herunterladen