A peter otryvok kiadó a könyvből, mivel nem szükséges programozni c

Először az ENIAC Mark I volt. Miután az üzemeltető észlelt hibát a gépben. Kiderült, hogy a problémákat a lepke támadta meg, amely a számítógépbe repült, és a relé kapcsolatok alatt zúzott.

Az operátor kivette a lepkét, ragasztotta be a rendszernaplóba, és feljegyzett: "A rendszerben rovar (bug) található". Tehát volt az első számítógépes hiba.

A bogarakkal való ismerkedésem sokkal később történt. Az első programomat 11 éven belül írtam. A program csak egy összeszerelési parancsot tartalmazott a 2 + 2 összeg kiszámításához. Az eredmény valamilyen oknál fogva megegyezett a 2. A program csak egy csapatból állt, és mégis hiba volt benne!

Ez a fejezet számos "első" programot mutat be: az első, amelyen 2 óráig ültem egy hiba keresésére (3. program); az elsõ választ a kérdésre az elsõ programozási vizsgán (2. program); és természetesen a "Hello World" az első program minden programozási könyvben.

A közelmúltban, hogy pénzt helyeztek be a számlára, az embereknek be kellett menniük a bankba, és el kellene menniük a pénztárosba. Általában a csekkfüzet vége felé beillesztett, előre nyomtatott űrlapokat használták. A számlaszámot előzetesen kinyomtatták mágneses tintával a forma alján.

Ha az üres csekkfüzetek kifogytak a papíron, akkor az ügyfél kapott egy űrlapot a pénztárosból. Természetesen ezen a formanyomtatványon a számlaszámot nem adták meg, ezért az ügyfélnek manuálisan kellett beírnia.

A csaló a letéti űrlap saját verzióját nyomtatta ki. Kívülről nem különböztek a szokásos "közös" formáktól, de mágneses tintával voltak megjelölve a csalók számlaszámán.

Aztán elment a bankba, és ezeket a formákat egy közös tálcába tette.

A csalás így működött: egy ügyfél jött a bankba, hogy pénzt helyez be a számlára, és megkapta az egyik hamis formát. Kitöltötte az űrlapot, és hozzájárult a pénzhez. Mivel a számlaszámot az űrlapon kinyomtatták, a számítógép automatikusan feldolgozta és pénzt küldött ebbe a fiókba. A számlaszámra, kézzel írt az űrlapon, nem figyelt rá. Más szóval, a csaló másokat lerakta.

A nyomozó, akinek ezt az ügyet rendelték, zavart volt. A bevezetett pénz eltűnt, és senki sem értette, hogy ez hogyan történik. Lehetett kideríteni, hogy a probléma csak abban az esetben merül fel, amikor pénzt keresnek közvetlenül a bankban. A holtág úgy döntött, hogy megpróbál nagy mennyiségű betétet készíteni, és látni fogja, mi fog történni. Mivel saját pénzét használta, kis betétekre kellett korlátozni ... nagyon kicsi. Minden egyes hozzájárulás 6 cent volt.

Az alvó egész héten át telt. Eljött a bankba, kitöltötte a formanyomtatványt, bejutott a sorba, 6 centért járult hozzá, majd kitöltötte az új formanyomtatványt, 6 centtel járult hozzá, stb. A pénztárosok úgy döntöttek, hogy őrült. De itt az egyik hozzájárulás eltűnt. Aztán a nyomozó kérésére a bank ellenőrizte, hogy van-e valaki, aki 6 centet adott ezen a napon. Ilyen hozzájárulást találtak, és a tolvaj elkapta.

Program 1. Hello World

Gyakorlatilag minden könyv a programozásról indul a "Hello World" programmal. Könyvünk is utal a számukra ... de mi még ez a program hibát tartalmaz.

Hogyan tudsz elszakadni valamit olyan elemi, mint a "Hello World"? Nézd meg magad:

(Tipp 228, 6. válasz)

Felhasználó: Nem tudok csatlakozni a rendszerhez. A modem nem akar kapcsolatot létesíteni.

Konzultáns: Nézze meg a modemet, és mondja meg, milyen fények vannak rajta.

Felhasználó: Nem tudom.

Konzultáns: Hogy segítsen nekem megoldani a problémáidat, pontosan meg kell határoznod, mi történik. Kérjük, nézze meg a modemet, és írja le annak állapotát.

Felhasználó: Semmi sem fog származni.

Felhasználó: A modem az alagsorban van.

Tanácsadó: Akkor miért nem megy le és látod?

Felhasználó: Viccelsz? Két méter alatt van víz!

Tanácsadó: A víz alatt lévő számítógépek nem működnek.

Felhasználó (meglepve): Komolyan?

Program 2. A tanár szégyenlete

Miután részt vettem a C nyelv tanításában, felhívom a figyelmet az első feladatra, amelyet az első ellenőrzések során végeztem.

Az ötlet egyszerű volt: meg akartam tudni, hogy a diákok megértik-e az automatikus változót
16 int i = 0;
különbözik egy statikus változótól
26 statikus int i = 0;
De a kontroll után kénytelen volt elismerni egy kellemetlen tényt: én magam válaszoltam volna erre a kérdésre
rossz. Ezért a közönség előtt kellett állnom és azt mondanom: "Kétféleképpen lehet a legmagasabbat elérni
pontszám az első feladathoz. Először is megadhatja a helyes választ; másodszor, megadhatod ezt a választ,
ami azt hitte, helyes. "

Tehát mi a helyes válasz?

(139. felhívás, 102. válasz)

Az egyház megszerzett első számítógépét, és az alkalmazottak fokozatosan megtanulták használni. A titkár úgy döntött, hogy szabványos szöveget készít a temetkezési szolgáltatás számára; mindenhol az elhunyt nevét egy címke váltotta fel. A temetés előtt csak a szimbólumok szimbólumainak helyettesítése maradt valódi névvel.

Egy nap egyszerre két temetést tartottak: az első elhunytat Maria-nak hívták, a második pedig Ednát. A titkár globális helyettesítette a szubsztringt a szubsztringhez Maria. Minden nagyon jól sikerült. Aztán azonnal létrehozta a második temetkezési szertartást, és felváltotta a Mária nevű nevet Ednával. De ezt nem szabad ...

Képzelje el a pap meglepetését, amikor elolvasta: "... és Isten anyja, az áldott Szűz Edna ..."

Program 3. Reggel meglepetés

Ezt a programot egyik barátom írta, amikor főiskolán voltam. Arra kértük, hogy írjon egy programot a mátrixok megszorzására, de maga a szorzási funkciót össze kell állítani. Ahhoz, hogy a program a lehető leggyorsabban működjön, a barátom a mátrix vektorizálásához kifejlesztett algoritmust használta.

A kész rendszer teszteléséhez egy rövid tesztfunkciót írt a SAIL-ra, de a tesztek hibás válaszokat kaptak. Mindannyian alaposan tanulmányoztuk a program minden egyes vonalát 20: 00-2: 00 között. És amikor a hiba végül kiderült, mindketten nevetettünk - ez minden ostobaság volt.

A következő példa egy egyszerűsített változata ennek a híres programnak. Egy nyelven írt (C), és egy erősen egyszerűsített szorzási algoritmust használ. És mégis az eredeti hiba megmaradt. Meg tudod találni?

(34. kérdés, 53. válasz) zárja be

Kapcsolódó cikkek