Студопедия — Список1 Список2 Конкретизация
Студопедия Главная Случайная страница Обратная связь

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

Список1 Список2 Конкретизация






[X, Y, Z] [джону,нравится,рыба] X=джону Y= нравится Z = рыба
7) Строго функциональный язык. Элементарные понятия. Символьные данные: лямбда-выражения и представление данных.


К строгим языкам
относят те, которые не поддерживают отложенные вычисления, то есть аргументы функции вычисляются заранее до вызова.
Haskell - пример нестрогого языка.
"ПРОграммирование на языке ЛОГики". На самом деле Пролог не является чистым языком логического программирования.
Атом - это повествовательное предложение, которое может быть истинно или ложно. Атом рассматривают, как единое целое, его структуру и состав не анализируют. Например, "Иванов работает на заводе”
Константа - символ, обозначающий индивидуальный объект или понятие.

Переменная - это символ, используемый в разное время для обозначения различных объектов. Для определения области действия переменных используются кванторы.

Термы рекурсивно определяются следующим образом:

1.константа есть терм;

2.переменная есть терм;

Предикатный символ P (предикатная буква) используется для представления отношений между объектами в некоторой области. Если предикатный символ P имеет n аргументов, то P называется n-местным предикатным символом.

Предикат - это логическая функция, принимающая только два значения - "истина" или "ложь". Предикаты являются атомарными формулами или атомами логики предикатов первого порядка.

 

Лямбда выражения — Это выражение, составленное из переменных, объединенных операциями применения и абстракции.

Способы представления данных в языке Пролог

* Базы данных в Прологе - (БД) понимается совокупность фактов.

Если набор фактов задается на этапе разработки программы и не изменяется во время работы, то база данных является статической. Справочной информации. Все предикаты, описанные в разделе predicates, относятся к статической БД.

Динамические БД позволяют отражать изменения данных. Все предикаты, описанные в разделе database, относятся к динамической БД.

* Список как частный вид структуры - упорядоченная последовательность элементов, которая может иметь произвольную длину.

Признак упорядоченный указывает, что порядок элементов в посл-ти является существенным и список [1,2,3] не эквивалентен списку [3,2,1].

Элементы списка: термы - константы, переменные, структуры

Списки – это частный вид структуры(рекурсивной структурой данных.)

Список - это либо пустой список, не содержащий не одного элемента, либо структура, имеющая два компонента: голову и хвост. Конец списка представляется как хвост, который является пустым списком.


8) Рекурсивные функции: разбор случаев, рекурсивные определения, выбор подфункций (Haskell).

Рекурсия - это способ определять функции таким образом, что функция применяется в собственном определении. Многие понятия в математике даются рекурсивно.

Рекурсия важна для Хаскеля, потому что в отличие от императивных языков, вы выполняете вычисления в Хаскеле, описывая некоторое понятие, а не указывая как его получить. Вот почему в языке нет циклов while и for, вместо этого мы зачастую должны использовать рекурсию, чтобы описать, что собой представляет та или иная сущность.

Для начала реализуем функцию replicate. replicate берет целое число (Int) и некоторый элемент, и возвращает список, который содержит несколько повторений того же элемента. Например, replicate 3 5 вернет [5,5,5].

Функция reverse обращает список, выстраивая элементы в обратном порядке. Думаем о граничных условиях. Что бы придумать? Это... пустой список, конечно же! Если обратить пустой список, получим тот же пустой список. Так, так. Что на счет всего остального? Ну, можно сказать, что если разбить список на голову и хвост, то обращенный список - это обращенный хвост плюс голова списка в конце.

reverse':: [a] -> [a]

reverse' [] = []

reverse' (x:xs) = reverse' xs ++ [x]

Далее, мы реализуем take. Эта функция берет определенное количество элементов из списка. Например, take 3 [5,4,3,2,1] вернет [5,4,3]. Если мы попытаемся получить ноль или менее элементов из списка, получим пустой список.








Дата добавления: 2015-10-15; просмотров: 419. Нарушение авторских прав; Мы поможем в написании вашей работы!



Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...

Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...

Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ОСНОВНЫЕ ТИПЫ МОЗГА ПОЗВОНОЧНЫХ Ихтиопсидный тип мозга характерен для низших позвоночных - рыб и амфибий...

Принципы, критерии и методы оценки и аттестации персонала   Аттестация персонала является одной их важнейших функций управления персоналом...

Пункты решения командира взвода на организацию боя. уяснение полученной задачи; оценка обстановки; принятие решения; проведение рекогносцировки; отдача боевого приказа; организация взаимодействия...

Решение Постоянные издержки (FC) не зависят от изменения объёма производства, существуют постоянно...

ТРАНСПОРТНАЯ ИММОБИЛИЗАЦИЯ   Под транспортной иммобилизацией понимают мероприятия, направленные на обеспечение покоя в поврежденном участке тела и близлежащих к нему суставах на период перевозки пострадавшего в лечебное учреждение...

Кишечный шов (Ламбера, Альберта, Шмидена, Матешука) Кишечный шов– это способ соединения кишечной стенки. В основе кишечного шва лежит принцип футлярного строения кишечной стенки...

Studopedia.info - Студопедия - 2014-2024 год . (0.012 сек.) русская версия | украинская версия