Denumiri ale diagramelor bloc ale algoritmilor. Diagrama bloc online: cum să prezentați informațiile structural

2.1 Dezvoltarea algoritmului.

Algoritm- Acest

A. descrierea secvenței de acțiuni pentru rezolvarea unei probleme sau atingerea unui scop;

b. reguli pentru efectuarea operațiunilor de bază de prelucrare a datelor;

c. descrierea calculelor folosind formule matematice.

Înainte de a începe să dezvoltați un algoritm, este necesar să înțelegeți clar sarcina: ce este necesar să fie obținut ca rezultat, ce date inițiale sunt necesare și ce sunt disponibile, ce restricții există asupra acestor date. În continuare, trebuie să notați ce acțiuni trebuie întreprinse pentru a obține rezultatul necesar din datele inițiale.

În practică, cele mai comune forme de prezentare a algoritmilor sunt:

Verbal (înregistrări în limbaj natural);

Grafic (imagini din simboluri grafice);

Pseudocoduri (descrieri semi-formalizate ale algoritmilor într-un limbaj algoritmic condiționat, incluzând atât elemente ale unui limbaj de programare, cât și fraze în limbaj natural, notații matematice general acceptate etc.);

Programare (texte în limbaje de programare).

Modul verbal de scriere a algoritmilor este o descriere a etapelor succesive de prelucrare a datelor. Algoritmul este specificat într-o formă liberă în limbaj natural.

Exemplu. Scrieți un algoritm pentru găsirea celui mai mare divizor comun (MCD) a două numere naturale.

Algoritmul ar putea fi după cum urmează:

1. setează două numere;

2. dacă numerele sunt egale, atunci luați oricare dintre ele drept răspuns și opriți, în caz contrar continuați executarea algoritmului;

3. determinați cel mai mare dintre numere;

4. înlocuiți numărul mai mare cu diferența dintre numerele mai mari și cele mai mici;

5. repetați algoritmul de la pasul 2.

Algoritmul descris este aplicabil oricăror numere naturale și ar trebui să conducă la o soluție a problemei. Convingeți-vă de acest lucru utilizând acest algoritm pentru a determina cel mai mare divizor comun al numerelor 125 și 75.

Metoda verbală nu este răspândită din următoarele motive:

Astfel de descrieri nu sunt strict formalizabile;

Suferiți de cuvintele notelor;

Există loc pentru ambiguitate în interpretarea reglementărilor individuale.

Modul grafic de prezentare a algoritmilor este mai compact si mai vizual in comparatie cu cel verbal.

Când este prezentat grafic, algoritmul este reprezentat ca o secvență de blocuri funcționale interconectate, fiecare dintre acestea corespunzând execuției uneia sau mai multor acțiuni.

Această reprezentare grafică se numește diagramă de flux sau diagramă de flux.

Pseudocod este un sistem de notații și reguli conceput pentru a scrie uniform algoritmi.

Ocupă un loc intermediar între limbajele naturale și cele formale.

Pe de o parte, este aproape de limbajul natural obișnuit, astfel încât algoritmii pot fi scrieți și citiți în el ca un text obișnuit. Pe de altă parte, pseudocodul utilizează unele constructe formale și simbolism matematic, ceea ce aduce notația algoritmică mai aproape de notația matematică general acceptată.

În pseudocod, regulile sintactice stricte pentru scrierea comenzilor inerente limbajelor formale nu sunt adoptate, ceea ce facilitează scrierea algoritmului în faza de proiectare și face posibilă utilizarea unui set mai larg de comenzi concepute pentru un executor abstract. Cu toate acestea, pseudocodul conține de obicei unele constructe care sunt inerente limbajelor formale, ceea ce facilitează trecerea de la scrierea în pseudocod la scrierea unui algoritm într-un limbaj formal. În special, în pseudocod, precum și în limbajele formale, există cuvinte funcționale, al căror sens este determinat o dată pentru totdeauna. Nu există o definiție unică sau formală a pseudocodului, așa că sunt posibile diverse pseudocoduri, care diferă în setul de cuvinte funcționale și construcții de bază (de bază).

2.2 Diagrama bloc.

O diagramă de flux este o reprezentare grafică a unui algoritm în care este descris ca o secvență de blocuri funcționale interconectate, fiecare dintre acestea corespunzând execuției uneia sau mai multor acțiuni.

În organigramă, fiecărui tip de acțiune (introducerea datelor inițiale, calcularea valorilor expresiilor, verificarea condițiilor, controlul repetarea acțiunilor, finalizarea procesării etc.) corespunde unei figuri geometrice reprezentate ca simbol bloc. Simbolurile bloc sunt conectate prin linii de tranziție care determină ordinea în care sunt efectuate acțiunile.

Iată cele mai frecvent utilizate simboluri.

