Vorbereitende Aufgaben

Ähnliche Dokumente
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

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. 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 2017/18. Vorbereitende Aufgaben

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

Intensivübung zu Algorithmen und Datenstrukturen

Ausgabe:

Übungsblatt 1. Java Vorkurs (WS 2017)

Einfache Arrays. Dr. Philipp Wendler. Zentralübung zur Vorlesung Einführung in die Informatik: Programmierung und Softwareentwicklung

Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund

Institut für Informatik

System.out.println("TEXT");

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

Programmierstarthilfe SS 2010 Fakultät für Ingenieurwissenschaften und Informatik 2. Blatt Für die Woche vom 3.5. bis zum 7.5.

14 Abstrakte Klassen, finale Klassen, Interfaces

Vorsichtige Programmierer verwenden Inkrement- Operatoren nicht in komplizierteren Ausdrücken

14 Abstrakte Klassen, finale Klassen, Interfaces. Auswertung von Ausdrücken. Beispiel. Abstrakte Methoden und Klassen

14 Abstrakte Klassen, finale Klassen, Interfaces

Erste Java-Programme (Scopes und Rekursion)

Anweisungen zur Ablaufsteuerung

Informatik 1 für Nebenfachstudierende Beispiele für Klausuraufgaben

Tutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2

hue12 January 24, 2017

Institut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt

Arrays und Schleifen

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

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Übungsstunde 3. Einführung in die Programmierung

JAVA - Methoden

Übungen zum Bioinformatik-Tutorium. Blatt 3

Prüfung Softwareentwicklung II (IB)

Prüfung Softwareentwicklung I (IB)

Programmierpraktikum

Java I Vorlesung Imperatives Programmieren

Gedächtnis. Während der Abarbeitung eines Algorithmus müssen sich Dinge gemerkt werden bzw. auf Dingen wird gerechnet. Zugriff.

Programmieren in C (Übungsblatt 1)

Klausur Grundlagen der Programmierung

12 Abstrakte Klassen, finale Klassen und Interfaces

Prüfung Softwareentwicklung I (IB)

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Javakurs für Anfänger

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

Programmieren in C (Übungsblatt 1)

Übungen zu Einführung in die Informatik: Programmierung und Software-Entwicklung: Lösungsvorschlag

Prozeduren vs. Funktionen

Kontrollstrukturen: Wiederholungsanweisungen

Die einfachsten Anweisungen

Elementare Konzepte von

Java 8. Elmar Fuchs Grundlagen Programmierung. 1. Ausgabe, Oktober 2014 JAV8

Programmiertechnik Übungen zu Klassen & -methoden

Java für Anfänger Teil 4: Anweisungen. Programmierkurs Manfred Jackel

Institut für Programmierung und Reaktive Systeme 5. Dezember Programmieren I. 5. Übungsblatt

Javakurs für Anfänger

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

Martin Unold INFORMATIK. Geoinformatik und Vermessung

JAVA BASICS. 2. Primitive Datentypen. 1. Warum Java? a) Boolean (logische Werte wahr & falsch)

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

Objektorientierte Programmierung Studiengang Medieninformatik

Java: Eine kurze Einführung an Beispielen

Aufgabe 1.1. Wählen Sie jene Variablendeklarationen mit Initialisierungen aus, die in Java hinsichtlich der Typen korrekt sind:

Programmieren in C (Übungsblatt 1)

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

Informatik I - Einstiegskurs

Übungen zu Algorithmen

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 4 Besprechung: 19. 23.11.2018 (KW 47) Vorbereitende Aufgaben Aufgabe 4.1: Zeitumrechnung Vorbereitung In dieser Aufgabe wollen wir ein Verständnis für die Ganzzahldivision, Modulorechnung und für große Zahlen entwickeln. Unser Ziel wird es sein, ein Programm zu schreiben, welches eine Uhrzeit ausgeben kann. In vielen Rechnersystemen werden Zeitpunkte nämlich in vergangenen Sekunden seit dem 1.1.1970 angegeben. Diese Zeitpunkte werden Zeitstempel genannt. Anhand solcher Zeitstempel können wir also Uhrzeiten berechnen. Beispiel: Der Zeitstempel 42 repräsentiert den 1.1.1970 00:00:42 Uhr, der Zeitstempel 86.400 = 24 60 60 den 2.1.1970 00:00:00 Uhr und der Zeitstempel 554.992.367 den 3.8.1987 12:32:47 Uhr. Lösen Sie nun folgenden Aufgaben: Wie viele ganze Tage sind zum Zeitstempel 3.888.000 vergangen? Wie viele ganze Tage sind zum Zeitstempel 630.720.000 vergangen? Wo steht der Minuten- und Sekundenzeiger einer Uhr zum Zeitstempel 1.428.866.372? Wie viele Sekunden seit Tagesbeginn sind zum Zeitstempel 1.030.637.317 vergangen? Übungsblatt 4 Seite 1 von 5

