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

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

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

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

функциональное_подчинение(долж("Группа анализа рынка труда", "Ведущий специалист"),долж("Группа анализа рынка труда",Y)):Y="Ведущий специалист" or  Y="Экономист по договорной работе",!.

функциональное_подчинение(долж("Группа переводчиков-дактилологов", "Переводчик-дактилолог"),долж("Группапереводчиков-дактилологов",Y)):Y="Переводчик-дактилолог" or  Y="Переводчик-дактилолог",!.

GOAL

функциональное_подчинение(долж("Группа Анализа рынка руда", "Ведущий специалист"),долж(X,Y,)) and сотрудник(персона(V,_,_),долж(X,Y,)).

Результаты работы программы

Рис. 3. Результат работы программы.

К программному продукту можно задать много вопросов. Допустим, необходимо знать, кто функционально подчиняется ведущему специалисту группы анализа рынка труда.

Цель: функциональное_подчинение(долж("Группа Анализа рынка руда", "Ведущий специалист"),долж(X,Y,)) and сотрудник(персона(V,_,_),долж(X,Y,)).

Вывод: В ходе выполнения лабораторной работы я научилась работать со структурами в Visual Prolog.

Лабораторная работа №2

Тема: Создание списка должностей отдела кадров.

 Цель: Научиться создавать список должностей отдела кадров с помощью языка программирования «Пролог» и добавить новую должность в подразделении отдела.

Код программы:

DOMAINS

список = sumbol*

PREDICATES                                             

multi добавить(sumbol, список, список)                                                              

multi список(список, sumbol)

CLAUSES

список ([«Специалист по кадрам – руководитель группы», «Инспектор по спец оформлению», «Инспектор»], «Группа оформления»).

cписок([«Специалист по кадрам – руководитель группы», «Старший инспектор», «Инспектор», «Архивариус»], «Группа личного стола»).

список([«Старший экономист», «Экономист», «Экономист по мед.страх»], «Группа по персонифицированному учёту и мед.страх»).

список([«Специалист по кадрам – руководитель группы», «Старший инспектор», «Инспектор»], «Группа оформления пенсий и пособий»).

список([«Специалист по кадрам – руководитель группы», «Старший инспектор», «Инспектор»], «Группа по контролю таб.учёта и дисциплины труда»).

список([«Ведущий специалист», «Экономист по договорной работе»,], «Группа анализа рынка труда»).

список([«Переводчик-дактилолог», «Переводчик-дактилолог»,], «Группа переводчиков-дактилологов»).

добавить ([X,L,[X|L]).

GOAL

cписок(K, «Группа анализа рынка труда») and добавить(«Экономист»,K,Y).

Результаты работы программы