Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Другие темы раздела
Delphi При копирование должно появляться окно но оно не появляется https://www.cyberforum.ru/ delphi-beginners/ thread1357625.html
Ребят нужна помощь при копирование в делфи должно появляться окно но оно не появляется что делать? Текст программы Program pr1; const k = 10; Var FlagCh, FlagKr, FlagM : Boolean; a: array of integer; g,l,m,i,j, n: integer;
Delphi Indy10 - исправить ошибки в коде
Всем привет. Подскажите пожалуйста, почему не корректен данный код?: procedure TForm1.Button1Click(Sender: TObject); var i: integer; s: string; begin IdMessage1.Body.Text:=Memo2.Text; for i := 0 to IdMessage1.MessageParts.Count - 1 do begin
Delphi Выделить некоторые строки файла Excel и вывести на экран их сумму Есть экселевский файл(либо csv - Файл). Представляет собой таблицу из двух столбцов. В первом буквы, во втором цифры. Нужно выделить некоторые строки и вывести на экран их сумму (по второму столбцу). Как такое осуществить? есть похожие исходники? https://www.cyberforum.ru/ delphi-beginners/ thread1357588.html Delphi По клику строки в TreeView открывать соответствующую вкладку в PageControl Как связать, нужно по клику строки в TreeView- открывать соответствующую вкладку в PageControl. На кнопке я бы привязал к индексу и сделал бы так: PageControl1.ActivePageIndex:= 0; //открыть первую вкладку Но нужно по клику в PageControl и на какое потом событие поставить код что должен отработать. Добавлено через 32 минуты И скрыть все вкладки только в цикле можно и только при запущеной... https://www.cyberforum.ru/ delphi-beginners/ thread1357578.html
Определить сколько орехов досталось последнему ребенку Delphi
Здравствуйте! Помогите с задачей, одну задачу на 3 цикла for,while и repeat. Мама принесла домой N орехов. Дети приходили из школы по одном, каждый пришедший считал себя первым,отсчитывал свою долю и уходил(если поровну не делилось,то остаток никто не брал). Определить сколько орехов досталось последнему, если у мамы K детей. Сколько орехов осталось,когда ушел последний.
Delphi Прием/передача значения из другого приложения Здравствуйте! Есть программа, в которой необходимо передать значение из edit в переменную для другого exe, который запустится, отработает и вернет результат, который тоже надо "подхватить" и отобразить в программе. На данный момент с этим справляется батник: @echo off set /P code="Please enter code: " echo Please select and enter (1 - Decode; 2 - Encode): set /P md="(1 or 2): " if... https://www.cyberforum.ru/ delphi-beginners/ thread1357474.html
Delphi При прижатии и отпускании кнопки мыши не вызывается изменение шрифтов https://www.cyberforum.ru/ delphi-beginners/ thread1357439.html
Согласно задания нужно разработать приложение, после запуска которого происходит следующее: I. Вначале появляется заставка с картинкой. Эта картинка, исчезает после ввода пароля в соответствующее поле формы. II. После исчезновения заставки форма содержит редактор файлов. III. Во время работы приложения прижатие и отпускание кнопки мыши на свободном месте формы вызывает изменение...
Delphi Найти производную (градиент) функции 2-х переменных, которая вводится в Edit
Всем привет! Есть такая задача: Необходимо найти производную (градиент) функции 2-х переменных, которая вводится в Edit, в моём случае. Что такое градиент: Grad(x)=(\frac{Grad(x)}{dx1}, \frac{Grad(x)}{x2}) Пример функции: F(x1, x2) := x1^2 + x2^2 - x1*x2 + 2*x2,F(x1, x2) := x1^2 + x2^2 + 3*x1*x2, F(x1, x2) := x1 + x2^2 - 3*x2
Delphi Не работают кнопки Здравствуйте ! Подскажите, пожалуйста, почему у меня кнопки не работают в делфи? Что нужно исправить? Вот сам код: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls,Unit2; https://www.cyberforum.ru/ delphi-beginners/ thread1357210.html Delphi Ошибка с потоком (закрытие потока) https://www.cyberforum.ru/ delphi-beginners/ thread1357169.html
Здравствуйте, вообщем суть проблемы в чём, включаю программу, она работает, всё хорошо, после закрытие формы, выдаёт ошибку (ошибка на скринах), что делать ? вылазит буквально после пары секунд после закрытие основной формы. Реализация потока в моей программе: procedure TForm1.Button3Click(Sender: TObject); begin MyThread:=TMyThread.Create(true); MyThread.FreeOnTerminate:=true;...
Как сделать проверку принадлежности координат i,j к массивам stroka и stolb? Delphi
Вопрос такой: есть таблица значений, есть два массива stroka, stolb, которые содержат в себе номера "вычеркнутых" строк и стобцов. Необходимо перебрать все элементы и если координаты элемента совпадают с числами, записанными в stroka, stolb, то этот элемент обнуляется. Другими словами как сделать проверку принадлежности координат i,j к массивам stroka и stolb? Добавлено через 1 час 40 минут...
Delphi Определить наименьшее число полных минут до совпадения стрелок на циферблате https://www.cyberforum.ru/ delphi-beginners/ thread1357103.html
Даны целые числа n и m, указывающие момент времени"k часов m минут" определить наименьшее число полных минут, которые должны пройти до того момента,когда часовая и минутная стрелки совпадут на циферблате.
0 / 0 / 0
Регистрация: 19.01.2013
Сообщений: 34
0