Nume simbol Denumirea și exemplul de umplutură Explicaţie
Proces Acțiune computațională sau succesiune de acțiuni
Soluţie Verificarea conditiilor
Modificare Începutul ciclului
Proces predefinit Calcule după subrutină, subrutină standard
Intrare ieșire I/O în general
Start Stop Începutul, sfârșitul algoritmului, intrarea și ieșirea în subrutină
Document Imprimarea rezultatelor

Blocul „proces” este folosit pentru a desemna o acțiune sau o secvență de acțiuni care modifică valoarea, forma de prezentare sau plasarea datelor. Pentru a îmbunătăți claritatea diagramei, mai multe blocuri individuale de procesare pot fi combinate într-un singur bloc. Prezentarea operațiunilor individuale este destul de gratuită.

Blocul „decizie” este folosit pentru a indica tranzițiile de control condiționat. Fiecare bloc „soluție” trebuie să identifice întrebarea, condiția sau comparația pe care o definește.

Blocul „modificare” este folosit pentru a organiza structuri ciclice. (Cuvântul modificare înseamnă modificare, transformare). În interiorul blocului este scris un parametru de ciclu, pentru care valoarea sa inițială, condiția de limită și pasul de modificare a valorii parametrului sunt indicate pentru fiecare repetare.

Blocul „proces predefinit” este folosit pentru a indica apelurile la algoritmi auxiliari care există autonom sub forma unor module independente, și pentru apelurile la rutine de bibliotecă.

Exemplu. Întocmește o diagramă bloc a unui algoritm pentru determinarea înălțimilor ha, hb, hc ale unui triunghi cu laturile a, b, c, dacă



Unde p = (a + b + c) / 2.
Soluţie. Să introducem notația atunci h a = t/a, h b = t/b, h c = t/c. Diagrama trebuie să conțină start, intrare a, b, c, calcul p, t, h a, h b, h c , scoateți rezultatele și opriți.

2.3 Structuri de algoritm.

Algoritmii pot fi considerați ca anumite structuri constând din elemente individuale de bază (adică de bază). Desigur, cu această abordare a algoritmilor, studiul principiilor de bază ale proiectării lor ar trebui să înceapă cu studiul acestor elemente de bază.

Structura logică a oricărui algoritm poate fi reprezentată printr-o combinație de trei structuri de bază: urmărire, ramificare și buclă.

O trăsătură caracteristică a structurilor de bază este prezența unei intrări și a unei ieșiri.

1. Urmează structura de bază. Format dintr-o succesiune de acțiuni care urmează una după alta:

2. Structura de bază de ramificare. Oferă, în funcție de rezultatul verificării stării (da sau nu), alegerea uneia dintre modalitățile alternative de operare a algoritmului. Fiecare cale duce la o ieșire comună, astfel încât algoritmul va continua să ruleze indiferent de calea aleasă.

Structura ramificare există în patru variante principale:

Dacă-atunci-altfel;

Alegerea este diferită.

1) condiția dacă-dacă, acțiunea se încheie dacă 2) if-else if condiție atunci acțiunile 1 altfel acțiunile 2 se termină dacă 3) alegere cu condiția 1: acțiuni 1 cu condiția 2: acțiuni 2. . . . . . . . . . . . sub condiția N: acțiuni N final de alegere 4) alegere - altfel alegere în condiția 1: acțiunea 1 în condiția 2: acțiunea 2. . . . . . . . . . . . sub condiția N: acțiuni N în caz contrar acțiuni N+1 sfârșit de alegere

Exemplu. Creați o diagramă bloc a algoritmului de calcul al funcției

Structura de bază este un ciclu. Oferă execuția repetată a unui anumit set de acțiuni, care se numește corpul buclei.

Structura ciclului există în trei versiuni principale:

Tip buclă Pentru.

Instruiește să execute corpul buclei pentru toate valorile unei anumite variabile (parametru de buclă) într-un interval dat.

Tip buclă Pa.

Comandă să fie executat corpul buclei atâta timp cât condiția scrisă după cuvântul while este îndeplinită.

Tip buclă face în timp ce.

Comandă să fie executat corpul buclei atâta timp cât condiția scrisă după cuvântul while este îndeplinită. Condiția este verificată după ce corpul buclei este executat.

Rețineți că buclele for și while sunt, de asemenea, numite bucle cu verificarea prealabilă a stării și buclele pentru a face - while - bucle cu verificarea ulterioară a stării. Cu alte cuvinte, corpurile buclelor for și while nu pot fi executate nici măcar o singură dată dacă condiția de încheiere a buclei nu este inițial adevărată. Faceți corpul buclei până când este executat cel puțin o dată, chiar dacă condiția de încheiere a buclei nu este inițial adevărată.

Ciclu pentru i de la i1 la i2 pasul i3 corpul ciclului (secvența acțiunilor) sfârșitul ciclului bucla while condiție corpul buclei (secvență de acțiuni) sfârșitul buclei ciclul do loop body (secvența de acțiuni) până la sfârșitul condiției buclei

cu o precizie dată (pentru o serie de puteri alternativă dată, precizia necesară va fi atinsă atunci când următorul termen devine mai mic în valoare absolută).

