🗊 Предметно - ориентированное программирование Степулёнок Денис Олегович

Категория: Информатика
Нажмите для полного просмотра!
  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №1  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №2  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №3  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №4  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №5  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №6  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №7  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №8  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №9  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №10  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №11  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №12  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №13  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №14  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №15  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №16  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №17  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №18  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №19  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №20  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №21  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №22  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №23  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №24  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №25  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №26  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №27  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №28  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №29  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №30  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №31  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №32  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №33  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №34  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №35  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №36  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №37  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №38  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №39  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №40  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №41  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №42  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №43  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №44  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №45  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №46  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №47  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №48  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №49  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №50

Содержание

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

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


Слайд 1





Предметно - ориентированное программирование
Степулёнок Денис Олегович
Описание слайда:
Предметно - ориентированное программирование Степулёнок Денис Олегович

Слайд 2





Искусственный интеллект
Автоматизация “рутинных” задач, “скучных” для человека
Автономные системы 
“Быстрое” управление
Описание слайда:
Искусственный интеллект Автоматизация “рутинных” задач, “скучных” для человека Автономные системы “Быстрое” управление

Слайд 3





Фантастика: разговор с компьютером
«Идеальный» 
компьютер «понимает»
естественный язык человека. «Программирование» на естественном языке
Описание слайда:
Фантастика: разговор с компьютером «Идеальный» компьютер «понимает» естественный язык человека. «Программирование» на естественном языке

Слайд 4





Deep Blue – шахматный суперкомпьютер
11 мая 1997 года одержал победу в матче из 6 партий с чемпионом мира по шахматам Гарри Каспаровым
Разработан компанией IBM
Название получил от «Deep Thought» (глубокая мысль) из романа Дугласа Адамса «Автостопом по галактике» и «клички» IBМ: «Big Blue» 
После матча с чемпионом Deep Blue был разобран.
В основе Deep Blue II находится сервер RS/6000 фирмы IBM, у которого имеется 31 процессор. Один процессор объявлен главным, а ему подчиняются 30 остальных. К каждому из этих 30 процессоров подключено 16 специализированных шахматных процессора. Таким образом всего имеется 480 шахматных процессоров
Описание слайда:
Deep Blue – шахматный суперкомпьютер 11 мая 1997 года одержал победу в матче из 6 партий с чемпионом мира по шахматам Гарри Каспаровым Разработан компанией IBM Название получил от «Deep Thought» (глубокая мысль) из романа Дугласа Адамса «Автостопом по галактике» и «клички» IBМ: «Big Blue» После матча с чемпионом Deep Blue был разобран. В основе Deep Blue II находится сервер RS/6000 фирмы IBM, у которого имеется 31 процессор. Один процессор объявлен главным, а ему подчиняются 30 остальных. К каждому из этих 30 процессоров подключено 16 специализированных шахматных процессора. Таким образом всего имеется 480 шахматных процессоров

Слайд 5





Применение ИИ - турнир RoboCup
Описание слайда:
Применение ИИ - турнир RoboCup

Слайд 6





Гуманоидный робот
Описание слайда:
Гуманоидный робот

Слайд 7





Тест Тьюринга
Описание слайда:
Тест Тьюринга

Слайд 8





Основные подхода к разработке ИИ: 
нисходящий (англ. Top-Down AI), семиотический — создание экспертных систем, баз знаний и систем логического вывода, имитирующих высокоуровневые психические процессы: мышление, рассуждение, речь, эмоции, творчество и т. д.;
восходящий (англ. Bottom-Up AI), биологический — изучение нейронных сетей и эволюционных вычислений, моделирующих интеллектуальное поведение на основе биологических элементов, а также создание соответствующих вычислительных систем, таких как нейрокомпьютер или биокомпьютер.
Описание слайда:
Основные подхода к разработке ИИ: нисходящий (англ. Top-Down AI), семиотический — создание экспертных систем, баз знаний и систем логического вывода, имитирующих высокоуровневые психические процессы: мышление, рассуждение, речь, эмоции, творчество и т. д.; восходящий (англ. Bottom-Up AI), биологический — изучение нейронных сетей и эволюционных вычислений, моделирующих интеллектуальное поведение на основе биологических элементов, а также создание соответствующих вычислительных систем, таких как нейрокомпьютер или биокомпьютер.

Слайд 9





Уровни языков программирования
Естественные языки
Терминология конкретной предметной области
Высокоуровневые языки программирования
Низкоуровневые языки программирования (напр. C)
Ассемблер (мнемокоды)
Машинный код (то, что исполняет процессор)
Описание слайда:
Уровни языков программирования Естественные языки Терминология конкретной предметной области Высокоуровневые языки программирования Низкоуровневые языки программирования (напр. C) Ассемблер (мнемокоды) Машинный код (то, что исполняет процессор)

Слайд 10





