БлогNot. Блог ПерСа

Помощь дата->рейтинг Поиск Почта RSS канал Статистика nickolay.info Домой

javascript числа графика цвет алгоритм c++ памятка studio математика образование шахматы форум сервер html безопасность учебное список программирование игра english деградация общество вселенная статистика сервис браузеры css картинка поиск цензура мошенничество ретро google word патч искусство православие дата excel эзотерика люди php random фантастика тоталитаризм россия firefox кино книги маразм все теги все комментарии


[1-15] [16-30] ... [1786-1800] [1801-1807]


Прикреплённое сообщение, правила и всё такое

Остеклить балкон, лоджию в Новосибирске? Проверено, Вам сюда

Encoding: Windows-1251 (Russian). Для полноценной работы блога нужны включённые в браузере картинки + JavaScript + Cookies.
Если картинки выключены: Поиск ::: Статистика ::: Помощь ::: E-mail ::: RSS ::: Nickolay.info
Ссылки, открывающие новое окно (вкладку), подсвечены.

Даже по законам Эрефии этот блог не является СМИ, все сообщения выражают личную точку зрения автора блога и являются оценочными суждениями, при этом любые совпадения мест, имён, названий и действующих лиц далеко не случайны. В блоге нет файлов, способных нанести вред Вашему компьютеру или мобильному устройству. Если Вам не исполнилось 18+, срочно отвалите отсюда, прикиньтесь ветошью и не отсвечивайте покиньте этот блог. Учтите, что читая его, Вы вторгаетесь на мою личную территорию :) Страница статьидалее...
19.01.2038, 15:15 [10540]


Javascript: общая площадь окружностей или сколько цветных пикселов на картинке

Расчёты общей площади или пересечения, образуемого несколькими фигурами, пусть даже просто окружностями, достаточно трудоёмки. Грубый Brute Force, хотя у него в данном случае сложность N2, зачастую оказывается более быстрым и очевидным решением - почему бы, к примеру, просто не отрисовать нужную картинку на чёрном и затем подсчитать долю не-чёрных пикселов на ней?

Разумеется, само приведение к конечным по размерности пикселам вместо аналитических формул тоже вносит свою погрешность, но уже на сетке 100 на 100 и выше она вполне приемлема.

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

Пример можно выполнить в любом современном браузере, сохранив его как файл типа .html Страница статьидалее...
20.10.2017, 23:21 [8]


C++: алгоритм QuickSelect

Старый добрый алгоритм QuickSelect (по-русски), получается, уже заложен в новые стандарты C++ как nth_element?

По крайней мере, этот код работает в консоли Studio 2015, чем не сортировка :) Страница статьидалее...
19.10.2017, 15:25 [9]


Ищем все магические квадраты 3 на 3 и 4 на 4

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

Но вот кода, который бы вывел все магические квадраты, я не нашёл нигде.

Под "всеми квадратами" я имею в виду, по сути, только размерности три на три и четыре на четыре, так как квадрат 1 на 1 - вырожденный случай, магических квадратов 2 на 2 не существует, а при размерности больше четырёх количество квадратов явно не поддастся возможностям "персоналки" :)

Ниже показана программа на C++, выводящая в консоль все 8 магических квадратов третьего порядка. На самом деле, квадрат всего один, если считать с точностью до поворотов и отражений. Программа проверена в консоли Visual Studio 2015, работает. Страница статьидалее...
14.10.2017, 21:53 [46]


Нужны ли шахматы в школе?

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

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

