Составители:
Рубрика:
74
указатель отката помещается в следующую точку. Значение ANN ARBOR
выводится на экран.
Предикат fail вызывает неуспешное завершение правила, внутрен-
ние унификационные подпрограммы выполняют откат в точку 1, и процесс
повторяется до тех пор, пока последнее утверждение не будет обработано.
* Упражнения
4.1. Измените программу о городах таким образом, что бы результа-
том была
выдача на экран целых чисел 66, 46, 32, 93, 44, 98, 37, 16, 12. Вы-
давайте только одно число на строке.
4.2. Какие необходимы модификации для выдачи целых чисел на одну
строку так, что бы они были разделены двумя пробелами?
Программа о городах показывает, что использование метода ОПН по-
зволяет извлекать данные из каждого утверждения базы данных. Если в
про-
грамме содержатся утверждения для 10 вариантов, то результат так же со-
держит 10 строк. Данные извлекаются из каждого утверждения, так как каж-
дый вариант удовлетворяет подцели cities(сity). Но добавив дополнительные
условия на значения объектов для одной или более переменных предиката,
можно извлекать данные только из определенных утверждений. Программа
о служащих (
листинг 4.2) демонстрирует этот метод.
Листинг 4.2
_______________________________________________________________
/* Программа: Служащие */
/* Назначение: Демонстрация использования */
/* селектирующих правил на основе ОПН-метода */
domains
name, sex, department = symbol
pay_rate = real
predicates
employee(name,sex,department,pay_rate)
show_male_part_time
show_data_proc_dept
goal
write("Служащие мужского пола с почасовой оплатой"), nl, nl,
show_male_part_time.
clauses
employee("John Walker ","M","ACCT",3.50).
employee("Tom Sellack ","M","OPER",4.50).
employee("Betty Lue ","F","DATA",5.00).
employee("Jack Hunter ","M","ADVE",4.50).
employee("Sam Ray ","M","DATA",6.00).
указатель отката помещается в следующую точку. Значение ANN ARBOR
выводится на экран.
Предикат fail вызывает неуспешное завершение правила, внутрен-
ние унификационные подпрограммы выполняют откат в точку 1, и процесс
повторяется до тех пор, пока последнее утверждение не будет обработано.
* Упражнения
4.1. Измените программу о городах таким образом, что бы результа-
том была выдача на экран целых чисел 66, 46, 32, 93, 44, 98, 37, 16, 12. Вы-
давайте только одно число на строке.
4.2. Какие необходимы модификации для выдачи целых чисел на одну
строку так, что бы они были разделены двумя пробелами?
Программа о городах показывает, что использование метода ОПН по-
зволяет извлекать данные из каждого утверждения базы данных. Если в про-
грамме содержатся утверждения для 10 вариантов, то результат так же со-
держит 10 строк. Данные извлекаются из каждого утверждения, так как каж-
дый вариант удовлетворяет подцели cities(сity). Но добавив дополнительные
условия на значения объектов для одной или более переменных предиката,
можно извлекать данные только из определенных утверждений. Программа
о служащих (листинг 4.2) демонстрирует этот метод.
Листинг 4.2
_______________________________________________________________
/* Программа: Служащие */
/* Назначение: Демонстрация использования */
/* селектирующих правил на основе ОПН-метода */
domains
name, sex, department = symbol
pay_rate = real
predicates
employee(name,sex,department,pay_rate)
show_male_part_time
show_data_proc_dept
goal
write("Служащие мужского пола с почасовой оплатой"), nl, nl,
show_male_part_time.
clauses
employee("John Walker ","M","ACCT",3.50).
employee("Tom Sellack ","M","OPER",4.50).
employee("Betty Lue ","F","DATA",5.00).
employee("Jack Hunter ","M","ADVE",4.50).
employee("Sam Ray ","M","DATA",6.00).
74
Страницы
- « первая
- ‹ предыдущая
- …
- 72
- 73
- 74
- 75
- 76
- …
- следующая ›
- последняя »
