Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18. Vorbereitende Aufgaben

Ähnliche Dokumente
Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben

5. Tutorium zu Programmieren

II. Grundlagen der Programmierung. 9. Datenstrukturen. Daten zusammenfassen. In Java (Forts.): In Java:

Primitive Datentypen

Aufgabe 1. »Programmieren«, WS 2006/2007. Nino Simunic M.A.

Klausur zur Einführung in die objektorientierte Programmierung mit Java

Musterlösungen zur Klausur Informatik 3

KV Software Engineering Übungsaufgaben SS 2005

Algorithmen und Datenstrukturen

Beispiel: Methode mit einem Fehler. Diese Methode wird problematisch, wenn von außen eine Dauer von 0 Sekunden angegeben wird, etwa im Aufruf

Rekursion. Annabelle Klarl. Einführung in die Informatik Programmierung und Softwareentwicklung

Institut für Informatik

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Vorbereitende Aufgaben. Präsenzaufgaben

Distributed Computing Group

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. November 2003

Java Einführung Methoden in Klassen

Einführung Datentypen Verzweigung Schleifen Funktionen Dynamische Datenstrukturen. Java Crashkurs. Kim-Manuel Klein

Vorlesung Objektorientierte Programmierung Probeklausur

Objekt-Orientierte Programmierung

Javakurs für Anfänger

3 Objektorientierte Konzepte in Java

Übungen zur Vorlesung Einführung in die Informatik Wintersemester 2010/11

Beispiel: DB-Mock (1/7)

Hello World. Javakurs 2014, 1. Vorlesung. Sebastian Schuck. basierend auf der Vorlage von Arne Kappen. wiki.freitagsrunde.org. 3.

Arrays und Methoden. Programmiervorkurs WS 2010 / 11

Programmieren in Java

Versuchsziele Kenntnisse in der Anwendung von: Sortieren mit Klassen Benutzung von generischen Klassen o Definition o Sortierung.

Übersicht. Informatik 2 Teil 3 Anwendungsbeispiel für objektorientierte Programmierung

Gliederung. Tutorium zur Vorlesung. Gliederung. Gliederung. 1. Gliederung der Informatik. 1. Gliederung der Informatik. 1. Gliederung der Informatik

Java-Vorkurs Wintersemester 15/16

Vorlesung Informatik II

Java-Schulung Grundlagen

Ein erstes Java-Programm

Vorkurs Informatik WiSe 15/16

Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.

Probeklausur: Programmierung WS04/05

Propädeutikum zur Programmierung

1. Der Einstieg in Java. Was heißt Programmieren?

Einführung in die Java- Programmierung

Software Engineering Klassendiagramme Einführung

Programmieren I. Strategie zum Entwurf von Klassen. Beispiele. Design von Klassen. Dr. Klaus Höppner. Beispiel: Bibliothek

Programmierkurs Java

Programmierkurs Java

Praktikum Informatik II Prof. Dr. Martin Trauth, Dr. Michael Männel

Eine Klasse beschreibt Objekte mit gleichen Attributen und Methoden.

Erster Kontakt mit Java und Pseudocode

Java Kurs für Anfänger Einheit 5 Methoden

Teil 1: Grundeigenschaften von Rechnern und Software

Datenbankanwendungsprogrammierung Crashkurs Java

Einführung in die objektorientierte Programmierung mit Java. Klausur am 19. Oktober 2005

Der Aufruf von DM_in_Euro 1.40 sollte die Ausgabe 1.40 DM = Euro ergeben.

5.4 Klassen und Objekte

Einführung in die Java- Programmierung

1 Polymorphie (Vielgestaltigkeit)

Java Einführung Umsetzung von Beziehungen zwischen Klassen. Kapitel 7

Autor: Michael Spahn Version: 1.0 1/10 Vertraulichkeit: öffentlich Status: Final Metaways Infosystems GmbH

Praktikum Datenbanksysteme. Ho Ngoc Duc IFIS - Universität zu Lübeck

1. Der Einstieg in Java

Teil 1: Grundeigenschaften von Rechnern und Software

Sichtbarkeit & statische Methoden. Einsatz von Sichtbarkeit Einsatz statischer Methoden programmatische Realisierung 2 Beispielaufgaben

Java 7. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Dezember 2011 JAV7

Übersicht. Schleifen. Schleifeninvarianten. Referenztypen, Wrapperklassen und API. 9. November 2009 CoMa I WS 08/09 1/15

II.1.1. Erste Schritte - 1 -

Anleitung. Ein einfaches RMI-Beispiel. (ab Java 5.0) c Y. Pfeifer. (Juni 2014)

