Das Open-Control-Projekt - Die Alternative zur C-Control-I


Das Forum zur C-Control-1
Welche C-Control-Varianten existieren?
Übersicht - Suchen - Neueste 50 Beiträge - Neuer Beitrag - Login - Registrieren
INFO - FAQ - CC2-Forum - CCPro-Forum 

 Hierarchie der Operatoren Kategorie: Open-Micro/Open-Mini/Open-Midi/Open-Macro/Open-Maxi (von Dietmar, Homepage - 5.06.2023 22:03)
 Als Antwort auf "wahr" oder "nicht wahr"? von Christian - 5.06.2023 21:37
Dietmar nutzt:  Open-Micro, Open-Mini, Open-Midi, Open-Macro, Open-Maxi, Open-Mini Station
Hallo Christian,

Du bist ein Opfer der "Hierarchie der Operatoren" geworden. Sie ist in der Bedienungsanleitung zur Open-Macro und Open-Maxi genau beschrieben: Das AND hat einen höheren Rang als das OR und wird deshalb zuerst ausgeführt. Das ist bereits bei CCBASIC und vermutlich auch bei jeder anderen BASIC-Programmiersprache so. Wenn Du die Berechnungsreihenfolge anders festlegen willst, mußt Du Klammern setzen.

Ein allgemeiner Tip: Wenn etwas nicht funktionieren will, solltest Du Variableninhalte und Hinweise auf den Programmfluß auf der Seriellen Schnittstelle mit dem OCBASIC-Befehl PRINT ausgeben. Die Kurzform von PRINT ist ein Fragezeichen ("?"). Die Ausgaben kannst Du dann auf dem PC mit TERMINAL32.EXE empfangen und das "TERMINAL.OUT" auswerten. So wie ich das in unten stehendem Programm realisiert habe.

Freundliche Grüße

Dietmar

' ===========================================================================
' OMAX - Hierarchie der Operatoren
' In OCBASIC 1.12a_e1 für Open-Maxi von Dietmar Harlos am 05. Juni 2023
' ===========================================================================

' --- Definitionen ----------------------------------------------------------

INCLUDE "omax.def"               'Definitionen für die Open-Maxi

DEFINE port1 PORT[9]
DEFINE port2 PORT[10]
DEFINE port3 PORT[11]

' --- Hauptprogramm ---------------------------------------------------------

PrintSpc=ON    'Bei PRINT dezimale Zahlen mit führendem Leerzeichen ausgeben
End2Host=ON    'Bei Programmende (siehe END) gleich in den Host-Modus wechseln

?"OMAX - Hierarchie der Operatoren"

port1=ON 'wahr
port2=ON 'wahr
port3=OFF 'nicht wahr

?port1 '-1, also wahr
?port2 '-1, also wahr
?port3 '0, also nicht wahr

?

?port1 OR port2 AND port3     '-1, also wahr
?(port1 OR port2) AND port3   '0, also nicht wahr

?

?ON OR ON AND OFF             '-1, also wahr
?(ON OR ON) AND OFF           '0, also nicht wahr


?:?"Programmende."
END            'Zurück in den Hostmodus. Neustart mit RETURN-Taste.

' --- Programmende ----------------------------------------------------------


Meine Homepage: http://ccintern.dharlos.de

 Antwort schreiben

Bisherige Antworten:

BASIC++: Hierarchie der Operatoren AND, OR (von das |_ Team - 6.06.2023 21:18)
mBASIC: Hierarchie der Operatoren AND, OR (von das |_ Team - 6.06.2023 20:42)
Re: Hierarchie der Operatoren (von das |_ Team - 6.06.2023 15:51)
Re: Hierarchie der Operatoren (von Christian - 5.06.2023 22:14)