Структуры и алгоритмы обработки данных



Описание процедур, используемых в программе - часть 5


 k_sr:=0;k_p:=0;

randomize;

{Данный массив, содержащий имена студентов}

mas[1].name:='Иван';mas[2].name:='Петр';mas[3].name:='Сидор';

mas[4].name:='Василий';mas[5].name:='Денис';mas[6].name:='Геннадий';

mas[7].name:='Борис';mas[8].name:='Марат';mas[9].name:='Казбек';

mas[10].name:='Алексей';mas[11].name:='Владимир';mas[12].name:='Сидор';

mas[13].name:='Виталий';mas[14].name:='Александр';mas[15].name:='Михаил';

mas[16].name:='Евгений';mas[17].name:='Артур';mas[18].name:='Руслан';

mas[19].name:='Мурат';mas[20].name:='Аркадий';

{задание количества баллов у студента случайным образом}

for i:=1 to 20 do

 mas[i].num:=random(19)+1;

{вывод пояснений}

getshadow;

textbackground(lightgray);

textcolor(red);gotoxy(15,1);write('Пример сортировки по убыванию методом прямого включения');

textbackground(lightgray);

textcolor(red); gotoxy(3,25);  write('Esc - главное меню');

textcolor(red); gotoxy(65,25); write('F1 - задание');

box(58,0,80,25,1,15,double,'Статистика');

textcolor(lightmagenta);

gotoxy(59,3); write(' Сортировка  методом ');

gotoxy(61,4); write('прямого включения.');

textcolor(white); gotoxy(59,5); write('---------------------');

box(31,0,57,25,1,15,double,'После сортировки');

textcolor(lightmagenta); gotoxy(32,3); write(' N   Имя           балл');

box(1,0,30,25,1,15,double,'До сортировки');

textcolor(lightmagenta); gotoxy(3,3);  write('N   Имя              балл');

{вывод на экран исходного массива}

for i:=1 to 20 do

 begin

textcolor(lightcyan); gotoxy(3,i+3);  write(i);

textcolor(yellow);    gotoxy(7,i+3);  write(mas[i].name);

textcolor(lightred);  gotoxy(25,i+3); writeln(mas[i].num);

 end;

{сортировка по убыванию количества баллов}

for i := 2 to 20 do

  begin

    x := mas[i];

    for j := i - 1 downto 1 do

     begin

  {k_sr - счетчик количества сравнений}

    k_sr:= k_sr+1;

          if x.num > mas[j].num then

                    begin

  {k_p - счетчик количества перемещений}

                    k_p:=k_p+1;

  {обмена содержимым элементов массива mas[j+1] и mas[j]




Содержание  Назад  Вперед