Презентация

Презентация

vit.panchuk
  1. Ада Лавлейс - первый программист.

2. Всем привет, меня зовут Виталий Панчук и я веб разработчик. Сегодня я собираюсь вам рассказать о программировании.

Первый вопрос который я бы хотел задать - есть ли в зале программисты?

Хех, тогда спешу вас обрадовать - эта лекция не для вас :) можете расслабиться или наоборот попытаться словить мои возможные ошибки

А теперь поднимите руку те, у кого была информатика в школе?

3. В зависимости от года обучения, адекватности учителя и вашей памяти и внимательности на занятиях, вам должна быть знакома хотя бы одна картинка из этих трех.


Слева - "Черепашка". Это обучающая программа для детей, где можно программировать как ни странно черепашку, которая умеет рисовать своим хвостом.

Там были несложные команды типа "опустить перо (то есть хвост)", "поднять перо", идти вперед, повернуть налево или направо.


По средине - блок-схема. По-сути, это схематическое изображения алгоритма, который потом можно будет написать на любом языке программирования.


Справа - код на языке программирования Паскаль. Паскаль - это древнее ископаемое, которое уже лет 15 никому не нужно, но им еще до сих пор пичкают обучающие программы школ и универов.


Все эти картинки - это примеры алгоритма в том или ином роде, но что такое алгоритм?


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


5. Примером алгоритмов где исполнитель - это человек, может быть план эвакуации...

6. ...или даже обычный рецепт приготовления блюда, если он достаточно понятен для исполнителя (не изобилует такими штуками как “по вкусу”, “на глаз”, “довести до полукипения” и “готовить до готовности”).


7. Но мы все таки пришли поговорить о программировании, а не о рецептах, поэтому нужно определится со своим первым языком программирования. Этот вопрос обычно вызывает много споров, но лично я бы рекомендовал такие языки как руби, пайтон или джава скрипт, так как они простые, не требуют много потраченных сил и знаний чтобы просто начать писать код, что идеально для изучения программирования.

Я буду показывать примеры на Руби, так как это мой любимый и родной язык, хотя, далеко уже не первый.

8. И первое о чем мы с вами сегодня поговорим будет переменные и операции с ними.

Переменная (или как когда-то давно Ада Лавлейс ее назвала - рабочая ячейка) - это грубо говоря, ячейка оперативной памяти которая содержит тип данных и само значение.


Большинство языков программирования предоставляют такие типы как:

  • Числа (целые и рациональные) - у нас 5 килограмм яблок и 2 с половиной килограмма ананасов
  • Строки - представляют просто текст. В строки, например, можно вставлять другие элементы. В результате получится: “У нас есть 5 килограмм яблок и 2 с половиной килограмма ананасов.
  • Массивы - это списки каких-то элементов. В данном случаи у нас массив строк. Каждый элемент можно получить предоставляя его порядковый номер. То есть нулевым у нас будут яблоки, а первым - ананасы.
  • Хеш таблицы - это практически то же что и массивы, только за одной особенностью, вместо порядкового номера есть ключ, по которому можно получить какой-то элемент.
  • Булевы или логические переменные - содержат в себе одно из двух значений (правда или ложь).

9. Если переменные - это данные в нашей программе, то дальше пойдут управляющие конструкции, то есть поведение программы.

Функции - это запись каких то команд которые можно потом воспроизвести бесконечное количество раз.


Вот объявление функции: оно состоит из четырех частей: это ее название - “сложить два числа”, это ее аргументы (переменные, нужные для выполнения этой функции) а это ее тело, то есть команды что исполняются когда вызывают эту функцию, также в функции есть результат выполнения, в нашем случаи это результат сложения двух чисел.


А вот вызовы этой функции. Всего мы имеем семь с половиной килограмм фруктов. Два плюс два равно четыре.

Путс - это встроенная функция языка, она просто выводит свой аргумент на экран.

