Основы кибернетики были заложены трудами по математической логике американского математика Норберта Винера, опубликованными в 1948 г.Кибернетика – это наука об общих принципах управления в различных системах: технических, биологических, социальных и др. Управление является центральным понятием кибернетики, и оно пронизывает все сферы деятельности человека и общества.Часто возникает путаница в понятиях "информатика" и "кибернетика". Существует спорное мнение, что информатика является одним из направлений кибернетики.
Информатика появилась благодаря развитию компьютерной техники, базируется на ней и без нее немыслима. Кибернетика же развивается сама по себе, строя различные модели управления объектами, хотя и очень активно использует все достижения компьютерной техники.
Основная концепция, заложенная Н. Винером в кибернетику, связана с разработкой теории управления сложными динамическими системами в разных областях человеческой деятельности. Кибернетика существует независимо от наличия или отсутствия компьютеров.
Информатика занимается изучением процессов преобразования и создания новой информации более широко. Поэтому может сложиться впечатление об информатике как о более емкой дисциплине, чем кибернетика. Однако, с другой стороны, информатика не занимается решением проблем, не связанных с использованием компьютерной техники.Можно сказать, что кибернетика и информатика различаются в расстановке акцентов. Если в информатике важны свойства информации и аппаратно-программные средствах ее обработки, то в кибернетике – это разработка концепций и построение моделей управления. Информатика и кибернетика – разные науки, сферы деятельности которых, однако, сильно пересекаются.
Управление – это целенаправленная организация того или иного процесса, протекающего в системе.Процесс управления – это информационный процесс, который включает в себя сбор информации, ее переработку и анализ, принятие решений, выработку управляющих воздействий и их доведение до объектов управления.Каждая фаза процесса управления протекает во взаимодействии с окружающей средой при воздействии разного рода помех.Через объект управления проходят в основном материальные потоки и в значительно меньшей степени – информационные; в то же самое время через управляющий орган проходят только информационные потоки. Именно поэтому процесс управления является информационным процессом, а все люди, занятые в сфере управления, имеют дело только с информацией.
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
uses graphABC;
const
w=1000;
h=600;
function f(x:real):=0.5*x*cos(2*x);
begin
SetWindowSize(w,h);
// поле для графика в окне
var xLeft:=50;
var yLeft:=50;
var xRight:=w-xLeft;
var yRight:=h-yLeft;
// интервалы по осям
var ax:=-12.0;
var bx:=12.0;
var hx:=1.0;
var ay:=-6.5; // минимум f(x) с запасом
var by:=6.5;
var hy:=0.5;
// масштабы по осям
var mx:=(xRight-xLeft)/(bx-ax);
var my:=(yRight-yLeft)/(by-ay);
// точка начала координат графика
var x0:=xLeft+Trunc(abs(ax)*mx);
var y0:=yRight-Trunc(abs(ay)*my);
// рисование координатных осей
Line(xLeft,y0,xRight+10,y0);
Line(x0,yLeft-10,x0,yRight);
SetFontSize(12); SetFontColor(clBlue);
TextOut(xRight+15,y0-10,'X');
TextOut(x0-4,yLeft-30,'Y');
SetFontSize(8); SetFontColor(clGreen);
// рисование засечек
var s:string;
for var i:=1 to Round((bx-ax)/hx)+1 do begin
var num:=ax+(i-1)*hx;
var x:=xLeft+Trunc(mx*(num-ax));
Line(x,y0-3,x,y0+3);
Str(num,s);
if abs(num)>1E-15 then TextOut(x-TextWidth(s) div 2,y0+10,s)
end;
for var i:=1 to Round((by-ay)/hy)+1 do begin
var num:=ay+(i-1)*hy;
var y:=yRight-Trunc(my*(num-ay));
Line(x0-3,y,x0+3,y);
Str(num,s);
if abs(num)>1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,s)
end;
TextOut(x0-10,y0+10,'0');
// собственно график
var xi:=ax;
while xi<=bx do begin
var yi:=f(xi);
var x:=x0+Round(xi*mx);
var y:=y0-Round(yi*my);
if (y>=yLeft) and (y<=yRight) then SetPixel(x,y,clRed);
xi+=1e-3
end
end.
*******************************************
// PascalABC.NET 3.1, сборка 1204 от 24.03.2016
uses graphABC;
const
w=1000;
h=600;
function f(x:real):=8*sin(x)*sin(2*x);
begin
SetWindowSize(w,h);
// поле для графика в окне
var xLeft:=50;
var yLeft:=50;
var xRight:=w-xLeft;
var yRight:=h-yLeft;
// интервалы по осям
var ax:=-15.0;
var bx:=15.0;
var hx:=1.0;
var ay:=-6.5; // минимум f(x) с запасом
var by:=6.5;
var hy:=0.5;
// масштабы по осям
var mx:=(xRight-xLeft)/(bx-ax);
var my:=(yRight-yLeft)/(by-ay);
// точка начала координат графика
var x0:=xLeft+Trunc(abs(ax)*mx);
var y0:=yRight-Trunc(abs(ay)*my);
// рисование координатных осей
Line(xLeft,y0,xRight+10,y0);
Line(x0,yLeft-10,x0,yRight);
SetFontSize(12); SetFontColor(clBlue);
TextOut(xRight+15,y0-10,'X');
TextOut(x0-4,yLeft-30,'Y');
SetFontSize(8); SetFontColor(clGreen);
// рисование засечек
var s:string;
for var i:=1 to Round((bx-ax)/hx)+1 do begin
var num:=ax+(i-1)*hx;
var x:=xLeft+Trunc(mx*(num-ax));
Line(x,y0-3,x,y0+3);
Str(num,s);
if abs(num)>1E-15 then TextOut(x-TextWidth(s) div 2,y0+10,s)
end;
for var i:=1 to Round((by-ay)/hy)+1 do begin
var num:=ay+(i-1)*hy;
var y:=yRight-Trunc(my*(num-ay));
Line(x0-3,y,x0+3,y);
Str(num,s);
if abs(num)>1E-15 then TextOut(x0+7,y-TextHeight(s) div 2,s)
end;
TextOut(x0-10,y0+10,'0');
// собственно график
var xi:=ax;
while xi<=bx do begin
var yi:=f(xi);
var x:=x0+Round(xi*mx);
var y:=y0-Round(yi*my);
if (y>=yLeft) and (y<=yRight) then SetPixel(x,y,clRed);
xi+=1e-3
end
end.