18: Funktionen 2 – Tabelle von Summanden

 

Erstellen Sie mit Hilfe von Aufgabe 17 eine einfache Tabelle für die Anzahl der Summanden für Summen im Intervall [x1, ..., xn], Schrittweite = 1.

Lösung

import java.util.Scanner; 	// Scanner für die Eingabe von Werten

public class Aufgabe18
{
	public static int AnzahlSummanden(double dSumme)
	{ // Funktion berechnet die Anzahl der benötigten Summanden
		// Variablen Deklaration
		int iSummanden;
		double dAktuelleSumme;

		// Variablen Initialisierung
		iSummanden = 0;
		dAktuelleSumme = 0;

		while (dAktuelleSumme < dSumme)
		{
			++ iSummanden;
			dAktuelleSumme += 1. / iSummanden;
		} // end while
		return iSummanden;
	} // end AnzahlSummanden

	public static void main(String[] args)
	{
		// Variablen Deklaration
		Scanner scnEingabe = new Scanner(System.in);
		double dLinkeGrenze, dRechteGrenze;

		// Variablen Initialisierung
		System.out.println("Bitte Ergebnis der Summe als Intervall eingeben");
		System.out.print("  linke Grenze: ");
		dLinkeGrenze = scnEingabe.nextDouble();
		System.out.print("  rechte Grenze: ");
		dRechteGrenze = scnEingabe.nextDouble();

		// Ausgabe der Tabelle
		for (double d = dLinkeGrenze; d < dRechteGrenze; ++ d)
			System.out.println("Summe: "+d+" -> Summanden: "
				+  AnzahlSummanden(d));
	} // end main
} // end class