Создание имитационной модели бензоколонки - Delphi - Ответ 7126151

20.01.2015, 01:37. Показов 1488. Ответов 0
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Общий вид стартовой формы показан на рис. 1. Видно, что она включает ряд объектов управления, среди которых имеются три командные кнопки «Расчет», «Очистка» и «Выход».
После нажатия кнопки «Расчет» производится вычисление показателя эффективности при заданных исходных данных. При нажатии кнопки «Очистка» производится очищение текстового поля для вывода результата моделирования. Затем может быть произведено изменение исходных данных и проведение новых расчетов с использованием кнопки «Расчет».
При нажатии кнопки «Выход» работа программы прекращается.

Модель СМО с 1, 2, 3


С кнопкой «Расчет» связана процедура, которая выполняет следующие действия
Оператор 1 осуществляет перевод исходных данных из символьной формы в числовую.
Оператор 2 обнуляет глобальную переменную SNo6c — суммарное число обслуженных заявок.
Оператор 3 начинает циклический перебор случайных реализаций.
Оператор 4 в начале каждой случайной реализации обнуляет локальные переменные, к которым относятся: число заявок, поступающих в одной реализации Nz, число обслуженных заявок в каждом из имеющихся каналов Nобс.j (j= 1,Nk), начальные значения времени освобождения каналов Токj (J = 1,Nk).
Оператор 5 обращается к автономной процедуре формирования потока заявок. В результате работы этой процедуры формируется массив значений времен:
[Tз(1), Tз(2), Tз(3)… Tз(N3i)]
где N3i — общее число поступивших заявок для i-й случайной реализации;
Оператор 6 является началом цикла обслуживания заявок.
Оператор 7 производит выбор номера канала, который характеризуется наименьшим значением времени освобождения от обслуживания заявки.
Оператор 8 обращается к автономной процедуре обслуживания очередной заявки. На выходе этой процедуры определяется число обслуженных заявок в выбранном канале No6c(Jmin).
Оператор 9 служит для расчета суммарного числа обслуженных заявок во всех каналах и всех случайных реализациях.
После окончания цикла случайных реализаций оператор 10 выводит на экран значение выходной переменной — средней относительной прибыли по формуле
Сотн.ср = Nобс -1 + 0,5Nк + 0,5Nк^2

