Junior — Middle
Puteți explica conceptul de automate de stări și cum se aplică în programare?
sobes.tech AI
Răspuns de la AI
Mașina de stare finită (Finite State Machine, FSM) este un model de calcul care descrie un sistem cu un număr finit de stări și tranziții între ele ca răspuns la evenimente sau condiții.
În programare, mașinile de stare sunt utilizate pentru a gestiona comportamentul unui program, unde în fiecare moment sistemul se află într-una dintre stări, iar tranzițiile între stări au loc conform unor reguli specifice.
Exemplu de utilizare:
- În interfețe pentru gestionarea stărilor butoanelor sau ecranelor.
- În jocuri pentru controlul comportamentului personajelor.
- În protocoale de rețea pentru procesarea secvenței de mesaje.
Exemplu de implementare simplă a unei mașini de stare în Python:
class StateMachine:
def __init__(self):
self.state = 'idle'
def on_event(self, event):
if self.state == 'idle':
if event == 'start':
self.state = 'running'
elif self.state == 'running':
if event == 'stop':
self.state = 'idle'
sm = StateMachine()
print(sm.state) # idle
sm.on_event('start')
print(sm.state) # running
sm.on_event('stop')
print(sm.state) # idle
Astfel, mașina de stare ajută la structurarea logicii, făcând-o mai previzibilă și mai ușor de gestionat.