Как начать программировать за 5 минут

Тема уроков программирования поднималась уже не один раз, но многие из таких материалов либо слишком сложны для начинающих, либо требуют дополнительной подготовки и установки различных (зачастую дорогостоящих и занимающих много места) программных пакетов. Можно ли обойтись без всего этого? Можно!

Постараемся обойтись минимумом дополнительной информации, чтобы уже через 5 минут заработала наша первая программа. Итак, приступим.

Введение

Согласно энциклопедии, компьютерная программа – это последовательность инструкций для вычислительной машины. Язык программирования – это формализованный способ записи компьютерных программ. Важно заметить, что самому компьютеру «человеческий» язык не нужен, он прекрасно справляется и с машинными кодами в двоичном формате. Эти коды представляют собой простые инструкции типа: «Взять число по адресу 100, сложить с числом по адресу 101, поместить результат в ячейку 102».

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

Любая программа состоит из, как минимум, двух компонент:

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

Для создания и отладки программ существуют большие и сложные среды программирования, занимающие до нескольких гигабайт на жестком диске, но нам не понадобится ни одна из них. Более того, нам вообще ничего не понадобится – для написания простейшей программы достаточно того инструментария, что имеется в операционной системе Windows. Имеющийся в составе системы браузер имеет возможность выполнения программ на языке Javascript, который мы и используем. Плюсом Javascript является и то, что он имеет современный синтаксис, практически совпадающий с языком С, современными языками C++ и C#.

Первая программа

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

Как можно видеть, текст представляет собой HTML-файл, интересующий нас код программы находится внутри угловых скобок с названием «script». Сохраним файл под названием 01.html. Первая программа готова! Достаточно открыть «Проводник», найти созданный файл и запустить его двойным кликом. Откроется браузер, в котором будут выведены результаты работы программы, а именно текст Hello world (см. второй скриншот).

Объявления переменных

Очевидно, что программа должна что-то делать, например, обрабатывать и выводить различные данные. Для их хранения мы можем объявлять переменные внутри нашей программы. Рассмотрим пример на скриншоте №3.

Вряд ли этот код нуждается в комментариях. Мы создали переменную R, присвоив ей значение 10, и вычислили длину окружности по известной формуле. Обратим внимание на использование оператора «+» при выводе, который позволяет объединять строки в одну.

Циклы

Программа, вроде написанной выше, выполняется линейно, от оператора к оператору. Однако часто бывает необходимо повторить фрагмент кода определенное количество раз, для этого существует цикл for.

Для примера выведем таблицу квадратов и кубов чисел от 1 до 10. Код и результаты его выполнения показаны на скриншотах №№ 4 и 5. Внутренняя часть кода, отделенная фигурными скобками, будет выполнена нужное количество раз, определяемое условием цикла. Результат работы показан на скриншоте №6. Тег BR используется в HTML для перевода строки, что позволяет разбивать таблицу на строки.

Условия

Часто бывает необходимо, чтобы код выполнялся при определенных условиях. Для примера рассмотрим простейший «магический квадрат» – это квадрат размерностью 3х3, сумма чисел в котором по всем строкам и диагоналям одинакова. Выведем такие квадраты с помощью компьютера, для этого нам понадобятся циклы и условие сравнения равенства. Как и в предыдущем случае, код и результаты выполнения можно видеть на скриншотах.

В Javascript, как и в С или С++, для вычисления равенства используется оператор ==, также проверяется дополнительное условие того, что сумма больше 12 (т.к. в диагонали квадрата есть цифра 9 и еще минимум 2 числа, сумма не может быть меньше этой величины). Для выполнения этой программы компьютеру придется «задуматься» на несколько минут, ведь для поиска всех вариантов необходимо перебрать 999999999 значений, что обеспечивается девятью вложенными циклами. Впрочем, именно на таких задачах и проявляется основное преимущества компьютера перед человеческим мозгом – возможность быстрой обработки информации. Хотя надо заметить, что найденный «квадрат» (на скриншоте №7 обведен красным) был известен в Китае под названием «Ло Шу» еще до нашей эры, так что и древние люди были не лыком шиты… Также можно отметить использование переменной count для подсчета найденных квадратов, как только квадрат найден, мы увеличиваем значение переменной на единицу.

