Процедура сортировки записей по 2-ум ключевым полям - Pascal ABC
Формулировка задачи:
Решение задачи: «Процедура сортировки записей по 2-ум ключевым полям»
type zap=record naz:string[20];//название пункта chs:integer; //число жителей pls:real; //площадь end; const n=10; type mas=array[1..n] of zap; procedure sort(var a:mas); var x:zap; i,j:byte; begin for i:=1 to n-1 do for j:=i+1 to n do //сортируем по алфавиту названия, если одинаковые то по численности if(a[i].naz>a[j].naz)or((a[i].naz=a[j].naz)and(a[i].chs>a[j].chs)then begin x:=a[i]; a[i]:=a[j]; a[j]:=x; end; end;
Объяснение кода листинга программы
Данный код написан на языке Pascal ABC и предназначен для сортировки записей по двум ключевым полям - названию пункта (naz) и числу жителей (chs). В начале кода определяется тип данных zap, который представляет собой запись с двумя полями - naz (название пункта) типа string[20] и chs (число жителей) типа integer. Затем определяется константа n, которая указывает количество записей в массиве mas. Далее определяется тип данных mas, который представляет собой массив из n записей типа zap. Процедура sort принимает на вход переменную a, которая содержит массив записей типа mas, и выполняет сортировку этого массива по заданным критериям. Внутри цикла for происходит сравнение двух записей a[i] и a[j] по алфавиту названия (naz) и, в случае равенства названий, по численности числа жителей (chs). Если записи равны по обоим критериям, то они считаются одинаковыми и пропускаются. В противном случае, если записи не равны по алфавиту или по численности, происходит обмен этих записей местами. Для обмена записей местами используются три переменные - x, i и j. Переменная x присваивается значению a[i], переменная i присваивается значению a[j], а переменная j присваивается значению a[i]. Затем значения a[i] и a[j] обновляются соответственно значениями x и a[j], а значение a[j] обновляется значением a[i]. После выполнения цикла for происходит выход из процедуры sort.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д