87732

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

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

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

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

Русский

2015-04-22

66.4 KB

1 чел.

Отчёт по лабораторной работе №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").

Вывод:

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


 

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

52170. Население и политическая карта Северной Америки 121.5 KB
  Цель: дать характеристику населения Северной Америки численность неравномерность размещения по территории расовый состав и политической карты материка. Прерии Северной Америки расположены: а в Кордильерах; б на Великих и Центральных равнинах; в на побережье Атлантического океана; г на севере материка. Какие факторы нарушают зональность природы материка а морские течения; б рельеф; в изрезанность береговой линии. Кем и в каком году была открыта Америка Колонизация материка изменила состав населения.
52171. Географічне положення Північної Америки. Історія відкриття та освоєння материка 31 KB
  Історія відкриття та освоєння материка. Практична робота №8 продовження Мета: cформувати в учнів знання про основні риси географічного положення материка удосконалювати роботу з картами; розвивати пізнавальний інтерес вміння працювати в колективі аналізувати робити висновки; виховувати культуру спілкування самостійність розширювати кругозір дітей щодо історії відкриття та освоєння материка. Колумба план вивчення материка відео...
52172. Нові індустріальні країни Латинської Америки 667.5 KB
  Мета: узагальнення і систематизація знань по темі: Латинська Америка методом формування географічного мислення і творчих здібностей шляхом розвитку умінь самостійно працювати з географічним матеріалом; вирішення проблеми відторгнутих в класному колективі підвищення їх соціального статусу методом зацікавленості особи в участі в ігрових видах діяльності; виховання пізнавального інтересу пошани до народів інших країн самостійності і цивільної...
52173. Природні зони Північної Америки. Висотна поясність 1.25 MB
  Мета уроку: сформувати в учнів систему знань про особливості природних комплексів Північної Америки рослинний та тваринний світ кожної з природних зон; закріпити навички учнів складати характеристики природних зон; розвивати вміння працювати з додатковою пізнавальною літературою; удосконалити вміння учнів працювати з картографічним матеріалом; виховувати в учнів зацікавленість до вивчення природи різних материків світу. Обладнання: карта природних зон світу фізична карта Північної Америки атласи підручники картини тварин та рослин...
52174. Південна Америка 1.28 MB
  Обладнання: фізична карта Південної Америки атласи підручники комп'ютерна презентація інтерактивна дошка або проектор. Отже вирушаємо до Південної Америки. Подорож до Амазонії Настав час нашої подорожі до Південної Америки найбільшого материка планети що лежить у східній півкулі яку Гумбольдт назвав Новий Світ. Вологі екваторіальні ліси Південної Америки називають: пампа; сельва; гілея; льянос.
52175. Amazing America 389.5 KB
  Knowing that the earth was round he decided to reach India by sailing to the west. It was very difficult for him to organize an expedition as nobody wanted to help him. At last the Spanish king gave him some money. In the 1492 he sailed with 3 small ships in to the Atlantic Ocean. They had been sailing for more than 2 months and at last they saw land.
52177. An Exciting World of Science 2.4 MB
  Good morning, everybody! Today we are going to deal with great inventions and their inventors. I believe youll enjoy the subject of our todays lesson. Well talk about great inventions named after their creators. Well talk about computer, this wonderful invention of human talent. It opens the magic world of internet before us.
52178. Аналіз посібника для ДПА 2013 з української мови для 4 класів 81 KB
  Мета ДПА з української мови 2. мови мови навчання і посібника для навчальних закладів з російською мовою навчання 3. Зміни у посібнику з української мови мови навчання 2013 рр.