Vorbereitende Aufgaben

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

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

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

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

JAVA - Methoden

Einführung in die Programmierung 1

Grundlagen der Programmierung Prof. H. Mössenböck. 6. Methoden

Einführung in den Einsatz von Objekt-Orientierung mit C++ I

Java Einführung VARIABLEN und DATENTYPEN Kapitel 2

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

Kapitel 3: Variablen

Wiederholung Wozu Methoden? Methoden Schreiben Methoden Benutzen Rekursion?! Methoden. Javakurs 2012, 3. Vorlesung

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

Einführung Datentypen Verzweigung Schleifen. Java Crashkurs. Kim-Manuel Klein May 4, 2015

1. Erste Schritte 2. Einfache Datentypen 3. Anweisungen und Kontrollstrukturen 4. Verifikation 5. Reihungen (Arrays)

JAVA - Methoden - Rekursion

Einführung in die Java- Programmierung

Programmierkurs. Manfred Jackel

Java Einführung ABLAUFSTEUERUNG Kapitel 3 und 4

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

Einstieg in die Informatik mit Java

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

II.3.1 Rekursive Algorithmen - 1 -

3. Anweisungen und Kontrollstrukturen

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Javakurs für Anfänger

Klassen und Objekte. Einführung in Java. Folie 1 von Mai Ivo Kronenberg

Musterlösungen zur Klausur Informatik 3

Dieses Dokument enthält alle Teilaufgaben zur Java-Pflichtaufgabe für das Sommersemester Aufgabe 1 (Vier Gewinnt 1. Teil)

Einfache Rechenstrukturen und Kontrollfluss II

6. Iteration (Schleifenanweisungen)

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

Grundzüge der Wirtschaftsinformatik WS 2002/03. Wiederholung Java. Programmierzyklus. Heiko Rossnagel Problem

