Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 13.05.2011, 18:00
Михон Михон вне форума
Прохожий
 
Регистрация: 13.05.2011
Сообщения: 1
Репутация: 10
По умолчанию Построить блок схему алгоритма!

Есть код сортировки массива по возрастанию , нужна блок схема алгоритма! Сам не силён в этом , кто может помочь? Хотя бы на листке ручкой набросать
Код:
procedure TForm1.Button3Click(Sender: TObject);
var h,min,s,ms:word;
m,i:integer;
begin
Label10.Caption:=Floattostr(time);
for m:=1 to 100000 do
for i:=0 to high(A) do tmpA[i]:=0; // заполняем массив нулями
for i:=min to n do begin
A[i]:=A[i]+1;
end;
// устанавливаем значение в правильную позицию
index:=min;
for i:=min to high(A)-1 do begin
for j:=0 to A[i]-1 do begin
A[index]:=i;
index:=index+1;
end;
end;
repeat
priz:=false;
for i:=1 to n-1 do
if a[i]>a[i+1] then
begin
buf:=a[i];
a[i]:=a[i+1];
a[i+1]:=buf;
priz:=true;
end;
for k:=1 to n do
until priz=false;
for i:=1 to n do
StringGrid2.Cells[i-1,0]:=inttostr(a[i]);
DecodeTime(Time-Strtofloat(Label10.Caption),h,min,s ,ms);
Label10.Caption:='по возрастанию '+Inttostr(s)+' '+'с'+' '+Inttostr(ms)+' '+'мс';
end;
Админ: Пользуемся тегами для оформления кода!

Последний раз редактировалось Admin, 13.05.2011 в 18:02.
Ответить с цитированием
  #2  
Старый 15.05.2011, 10:08
HunteRus HunteRus вне форума
Прохожий
 
Регистрация: 02.10.2010
Адрес: В Питере
Сообщения: 14
Версия Delphi: Delphi5
Репутация: 10
По умолчанию

Ты программу не читаемо пишешь, пример правильного написания:

Код:
procedure TForm1.Button3Click(Sender: TObject);
var h,min,s,ms:word;
     m,i:integer;
begin
  Label10.Caption:=Floattostr(time);
  for m:=1 to 100000 do
    for i:=0 to high(A) do tmpA[i]:=0; // заполняем массив нулями
  for i:=min to n do 
//begin
    A[i]:=A[i]+1;  Одно действие в форе, begin и end не обязательны 
//end;

// устанавливаем значение в правильную позицию

  index:=min;
  for i:=min to high(A)-1 do
  begin
    for j:=0 to A[i]-1 do 
    begin
      A[index]:=i;
      index:=index+1;
    end;
  end;

  repeat
    priz:=false;
    for i:=1 to n-1 do
    if a[i]>a[i+1] then
    begin
      buf:=a[i];
      a[i]:=a[i+1];
      a[i+1]:=buf;
      priz:=true;
    end;
    for k:=1 to n do until priz=false;
  for i:=1 to n do
  StringGrid2.Cells[i-1,0]:=inttostr(a[i]);
  DecodeTime(Time-Strtofloat(Label10.Caption),h,min,s ,ms);
  Label10.Caption:='по возрастанию '+Inttostr(s)+' '+'с'+' '+Inttostr(ms)+' '+'мс';
end;
__________________
Код:
procedure UnleassFor(i: int64) UnleassFor(i + 1);

...

UnleassFor(0);
Бесконечный For
Ответить с цитированием
  #3  
Старый 15.05.2011, 12:20
ChinYan ChinYan вне форума
Тыкаю клавиши
 
Регистрация: 13.07.2009
Сообщения: 804
Версия Delphi:
Репутация: 48633
По умолчанию

Весьма удобный справочничекк по блок схемам:
http://cert.obninsk.ru/gost/282/282.html
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 20:48.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025