Основные понятия Пролога Лекция 3. Предикаты ::= | ( [, ]*)

Презентация:



Advertisements
Похожие презентации
Управление выполнением программы на Прологе Лекция 6.
Advertisements

Программирование на языке Паскаль Тема 2. Ветвления.
PASCAL Условный оператор.. Этот оператор используется для выполнения одного из двух возможных вариантов программы. Условный оператор если логическое_условие.
Тест по информатике Разветвляющиеся алгоритмы. Условный оператор 9 класс.
Дети о мамах.
АЛГОРИТМ ЕВКЛИДА (нахождение наибольшего общего делителя (НОД) двух натуральных чисел)
Выбор действий в Бейсике (ветвление). Задача: найти максимальное число из двух чисел. Словесная форма записи: Алгоритм MAX Начало 1. Запросить числа A,
Задача 1. Какое значение будет иметь n в результате выполнения следующего фрагмента алгоритма? n:=5 m:=17 если nm то n:=n*m иначе n:=n-m все.
Программирование на языке Паскаль Тема 2. Ветвления 1.
Часть первая. Часть вторая. Часть третья.
Лекции 8-9
Основы алгоритмизации и программирования Лекция 2. А.Ф.ОСЬКИН ПГУ, Полоцк.
Семья - ______________________________________ Я ХОЧУ, чтобы МОЯ БУДУЩАЯ СЕМЬЯ БЫЛА____________________________ _____________________________________________________.
Форми представлення алгоритмів. Базові фрагменти схеми алгоритму.
Операторы ветвления (перехода) Разработала учитель Веревкина В.Н.
Устный счет Язык программирования Pascal ABC Условные операторы.
Оператор условного перехода Условный оператор if if then else ; Если истинно, то выполняется, в противном случае -. Перед else не должно быть точки с запятой.
Условный оператор Информатика и ИКТ 9 класс Гимназия 1 г. Новокуйбышевска Учитель информатики: Красакова О.Н.
ВЕТВЯЩАЯСЯ АЛГОРИТМИЧЕСКАЯ КОНСТРУКЦИЯ. Краткая форма оператора if (условие) then (оператор 1); (оператор 2); (оператор 3); …………….. (оператор N); Если.
Программирование ветвлений на Паскале МОУ СОШ 2 городского округа город Буй Костромской области Учитель Щур А.Н.
Транксрипт:

Основные понятия Пролога Лекция 3

Предикаты ::= | ( [, ]*)

Правила бабушка(X,Y):- мама(X,Z),мама(Z,Y). бабушка(X,Y):- мама(X,Z),папа(Z,Y).

Вычисление цели мама("Наташа","Даша"). мама("Даша","Маша"). goal %мама("Наташа","Даша"). %мама("Наташа","Маша"). %мама(X, "Даша"). %мама("Наташа",X). %мама(X,Y). %мама(X,_). %мама(_,_).

Вычисление цели бабушка(X,Y):- мама(X,Z), мама(Z,Y). goal бабушка("Наташа",X).

Нахождение максимума из двух чисел max(X,Y,X):- X>Y. /* если первое число больше второго, то первое число - максимум */ max(X,Y,Y):- X

Нахождение максимума из двух чисел - 2 max(X,Y,X):- X>Y. /* если первое число больше второго, то первое число - максимум */ max(X,Y,Y):- X

Нахождение максимума из двух чисел (отсечение) max2(X,Y,X):- X>Y,!./* если первое число больше второго, то первое число - максимум */ max2(_,Y,Y). /* в противном случае максимумом будет второе число */

Условия S:-,!,P. S :- P2. if then P else P2

Нахождение максимума из трех чисел max3a(X,Y,Z,X):- X>=Y,X>=Z. /* если первое число больше или равно второму и третьему, то первое число - максимум */ max3a(X,Y,Z,Y):- Y>=X,Y>=Z. /* если второе число больше или равно первому и третьему, то второе число является максимумом */ max3a(X,Y,Z,Z):- Z>=X,Z>=Y. /* если третье число больше или равно первому и второму, то максимум - это третье число */

Нахождение максимума из трех чисел (отсечение) max3b(X,Y,Z,X):- X>Y,X>Z,!. /* если первое число больше второго и третьего, то первое число - максимум */ max3b(_,Y,Z,Y):- Y>=Z,!. /* иначе, если второе число больше третьего, то второе число является максимумом */ max3b(_,_,Z,Z). /* иначе максимум - это третье число */

Нахождение максимума из трех чисел (с помощью max2) max3(X,Y,Z,M):- max2(X,Y,XY), /* XY - максимум из X и Y */ max2(XY,Z,M). /* M - максимум из XY и Z */