Re: Алгоритм

From
Alexey Desyatnik ()
To
Pavel P
Date
2002-10-10T15:12:34Z
Area
RU.ALGORITHMS
From: Alexey Desyatnik <desyatnik@dax.ru>

Pavel P пишет:

>>А вот как делается полный перебор:
>>procedure Find_Duplicates(
>>    M: in Matrix;
>>    n1, m1, n2, m2: out Integer) is
[skipped реализация на Аде]

> Язык програмирования Ада. Не зря так назван :)))
Не надо Аду ругать. Конечно, писать она заставляет немало :)
Это окупается. В программах побольше 10 килострок.

> Проще надо быть ... проще ... :)
> //--- CUT -------------------------------------------------
[skiped реализация на Haskell]

> //--- CUT -------------------------------------------------
> 
> работает с произвольными матрицами (не обязательно даже m*n)
Это как? Матрица - двумерный массив. Между прочим, выше-
скипнутый пример работает со _списками_, что не совсем
соответствует букве задания. И немного :) менее эффективен.
Особенно по критерию памяти.

> и произвольными типами данных :)))
Ну, параметризации и в Аду можно добавить побольше.

generic
   type Index is (<>);
   type Element is private;
   type Matrix is array (Index range <>, Index range <>) of Element;
   with function "="(A, B: Element) return Boolean;
procedure Find_Duplicate(..... ну и далее по тексту

Писанины, конечно, много... Но Ада так и задумывалась, чтобы
программы можно было легко _читать_. А Хаскельные программы
могут быть _очень_ запутаны...

WBR, AD (desyatnik@dax.ru)


-- 
Отправлено через сервер Форумы@mail.ru - http://talk.mail.ru
--- ifmail v.2.15dev5
 * Origin: Talk.Mail.Ru (2:5020/400)