Prozedurale Programmierung (PPG) HS 2009 Praktikum 5: Variablen und Berechnungen Aufgabe 1: Variablendeklarationen Beurteilen Sie, ob die nachstehenden Variablendeklarationen gültig sind, der Java-Konvention entsprechen und sinnvoll sind. Machen Sie Verbesserungsvorschläge: 1) int leistung; 8) int FLÄCHE; 2) int 3erPack; 9) float α = 0.9f; 3) float leergewicht; 10) int platzNr.1; 4) int $geheimNr; 11) float sehr_langer_variablenname; 5) float bigNumber = 38e32; 12) int class; 6) int Länge; 13) int klasse c; 7) int lohn = 1000.; 14) int f3; Aufgabe 2: Berechnungen Gegeben sind folgende Variablen mit ihren Initialwerten: int a = 2, b = 7; float c = 4.0f; double d = 1.5; int x; float y; String s; a) Berechnen Sie (zuerst auf Papier) das Resultat der folgenden Zuweisungen. Verwenden Sie für alle Berechnungen die oben angegebenen Initialwerte der beteiligten Variablen: 1) 2) 3) 4) 5) 6) x d x y d x = = = = = = b - a*b; a; b / a; b / a; 3.5*a - b; b % a; 7) y = c % 3.0f; 8) x = (a-b)*a; 9) x = (int) (c/3f); 10) s = "resultat = " + (a*b) + c; 11) y = b / (int) c; 12) a = a + b b) Schreiben Sie anschliessend ein Konsolen-Programm, das die Variablen am Anfang der Methode main deklariert und initialisiert, dann die Auswahl von obigen Berechnungen 1, 5, 6, 10 berechnet und die Resultate mit der Methode System.out.println() auf dem Bildschirm ausgibt. Bsp Ausgabe: System.out.println(„x = b % a =>“+x); fulu (September 2009) 1 841124528 Aufgabe 3: Schweizerkreuz flexibel Schreiben Sie das Schweizerkreuz-Applet aus dem letzten Praktikum so um, dass sie Grösse und Position einfach verändern können, ohne dass sich die Proportionen verändern. Verwenden Sie dazu eindeutige Variablennamen. Hilfe: Folgenden Code-Ausschnitt können Sie verwenden um die kürzere Seite des Applet-Fensters zu bestimmen: Dimension d = getSize(); int seite = Math.min(d.width, d.height); Aufgabe 4: Frachtcontainer Stückelung Schreiben Sie ein Konsolen - Programm, das ein gegebenes Volumen in verschieden grosse Container aufteilt. Dabei soll die Anzahl Container möglichst klein gehalten werden. Es stehen folgende Containervolumen zur Verfügung: 67m3, 33m3, 15m3, 7m3, 3m3 Beispiel: 117m3 1x 67 m3 1x 33 m3 etc. Überlegen Sie zuerst, wie Sie das “von Hand“ machen würden. Tipp: Der %-Operators könnte hilfreich sein. Verwenden Sie für diese Aufgabe das vorgegebene BlueJ-Projekt im Praktikumsordner. Um das Programm zu starten, machen Sie wieder einen Rechts-Klick auf die Klasse und wählen void main(String[] args) aus. Das nächste Fenster bestätigen Sie ohne zusätzlich Eingabe mit OK. optional Aufgabe 5: Frachtcontainer II Erweitern Sie die Aufgabe 4, damit das Volumen nicht mehr fest einprogrammiert ist, sondern als so genannte Kommndozeilenparameter der main-Methode übergeben werden kann. Beispielsaufruf: java Fracht 117 Die Aufgabe besteht darin, das via Kommandozeile eingegebene Volumen in eine Zahl umzuwandeln und dem bekannten Algorithmus zur Verarbeitung weiterzugeben. Mit BlueJ können die Parameter wie in der Abbildung gezeigt eingegeben werden. Hinweise: Die Parameter werden in einem String-Array args[] der main-Methode übergeben. Das erste Element in einem Array können Sie mit args[0] ansprechen. Für die Umwandlung eines Strings in eine Int-Zahl suchen Sie die passende Funktion hier: http://java.sun.com/javase/6/docs/api/java/lang/Integer.html Die Funktion rufen Sie das mit Integer.xxx(…); auf. fulu (September 2009) 2 841124528