Betreutes Programmieren Vorlesung Informatik II, Blatt 7 Musterlösung

Java: Vererbung. Teil 3: super()

DAP2-Programmierpraktikum Einführung in C++ (Teil 1)

Java Einführung Programmcode

13. Tutorium zu Programmieren

Institut fu r Informatik

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

Fortgeschrittenes Programmieren mit Java. Test Driven Development

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2015/16. Allgemeine Informationen zum Praktikum

Propädeutikum zur Programmierung

Grundlagen der Programmierung Prof. H. Mössenböck. 10. Klassen

Übung 1 mit C# 6.0 MATTHIAS RONCORONI

1. Übung zu "Numerik partieller Differentialgleichungen"

Ereignisbehandlung 21

Fehler die bei der Programmerstellung passieren können teilweise vom Compiler erkannt werden

Dr. Monika Meiler. Inhalt

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

Einführung in die Informatik für Hörer aller Fakultäten II. Andreas Podelski Stephan Diehl Uwe Waldmann

Repetitorium Informatik (Java)

IT- Handbuch für Fachinformatiker, 7. Auflage: Text- Lösungen Sascha Kersken

Java Database Connectivity (JDBC) Walther Rathenau Gewerbeschule 1

Tutorium Java Ein Überblick. Helge Janicke

Programmieren Tutorium

PIWIN I. Praktische Informatik für Wirtschaftsmathematiker, Ingenieure und Naturwissenschaftler I. Vorlesung 3 SWS WS 2007/2008

Programmieren I. Kontrollstrukturen. Heusch 8 Ratz Institut für Angewandte Informatik

Einfache Rechenstrukturen und Kontrollfluss II

Algorithmen und Datenstrukturen 07

3 Objektorientierte Konzepte in Java

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

LeJOS: Mindstorms in Java programmieren

AKTUEL ZU JAVA 8 PROGRAMMIEREN IN JAVA. 7. Auflage. Im Internet: Alle Beispielprogramme und Lösungen

Testklausur 1 zur Vorlesung. Modellierung und Programmierung I. Dr. Monika Meiler Zeit: 60 Minuten

Eine Einführung in. für mathematisch- technische Assistenten / Informatik (IHK)

Einführung in die C-Programmierung

Speicherstrukturen. Aufgabe 1-1: Fragen zu FAT (File Allocation Table) Aufgabe 1-2: Datensätze variabler Länge. Kind.java:

Teil 1: Grundeigenschaften von Rechnern und Software [10P]

Transkript:

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2017/18 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 6 Besprechung: 27.11. 1.12.2017 (KW 48) Vorbereitende Aufgaben Aufgabe 6.1: Codeformatierung Für Programmierer ist die richtige Formatierung von Programmcode sehr wichtig. Lesbarer Programmcode erleichtert die Fehlersuche und macht Code leichter erweiterbar. Formatieren Sie den folgenden Code so, dass er leichter lesbar ist. a) if(a==7){system.out.println("a ist sieben");} b) int b=12;for(int i=2;i<12;i++ ){b=b*i;}system.out.println(b); Übungsblatt 6 Seite 1 von 6

c) int a=3;if(a<5){int p=7;while(p>0){system.out.println(p);p--;}} d) for(int i=0;i<23;i++){if(i%2==0){for (int j=1;j<i;j++){system.out.println( i+";"+j);}}else{system.out.println(i);}} Übungsblatt 6 Seite 2 von 6

Präsenzaufgaben Aufgabe 6.2: Umwandlung von Schleifen In dieser Aufgabe sollen Sie Schleifen von einem Typ in einen anderen umwandeln. a) Wandeln Sie die folgende for-schleife in eine while-schleife um. int a = 0; for(int b = 0; b < 17; b++) { a = a + 2; } System.out.println("a: " + a); b) Wandeln Sie die folgende do-while-schleife in eine while-schleife um. int o = 7; int p = 256; do { p = p - 20; o--; } while(o > 0); System.out.println("p :" + p); Übungsblatt 6 Seite 3 von 6

