Methodological guidelines for performing practical works for the course "Computer mathematics. Part 3" - Yagup, Kateryna Valeriivna (Національний технічний університет "Харківський політехнічний інститут", 2025)
A finite state machine is one of the basic objects in automata theory, used in computer mathematics, information science and formal language theory, computational theory, linguistics, compiler development, digital circuits and other fields. Finite state machines are widely used in modern programming, there are a number of libraries that implement the concept of finite state machines, such as spring-statemachine (Java), laravel-model-states (PHP), django-fsm (Python), XState (Frontend), Redux, http, requests in api are also finite state machines. The main advantage of finite state machines is that they significantly simplify the logic of the program and make the code more understandable. They are especially useful when developing parsers, game logic, communication protocols, robots, user interfaces, etc. The guidelines for practical works consider brief theoretical information about finite state machines, provide basic definitions of this topic, and demonstrate programming a finite state machine using the Java language using an example. When performing practical work, it is necessary to draw a state transition diagram, programmatically implement a finite state machine corresponding to a given option, and provide appropriate explanations for completing the work. At the end of the guidelines, there are also test questions for students to consolidate their knowledge.
Keywords: methodological guidelines; practical works; computer mathematics; finite state machine; mathematical model; discrete systems