Языки высокого/низкого уровня
Языки высокого уровня – максимально приближены к задаче. Наиболее выражено в предметно ориентированных языках.
Приоритет – что?
Языки низкого уровня – в центре внимания не задача, а технология её реализации, связанная с языком / машиной. Привлекаются дополнительные понятия, не связанные с задачей.
Приоритет – как?
Описание слайда:
Языки высокого/низкого уровня Языки высокого уровня – максимально приближены к задаче. Наиболее выражено в предметно ориентированных языках. Приоритет – что? Языки низкого уровня – в центре внимания не задача, а технология её реализации, связанная с языком / машиной. Привлекаются дополнительные понятия, не связанные с задачей. Приоритет – как?

Слайд 11


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №11
Описание слайда:

Слайд 12


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №12
Описание слайда:

Слайд 13


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №13
Описание слайда:

Слайд 14


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №14
Описание слайда:

Слайд 15





Предметно-ориентированный подход
Описание слайда:
Предметно-ориентированный подход

Слайд 16





ПОЯ
Предметно-ориентированный язык программирования (англ. domain-specific programming language, domain-specific language, DSL) — язык программирования, специально разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения, например C или Java, или языков моделирования общего назначения наподобие UML.
Описание слайда:
ПОЯ Предметно-ориентированный язык программирования (англ. domain-specific programming language, domain-specific language, DSL) — язык программирования, специально разработанный для решения определённого круга задач, в отличие от языков программирования общего назначения, например C или Java, или языков моделирования общего назначения наподобие UML.

Слайд 17





Требования к ПО
Функциональность: программа должна выполнять ожидаемые функции. Функции нужно реализовывать в порядке их необходимости заказчику, чтобы это сделать, необходимо «вникнуть» в предметную область и определить, что действительно важно заказчику; выделить главные, вспомогательные и второстепенные функции.
Надежность: необходимо обеспечить минимум ошибок, сбоев, защиту информации от непреднамеренной порчи. Программа должна разумно реагировать на ввод пользователем любых данных, иначе пользователи будут «бояться» ошибиться, что, как минимум, замедлит их работу с системой. Кроме того, программы, предназначенные для работы в компьютерных сетях, требуют защиты от разного рода вирусных и хакерских атак, – программа должна проверять все входящие данные, особенно тщательно те, которые приходят по сети.
Удобство: программа должна иметь интуитивно-понятный интерфейс, удобный для пользователя. Нужно минимизировать количество действий, необходимых пользователю для выполнения задачи, но не в ущерб понятности самих действий.
Эффективность: программа должна эффективно использовать память, процессор, «жёсткий» диск и другие ресурсы системы. В особых  случаях (когда «медлительность» системы критична) это требование становится едва ли не самым важным, важнее надёжности, но чаще оно менее существенно, чем сопровождение. 
Сопровождение: программа должна быть понятной, гибкой и «простой в сопровождении, переносе на новые платформы и развитии» - это требование программистов, в отличие от предыдущих, которые являются требованиями заказчиков, пользователей. Удобство сопровождения, как правило, находится в противоречии с эффективностью и для большинства программ более важно. Понятность программы позволяет быстро её развивать, добавлять новые функции, исправлять ошибки.
Описание слайда:
Требования к ПО Функциональность: программа должна выполнять ожидаемые функции. Функции нужно реализовывать в порядке их необходимости заказчику, чтобы это сделать, необходимо «вникнуть» в предметную область и определить, что действительно важно заказчику; выделить главные, вспомогательные и второстепенные функции. Надежность: необходимо обеспечить минимум ошибок, сбоев, защиту информации от непреднамеренной порчи. Программа должна разумно реагировать на ввод пользователем любых данных, иначе пользователи будут «бояться» ошибиться, что, как минимум, замедлит их работу с системой. Кроме того, программы, предназначенные для работы в компьютерных сетях, требуют защиты от разного рода вирусных и хакерских атак, – программа должна проверять все входящие данные, особенно тщательно те, которые приходят по сети. Удобство: программа должна иметь интуитивно-понятный интерфейс, удобный для пользователя. Нужно минимизировать количество действий, необходимых пользователю для выполнения задачи, но не в ущерб понятности самих действий. Эффективность: программа должна эффективно использовать память, процессор, «жёсткий» диск и другие ресурсы системы. В особых случаях (когда «медлительность» системы критична) это требование становится едва ли не самым важным, важнее надёжности, но чаще оно менее существенно, чем сопровождение. Сопровождение: программа должна быть понятной, гибкой и «простой в сопровождении, переносе на новые платформы и развитии» - это требование программистов, в отличие от предыдущих, которые являются требованиями заказчиков, пользователей. Удобство сопровождения, как правило, находится в противоречии с эффективностью и для большинства программ более важно. Понятность программы позволяет быстро её развивать, добавлять новые функции, исправлять ошибки.

Слайд 18





