Разделы презентаций


FLIDE Система функционально-логического программирования на языке S-FLOGOL

Содержание

Язык S-FLOGOLОснован на теории направленных отношений (НО) (Фальк В.Н., Кутепов В.П.).Имеет развитые средства схемного описания НО.Допускает использование:индексированных имен НО,параметризованных НО.Поддерживает объектно-ориентированный стиль программирования.Позволяет строить многомодульные программы.Обладает средствами ограничения области видимости

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

Слайд 1FLIDE
Система
функционально-логического программирования
на языке S-FLOGOL
FLOGOL Integrated Development Environment

FLIDEСистемафункционально-логического программирования на языке S-FLOGOLFLOGOL Integrated Development Environment

Слайд 2Язык S-FLOGOL
Основан на теории направленных отношений (НО)
(Фальк В.Н.,

Кутепов В.П.).
Имеет развитые средства схемного описания НО.
Допускает использование:
индексированных имен НО,
параметризованных

НО.
Поддерживает объектно-ориентированный стиль программирования.
Позволяет строить многомодульные программы.
Обладает средствами ограничения области видимости определяемых отношений (Private-домены).
Язык S-FLOGOLОснован на теории направленных отношений (НО)  (Фальк В.Н., Кутепов В.П.).Имеет развитые средства схемного описания НО.Допускает

Слайд 3Направленные отношения
Направленным отношением R арности (n,m) на носителе D называется

множество упорядоченных пар кортежей элементов D длины n и m,

соответственно.

НО R(n,m) может моделироваться (n+m)-арным отношением R’ на D:

Естественной и наглядной формой определения НО и основой эффективной организации их вычисления является представление в форме сетевых языков.
НО характеризуются наличием фундаментальных свойств – тотальности и функциональности прямых и обратных НО.

Направленные отношенияНаправленным отношением R арности (n,m) на носителе D называется множество упорядоченных пар кортежей элементов D длины

Слайд 4Семантические объекты
Функция


Предикат


Константа


НО общего вида




Семантические объектыФункцияПредикатКонстантаНО общего вида

Слайд 5Варианты определения НО
Пример: определение натурального числа 3
Nat3= Null∙Succ∙Succ∙Succ
В форме графика:
В

форме композиции:

Nat3= {:Succ(Succ(Succ(Null))))}
При помощи свертки:
Nat3= Null∙(∙ I=1..3)Succ

Варианты определения НО	Пример: определение натурального числа 3Nat3= Null∙Succ∙Succ∙SuccВ форме графика:В форме композиции:Nat3= {:Succ(Succ(Succ(Null))))}При помощи свертки:Nat3= Null∙(∙ I=1..3)Succ

Слайд 6Определение НО в виде графика
В форме графика НО задается в

виде

R = { Терм1 : Терм2 ? Формула }

, где

Терм1 – входной терм (образец аргументов вызова),

Терм2 – выходной терм (результат вызова),

Формула – набор ограничений вида Терм = Терм, Терм <> Терм.

