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

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

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

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

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

Vorbereitende Aufgaben

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

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

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

Vorbereitende Aufgaben

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

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

Vorbereitende Aufgaben

Vorbereitende Aufgaben

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

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

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015

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

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

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

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

Probeklausur Java Einführung in die Informatik. Wintersemester 2016/2017

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018

Probeklausur Java Einführung in die Informatik. Wintersemester 2014/2015. Musterlösung

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

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

Fakultät IV Elektrotechnik/Informatik

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

Erste Java-Programme (Scopes und Rekursion)

pue13 January 28, 2017

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

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Übungen zum Bioinformatik-Tutorium. Blatt 3

2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Intensivübung zu Algorithmen und Datenstrukturen

Klausur. 2. Aufgabe (3 Punkte) Ergänzen Sie die leeren Zellen derart, dass sich in einer Zeile die selben Zahlenwerte ergeben.

Gegeben sind die folgenden Programmausschnitte: I. Programmausschnitt: II. Programmausschnitt: III. Programmausschnitt: IV. Programmausschnitt:

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 5: Typen, Variablen und einfache Methoden in Java

Tag 5. Repetitorium Informatik (Java) Dozent: Marius Kamp Lehrstuhl für Informatik 2 (Programmiersysteme)

CoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.

Übung 1: Installation + Test von Eclipse. Übung 2: Hello World

Anweisungen zur Ablaufsteuerung

EidP. Blocktutorium SS 2014

n 1. Grundzüge der Objektorientierung n 2. Methoden, Unterprogramme und Parameter n 3. Datenabstraktion n 4. Konstruktoren n 5. Vordefinierte Klassen

Kontrollstrukturen: Wiederholungsanweisungen

Probeklausur C/C++ Einführung in die Informatik. Wintersemester 2016/2017

Musterlösung Stand: 5. Februar 2009

Kontrollstrukturen: Wiederholungsanweisungen

JAVA - Methoden,... T.Bosse

Die Klasse java.lang.object. Thorsten Treffer

Fachgebiet Informationssysteme Prof. Dr.-Ing. N. Fuhr. Programmierung Prof. Dr.-Ing. Nobert Fuhr. Übungsblatt Nr. 10

Informatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17

Probeklausur Java Einführung in die Informatik. Wintersemester 2017/2018. Musterlösung

Aufgabenblatt 3. Kompetenzstufe 1. Allgemeine Informationen zum Aufgabenblatt:

Übungen zu Algorithmen

Programmierung für Mathematik (HS13)

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Einführung in die Programmierung. (K-)II/Wb17

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Institut für Informatik

Informatik 1 für Nebenfachstudierende Beispiele für Klausuraufgaben

Kontrollstrukturen: Wiederholungsanweisungen

Klassen und Objekte. Klassen sind Vorlagen für Objekte. Objekte haben. Attribute. Konstruktoren. Methoden. Merkblatt

Arbeitsblatt zu Methoden

Algorithmen und Datenstrukturen 01

Java Einführung Methoden. Kapitel 6

5. Tutorium zu Programmieren

Tutorial zu Einführung in die Informatik für LogWi- Ings und WiMas Wintersemester 2015/16. 1 Zauberer und Zwerge, Aufgabenteil 1

Methoden und Wrapperklassen

Programmiertechnik Übungen zu Klassen & -methoden

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Programmieren in Java

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

FAKULTÄT FÜR INFORMATIK

Eine JAVA Einführung ... Quellcode:... COMA Übung 3. T.Bosse. A.Griewank. Vorschau JAVA Programme Sprachen Kate

System.out.println("TEXT");

Informatik Hochschule Mainz Geoinformatik und Vermessung. Wiederholung. Frohes Fest und Guten Rutsch!

Heap vs. Stack vs. statisch. 6 Speicherorganisation. Beispiel Statische Variablen. Statische Variablen

Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3

Institut für Programmierung und Reaktive Systeme 25. Januar Programmieren I. Übungsklausur

