modele algoritmice

Modelele algoritmice se bazează pe conceptul de algoritm. Punct de vedere istoric, prima definiție precisă a unui algoritm care a apărut în anii '30, au fost asociate cu noțiunea de calculabilitate. De atunci, mulți au fost sugerate, așa cum sa dovedit, algoritmul ekvivalentnyhopredeleny.

În practică, algoritmi de programare sunt descrise de obicei folosind limbaje de programare algoritmice. Sunt utilizate pe scară largă ca diferite tipuri de scheme logice, algoritmi de prezentare într-o formă clară și accesibilă, fără a atrage structuri același timp complexe de limbaje de programare specifice.

Pentru a evalua posibilitatea de a folosi algoritmi pentru a reprezenta procedura informală, ia în considerare o sarcină simplă.

SCOP. Descrieți procedura care implementează conversia substantive nominative în genitiv pentru următoarele tipuri: House, MA, PLUG, cinema, noapte, strungari, Kiel.

Soluția 1 prezentată în fig. 6.1 flowchart algoritm după caz.

modele algoritmice

Fig. 6.1. Soluție 1. Algoritmul

În ceea ce privește limbajele de programare, avantajele algoritmice de o astfel de reprezentare este clar - aceasta este o diagramă bloc ușor de tradus în cod de program, cum ar fi limbaj de asamblare sau C ++. Cu toate acestea, chiar elaborarea unei astfel de schemă logică cu apariția de noi tipuri de substantive devine în mod evident mai mult și mai obositoare. Pentru a ilustra acest lucru, să presupunem că dat

Sarcini suplimentare. Expand algoritmul prezentat în Fig. 6.1. în cuvintele lui Ioan, TIME, ACȚIUNE, SARCINA.

Desigur, programator face cu ușurință diagrama corespunzătoare. Și totuși, dacă luăm în considerare că aceste modificări și extinderi ale algoritmului pentru programarea procedurilor informale apar în mod repetat (complexitatea reală a procedurilor informale, cum ar fi timpul și se manifestă în practică, nu poate fi prevăzută în avans toate cazurile), trebuie să se recunoască faptul că, destul de corect în soluție statică 1 dinamica fara succes!

modele de producție

pentru a oferi o dinamică a proceselor de modificare a programului, în astfel de cazuri, utilizarea unor versiuni de tabele de decizie. Cu aceasta în minte pentru problema originală este o soluție mai acceptabilă 2.

Tabelul 6.1. soluție 2

Pentru cuvântul Rose este detectată în funcție de situația „-A“. Ca urmare a acțiunii „-N“ va primi de ieșire ROSES cuvânt.

expansiune mult mai ușor în noi clase de cuvinte - este necesar doar pentru a asigura plata inserțiilor în vigoare în tabelul de decizie.

tabele de decizie sunt un caz special al sistemului de producție așa-numitele. În aceste sisteme, regulile de calcul sunt reprezentate ca ieșiri. Operatorii de producție sunt un tip special și constă din două părți principale, numite de obicei pentru concizie „situație - acțiune“.

„Situația“ conține o descriere a situației în care produsele sunt aplicabile. Această descriere este dată în formă de condiții, numit Yu-produse. „Acțiunea“ - un set de instrucțiuni care să fie executate în cazul aplicabilității produsului.

Pentru a continua descărcarea aveți nevoie pentru a asambla o imagine:

articole similare