Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   Mit Σ rechnen (https://www.delphipraxis.net/185024-mit-rechnen.html)

RooT314 8. Mai 2015 20:25

Mit Σ rechnen
 
Hallo Leute!

Ich versuche ein programm für den Matheunterricht zu programmieren.
Leider muss ich dafür das Summenzeichen Σ benutzen und wollte fragen ob ihr wisst ob man damit überhaupt in Delhi (Xe7) rechnen kann.
Habe bei Google leider nichts gefunden.

Gruß RooT

hathor 8. Mai 2015 20:57

AW: Mit Σ rechnen
 
SUM und SUMINT

http://www.delphibasics.co.uk/RTL.asp?Name=Sum
http://docwiki.embarcadero.com/Libra...em.Math.SumInt

RooT314 8. Mai 2015 21:44

AW: Mit Σ rechnen
 
Hey danke erstmal !

leider komme ich als anfänger damit nicht sehr weit :(

ich versuche schon den halben tag diese Formel in delphi hinzubekommen : p = Σ (i=k bis n) [(n!:((n-i)! · i!)) · (1/6)^i · (5/6)^(n-i)]

Das programm soll das Ergebniss dann in einem Edit feld anzeigen :)

Ich bin soweit gekommen, dass ich den einzelnen Variablen ihre Editfelder zugeteilt habe und sie vom String in ein Integer "umgewandelt" habe.

jetzt komme ich jedoch nicht weiter :/

kann mir wer helfen ? :S

Gruß RooT

Popov 8. Mai 2015 21:56

AW: Mit Σ rechnen
 
Ich lehne mich jetzt etwas aus dem Fenster in dem ich sage, einfach so wirst du es in Delphi nicht berechnen können. Delphi hat (nach meiner Kenntnis) keine Funktionen mit denen man Formeln auflösen oder berechnen kann.

Aber Computer sind ja dazu da um Aufgaben zu lösen und Delphi ist eine Programmierspreche. Wenn es nur um die eine Formel geht, kann man die sicher schon berechnen. Nur eher nicht als einzelen Formel.

Medium 8. Mai 2015 21:57

AW: Mit Σ rechnen
 
Das Summenzeichen so in dieser Form gibt es in Delphi nicht (in keiner Programmiersprache glaube ich). Du kannst entweder die zuvorgenannten fertigen Funktionen benutzen, am Ende ist eine Summenbildung aber auch nichts anderes als das Aufaddieren von N Werten in einer for-Schleife, was für deinen Fall, wo die Summanden wiederum aus einem Term bestehen, die bessere Variante ist:
Delphi-Quellcode:
var
  summe: Double;
  i, k, n: Integer;
begin
  summe := 0;
  for i := k to n do
    summe := summe + ((Fak(n)/(Fak(n-i) * Fak(i))) * Power(1/6, i) * Power(5/6, n-i);
end;
"Mit dem Summenzeichen arbeiten" (was auch immer das heissen soll) geht so direkt nicht.

Die Funktion Fak() gibt es imho nicht fertig in Delphi, aber unter dem Suchwort "Fakultät" lassen sich hier reichlich Beispiele dafür finden. Du wirst aber mit dieser Formel sehr schnell an die Grenzen der darstellbaren Zahlen gelangen, da die Zwischenergebnisse sehr groß werden können, je nach k und n. Da würde es dann nicht mehr viel mehr geben, als die Formel zu versuchen zu umzubauen, dass man die Riesenwerte in den Zwischenergebnissen los wird, oder eher schmutzig - eine Zahlen-Library nutzen, die entsprechend große Werte verarbeiten kann. Letzteres ist aber eher sehr unschön, und vor allem auch für Anfänger sicherlich nicht einfach zu durchblicken.

RooT314 8. Mai 2015 22:00

AW: Mit Σ rechnen
 
Zitat:

Zitat von Medium (Beitrag 1300784)
Das Summenzeichen so in dieser Form gibt es in Delphi nicht (in keiner Programmiersprache glaube ich). Du kannst entweder die zuvorgenannten fertigen Funktionen benutzen, am Ende ist eine Summenbildung aber auch nichts anderes als das Aufaddieren von N Werten in einer for-Schleife, was für deinen Fall, wo die Summanden wiederum aus einem Term bestehen, die bessere Variante ist:
Delphi-Quellcode:
var
  summe: Double;
  i, k, n: Integer;
begin
  summe := 0;
  for i := k to n do
    summe := summe + ((Fak(n)/(Fak(n-i) * Fak(i))) * Power(1/6, i) * Power(5/6, n-i);
end;
"Mit dem Summenzeichen arbeiten" (was auch immer das heissen soll) geht so direkt nicht.

Die Funktion Fak() gibt es imho nicht fertig in Delphi, aber unter dem Suchwort "Fakultät" lassen sich hier reichlich Beispiele dafür finden. Du wirst aber mit dieser Formel sehr schnell an die Grenzen der darstellbaren Zahlen gelangen, da die Zwischenergebnisse sehr groß werden können, je nach k und n. Da würde es dann nicht mehr viel mehr geben, als die Formel zu versuchen zu umzubauen, dass man die Riesenwerte in den Zwischenergebnissen los wird, oder eher schmutzig - eine Zahlen-Library nutzen, die entsprechend große Werte verarbeiten kann. Letzteres ist aber eher sehr unschön, und vor allem auch für Anfänger sicherlich nicht einfach zu durchblicken.

vielen vielen dank !
habe es jetzt verstanden :)


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:18 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz