Создание структуры отдела кадров с помощью языка программирования «Пролог», страница 3

сотрудник (персона ( "Бородкина", "Валентина", "Павловна"), долж ("Группа по персонифицированному учёту и мед.страх.", "Экономист по мед.страх.")).

сотрудник (персона ( "Шестина", "Альбина", "Николаевна"), долж ("Группа оформления пенсий и пособий", "Специалист по кадрам – руководитель группы")).

сотрудник (персона ( "Царева", "Татьяна", "Викторовна"), долж ("Группа оформления пенсий и пособий", "Старший инспектор")).

сотрудник (персона ( "Манченко", "Елена", "Николаевна"), долж ("Группа оформления пенсий и пособий", "Инспектор")).

сотрудник (персона ( "Михеева", "Татьяна", "Мвановна"), долж ("Группа по контролю таб.учёта и состоянию дисциплины труда", "Специалист по кадрам – руководитель группы")).

сотрудник (персона ( "Пискунова", "Надежда", "Константиновна"), долж ("Группа по контролю таб.учёта и состоянию дисциплины труда", "Старший инспектор")).

сотрудник (персона ( "Панова", "Любовь", "Николаевна"), долж ("Группа по контролю таб.учёта и состоянию дисциплины труда", "Инспектор")).

сотрудник (персона ( "Цулина", "Людмила", "Евгеньевна"), долж ("Группа анализа рынка труда", "Ведущий специалист")).

сотрудник (персона ( "Глобина", "Елена", "Владимировна"), долж ("Группа анализа рынка труда", "Экономист по договорной работе")).

сотрудник (персона ( "Шадрина", "Валентина", "Владимировна"), долж ("Группа переводчиков-дактилологов", "Переводчик-дактилолог")).

сотрудник (персона ( "Марасан", "Татьяна", "Петровна"), долж ("Группа переводчиков-дактилологов", "Переводчик-дактилолог")).

линейное_подчинение(долж("",_),Y):Y=долж("Группа оформления ",_) or Y=долж("Личного стола",_) or Y=долж("Группа по персонифицированному учёту и мед.страх.",_) or Y=долж("Группа оформления пенсий и пособий",_)  or Y=долж("Группа по контролю таб.учёта и состоянию дисциплины труда",_) or Y=долж("Группа анализа рынка труда",_) or Y=долж("Группа переводчиков-дактилологов",_) линейное_подчинение(долж("","Начальник отдела кадров"),долж("","Заместитель начальника отдела кадров")).

линейное_подчинение(долж("","Начальник отдела кадров"),долж("","Секретарь-машинист-табельщик")).

функциональное_подчинение(долж("Группа оформления", "Специалист по кадрам – руководитель группы"),долж("Группа оформления",Y)):Y="Специалист по кадрам – руководитель группы" or  Y="Инспектор по спец. Оформлению" or  Y="Инспектор",!.

функциональное_подчинение(долж("Группа личного стола", "Специалист по кадрам – руководитель группы"),долж("Группа личного стола",Y)):Y="Специалист по кадрам – руководитель группы" or  Y="Старший инспектор"  or  Y="Инспектор" or  Y="Архивариус",!.