Составители:
Рубрика:
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
 - …
 - следующая ›
 - последняя »
 
