Rezumatul fundațiilor algoritmice de abstract

3. Principalele algoritmice de proiectare structurală

4. Referințe

Orice algoritm nu există de la sine, ci este proiectat pentru un anumit artist (uman, robot, calculator, limbaj de programare, etc). Proprietățile care caracterizează orice artist, este că el este capabil de a efectua anumite comenzi. Un set de comenzi pe care artistul este capabil de a efectua, se numește un sistem de echipe artist. Algoritmul este descris în echipa executivă, care va pune în aplicare. Obiectele peste care contractantul poate întreprinde acțiuni care formează așa-numitul artist media. Datele inițiale și rezultatele oricărui algoritm aparțin întotdeauna mediul artistului, care este proiectat pentru algoritmi.

Înțeles „algoritm“ este foarte similar cu valorile cuvintelor „rețeta“, „metoda“, „procesul“. Cu toate acestea, spre deosebire de algoritmul reteta sau procedeu are următoarele proprietăți: discretă, masa, certitudinea, eficiența, formalismul.

Discretă (discontinuitate - opusul continuității) - această proprietate este un algoritm care caracterizează structura: Fiecare algoritm este format din acțiuni individuale sa încheiat, spunând: „Acesta este împărțit în etape.“

Masa - Aplicabilitatea algoritmului la toate problemele de acest tip, în toate datele de intrare. De exemplu, în numere reale, un algoritm pentru rezolvarea unei ecuații pătratice ar trebui să conțină toate soluțiile posibile rezultate, adică Luați în considerare valoarea algoritmului discriminantă descoperă că există două rădăcini distincte ale ecuației, sau două sau egale ajunge la concluzia că nu există rădăcini reale.

Certitudine (determinismul, precizie) - proprietatea algoritmului, indicând faptul că fiecare pas al algoritmului ar trebui să fie strict definite și supus unor diverse interpretări; strict urmează să fie stabilită ordinea etapelor individuale. Amintiți-vă povestea lui Ivan Tareviciului? „A fost prințul Ivan pe drum, el a venit la furcă. El vede o piatră mare, inscripția: „Doar du-te - vei pierde capul, du-te dreapta - soția lui găsi, du-te la stânga - a se îmbogăți.“ Ivan standuri și cred că ce să facă în continuare. " Astfel de instrucțiuni pot cuprinde un algoritm.

Eficacitate - proprietate, care constă în faptul că orice algoritm trebuie să termine după un număr finit (posibil foarte mare) de pași. Examinarea algoritmilor fără sfârșit este în afara domeniului de aplicare al teoriei algoritmilor.

Formalitatea - această proprietate indică faptul că orice interpret, capabil să accepte și să execute instrucțiunile algoritmului funcționează în mod oficial, și anume Acesta distras de conținutul sarcinii și execută numai cu strictețe instrucțiunile. Specula „ce, cum și de ce“ ar trebui să dezvoltatorul algoritmului, și artistul formal (fără a se gândi) a efectua alternativ echipa propusă și devine rezultatul dorit.

Luați în considerare următoarele descrieri de algoritmi de metode: o descriere verbală, programul organigrame pseudocod.

Descrierea verbală este structura algoritmului în limbaj natural. De exemplu, orice aparate de uz casnic (dispozitiv de fiare de călcat, ferăstrău electric, de foraj, etc.) are o operație manuală, adică descrierea verbală a algoritmului, potrivit căruia dispozitivul trebuie utilizat.

Nu există reguli de elaborare a unei descrieri verbale nu există. Scrierea unui algoritm implementat în mod arbitrar în, de exemplu, limbajul natural rusesc. Acest mod de a descrie nu este larg răspândită, deoarece nu sunt formaliza strict (sub „formală“ înseamnă că descrierea este absolut completă și ia în considerare toate situațiile posibile care pot apărea în cursul judecății); Nu este clar în descrierea unor acțiuni; vorbăria suferință.

Pseudo-cod - o descriere a structurii algoritmului în limbaj natural, parțial formalizate, care permite identificarea principalelor etape de rezolvare a problemei, înainte de scrierea sa precisă într-un limbaj de programare. În pseudo-cod folosit unele structuri formale și un simboluri matematice comune.

reguli de sintaxă stricte pentru scrierea de cod pseudo nu există. Acest lucru facilitează intrarea algoritmului pentru proiectarea și ne permite să descrie algoritmul, folosind orice set de comenzi. Cu toate acestea, în unele pseudocod utilizate în mod obișnuit de proiectare inerente într-un limbaj formal, care facilitează trecerea de la pseudocod pentru a scrie algoritmul într-un limbaj de programare. Sau o singură definiție formală a pseudo-cod nu există, deci poate exista o varietate de pseudo-cod, un set diferit de cuvinte folosite și modele.