Прошу помочь разобраться с данной программкой, за ранее большое спасибо всем откликнувшимся!! С делфи столкнулась в первый раз, поэтому наверное много ошибок

вот, что у меня получилось:
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
 
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
 
 
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
 
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
 
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
 
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button2Click(Sender: TObject);
begin
 
Edit1.Text:='1';
Edit2.Text:='5';
Edit3.Text:='9';
Edit4.Text:='12';
Edit5.Text:='30';
Edit6.Text:='60';
Edit7.Text:='5000';
Edit8.Text:='0';
Edit9.Text:='0';
Edit10.Text:='0';
 
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
 
var Tzcped, Tobs,DT,TogMax,Tkon,T,z,Tk,SNobc,SNz,CotnCp:real;
N,j,i,Nr,p,Cont,f,w,Nz,e,u,l,min:integer;
 
Tz:array[1..1000]of real;
TOK:array[1..3] of real;
Nobc:array[1..3] of real;
 
       begin
         Randomize;
         Nz:=StrToInt(Edit1.Text);
         Tzcped:=StrToFloat(Edit2.Text);
         Tobs:=StrToFloat(Edit3.Text);
         DT:=StrToFloat(Edit4.Text);
         TogMax:=StrToFloat(Edit5.Text);
         Tkon:=StrToFloat(Edit6.Text);
         Nr:=StrToInt(Edit7.Text);
//находится время обслуживания заявки и заносится в массив
        For i:=1 to Nr do
          begin
          SNz:=0;
          SNobc:=0;
          T:=0;
      while T<Tkon do
            begin
            z:=1-random;
            DT:=-Tzcped*Ln(z);
            T:=T+DT;
        if T<Tkon then
                    begin
                    N:=N+1;
                    Tz[N]:=T
      end
      else
    break;
  end;
     Nz:=0;
     for p:=1 to Nz do Nobc[p]:=0;
     for l:=1 to Nz do  TOK[l]:=0;
 
             begin
             for f:=1 to Nz do
              begin
         // выбор канала
              min:=1;
              TOK[min]:= TOK[1];
              for u:=2 to Nz do
          if TOK[u]<TOK[min]  then
              TOK[min]:=TOK[u];
              min:=u;
              Tk:=0;
              end;
             SNobc:=SNobc+Nobc[1]+Nobc[2]+Nobc[3];
 //определение минимального времени ожидания на одном из каналов
                for j:=1 to N do
                  begin
                    if Tz[j]<TOK[min] then
                    if TOK[min]-Tz[j]>TogMax then continue else Tz[j]:=TOK[min];
                  z:=random;
                  Tk:=Tz[j]+ Tobs+DT*(z-0.5);
                  if Tk>Tkon then
                        begin
                        TOK[min]:=Tkon; break;
                  end;
 
               Nobc[j]:=Nobc[j]+1;
               TOK[min]:=Tk;
            end;
         end;
       SNz:=SNz+N;
    //SNobc:=SNobc+Nobc;
    Edit8.Text:=IntToStr(N);
    //Edit9.Text:=IntToStr(Nobc[j]);
   // write(Nobc[j],'');
    //readln;
 CotnCp:=(SNobc/Nr)-1+0.5*SNz+0.5*SNz*SNz;
  Edit10.Text:=FloatToStr(CotnCp);
 end;
end;
 
end.
Добавлено через 20 минут
Delphi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;
 
type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    Label7: TLabel;
    Label8: TLabel;
    Label9: TLabel;
    Label10: TLabel;
    Label11: TLabel;
    Label12: TLabel;
    Label13: TLabel;
    Label14: TLabel;
    Label15: TLabel;
    Label16: TLabel;
    Label17: TLabel;
    Edit1: TEdit;
    Edit2: TEdit;
    Edit3: TEdit;
    Edit4: TEdit;
    Edit5: TEdit;
    Edit6: TEdit;
    Edit7: TEdit;
    Edit8: TEdit;
    Edit9: TEdit;
    Edit10: TEdit;
    Label18: TLabel;
    Label19: TLabel;
    Label20: TLabel;
    Button1: TButton;
    Button2: TButton;
    Button3: TButton;
    Label21: TLabel;
    Label22: TLabel;
    Edit11: TEdit;
    Edit12: TEdit;
    procedure Button2Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.Text:='1';