Определение НО в виде графикаВ форме графика НО задается в виде	R = { Терм1 : Терм2 ?

Слайд 7Композиционное определение НО
Последовательная композиция
Параллельная композиция

Композиционное определение НОПоследовательная композицияПараллельная композиция

Слайд 8Представление натуральных чисел
Число 2 (сеть):
(0:1)Null;
(1:1)Succ;
Nat2={:Succ(Succ(Null))};
Nat3={:Succ(Succ(Succ(Null)))};
Число 3 (сеть):
Числа 2,3 (текст):

Представление натуральных чиселЧисло 2 (сеть):(0:1)Null;(1:1)Succ;Nat2={:Succ(Succ(Null))};Nat3={:Succ(Succ(Succ(Null)))};Число 3 (сеть):Числа 2,3 (текст):

Слайд 9Отношения над числами
Пример: НО
(0:1)Null;
(1:1)Succ;
(2:1)Add={Null,x:x};
(2:1)Add={Succ(x),y:Succ(@(x,y))}
или
(2:1)Add={Null,x:x}U{Succ(x),y:Succ(@(x,y))}

Отношения над числамиПример: НО(0:1)Null;(1:1)Succ;(2:1)Add={Null,x:x};(2:1)Add={Succ(x),y:Succ(@(x,y))}или(2:1)Add={Null,x:x}U{Succ(x),y:Succ(@(x,y))}

Слайд 10Отношения над числами
Пример: НО
(0:1)Null;
(1:1)Succ;
(2:1)Mult={Null,x:Null};
(2:1)Mult={Succ(x),y:Add(@(x,y),y)}
или
(2:1)Mult={Null,x:Null}U{Succ(x),y:Add(@(x,y),y)}

Отношения над числамиПример: НО(0:1)Null;(1:1)Succ;(2:1)Mult={Null,x:Null};(2:1)Mult={Succ(x),y:Add(@(x,y),y)}или(2:1)Mult={Null,x:Null}U{Succ(x),y:Add(@(x,y),y)}

Слайд 11Списки
Пример: НО


(0:1)Nil;
(1:1)LCons;
(0:1)A;
(0:1)B;
(0:1)C;
(0:1)D;
(0:1)List={:LCons(A,LCons(B,LCons(C,LCons(D,Nil)))}
[A,B,C,D]

СпискиПример: НО          (0:1)Nil;(1:1)LCons;(0:1)A;(0:1)B;(0:1)C;(0:1)D;(0:1)List={:LCons(A,LCons(B,LCons(C,LCons(D,Nil)))}[A,B,C,D]

Слайд 12Отношения над списками
Пример: НО
(0:1)Nil;
(2:1) LCons;
(2:1)Append={Nil,x:x};
(2:1)Append={LCons(x,xs),ys:LCons(x,@(xs,ys))}

Отношения над спискамиПример: НО(0:1)Nil;(2:1) LCons;(2:1)Append={Nil,x:x};(2:1)Append={LCons(x,xs),ys:LCons(x,@(xs,ys))}

Слайд 13QuickSort=
{LCons(x,xs):Append(@(ls),Append(LCons(x,Nil),@(bs)))
?Partition(xs,x)=ls,bs};
QuickSort={Nil:Nil};
Пример: НО
Отношения над списками

QuickSort={LCons(x,xs):Append(@(ls),Append(LCons(x,Nil),@(bs)))    ?Partition(xs,x)=ls,bs};QuickSort={Nil:Nil};Пример: НООтношения над списками

Слайд 14Индексированные имена НО
Пример: множество натуральных чисел
(I=1..)[I]Nat= Null∙(∙ J=1..I)Succ
Эквивалентное множество определений:
[0]Nat=

Null;
[1]Nat= Null∙Succ;
[2]Nat= Null∙Succ∙Succ;
[3]Nat= Null∙Succ∙Succ∙Succ;

Индексированные имена НОПример: множество натуральных чисел(I=1..)[I]Nat= Null∙(∙ J=1..I)SuccЭквивалентное множество определений:[0]Nat= Null;[1]Nat= Null∙Succ;[2]Nat= Null∙Succ∙Succ;[3]Nat= Null∙Succ∙Succ∙Succ;…

Слайд 15Параметризованные НО
Map={LCons(x,xs):LCons(«0»(x),@(xs))};
Map={Nil:Nil};
SuccList = Map[Succ]
Пример:НО
(инкрементация элементов списка)

Параметризованные НОMap={LCons(x,xs):LCons(«0»(x),@(xs))};Map={Nil:Nil};SuccList = Map[Succ]Пример:НО(инкрементация элементов списка)

Слайд 16где – сорта входных(выходных)

данных,
определяется в сетевой форме как:
Типовые НО
Типовое отношение для типа

где

– отношение арности (0,1), генерирующее данные сорта t. Описание отношения R типа T будет иметь вид , где e – реляционное выражение, определяющее направленное отношение арности .




где       – сорта входных(выходных) данных,определяется в сетевой форме как:Типовые НОТиповое отношение

Слайд 17Типизация НО
Пример: НО

Типизация НОПример: НО

Слайд 18Типизация НО
Пример: типизированное НО

Типизация НОПример: типизированное НО

Слайд 19Системные типы данных
Натуральные числа (0,1,2,…).
Списки ([ ], [A(B),[D]]).
Строки (‘Some text’).
Пример

записи списка [A,B,C] в сетевой форме при помощи конструктора списка

и системного генератора списков:
Системные типы данныхНатуральные числа (0,1,2,…).Списки ([ ], [A(B),[D]]).Строки (‘Some text’).Пример записи списка [A,B,C] в сетевой форме при

Слайд 20Среда программирования
Проектный подход к организации работы с комплексами программ.
Оригинальные технологии

графического и структурированного текстового построения программ.
Интегрированные средства разработки и отладки.
Собственное

сетевое ядро вычислений и компилятор запросов на языке S-FLOGOL.
Возможность ограниченного импорта программ, написанных на языке Пролог.
Реализация в среде C++ Builder 5.0.
Среда программированияПроектный подход к организации работы с комплексами программ.Оригинальные технологии графического и структурированного текстового построения программ.Интегрированные средства

Слайд 21Общий вид интерфейса системы

Общий вид интерфейса системы

Слайд 22Графический редактор

Графический редактор

Слайд 23Текстовый редактор

Текстовый редактор

Слайд 24Спасибо за внимание!

Спасибо за внимание!

Обратная связь

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

Email: Нажмите что бы посмотреть 

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


Для правообладателей

Яндекс.Метрика