private TuringMachine(SerializationInfo info, StreamingContext context) { _tapes = info.GetValue("t", typeof(TuringTapes)) as TuringTapes; _symbols = info.GetValue("s", typeof(SymbolSet)) as SymbolSet; _tapes.TapeUpdated += _tapes_TapeUpdated; }
/// <summary> /// Инициализирует машину Тьюринга единственной пустой лентой. /// </summary> public TuringMachine() { _tapes = new TuringTapes(1); _stateIndex = -1; _states = null; _symbols = new SymbolSet(); _tapes.TapeUpdated += _tapes_TapeUpdated; }
/// <summary> /// Инициализирует машину Тьюринга заданным количеством лент. /// </summary> /// <param name="tapesCount">Количество создаваемых лент.</param> public TuringMachine(int tapesCount) { if (tapesCount < 1) throw new ArgumentException("Количество лент должно быть положительным"); _tapes = new TuringTapes(tapesCount); _stateIndex = -1; _states = null; _symbols = new SymbolSet(); }