matheraum.de
Raum für Mathematik
Offene Informations- und Nachhilfegemeinschaft

Für Schüler, Studenten, Lehrer, Mathematik-Interessierte.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Mathe
  Status Schulmathe
    Status Primarstufe
    Status Mathe Klassen 5-7
    Status Mathe Klassen 8-10
    Status Oberstufenmathe
    Status Mathe-Wettbewerbe
    Status Sonstiges
  Status Hochschulmathe
    Status Uni-Analysis
    Status Uni-Lin. Algebra
    Status Algebra+Zahlentheo.
    Status Diskrete Mathematik
    Status Fachdidaktik
    Status Finanz+Versicherung
    Status Logik+Mengenlehre
    Status Numerik
    Status Uni-Stochastik
    Status Topologie+Geometrie
    Status Uni-Sonstiges
  Status Mathe-Vorkurse
    Status Organisatorisches
    Status Schule
    Status Universität
  Status Mathe-Software
    Status Derive
    Status DynaGeo
    Status FunkyPlot
    Status GeoGebra
    Status LaTeX
    Status Maple
    Status MathCad
    Status Mathematica
    Status Matlab
    Status Maxima
    Status MuPad
    Status Taschenrechner

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Dt. Schulen im Ausland: Mathe-Seiten:Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
StartseiteMatheForenSoftwaretechnik und ProgrammierungFormel für Teilung
Foren für weitere Studienfächer findest Du auf www.vorhilfe.de z.B. Astronomie • Medizin • Elektrotechnik • Maschinenbau • Bauingenieurwesen • Jura • Psychologie • Geowissenschaften
Forum "Softwaretechnik und Programmierung" - Formel für Teilung
Formel für Teilung < Softwaretechnik+Pro < Praktische Inform. < Hochschule < Informatik < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Formel für Teilung: Idee 1
Status: (Frage) beantwortet Status 
Datum: 23:00 Do 21.11.2013
Autor: Estil

Ich habe diese Frage in keinem Forum auf anderen Internetseiten gestellt.

Hallo,

Ich habe folgende Situation zu bewältigen:

Es gibt eine Funktion in meiner Software die es mir ermöglicht eine bestimmte Menge durch eine beliebige natürliche Zahl zu teilen. Und danach das Resultat dies Operation in die gleiche Anzahl an Zeilen zu kopieren, wie durch die geteilt wurde. Die Menge kann eine beliebige positive Dezimalzahl sein, beinhaltet jedoch nie mehr als 3 Nachkommastellen. Das Resultat der erstellten Zeilen muss wieder die Gesamtmenge ergeben.

Beispiel:
100 / 4 = 25
ergibt: 4 Zeilen mit 25 ergeben 100 insgesamt

Das funktioniert wunderbar bis man z.B. versucht 100 durch 3 zu teilen:

33,3 Periode
33,3 Periode
33,3 Periode

Da die Software "unendlich" nicht verarbeiten kann, ergeben sich nun Differenzen bei der Summierung von 3 x 33,3 Periode. Das System kann die Menge 100 nicht mehr nachvollziehen.

Damit soetwas nicht vorkommt, habe ich mir folgendes überlegt:

Wenn geteilt werden soll, prüft das System erst ob das Resultat eine Dezimalzahl oder eine natürliche Zahl ergibt. Falles das Resultat eine natürliche Zahl ist, berechnet es eine normale Division.

Falls dies nicht der Fall ist, könnte es so (oder so ähnlich) reagieren:

Anhand der angegeben Menge berechnet es die letztmögliche Zahl die ohne Dezimalresultat durch die jeweilige Anzahl geteilt werden kann.

Es teilt diese Menge anschliessend und befüllt die alle folgenden Zeilen mit dem Resultat ausser der Letzten.

Die Menge der letzten Zeile ist also die Menge der vorherigen Zeilen + die anfangs nicht miteinbezogene Restmenge.

Beispiel:
Menge = 100
Teiler = 3
Letztmögliche Zahl < 100 die problemlos geteilt werden kann = 99

