SlideShare a Scribd company logo
1 of 21
Программирование
будущего
Как научить компьютер делать то,
что нужно, без всякого программирования
Денис Сергеевич Перевалов
Институт Математики и Механики им. Н.Н.Красовского
Что такое программа?
Программа - последовательность действий
Чайная программа
Программа приготовления чая
1. Вскипятить воду
2. Налить в кружку воду
3. Налить в кружку заварку
4. Добавить сахар
5. Размешать
Как объяснить роботу?
Программа приготовления чая
1. Вскипятить воду
2. Налить в кружку воду
3. Налить в кружку заварку
4. Добавить сахар
5. Размешать
Универсальный робот, скорее всего, не сможет
выполнить сразу. Почему?
Робот
какая вода - из крана или из
льда с улицы? сколько вскипятить?
какую взять
кружку?
сколько налить воды в кружку?
сколько заварки? сколько сахара?
сколько времени размешивать?
Подробная чайная программа
1. Вскипятить воду (200 мг воды из фильтра)
2. Налить в кружку воду,
⅘ воды; в чистую кружку, самую большую
1. Налить в кружку заварку (⅕ заварки)
2. Добавить сахар (2 чайных ложки)
3. Размешать (20 сек)
Подробная чайная программа
А если заварки нет? ...
Программа становится больше и больше…
В программах для компьютера - такая же проблема.
Программы должны быть очень подробными, чтобы
быть готовыми ко всем неожиданностям.
Способы программирования
Процедурный - КАК
1. А положить равным 3
2. Б положить равным 4
3. В положить равным сумме А и Б
4. Вывести на экран значение В
Способы программирования
Декларативный - ЧТО
Способы программирования
Обучение на примерах - ПОВТОРЯЙ ЗА
МНОЙ
Способы программирования
Процедурный - КАК
Декларативный - ЧТО
Обучение на примерах - ПОВТОРЯЙ ЗА
МНОЙ
Программирование будущего
Программирование сегодняшнего дня
Тезис Чёрча-Тьюринга
Процедурный - КАК
Программирование сегодняшнего дня
Любое вычисление можно
запрограммировать
процедурно
Простейший вычислитель
- “машина Тьюринга”
Всё чётко, но
программировать - бывает
долго и утомительно!”
Декларативное программирование
Задаём факты и правила о “мире”, и задаём
задачу. Программа строится сама, и решает
задачу.
Поиск пути робота - задаём схему комнаты,
начальную и конечную точку,
и программа “поиск пути” строит путь сама.
Пролог
Денис
Ольга Сергей
Вера Алексей Галина Геннади
й
Декларативный язык программирования.
Введём в него систему родственных отношений:
Мать = Родитель + Женщина.
Бабушка = Родитель Матери.
Язык программирования Пролог
родитель(ольга,денис).
родитель(сергей,денис).
родитель(вера,ольга).
родитель(алексей,ольга).
родитель(галина,сергей).
родитель(геннадий,сергей).
женщина(ольга).
женщина(вера).
женщина(галина).
мать(X,Y) :-
родитель(X,Y),женщина(X).
бабушка(X,Y) :-
мать(X,Z),родитель(Z,Y).
Денис
Ольга Сергей
Вера Алексей Галина Геннади
й
Мать = Родитель + Женщина.
Бабушка = Родитель Матери.
Обучение на примерах
Макрорекордер - программа, запоминяющая
ваши действия и повторяющая их.
Демо - Automator
Обучение на примерах
Программы “дорисовки” - по фрагменту
изображения, дорисовывают до нужных размеров
Wolfram Alpha
http://habrahabr.ru/post/244729/
Обучение на примерах
Обучение на примерах
Обучение на примерах
Демо программы продолжения линий
Благодарности
1. Спасибо В.Б. Костоусову (ИММ УрО РАН) за семинары по Си++ и
шаблонам проектирования
2. Спасибо В.Л.Авербуху (ИММ УрО РАН) за то, что в 11 классе школе
познакомил меня с программированием путём демонстраций
3. Спасибо Т.Б. Токманцеву (ИММ УрО РАН) за идеи и сведения про
современные методы тестирования.
4. Спасибо А.В. Марьяновой (УрФУ) за ссылку на Inpainting

More Related Content

Similar to Программирование будущего - 2015

творческий проект
творческий проекттворческий проект
творческий проектBoriskova_Liza
 
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...Сергей Сичкар
 
Hot potatoes – новый взгляд на старую программу
Hot potatoes – новый взгляд на старую программу Hot potatoes – новый взгляд на старую программу
Hot potatoes – новый взгляд на старую программу Анатолий Шперх
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java DeveloperOlexandra Dmytrenko
 
Программное обеспечение современного компьютера
Программное обеспечение современного компьютераПрограммное обеспечение современного компьютера
Программное обеспечение современного компьютераZiminDan
 
3 ivi3 g 3 часть
3 ivi3 g 3 часть3 ivi3 g 3 часть
3 ivi3 g 3 часть11book
 
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...SQALab
 
4 klas informatika_kornienko_2015_ros
4 klas informatika_kornienko_2015_ros4 klas informatika_kornienko_2015_ros
4 klas informatika_kornienko_2015_rosSvinka Pepa
 
