using System;
public class MyProgram
{
public static void Main(string[] args)
{
// Für die Summe wird die Variable summe deklariert.
double summe;
summe = 0;
// Für den Funktionswert, also den Wert, den die Funktion an der Stelle k hat, wird die Variable funktionswert deklariert.
double funktionswert;
// Die Variable i wird als Hilfsvariable deklariert, sie wird als Zähler der Durchläufe im weiteren Verlauf des Programmes verwendet.
int i;
// Für den Startwert des Index wird die Variable startindex deklariert. Mit ihr wird der Startpunkt der Summation festgelegt.
int startindex;
Console.WriteLine("Index des ersten Terms: ");
startindex = (int) inputValue();
// Für den Endwert des Index wird die Variable stopindex deklariert. Mit ihr wird der Endpunkt der Summation, also das letzte Summenglied, festgelegt.
int stopindex;
Console.WriteLine("Index des letzten Terms:");
stopindex = (int) inputValue();
for (i = startindex; i <= stopindex; i++)
{
// Da die Funktion bezüglich der Laufvariable, im Fall der Summe der natürlichen Zahlen, gerade f(n) = n ist, ist für den Funktionswert keine Berechnung nötig. Der Funktionswert entspricht dem aktuellen Wert des Laufindex.
// Um später das Programm auch für andere Summen wie zum Beispiel n^2 oder 1/n verwenden zu können, wurde hier dennoch eine Zuweisung für den Funktionswert gesetzt. Im Fall der Summe von n^2 muss nur die nachfolgende Zeile zu funktionswert = startwert * startwert angepasst werden.
funktionswert = startindex;
summe = summe + funktionswert;
startindex = startindex + 1;
}
Console.WriteLine(summe);
}
// .NET kann nur einzelne Zeichen oder ganze Zeilen aus der Konsole lesen.
// Die folgende Funktion löst das Problem.
private static double inputValue()
{
double result;
while (!double.TryParse(Console.ReadLine(), out result));
return result;
}
}