Calcularea sumelor este o sarcină tipică ciclică. Particularitatea problemei noastre specifice este că numărul de termeni (și, în consecință, numărul de repetări ale corpului buclei) este necunoscut în avans. Prin urmare, bucla trebuie să se încheie când este atinsă precizia necesară.

Când compilați un algoritm, trebuie să țineți cont de faptul că semnele termenilor alternează și puterea numărului x în numărătorii termenilor crește.

Rezolvarea directă a acestei probleme prin calcularea sumei parțiale la fiecare pas

S:=S+(-1)**(i-1)*x**i/i ,

vom ajunge cu un algoritm foarte ineficient care necesită un număr mare de operații. Este mult mai bine să organizați calculele astfel: dacă desemnați numărătorul oricărui termen cu litera p, atunci numărătorul următorului termen va fi egal cu -р*х (semnul minus asigură alternarea semnelor de termenii), iar termenul în sine va fi m

va fi egal cu p/i, unde i este numărul termenului.

Un algoritm care include o buclă iterativă se numește algoritm iterativ. Algoritmii iterativi sunt utilizați în implementarea metodelor numerice iterative. În algoritmii iterativi, este necesar să se asigure că este îndeplinită condiția de ieșire din ciclu (convergența procesului iterativ). În caz contrar, algoritmul se va bucla, de exemplu. proprietatea principală a algoritmului - eficacitatea - nu va fi îndeplinită.

Bucle imbricate.

Pot exista cazuri când este necesar să se repete o anumită secvență de declarații în interiorul corpului unei bucle, adică să se organizeze o buclă interioară. Această structură se numește buclă în cadrul unei bucle sau bucle imbricate. Adâncimea de imbricare a buclelor (adică numărul de bucle imbricate una în cealaltă) poate fi diferită.

Când utilizați o astfel de structură, pentru a economisi timpul computerului, este necesar să mutați toate instrucțiunile care nu depind de parametrul buclei interioare din bucla interioară în cea exterioară.

Exemplu bucle imbricate pentru. Calculați suma elementelor matricei date A(5,3).

Exemplu bucle imbricate pentru moment. Calculați produsul acelor elemente ale matricei date A(10,10) care sunt situate la intersecția rândurilor pare și coloanelor pare.

Diagramele de flux sunt diagrame care arată etapele unui proces. Diagramele simple sunt ușor de creat, iar simplitatea și claritatea formelor le fac ușor de înțeles.

Notă. De asemenea, puteți crea automat o diagramă simplă din datele dvs. utilizând Data Visualizer din Visio Online (Planul 2). Pentru mai multe informații, consultați Crearea diagramelor utilizând Data Visualizer.

Șablonul Diagramă simplă din Visio conține forme pe care le puteți utiliza pentru a reprezenta vizual o varietate de procese. Este util în special pentru afișarea proceselor de afaceri simple, cum ar fi procesul de dezvoltare a propunerii prezentat în figura de mai jos.

În plus față de șablonul Diagramă simplă, Visio oferă o varietate de șabloane de diagrame mai specifice, cum ar fi diagrame de flux de date, cronologie și modele software.

Crearea unei diagrame de flux

    Lansați aplicația Visio.

    Faceți dublu clic pe pictogramă Schemă bloc simplă.

    Pentru a conecta elementele unei diagrame, treceți mouse-ul peste prima formă și faceți clic pe săgeata care indică forma la care doriți să vă conectați. Dacă a doua formă nu este lângă prima, trebuie să trageți săgeata mică în centrul celei de-a doua forme.

    Pentru a schimba direcția săgeții conectorului, selectați conexiunea, apoi pe fila din grup Stiluri de formă faceți clic pe element Linia Săgețiși selectați direcția dorită și tipul de săgeată.

Aliniere și spațiere automată

    Apăsați CTRL+A pentru a selecta toate obiectele de pe pagină.

    Pe fila Acasă in grup Comanda faceți clic pe butonul Poziţieși selectați Auto-aliniere și spațiere.

Dacă acest lucru nu produce rezultatul dorit, anulați-l apăsând CTRL+Z și încercați alte opțiuni din meniul butoanelor AliniereȘi Poziţie.

Ce reprezintă diagramele de flux?

La deschiderea unui șablon Schemă bloc simplă se deschide un set de elemente Forme de diagrame simple. Fiecare figură din acest set reprezintă una sau alta etapă a procesului. Dar cifrele nu au nicio semnificație universală; sensul lor este determinat de creatorii și utilizatorii diagramelor de flux. Majoritatea diagramelor de flux folosesc trei sau patru tipuri de forme, iar această gamă este extinsă doar pe măsură ce apar nevoi specifice.

În același timp, numele formelor din Visio indică utilizarea acestora. Cele mai comune forme sunt descrise mai jos.

Ce reprezintă diagramele de flux?

Visio 2010 are multe alte seturi specializate de șabloane și forme pe care le puteți utiliza într-o diagramă. Pentru mai multe informații despre alte forme, consultați articolul.

