Voyager
#01
06 июля 1998 |
|
Умора - Сколько будет?...
(C) Л. Ашкинази Music: ORANGE BUGY RMX (C) Mr.Z/LS (R) DGN ─────────────────────────────────────────────────── ╔══════════════════════╗ ║ ║ ║ СКОЛЬКО БУДЕТ? ║ ║ ║ ╚══════════════════════╝ Я - программист. Приходит как-то ко мне клиент, написал, гово- рит, программку, хотелось бы посчитать. Беру. Прог- рамма небольшая. Что, спрашиваю, она должна выда- вать? Да, немного, говорит, одно число. Смотрю в программку - каменный век. Эпоха каменного рубила. Учились, спрашиваю, сами? Опустил глаза клиент и говорит - по книжкам. Засадил я этот бред на следующий день в ма- шину, она помигала с минуту и напечатала: 0.40000023E01. В переводе на русский язык - это 4,0000023. Стран- ное, однако, число. Не ошибка ли счета набежала? Все ж машина, смотрю, шестьдесят девять с хвости- ком секунд трудилась, а она, между прочим, у нас не на счетах косточки кидает. Семьдесят секунд време- ни процессора - это почти сто миллионов операций. Посчитал с двойной точностью. Выдала: 0.40000022E01. Ну, что же, вполне разумное уточнение. Значит, не ошибка вычисления. Забавным мне это показалось, стал я в прог- рамме разбираться. Понятно ведь, что у неизвестно какой задачи ответ может быть любой. Но если он от целого числа на две миллионные отличается, то воз- никает естественное подозрение, что ответ и должен быть целым. А отличие - какая-то погрешность. В программе я, конечно, разобрался, особых хит- ростей в ней не нашел. Двойные ряды товарищ сумми- ровал, и чего там только не было - и гиперболические функции, и бесселевы. Подозрительным мне все это показалось. Позвонил знакомому математику. Тот по- смотрел в книжки и говорит - нету твоих рядов в книжках, подожди часок, я их сам пообдумаю. Через два часа звонит - ряды твои, говорит, можешь заби- рать. Но я уговорил его приехать. Посмотрел он рас- печатки и сразу стал серьезным. До утра мы с ним просидели. Все верно, а двадцать две десятимиллион- ные все же возникают. В шесть утра он кофе допил, встал и говорит - домой поеду, мне к десяти в ин- ститут надо. А это ошибки вычислений набегают, мо- жешь быть уверен. И уехал. Через день ко мне заказчик зашел, ответ я ему сообщил. Он спасибо сказал и отчалил. Больше я его не видел. Задачки свои можете ко мне смело нести - я программист не из последних. А ту программу я еще не раз пускал. И на машинах с большой разрядной сет- кой, и с двойной точностью, и ошибки в ней искал, и другим показывал, программистам и математикам. От- вет уточнил - 4,00000223. Это уж железно. А вы думали - если двойку на двойку умножить, сколько будет? ─────────────────────────────────────────────────── олько будет? ───────────────────────────────────────────────────
Другие статьи номера:
Похожие статьи:
В этот день... 21 ноября