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

Delphi Sources



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

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 09.12.2012, 17:24
tim537 tim537 вне форума
Прохожий
 
Регистрация: 09.12.2012
Сообщения: 17
Репутация: 10
По умолчанию Сравнение 3 алгоритмов для нахождения НОД

Составить программу (Pascal), которая позволяет провести сравнение трех алгоритмов нахождения НОД по характеристике "временная сложность"(тоесть за какое время выполняется каждый алгоритм).

Программа выполняется циклически.
В каждом цикле выбирается пара случайных чисел из заданного диапазона.
Для выбранной пары чисел находится НСД тремя методами.
Определяется временная сложность для каждого из методов.
Для каждого метода подсчитывается среднее и наибольшее значение временной сложности.
Полученные результаты оперативно отображаются на экране.
Оператор может остановить программу в любой момент.

Помогите пожалуйста, очень нужна эта программа!
Ответить с цитированием
  #2  
Старый 09.12.2012, 21:09
lmikle lmikle вне форума
Модератор
 
Регистрация: 17.04.2008
Сообщения: 8,088
Версия Delphi: 7, XE3, 10.2
Репутация: 49089
По умолчанию

Ну, для начала, тебе неплохо было бы найти алгоритмы для этих 3х способов. Потом написать код, реализующий эти алгоритмы как функции. А в конце - все завернуть в бесконечный цикл, который прерывается по комманде оператора, типа:
Код:
var
  IsAbort : Boolean;
...
procedure TForm1.Button1Click(Sender : TObject);
begin
  IsAbort := True;
end;
...
begin
  IsAbort := False;
  While Not IsAbort Do
    Begin
      N1 := Random(1000000)+1;
      N2 := Random(1000000)+1;
      tm0 := Now();
      DoFirst(N1,N2);
      tm1 := Now();
      DoSecond(N1,N2);
      tm2 := Now;
      DoThird(N1,N2);
      tm3 := Now;
      Application.ProcessMessages;
      Memo1.Lines.Add(Format('N1=%d, N2=%d:   T1=%s, T2=%s, T3=%s'),[N1,N2,TimeToStr(tm1-tm0),TimeToStr(tm2-tm1),TimeToStr(tm2-tm3)]);
    End;
...
Ответить с цитированием
Ответ


Delphi Sources

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

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

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

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


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


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

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