3.4.4. Управление потоком ввода–вывода
При программировании задач, в которых требуется выполнение операций сравнения нужно учитывать особенность использования операции =. В отличии от процедурных языков программирования такая операция трактуется по следующему правилу. Если в левой части операции находится свободная переменная, то она соответствует оператору присваивания, в противном случае это логическая операция проверки на равенство левой и правой части выражения.
Пример. Написать программу для вычисления по условиям.
Дано:
Программа:
domains
a,b,c,d,e,f=integer
predicates
getE(a,b,e)-(i,i,o)
getF(e,f) -(i,o)
clauses
%Правила сравнения чисел
getE(A,B,E):-
A<B,E=A.
getE(A,B,E):-
A>B,E=B.
%Правила получения итогового значения
getF(E,F):-
E<=0,F=0.
getF(E,F):-
E>0,F=1.
goal
A=9,B=10,C=8,D=-89,
getE(A,B,X),getE(C,D,Y),X1=X,Y1=Y,
getE(X1,Y1,Z),write("Emin=",Z),nl,
getF(Z,F),
write("F=",F),nl.
В программе использованы промежуточные переменные X1 и Y1 для хранения временных значений результата сравнения исходных чисел.
При составлении программ для правильного обращения к предикатам рекомендуется выполнить спецификацию входных и выходных параметров (переменных). Для этого используются ключевые символы o – означает, что аргумент возвращает значение, i – аргумент принимает значение.
Тогда описание предикатов примет вид:
predicates
getE(a,b,e)-(i,i,o)%первые аргументы принимают
%значение, а тритий его
%возвращает
getF(e,f) -(i,o)%первый аргумент принимает
%значение, а втораой возвращает
Для контроля потока параметров, в процессе работы программы, используются системные предикаты bound(X) – контроль задания исходного значение, и free(X) – проверка отсутствия значения в переменной. Первый предикат возвращает значение ИСТИНА, если аргумент – связанная переменная, а второй возвращает значение ИСТИНА, если аргумент – свободная переменная.
Пример предиката с контролем потока параметров
getE(A,B,E):- %(i,i,o)
bound(A),bound(B),free(E),
A<B,E=A.
Для более точного и гибкого описания предметной области VIP предлагает технологию описания связей в виде структур и альтернативных доменов.
- Основы построения автоматизированных информационных систем
- Глава 1. Системный подход при разработке автоматизированных информационных систем
- 1.1. Общие положения
- 1.2. Автоматизированные информационные системы
- 1.3. Автоматизированные системы в управлении
- 1.4. Методы анализа автоматизированных информационных систем
- 1.5. Структура автоматизированной информационной системы
- Глава 2. Методы проектирования информационных систем
- 2.1. Обобщенная модель информационной системы и методы проектирования
- 2.2. Каноническое проектирование информационных систем
- 2.3. Управление требованиями, спецификация rup
- 2.4. Модели жизненного цикла информационной системы
- 2.5. Использование case технологий при разработке информационных систем
- 2.6. Методологии case проектирования
- 2.6.1. Методология datarun
- 2.6.2. Методология rad
- 2.6.3. Графические нотации
- 2.7. Системные методологии анализа
- 2.7.1. Методология aris
- 2.7.2. Методология baan
- 2.7.3. Методология Oracle
- 2.7.4. Методология Betec (©)
- Глава 3. Особенности современных информационных систем
- 3.1. Корпоративные информационные системы
- 3.2. Системы обработки транзакций
- 3.3. Системы поддержки принятия решения
- 3.4. Экспертные информационные системы
- 3.4.1. Основы создания информационных систем в Visual Prolog
- 3.4.2. Управления поиском решения в vip
- 3.4.3 Использование рекурсии
- 3.4.4. Управление потоком ввода–вывода
- 3.4.5. Особенности составления описания предметной области
- 3.4.6. Особенности работы с базой фактов
- 3.5. Объектно–ориентированные системы
- 3.6. Документальные системы
- 3.6.1. Информационно-поисковый язык
- 3.6.2. Структра поисковой системы
- 3.7. Гипертекстовые информационные системы
- 4. Управление процессом проектирования автоматизированной информационной системы
- 4.1. Методы управления качеством разработки аис
- 4.2. Оценка эффективности функционирования автоматизированных информационных систем
- 4.2.1. Экономическая эффективность
- 4.2.2. Производительность вычислительной системы
- 4.2.3. Оценка качества работы пользователя системы
- Приложения Приложение №1. Базовые сведения о языке программирования Visual Prolog
- Приложение №.2. Компилирование программ в Visual Prolog ver 5.2.
- Приложение №.3. Программа «Внутренняя база данных фактов»
- Приложение №.4. Программа «Внешняя база данных»
- Приложение №5.Некоторые стилевые параметры
- Список литературы