Modellierung und Simulation - Objektorientierte Programmierung: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Keine Bearbeitungszusammenfassung |
Keine Bearbeitungszusammenfassung |
||
| Zeile 6: | Zeile 6: | ||
|} | |} | ||
=Aufgabe 9.1= | =Aufgabe 9.1 Strukturen und Klassen= | ||
Erweitern Sie den struct person durch weitere Komponenten, z. B.: | Erweitern Sie den struct person durch weitere Komponenten, z. B.: | ||
* Strasse, | * Strasse, | ||
| Zeile 56: | Zeile 56: | ||
end % classdef | end % classdef | ||
</source> | |||
|} | |||
=Aufgabe 9.2 Strukturen und Klassen= | |||
Erweitern Sie die Klasse Person um weitere Eigenschaften, analog zur vorherigen Aufgabe. Passen Sie auch die Funktionen <code>getPerson</code> und <code>printPerson</code> daran an. | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 9.2 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium">% | |||
% pers = Array mit Elementen der Klasse Person | |||
% | |||
function pers = getPerson( anz ) | |||
for( n = 1:anz ) % Einleseschleife: von 1 bis anz | |||
name = input( 'Name: ', 's' ); % als Text | |||
telnr = input( 'Tel.-Nr.: ' ); % als Zahl | |||
str = input( 'Strasse: ', 's' ); % als Text | |||
hnr = input( 'Haus.-Nr.: ' ); % als Zahl | |||
plz = input( 'PLZ: ' ); % als Zahl | |||
ort = input( 'Ort: ', 's' ); % als Text | |||
% neues n-tes Objekt von Person | |||
pers(n) = Person( name, telnr, str, hnr, plz, ort ); | |||
end | |||
end | |||
% | |||
% pers = Array mit Elementen der Klasse Person | |||
% | |||
function printPerson( pers ) | |||
anz = length( pers ); % Zahl der Personen | |||
fprintf( '\nMeine Freunde : \n' ); % Überschrift | |||
fprintf( '---------------\n' ); | |||
for( n = 1:anz ) % Ausgabeschleife | |||
pers(n).print; | |||
end | |||
end | |||
</source> | |||
|} | |||
=Aufgabe 9.4 Strukturen und Klassen= | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 9.3 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium"> | |||
</source> | |||
|} | |||
=Aufgabe 9.4 Strukturen und Klassen= | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 9.3 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium"> | |||
</source> | |||
|} | |||
=Aufgabe 9.5 Strukturen und Klassen= | |||
{| role="presentation" class="wikitable mw-collapsible mw-collapsed" | |||
| <strong>Musterlösung 9.5 </strong> | |||
|- | |||
| <source line lang="matlab" style="font-size:medium"> | |||
</source> | </source> | ||
|} | |} | ||
---- | ---- | ||
→ zurück zum Hauptartikel: [[BSE Modellierung und Simulation - SoSe25]] | → zurück zum Hauptartikel: [[BSE Modellierung und Simulation - SoSe25]] | ||
Version vom 16. Mai 2025, 10:06 Uhr
| Autor: | Prof. Dr.-Ing. Schneider |
| Termin: | 23.05.2025 |
Aufgabe 9.1 Strukturen und Klassen
Erweitern Sie den struct person durch weitere Komponenten, z. B.:
- Strasse,
- Hausnummer,
- Postleitzahl,
- Ort,
- Geburtsdatum [Array aus 3 Zahlen].
| Musterlösung 9.1 |
%
% >> p = Person( 'Hannah', '0815', 'Weg', 5, 22222, 'HH' )
% >> whos p
%
classdef Person
properties
name = '';
telnr = 0;
strasse = '';
hausnr = 1;
plz = 1;
ort = '';
end % properties
methods
function o = Person( name, telnr, str, hnr, plz, ort )
o.name = name;
o.telnr = telnr;
o.strasse = str;
o.hausnr = hnr;
o.plz = plz;
o.ort = ort;
end
function print( o )
fprintf( 'Name: %s, Tel.Nr.: %g,\n', ...
o.name, o.telnr );
fprintf( 'wohnt: %s %g, %g %s.\n', ...
o.strasse, o.hausnr, o.plz, o.ort );
end
function info( o )
fprintf( 'Telefonnummer %g gehört zu %s.\n', ...
o.telnr, o.name );
end
end % methods
end % classdef
|
Aufgabe 9.2 Strukturen und Klassen
Erweitern Sie die Klasse Person um weitere Eigenschaften, analog zur vorherigen Aufgabe. Passen Sie auch die Funktionen getPerson und printPerson daran an.
| Musterlösung 9.2 |
%
% pers = Array mit Elementen der Klasse Person
%
function pers = getPerson( anz )
for( n = 1:anz ) % Einleseschleife: von 1 bis anz
name = input( 'Name: ', 's' ); % als Text
telnr = input( 'Tel.-Nr.: ' ); % als Zahl
str = input( 'Strasse: ', 's' ); % als Text
hnr = input( 'Haus.-Nr.: ' ); % als Zahl
plz = input( 'PLZ: ' ); % als Zahl
ort = input( 'Ort: ', 's' ); % als Text
% neues n-tes Objekt von Person
pers(n) = Person( name, telnr, str, hnr, plz, ort );
end
end
%
% pers = Array mit Elementen der Klasse Person
%
function printPerson( pers )
anz = length( pers ); % Zahl der Personen
fprintf( '\nMeine Freunde : \n' ); % Überschrift
fprintf( '---------------\n' );
for( n = 1:anz ) % Ausgabeschleife
pers(n).print;
end
end
|
Aufgabe 9.4 Strukturen und Klassen
| Musterlösung 9.3 |
Aufgabe 9.4 Strukturen und Klassen
| Musterlösung 9.3 |
Aufgabe 9.5 Strukturen und Klassen
| Musterlösung 9.5 |
→ zurück zum Hauptartikel: BSE Modellierung und Simulation - SoSe25