Форум программистов, компьютерный форум, киберфорум
Delphi для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/56: Рейтинг темы: голосов - 56, средняя оценка - 4.66
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 8
1

Блок схема по исходному коду

11.01.2014, 19:10. Показов 11042. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Добрый вечер! Не могли бы вы составить блок схему по исходному коду? или посоветовать какую скачать для этого программу??? Заранее спасибо!
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
unit Unit1;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, Grids;
 
type
  TForm1 = class(TForm)
    Edit1: TEdit;
    Label1: TLabel;
    StringGrid1: TStringGrid;
    StringGrid2: TStringGrid;
    Label2: TLabel;
    Label3: TLabel;
    Edit2: TEdit;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
 
implementation
 
{$R *.dfm}
 
procedure TForm1.Button1Click(Sender: TObject);
var n,i,j,imax,jmax:integer;
    a:array of array of real;
    max:real;
begin
n:=strtoint(edit1.text);
StringGrid1.ColCount:=n;
StringGrid1.RowCount:=n;
StringGrid2.ColCount:=n-1;
StringGrid2.RowCount:=n-1;
Setlength(a,n,n);
randomize;
for i:=0 to n-1 do
   begin
      for j:=0 to n-1 do
         begin
          a[i,j]:=10*random-5;
          StringGrid1.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
         end;
    end;
//присваиваем первому элементу матрицы значение максимума, стороке и столбцу - 1;
max:=abs(a[0,0]);imax:=0;jmax:=0;
for i:=0 to n-1 do
for j:=0 to n-1 do
if (a[i,j])>max then
   begin
     max:=a[i,j]; //максимальный элемент
     imax:=i;     //строка, где он находится
     jmax:=j;      //столбец, где он находится
   end;
//выводим данные о максимальном элементе
edit2.Text:='Максимальный  элемент='+floattostrf(max,fffixed,5,2)+
'  в строке № '+inttostr(imax+1)+' в столбце № '+ inttostr(jmax+1);
//смещаем все элементы в строках от конца строки до нужного 
//столбца на один влево (удаляем столбец)
for i:=0 to n-1 do
for j:=jmax to n-2 do
   begin
     a[i,j]:=a[i,j+1];
   end;
//смещаем все элементы в столбцах от конца столбца до нужной 
//строки на один вверх (удаляем строку)
for j:=0 to n-1 do
for i:=imax to n-2 do
   begin
     a[i,j]:=a[i+1,j];
   end;
//заносим результат во вторую таблицу
for i:=0 to n-2 do
   begin
     for j:=0 to n-2 do
       begin
          StringGrid2.Cells[j,i]:=floattostrf(a[i,j],fffixed,5,2);
       end;
   end;
end;
 
end.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
11.01.2014, 19:10
Ответы с готовыми решениями:

Написать блок схему к исходному коду программы
Всем привет! Нуждаюсь в помощи написания блок схемы для программы на делфи. Очень прошу помочь)....

Блок схема по коду создания и транспонирования матрицы
Всем привет. Можете пожалуйста помочь с блок-схемами к ним. Я тут написала две процедуры первая...

Нужно составить алгоритм по исходному коду
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, ...

Создать три блок-схемы по исходному коду задачи.
вот тут прога и к ней надо сделать блок схемы!!пожалуйста помогите!!внизу показал какие схемы...