Notă: Nu găsești forma pe care o cauți? Pentru mai multe informații despre cum să găsiți alte forme, consultați Organizarea și găsirea formelor folosind fereastra Forme.

Crearea unei diagrame de flux

    Deschide fila Fişier.

    Tab Fişier nu este afișat

    Dacă tab Fişier nu este afișat, treceți la pasul următor din procedură.

    Selectați o echipă Creași punct Diagramă blocși apoi în listă Șabloane disponibile selectați elementul Schemă bloc simplă.

    Faceți clic pe butonul Crea.

    Pentru fiecare pas din procesul pe care îl documentați, trageți forma corespunzătoare de diagramă de flux în document.

    Notă: Pentru informații despre utilizarea formelor pentru a reprezenta fiecare pas dintr-un proces, consultați .

    În mod implicit dreptunghiular

    Conectori drepte

    Pentru a reveni la editarea normală pe o filă Acasă in grup Serviciu faceți clic pe butonul Indicator.

    Pentru a adăuga text pentru o formă sau un conector, selectați-l și introduceți text. Când ați terminat de introdus text, faceți clic într-o zonă goală a paginii.

    Pentru a schimba direcția săgeții conectorului, selectați conexiunea, apoi, în grup, faceți clic pe săgeata din dreapta etichetei Linia, plasați cursorul peste element Săgețiși selectați direcția dorită.

Imprimarea unei diagrame de flux mare

Înainte de a începe imprimarea, trebuie să vă asigurați că pagina de desen afișată în Visio conține întreaga diagramă. Orice formă care se extinde dincolo de pagină în Visio nu se va imprima.

Pentru a imprima o diagramă mare, procedați în felul următor:

Ce reprezintă diagramele de flux?

Când deschideți șablonul Simple Flowchart, se deschide și șablonul Simple Flowchart Shapes. Fiecare formă din setul de elemente corespunde unui anumit pas al procesului.

Dintre formele incluse în șablonul Forme de diagramă simplă, doar câteva sunt utilizate pe scară largă. Aceste cifre sunt descrise mai jos. Pentru mai multe informații despre alte forme, consultați linkul (Forme de diagramă de flux mai puțin populare) de la sfârșitul acestei secțiuni.

Forme de diagramă de flux mai puțin populare

    Linie de conectare dinamică. Această linie de legătură ocolește figurile care se află în calea sa.

    Aceasta este o linie de legătură cu curbură personalizabilă.

    Aceasta este o casetă de text cu un chenar care se redimensionează în funcție de cantitatea de text introdusă. Lățimea poate fi setată trăgând părțile laterale ale formei. Această formă nu reprezintă un pas într-un proces, dar este utilă pentru etichetarea unei organigrame.

    Notă. Aceasta este o casetă între paranteze pătrate care se modifică în dimensiune în funcție de cantitatea de text introdusă. Lățimea poate fi setată trăgând părțile laterale ale formei. Ca și câmpul de înălțime automată, această cifră nu reprezintă un pas în proces. Folosiți-l pentru a adăuga note la formele diagramei flux.

    Introducere manuală. Aceasta este etapa în care o persoană oferă informații procesului.

    Operare manuală. Acesta este un pas care trebuie parcurs de o persoană.

    Stocare internă. Această formă reprezintă date care sunt stocate pe un computer.

    Date directe. Această cifră reprezintă date care sunt stocate în așa fel încât fiecare înregistrare individuală să poată fi accesată direct. Aceasta corespunde modului în care datele sunt stocate pe hard diskul unui computer.

    Date seriale. Această formă reprezintă date care sunt stocate secvenţial (de exemplu, date pe bandă magnetică). Astfel de date pot fi citite numai secvenţial. De exemplu, pentru a accesa înregistrarea 7, trebuie mai întâi să vizualizați înregistrările 1–6.

    Hartă și bandă de hârtie. Această cifră reprezintă o carte perforată sau o bandă de hârtie. Sistemele computerizate timpurii foloseau carduri perforate și benzi de hârtie pentru a scrie și a citi date și pentru a stoca și rula programe.

    Afişa. Această formă reprezintă datele afișate utilizatorului (de obicei pe ecranul unui computer).

    Pregătirea. Această figură reprezintă inițializarea variabilelor în pregătirea pentru executarea unei proceduri.

    Modul paralel. Această figură arată unde pot rula două procese diferite simultan.

    Limită de ciclu. Această figură arată de câte ori un ciclu poate fi repetat înainte de a trece la pasul următor.

    Transferul controlului. Această cifră denotă o etapă în care, dacă sunt îndeplinite anumite condiții, are loc o tranziție nu la următoarea, ci la o altă etapă.

