Frage zu komplexer Berechnung

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Frage zu komplexer Berechnung

    Hallo,

    ich bin absoluter Neuling in Sachen iOS Programmierung. Bisher habe ich mich meist mit Perl und HTML beschäftigt, wobei HTML ja nicht wirklich eine Programmiersprache ist.
    Doch ich habe mir nun fest vorgenommen mich in Cocoa bzw. Swift einzuarbeiten und bin auf dieses Forum gestoßen.

    Jetzt hänge ich aber einem Problem, dass ich von Perl her nicht kenne, zumindest in dem speziellen Fall nicht.

    Ich habe relativ große Zahlen miteinander zu multiplizieren, zu potenzieren und dann wieder zu addieren oder subtrahieren. Aber im Playground bekomme ich da nur Fehler angezeigt. Z.B. dass die Rechenoperation zu intensiv sei usw.
    Konkret in meinem Fall muss ich folgende Aufgabe lösen:

    (21.3333333333267 x (7,2 hoch 4)) - (614.666666666486 x (7,2 hoch 3)) + (6596.66666666482 x (7,2 hoch 2)) - (31295.3333333248 x 7,2) + 55526.9999999848

    Das Ergebnis will ich einer Variablen speichern. Anschließend habe ich noch zwei weitere Aufgaben in dieser Art.
    Zum Schluss möchte ich einfach die 3 Ergebnis miteinander verrechnen und ein Ergebnis haben.

    Könnt ihr mir da irgendwie helfen?

    Danke

    Gruss
    Dennis
  • 1. bitte besseren thread-titel wählen

    2. 7,2 -> 7.2

    3. keine ahnung von swift aber in C (in obj-c verwendbar) wärs doch einfach (wenn du ca 79,58 erwartest):

    Quellcode

    1. printf("result: %f\n", 21.3333333333267 * pow(7.2, 4) - 614.666666666486 * pow(7.2, 3) + 6596.66666666482 * pow(7.2, 2) - 31295.3333333248 * 7.2 + 55526.9999999848);
  • Hi,

    1. Titel ist geändert.

    2. sorry da hatte ich mich vertippt. 7.2 ist klar.

    3. Habe jetzt folgendes im Playground eingegeben:

    Quellcode

    1. var ergebnis = 21.3333333333267 * pow(7.2, 4) - 614.666666666486 * pow(7.2, 3) + 6596.66666666482 * pow(7.2, 2) - 31295.3333333248 * 7.2 + 55526.9999999848
    Aber er rechnet und rechnet und es passiert nichts. Mir wird rechts kein Ergebnis angezeigt. Ich versuche jetzt mal noch die einzelnen Schritte aufzuteilen. Noch jemand ne Idee?

    Danke

    Gruss
    Dennis
  • Das liegt wahrscheinlich an der Type-Inference von Swift. Swift versucht, aus deinem Ausdruck selbständig den Typ zu ermitteln. Das Verfahren dazu ist (vermutlich) in NP, was bei größeren Ausdrücken zu langen Laufzeiten führt.

    Versuch es mal mit:

    Quellcode

    1. var ergebnis = 21.3333333333267 * pow(7.2, 4)
    2. ergebnis -= 614.666666666486 * pow(7.2, 3)
    3. ergebnis += 6596.66666666482 * pow(7.2, 2)
    4. ergebnis -= 31295.3333333248 * 7.2
    5. ergebnis += 55526.9999999848
    „Meine Komplikation hatte eine Komplikation.“