Computational Structura procesului de ramificare
imprima „TM nu face parte din regiune D“
Notă. După cum sa menționat mai sus, algoritmul este de obicei orientat spre un limbaj de programare specifică. Algoritmul verifică condițiile deținute în două blocuri / 3 și 4 /, ca Orientarea în acest caz merge la standard de bază, care nu se realizează condițiile de verificare duble.
QBasic limbă, de exemplu, este posibil și apoi, în loc de blocuri 3 și 4 ar putea fi folosite în algoritmul de o unitate de verificare condiție (Figura 12). O astfel de acțiune este realizată în algoritmul de mai sus.
Calculați Y = 0,7 - tg X, dacă
Nu a fost determinat altfel
În acest exemplu, „Y“ este calculată în intervalul x = [3, 9], pentru valorile lui x<3 и x>9, valoarea „Y“ nu este evaluat. În acest caz, trebuie să fie furnizate algoritmul pentru tipărirea acestui mesaj. Acest lucru poate fi un text „pentru o anumită valoare a lui x valoarea lui y nu este evaluată“, sau poate fi pur și simplu imprimate valoarea „x“, cel mai mare program pe care utilizatorul va înțelege că calculele nu au fost realizate (fig. 13). Pentru comoditatea de scriere a programelor în limba standard, modul convenabil de bază pentru a elibera bloc - scheme pentru a introduce blocul logic următor este conectat cu linia „nu“ la blocul logic anterior. Pe această bază, vom începe să testeze „condițiile s<3”.
Un exemplu de program scris în limba Q BASIC:
În acest exemplu, blocurile 6 și 8, „Y“ se calculează cu aceeași formulă. Cu pozițiile de programare structurate astfel de structură este mult mai ușor de implementat în limbajul de programare decât structura, care utilizează o unitate de calculator în calcularea diferitelor condiții / x<3 5 proces 2.2.3.Vychislitelny structură ciclică. proces de calcul în mod repetat iterativ modificarea valorilor unor variabile pe fiecare repetiție, numit ciclic sau ciclu. Secvența de acțiuni, care se execută în mod repetat într-un ciclu, ciclul se numește corpul. Pentru a efectua corpul buclei trebuie să fie într-un anumit mod de a stabili valori ale acelor variabile care variază într-un ciclu. Ciclul Out se efectuează în anumite condiții. Acest lucru poate fi pentru a realiza un ciclu variabil de valoarea sa finală, sau atingerea o precizie predeterminată de calcul. În diferite limbaje de programare a verifica condițiile care ies ciclul poate fi efectuată fie în fața corpului buclei (cu un pre-ciclu) sau după executarea acesteia (ciclu cu postconditie). În conformitate cu procesul ciclic de mai sus pot fi reprezentate prin două variante de realizare (fig.16, 17). Ciclul cu ciclu postconditie cu condiție prealabilă Corpul buclei poate avea o structură diferită. Acest lucru poate fi un proces linear sau ramificare, precum și un ciclu, care, de asemenea, trebuie îndeplinite toate etapele ciclurilor o astfel de structură este uneori numit „ciclu loop“ sau „bucle imbricate.“ La pregătirea noilor valori ale ciclului variabil folosesc de obicei o relație recursie care determină formula noua valoare a variabilei bazate pe valoarea anterioară. De exemplu: X = X + DX Dacă valoarea finală a variabilei buclă în sarcină definită, atunci când un număr predeterminat de repetiții de calcul pas în ciclu poate fi calculată folosind următoarea formulă: N = (Xk - XH) / D X + 1, și anume numărul de repetiții este cunoscut. Aceste cicluri sunt numite cu un număr cunoscut de cicluri de repetiție. Dar nu întotdeauna un astfel de număr poate fi calculată ca în unele probleme ale valorii finale a variabilei bucla este necunoscută și în afara ciclului se realizează pe o anumită condiție / tip de ciclu „până la“ /. Acest tip de cicluri se găsesc în rezolvarea unor metode numerice sunt numite cicluri iterative sau cicluri cu un număr necunoscut de repetiții. Cicluri cu un număr cunoscut de repetiții Un exemplu tipic este algoritmul ciclului aritmetice a funcției intabulare. Calculati valorile funcției y = x - sin (x) pentru orice x Î [Xh, xk]; increment al argumentului x este Ax; xk și xk respectiv valoarea inițială și finală a argumentului x. O diagramă bloc a algoritmului de rezolvare a problemei este prezentată în Fig. 18. Block 1. xk variabilă, xk și x sunt date de valorile lor numerice prin introducerea, de exemplu, afișajul la distanță. Blocurile 2, 6. Imediat o parte ciclică a sarcinii. corp buclă - un proces liniar / unități 3, 4 /. În blocurile 2 și 5 sunt date, respectiv de valoarea inițială a variabilei buclă și valorile sale ulterioare. În blocul 6, condiția este verificată din bucla. O altă formă a algoritmului acestei structuri problemă este prezentată în Fig. 19. Aici, unitatea de testare a stării de ieșire a buclei este imediat după setarea variabilei buclă. Programul pentru soluția de exemplu, o diagramă bloc care prezintă algoritmul Z + 0,7 tgz dacă Z <3,5 Se determină valorile maxime și minime ale tuturor valorilor calculate W și valorile corespunzătoare ale lui X și Y. Blocul - Diagrama problemei este prezentată în Fig. 28. Bloc de introducere 1- datele inițiale Blocul 2 - Prepararea valorilor inițiale ale variabilelor MAX și MIN. Blocurile 3 + 31 = buclă exterioară. buclă X. variabilă Corpul acestui ciclu este de 30 de blocuri de 4+. Blocuri de 3, 4, 31 - interval determinat modificări variabile H. Blocuri 7-29 - corpul buclei interioare. W. ciclu variabil Blocks - 5, 6, 30 - intervalul determinat al variabilei Y. Blocuri 7 + 17 - determinarea valorilor Z. variabilei Aceste două cicluri succesive învecinate în care valoarea este determinată în mod succesiv termeni 51 și 52 sunt incluse în definiția formulei Z. Blocuri 19-25 - definiție și valori de imprimare W.Eto proces de calcul, iar una din ramuri (blocuri 19-23) ramificare este un proces ciclic de acumulare a produsului. Blocuri de 26 - 29 - determinarea valorilor maxime și minime ale variabilei W și coordonatele sale. Una dintre tehnicile de proiectare algoritm rezolvă mai multe probleme complexe este pas cu pas metoda detaliu. Metoda de rafinare în trepte este. crezut inițial că structura generală a algoritmului fără un studiu detaliat al părților sale individuale. dar este, de asemenea, utilizat de principalele tipuri de structuri de algoritmi. De obicei blocuri care necesită detalii suplimentare, desemnată de linia punctată. Pe lângă acestea sunt detaliate în etapa următoare, și așa mai departe, până când acesta este pus în aplicare pe deplin în detaliu toate blocurile. Această metodă se numește o programare de sus în jos. Astfel, blocul - diagrama (. Figura 28) pot fi obținute folosind metoda de rafinare în trepte (Figura 29.). Blocul - sistem pentru a rezolva problema 16.