Главная » Просмотр файлов » globalf5-240972240972

globalf5-240972240972 (850810)

Файл №850810 globalf5-240972240972 (Основы функционального программирования)globalf5-240972240972 (850810)2025-05-22СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла

Л.В. ГородняяОсновыпрограммированияфункционального2-е издание, исправленноеГородняя Л.В.Национальный Открытый Университет "ИНТУИТ"20162Л.В. ГородняяОсновы функционального программированияОсновы функционального программирования/ Л.В. Городняя - М.: НациональныйОткрытый Университет "ИНТУИТ", 2016В курсе изложены основы функционального программирования и методы егоприменения при решении сложных задач на стыке искусственного интеллекта исистемного программирования.Студенты познакомятся с основами символьной обработки информации, слабоотраженными в отечественной литературе, а также с эффективными методамипреобразования информации, реализация которых требует многоуровневогообобщения и абстрагирования, что наиболее естественно выражается в терминахфункциональногопрограммирования.Функциональноепрограммированиезарекомендовало себя как гибкая методика с практически неограниченнымивозможностями информационного моделирования, способствующего решению задачисследовательского и технического характера, актуальность которых резко возрастает.Традиционные средства слишком нацелены на кодирование битов-байтов, тогда какосновная работа переместилась на более крупные формирования, такие как системыфайлов, маршрутизация, многоканальный обмен, многопроцессорные комплексы,многоуровневые протоколы и т.п.

Переход к результативной обработке столь сложноустроенных данных требует более глубокого абстрагирования, что может бытьизучено прототипированием в функциональном стиле.Техника функциональногопрограммирования иллюстрируется на языке Лисп, послужившем основой широкогоспектра исследований и прикладных разработок, оказавших существенное влияние нарасширение и распространение компьютерных и информационных технологий, посуществу являющихся ключевыми для анализа и формирования многих сфердеятельности. Изучение языка Лисп является важной составляющей образования вобласти информатики еще и по той причине, что в настоящее время происходит ростпопулярности скриптовых, интерпретируемых языков, для понимания которыхзнакомство с Лиспом и функциональным программированием весьма полезно.

Лисптакже представляет собой ключ и базовую модель для изучения основных задачсистемного программирования и искусственного интеллекта. Именно определениеЛиспа и раскрутку системы программирования на его основе следует рассматриватькак первый полномасштабный эксперимент в области применения функциональногопрограммирования для решения весьма сложной задачи: организацииинструментальной поддержки для исследования и разработки нового класса задачинформационной обработки с высоким уровнем новизны.При отладке примеровиспользован GNU Clisp.Курс предназначен для студентов, интересующихсяперспективами информационных технологий и предпочитающих понимать задачи, скоторыми приходится сталкиваться в разных областях применения информационныхсистем.(c) ООО "ИНТУИТ.РУ", 2004-2016(c) Городняя Л.В., 2004-20163Л.В. ГородняяОсновы функционального программированияОсновные идеиВ этой лекции дается общее представление о функциональномпрограммировании и сфере его применения, включая анализ основныхпонятий и принципов и их иллюстрацию на материале истории языкаЛисп, его диалектов, наследников и реализаций.

Рассматривается рольфункциональных программ в жизненном цикле программногообеспечения и эволюции информационных технологий, а такжеперспективы функционального подхода к совершенствованиюинформационных систем.Общеепредставлениеофункциональномпрограммировании и его примененииИдея функционального программирования опирается на интуитивноепонятие о функциях как о достаточно общем механизме представленияи анализа решений сложных задач. Механизм функций основательноизучен математиками, и это позволяет программистам наследоватьвыверенныепостроения,обладающиепредельновысокоймоделирующейсилой[1].Систематическоеприменениефункционального программирования впервые достаточно ярко былопродемонстрировано Джоном Маккарти и его учениками в методахреализации языка Лисп и программирования на этом языке.

Наиболееочевидные из этих методов были успешно ассимилированы другимиязыками и системами программирования. Обычно про функциональноепрограммирование вспоминают при смене технологий, когда возрастаетроль аналитики и исследовательских задач. В настоящее время частоупотребляют термин "функциональность" при сравнительнойхарактеристике информационных систем, что, видимо, свидетельствуето проявлении новой метрики, заслуживающей отдельногорассмотрения [2].Функциональный стиль объединяет разные подходы к определениюпроцессов вычисления на основе достаточно строгих абстрактныхпонятий и методов символьной обработки данных. Связьфункционального программирования с математическими основамипозволяет в тексте программы наследовать доказательность построениярезультата, если она достигнута, причем с использованием разных4Л.В.

