Типография «Новый формат»
Заметка «На примере программирования. Часть 1»
Тип: Заметка
Раздел: Обо всем
Автор:
Читатели: 10 +10
Дата:
Предисловие:
Программированием "такие как я" занимаются из необходимости. Вот здесь, на Фабуле, я месяц, а накидала столько слов, что даже всех смыслов не помню - и гнетет меня это дело: неужто мне суждено глупо повторяться и заново искать и слова, и ссылки? Т.е. нужно иметь под рукой "Полное собрание своих слов" (ПССС). В удобном виде, в том числе для быстрого поиска по словам в нем. И хоть здесь что-то есть из скачивания, оно не насыщает - те же Заметки вообще без кнопочки, а с Комментариями вообще надо с идеологии начинать.

Программированием "таких как не я" я бы обязала заниматься. Потому что в столкновении с машинным "разумом" они быстрее избавлялись бы от всех тех надутостей, которые автоматически возникают у них при столкновении с другими человеческими разумами (ты меня уважаешь? компьютер ответит: мне пофиг, как сваришь, так и покушаешь). Заодно и от многих дурных фантазий обо всем на свете.

На примере программирования. Часть 1

Сейчас будем делать простое, но рабочее.

****************************
Начинаем трепологией постановки Цели
****************************
Я хочу иметь прогу, которая давала бы мне число авторов на Фабуле. Их количество. Общее. На время "сейчас". При этом под "автором" я понимаю "зарегистрированный".

Почему не зайти в меню "Авторы" и там в подменю "Наши авторы" не прочитать "На нашем сайте зарегистрировано 15441 авторов из разных стран и городов"? Потому что я не верю тому, ведь на страничку зарегистрированного ведет адрес типа https://fabulae.ru/autors_b.php?id=17772 - как видите, уже при моей регистрации было 17772.

Конечно, многие номера могут быть пустыми. Тогда я уточняю свою Цель: я хочу знать самый высокий номер зарегистрированного здесь. Т.е. сколько было регистраций. В предположении, что "несчастливые" номера (13, 66...) не пропускались, а "счастливые" (7, 77...) не откладывались - все шло и идет подряд.

****************************
Продолжаем идеологией достижения Цели
****************************

Если тупо действовать, то надо перебирать адреса https://fabulae.ru/autors_b.php?id=(номер). От номер = 1, до пока не выйдем в неосвоенное пространство. Или от какого-то номер = "заведомо_больше_верхнего" спускаться до первого поселения. Но если мы не знаем сколько в селе, если плюс-минус сотня тысяч? Отмазка - "а нам все равно, компьютер пусть считает" - не пройдет по тупой причине: каждый шаг = отдельный запрос-ответ в Интернете, а там за каждым шагом деньги-время.

Но есть на свете алгоритмы. В данном случае "метод деления отрезка пополам". Наш отрезок будет начинаться от "1", а закачиваться "заведомо_больше_верхнего", мы делим его пополам и смотрим номер "половина + 1" , если он на поле, то граница села в первой половине, если в селе, то граница села во второй половине - в любом случае отрезок для поиска границы села за один (!) шаг становится в 2 раза меньше. Так мы дойдем до отрезка длиной 2 и там уже будет финальный шаг.

Нужно лишь, чтобы на каждом шаге делилось на 2. Это легко. Достаточно взять "заведомо_больше_верхнего" как степень 2. Прикидываем, 2 в степени 3 есть 8; тогда 2 в степени 5 будет 32, тогда 2 в степени 10 будет крутиться возле 1000 - 32 на 32 даст 1024 - ура, уже зацепились, за 1000 с гарантией. И если мы считаем, что на сайте сейчас не более 20 000, то достаточно (2 в степени 10) домножить на (не меньше 20), например, на 2 в степени 5. И получим, что "заведомо_больше_верхнего" = (2 в степени 15) - там будет  32768, но ради "чтобы на каждом шаге делилось на 2" нам не должно быть жалко.


****************************
Переходим на евреев
****************************
Все это может накрыться  неожиданной жопой, если на нашем отрезке будут пустые места, неотличимые от полевой пустоты. Вот мы нащупали крапиву, говорим, что тогда граница роз в левой части, но что если эта крапива между розами нам попалась и потом они снова справа начинаются? Идем быстро проверять - отличается ли внутренняя крапива от внешней. Берем адрес https://fabulae.ru/autors_b.php?id= 32768 - смотрим ответ. А где взять внутреннюю крапиву, что какой-то номер точно был и почему-то сплыл, что на его месте сейчас? Нам помогут евреи, они вечно бегают, убегают, возвращаются, один из них написал, что был он когда-то по адресу https://fabulae.ru/autors_b.php?id=4239. Проверяем - таки жопа... отличий нет...

Как видите, в любом хорошем деле надо ждать сюрпризов от евреев. Всем. Евреям в том числе. Надеяться, что жопа внутренней крапивы пролетит мимо, типа что 4238 не есть и близко к (2 в степени 12 = 4096) оно так себе... Остается как-то решать еврейский вопрос, хотя бы как-то... А как? На этом месте я со злости делаю перерыв, допишу после ужина, может быть... (заходите)

Обсуждение
Комментариев нет
Книга автора
Самый страшный день войны 
 Автор: Виктор Владимирович Королев