Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами
Дано порівняльну характеристику програмних модулів комп’ютерних систем оптимального керування, що створені для деяких керованих об’єктів з використанням мов програмування Visual Basic for Application та Visual Studio C++. The comparative characteristic of COCS units implemented for some controlable...
Збережено в:
| Опубліковано в: : | Проблемы управления и информатики |
|---|---|
| Дата: | 2007 |
| Автор: | |
| Формат: | Стаття |
| Мова: | Російська |
| Опубліковано: |
Інститут кібернетики ім. В.М. Глушкова НАН України
2007
|
| Теми: | |
| Онлайн доступ: | https://nasplib.isofts.kiev.ua/handle/123456789/207002 |
| Теги: |
Додати тег
Немає тегів, Будьте першим, хто поставить тег для цього запису!
|
| Назва журналу: | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| Цитувати: | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами / В.И. Мусуривский // Проблемы управления и информатики. — 2007. — № 4. — С. 93-101. — Бібліогр.: 9 назв. — рос. |
Репозитарії
Digital Library of Periodicals of National Academy of Sciences of Ukraine| _version_ | 1859740505224511488 |
|---|---|
| author | Мусуривский, В.И. |
| author_facet | Мусуривский, В.И. |
| citation_txt | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами / В.И. Мусуривский // Проблемы управления и информатики. — 2007. — № 4. — С. 93-101. — Бібліогр.: 9 назв. — рос. |
| collection | DSpace DC |
| container_title | Проблемы управления и информатики |
| description | Дано порівняльну характеристику програмних модулів комп’ютерних систем оптимального керування, що створені для деяких керованих об’єктів з використанням мов програмування Visual Basic for Application та Visual Studio C++.
The comparative characteristic of COCS units implemented for some controlable objects is given on the programming languages Visual Basic for Application and Visual Studio C++.
|
| first_indexed | 2025-12-01T17:19:49Z |
| format | Article |
| fulltext |
© В.И. МУСУРИВСКИЙ, 2007
Проблемы управления и информатики, 2007, № 4 93
УДК 517.9:519.876.5:519.6:519.7:681.5
В.И. Мусуривский
СРАВНИТЕЛЬНАЯ ХАРАКТЕРИСТИКА
ПРОГРАММНЫХ МОДУЛЕЙ КОМПЬЮТЕРНЫХ
СИСТЕМ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ
НЕКОТОРЫМИ УПРАВЛЯЕМЫМИ ОБЪЕКТАМИ
Введение. Стремительное развитие управляемых систем с точки зрения оп-
тимального управления, в частности оптимальное управление физическими объ-
ектами или техническими системами, математические основы функционирования
которых могут быть описаны классификационной и алгоритмической схемами,
приведенными в [1, 2], невозможно без качественного участия компьютерных си-
стем оптимального управления (КСОУ), представляющих собой мощную основу
таких управляемых систем. Основные принципы работы КСОУ, охарактеризо-
ванные в [3, 4] для некоторого технического объекта — морского рыболовного
траулера, могут использоваться и для других технических объектов, которые удо-
влетворяют упомянутой классификационной и алгоритмической схемам. С другой
стороны, такие КСОУ — это, по сути, системы принятия решений [5] (интеллек-
туальные системы принятия решений).
В работах [1, 3] на основании [6] обосновано создание КСОУ в связи с хоро-
шими возможностями языка программирования Visual Basic for Applications (VBA)
на платформе программного приложения Microsoft Excel’XX. Результаты [7] поз-
воляют усилить аргументацию выбора выводами об объектной ориентированно-
сти VBA.
1. Принципы построения КСОУ на основе VBA
Отметим, что VBA — основной язык программирования, который соответ-
ствует идеологическим концепциям программирования фирмы Microsoft (MS) и
позволяет реализовывать программное проектирование для всех программных
приложений пакета MS Office, в частности и для программного приложения
MS Excel’XX, системы управления базы данных (СУБД) MS Access’XX.
Кроме того, в связи с высокой популярностью в среде профессиональных
пользователей программного приложения MS Excel’XX и с учетом работ [1, 3, 6],
КСОУ создана с помощью VBA на платформе программного приложения
MS Excel’XX, что дает возможность использовать для программирования:
• прикладное меню и созданные панели инструментов MS Excel’XX.
• стандартные функции и команды MS Excel’XX (как в [1, 3, 6]), которые ре-
ализуются через стандартные процедуры VBA, создавая мощную библиотеку
стандартных процедур на уровне лучших языков программирования.
Обращаясь к стандартным процедурам VBA, можно, например, записать:
для определения корней трансцендентных уравнений —
ActiveCell.GoalSeek Goal:=0, ChangingCell:=Range("A10");
для определения корней систем нелинейных уравнений —
SolverOk SetCell:="$C$25", MaxMinVal:=2, ValueOf:="0", ByChange:="$A$25"
SolverSolve;
для построения диаграмм —
Range("A2:V4").Select
Application.CutCopyMode = False
Charts.Add
ActiveChart.ChartType = xlLine
ActiveChart.SetSourceData Source:=Sheets("Diagr").Range("A2:V4"), PlotBy:= _
xlRows
94 ISSN 0572-2691
ActiveChart.Location Where:=xlLocationAsObject, Name:=" Diagr"
With ActiveChart
HasTitle = False
Axes(xlCategory, xlPrimary).HasTitle = False
Axes(xlValue, xlPrimary).HasTitle = False
End With
ActiveChart.SeriesCollection(1).Select
Selection.Delete.
Следует также заметить, что широкие возможности создания меню, предо-
ставляемые благодаря языку программирования VBA программным приложением
MS Excel’XX, позволяют создавать программные коды, в которых успешно про-
ектируются меню многоуровневого вида, что представляет собой характерную
особенность и стандарт программных приложений MS Office на уровнях работы с
прикладным меню и панелей инструментов.
Фрагмент программного кода, который реализует проектирование многоуров-
невого меню, представляется в следующем виде:
Set StrokaMenu = CommandBars.ActiveMenuBar
Set MenuSU = StrokaMenu.Controls.Add(Type:=msoControlPopup, _
Before:=12, Temporary:=True)
MenuSU.Caption = "Компьютерная Система Управления"
Set Komanda = MenuSU.CommandBar.Controls _
.Add(Type:=msoControlPopup, Before:=1)
Komanda.Caption = "Подготовка начальных данных"
Set RjadokMen1 = CommandBars.ActiveMenuBar
Set Men1 = RjadokMen1.Controls.Add(Type:=msoControlPopup, _
Before:=13, Temporary:=True)
Set Komanda = Men1.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=2949, Before:=1)
Komanda.Caption = "Решение нелинейных уравнений"
Komanda.OnAction = "Rivnannja"
Komanda.Style = msoButtonCaption
Set Komanda = Men1.CommandBar.Controls _
.Add(Type:=msoControlButton, ID:=2949, Before:=2)
Komanda.Caption = "Решение нелинейных систем"
Komanda.OnAction = "NelSystem"
Komanda.Style = msoButtonCaption
Аналогичное меню можно построить и с помощью созданной панели ин-
струментов (рис. 1). Результат управления отображается соответствующими диа-
граммами [2].
Рис. 1
Аргументы в пользу выбора языка программирования VBA основываются на
трех принципах, свойствах языка, которые присущи языкам объектно-ориентиро-
ванного уровня, а именно:
• инкапсуляции;
• повторном использовании;
• полиморфизме.
Инкапсуляция позволяет созданным объектам, обладающим собственными
свойствами, взаимодействовать между собой, применять друг к другу свои мето-
ды, изменять друг у друга свойства. Этот принцип позволяет организовывать,
конструировать взаимосвязи, восстановление данных.
Повторное использование в VBA основывается на принципе вложенности —
при вкладывании объекта в класс устанавливаются свойства данного класса как
уже существующие свойства другого класса.
Проблемы управления и информатики, 2007, № 4 95
Повторное использование как принцип объектно-ориентированного про-
граммирования иногда в литературе называется наследованием, хотя по сути
наследование — это один из способов повторного использования, в частности:
— это возможность создать новый класс, который будет функционировать с
элементами уже созданного класса, не изменяя их;
— означает повторное использование программного кода в структуре глав-
ного программного модуля.
Полиморфизм позволяет выполнить определенные действия после получения
команды о необходимости их выполнения. Это принцип, который реализуется че-
рез использование типа Object — свойства устанавливаются и команды функциони-
руют для объектов только в случае описания соответствующих типов аргументов.
Имея указанные возможности и свойства, язык программирования VBA, бу-
дучи языком достаточно несложным, тем не менее не пользуется широкой попу-
лярностью среди программистов по таким причинам:
• программные коды, созданные на основе VBA, в целом довольно громоздки;
• эти программные коды привязываются к программному приложению, в сре-
де которого создаются, и не могут самостоятельно функционировать вне про-
граммного приложения, оставаясь лишь процедурной единицей, позволяющей
только обращение через главный программный код, написанный на другом, неза-
висимом языке программирования;
• достаточно веским фактором служат недостатки старых версий языка
BASIC, например:
— нумерация операторов, усложняющая чтение программных кодов;
— необходимость частого использования оператора GOTO;
— формат оператора присвоения LET ‹переменная› = ‹выражение›,
и другие.
К большому недостатку VBA при создании КСОУ следует отнести и трудно-
сти, связанные с организацией циклов, в которых необходимо адресное обраще-
ние к ячейкам и одновременное использование стандартных процедур на плат-
форме MS Excel при создании таблиц исходных данных:
Range("A11").Select
ActiveCell.FormulaR1C1 = _
"=(R4C6+R4C8*R4C7*R[-1]C4/2)*COS(R10C1)-(R4C9+R4C10)*R8C7^2*SIN(R10C1)-
R4C11*R4C7*R[-1]C4/2*R8C7^2*SIN(R10C1)^2"
k = 0
For I = 1 To 5
Selection.Copy
Call RuchB
ActiveSheet.Paste
Call RuchH
ActiveCell.GoalSeek Goal:=0, ChangingCell:=Range("A10")
Range("A10").Select
Call FormN5
Selection.Copy
ActiveCell.Offset(k, 4).Range("A1").Select
ActiveSheet.Paste
ActiveCell.Offset(2, -4).Range("A1").Select
k = k + 1
Next I
В целом такой вариант КСОУ, созданный с помощью VBA на платформе
MS Excel, с учетом практики широкого использования программного приложения
MS Excel на уровне профессиональных пользователей и возможности использо-
вания принципов объектно-ориентированного программирования, предоставлен-
ных в VBA, имеет право на полноценное использование, что подтверждают ана-
лиз и рекомендации использования данной версии КСОУ.
96 ISSN 0572-2691
2. Преимущества и особенности построения КСОУ
на основе Visual Studio C++
Используя мощные, практически неограниченные возможности языка про-
граммирования С++ — эффективного языка для разработки наилучших систем
программного обеспечения и программных приложений, — можно создать более
производительную, быстродействующую и мобильную КСОУ.
Язык программирования C++ сам по себе не является исключительно объект-
но-ориентированным языком — это комбинированный язык, предоставляющий
возможность и процедурного, и классического структурного программирования.
На MS Visual Studio 2005, не имеющем некоторых стандартных процедур, их
можно легко запрограммировать, владея методами приближенных вычислений.
Например, решение нелинейных (трансцендентных) уравнений легко реализуется
следующими версиями программного кода:
• методом хорд —
#include "stdafx.h"
#include "methods.h"
#include "methodsDlg.h"
#include "math.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#endif
float f(float x)
{
return x*x - 2*x + 1;
}
double ChordMethod (double a, double b, double eps)
{
double dPreviousX, dCurrentX;
dCurrentX = a;
do
{
dPreviousX = dCurrentX;
if (f(dPreviousX) < eps)
{
return dPreviousX;
}
if (f(dCurrentX) < eps)
{
return dCurrentX;
}
dCurrentX = (dPreviousX * f(b) - f(dPreviousX) * b) /
(f(b) – f(dPreviousX));
}
while ((dCurrentX – dPreviousX) > eps );
return dCurrentX;
}
• методом деления отрезка пополам —
char szFunction[] = "x*x – 2*x + 1";
float fNumverValue(0);
float fCoefArray[SIZE];
int nCoefQuantity(0);
int nPowerArray[SIZE];
int nSignArray[SIZE];
int Number (char *szTemp, int nIndex)
{
double dTemp = 0.1;
for (fNumverValue = 0; (isdigit (szTemp[nIndex])); nIndex ++)
fNumverValue = fNumverValue*10 + szTemp[nIndex] – '0';
if (szTemp[nIndex] == '.')
{
nIndex ++;
while (isdigit(szTemp[nIndex]))
{
fNumverValue = fNumverValue + (szTemp[nIndex] – '0')*dTemp;
dTemp *= 0.1;
Проблемы управления и информатики, 2007, № 4 97
nIndex ++;
}
}
return nIndex;
}
void FindFuncEl(char *szTemp, int nStrLen)
{
int i(0), nStep(0);
while(i < nStrLen)
{
if (isdigit(szTemp[i]))
{
i = Number(szTemp, i);
if (szTemp[i] == '*') i ++;
else MessageBox(NULL, _T("uncorrect function"), _T("Error"),
MB_ICONHAND);
}
else if(szTemp[i] == 'x') fNumverValue = 1;
else MessageBox(NULL, _T("uncorrect function"), _T("Error"),
MB_ICONHAND);
while (i < nStrLen)
{
if (szTemp[i] == 'x'){ nStep ++; i ++;}
else if ((i < nStrLen)&&(szTemp[i] == '*')) i ++;
}
fCoefArray[nCoefQuantity] = fNumverValue*nStep;
nPowerArray[nCoefQuantity] = nStep – 1;
nCoefQuantity ++;
}
fNumverValue = 0;
}
void FunctionParser()
{
char szTemp[SIZE];
int i(0), j(0);
int nStrLen;
nStrLen = strlen(szFunction);
while(i < nStrLen)
{
while ((i < nStrLen)&&(szFunction[i] != ' ') && (szFunction[i] != '+') && (szFunction[i] !=
'-') )
{
szTemp[j] = szFunction[i];
j ++;
i ++;
}
FindFuncEl(szTemp, j);
while((i < nStrLen)&&(!isdigit(szFunction[i])) &&
(szFunction[i] != 'x') && (szFunction[i] != '+') &&
(szFunction[i] != '-')) i ++;
if (szFunction[i] == '+')
{
nSignArray[nCoefQuantity – 1] = 1;
while((!isdigit(szFunction[i])) && (szFunction[i] != 'x')) i ++;
}
else if (szFunction[i] == '-')
{
nSignArray[nCoefQuantity – 1] = 2;
while((!isdigit(szFunction[i])) && (szFunction[i] != 'x')) i ++;
}
j = 0;
}
}
float FindDerivative(float x)
{
float fResult(0);
float fTempValue(0);
int i(0);
FunctionParser ();
fTempValue = pow(x, nPowerArray[i]);
fTempValue *= fCoefArray[i];
fResult = fTempValue;
98 ISSN 0572-2691
i ++;
while(i < nCoefQuantity)
{
fTempValue = pow(x, nPowerArray[i]);
fTempValue *= fCoefArray[i];
switch(nSignArray[i – 1])
{
case 1:fResult += fTempValue; break;
case 2:fResult -= fTempValue; break;
}
i ++;
}
return fResult;
}
//************************************************************************************
int nNumberIteration = 0;
double DivideMethod(double a0, double b0, double eps)
{
double fAlpha;
if (f(a0) < eps)
{
return a0;
}
if (f(b0) < eps)
{
return b0;
}
fAlpha = f((a0 + b0)/2);
nNumberIteration ++;
if ((fAlpha == 0) || ( fabs(fAlpha) < eps)) return (a0 + b0)/2;
return (fAlpha >= 0) ? DivideMethod((a0 + b0)/2, b0, eps) : DivideMethod(a0, (a0 + b0)/2,
eps);
}
Решение систем нелинейных уравнений методом простой итерации легко ре-
ализуется с помощью такого программного кода:
#define DERIVATIVE_STEP 0.0001
typedef struct tagARG
{
double x;
double y;
tagARG& operator += (const tagARG& arg2)
{
x += arg2.x;
y += arg2.y;
return *this;
}
bool operator == (const tagARG& arg2)
{
return x == arg2.x && y == arg2.y;
}
} ARG;
typedef double (*FUNCTION)(const ARG& p_arg);
double L = 1.0; // l = 1(0.1)10
double A = 1.0; // a = 1(0.1)10
double func0(const ARG& p_arg)
{
return sin(p_arg.x + p_arg.y) - 1.6 * p_arg.x;
}
double func1(const ARG& p_arg)
{
return L * p_arg.x * p_arg.x + p_arg.y * p_arg.y – A;
}
double derivative(FUNCTION p_func, const ARG& p_arg, bool p_bDerivX)
{
ARG arg1 =
{
p_arg.x + (p_bDerivX ? DERIVATIVE_STEP : 0),
p_arg.y + (p_bDerivX ? 0 : DERIVATIVE_STEP)
};
return (p_func(arg1) – p_func(p_arg)) / DERIVATIVE_STEP;
}
Проблемы управления и информатики, 2007, № 4 99
ARG& solve_lsystem(
const ARG& p_arg0, const ARG& p_arg1, const ARG& p_argFree,
ARG& p_argResult)
{
p_argResult.x = (p_argFree.x * p_arg1.y – p_arg0.y * p_argFree.y)
/ (p_arg0.x * p_arg1.y – p_arg1.x * p_arg0.y);
p_argResult.y = (p_arg0.x * p_argFree.y – p_argFree.x * p_arg1.x)
/ (p_arg0.x * p_arg1.y - p_arg1.x * p_arg0.y);
return p_argResult;
}
void evaluate(
FUNCTION p_func0,
FUNCTION p_func1,
const ARG& p_argPrevious,
ARG& p_argCurrent)
{
ARG argDelta,
argFuncPreviousM =
{
- p_func0(p_argPrevious),
- p_func1(p_argPrevious)
},
argFuncDerivativePrevious0 =
{
derivative(p_func0, p_argPrevious, true),
derivative(p_func0, p_argPrevious, false)
},
argFuncDerivativePrevious1 =
{
derivative(p_func1, p_argPrevious, true),
derivative(p_func1, p_argPrevious, false)
};
solve_lsystem(
argFuncDerivativePrevious0,
argFuncDerivativePrevious1,
argFuncPreviousM,
argDelta);
p_argCurrent = p_argPrevious;
p_argCurrent += argDelta;
}
ARG evaluate_func(float x0, float y0, float eps)
{
ARG argCurrent = {(double) x0, (double) y0}, argPrevious;
double f0, f1;
int nIterationCount = 0;
do {
argPrevious = argCurrent;
evaluate(func0, func1, argPrevious, argCurrent);
f0 = func0(argCurrent);
f1 = func1(argCurrent);
nIterationCount ++;
} while ((abs(f0) >= eps || abs(f1) >= eps) && !(argPrevious == argCurrent));
return argCurrent;
}
Достаточно эффективно и мобильно меню, реализующее подготовку таблиц
начальных данных КСОУ (рис. 2).
Рис. 2
100 ISSN 0572-2691
Фрагмент кода для работы с этим меню имеет вид:
BEGIN_MESSAGE_MAP(CmethodsDlg, CDialog)
ON_WM_PAINT()
ON_WM_QUERYDRAGICON()
//}}AFX_MSG_MAP
ON_BN_CLICKED(IDOK, &CmethodsDlg::OnBnClickedOk)
ON_BN_CLICKED(IDC_METHOD_SEGMENT_SPLITTING,
&CmethodsDlg::OnBnClickedMethodSegmentSplitting)
ON_BN_CLICKED(IDC_METHOD_CHORD,
&CmethodsDlg::OnBnClickedMethodSegmentSplitting)
ON_BN_CLICKED(IDC_METHOD_SIMPLE_ITERATION,
&CmethodsDlg::OnBnClickedMethodSegmentSplitting)
END_MESSAGE_MAP()
void CmethodsDlg::switchMethod(int p_nMethodId)
{
if (p_nMethodId >= 0 && p_nMethodId < 3)
{
switch(p_nMethodId)
{
case 0:
((CButton*)
GetDlgItem(IDC_METHOD_SEGMENT_SPLITTING))-
>SetCheck(BST_CHECKED);
break;
case 1:
((CButton*) GetDlgItem(IDC_METHOD_CHORD))-
>SetCheck(BST_CHECKED);
break;
case 2:
((CButton*) GetDlgItem(IDC_METHOD_SIMPLE_ITERATION))->SetCheck(BST_CHECKED);
break;
}
}
}
int CmethodsDlg::getMethodId()
{
return ((CButton*) GetDlgItem(IDC_METHOD_SEGMENT_SPLITTING))->GetCheck() ==
BST_CHECKED
? 0 : (((CButton*) GetDlgItem(IDC_METHOD_CHORD))->GetCheck() == BST_CHECKED ?
1 : 2);
}
BOOL CmethodsDlg::OnInitDialog()
{
CDialog::OnInitDialog();
SetIcon(m_hIcon, TRUE); // Set big icon
SetIcon(m_hIcon, FALSE); // Set small icon
SetDlgItemText(IDC_LEFTX, _T("0"));
SetDlgItemText(IDC_RIGHTX, _T("1.0"));
SetDlgItemText(IDC_EPSILON, _T("0.0001"));
switchMethod(0);
return TRUE; // return TRUE unless you set the focus to a control
}
void CmethodsDlg::OnBnClickedOk()
{
char szTemp[32], szTemp2[32];
double a, b, eps;
ARG oArg;
GetDlgItemText(IDC_LEFTX, szTemp, sizeof(szTemp));
a = atof(szTemp);
GetDlgItemText(IDC_RIGHTX, szTemp, sizeof(szTemp));
b = atof(szTemp);
GetDlgItemText(IDC_EPSILON, szTemp, sizeof(szTemp));
eps = atof(szTemp);
double result;
switch (getMethodId())
{
case 0:
result = DivideMethod(a, b, eps);
sprintf(szTemp, _T("%.7f"), result);
break;
case 1:
Проблемы управления и информатики, 2007, № 4 101
result = ChordMethod(a, b, eps);
sprintf(szTemp, _T("%.7f"), result);
break;
case 2:
oArg = evaluate_func(a, b, eps);
sprintf(szTemp, _T("%.7f"), oArg.x);
strcat(szTemp, ", ");
sprintf(szTemp2, _T("%.7f"), oArg.y);
strcat(szTemp, szTemp2);
break;
}
SetDlgItemText(IDC_RESULT, szTemp);
}
Таким образом, КСОУ, созданное на платформе MS Visual Studio 2005, пред-
ставляет собой полноценное программное приложение.
В.І. Мусурівський
ПОРІВНЯЛЬНА ХАРАКТЕРИСТИКА
ПРОГРАМНИХ МОДУЛІВ КОМП’ЮТЕРНИХ
СИСТЕМ ОПТИМАЛЬНОГО КЕРУВАННЯ
ДЛЯ ДЕЯКИХ КЕРОВАНИХ ОБ’ЄКТІВ
Дано порівняльну характеристику програмних модулів комп’ютерних систем
оптимального керування, що створені для деяких керованих об’єктів з викорис-
танням мов програмування Visual Basic for Application та Visual Studio C++.
V.I. Musurivskiy
COMPARATIVE CHARACTERISTIC OF PROGRAM
MODULES OF THE COMPUTER OPTIMAL CONTROL
SYSTEMS OF SOME CONTROLLED OBJECTS
The comparative characteristic of COCS units implemented for some controlable
objects is given on the programming languages Visual Basic for Application and
Visual Studio C++.
1. Мусуривский В.И. О математических основах функционирования компьютерной системы
оптимального управления траулером. Часть 1 // Проблемы управления и информатики. —
2006. — № 3. — С. 57–64.
2. Мусуривский В.И. О математических основах функционирования компьютерной системы
оптимального управления траулером. Часть 2 // Там же. — 2006. — № 4. — С. 72–81.
3. Мусурівський В.І. Про програмні засоби розв’язання нелінійних систем для задачі оптима-
льного управління траулером // Наук. вісн. Буковинського державного фінансово-еконо-
мічного інституту. — 2003. — Вип. 4. — С. 335–338.
4. Мусурівський В.І. Про дослідження деяких керованих процесів і створення програмних си-
стем керування // Наук. вісн. Чернівецького торговельно-економічного інституту КНТЕУ. —
2003. — Вип. 4. — С. 437–444.
5. Мусурівський В.І. Про створення системи прийняття рішень для задачі оптимального уп-
равління траулером // Зб. наук. праць V Всеукраїнської науково-практичної конференції
«Комп’ютерне моделювання та інформаційні технології в науці, економіці та освіті». —
Черкаси : ІСУЕП. — 2003. — С. 101–103.
6. Попов А.А. EXCEL : Практическое руководство. — М. : ДЕСС КОМ, 2001. — 302 с.
7. Мак-Кинни Б. Visual Basic: крепкий орешек. — М. : Русская редакция, 1998. — 632 с.
8. Дейтел Х., Дейтел П. Как программировать на С++. — М. : Бином, 2002. — 1021 с.
9. Программирование на С++ : Учеб. пособие / Под ред. проф. А.Д. Хомоненко. — СПб. : Ко-
рона, 1999. — 249 с.
Получено 11.01.2007
|
| id | nasplib_isofts_kiev_ua-123456789-207002 |
| institution | Digital Library of Periodicals of National Academy of Sciences of Ukraine |
| issn | 0572-2691 |
| language | Russian |
| last_indexed | 2025-12-01T17:19:49Z |
| publishDate | 2007 |
| publisher | Інститут кібернетики ім. В.М. Глушкова НАН України |
| record_format | dspace |
| spelling | Мусуривский, В.И. 2025-09-27T15:10:03Z 2007 Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами / В.И. Мусуривский // Проблемы управления и информатики. — 2007. — № 4. — С. 93-101. — Бібліогр.: 9 назв. — рос. 0572-2691 https://nasplib.isofts.kiev.ua/handle/123456789/207002 517.9:519.876.5:519.6:519.7:681.5 Дано порівняльну характеристику програмних модулів комп’ютерних систем оптимального керування, що створені для деяких керованих об’єктів з використанням мов програмування Visual Basic for Application та Visual Studio C++. The comparative characteristic of COCS units implemented for some controlable objects is given on the programming languages Visual Basic for Application and Visual Studio C++. ru Інститут кібернетики ім. В.М. Глушкова НАН України Проблемы управления и информатики Методы обработки информации Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами Порівняльна характеристика програмних модулів комп’ютерних систем оптимального керування для деяких керованих об’єктів Comparative characteristic of program modules of the computer optimal control systems of some controlled objects Article published earlier |
| spellingShingle | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами Мусуривский, В.И. Методы обработки информации |
| title | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| title_alt | Порівняльна характеристика програмних модулів комп’ютерних систем оптимального керування для деяких керованих об’єктів Comparative characteristic of program modules of the computer optimal control systems of some controlled objects |
| title_full | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| title_fullStr | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| title_full_unstemmed | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| title_short | Сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| title_sort | сравнительная характеристика программных модулей компьютерных систем оптимального управления некоторыми управляемыми объектами |
| topic | Методы обработки информации |
| topic_facet | Методы обработки информации |
| url | https://nasplib.isofts.kiev.ua/handle/123456789/207002 |
| work_keys_str_mv | AT musurivskiivi sravnitelʹnaâharakteristikaprogrammnyhmoduleikompʹûternyhsistemoptimalʹnogoupravleniânekotorymiupravlâemymiobʺektami AT musurivskiivi porívnâlʹnaharakteristikaprogramnihmodulívkompûternihsistemoptimalʹnogokeruvannâdlâdeâkihkerovanihobêktív AT musurivskiivi comparativecharacteristicofprogrammodulesofthecomputeroptimalcontrolsystemsofsomecontrolledobjects |