ТОР 5 статей: Методические подходы к анализу финансового состояния предприятия Проблема периодизации русской литературы ХХ века. Краткая характеристика второй половины ХХ века Характеристика шлифовальных кругов и ее маркировка Служебные части речи. Предлог. Союз. Частицы КАТЕГОРИИ:
|
Пример программы обработки массива записей
Program MasZap; {Создание и сортировка картотеки стран} Const KMAX=10; {Максимальное количество стран} Type Tzap=Record name:String[15]; {Название} area:Real; {Площадь} popul:Real; {Население} End; Tmas=Array[1..KMAX] of Tzap; {$R+} Procedure SozdMZ(Var kz:Byte; Var MZ:Tmas); {Процедура создания массива записей. Выходные данные: kz - количество записей, MZ - массив записей.} Var i:Byte; Begin Write('Задайте число стран не более ', KMAX,': '); ReadLn(kz); For i:=1 To kz Do Begin Write('Название страны? '); ReadLn(MZ[i].name); Write('Площадь и население? '); ReadLn(MZ[i].area, MZ[i].popul); End; End; { SozdMZ }
Procedure SortMZ(kz:Byte;Var MZ:Tmas); {Процедура сортировки массива записей методом обмена. Входные данные: kz - количество записей, MZ - массив записей. Выходные данные: MZ – отсортированный массив записей.} Var i:Byte; z:Tzap; flag:Boolean; Begin If kz=0 Then Begin WriteLn('Массив пуст!'); WriteLn(‘Нажмите Enter ->’); ReadLn; Exit; {Выход из процедуры} End; Repeat flag:=FALSE; For i:=1 To kz-1 Do If MZ[i].popul/MZ[i].area<MZ[i+1].popul/MZ[i+1].area Then Begin z:=MZ[i]; MZ[i]:=MZ[i+1]; MZ[i+1]:=z; flag:=TRUE; End; Until Not flag; End; {SortMZ}
Procedure OutMZ(comStr:String;kz:Byte;Const MZ:Tmas); {Процедура вывода массива записей. Входные данные: comStr - комментирующая строка, kz - количество записей, MZ - массив записей} Var i:Byte; Begin If kz=0 Then Begin WriteLn('Массив пуст!'); Write(‘Нажмите Enter ->’); ReadLn; Exit; { Выход из процедуры } End; WriteLn(ComStr:40); WriteLn; WriteLn('Название страны','Площадь':20,'Население':20); WriteLn; For i:=1 To kz Do With MZ[i] Do WriteLn(name:16,area:20:7,popul:20:7); WriteLn; End; {OutMZ}
Var {Описание переменных программы} ks:Byte; {Количество стран} MS:Tmas; {Массив стран} Begin SozdMZ(KS,MS); OutMZ('Исходный массив',ks,MS); SortMZ(KS,MS); OutMZ('Результат сортировки',ks,MS); Write('После просмотра нажмите Enter ->'); ReadLn; End.
Не нашли, что искали? Воспользуйтесь поиском:
|