Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
modul:m320_2024:learningunits:lu02:aufgaben:zeichnen [2024/04/17 18:15] – angelegt - Externe Bearbeitung 127.0.0.1 | modul:m320_2024:learningunits:lu02:aufgaben:zeichnen [2024/08/12 07:50] (aktuell) – msuter | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
- | ====== LU02.A03 - Klassendiagramm zeichnen ====== | + | ====== LU02.A04 - Klassendiagramm zeichnen ====== |
- | + | <WRAP center round todo 60%> | |
+ | Zeichnen Sie ein UML Klassendiagramm anhand eines vorgegebenen Sourcecodes | ||
+ | </ | ||
- | === Ziel === | ||
- | Sie können aus einem vorgegeben Code das entsprechende Klassendiagramm zeichnen. | ||
- | === Auftrag === | + | ===== Auftrag |
- Wählen Sie 2 Codesequenzen aus (siehe unten, z.B. '' | - Wählen Sie 2 Codesequenzen aus (siehe unten, z.B. '' | ||
- | - Halten Sie sich an die UML-Notation | + | - Halten Sie sich an die UML-Notation. Verwenden Sie für das Erstellen der Diagramme ein Tool wie z.B. [[https:// |
- Ergänzen Sie das Diagramm um Initialisierung und/oder Zusicherung. Angaben dazu finden Sie im [[modul: | - Ergänzen Sie das Diagramm um Initialisierung und/oder Zusicherung. Angaben dazu finden Sie im [[modul: | ||
- | // | ||
- | === Dauer === | + | |
+ | ==== Dauer ==== | ||
20 Minuten | 20 Minuten | ||
- | === Abgabe === | ||
- | Exportieren Sie Ihre Digramme in ein PDF-Dokument und geben Sie dieses dann im Moodle-Kurs ab. | ||
+ | ==== Abgabe ==== | ||
+ | Exportieren Sie Ihre Diagramme in ein PDF-Dokument und geben Sie dieses dann im Moodle-Kurs ab. | ||
+ | |||
+ | ===== Codesequenzen ===== | ||
+ | ==== stack.py ==== | ||
+ | <code python> | ||
+ | class Stack: | ||
+ | |||
+ | def __int__(self): | ||
+ | self._items = [] | ||
+ | |||
+ | def is_empty(self) -> bool: | ||
+ | pass | ||
+ | |||
+ | def push(self, item: object) -> None: | ||
+ | pass | ||
+ | |||
+ | def pop(self) -> object: | ||
+ | pass | ||
+ | </ | ||
+ | |||
+ | ==== sudoku.py ==== | ||
+ | <code python> | ||
+ | import math | ||
+ | |||
+ | |||
+ | class Board: | ||
+ | |||
+ | def __init__(self, | ||
+ | self._data = data | ||
+ | self._rows = len(data) | ||
+ | self._cols = len(data[0]) | ||
+ | self._size = self.rows | ||
+ | self._block_size = int(math.sqrt(self.size)) | ||
+ | |||
+ | @property | ||
+ | def rows(self) -> list: | ||
+ | return self._rows | ||
+ | |||
+ | @property | ||
+ | def cols(self) -> list: | ||
+ | return self._cols | ||
+ | |||
+ | @property | ||
+ | def size(self) -> int: | ||
+ | return self._size | ||
+ | |||
+ | @property | ||
+ | def block_size(self) -> int: | ||
+ | return self._block_size | ||
+ | |||
+ | def get_col(self, | ||
+ | pass | ||
+ | |||
+ | def get_row(self, | ||
+ | pass | ||
+ | |||
+ | def get_box(self, | ||
+ | pass | ||
+ | |||
+ | def rows_have_correct_size(self) -> bool: | ||
+ | pass | ||
+ | </ | ||
+ | |||
+ | ==== bicycle.py ==== | ||
+ | <code python> | ||
+ | class Bicycle: | ||
+ | """ | ||
+ | Die Klasse stellt eine vereinfachte Beschreibung eines Fahrrads dar. | ||
+ | Es werden nur die Attribute color, seats, gear, | ||
+ | """ | ||
+ | |||
+ | def __init__(self, | ||
+ | """ | ||
+ | Initialisiert das Fahrrad mit seiner Farbe und der Anzahl der sitze. | ||
+ | Per default ist der Wert auf 1 festgelegt. | ||
+ | :param color: | ||
+ | :return: | ||
+ | """ | ||
+ | self.seats = seats | ||
+ | self._color = color | ||
+ | |||
+ | def accelerate(self): | ||
+ | """ | ||
+ | diese Methode beschleunigt das Fahrrad | ||
+ | """ | ||
+ | pass | ||
+ | |||
+ | def slow_down(self): | ||
+ | """ | ||
+ | Diese Methode bremst das Fahrrad | ||
+ | """ | ||
+ | pass | ||
+ | |||
+ | def drive(self): | ||
+ | """ | ||
+ | Diese Methode bewegt das Fahrrad mit der aktuellen Geschwindigkeit | ||
+ | """ | ||
+ | pass | ||
+ | |||
+ | @property | ||
+ | def color(self): | ||
+ | """ | ||
+ | liefert die Farbe des Fahrrades | ||
+ | :return: | ||
+ | """ | ||
+ | return self._color | ||
+ | |||
+ | @property | ||
+ | def seats(self): | ||
+ | """ | ||
+ | liefert die Anzahl der Sitze des Fahrrades | ||
+ | :return: | ||
+ | """ | ||
+ | return self._seats | ||
+ | |||
+ | @seats.setter | ||
+ | def seats(self, value): | ||
+ | """ | ||
+ | Setzt die Anzahl der Sitze des Fahrrades. Der Wert kann nur 1 oder 2 (Tandem) sein. | ||
+ | :return: | ||
+ | """ | ||
+ | if value >= 1 and value <= 2: | ||
+ | self._seats = value | ||
+ | </ | ||
+ | |||
+ | ==== grade.py ==== | ||
+ | <code python> | ||
+ | class Grade: | ||
+ | """ | ||
+ | Eine Zeugnisnote beschreibt eine Leistung mit Werten von 1 (schlecht) bis 6 (sehr gut). | ||
+ | Die Werte werden i.d.R. als Ganz- und Halbnoten festgehalten, | ||
+ | Der Notenwert wird im Konstruktor gesetzt, kann aber mittels der setMethode angepasst | ||
+ | werden. Dabei muss der Notenbereich (1..6) zugesichert werden. | ||
+ | Über getNote kann der Notenwert ausgelesen werden. | ||
+ | """ | ||
+ | |||
+ | def __init__(self, | ||
+ | """ | ||
+ | Die Note wird mit einem Wert initialisiert | ||
+ | :param score: ein Wert im Bereich 1.0 .... 6.0 | ||
+ | """ | ||
+ | self.score(new_score) | ||
+ | |||
+ | @property | ||
+ | def score(self, score): | ||
+ | """ | ||
+ | Legt einen neuen Notenwert fest. | ||
+ | Der Wert muss im Bereich 1.0 .... 6.0 liegen. Ist dies nicht der Fall, | ||
+ | liefert die Methoden den Wert False (Zuweisung nicht erfolgreich). | ||
+ | :param score: | ||
+ | :return: True bei erfolgreicher Zuweisung, sonst False | ||
+ | """ | ||
+ | if (score >= 1.0) and (score <= 6.0): | ||
+ | self._score = score | ||
+ | return True | ||
+ | else: | ||
+ | return False | ||
+ | @score.setter | ||
+ | def score(self): | ||
+ | """ | ||
+ | Liefert den Notenwert | ||
+ | :return: Notenwert | ||
+ | """ | ||
+ | return self._score | ||
+ | |||
+ | def print(self): | ||
+ | print(" | ||
+ | |||
+ | </ | ||
---- | ---- | ||
+ | {{tag> | ||
[[https:// | [[https:// |