Александр Шапиро (burrru) wrote,
Александр Шапиро
burrru

Category:

Хвастовство и задача на сообразительность

На материнских платах современных компьютеров есть 2 места под видеокарты. Обычная технология позволяет поставить только две одинаковые видеокарты. Наша контора делает чип, который обеспечивает поддержку двух любых видеокарт. Ведущие производители материнских плат готовят к выпуску платы с нашим чипом, а одна такая плата уже вышла в продажу. Сейчас в Тайване проходит международная компьютерная выставка COMPUTEX. На ней материнская плата с нашим чипом получила награду Best Choice. Это самая престижная награда, которую может получить такой продукт. Контора радуется.

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

Сперва нарисуем черный прямоугольник, у которого ширина раза в полтора меньше высоты. Поверх него нарисуем белый прямоугольник меньшего размера - чтобы были видны края черного прямоугольника. Так мы получим цифру 0. А если мы нарисуем белый прямоугольник поверх черного так, чтобы от черного осталась только вертикальная полоска, то получим цифру 1. Чтобы получить цифры от 2 до 9, надо поверх черного прямоугольника нарисовать два белых прямоугольника в соответствующих местах (и один - для семерки). В среднем 2.7 прямоугольника на цифру, что довольно мало.

Получается угловато, уродливо, но крайне просто и эффективно. За пару дней был написан и отлажен интерфейс для этого метода. В нашей конторе все отделы пользовались этим методом почти год.
Subscribe

  • Про Израиль и евреев

    Тьму не разгоняют палкой. Еврейская мудрость Позавчера в Израиле был День Памяти погибших в войнах и терактах. В 11:00 завыла сирена, и страна…

  • Об авторстве

    Бен Джонсон, младший современник Шекспира, насмешник и язва, никогда не подозревался в написании шекспировских пьес. Скорее, наоборот: Шекспир…

  • О криптовалюте

    Я много лет профессионально занимался анализом американского рынка ценных бумаг. Это сложная экосистема, в которой тысячи различных акций и…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 33 comments

  • Про Израиль и евреев

    Тьму не разгоняют палкой. Еврейская мудрость Позавчера в Израиле был День Памяти погибших в войнах и терактах. В 11:00 завыла сирена, и страна…

  • Об авторстве

    Бен Джонсон, младший современник Шекспира, насмешник и язва, никогда не подозревался в написании шекспировских пьес. Скорее, наоборот: Шекспир…

  • О криптовалюте

    Я много лет профессионально занимался анализом американского рынка ценных бумаг. Это сложная экосистема, в которой тысячи различных акций и…