www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Vorhilfe
  Status Geisteswiss.
    Status Erdkunde
    Status Geschichte
    Status Jura
    Status Musik/Kunst
    Status Pädagogik
    Status Philosophie
    Status Politik/Wirtschaft
    Status Psychologie
    Status Religion
    Status Sozialwissenschaften
  Status Informatik
    Status Schule
    Status Hochschule
    Status Info-Training
    Status Wettbewerbe
    Status Praxis
    Status Internes IR
  Status Ingenieurwiss.
    Status Bauingenieurwesen
    Status Elektrotechnik
    Status Maschinenbau
    Status Materialwissenschaft
    Status Regelungstechnik
    Status Signaltheorie
    Status Sonstiges
    Status Technik
  Status Mathe
    Status Schulmathe
    Status Hochschulmathe
    Status Mathe-Vorkurse
    Status Mathe-Software
  Status Naturwiss.
    Status Astronomie
    Status Biologie
    Status Chemie
    Status Geowissenschaften
    Status Medizin
    Status Physik
    Status Sport
  Status Sonstiges / Diverses
  Status Sprachen
    Status Deutsch
    Status Englisch
    Status Französisch
    Status Griechisch
    Status Latein
    Status Russisch
    Status Spanisch
    Status Vorkurse
    Status Sonstiges (Sprachen)
  Status Neuerdings
  Status Internes VH
    Status Café VH
    Status Verbesserungen
    Status Benutzerbetreuung
    Status Plenum
    Status Datenbank-Forum
    Status Test-Forum
    Status Fragwürdige Inhalte
    Status VH e.V.

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:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
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.vorhilfe.de