Was ist ein guter Weg, um "Zustand", wie in Zustandsvariablen oder Zustandsmaschinen, für einen neuen (zuvor nicht) Programmierer zu definieren? Was sind einige gute Möglichkeiten, um zu erklären, warum dieses Konzept zum Schreiben von Software nützlich ist? Wird der Begriff des Staates in Anfängen von Programmierkursen oder Büchern ausdrücklich gelehrt?
15
Aus Wikipedia :
Das ist ziemlich genau das, was es im Computerkontext bedeutet: die Daten, die den Zustand eines Objekts oder Systems definieren.
Die Bedeutung von 'Zustand' ist nicht spezifisch für die Programmierung. Es gibt Beispiele für "Staat" buchstäblich überall, wo Sie suchen. Der Fernseher ist ausgeschaltet. Der Kaffee ist heiß. Die Turnschuhe sind a) blau; b) stinkt; c) nicht weglegen; d) ziemlich abgenutzt. 'state' im Sinne einer Programmierung ist genauso wie 'state' im Sinne einer Nicht-Programmierung, außer dass wir es auf die Objekte anwenden, mit denen wir uns befassen: Variablen, Objekte, Threads, Datenbanken, Dateisysteme usw. Wenn ja Um es zu erklären, erklären Sie es in Begriffen, die Ihnen vertraut sind - es ist nicht erforderlich, daraus ein fremdes technisches Konzept zu machen.
Eine Uhr ist ein gutes Beispiel für ein einfaches System, das einen bestimmten Status hat: Eine Uhr kann laufen oder nicht laufen und sie zeigt eine Zeit an, die der tatsächlichen Tageszeit entsprechen kann oder nicht. Es ist ziemlich einfach zu erkennen, wie diese Dinge Variablen ähneln und wie sich das Ändern des Status der Uhr auf andere Dinge auswirken kann.
Vergleichen Sie das mit etwas Staatenlosem wie einer Aussage: "Die Tür ist rot." Die Anweisung selbst hat keinen Status. Es kann sein, dass die Tür rot ist oder nicht, aber die Anweisung selbst enthält keinen Zustand. Das Streichen der Tür kann die Wahrheit der Aussage ändern, aber die Aussage selbst ändert sich nie. Ebenso hat eine Zahl wie 42 keinen Status: 42 ist 42 und Sie können nichts daran ändern.
Variablen haben einen Status, Werte nicht.
quelle
Status ist eine Information, die Ihr Programm manipuliert, um eine Aufgabe auszuführen. Es sind Daten oder Informationen, die während der Laufzeit eines Programms geändert oder manipuliert werden. Der "Status" eines Programms zu einem bestimmten Zeitpunkt bezieht sich auf eine Momentaufnahme aller Daten, die das Programm gerade betrachtet oder analysiert, um zum nächsten Schritt seiner Ausführung zu gelangen.
Meine Universität begann mit Scheme, also haben wir angefangen, mit einem Modell ohne Status zu programmieren. Wir sind dann zu C gewechselt und haben uns sehr genau über den Zustand informiert, warum er nützlich ist und warum er die Dinge möglicherweise sehr kompliziert macht. Einige Universitäten sprechen also von Staat, aber nicht unbedingt von allen
quelle
Sie können die Analogie einer Ampel verwenden, die sich in einem von drei Zuständen befinden kann: [GRÜN], [GELB] oder [ROT]. Es darf sich immer nur in einem Zustand befinden. Die Ampel ist die tatsächlich modellierte Zustandsmaschine. Normalerweise wechselt der Status von [GRÜN nach GELB], dann von [GELB nach ROT] und dann von [ROT nach GRÜN].
Ein alternativer Zustandsübergang (der in einigen Ländern wie Großbritannien in Kraft ist und zwei Übergänge von [ROT nach GELB, dann GELB nach GRÜN] anstelle des Übergangs von [ROT nach GRÜN] aufweist.
quelle