А вы - уже программист. Только - не осознаёте этого.
То, что я пишу здесь, я говорил не одному десятку студентов, пытавшихся доказывать мне, что научиться программированию невозможно. Которые вникли в суть объяснения - освоили азы программирования на языке Pascal за пару часов. Которые не захотели вникнуть - ну, флажок запрета прерываний им на центральный процессор...
Итак, несколько примеров программирования в повседневной жизни.
Чай (версия линейного программирования):
1.Открыть чайник.
2.Подставить чайник под водопроводный кран.
3.Открыть кран.
4.Набрать в чайник воды.
5.Закрыть кран.
6.Установить чайник на "блин со шнуром".
7.Нажать "Вкл".
8.Отыскать пакетик чая.
9.Бросить пакетик в чашку.
10.Залить кипятком.
11.Положить сахар.
12.Размешать.
13.Употребить.
Всё, имеете готовую программу для устройства Homo Sapiens (made from you father and mather), причём на понятном для этого устройства языке программирования.
Несколько улучшенная версия - с условными переходами:
Чай (upgraded)
1.Открыть чайник.
2.Количество воды в чайнике достаточно для чашки чая? Если да - идём к п.6, если нет - идём к п. 3.
3.Подставить чайник под водопроводный кран.
4.Открыть кран.
5.Из крана вода потекла? Если да - идём к п.2, если нет - идём к п.17.
6.Кран закрыт? Если да - идём к п.8, если нет - идём к п.7.
7.Закрыть кран.
8.Установить чайник на "блин со шнуром".
9.Нажать "Вкл".
10.Индикатор сети засветился? Если да - идем к п.11, если нет - идём к п.19.
11.Отыскать пакетик чая. Нашёл? Если да - идём к п.12, если нет - идём к п.21.
12.Бросить пакетик в чашку.
13.Чайник закипел? Если да - идём к п.14, если нет - идём к п.13.
14.Лить кипяток в чашку. Достаточно? Если да - идём к п.15, если нет - идём к п.14.
11.Сахар есть в этом доме? Если да - идём к п.13, если нет - идём к п.12.
12.Чёрт с ним, пьём чай без сахара? Если да - идём к п., если нет - идём к п.21.
13.Положить в чай сахар.
14.Размешать.
15.Употребить.
16.Перейти к п.22.
17.Упомянуть матерь горводоканала.
18.Перейти к п.22.
19.Упомянуть матерь горэлектросети.
20.Перейти к п.22.
21.Упомянуть собственную матерь и матерь собственного склероза.
22.Завершить чаепитие.
Эти все действия мы совершаем настолько автоматически, что нам не надо даже задумываться над алгоритмом. Он уже "запрограммирован", причём не столько в башке, сколько уже в руках.
Мы программируем всюду и везде. Раздеваясь перед сном и заводя будильник. Просыпаясь утром от этого сволочного будильника, одеваясь, готовя себе утренний чай, собирая ребёнка в детсад. Переходя улицу. Управляя своим Лексусом (или тем более - Жигулёнком). На работе. В магазине. И прочая, и прочая...
Программируем - и тут же исполняем. А поскольку "под себя" программируем - на соответствующем языке это делаем. На языке образов, запахов, вкусов, тактильных ощущений. Ну и слов, естественно, тоже. Никогда не ловили себя на том, что мысленно рассказываете себе, что сейчас надо делать?
Итак, микрорезюме.
Программирование суть перевода описания необходимых действий с языка, понятного человеку, на язык, понятный компьютеру.
"Азы" и "буки" этих языков в литературе описаны. Вместе с "разборкой полётов" на предмет составления алгоритмов и перевода этих самых алгоритмов на "машинопонятный" язык. Читайте. Изучайте. Пробуйте. Ошибайтесь. Получайте от компа "в тыкву". Делайте выводы, исправляйте ошибки.
Дорогу осилит идущий!
И, собственно, ответ на поставленный вопрос. Поскольку сейчас "в тренде" язык программирования Си - могу порекомендовать:
Название: Язык программирования C++. Лекции и упражнения, 6-е издание
Автор: Стивен Прата
Издательство: Вильямс
Год: 2012
ISBN: 978-5-8459-1778-2
Начать надо с того, что для того, чтобы выучится на программиста надо иметь аналитический и математический склад ума и большое желание посвятить этому делу много времени.
Самы доступный метод обучения - это пойти на курсы для начинающих. Такие курсы сейчас есть практически в каждом городе. Там вам дадут основы, вы попробуете разные методы программирования и определитесь, какая именно область интересная вам.
А областей этих множество - от простой верстки сайта до программирования игр и разработки мобильных приложений.
Книги тоже полезно читать, но более важно пробовать что-то делать на практике, пусть даже простое, а это вы как раз сможете на курсах.
Добавить комментарий