Übung Informatik I - Programmierung - Blatt 3
|
|
- Ewald Feld
- vor 7 Jahren
- Abrufe
Transkript
1 RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D Aachen GERMANY LuFG Informatik II Prof. Dr. Jürgen Giesl Peter Schneider-Kamp, René Thiemann, Thomas Weiler Übung Informatik I - Programmierung - Blatt 3 Die Übungsblätter sollen in Gruppen von je 2 Studierenden bearbeitet werden. Diese 2 Studierenden müssen aus derselben Übungsgruppe kommen. Lösungen können bis zum 11. November, 15.00h, in den Kasten für Ihre Übungsgruppe im Foyer in der Ahornstr. 55 eingeworfen werden. Bitte vergessen Sie nicht, die Nummer Ihrer Übungsgruppe sowie die Namen und Matrikelnummern der Mitglieder Ihrer 2er-Gruppe auf Ihre Abgabe zu schreiben. Alle erstellten Java-Programme sind sowohl in gedruckter Form abzugeben als auch per an den jeweiligen Tutor zu senden. Die für die Aufgaben 2 und 3 benötigten Hilfsklassen finden Sie im Anhang dieser Übung abgedruckt. Eine elektronische Version der Hilfklassen steht auch auf den WWW-Seiten der Vorlesung ( unter der Rubrik Übungen (Tutorien) zum Download bereit. Beachten Sie beim Programmieren unbedingt die in der Globalübung vorgestellten Programmierkonventionen, die auch im WWW unter der Rubrik Globalübung zu finden sind. Aufgabe 1 (3 Punkte) In imperativen Programmiersprachen ist häufig die repeat-until Schleife anzutreffen: repeat <Anweisungen> until <Bedingung> In EBNF: Repeat-Until-Schleife = "repeat" Anweisungen "until" Bedingung Dabei wird der Anweisungsblock Anweisungen solange ausgeführt, bis die Bedingung Bedingung erfüllt ist. Der Programmiersprache JAVA fehlt ein solches Konstrukt. Geben Sie daher jeweils allgemein eine äquivalente
2 a) While-Schleife b) Do-While-Schleife c) For-Schleife an, die das gleiche leistet bzw. belegen Sie durch ein Gegenbeispiel, dass eine solche äquivalente Schleife nicht existiert. Aufgabe 2 (3 + 1,5 Punkte) Für die Basis e des natürlichen Logarithmus kann eine Näherung mit Hilfe einer Reihenentwicklung berechnet werden. Die Formel für diese Reihenentwicklung ist: e = ! + 1 2! + 1 3! + 1 4! +... wobei der Ausdruck n! die Fakultät von n bezeichnet. a) Schreiben Sie drei Versionen eines Programms, welches mit Hilfe der oben beschriebenen Reihenentwicklung eine Näherung für die Basis e des natürlichen Logarithmus berechnet. Dabei soll die Berechnung abbrechen, wenn der Abstand zweier aufeinander folgenden Näherungen weniger als ein vom Benutzer eingegebenes ε > 0 beträgt. Verwenden Sie dabei als Schleifen jeweils ausschließlich (a) WHILE-Schleifen (b) DO-WHILE-Schleifen (c) FOR-Schleifen Zum Einlesen von ε können Sie die Methode public static double readdouble() der bereitgestellten Klasse IO.java nutzen. Den Absolutbetrag eines double- Wertes liefert die Methode Math.abs(double x). b) Wie viele Reihenglieder müssen berechnet werden, wenn (a) ε = 0, 1 (b) ε = 0, 01 (c) ε = 0, 001 ist? Geben Sie jeweils die Anzahl der benötigten Iterationsschritte sowie den genäherten Wert von e an.
3 Aufgabe 3 (3,5 Punkte) Julius Caesar verschlüsselte seine Nachrichten, indem er jeden Buchstaben des Textes um eine bestimmte Anzahl Zeichen im Alphabet verschob. Für einen Text t = a 0 a 1... a n mit a i { A,..., Z, a,..., z, 0 i n und einen Schlüssel k mit 0 < k < 26 gilt also: e(t) = e(a 0 )... e(a n ) mit e(a i ) = (a i + k) mod 26 (Verschlüsselung) d(t) = d(a 0 )... d(a n ) mit d(a i ) = (a i k) mod 26 (Entschlüsselung) Das Leerzeichen wird dabei nicht verschlüsselt, d.h. e( ) = d( ) =. Beispiel: t = Programmierung k = 10 e(programmierung) = Zbyqbkwwsobexq d(zbyqbkwwsobexq) = Programmierung Schreiben Sie ein Programm, welches es ermöglicht, einen Text nach dem beschriebenen Verfahren zu verschlüsseln und zu entschlüsseln. Dabei soll dem Benutzer zunächst ein Menü nach folgendem Muster (ohne den Rahmen) geboten werden: *** Auswahl *** 1 - Text verschluesseln 2 - Text entschluesseln 3 - ENDE Ihre Auswahl: a) Bei Eingabe einer 1 oder 2 soll der Benutzer zunächst nach dem verwendeten Schlüssel k gefragt werden. Wird dabei ein ungültiger Wert für k eingegeben, so soll der Benutzer darauf hingewiesen und zur Neueingabe aufgefordert werden. Julius Caesar benutzte übrigens immer k = 3. b) Nach der Eingabe des Schlüssels soll der Benutzer nach dem zu ver- bzw. entschlüsselnden Text gefragt werden. c) Danach soll das Programm den ver- bzw. entschlüsselten Text ausgeben und wieder zur Menüauswahl zurückkehren.
4 d) Bei Eingabe der Zahl 3 soll das Programm beendet werden. e) Wird eine ungültige Menüauswahl getroffen, so soll das Programm einen entsprechenen Hinweis ausgeben und den Benutzer zur Neueingabe auffordern. Hinweise: (i) Zur Berechnung des Modulo x mod y zweier Integer-Werte x und y können Sie die Methode MathExt.modulo(int x, int y) der bereitgestellten Klasse MathExt.java nutzen. Beachten Sie: In JAVA berechnet x % y den Rest r der ganzzahligen Division von x/y mit x = d y + r. In der JAVA-API existiert für die primitiven Zahlentypen keine Methode zur Berechnung von x mod y. (ii) Berücksichtigen Sie die korrekte Behandlung sowohl von Groß- als auch Kleinbuchstaben. (iii) Beachten Sie, dass gilt: A < Z < a < z. (iv) Zeichen, die nicht zur Menge {A,..., Z, a,..., z, gehören, brauchen nicht berücksichtigt zu werden. (v) Zur Eingabe eines Integer-Wertes können Sie die Methode public static int readint() der bereitgestellten Klasse IO.java verwenden. (vi) Zur Eingabe eines Textes (String) können Sie die Methode public static string readline() der bereitgestellten Klasse IO.java verwenden. Aufgabe 4 (2 + 7 Punkte) a) Erweitern Sie den Hoare-Kalkül um Regeln zur Behandlung von do-while- und for-schleifen, ohne (eventuell existierende) Transformationen von do-whilebzw. for-schleifen in while-schleifen zu verwenden. b) Gegeben sei der folgende Algorithmus P zur Berechnung der n-ten Fibonacci Zahl. Die Fibonacci Zahlen sind nach dem italienischen Mathematiker Leonardo Fibonacci (geb. um 1170, gest. um 1250) benannt. Sie bilden die Folge 0, 1, 1, 2, 3, 5, 8, 13,..., wobei jedes Glied gleich der Summe der beiden vorangehenden Glieder ist. Allgemein also:
5 fib(n) = fib(n 1) + fib(n 2) mit n 2 und fib(0) = 0 und fib(1) = 1 Zahlreiche Phänomene in der Natur treten als Fibonacci-Folgen auf. Beispielsweise ergeben die Anzahlen der nach rechts und nach links gebogenen Spiralen in einer Sonnenblume, in denen die Samen angeordnet sind, Fibonacci-Zahlen. Algorithmus: P Eingabe: n mit n IN = {0, 1, 2,... Vorbedingung: n 0 int currentfib = 0; int nextfib = 1; int i = 1; while (i <= n){ int tmp = nextfib; nextfib = currentfib + nextfib; currentfib = tmp; i = i + 1; Nachbedingung: currentfib = fib(n) Ausgabe: currentfib (a) Finden Sie eine geeignete Schleifeninvariante für die while-schleife. (b) Beweisen Sie die partielle Korrektheit von P bezüglich der Vor- und Nachbedingung mit dem Hoare-Kalkül. (c) Beweisen Sie die Terminierung durch Angabe einer geeigneten Variante. (d) Warum liefert der Algorithmus, wenn er genau so in JAVA implementiert wird, für bestimmte n 0 trotz des Beweises der partiellen Korrektheit und der Terminierung ein falsches Ergebnis? Für welche n 0 liefert das zugehörige JAVA-Programm ein falsches Ergebnis?
6 Anhang Klasse IO.java import java. i o. ; /* Diese Klasse stellt Eingabemoeglichkeiten fuer * Strings ( readline), ganze Zahlen ( readint) und * Gleitkommazahlen ( double) zur Verfuegung. * * Autor: Peter Schneider- Kamp, T. Weiler * Erstellt: * Letzte Aenderung: public class IO { // lese eine Zeile aus der Standardeingabe public static S t r i n g readline ( ) { try { return new BufferedReader ( new InputStreamReader ( System. in ) ). readline ( ) ; catch ( IOException i o ) { System. e r r. p r i n t l n ( "IO-Fehler!" ) ; return "" ; // lese einen Integer aus der Standardeingabe public static int readint ( ) { try { return I n t e g e r. p a r s e I n t ( IO. readline ( ) ) ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Zahl!" ) ; return 0 ; /* * Liest einen Double- Wert von der Standardeingabe. * Dabei kann sowohl ein Punkt als auch ein Komma als * Dezimaltrennzeichen verwendet werden. public static double readdouble ( ) { double d = 0 ; try{
7 S t r i n g eingabe = IO. readline ( ) ; eingabe = eingabe. r e p l a c e A l l ( ",", "." ) ; d = Double. parsedouble ( eingabe ) ; catch ( NumberFormatException e ) { System. e r r. p r i n t l n ( "Keine Gleitkommazahl!" ) ; return d ; // fuer Abwaertskompatibilitaet mit alter IO. java public static int eingabe ( ) { return IO. readint ( ) ; Klasse MathExt.java /* * Diese Klasse stellt Methoden fuer mathematische Operationen * zur Verfuegung. * Thomas Weiler * Umgebung: JDK 1.4.2, Windows XP * Erstellt: public class MathExt { /* * Diese Methode berechnet x mod y public static int modulo ( int x, int y ) { int e r g e b n i s = x % y ; i f ( e r g e b n i s < 0) { e r g e b n i s = e r g e b n i s + y ; return e r g e b n i s ;
Übung Informatik I - Programmierung - Blatt 8
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK II RWTH Aachen D-5056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
MehrTutoraufgabe 1 (Hoare-Kalkül):
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Allgemeine Die Hausaufgaben sollen in Gruppen von je 2 Studierenden aus der gleichen Kleingruppenübung (Tutorium) bearbeitet
MehrInformatik B von Adrian Neumann
Musterlösung zum 7. Aufgabenblatt vom Montag, den 25. Mai 2009 zur Vorlesung Informatik B von Adrian Neumann 1. Java I Schreiben Sie ein Java Programm, das alle positiven ganzen Zahlen 0 < a < b < 1000
MehrPraktikum 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 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 7 Besprechung: 4. 8.12.2017 (KW 49) Vorbereitende
MehrInformatik I - Programmierung Globalübung Hoare-Kalkül. Thomas Weiler. Fachgruppe Informatik RWTH Aachen. T. Weiler, RWTH Aachen - 1 -
Informatik I - Programmierung Globalübung 11.11.2003 Hoare-Kalkül Thomas Weiler Fachgruppe Informatik RWTH Aachen T. Weiler, RWTH Aachen - 1 - Ariane 5 Die Ariane 5 ist das jüngste Modell der Trägerrakete
MehrÜbung zur Vorlesung Programmierung
RWTH Aachen Lehrgebiet Theoretische Informatik Frohn Reidl Rossmanith Sánchez Ströder WS 013/14 Übungsblatt 4 18.11.013 Übung zur Vorlesung Programmierung Aufgabe T8 Ein Stack ist eine Datenstruktur, die
MehrProgrammierkonventionen - 1 -
Die wichtigsten Bestandteile der Programmierkonventionen für Java werden hier erläutert. Dies sind: Schreibweise von Bezeichnern Einrückkonventionen Kommentare Programmierkonventionen - 1 - Einleitung
MehrAbschnitt 11: Korrektheit von imperativen Programmen
Abschnitt 11: Korrektheit von imperativen Programmen 11. Korrektheit von imperativen Programmen 11.1 11.2Testen der Korrektheit in Java Peer Kröger (LMU München) in die Programmierung WS 16/17 931 / 961
MehrBeispiel: Temperaturumwandlung. Imperative Programmierung. Schwerpunkte. 3. Grundlegende Sprachkonstruktionen imperativer Programme
Schwerpunkte 3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java Imperative Programmierung Beispiel für ein Programm aus drei Komponenten Variable,
MehrProgrammierpraktikum
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 04 (17.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrJava Übung. Übung 3. Werner Gaulke. 2. Mai Universität Duisburg-Essen Kommedia, Übung EinPro SS06, Einführung in Java - Übung.
Java Übung Übung 3 Universität Duisburg-Essen Kommedia, Übung EinPro SS06, 2. Mai 2006 (UniDUE) 2. Mai 2006 1 / 17 Aufgabe 1 Umwandeln von do while in for Schleife. Listing 1: aufgabe3 1.java 1 public
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2012/2013, SS 2013 Programmieren I + II Regeln der Code-Formatierung Die hier vorgestellten
Mehr! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 -
! 1. Erste Schritte! 2. Einfache Datentypen! 3. Anweisungen und Kontrollstrukturen! 4. Verifikation! 5. Reihungen (Arrays) II.1.4. Verifikation - 1 - 4. Verifikation! Spezifikation: Angabe, was ein Programm
Mehr2 Eine einfache Programmiersprache
2 Eine einfache Programmiersprache Eine Programmiersprache soll Datenstrukturen anbieten Operationen auf Daten erlauben Kontrollstrukturen zur Ablaufsteuerung bereitstellen Als Beispiel betrachten wir
MehrProgrammierkurs C++ Lösungen zum Übungsblatt 3. Nils Eissfeldt und Jürgen Gräfe. 2. November Aufgabe 5
Zentrum für Angewandte Informatik Köln Arbeitsgruppe Faigle / Schrader Universität zu Köln Lösungen zum Übungsblatt 3 Programmierkurs C++ Nils Eissfeldt und Jürgen Gräfe. November 001 Aufgabe 5 Innerhalb
Mehr{P} S {Q} {P} S {Q} {P} S {Q} Inhalt. Hoare-Kalkül. Hoare-Kalkül. Hoare-Tripel. Hoare-Tripel. Hoare-Tripel
Inhalt Hoare-Kalkül Formale Verifizierung Hoare-Kalkül while-sprache Terminierung Partielle / totale Korrektheit 4.0 Hoare-Kalkül entwickelt von C.A.R. (Tony) Hoare (britischer Informatiker), 1969 formales
MehrAusdrucksbäume in verschiedenen Darstellungen
Ausdrucksbäume in verschiedenen Darstellungen SWE-42 Infix mit notwendigen Klammern: (a + b) / (c - d) Infix vollständig geklammert: (((a) + (b)) / ((c) - (d))) Postfix a b + c d - / Präfix / + a b - c
MehrÜbung Praktische Informatik I
Übung Praktische Informatik I HWS 2008/2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 24.10.08 6-1 Heutige große Übung Hinweise
MehrEinstieg in die Informatik mit Java
Vorlesung vom 25.4.07, Anweisungen Übersicht 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung, Vorbereitungen 4 Verbundanweisung 5 Bedingte Anweisung 6 Auswahlanweisung 7 for
MehrEinstieg in die Informatik mit Java
1 / 47 Einstieg in die Informatik mit Java Anweisungen Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 47 1 Ausdrucksanweisung 2 Einfache Ausgabeanweisung 3 Einfache Eingabeanweisung,
MehrSystem.out.println("TEXT");
Inhaltsübersicht - Erstes Beispiel - Datentypen - Ausdrücke und Operatoren - Schleifen / Bedinungen - Struktogramme - Grundgerüst eines Programms in JAVA - Einlesen von Daten Erstes Beispiel public class
Mehr3. Grundlegende Sprachkonstruktionen imperativer Programme
3. Grundlegende Sprachkonstruktionen imperativer Programme Java-Beispiele: Temperature.java Keyboard.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 4. Nov. 2015 2 Schwerpunkte
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrÜbungen zu Algorithmen
Institut für Informatik Universität Osnabrück, 08.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 16.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen
MehrKlassenvariablen, Klassenmethoden
Einstieg in die Informatik mit Java, Vorlesung vom 11.12.07 Übersicht 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden 3 Aufruf einer Klassenmethode 4 Hauptprogrammparameter 5 Rekursion Klassenmethoden
MehrTutoraufgabe 1 (Starke Zusammenhangskomponenten):
für Informatik Prof. aa Dr. Ir. Joost-Pieter Katoen Allgemeine Hinweise: Datenstrukturen und Algorithmen SS1 Übungsblatt (Abgabe 4.0.01) Christian Dehnert, Friedrich Gretz, Benjamin Kaminski, Thomas Ströder
MehrProgrammieren I + II Regeln der Code-Formatierung
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme WS 2016/2017, SS 2017 Programmieren I + II Regeln der Code-Formatierung In diesem Dokument finden
MehrEinstieg in die Informatik mit Java
Vorlesung vom 6.11.07, Weitere Anweisungen Übersicht 1 Verbundanweisung 2 Bedingte Anweisung 3 Auswahlanweisung 4 for Schleife 5 while Schleife 6 do Schleife 7 break Anweisung 8 continue Anweisung 9 Leere
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Prof. Dr. Ralf Möller Universität zu Lübeck Institut für Informationssysteme Stefan Werner (Übungen) sowie viele Tutoren Teilnehmerkreis und Voraussetzungen Studiengänge
MehrTutoraufgabe 1 (Pilze):
Prof. aa Dr. J. Giesl Programmierung WS14/15 C. Aschermann, F. Frohn, J. Hensel, T. Ströder Tutoraufgabe 1 (Pilze): In dieser Aufgabe beschäftigen wir uns mit dem berühmten Gaunerpärchen Bonnie und Clyde.
Mehrpue13 January 28, 2017
pue13 January 28, 2017 1 Aufgabe 1 (Klammern und Anweisungsblöcke) Wie Sie in der Vorlesung gelernt haben, werden Anweisungsblöcke in Java nicht durch Einrückung, sondern mithilfe von geschweiften Klammern
MehrVariablen und Datentypen
Programmieren mit Python Modul 1 Variablen und Datentypen Selbstständiger Teil Inhaltsverzeichnis 1 Überblick 3 2 Teil A: Geldautomat 3 2.1 Einführung.................................. 3 2.2 Aufgabenstellung...............................
MehrStudent: Alexander Carls Matrikelnummer: Aufgabe: Beschreibung des euklidischen Algorithmus Datum:
Berufsakademie Stuttgart / Außenstelle Horb Studienbereich Technik Studiengang Informationstechnik Kurs IT2006, 2.Semester Dozent: Olaf Herden Student: Alexander Carls Matrikelnummer: 166270 Aufgabe: Beschreibung
MehrTutoraufgabe 1 (Zweierkomplement): Lösung: Programmierung WS16/17 Lösung - Übung 2
Prof. aa Dr. J. Giesl Programmierung WS16/17 F. Frohn, J. Hensel, D. Korzeniewski Tutoraufgabe 1 (Zweierkomplement): a) Sei x eine ganze Zahl. Wie unterscheiden sich die Zweierkomplement-Darstellungen
MehrÜbungen zu Algorithmen
Institut für Informatik Universität Osnabrück, 01.11.2016 Prof. Dr. Oliver Vornberger http://www-lehre.inf.uos.de/~ainf Lukas Kalbertodt, B.Sc. Testat bis 09.11.2016, 14:00 Uhr Nils Haldenwang, M.Sc. Übungen
MehrSoftwareentwicklung I (IB) Blatt 4
Blatt 4 Prof. Dr. Oliver Braun Fakultät für Informatik und Mathematik Hochschule München Letzte Änderung: 17.11.2017 14:47 Ab diesem Blatt führen unsinnige oder nichts sagende Commit-Messages zum Nichtbestehen
MehrAusdrücke und primitive Typen
Lehrstuhl für Bioinformatik Einführung in die Programmierung für Bioinformatiker Prof. B. Rost, Dr. L. Richter Blatt 04 14.11.2016 Ausdrücke und primitive Typen Aufgabe 4.1 Java-Quiz Wahr Falsch Der Ausdruck
MehrC++ Teil Schleifen. Man kann bestimme Anweisungen in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen.
C++ Teil 3 3.3 Schleifen Man kann bestimme en in einem Programm mehrfach ausführen lassen. Dazu gibt es in C++ verschiedene Schleifen. for-schleife for-schleife while-schleife do-while-schleife for ( Ausdruck1;
MehrEingabe und Ausgabe in Java. Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien
Eingabe und Ausgabe in Java Dr. Horst Treiblmaier Abteilung für Wirtschaftsinformatik WU Wien Eingabe Beispiel1 public class Input1 { public static void main(string[] args) { for (int i = 0; i < args.length;
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
MehrSchöner Programmieren
Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 20.11.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 20.11.07
MehrVorlesung Programmierung
- 1 - Vorlesung Programmierung Inhalt der Vorlesung Was ist ein Programm? Was sind grundlegende Programmierkonzepte? Wie konstruiert (entwickelt) man ein Programm? Welche Programmier-Paradigmen gibt es?
MehrInformatik 1 - Translation Studies in Information Technology. Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17
Informatik 1 - Translation Studies in Information Technology INF1 TSIT MUSTERLÖSUNG: PFLICHTÜBUNG 1 Musterlösung zum Aufgabenblatt der ersten Pflichtübung im Wintersemester 16/17 Praktikum zur Vorlesung
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 8. September 2014 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr
MehrEinführung in die Informatik Iterations
Motivation Einführung in die Informatik Iterations Konstruktion, Anwendungen, Varianten Wolfram Burgard Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen
MehrSchöner Programmieren
Schöner Programmieren Gerd Bohlender Institut für Angewandte und Numerische Mathematik Vorlesung: Einstieg in die Informatik mit Java 30.05.07 G. Bohlender (IANM UNI Karlsruhe) Schöner Programmieren 30.05.07
MehrInformatik I Übung, Woche 40
Giuseppe Accaputo 2. Oktober, 2014 Plan für heute 1. Fragen & Nachbesprechung Übung 2 2. Zusammenfassung der bisherigen Vorlesungsslides 3. Tipps zur Übung 3 Informatik 1 (D-BAUG) Giuseppe Accaputo 2 Nachbesprechung
MehrInformatik II - Tutorium 4
Informatik II - Tutorium 4 Vincent Becker vincent.becker@inf.ethz.ch 22.03.2017 Vincent Becker 27.03.2017 1 Übungsblatt 3 Vincent Becker 27.03.2017 2 U3.A1 Programmverifikation static int f(int i, int
MehrProgrammieren in Java
Programmieren in Java Vorlesung 02: Methoden Prof. Dr. Peter Thiemann Albert-Ludwigs-Universität Freiburg, Germany SS 2017 Peter Thiemann (Univ. Freiburg) Programmieren in Java JAVA 1 / 17 Inhalt Scanner
MehrSie müssen den Test bis 20:00 Uhr am Abgabetag dieses Übungszettels absolviert haben.
Informatik I Wintersemester 2013/14 Prof. Dr. Carsten Damm Georg-August-Universität Göttingen Dr. Henrik Brosenne Institut für Informatik Übung 6 Abgabe bis Dienstag, 10.12., 18:00 Uhr. Werfen Sie Ihre
MehrEinführung in die Programmierung I. 2.0 Einfache Java Programme. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung I 2.0 Einfache Java Programme Thomas R. Gross Department Informatik ETH Zürich Uebersicht 2.0 Einfache Java Programme Struktur Namen Output 2 Graphische Darstellung
MehrEinführung in die Informatik Iterationen
Einführung in die Informatik Iterationen Konstruktion, Anwendungen, Varianten Wolfram Burgard 1 Motivation Im vorangegangenen Kapitel haben wir mit der while-schleife eine Form von Wiederholungsanweisungen
MehrProgrammierkurs Java
Programmierkurs Java Dr. Dietrich Boles Aufgaben zu UE16-Rekursion (Stand 09.12.2011) Aufgabe 1: Implementieren Sie in Java ein Programm, das solange einzelne Zeichen vom Terminal einliest, bis ein #-Zeichen
MehrModul Entscheidungsunterstützung in der Logistik. Einführung in die Programmierung mit C++ Übung 2
Fakultät Verkehrswissenschaften Friedrich List, Professur für Verkehrsbetriebslehre und Logistik Modul Entscheidungsunterstützung in der Logistik Einführung in die Programmierung mit C++ Übung 2 SS 2016
MehrTutoraufgabe 1 (Programmanalyse):
Prof. aa Dr. M. Müller Programmierung WS15/16 C. Aschermann, J. Hensel, J. Protze, P. Reble Allgemeine Hinweise: Die Hausaufgaben sollen in Gruppen von je 3 Studierenden aus der gleichen Kleingruppenübung
MehrInstitut für Programmierung und Reaktive Systeme 20. November Programmieren I. 4. Übungsblatt
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 20. November 2017 Programmieren I 4. Übungsblatt Hinweis: Auf diesem und den folgenden Übungsblättern
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2013/14 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
MehrJAVA für Nichtinformatiker - Probeklausur -
JAVA für Nichtinformatiker - Probeklausur - Die folgenden Aufgaben sollten in 150 Minuten bearbeitet werden. Aufgabe 1: Erläutere kurz die Bedeutung der folgenden Java-Schlüsselwörter und gib Sie jeweils
MehrWie entwerfe ich ein Programm?
Wie entwerfe ich ein Programm? Welche Objekte brauche ich? Flussdiagramme für Programmablauf Vorcode Testcode Hauptcode Wir spielen Lotto! Borchers: Programmierung für Alle (Java), WS 06/07 Kapitel 5 +
MehrPraktikum 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 Fakultät für Informatik Lehrstuhl 14 Lars Hildebrand Übungsblatt 5 Besprechung: 20. 24.11.2017 (KW 47) Vorbereitende
MehrProgrammierpraktikum
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Praktikum: Grundlagen der Programmierung Programmierpraktikum Woche 05 (24.11.2016) Stefan Berktold s.berktold@tum.de PRÄSENZAUFGABEN Heutige Übersicht
Mehr! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.
! 1. Unterklassen und Vererbung! 2. Abstrakte Klassen und Interfaces! 3. Modularität und Pakete! 4. Ausnahmen (Exceptions) II.4.4 Exceptions - 1 - Ausnahmen (Exceptions( Exceptions) Treten auf, wenn zur
MehrTechnische Universität Braunschweig Institut für Programmierung und Reaktive Systeme
Technische Universität Braunschweig Institut für Programmierung und Reaktive Systeme Programmieren I Dr. Werner Struckmann 13. März 2017 Name: Vorname: Matrikelnummer: Kennnummer: Anrede: Frau Herr Studiengang:
MehrDas erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden.
Einfache Ein- und Ausgabe mit Java 1. Hallo-Welt! Das erste Programm soll einen Text zum Bildschirm schicken. Es kann mit jedem beliebigen Texteditor erstellt werden. /** Die Klasse hello sendet einen
MehrTECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 2006/2007 Praktikum Grundlagen der Programmierung Lösungsvorschläge zu Blatt 3 F. Forster, M.
MehrEinstieg in die Informatik mit Java
1 / 18 Einstieg in die Informatik mit Java Klassenvariablen, Klassenmethoden Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 18 1 Klassenmethoden 2 Besonderheiten von Klassenmethoden
MehrIntensivübung zu Algorithmen und Datenstrukturen
Intensivübung zu Algorithmen und Datenstrukturen Silvia Schreier Informatik 2 Programmiersysteme Martensstraße 3 91058 Erlangen Übersicht Programmierung Fallunterscheidung Flussdiagramm Bedingungen Boolesche
MehrEINI LW/WiMa. Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15
EINI LW/ Einführung in die Informatik für Naturwissenschaftler und Ingenieure Vorlesung 2 SWS WS 14/15 Dr. Lars Hildebrand Fakultät für Informatik Technische Universität Dortmund lars.hildebrand@tu-dortmund.de
MehrAusgabe:
Aufgabe 2.10: Schreiben Sie ein Programm, das zunächst die Quadratzahlen zu den Zahlen 1-10 mit Hilfe einer While- Schleife und danach die Quadratzahlen zu den Zahlen 3, 6, 9,.., 30 mit Hilfe einer For-Schleife
MehrInstitut für Programmierung und Reaktive Systeme 7. Juli Programmieren II. Übungsklausur
Technische Universität Braunschweig Dr. Werner Struckmann Institut für Programmierung und Reaktive Systeme 7. Juli 2017 Hinweise: Klausurtermine: Programmieren II Übungsklausur Programmieren I: 28. August
MehrSelbststudium OOP6 & ALG Programmieren 1 - H1103 Felix Rohrer
Kapitel 5.2 1. zu bearbeitende Aufgabe: 5.1 5.1: done 2. Auf Seite 133 wird in der Methode start()ein while-loop verwendet. Kreieren Sie ein Code-Fragment mit derselben Funktionalität unter Verwendung
MehrLösungsvorschlag Serie 2 Rekursion
(/) Lösungsvorschlag Serie Rekursion. Algorithmen-Paradigmen Es gibt verschiedene Algorithmen-Paradigmen, also grundsätzliche Arten, wie man einen Algorithmus formulieren kann. Im funktionalen Paradigma
MehrInstitut für Programmierung und Reaktive Systeme. Java 2. Markus Reschke
Java 2 Markus Reschke 07.10.2014 Datentypen Was wird gespeichert? Wie wird es gespeichert? Was kann man mit Werten eines Datentyps machen (Operationen, Methoden)? Welche Werte gehören zum Datentyp? Wie
MehrOperatoren für elementare Datentypen Bedingte Anweisungen Schleifen. Operatoren für elementare Datentypen Bedingte Anweisungen Schleifen
Programmieren I Martin Schultheiß Hochschule Darmstadt Wintersemester 2011/2012 1 / 25 Operatoren für elementare Datentypen Bedingte Schleifen 2 / 25 Zuweisungsoperator Die Zuweisung von Werten an Variablen
Mehr1 Fehler-Objekte: Werfen, Fangen, Behandeln
1 Fehler-Objekte: Werfen, Fangen, Behandeln Tritt während der Programm-Ausführung ein Fehler auf, wird die normale Programm-ausführung abgebrochen und ein Fehler-Objekt erzeugt (geworfen). Die Klasse Throwable
MehrProgrammieren in C (Übungsblatt 1)
21.02.2017 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen - 1 -
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
MehrProgrammieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Aufgabenblatt 3
Übung zur Vorlesung Programmieren, Wintersemester 13/14 Übungsleiter: Sebastian Ebers Allgemeines Aufgabenblatt 3 Abgabe: 10.12.2013, vor der Vorlesung (14:15 Uhr, AM 1) Max.
MehrEinstieg in die Informatik mit Java
1 / 17 Einstieg in die Informatik mit Java String Tokenizer Gerd Bohlender Institut für Angewandte und Numerische Mathematik Gliederung 2 / 17 1 Überblick Tokenizer 2 StringTokenizer 3 Verwendung von String.split
MehrDistributed Computing Group
JAVA TUTORIAL Distributed Computing Group Vernetzte Systeme - SS 06 Übersicht Warum Java? Interoperabilität grosse und gut dokumentierte Library weit verbreitet Syntax sehr nahe an C Erfahrung: Java wird
MehrEs ist für die Lösung der Programmieraufgabe nicht nötig, den mathematischen Hintergrund zu verstehen, es kann aber beim Verständnis helfen.
Ziele sind das Arbeiten mit Funktionen und dem Aufzählungstyp (enum), sowie - einfache Verzweigung (if else) - Alternativen switch case - einfache Schleifen (while oder do while) Aufgabe 3: Diese Aufgabe
MehrII.1.1. Erste Schritte - 1 -
! 1. Grundelemente der Programmierung! 2. Objekte, Klassen und Methoden! 3. Rekursion und dynamische Datenstrukturen! 4. Erweiterung von Klassen und fortgeschrittene Konzepte II.1.1. Erste Schritte - 1
MehrProgrammieren in C (Übungsblatt 1)
23.02.2016 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main() { printf("c-programmierung
MehrEinführung in die Programmierung WS 2009/10. Übungsblatt 7: Imperative Programmierung, Parameterübergabe
Ludwig-Maximilians-Universität München München, 04.12.2009 Institut für Informatik Prof. Dr. Christian Böhm Annahita Oswald, Bianca Wackersreuther Einführung in die Programmierung WS 2009/10 Übungsblatt
MehrProgrammieren in C (Übungsblatt 1)
27.02.2018 Aufgabe 1: Programmausführung Programmieren in C (Übungsblatt 1) a) Bitte geben Sie den folgenden Programmcode ein: /* Beispiel fuer Textausgaben */ #include int main(void) { printf("c-programmierung
Mehr3. Grundanweisungen in Java
3. Grundanweisungen in Java Die Grundanweisungen entsprechen den Prinzipien der strukturierten Programmierung 1. Zuweisung 2. Verzweigungen 3. Wiederholungen 4. Anweisungsfolge (Sequenz) Die Anweisungen
MehrMethoden. Gerd Bohlender. Einstieg in die Informatik mit Java, Vorlesung vom
Einstieg in die Informatik mit Java, Vorlesung vom 2.5.07 Übersicht 1 2 definition 3 Parameterübergabe, aufruf 4 Referenztypen bei 5 Überladen von 6 Hauptprogrammparameter 7 Rekursion bilden das Analogon
Mehr6. Iteration (Schleifenanweisungen)
6. Iteration (Schleifenanweisungen) Java-Beispiel: TemperatureTable.java K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 9. Nov. 2015 2 Schwerpunkte While-Anweisung: "abweisende"
MehrÜbung Programmierung WS 2007/08 - Blatt 5
RHEINISCH- WESTFÄLISCHE TECHNISCHE HOCHSCHULE AACHEN LEHR- UND FORSCHUNGSGEBIET INFORMATIK 2 RWTH Aachen D-52056 Aachen GERMANY http://programmierung.informatik.rwth-aachen.de LuFG Informatik II Prof.
Mehr7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04
7. Musterlösung zu Mathematik für Informatiker I, WS 2003/04 KATHRIN TOFALL Aufgabe 7. (Symmetrischer EEA). (9 Punkte) Ziel dieser Aufgabe ist es zu zeigen, was man gewinnt, wenn man bei der Division mit
MehrWS 05/06 mod Verifikation
3.3 Verifikation WS 05/06 mod 351 Verifikation ist der Beweis der Korrektheit eines Algorithmus relativ zu seiner Spezifikation. Die Aussagen gelten für alle Ausführungen des Algorithmus. Sie werden statisch
MehrAbgabe: (vor 12 Uhr)
TECHNISCHE UNIVERSITÄT MÜNCHEN FAKULTÄT FÜR INFORMATIK Lehrstuhl für Sprachen und Beschreibungsstrukturen WS 11/12 Einführung in die Informatik I Übungsblatt 1 Prof. Dr. Helmut Seidl, M. Schwarz, A. Herz,
MehrCoMa 04. Java II. Paul Boeck. 7. Mai Humboldt Universität zu Berlin Institut für Mathematik. Paul Boeck CoMa 04 7.
CoMa 04 Java II Paul Boeck Humboldt Universität zu Berlin Institut für Mathematik 7. Mai 2013 Paul Boeck CoMa 04 7. Mai 2013 1 / 13 Verzweigungen Wenn-Dann Beziehungen if (BEDINGUNG) { else if (BEDINGUNG2)
Mehr7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt
7. Einführung in C++ Programmieren / Algorithmen und Datenstrukturen 1 Prof. Dr. Bernhard Humm FB Informatik, Hochschule Darmstadt 1 Kontrollfragen Rekursion Was bedeutet Rekursion? Geben Sie Beispiele
MehrPraktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker
Praktikum aus Programmierung Dr. Michael Hahsler (WS 05/06) Projekt: Würfelpoker Gert Vasak Matrikelnummer 9150666 PROBLEMSTELLUNG Ziel Ziel dieses Projektes ist es, eine einfache Version des Brettspiels
MehrTechnische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 3
Technische Informatik für Ingenieure WS 2010/2011 Musterlösung Übungsblatt Nr. 3 25. Oktober 2010 Übungsgruppenleiter: Matthias Fischer Mouns Almarrani Rafał Dorociak Michael Feldmann Thomas Gewering Benjamin
MehrAlgorithmen und Datenstrukturen
Algorithmen und Datenstrukturen Wintersemester 2012/13 1. Vorlesung Kapitel 1: Sortieren Prof. Dr. Alexander Wolff Lehrstuhl für Informatik I Das Problem Eingabe Gegeben: eine Folge A = a 1, a 2,..., a
Mehr