Как можно видеть, не все квадраты в списке являются «правильными», ведь проверка чисел на равенство между собой не выполняется. Читатели могут добавить проверку самостоятельно, в виде домашней работы. Поиск квадрата 4х4 также может быть сделан дополнительно, он по сути ничем не отличается, хотя объем вычислений будет еще больше. Так можно получить квадрат Альбрехта Дюрера, изображенный в 1514 году.

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

Желаем читателям интересного знакомства с миром программирования и математики.

Как начать программировать за 5 минут

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

Любую из программ, приводимых в тексте, можно набрать в редакторе Блокнот, сохранить в виде файла с расширением HTML, далее нужно запустить браузер двойным кликом по сохраненному файлу. Все, этого достаточно!

Итак, продолжим.

Математические ребусы

В первой части рассматривался «магический квадрат», точнее способ его получения с помощью компьютера. Рассмотрим пример другой числовой задачи, показанной на первом скриншоте. Нужно решить ребус «МУХА/ХА = УХА», в котором каждая буква соответствует одной цифре. Требуется найти такие цифры, при подстановке которых вместо букв выражение становится верным.

Способ решения с помощью компьютера весьма прост: с помощью циклов for переберем все 9999 вариантов для каждой из 4-х цифр, входящих в слово «МУХА». Используем 4 переменные М, У, Х и А для хранения цифр от 0 до 9, тогда математически первое число можно записать как 1000*М + 100*У + 10*Х + А. Числа ХА и УХА кодируются аналогично, после чего проверить результат достаточно одним сравнением. Код программы показан на рисунке, ответ ребуса приводить не будем, читатели смогут найти его самостоятельно, выполнив программу.

Использование строк

Важным аспектом любого языка программирования является работа со строками. В любом языке существуют такие функции, как получение длины строки, поиск подстроки, преобразование строки в число и пр. Рассмотрим простой пример вывода строки в различных вариантах.

Воспользуемся функциями length и charAt, возвращающими длину строки и символ с нужным индексом. Для начала выведем строку посимвольно, для чего используем цикл for, который пройдет диапазон значений от 0 до length (для тех, кто совсем незнаком с программированием, напомним, что как и в языке «С», нумерация многих объектов в Javascript идет с нуля, т.е. str.charAt(0) вернет первый символ в строке). Код для вывода показан на втором рисунке.

Казалось бы, никакой пользы в этом нет, строку можно вывести и обычным, более простым способом. Однако, усложнив код, мы можем сделать вывод более разнообразным, например, раскрасить каждую букву в отдельный цвет. Для этого воспользуемся HTML-кодом «font color=»#aabbcc»», где aabbcc – это компоненты цвета, вычисляемые случайным образом (поскольку Javascript выполняется в браузере, мы можем для оформления текста использовать тэги HTML). Для получения случайного числа мы воспользуемся функцией Math.random, возвращающей значение в диапазоне от 0 до 1. После запуска программы мы увидим строку, в которой каждая буква раскрашена в свой цвет, как показано на следующем скриншоте.

И наконец, третий способ вывода, который мы используем – вывод строки в обратном порядке. Код отличается от первого варианта всего лишь одной строкой, предлагаем читателям понять разницу самостоятельно.

Использование дат

Возможность работы с датами также есть во всех современных языках программирования. В Javascript для этого существует класс Date, инициализировать который можно двумя способами:

1) var d1 = new Date(1979, 1, 6); – создает объект с указанным годом, днем и месяцем;

2) var d2 = new Date(); – создает объект с текущей датой и временем.

Внутри класс Date хранит время в миллисекундах, воспользуемся этим и напишем простую программу, с помощью которой можно будет узнать количество дней до Нового года. Функция getTime возвращает время в миллисекундах, соответственно, чтобы получить разницу дат, нужно вычесть одно число из другого и результат разделить на 1000*60*60*24 (количество миллисекунд в сутках). Код программы и результаты ее выполнения показаны на рисунке.

В качестве дополнения читателям предлагается модифицировать код так, чтобы он мог работать для любого Нового года, для чего следует в переменную d2 заносить значение года, взятое из переменной d1, справочник по функциям класса javascript:Date можно найти в Интернете.

На этом мы закончим вторую часть. В качестве домашнего задания предлагается решить следующий математический ребус, опубликованный на одном из сайтов – найти числа, спрятанные под символами *, для которых выполняется следующее условие умножения: *** х *2* = **9*2*.

Еще раз напомним, что если при выполнении программы экран браузера пуст, значит, в программе ошибка, и следует проверить текст еще раз.