ПредишенСледващото

В началото бе ENIAC Mark I. След като операторът забелязал неизправност на машината. Оказа се, проблемът възникна заради молец, който лети в компютъра и е разбита при релейни контакти.

Операторът взе молец, лепило за системния регистър, и си взе бележка: "Насекомото е намерена система (бъг)». По този начин беше първият компютър грешката.

Познанството ми с бъговете се проведе по-късно. Написах първата си програма от 11 години насам. В програмата се съдържа само един асемблер инструкция за изчисляване на сумата 2 + 2. Резултатът по някаква причина се оказа равен на 2. Програмата се състои от една единствена команда, и все още не е подарък за грешка!

Тази глава представя редица "първи" програма: първата, на която седях до 2 часа сутринта в търсене на грешка (програма 3); първи отговор на въпроса на първия изпит по програмиране, което взех (програма 2); и, разбира се, «Hello World» - е първата програма, в която и книга за програмиране.

Съвсем наскоро, за да депозирате пари в сметката, хората трябваше да отиде в банката и се обръщат към касата. Обикновено се използва с готовите заготовките, залепени към края на книжката. номера на сметката предварително магнитно мастило, отпечатана върху долната част на формуляра.

Ако книжката приключи празни форми, клиентът получава под формата на касата. Разбира се, в такава форма, не е посочен номерът на сметката, така че клиентите трябва да го въведете ръчно.

А мошеник публикува своя версия на депозитни форми. Външно, те са били по-различно от обичайните "генерични" форми, но номерът на сметката, те измамник се е приложено магнитно мастило.

После отиде до банката и засадени тези форми за цялостното тава.

Измамата работи по следния начин: клиентът идва на банката, за да депозирате пари в сметката, и получи един от формулярите за фалшифицирани. Той попълва парите на форма и депозит. Тъй като формата е отпечатана номер на сметка, компютърът автоматично обработва, и донесе парите по сметката. На номера на сметката ръчно написано на формата, той не обърна внимание. С други думи, мошеник присвоил депозити на други хора.

Детективът, който бе разпределено делото, беше озадачен. Вмъкването пари изчезна и никой не разбира как това ще се случи. Ние установихме, че проблемът възниква само когато правите пари директно на банката. Детективът реши да се опита да направи голям брой вноски и да видим какво ще стане. Защото той използва собствените си пари, той трябваше да се ограничим с малки вноски ... много, много малък. Всеки принос струва 6 цента.

Детективът прекара цяла седмица. Той дойде в банката, попълване на формуляри, стоят в линия, донесе 6 цента, след което попълнете нова форма, стоят в линия, донесе 6 цента, и така нататък. Г. Касиери, че той е луд. Но тук е една от вноските изчезна. След това, по искане на един детектив в банката, за да се провери, че е имало някой друг, че ден общо 6 цента. намерени Тези вноски, а крадецът е задържан.

Програма 1. Hello World

Почти всички програмни книги започват с «Hello World» програма. Тази книга също е една от тях ... но ние имаме дори тази програма е грешка.

Как мога да се счупи нещо толкова елементарно като «Hello World»? Вижте сами:

(Съвет 228, отговорът 6)

Потребител: Не може да се свърже към системата. Модемът не иска да общува.

Консултант: Погледнете модема и да каже това, което искри.

Потребител: не мога.

Консултант: това ще ми помогне с решението на вашите проблеми, трябва точно да се опише. Моля, погледнете на модема и да опише своето състояние.

Потребител: Той няма да работи.

Потребител: Modem стои в мазето.

Консултант: Тогава защо не отидеш и да видите?

Потребител: Шегувате ли се? Там, под два метра вода!

Консултант: Компютри не работят под вода.

Потребител (изненадан): Наистина ли?

Програма 2. смущение на учителя

След като бях ангажиран в преподаването на езика С. предлагам на вашето внимание първата задача на първата контрола, която прекарах.

Идеята е проста: Исках да знам дали учениците разбират какво автоматична променлива
16 Int I = 0;
различно от статична променлива
26 статичен Int I = 0;
Но след теста, трябваше да признае, неприятен факт: Самата аз отговорих на този въпрос
погрешно. Така че аз трябваше да се изправи пред публика и да каже: "Има два начина да получите най-високата
отбележи за първи проблема. Първо, можете да дадете правилния отговор; На второ място, можете да дадете отговор
което мислех, че е прав. "

И така, какво трябва да бъде правилният отговор?

(Връх 139, реакцията 102)

Църквата придобил първия си компютър и служители постепенно се научават да го използвате. Секретарят решено да се изготви извадка празен текст опелото; Името на починалия навсякъде заменя маркера. Преди погребението само може да замени тази последователност от символи, в това име.

Един ден на погребение се проведе само два: име на първия мъртвата жена е Мария, а вторият - Edna. Секретарят проведе глобална замени подниза подниз Мария. Всичко се оказа добре. Тогава тя веднага генерира текста на второто погребение, на мястото на името на Мария име Edna. Но това не би трябвало да направи ...

Представете си изненадата на свещеника, когато той се чете: "... и на Божията Майка, Света Edna ..."

Програма 3. Morning Изненада

Тази програма е написана от един мой приятел, когато бяхме в колежа. Бяхме помолени да напишат програма умножение на матрици за, но умножение самата функция трябва да бъде написана на асемблер. Програмата да работи възможно най-бързо, един приятел ме заведе алгоритъм, разработен векториране матрица.

За да тествате готовата система, той написа кратко функционално изпитване на платното, но неверни отговори са получени за тестване. Ние двамата щателно проучва всеки ред от програмата от 20:00 до 2 часа сутринта. Когато грешката е най-накрая разкри, че и двамата се засмя - докато всичко беше глупаво.

Следващият пример е опростена версия на известната програма. Тя е написана на един език (C) и използва изключително опростен алгоритъм за умножение. И все пак, първоначалната грешка тя се съхранява. Ще я намеря?

(Връх 34, отговорът 53) в близост

Свързани статии

Подкрепете проекта - споделете линка, благодаря!