Crearea unei diagrame de flux

    În meniu Fişier Crea, apoi la punct Diagramă blocși selectați Schemă bloc simplă.

    Pentru fiecare pas din procesul pe care îl documentați, trageți forma corespunzătoare de diagramă de flux în document.

    Conectați formele diagramei de flux folosind una dintre următoarele metode.

    Conectarea a două forme între ele

    Conectarea unei forme la mai multe folosind un singur punct de conectare

    În mod implicit dreptunghiular linii de conectare și conectarea unui punct de pe o formă la alte trei forme arată ca în figura de mai jos.

    Pentru ca liniile de legătură să înceapă direct din punctul central al primei forme și să conducă la puncte de pe toate celelalte forme, trebuie să specificați Conectori drepte, după cum se arată în figura de mai jos.

    Pe bara de instrumente Standard instrument de clic Indicator pentru a reveni la modul normal de editare.

    Pentru a adăuga text pentru o formă sau un conector, selectați-l și introduceți text. Când ați terminat de introdus text, faceți clic într-o zonă goală a paginii.

    Pentru a schimba direcția liniei de conectare, în meniu, treceți cursorul mouse-ului peste Operațiuniși selectați Răsuciți capetele.

Imprimarea diagramelor bloc mari

Cel mai simplu mod de a imprima o diagramă mai mare decât hârtia este să o tipăriți pe mai multe coli de hârtie și apoi să le lipiți împreună.

Înainte de a începe imprimarea, trebuie să vă asigurați că pagina de desen afișată în Visio conține întreaga diagramă. Orice formă care se extinde dincolo de pagină în Visio nu se va imprima. Pentru a verifica dacă diagrama de flux se potrivește pe pagina documentului, utilizați previzualizarea din caseta de dialog Setările paginii(meniul Fişier, paragraful Setările paginii, fila Setări de imprimare).

1. Diagrama bloc. care este prea mare pentru pagina de desen Visio.

2. O diagramă de flux care este plasată pe o pagină de desen Visio.

Modificați dimensiunea paginii de desen Visio pentru a se potrivi cu dimensiunea diagramei de flux

    Când o diagramă de flux este deschisă, în meniu Fişier selectați elementul Setările paginii.

    Deschide fila Mărimea paginii.

    Pe fila Mărimea paginii faceți clic pe .

Pentru a vedea cum va arăta diagrama de flux când este tipărită, accesați meniu Fişier selectați elementul previzualizare. Figura de mai jos prezintă diagrama de flux care va fi tipărită pe patru foi de dimensiunea litere.

Imprimarea diagramelor mari de flux pe mai multe coli de hârtie

    În meniu Fişier selectați elementul Setările paginii.

    Pe fila Setări de imprimareîn câmp Hârtie în imprimantă Selectați dimensiunea hârtiei dorită dacă nu este deja selectată. Nu apăsați butonul Bine.

    Deschide fila Mărimea paginiiși faceți clic Redimensionați în funcție de conținut. Fereastra de previzualizare arată acum diferența dintre pagina nouă și hârtia din imprimantă.

    Faceți clic pe butonul Bine.

    În meniu Fişier selectați elementul previzualizare pentru a vedea cum va arăta diagrama atunci când este tipărită.

    Notă: Pot apărea margini umbrite între pagini. Acestea corespund zonelor care vor fi tipărite pe ambele coli. Acest lucru vă permite să lipiți foile împreună, astfel încât să nu existe spații goale pe diagrama bloc.

    Odată ce tipărirea este finalizată, puteți tăia marginile, aranja paginile în mod corespunzător și le puteți lipi.

Vei avea nevoie

  • - sablon pentru desenarea diagramelor bloc;
  • - creion mecanic;
  • - radieră;
  • - hartie;
  • - un computer cu acces la internet.

Instrucțiuni

Începutul și sfârșitul algoritmului sunt indicate prin ovale. Cuvintele „Început” și, respectiv, „Sfârșit” sunt plasate în interiorul lor. De la oval, simbolizând începutul algoritmului, o săgeată coboară, iar o săgeată de sus vine la oval, simbolizând sfârșitul algoritmului.

Pașii corespunzători activităților non-I/O sunt indicați folosind dreptunghiuri. Un exemplu de astfel de acțiune este calculul și atribuirea rezultatului unei anumite variabile. Săgeata de la pasul precedent vine la dreptunghi de sus, iar săgeata de la pasul următor vine de sub acesta.

Paralelogramele sunt folosite pentru a reprezenta pașii corespunzători operațiilor I/O. Există două tipuri de astfel de operații: atribuirea datelor primite de undeva unei variabile și ieșirea datelor dintr-o variabilă într-un fișier, port, imprimantă etc.

Ramurile sunt indicate prin diamante. Săgeata de la pasul anterior vine în colțul de sus al diamantului, iar săgeți precum „Nu” și „Da” vin din colțurile sale laterale. Se vin, respectiv, la etapele efectuate atunci când condiția nu este îndeplinită și când condiția este îndeplinită. Colțul de jos al diamantului este lăsat liber. El însuși (de exemplu, egalitate, strictă sau non-strict) în interiorul unui diamant.

