🗊 Презентация Функциональные типы и описание функций. Примеры

Нажмите для полного просмотра!
Функциональные типы и описание функций. Примеры, слайд №1 Функциональные типы и описание функций. Примеры, слайд №2 Функциональные типы и описание функций. Примеры, слайд №3 Функциональные типы и описание функций. Примеры, слайд №4 Функциональные типы и описание функций. Примеры, слайд №5 Функциональные типы и описание функций. Примеры, слайд №6 Функциональные типы и описание функций. Примеры, слайд №7 Функциональные типы и описание функций. Примеры, слайд №8 Функциональные типы и описание функций. Примеры, слайд №9 Функциональные типы и описание функций. Примеры, слайд №10 Функциональные типы и описание функций. Примеры, слайд №11 Функциональные типы и описание функций. Примеры, слайд №12 Функциональные типы и описание функций. Примеры, слайд №13 Функциональные типы и описание функций. Примеры, слайд №14 Функциональные типы и описание функций. Примеры, слайд №15 Функциональные типы и описание функций. Примеры, слайд №16

Вы можете ознакомиться и скачать презентацию на тему Функциональные типы и описание функций. Примеры. Доклад-сообщение содержит 16 слайдов. Презентации для любого класса можно скачать бесплатно. Если материал и наш сайт презентаций Mypresentation Вам понравились – поделитесь им с друзьями с помощью социальных кнопок и добавьте в закладки в своем браузере.

Слайды и текст этой презентации


Слайд 1


F#. Примеры Кузаев А.Ф.
Описание слайда:
F#. Примеры Кузаев А.Ф.

Слайд 2


Пример 1. Функциональные типы и описание функций // Объявление импорта указывает модуль или пространство имен, на элементы которого можно ссылаться...
Описание слайда:
Пример 1. Функциональные типы и описание функций // Объявление импорта указывает модуль или пространство имен, на элементы которого можно ссылаться без использования полного имени. open System [] // Функция нахождения суммы трех целых чисел let main argv = let sum (a,b,c) = a + b + c printfn "%A" (sum (1,3,4),sum(5,4,7)) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0

Слайд 3


Пример 2. Условный оператор // В какой координатной четверти расположена точка? open System [] let main argv = let chetv (x,y) = if (x>0)&&(y>0) then...
Описание слайда:
Пример 2. Условный оператор // В какой координатной четверти расположена точка? open System [] let main argv = let chetv (x,y) = if (x>0)&&(y>0) then 1 else if (x0) then 2 else if (x

Слайд 4


Пример 3. Рекурсия // Вывод всех нечетных чисел от 1 до n open System [] let main argv = let rec print n = if n=1 then printf "%d%s" 1...
Описание слайда:
Пример 3. Рекурсия // Вывод всех нечетных чисел от 1 до n open System [] let main argv = let rec print n = if n=1 then printf "%d%s" 1 " " else if (n%2=1) then print (n-1) printf "%d%s" n " " else print (n-1) printfn "%A" (print 15) printfn "Нажмите любую клавишу для продолжения“ Console.ReadKey()|> ignore 0

Слайд 5


Пример 4. Цикл FOR // Вывод всех нечетных чисел от 1 до n open System [] let main argv = let rec print n = // for x=1 to n do // if (x%2=1) then...
Описание слайда:
Пример 4. Цикл FOR // Вывод всех нечетных чисел от 1 до n open System [] let main argv = let rec print n = // for x=1 to n do // if (x%2=1) then printf "%d%s" x " " // else printf "%s" "" for x in 1..n do if (x%2=1) then printf "%d%s" x " " else printf "%s" "" printfn "%A" (print 15) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0

Слайд 6


Списки Список можно определить путем прямого перечисления элементов, разделенных точкой с запятой и заключенных в квадратные скобки, как показано в...
Описание слайда:
Списки Список можно определить путем прямого перечисления элементов, разделенных точкой с запятой и заключенных в квадратные скобки, как показано в следующей строке кода. let list123 = [ 1; 2; 3 ] Вместо точки с запятой для разделения элементов можно также использовать разрыв строки. Такой синтаксис позволяет получить более удобный для чтения код, если список содержит длинные выражения инициализации или к каждому элементу необходимо написать комментарий. let list123 = [ 1 2 3 ]

Слайд 7


Списки Пустой список определяется парой квадратных скобок, между которыми ничего не указано. let listEmpty = [] Также список можно создать с помощью...
Описание слайда:
Списки Пустой список определяется парой квадратных скобок, между которыми ничего не указано. let listEmpty = [] Также список можно создать с помощью выражения последовательности. Например, в следующем коде создается список квадратов целочисленных значений от 1 до 10. let listOfSquares = [ for i in 1 .. 10 -> i*i ]

