Добавить процедуру в готовую программу - Pascal ABC

Узнай цену своей работы

Формулировка задачи:

Помогите надо в эту программу добавить процедуру создать процедуру поиска и вывода сотрудниц страше 50 лет.

Решение задачи: «Добавить процедуру в готовую программу»

textual
Листинг программы
uses
    Utils;
procedure Search50;
var
    i: Byte;
    function IsOlder50(d: Data): Boolean;
    var
        dd: DateTime;
        Result: Boolean;
    begin
        dd := CurrentDateTime;
        if (dd.Year - d.Year > 50)
        then
            Result := True
        else
            if (dd.Year - d.Year < 50)
            then
                Result := False
            else
                if (dd.Month > d.Month)
                then
                    Result := True
                else
                    if (dd.Month < d.Month)
                    then
                        Result := False
                    else
                        Result := (dd.Day >= d.Day);
        IsOlder40 := Result;
    end;
begin
    WriteLn('Список женщин старше 40:');
    for i := 1 to n do
        with mas[i] do
            if ((fpol='ж') And (IsOlder40(BDate)))
            then
                WriteLn(ffam);
end;

Объяснение кода листинга программы

  1. Подключается библиотека Utils.
  2. Определяется процедура Search50.
  3. Определяется функция IsOlder50, которая принимает объект типа Data и возвращает булево значение - true, если дата старше 50 лет, и false в противном случае.
  4. Переменные объявляются: i - байт, dd - объект типа DateTime, Result - булево значение.
  5. В блоке if проверяется разница между годами текущей даты и даты, для которой выполняется проверка. Если разница больше 50, то Result устанавливается в true. Если разница меньше или равна 50, то выполняются следующие проверки: если месяц текущей даты больше месяца даты, то Result устанавливается в true. Если месяц текущей даты меньше месяца даты, то Result устанавливается в false. Если день текущей даты больше дня даты, то Result устанавливается в true. Если день текущей даты меньше дня даты, то Result устанавливается в false.
  6. Если выполнены все условия, то Result устанавливается в true.
  7. Значение Result сохраняется в переменной IsOlder40.
  8. Выводится список женщин старше 40 лет. Для этого в цикле for перебираются элементы массива mas.
  9. Внутри цикла с объектами mas происходит проверка: если поле fpol равно 'ж' и функция IsOlder40(BDate) возвращает true, то выводится имя семьи (содержимое поля ffam).
  10. Цикл завершается.
  11. Программа завершается.

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 4.167 из 5
Похожие ответы