Bash.org.ru IT Happens Истории ## 1101 – 1200 (неизвестный) - страница 21

 

Да, поменять ситуацию будет непросто — русский человек ещё слабо понимает, что делать с лицензионными программами...

 

 

 

#1142: Десять строк хорошего кода заменяют сотню ленивых юзеров

15:00 09.08.2009, IT happens

 

В 2007 году я разрабатывал небольшую самописную ГИС с картами Москвы для мелкого завода. Бесплатных данных не было, и я кое-как за месяц расковырял одну систему с картами, успешно «спиратив» исходники. Немного позже потребовались геоданные для Московской области. В той программе их не было, зато нашлась другая в виде отсканированного атласа, на который были нанесены векторные метки. Сами данные хранились в каком-то невероятном формате; времени на разбор не было, система была нужна «здесь и сейчас».

 

Идея пришла моментально. Из-под моих плящущих по клавиатуре пальцев вылетали куски кода:

— отправляющего сообщения вида «нажата кнопка „вправо“», «нажата кнопка „влево“», «нажата кнопка „Page Down“» окну;

— распознающего серые окружности, изображающие города;

— получающего название города из текстового поля;

— двигающего мышь в нужную позицию.

 

Всё было собрано в программу-потрошитель. Она искала окно «жертвы», переводила карту в левый верхний угол, распознавала города на текущем сдвиге, запоминая их координаты, получала названия и сдвигала экран вправо. Процесс повторялся — если был достигнут край карты, экран опускался вниз.

 

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

 

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

 

 

 

#1143: Живи играючи

15:00 09.08.2009, IT happens

 

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

 

Постучался я как-то ему в аську: «Слушай, есть новое дельце!» Друг заинтересовался и согласился подумать. Даю вводную: есть поле 5х5, в ячейках нужно разместить цифры от единицы до четвёрки При этом единичку можно ставить везде, двойку — только рядом с единицей, тройку так, чтобы рядом с ней были одновременно 1 и 2, а четвёрку в окружении 1, 2 и 3. Цифры нужно расставить так, чтобы общая сумма была максимальной.