Programmieren 1 - Strukturen - Klassen - Objekte
Programmieren 1 - Strukturen - Klassen - Objekte
Programmieren 1 - Strukturen - Klassen - Objekte
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
Funktionsorientierte Programmierung (Veraltet)<br />
FB Informatik<br />
Prof. Dr. R.Nitsch<br />
// Fraction.h<br />
#pragma once<br />
struct Fraction {<br />
int z,n;<br />
};<br />
Fraction add(Fraction op1, Fraction op2);<br />
Fraction subtract(Fraction op1, Fraction op2);<br />
// …<br />
Domäne des Systemprogrammierers<br />
Domäne des Anwendungsprogrammierers<br />
// Anwendung: Rechnen mit Brüchen<br />
#include "Fraction.h"<br />
int main() {<br />
Fraction frac1, frac2, sum;<br />
frac1.z=1; frac1.n=2; // kein Zugriffsschutz<br />
frac2=set(frac2,3,4);<br />
sum=add(frac1,frac2);<br />
// …<br />
// Fraction.cpp<br />
#include "Fraction.h"<br />
Fraction add(Fraction op1, Fraction op2) {<br />
if(op1.n==0||op2.n==0) // PRE<br />
exit(1); // aborts program<br />
Fraction result;<br />
result.z = op1.z*op2.n+op1.n*op2.z;<br />
result.n = op1.n*op2.n;<br />
return result;<br />
}<br />
Fraction subtract(Fraction op1, Fraction op2)<br />
{ /* … */ }<br />
// …<br />
Fraction set(Fraction op,int num, int denom)<br />
if(denom==0) exit(1); // PRE<br />
op.z=num; op.n=denom;<br />
return op;<br />
}<br />
Versuch einer kontrollierten Zustandsänderung<br />
- umständlich (3 Parameter)<br />
- unverbindlich (direkter Zugriff möglich)<br />
22.04.2013 2