Einschub - Accumulate "Pattern"

Zum Einführen erstmal noch eine Art simpler Pattern aus dem Bereich Algorithmen ( kein Design Pattern !):

Bei vielen Programmierproblemen geht es um's Aufsummieren bzw. Akkumulieren von Sequenzen oder Arrays, z.B. Summe der Quadratzahlen von 1-N, Berechnung der Fakultät, Bestimmung des Mittelwerts, etc


int sum = 0;
for ( int i=1; i<=N; i++ ) {
  sum += i*i;
}
//
int fak = 1;
for ( int i=2; i<=N; i++ ) {
  fak *= i;
}
//
double sum = 0;
for ( int i=0; i<N; i++ ) {
  sum += a[i];
}
double mean = sum/N; // Mittelwert
//..

Oder am besten entsprechenden STL Algorithmus accumulate verwenden
\bgroup\color{green}\ensuremath{\Rightarrow}\egroup höhere Abstraktion

Allgemeines Muster für Vielzahl von Fragestellungen: Initialisieren, Akkumulieren in Schleife, ..




GDuckeck 2019-08-01