Любая система может действовать по правилам разомкнутой или замкнутой схемы управления. Управление есть целенаправленное взаимодействие объектов, одни из которых являются управляющими, другие — управляемыми. Простая ситуация — два объекта: один — управляющий, второй — управляемый. Человек и телевизор, хозяин и собака, светофор и автомобиль. Например: хозяин голосом отдает команду собаке, человек включает свет в комнате. Когда управляющее воздействие происходит в одну сторону, то такая система называется разомкнутой. В разомкнутой информационной системе получаемая потребителем информация используется произвольно. От потребителя в информационную систему ничего не поступает. Разомкнутая система оказывается не к управлению в случае перехода управляемого объекта в неустойчивое состояние. Пример такой системы — светофор и автомобиль. (светофор "не глядя" управляет движением машин, не зная обстановку на перекрестке). В примере "хозяин и собака" процесс управления протекает иначе. Прежде, чем отдать очередную команду, человек смотрит на состояние объекта управления, на результат выполнения предыдущей команды. Следовательно, управляющий не только отдает команды, но и принимает информацию от объекта управления о его состоянии. Этот процесс называется обратной связью. Обратная связь — это процесс передачи информации о состоянии объекта управления к управляющему. Система с обратной связью называется замкнутой. Если представить последовательность управляющих воздействий в виде алгоритма, то для разомкнутой системы такой алгоритм всегда будет линейным. В замкнутых системах управления алгоритм управления может оказаться ветвящимся или циклическим.
Using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace ConsoleApplication1{ class Program { static void Main(string[] args) { System.Console.WriteLine("Введите число"); int x = Int32.Parse(System.Console.ReadLine()); int p = 1; int N = 1; if (x == 1) { System.Console.WriteLine("число {0} является фактриалом числа 0", x); } while (p < x) { N = N + 1; p = p * N; } if (p == x) { System.Console.WriteLine("число {0} является фактриалом числа {1}", x, N); } else { System.Console.WriteLine("число {0} не является фактриалом числа", x); } System.Console.Read(); } } }
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1{
class Program {
static void Main(string[] args) {
System.Console.WriteLine("Введите число");
int x = Int32.Parse(System.Console.ReadLine());
int p = 1;
int N = 1;
if (x == 1) {
System.Console.WriteLine("число {0} является фактриалом числа 0", x); }
while (p < x) {
N = N + 1;
p = p * N;
}
if (p == x) {
System.Console.WriteLine("число {0} является фактриалом числа {1}", x, N);
} else {
System.Console.WriteLine("число {0} не является фактриалом числа", x); }
System.Console.Read();
}
}
}