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:// | ||