неділя, 31 березня 2019 р.

Рекурсивний алгоритм сортування мовою Паскаль


Практична робота 56. 
Алгоритми сортування лінійного масиву чисел

Завдання 1. Реалізувати і протестувати алгоритм сортування мовою Паскаль лінійного масиву на 10 цілих чисел.
Program SORT;
var a: array [1..10] of integer; {Масив елементів}
    n: integer;
procedure QuickSort (L, R: Integer); {Швидке сортування масиву A []}
var i, j, x, y: integer;
begin    i:=l; j:=r;    x:=a[(l+r) div 2];
  repeat
      while (A[i]<x) do i:=i+1;
      while (x<A[j]) do j:=j-1;
       if (i<=j) then
       begin
      y:=A[i]; a[i]:=a[j]; a[j]:=y;
      i:=i+1; j:=j-1;
    end;
  until (i>j);
  if (l<j) then QuickSort (l, j);
  if (i<r) then QuickSort (i, r);
end;
begin
     writeln ( 'введіть 10 елементів масиву:');
     for n:=1 to 10 do a[n]:=random(200)-random(300);
    { for n:=1 to 10 do readln (a[n]);}
     QuickSort (1, 10); {На вході: ліва і права межа сортування}
     writeln ( 'після сортування:');
     for n:=1 to 10 do write(a[n], '        ' ‘);
end.

Алгоритм перекодування тексту, що утворений із випадкових символів

Завдання 2. Реалізувати і протестувати алгоритм створення випадкового тексту із символів та його перекодування тексту мовою Паскаль , з подальшим  розкодуванням його в початковий стан.
Program Codirovka;
const k=5;
var s:string;
    n,i,key:integer;
begin
     {writeln('Введіть довільний текст'); readln(s);}
     s:='я зашифрую невелекий текст'; writeln(s);
           for i:=1 to length(s) do s[i]:=char(ord(s[i])+random(253));
      writeln('Це початковий рядок із випадкових символів=',s);
     writeln(' це випадковий ключ для зашифрування символів(число от 1 до 255)');
     key:=random(254); writeln(key);
     for i:=1 to length(s) do s[i]:=char(ord(s[i])+4*key); writeln;
     writeln('Зашифрованный текст способом зсуву на довжину випадкового ключа: ',s);
     for i:=1 to length(s) do s[i]:=char(ord(s[i])-4*key);
     writeln('Відновлений початковий текст : ',s);
end.

Немає коментарів:

Дописати коментар