Сошников Дмитрий Валерьевич к.ф.-м.н., доцент dmitryso@microsoft.com Факультет инноваций и высоких технологий Московский физико-технический институт.

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



Advertisements
Похожие презентации
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Advertisements

Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт.
Язык программирования C# Дмитрий Сошников
Исследование графиков функций Средствами программирования в QBasic.
Языки программирования Дмитрий Сошников
Лекция 2Лекция 2Структура программы Директивы препроцессора main () { Описания переменных Операторы }
1. a=? b=? c=? {int a, b, c; a=(b=2+3)/2 - 4+(c=5%2); printf("%d %d %d \n", a, b, c); }
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Сошников Д.В. Факультет инноваций и высоких технологий Московский физико-технический.
1 Программирование на языке Паскаль Тема 2. Максимальный элемент массива.
Урок информатики 9 физико-математический класс.
Тема: Нахождение минимального и максимального элемента в массиве.
Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Сошников Д.В. Факультет инноваций и высоких технологий Московский физико-технический.
Инкапсуляция полей и констант в языке C# (1) Поле: - инициализация факультативна, однако запрещен доступ к полям и методам того же типа; - поля структуры.
ЕГЭ информатика Алгоритмизация и программирование Консультация 3.
1 Программирование на языке Паскаль Графика. 2 Система координат (0,0) (x,y)(x,y) X Y x y.
Функциональное программирование Доклад на семинаре по специальности Студент гр.4057/2 Олег Хабаров
2,5 - 0,1 345 цел M, N, K вещ A, B, X вещ таб Т[1:12] Т а б л и ц ы Константы Переменные К о м а н д ы Ц и к л с п а р а м е т р о м Для k от 1 до 10 повторять.
Транксрипт:

Сошников Дмитрий Валерьевич к.ф.-м.н., доцент Факультет инноваций и высоких технологий Московский физико-технический институт

2 Лекция 7 Пример: построение графика 2D-функции

©2008 Сошников Д.В. 3 plot (-4.0,4.0) (-1.0,1.0) sin;; Масштабирование: (* from int to float range *) let scale (a:float,b:float) (i,j) x = float(x-i)/float(j-i)*(b-a)+a;; (* from float range to int *) let uscale (i,j) (a:float,b:float) (f:float) = int((f-a)/(b-a)*float(j-i))+i;;

©2008 Сошников Д.В. 4 #light open System; let xrange = (0,50);; let yrange = (0,15);; let plot xdim ydim f = for i=fst yrange to snd yrange do for j=fst xrange to snd xrange do let x = scale xdim xrange j let y = uscale yrange ydim (f x) Console.Write(if y=i then "*" else ".") Console.WriteLine("") ;; plot (-4.0,4.0) (-1.0,1.0) sin;;

©2008 Сошников Д.В. 5 let plot1 xdim f = let ydim = fora (fst xrange) (snd yrange) (100.0,-100.0) (fun (xmin,xmax) i -> let x = scale xdim xrange i (min xmin (f x),max xmax (f x)) ) in for i=fst yrange to snd yrange do for j=fst xrange to snd xrange do let x = scale xdim xrange j let y = uscale yrange ydim (f x) // printf "i=%d, j=%d, x=%f, y=%f\n" i j x y Console.Write(if y=i then "*" else ".") Console.WriteLine("") ;; plot1 (-4.0,4.0) sin;;

©2008 Сошников Д.В. 6 type out_device = int*(int*int -> unit);; let plotgen xdim f dev = let (n,dfun) = dev let ydim = fora 0 n (100.0,-100.0) (fun (xmin,xmax) i -> let x = scale xdim xrange i (min xmin (f x),max xmax (f x))) for i=0 to n-1 do for j=0 to n-1 do let x = scale xdim (0,n-1) j let y = uscale (0,n-1) ydim (f x) if y=i then dfun (j,y) ;;

©2008 Сошников Д.В. 7 open System.Drawing;; let implot xdim f = let img = new Bitmap(400,400) plotgen xdim f (400, fun (x,y) -> img.SetPixel(x,y,Color.Black)) ;; implot (-4.0,4.0) sin;;

©2008 Сошников Д.В. 8 Функциональное программирование – эффективный способ решения задач, характеризующийся отсуствием побочных эффектов, функциональной декомпозицией задачи и высоким уровнем функциональной абстракции Язык программирования F# сочетает в себе все достоинства функционального программирования с возможностями.NET Framework, что позволяет создавать весьма компактные решения достаточно нетривиальных задач F# по ощущениям (краткость конструкций, интерпретирующий режим) похож на динамический язык (python), но на самом деле это язык со строгой типизацией!

9