Скачать презентацию
Идет загрузка презентации. Пожалуйста, подождите
Презентация была опубликована 11 лет назад пользователемДиана Недоглядова
1 Докладчики : Докшин П. А Шитро А. О 1
2 Язык быстрой разработки надёжных, кратких и корректных программ Non- strict ( ленивый язык ) Чисто функциональный Содержит простой и логичных механизм перегрузки функций 2
3 Имеются средства взаимодействия с кодом на других языках программирования Есть встроенная поддержка многозадачного и параллельного программирования Развитый инструментарий Наличие большого количества библиотек с открытым исходным кодом 3
4 Написание модуля для реализации операций с последовательностями Модуль должен содержать следующие функции : lastSeqinitialSeqlenSeq headSeqtailSeqconSeq appSeqrevSeqfilterSeq mapSeqlistToSeqseqToList Тестирование модуля 4
5 5 Модуль для последовательностей tailSeq conSeq appSeq seqToList listToSeq mapSeq headSeq lastSeq filterSeq revSeq initialSeq lenSeq
6 Функция lenSeq – возвращает длину последовательности Функция headSeq – для непустой последовательности Seq возвращает ее голову ( самый левый элемент ) Функция tailSeq – для непустой последовательности Seq возвращает последовательность без первого элемента ; 6
7 Функция 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
8 Функция seqToList – преобразования из последовательности списка Функция listToSeq - преобразования из списка последовательности Функция filterSeq – фильтрация последовательности 8
9 Функция initialSeq - возвращает начальную последовательность Функция lastSeq - возвращает последний элемент Функция mapSeq - аналог функции map 9
10 10
11 Тестовая программа должна проверять все функции заданной библиотеки с параметрами, заданными ранее и в качестве результата выводить пройден тест или нет. При организации тестов необходимо особое внимание уделять работе с пустыми списками. 11
12 12
13 В результате работы над данным модулем были получены начальные знания языка функционального программирования Haskell 13
14 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 Докладчики : Докшин П. А Шитро А. О 15
Еще похожие презентации в нашем архиве:
© 2024 MyShared Inc.
All rights reserved.