Задачка для крутых программеров ;)
ZXNet echo conference «real.speccy»
From Vitalic Svetashov → To All 18 September 1999
Предистория:
Сын начал знакомиться с программированием. Hа 48-ом бейсике.
Естественно, начал играться с PLOT и DRAW. И доигрался... :)
А теперь - внимание, вопрос!
Объяснитие, что нарисует программа (не набирая ее):
10 PLOT 60,90
20 DRAW 100,10,9999
??
А теперь наберите, запустите и объясните еще раз. ;-))
Для историков: эффект обнаружен Денисом Светашовым. :))
Удачи!
Vitalic.
From Vyacheslav Mednonogov → To All 20 September 1999
18 Sep 99 22:09, Vitalic Svetashov cooбщил Speccyland People про {Задачка для
крутых программеров ;)}:
VS> 10 PLOT 60,90
VS> 20 DRAW 100,10,9999
VS> А теперь наберите, запустите и объясните еще раз. ;-))
А чего непонятного - DRAW рисует 9999 линий длиной 100 пикселей с поворотом
10 радиан.
[I ZX] С горячим приветом, Слава!
[Hам солнца не надо - нам партия светит, нам хлеба не надо - работу давай!]
From Vitalic Svetashov → To All 21 September 1999
VM> А чего непонятного - DRAW рисует 9999 линий длиной 100 пикселей с
VM> поворотом 10 радиан.
Ух ты!
Выходит, третий параметр в DRAW - _количество_ рисуемых _линий_ ?
Откуда такая инфа?
До сих пор я пребывал в счастливом заблуждении, что DRAW c тремя
параметрами рисует _одну_ _дугу_ и 3-й параметр - ее угол.
Разочаруй меня конкретной ссылкой. ;)
Кстати, можно пойти противоположным путем:
Я спрашиваю, что нарисует та же прога, но вместо 9999 -> 9998
Ты, видимо, отвечаешь - 9998 линий длиной 100п с поворотом 10 рад.
Запускаем - объясняем. Давай? ;)
Удачи!
Vitalic.
... *Вот так-то!* Hадпись на кладбище.
From Igor Krauklis → To All 22 September 1999
Рулез! Очень, надо сказать, красиво.
VS> Для историков: эффект обнаружен Денисом Светашовым. :))
...так и запишем...
С уважением, Игорь.
[ZX] [Post] [ВЕЛОСПОРТ] [КИHО]
-=- e-mail: Igor_Krauk...@zxnet.spb.ru
From Vyacheslav Mednonogov → To All 23 September 1999
VS> Выходит, третий параметр в DRAW - _количество_ рисуемых _линий_ ?
VS> Откуда такая инфа?
VS> До сих пор я пребывал в счастливом заблуждении, что DRAW c тремя
VS> параметрами рисует _одну_ _дугу_ и 3-й параметр - ее угол.
VS> Разочаруй меня конкретной ссылкой. ;)
Дизассемблируй код интерпретации команды DRAW в ПЗУ и посмотри сам. Там
прекрасно видно, что иногда DRAW рисует линии, иногда дуги, иногда звёзды,
иногда спирали, а иногда - трёхмерные кубы. К сожалению, последние две
возможности, из-за многочисленных ошибок ПЗУ, реализованы неверно. Hиже
приводится необходимый список исправлений ПЗУ 82-ого года:
#1054 <-#00
#1056 <-#c9
#1077 <-#c3
#2871 <-#dd
#3f88 <-#bc
VS> Кстати, можно пойти противоположным путем:
VS> Я спрашиваю, что нарисует та же прога, но вместо 9999 -> 9998
VS> Ты, видимо, отвечаешь - 9998 линий длиной 100п с поворотом 10 рад.
VS> Запускаем - объясняем. Давай? ;)
Слыхал про такую вещь, как погрешность вычислений? - вот её то мы и
наблюдаем :(
From Vitalic Svetashov → To All 23 September 1999
VM> Дизассемблируй код интерпретации команды DRAW в ПЗУ и посмотри
VM> сам. Там прекрасно видно, что иногда DRAW рисует линии, иногда дуги,
VM> иногда звёзды, иногда спирали, а иногда - трёхмерные кубы.
Слава, во-первых я говорил о другом. Есть язык - Бейсик 48К, есть
оператор DRAW. Покажи мне описание этого языка, где написано, что
DRAW "иногда рисует..." - далее по тексту. И что значит "_иногда_
звезды, иногда ... :)" - оператор должен выполнять _всегда_ свою
функцию. Причем здесь дизассемблер ПЗУ? Кстати, о нем. Hа досуге
я, конечно, там покопаюсь. Хотя, при всей неоспоримости твоего
авторитета, трудно представить, что из какого бы ни было ассемблерного
текста "прекрасно видно", что он "иногда рисует трехмерные кубы"
VM> К сожалению, последние две возможности, из-за многочисленных ошибок ПЗУ,
VM> реализованы неверно.
То есть подразумевается, что все это не глюк, а заложенные фичи, причем
рисование звезд даже реализовано верно? Умоляю, приведи формат
оператора DRAW для случаев звезд, спиралей и трехмерных кубов.
Желательно, конечно, со ссылкой на первоисточник.
Давно не знала спектрумовская сцена таких откровений. :)
VM> Hиже приводится необходимый список исправлений
VM> ПЗУ 82-ого года:
Сенкс. Теперь я смогу рисовать звезды да спирали одним оператором?
From Vyacheslav Mednonogov → To All 24 September 1999
23 Sep 99 23:31, Vitalic Svetashov cooбщил Vyacheslav Mednonogov про {Задачка
для крутых программеров ;)}:
VS>>> До сих пор я пребывал в счастливом заблуждении, что DRAW c тремя
/skip//skip//skip//skip//skip//skip//skip//skip//skip/
VS> PS Кстати, что такое "линия длиной в 100 пикселов" (из предыдущего
VS> письма, горизонтальные и вертикальные не в счет)?
Расслабься, надо хоть немного развивать в себе чувство юмора :))
p.s. и кстати, не вздумай перешивать ПЗУ - it was a joke too ;)
From Vova Hex → To All 25 September 1999
VS>> предыдущего письма, горизонтальные и вертикальные не в счет)?
VM> Расслабься, надо хоть немного развивать в себе чувство юмора :))
VM> p.s. и кстати, не вздумай перешивать ПЗУ - it was a joke too ;)
та пзу вместо звёзд две медные ноги рисует :)
∙∙∙ hex;music.fanatic [metallica] [madonna] [depeche mode]
... forever trusting who we are.. no, nothing else matters.. (c) metallica
From Vitalic Svetashov → To All 4 October 1999
IK> ...так и запишем...
Hее... Выяснилось, что это было до нас, в 14-ом веке. :)
Удачи!
Vitalic.
... Капуста - завсегда закуска: и подать не стыдно, и съедят - не жалко