ВВЕДЕНИЕ 4
1 Анализ программного обеспечения и постановка задач 6
1.1 Язык программирования Пифагор 6
1.2 Библиотеки стандартных функций 8
1.2.1 Стандартные библиотеки в языке C++ 9
1.2.2 Библиотеки классов Java 10
1.2.3 Библиотеки классов Python 10
1.3 Анализ рассмотренных библиотек 11
1.4 Вывод 12
2 Стандартные библиотеки функций 13
2.1 Функции для работы со множествами 13
2.2 Функции для работы со строками 13
2.3 Математические функции 14
2.5 Описание функций стандартной библиотеки 14
2.5.1 Поиск индекса элемента 14
2.5.2 Замена элементов во множестве или строке 15
2.5.3 Пересечение двух множеств 15
2.5.4 Конкатенация строк и массивов 15
2.5.5 Поиск максимального и минимального элемента 15
2.5.6 Поиск индекса элемента 16
2.5.7 Вывод n символов слева 16
2.5.8 Вывод n символов справа 16
2.5.9 Декартово произведение двух множеств 16
2.5.10 Арифметическая прогрессия 16
2.5.11 Геометрическая прогрессия 16
2.5.12 Растояние между двумя точками 17
2.5.13 Деление отрезка в данном отношении 17
2.5.14 Последовательность Фибоначчи 17
2.5.15 Площадь поверхности сферы 17
2.5.16 Площадь цилинда 18
2.5.17 Объем пирамиды 18
2.5.18 Площадь круга 18
2.5.19 Площадь треугольника 18
2.5.20 Объем цилиндра 18
2.5.21 Площадь трапеции 19
2.5.22 Объем сферы 19 _2.6 Вывод 19
3 Разработка библиотеки стандартных функций 20
3.1 Функция поиска элемента массива 20
3.2 Функция вычисления n чисел Фибоначчи 23
3.3 Функция конкатенации строк или массивов 27
3.4 Вывод 29
ЗАКЛЮЧЕНИЕ 30
СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 31
ПРИЛОЖЕНИЕ
Существует несколько подходов к программированию, один из них - параллельный, при котором существует возможность исполнения несколько частей программы одновременно. Изначально параллельное программирование было делом только специалистов, которых волновали задачи для больших суперкомпьютеров. Теперь же, когда на многоядерных процессорах начали работать обычные приложения, параллельное программирование быстро становится технологией, которую должен освоить и уметь применять любой профессиональный разработчик ПО.
Для создания параллельных программ используются языки функционального программирования, в которых выполнение каждого оператора осуществляется по готовности его данных, что является очень удобным для решения различных вычислительных задач и задач, связанных с обработкой данных. Так же эти языки позволяют писать программы в независимости от архитектуры, под которую они разрабатываются, и лишь после отладки программ адаптировать их под конкретные устройства или архитектуры. В число таких языков входят Haskell и Пифагор.
Пифагор - функционально-потоковый язык программирования, предназначенный для разработки архитектурно-независимых параллельных программ. Название является сокращением фразы «Параллельный Информационно-Функциональный Алгоритмический» или «Parallel Informational and Functional AlGORithmic» [4]. Использование этого языка позволяет при разработке программ не учитывать ресурсные ограничения. Ресурсные ограничения учитываются на этапе выполнения, осуществляется сжатие параллелизма. Эта позволяет обеспечивает архитектурную независимость разрабатываемых программ. Однако в данном языке существует проблема с недостаточно полной библиотекой стандартных функций, что является минусом при разработке достаточно сложных программ.
Библиотека стандартных функций подразумевает собой файлы с набором уже готового программного кода, решаемого определенные задачи. Для использования этих библиотек необходимо указать эти файлы в заголовке программы и использовать вызов необходимых функций.
Из этого следует что необходимо изучить стандартные библиотеки в других языках программирования, доработать имеющую библиотеку языка Пифагор, проанализировав его, а также полностью описать созданные функции и привести примеры их использования.
Был рассмотрен и изучен функционально-потоковый язык программирования Пифагор, цель которого разработка архитектурно независимых параллельных программ. Также при изучении библиотек стандартных функций в различных языках программирования были выявлены основные категории, которые необходимо реализовать на языке Пифагор. Разработан комплект функций на языке Пифагор для пользования ими в дальнейшем разработчиками.