4 информ корниенко_крамаровская_2015_рус
4 информ корниенко_крамаровская_2015_рус4 информ корниенко_крамаровская_2015_рус
4 информ корниенко_крамаровская_2015_русAira_Roo
 
4 inf kor_2015_ru
4 inf kor_2015_ru4 inf kor_2015_ru
4 inf kor_2015_rubookin777
 
4 inf kor_2015_ru
4 inf kor_2015_ru4 inf kor_2015_ru
4 inf kor_2015_ruRanoUA
 
Чудо пустого инбокса
Чудо пустого инбоксаЧудо пустого инбокса
Чудо пустого инбоксаDenis Dniprovskiy
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковSQALab
 

Similar to Программирование будущего - 2015 (14)

творческий проект
творческий проекттворческий проект
творческий проект
 
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...
Тренинг "Джедайская техника пустого инбокса" от Максима Дорофеева 24-25 сентя...
 
Рабочая тетрадь
Рабочая тетрадьРабочая тетрадь
Рабочая тетрадь
 
Hot potatoes – новый взгляд на старую программу
Hot potatoes – новый взгляд на старую программу Hot potatoes – новый взгляд на старую программу
Hot potatoes – новый взгляд на старую программу
 
Собеседование на позицию Java Developer
Собеседование на позицию Java DeveloperСобеседование на позицию Java Developer
Собеседование на позицию Java Developer
 
Программное обеспечение современного компьютера
Программное обеспечение современного компьютераПрограммное обеспечение современного компьютера
Программное обеспечение современного компьютера
 
3 ivi3 g 3 часть
3 ivi3 g 3 часть3 ivi3 g 3 часть
3 ivi3 g 3 часть
 
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...
Не умеешь - научим". Организация обучения тестировщиков до уровня, необходимо...
 
4 klas informatika_kornienko_2015_ros
4 klas informatika_kornienko_2015_ros4 klas informatika_kornienko_2015_ros
4 klas informatika_kornienko_2015_ros
 
4 информ корниенко_крамаровская_2015_рус
4 информ корниенко_крамаровская_2015_рус4 информ корниенко_крамаровская_2015_рус
4 информ корниенко_крамаровская_2015_рус
 
4 inf kor_2015_ru
4 inf kor_2015_ru4 inf kor_2015_ru
4 inf kor_2015_ru
 
4 inf kor_2015_ru
4 inf kor_2015_ru4 inf kor_2015_ru
4 inf kor_2015_ru
 
Чудо пустого инбокса
Чудо пустого инбоксаЧудо пустого инбокса
Чудо пустого инбокса
 
Практика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиковПрактика организации ИТ-конфереций и других мероприятий для разработчиков
Практика организации ИТ-конфереций и других мероприятий для разработчиков
 

More from Denis Perevalov

Mobile Projections in Urban Spaces
Mobile Projections in Urban SpacesMobile Projections in Urban Spaces
Mobile Projections in Urban SpacesDenis Perevalov
 
Мобильные проекции в городских пространствах
Мобильные проекции в городских пространствахМобильные проекции в городских пространствах
Мобильные проекции в городских пространствахDenis Perevalov
 
Telepresense projects in open spaces
Telepresense projects in open spacesTelepresense projects in open spaces
Telepresense projects in open spacesDenis Perevalov
 
Проекты Telepresense в открытых пространствах
Проекты Telepresense в открытых пространствахПроекты Telepresense в открытых пространствах
Проекты Telepresense в открытых пространствахDenis Perevalov
 
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...Denis Perevalov
 
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...Denis Perevalov
 
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.Denis Perevalov
 

More from Denis Perevalov (9)

Kuflex #1 Exhibition
Kuflex #1 Exhibition Kuflex #1 Exhibition
Kuflex #1 Exhibition
 
Mobile Projections in Urban Spaces
Mobile Projections in Urban SpacesMobile Projections in Urban Spaces
Mobile Projections in Urban Spaces
 
Мобильные проекции в городских пространствах
Мобильные проекции в городских пространствахМобильные проекции в городских пространствах
Мобильные проекции в городских пространствах
 
Telepresense projects in open spaces
Telepresense projects in open spacesTelepresense projects in open spaces
Telepresense projects in open spaces
 
Проекты Telepresense в открытых пространствах
Проекты Telepresense в открытых пространствахПроекты Telepresense в открытых пространствах
Проекты Telepresense в открытых пространствах
 
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...
Шляхова С.И., Визуализация звукового поля с применением камеры и микрофона - ...
 
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...
Шляхова С.И. Визуализация звукового поля с применением камеры и микрофона - п...
 
Обзор курса
Обзор курсаОбзор курса
Обзор курса
 
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.
Распознавание листьев, Агеев П., Кузнецов А., Самойленко М.
 

Программирование будущего - 2015

Editor's Notes

  1. процедурный - подробное описание всех действий. Декларативный - связь между объектами и правила. А программа строится сама.
  2. процедурный - подробное описание всех действий. Декларативный - связь между объектами и правила. А программа строится сама.
  3. процедурный - подробное описание всех действий. Декларативный - связь между объектами и правила. А программа строится сама.