Un dreptunghi cu pereți laterali dubli reprezintă trecerea la subrutină. După ce o instrucțiune return este întâlnită într-o subrutină, execuția programului principal continuă. Numele subrutinei este indicat în interior. Diagramele bloc ale tuturor subrutinelor sunt plasate sub diagrama bloc a programului principal sau pe pagini separate.

Dacă doriți să creați diagrame de flux electronic, utilizați o aplicație numită Diagramă. Dacă doriți, puteți stăpâni și limbaje speciale de programare în care procesul de programare în sine constă în întocmirea unei organigrame. Există două astfel de limbi: Dragon și HiAsm.

Surse:

  • cum să desenezi o diagramă bloc

O diagramă de flux este o formă de înregistrare oficială a unui algoritm sau proces. Fiecare pas al algoritmului din această reprezentare este reprezentat sub formă de blocuri de diferite forme, care sunt conectate prin linii. Într-o diagramă, puteți afișa toate etapele rezolvării oricărei probleme, începând cu introducerea datelor inițiale, prelucrarea de către operatori, executarea funcțiilor ciclice și condiționate și terminând cu operațiunile de ieșire a valorilor rezultate.

Instrucțiuni

De regulă, la începutul algoritmului, datele inițiale sunt introduse pentru a rezolva problema. Desenați un paralelogram sub linie, astfel încât să fie o prelungire continuă a diagramei. Într-un paralelogram, scrieți acțiunea efectuată, de obicei acestea sunt operațiuni de date de pe ecran (Read nInp) sau alte dispozitive. Este important ca variabilele pe care le-ați introdus în acest pas să fie utilizate ulterior în corpul diagramei.

Executarea uneia sau a unui grup de operații, orice prelucrare a datelor (schimbarea unei valori sau a unei forme de prezentare) este indicată printr-un dreptunghi. Desenați această cifră în locul potrivit în algoritm atunci când întocmiți diagrama de flux. În interiorul dreptunghiului, notați acțiunile efectuate, de exemplu, operația de atribuire este scrisă astfel: mOut = 10*nInp b + 5. Apoi, de asemenea, pentru a continua diagrama, trageți o linie în jos.

O componentă importantă a oricărui algoritm și, în consecință, o diagramă de flux sunt operatorii condiționali și ciclici. Acești operatori au o intrare și două sau mai multe ieșiri alternative. După calcularea condiției specificate de operator, tranziția ulterioară se efectuează pe o singură cale. Desenați intrarea în element ca o linie care intră în vârful superior al elementului.

Pentru a specifica un operator de condiție, trageți un romb din această linie. În interiorul figurii, indicați condiția în sine și trageți linii care indică tranziția ulterioară în funcție de îndeplinirea acesteia. Condiția este stabilită în cazul general prin operații de comparare (>,<, =). Переход по линии вниз осуществляется при истинном условии, назад – при ложном. Укажите около выходных линий фигуры результаты условия (true, false). Невыполнение условия (false) возвращает к определенному шагу выше по телу алгоритма. Проведите линии под прямым углом от выхода с условия и до нужного оператора.

Operatorul ciclic este notat prin dreptunghiuri cu colțuri teșite. Mai mult, pentru a desena acest operator, se folosesc două figuri de limită. Începutul ciclului este specificat de o figură cu colțurile superioare teșite, sfârșitul ciclului este definit de o figură cu colțurile inferioare teșite. În forma începutului buclei, indicați condiția pentru buclă și între formele de limită trageți operatori de buclă.

La sfârșitul diagramei de flux, ar trebui să fie indicată ieșirea datelor rezultate pe media sau pe ecran. Instrucțiunea de ieșire este desenată în mod similar cu instrucțiunea de intrare. Desenați un paralelogram și operațiile de inferență în cadrul acestuia folosind variabile de ieșire.

O diagramă de flux este o formă universală de exprimare a unui algoritm, care poate fi apoi tradus în orice limbaj de programare. Este creat într-o formă potrivită pentru citirea umană. Acest lucru vă permite să verificați manual corectitudinea algoritmului.

Instrucțiuni

La sfârșitul fiecărei linii care conectează elementele diagramei bloc între ele, aplicați. Acest lucru vă va permite să determinați mai precis ordinea acțiunilor, mai ales dacă algoritmul este ramificat.

Este extrem de important să folosiți limbajul diagramelor de flux atunci când dezvoltați un algoritm pentru rezolvarea unei probleme. Soluția aceleiași probleme poate fi implementată folosind diverși algoritmi care diferă unul de celălalt atât prin timpul de calcul și volumul calculelor, cât și prin complexitatea acestora. Înregistrarea acestor algoritmi folosind diagrame vă permite să le comparați, să selectați cel mai bun algoritm, să simplificați, să găsiți și să eliminați erorile.

Refuzul de la limbajul diagramei de flux la dezvoltarea unui algoritm și dezvoltarea algoritmului direct într-un limbaj de programare duce la pierderi semnificative de timp și la alegerea unui algoritm suboptim. Prin urmare, este necesar să se dezvolte inițial un algoritm pentru rezolvarea problemei în limbajul diagramelor de flux, după care algoritmul este tradus într-un limbaj de programare.

