Avatar uživatele
luckykubrt

Jak dochází k chybám v programu?

Jde třeba o to, že hra je dobře naprogramována, přesto dojde k chybnému vyhodnocení. Např. je ve hře plný sklad, program produkt převezme a potom ohlásí chybu. To jsou i ty chyby programované?

Zajímavá 0 před 2814 dny Sledovat Nahlásit



Nejlepší odpověď
Avatar uživatele
gecco

Chyba „v programu“ může být způsobena prostě chybným naprogramováním.
Nebo chybnými daty.
Nebo ´nevhodným´ chování jiného programu (příp. OS).
Nebo neočekávaným chováním HW.
Asitak v tomto pořadí – z hlášky nelze poznat (bez znalosti toho, jak je program napsán), o jakou chybu jde.
😉
A ano – i chyby jsou programované – i kdyby jen třeba tím, že program některé stavy neošetřuje dostatečně.

0 Nominace Nahlásit

Další odpovědi
Avatar uživatele
Dochy

Pokud dojde k chybnému vyhodnocení, pak hra nejspíš dobře naprogramovaná nebyla.
Myslím, že naprostá většina chyb je způsobena buď neošetřením (chybným ošetřením) práce s pamětí (čtení či zápis mimo oblast alokovanou pro daná data), neošetřením nějakého očekávatelného poruchového stavu (systém nepovolí přístup k nějakým prostředkům) či chybou v podmínce (typicky „<“ chybně místo „<=“)

Další jak píše Gecco.

0 Nominace Nahlásit


Avatar uživatele
Klaproth

Při programování může dojít k celé řadě chyb, některé se snadno odchytí, např. chyby běhové nebo kompilační. V tomto případě se asi jedná o logickou chybu. Velmi častá a špatně odchytitelná chyba.

0 Nominace Nahlásit

Avatar uživatele
zjentek

K chybě dochází porušením daných pravidel, ale také nechtěným odchýlením od požadovaného stavu. Takže někdy nestačí si pouze přečíst KODEX, protože lidský faktor, či jiný program, bude stejně chybovat! Nic není dokonalé ;)

0 Nominace Nahlásit


Diskuze k otázce
Avatar uživatele
zjentek

K chybě dochází porušením daných pravidel, ale také nechtěným odchýlením od požadovaného stavu. Takže někdy nestačí si přečíst KODEX, protože lidský faktor, či jiný program, bude stejně chybovat!

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
luckykubrt

Přesto, když si vezmu jako příklad řízení vozidla… když se budu snažit jet dopředu tak pokud nezařadím zpátečku tak dopředu pojedu pokud nedojde k jiné chybě (třeba slabému tahu motoru a vyšší gravitační síle… tak ten kopec nevyjedu i kdybych se hodně snažil ☹ ). Stejně tak může dojít i k tomu, že pokud budu chtít jet směr vpravo a praskne třeba pneumatika, dostanu smyk a směr bude neovládatelný. U programu je to všechno nastavené. 😉

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
Dochy

U programu je nastavené jen to, na co programátor či analytik při tvorbě myslel. A když je to nastavené, pak je ještě otázka zda správně. Třeba u jakési sondy na marsu došlo při přistávání ke ztroskotání ačkoli vše fungovalo podle programu. Bohužel na programování se podíleli lidé z různých krajin a část psal člověk používající imperiální jednotky a druhou část člověk, který používal metrické jednotky. Bohužel to zjistili až při vyšetřování havárie.

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
zjentek

Nastavené mozkem. A ten chybuje ;)

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
luckykubrt

Nebo třeba hra je dobrá, ale má tu chybu, že často padá. Taky se mi stává, že mačkám tlačítko, ale to nereaguje. To už ale nejsou programované chyby. U toho plného skladiště jde asi o způsob naprogramování, kdy program vezme surovinu a potom teprve zjistí, že je plno. Většinou, když je plno se to programuje hlášením, že je plný sklad a program surovinu nepřijme.

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
Dochy

Je rozdíl mezi kvalitou hry (námět, provedení grafiky, zvuku, scénáře,…) a kvalitou jejího programu (bezchybnost). Znám spoustu her, které se zdají být bezchybné, ale hratelné moc nejsou 😉

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
gecco

…„program padá nebo tuhne“ – to jsou, pravděpodobně, také naprogramované chyby – program není napsán dostatečně dobře (nebo hapruje HW)
…„plné skladiště“ – nemám tucha, neznám kód programu
😉

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
luckykubrt

Nebo dokonce s úmyslem, aby to padalo ? Například u hry Undermaster od společnosti Upjers. Jeden den se hra dá hrát v pohodě a jindy zase ať udělám cokoli za chvíli hra oznámí, že „server neodpovídá, protože vypršel čas“. Nevím jak velký vliv na tom má přepnutí na celou obrazovku (v tom je odezva asi opravdu pomalejší), ale dělat by to nemělo, když to není přímo naprogramované (tj. jaktože jednou to jde a podruhé zase ne, aby to pak zase šlo… co je příčinou té chyby ?).

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
gecco

„S úmyslem aby to padalo…“ – možné to je, ale nepovažuju to za příliš pravděpodobné…
😉
…„server neodpovídá, protože vypršel čas“, „co je příčinou“ – jak už jsem psal – nemám tucha, neznám kód, ale tohle bude spíš vlastnost, než chyba…
___
Zkus kontaktovat autora/distri­butora…
😉

před 2814 dny Odpovědět Nahlásit
Avatar uživatele
luckykubrt

Nebo případně nějaký neidentifikovaný vir (hackerský teroristický útok) či nekompatibilita s hardwarem. U domácího PC to tak nebezpečné zase není. Ale nedokážu si představit, že by to dělali programy třeba na letišti. To by asi nebylo dvakrát bezpečné lítat. Anebo třeba zásahem z vesmíru (sluneční elektromagnetická bouře, mimozemšťané nebo nějaké radioaktivní záření). A což teprve až budou počítače biologické se složkami DNA ? :P

před 2814 dny Odpovědět Nahlásit
Nový příspěvek
Zajímavé otázky v kategorii Počítače a internet