c) Wandeln Sie die folgende while-schleife in eine for-schleife um. int b = 0; int n = 7; int e = 1; while(b < 15 && n < 9) { e = e + b * n - 2; b = b + 2; } System.out.println("e: " + e); Aufgabe 6.3: Java-Funktionen In dieser Aufgabe sollen Sie sich mit der Deklaration und dem Aufruf statischer Methoden vertraut machen. Bei der Konstruktion eines Geschwindigkeitsmessers für Automobile soll ein Programm die derzeitige Geschwindigkeit in Kilometern pro Stunde (km/h) ausgeben. Die Sensoren geben allerdings die zurückgelegte Strecke in Metern und die dabei vergangene Zeit in Sekunden an. a) Da das Umrechnen von Geschwindigkeiten eine sehr allgemeine Aufgabe ist, die an vielen Stellen nützlich sein kann, wollen wir eine Funktion schreiben, die diese Umrechnung für uns übernimmt. Überlegen Sie sich, wie man eine Geschwindigkeit von m/s in km/h umrechnet. Legen Sie eine neue Klasse SpeedSensor im Paket blatt06 an. Fügen Sie die main-methode ein, in der Sie zwei Variablen vom Typ double anlegen: currentmeters und currentseconds. Diese sollen die Sensorwerte repräsentieren. Denken Sie sich beliebige Werte dafür aus. Legen Sie innerhalb der SpeedSensor-Klasse eine statische Methode an: public static double velocity Diese soll zwei Parameter vom Typ double haben: meters und seconds. Bestimmen Sie anschließend die Geschwindigkeit in km/h und geben Sie diese mit Hilfe des return-statements zurück. Geben Sie in der main-methode mit folgendem Code die derzeitige Geschwindigkeit aus: System.out.println("Current speed is: " + velocity(currentmeters, currentseconds) + " km/h"); Übungsblatt 6 Seite 4 von 6

b) Jetzt wollen wir dem Fahrer auch noch den Bremsweg anzeigen. Sei v die aktuelle Geschwindigkeit in km/h, dann ist eine Näherung für den Bremsweg s in Metern: s = 1 2 ( v 10) 2 Schreiben Sie eine Funktion brakingdistance vom Typ double, die die Sensorwerte meters und seconds als Parameter nimmt und den Bremsweg in Metern zurückgibt. Geben Sie den Bremsweg in der main-funktion aus mit System.out.println("Current braking distance is: " + brakingdistance(currentmeters, currentseconds) + " m"); Aufgabe 6.4: Aufrufverhalten In dieser Aufgabe sollen Sie sich mit dem Aufruf von statischen Methoden mit primitiven Datentypen als Parameter vertraut machen. Betrachten Sie folgendes Programm. Was erwarten Sie als Ausgabe? 1 package blatt06; 2 3 public class Program { 4 public static void add5toint(int x) { 5 x = x + 5; 6 System.out.println("x in function add5toint: " + x); 7 } 8 9 public static void main(string[] args) { 10 int x = 8; 11 12 System.out.println("x before function call: " + x); 13 add5toint(x); 14 System.out.println("x after function call: " + x); 15 } 16 } Was ist die Ausgabe des Programms nach Ausführung? Was fällt Ihnen auf? Was ist der Grund für dieses Programmverhalten? Übungsblatt 6 Seite 5 von 6

Ergänzende Aufgaben Aufgabe 6.5: Programmstrukturierung In dieser Aufgabe sollen Sie sich mit der Möglichkeit befassen, ein Programm durch Umstrukturierung in Funktionen verständlicher zu machen. Wir wollen ein Programm schreiben, das entscheidet, welcher von 3 Quadern das größte Volumen besitzt. Markieren Sie zuerst, in welchem Teil des Programmes sich komplexe, sich wiederholende Strukturen befinden. Lagern Sie diese Strukturen in Funktionen aus, indem Sie das Programm umschreiben. Legen Sie dazu eine neue Klasse mit dem Namen BiggestVolume im Paket blatt06 an. 1 package blatt06; 2 3 public class BiggestVolume { 4 public static void main(string[] args) { 5 double firstheight = 16.5, firstwidth = 27.5, firstdepth = 38.0; 6 double secondheight = 20.0, secondwidth = 20.0, seconddepth = 20.0; 7 double thirdheight = 40.2, thirdwidth = 22.5, thirddepth = 18.5; 8 9 if((firstheight * firstwidth * firstdepth >= 10 secondheight * secondwidth * seconddepth) && 11 (firstheight * firstwidth * firstdepth >= 12 thirdheight * thirdwidth * thirddepth)) { 13 System.out.println("Volume number 1 is the biggest"); 14 } 15 else if((secondheight * secondwidth * seconddepth >= 16 firstheight * firstwidth * firstdepth) && 17 (secondheight * secondwidth * seconddepth >= 18 thirdheight * thirdwidth * thirddepth)) { 19 System.out.println("Volume number 2 is the biggest"); 20 } 21 else { 22 System.out.println("Volume number 3 is the biggest"); 23 } 24 } 25 } Übungsblatt 6 Seite 6 von 6