10. Условия - это основная управляющая конструкция, считается что если у языка нет условий - значит это не язык программирования.

Условия бывают двух типов:

Если правда - сделай это, если нет - сделай это.


Если сейчас больше 9 часов и меньше 22, тогда это день, если нет - значит ночь.


Так же есть другой тип условия - если правда - тогда сделай это, если нет - не делай ничего.


Если есть печеньки - переходи на темную сторону.


11. Циклы - это конструкция которая позволяет повторять несколько раз какие-то команды.


Есть два основных типа циклов.


Первый - это когда мы знаем сколько раз нужно повторить команду. 5 раз бибикнул будильник.


Второй - когда мы не знаем сколько раз нужно повторять команду, но мы знаем условие, при котором нужно завершить цикл.


У нас есть 50 монет. Бургер стоит 15. пока у нас есть больше монет чем стоит бургер мы покупаем бургер и его едим.

Как видите, нам хватило только на три бургера, зато осталось 5 монет.


12. Мы уже рассмотрели примеры данных и поведения, которые могут быть в программе, но мы все живем в реальном мире, где нет разделения на данные и действия. Мир полон объектов - вещей которые имеют свои свойства, то есть данные (моими свойствами как человека, являются имя, количество ног, рук, пальцев, мой тембр голоса и так далее), а так же они умеют что-то делать (выполнять функции), например, я, как, человек, умею ходить, прыгать, разговаривать и кормить кота. Представьте, что бы было, если бы данные и действия в реальном мире были разделены - мне чтобы покормить кота нужно было бы положить руку, корм и кота в ящик с подписью “кормить кота”. В большинстве языков программирования есть классы и объекты которые решают эту проблему.

Что такое класс? Класс - это описание всех возможных объектов. Например я - объект Виталий Панчук, а мой клас - человек. Именно в моем классе описано, что я имею свойства такие как имя, количество конечностей и тембр голоса. Так же в моем классе описано что я умею ходить, прыгать и кормить кота. А объект - это уже живое воплощение класса, которое может что-то сделать и имеет значения свойств, то есть имя - Виталик, количество рук - две, количество ног - две.


Для примера я сделал класс Фрукт. Фрукт имеет такие свойства как название, вес, и цена за килограмм. Фрукт имеет такие функции как “инициализация” - то есть создать ячейку в памяти и записать туда все свойства нового объекта. Также имеет функцию “стоимость”. Которая просто умножает вес на цену за килограмм. Еще фрукт имеет функцию “напечатать стоимость” что красиво выведет стоимость на экран.


Ниже объявления объекта яблоки и вызов его функции “напечатать стоимость”.

Дальше объявления объекта “Ананасы” и опять вызов функции “напечатать стоимость”.


Вот что у нас получилось: 20 килограмм яблок стоят 30 долларов, а 15 килограмм ананасов стоят 67 с половиной.


14. Они обычно начинаются с “Научиться программировать с Название языка программирования”. Не купляйте книг, в которых изучают язык программирование. Выучить язык и научиться программировать - разные вещи. После того как вы поймете все управляющие конструкции, разберетесь с типами данных, порешаете простенькие задачки, типа “посчитать углы треугольника имея их стороны”, тогда сможете определится изучать дальше углубленно этот язык, или выбрать другой.

15. Где искать задачи? Идеальный вариант - это кодворс. Это сайт, на котором есть куча упражнений, которые можно выполнять на очень многих языках прямо в браузере.

16. Чем бы вы не занимались, вам все равно может пригодиться программирования. Оно упрощает жизнь. Не обязательно сильно разбираться в программировании чтобы сделать, например, калькулятор вашей зарплаты за месяц, если вы получаете почасовую оплату, или, как например сделал мой друг - написать отцу программу, которая точно считает количество ингредиентов чтобы получить алкоголь нужной крепости. Ну а если вы решили стать программистом - то без знания основ вам точно не обойтись. Учите программирования и будьте счастливы.



Report Page