АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОЙ РАБОТЫ. 2. Подсчитать сумму ряда целых четных чисел от 2 до N

Читайте также:
  1. B) суммарное количество выполненной работы
  2. CРЕДА, ДЕНЬ ЗАДАНИЯ
  3. I. Общие работы по теории культуры
  4. I. Организация выполнения выпускной квалификационной работы
  5. II проверка домашнего задания
  6. II. Задание для самостоятельной подготовки
  7. II. Организация работы Комиссии по повышению квалификации и в целом всей деятельности по повышению квалификации
  8. II. ПЕРЕЧЕНЬ ЗАДАНИЙ ДЛЯ ВЫПОЛНЕНИЯ РАБОТЫ
  9. II. Порядок подготовки, защиты и оценки квалификационной работы
  10. II. Работы учеников Уильяма Джеймса: Дж. Дьюи, С. Холла, Дж. Кэттела, Э. Торндайка
  11. II. Рекомендации по оформлению контрольной работы.
  12. II. Требования охраны труда перед началом работы.

1. Вычислить сумму 1+2+3+…+N.

2. Подсчитать сумму ряда целых четных чисел от 2 до N.

3. Вычислить сумму ряда целых нечетных чисел от 1 до n.

4. Найти значение произведения: 2*4*6*...*26

5. Найти значение произведения: 1*3*5*...*11

6. Вычислить значение n-го члена ряда Фибоначчи: f(0)=0, f(1)=1,
f(n)=f(n-1)+f(n-2).

7. Используя базу данных и правило предок из примера 2 составить правило для определения всех потомков-мужчин.

8. Используя базу данных и правило предок из примера 2 составить правило для определения всех потомков-женщин.


Отчет о выполненной самостоятельной работе должен содержать:

1) тему лабораторной работы;

2) условие задачи;

3) листинг программы;

4) результаты ее тестирования.

Решение логических задач в ПРОЛОГе

ПРОЛОГ позволяет наиболее естественным образом решать логические задачи, моделируя процесс размышления человека с помощью правил.

Многие логические задачи связаны с рассмотрением нескольких конечных множеств с одинаковым количеством элементов, между которыми устанавливается взаимно-однозначное соответствие. В ПРОЛОГе эти множества можно описывать как базы данных, а зависимости между объектами устанавливать с помощью правил.


Пример 1

В автомобильных гонках три первых места заняли Алеша, Петя и Коля. Какое место занял каждый из них, если Петя занял не второе и не третье место, а Коля - не третье?

Решение

Традиционным способом задача решается заполнением таблицы. По условию задачи Петя занял не второе и не третье место, а Коля - не третье. Это позволяет поставить символ '-' в соответствующих клетках.

 

Имя I место II место III место
Алеша      
Петя   - -
Коля     -

Между множеством имен участников гонки и множеством мест должно быть установлено взаимнооднозначное соответствие. Поэтому определяем занятое место сначала у Пети, затем у Коли и, наконец, у Алеши. В соответствующих клетках проставляем знак '+'. В каждой строке и каждом столбце должен быть только один такой знак.

 

Имя I место II место III место
Алеша - - +
Петя + - -
Коля - + -

Из последней таблицы следует, что Алеша занял третье место, Петя - первое, Коля - второе.

Программа на ПРОЛОГе будет выглядеть следующим образом:


PREDICATES

имя(string)

место(string)

соответствие(string,string)

решение(string,string,string,string,string,string)

CLAUSES

имя(алеша).

имя(петя).

имя(коля).

место(первое).

место(второе).

место(третье).

/* Устанавливаем взаимнооднозначное соответствие

между множеством имен и множеством мест, X - имя,Y - место */

/* Петя занял не второе и не третье место */

соответствие(X, Y):-имя(X), X=петя,

место(Y),not(Y=второе),

not(Y=третье).

/* Коля занял не третье место */

соответствие(X, Y):- имя(X), X=коля,

место(Y), not(Y=третье).

соответствие(X, Y):- имя(X), X=алеша, место(Y).

/* У всех ребят разные места */

решение(X1,Y1,X2,Y2,X3,Y3):-

X1=петя,соответствие(X1,Y1),

X2=коля,соответствие(X2,Y2),

X3=алеша,соответствие(X3,Y3),

Y1<>Y2, Y2<>Y3, Y1<>Y3.

GOAL

решение(X1,Y1,X2,Y2,X3,Y3), write(X1," - ",Y1),nl,

write(X2," - ",Y2),nl,write(X3," - ",Y3),nl.

Результат выполнения программы

петя - первое

коля - второе

алеша - третье

 

Пример 2

Наташа, Валя и Аня вышли на прогулку, причем туфли и платье каждой были или белого, или синего, или зеленого цвета. У Наташи были зеленые туфли, а Валя не любит белый цвет. Только у Ани платье и туфли были одного цвета. Определить цвет туфель и платья каждой из девочек, если у всех туфли и платья были разного цвета.

Решение

PREDICATES

имя(string)

туфли(string)


платье(string)

соот(string,string,string)

решение(string,string,string,string,string,string,

string,string,string)

CLAUSES

имя(наташа).

имя(валя).

имя(аня).

туфли(белый).

туфли(синий).

туфли(зеленый).

платье(белый).

платье(синий).

платье(зеленый).

% X – имя, Y – цвет туфель, Z – цвет платья

соот(X,Y,Z):-имя(X),туфли(Y),платье(Z),

X=наташа,Y=зеленый,Y<>Z.

соот(X,Y,Z):-имя(X),туфли(Y),платье(Z),

X=валя,not(Y=белый),

not(Z=белый), Y<>Z.

соот(X,Y,Z):-имя(X),туфли(Y),платье(Z),X=аня,Y=Z.

решение(X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3):-

X1=наташа,соот(X1,Y1,Z1),

X2=валя, соот(X2,Y2,Z2),

X3=аня, соот(X3,Y3,Z3),

Y1<>Y2, Y2<>Y3, Y1<>Y3,

Z1<>Z2, Z2<>Z3, Z1<>Z3.

GOAL

решение(X1,Y1,Z1,X2,Y2,Z2,X3,Y3,Z3),

write(X1," туфли- ",Y1," платье- ",Z1),nl,

write(X2," туфли- ",Y2," платье- ",Z2),nl,

write(X3," туфли- ",Y3," платье- ",Z3),nl.


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.007 сек.)