Файл: Разработка приложения для подбора пк и комплектующих Avers Traid in.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 19.03.2024
Просмотров: 45
Скачиваний: 0
ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.
Turbo prolog его возможности:
-
Работа с файлами . -
Редактирование текста программы . -
Запуск программы на счет . -
Трансляция программы . -
Заданий опций компилятора . -
Настройка системы в соответствии с индивидуальными потребностями . -
Пример работы программы
-
После начала программы нас встречает приветственное сообщение и первый выбор комплектующего.
-
После нажатия на да будут задаваться уточняющие вопросы, после чего будет выдан идеальный вариант для этого пользователя.Так же будет задан вопрос подходит ли пользователю товар. -
Если выбрать Да, то будет дана возможность попробовать еще раз.Если же нет то будут заданы другие уточняющие вопросы которые выведут на новый товар.
.
-
Если же последующие предложения опять не удовлетворят пользователя будет предоставлена возможность внести новые данные в базу, после чего ему соберут ПК на заказ
.
-
После окончания всех манипуляций с программой появится сообщение прощания.
-
База данных используемая в ЭС.
Руководство для пользователя
1.Запуск программы осуществляется через операционную систему windows .
2. Первое сообщение при включении программы требует ответить на вопрос требуется ли комплектующая.
3. Второе и последующие всплывающие сообщения будут требовать выбрать комплектующий .
4.Проед последнее сообщение потребует ответить на вопрос "подходит ли вам данная конфигурация".
5.При ответе "-Нет" вас перенаправит на повторный опрос.
6.При ответе "-Да" вам будет предоставлена полная конфигурация персонального компьютера.
7.Если же в базе данных закончатся предложения или же ничего не подойдет, будут предложены варианты
-
Добавление комплектующего -
Добовление своей конфигурации
Добавленные комплектующие или конфигурация будут заказаны и предоставлены позже.
Заключение
В ходе написания курсового проекта проведен анализ предметной области с моделированием её бизнес процессов, поставлена задача и спроектировано приложение для подбора комплектующих и конфигурации компьютера на языке программирования prolog.
Библиографический список
-
Проектный практикум: учебное пособие / Н.Д. Амбросенко / Краснояр. гос. аграр. ун-т / Красноярск / изд-во ФГБОУ ВО Красноярский ГАУ / 2021 / 201 с. / 12,5 п.л. -
Проектный практикум: учебное пособие / Т. А. Череватова ; Российский государственный аграрный университет - МСХА имени К. А. Тимирязева (Москва). - Москва : Росинформагротех, 2018. - 188 с -
Моделирование бизнес-процесов с помощью IDEF0,DFD,BPMN за 7 дней / Миндалев И.В. , 2016. - 122 c. -
Логическое программирование/ http://elib.osu.ru/bitstream/123456789/8932/1/2216_20110907.pdf, 2020. - 1595 c. -
Turbo prolog / В. В. Терёхин , 2006. - 482 c. -
Logic, Programming and Prolog (2ed) / Ульф Нильсон и др. , 2010. - 304 c.
Приложение 1
Технический проект
Полное наименование системы
«Приложение для подбора ПК и комплектующих” » .
Сокращенное наименование системы
Приложение «Avers Traid in»
Наименование организации заказчика и описание деятельности
Заказчик: Магазин электронных товаров Avers traid in
Адрес фактический:Красноярский край, г.Красноярск , ул. Маерчака, 53Г (этаж 3, офис 3-13)
Объект автоматизации, структурные подразделения организации-заказчика которые затрагивает автоматизация, их деятельность и локации
Автоматизация Продажи
Цель создания системы
Задача приложения эффективно организовать простой способ подачи ассортимента для клиентов.
Требования к информационному обеспечению системы
- Доступ к информации в разрабатываемом приложений ограничен
Требования к лингвистическому обеспечению сиситемы
-Русский язык.
Требования к аппаратно-программному обеспечению
- Для обеспечения ввода, хранения и изменения информации рекомендуется использовать ПК 2 ядра 2ghz ,ОЗУ 2 gb,Gpu 112 mb .
Приложение 2
Программный код
DOMAINS
i=integer
s=string
c=char
li=i*
DATABASE - knowledge
cond(i,s)
rule(s,li)
DATABASE - dialog
cond_is(i,c)
PREDICATES
start
AversTraid
check(li)
test_cond(i)
update
add_cond(li)
print_cond(i,li,li)
read_cond(c,li,li)
ex_cond(i,li,li,i)
wr_cond(c,i,li,li)
new_cond(i,li,li)
read_true_char(c)
test(c,c)
CLAUSES
start:-
consult("Avers.ddb",knowledge),
write("Давайте подберем вам компьютер"),nl,
AversTraid,
retractall(_,dialog),
retractall(_,knowledge),
nl,nl,write("Что_то еще? (1 - Да , 2 - Нет)"),
read_true_char(C),
C='1',!,start.
start:-
nl,nl,write("Спасибо что посетили магазин Аверс:)"),
readchar(_).
AversTraid:-
rule(X,L),
check(L),
nl,write("Я думаю вам подойдет",X),
nl,write("Вам нравится? (1 Да, 2 - Нет)"),
read_true_char(C),C='1',!.
AversTraid:-
nl,write("Такого нет в базе"),nl,
nl,write("Но мы можем добавить,а после сделать конфигурацию на заказ"),nl,
update.
update:-
nl,write("Введите кодовое названия компьютера :"),
readln(S),
add_cond(L),
assert(rule(S,L),knowledge),
save("Avers.ddb",knowledge) .
add_cond(L):-
cond_is(_,'1'),!,
nl,write("Какие в нем комплектующие: "),
print_cond(1,[],L1),
nl,write("Будут ли еще комплетующие? (1 - DA, 2 - HET)"),
read_true_char(C),
read_cond(C,L1,L).
add_cond(L):-
read_cond('1',[],L).
print_cond(H,L,L):-
not(cond(H,_)),!.
print_cond(H,L,L1):-
cond_is(H,'1'),!,
cond(H,T),
H1=H+1,
nl,write(T),
print_cond(H1,[H|L],L1). /**/
print_cond(H,L,L1):-
H1=H+1,
print_cond(H1,L,L1).
read_cond('1',L,L2):-
ex_cond(1,L,L1,N),
new_cond(N,L1,L2),!.
read_cond(_,L,L):-!.
ex_cond(N,L,L,N):-
not(cond(N,_)),!.
ex_cond(N,L,L1,N2):-
cond_is(N,_),!,
N1=N+1,
ex_cond(N1,L,L1,N2).
ex_cond(N,L,L1,N2):-
cond(N,S),
nl,write("Мне кажется вам подойдет ",S,"? (1 Да , 2 - Нет)"),
read_true_char(A),
wr_cond(A,N,L,L2),
N1=N+1,
ex_cond(N1,L2,L1,N2).
wr_cond('1',N,L,[N|L]):-!. /**/
wr_cond('2',_,L,L):-!.
new_cond(N,L,L1):-
nl,write("Еще комплектующие? (1 - Да , 2 - Нет)"),
read_true_char(A),
A='1',!,
nl,write("Давайте добавим новую деталь"),
nl,write("Введите название целиком"), readln(S),
assertz(cond(N,S)),
N1=N+1,
new_cond(N1,[N|L],L1)./**/
new_cond(_,L,L).
check([H|T]):-
test_cond(H),
check(T).
check([]).
test_cond(H):-
cond_is(H,'1'),!.
test_cond(H):-
cond_is(H,'2'),!,
fail.
test_cond(H):-
cond(H,S),
nl,write("Может это? ",S,"? (1 - Да, 2 - Нет)"),
read_true_char(A),
assert(cond_is(H,A)),
test_cond(H).
read_true_char(C):-
readchar(C1),
test(C1,C).
test(C,C):-
'1'<=C,C<='2',!.
test(_,C):-
write("Для продолжения нажмите 1 или 2!"),nl,
readchar(C1),
test(C1,C).
GOAL
start