Agoritmii sunt concepuți folosind două abordări care sunt abordarea de sus în jos și cea de jos în sus. În abordarea top-down, modulul complex este împărțit în submodule. Pe de altă parte, abordarea ascendentă începe cu modulele elementare și apoi le combină mai departe. Scopul anterior al unui algoritm este de a opera datele cuprinse în structura de date. Cu alte cuvinte, un algoritm este utilizat pentru a efectua operațiile asupra datelor din interiorul structurilor de date.
Un algoritm complicat este împărțit în părți mici numite module, iar procesul de împărțire este cunoscut sub numele de modularizare. Modularizarea reduce în mod semnificativ complicațiile de proiectare a unui algoritm și face ca procesul său să fie mai ușor de proiectat și implementat. Programarea modulară este tehnica de proiectare și scriere a unui program sub forma unor funcții în care fiecare funcție este distinctă de cealaltă și funcționează independent. Conținutul funcțiilor este coerent în mod coerent și există un cuplaj redus între module.
Contenit: Abordare de sus în jos vs. Abordare de jos.up Approach
-
- Grafic de comparație
- Definiție
- Diferențe cheie
- Concluzie
Grafic de comparație
Baza de comparație | Top-down Approach | Bottom-up Approach |
---|---|---|
Basic | Sparge problema masivă în subprobleme mai mici. | Soluționează problema fundamentală de nivel scăzut și le integrează într-una mai mare. |
Procesul | Submodulele sunt analizate solitar. | Examinează ce date trebuie încapsulate și implică conceptul de ascundere a informației. |
Comunicare | Nu este necesară în abordarea de sus în jos. | Necesită o anumită cantitate de comunicare. |
Redundanță | Conține informații redundante. | Redundanța poate fi eliminată. |
Limbaje de programare | Limbajele de programare orientate pe structură/procedură (de exemplu, C) urmează abordarea de sus în jos. | Limbajele de programare orientate pe obiecte (cum ar fi C++, Java, etc.) urmează abordarea de jos în sus. |
Se utilizează în principal în | Documentarea modulelor, crearea de cazuri de testare, implementarea și depanarea codului. | Testări |
Definiția abordării de sus în jos
Abordarea de sus în jos împarte practic o problemă complexă sau un algoritm în mai multe părți mai mici (module). Aceste module sunt descompuse în continuare până când modulul rezultat este programul fundamental care trebuie înțeles în esență și nu mai poate fi descompus în continuare. După ce se atinge un anumit nivel de modularitate, se încetează descompunerea modulelor. Abordarea de sus în jos este procesul de descompunere treptată a modulului de program mare în module mai simple și mai mici pentru a organiza și codifica programul într-un mod eficient. Fluxul de control în această abordare este întotdeauna în sens descendent. Abordarea de sus în jos este implementată în limbajul de programare „C” prin utilizarea funcțiilor.
Așa, metoda de sus în jos începe cu o proiectare abstractă și apoi, secvențial, această proiectare este rafinată pentru a crea niveluri mai concrete până când nu mai este necesară o rafinare suplimentară.
Definirea abordării de jos în sus
Abordarea de jos în sus funcționează în mod exact invers față de abordarea de sus în jos. Inițial, aceasta include proiectarea celor mai fundamentale părți care sunt apoi combinate pentru a forma modulul de nivel superior. Această integrare a submodulelor și modulelor în modulul de nivel superior se realizează în mod repetat până când se obține algoritmul complet necesar.
Abordarea bottom-up funcționează cu straturi de abstractizare. Principala aplicație a abordării de jos în sus este testarea, deoarece fiecare modul fundamental este mai întâi testat înainte de a-l integra în cel mai mare. Testarea se realizează cu ajutorul anumitor funcții de nivel scăzut.
Diferențe cheie între abordarea de sus în jos și cea de jos în sus
- Abordarea de sus în jos descompune sarcina mare în subtask-uri mai mici, în timp ce abordarea de jos în sus alege mai întâi să rezolve direct diferitele părți fundamentale ale sarcinii, apoi combină aceste părți într-un program întreg.
- Care submodul este procesat separat într-o abordare de sus în jos. Spre deosebire de aceasta, abordarea de jos în sus implementează conceptul de ascundere a informațiilor prin examinarea datelor care trebuie încapsulate.
- Diferitele module din abordarea de sus în jos nu necesită multă comunicare. Dimpotrivă, abordarea de jos în sus are nevoie de interacțiune între modulele fundamentale separate pentru a le combina ulterior.
- Abordarea de sus în jos poate produce redundanță, în timp ce abordarea de jos în sus nu include informații redundante.
- Limbajele de programare procedurală, cum ar fi Fortran, COBOL și C, urmează o abordare de sus în jos. În schimb, limbajele de programare orientate pe obiecte precum C++, Java, C#, Perl, Python respectă abordarea ascendentă.
- Abordarea ascendentă este utilizată anterior în testare. Dimpotrivă, abordarea de sus în jos este utilizată în documentarea modulelor, crearea cazurilor de testare, depanarea etc.
Concluzie
Abordarea de sus în jos și abordarea de jos în sus sunt metodele de proiectare a algoritmilor, unde abordarea de sus în jos este o abordare convențională care descompune sistemul de la specificații de nivel înalt la specificații de nivel scăzut. Pe de altă parte, abordarea ascendentă este mai eficientă și funcționează într-o manieră inversă, în care componentele primitive sunt proiectate la început, apoi se trece la nivelul superior.
Abordarea descendentă pune accentul pe izolarea submodulelor (semnifică un cuplaj redus între module), în timp ce ignoră identificarea comunicării și conceptul de reutilizare. În timp ce în abordarea de jos în sus, ascunderea informațiilor și reutilizarea sunt factorii proeminenți.
Lasă un răspuns