Când se dezvoltă un algoritm pentru o problemă complexă, se utilizează metoda de detaliere pas cu pas. La prima etapă, structura generală a algoritmului este gândită fără elaborarea detaliată a părților sale individuale. Blocurile care necesită detalii sunt conturate cu o linie punctată și sunt gândite și detaliate în etapele ulterioare ale dezvoltării algoritmului.

În procesul de dezvoltare a unui algoritm pentru rezolvarea unei probleme, se pot distinge următoarele etape:

  • Etapa 1. Descrierea matematică a soluției problemei.
  • Etapa 2. Definiția datelor de intrare și de ieșire.
  • Etapa 3. Dezvoltarea unui algoritm pentru rezolvarea problemei.

Proiectări algoritmice de bază

În teoria programării s-a dovedit că pentru a scrie orice algoritm, oricât de complex, este suficient trei structuri de bază:

  • urmărire (algoritm liniar);
  • ramificare (algoritm de ramificare);
  • loop-bye (algoritm round-robin).

Algoritmi liniari

Algoritm liniar se formează dintr-o succesiune de acţiuni care se succed una după alta. De exemplu, pentru a determina aria unui dreptunghi, trebuie mai întâi să setați lungimea primei laturi, apoi să setați lungimea celei de-a doua laturi și abia apoi să utilizați formula pentru a calcula aria sa.

Exemplu

SARCINĂ. Elaborați un algoritm pentru calcularea ipotenuzei unui triunghi dreptunghic folosind valorile cunoscute ale lungimii catetelor sale a și b.

Folosind această problemă ca exemplu, vom lua în considerare toate cele trei etape ale dezvoltării unui algoritm pentru rezolvarea problemei:

Soluția matematică a problemei este formula binecunoscută:

,

unde c este lungimea ipotenuzei, a, b sunt lungimile catetelor.

Datele de intrare sunt valorile catetelor a și b. Ieșirea este lungimea ipotenuzei – c.

Algoritmi de ramificare

conține o condiție, în funcție de care se realizează o anumită secvență de acțiuni.

Exemplu

SARCINĂ. Elaborați un algoritm pentru calcularea celui mai mare număr din două numere x și y.

Etapa 1. Descrierea matematică a soluției problemei.

Din cursul de matematică se știe că dacă x > y, atunci cel mai mare număr x, dacă x< y, то наибольшее число y, если x = y, то число x равно числу y.

Etapa 2. Determinarea datelor de intrare și de ieșire.

Datele de intrare sunt valorile numerelor x și y. Ieșirea este:

  • cel mai mare număr
  • oricare dintre numere dacă numerele sunt egale

Pentru a rezolva problema trebuie să cunoaștem valorile lui x și y.

Etapa 3. Elaborarea unui algoritm de rezolvare a problemei.

În diagrama algoritmului de rezolvare a problemei, numerele elementelor algoritmului sunt indicate în numere, care corespund numărului de pași din descrierea verbală a algoritmului

În algoritmul luat în considerare (Fig. 3) există trei ramuri de rezolvare a problemei:

  • primul: acestea sunt elementele 1, 2, 3, 4, 8.
  • al doilea: acestea sunt elementele 1, 2, 3, 5, 6, 8
  • al treilea: acestea sunt elementele 1, 2, 3, 5, 7, 8.

Alegerea ramurilor este determinată de valorile x și y din elementele 3 și 5, care sunt condiții care determină ordinea în care sunt executate elementele algoritmului. Dacă condiția (egalitatea) scrisă în simbolul „soluție” este îndeplinită pentru valorile introduse ale lui x și y, atunci elementele 4 și 8 sunt executate în continuare ” iar direcția (secvența) calculelor este indicată cu săgeată.

Dacă condiția din elementul 3 nu este îndeplinită, atunci elementul 5 este executat apoi este conectat la elementul 3 printr-o linie etichetată „nu”. Dacă condiția scrisă în elementul 5 este îndeplinită, atunci elementele 6 și 8 sunt executate, în caz contrar elementele 7 și 8 sunt executate.

Algoritmi ciclici

determină repetarea unei părți a acțiunilor (operațiilor) până la încălcarea unei condiții, a cărei îndeplinire este verificată la începutul ciclului. Un set de operații efectuate în mod repetat se numește corpul unei bucle.

Se numesc algoritmi în care acțiunile individuale sunt repetate de mai multe ori algoritmi ciclici, Se numește setul de acțiuni asociate cu repetarea ciclu.

La dezvoltarea unui algoritm de structură ciclică, se disting următoarele concepte:

  • parametru ciclu – o valoare a cărei valoare se modifică la repetarea ciclului;
  • valorile inițiale și finale ale parametrilor ciclului;
  • pas de ciclu – valoarea cu care parametrul ciclului se modifică la fiecare repetare.

Ciclul este organizat după anumite reguli. Un algoritm ciclic constă dintr-o pregătire a buclei, un corp de buclă și o condiție de continuare a buclei.

