database
xpositive(symbol,symbol)
xnegative(symbol,symbol)
predicates
begin_analis
result
ask(symbol,symbol)
virus_is(symbol)
it_is(symbol)
positive(symbol,symbol)
negative(symbol,symbol)
remember(symbol,symbol,symbol)
clear_db
clauses
% User interface
begin_analis :-
nl,write(«***Вас приветствует система Система Настройки ОС Wndows***»),
nl,write(«Отвечайте на вопросы системы y-да, n-нет:»),
nl,nl,
result,
write(«Нажмите пробел.»),nl,
exit.
result :-
virus_is(X),!,nl,
write(«Неисправность: «,X,».»),nl,
clear_db.
result :-
nl,write(«Ваша проблемма не определена «),
clear_db.
ask(X,Y) :-
write(X, » «, Y,» ?»),
readln(Reply),
remember(X,Y,Reply).
% Output mechanism
positive(X,Y) :-
xpositive(X,Y),!.
positive(X,Y) :-
not(negative(X,Y)),!,
ask(X,Y).
negative(X,Y) :-
xnegative(X,Y),!.
remember(X,Y,y) :-
asserta(xpositive(X,Y)). % Добавление положительного ответа
remember(X,Y,n) :-
asserta(xnegative(X,Y)), % Добавление отрицательного ответа
fail.
clear_db :-
retract(xpositive(_,_)), % Удаление положительных ответов
fail.
clear_db :-
retract(xnegative(_,_)), % Удаление отрицательных ответов
fail.
% Rules
virus_is(«Выбран неверный режим передачи данных. Поставте режим DMA.») :-
it_is(«ОС долго загружаеться»),
positive(«»,»курсор мыши двигаеться прерывисто»),
positive(«наблюдается»,»\»зависание\» системы при обращении к винчестеру или CD-Rom»),!.
virus_is(«Недостаточно оперативной памяти. По возможности используйте как можно меньше программ одновременно») :-
it_is(«ОС долго загружаеться»),
positive(«»,»курсор мыши двигаеться прерывисто»),!.
virus_is(«Слишком много прошрамм находяться в автозагрузке, удалите ненужные программы») :-
it_is(«ОС долго загружаеться»),
positive(«проблеммы начинаються после появления экрана привететствия»,»»),!.
virus_is(«Ваш компьютер заражен вирусом, установите антивирусное ПО»):-
it_is(«ОС загружаеться нормально»),
positive(«Игры перестали работать в ранее используемых режимах»,»»),
positive(«Компьютер самопроизвольно выключаеться и перезагружаеться»,»»),
positive(«Компьютер тормозит»,»»),!.
virus_is(«ОС слишклм сильно засорена. Переустановите её.») :-
it_is(«ОС загружаеться номально»),
positive(«Компьютер тормозит, но не всегда»,»»),!.
% positive(«Игры перестали работать в ранее используемых режимах»,»»),!.
it_is(«ОС долго загружаеться») :-
positive(«ОС»,»загружеться слишком долго»),!.
it_is(«ОС загружаеться нормально») :-
positive(«ОС»,»загружаеться нормально»),!.
goal
begin_analis.