Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
K.I.T.T.
Anmeldungsdatum: 24.01.2005 Beiträge: 79
|
Verfasst am: 09.09.2005, 19:21 Titel: Wurzelziehen |
|
|
Moin,
wie kann ich eine Wurzel aus einer Zahl ziehen und wie kann ich noch zusätzlich die nte Wurzel aus einer Zahl ziehen? Also nicht nur die Quadratwurzel. Danke.
Gruß K.I.T.T. |
|
Nach oben |
|
|
code
Anmeldungsdatum: 19.01.2005 Beiträge: 154
|
Verfasst am: 09.09.2005, 19:29 Titel: |
|
|
wenn man die wurzel aus einer zahl zieht ist es das gleiche wie wenn man die zahl mit 1/2 potenziert. also für Wurzel 2 = 2^1/2
um die nte Wurzel zu ziehen einfach x^1/n. |
|
Nach oben |
|
|
dreael Administrator
Anmeldungsdatum: 10.09.2004 Beiträge: 2507 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 09.09.2005, 19:40 Titel: |
|
|
Folgende Lösung geht natürlich auch in QB:
Code: | FUNCTION SQRx#(w#, r#)
SQRx# = w# ^ (1# / r#)
END FUNCTION |
_________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 09.09.2005, 22:58 Titel: |
|
|
Und das hättest du auch in der MonsterFAQ gefunden, die
man für FB auch mal zu Rate ziehen sollte
jb |
|
Nach oben |
|
|
tilli
Anmeldungsdatum: 10.09.2005 Beiträge: 73
|
Verfasst am: 10.09.2005, 20:05 Titel: |
|
|
Moin,
Is sowas eigentlich im Tutorial? sollte bei Plus-Minus oder so drin sein - zumindest als Link ...
CU2
Tilli |
|
Nach oben |
|
|
K.I.T.T.
Anmeldungsdatum: 24.01.2005 Beiträge: 79
|
Verfasst am: 10.09.2005, 22:52 Titel: |
|
|
Jo, nochmal ne andere Frage:
Wenn ich jetzt z.B. den Benutzer auffordere, die Basis (Variable B#) und den Exponenten (Variable E#) einzugeben, dann wil ich später anhand dieser Eingaben die "Rechnung" sag ich mal aufschreiben, also: B# * B# * B# usw... Wie mach ich das? Also ich muss ja das B# * B#... so lange schreiben, wie die Zahl E# ist, versteht ihr? Da ist mein Problem, ich weiß nicht, wie ich das jetzt so machen kann. Ich hab das mit ner FOR Schleife versucht und ich denke, das ist auch richtig, aber ich weiß nicht wie *G*. Wenn das jemand versteht und derjenige auch weiß, wie man diese Problem löst, bitte sags mir *G*, danke schonmal im Voraus.
Gruß K.I.T.T. |
|
Nach oben |
|
|
Tomtitom
Anmeldungsdatum: 20.09.2004 Beiträge: 308
|
Verfasst am: 11.09.2005, 09:08 Titel: |
|
|
Also ich weiß jetzt nicht ganz genau, ob du jetzt nur die Rechnung ausgeben willst oder das Ergebnis, ich mach einfach mal beides. Aber eigentlich ist das auch nicht sehr schwer:
Code: | input "Basis"; B#
input "Exponent"; E#
print "Rechnung: ";B#;
ERG#=B#
for i = 1 to E#-1
print "*"; B#;
ERG#=ERG#*B#
next
print
print "Ergebnis: ";ERG#
|
Ich hoffe mal, ich habe keinen Fehler gemacht, habs nur hier schnell hingeschrieben. |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 11.09.2005, 11:15 Titel: |
|
|
Oder einfach
Code: | Ergebnis = Wert ^ Exponent |
Warum der Umweg über FOR/NEXT?
jb |
|
Nach oben |
|
|
Michael712 aka anfänger, programmierer
Anmeldungsdatum: 26.03.2005 Beiträge: 1593
|
Verfasst am: 11.09.2005, 11:34 Titel: |
|
|
jb hat Folgendes geschrieben: |
Warum der Umweg über FOR/NEXT?
jb |
Weil er ja auch eine Rechnung da stehen haben wollte. Da dann da so oft B#*B# stehen muss, wie E# groß ist, muss das in einer for next schleife. beispiel:
B#=2
E#=3
dann muss da nacher:
2*2*2
stehen.
Also macht man das in einer for next schleife. |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 11.09.2005, 14:43 Titel: |
|
|
Ach so, ich hatte mich halt nur gewundert, da es etwas umständlich wirkt.
jb |
|
Nach oben |
|
|
K.I.T.T.
Anmeldungsdatum: 24.01.2005 Beiträge: 79
|
Verfasst am: 22.09.2005, 19:39 Titel: |
|
|
Moin,
ich verstehe da aber einige Sachen nicht: Wieso ist denn ERG#=B# und wieso
FOR i = 1 TO E#-1 und danach kommt dann ein PRINT nur mit "*" danach die Basis. Ausserdem ERG#=ERG# * B#, hä?
Bitte erklärt mir das *G*. Und danke, @Tomtitom
Gruß K.I.T.T. |
|
Nach oben |
|
|
jb
Anmeldungsdatum: 14.01.2005 Beiträge: 2010
|
Verfasst am: 23.09.2005, 15:18 Titel: |
|
|
Also:
B# ist die Basis,
E# ist der Exponent.
Das
Code: |
FOR i = 1 TO E# - 1
PRINT "*"; B#;
ERG# = ERG# * B#
NEXT i
|
bewirkt, dass die Zahl B# E# - 1 mal mit sich selbst mal genommen wird;
denn 2² ist ja 2*2, und nicht 2*2*2.
Anders formuliert: Wenn man als Exponent 2 hat, wird die Zahl ja nicht zweimal mit sich selbst malgenommen, sondern nur einmal.
Daher das - 1.
jb |
|
Nach oben |
|
|
|