Forme de reprezentare a algoritmilor

Pentru a scrie un algoritm, se pot folosi diverse forme de reprezentare a acestuia.

Forma verbală a reprezentării algoritmului presupune că algoritmul este scris în limba rusă (sau orice altă limbă naturală) sub forma unei secvențe de instrucțiuni numerotate. De regulă, această formă de scriere a unui algoritm este greoaie, incomod și nu este suficient de evidentă.







De exemplu, în descrierea în ea un algoritm pentru a găsi GCD (cmmdc) a două numere întregi m și n pozitive pot fi reprezentate ca o secvență de următoarele patru etape:

Pasul 1: comparați m și n.

Pasul 2: Dacă m este egal cu n. atunci m este originalul GCD, calculul sa terminat. În caz contrar, treceți la pasul 3.

Pasul 3: Dacă m este mai mare decât n. apoi micșorați valoarea lui m cu valoarea n și reveniți la pasul 1. Altfel, treceți la pasul 4.

Pasul 4: Reduceți valoarea lui n cu valoarea lui m și reveniți la pasul 1.

Această înregistrare modernă a algoritmului pentru găsirea GCD este foarte simplistă. Înregistrarea inițială dată de Euclid umple o întreagă pagină de text, iar succesiunea acțiunilor elementare este mult mai complicată.

Reprezentarea algoritmului sub forma unei diagrame bloc este realizată ca un set de elemente geometrice (blocuri) legate de săgeți. Fiecare bloc este un "pas" al algoritmului, acțiunea sa separată. Direcția săgeților dintre blocuri stabilește secvența de acțiuni. Tabelul 1 prezintă elementele standard de bază ale schemelor de evoluție.

Conectează blocurile, indicând ordinea execuției acestora

Elementele din diagramă diferă în ceea ce privește aspectul și scopul lor. Astfel, elementele care conțin instrucțiuni cu privire la orice transformări ale cantităților sunt notate cu dreptunghiuri și elemente care conțin verificarea condițiilor de către romburi. Operațiile de intrare-ieșire a datelor sunt indicate prin paralelograme. Începutul și sfârșitul algoritmului sunt indicate de dreptunghiuri cu două laturi opuse rotunjite, în interiorul cărora se scrie: "început" sau "sfârșit".

O singură săgeată iese din dreptunghi, mai multe săgeți pot intra în ea. Dintre cele două vârfuri acute ale romboidală este o săgeată: una dintre ele este marcat cu cuvântul „da“, celălalt - cuvântul „nu“, au stabilit direcția viitoare de calcul, în cazul respectiv, îndeplinirea sau non-înregistrate în condițiile diez.

Scopul și regulile de utilizare a tuturor tipurilor de blocuri sunt prezentate în tabelul 1 din coloana Denumire element și Explicație.

Folosind elementele standard enumerate în tabelul 1, algoritmul de mai sus pentru găsirea GCD a două numere întregi pozitive m și n ia forma diagramei bloc din Fig. În interiorul blocurilor din care este familiar: = reprezintă funcționarea atribuirii variabilei la valoarea indicată în stânga semnului, valoarea sa, calculată prin formula care stă la dreapta semnului.

Forme de reprezentare a algoritmilor

Diagrame bloc de cele mai utile pentru afișare au fost deja dezvoltate algoritmi gata, precum și etapele inițiale de învățare a programului, deoarece acestea vă permit să se conecteze la percepția algoritmului vizual al imaginilor vizuale ale operațiunilor. Mai mult decât atât, în timpul proiectării algoritmilor software complexe, această formă de reprezentare utilizate în formarea nivelurilor superioare în structura ierarhică a software-ului, și de asemenea - la nivelele inferioare, dacă nu este complet definit de program care descrie mijloace.







În etapele de dezvoltare detaliată a algoritmilor complexi, utilizarea diagramelor bloc este ineficientă, deoarece intercalarea încurcată a numeroaselor săgeți de conectare face dificilă înțelegerea algoritmului dezvoltat.

Prezentarea algoritmului sub formă de pseudo-cod bazat pe descrierea etapelor de rezolvare a problemei, prin utilizarea unui set limitat de sintaxă standard de. În pseudocod, în special, pot fi folosite instrucțiuni individuale de limbi oficiale de programare algoritmică. De exemplu, construcția puterii X A X ** este notat ca A, având o rădăcină pătrată din X este desemnat ca sqrt (X).

