Sommersemester 2016 Übungsaufgaben zur Vorlesung Algorithmische Grundlagen http://tinyurl.com/AlgorithmischeGrundlagen Friedrich-Schiller-Universität Jena Institut für Informatik Stephan Fischer Martin Mundhenk Aufgaben zum 11.04.2016 Aufgabe 1: Dreiecksungleichung 5 Punkte Schreiben Sie ein Programm, das als Eingabe drei positive reelle Zahlen a, b und c erwartet. Wenn die Dreiecksungleichung für a, b und c erfüllt ist, d.h. wenn jede der Zahlen höchstens so groß wie die Summe der beiden Anderen ist, soll das Programm True (Wahr) ausgeben. Anderenfalls soll False (Falsch) ausgegeben werden. Testen Sie Ihr Programm, indem Sie folgende Fragen beantworten. Gibt es ein Dreieck mit den Seitenlängen: 1. a = 1, 7 cm, b = 2, 2 cm, c = 2, 2 cm, 2. a = 1, 5 cm, b = 2 cm, c = 0, 5 cm, 3. a = 2 cm, b = 1, 3 cm, c = 3, 4 cm? Aufgabe 2: Zeitumrechnung 5 Punkte Schreiben Sie ein Programm, das bei Eingabe einer Zeitspanne in Sekunden diese in vollständige Stunden, Minuten und Sekunden umrechnet und ausgibt. Zum Beispiel soll es bei Eingabe 59 59 Sekunde(n)“ ausgeben, jedoch bei Eingabe 60 1 Minute(n) 0 Sekunde(n)“. ” ” Was passiert, wenn Sie eine negative Zeitspanne eingeben? Aufgabe 3: Wochentag berechnen 5 Punkte Schreiben Sie ein Programm, das bei Eingabe eines beliebigen Datums (in Form von drei ganzen Zahlen) den zugehörigen Wochentag ausgibt. Für den Tag t im Monat m des Jahres j berechnet sich der Wochentag t0 wie folgt: 14 − m (b c steht für das Abrunden zur nächsten ganzen Zahl) j0 = j − 12 j0 j0 j0 x = j0 + − + 4 100 400 14 − m −2 m0 = m + 12 · 12 31 · m0 t0 = t + x + mod 7 (mod steht für die Modulo-Operation) 12 Der Zahlenwert von t0 entspricht jeweils einem Wochentag: 0=Sonntag, 1=Montag, 2=Dienstag usw. Testen Sie Ihr Programm, indem Sie folgende Fragen beantworten. Welcher Wochentag: 1. war der 21.7.1969 (Tag der Mondlandung)? 2. wird der 11.4.2017 sein? Schicken Sie Ihre Lösungen bis spätestens 11.04.2016 vor Beginn der Vorlesung per e-Mail an [email protected]. Achten Sie darauf, Ihre Programme gut zu kommentieren. Geben Sie am Ende einige Eingaben, mit denen Sie Ihr Programm getestet haben, sowie die entsprechenden Ausgaben an.