Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
МГУПБ. Лаб. практ.мод. сист. в печать конечная...doc
Скачиваний:
5
Добавлен:
01.05.2025
Размер:
4.54 Mб
Скачать

Пример ситуационной модели состояния технологической системы производства нежирного диетического творога

X1 X2 X3 X4 X5 X6 X7 X8 X9 X10 X11 X12 X13 X14 X15 X16 X17 X18 X19 X20 X21 X22 X23 X24 X25

                        

                      

                   

                    

                     

                       

                       

                    

                        

                        

                       

                  

                  

                       

                    

                     

                       

                        

                        

                        

                      

                     

                    

                     

                     

Приложение 2

Общий порядок создания пользовательского интерфейса с помощью внешней программы.

1. Создание пользовательского интерфейса с помощью внешней программы.

1.1. Создать интерфейсную форму во внешней программе, например в Delphi с необходимым количеством текстовых ячеек для ввода исходных данных моделирования и кнопкой запуска имитационной модели (рис.1).

Рис.1. Внешний интерфейс управления в имитационной модели

Межвидового взаимодействия.

1.2. Внешняя программа должна использовать файл < имя_ программы >.out, находящийся в директории edlprogs, для записи необходимых данных, а также содержать команду завершения программы – в Delphi команда Close. Таким образом после внесения исходных данных управление передается обратно Simplex3. Листинг программного кода реализации пользовательского интерфейса для запуска имитационной модели LotkaVolterra на языке Delphi имеет вид:

procedure TForm1.Button1Click (Sender: TObject); // Процедура кнопки "Запуск"

var // Объявление переменных, записываемых в файл .out

X,R :array[1..3] of Real; //Объявление массива X,R

B : array[1..3, 1..3] of Real; //Объявление массива B

T : real; //Объявление переменной T - время

i,j : integer;

// Объявление вспомогательных переменных, необходимых для работы с текстовым // файлом *.out

f:TextFile;

FileDir:String;

S : string;

buf : array[0..$FF] of char;

Size : integer;

Begin // Начало программы

s := '%USERPROFILE%\'; // Преобразование относительного пути

// к папке пользователя в абсолютный

Size := ExpandEnvironmentStrings(PChar(S), buf, sizeof(buf));

//Присвоение переменным значения текстовых полей

R[1] := StrToFloat (Edit1.Text);

R[2] := StrToFloat (Edit2.Text);

R[3] := StrToFloat (Edit3.Text);

X[1] := StrToFloat (Edit13.Text);

X[2] := StrToFloat (Edit14.Text);

X[3] := StrToFloat (Edit15.Text);

B[1,1] := StrToFloat (Edit4.Text);

B[1,2] := StrToFloat (Edit5.Text);

B[1,3] := StrToFloat (Edit6.Text);

B[2,1] := StrToFloat (Edit7.Text);

B[2,2] := StrToFloat (Edit8.Text);

B[2,3] := StrToFloat (Edit9.Text);

B[3,1] := StrToFloat (Edit10.Text);

B[3,2] := StrToFloat (Edit11.Text);

B[3,3] := StrToFloat (Edit12.Text);

T := StrToFloat (Edit16.Text);

// Создание и запись переменных в файл Lotka.out

AssignFile(f,copy(buf, 1, Size)+'\simplex3\edlprogs\Lotka.out'); // Открытие файла Lotka.out

if not

FileExists(copy(buf, 1, Size)+'\simplex3\edlprogs\Lotka.out') //Проверка наличия данных

then

begin

Rewrite(f); //Очистка файла

CloseFile(f);

end;

Rewrite(f);

Append(f);

For i := 1 to 3 do //Запись в файл значений X

begin

Writeln(f,X[i]);

end;

For i := 1 to 3 do //Запись в файл значений R

begin

Writeln(f,R[i]);

end;

For i := 1 to 3 do //Запись в файл значений B

For j := 1 to 3 do

begin

Writeln(f,B[i,j]);

end;

Writeln(f,T); //Запись в файл значений T

Flush(f);

CloseFile(f); // Закрыть файл

Close; //Завершение программы после ввода и записи данных в файл

end;

1.3. Сохранить созданную программу например Lotka.exe, а также файлы с Lotka.in и Lotka.out в папке пользователя %USERPROFILE%\Simplex3\edlprogs. Программа может носить любое имя, но следует помнить, что имена *.in, *.out и *.exe файлов должны быть идентичны.