Edit2.Text:='5';
Edit3.Text:='9';
Edit4.Text:='12';
Edit5.Text:='30';
Edit6.Text:='60';
Edit7.Text:='5000';
Edit8.Text:='0';
Edit9.Text:='0';
Edit10.Text:='0';
end;
 
procedure TForm1.Button3Click(Sender: TObject);
begin
Close;
end;
 
procedure TForm1.Button1Click(Sender: TObject);
var Tzcped, Tobs,DT,TogMax,Tkon,T,z,Tk,SNobc,SNz,CotnCp:real;
N,j,i,Nobc,Nr,q,f,w,Nz,e,u,l,min:integer;
Tz:array[1..1000]of real;
TOK:array[1..5] of real;
begin
Randomize;
Nz:=StrToInt(Edit1.Text);
Tzcped:=StrToFloat(Edit2.Text);
Tobs:=StrToFloat(Edit3.Text);
DT:=StrToFloat(Edit4.Text);
TogMax:=StrToFloat(Edit5.Text);
Tkon:=StrToFloat(Edit6.Text);
Nr:=StrToInt(Edit7.Text);
For i:=1 to Nr do
begin
SNz:=0;
SNobc:=0;
T:=0;
N:=0;
while T<Tkon do
  begin
  z:=1-random;
  DT:=-Tzcped*Ln(z);
  T:=T+DT;
  if T<Tkon then
    begin
    N:=N+1;
    Tz[N]:=T
    end
    else
    break;
  end;
 Nobc:=0;
 for l:=1 to Nz do  TOK[l]:=0;
 for e:=1 to N do
  begin
for f:=1 to Nz do
begin
  min:=1;
  for u:=2 to Nz do
  if TOK[u]<TOK[min]  then
  min:=u;
  Tk:=0;
for j:=1 to N do
  begin
  if Tz[j]<TOK[min] then
        if TOK[min]-Tz[j]>TogMax then continue else Tz[j]:=TOK[min];
  z:=random;
   Tk:=Tz[j]+ Tobs+DT*(z-0.5);
       if Tk>Tkon then
       begin
       TOK[min]:=Tkon; break;
       end;
 
    Nobc:=Nobc+1;
    TOK[min]:=Tk;
    end;
    q:=q+N;
    w:=w+Nobc;
 
end;
    SNz:=q/Nr;
    SNobc:=w/Nr;
    Edit8.Text:=IntToStr(N);
    Edit9.Text:=IntToStr(Nobc);
 CotnCp:=SNobc-1+0.5*SNz+0.5*SNz*SNz;
  Edit10.Text:=FloatToStr(CotnCp);
  Edit11.Text:= FloatToStr(SNobc);
  Edit12.Text:= FloatToStr(SNz);
 end;
end;
end;
end.
Для одного канала все работает нормально, вот этот код. Код, который выше пыталась сделать для нескольких каналов

Вернуться к обсуждению:
Создание имитационной модели бензоколонки Delphi
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.01.2015, 01:37
Готовые ответы и решения:

Создание простой модели атома
Помогите, пожалуйста, написать програмку - создание простой модели атома в Delphi. Очень-очень нужно Спасибо:help:

Создание управляемой анимационной модели
Здравствуйте. Нужно создать управляемую анимационную модель. Подскажите, что можно сделать нормальное и не сложное. И если не сложно...

Создание модели игры в поддавки
Создание модели игры в поддавки (поле 4х6, по 4 фишки). Участвуют 4 белых, 4 черных шашек. В начале игры дается возможность выбора первого...

