potenz
Moderator: Moderatoren
-
- **
- Beiträge: 27
- Registriert: So, 05.03.2006 15:12
- Wohnort: Schwoiga
Hallo,
Geht ganz einfach. Lies doch mal das Programmierhandbuch Basic von StarOffice
Gruß Matze
Geht ganz einfach. Lies doch mal das Programmierhandbuch Basic von StarOffice

Code: Alles auswählen
sub Expotenzial
dim Z as double
'Hier Expotnez ohne Leerzeichen eingeben, nur ganze Expotenzen
Z = 5E4
'um eine Zahl "hoch" zu nehmen astatt E das zeichen ^ einsetzen
msgBox Z
end sub
Zuletzt geändert von Bratmatzen am Mo, 20.03.2006 15:41, insgesamt 1-mal geändert.
oder die Openoffice hilfe
schluss endlich giebt es aber ja noch den Rechenschieber, Papier und Bleichstifft. also der möglichkeiten sind genug vorhanden *gg*Syntax:
Ergebnis = Ausdruck ^ Exponent
Parameter:
Ergebnis: Ein beliebiger numerischer Ausdruck, der das Ergebnis der angegebenen Potenz der Zahl enthält.
Ausdruck: Ein numerischer Wert, den Sie potenzieren möchten.
Exponent: Der Exponent, mit dem Sie den Ausdruck potenzieren möchten.
Beispiel:
Sub Example
Print ( 12.345 ^ 23 )
Print Exp ( 23 * Log( 12.345 ) ) REM Potenzieren durch Logarithmenbildung
End Sub
sub xxxx
Die Procedure muß einen Namen haben.
mfg
Michael
Die Procedure muß einen Namen haben.
mfg
Michael
__
FAQ zu Starbasic -> http://www.starbasicfaq.de
FAQ zu Starbasic -> http://www.starbasicfaq.de
Hey Creator,
poste doch den kompletten Code - dann ist es einfacher. Also - prinzipiell sollte dein Code funktionieren:
Gibt bei mir als Ergebnis 625
Gruss
Thomas
poste doch den kompletten Code - dann ist es einfacher. Also - prinzipiell sollte dein Code funktionieren:
Code: Alles auswählen
Sub test
sngxhochvier = 5
sngxhochvierminus3 = sngxhochvier ^ 4
MsgBox "" + sngxhochvierminus3 + ""
End Sub

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Code: Alles auswählen
Sub Potenzrechnen
Dim snghochvier As Single
Dim sngxhochvierminus3 As Single
Dim snghochdrei As Single
Dim snghochzwei As Single
Dim snghoch As Single
Dim EndWert As Single
sngxhochvier = Inputbox ("Geben Sie hier bitte die größe ihres x hoch 4 ein.")
sngxhochdrei = Inputbox ("Geben Sie hier bitte die größe ihres x hoch 3 ein.")
sngxhochzwei = Inputbox ("Geben Sie hier bitte die größe ihres x hoch 2 ein.")
sngxhoch = Inputbox ("Geben Sie hier bitte die größe ihres x hoch 1 ein.")
sngxhochvierminus3 = sngxhochvier ^ 4
MsgBox "" + sngxhochvierminus3 + ""
End Sub
Hey Creator,
"Unzulässige Datentypen"!
Die Inputbox liefert immer nur Strings zurück! die musst du zuerst umwandeln in Zahlen - dann weiterverarbeiten.
Lösung (Beispiel):
Und alles funktioniert...
Gruss
Thomas
"Unzulässige Datentypen"!
Die Inputbox liefert immer nur Strings zurück! die musst du zuerst umwandeln in Zahlen - dann weiterverarbeiten.
Lösung (Beispiel):
Code: Alles auswählen
Sub Potenzrechnen
Dim snghochvier As Single
Dim sngxhochvierminus3 As Single
Dim snghochdrei As Single
Dim snghochzwei As Single
Dim snghoch As Single
Dim EndWert As Single
sngxhochvier = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 4 ein."))
sngxhochvierminus3 = sngxhochvier ^ 4
MsgBox "" + sngxhochvierminus3 + ""
End Sub

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Tia, das ist wohl so.
Dann wird es Zeit, sich intensiver mit der Programmierung zu beschäftigen und eigene Dialoge zu erzeugen - mit Zahlenfeldern, die liefern dann auch direkt Zahlenwerte - positive und negative....
Denn mal los
Gruss
Thomas
Dann wird es Zeit, sich intensiver mit der Programmierung zu beschäftigen und eigene Dialoge zu erzeugen - mit Zahlenfeldern, die liefern dann auch direkt Zahlenwerte - positive und negative....
Denn mal los

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Was mein Ziel ist, ist das man sich schnell und einfahc errechnen kann wie die y-werte einer "ganzrationalen Funktion höheren Grades" sind.
Im mom steh ich aufn schlauch da andere Ergebnisse als die richtigen rauskommt.
Hier mein Text
Im mom steh ich aufn schlauch da andere Ergebnisse als die richtigen rauskommt.
Hier mein Text
Code: Alles auswählen
Sub Potenzrechnen
Dim snghochvier As Single
Dim sngxhochvierminus3 As Single
Dim snghochdrei As Single
Dim snghochzwei As Single
Dim sngxhoch As Single
Dim sngohnehoch As Single
Dim EndWert As Single
sngxhochvier = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 4 ein."))
sngxhochdrei = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 3 ein."))
sngxhochzwei = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 2 ein."))
sngxhoch = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 1 ein."))
sngohnehoch = CSng(Inputbox ("Geben Sie hier bitte die Zahl ohne x ein."))
sngxhochvierminus3 = sngxhochvier *((-3) ^ 4)
sngxhochvierminus2 = sngxhochvier *((-2) ^ 4)
sngxhochvierminus1 = sngxhochvier *((-1) ^ 4)
sngxhochvierminus0 = sngxhochvier *((0) ^ 4)
sngxhochvierplus1 = sngxhochvier *((1) ^ 4)
sngxhochvierplus2 = sngxhochvier *((2) ^ 4)
sngxhochvierplus3 = sngxhochvier *((3) ^ 4)
sngxhochvierplus4 = sngxhochvier *((4) ^ 4)
sngxhochvierplus5 = sngxhochvier *((5) ^ 4)
sngxhochdreiminus3 = sngxhochdrei *((-3) ^ 3)
sngxhochdreiminus2 = sngxhochdrei *((-2) ^ 3)
sngxhochdreiminus1 = sngxhochdrei *((-1) ^ 3)
sngxhochdreiminus0 = sngxhochdrei *((0) ^ 3)
sngxhochdreiplus1 = sngxhochdrei *((1) ^ 3)
sngxhochdreiplus2 = sngxhochdrei *((2) ^ 3)
sngxhochdreiplus3 = sngxhochdrei *((3) ^ 3)
sngxhochdreiplus4 = sngxhochdrei *((4) ^ 3)
sngxhochdreiplus5 = sngxhochdrei *((5) ^ 3)
sngxhochzweiminus3 = sngxhochzwei *((-3) ^ 2)
sngxhochzweiminus2 = sngxhochzwei *((-2) ^ 2)
sngxhochzweiminus1 = sngxhochzwei *((-1) ^ 2)
sngxhochzweiminus0 = sngxhochzwei *((0) ^ 2)
sngxhochzweiplus1 = sngxhochzwei *((1) ^ 2)
sngxhochzweiplus2 = sngxhochzwei *((2) ^ 2)
sngxhochzweiplus3 = sngxhochzwei *((3) ^ 2)
sngxhochzweiplus4 = sngxhochzwei *((4) ^ 2)
sngxhochzweiplus5 = sngxhochzwei *((5) ^ 2)
sngxhochminus3 = sngxhoch *((-3) ^ 1)
sngxhochminus2 = sngxhoch *((-2) ^ 1)
sngxhochminus1 = sngxhoch *((-1) ^ 1)
sngxhochminus0 = sngxhoch *((0) ^ 1)
sngxhochplus1 = sngxhoch *((1) ^ 1)
sngxhochplus2 = sngxhoch *((2) ^ 1)
sngxhochplus3 = sngxhoch *((3) ^ 1)
sngxhochplus4 = sngxhoch *((4) ^ 1)
sngxhochplus5 = sngxhoch *((5) ^ 1)
sngmindrei = (sngxhochvierminus3) + (ngxhochdreiminus3) + (sngxhochzweiminus3) + (sngxhochminus3) + (sngohnehoch)
sngminzwei = sngxhochvierminus2 + sngxhochdreiminus2 + sngxhochzweiminus2 + sngxhochminus2 + sngohnehoch
sngmineins = sngxhochvierminus1 + sngxhochdreiminus1 + sngxhochzweiminus2 + sngxhochminus1 + sngohnehoch
sngminnull = sngxhochvierminus0 + sngxhochdreiminus0 + sngxhochzweiminus0 + sngxhochminus0 + sngohnehoch
sngplueins = sngxhochvierplus1 + sngxhochdreiplus1 + sngxhochzweiplus1 + sngxhochplus1 + sngohnehoch
sngpluzwei = sngxhochvierplus2 + sngxhochdreiplus2 + sngxhochzweiplus2 + sngxhochplus2 + sngohnehoch
sngpludrei = sngxhochvierplus3 + sngxhochdreiplus3 + sngxhochzweiplus3 + sngxhochplus3 + sngohnehoch
sngpluvier = sngxhochvierplus4 + sngxhochdreiplus4 + sngxhochzweiplus4 + sngxhochplus4 + sngohnehoch
sngplufuenf = sngxhochvierplus5 + sngxhochdreiplus5 + sngxhochzweiplus5 + sngxhochplus5 + sngohnehoch
MsgBox ("-3....." + sngmindrei + " " + CHR(13) + "-2....." + sngminzwei + " " + CHR(13) +_
"-1....." + sngmineins + " " + CHR(13) + "0....." + sngminnull + "" + CHR(13) +_
"1....." + sngplueins + "" + CHR(13) +_
"2....." + sngpluzwei + "" + CHR(13) + "3....." + sngpludrei +"" + CHR(13) +_
"4....." + sngpluvier + "" + CHR(13) + "5....." + sngplufuenf + "" + CHR(13) +"")
End Sub
Ich vermute einen Fehler in desem Bereich:
Hab aber kein schimmer wie ich das dann richtig zusammen "zählen" muss.
MfG
Code: Alles auswählen
sngmindrei = (sngxhochvierminus3 + ngxhochdreiminus3 + sngxhochzweiminus3 + sngxhochminus3 + sngohnehoch)
sngminzwei = sngxhochvierminus2 + sngxhochdreiminus2 + sngxhochzweiminus2 + sngxhochminus2 + sngohnehoch
sngmineins = sngxhochvierminus1 + sngxhochdreiminus1 + sngxhochzweiminus2 + sngxhochminus1 + sngohnehoch
sngminnull = sngxhochvierminus0 + sngxhochdreiminus0 + sngxhochzweiminus0 + sngxhochminus0 + sngohnehoch
sngplueins = sngxhochvierplus1 + sngxhochdreiplus1 + sngxhochzweiplus1 + sngxhochplus1 + sngohnehoch
sngpluzwei = sngxhochvierplus2 + sngxhochdreiplus2 + sngxhochzweiplus2 + sngxhochplus2 + sngohnehoch
sngpludrei = sngxhochvierplus3 + sngxhochdreiplus3 + sngxhochzweiplus3 + sngxhochplus3 + sngohnehoch
sngpluvier = sngxhochvierplus4 + sngxhochdreiplus4 + sngxhochzweiplus4 + sngxhochplus4 + sngohnehoch
sngplufuenf = sngxhochvierplus5 + sngxhochdreiplus5 + sngxhochzweiplus5 + sngxhochplus5 + sngohnehoch
MfG
Naja, der Fehler ist in den zwei Zelen, was doch rein optisch aufällt:
falsch sind:
ngxhochdreiminus3 (gibt es garnicht)
sngxhochzweiminus2 (die falsche Variable, richtig: sngxhochzweiminus1)
schreib es kürzer dann ist es auch leichter zu überschauen, beispielsweise:
Gruß
Stephan
P.S.
Nebenbei ist Dir inzwischen hoffentlich klar das die Antwort von Thomas hierauf:
und warum (-5)^4 = 625 ist.
Obwohl natürlich nichts dagegen spricht sich mit den von Thomas vorgeschlagenen Dingen zu beschäftigen, isbesondere fall Du OOoBasic lernen möchtest.
Code: Alles auswählen
sngmindrei = (sngxhochvierminus3) + (ngxhochdreiminus3) + (sngxhochzweiminus3) + (sngxhochminus3) + (sngohnehoch)
...
sngmineins = sngxhochvierminus1 + sngxhochdreiminus1 + sngxhochzweiminus2 + sngxhochminus1 + sngohnehoch
falsch sind:
ngxhochdreiminus3 (gibt es garnicht)
sngxhochzweiminus2 (die falsche Variable, richtig: sngxhochzweiminus1)
schreib es kürzer dann ist es auch leichter zu überschauen, beispielsweise:
Code: Alles auswählen
Sub Potenzrechnen
Dim snghochvier As Single
Dim sngxhochvierminus3 As Single
Dim snghochdrei As Single
Dim snghochzwei As Single
Dim sngxhoch As Single
Dim sngohnehoch As Single
Dim EndWert As Single
sngxhochvier = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 4 ein."))
sngxhochdrei = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 3 ein."))
sngxhochzwei = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 2 ein."))
sngxhoch = CSng(Inputbox ("Geben Sie hier bitte die größe ihres x hoch 1 ein."))
sngohnehoch = CSng(Inputbox ("Geben Sie hier bitte die Zahl ohne x ein."))
For i=-3 to 5
akt = sngxhochvier*i^4+sngxhochdrei*i^3+sngxhochzwei*i^2+sngxhoch*i+sngohnehoch
anz = anz & i & "....." & akt & CHR(13)
Next i
msgbox anz
End Sub
Gruß
Stephan
P.S.
Nebenbei ist Dir inzwischen hoffentlich klar das die Antwort von Thomas hierauf:
etwas scherzhaft gemeint war.wenn ich nun aber -5 angebe, ist das ergebnis positiv aber mein taschenrechnet sagt etwas anderes! -625
und warum (-5)^4 = 625 ist.

Obwohl natürlich nichts dagegen spricht sich mit den von Thomas vorgeschlagenen Dingen zu beschäftigen, isbesondere fall Du OOoBasic lernen möchtest.