Pregătirea ciclului include acțiuni legate de setarea valorilor inițiale pentru parametrii ciclului:

  • valorile inițiale ale ciclului;
  • valorile finale ale buclei;
  • pas de ciclu.

Corpul buclei include:

  • acțiuni repetate pentru a calcula cantitățile necesare;
  • pregătirea următoarei valori a parametrului buclei;
  • pregătirea altor valori necesare pentru execuția repetată a acțiunilor în corpul buclei.

Condiția de continuare a ciclului determină permisiunea de a efectua acțiuni repetate. Dacă parametrul buclei este egal sau mai mare decât valoarea finală a buclei, atunci execuția buclei trebuie încheiată.

Exemplu

SARCINĂ. Elaborați un algoritm pentru calcularea sumei numerelor naturale de la 1 la 100.

Etapa 1. Descrierea matematică a soluției problemei.

Să notăm cu S suma numerelor naturale. Atunci formula de calcul a sumei numerelor naturale de la 1 la 100 se poate scrie după cum urmează:

unde Xi este un număr natural X cu numărul i, care variază de la 1 la n, n=100 este numărul de numere naturale.

Etapa 2. Determinarea datelor de intrare și de ieșire.

Datele de intrare sunt numere naturale: 1, 2, 3, 4, 5, …, 98, 99, 100.

Ieșire– valoarea sumei termenilor unei succesiuni de numere naturale.

Parametru de buclă o valoare care determină numărul de repetări ale ciclului. În cazul nostru, i este numărul unui număr natural.

Pregătirea ciclului constă în setarea valorilor inițiale și finale ale parametrului buclei.

  • valoarea inițială a parametrului buclei este 1,
  • valoarea finală a parametrului buclei este n ,
  • Pasul buclei este 1.

Pentru o însumare corectă, trebuie mai întâi să setați valoarea inițială a sumei la 0.

Corpul buclei.În corpul buclei, valoarea sumei numerelor va fi acumulată, iar următoarea valoare a parametrului buclei va fi calculată folosind formulele:

Condiție pentru continuarea buclei: ciclul trebuie repetat până când se adaugă ultimul membru al succesiunii de numere naturale, adică. până când parametrul de buclă este mai mic sau egal cu valoarea finală a parametrului de buclă.

Etapa 3. Elaborarea unui algoritm de rezolvare a problemei.

Să introducem următoarea notație: S este suma șirului, i este valoarea numărului natural.

Valoarea inițială a ciclului este i=1, valoarea finală a ciclului este i =100, pasul ciclului este 1.

Descrierea verbală a algoritmului Scrierea unui algoritm în limbajul diagramei de flux
  1. Începutul algoritmului.
  2. Pregătirea ciclului: S:=0; i=1; n= 100;
  3. Verificarea stării. Dacă eu<=n , то перейти к шагу 4, иначе к шагу 6.
  4. Acumularea sumei: S:=S+i;
  5. Calculul valorii următoare a parametrului buclei: i:=i+1;
  6. Ieșire de informații: suma numerelor naturale – S.
  7. Sfârșitul algoritmului.

În diagrama algoritmului de rezolvare a problemei, numerele elementelor algoritmului sunt indicate în cifre. Numerele elementelor corespund numărului de pași din descrierea verbală a algoritmului.

Strict vorbind, termenul „organigramă” nu există. În loc de această frază, este corect să spunem „diagrama algoritmului”, dar nu despre asta vorbim acum. Articolul meu este despre dacă este posibil să desenați algoritmi rapid și convenabil și, în același timp, ar trebui să fie gratuit. Ar fi grozav dacă ar exista un analog gratuit al editorului online Gliffy și, din fericire pentru noi, există.

Algoritmii sunt foarte ușor de desenat în creion. În acest scop, există o bibliotecă dedicată de primitive cu blocuri și conectori standard. Arata cam asa:

Când desenați blocuri, acestea se fixează automat pe grilă, făcându-le ușor de aliniat. După ce a desenat un bloc, un alt bloc poate fi „magnetizat” de jos sau din lateral, totul va fi neted.

Dacă indicați blocul și faceți clic o dată pe mouse, va exista un mod pentru redimensionarea blocului și tragerea. Dacă dați clic a doua oară, blocul poate fi rotit (de-a lungul marginilor vor apărea puncte roșii rotunde).

Principalele caracteristici de bază sunt disponibile, aproape ca în Visio: blocurile pot fi combinate în grupuri, trase și copiate, plasate mai sus sau mai jos în straturi, conectori magnetizați la centru etc.

Există și dezavantaje, de exemplu, conectorul de colț nu funcționează foarte corect: se transformă uneori într-un zigzag de neimaginat atunci când încerci să-l selectezi și să-l tragi. Dar aceste neajunsuri sunt atât de nesemnificative încât nu au împiedicat programul Pencil să-și ocupe locul cuvenit în colecția mea de instrumente de dezvoltare de zi cu zi.