0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
20.01.2015, 01:37
Помогаю со студенческими работами здесь

Создание модели остывания металлической пластины
Создание модели остывания металлической пластины в определенный момент времени. Первоначальная температура 3500С, остывает до 240С....

Модификация имитационной модели технологического процесса
В общем проблема вот в чем. В Симулинке была сделана имитационная модель технологического процесса, которая за время цикла 42с рассчитывает...

Составить блок-схему имитационной модели
Прошу помочь. Нужно срочно для сдачи, а как решить не пойму В банк приходят клиенты с интенсивностью λ. Сначала они в отделе №1...

Решение двухфакторной имитационной модели на языке Pascal
http://s004.***********/i205/1010/dc/1b0df2be42c7.jpg как это будет выглядеть на паскале? В эксперименте точку оптимума...

Построение имитационной модели системы массового обслуживания
Здравствуйте, подскажите пожалуйста в верном ли направлении я двигаюсь, у меня такая вот задача: На комплектовочный конвейер...

0
Новые блоги и статьи
Ошибка "Cleartext HTTP traffic not permitted" в Android
hw_wired 13.02.2025
При разработке Android-приложений можно столнуться с неприятной ошибкой "Cleartext HTTP traffic not permitted", которая может серьезно затруднить отладку и тестирование. Эта проблема особенно. . .
Изменение версии по умолчанию в NVM
hw_wired 13.02.2025
Node Version Manager, или коротко NVM - незаменимый инструмент для разработчиков, использующих Node. js. Многие сталкивались с ситуацией, когда разные проекты требуют различных версий Node. js,. . .
Переименование коммита в Git (локального и удаленного)
hw_wired 13.02.2025
Git как система контроля версий предоставляет разработчикам множество средств для управления этой историей, и одним из таких важных средств является возможность изменения сообщений коммитов. Но зачем. . .
Отличия Promise и Observable в Angular
hw_wired 13.02.2025
В веб-разработки асинхронные операции стали неотъемлимой частью почти каждого приложения. Ведь согласитесь, было бы странно, если бы при каждом запросе к серверу или при обработке больших объемов. . .
Сравнение NPM, Gulp, Webpack, Bower, Grunt и Browserify
hw_wired 13.02.2025
В современной веб-разработке существует множество средств сборки и управления зависимостями проектов, каждое из которых решает определенные задачи и имеет свои особенности. Когда я начинаю новый. . .
Отличия AddTransient, AddScoped и AddSingleton в ASP.Net Core DI
hw_wired 13.02.2025
В современной разработке веб-приложений на платформе ASP. NET Core правильное управление зависимостями играет ключевую роль в создании надежного и производительного кода. Фреймворк предоставляет три. . .
Отличия между venv, pyenv, pyvenv, virtualenv, pipenv, conda, virtualenvwrapp­­er, poetry и другими в Python
hw_wired 13.02.2025
В Python существует множество средств для управления зависимостями и виртуальными окружениями, что порой вызывает замешательство даже у опытных разработчиков. Каждый инструмент создавался для решения. . .
Навигация с помощью React Router
hw_wired 13.02.2025
React Router - это наиболее распространенное средство для создания навигации в React-приложениях, без которого сложно представить современную веб-разработку. Когда мы разрабатываем сложное. . .
Ошибка "error:0308010C­­:dig­ital envelope routines::unsup­­ported"
hw_wired 13.02.2025
Если вы сталкиваетесь с ошибкой "error:0308010C:digital envelope routines::unsupported" при разработке Node. js приложений, то наверняка уже успели поломать голову над её решением. Эта коварная ошибка. . .
Подключение к контейнеру Docker и работа с его содержимым
hw_wired 13.02.2025
В мире современной разработки контейнеры Docker изменили подход к созданию, развертыванию и масштабированию приложений. Эта технология позволяет упаковать приложение со всеми его зависимостями в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru