Файл: Разработка приложения для подбора пк и комплектующих Avers Traid in.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 19.03.2024

Просмотров: 43

Скачиваний: 0

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.




Turbo prolog его возможности:

  • Работа с файлами .

  • Редактирование текста программы .

  • Запуск программы на счет .

  • Трансляция программы .

  • Заданий опций компилятора .

  • Настройка системы в соответствии с индивидуальными потребностями .

  • Пример работы программы

  • После начала программы нас встречает приветственное сообщение и первый выбор комплектующего.



  • После нажатия на да будут задаваться уточняющие вопросы, после чего будет выдан идеальный вариант для этого пользователя.Так же будет задан вопрос подходит ли пользователю товар.

  • Если выбрать Да, то будет дана возможность попробовать еще раз.Если же нет то будут заданы другие уточняющие вопросы которые выведут на новый товар.

.

  • Если же последующие предложения опять не удовлетворят пользователя будет предоставлена возможность внести новые данные в базу, после чего ему соберут ПК на заказ

.

  • После окончания всех манипуляций с программой появится сообщение прощания.



  • База данных используемая в ЭС.


Руководство для пользователя


1.Запуск программы осуществляется через операционную систему windows .

2. Первое сообщение при включении программы требует ответить на вопрос требуется ли комплектующая.

3. Второе и последующие всплывающие сообщения будут требовать выбрать комплектующий .

4.Проед последнее сообщение потребует ответить на вопрос "подходит ли вам данная конфигурация".

5.При ответе "-Нет" вас перенаправит на повторный опрос.

6.При ответе "-Да" вам будет предоставлена полная конфигурация персонального компьютера.


7.Если же в базе данных закончатся предложения или же ничего не подойдет, будут предложены варианты

  • Добавление комплектующего

  • Добовление своей конфигурации

Добавленные комплектующие или конфигурация будут заказаны и предоставлены позже.

Заключение



В ходе написания курсового проекта проведен анализ предметной области с моделированием её бизнес процессов, поставлена задача и спроектировано приложение для подбора комплектующих и конфигурации компьютера на языке программирования prolog.

Библиографический список


  1. Проектный практикум: учебное пособие / Н.Д. Амбросенко / Краснояр. гос. аграр. ун-т / Красноярск / изд-во ФГБОУ ВО Красноярский ГАУ / 2021 / 201 с. / 12,5 п.л.

  2. Проектный практикум: учебное пособие / Т. А. Череватова ; Российский государственный аграрный университет - МСХА имени К. А. Тимирязева (Москва). - Москва : Росинформагротех, 2018. - 188 с

  3. Моделирование бизнес-процесов с помощью IDEF0,DFD,BPMN за 7 дней / Миндалев И.В. , 2016. - 122 c.

  4. Логическое программирование/ http://elib.osu.ru/bitstream/123456789/8932/1/2216_20110907.pdf, 2020. - 1595 c.

  5. Turbo prolog / В. В. Терёхин2006. - 482 c.

  6. 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