ВУЗ:
Составители:
Рубрика:
7
7
Разработка модуля
Включим в разрабатываемый модуль с именем SORT две процедуры
сортировки: обменной сортировки с именем Sort_Exchange и сортировки
выбором - Sort_Choose. Все остальные пояснения см. в комментариях.
Unit SORT; {Заголовок модуля}
Interface { Секция связи}
Type
T_Time = record {Описание типа для задания времени}
Hour: 0..23;
Min: 0..59;
end;
T_zap = record {Описание типа для одной записи списка}
nom: string[5];
potpr, pnazn: string[15];
day: 1..7;
time: T_Time;
price: real;
end;
Var Spis: array[1..1000]of T_zap; {Описание списка - массива из
записей}
Kol_Zap: word; { Число записей в файле и списке}
Procedure Sort_Exchange; { Описание заголовков процедур модуля}
Procedure Sort_Choose;
Implementation {Секция реализации}
Procedure Sort_Exchange; {Процедура обменной сортировки}
Var
i: word; Z: T_Zap;
Key: boolean; {Ключ - признак обмена}
Begin
Repeat {Цикл проверок очередности}
Key:=false;
For i:=1 to Kol_Zap-1 do
If Spis[i].nom > Spis[i+1].nom then
Begin {Обмен записей}
Z:=Spis[i];
Spis[i]:=Spis[i+1];
Spis[i+1]:=Z;
Key:=True;
End;
Until Key=False; {Цикл заканчивается в том случае, если ни одна пара
записей не переставлялась}
End;
Procedure Sort_Choose; {Процедура сортировки выбором}
Var i, j, imin: word; nomr: string[5]; Z: T_Zap;
7 Разработка модуля Включим в разрабатываемый модуль с именем SORT две процедуры сортировки: обменной сортировки с именем Sort_Exchange и сортировки выбором - Sort_Choose. Все остальные пояснения см. в комментариях. Unit SORT; {Заголовок модуля} Interface { Секция связи} Type T_Time = record {Описание типа для задания времени} Hour: 0..23; Min: 0..59; end; T_zap = record {Описание типа для одной записи списка} nom: string[5]; potpr, pnazn: string[15]; day: 1..7; time: T_Time; price: real; end; Var Spis: array[1..1000]of T_zap; {Описание списка - массива из записей} Kol_Zap: word; { Число записей в файле и списке} Procedure Sort_Exchange; { Описание заголовков процедур модуля} Procedure Sort_Choose; Implementation {Секция реализации} Procedure Sort_Exchange; {Процедура обменной сортировки} Var i: word; Z: T_Zap; Key: boolean; {Ключ - признак обмена} Begin Repeat {Цикл проверок очередности} Key:=false; For i:=1 to Kol_Zap-1 do If Spis[i].nom > Spis[i+1].nom then Begin {Обмен записей} Z:=Spis[i]; Spis[i]:=Spis[i+1]; Spis[i+1]:=Z; Key:=True; End; Until Key=False; {Цикл заканчивается в том случае, если ни одна пара записей не переставлялась} End; Procedure Sort_Choose; {Процедура сортировки выбором} Var i, j, imin: word; nomr: string[5]; Z: T_Zap; 7
Страницы
- « первая
- ‹ предыдущая
- …
- 5
- 6
- 7
- 8
- 9
- …
- следующая ›
- последняя »