Если бы меня в детстве заставили учить шахматы,я бы их возненавидел точно так же как и пианино с лыжами,причём на всю оставшуюся жизнь.
шаолинь
Не пойму чему шахматы могут научить ребенка? Самостоятельному мышлению? Сомневаюсь. Я научился играть в шахматы очень поздно - в 15 лет (тут не имеется ввиду правила шахмат) и кроме как неприятностей в учебе, больше ничего не получил от них. Да, я дюблю шахматы, но обьективно, если бы я не увлекался информационными технологиями, то так и представляю как бы я учил детей в какой нибудь грузинской школе за 100$ в месяц. В Грузии кстати, шахматы обязательный предмет. Да, шахматы это хороший вид досуга, как и футбол, хоккей, но никак не обязательный предмет в образовании. Как внеклассный предмет - да, можно для желающих.
Maestrovaso
Занятия шахматами могут научить ребенка играть в шахматы,только и всего.
echo2011
Совсем запутались в скрепах слуги государевы, всё мудрят чего-то. Обязательная программа, необязательная программа, факультатив, внеклассное чтение, баллы для ЕГЭ, вместо физкультуры, вместе с ГТО, вместо ГТО. Полезно, неполезно. Устроили тут «ромашку»! Методички от Минобрнауки какие-то, прямо как в Госдепе. Вы определитесь уже, мы кого на Святой Руси воспитываем — дебилоидов, мракобесов, патриотов или будущих «навальнят»?! Давно пора издать единый «Православный учебник шахматной игры». С напутственным словом патриарха в предисловии, фото и цитатами президента под диаграммами, в вариантах и по всему тексту. И в светлое завтра, и дело с концом! Аминь.
Makler
Как раз в своём нынешнем виде шахматы не воспитывают самостоятельное мышление, а наоборот. Оттого их и поощряют...
Андрей Девяткин

Мой скромный коммент тоже есть:

Это они не подумавши сделали... Шахматы стратегическое мышление, индивидуализм и критичность развивают, а кто тогда за ЕдРо голосовать будет?
С другой стороны, если снова и снова упорно внушать детям, что всегда существует лучший выбор хода или галочки в ЕГЭ, может, и будут.
Лишь бы не додумались, что свои свободы надо формировать или завоёвывать самому, а не выбирать между двумя подсунутыми тебе охапками сена.
На Таганке с 14-го скрепного года детям показывают "Чиполлино", где в конце овощи не устраивают революцию, а пишут принцу Лимону челобитную, после чего тот отменяет собственные несправедливые указы и остаётся и дальше править своим волшебным королевством :)
Шахматы в школе будут примерно из той же оперы, всё от "правильной методички" зависит, раз уж "учить сможет любой".

Но заметка не ради этого, а для Саловского коммента, как всегда, бьющего не в бровь, а в ухо: Страница статьидалее...
14.10.2017, 17:03 [46]


Javascript: строим диаграмму Вороного

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

диаграмма Вороного, пример
диаграмма Вороного, пример

Ну а ниже показан небольшой онлайн-сервис, который умеет эти диаграммы строить. Точка добавляется кликом мыши, цвета областей случайны с избеганием слишком тёмных оттенков. Также избегается добавление точки, "слишком близкой" к одной из существующих. Для начала работы кликните в любом месте канвы... хотя бы 2-3 раза в разных местах :)

Конечно, в сети есть решения куда круче, но они и куда длиннее плюс лишены возможности самому расставить точки.

В исходнике можно попытаться поменять переменную metrics и посмотреть, как будут выглядеть области при использовании вместо обычной евклидовой метрики (значение metrics равно 1, по умолчанию) манхэттенского расстояния (при значении metrics, равном 2) или нормы Минковского (для metrics, равного 3) . Страница статьидалее...
13.10.2017, 16:54 [74]


Javascript: рисуем множество Жюлиа

Если мы что и знаем о множествах Жюлиа, обычно это лишь то, что "они красивые", ну, вот такие примерно:

множество Жюлиа, картинка
множество Жюлиа, картинка

Ниже приложен небольшой сервис, позволяющий изобразить точки из окрестности множества примерно так, как это делается в "Вики".

Похоже чем-то на мандельбротщину, но не в Маткаде, а прямо онлайн и цветное.

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

Большинство этих конфигураций будут "мёртвые", но вы можете попытаться найти и "живые" :) Если получится что-то красивее, чем картинка по умолчанию - отпишитесь с цифрами настроек, для этого в скрипте есть кнопка "Записать", выводящая нужную строку текста, например

Итераций: 1000, Размер канвы: 800, Коэффициенты: -0.7, 0.7, -0.8, 0.8, 0.285, 0.01

Кнопка "Сброс" возвращает настройки по умолчанию. Страница статьидалее...
12.10.2017, 14:28 [73]


Используем Javascript и XMLHttpResult для получения данных из файла на сервере

Наверное, вот такого с поддержкой старых браузеров или как здесь у меня уже делать не требуется, XMLHttpResult поддерживается всеми браузерами, с другой стороны, проверка ошибок всё же нужна.

