Vitajte na [www.pocitac.win] Pripojiť k domovskej stránke Obľúbené stránky

Domáce Hardware Siete Programovanie Softvér Otázka Systémy

Aký je rozdiel medzi softvérom, ktorý určuje a neurčitý?

Pojmy „určujú“ a „neurčité“ nie sú štandardnými klasifikáciami pre samotný softvér. Môžu sa však vzťahovať na * aspekty * softvérového správania alebo dizajnu. Rozdiel sa zvyčajne týka predvídateľnosti a kontroly:

* určovať softvér (alebo správanie): Vzťahuje sa na softvér, v ktorom bude vzhľadom na rovnaké vstupy a počiatočné podmienky * vždy * produkovať rovnaké výstupy. Neexistuje žiadna náhodnosť alebo nepredvídateľné správanie. Cesta vykonávania je úplne určená vstupom a logikou programu. Príklady:

* Jednoduchá kalkulačka: Vzhľadom na 2 + 2 sa vždy vráti 4.

* kompilátor: Vzhľadom na rovnaký zdrojový kód by mal vždy vygenerovať rovnaký kód objektu (s výmenou optimalizácií kompilátora, ktoré by mohli zmeniť pokyny bez zmeny výsledku).

* A deterministická simulácia: Fyzikálna simulácia, ktorá používa pevné pravidlá a nezahŕňa náhodnosť.

* Neurčitý softvér (alebo správanie): Vzťahuje sa na softvér, kde sa môže výstup líšiť aj pri rovnakých vstupoch a počiatočných podmienkach. Táto nepredvídateľnosť je často úmyselná a vyplýva z:

* Generovanie náhodných čísel: Používa sa v hrách, simuláciách alebo kryptografii pre nepredvídateľné prvky.

* súbežnosť/paralelizmus: V programoch s viacerými závratmi môže byť poradie vykonávania vlákien nedeterministické, čo vedie k rôznym výsledkom v závislosti od rozhodnutí plánovania, ktoré vykonáva operačný systém.

* Externé faktory: Interakcia softvéru s externými zariadeniami (senzory, siete) môže prijímať rôzne vstupy, čo vedie k rôznym výstupom aj s rovnakým počiatočným stavom programu.

* neterministické algoritmy: Niektoré algoritmy podľa návrhu skúmajú rôzne cesty riešenia a ich výsledok nie je zaručený, že budú rovnaké pri každom behu (napr. Niektoré optimalizačné algoritmy alebo náhodné algoritmy vyhľadávania).

v súhrne:

Základný rozdiel spočíva v predvídateľnosti. Určujúci softvér je predvídateľný; Jeho výstup je funkciou výlučne jeho vstupom. Neurčitý softvér predstavuje prvok náhodnosti alebo nepredvídateľnosti, čo vedie k potenciálne odlišným výstupom aj pre rovnaké vstupy. „Neurčitosť“ nemusí byť nevyhnutne chyba; Je to často funkcia navrhnutá do systému na konkrétne účely.

Najnovšie články

Copyright © počítačové znalosti Všetky práva vyhradené