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").

Вывод:

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


 

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

26078. Бухгалтерский и налоговый учет амортизации основных средств 39 KB
  Амортизационные отчисления это денежное выражение размера амортизации которое должно соответствовать степени износа основных фондов. Норма амортизации это установленный размер амортизационных отчислений за определенный период времени по конкретному виду основных средств выраженных как правило в процентах к балансовой стоимости. Объектами для начисления амортизации являются объекты основных средств находящиеся в организации на праве собственности хозяйственного ведения оперативного управления.
26079. Бюджетная система РФ‚ её структура и принципы функционирования 35.5 KB
  Согласно БК РФ все действующие на территории Российской Федерации бюджеты представляют в совокупности определенную систему которая называется бюджетной системой которая состоит из бюджетов трех уровней: первый уровень федеральный бюджет и бюджеты государственных внебюджетных фондов; второй уровень бюджеты субъектов Российской Федерации и бюджеты территориальных государственных внебюджетных фондов; третий уровень местные бюджеты ст. Правовая форма бюджетов всех уровней описывается в статье 11. Бюджет субъекта Российской Федерации и...
26080. Оформление результатов аудиторской проверки 49 KB
  В акте аудиторской проверки с достаточной подробностью и доказательностью однако без включения малосущественных деталей аудиторы сообщают клиенту о проделанной работе о ее основных направлениях и о том какие из этих направлений подвергнуты сплошной проверке а какие выборочной. Акт аудиторской проверки является строго конфиденциальным документом с содержанием которого аудиторы не вправе без согласия на это клиента знакомить третьих лиц за исключением случаев предусмотренных действующим законодательством выявление хищений...
26081. Горизонтальный, вертикальный и трендовый анализ баланса 28 KB
  Изменение удельного веса отдельных статей позволяет отслеживать и прогнозировать структурные изменения в составе активов и их источников покрытия. Анализ динамики валюты баланса структуры активов и пассивов организации позволяет сделать ряд важных выводов необходимых как для осуществления текущей финансовохозяйственной деятельности так и для принятия управленческих решений на перспективу. Исследование изменения структуры активов организации позволяет получить важную информацию. Так увеличение доли оборотных средств в имуществе может...
26082. Государственная поддержка малых форм хозяйствования в аграрном секторе 33 KB
  Малые формы хозяйствования на селе без поддержки государства и без собственного внутригруппового взаимодействия не всегда способны успешно противостоять в конкурентной борьбе крупному капиталу отстаивать свои экономические политические и социальные интересы поэтому формирование системы государственной поддержки малых форм хозяйствования на селе является одним из ключевых моментов в решении задач агропродовольственной политики. Главным принципом государственной поддержки малых форм хозяйствования является создание экономических и правовых...
26083. Государственное регулирование экономики: необходимость, сущность, объекты, цели, методы 31 KB
  Особая роль государства в развитии аграрной сферы объективно обусловлена рядом причин. Таким образом активная аграрная политика государства является необходимым условием нормального развития сельского хозяйства в любой стране. Из этой главной двуединой задачи государства в области сельского хозяйства вытекает целый ряд более конкретных задач которые также носят долговременный стратегический характер: содействие научнотехническому прогрессу и росту эффективности производства в сельском хозяйстве; поддержание эквивалентности в...
26084. Органы управления финансами в Российской Федерации 64.5 KB
  Депутаты обеих палат Федерального Собрания Российской Федерации рассматривающие и утверждающие проект закона о федеральном бюджете и отчете о его исполнении другие финансовые и связанные с ними законодательные акты правительственные программы могут обладая правом законодательной инициативы вносить на рассмотрение проекты финансовых законодательных актов поправки в действующее законодательство. Государственная Дума заслушивает отчет Правительства Российской Федерации об исполнении федерального бюджета. Государственная Дума и Совет...
26085. Структура государственных органов управления финансами в РФ 47 KB
  Именно эти органы принимают окончательное решение при утверждении федерального бюджета и отчета о его исполнении. На Министерство финансов возложены следующие задачи: 1 разработка и реализация единой государственной финансовой политики; 2 составление проекта и исполнение федерального бюджета; 3 осуществление финансового контроля за рациональным и целевым расходованием бюджетных средств и средств федеральных внебюджетных фондов; 4 обеспечение устойчивости государственных финансов и осуществление мер по развитию финансового рынка Основными...
26086. Порядок исчисления и уплаты ЕСХН 45.5 KB
  При определении объекта налогообложения налогоплательщики уменьшают полученные ими доходы на следующие расходы: 1 расходы на приобретение сооружение и изготовление основных средств а также на достройку дооборудование реконструкцию модернизацию и техническое перевооружение основных средств; 2 расходы на приобретение нематериальных активов создание нематериальных активов самим налогоплательщиком; 3 расходы на ремонт основных средств в том числе арендованных; 4 арендные в том числе лизинговые платежи за арендуемое в том числе...