Презентация Функциональное программирование. Бестиповые арифметические выражения. (Лекция 2. 2) онлайн
На нашем сайте вы можете скачать и просмотреть онлайн доклад-презентацию на тему Функциональное программирование. Бестиповые арифметические выражения. (Лекция 2. 2) абсолютно бесплатно. Урок-презентация на эту тему содержит всего 45 слайдов. Все материалы созданы в программе PowerPoint и имеют формат ppt или же pptx. Материалы и темы для презентаций взяты из открытых источников и загружены их авторами, за качество и достоверность информации в них администрация сайта не отвечает, все права принадлежат их создателям. Если вы нашли то, что искали, отблагодарите авторов - поделитесь ссылкой в социальных сетях, а наш сайт добавьте в закладки.
Презентации » Устройства и комплектующие » Функциональное программирование. Бестиповые арифметические выражения. (Лекция 2. 2)
Оцените!
Оцените презентацию от 1 до 5 баллов!
- Тип файла:ppt / pptx (powerpoint)
- Всего слайдов:45 слайдов
- Для класса:1,2,3,4,5,6,7,8,9,10,11
- Размер файла:782.39 kB
- Просмотров:91
- Скачиваний:0
- Автор:неизвестен
Слайды и текст к этой презентации:
№3 слайд
![Необходимость изучения](/documents_6/e20732076d72317f073c34ac2823eb74/img2.jpg)
Содержание слайда: Необходимость изучения теоретических основ ФП
Базовые характеристики языков программирования (во многом определяются системой типов в ФП)
Четкие, ясные, точные механизмы описания синтаксиса и семантики программ
Пример: язык Haskell
Поскольку Haskell представляет собой чисто функциональный язык,
все вычисления осуществляются с помощью исчисления выражений (синтаксических термов),
производящих значения (абстрактные сущности, которые мы рассматриваем как ответы).
Каждое значение имеет связанный с ним тип (на интуитивном уровне мы можем рассматривать типы как множества значений).
Налицо построенная строгая система типов закономерности и свойства которой необходимо учитывать, уметь формально обращаться с ней
№6 слайд
![Другие определения синтаксиса](/documents_6/e20732076d72317f073c34ac2823eb74/img5.jpg)
Содержание слайда: Другие определения синтаксиса
Определение 1 [термы через индукцию]
Множество термов – это наименьшее множество такое , что
1. {true; false; 0} T ;
2. если t1 T , то {succ t1; pred t1; iszero t1} T ;
3. если t1 T , t2 T , t3 T , то if t1 then t2 else t3 T .
№20 слайд
![О синтаксисе псевдо-языка](/documents_6/e20732076d72317f073c34ac2823eb74/img19.jpg)
Содержание слайда: О синтаксисе псевдо-языка (повтор)
t ::= {- термы: -}
true {- константа «истина» -}
false {- константа «ложь» -}
if t then t else t {- условное выражение -}
0 {- константа «ноль» -}
succ t {- следующее число -}
pred t {- предыдущее число -}
iszero t {- проверка на ноль -}
№22 слайд
![Семантические стили Для](/documents_6/e20732076d72317f073c34ac2823eb74/img21.jpg)
Содержание слайда: Семантические стили
Для определения смысла программы необходим её математический эквивалент, а для его построения нам надо в точности знать свойства языка, на котором написана программа.
Проблема сводится к отысканию способа построения математических эквивалентов всех конструкций языка - к формализации его семантики.
№29 слайд
![Семантические стили](/documents_6/e20732076d72317f073c34ac2823eb74/img28.jpg)
Содержание слайда: Семантические стили
Аксиоматическая семантика
Семантика каждой синтаксической конструкции языка определяется как некий набор аксиом или правил вывода, который можно использовать для вывода результатов выполнения этой конструкции.
Чтобы понять смысл всей программы, эти аксиомы и правила вывода следует использовать так же, как при доказательстве обычных математических теорем.
Смысл терма, то что можно о нем доказать.
Когда программа выполнена, получаем доказательство - что вычисленные результаты удовлетворяют необходимым ограничениям на их значения относительно входных значений. То есть, доказано, что выходные данные представляют значения соответствующей функции, вычисленной по значениям входных данных.
№30 слайд
![Семантические стили](/documents_6/e20732076d72317f073c34ac2823eb74/img29.jpg)
Содержание слайда: Семантические стили
Интерпретационная семантика
описание операционной семантики конструкций в терминах языков программирования низкого уровня (язык ассемблера, машинный код).
Позволяет выявлять медленно выполняемые участки программы, и зачастую используется в целях оптимизации кода программ.
№32 слайд
![ВЫЧИСЛЕНИЯ случай только](/documents_6/e20732076d72317f073c34ac2823eb74/img31.jpg)
Содержание слайда: ВЫЧИСЛЕНИЯ (случай только булевых выражений)
t → t’ понимается как t за 1 шаг вычисляется как t’
Константы ни во что не вычисляются
E-IFTrue и E-IFFalse – рабочие правила
E-IF – правило соответствия
Определение: Экземпляр правила вывода получается при замене каждой метапеременной в заключении правила и во всех его предпосылках
№35 слайд
![ВЫЧИСЛЕНИЯ случай только](/documents_6/e20732076d72317f073c34ac2823eb74/img34.jpg)
Содержание слайда: ВЫЧИСЛЕНИЯ (случай только булевых выражений)
Определение: Одношаговое отношение вычисления → есть наименьшее бинарное отношение на термах, на котором выполняются все три правила
Если пара (t → t’) является элементом отношения вычисления, то говорят, что утверждение о вычислении t → t’ выводимо
№38 слайд
![ВЫЧИСЛЕНИЯ свойсТва конечного](/documents_6/e20732076d72317f073c34ac2823eb74/img37.jpg)
Содержание слайда: ВЫЧИСЛЕНИЯ (свойсТва конечного состояния)
Результат вычисления – конечное состояние
Определение 3 Терм t находится в нормальной форме если к нему не применимо никакое правило вычисления (t’, т.ч. t → t’ )
Теорема 2. Всякое значение находится в нормальной форме.
Теорема 3. Всякая нормальная форма есть значение
Скачать все slide презентации Функциональное программирование. Бестиповые арифметические выражения. (Лекция 2. 2) одним архивом:
Похожие презентации
-
ПЯВУ. Лекция 5. Основы программирования. Типы данных. Понятие выражения, переменной. Область видимости
-
Базовые типы данных языков программирования высокого уровня. Лекция 3
-
Операции и выражения. (Лекция 4)
-
Основы программирование: Введение в Java. Коллекции
-
Динамическое программирование. Лекция 20
-
Регулярные выражения. Лекция 7
-
Программирование. Лекция 3
-
Программирование. Лекция 4
-
Параллельное программирование с использованием OpenMP. Лекция 2
-
Параллельное программирование с использованием OpenMP. Лекция 1