Rechnen mit Bascom

Gast #133033
Hallo zusammen,

ist es mit Bascom tatsächlich nicht möglich mehr als eine
Rechenoperation in "einer Zeile" durchzuführen ??

x = a + b
x = x * c
das klappt.

x = (a + b) * c
klappt nicht !!

Dies Beispiel ist ja noch problemlos zu lösen, wenn jedoch eine
aufwendige Formel durchlaufen werden muss, kann die Sache recht
unangenehm werden.

Wisst ihr mehr ??

Daniel
Gast #133035
Du hast eine der wesentlichen Beschränkungen von Bascom entdeckt.
Damit leben oder einen anderen Compiler verwenden - ob der andere
AVR-Basic-Compiler diese Einschränkung nicht aufweist, entzieht sich
jedoch meiner kenntnis.
Gast #133037
Yo,ich kenn nur Bascom für AVR und 51er und die Lightversonen dazu.

Gibbet da noch was ?


@Daniel

Über diesen Umstand hab ich mich auch schon geärgert aber in anderen
Compilern ist es nicht oder nicht viel besser wenn du komplexere
Formeln verwenden willst.

Sei froh das du für Bascom die Formel nur in einzelne Rechenschritte
zerlegen und dich nicht auch noch um andere Geschichten kümmern mußt.
Is doch schon was oder ? ;)

Zum Zerlgen von Formeln gabs mal irgendwo ein kleines Programm das
genau auf diesen Umstand zugeschnitten war (Ja,es gibt auch noch in
anderen Umgebungen dieses Problem) und dir eine Formel in Mundgerechte
Teile zerlegt die du dann nurnoch einsetzen mußt.

Frag mich nur nicht wo ich das gesehen habe.
Einfach mal etwas die Suchmaschinen treten
#133038
"welcher wäre denn "der ander Compiler" ??"


Z.B. irgend ein C-Compiler (WIN-AVR).

Unter C gibt es keinerlei Beschränkung, aber der Lesbarkeit wegen
sollten Zeilen nicht länger als 2000 Zeichen sein.

Es gibt aber Wettbewerbe für den unleserlichsten C-Code, da werden
komplette Programme in nur eine Zeile geschrieben.

Rein von der Syntax her kennt C gar keine Zeilenumbrüche, man kann
schreiben:

i = 10;

oder:

i
=
10
;

da ist kein Unterschied.

Nur der Preprozessor benötigt und erkennt Zeilenumbrüche, z.B. für
Macro-Definitionen:

#define BLABLA 5


Peter
Gast #133041
Bei Bascom wurde wohl zugunsten des Speicherplatzes auf einen
Argumenten-Stack verzichtet, deshalb geht nix mit verschachtelten
Rechenoperationen. Man kann eben nicht alles haben.
Falls das in C geht, dann eben auf Kosten des Speichers - irgendwo muß
es ja hin.
Aber wo ist das Problem, eine Formel aufzusplitten ?
Gast #133042
Hi

???
Ob jetzt der Compiler eine Formel aufsplittet oder der Anwender dürfte
für den erforderlichen Speicherplatz (auf dem Zielsystem) keine Rolle
spielen. Der Compiler muß halt etwas intelligenter sein.

Matthias

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.