87732

ПРОГРАММИРОВАНИЕ В СРЕДЕ VISUAL PROLOG

Лабораторная работа

Информатика, кибернетика и программирование

Написать программу, которая составляет меню в виде первого, второго и третьего блюда. При этом задать наименования первых, вторых и третьих блюд и их стоимости. В качестве входных данных использовать наличную сумму денег.

Русский

2015-04-22

66.4 KB

0 чел.

Отчёт по лабораторной работе №1

«ПРОГРАММИРОВАНИЕ В СРЕДЕ VISUAL PROLOG»

1.Цель работы:

  1.  ОСНОВЫ СОЗДАНИЯ И ВЫПОЛНЕНИЯ ПРОГРАММ В VISUAL PROLOG
  2.  РАЗРАБОТКА ЛОГИЧЕСКИХ ПРОГРАММ

2.Задание

Написать программу, которая составляет меню в виде первого, второго и третьего блюда. При этом задать наименования первых, вторых и третьих блюд и их стоимости. В качестве входных данных использовать наличную сумму денег.

3.Ход работы

Для решения этой задачи нужно составить  логическое уравнение.

Стоимость трёх блюд не должна быть больше введённой суммы.

Обозначим стоимости блюд и суммы как S1,S2,S3 и S.

Выражение для условий задачи: Если S1+S2+S3<=S то вывести меню.

Введем предикаты 

first(string,integer),second(string,integer),  third(string,integer),

которые устанавливают значение переменных P и S1,V и S2,T и S3.

Введем значения переменных для предикатов.

Для first(P,S1) - first(160, "Borsch"), first(150, "Harcho").

Для second(V,S2)- second(200, "Kotleta"), second(120, "Kartoshka").

Для third(T,S3)- third(100,"Cofee"), third(50,"Tea"), third(30,"Kompot").

Составим предикат:

rest(S,P,V,T):- first(S1,P),

second(S2,V),

third(S3,T),

S1+S2+S3<=S,

write("Summ=",S,"\nFor this summ you can get:","\nFirst=",P,"\nSecond=",V,"\nThird=",T) readchar(_).

Работа программы:

В секции predicates объявляются предикаты и их аргументы

В секции GOAL объявляются  предикаты, представляющие всю программу как таковую. Они выполняются в порядке очерёдности. Система ищет определение этих предикатов в разделе CLAUSES.

В секции CLAUSES имеется определение предиката rest(S,P,V,T)

Первым выполняется предикат first(S1, P).

В определении переменных S1,S2,S3 имеется по три  альтернативы. Процесс выбора одной из альтернатив называется ветвлением.  Всегда выбирается первая по порядку из числа неисследованных альтернатив. В момент выбора первой альтернативы имеется два предиката: первый из них – это предикат first (S1, P), который система пытается доказать; и второй  first (160, "Borsch"), который система берет из определения. Система сопоставляет эти два предиката и пытается согласовать их аргументы. Согласование аргументов называется унификацией. При унификации аргументы предикатов сопоставляются в порядке их расположения. У предиката first два аргумента. У доказываемого – это переменные P,S1, у взятого из определения  это 160, "Borsch". Таким образом, выполняется привязка аргумента P к аргументу "Borsch", а S1 к 160. Процесс переходит на предикат second, для которого действия выполняются по аналогии и далее. Проверяется условие S1+S2+S3<=S.

Если проверка условия заканчивается неудачей, в действие вступает механизм ветвление-возврат. Система возвращается в точку последнего ветвления, т.е. к предикату third. Для предиката third(S3, T) подставляются другие значения. Если проверка условия заканчивается неудачей и значения для предиката third(S3, T) закончились, система возвращается в точку предпоследнего ветвления, т.е. к предикату second(S2, V). Если проверка условия заканчивается неудачей и значения для предиката second(S2, V) закончились, система возвращается к предикату first(S1, P) и подставляет другие значения.

Листинг:

predicates

nondeterm        rest(integer,string,string,string)

nondeterm        first(integer,string)

nondeterm        second(integer,string)

nondeterm      third(integer,string)

           

                             goal

                       write("Input summa:"), readint(S), rest(S,P,V,T).

            clauses

                  

               rest(S,P,V,T):- first(S1,P),

                               second(S2,V),

                               third(S3,T),

                               

                               

                               S>=S1+S2+S3,

                               

                      write("Summ=",S,"\nFor this summ you can get:","\nFirst=",P,"\nSecond=",V,"\nThird=",T),  readchar(_).

first(160, "Borsch").

first(150, "Harcho").

second(200, "Kotleta").