Ausgabe:

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Vorlesung Programmieren

Test zu Grundlagen der Programmierung Leitung: Michael Hahsler. 21. Juni 2004

Statische und Nichtstatische Methoden Properties/ Eigenschaften

Folienpaket 7 Themenschwerpunkte: Methoden in OOP /2016 Dr. Daniel Haase - Vorkurse Informatik V3/V4

Primitive Datentypen

Klausur Grundlagen der Programmierung

Einführung in die Programmierung

Programmierpraktikum

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Martin Unold INFORMATIK. Geoinformatik und Vermessung

Geoinformatik und Vermessung Prüfung 502 : Informatik (JAVA)

1. Grundzüge der Objektorientierung 2. Methoden, Unterprogramme und Parameter 3. Datenabstraktion 4. Konstruktoren 5. Vordefinierte Klassen

Informatik Praktikum 5

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

Transkript:

Praktikum zu Einführung in die Informatik für LogWiIngs und WiMas Wintersemester 2018/19 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 6 Besprechung: 3. 7.12.2018 (KW 49) 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 7

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 7

Präsenzaufgaben Aufgabe 6.2: Umwandlung von Schleifen In dieser Aufgabe wollen wir 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 7

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: Funktionsköpfe Nun wollen wir den Umgang mit Funktionen üben. Schreiben Sie Funktionsköpfe für die folgenden Funktionen. Die Funktionsrümpfe oder eine konkrete Implementierung der Funktionen werden dabei nicht benötigt. a) die Funktion addfive soll eine int-variable x mit 5 addieren und die Summe zurückgeben b) die Funktion mult soll zwei Zahlen miteinander multiplizieren und das Produkt zurückgeben c) eine Funktion, die eine Potenz ausrechnet und das Ergebnis zurückgibt d) eine Funktion, die die Summe dreier Zahlen ausgibt Übungsblatt 6 Seite 4 von 7

e) eine Funktion, die das erste Zeichen eines Wortes zurückgibt f) eine Funktion, die die Gleichheit zweier Zahlen überprüft und das Ergebnis zurückgibt g) eine Funktion, die die größere zweier Zahlen ausgibt h) eine Funktion, die eine Dezimalzahl als Binärzahl ausgibt Aufgabe 6.4: Funktionen In dieser Aufgabe wollen wir uns mit der Deklaration und dem Aufruf von Funktionen 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 nur 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. b) Legen Sie eine neue Klasse SpeedSensor im Paket blatt06 an. Fügen Sie die main-methode ein, in der Sie zwei Variablen currentmeters und currentseconds jeweils vom Typ double anlegen. Diese sollen die Sensorwerte repräsentieren. Denken Sie sich beliebige Werte dafür aus. Legen Sie innerhalb der SpeedSensor-Klasse eine statische Funktion mit dem Namen velocity an. Diese soll zwei Parameter meters und seconds vom Typ double besitzen. 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 5 von 7

c) 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 abschließend den berechneten Bremsweg analog wie in der letzten Teilaufgabe in der main- Funktion aus. Aufgabe 6.5: Aufrufverhalten In dieser Aufgabe wollen wir uns mit dem Aufruf von statischen Funktionen mit primitiven Datentypen als Parameter vertraut machen. a) 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 } b) Was ist die tatsächliche Ausgabe des Programms nach Ausführung? c) Was fällt Ihnen auf? Was ist der Grund für dieses Programmverhalten? Übungsblatt 6 Seite 6 von 7

Ergänzende Aufgaben Aufgabe 6.6: Programmstrukturierung In dieser Aufgabe wollen wir uns mit der Möglichkeit befassen, ein Programm durch Umstrukturierung in Funktionen verständlicher zu machen. Daher wollen wir ein Programm schreiben, das entscheidet, welcher von 3 Quadern das größte Volumen besitzt. a) Markieren Sie zuerst, in welchem Teil des Programmes sich komplexe wiederholende Strukturen befinden. b) 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 7 von 7