Thema Datum  Von Nutzer Rating
Antwort
07.07.2022 18:02:24 A.M.
NotSolved
07.07.2022 18:35:21 xlKing
NotSolved
08.07.2022 00:27:09 A.M.
NotSolved
08.07.2022 00:29:09 A.M.
NotSolved
08.07.2022 01:07:30 xlKing
NotSolved
08.07.2022 09:35:00 A.M.
NotSolved
08.07.2022 17:02:59 xlKing
NotSolved
08.07.2022 13:06:31 Gast53949
NotSolved
08.07.2022 14:10:55 A.M.
NotSolved
08.07.2022 20:07:17 Gast31042
NotSolved
08.07.2022 20:09:42 A.M.
NotSolved
Blau Berechnungen
09.07.2022 19:36:53 Gast46298
NotSolved

Ansicht des Beitrags:
Von:
Gast46298
Datum:
09.07.2022 19:36:53
Views:
286
Rating: Antwort:
  Ja
Thema:
Berechnungen

Hi zusammen, geht's jetzt hier weiter? OK.

Der nette Gast hat dich bereits auf die Einzelschritt-Funktion hingewiesen. Immer wenn dir nicht klar ist, wie eine Variable zu ihrem Wert kommt, solltest du diese Funktion aufrufen und den Inhalt dieser Variablen nach jedem Schritt überprüfen. Auf diese Weise kann man Bugs im Programm erkennen, verstehen und beseitigen. Das hat mir in den letzten 20 Jahren schon viel Kummer erspart.

Natürlich sollte man dazu schon ein wenig Grundschul-Mathematik beherrschen. In deinem Fall etwa vierte Klasse oder so. Möchtest du, dass wir es dir vorrechnen? Ich probiers mal.

Also h hat den Wert 2, j den Wert 4. Beim Aufruf von fC übergibst du h an c und j an a. Jetzt rechnest du a / 2. 4 / 2 ergibt 2. Dieser Wert wird a wieder zugewiesen. c hat momentan ebenfalls den Wert 2 (von h geerbt). Diese wird nun zunächst mit -1 potenziert.

Wir erinnern uns: Die Potenz gibt an, wie oft eine Zahl mit sich selbst multipliziert wird. 22 bedeutet z.B., dass der Faktor 2 insgesamt 2 mal vorhanden ist, also 2 * 2. Diese Berechnung führst du im Normalfall genau einmal aus. Du kannst also auch schreiben 1 * 2 * 2. Warum ich die 1 hier dazu nehme erkläre ich gleich. Gehen wir nun weiter zu 21 dabei steht die 2 nur einmal da. Also einfach nur 2 oder auch 1 * 2. Bei 20 steht überhaupt keine 2 mehr da. Man könnte also meinen, dass jetzt gar keine Rechenoperation gemacht wird. Das ist aber ein Trugschluss, denn man hat ja eine angegeben. Nämlich 20. Genaugenommen wird ab jetzt nicht mehr multipliziert sondern geteilt. 20 ist im Prinzip soviel wie 2 / 2. Du kannst jede beliebige Zahl (außer 0) mit 0 potenzieren bzw. durch sich selbst teilen. Am Ende kommt immer 1 raus. Diese ist Basis für jede weitere Teilung. Bei 2-1 rechnet man nun also 1 / 2. Die Hälfte von 1 ist 0,5. Bei 2-2 hast du nur noch ein Viertel, also 0,25. usw.

Zurück zu deiner Funktion. Du rechnest also c ^ -1 (also 2 ^ -1) = 0,5 und addierst den Wert von a (also 2) hinzu. Ergibt 2,5, welcher c auf der linken Seite des Ausdrucks zugewiesen wird. Zum Schluss weist du der Funktion fC noch den Wert 2 zu welcher von dieser an r übergeben wird. Da c ByRef ist, wird dessen Wert gleichzeitig an h übergeben.

In der fA-Funktion wird nun weitergerechnet. Im dritten Parameter gibst du den Wert von h an c weiter. Dass der dritte Parameter wieder c heißt ist Zufall. Dieser könnte auch beliebig anders heißen. Das ist egal. Um c nun endgültig zu berechnen, benötigst du zuvor eine Neuberechnung von a und b. a hat zu Beginn dieser Funktion den Wert von r, also 2 und b erhält den Wert von g, ebenfalls 2. c hat, wie wir wissen, 2,5. a erhält nun den Wert aus der Berechnung b / a * c bzw.  2 / 2 * 2,5, womit a nun ebenfalls 2,5 ist. b erhält das Ergebnis aus a / b / c bzw. 2,5 / 2 / 2,5. c erhält den Wert aus a * b / c bzw. 2,5 * 0,5 / 2,5. Wir können auch rechnen. 2,5 / 2,5 * 0,5 und die 2,5 rauskürzen. wie wir gelernt haben, ergibt eine Zahl durch sich selbst geteilt immer 1. Und 1 * 0,5 ergibt 0,5.

Da b und c ByRef sind, geben sie ihre Werte, die beide auf verschiedenen Rechenwegen 0,5 ergeben haben, an g und h zurück. Das ist der ganze Zauber. Ich hoffe ich konnte dich ein wenig erhellen. laugh

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
07.07.2022 18:02:24 A.M.
NotSolved
07.07.2022 18:35:21 xlKing
NotSolved
08.07.2022 00:27:09 A.M.
NotSolved
08.07.2022 00:29:09 A.M.
NotSolved
08.07.2022 01:07:30 xlKing
NotSolved
08.07.2022 09:35:00 A.M.
NotSolved
08.07.2022 17:02:59 xlKing
NotSolved
08.07.2022 13:06:31 Gast53949
NotSolved
08.07.2022 14:10:55 A.M.
NotSolved
08.07.2022 20:07:17 Gast31042
NotSolved
08.07.2022 20:09:42 A.M.
NotSolved
Blau Berechnungen
09.07.2022 19:36:53 Gast46298
NotSolved