{********************************************************** ************************ Основная программа ************** **********************************************************} const {массив строк — пунктов главного меню} menu:array[1..7] of string=(‘ Пример сортировки ‘,’ Исследование (10 эл-тов)’, ‘ Исследование (100 эл-тов) ‘, ‘ Исследование (1000 эл-тов) ‘, ‘ Исследование (10000 эл-тов) ‘, ‘ О программе ‘ ,’ Выход ‘); var {массивы чисел, используемые для исследования} a,a1:array[0..9] of integer; {10 — чисел} b,b1:array[0..99] of integer; {100 — чисел} c,c1:array[0..999] of integer; {1000 — чисел} d,d1:array[0..9999] of integer; {10000 — чисел} f:byte; {показатель того , какой массив поступает в процедуру для упо- рядочивания по убыванию: 1 — неупорядоченный (слу- чайный); 2 — упорядоченный по воз- растанию; 3 — упорядоченный по убы- ванию}. k:char; item:byte; begin clrscr;cursoroff; {гашение курсора} repeat textbackground(0);clrscr; {fill — процедура, заполняющая заданную область экрана заданными символами заданного цвета} fill(lightgray,1,1,2,80,25,’ ‘); {menuv — процедура, выводящая на экран вертикальное меню} menuv(25,10,menu,lightgray,black,red,lightgreen,yellow,’Сортировка’,item,double); {item — переменная, содержащая номер выбранного пункта меню} case item of 1:example; 2:begin {getshadow — процедура, убирающая тень от меню} getshadow; {** исследуются 10 упорядоченных по возрастанию элементов **} {box — процедура, выводящая на экран окно} box(1,0,80,18,1,15,double,’10 элементов’); {вызов процедуры upor, генерирующей упорядоченный по возрастанию массив чисел} upor(a,a); {вызов процедуры make, осуществляющей исследование методов сортировки} make(3,10,a,a1,1); {** исследуются 10 неупорядоченных (случайных) элементов **} {вызов процедуры notupor, генерирующей неупорядоченный(случайный) массив чисел} notupor(a,a); {вызов процедуры make, осуществляющей исследование методов сортировки} make(8,10,a,a1,2); {** исследуются 10 упорядоченных по убыванию элементов **} {вызов процедуры make, осуществляющей исследование методов сортировки} make(13,10,a1,a1,3); {ожидание нажатия клавиши Esc} repeat k:=readkey; until k=#27; end; 3:begin {getshadow — процедура, убирающая тень от меню} getshadow; {box — процедура, выводящая на экран окно} box(1,0,80,18,1,15,double,’100 элементов’); {исследуются 100 упорядоченных по возрастанию элементов} upor(b,b); make(3,100,b,b1,1); {исследуются 100 неупорядоченных (случайных) элементов} notupor(b,b); make(8,100,b,b1,2); {исследуются 100 упорядоченных по убыванию элементов} make(13,100,b1,b1,3); repeat k:=readkey; until k=#27; end; 4:begin {getshadow — процедура, убирающая тень от меню} getshadow; box(1,0,80,18,1,15,double,’1000 элементов’); {исследуется 1000 упорядоченных по возрастанию элементов} upor(c,c); make(3,1000,c,c1,1);
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84
Структуры и алгоритмы обработки данных
{**********************************************************
************************ Основная программа **************
**********************************************************}
const
{массив строк — пунктов главного меню}
menu:array[1..7] of string=(‘ Пример сортировки ‘,’ Исследование (10 эл-тов)’,
‘ Исследование (100 эл-тов) ‘,
‘ Исследование (1000 эл-тов) ‘,
‘ Исследование (10000 эл-тов) ‘,
‘ О программе ‘
,’ Выход ‘);
var
{массивы чисел, используемые для исследования}
a,a1:array[0..9] of integer; {10 — чисел}
b,b1:array[0..99] of integer; {100 — чисел}
c,c1:array[0..999] of integer; {1000 — чисел}
d,d1:array[0..9999] of integer; {10000 — чисел}
f:byte; {показатель того , какой массив
поступает в процедуру для упо-
рядочивания по убыванию:
1 — неупорядоченный (слу-
чайный);
2 — упорядоченный по воз-
растанию;
3 — упорядоченный по убы-
ванию}.
k:char;
item:byte;
begin
clrscr;cursoroff; {гашение курсора}
repeat
textbackground(0);clrscr;
{fill — процедура, заполняющая заданную область экрана заданными символами заданного цвета}
fill(lightgray,1,1,2,80,25,’ ‘);
{menuv — процедура, выводящая на экран вертикальное меню}
menuv(25,10,menu,lightgray,black,red,lightgreen,yellow,’Сортировка’,item,double);
{item — переменная, содержащая номер выбранного пункта меню}
case item of
1:example;
2:begin
{getshadow — процедура, убирающая тень от меню}
getshadow;
{** исследуются 10 упорядоченных по возрастанию элементов **}
{box — процедура, выводящая на экран окно}
box(1,0,80,18,1,15,double,’10 элементов’);
{вызов процедуры upor, генерирующей упорядоченный по возрастанию
массив чисел}
upor(a,a);
{вызов процедуры make, осуществляющей исследование методов сортировки}
make(3,10,a,a1,1);
{** исследуются 10 неупорядоченных (случайных) элементов **}
{вызов процедуры notupor, генерирующей неупорядоченный(случайный) массив чисел}
notupor(a,a);
{вызов процедуры make, осуществляющей исследование методов сортировки}
make(8,10,a,a1,2);
{** исследуются 10 упорядоченных по убыванию элементов **}
{вызов процедуры make, осуществляющей исследование методов сортировки}
make(13,10,a1,a1,3);
{ожидание нажатия клавиши Esc}
repeat
k:=readkey;
until k=#27;
end;
3:begin
{getshadow — процедура, убирающая тень от меню}
getshadow;
{box — процедура, выводящая на экран окно}
box(1,0,80,18,1,15,double,’100 элементов’);
{исследуются 100 упорядоченных по возрастанию элементов}
upor(b,b);
make(3,100,b,b1,1);
{исследуются 100 неупорядоченных (случайных) элементов}
notupor(b,b);
make(8,100,b,b1,2);
{исследуются 100 упорядоченных по убыванию элементов}
make(13,100,b1,b1,3);
repeat k:=readkey; until k=#27;
end;
4:begin
{getshadow — процедура, убирающая тень от меню}
getshadow;
box(1,0,80,18,1,15,double,’1000 элементов’);
{исследуется 1000 упорядоченных по возрастанию элементов}
upor(c,c);
make(3,1000,c,c1,1);
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84