Слайд 8


Генераторы списков В более сложных случаях можно использовать генераторы списков. Генератор списка — это фрагмент кода, заключённый в квадратные...
Описание слайда:
Генераторы списков В более сложных случаях можно использовать генераторы списков. Генератор списка — это фрагмент кода, заключённый в квадратные скобки, используемый для создания всех элементов списка. Элементы списка добавляются с помощью ключевого слова yield [ji:ld] . С помощью такого выражения, например, можно получить список чётных чисел: > let evenlst = [ for i in 1..10 do if i % 2 = 0 then yield i ] val evenlst : int list = [2; 4; 6; 8; 10]

Слайд 9


Пример 5. Списки // Формирование списка из делителей числа N open System [] let main argv = let listdelit N = [ for i in 1 .. N do if N % i = 0 then...
Описание слайда:
Пример 5. Списки // Формирование списка из делителей числа N open System [] let main argv = let listdelit N = [ for i in 1 .. N do if N % i = 0 then yield i ] printfn "%A" (listdelit 100) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0

Слайд 10


Пример 6. Списки // Формирование списка из случайных чисел open System [] let main argv = let n = Console.Write "Введите n: "...
Описание слайда:
Пример 6. Списки // Формирование списка из случайных чисел open System [] let main argv = let n = Console.Write "Введите n: " Convert.ToInt32(Console.ReadLine()) let res x = [ let r = new Random() for i in 1 .. x do yield r.Next(-100, 100) ] let Res = res n printfn "%A" Res printfn "Нажмите любую клавишу для продолжения« Console.ReadKey()|> ignore 0

Слайд 11


Пример 7. Обработка списков // Определение длины списка (количество элементов в списке) open System [] let main argv = let list = [1;2;3;4;5;6;7] let...
Описание слайда:
Пример 7. Обработка списков // Определение длины списка (количество элементов в списке) open System [] let main argv = let list = [1;2;3;4;5;6;7] let rec kol li = match li with [ ] -> 0 | head::tail -> 1+kol tail printfn "%A\n%A" list (kol list) printfn "Нажмите любую клавишу для продолжения " Console.ReadKey()|> ignore 0

Слайд 12


Пример 8. Обработка списков // Определение количества нулей в списке open System [] let main argv = let x = [0;0;0;0;0;0;0] let rec nul x = match x...
Описание слайда:
Пример 8. Обработка списков // Определение количества нулей в списке open System [] let main argv = let x = [0;0;0;0;0;0;0] let rec nul x = match x with [ ] -> 0 |head::tail -> if head = 0 then nul(tail)+1 else nul(tail) printfn "%A\n%A" x (nul x) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0

Слайд 13


Пример 9. Обработка списков // Подсчитать количество чисел в списке, заканчивающихся на K (с использованием стандартной функции filter)....
Описание слайда:
Пример 9. Обработка списков // Подсчитать количество чисел в списке, заканчивающихся на K (с использованием стандартной функции filter). Использование рекурсии не допускается. open System [] let main argv = let k=1 let list = [50; 105; 10; 31; 7; 11; 5; 24] let listres = List.filter (fun x -> x%10=k) list printfn "%A" (listres.Length) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0

Слайд 14


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

Слайд 15


Пример 10. Свертка // сколько раз встречается минимальный элемент в списке open System [] let main argv = let list=[1; 20; 3; 0; 0; 3; 7; 5; 32; 0;...
Описание слайда:
Пример 10. Свертка // сколько раз встречается минимальный элемент в списке open System [] let main argv = let list=[1; 20; 3; 0; 0; 3; 7; 5; 32; 0; 76; 4; 0; 32; 0] let nul (min,k) i = if i=min then (min,k+1) else if i ignore 0

Слайд 16


Пример 11. // Количество простых чисел в списке натуральных чисел open System [] let main argv = let listnat = [1; 2; 4; 6; 7; 10; 11; 13] let list n...
Описание слайда:
Пример 11. // Количество простых чисел в списке натуральных чисел open System [] let main argv = let listnat = [1; 2; 4; 6; 7; 10; 11; 13] let list n = [for i in 2..n-1 do if n%i=0 then yield i ] let listpr = List.filter (fun x -> (list x).Length=0) listnat printfn "%A" (listpr.Length) printfn "Нажмите любую клавишу для продолжения" Console.ReadKey()|> ignore 0



Похожие презентации
Mypresentation.ru
Загрузить презентацию