second(120, "Kartoshka").

third(100,"Cofee").

third(50,"Tea").

third(30,"Kompot").

Вывод:

Мы рассмотрели простейшую структуру программы, ее составные части и описали процесс выполнения логической программы. При этом мы выяснили, в чем состоят логические механизмы ветвления, возврата и унификации.


 

А также другие работы, которые могут Вас заинтересовать

34364. Основы биотехнологии 27 KB
  Микроорганизмы характеризуются разнообразными физиологическими и биохимическими свойствами. Микроорганизмы широко распространены в природе в грамме почвы их может содержаться до 3 млрд. Существуют микроорганизмы способные усваивать азот синтезировать белок и др. Микроорганизмы играют важную роль в круговороте веществ в природе.
34365. Основные сведения о технологии и ее отраслях 26.5 KB
  в связи с развитием крупной машинной промышленности. Задача курса технологии состоит в изучении и выборе оптимальных видов технологических процессов сырья энергии топлива в определении эффективных направлений научнотехнического прогресса в промышленности. Современное развитие промышленности идет по пути увеличения масштабов производства совершенствования технического оснащения существующих предприятий возникновения новых технологических процессов. Для развития промышленности сегодняшнего дня характерны тенденции: Быстрый рост числа...
34366. Анализ разновидностей технологий и их характеристика 23.5 KB
  Наиболее распространенная классификация технологии по видам потребительских стоимостей. Машины выполняют функции посредников размещенного между человеком исполнителем технологии и предметом труда. В рамках производственного процесса выделяют базовые или основные технологии совокупность которых традиционно называют технологией производства и вспомогательные которые традиционно называют экономикой производства. Вспомогательные технологии призваны обслуживать базовые.
34367. Взаимосвязь технологии с экономикой и другими науками 24.5 KB
  Все факторы влияющие на рост производительных сил человека: искусность и квалификация эффективность и оснащенность производства прогресс науки как производительной силы все это прямо или косвенно находит свое воплощение в технических средствах труда. По мере исторического развития процесса труда происходит обогащение производительных сил новыми моментами и новыми производительными силами носящими общественный характер. Технологические отношения охватывают отношения между человеком средствами труда и предметом труда в производственном...
34368. Производственные системы и производственные процессы 25 KB
  Производственные системы и производственные процессы. Так даже для получения сельскохозяйственных продуктов основа природные процессы произрастания необходимо создавать производственные системы. Производственные системы включают все необходимое для производства продукции: 1. Примером производственной системы в материальном производстве являются: завод фабрика организация колхоз и т.
34369. Критерии оценки экономической эффективности пр-ва 23.5 KB
  Показатель экономической эффективности технго процесса должен учитывать все виды затрат. Себестоимость это совокупность материальных и трудовых затрат предприятия на изготовление и реализацию продукции выраженных в денежной форе. Различают основные затраты непосредственно связанные с процессом прва расходы на основные материалы технологическое топливо энергию покупные полуфабрикаты зарплату основных рабочих и расходы связанные с обслуживанием процесса и управлением. В зависимости от доли отдельных элементов затрат в себестоимости...
34370. Оптимизация и экономическая оценка технологических процессов 23 KB
  Другими словами можно определить что расходные коэффициенты – это затраты на единицу продукции с учетом качества потребляемого сырья и стоимости. Эти затраты связаны с увеличением степени чистоты используемого сырья. характеризует сколько может получится целевого продукта с единицы сырья. К= m сырья m целевого продукта C1 C2 = Пц Пп В технологических процессах используется несколько видов сырья.
34371. Понятие технологического процесса, основные его параметры и характеристики 30 KB
  Производственный процесс это совокупность всех действий людей и орудий труда необходимых для изготовления или ремонта продукции. Технологический процесс это основная часть производственного процесса направленная на получения из сырья готовой продукции. Экономические: производительность выпускаемой продукции П = Q t кГ ч т ч; где Q количество произведенной продукции кГ т шт. 100 где Qф фактическое количество произведенной продукции кГ т шт.
34372. Динамика произв. затрат при развитии технол. процесса 55 KB
  Прошлого овеществленного труда Тп включающего в себя все затраты труда связанные с получением исходного для данной технологии продукта а также затраты на орудия труда используемые в анализируемом технологическом процессе; 2. Живого труда Тж включающего все затраты человеческого труда предусмотренные в анализируемом технологическом процессе на выпуск готовой продукции. Общие удельные затраты на единицу продукции представляющие собой сумму прошлого и живого труда Тс = Тп Тж min являются наиболее обобщенными технологическими...