Любую из программ, приводимых в тексте, можно набрать в редакторе Блокнот, сохранить в виде файла с расширением HTML, далее нужно запустить браузер двойным кликом по сохраненному файлу. Все, этого достаточно!
Итак, продолжим.
Математические ребусы
В первой части рассматривался «магический квадрат», точнее способ его получения с помощью компьютера. Рассмотрим пример другой числовой задачи, показанной на первом скриншоте. Нужно решить ребус «МУХА/ХА = УХА», в котором каждая буква соответствует одной цифре. Требуется найти такие цифры, при подстановке которых вместо букв выражение становится верным.
Способ решения с помощью компьютера весьма прост: с помощью циклов for переберем все 9999 вариантов для каждой из 4-х цифр, входящих в слово «МУХА». Используем 4 переменные М, У, Х и, А для хранения цифр от 0 до 9, тогда математически первое число можно записать как 1000*М + 100*У + 10*Х + А.
Использование строк
Важным аспектом любого языка программирования является работа со строками. В любом языке существуют такие функции, как получение длины строки, поиск подстроки, преобразование строки в число и пр. Рассмотрим простой пример вывода строки в различных вариантах.
Воспользуемся функциями length и charAt, возвращающими длину строки и символ с нужным индексом. Для начала выведем строку посимвольно, для чего используем цикл for, который пройдет диапазон значений от 0 до length (для тех, кто совсем незнаком с программированием, напомним, что как и в языке «С», нумерация многих объектов в Javascript идет с нуля,
Казалось бы, никакой пользы в этом нет, строку можно вывести и обычным, более простым способом. Однако, усложнив код, мы можем сделать вывод более разнообразным, например, раскрасить каждую букву в отдельный цвет. Для этого воспользуемся 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*.
Еще раз напомним, что если при выполнении программы экран браузера пуст, значит, в программе ошибка, и следует проверить текст еще раз.