Flowchart - descrierea structurii algoritmului folosind forme geometrice cu legături linii, arătând ordinea de executare a instrucțiunilor individuale. Această metodă are mai multe avantaje. Datorită vizibilității, acesta oferă „lizibilitatea“ a algoritmului, și arată în mod clar ordinea de execuție a echipelor individuale. În schema logică a fiecărei structuri formale corespunde unei anumite cifre referitoare la foc figură geometrică set de linii.

Luați în considerare o parte din structura de bază utilizată pentru a construi organigramele de programe algoritmi reglementate GOST 19.701-90.

Bloc ce caracterizează începutul / sfârșitul algoritmului (pentru rutine - un apel / retur)

Block - un proces destinat să descrie acțiuni specifice

Unitatea - proces Predefined intenționat să se refere la algoritmii auxiliari (rutine)

Block - I / O purtătoare sau nedeterminată Descrierea sursei de date

Unitatea - decizia (sau condiție de verificare bloc condiționată)

Unitatea - Limitele ciclului care descriu procese ciclice de tip „buclă cu o condiție prealabilă“, „ciclu cu postconditie“

Descrieri algoritm în formă verbală, pseudocod sau sub formă de diagramă bloc permit unele arbitrariului în comanda de imagine. Cu toate acestea, este suficient, astfel încât permite unei persoane să înțeleagă esența lucrurilor și de a executa algoritmul. În practică, interpreții sunt calculatoarele algoritmi. Prin urmare, algoritmul de execuție pe un computer care urmează să fie scris „înțelege“ o limbă, un limbaj formal numit un limbaj de programare.

Programul - descrierea algoritmului structurii pe limbajul de programare algoritmică.

Etapele elementare ale algoritmului poate fi împărțit în următoarele construcții algoritmice: liniar (secvențial), ramificat, ciclic și ciclic cu condiție prealabilă cu postconditie. Orice algoritm poate fi compus folosind patru design-algoritmică.

Linear numit proiectare algoritmică, implementat ca o secvență de operații (pași), în care fiecare acțiune (etapa) al algoritmului se efectuează o singură dată, și se efectuează (i + 1) operațiune -lea (pas) după fiecare etapele i-lea (pași), în cazul în care acțiunea i-lea - nu la sfârșitul algoritmului.

Ramificare (sau ramificare) este numit un design algoritmică oferind posibilitatea de a alege între cele două alternative, în funcție de valoarea datelor de intrare. Fiecare set specific de date de intrare ramificare algoritm reduce la unul liniar. O distincție este incompletă (dacă - atunci) și complet (dacă - atunci - altceva) ramură. ramificare completă permite să aranjeze două ramuri în algoritmul (adică, sau altfel), fiecare dintre acestea conduce la punctul comun al confluență, deci algoritmul continuă, indiferent de calea pe care a fost selectat (Fig. 1). Algoritmul ramificare incomplet presupune o acțiune pe o singură ramură (i), al doilea aspect este absent, adică pentru unul dintre test nu au nevoie pentru a efectua orice acțiune cu rezultatele, controlul se duce imediat la punctul de fuziune.

Fig. 1. ramificare completa

Cyclic (sau ciclu) se numește structura algoritmică în care unele din grupul de acțiune consecutive (etape), algoritmul poate fi efectuată de mai multe ori, în funcție de datele sau condițiile problemei de intrare. Grupa acțiuni repetitive la fiecare pas al ciclului este numit corpul buclei. Orice structură ciclică cuprinde elemente de ramificare de proiectare algoritmică.

Ciclul cu condiție prealabilă

Această structură ciclică verifică mai întâi valoarea expresiei conditionale (condiție) înainte de efectuarea următoarei etape a ciclului. Dacă valoarea expresiei condițională este adevărată, corpul buclei este executat. După care controlul este transferat la starea nou de verificare, etc. Aceste etape sunt repetate, atâta timp cât expresia condițională nu va FALSE. La primul ciclu de condiție nerespectare încetează. Numărul de etape ale ciclului in avans nu este definit și depinde de datele de intrare ale problemei. O caracteristică a ciclului, cu condiția prealabilă este că dacă unul este o expresie condițională este falsă, corpul buclei nu este executată deloc.