Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
harpas
Anmeldungsdatum: 11.08.2009 Beiträge: 14
|
Verfasst am: 31.08.2009, 01:26 Titel: Unbekannter Basic Dialekt |
|
|
Guten Morgen,
Bitte um Hilfe bei der Lösung des für mich nachfolgenden Problems.
Bei nachfolgenden Code handelt es sich offensichtlich um selbst definierte
Funktionen.
DL=SD/SL
DEF FN K(DL)=Sqr(R*R-(DL-X0)^2+Y0
DEF FN ER(X)=Int(X/10^(Int(Log(X)/LG-2))+.5)*10^(Int(Log(X)/LG-2))
L=FN ER(FN K(DL)*W*W*SD*1E-9)
W=FN ER(Sqr(L/(FN K(DL)*SD)))
K=L/(W*W*SD)
SL=FN ER(SD/(X0-Sqr(R*R-(K-Y0)^2)))
Mein FB versteht das nicht.
Gruß & Dank!
harpas |
|
Nach oben |
|
 |
nemored

Anmeldungsdatum: 22.02.2007 Beiträge: 4704 Wohnort: ~/
|
Verfasst am: 31.08.2009, 01:48 Titel: |
|
|
Mein FB versteht das auch nicht. Und jetzt?
Falls du herausfinden willst, was das für ein Dialekt ist: keine Ahnung, Omikron BASIC sah so ähnlich aus (aber nicht ganz).
Falls du eine Übersetzung nach FB wünschen solltest (geht aus deinem Posting leider nicht hervor), dann hier ein Anhaltspunkt:
Code: | DEF FN ER(X)=Int(X/10^(Int(Log(X)/LG-2))+.5)*10^(Int(Log(X)/LG-2))
L=FN ER(FN K(DL)*W*W*SD*1E-9) |
wird vermutlich etwas in dieser Art sein:
Code: | FUNCTION ER(X AS INTEGER) AS INTEGER
ER=Int(X/10^(Int(Log(X)/LG-2))+.5)*10^(Int(Log(X)/LG-2))
END FUNCTION
L=ER(K(DL)*W*W*SD*1E-9) |
Wird mit Sicherheit immer noch nicht funktionieren, weil z. B. LG innerhalb der Funktion nicht definiert ist. 1E-9 klappt bestimmt auch nicht. Aber du hast zumindest mal einen Ansatzpunkt. _________________ Deine Chance beträgt 1:1000. Also musst du folgendes tun: Vergiss die 1000 und konzentriere dich auf die 1. |
|
Nach oben |
|
 |
MisterD

Anmeldungsdatum: 10.09.2004 Beiträge: 3071 Wohnort: bei Darmstadt
|
Verfasst am: 31.08.2009, 04:09 Titel: |
|
|
Code: | def fn name(parameter) = formel |
entspricht am ehesten einem makro
Code: | #define name(parameter) formel |
kann aber natürlich auch als normale funktion geschrieben werden:
Code: | declare function name(parameter) as typ
return formel
end function |
den typ muss man hier natürlich dazuschreiben, der ist beim makro implizit. aber sich den auszudenken sollte eine schaffbare aufgabe darstellen.
unterstützt wurde das übrigens sogar von qbasic, wobei ich meine mich zu erinnern, dass man def fnname schreiben musste, das leerzeichen zwischen fn und name war verboten oder so ähnlich, es war auf jeden fall irgendwie unschön zu benutzen, da insbesondere der aufruf immernoch mit a=fnname(b) war.
LG müsste übrigens eine weiter vorne definierte variable sein, meine Vermutung ist: LG=log(10) -- probier einfach mal aus ob damit die ergebnisse stimmen. _________________ "It is practically impossible to teach good programming to students that have had a prior exposure to BASIC: as potential programmers they are mentally mutilated beyond hope of regeneration."
Edsger W. Dijkstra |
|
Nach oben |
|
 |
|