Любую из программ, приводимых в тексте, можно набрать в редакторе Блокнот, сохранить в виде файла с расширением 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*.
Еще раз напомним, что если при выполнении программы экран браузера пуст, значит, в программе ошибка, и следует проверить текст еще раз.
Олег Антонов
С часами даже прикольней, но из унитаза легче рукою достать. Вот ежели это выгребная яма, то тогда ДА УЖ...
0 Ответить
Олег Антонов
Может быть, может быть…"интеграл от х по dx равен икс в квадрате пополам".
Математики в моем профпредмете немного, да и по жизни как-то не понадобилась… Так что неточности (вплоть до ошибок) при изложении «навеянного» вполне могут быть.
Кстати, о математике:
Встречает профессор своего любимого (лет 10 тому назад выпущенного) студента и спрашивает:
- Вот высшая математика, которую я Вам читал, – предмет такой абстрактный – по жизни взрослой Вам хоть пригодился?
Бывший студент задумавшись:
- А знаете, профессор, ПРИГОДИЛСЯ ! Правда, всего 1 раз. Выхожу я как-то из своего офиса, иду к своему мерсу, а тут порыв ветра срывает мне шляпу и та закатывается за заборчик. Так я взял проволоку, изогнул ее в виде интеграла и шляпу таки достал…
0 Ответить
Марианна Власова
читать дальше →
0 Ответить
НАВЕЯНО:
Два математика в ресторане поспорил насколько хорошо знают математику большинство людей. Один (пессимист утверждал, что большинство ее вообще не знает, а другой (оптимист) - что хоть не много, но знают. Когда пессимист отошел в туалет, оптимист подозвал симпатичную официантку-блондинку и говорит
- Когда мой коллега вернется, я задам вам вопрос. Суть не важна. Все, что вы должны сделать - это сказать «Треть икс куб».
- Как-как? Третий скуп? - переспрашивает официантка.
- Да нет, треть икс куб, понятно?
- А-а! Третик скуп? - повторяет официант ка.
- Да, да. Это все, о чем я вас прошу. Официантка уходит, твердя про себя, ка заклинание фразу «Третик скуп».Тут возвращается пессимист. Оптимист говорит - Давай спросим у нашей официантки, чему равен какой-нибудь простенький интеграл Пессимист со смехом соглашается. Оптимист вызывает официантку и спрашивает
- Извините, вы не помните, чему равен интеграл от х по dx?
- Треть икс куб... - отвечает официантка. Пессимист сильно удивлен, оптимист весело смеется.
Официантка отходит на несколько шагов, и, обернувшись через плечо, добавляет:
- ...Плюс константа.
Немая сцена.
0 Ответить
Василий Россихин, навеяно комментарием - Два математика в ресторане поспорили насколько хорошо знают математику большинство людей.
Насколько я помню, интеграл от х по dx равен икс в квадрате пополам. Ну и плюс константа...
0 Ответить
Олег Антонов, точно так.
А в анекдоте опечатка просто, должно было быть x^2 по dx, насколько я помню.
0 Ответить
читать дальше →
0 Ответить
Статья интересная, но смысла особого не увидел в ней. Т.к. по ним действительно программировать не научишься, хотя просто как для развития своего ума и кругозора вполне подойдет. Возможно это всего лишь мое мнение, как профессионального программиста, увлеченного своим делом и профессией, который творит (именно творит) программы на работе и дома занимается своими интересными проектами (кто-то пишет программы для мобильных приложений, кто-то создает интересные сайты).
Главное, чтобы было интересно и полезно!
0 Ответить
Даниил, в заголовке статьи изначально было слово "продолжение" но редакторы его почему-то убрали. А т.к. это не первая часть, то действительно выглядит несколько оторванным от контекста, но тут уже ничего поделать не могу.
0 Ответить
Для кого написано? Действительно начинающий по такой статье ничему не научится, ничего не объясняется толком же.
0 Ответить
Написано для тех, кто давно хотел попробовать, но то влом то некогда и пр.
Объяснить "на пальцах" каждую строчку кода действительно нереально, все-таки чтобы начать, читающему надо приложить какие-то усилия и до каких-то моментов додуматься самостоятельно. Хотя языки программирования более-менее интуитивно понятны, не ассемблер же все-таки, и думаю, разобраться при желании можно.
Ну и кстати, Javascript оказался вполне удобным инструментом когда надо быстро что-то проверить, тот же ребус например для школьной олимпиады, а никакой среды программирования на компе нет а искать/ставить влом.
0 Ответить
Дмитрий Елисеев, почитал первую статью и понял, что статьи неплохие, если их рассматривать именно как пример программирования без специализированных сред, для людей, которые владели хотя бы бейсиком.
P.S.: Поностальгировал, нашел старое свое баловство, игру "15" на Javascript, запустил, она работает под ChromePlus и Windows 7. А писалась для IE 3.0 и Windows 95. Игрушка с меняющимися фишками, можно вместо фишек голых девушек собирать.
0 Ответить
!
Оценка статьи: 5
0 Ответить