Построить три класса базовый и 2 потомка, описывающих некоторых работников с почасовой оплатой

Построить три класса базовый и 2 потомка, описывающих некоторых работников с почасовой оплатой
фиксированной оплатой (второй потомок). Описать в базовом классе абстрактный метод для расчета среднемесячной заработной платы. Для «повременщиков» формула для расчета такова: «среднемесячная заработная плата = 20.8 * 8 * почасовую ставку», для работников с фиксированной оплатой «среднемесячная заработная плата = фиксированной месячной оплате».
a) Упорядочить всю последовательность работников по убыванию среднемесячного заработка. При совпадении зарплаты – упорядочивать данные по алфавиту по имени. Вывести идентификатор работника, имя и среднемесячный заработок для всех элементов списка.
b) Вывести первые 5 имен работников из полученного в пункте а) списка.
c) Вывести последние 3 идентификатора работников из полученного в пункте а) списка.
d) Организовать запись и чтение коллекции в/из файл.
e) Организовать обработку некорректного формата входного файла.

  • А в чем заключается вопрос?
  • TWorker=class
    private
    fFirstName, fLastName:string;
    fRate:Currency;
    protected
    function fGetSalary; virtual; abstract;
    public
    constructor Create(aFirstName, aLastName:string; aRate:Currency);
    property FirstName:string read fFirstName;
    property LastName:string read fLastName;
    property Salary:Currency read fGetSalary;
    end;

    THourlyWorker=class(TWorker)
    protected
    function fGetSalary; override;
    end;

    TMonthlyWorker=class(TWorker)
    protected
    function fGetSalary; override;
    end;

    Идея понятна? Дальше все элементарно, ваяй сам.