Odporúčaná, 2019

Redakcia Choice

Rozdiel medzi prístupom zhora nadol a zdola nahor

Algoritmy sú navrhnuté pomocou dvoch prístupov, ktoré sú prístupom zhora nadol a zdola nahor. V prístupe zhora nadol sa komplexný modul rozdeľuje na submoduly. Na druhej strane prístup zdola nahor začína základnými modulmi a potom ich ďalej skombinujeme. Predošlý účel algoritmu je prevádzka dát obsiahnutých v dátovej štruktúre. Inými slovami, algoritmus sa používa na vykonávanie operácií na dátach vnútri dátových štruktúr.

Zložitý algoritmus je rozdelený na malé časti nazývané moduly a proces rozdelenia je známy ako modularizácia . Modularizácia výrazne znižuje komplikácie navrhovania algoritmu a uľahčuje jeho navrhovanie a implementáciu. Modulárne programovanie je technika navrhovania a napísania programu vo forme funkcií, kde každá funkcia je od seba odlišná a funguje nezávisle. Obsah funkcií je spojitý spôsobom a medzi modulmi existuje nízka väzba.

Porovnávacia tabuľka

Základ pre porovnaniePrístup zhora nadolPrístup zdola nahor
základnéPrelomí masívny problém na menšie podproblemy.Rieši základný problém nízkej úrovne a integruje ich do väčšej.
procesSubmoduly sú analyzované samostatne.Preskúmajte, aké údaje majú byť zapuzdrené, a naznačuje koncepciu skrývania informácií.
komunikáciaV prístupe zhora-nadol sa nevyžaduje.Vyžaduje určité množstvo komunikácie.
NadbytokZachyťte redundantné informácie.Redundancia môže byť eliminovaná.
Programovacie jazykyŠtruktúrne / procedurálne orientované programovacie jazyky (tj C) sledujú prístup zhora nadol.Objektovo orientované programovacie jazyky (ako C ++, Java atď.) Sa riadia prístupom zdola nahor.
Používa sa hlavne vDokumentácia modulov, tvorba testovacích prípadov, implementácia kódu a ladenie.testovanie

Definícia prístupu zhora nadol

Prístup zhora nadol v podstate rozdeľuje zložitý problém alebo algoritmus na viacero menších častí (modulov). Tieto moduly sa ďalej rozkladajú, kým výsledný modul nie je základným programom v podstate pochopiteľný a nedá sa ďalej rozkladať. Po dosiahnutí určitej úrovne modularity sa rozklad modulov zastaví. Prístup zhora nadol je postupný proces rozpadu veľkého programového modulu na jednoduchšie a menšie moduly, ktoré efektívne organizujú a kódujú program. Prúd kontroly v tomto prístupe je vždy smerom nadol. Prístup zhora nadol sa používa v programovacom jazyku "C" pomocou funkcií.

Metóda zhora nadol začína abstraktným dizajnom a následne je tento dizajn vylepšený tak, aby vytvoril viac konkrétnych úrovní, kým nie je žiadna požiadavka na ďalšie zdokonalenie.

Definícia prístupu zdola nahor

Prístup zdola nahor funguje opačným spôsobom ako prístup zhora nadol. Spočiatku zahŕňa návrh najdôležitejších častí, ktoré sa potom spájajú, aby sa vytvoril modul vyššej úrovne. Táto integrácia submodulov a modulov do modulu vyššej úrovne sa opakovane vykonáva až do získania požadovaného kompletného algoritmu.

Metódy prístupu zhora nadol s vrstvami abstrakcie. Primárna aplikácia prístupu zdola nahor sa testuje, pretože každý základný modul je prvý testovaný pred jeho zlúčením s väčším modulom. Testovanie sa vykonáva pomocou určitých funkcií na nízkej úrovni.

Kľúčové rozdiely medzi prístupom zhora nadol a zdola nahor

  1. Prístup zhora nadol rozkladá veľkú úlohu na menšie podúlohy, zatiaľ čo prístup zdola nahor sa najprv rozhodne riešiť rôzne základné časti úlohy priamo a potom tieto časti spojí do celého programu.
  2. Každý submodul je samostatne spracovaný prístupom zhora nadol. V protiklade s prístupom zdola nahor sa implementuje koncepcia skrývania informácií preskúmaním údajov, ktoré majú byť zapuzdrené.
  3. Rôzne moduly v prístupe zhora-nadol nevyžadujú veľa komunikácie. Naopak, prístup zdola nahor si vyžaduje interakciu medzi jednotlivými základnými modulmi, aby sa skombinovali neskôr.
  4. Prístup zhora nadol môže spôsobiť redundanciu, zatiaľ čo prístup zdola nahor neobsahuje nadbytočné informácie.
  5. Procedurálne programovacie jazyky ako Fortran, COBOL a C sa riadia prístupom zhora nadol. Naproti tomu objektovo orientované programovacie jazyky ako C ++, Java, C #, Perl a Python dodržiavajú prístup zdola nahor.
  6. Pri skúšaní sa predtým používa prístup zdola nahor. Naopak, prístup zhora nadol sa používa v dokumentácii modulov, pri vytváraní testovacích prípadov, pri ladení atď.

záver

Prístup zhora nadol a prístup zdola nahor predstavujú metódy navrhovania algoritmov, kde zhora nadol je bežný prístup, ktorý rozkladá systém od špecifikácie na vysokej úrovni až po špecifikáciu na nižšej úrovni. Na druhej strane prístup zdola nahor je efektívnejší a pracuje inverzným spôsobom, keď sú prvotné komponenty navrhnuté najskôr, potom pokračujú na vyššej úrovni.

Prístup zhora nadol zdôrazňuje izoláciu submodulov (znamená nízku väzbu medzi modulmi), pričom ignoruje identifikáciu koncepcie komunikácie a opakovanej použiteľnosti. Kým v prístupe zdola nahor sú dôležité faktory, skrývanie a opätovné využitie informácií.

Top