Präsenzaufgaben Aufgabe 4.2: Variablen Wiederholung Bevor wir das Programm zur Berechnung einer Uhrzeit schreiben, wollen wir den Umgang mit Variablen wiederholen. Wie deklarieren Sie eine Variable vom Typ double mit dem Namen velocity? Wie weisen Sie einer bereits deklarierten Variable mit dem Namen value den Wert 25 zu? Wie deklarieren Sie eine Variable vom Typ int mit dem Namen sum und initialisieren diese mit der Summe zweier bereits deklarierten und initialisierten Variablen x und y? Aufgabe 4.3: Zeitumrechnung Implementierung Wir werden nun die in Aufgabe 1 gewonnenen Erkenntnisse nutzen, um ein Programm zur Umrechnung der Uhrzeit zu schreiben. a) Legen Sie eine neue Klassendatei mit dem Namen Clock an. Passen Sie die Datei so an, dass sie diesem Grundgerüst entspricht: 1 package blatt04; 2 3 public class Clock { 4 5 public static void main(string[] args) { 6 /* Anfang des Programmcodes */ 7 8 /* Ende des Programmcodes */ 9 } 10 } Das Programm soll nun innerhalb des durch Kommentare markierten Bereiches implementiert werden. b) Um eine Uhrzeit zu repräsentieren, benötigen wir drei Werte: Stunden, Minuten und Sekunden. Verwenden Sie hierfür drei Variablen mit den Namen seconds, minutes und hours. Zusätzlich möchten wir den Zeitstempel, also die Anzahl der verstrichenen Sekunden, in einer Variable mit dem Namen time speichern. Deklarieren Sie deshalb insgesamt vier long Variablen, in denen diese Werte gespeichert werden sollen. Übungsblatt 4 Seite 2 von 5

Wenn Sie die Variable time als int deklarieren würden, welches Problem kann in der Zukunft auftreten? c) Initialisieren Sie hinter den Deklarationen den Wert des Zeitstempels mit einem beliebigen Wert. Weisen Sie anschließend den Variablen für Stunde, Minute und Sekunde in Abhängigkeit zum Zeitstempel den passenden Wert durch eine Berechnung zu. d) Abschließend wollen wir die berechneten Werte nutzen, um die Zeit auszugeben. Rufen Sie die bekannte Systemfunktion System.out.println() auf und geben Sie einen informativen Text aus, der sowohl den gewählten Zeitstempel als auch die Uhrzeit ausgibt. Testen Sie auch das Programm mit einem Klick auf den Run-Button, wie es auf dem zweitem Übungsblatt beschrieben wurde. e) Was für Probleme gäbe es, würden wir seconds, minutes und hours als int deklarieren, time jedoch als long belassen? Aufgabe 4.4: if-anweisungen Bedingungen In dieser Aufgabe wollen wir uns mit der Auswertung boolescher Ausdrücke beschäftigen. Vervollständigen Sie die folgende Tabelle, indem Sie die folgenden Ausdrücke auswerten: Ausdruck boolescher Wert 5 > 6 false true && false true false (5 < 8) && (3 > 1) 17 < 11 (1 > 2 && true) true false && false true && false false 5 * 8 > 22 && 8 < 3 3 < 2 Übungsblatt 4 Seite 3 von 5

Aufgabe 4.5: if-anweisungen Bedingungen selber schreiben Überlegen Sie, welche Vorbedingungen erfüllt sein müssen, damit folgende Berechnungen ohne Laufzeitfehler ausgeführt werden können. Die Division zweier Zahlen a/b Die Wurzel aus der Zahl x ziehen Das Berechnen des Volumens eines Quaders mit den Längen a, b, c Aufgabe 4.6: if- und switch-anweisungen Wir wollen ein Programm schreiben, das Zahlen in Worten ausschreibt. Dabei betrachten wir nur natürliche Zahlen (inklusive 0). Das Programm wollen wir nun schrittweise mithilfe von if- und switch-anweisungen entwickeln. a) Erstellen Sie eine neue Klasse IntToText und legen Sie in der main-methode eine int-variable mit dem Namen number an. Fragen Sie in einer if-anweisung ab, ob number den Wert 0 hat und geben Sie in diesem Fall zero aus. Initialisieren Sie number mit verschiedenen Werten und testen Sie, ob genau dann, wenn number den Wert 0 hat, der Text ausgegeben wird. b) Erweitern Sie Ihr Programm um eine if-anweisung, die one ausgibt, wenn number den Wert 1 hat. Muss diese if-anweisung vor oder hinter der if-anweisung aus Aufgabenteil a) stehen? c) Erweitern Sie ihr Programm um die passenden Ausgaben bei den Werten 2 4. d) Des Weiteren interessiert uns, ob der Wert zwischen 5 und 7 oder größer als 7 ist. Geben Sie im Falle, dass der Wert number 5, 6 oder 7 ist, den Text between five and seven aus. Ist der Wert größer als 7, soll greater than seven ausgegeben werden. e) Wandeln Sie diese Ansammlung von if-anweisungen in eine switch-anweisung um. Übungsblatt 4 Seite 4 von 5

Ergänzende Aufgaben Aufgabe 4.7: Zahlen-Ausschreibung Betrachten Sie Ihren Code aus Aufgabe 6. Welche Änderungen sind nötig, um die Zahlen bis 99 richtig auszuschreiben? Eine konkrete Implementierung ist dabei nicht notwendig. Übungsblatt 4 Seite 5 von 5