Construcții algoritmice de bază

Etapele elementare ale algoritmului poate fi împărțit în următoarele construcții algoritmice: liniar (consecutive) timp-vetvlyayuschiesya, ciclic și recursiv.

Design liniar algoritmică

Construcții algoritmice de bază

se realizează Algoritmiches-numita structură kuyu liniară implementată sub forma unei succesiuni de acțiuni (etape), în care fiecare acțiune (etapa) al algoritmului se efectuează o singură dată, iar după fiecare i -lea acțiune (etapa) (i + 1) acțiune -lea (etapa ) în cazul în care i-lea dei Corolarul - nu la sfârșitul algoritmului.

Exemplu vom descrie algoritmul de adăugarea a două numere în formă pseudocode într-un bloc-schemă noi.

Figura - flowchart ex

Ramificarea de proiectare algoritmică

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 dacă-liniară. O distincție este incompletă (dacă - atunci) și completă (dacă - atunci -inache) ramură. Full ramificare dând două vet-vi în algoritmul (adică, sau în alt mod), fiecare dintre acestea conduce la punctul comun al confluență, deci algoritmul continuă non-problemă, deoarece o cale a fost selectată (vezi figura).

Figura - ramificare completa

Incomplete ramură-Leniye presupune o acțiune numai pe una dintre ramurile algoritmului (i), al doilea aspect este absent, adică pentru unul dintre rezultatul re-test, nici o acțiune nu este necesar să se efectueze, de conducere a sare la punctul de fuziune (Figura).

Desen - ramificare incomplet

Exemplu: Valoarea maximă de ieșire a celor două numere.

Figura - Diagramă de ex

În acest exemplu, ramificarea totală este pus în aplicare. IF-TION valori ale datelor de intrare, astfel încât a> b, apoi următorul algoritm liniar:

În caz contrar, atunci când un

Concluzie: Algoritmul este ramificare și constă din două ramuri.

Design algoritmică „Ciclul“

Cyclic (sau inel) sunt numite algoritmică constructiv-TION, în care unele, operații de grup consecutive (etape) al- goritma poate fi efectuată de mai multe ori, în funcție de datele sau condițiile problemei de intrare-TION. Grupa acțiuni repetitive la fiecare pas al ciclului este numit corp ciclu Xia. Orice construct Env ciclică conține elementele construcțiilor algoritmice ramificare-TION.

Considerăm că trei tipuri de algoritmi parametru de ciclu ciclice (care se numește un ciclu de aritmetică), cu un ciclu de condiție prealabilă și un ciclu cu postconditie (denumit iterativ).

ciclu de aritmetică

Ciclul aritmetică numărul etapelor sale (iterații) cu un singur parametru unic determinat o schimbare regulă care specifică etsya prin primară (N) și final (R), valoarea parametrului și teren (h) schimbarea acestuia. Ie în primul pas valoare bucla parametrii egale de N. PAS doilea N + h. a treia - N + 2h etc. În ultima etapă a valorii parametrului ciclului nu este mai mult decât K, dar că-ceva care schimbarea în continuare a acesteia va avea ca rezultat o valoare mai mare decât K.

Exemplu: Afișează 10 de ori cuvântul „Bună ziua!“.

Parametrii ciclului notat i. El va fi responsabil pentru suma de cuvinte derivate. Când i = 1 primul cuvânt va fi afișat, atunci când i = 2, etc. Al doilea cuvânt este afișat Din moment ce doriți să afișați 10 cuvinte, atunci ultima valoare a parametrului i = 10. În exemplul dat, este nevoie de 10 pentru a repeta aceeași acțiune: a lua cuvântul, „Bună ziua!“.

Noi construim algoritmul folosind ciclul aritmetice IC în care un parametru modificări tipic j- 1, 10, 1. Adică, valoarea inițială a parametrului i = 1; valoarea finală a i = 10; increment h = 1. Figura prezintă schema logică pentru rezolvarea acestei probleme-.

Figura - Diagramă de ex

articole similare