Составители:
Рубрика:
76
Альтернативной формой условия выборки по половому признаку явля-
ется предикат равенства Sex=M. Используя этот предикат равенства, можно
построить другое правило, имеющее тот же самый результат:
show_male_part_time :-
employee(Name, Sex, Dept, Pay_rate),
Sex="M",
write(Name,Dept, "$", Pay_rate),
nl,
fail.
Заметьте, что для этих правил некоторые подцели могут оказаться не-
успешными из-за невозможности удовлетворить условию полового при-
знака. Откат возникнет до
момента, когда информация, содержащиеся в фак-
те, будет выдана на экран. Предикат fail не потребуется, если условия пра-
вил невозможно выполнить, т.е. подцель будет неуспешной сама по себе.
Предикат fail включен в правило для того, чтобы вызвать откат, если условия
правила будут выполнены и все правило окажется успешным.
Теперь
предположим, что необходимо получить список служащих с
неполным рабочим днем, работающих в отделе обработки данных (Data
Processing Department). В этом случае условие, которое должно быть нало-
жено на значение объекта для переменной Dept есть Data. Два следующих
правила позволяют достичь желаемого результата:
show_list_data_proc :-
employee(Name,Sex,"DATA",Pay_rate),
write(Name,Sex,"$",Pay_rate),
nl,
fail.
show_list_data_proc :-
employee(Name,Sex,Dept,Pay_rate),
Dept="DATA",
write(Name,Sex,"$",Pay_rate),
nl,
fail.
Метод ОПН удобен для
программирования на Турбо-Прологе при-
кладных задач по обработке служебных данных. Типичными примерами об-
работки служебных данных являются следующие: создание платежной ве-
домости, вычисление выплаты, использующей данные из базы данных, гене-
рация отчета о выплатах. Программа, формирующая платежную ведомость
(листинг 4.3), является расширением программы о служащих.
Листинг 4.3
_________________________________________________________
/* Программа:
Платежная ведомость */
/* Назначение: Демонстрация использования */
/* построения правил и генерации отчета */
/* с использование ОПН-метода */
Альтернативной формой условия выборки по половому признаку явля-
ется предикат равенства Sex=M. Используя этот предикат равенства, можно
построить другое правило, имеющее тот же самый результат:
show_male_part_time :-
employee(Name, Sex, Dept, Pay_rate),
Sex="M",
write(Name,Dept, "$", Pay_rate),
nl,
fail.
Заметьте, что для этих правил некоторые подцели могут оказаться не-
успешными из-за невозможности удовлетворить условию полового при-
знака. Откат возникнет до момента, когда информация, содержащиеся в фак-
те, будет выдана на экран. Предикат fail не потребуется, если условия пра-
вил невозможно выполнить, т.е. подцель будет неуспешной сама по себе.
Предикат fail включен в правило для того, чтобы вызвать откат, если условия
правила будут выполнены и все правило окажется успешным.
Теперь предположим, что необходимо получить список служащих с
неполным рабочим днем, работающих в отделе обработки данных (Data
Processing Department). В этом случае условие, которое должно быть нало-
жено на значение объекта для переменной Dept есть Data. Два следующих
правила позволяют достичь желаемого результата:
show_list_data_proc :-
employee(Name,Sex,"DATA",Pay_rate),
write(Name,Sex,"$",Pay_rate),
nl,
fail.
show_list_data_proc :-
employee(Name,Sex,Dept,Pay_rate),
Dept="DATA",
write(Name,Sex,"$",Pay_rate),
nl,
fail.
Метод ОПН удобен для программирования на Турбо-Прологе при-
кладных задач по обработке служебных данных. Типичными примерами об-
работки служебных данных являются следующие: создание платежной ве-
домости, вычисление выплаты, использующей данные из базы данных, гене-
рация отчета о выплатах. Программа, формирующая платежную ведомость
(листинг 4.3), является расширением программы о служащих.
Листинг 4.3
_________________________________________________________
/* Программа: Платежная ведомость */
/* Назначение: Демонстрация использования */
/* построения правил и генерации отчета */
/* с использование ОПН-метода */
76
Страницы
- « первая
- ‹ предыдущая
- …
- 74
- 75
- 76
- 77
- 78
- …
- следующая ›
- последняя »
