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 algoritmom a programom?

Rozdiel medzi algoritmom a programom možno zhrnúť takto:

Algoritmus:

* Definícia: Postupný, dobre definovaný postup alebo súbor pokynov na vyriešenie konkrétneho problému alebo splnenie konkrétnej úlohy. Je to logický plán alebo plán.

* Focus: „Čo“ robiť. Opisuje metódu * alebo * logiku * na riešenie problému.

* Reprezentácia: Možno vyjadriť v rôznych formách:

* Prirodzený jazyk (ako angličtina)

* Pseudokode (neformálny, kód čitateľný človek)

* Vývojové diagramy (diagramy)

* Matematický zápis

* spustiteľné? Nie. Algoritmus je koncepčný. Nie je to niečo, čo by ste mohli priamo spustiť na počítači.

* abstrakcia: Abstraktnejšie. Zameriava sa na základné kroky riešenia bez toho, aby sa zaoberala špecifickými detailmi syntaxe programovacieho jazyka alebo hardvéru.

* Príklad:

* Algoritmus na nájdenie najväčšieho čísla v zozname:

1. Predpokladajme, že prvé číslo v zozname je najväčšie.

2. Iterujte cez zvyšok zoznamu.

3. Pre každé číslo porovnajte ho so súčasným „najväčším“.

4. Ak je aktuálne číslo väčšie, aktualizujte „najväčší“.

5. Po opakovaní celého zoznamu je výsledok „najväčší“.

program:

* Definícia: Konkrétna implementácia algoritmu v špecifickom programovacom jazyku (napr. Python, Java, C ++). Je to súbor pokynov, ktorým počítač môže porozumieť a vykonať.

* Focus: „Ako“ to urobiť. Opisuje * presné * kroky, ktoré treba podniknúť pomocou syntaxe a sémantiky programovacieho jazyka.

* Reprezentácia: Napísané v konkrétnom programovacom jazyku.

* spustiteľné? Áno. Program je zostavený (alebo interpretovaný) do strojového kódu, ktorý môže počítač vykonať.

* abstrakcia: Menej abstraktné. Zaoberá sa konkrétnymi podrobnosťami programovacieho jazyka, knižníc a hardvéru.

* Príklad:

* Python program na nájdenie najväčšieho čísla v zozname (implementácia vyššie uvedeného algoritmu):

`` `Python

DEF FINE_LARGEST (čísla):

Ak nie čísla:# Zoznámte s prípadom prázdneho zoznamu

NOT

najväčšie =čísla [0]

pre číslo v číslach:

Ak číslo> najväčšie:

Najväčší =číslo

vracať sa najväčší

my_list =[10, 5, 20, 8, 15]

najväčší_number =find_largest (my_list)

Print (F "Najväčšie číslo je:{najväčší_number}")

`` `

Analogia:

Pomysli na to takto:

* Algoritmus: Recept na tortu. Opisuje ingrediencie a kroky, ktoré treba urobiť (mix, piecť atď.).

* program: Skutočný koláč, ktorý sa vyrába sledovaním receptu a použitím konkrétnych kuchynských náradia a ingrediencií.

Kľúčové rozdiely v tabuľke:

| Funkcia | Algoritmus Program |

|---------------|--------------------------------------------|-------------------------------------------------|

| Definícia | Postup postupného riešenia problémov Implementácia algoritmu v kóde

| Focus | Čo robiť (logika) Ako na to (implementácia)

| Reprezentácia | Prirodzený jazyk, pseudokód, vývojové diagramy Kód programovacieho jazyka

| spustiteľné? | Nie | Áno |

| abstrakcia | Vysoká | Nízka |

| závislosť | Jazyk nezávislý Závislý jazyk

v súhrne:

Algoritmus je * myšlienka * alebo * plán * na vyriešenie problému. Program je * konkrétna realizácia tohto plánu, napísaného v konkrétnom jazyku, ktorému počítač dokáže porozumieť a vykonať. Potrebujete algoritmus, aby ste mohli napísať program na jeho implementáciu.

Najnovšie články

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