Напишем небольшой пример, получающий средствами современного Javascript данные из расположенного на сервере файла в формате JSON, выполняющий разбор этих данных и выводящий их в текстовом виде в элемент <textarea> страницы. Можно выводить и в виде HTML, Тогда просто используйте вместо текстовой области <div> с id="XMLHttpResult" и пишите туда текст с тегами так же, как в прилагаемом коде.

Почему данные рекомендуется хранить в JSON?

Это простой, удобный и читабельный формат, достаточно выполнить JSON.stringify() и яваскрипт-объект становится "джейсоном", и наоборот, JSON.parse() превращает строку обратно в объект. "Чистый" XML таких преимуществ не имеет.

Вот полный код файла index.html: Страница статьидалее...
12.10.2017, 11:50 [65]


С++: Ввод динамической матрицы через cin с проверкой корректности данных

Продолжаем серию учебных заметок, которых где-то не хватало раньше :)

В первом примере - как выделить память под динамическую матрицу из элементов типа double операторами new, затем заполнить матрицу вводом с клавиатуры через cin, проверяя корректность типа данных без использования try-catch или иных "не-школьных" конструкций. Затем матрица выводится в консоль.

Второй листинг показывает, как передать динамическую матрицу параметром функции. Матрица формируется "ручным" присваиванием элементов. Сама функция с именем maxRows формирует и возвращает новый вектор, составленный из максимальных элементов строк матрицы или NULL, если не удалось выделить память.

Оба приложения проверены в консоли Studio 2015, работают. Страница статьидалее...
10.10.2017, 21:03 [74]


Делаем ListBox с редактированием элементов

Вообще-то, элементы базового списка ListBox "на месте" не редактируются, для этого можно использовать ListView или табличные компоненты. Тем не менее, можно, например, выводить текстовое поле в том месте, где находится выбранный элемент списка и выполнять редактирование непосредственно в TextBox, по завершении редактирования передавая информацию обратно в список.

На форму добавлен TableLayoutPanel из 2 столбцов и 1 строки, относительная ширина столбцов равна 75% и 25%, выравнивание Dock = Fill.

В левую ячейку поместили список ListBox, а в правую - панель для кнопок Panel, также поставив им свойство Dock=Fill.

Кроме того, у ListBox установлено свойство ScrollAlwaysVisible=True (полоса прокрутки).

На панель поместим 3 кнопки Button с именами Name = addButton, deleteButton, editButton, у всех них установлено Dock = Top.

Вот вид формы в конструкторе: Страница статьидалее...
08.10.2017, 16:30 [119]


Пишем простой ИИ для шахмат на Javascript

...с условием, что данный AI будет играть получше, чем вот это, хотя насчёт этого не уверен :)

1. Генерация ходов и отрисовка доски

Эти рутинные задачи способны съесть значительную часть времени разработки.

К счастью, в последние годы появились прекрасные готовые библиотеки для шахмат на JS:

Сами картинки с шахматными фигурами легко найти где угодно.

Для работы понадобится также общепринятая сегодня Javascript-библиотека JQuery, можно скачать и её, но мы просто подключим её извне.

В программе нам останется сделать что-то вроде:

var game = new Chess();
var board = ChessBoard('board', cfg);

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

Начнём с функции, которая выберет случайный ход из всех возможных, она не слишком интеллектуальна, но отправной точкой может служить, своего рода Monkey Chess: Страница статьидалее...
05.10.2017, 14:32 [190]


Почему Земля плоская

"Я видел книжки, их много, значит, сочинять их тоже просто" (С)

Итак, лучшей телепрограммой года признан шыдевр о плоской Земле, что доставляет. В Вики вот здесь можно почитать про Общество плоской Земли и найти в инете многочисленные "доказательства", вдруг уверуете, чо :)

Увы, "уверовавшие" уже есть и в моём круге общения, и такие вещи случаются всё чаще, причём не только в заповеднике "духовных скрепок", но и в ещё недавно "свободном мире".

Глобальная причина - мы не заметили, как "опережение социальным временем биологического" привело к тому, что буквально за поколение классическое образование потеряло смысл своего существования - зачем оно нужно, если нет ясной перспективы жизни и вертикальных связей в обществе?

И социализмы-капитализмы тут не при чём.

