stationeers.de Mod-Werkstatt · Dominik1199
EN Anmelden
  1. Start
  2. IC10-Akademie
  3. Tag 31

Tag 31 von 365 · Einsteiger · Monat 2: Ordnung und Datennetz

Konstanten und Namensräume

pi, nan, pinf, ninf, rgas und Namen wie Color.Red oder GasType.Oxygen: welche Namen der Chip kennt und wo sie gelten.

Lektion 11 Min. Woche 5

Das lernst du heute

  • Pi, nan, pinf, ninf und rgas
  • Color., GasType., LogicType. an Zahlenstellen
  • Nackte Namen nur an ihrer Stelle

Wie viel Mol stecken in deinem Tank? Dafür brauchst du die Gaskonstante. Welche Zahl hat die Farbe Orange? Das musst du nicht auswendig wissen. Der Chip kennt eingebaute Konstanten und ganze Namensräume.

Eingebaute Konstanten

NameWertwofür
pi3.14159…Kreise, Winkel
tau6.28318…ein voller Kreis im Bogenmaß
deg2rad, rad2degUmrechnung Grad ↔ BogenmaßSonnenwinkel
rgas8.31446… J/(mol·K)Gasmengen
pinf, ninfplus und minus unendlichStart für Minimum- und Maximum-Suche
nan„keine Zahl“Fehlerwert
epsilonkleinste positive Zahlselten nützlich

rgas: Mol aus Druck

Mit Druck in kPa und Volumen in Litern rechnest du direkt in Mol: n = p · V / (R · T). Ein kPa mal ein Liter ist genau ein Joule, die Einheiten passen.

define VOLUMEN 6000      # Liter, kleiner Tank
alias mol r2
mul mol r0 VOLUMEN       # r0 = Druck in kPa
div mol mol rgas
div mol mol r1           # r1 = Temperatur in K

Namen mit Präfix

An jeder Stelle, an der eine Zahl stehen darf, gelten auch Namen mit Präfix:

NamensraumBeispiele
Color.Color.Green = 2, Color.Red = 4
DisplayMode.DisplayMode.Celsius = 4, DisplayMode.Mol = 13
GasType.GasType.Oxygen = 1, GasType.CarbonDioxide = 4
LogicType.LogicType.Temperature = 6
Vent., Sound., PowerMode. …kommen in den Geräte-Lektionen

Der Präfix ist bei der Groß- und Kleinschreibung großzügig, der Name dahinter nicht: Color.Red geht, Color.red nicht. Auch ein define darf so einen Namen tragen: define FARBE_OK Color.Green.

Nackte Namen nur an ihrer Stelle

Temperature ohne Präfix versteht der Chip nur dort, wo ein LogicType erwartet wird – also in l r0 d0 Temperature. An einer Zahlenstelle ist derselbe nackte Name ein Fehler:

move r0 Temperature             # Fehler
move r0 LogicType.Temperature   # 6

Dasselbe gilt für Batchmodi wie Average: nackt nur ganz hinten in lbn.

Achtung

nan direkt an einer Wertstelle, etwa select r0 r1 nan r2, löst im Spiel einen Fehler aus. Der Umweg: define NAN nan und dann NAN benutzen.

Schaubild

Aufbau eines Programms im bewährten Stil # --- Hitzewarnung --- define GRENZE 303.15 # 30 C define SENSOR HASH("…") alias temp r0 alias heiss r1 start: yield … j start 1 · define alles Einstellbare 2 · alias Namen für Register 3 · Hauptschleife mit yield, endlos
Konstanten und Namen mit Präfix gehören in den Abschnitt Einstellungen – so bleibt der Rumpf frei von rohen Zahlen.

Übung

Aufgabe

Ein Molrechner für den kleinen Tank (6000 Liter): An d0 hängt ein Rohr-Analysator am Tank, an d1 eine LED-Anzeige.

  • Die Anzeige zeigt die Gasmenge n = p · V / (R · T) in Mol. Benutze die Konstante rgas.
  • Anzeige im Modus DisplayMode.Mol, Farbe Color.Orange – mit Namen, nicht mit Zahlen.
  • Werkstatt-Stil: define, alias, Abschnitte.

Hinweise

Hinweis 1

Druck und Temperatur mit l aus dem Analysator lesen.

Hinweis 2

mul mol druck VOLUMEN, dann zweimal div: durch rgas und durch die Temperatur.

Hinweis 3

Modus und Farbe: s anzeige Mode DisplayMode.Mol, s anzeige Color Color.Orange.

Quiz

5 Fragen. Ab 60 % ist das Quiz bestanden – die Auswertung macht der Server.

Tag abschließen

  • Übung im Simulator bestanden
  • Quiz mit mindestens 60 % bestanden

Ohne Konto wird der Fortschritt nur in diesem Browser gespeichert.

Fehler in dieser Lektion melden

Zum Melden bitte anmelden. Anmelden

Esc
↑ ↓ wählenEnter öffnen/ öffnet die Suche überall