=> erste Zeile = 33
=> zweite Zeile = 33
=> dritte Zeile = 34

Problematisch bleiben bei dieser Überlegung nur die Fälle, wo die Menge keine natürliche, sondern eine Dezimalzahl ist und solche, wo der Teiler > Menge.

Mir fehlen die mathematische Weitsicht und Fähigkeiten, eine solche Formel zu erfinden, die all dies berücksichtigt.

Ich wäre sehr dankbar, selbst wenn es sich nur um Hinweise handelt, die mich weiterbringen würden, oder spezielle Dinge die jemand mir empfiehlt, etc.

Vielen Dank jedenfalls im Voraus

Mit freundlichen Grüssen






        
Bezug
Formel für Teilung: Antwort
Status: (Antwort) fertig Status 
Datum: 01:10 Fr 22.11.2013
Autor: leduart

Hallo Estil

                            [willkommenmr]

du kannst alle Zahlen erstmal mit 1000 multiplizieren, dann hast du keine Dezimalzahlen mehr. Am Ende alle Ergebnisse wieder durch 1000 teilen.
evt. ist dann auch das Problem Teiler größer Zahl  erreicht.
eigentlich müsste man wissen warum die Summe exakt die Ausgangszahl gibt.
Wozu dient denn das ganze?
Gruss leduart

Bezug
                
Bezug
Formel für Teilung: Infos
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 09:37 Fr 22.11.2013
Autor: Estil

Hallo,

vielen Dank! Auch für deine Antwort!
Dein Vorschlag hilft auf jeden Fall bzgl. der Dezimalzahlen die geteilt werden müssen.

Also, das Ganze soll dem Zwecke der Planung dienen.
Du hast zB. einen Auftrag mit 15 Dienstleistungen oder 10mt von irgendeinem Material. Nun soll die Software aber nicht nur "wissen", dass du 10mt im Auftrag hast, sondern auch noch differenzieren, in welchen Zeitperioden diese 10mt benötigt oder rausgehen sollen. Damit ermöglichst du der Software dann nicht nur eine reine Warenmengenplanung, sondern auch ein Cash Flow (Liquidität).

Mit der oben genannten Funktion sollst du also die 10mt auf X Zeiträume aufteilen.

Allerdings sollte halt das ursprüngliche X unverändert bleiben, da dies ja auch buchhalterisch und kontraktuell die richtige Summe ist.

vielen Dank jedenfalls
Wenn noch jemand Ideen hat... :-)

Bis bald

Bezug
        
Bezug
Formel für Teilung: Antwort
Status: (Antwort) fertig Status 
Datum: 11:26 Fr 22.11.2013
Autor: Event_Horizon

Hallo!

Hmmm, das klingt eigentlich nach Modulo-Rechnung. Ich weiß nicht, in welcher Sprache du programmierst, aber in C könnte sowas so aussehen:


int menge=100; // davon ausgehend, daß der obige Trick mit der Multiplikation mit 100 verwendet
int teiler=3;

int proLieferung = menge / teiler;   // das ist ganzzahdivision: 100/3=33
int rest= menge % teiler;  // Das ist der Rest

for(int i=1; i<=teiler; i=i+1){
    if(i != teiler){ printf("%d. Lieferung: %d Stück", i, proLieferung); }
    else{ printf("%d. Lieferung: %d Stück", i, proLieferung+rest); }
}



Wenn du den Nachkomma-Anteil erst in der letzten Lieferung mitschicken möchtest, könntest du den abtrennen, und später an die letzte Lieferung anfügen:


float dezMenge=100,23;

int menge=(int) dezMenge;     // dabei werden die Nachkommastellen automatisch abgeschnitten

float nachkomma=dezMenge-menge;

...  weiter wie oben

    else{ printf("%d. Lieferung: %f Stück", i, proLieferung+rest+nachkomma); }

...

Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Softwaretechnik und Programmierung"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.matheraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]