Англоязычные учебники 60-х-70-х гг прошлого века почти не отличались от советских, дававших цельную научную картину мира и заставлявших доказывать теоремы. Но на рубеже 80-х с 90-ми школьные программы в Европе и США "внезапно" кардинально поменялись.

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

На территории СССР в то же время бушевала "перестройка", также опережающими темпами уничтожавшая образование и науку (процесс, как ни странно, не закончен до сих пор, очень уж широк и приспособлен к выживанию оказался слой образованных советских и постсоветских людей, и вымирают они медленнее, чем хотелось бы "реформаторам").

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

Но уподобляться клоунам, дезориентирующим людей, не будем. Бесспорно-то одно - глубинный процесс оболванивания продвигается вполне успешно по обе стороны "железного занавеса". Только одно из контактиковых русскоязычных "Обществ плоской Земли" насчитывает почти 30000 участников, а первое попавшееся "их" классическое видео в тему имеет 284 тысячи плюсов против 19 тысяч минусов :)

Да, пока ещё рэперы-учёные опровергают просто рэперов, а уровень ролика "Современное абразаванье" достигнут не везде. Но покуда американцы "изображают невесомость на тросиках" , на таких же тонких тросиках зрительных нервов держатся и наши критерии различия истины от лжи, более глубокие-то основания в "мире невидимом" мы утратили. Страница статьидалее...
04.10.2017, 13:00 [167]


Javascript: строим частотную таблицу символов "на лету"

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

Вот скрипт в работе, а ниже показан полный исходник:

Введите или вставьте текст:

Результаты:

"Лишние" запятые в начале строк результата - потому что мы выводим в <textarea> непосредственно map, загрузке результата в Excel или ещё куда они особо не помешают.

Табуляция и перевод строки заменяются своими "текстовыми" обозначениями TAB и NEWLINE, так что можно заодно узнать, сколько в тексте "реальных" строк и табуляций.

Для "очень больших" текстов может начать "тормозить", конечно, но скрипт-то выполняется на вашей стороне, а не моей, так что мне всё равно :) Страница статьидалее...
04.10.2017, 10:00 [150]


Счастливое число - не "счастливый билет" :)

Счастливое число - это не то, что считали раньше на счастливых билетиках с 6-значными номерами (ныне постепенно исчезающих).

Это - вот что, то есть, находим сумму квадратов цифр числа, заменяем ей исходное число, а потом повторяем процесс, пока не останется единица (тогда число счастливое) или что-то другое (тогда не счастливое).

Например, число 67001 счастливое потому, что 62+72+12=86, а 82+62=100, которое уж точно счастливо.

Кстати, если число счастливое, то и все члены его последовательности счастливы и наоборот. Кроме того, несчастливые числа склонны зацикливаться на последовательности остатков 4, 16, 37, 58, 89, 145, 42, 20, 4 и т.д., например, для числа 128 имеем цепочку
12+22+82 = 69,
62+92 = 117,
12+12+72 = 51,
52+12 = 26,
22+62 = 40,
42+02 = 16,
12+62 = 37,
32+72 = 58,
52+82 = 89,
82+92 = 145,
12+42+52 = 42,
42+22 = 20,
22+02 = 4
и дальше всё ясно :)

Вот этот код будет выводить последовательность A007770 (счастливых чисел) нужной длины size (или пока не зависнет браузер). Поэтому пишем числа просто старым добрым методом document.write, который, вообще-то, использовать не надо.

Просто мне понадобилось счастливое число побольше, чем приводится в сетевых источниках. Время выполнения кода может составить и десятки секунд при большом значении size. Сохранить код следует как обычный файл .html Страница статьидалее...
03.10.2017, 22:48 [157]


Бесконечный лес на Javascript :)

Модель "лесного пожара" используется в прикладной математике как одна из типичных динамических моделей.

Реализуем её на JS, возможно, не совсем канонически задав параметры "леса" (плотность начального заполнения деревьями, скорость роста деревьев, вероятность возгорания, все значения от 0 до 1 включительно). Полученную модель анимируем обычными средствами <canvas> и таймером.

Вот приложение в работе и полный исходник (без обрамляющих тегов HTML). Страница статьидалее...
01.10.2017, 14:46 [185]


[1-15] [16-30] ... [1786-1800] [1801-1807]

  в началопоиск по блогунаписать авторустатистика

Наверх Яндекс.Метрика
© PerS
вход