Programmieren von LegoMindstorms-Robotern mit NQC
Programmieren von LegoMindstorms-Robotern mit NQC
Programmieren von LegoMindstorms-Robotern mit NQC
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
int aa;<br />
task main()<br />
{<br />
aa = 77;<br />
SetWatch (14,33);<br />
/* Setzt die Systemuhr auf 14 Stunden und<br />
33 Minuten (= 873 Minuten) */<br />
SetSensor(SENSOR_1,SENSOR_LIGHT); // Setzt SENSOR_1 als Lichtsensor<br />
CreateDatalog (10);<br />
/* reserviert einen Speicherbereich <strong>von</strong> 10 Plätzen<br />
im Datalog */<br />
AddToDatalog (123);<br />
// Überträgt den Wert 123 in den Datalog<br />
AddToDatalog (aa);<br />
// Übertägt den Wert <strong>von</strong> aa (=77) in den Datalog<br />
AddToDatalog (Timer(0));<br />
/* Überträgt den momentanen Wert des<br />
Systemtimers 0 in den Datalog */<br />
AddToDatalog (Random (100)); // Übertägt den Wert des Displays in den Datalog<br />
AddToDatalog (SensorValue(0)); /* Überträgt den Wert des Lichtsensors in den<br />
Datalog (im Makro SENSOR_1, RCX-intern aber<br />
Sensor (0) !! ) */<br />
AddToDatalog (Watch());<br />
/* Überträgt die Anzeige der Systemuhr in Minuten<br />
in den Datalog */<br />
AddToDatalog (Message());<br />
/* Übertägt den Wert der zuletzt empfangenen<br />
Nachricht in den Datalog<br />
Wenn kein anderer RCX eine Nachricht gesendet<br />
hat, ist der Wert 0*/<br />
SetSensor(SENSOR_1,SENSOR_TOUCH); /* Setzt SENSOR_1 als Berührungssensor,<br />
da<strong>mit</strong> die LED aus geht. */<br />
}<br />
Mathematische Operationen<br />
Werte können durch mathematische Operationen verknüpft werden. Viele der Operationen können nur in konstanten<br />
Ausdrücken verwendet werden. Das bedeutet, dass sie entweder selbst Konstanten sein müssen, oder der Ausdruck nur<br />
Konstanten enthalten darf.<br />
Sorry, leider habe ich auch hier nicht alle Eigenheiten durchschaut.<br />
Operator Beschreibung Bezug Einschränkung Beispiel<br />
abs()<br />
sign()<br />
Absoluter Wert<br />
Vorzeichen<br />
n/a<br />
n/a<br />
abs(-3) wird 3<br />
sign(-3) gibt -1<br />
++<br />
--<br />
Addition<br />
Subtraktion<br />
left<br />
left<br />
Nur Variablen<br />
Nur Variablen<br />
x++ or ++x<br />
x-- or --x<br />
-<br />
~<br />
Vorzeichenwechsel<br />
Bitwise negation (unary)<br />
rechts<br />
rechts<br />
Nur Konstanten -x<br />
~123<br />
*<br />
/<br />
%<br />
Multiplikation<br />
Division<br />
Modulo (ganzzahliger Rest)<br />
links<br />
links<br />
links<br />
x * y<br />
x / y<br />
123 % 4<br />
+<br />
-<br />
Addition<br />
Subtraktion<br />
links<br />
links<br />
x + y<br />
x - y<br />
><br />
Left shift<br />
Right shift<br />
links<br />
links<br />
Nur Konstanten<br />
Nur Konstanten<br />
123 > 4<br />
& Bitwise UND links x & y<br />
^ Bitweises XOR links Nur Konstanten 123 ^ 4<br />
| Bitweises ODER links x | y<br />
&& Logisches UND links Nur Konstanten 123 && 4<br />
|| Logisches ODER links Nur Konstanten 123 || 4