ГородняяОсновы функционального программированияметодов абстрагирования решаемой задачи [2] [3].Сложность решения задач с помощью функциональных определенийпреодолевается чисто алгебраически: нацеленностью на формализациюосновного множества объектов и определения полной семантическойсистемы операций над ними. Это позволяет представлять классы задачи их решений строгими формулами, для наглядности упрощаемымивведением дополнительных функциональных символов. Принеобходимости такие символы вносятся в опpеделение алгебраическойсистемы, что приводит к ее расширению.

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

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

Это позволяет5Л.В. ГородняяОсновы функционального программированиянезависимо рассматривать один еще более общий уровень —аппликативные системы, в которые можно включать любые символы сопределенным смыслом. Поведение такой системы будет обусловленонабором включенных в нее символов.Основная трудность перехода к функциональному программированию— соблазн легкого пути, т.е. стремление быстро смоделироватьпривычные средства и методы программирования. Более надежныйпуть — исследовать функциональное программирование какнезнакомый мир.

Идеи функционального программирования легчевоспринять как самостоятельную теорию или интеллектуальную игру,которая новыми путями непременно приведет к знакомым иинтересным задачам, но обеспечит преимущество — изящные решенияи глубину понимания.Джон Маккарти предложил проект языка Лисп (LISP - LISt Processing) вкачестве средства исследования границ применимости компьютеров, вчастности, методом решения задач искусственного интеллекта. Идеиэтого языка вызвали не утихающие по сей день дискуссии оприоритетах в программировании и сущности программирования.Лисп послужил эффективным инструментом экспериментальнойподдержки теории программирования и развития сферы егоприменения.

Рост интереса к Лиспу коррелирует с улучшениемэлементной базы, повышением эксплуатационных характеристикоборудования и появлением новых сфер применения ИТ.Существует и активно применяется более трехсот диалектов Лиспа иродственных ему языков: Interlisp, muLisp, Clisp, Scheme, ML, Cmucl, Logo,Hope, Sisal, Haskell, Miranda и др.МатематическиепрограммированияосновыфункциональногоСформулированная Джоном Маккаpти (1958) концепция символьнойобработки информации компьютером восходит к идеям Черча и другихматематиков, известным как лямбда-исчисление с конца 20-х годовпрошлого века. Выбирая лямбда-исчисление как теоретическую модель,Маккарти предложил рассматривать функции как общее базовое6Л.В. ГородняяОсновы функционального программированияпонятие, к которому достаточно естественно могут быть сведены вседругие понятия, возникающие при программировании [1].Такое сведение вовсе не означает, что все понятия сваливаются в однукучу, что исчезают границы между понятиями. Сведение выполненотак, что при сохранении всех понятийных границ выстроено болееобщее пространство, в рамках которого эти понятия упорядочены имогут взаимодействовать согласно формальным определениям.Управлениеобработкойинформациивлямбда-исчисленииосуществляется в рамках иерархии свободных и связанных переменных,реализуемых с помощью таблицы соответствия символов и ихтолкования.

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

Характеристики

Тип файла
PDF-файл
Размер
994,97 Kb
Тип материала
Высшее учебное заведение

Тип файла PDF

PDF-формат наиболее широко используется для просмотра любого типа файлов на любом устройстве. В него можно сохранить документ, таблицы, презентацию, текст, чертежи, вычисления, графики и всё остальное, что можно показать на экране любого устройства. Именно его лучше всего использовать для печати.

Например, если Вам нужно распечатать чертёж из автокада, Вы сохраните чертёж на флешку, но будет ли автокад в пункте печати? А если будет, то нужная версия с нужными библиотеками? Именно для этого и нужен формат PDF - в нём точно будет показано верно вне зависимости от того, в какой программе создали PDF-файл и есть ли нужная программа для его просмотра.

Список файлов учебной работы

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
7045
Авторов
на СтудИзбе
259
Средний доход
с одного платного файла
Обучение Подробнее