Войти | Регистрация
Свежие: анекдоты, истории, мемы, фразы, стишки
Случайные: анекдоты, истории, мемы, фразы, стишки

История №509612

История о программистах Многие, наверное, слышали байку про то, как в
программе управления ракетой (не космической - военной!) программисты
ошиблись в одном знаке, и в результате ракета улетела не туда.
А я слышал еще и подробности. Излагаю так, как запомнил, ибо слышал я
это лет 25 назад в техникуме, когда изучал Фортран-4.
Итак, программа писалась на Фортране, но совсем древнем, годов 50-60-х.
Маленькое отступление для большинства, кто Фортрана не знает. Цикл Do
записывается так: Do 3 i=1,5 Здесь i - это счетчик цикла, 3 - это
цифровая метка, на которой тело цикла заканчивается.
Три маленьких особенности Фортрана: 1) В именах переменных допускаются
пробелы 2) Переменные в начале программы объявлять не обязательно, но
можно объявить и не использовать 3) Метки можно ставить, но не
использовать.
Так вот, программисты ошиблись, поставив точку вместо запятой.
Получилось: Do 3 i=1.5 В результате была задана переменная с именем "Do
3 i", абсолютно законным именем, которой было присвоено значение 1.5.
Далее эта переменная нигде не использовалась, и метка 3 тоже.
В результате, как вы понимаете, тело цикла отработало 1 раз вместо 5, на
неиспользованную переменную и метку компилятор не обратил внимания, и
получился неправильный угол подъема ракеты перед запуском.
Причем ракета улетела не просто "не туда", она полетела в находящийся
неподалеку город, и пришлось срочно посылать другую ракету, чтобы сбить
ее в воздухе.
Так ошибка в одну точку стоила американским военным целых двух ракет, то
есть нескольких миллионов долларов.
Так вот, я изучал в техникуме Фортран-4, в котором этот баг был
исправлен очень простыми двумя способами: 1) Конец тела цикла
обозначался не только меткой, но и словом Continue. Если на метке,
обозначенной в заголовке цикла, этого слова не было, компилятор выдавал
ошибку.
2) В именах переменных запретили пробелы.
Я точно не знаю, может быть, это один из вариантов байки, и на самом
деле все было чуть-чуть иначе. Поэтому прошу особо не пинать, но
комментарии приветствуются.
+3
Проголосовало за – 27, против – 24
Статистика голосований по странам
Статистика голосований пользователей
Чтобы оставить комментарии, необходимо авторизоваться. За оскорбления и спам - бан.
10 комментариев, показывать
сначала новые

мартовский кот08.05.11 07:34

Я конечно фортран не изучал. Только бейсик и паскаль... Но с похмелья это ОЧЕНЬ круто прочитать

+0
ответить

Фря 07.05.11 21:57

Мефодий1
Лапушка, солнушко, автор! Я, кроме таблицы умножения, только теорему Пифагора помню, а ты мне про Фортран, вот те раз - нельзя же так.
Уважать бы перестали? Зато бояться бы начали. И в каждом концерте он бы выступал.

Боялись тогда люди всего, что, хоть на миллиметр, выбивалось за рамки. Проще было покрошить, чем дарить пионерскому лагерю и ждать вопроса: а что это вы, товарищ Утесов, себе дареную скульптуру не оставили - вождь народов глаза колет? Боялись...

+0
ответить

Мефодий1 07.05.11 17:04

Neerest
Я об этом ничего не знаю. А я пишу только о том, в чем разбираюсь.
Фря
Не понял твоего выпада насчет таблицы умножения. Её все знают. А ты знаешь таблицу для 16-ричных чисел? Я всю не помню, но знаю, где её найти.
Но в этом нет ничего смешного. А пор Фортран я рассказал детально, чтобы всем было ясно, почему так произошло.

+0
ответить

Мефодий1 07.05.11 16:48

Мангуст, я могу объяснить.
Утесов прекрасно понимал, кто такой Сталин, и все его друзья-артисты тоже.
Если бы кто-то увидел скульптуру Сталина дома у Утесова, его бы просто уважать перестали, и он бы ни на один концерт больше не попал в качестве артиста.
А вот почему он не догадался действительно подарить скульптуру детдому или школе, этого я не знаю. Но покрошить в порошок - тоже не плохой выход.

+0
ответить

Фря 07.05.11 16:47

А я таблицу умножения знаю. Рассказать?

Про Богословского.
Времена были такие, что шаг влево, шаг вправо реально мог повлечь расстрел. Где в городской квартире держать памятник Сталину, размером со шкаф? Если речь шла о даче, то держать его на лужайке - вообще убийство. Любое такое действие, соответствующим образом описанное каким-нибудь "доброжелателем", влекло "арест, суд, Сибирь". Все, что выпадало из привычного шаблона поведения, могло быть интерпретировано не в пользу, а во вред "выпавшему".
Шути Богословсккий таким образом в наше время - киллера бы ему прислали на раз-два.

+0
ответить

Neerest07.05.11 13:52

Пиши лучше о бифуркации с нарушением симметрии и морфогенезе. Ну или за пространственные корреляции и критическое поведение.
Уверен, тоже будет смешно и развлекательно.

+0
ответить

Станиславский07.05.11 13:15

Другому дебилу отправившему ракету не туда. Ссылающемуся, на то, что сейчас это не могло произойти, а в 60 годы запросто. Даже в 60 годы точка с координатами 0;0, пересечение экватора с гринвичским меридианом находилась и находится сейчас западнее Краснодарского края. Элиста восточнее. Или у него ракета выбрала направление полета с запада на восток, что бы обогнуть землю и прилететь в точку. Как когда-то Райкин выступал: "Через заднее кирильцо". Да и пацаны, где-то в Краснодарском крае, не могли наблюдать как в песчаный откос влетает какая-то железяка метров 10 длиной и на сверхзвуке. Полеты со сверхзвуковой скоростью ниже 10 км запрещены, что-бы не вызывать разрушение зданий и гибели людей. Образуется ударная волна как от мощного взрыва. А уж на высоте 20 метров тем более.

+0
ответить

Гость07.05.11 12:56

Длинно, нудно, не интересно.

+0
ответить

мангуст07.05.11 10:29

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

+0
ответить

slayers07.05.11 09:00

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

+0
ответить

Общий рейтинг комментаторов
Рейтинг стоп-листов

Рейтинг@Mail.ru