Виды ПОЯ
ПОЯ могут быть:
графическими (процесс программирования – «рисование» схемы в специальном редакторе);
текстовыми (программирование – составление текста на некотором формальном языке).
Кроме того, ПОЯ можно разделить на:
статические – языки, в которых не важно, в каком порядке программист рисует элементы схемы или составляет текст программы;
динамические – имеет значение порядок действий (например, в Geometer's Sketchpad последовательность геометрического построения задаёт алгоритм).
Описание слайда:
Виды ПОЯ ПОЯ могут быть: графическими (процесс программирования – «рисование» схемы в специальном редакторе); текстовыми (программирование – составление текста на некотором формальном языке). Кроме того, ПОЯ можно разделить на: статические – языки, в которых не важно, в каком порядке программист рисует элементы схемы или составляет текст программы; динамические – имеет значение порядок действий (например, в Geometer's Sketchpad последовательность геометрического построения задаёт алгоритм).

Слайд 19





Создание ПОЯ
Проектирование языка программирования
Реализация интерпретаторов (компиляторов) для выбранных платформ
Создание редактора (среды разработки)
Описание слайда:
Создание ПОЯ Проектирование языка программирования Реализация интерпретаторов (компиляторов) для выбранных платформ Создание редактора (среды разработки)

Слайд 20


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №20
Описание слайда:

Слайд 21





Процесс компиляции
Описание слайда:
Процесс компиляции

Слайд 22





Geometer’s Sketchpad
Описание слайда:
Geometer’s Sketchpad

Слайд 23


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №23
Описание слайда:

Слайд 24





Пример: Создание иконки
Описание слайда:
Пример: Создание иконки

Слайд 25





Схема работы «Журнала в журнале»
Описание слайда:
Схема работы «Журнала в журнале»

Слайд 26





Программирование на языке общего назначения
Описание слайда:
Программирование на языке общего назначения

Слайд 27





Программирование на основе ПОЯ
Описание слайда:
Программирование на основе ПОЯ

Слайд 28





Интерфейс учителя
Описание слайда:
Интерфейс учителя

Слайд 29





Интерфейс ученика
Описание слайда:
Интерфейс ученика

Слайд 30





Разбиение системы на модули
Описание слайда:
Разбиение системы на модули

Слайд 31





Элементы редактора
Описание слайда:
Элементы редактора

Слайд 32





Редакторы
Описание слайда:
Редакторы

Слайд 33





Delphi – предметная ориентированность
Редактор интерфейса позволяет визуально (без программирования) нарисовать  большую часть интерфейса. Процесс создания нагляден. 
Встроенные средства рефакторинга позволяют «переименовать» классы, методы, компоненты, модули в любой момент когда вы обнаружите несоответствие реального использования класса, метода, модуля и представления о нём.
Среда разработки генерирует  шаблон метода при выборе события в редакторе свойств, нужно писать только само тело обработчика.
Описание слайда:
Delphi – предметная ориентированность Редактор интерфейса позволяет визуально (без программирования) нарисовать большую часть интерфейса. Процесс создания нагляден. Встроенные средства рефакторинга позволяют «переименовать» классы, методы, компоненты, модули в любой момент когда вы обнаружите несоответствие реального использования класса, метода, модуля и представления о нём. Среда разработки генерирует шаблон метода при выборе события в редакторе свойств, нужно писать только само тело обработчика.

Слайд 34





Работа в среде Delphi
Описание слайда:
Работа в среде Delphi

Слайд 35


  
  Предметно - ориентированное программирование  Степулёнок Денис Олегович  , слайд №35
Описание слайда:

Слайд 36





Создание языка
Описание слайда:
Создание языка

Слайд 37





Создание редактора
Описание слайда:
Создание редактора

Слайд 38





Использование - sandbox
Описание слайда:
Использование - sandbox

Слайд 39





Создаём поле ввода данных
Описание слайда:
Создаём поле ввода данных

Слайд 40





И редактор для него
Описание слайда:
И редактор для него

Слайд 41





Добавляем поле в калькулятор
Описание слайда:
Добавляем поле в калькулятор

Слайд 42





Генерируем и тестируем полученный язык
Описание слайда:
Генерируем и тестируем полученный язык

Слайд 43





Выходное поле и формула
Описание слайда:
Выходное поле и формула

Слайд 44





Можем использовать значение входных полей
Описание слайда:
Можем использовать значение входных полей

Слайд 45





Создаем генератор кода
Описание слайда:
Создаем генератор кода

Слайд 46





Создание полей «в цикле»
Описание слайда:
Создание полей «в цикле»

Слайд 47





Ссылка на другой макрос
Описание слайда:
Ссылка на другой макрос

Слайд 48





Пример использования
Описание слайда:
Пример использования

Слайд 49





Готовая программа
Описание слайда:
Готовая программа

Слайд 50





Спасибо за внимание!
Вопросы?
Описание слайда:
Спасибо за внимание! Вопросы?



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