Докладчики : Докшин П. А Шитро А. О 1. Язык быстрой разработки надёжных, кратких и корректных программ Non- strict ( ленивый язык ) Чисто функциональный.

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



Advertisements
Похожие презентации
Обзор языка HASKELL. Основные идеи. Параллелизм в HASKELL Преподаватель: Мееров И.Б. Выполнили студенты: Панина К. Соломин С.
Advertisements

Кафедра ЮНЕСКО по НИТ1 Производные типы данных Параллельное программирование.
ParaCon Система параллельного программирования на основе типовых алгоритмических структур Истомин Тимофей Научный руководитель: д.ф-м.н. Берзигияров П.К.
Отложенные вычисления и потоки Денис С. Мигинский.
Python как инструмент Data Mining Лекция 4.4 Инструменты Data Mining Зырянов Александр Олегович.
Язык функционального программирования Haskell Выполнила: Шатохина Е.В. ПИБ-41.
Процедуры и функции. Разработал учитель информатики МБОУ СОШ 50 г. Краснодара Ракута Елизавета Григорьевна « Учиться и, когда придет время, прикладывать.
Тестирование ПО. Пример серии тестов Программа для складывания двух двузначных чисел Первый тест 2+3 Известно ли вам, что это за программа? Как с ней.
Ассоциативные списки Поиск данных происходит не по индексу или положению объекта, а по его ассоциативной связи: public interface Map { // Доступ к объектам.
Языки и методы программирования Преподаватель – доцент каф. ИТиМПИ Кузнецова Е.М. Лекция 7.
1 Язык сети Петри Алфавит Σ– конечное множество символов. Строка – любая последовательность символов конечной длины из символов алфавита Пустая строка.
ДРУГИЕ ФОРМЫ РЕКУРСИИ I Функциональноепрограммирование Григорьева И.В.
ЛАБОРАТОРНАЯ РАБОТА 1 ПРОЕКТИРОВАНИЕ И РЕАЛИЗАЦИЯ ТАБЛИЦ, ИСПОЛЬЗУЕМЫХ В ТРАНСЛЯТОРЕ Рейн Т. С.
Проект системы Руководитель: Зюзьков В.М. Участники: Швецова Е.А. Никонова М.А. Собор Е.В.
ФГОБУ ВПО "СибГУТИ" Кафедра вычислительных систем Алгоритмы поиска Преподаватель: Доцент Кафедры ВС, к.т.н. Поляков Артем Юрьевич © Кафедра вычислительных.
Строки. Функции для работы со строками. Величины значением которых является последовательность символов называются текстовыми величинами или строками.
Списки в языке Пролог. Определение Список упорядоченное множество объектов одинакового типа. Формально это определение соответствует определению массива.
Что такое программирование? Совокупность процессов, связанных с разработкой программ и их реализацией. В широком смысле к указанным процессам относят все.
Технология MVC в высоконагруженных проектах Андрей Шетухин Илья Космодемьянский.
СТРОКИ В ПАСКАЛЕ. Строкой в Паскале называется последовательность из определенного количества символов. Количество символов последовательности называется.
Транксрипт:

Докладчики : Докшин П. А Шитро А. О 1

Язык быстрой разработки надёжных, кратких и корректных программ Non- strict ( ленивый язык ) Чисто функциональный Содержит простой и логичных механизм перегрузки функций 2

Имеются средства взаимодействия с кодом на других языках программирования Есть встроенная поддержка многозадачного и параллельного программирования Развитый инструментарий Наличие большого количества библиотек с открытым исходным кодом 3

Написание модуля для реализации операций с последовательностями Модуль должен содержать следующие функции : lastSeqinitialSeqlenSeq headSeqtailSeqconSeq appSeqrevSeqfilterSeq mapSeqlistToSeqseqToList Тестирование модуля 4

5 Модуль для последовательностей tailSeq conSeq appSeq seqToList listToSeq mapSeq headSeq lastSeq filterSeq revSeq initialSeq lenSeq

Функция lenSeq ­– возвращает длину последовательности Функция headSeq – для непустой последовательности Seq возвращает ее голову ( самый левый элемент ) Функция tailSeq – для непустой последовательности Seq возвращает последовательность без первого элемента ; 6

Функция conSeq x xs, conSeq :: a –> Seq a –> Seq a, – возвращает последовательность, где первым элементом является x и хвостом xs Функция appSeq xs ys, appSeq :: Seq a –> Seq a –> Seq a, – соединение двух последовательностей Функция revSeq :: Seq a –> Seq a, – обращение последовательности ( аналог reverse); 7

Функция seqToList – преобразования из последовательности списка Функция listToSeq - преобразования из списка последовательности Функция filterSeq – фильтрация последовательности 8

Функция initialSeq - возвращает начальную последовательность Функция lastSeq - возвращает последний элемент Функция mapSeq - аналог функции map 9

10

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

12

В результате работы над данным модулем были получены начальные знания языка функционального программирования Haskell 13

1. Саймон Пейтом Джонс « Язык и библиотеки Haskell 98» 2. S.P.Jons, P. Wadler «A static semantics for Haskell» 1991 г. 3. Зюзьков В. М. « Ленивое функциональное программирование » 2004 г. 4. Mark P. Jons, John C. Peterson «Hugs 98» 14

Докладчики : Докшин П. А Шитро А. О 15