Конечный автомат - C# (206185)

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток! Недавно начал изучать автоматы, честно говоря представление что это такое есть, но вот как это запрограммировать понятия не имею. Поделитесь , пожалуйста, исходником или кодом простейшего автомата?

Решение задачи: «Конечный автомат»

textual
Листинг программы
using System;
 
namespace ConsoleApplication53
{
    class Program
    {
        static void Main()
        {
            var sm = new StateMachine();
            sm.GoToState1();
            Console.WriteLine(sm);
            sm.GoToState2();
            Console.WriteLine(sm);
            sm.Stop();
            Console.WriteLine(sm);
            sm.Reset();
            Console.WriteLine(sm);
            Console.ReadKey();
        }
    }
 
    class StateMachine
    {
        private int state;
        public void GoToState1()
        {
            state = 1;
        }
 
        public void GoToState2()
        {
            state = 2;
        }
 
        public void Stop()
        {
            state = -1;
        }
 
        public void Reset()
        {
            state = 0;
        }
 
        public int State { get { return state; } }
        public string StateString { get { return state < 0 ? "STOPPED" : state == 0 ? "READY" : "STATE" + state; } }
 
        public override string ToString()
        {
            return "I'm a state machine and my current state is " + StateString;
        }
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

15   голосов , оценка 3.733 из 5