Заказать курсовые, контрольные, рефераты...
Образовательные работы на заказ. Недорого!

Реализация на процедурном языке программирования

РефератПомощь в написанииУзнать стоимостьмоей работы

While ar>m do Dec (j); // поменяв ><в этих двух строках. Procedure sort (var ar: array of real; low, high: integer); Procedure qSort (var ar: array of real); Let rec quicksort = function. Wsp:=ar; ar: =ar; ar: =wsp; Sort (ar, 0, High (ar)); H: t -> quicksort (). If i<=j then begin. H] @ quicksort ();; Var i, j: integer; Inc (i); Dec (j); M, wsp: real; Until i>j; While ar. If low. Repeat. Begin… Читать ещё >

Реализация на процедурном языке программирования (реферат, курсовая, диплом, контрольная)

В качестве примера реализации указанного алгоритма был выбран язык Паскаль, так как он наиболее прост в понимании и более показателен в исполнении.

procedure qSort (var ar: array of real);

procedure sort (var ar: array of real; low, high: integer);

var i, j: integer;

m, wsp: real;

begin.

i:=low; j:=high; m:=ar[(i+j) div 2]; // Взятие среднего опорного элемента.

repeat.

while ar[i].

while ar[j]>m do Dec (j); // поменяв >< в этих двух строках.

if i<=j then begin.

wsp:=ar[i]; ar[i]: =ar[j]; ar[j]: =wsp;

Inc (i); Dec (j);

end;

until i>j;

if low.

if i.

end;

begin.

sort (ar, 0, High (ar));

end;

Листинг 1 Реализация сортировки методом Хоара на Паскале.

Реализация на функциональном языке программирования

На функциональном языке программирования F# сортировка будет выглядеть значительно более компактно:

let rec quicksort = function.

[ ] -> [ ].

| h: t -> quicksort ([ for x in t when x x]).

@ [h] @ quicksort ([ for x in t when x>h -> x]);;

Листинг 2 Реализация сортировки методом Хоара на языке F#.

Итак, мы видим, что F# довольно приятен, плюс ко всему, разница в реализации между Листингом 1 и Листингом 2 наглядно показывает нам, что функциональное программирование — это принципиально иная область, разительно отличающаяся от привычных нам традиционных языков, типа C#.

Так же мы ясно видим, что преимущество функциональных языков программирования перед языками объектно-ориентированными — это чистота функций. Далее, в целом можно сказать, что функциональное программирование позволяет нам писать в несколько раз меньше кода, но при этом заставляет больше времени уделять проектированию и осмыслению кода.

Показать весь текст
Заполнить форму текущей работой