3
Пишу на Delphi...иногда
1423 / 1278 / 286
Регистрация: 03.12.2012
Сообщений: 3,914
Записей в блоге: 5
11.01.2014, 19:19 2
Цитата Сообщение от ASANNA Посмотреть сообщение
или посоветовать какую скачать для этого программу???
Редактор блок-схем
Редактор блок-схем
yEd Graph Editor (в том числе для различных диаграмм)
онлайн рисовалки:
https://gomockingbird.com/mockingbird/
https://www.draw.io/
https://www.lucidchart.com/
и т.д.
0
0 / 0 / 0
Регистрация: 10.01.2014
Сообщений: 8
11.01.2014, 19:50  [ТС] 3
А чтобы по коду составить блок схему? автоматически! Или напишите пожалуйста(( сдавать в понедельник уже(((
0
0 / 0 / 1
Регистрация: 18.05.2017
Сообщений: 2
18.05.2017, 16:21 4
Помогите пожалуйста составить блок схему по коду
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
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
 unit ValConv;
 
interface
 
uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls, Buttons;
 
const
  i_MaxArrayUnit = 16;    // макс. массив единиц
  i_MaxArrayKat = 10;     // макс. массив категорий
 
type
  sseUnit = record
    name : string;          // Название единицы измерения
    convert :  extended;    // коэффициент перевода относительно 1-й един. в массиве
  end;
  sseArrayUnit = array [1..i_MaxArrayUnit] of sseUnit;     // массив единиц по 1-й категории
  sseArrayKat = array [1..i_MaxArrayKat] of sseArrayUnit; // массив категорий
 
  TForm1 = class(TForm)
    RadioGroup1: TRadioGroup;
    GroupBox1: TGroupBox;
    Label1: TLabel;
    Label2: TLabel;
    ComboBox1: TComboBox;
    Edit1: TEdit;
    GroupBox2: TGroupBox;
    Label3: TLabel;
    Label4: TLabel;
    ComboBox2: TComboBox;
    Edit2: TEdit;
    BitBtn1: TBitBtn;
    BitBtn2: TBitBtn;
    procedure Edit1Change(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure sseCalk(i_Kat : integer);
    procedure sseCombo(i_Kat : integer);
    procedure BitBtn1Click(Sender: TObject);
    procedure ComboBox1Change(Sender: TObject);
    procedure RadioGroup1Click(Sender: TObject);
    procedure BitBtn2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;
 
var
  Form1: TForm1;
  OldText1,OldText2 : String;   // для фильтра ввода
  a_Units : sseArrayKat;        // массив единиц и коэффициентов перевода
 
implementation
 
uses About;
 
//uses Unit1;
 
{$R *.dfm}
 
procedure TForm1.FormCreate(Sender: TObject);
begin
  OldText1:='1';
  OldText2:='';
  // заполним массив единиц и коэффициентов перевода
  //  1. масса
  a_Units[1][1].name:='граммы';
  a_Units[1][1].convert:=1;
  a_Units[1][2].name:='фунты';
  a_Units[1][2].convert:=453.5970244;
  a_Units[1][3].name:='граны';
  a_Units[1][3].convert:=0.05479890;
  a_Units[1][4].name:='унции';
  a_Units[1][4].convert:=28.34949254;
  a_Units[1][5].name:='килогаммы';
  a_Units[1][5].convert:=1000;
  a_Units[1][6].name:='тонны';
  a_Units[1][6].convert:=1000000;
  a_Units[1][7].name:='миллиграммы';
  a_Units[1][7].convert:=0.001;
  // 2. площадь
  a_Units[2][1].name:='кв. метры';
  a_Units[2][1].convert:=1;
  a_Units[2][2].name:='кв. километры';
  a_Units[2][2].convert:=1000000;
  a_Units[2][3].name:='кв. мили';
  a_Units[2][3].convert:=2589988.11;
  a_Units[2][4].name:='акры';
  a_Units[2][4].convert:=4046.856422;
  a_Units[2][5].name:='ары';
  a_Units[2][5].convert:=100;
  a_Units[2][6].name:='гектары';
  a_Units[2][6].convert:=1000;
  a_Units[2][7].name:='кв. миллиметры';
  a_Units[2][7].convert:=10e-6;
  a_Units[2][8].name:='кв. сантиметры';
  a_Units[2][8].convert:=0.0001;
  a_Units[2][9].name:='кв. дюймы';
  a_Units[2][9].convert:=0.00064516;
  a_Units[2][10].name:='кв. футы';
  a_Units[2][10].convert:=0.09290304;
  a_Units[2][11].name:='кв. ярды';
  a_Units[2][11].convert:=0.83612739;
  // 3. объем
  a_Units[3][1].name:='литры (куб. дециметры)';
  a_Units[3][1].convert:=1;
  a_Units[3][2].name:='куб. миллиметры';
  a_Units[3][2].convert:=10e-6;
  a_Units[3][3].name:='куб. сантиметры';
  a_Units[3][3].convert:=10e-3;
  a_Units[3][4].name:='куб. дюймы';
  a_Units[3][4].convert:=0.01638706;
  a_Units[3][5].name:='куб. фунты';
  a_Units[3][5].convert:=28.31684669;
  a_Units[3][6].name:='куб. метры';
  a_Units[3][6].convert:=1000;
  a_Units[3][7].name:='галлоны (США)';
  a_Units[3][7].convert:=4.404883772;
  a_Units[3][8].name:='галлоны (Анг.)';
  a_Units[3][8].convert:=4.546090006;
  a_Units[3][9].name:='пинты (Анг.)';
  a_Units[3][9].convert:=0.56826125;
  a_Units[3][10].name:='унции (США)';
  a_Units[3][10].convert:=0.02957352;
  a_Units[3][11].name:='унции (Анг.)';
  a_Units[3][11].convert:=0.02841306;
  a_Units[3][12].name:='сух. пинты (США)';
  a_Units[3][12].convert:=0.55061047;
  a_Units[3][13].name:='жидк. пинты (США)';
  a_Units[3][13].convert:=0.47317647;
  a_Units[3][14].name:='баррели';
  a_Units[3][14].convert:=158.9872891;
  a_Units[3][15].name:='миллилитры';
  a_Units[3][15].convert:=0.001;
  a_Units[3][16].name:='сантилитры';
  a_Units[3][16].convert:=0.01;
  // 4. мощъность
  a_Units[4][1].name:='ватты';
  a_Units[4][1].convert:=1;
  a_Units[4][2].name:='милливатты';
  a_Units[4][2].convert:=0.001;
  a_Units[4][3].name:='киловатты';
  a_Units[4][3].convert:=1000;
  a_Units[4][4].name:='лошадинные силы';
  a_Units[4][4].convert:=735.4988;
  // 5. время
  a_Units[5][1].name:='минуты';
  a_Units[5][1].convert:=1;
  a_Units[5][2].name:='секунды';
  a_Units[5][2].convert:=1/60;
  a_Units[5][3].name:='часы';
  a_Units[5][3].convert:=60;
  a_Units[5][4].name:='дни';
  a_Units[5][4].convert:=1440;
  a_Units[5][5].name:='недели';
  a_Units[5][5].convert:=10080;
  a_Units[5][6].name:='годы';
  a_Units[5][6].convert:=525960;
  // 6. давление
  a_Units[6][1].name:='паскали';
  a_Units[6][1].convert:=1;
  a_Units[6][2].name:='атмосферы';
  a_Units[6][2].convert:=101235;
  a_Units[6][3].name:='торры';
  a_Units[6][3].convert:=133.322;
  a_Units[6][4].name:='фунты на кв. дюйм';
  a_Units[6][4].convert:=6894.757188;
  a_Units[6][5].name:='бары';
  a_Units[6][5].convert:=10e5;
  // 7. длинна
  a_Units[7][1].name:='метры';
  a_Units[7][1].convert:=1;
  a_Units[7][2].name:='километры';
  a_Units[7][2].convert:=1000;
  a_Units[7][3].name:='мили';
  a_Units[7][3].convert:=1609.34398;
  a_Units[7][4].name:='морские мили';
  a_Units[7][4].convert:=1852.000012;
  a_Units[7][5].name:='световые года';
  a_Units[7][5].convert:=9.460528405e15;
  a_Units[7][6].name:='миллиметры';
  a_Units[7][6].convert:=0.001;
  a_Units[7][7].name:='сантиметры';
  a_Units[7][7].convert:=0.01;
  a_Units[7][8].name:='дюймы';
  a_Units[7][8].convert:=0.254;
  a_Units[7][9].name:='фунты';
  a_Units[7][9].convert:=0.3048;
  a_Units[7][10].name:='ярды';
  a_Units[7][10].convert:=0.9144;
  // 8. температура
  a_Units[8][1].name:='цельсии';
  a_Units[8][1].convert:=1;
  a_Units[8][2].name:='кельвины';
  a_Units[8][2].convert:=1;
  a_Units[8][3].name:='фаренгейты';
  a_Units[8][3].convert:=1;
  // 9. энергия
  a_Units[9][1].name:='джоули';
  a_Units[9][1].convert:=1;
  a_Units[9][2].name:='килоджоули';
  a_Units[9][2].convert:=1000;
  a_Units[9][3].name:='ватт-секунды';
  a_Units[9][3].convert:=1;
  a_Units[9][4].name:='ватт-часы';
  a_Units[9][4].convert:=3600;
  a_Units[9][5].name:='киловатт-часы';
  a_Units[9][5].convert:=3600000;
  a_Units[9][6].name:='электрон-врольты';
  a_Units[9][6].convert:=1.60219e-19;
  a_Units[9][7].name:='калории';
  a_Units[9][7].convert:=4.1858;
  a_Units[9][8].name:='килокалории';
  a_Units[9][8].convert:=4185.8;
  // 10. скорость
  a_Units[10][1].name:='метры в секунду';
  a_Units[10][1].convert:=1;
  a_Units[10][2].name:='километры в час';
  a_Units[10][2].convert:=1/3.6;
  a_Units[10][3].name:='мили в час';
  a_Units[10][3].convert:=0.44703999;
  a_Units[10][4].name:='мили в секунду';
  a_Units[10][4].convert:=1609.344;
  a_Units[10][5].name:='узлы';
  a_Units[10][5].convert:=0.51444444;
  a_Units[10][6].name:='скорости звука';
  a_Units[10][6].convert:=340.29;
 
  // заполним ComboBox и расчитаем
  sseCombo(RadioGroup1.ItemIndex+1);
  sseCalk(RadioGroup1.ItemIndex+1);
end;
 
procedure TForm1.Edit1Change(Sender: TObject);
begin
  // фильтр ввода
  if Edit1.Text<>'' then
    begin
      try
        StrToFloat(Edit1.Text);
        OldText1:=Edit1.Text;
      except
        Edit1.Text:=OldText1;
        Edit1.SelStart:=Length(Edit1.Text);
        Edit1.SelText:=''
      end;
      // пересчет
      sseCalk(RadioGroup1.ItemIndex+1);
     end
    else
      Edit2.Text:='';
end;
 
// процедура  расчета и вывода результата
procedure TForm1.sseCalk(i_Kat : integer);
var
  f_Rez,f_Rez1,f_Abs : real;
  c_Rez : string;
begin
  // температура-  особая песня
  f_Abs:=0;
  if i_Kat=8 then
    begin
      if ComboBox1.ItemIndex+1=1  then // цельсии
        begin
          if ComboBox2.ItemIndex+1=1 then  // цельсии
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=f_Rez1;
            end;
          if ComboBox2.ItemIndex+1=2 then // кельвин
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=f_Rez1+273.15;
            end;
          if ComboBox2.ItemIndex+1=3 then  // фаренгейт
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=32+1.8*f_Rez1;
            end;
          f_Abs:=f_Rez1+273.15;
        end;
 
      if ComboBox1.ItemIndex+1=2  then // кельвин
        begin
          if ComboBox2.ItemIndex+1=1 then  // цельсии
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=f_Rez1-273.15;
            end;
          if ComboBox2.ItemIndex+1=2 then  // кельвин
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=f_Rez1;
            end;
          if ComboBox2.ItemIndex+1=3 then  // фаренгейт
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=32+1.8*(f_Rez1-273.15);
            end;
          f_Abs:=f_Rez1;
        end;
 
      if ComboBox1.ItemIndex+1=3  then // фаренгейт
        begin
          if ComboBox2.ItemIndex+1=1 then  // цельсии
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=(f_Rez1-32)/1.8;
            end;
          if ComboBox2.ItemIndex+1=2 then  // кельвин
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=(f_Rez1-32)/1.8+273.15;
            end;
          if ComboBox2.ItemIndex+1=3 then  // фаренгейт
            begin
              f_Rez1:=StrToFloat(Edit1.Text);
              f_Rez:=f_Rez1;
            end;
          f_Abs:=(f_Rez1-32)/1.8+273.15;
        end;
    end
  else
    begin
      f_Rez:=StrToFloat(Edit1.Text);
      f_Rez:=f_Rez*a_Units[i_Kat][ComboBox1.ItemIndex+1].convert/a_Units[i_Kat][ComboBox2.ItemIndex+1].convert;
    end;
  str(f_Rez,c_Rez);
  // контроль температуры ниже абсолютного нуля
  if f_Abs<0 then
    Edit2.Text:='Ниже  абсолютного нуля!'
  else
    Edit2.Text:=c_Rez;
 
end;
 
// процедура  заполнения ComboBox-ов новой категорией  величин
// параметр- номер категории
procedure TForm1.sseCombo(i_Kat : integer);
var
  i : integer;
begin
  ComboBox1.Clear;
  ComboBox2.Clear;
  for i := 1 to i_MaxArrayUnit do
    if a_Units[i_Kat][i].name<>'' then
      begin
        ComboBox1.Items.Add(a_Units[i_Kat][i].name);
        ComboBox2.Items.Add(a_Units[i_Kat][i].name);
      end;
  ComboBox1.ItemIndex:=0;
  ComboBox2.ItemIndex:=1;
 
end;
 
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
  close;
end;
 
// при смене  чего-нибудь кроме категории
procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  sseCalk(RadioGroup1.ItemIndex+1);
end;
 
// при смене категории
procedure TForm1.RadioGroup1Click(Sender: TObject);
begin
  sseCombo(RadioGroup1.ItemIndex+1);
  sseCalk(RadioGroup1.ItemIndex+1);
end;
 
procedure TForm1.BitBtn2Click(Sender: TObject);
begin
  AboutBox.ShowModal;
end;
 
end.
0
18.05.2017, 16:21
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
18.05.2017, 16:21
Помогаю со студенческими работами здесь

Составить блок-схему для программы по исходному коду
Пожалуйста, помогите правильно составить блок-схему для программы по исходному коду Программа,...

Программа, создающая блок-схему по ГОСТу по исходному коду программы
Пробовал code2flow, но преподаватель сказал, что надо по госту, а именно: Всё черно-белое...

Блок схема по коду С++
Помогите составить блок-схему по коду этой программы. Заранее спасибо! Может понадобится:...

Блок схема по коду
Добрый день! Ребят, написал код на Паскале, но не могу сам блок-схему составить! Пробовал через...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru