Advanced Programming
(object oriented programming)
Choose one of the following examples to derive your own classes and
class hierarchy.
Use virtual functions, maybe templates, test the classes and apply them in a code that uses STL and polymorphism.
- Sebastian Achert:
2D geometrical objects( triangle, rectangle, quadrangle,
square, circle, ellipse ) with methods area(), perimeter(). Write
a code that arranges a bunch of these figures. Check for intersection
of these figures.
- Clemens Schiffer, Jacob Wiesmeyr, Huber Ramsauer:
Matrix classes (dense, band, sparse [CRS-compressed row storage, Rüde
], symmetric with methods
matrix_vector_product(), access(i,j), diag()). Apply it to solve the Poisson-equation in 2D.
- Daniel Kraft; Sanjin Maržić, Sebastian Ramacher:
Chess figures (king, queen, rook, knight, bishop, pawn)
with methods position(), move(), color()). Write a code that starts at a
certain configuration on the chess board, moves the figures, checks
whether a move is possible and removes figures from the board if
necessary.Check for Check!
- Mario Rohrhofer, Michael Pontelli:
Cars and their accouterments
(basis, combi, elegance, sports, economy) with methods price(),
power(), loss_value_per_year. Set up a warehouse that sells them, e.g., picks offers in a certain price range.
- Stefan Rosenberger:
Transport means (train, ICE, slow train, car, PKW, LKW,
ship
[river, sea], airplane [transport, passengers] with methods capacity(),
passengers(), distance(), price_per_km). Write some
logistics to choose the best (different criteria) transport means for
certain tasks, e.g., transport 3 people from Übelbach
to Berlin.
- Daniel Hofstadler, Elias Windisch:
Trees (broad-leafed
tree, coniferous
tree, gymnosperm,
loosing leafs) with methods height(), diameter(), life_expectancy(), CO2-compensation)
are to be classified an evaluated. Generate a mixed forrest, determine
its value over the next 20 years (trees die, get deseases, are cut,
vegatation changes)
- University staff (students, intern, extern, employees,
secretary,
professor, phd-student). Filter these information wrt.
to various critera as staff-groups (number of professors+phd-student;
email list for professors+secretary, ...), duration of employment
(congratuate for 20 years),retirement in near future.
- Michael Kniely:
Sports(wo)men ( alpine skiing, ski jumper, cross country,
biathlon) with methods name(), country(), sponsor() and a
method
that a returns measure to compare sportsmen of the same type. Write a
code that simulates some sports event that presents the recent rankings
after each action od a sports(wo)man. That code has to be general
enough to operate with all sorts of sports(wo)men.
Read your input data from a file (use/modify module file_io), create also larger data sets.
Links:
Templates, STL, Libraries (ols)
- Vector and matrix operations, iterative schemes:
- Solvers for sparse linear systems