public class SternchenRechteckGefuellt {

Objektorientierte Programmierung OOP Programmieren mit Java

Algorithmische Kernsprache. Zuweisung, einfache und bedingte Anweisung, Blöcke, Schleifen, return, debugging.

Thread-Synchronisation in in Java. Threads Wechselseitiger Ausschluss Bedingte Synchronisation Beispiel: Warteschlangen

Objektorientierte Programmierung

FB Informatik. Fehler. Testplan

Institut für Informatik

Programmieren I. Kapitel 5. Kontrollfluss

Kapitel 9: Klassen und höhere Datentypen. Klassen und höhere. Objekte, Felder, Methoden. Küchlin/Weber: Einführung in die Informatik

Einführung in die Java- Programmierung

Vorlesung Programmieren

Einstieg in die Informatik mit Java

Java - Zahlen, Wahrheitswerte und Zeichen. Leibniz Universität IT Services Anja Aue

Primitive Datentypen

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

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

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

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

Java Einführung Methoden. Kapitel 6

Prof.Dr. Alfred Irber Dies ist keine Musterprüfung, sondern eine Sammlung von Aufgaben aus früheren Prüfungen "Programmieren"

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

Arbeiten mit JavaKara

PIWIN 1 Übung Blatt 5

Prof. H. Herbstreith Fachbereich Informatik. Leistungsnachweis. Informatik 1 WS 2001/2002

JAVA - Zufallszahlen

Einstieg in die Informatik mit Java

Programmierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder

SWE1 / Übung 2 ( )

5. Tutorium zu Programmieren

6 Speicherorganisation

Software-Engineering und Optimierungsanwendungen in der Thermodynamik

GI Vektoren

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

Aufgabenblatt 1: - Präsenzübung für die Übungen Do Mi Ausgabe Mi

5. Elementare Befehle und Struktogramme

Selbsteinstufungstest Vorkurs Programmieren

JavaScript. Dies ist normales HTML. Hallo Welt! Dies ist JavaScript. Wieder normales HTML.

AuD-Tafelübung T-B5b

CS1005 Objektorientierte Programmierung Bachelor of Science (Informatik)

Übungsblatt 3: Algorithmen in Java & Grammatiken

Übung zur Vorlesung Strukturiertes Programmieren WS 2014/15. Übungsblatt 1: JAVA - Erste Schritte Abgabe: Besprechung:

Programmiervorkurs WS 2012/2013. Schleifen und Methoden

Ausdrücke und primitive Typen

Java-Vorkurs Wintersemester 15/16

Eclipse Tutorial.doc

Modul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 1

Propädeutikum zur Programmierung

C.3 Funktionen und Prozeduren

Grundzüge der Programmierung. Wiederverwendung VERERBUNG

Klausur in Programmieren

Algorithmen und Datenstrukturen 01

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

Einführung in die Programmierung WS 2009/10. Übungsblatt 9: Objekt-Orientierung

Präzedenz von Operatoren

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

Welche Informatik-Kenntnisse bringen Sie mit?

Theorie zu Übung 8 Implementierung in Java

Methoden (fortgeschritten) in C# - 1

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 4 Besprechung: 13. 17.11.2017 (KW 46) Vorbereitende Aufgaben Aufgabe 4.1: Zeitumrechnung Vorbereitung Ziel dieser Aufgabe und Aufgabe 3 ist es, ein Verständnis für die Ganzzahldivision und große Zahlen zu entwickeln. Sie werden dazu schrittweise angeleitet, ein Programm zur Ausgabe einer Uhrzeit zu schreiben. In vielen Rechnersystemen werden Zeitpunkte in vergangenen Sekunden seit dem 1.1.1970 angegeben, diese nennt man Zeitstempel oder auch UNIX-Zeitstempel 1. Der Zeitstempel 42 z. B. repräsentiert den 1.1.1970 00:00:42, der Zeitstempel 86.400 = 24 60 60 den 2.1.1970 00:00:00 und der Zeitstempel 554.992.367 den 3.8.1987 12:32:47. Lösen Sie nun die 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 Sekundenzeiger einer Uhr zum Zeitstempel 1428866372? Wo der Minutenzeiger? Wie viele Sekunden seit Tagesbeginn sind zum Zeitstempel 1030637317 vergangen? 1 Auf diesem Übungszettel betrachten wir die Zeitzone nicht! Beachten Sie, wenn Sie Ihre Berechnungen maschinell überprüfen, dass UNIX-Zeitstempel in UTC angegeben sind. Übungsblatt 4 Seite 1 von 5

Präsenzaufgaben Aufgabe 4.2: Variablen Wiederholung In dieser Aufgabe sollen Sie den Umgang mit Variablen (Kapitel 3.1, Folie 5 18) wiederholen. Wie deklarieren Sie eine Variable vom Typ float 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 berechneten Ergebnisse nutzen, um ein Programm zu formulieren. a) Legen Sie eine neue Klassendatei mit dem Namen Clock an. Passen Sie die Datei an, sodass 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 Sie 3 Werte: Stunden, Minuten und Sekunden. Verwenden Sie dafür 3 Variablen mit den Namen seconds, minutes und hours. Zusätzlich möchten wir den Zeitstempel (Anzahl der verstrichenen Sekunden) in einer Variable mit dem Namen time vermerken. Deklarieren Sie deshalb insgesamt 4 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) Zu guter Letzt 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 das Programm nun mit einem Klick auf den Run-Button, wie es auf dem ersten Übungsblatt beschrieben wurde. e) Was für Schwierigkeiten gäbe es, würden wir seconds, minutes und hours als int deklarieren? Aufgabe 4.4: if-anweisungen Bedingungen In dieser Aufgabe sollen Sie sich 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 und switch-anweisungen In dieser Aufgabe schreiben Sie zum ersten Mal eine if-anweisung, die Sie später in eine switch- Anweisung umwandeln werden. Wir wollen ein Programm schreiben, das Zahlen in Worten ausschreibt. Dabei betrachten wir nur natürliche Zahlen (inklusive 0). Das wollen wir schrittweise 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 zwischen 5 und 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.6: Zahlen-Ausschreibung Betrachten Sie Ihren Code aus Aufgabe 5. Welche Änderungen sind nötig, um die Zahlen bis 99 richtig auszuschreiben? Übungsblatt 4 Seite 5 von 5