Основы программирования на rubyEvgeny SmirnovРассказывается об основах программирования на ruby: переменные, типы переменных, операции и пр. В конце приводятся блок-схема решения линейного уравнения.
"Зачем учить F# и как начать: парсим интернет страницу и складываем в базу" А...FwdaysЕсли вам хочется научиться писать код лучше, попробовать что-то новое, увидеть, как же это возможно обходиться без переменных и оператора присвоения. Тогда приходите на мой доклад, и я расскажу вам что такое функциональное программирование и как быстро написать парсер HTML страницы на F#.
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Egor Stremousov3 июня Павел Михайлов и Егор Стремоусов устроили показ слайдов на тему модульных сеток в жизни проектировщиков, дизайнеров и верстальщиков.
В программе: что такое сетки, зачем они нужны, как их создавать и использовать, когда сетки нужны и не нужны, примеры, бурное обсуждение и заряд позитива.
rubygarageVolodymyr VorobiovThis document summarizes the services provided by a web and mobile development company. They have a team of professional developers, designers, analysts and managers who create cloud-based software, web and mobile applications. They take a business idea and turn it into a finished product using their technical and management expertise. Their services include web development, mobile development, UI/UX design, and ongoing product support. They follow agile methodologies like Scrum and emphasize quality, transparency, and technical expertise.
NumBuster! Почему связи между данными важнее самих данных.Evgeny SmirnovЧасто считается, что основную ценность в бизнесе представляют данные. Однако же весьма важными, а, возможно, и наиболее важными с нашей точки зрения являются связи между получаемыми данными, которые позволяют персонализировать работу пользователя и узнать его лояльность по отношению к различным вещам: работе, разным компаниям, сервисам и пр.
Доклад NumBuster! на конференции BigData Russia 2014.
"Зачем учить F# и как начать: парсим интернет страницу и складываем в базу" А...FwdaysЕсли вам хочется научиться писать код лучше, попробовать что-то новое, увидеть, как же это возможно обходиться без переменных и оператора присвоения. Тогда приходите на мой доклад, и я расскажу вам что такое функциональное программирование и как быстро написать парсер HTML страницы на F#.
Егор Стремоусов. Модульная сетка: Что? Где? Когда?Egor Stremousov3 июня Павел Михайлов и Егор Стремоусов устроили показ слайдов на тему модульных сеток в жизни проектировщиков, дизайнеров и верстальщиков.
В программе: что такое сетки, зачем они нужны, как их создавать и использовать, когда сетки нужны и не нужны, примеры, бурное обсуждение и заряд позитива.
rubygarageVolodymyr VorobiovThis document summarizes the services provided by a web and mobile development company. They have a team of professional developers, designers, analysts and managers who create cloud-based software, web and mobile applications. They take a business idea and turn it into a finished product using their technical and management expertise. Their services include web development, mobile development, UI/UX design, and ongoing product support. They follow agile methodologies like Scrum and emphasize quality, transparency, and technical expertise.
NumBuster! Почему связи между данными важнее самих данных.Evgeny SmirnovЧасто считается, что основную ценность в бизнесе представляют данные. Однако же весьма важными, а, возможно, и наиболее важными с нашей точки зрения являются связи между получаемыми данными, которые позволяют персонализировать работу пользователя и узнать его лояльность по отношению к различным вещам: работе, разным компаниям, сервисам и пр.
Доклад NumBuster! на конференции BigData Russia 2014.
Как продвинуть бренд в Instagram с нуля и без особых затратi-Guru digital agencyПрезентация Виктории Самчук, SMM менеджера i-Guru, на конференции "Рекламный марафон"
Основы ооп на языке C#. Часть 2. базовый синтаксис.YakubovichDAРассматриваются базовые понятия и конструкции языка C#:
- структура консольного приложения;
- переменные и типы данных;
- арифметические и логические операторы;
- условные вычисления;
- циклы;
- массивы;
- ввод и вывод данных.
основы ооп на языке C#. часть 1. введение в программированиеYakubovichDAОсновы объектно-ориентированного программирования на языке C#. Часть 1. Введение в программирование.
Рассматривается базовые понятие алгоритмов, блок-схем, объектно-ориентированного программирования на базе платформы .NET Framework.
Лекция #5. Введение в язык программирования Python 3Яковенко КириллWeb-программирование
Лекция #5. Введение в язык программирования Python 3
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Лекция #3. Введение в языки разметки web-страницЯковенко КириллWeb-программирование
Лекция #3. Введение в языки разметки web-страниц
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Лекция #4. Каскадные таблицы стилейЯковенко КириллWeb-программирование
Лекция #4. Каскадные таблицы стилей
Цикл лекций читается в Омском государственном университете им. Ф.М.Достоевского на факультете компьютерных наук.
Лектор: Яковенко Кирилл Сергеевич.
Внедряем MOOC'и на уроке информатикиEvgeny Smirnov1. Какие бывают MOOC'и?
2. Какие платформы существуют?
3. Какие курсы полезны для учителя информатики?
4. Метрики по результатам эксперимента в 2014-2015 годах.
Инновации которые не мешаютEvgeny SmirnovПрезенетация с выступления на Арене #ИТНШ 2017: зачем нужны инновации, какого типа бывают инновации, как их искать и как их внедрять?
Порядок и хаос в Солнечной системеEvgeny SmirnovПрезентация на фестивале "Пулковский меридиан" (Смирнов Е.А.) об устройстве, порядке и хаосе в Солнечной системе. Рассматриваются представления человечества, начиная с Древних времён и до наших дней. Особое внимание уделено хаотической динамике астероидов.
Мобильные приложения в образованииEvgeny SmirnovПрезентация для семинара о том, как использовать мобильные приложения Plickers & Lumosity в образовании.
Промо-презентация для мастер-класса "Образовательные и игровые платформы в по...Evgeny SmirnovМастер-класса "Образовательные и игровые платформы в помощь учителю и методисту", конференция "Информационные технологии для Новой школы", РЦОКОиИТ, 2014.
Образовательные и игровые платформы в помощь учителю и методистуEvgeny SmirnovСуществующий формат образования, подразумевающий достаточно длительные уроки, большое количество материала для запоминания и стандартную систему контрольных работ, не является оптимальным в XXI веке. Интернет и другие современные технологии, а также наличие игровых и соревновательных элементов, позволяют сделать обучение для детей более интересным, повысить его эффективность и улучшить понимание предмета. Электронные видео-материалы дают возможность повторить и закрепить пройденный в школе материал в привычной для подростка форме. Всё это позволит сделать образование более подходящим по стилю и духу для современных детей.
1. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Объектно–ориентированное программирование
Информатика
10-11 классы
26 февраля 2012 г.
Информатика 10-11 классы Объектно–ориентированное программирование
2. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Что такое ООП?
Динамическое и функциональное виды программирования,
как известно, решают весьма важную задачу разделения
бизнес–логики приложения от низкоуровневых алгоритмов.
Когда мы используем автомобиль, мы не задумываемся о
его устройстве, а просто используем различные способы
управления.
При этом даже те инженеры, которые разрабатывают
автомобили, имеют свои специализации: часть занимается
двигателем, часть — дизайном, часть — безопасностью, а
кто-то — и концепцией в целом.
Информатика 10-11 классы Объектно–ориентированное программирование
3. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Что такое ООП?
Концепция объектно–ориентированного программирования
(ООП) предлагает оперировать в программе не
переменными и функциями, а объектами.
Всё в программе является объектами.
У объекта имеются свойства и методы.
Свойства представляют собой переменные,
принадлежащие объекту.
Методы — функции, позволяющие получить / изменить
информацию об объекте.
Информатика 10-11 классы Объектно–ориентированное программирование
4. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Объект Кот
Информатика 10-11 классы Объектно–ориентированное программирование
5. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Какие свойства есть у кота?
Информатика 10-11 классы Объектно–ориентированное программирование
6. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Свойства кота
Порода
Цвет
Рост
Возраст
Дата последнего кормления
Дата последнего поглаживания
Дата последнего мяукания
...
Информатика 10-11 классы Объектно–ориентированное программирование
7. Что такое ООП Кот Другие животные Наследование Примеры Задания References
А методы?
Информатика 10-11 классы Объектно–ориентированное программирование
8. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Методы кота
Мяукнуть
Поесть
Потребовать погладить
Погулять
...
Информатика 10-11 классы Объектно–ориентированное программирование
9. Что такое ООП Кот Другие животные Наследование Примеры Задания References
А что с другими животными?
Информатика 10-11 классы Объектно–ориентированное программирование
10. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Упс, не то
Информатика 10-11 классы Объектно–ориентированное программирование
11. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Собака
Информатика 10-11 классы Объектно–ориентированное программирование
12. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Сравнение свойств Кота и Собаки
Порода Порода
Цвет Цвет
Рост Рост
Возраст Возраст
Дата последнего Дата последнего
кормления кормления
Дата последнего Дата последнего
поглаживания поглаживания
Дата последнего Дата последнего
мяукания гавкания
Информатика 10-11 классы Объектно–ориентированное программирование
13. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Сравнение методов Кота и Собаки
Гавкнуть
Мяукнуть
Поесть
Поесть
Потребовать погладить
Потребовать погладить
Погулять
Погулять
Выгуляться
Информатика 10-11 классы Объектно–ориентированное программирование
14. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Домашние животные
Информатика 10-11 классы Объектно–ориентированное программирование
15. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Принцип наследования
Общие свойства и методы объектов можно
вынести в класс–родитель. Все
“дети”–наследники автоматически получают их.
Информатика 10-11 классы Объектно–ориентированное программирование
16. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Схема наследования
Родитель: Домашнее животное
Наследник: Кот Наследник: Собака
Информатика 10-11 классы Объектно–ориентированное программирование
17. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Несколько нудных терминов
Одинаковые объекты являются экземплярами класса.
Кот — это, на самом деле, класс.
А вот, например, кот Вася — это объект, то есть,
представитель класса.
Класс — это программная структура.
В программе мы сначала создаём класс, а потом уже
создаём (инстанцируем) объекты.
В ruby всё что угодно является объектом. Даже число 5,
строка “мама мыла раму” и пр.
Информатика 10-11 классы Объектно–ориентированное программирование
18. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Класс Многоугольник
Создадим класс Многоугольник.
Базовые свойства фигуры: стороны фигуры, углы,
периметр, площадь и др.
Методы: посчитать площадь, посчитать периметр, найти
радиус описанной окружности и др.
Фигуры бывают разные: треугольник, четырёхугольник
(среди которых тоже есть квадрат, ромб и пр.)
У каких-то фигур мы знаем, как считать площадь и пр., а
у каких-то — нет.
Напишем программу.
Информатика 10-11 классы Объектно–ориентированное программирование
19. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Класс Многоугольник
Listing 1: Класс Многоугольник
c l a s s Polygon
attr_accessor : sides , : corners ,
: perimeter , : square
def perimeter
@ p e r i m e t e r = @ s i d e s . i n j e c t ( 0 ) { | r e s , elem |
r e s + elem }
end
d e f num_points
@sides . s i z e
end
end
Информатика 10-11 классы Объектно–ориентированное программирование
20. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Пояснения к классу
Методы класса определяются точно так же, как и обычные
функции. Отличий нет.
Свойства класса мы будем определять через специальную
конструкцию attr_accessor. Не вдаваясь в детали, просто
перечислим все свойства–переменные. Обратите внимание,
что они начинаются со знака “двоеточие”.
Чтобы внутри метода обратиться к свойству, нужно перед
его (свойства) названием поставить знак @.
В данном классе мы определяем методы perimeter и
num_points (количество вершин). Мы специально метод
perimeter назвали одинаково со свойством, чтобы при
вызове obj.perimeter происходило автоматическое
вычисление.
Информатика 10-11 классы Объектно–ориентированное программирование
21. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Используем класс Polygon
Listing 2: Использование Polygon
f i g = P o l y g o n . new
fig . sides = [2 ,4 ,2 ,4]
f i g . c o r n e r s = [ 9 0 , 90 , 90 , 90]
puts f i g . perimeter
Для создания экземпляра класса используется конструкция CLASS.new.
Аналог — ручное создание массивов и хэшей.
Некоторые свойства мы задаём вручную.
Также, как и массивами, для вызова методов и свойств используем
разделитель–точку.
Информатика 10-11 классы Объектно–ориентированное программирование
22. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Класс Triangle
Listing 3: Класс Triangle
c l a s s T r i a n g l e < Polygon
def square
pp = s e l f . p e r i m e t e r /2
( pp ∗ ( pp − s i d e s [ 0 ] ) ∗ ( pp−s i d e s [ 1 ] ) ∗
( pp−s i d e s [ 2 ] ) ) ∗ ∗ 0 . 5
end
end
t r = T r i a n g l e . new
tr . sides = [3 ,4 ,5]
puts t r . square
puts t r . perimeter
Информатика 10-11 классы Объектно–ориентированное программирование
23. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Разбор класса Triangle
Аналогично создаём класс Triangle, являющийся
наследником класса Polygon.
Для наследования используем конструкцию: Наследник <
Родитель.
Все методы и свойства класса Polygon автоматически
появились в классе Triangle.
Отдельно определяем по формуле Герона площадь
треугольника.
Итого, теперь в треугольнике мы можем посчитать и
площадь, и периметр.
Информатика 10-11 классы Объектно–ориентированное программирование
24. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Разбор класса Triangle
Разберёмся в конструкции self.perimeter.
self означает текущий объект, то есть тот объект, для
которого вызывается метод или свойство.
self.sides — замена @sides.
Однако вызвать метод со знаком @ не получится. Для
этого и используем конструкцию self.
self.perimeter вызывает метод perimeter для текущего
объекта.
Задание. В чём отличие записи @perimeter от
self.perimeter? Одинаков ли будет результат. Если нет,
приведите пример.
Информатика 10-11 классы Объектно–ориентированное программирование
25. Что такое ООП Кот Другие животные Наследование Примеры Задания References
Задания
Написать класс Прямоугольник — наследник Polygon.
Определить в нём метод подсчёта площади. Проверить
корректность его работы.
Написать в классе Прямоугольник метод, определяющий,
является ли прямоугольник квадратом. Метод должен
возвращать булевский ответ. Проверить корректность
работы метода.
Создать в классе Треугольник метод, проверяющий,
является ли данный треугольник прямоугольным.
Проверить корректность работы метода.
Информатика 10-11 классы Объектно–ориентированное программирование
26. Что такое ООП Кот Другие животные Наследование Примеры Задания References
References
При подготовке данного материала использовались сайты:
http://ru.wikibooks.org/wiki/Ruby, http://rubydev.ru,
http://en.wikipedia.org, http://ruby-lang.org,
http://de.trinixy.ru/, http://www.krassotkam.ru/,
http://gen.su/.
Все презентации доступны на http://school.smirik.ru!
Вопросы, предложения, д/з: smirik@gmail.com
Информатика 10-11 классы Объектно–ориентированное программирование