Conceptul de algoritm și tipurile de procese algoritmice

Tehnologie și instrumentele de programare

Orice problemă înainte de a decide pe un calculator necesită o formare formală, inclusiv o serie de decizii privind structura și conținutul datelor de intrare și de ieșire, precum și procedurile de conversie a mesajelor de intrare în week-end, care descrie un algoritm pentru rezolvarea problemei cu utilizarea mai eficientă a informațiilor tehnice, software și organizaționale (umane) resurse.

În formularea problemei trebuie să fie prezent: sarcini de caracterizare, descrierea datelor de intrare și de ieșire, descrierea matematică a problemei, descrierea algoritmului de rezolvare a problemei și de lucru exemplu de control.

În cazul în care sarcina nu are formularea matematică a deciziei sale, utilizată descrierea logica acțiunilor succesive realizate sub forma unor funcții de procesare a informației pentru sarcina. Modelul matematic sau logic pentru rezolvarea problemei ar trebui să fie suficient de detaliate pentru a fi capabil de a crea un algoritm si un program pentru rezolvarea problemei.

Algoritmul de rezolvare a problemei - un sistem de reguli precis formulate care definesc procesul de conversie a datelor de intrare în producția unui număr finit de pași. Aceasta reflectă coerența și logica operațiunilor de prelucrare a informațiilor.

Algoritmul este baza programului, oferind masina punerea în aplicare a soluției.

Algoritmul trebuie să îndeplinească următoarele cerințe: să fie clare, ușor de verificat, permite posibilitatea schimbării fără o restructurare semnificativă a întregii structuri.

Proprietățile de bază ale algoritmului sunt:

discretă - soluții de proces divizat în etapele de procesare (etapele unice de execuție);

Definiția - execuție lipsită de ambiguitate și precisă a fiecărei faze;

fezabilitate - decizia fiecărei etape, și întreaga problemă într-un număr finit de pași;

Masa - utilizarea algoritmului pentru o anumită clasă de probleme.

Algoritmul poate fi înregistrare verbală folosind simboluri matematice convenționale sau expresii logice. Dar, mai des decât un algoritm elaborate este reprezentată - sub formă de diagrame bloc, în conformitate cu cerințele programării structurate.

În dezvoltarea unor simboluri speciale organigrame care definesc de către clienți, de exemplu utilizat:

pentru a indica începutul și sfârșitul lucrării - ovală (elipsă);

pentru introducerea datelor în unitatea de calcul și de ieșire a rezultatelor - paralelograme;

pentru unitățile de procesare - un dreptunghi;

pentru unitățile de luare a deciziilor - diamante, etc.

Algoritmii difera in structura: este izolat liniar, procese algoritmice ramificate și ciclice.

procese algoritmice liniare sunt o parte integrantă a oricărui algoritm fix și include o listă de blocuri (operatori). Fiecare bloc de lângă începe să „lucreze“ după finalizarea prelucrării informațiilor din blocul anterior, fără condiții suplimentare.

Cu toate acestea, în practică, problemele pur liniare sunt rezolvate extrem de rare. Cele mai multe sarcini includ condiții de verificare, în funcție de decizia ulterioară este una din mai multe direcții posibile, și anume, ramificare are loc procesul de algoritmice. așa-numita structură alternativă. Fiecare alternativă poate fi realizată mai mult decât o dată, punerea în aplicare a 2-alternative - este necesară.

Dezvoltarea acestui tip de structură este alternativă multiplă. când secvențial testat condițiile pentru efectuarea mai multor alternative. În acest caz, în cazul în care o anumită condiție este adevărată, este procesat de alternativă corespunzătoare, iar ieșirea se produce. În caz contrar, trece la urmatoarea alternativa, verifica, etc.

proces algoritmic Cyclic se reduce la repetarea multiplă a anumitor etape ale algoritmului (ciclu) de fiecare dată cu noi valori (parametri de ciclu). Ciclul poate fi complex, adică în cadrul unui ciclu, cu excepția proceselor liniare, pot conține alte cicluri și procese de ramificare.

Când structura ciclică a algoritmului în bloc „Condiții“ condiție de execuție specificată a ciclului de prelucrare a corpului predeterminat. În cazul în care condiția nu este îndeplinită, ciclul este întrerupt și ieșirile.

corp buclă - orice secvență de blocuri (operatori) tratarea cu o structură complexă care poate conține nu numai secvențial, ci ramificate și ciclice (adică, condiții secundare și cicluri). Condițiile pot cuprinde număr contor admisibil de repetiții de realizare a corpului buclei.

articole similare