01.03.2014 Aufrufe

Programmieren 1 - Strukturen - Klassen - Objekte

Programmieren 1 - Strukturen - Klassen - Objekte

Programmieren 1 - Strukturen - Klassen - Objekte

MEHR ANZEIGEN
WENIGER ANZEIGEN

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

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!