diff --git a/U10/OOP_10_HessmannNiehuesPedersen.pdf b/U10/OOP_10_HessmannNiehuesPedersen.pdf new file mode 100644 index 0000000..84258fd Binary files /dev/null and b/U10/OOP_10_HessmannNiehuesPedersen.pdf differ diff --git a/U10/OOP_10_HessmannNiehuesPedersen.tex b/U10/OOP_10_HessmannNiehuesPedersen.tex new file mode 100755 index 0000000..297495b --- /dev/null +++ b/U10/OOP_10_HessmannNiehuesPedersen.tex @@ -0,0 +1,27 @@ +\input{../src/header} % bindet Header ein (WICHTIG) + +\usepackage{svg} + +\newcommand{\dozent}{Prof. Dr. Claudia Müller-Birn, Barry Linnert} % <-- Names des Dozenten eintragen +\newcommand{\tutor}{Thierry Meurers} % <-- Name eurer Tutoriun eintragen +\newcommand{\tutoriumNo}{10} % <-- Nummer im KVV nachschauen +\newcommand{\ubungNo}{10} % <-- Nummer des Übungszettels +\newcommand{\veranstaltung}{Objektorientierte Programmierung} % <-- Name der Lehrveranstaltung eintragen +\newcommand{\semester}{SoSe 17} % <-- z.B. SoSo 17, WiSe 17/18 +\newcommand{\studenten}{Stefaan Hessmann, Jaap Pedersen, Mark Niehues} % <-- Hier eure Namen eintragen + +% /////////////////////// BEGIN DOKUMENT ///////////////////////// +\begin{document} +\input{../src/titlepage} % erstellt die Titelseite + + +\section{Aufgabe 1} +Auf der nächsten Seite befindet sich ein kleiner (unvolltändiger) Sketch wie das Programm strukturiert sein könnte. Klassen mit ähnlichem Verhalten (eckig, rund) werden zu abstrakten Subclassen der abstrakten oberklasse aller geometrischen Objekte zusammengefasst. Der Figurehandler verwaltet die Objekte. Dort kann ggf. eine GUI implementiert werden. Die Test-Klasse ist wie der Name schon sagt zum Testen da. +\begin{figure}[htbp] + \centering + \def\svgwidth{\columnwidth} + \input{diagram.pdf_tex} +\end{figure} + +%/////////////////////// END DOKUMENT %///////////////////////// +\end{document} diff --git a/U10/diagram.pdf b/U10/diagram.pdf new file mode 100644 index 0000000..5a1f7bd Binary files /dev/null and b/U10/diagram.pdf differ diff --git a/U10/diagram.pdf_tex b/U10/diagram.pdf_tex new file mode 100644 index 0000000..f2cca35 --- /dev/null +++ b/U10/diagram.pdf_tex @@ -0,0 +1,254 @@ +%% Creator: Inkscape inkscape 0.92.1, www.inkscape.org +%% PDF/EPS/PS + LaTeX output extension by Johan Engelen, 2010 +%% Accompanies image file 'diagram.pdf' (pdf, eps, ps) +%% +%% To include the image in your LaTeX document, write +%% \input{.pdf_tex} +%% instead of +%% \includegraphics{.pdf} +%% To scale the image, write +%% \def\svgwidth{} +%% \input{.pdf_tex} +%% instead of +%% \includegraphics[width=]{.pdf} +%% +%% Images with a different path to the parent latex file can +%% be accessed with the `import' package (which may need to be +%% installed) using +%% \usepackage{import} +%% in the preamble, and then including the image with +%% \import{}{.pdf_tex} +%% Alternatively, one can specify +%% \graphicspath{{/}} +%% +%% For more information, please see info/svg-inkscape on CTAN: +%% http://tug.ctan.org/tex-archive/info/svg-inkscape +%% +\begingroup% + \makeatletter% + \providecommand\color[2][]{% + \errmessage{(Inkscape) Color is used for the text in Inkscape, but the package 'color.sty' is not loaded}% + \renewcommand\color[2][]{}% + }% + \providecommand\transparent[1]{% + \errmessage{(Inkscape) Transparency is used (non-zero) for the text in Inkscape, but the package 'transparent.sty' is not loaded}% + \renewcommand\transparent[1]{}% + }% + \providecommand\rotatebox[2]{#2}% + \ifx\svgwidth\undefined% + \setlength{\unitlength}{621bp}% + \ifx\svgscale\undefined% + \relax% + \else% + \setlength{\unitlength}{\unitlength * \real{\svgscale}}% + \fi% + \else% + \setlength{\unitlength}{\svgwidth}% + \fi% + \global\let\svgwidth\undefined% + \global\let\svgscale\undefined% + \makeatother% + \begin{picture}(1,0.93719807)% + \put(0,0){\includegraphics[width=\unitlength,page=1]{diagram.pdf}}% + \put(0.74275362,0.65458937){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=2]{diagram.pdf}}% + \put(0.48067633,0.65458937){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=3]{diagram.pdf}}% + \put(0.7089372,0.62560386){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=4]{diagram.pdf}}% + \put(0.48067633,0.62560386){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=5]{diagram.pdf}}% + \put(0.71256039,0.59541063){\makebox(0,0)[lb]{\smash{float[][]}}}% + \put(0,0){\includegraphics[width=\unitlength,page=6]{diagram.pdf}}% + \put(0.46135266,0.59541063){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{coordinates}}}% + \put(0,0){\includegraphics[width=\unitlength,page=7]{diagram.pdf}}% + \put(0.48188406,0.68599034){\makebox(0,0)[lb]{\smash{EckigeFigur}}}% + \put(0,0){\includegraphics[width=\unitlength,page=8]{diagram.pdf}}% + \put(0.74275362,0.65458937){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=9]{diagram.pdf}}% + \put(0.48067633,0.65458937){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=10]{diagram.pdf}}% + \put(0.7089372,0.62560386){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=11]{diagram.pdf}}% + \put(0.48067633,0.62560386){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=12]{diagram.pdf}}% + \put(0.71256039,0.59541063){\makebox(0,0)[lb]{\smash{float[][]}}}% + \put(0,0){\includegraphics[width=\unitlength,page=13]{diagram.pdf}}% + \put(0.46135266,0.59541063){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{coordinates}}}% + \put(0,0){\includegraphics[width=\unitlength,page=14]{diagram.pdf}}% + \put(0.48188406,0.68599034){\makebox(0,0)[lb]{\smash{EckigeFigur}}}% + \put(0,0){\includegraphics[width=\unitlength,page=15]{diagram.pdf}}% + \put(0.52173913,0.48429952){\makebox(0,0)[lb]{\smash{Viereck}}}% + \put(0,0){\includegraphics[width=\unitlength,page=16]{diagram.pdf}}% + \put(0.52173913,0.48429952){\makebox(0,0)[lb]{\smash{Viereck}}}% + \put(0,0){\includegraphics[width=\unitlength,page=17]{diagram.pdf}}% + \put(0.67270531,0.48429952){\makebox(0,0)[lb]{\smash{Dreieck}}}% + \put(0,0){\includegraphics[width=\unitlength,page=18]{diagram.pdf}}% + \put(0.67270531,0.48429952){\makebox(0,0)[lb]{\smash{Dreieck}}}% + \put(0,0){\includegraphics[width=\unitlength,page=19]{diagram.pdf}}% + \put(0.14281401,0.48429952){\makebox(0,0)[lb]{\smash{Punkt}}}% + \put(0,0){\includegraphics[width=\unitlength,page=20]{diagram.pdf}}% + \put(0.14281401,0.48429952){\makebox(0,0)[lb]{\smash{Punkt}}}% + \put(0,0){\includegraphics[width=\unitlength,page=21]{diagram.pdf}}% + \put(0.5821256,0.09299517){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=22]{diagram.pdf}}% + \put(0.0736715,0.09299517){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptKreisKreis(RundeFigur, RundeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=23]{diagram.pdf}}% + \put(0.5821256,0.06400966){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=24]{diagram.pdf}}% + \put(0.0736715,0.06400966){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptKreisEck(RundeFigur, EckigeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=25]{diagram.pdf}}% + \put(0.5821256,0.03502415){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=26]{diagram.pdf}}% + \put(0.0736715,0.03502415){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptEckEck(EckigeFigur, EckigeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=27]{diagram.pdf}}% + \put(0.07487923,0.12439614){\makebox(0,0)[lb]{\smash{Utilities}}}% + \put(0,0){\includegraphics[width=\unitlength,page=28]{diagram.pdf}}% + \put(0.5821256,0.09299517){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=29]{diagram.pdf}}% + \put(0.0736715,0.09299517){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptKreisKreis(RundeFigur, RundeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=30]{diagram.pdf}}% + \put(0.5821256,0.06400966){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=31]{diagram.pdf}}% + \put(0.0736715,0.06400966){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptKreisEck(RundeFigur, EckigeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=32]{diagram.pdf}}% + \put(0.5821256,0.03502415){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=33]{diagram.pdf}}% + \put(0.0736715,0.03502415){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapptEckEck(EckigeFigur, EckigeFigur)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=34]{diagram.pdf}}% + \put(0.07487923,0.12439614){\makebox(0,0)[lb]{\smash{Utilities}}}% + \put(0,0){\includegraphics[width=\unitlength,page=35]{diagram.pdf}}% + \put(0.92874396,0.09299517){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=36]{diagram.pdf}}% + \put(0.76690821,0.09299517){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{main(String[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=37]{diagram.pdf}}% + \put(0.76811594,0.12439614){\makebox(0,0)[lb]{\smash{Test}}}% + \put(0,0){\includegraphics[width=\unitlength,page=38]{diagram.pdf}}% + \put(0.92874396,0.09299517){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=39]{diagram.pdf}}% + \put(0.76690821,0.09299517){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{main(String[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=40]{diagram.pdf}}% + \put(0.76811594,0.12439614){\makebox(0,0)[lb]{\smash{Test}}}% + \put(0,0){\includegraphics[width=\unitlength,page=41]{diagram.pdf}}% + \put(0.54528986,0.85628019){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=42]{diagram.pdf}}% + \put(0.28321256,0.85628019){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=43]{diagram.pdf}}% + \put(0.51147343,0.82729469){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=44]{diagram.pdf}}% + \put(0.28321256,0.82729469){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=45]{diagram.pdf}}% + \put(0.52838164,0.79710145){\makebox(0,0)[lb]{\smash{String}}}% + \put(0,0){\includegraphics[width=\unitlength,page=46]{diagram.pdf}}% + \put(0.26388889,0.79710145){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{name}}}% + \put(0,0){\includegraphics[width=\unitlength,page=47]{diagram.pdf}}% + \put(0.28442029,0.88768116){\makebox(0,0)[lb]{\smash{GeometryBase}}}% + \put(0,0){\includegraphics[width=\unitlength,page=48]{diagram.pdf}}% + \put(0.54528986,0.85628019){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=49]{diagram.pdf}}% + \put(0.28321256,0.85628019){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=50]{diagram.pdf}}% + \put(0.51147343,0.82729469){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=51]{diagram.pdf}}% + \put(0.28321256,0.82729469){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=52]{diagram.pdf}}% + \put(0.52838164,0.79710145){\makebox(0,0)[lb]{\smash{String}}}% + \put(0,0){\includegraphics[width=\unitlength,page=53]{diagram.pdf}}% + \put(0.26388889,0.79710145){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{name}}}% + \put(0,0){\includegraphics[width=\unitlength,page=54]{diagram.pdf}}% + \put(0.28442029,0.88768116){\makebox(0,0)[lb]{\smash{GeometryBase}}}% + \put(0,0){\includegraphics[width=\unitlength,page=55]{diagram.pdf}}% + \put(0.35990338,0.66908213){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=56]{diagram.pdf}}% + \put(0.0736715,0.66908213){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=57]{diagram.pdf}}% + \put(0.32608696,0.64009662){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=58]{diagram.pdf}}% + \put(0.0736715,0.64009662){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=59]{diagram.pdf}}% + \put(0.3442029,0.60990338){\makebox(0,0)[lb]{\smash{float[]}}}% + \put(0,0){\includegraphics[width=\unitlength,page=60]{diagram.pdf}}% + \put(0.05434783,0.60990338){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{mittelpunkt}}}% + \put(0,0){\includegraphics[width=\unitlength,page=61]{diagram.pdf}}% + \put(0.35869565,0.58091787){\makebox(0,0)[lb]{\smash{float}}}% + \put(0,0){\includegraphics[width=\unitlength,page=62]{diagram.pdf}}% + \put(0.05434783,0.58091787){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{radius}}}% + \put(0,0){\includegraphics[width=\unitlength,page=63]{diagram.pdf}}% + \put(0.07487923,0.70048309){\makebox(0,0)[lb]{\smash{RundeFigur}}}% + \put(0,0){\includegraphics[width=\unitlength,page=64]{diagram.pdf}}% + \put(0.35990338,0.66908213){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=65]{diagram.pdf}}% + \put(0.0736715,0.66908213){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{bewegefigur(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=66]{diagram.pdf}}% + \put(0.32608696,0.64009662){\makebox(0,0)[lb]{\smash{boolean}}}% + \put(0,0){\includegraphics[width=\unitlength,page=67]{diagram.pdf}}% + \put(0.0736715,0.64009662){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{ueberlapp(GeometryBase)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=68]{diagram.pdf}}% + \put(0.3442029,0.60990338){\makebox(0,0)[lb]{\smash{float[]}}}% + \put(0,0){\includegraphics[width=\unitlength,page=69]{diagram.pdf}}% + \put(0.05434783,0.60990338){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{mittelpunkt}}}% + \put(0,0){\includegraphics[width=\unitlength,page=70]{diagram.pdf}}% + \put(0.35869565,0.58091787){\makebox(0,0)[lb]{\smash{float}}}% + \put(0,0){\includegraphics[width=\unitlength,page=71]{diagram.pdf}}% + \put(0.05434783,0.58091787){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{radius}}}% + \put(0,0){\includegraphics[width=\unitlength,page=72]{diagram.pdf}}% + \put(0.07487923,0.70048309){\makebox(0,0)[lb]{\smash{RundeFigur}}}% + \put(0,0){\includegraphics[width=\unitlength,page=73]{diagram.pdf}}% + \put(0.28049517,0.48429952){\makebox(0,0)[lb]{\smash{Kreis}}}% + \put(0,0){\includegraphics[width=\unitlength,page=74]{diagram.pdf}}% + \put(0.28049517,0.48429952){\makebox(0,0)[lb]{\smash{Kreis}}}% + \put(0,0){\includegraphics[width=\unitlength,page=75]{diagram.pdf}}% + \put(0.45772947,0.35990338){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=76]{diagram.pdf}}% + \put(0.0736715,0.35990338){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleKreis(float[], float)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=77]{diagram.pdf}}% + \put(0.45772947,0.33091787){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=78]{diagram.pdf}}% + \put(0.0736715,0.33091787){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleViereck(float[][])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=79]{diagram.pdf}}% + \put(0.45772947,0.30193237){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=80]{diagram.pdf}}% + \put(0.0736715,0.30193237){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleDreieick(float[][])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=81]{diagram.pdf}}% + \put(0.45772947,0.27294686){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=82]{diagram.pdf}}% + \put(0.0736715,0.27294686){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstellePunkt(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=83]{diagram.pdf}}% + \put(0.45772947,0.24396135){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=84]{diagram.pdf}}% + \put(0.0736715,0.24396135){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{printList()}}}% + \put(0,0){\includegraphics[width=\unitlength,page=85]{diagram.pdf}}% + \put(0.45772947,0.21497585){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=86]{diagram.pdf}}% + \put(0.0736715,0.21497585){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{overlaps()}}}% + \put(0,0){\includegraphics[width=\unitlength,page=87]{diagram.pdf}}% + \put(0.07487923,0.39130435){\makebox(0,0)[lb]{\smash{FigureHandler}}}% + \put(0,0){\includegraphics[width=\unitlength,page=88]{diagram.pdf}}% + \put(0.45772947,0.35990338){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=89]{diagram.pdf}}% + \put(0.0736715,0.35990338){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleKreis(float[], float)}}}% + \put(0,0){\includegraphics[width=\unitlength,page=90]{diagram.pdf}}% + \put(0.45772947,0.33091787){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=91]{diagram.pdf}}% + \put(0.0736715,0.33091787){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleViereck(float[][])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=92]{diagram.pdf}}% + \put(0.45772947,0.30193237){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=93]{diagram.pdf}}% + \put(0.0736715,0.30193237){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstelleDreieick(float[][])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=94]{diagram.pdf}}% + \put(0.45772947,0.27294686){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=95]{diagram.pdf}}% + \put(0.0736715,0.27294686){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{erstellePunkt(float[])}}}% + \put(0,0){\includegraphics[width=\unitlength,page=96]{diagram.pdf}}% + \put(0.45772947,0.24396135){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=97]{diagram.pdf}}% + \put(0.0736715,0.24396135){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{printList()}}}% + \put(0,0){\includegraphics[width=\unitlength,page=98]{diagram.pdf}}% + \put(0.45772947,0.21497585){\makebox(0,0)[lb]{\smash{void}}}% + \put(0,0){\includegraphics[width=\unitlength,page=99]{diagram.pdf}}% + \put(0.0736715,0.21497585){\color[rgb]{0.36078431,0.39607843,0.41568627}\makebox(0,0)[lb]{\smash{overlaps()}}}% + \put(0,0){\includegraphics[width=\unitlength,page=100]{diagram.pdf}}% + \put(0.07487923,0.39130435){\makebox(0,0)[lb]{\smash{FigureHandler}}}% + \put(0,0){\includegraphics[width=\unitlength,page=101]{diagram.pdf}}% + \end{picture}% +\endgroup% diff --git a/U10/diagram.png b/U10/diagram.png new file mode 100644 index 0000000..22241d4 Binary files /dev/null and b/U10/diagram.png differ diff --git a/U10/diagram.svg b/U10/diagram.svg new file mode 100644 index 0000000..bd9a47c --- /dev/null +++ b/U10/diagram.svg @@ -0,0 +1,1356 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + float[][] + + + + + + coordinates + + + + + + + + + + + EckigeFigur + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + float[][] + + + + + + coordinates + + + + + + + + + + + EckigeFigur + + + + + + + + + + + + + + + + + + + + + Viereck + + + + + + + + + + + Viereck + + + + + + + + + + + + + + + + + + + + + Dreieck + + + + + + + + + + + Dreieck + + + + + + + + + + + + + + + + + + + + + Punkt + + + + + + + + + + + Punkt + + + + + + + + + + + + + + + + + + + + + + + boolean + + + + + + + + ueberlapptKreisKreis(RundeFigur, RundeFigur) + + + + + + boolean + + + + + + + + ueberlapptKreisEck(RundeFigur, EckigeFigur) + + + + + + boolean + + + + + + + + ueberlapptEckEck(EckigeFigur, EckigeFigur) + + + + + + + + + + + + Utilities + + + + + + + + + + + + + boolean + + + + + + + + ueberlapptKreisKreis(RundeFigur, RundeFigur) + + + + + + boolean + + + + + + + + ueberlapptKreisEck(RundeFigur, EckigeFigur) + + + + + + boolean + + + + + + + + ueberlapptEckEck(EckigeFigur, EckigeFigur) + + + + + + + + + + + + Utilities + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + + main(String[]) + + + + + + + + + + + + Test + + + + + + + + + + + + + void + + + + + + + + main(String[]) + + + + + + + + + + + + Test + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + String + + + + + + name + + + + + + + + + + + GeometryBase + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + String + + + + + + name + + + + + + + + + + + GeometryBase + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + float[] + + + + + + mittelpunkt + + + + + + float + + + + + + radius + + + + + + + + + + + RundeFigur + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + float[] + + + + + + mittelpunkt + + + + + + float + + + + + + radius + + + + + + + + + + + RundeFigur + + + + + + + + + + + + + + + + + + + + + Kreis + + + + + + + + + + + Kreis + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + erstelleKreis(float[], float) + + + + + + void + + + + + + + erstelleViereck(float[][]) + + + + + + void + + + + + + + erstelleDreieick(float[][]) + + + + + + void + + + + + + + erstellePunkt(float[]) + + + + + + void + + + + + + + printList() + + + + + + void + + + + + + + overlaps() + + + + + + + + + + + FigureHandler + + + + + + + + + + + + + void + + + + + + + erstelleKreis(float[], float) + + + + + + void + + + + + + + erstelleViereck(float[][]) + + + + + + void + + + + + + + erstelleDreieick(float[][]) + + + + + + void + + + + + + + erstellePunkt(float[]) + + + + + + void + + + + + + + printList() + + + + + + void + + + + + + + overlaps() + + + + + + + + + + + FigureHandler + + + + + + + + + + + + + + + + + + + diff --git a/U10/src/Dreieck.java b/U10/src/Dreieck.java new file mode 100644 index 0000000..ee48062 --- /dev/null +++ b/U10/src/Dreieck.java @@ -0,0 +1,9 @@ +/** + * Created by jaap on 03.07.17. + */ +public class Dreieck extends EckigeFigur { + public Dreieck(float[][] coordinates) { + super(coordinates); + } + +} diff --git a/U10/src/EckigeFigur.java b/U10/src/EckigeFigur.java new file mode 100644 index 0000000..f78ec8c --- /dev/null +++ b/U10/src/EckigeFigur.java @@ -0,0 +1,33 @@ +/** + * Created by jaap on 03.07.17. + */ +public abstract class EckigeFigur extends GeometryBase { + private int n_deges; + public float[][] coordinates; + + public EckigeFigur(float[][] coordinates) { + this.coordinates = coordinates; + } + + public void bewegefigur(float[] newPos) { + for (float[] coordinate : getCoordinates()) { + coordinate[0] += newPos[0]; + coordinate[1] += newPos[1]; + } + } + + boolean ueberlapp(GeometryBase figure) { + if (figure instanceof RundeFigur) { + return Utilities.ueberlapptKreisEck((RundeFigur) figure, this); + } else if (figure instanceof EckigeFigur) { + return Utilities.ueberlapptEckEck((EckigeFigur) figure, this); + } else { + System.out.println("Nicht unterstützte Figur"); + return false; + } + } + + public float[][] getCoordinates() { + return coordinates; + } +} diff --git a/U10/src/FigureHandler.java b/U10/src/FigureHandler.java new file mode 100644 index 0000000..a090b2a --- /dev/null +++ b/U10/src/FigureHandler.java @@ -0,0 +1,64 @@ +import java.util.ArrayList; + +/** + * Organizes Figures + */ +public class FigureHandler { + private ArrayList figures = new ArrayList<>(); + private int n_kreis = 1; + private int n_viereck = 1; + private int n_dreieck = 1; + private int n_punkt = 1; + + + public void erstelleKreis(float[] mittelpunkt, float radius){ + Kreis newKreis = new Kreis(mittelpunkt, radius); + newKreis.setName("Kreis"+n_kreis); + n_kreis++; + + figures.add(newKreis); + } + + public void erstelleViereck(float[][] coordinates){ + Viereck newViereck = new Viereck(coordinates); + newViereck.setName("Viereck"+n_viereck); + n_viereck++; + + figures.add(newViereck); + } + + public void erstelleDreieick(float[][] coordinates){ + Dreieck newDreieck = new Dreieck(coordinates); + newDreieck.setName("Dreieck"+n_dreieck); + n_dreieck++; + + figures.add(newDreieck); + } + + public void erstellePunkt(float[] mittlepunkt) { + Punkt newPunkt = new Punkt(mittlepunkt); + newPunkt.setName("Punkt"+n_punkt); + n_punkt++; + + figures.add(newPunkt); + } + + public void printList(){ + for (GeometryBase figure: figures) { + System.out.println(figure.getName()); + } + } + + /** + * Überprüft ob sich geometrische Objekte überlappen + */ + public void overlaps(){ + for(int i = 0; i < figures.size(); i++){ + for(int j = 0; j 1 bzw. t<0 setze t=1 bzw. t=0, damit werden die Endpunkte zur Abstandsberechnung genommen + if (t>1){ + t = (float) 1.0; + } else if(t<0){ + t = (float) 0.0; + } + float[] naechsterPunkt = {strecke[0]*t+linie[0][0],strecke[1]*t+linie[0][1]}; + double d =abstand(naechsterPunkt,A.getMittelpunkt()); + return d<=A.getRadius(); + + } + + private static float skalarProdukt(float[] a, float[] b){ + //helper funktion zur berechnung des Skalarprodukts + float sum = 0; + for(int i = 0; i < a.length; i++) { + sum += a[i] * b[i];} + return sum; + } + private static double abstand(float[] a, float[] b){ + //helper funktion zur abstandberechnung zwischen zwei Punkten + return Math.sqrt(Math.pow(a[0]-b[0],2)+Math.pow(a[1]-b[1],2)); + } +} + + + + + diff --git a/U10/src/Viereck.java b/U10/src/Viereck.java new file mode 100644 index 0000000..07b1ab0 --- /dev/null +++ b/U10/src/Viereck.java @@ -0,0 +1,9 @@ +/** + * Created by jaap on 03.07.17. + */ + +public class Viereck extends EckigeFigur { + public Viereck(float[][] coordinates) { + super(coordinates); + } +} diff --git a/U10/src/diagram.svg b/U10/src/diagram.svg new file mode 100644 index 0000000..454a651 --- /dev/null +++ b/U10/src/diagram.svg @@ -0,0 +1,1681 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + float[][] + + + + + + coordinates + + + + + + + + + + + + + + EckigeFigur + + + EckigeFigur + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + float[][] + + + + + + coordinates + + + + + + + + + + + + + + EckigeFigur + + + EckigeFigur + + + + + + + + + + + + + + + + + Viereck + + + Viereck + + + + + + + + + + + + + + Viereck + + + Viereck + + + + + + + + + + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Dreieck + + + Dreieck + + + + + + + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Dreieck + + + Dreieck + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Punkt + + + Punkt + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Punkt + + + Punkt + + + + + + + + + + + + + + + boolean + + + + + + + + ueberlapptKreisKreis(RundeFigur, RundeFigur) + + + + + + boolean + + + + + + + + ueberlapptKreisEck(RundeFigur, EckigeFigur) + + + + + + boolean + + + + + + + + ueberlapptEckEck(EckigeFigur, EckigeFigur) + + + + + + float[] + + + + + + + + linieSchneidetLinie(float[][], float[][]) + + + + + + float[] + + + + + + + + mUndB(float[][]) + + + + + + boolean + + + + + + + + schneidetKreisLinie(RundeFigur, float[][]) + + + + + + float + + + + + + + + skalarProdukt(float[], float[]) + + + + + + double + + + + + + + + abstand(float[], float[]) + + + + + + + + + + + + + + + Utilities + + + Utilities + + + + + + + + + + + + boolean + + + + + + + + ueberlapptKreisKreis(RundeFigur, RundeFigur) + + + + + + boolean + + + + + + + + ueberlapptKreisEck(RundeFigur, EckigeFigur) + + + + + + boolean + + + + + + + + ueberlapptEckEck(EckigeFigur, EckigeFigur) + + + + + + float[] + + + + + + + + linieSchneidetLinie(float[][], float[][]) + + + + + + float[] + + + + + + + + mUndB(float[][]) + + + + + + boolean + + + + + + + + schneidetKreisLinie(RundeFigur, float[][]) + + + + + + float + + + + + + + + skalarProdukt(float[], float[]) + + + + + + double + + + + + + + + abstand(float[], float[]) + + + + + + + + + + + + + + + Utilities + + + Utilities + + + + + + + + + + + + + + + void + + + + + + + + main(String[]) + + + + + + + + + + + + + + + Test + + + Test + + + + + + + + + + + + void + + + + + + + + main(String[]) + + + + + + + + + + + + + + + Test + + + Test + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + String + + + + + + name + + + + + + + + + + + + + + GeometryBase + + + GeometryBase + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + String + + + + + + name + + + + + + + + + + + + + + GeometryBase + + + GeometryBase + + + + + + + + + + + + + + + float[] + + + + + + mittelpunkt + + + + + + float + + + + + + radius + + + + + + + + + + + + + + RundeFigur + + + RundeFigur + + + + + + + + + + + + float[] + + + + + + mittelpunkt + + + + + + float + + + + + + radius + + + + + + + + + + + + + + RundeFigur + + + RundeFigur + + + + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Kreis + + + Kreis + + + + + + + + + + + + void + + + + + + + bewegefigur(float[]) + + + + + + boolean + + + + + + + ueberlapp(GeometryBase) + + + + + + + + + + + + + + Kreis + + + Kreis + + + + + + + + + + + + + + + void + + + + + + + erstelleKreis(float[], float) + + + + + + void + + + + + + + erstelleViereck(float[][]) + + + + + + void + + + + + + + erstelleDreieick(float[][]) + + + + + + void + + + + + + + erstellePunkt(float[]) + + + + + + void + + + + + + + printList() + + + + + + void + + + + + + + overlaps() + + + + + + + + + + + + + + FigureHandler + + + FigureHandler + + + + + + + + + + + + void + + + + + + + erstelleKreis(float[], float) + + + + + + void + + + + + + + erstelleViereck(float[][]) + + + + + + void + + + + + + + erstelleDreieick(float[][]) + + + + + + void + + + + + + + erstellePunkt(float[]) + + + + + + void + + + + + + + printList() + + + + + + void + + + + + + + overlaps() + + + + + + + + + + + + + + FigureHandler + + + FigureHandler + + + + + + + + + + + + + + + + + + + diff --git a/U10/src/diagram.uml b/U10/src/diagram.uml new file mode 100644 index 0000000..7ea7a1e --- /dev/null +++ b/U10/src/diagram.uml @@ -0,0 +1,65 @@ + + + JAVA + + + EckigeFigur + Viereck + Dreieck + Punkt + Utilities + Test + GeometryBase + RundeFigur + Kreis + FigureHandler + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Properties + Methods + + All + packageLocal + + diff --git a/U11/OOP_10_HessmannNiehuesPedersen.tex b/U11/OOP_10_HessmannNiehuesPedersen.tex new file mode 100755 index 0000000..e48d5f5 --- /dev/null +++ b/U11/OOP_10_HessmannNiehuesPedersen.tex @@ -0,0 +1,26 @@ +\input{../src/header} % bindet Header ein (WICHTIG) + +\usepackage{svg} + +\newcommand{\dozent}{Prof. Dr. Claudia Müller-Birn, Barry Linnert} % <-- Names des Dozenten eintragen +\newcommand{\tutor}{Thierry Meurers} % <-- Name eurer Tutoriun eintragen +\newcommand{\tutoriumNo}{10} % <-- Nummer im KVV nachschauen +\newcommand{\ubungNo}{11} % <-- Nummer des Übungszettels +\newcommand{\veranstaltung}{Objektorientierte Programmierung} % <-- Name der Lehrveranstaltung eintragen +\newcommand{\semester}{SoSe 17} % <-- z.B. SoSo 17, WiSe 17/18 +\newcommand{\studenten}{Stefaan Hessmann, Jaap Pedersen, Mark Niehues} % <-- Hier eure Namen eintragen + +% /////////////////////// BEGIN DOKUMENT ///////////////////////// +\begin{document} +\input{../src/titlepage} % erstellt die Titelseite + + +\section{Aufgabe 1} +\section{Aufgabe 2} + +\section{Aufgabe 3} +Die House-Klasse aus Übungsblatt 09 hat bereits ein Attribut $totalRooms$. Der Konstruktor kann so verändert werden, dass die Anzahl der Zimmer gesetzt werden kann. Dadurch lassen sich sowohl einfache Häuser, als auch Hochhäuser in der Straße verwalten. +\section{Aufgabe 4} +Es kann eine City-Klasse implementiert werden, in der die verschiedenen Straßen verwaltet werden können. Das funktioniert analog zu der Street-Klasse, die eine beliebige Zahl an Häusern verwalten kann. +%/////////////////////// END DOKUMENT %///////////////////////// +\end{document} diff --git a/U11/OOP_11_HessmannNiehuesPedersen.pdf b/U11/OOP_11_HessmannNiehuesPedersen.pdf new file mode 100644 index 0000000..f0c023f Binary files /dev/null and b/U11/OOP_11_HessmannNiehuesPedersen.pdf differ diff --git a/U9/src/A1.java b/U9/src/A1.java index 8d21a15..23bb972 100644 --- a/U9/src/A1.java +++ b/U9/src/A1.java @@ -7,10 +7,11 @@ public static void main(String[] args) { Scanner reader = new Scanner(System.in); boolean goOn = true; int year = 2017; - Street street = new Street(10); + Street street = new Street(10, year); showStreet(street); System.out.println(year); while (goOn == true) { + year++; street.setYear(year); System.out.println("How many families are moving out?: "); int movingOut = reader.nextInt(); @@ -24,7 +25,7 @@ public static void main(String[] args) { for (int family = 0; family < movingIn; family++) { street.newFamilyMovesToStreet(); } - year++; + showStreet(street); System.out.println(year); System.out.println("\nType 'END' to stop the simulation. Press 'ENTER' to continue to the next year."); diff --git a/U9/src/House.java b/U9/src/House.java index 0c578b0..0cb9dab 100644 --- a/U9/src/House.java +++ b/U9/src/House.java @@ -28,7 +28,7 @@ public House(int houseNumber, int buildYear, int totalRooms, int lifeSpan){ public House(int houseNumber, int buildYear) { this.buildYear = buildYear; this.houseNumber = houseNumber; - lifeSpan = 5; + lifeSpan = 10; totalRooms = 5; occupiedRooms = 0; canBreak = false; @@ -64,7 +64,7 @@ public int getUnoccupiedRooms() { } public void updateCanBreak(int theYear) { - if (theYear - buildYear > lifeSpan && occupiedRooms == 0) { + if (theYear - buildYear >= lifeSpan && occupiedRooms == 0) { canBreak = true; } } diff --git a/U9/src/Street.java b/U9/src/Street.java index 2b4c65a..ef85d67 100644 --- a/U9/src/Street.java +++ b/U9/src/Street.java @@ -32,7 +32,8 @@ public void setHouses(House[] houses) { } // Constructor - public Street(int totalProperty) { + public Street(int totalProperty, int year) { + this.year = year; this.numberOfHouses = 1; this.totalProperty = totalProperty; this.houses = new House[this.totalProperty]; @@ -125,7 +126,7 @@ private int findOccupiedHouse() { public void familyMovesAway() { int houseNumber = this.findOccupiedHouse(); if (houseNumber == -1){ - System.out.println("Nobody lives here you stupid F**K!"); + System.out.println("Nobody lives here..."); } else{this.houses[houseNumber].unoccupyRoom();} }