La fel ca în limbile oficiale de programare, pseudo-codul conține cuvinte-cheie, a căror semnificație este predeterminată și fixată. Tabelul 2 prezintă lista de cuvinte cheie.

Deoarece cheia poate fi folosită și cu analogii de cuvinte similare din limba engleză: altfel decât altfel. apoi în loc de asta. și așa mai departe.

În forma cea mai generală, algoritmul sub forma unui pseudo-cod arată astfel:

Algoritmul algoritmului (argumente - parametrii de intrare și parametrii - rezultatele algoritmului)

dat condiții pentru aplicabilitatea algoritmului

nevoie | scopul de execuție al algoritmului

o descriere a valorilor intermediare (interne) ale algoritmului

Aici partea înregistrării de la cuvântul alg la cuvântul nach este numită capul algoritmului, iar partea cuprinsă între cuvintele nach și corp. În interiorul corpului pot fi și cuvinte începând și terminând, un grup de comenzi între ele formează propriul lor bloc de comenzi separate. Comenzile sunt separate unul de altul prin simbolul ";".

Imediat după numele algoritmului în paranteze indică caracteristici (Arg sau tăiate) și un tip de valoare (scop, vesch, Sim, log sau fila) a valorilor de ieșire (rez) de intrare (Arg) și. La descrierea matricelor, fila cuvântului de serviciu este completată de perechi de valori pentru fiecare index al elementelor de matrice.

Pasul de modificare a parametrului ciclului

Secțiunile sunt date și este necesar ca înregistrarea algoritmului să nu fie obligatorie.

Printre acțiunile principale care alcătuiesc corpul algoritmului sunt instrucțiunile de intrare-ieșire, alocare, tranziție, ramificare și buclă. Cuvintele cheie corespunzătoare sunt utilizate pentru a desemna aceste comenzi.

Comanda de intrare. introducerea cuvintelor cheie, urmată de numele variabilelor pentru care sunt introduse valorile. De exemplu, intrarea de comandă a, b, c înseamnă intrarea valorilor pentru variabilele a, b, c.

Comandă de ieșire. rezultatul cuvintelor cheie, urmat de numele variabilelor de ieșire, expresiile de ieșire și texte (textele sunt introduse în ghilimele). De exemplu, ieșirea de comandă "S =", S înseamnă ieșirea numelui variabilei S, urmată de semnul egalității = urmată de ieșirea valorii curente a acestei variabile.

Comenzile de atribuire sunt folosite pentru a evalua expresiile și pentru a atribui valorile acestora variabilelor. Vedere de ansamblu a echipei: „variabila“: = „expresie“, unde simbolul „=“ înseamnă o echipă care înlocuiește vechea valoare a variabilei în partea stângă, valoarea calculată a expresiei de pe partea dreaptă. De exemplu, x comanda: = y + z înseamnă atribuirea de valori variabile x și suma cantităților y z, iar comanda k: = k + 1 este creșterea valorii curente a k variabile de unul.

Comandă de comutare. cuvintele cheie merg la, după care este indicat numărul liniei, a cărei comandă trebuie executată în continuare. Astfel, comanda de tranziție schimbă secvența naturală de executare a instrucțiunilor în numere de rând în ordine crescătoare. De exemplu, înregistrate în comanda linia a 5-a merge la 10 înseamnă că mai multe comenzi trebuie executate, stocate în rândul 10-lea loc de comanda înregistrată în următoarea linie de 6 minute.

Pentru a organiza ramuri ale procesului de calcul, se folosesc comenzi care pornesc de la cuvinte cheie, în cazul în care se face alegerea, calculele ciclice sunt organizate folosind comenzi care încep cu cuvintele cheie pentru acum și pentru. În detaliu, aceste comenzi sunt discutate mai departe în descrierea structurilor de bază ale algoritmilor.

Folosind pseudocodul, algoritmul de mai sus pentru găsirea GCD a două numere întregi pozitive m și n are următoarea formă:

alg Cel mai mare divizor comun (arg msel m, n, rezol nod)

dat numerele pozitive m, n

nevoie | nod este cel mai mare divizor comun al m, n







Articole similare

Trimiteți-le prietenilor: