All pastes #2065919 Raw Edit

Cheebitox

public c v1 · immutable
#2065919 ·published 2011-05-20 18:03 UTC
rendered paste body
/* Lab - 7 */domains	file = f	S = string	E = string*		I = integer 	J = integer* predicates		/* Запросы */	submenu	talk(S)	ssymbl(S)		scheck(S,S,I)	/* Мозг */	brain(S,S,I,I,I,J,S,I)	dbase(E,E,E,E)		/* Рандомный ответ для положительных запросов */	randS(I)	randT(I)	randW(I)	randA(I)		/* Рандомный ответ для отрицательных(повторяющихся) запросов */	randSB(I)	randTB(I)	randWB(I)	randAB(I)		randN(I)	randNB(I)		belong(S,I,I,E,I)		/* Программа */	menu(S)	program	helpus.goal	program./* Santa */clauses		/* Программа */	program:-		openwrite(f,"phrase.txt"),		writedevice(f), write("1"), closefile(f),		openwrite(f,"numbers.txt"),		writedevice(f), write("1"), closefile(f),		write("\"Лабораторная работа - 7\"\n"),		write("Программа \"Собеседник\"\n\n"),		write("Выберите пункт меню:\n---------\n"),		write("1.\"Собеседник\"\n2.Справка\n3.Выход\n-----\n"),		write("Введите пункт меню: "), readln(M),		clearwindow, menu(M).			/* Меню */	menu("1"):-		submenu, clearwindow,		program,!.	menu("2"):-		helpus, clearwindow,		program,!. 	menu("3").			/* Справка */	helpus:-		write("RTFM\n----------\n"),		write("Рандомный ответ может только в случае, если были введены "),		write("слова/предложения типа: \"Привет\", \"Как дела?\", \"Сколько времени?\" "),		write("+ ещё несколько предложений. На остальное ответ может быть некорректным\n"),		write("----------\nЭто лишь тестовая версия программы\n----------\n"),		write("Нажмите ввод для возвращения в меню..."), readln(Ps), program.			/* Подменю */	submenu:-		write("Выберите тип вводимого запроса\n\n"),		write("1.Символьный\n2.Числовой(Не работает)\n3.Возврат в главное меню\n"),		write("----------\nВведите пункт: "), readln(N),		clearwindow, talk(N).			talk("1"):-		ssymbl(Str), 		dbase(Salutation,QuestionsT,QuestionsW,QuestionsA), 		belong(Str,B,1,Salutation,Th),		belong(Str,B,2,QuestionsT,Th),		belong(Str,B,3,QuestionsW,Th),		belong(Str,B,4,QuestionsA,Th),		openread(f,"phrase.txt"),		readdevice(f), not(eof(f)),		readln(Str1), closefile(f),		scheck(Str,Str1,Rr),		openwrite(f,"phrase.txt"),		writedevice(f), write(Str), closefile(f),		brain(Str,"1",Rr,B,Th,[],_,_),		readln(Lat), clearwindow, submenu,!.	talk("3"):-		program.			/* Первый пункт подменю */		ssymbl(Str):-		write("Введите фразу: "), readln(Str),		write("\n\n").			dbase(Salutation,QuestionsT,QuestionsW,QuestionsA):-		Salutation = ["Привет","привет","Здравствуйте","здравствуйте","Здравствуй","здравствуй","Халло","халло","Превед","превед","Hello","hello","Hi","hi"],		QuestionsT = ["Сколько времени?","сколько времени?","Который час?","который час?","Time?","Время?"],		QuestionsW = ["Как дела?","как дела?","Как сам?","как сам?","Что нового?","что нового?","Как ты?","как ты?"],		QuestionsA = ["Что делаешь?","что делаешь?","Чем занимаешься?","чем занимаешься?","Чем занят?","чем занят?"].			belong(Str,B,1,[Str|_],Th):-		B = 0, Th = 1,!.	belong(Str,B,1,[_|T],Th):-		belong(Str,B,1,T,Th),!.	belong(Str,B,2,[Str|_],Th):-		B = 0, Th = 2,!.	belong(Str,B,2,[_|T],Th):-		belong(Str,B,2,T,Th),!.	belong(Str,B,3,[Str|_],Th):-		B = 0, Th = 3,!.	belong(Str,B,3,[_|T],Th):-		belong(Str,B,3,T,Th),!.	belong(Str,B,4,[Str|_],Th):-		B = 0, Th = 4,!.	belong(Str,B,4,[_|T],Th):-		belong(Str,B,4,T,Th),!.	belong(Str,_,_,[_|[]],_)./*	belong(Str,B,_,[_|[]],Th):-		B = 1, Th = 0.*/			scheck(Str,Str1,Rr):-		Str <> Str1, Rr = 0,!.	scheck(Str,Str1,Rr):-		Str = Str1, Rr = 1.			brain(Str,"1",0,0,1,[],_,_):-		random(3,RandomInt), randS(RandomInt),!.	brain(Str,"1",0,0,2,[],_,_):-		random(3,RandomInt), randT(RandomInt),!.	brain(Str,"1",0,0,3,[],_,_):-		random(3,RandomInt), randW(RandomInt),!.	brain(Str,"1",0,0,4,[],_,_):-		random(3,RandomInt), randA(RandomInt),!.	brain(Str,"1",0,_,_,[],_,_):-		random(3,RandomInt), randN(RandomInt),!.	brain(Str,"1",1,0,1,[],_,_):-		random(3,RandomInt), randSB(RandomInt),!.	brain(Str,"1",1,0,2,[],_,_):-		random(3,RandomInt), randTB(RandomInt),!.	brain(Str,"1",1,0,3,[],_,_):-		random(3,RandomInt), randWB(RandomInt),!.	brain(Str,"1",1,0,4,[],_,_):-		random(3,RandomInt), randAB(RandomInt),!.	brain(Str,"1",1,_,_,[],_,_):-		random(3,RandomInt), randNB(RandomInt),!.	/* Рандом для приветствия */	randS(0):- write("Привет"),!.	randS(1):- write("Дарова"),!.	randS(2):- write("Халло"),!.	randS(3):- write("Hi").		randSB(0):- write("Уже здоровались..."),!.	randSB(1):- write("Зачем на повтор пошёл?"),!.	randSB(2):- write("Кеша и то лучше..."),!.	randSB(3):- write("...").		/* Рандом для вопроса "Сколько времени" */	randT(0):- write("Время отжечь!!!"),!.	randT(1):- write("Ах были бы часы..."),!.	randT(2):- write("Без 20 минут, 5 минут половины 4-го"),!.	randT(3):- system("TIME").		randTB(0):- write("Какого хрена?!"),!.	randTB(1):- write("Прекращай!!"),!.	randTB(2):- write("Я же могу и перезагрузить >.<"),!.	randTB(3):- system("RESTART").		/* Рандом для вопроса "Как дела" */	randW(0):- write("...Cake is LIE"),!.	randW(1):- write("2,3 миллиарда ударов сердца в секунду, как думаешь хорошо?"),!.	randW(2):- write("Если бы не быдлокодил, было бы прекрасно"),!.	randW(3):- write("Без комментариев").		randWB(0):- write("...Cake is a LIE"),!.	randWB(1):- write("Иди к чёрту"),!.	randWB(2):- write("Ты мне надоел"),!.	randWB(3):- write("Ещё раз повторишься, увидишь BSoD").		/* Рандом для вопроса "Что делаешь" */	randA(0):- write("Шары катаю, в смысле электроны"),!.	randA(1):- write("Ничего"),!.	randA(2):- write("Сейчас бы поспать..."),!.	randA(3):- write("Сможешь угадать, получишь тортик :)").		randAB(0):- write("Тебя сейчас по полу катать буду"),!.	randAB(1):- write("Ускоряю позитроны..."),!.	randAB(2):- write("Собираюсь закатать тебя в асфальт"),!.	randAB(3):- write("Epic Fail").		/* Рандом для непонятного выражения */	randN(0):- write("Ничего не понятно"),!.	randN(1):- write("О чём ты говоришь?"),!.	randN(2):- write("Что за абракадабра???"),!.	randN(3):- write("Сгинь невежество").		randNB(0):- write("мало того что ничего не понятно, так и повторяешься"),!.	randNB(1):- write("Да пропади ты к чёрту!!!"),!.	randNB(2):- write("Через 7 дней всё закончится..."),!.	randNB(3):- write("CAKE IS A LIE!!!!!!!!!!").