Dați nume figurilor din diagrama bloc. Faceți diagrama dvs. simplă și ușor de înțeles în doar câțiva pași simpli. Construcția convenabilă a lanțurilor logice cu Draw. io

8.2. Diagrame de algoritm

La descrierea algoritmilor, diagramele de flux (diagrama de flux de bază) au fost folosite de multă vreme cu succes. Construcția diagramelor bloc ale algoritmilor este reglementată de GOST 19.701-90 (ISO 5807-85) " un singur sistem documentația programului. Diagrame de algoritm pentru programe, date și sisteme. Simboluri și reguli de implementare.” Acest standard de stat este elaborat pe baza standard international„ISO 5807-85. Prelucrarea informațiilor – Simboluri și convenții de documentare pentru date, program si sistem diagrame de flux, diagrame de rețea de programe și diagrame de resurse de sistem”.

Conform GOST 19.701-90 sub sistem este inteles reprezentare grafică definiție, analiză sau metodă de rezolvare a unei probleme. Diagramele pot fi folosite pentru a descrie atât aspectele statice, cât și cele dinamice ale unui sistem. Simbolurile date în standardul de stat pot fi folosite în cele ce urmează tipuri de circuite :

Scheme de date – determină succesiunea prelucrării datelor și mediile acestora;

Diagrame program - afișează succesiunea operațiilor din program (de fapt, acestea sunt organigrame ale algoritmilor în sensul tradițional);

Diagrame de funcționare a sistemului – afișează gestionarea operațiunilor și a fluxurilor de date din sistem;

Diagrame de interacțiune cu programe – afișează calea de activare a programelor (modulelor) și interacțiunea acestora cu datele corespunzătoare;

Diagramele resurselor sistemului - afișează configurația blocurilor de date și a blocurilor de procesare.

După cum se poate observa din tipurile de diagrame de mai sus, acestea pot fi utilizate nu numai pentru modelarea aspectului comportamental, ci și pentru probleme funcționale, informaționale și de proiectare a componentelor.

La construirea unui model comportamental al sistemului se folosesc principiile de bază ale abordării structurale - principiile de descompunere și ordonare ierarhică. Un model comportamental este un set de scheme (diagrame) interconectate cu diferite niveluri detaliu, iar cu fiecare nou nivel de detaliu sistemul capătă contururi din ce în ce mai complete.

Diagramele pot include următoarele: elemente de notație grafică :

Simboluri de date - indică prezența datelor, tipul de suport sau metoda de intrare/ieșire a datelor;

Simboluri de proces - indică operațiunile care trebuie efectuate asupra datelor;

Simboluri de linie - indică fluxurile de date între procese și/sau medii de stocare, precum și fluxurile de control între procese;

Caractere speciale – folosite pentru a face diagramele mai ușor de scris și citit.

Pe lângă împărțirea în funcție de conținutul semantic, fiecare categorie de simboluri (cu excepția celor speciale) este împărțită în simboluri de bază și specifice. Simbol de bază utilizat atunci când tipul exact de proces sau mediu de stocare este necunoscut sau nu este nevoie să descrieți mediul (procesul) de stocare real. Caracter specific utilizat atunci când se cunoaște tipul exact de proces sau mediu de stocare și acest lucru trebuie arătat pe diagramă. Următorul tabel prezintă elementele de notație grafică a diagramei.

Tabelul 8.1. Simboluri pe diagramele bloc

Nu. Simbol Nume Note
1. SIMBOLULE DE DATE
De bază
1.1 Date Date al căror purtător nu este definit
1.2 Dispozitiv de stocare (memorie) Datele stocate într-o formă adecvată pentru prelucrare automată, transportatorul nu este definit
Specific
1.3 RAM Date stocate în RAM (memorie cu acces aleatoriu)
1.4 memorie cu acces secvenţial Date stocate pe bandă magnetică (bandă magnetică, casetă cu bandă)
1.5 Memorie cu acces direct Date stocate pe hard sau flexibil discuri magnetice, CD, DVD, ZIP etc.
1.6 Document Datele nu sunt furnizate în formă computerizată(pe hârtie, pe filme etc.)
1.7 Introducere manuală Datele introduse manual folosind tastatura, mouse-ul, stiloul etc.
1.8 Hartă Date despre carduri perforate, carduri magnetice, carduri cu etichete lizibile etc.
1.9 Banda de hartie Date pe bandă de hârtie
1.10 Afişa Date afișate pe ecranul monitorului, indicatoare de semnal etc.
2. SIMBOLULE DE PROCES
De bază
2.1 Proces Operație elementară (atomică) de prelucrare a datelor (de exemplu, n:=n+1)
Specific
2.2 Proces (procedură) predefinit Un proces constând din operațiuni descrise în altă parte (pe altă diagramă)
2.3 Operare manuală Operare manuală
2.4 Pregătirea Operații pregătitoare efectuate în scopul modificării operațiunilor ulterioare (bucla cu parametru)
2.5 Soluţie O operație cu o singură intrare și mai multe ieșiri alternative, dintre care una este activată după testarea condiției scrise în interiorul simbolului (instrucțiuni If-Then-Else sau Case)
2.6 Activități paralele Executarea în paralel a două sau mai multe operații
2.7 Limitele ciclului Începutul și sfârșitul ciclului. Caracteristicile buclei (inițializare, increment, condiție) sunt înregistrate la început sau la sfârșit, în funcție de locul în care este verificată (cicluri cu pre sau postcondiție)
3. SIMBOLULE DE LINIE
De bază
3.1 Linia Flux de date sau de control
Specific
3.2 Legătură Transmiterea datelor prin canal de comunicare
3.3 Linie punctata O conexiune alternativă între două sau mai multe simboluri sau pentru conturarea unei secțiuni comentate a diagramei
4. PERSONAJE SPECIALE
4.1 GOST Conector Obișnuia să rupă liniile și să le continue în altă parte.
Folosit de obicei pentru a indica părțile interconectate ale unui circuit în foi diferite. Numărul conexiunii este scris în interiorul conectorului
ISO
4.2 Terminator Ieșire în mediul extern sau intrare din Mediul extern(începutul și sfârșitul unui proces de prelucrare a datelor [în acest caz scriu „început” sau „sfârșit” în interior], sursa sau destinația datelor, începutul și sfârșitul unui proces predefinit)
4.3 Expeditorul destinatar Asemănător funcțional cu simbolul „Terminator”.
4.4

STANDARDUL DE STAT AL UNIUNII URSS

SISTEM DE DOCUMENTARE SOFTWARE UNIFICAT

DIAGRAME DE ALGORITMI, PROGRAME, DATE ȘI SISTEME

CONVENȚII ȘI REGULI DE IMPLEMENTARE

GOST 19.701-90
(ISO 5807-85)

COMITETUL DE STAT URSS PENTRU MANAGEMENTUL CALITĂȚII PRODUSELOR ȘI STANDARDE

STANDARDUL DE STAT AL UNIUNII URSS

Data introducerii 01.01.92

Acest standard se aplică convențiilor (simbolurilor) din diagramele de algoritmi, programe, date și sisteme și stabilește reguli de execuție a diagramelor utilizate pentru afișarea diferitelor tipuri de probleme de prelucrare a datelor și mijloace de rezolvare a acestora.

Standardul nu se aplică formei de înregistrări și simboluri plasate în interiorul sau adiacent simbolurilor care servesc la clarificarea funcțiilor pe care le îndeplinesc.

Cerințele standardului sunt obligatorii.

1. DISPOZIȚII GENERALE

1.1. Schemele de algoritmi, programe, date și sisteme (denumite în continuare scheme) constau în a avea valoarea stabilită simboluri, text explicativ scurt și linii de legătură.

1.2. Schemele pot fi folosite pe diverse niveluri granularitatea, cu numărul de niveluri în funcție de dimensiunea și complexitatea sarcinii de prelucrare a datelor. Nivelul de detaliu ar trebui să fie astfel încât diferitele părți și relațiile dintre ele să fie înțelese ca un întreg.

1.3. Acest standard definește simboluri pentru utilizare în documentația de prelucrare a datelor și oferă îndrumări despre cum să se facă simboluri pentru utilizare în:

1) scheme de date;

2) diagrame de program;

3) scheme de funcționare a sistemului;

4) scheme de interacțiune între programe;

5) diagrame de resurse ale sistemului.

1.4. Standardul folosește următoarele concepte:

1) simbol de bază - un simbol utilizat în cazurile în care tipul (tipul) exact al unui proces sau al unui mediu de stocare este necunoscut sau nu este necesară descrierea mediului de stocare real;

2) simbol specific - simbol folosit în cazurile în care este cunoscut tipul exact (tipul) unui proces sau mediu de stocare sau când este necesar să se descrie mediul de stocare propriu-zis;

3) diagramă - o reprezentare grafică a definiției, analizei sau metodei de rezolvare a unei probleme, în care simbolurile sunt folosite pentru a afișa operațiuni, date, flux, echipamente etc.

2. DESCRIEREA CIRCUITULUI

2.1. Schema de date

2.1.1. Schemele de date reprezintă calea datelor în rezolvarea problemelor și definesc etapele de procesare precum și diferitele medii de stocare utilizate.

2.1.2. Schema de date constă din:

1) simboluri de date (simbolurile de date pot indica și tipul suportului de stocare);

2) simboluri ale procesului care ar trebui efectuate asupra datelor (simbolurile procesului pot indica și funcții îndeplinite de computer);

3) simboluri de linie care indică fluxurile de date între procese și (sau) medii de stocare;

2.1.3. Simbolurile de date preced și urmează simbolurile de proces. Schema de date începe și se termină cu simboluri de date (cu excepția caractere speciale, ).

2.2. Schema programului

2.2.1. Diagramele programului afișează secvența operațiilor dintr-un program.

2.2.2. Schema programului constă din:

1) simboluri de proces care indică operațiunile efective de prelucrare a datelor (inclusiv simboluri care definesc calea care trebuie urmată, ținând cont de condițiile logice);

2) simboluri liniare care indică fluxul de control;

3) simboluri speciale folosite pentru a face diagrama mai ușor de scris și citit.

2.3. Diagrama de funcționare a sistemului

2.3.1. Diagramele de funcționare a sistemului descriu controlul operațiunilor și fluxul de date în sistem.

2.3.2. Schema de funcționare a sistemului constă din:

1) simboluri de date care indică prezența datelor (simbolurile de date pot indica și tipul suportului de stocare);

2) simboluri de proces, care indică operațiunile care ar trebui efectuate asupra datelor și, de asemenea, definind calea logică care trebuie urmată;

3) simboluri liniare care indică fluxurile de date între procese și (sau) medii de stocare, precum și fluxul de control între procese;

4) simboluri speciale folosite pentru a face diagrama mai ușor de scris și citit.

2.4. Schema de interacțiune cu programul

2.4.1. Diagramele de interacțiune cu programul afișează calea activării programului și interacțiunea cu datele corespunzătoare. Fiecare program din diagrama de interacțiune cu programul este afișat o singură dată (în diagrama de funcționare a sistemului, un program poate fi afișat în mai multe fluxuri de control).

2.4.2. Schema de interacțiune cu programul constă din:

1) simboluri de date care indică prezența datelor;

2) simboluri de proces care indică operațiunile care ar trebui efectuate asupra datelor;

3) simboluri liniare care descriu fluxul dintre procese și date, precum și inițierea proceselor;

4) simboluri speciale folosite pentru a face diagrama mai ușor de scris și citit.

2.5. Diagrama resurselor sistemului

2.5.1. Diagramele de resurse ale sistemului descriu configurația datelor și unităților de procesare necesare pentru a rezolva o sarcină sau un set de sarcini.

2.5.2. Diagrama resurselor sistemului constă din:

1) simboluri de date care afișează dispozitivele de intrare, ieșire și stocare ale computerului;

2) simboluri de proces care afișează procesoare ( unități centrale de procesare, canale etc.);

3) simboluri liniare care afișează transferul de date între dispozitivele de intrare/ieșire și procesoare, precum și transferul de control între procesoare;

4) simboluri speciale folosite pentru a face diagrama mai ușor de scris și citit.

Exemple de implementare a circuitelor sunt date în.

3. DESCRIEREA SIMBOLURILOR

3.1. Simboluri de date

3.1.1. Simboluri de date de bază

3.1.1.1. Date

Simbolul afișează date, mediul de stocare nu este definit.

3.1.1.2. Date memorate

Simbolul afișează datele stocate într-o formă adecvată pentru prelucrare; mediul de stocare nu este definit.

3.1.2. Caractere de date specifice

3.1.2.1. Memorie cu acces aleator

Simbolul afișează datele stocate în dispozitivul de memorie cu acces aleatoriu.

3.1.2.2. Memorie de acces serial

Simbolul reprezintă datele stocate într-un dispozitiv de stocare cu acces în serie (bandă magnetică, casetă cu bandă magnetică, casetă cu bandă).

3.1.2.3. Dispozitiv de stocare cu acces direct

Simbolul reprezintă datele stocate într-un dispozitiv de stocare cu acces direct (disc magnetic, tambur magnetic, dischetă).

3.1.2.4. Document

Simbolul afișează datele prezentate pe suport într-o formă lizibilă (diagrama mașinii, document pentru citire optică sau magnetică, microfilm, rolă de bandă cu date rezumative, formulare de introducere a datelor).

3.1.2.5. Introducere manuală

Simbolul afișează datele introduse manual în timpul procesării de pe orice tip de dispozitiv (tastatură, comutatoare, butoane, stilou luminos, benzi de coduri de bare).

3.1.2.6. Hartă

Simbolul afișează datele prezentate pe un suport sub forma unui card (cartel perforat, carduri magnetice, carduri cu etichete care pot fi citite, carduri cu o etichetă detașabilă, carduri cu etichete scanabile).

3.1.2.7. Banda de hartie

Simbolul afișează datele prezentate pe un suport sub forma unei benzi de hârtie.

3.1.2.8. Afişa

Simbolul afișează datele prezentate într-o formă care poate fi citită de om pe un suport sub forma unui dispozitiv de afișare (ecran de observare vizuală, indicatori de introducere a informațiilor).

3.2. Simboluri de proces

3.2.1.Simboluri de bază ale procesului

3.2.1.1. Proces

Simbolul reprezintă o funcție de prelucrare a datelor de orice fel (efectuarea unei operații specifice sau a unui grup de operațiuni care are ca rezultat o modificare a valorii, formei sau plasării informațiilor sau la determinarea căruia dintre mai multe direcții de flux să urmeze).

3.2.2. Procesați simboluri specifice

3.2.2.1. Proces predefinit

Simbolul afișează un proces predefinit constând din una sau mai multe operații sau pași de program care sunt definiți în altă parte (într-o subrutină, modul).

3.2.2.2. Operare manuală

Simbolul reprezintă orice proces efectuat de o persoană.

3.2.2.3. Pregătirea

Simbolul reprezintă modificarea unei instrucțiuni sau a unui grup de instrucțiuni pentru a afecta o funcție ulterioară (setarea unui comutator, modificarea unui registru index sau inițializarea unui program).

3.2.2.4. Soluţie

Simbolul reprezintă o funcție de decizie sau de tip comutator care are o intrare și un număr de ieșiri alternative, dintre care una și numai una poate fi activată după evaluarea condițiilor definite în simbol. Rezultatele corespunzătoare ale calculului pot fi scrise lângă liniile care reprezintă aceste căi.

3.2.2.5. Activități paralele

Simbolul reprezintă sincronizarea a două sau mai multe operații paralele.

Exemplu.

Notă. Procesele C, D și E nu pot începe până la finalizarea procesului A; în mod similar, procesul F trebuie să aștepte finalizarea proceselor B, C și D, dar procesul C poate începe și/sau finaliza înainte ca procesul D să înceapă și/sau să se finalizeze, respectiv.

3.2.2.6. Granița buclei

Simbolul din două părți reprezintă începutul și sfârșitul ciclului. Ambele părți ale simbolului au același identificator. Condiții de inițializare, creștere, terminare etc. sunt plasate în interiorul simbolului la început sau la sfârșit, în funcție de locația operației care verifică starea.

Exemplu.

3.3. Simboluri de linie

3.3.1.Simbol linie de bază

3.3.1.1. Linia

Simbolul reprezintă fluxul de date sau control.

Se pot adăuga săgeți direcționale după cum este necesar sau pentru a îmbunătăți lizibilitatea.

3.3.2.Simboluri de linii specifice

3.3.2.1. Transferul controlului

Simbolul reprezintă un transfer direct de control de la un proces la altul, uneori cu posibilitatea unei reveniri directe la procesul de inițiere după ce procesul inițiat și-a finalizat funcțiile. Tipul de transfer al controlului trebuie să fie denumit în cadrul simbolului (de ex. cerere, apel, eveniment).

3.3.2.2. Legătură

Simbolul afișează transmisia de date prin canalul de comunicație.

3.3.2.3. Linie punctata

Un simbol reprezintă o relație alternativă între două sau mai multe simboluri. În plus, simbolul este folosit pentru a contura zona adnotată.

Exemplul 1.

Când una dintre un număr de ieșiri alternative este utilizată ca intrare pentru un proces sau când o ieșire este utilizată ca intrare pentru procese alternative, aceste simboluri sunt conectate prin linii punctate.

Exemplul 2.

O ieșire utilizată ca intrare pentru următorul proces poate fi conectată la acea intrare folosind o linie punctată.

3.4. Simboluri speciale

3.4.1. Conector

Simbolul reprezintă ieșirea într-o parte a circuitului și intrarea dintr-o altă parte a acestui circuit și este folosit pentru a rupe o linie și a o continua în alt loc. Simbolurile conectorului corespunzătoare trebuie să conțină același desemnator unic.

3.4.2. Terminator

Simbolul reprezintă ieșirea către mediul extern și intrarea din mediul extern (începutul sau sfârșitul diagramei programului, utilizarea externă și sursa sau destinația datelor).

3.4.3.Un comentariu

Simbolul este folosit pentru a adăuga comentarii descriptive sau note explicative în scopul explicației sau notelor. Liniile punctate dintr-un simbol de comentariu sunt asociate cu un simbol corespunzător sau pot contura un grup de simboluri. Textul comentariilor sau notelor trebuie plasat lângă forma de delimitare.

Exemplu.

3.4.4. Trece

Simbolul (trei puncte) este folosit în diagrame pentru a indica omiterea unui simbol sau a unui grup de simboluri în care nu este specificat nici tipul, nici numărul de simboluri. Simbolul este utilizat numai în interiorul sau între simbolurile linii. Este utilizat în principal în circuitele care descriu solutii generale cu un număr necunoscut de repetări.

Exemplu.

4 REGULI PENTRU APLICAREA SIMBOLURILOR SI EXECUTAREA DIAGRAMELOR

4.1. Reguli de utilizare a simbolurilor

4.1.1. Un simbol are scopul de a identifica grafic funcția pe care o reprezintă, indiferent de textul din acel simbol.

4.1.2. Simbolurile din diagramă trebuie să fie uniform distanțate. Păstrați conexiunile la o lungime rezonabilă și mențineți numărul de linii lungi la minimum.

4.1.3. Majoritatea simbolurilor sunt concepute pentru a permite includerea textului în simbol. Formele simbolurilor specificate în acest standard sunt menite să servească drept ghid pentru simbolurile utilizate efectiv. Unghiurile și alți parametri care afectează forma adecvată a simbolurilor nu trebuie modificați. Simbolurile ar trebui să aibă, dacă este posibil, aceeași dimensiune.

Caracterele pot fi desenate în orice orientare, dar orientarea orizontală este preferată ori de câte ori este posibil. Imagine in oglinda formele simbolului denotă aceeași funcție, dar nu sunt preferate.

4.1.4. Cantitatea minimă de text necesară pentru a înțelege funcția a acestui simbol, ar trebui plasat în interiorul acestui simbol. Textul citit trebuie scris de la stânga la dreapta și de sus în jos, indiferent de direcția fluxului.

Exemplu.

Dacă cantitatea de text plasată în interiorul unui simbol depășește dimensiunile acestuia, trebuie folosit un simbol de comentariu.

În cazul în care utilizarea simbolurilor de comentariu ar putea deruta sau perturba fluxul diagramei, textul trebuie plasat pe o foaie separată și trebuie furnizată o referință încrucișată la simbol.

4.1.5. Schemele pot folosi un identificator de simbol. Acesta este identificatorul asociat unui simbol dat, care identifică simbolul pentru utilizare de referință în alte elemente de documentație (de exemplu, o listă de programe). ID-ul simbolului ar trebui să fie situat în stânga deasupra simbolului.

Exemplu.

4.1.6. Schemele pot folosi descrieri de simbol - orice alte informații, de exemplu, pentru afișare aplicație specială simbol cu ​​o referință încrucișată sau pentru a îmbunătăți înțelegerea unei funcții ca parte a unui circuit. Descrierea simbolului ar trebui să fie situată în dreapta deasupra simbolului.

Exemplu.

4.1.7. În diagramele de sistem, simbolurile care reprezintă mediile de stocare reprezintă adesea metode de intrare/ieșire. Pentru a fi folosit ca referință la documentație, textul din diagramă pentru simbolurile care reprezintă metodele de ieșire trebuie plasat în dreapta deasupra simbolului, iar textul pentru simbolurile care reprezintă metodele de introducere ar trebui să fie plasat în dreapta sub simbol.

Exemplu.

4.1.8. Diagramele pot utiliza o reprezentare detaliată, care este indicată printr-un simbol bar pentru proces sau date. Simbolul bară indică faptul că informații mai detaliate sunt disponibile în altă parte în același set de documentație.

Un simbol dungă este orice simbol care are o linie orizontală desenată în interiorul său în partea de sus. Între această linie și linia de sus a simbolului este un identificator care indică o reprezentare detaliată a simbolului respectiv.

Caracterul terminator trebuie folosit ca primul și ultimul caracter al reprezentării detaliate. Primul caracter de terminare trebuie să conțină o referință, care este prezentă și în caracterul bară.

Simbol cu ​​dungi Vedere detaliată

4.2. Reguli pentru realizarea conexiunilor

4.2.1. Fluxurile de date sau fluxurile de control în diagrame sunt prezentate sub formă de linii. Direcția fluxului de la stânga la dreapta și de sus în jos este considerată standard.

În cazurile în care este necesar să se aducă o mai mare claritate diagramei (de exemplu, la realizarea conexiunilor), se folosesc săgeți pe linii. Dacă fluxul este într-o altă direcție decât cea standard, săgețile ar trebui să indice acea direcție.

4.2.2. Liniile care se intersectează trebuie evitate în diagrame. Liniile care se intersectează nu au nicio legătură logică între ele, prin urmare, schimbările de direcție în punctele de intersecție nu sunt permise.

Exemplu.

4.2.3. Două sau mai multe linii de intrare pot fi combinate într-o singură linie de ieșire. Dacă două sau mai multe linii se îmbină într-o singură linie, locația îmbinării trebuie să fie deplasată.

Exemplu.

4.2.4. Liniile din diagrame ar trebui să se apropie de simbol fie din stânga, fie de sus și să provină fie din dreapta, fie de jos. Liniile trebuie îndreptate spre centrul simbolului.

4.2.5. Dacă este necesar, liniile din diagrame trebuie întrerupte pentru a evita intersecțiile inutile sau liniile prea lungi și, de asemenea, dacă diagrama constă din mai multe pagini. Conectorul de la începutul ruperii se numește conector exterior, iar conectorul de la sfârșitul ruperii se numește conector interior.

Exemplu.

Conector extern Conector intern

4.3. Convenții speciale

4.3.1. Ieșiri multiple

4.3.1.1. Ar trebui afișate mai multe ieșiri dintr-un simbol:

1) mai multe linii de la acest simbol la alte simboluri;

2) o linie de la un simbol dat, care apoi se ramifică în numărul corespunzător de linii.

Exemple.

4.3.1.2. Fiecare ieșire de simbol trebuie să fie însoțită de valorile condiției corespunzătoare pentru a arăta calea logică pe care o reprezintă, astfel încât acele condiții și referințele corespunzătoare să fie identificate.

Exemple.

4.3.2. Vedere repetată

4.3.2.1. În loc de un singur simbol cu ​​text asociat, pot fi utilizate mai multe simboluri suprapuse, fiecare conținând text descriptiv (folosind sau generând mai multe medii de stocare sau fișiere, producând mai multe copii ale rapoartelor tipărite sau formatelor de carduri perforate).

4.3.2.2. Când mai multe caractere reprezintă un set ordonat, ordonarea trebuie să fie din față (primul) până în spate (ultimul).

4.3.2.3. Liniile pot intra sau pot proveni din orice punct al simbolurilor suprapuse, dar cerințele trebuie îndeplinite. Prioritatea sau ordinea secvențială a mai multor simboluri nu este modificată de punctul în care o linie intră sau iese.

Exemplu.

5. APLICAREA SIMBOLURILOR

Nume simbol

Schema de date

Schema programului

Diagrama de funcționare a sistemului

Schema de interacțiune cu programul

Diagrama resurselor sistemului

Simboluri de date

De bază

Date memorate

Specific

Memorie cu acces aleator

Memorie de acces secvenţial

Dispozitiv de stocare cu acces direct

Document

Introducere manuală

Banda de hartie

Dacă nu vrei să scrii neglijent în caiet, dar te obligă să desenezi. Desigur, luăm în considerare doar opțiuni gratuite :)

  • desen.io. Grozav serviciu gratuit pentru desenarea online a diagramelor de afaceri și a organigramelor. Salvează fișierul în format .xml, dar puteți face și o captură de ecran prin dezactivarea afișajului Grid. Se integrează cu Google Drive.
  • Desen Google. Conectați-vă la profilul dvs. Google, spuneți Fișier - Creare - Desen în meniul paginii și obțineți un instrument de desen convenabil, după care îl puteți descărca în pdf sau în formate grafice populare.

Poate că aceste servicii sunt cele mai bune, deși există multe alternative:

  • lucidchart. După o secundă de înregistrare și selectarea Start Free Account, obținem scheme convenabile și ușor scalabile, care pot fi apoi publicate și descărcate în formatul dorit.
  • creat. „Încearcă acum creatly” - și poți desena imediat. Cu toate acestea, trebuie să permiteți încărcarea unei unități flash, iar exportul fișierelor este disponibil numai pentru utilizatorii înregistrați. Dar nimeni nu a anulat capturile de ecran :)
  • iyopro.com. Proiect gratuit, cu toate acestea, este în Silverlight și nu va rula pentru toată lumea (de exemplu, va funcționa în Internet Explorer).
  • sclipitoare. După o scurtă înregistrare care nu necesită confirmare, puteți începe imediat să desenați diagrame.
  • cacoo. Se poziționează ca „Diagrame bazate pe cloud, calea ușoară”.
  • Violet. Editor de diagrame UML offline, pentru avansat :)
  • Diagrama bloc de la paslab. Un serviciu intern unic pentru convertirea programelor Pascal în diagrame de flux :)

Este extrem de important să folosiți limbajul diagramelor de flux atunci când dezvoltați un algoritm pentru rezolvarea unei probleme. Soluția la aceeași problemă poate fi implementată folosind diverși algoritmi, care diferă între ele 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.

La dezvoltarea unui algoritm sarcină dificilă metoda folosita detalierea pas cu pas. Primul pas este să te gândești bine structura generala algoritm fără un studiu detaliat al 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 efectuează 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.

Se știe dintr-un curs de matematică 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. Dezvoltarea 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 se execută în continuare elementele 4 și 8. Acest lucru rezultă din faptul că sunt conectate printr-o linie etichetată „da”. ” iar direcția (secvența) calculelor este indicată cu săgeată.

Dacă condiția din elementul 3 nu este îndeplinită, atunci se execută în continuare elementul 5. Acesta 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. Algoritmul round robin 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 acțiunilor repetate. Dacă parametrul buclei este egal sau depășește valoarea finală buclă, atunci bucla trebuie să fie terminată.

Exemplu

SARCINĂ. Dezvoltați un algoritm pentru calcularea sumei numere 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 initiala parametrul 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. Dezvoltarea 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.

Algoritm- un sistem final exact de reguli descrise într-un anumit limbaj care determină conținutul și ordinea acțiunilor asupra anumitor obiecte, a cărui implementare strictă oferă o soluție problemei Conceptul de algoritm, care este fundamental în matematică și informatică , a apărut cu mult înainte de apariția tehnologiei informatice. Cuvântul „algoritm” a apărut în Evul Mediu, când europenii s-au familiarizat cu metodele de efectuare a operațiilor aritmetice în sistemul numeric zecimal, descrise de matematicianul uzbec Muhamed bin Al-Khwarizmi. Cuvântul algoritm este rezultatul pronunțării europene a Cuvintele lui Al-Khwarizmi.Inițial, algoritmul a fost înțeles ca o metodă de a efectua operații aritmetice pe numere zecimale. Ulterior, acest concept a început să fie folosit pentru a desemna orice succesiune de acțiuni care duceau la rezolvarea unei probleme date.Orice algoritm nu există de la sine, ci este destinat unui anumit performer (om, robot, calculator, limbaj de programare etc. .). Sensul cuvântului „algoritm” este foarte asemănător cu sensul cuvintelor „rețetă”, „metodă”, „proces”. Cu toate acestea, spre deosebire de o rețetă sau un proces, un algoritm este caracterizat de următoarele proprietăți:

discretie, caracter de masă, certitudine, eficacitate, formalitate.

Discretenie(discontinuitatea) este o proprietate a unui algoritm care îi caracterizează structura: fiecare algoritm constă din acțiuni individuale finalizate, ei spun „împărțit în pași”.

Caracter de masă- aplicabilitatea algoritmului la toate problemele de tipul luat în considerare, pentru orice date inițiale. De exemplu, un algoritm pentru rezolvarea unei ecuații pătratice din domeniul numerelor reale trebuie să conțină toate rezultatele posibile ale soluției, adică, luând în considerare valorile discriminantului, algoritmul găsește fie două rădăcini diferite ale ecuației, fie două egale, sau concluzionează că nu există rădăcini reale.

Certitudine(determinism, acuratețe) - o proprietate a unui algoritm, care indică faptul că fiecare pas al algoritmului trebuie să fie strict definit și să nu permită interpretări diferite. Ordinea în care sunt executați pașii individuali trebuie, de asemenea, strict definită.

Eficienţă- o proprietate constând în faptul că orice algoritm trebuie finalizat într-un număr finit (poate foarte mare) de pași. Formalitate - această proprietate indică faptul că orice executant capabil să perceapă și să execute instrucțiunile algoritmului acționează formal, i.e. este distras de la conținutul sarcinii în cauză și urmează doar cu strictețe instrucțiunile. Raționând „ce, cum și de ce?” Dezvoltatorul algoritmului trebuie să o facă, iar executantul formal (fără să se gândească) execută rând pe rând comenzile propuse și obține rezultatul cerut.

1.2.Metode de descriere (tipuri) de algoritmi.

Luați în considerare următoarele moduri de a descrie algoritmul: verbal descriere, pseudocod, diagramă bloc, program.

Descriere verbală reprezintă structura unui algoritm în limbaj natural. De exemplu, orice aparat de uz casnic (fier de călcat, ferăstrău electric, burghiu etc.) are un manual de instrucțiuni, adică o descriere verbală a algoritmului în conformitate cu care acest dispozitiv ar trebui să fie utilizat. Nu există reguli pentru alcătuirea unei descrieri verbale. Algoritmul este scris sub orice formă într-o limbă naturală, de exemplu, rusă. Această metodă de descriere nu este larg răspândită, întrucât nu este strict formalizată (prin „formală” înțelegem că descrierea este absolut completă și ia în considerare toate situațiile posibile care pot apărea în timpul soluționării); permite ambiguitatea interpretării atunci când descriu anumite acțiuni; suferă de verbozitate.

Pseudo cod- descrierea structurii algoritmului într-un limbaj natural, parțial formalizat, care să permită identificarea principalelor etape ale rezolvării unei probleme înainte de a o scrie exact într-un limbaj de programare. Pseudocodul folosește unele constructe formale și simboluri matematice comune. Nu există reguli de sintaxă stricte pentru scrierea pseudocodului. Acest lucru facilitează scrierea algoritmului în timpul proiectării și vă permite să descrieți algoritmul folosind orice set de comenzi. Cu toate acestea, pseudocodul utilizează de obicei unele dintre constructele inerente limbajelor formale, ceea ce facilitează trecerea de la pseudocod la scrierea unui algoritm într-un limbaj de programare. Nu există o definiție unică sau formală a pseudocodului, așa că sunt posibile diverse pseudocoduri, care diferă în setul de cuvinte și structuri utilizate.

Diagramă bloc- descrierea structurii algoritmului folosind figuri geometrice cu linii de legătură care arată ordinea de execuție a instrucțiunilor individuale. Această metodă are o serie de avantaje. Datorită clarității sale, asigură „lizibilitatea” algoritmului și afișează clar ordinea în care sunt executate comenzile individuale. Într-o diagramă bloc, fiecare desen formal corespunde unei figuri geometrice specifice sau unui set de figuri conectate prin linii.

Descrierile algoritmului în formă verbală, în pseudocod sau sub formă de diagramă de flux permit un anumit arbitrar în reprezentarea comenzilor. În același timp, sunt atât de suficiente încât permit unei persoane să înțeleagă esența problemei și să execute algoritmul. În practică, calculatoarele acționează ca executanți ai algoritmilor. Prin urmare, un algoritm destinat executării pe un computer trebuie să fie scris într-un limbaj „înțeles” pentru acesta; un astfel de limbaj formalizat se numește limbaj de programare.

Program- descrierea structurii algoritmului într-un limbaj de programare algoritmică.

Specificarea algoritmilor folosind diagrame de flux s-a dovedit a fi un mijloc foarte convenabil de a descrie algoritmi și a devenit larg răspândită.

Diagramă bloc algoritm - o reprezentare grafică a algoritmului sub formă de cele interconectate folosind săgeți (linii de tranziție) și blocuri- simboluri grafice, fiecare dintre acestea corespunzând unui pas al algoritmului. În interiorul blocului este dată o descriere a acțiunii corespunzătoare.

Tabelul prezintă simbolurile cele mai frecvent utilizate.

Nume simbol

Denumire și exemplu de umplere

Explicaţie

Acțiune computațională sau succesiune de acțiuni

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

Ieșirea rezultatelor

Simboluri de diagramă de flux

Bloc " proces„ este folosit pentru a desemna o acțiune sau o secvență de acțiuni care schimbă sensul, 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ă.

Bloc " soluţie" 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.

Bloc " modificare» folosit pentru organizarea structurilor 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.

Bloc " 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ă.

De exemplu, iată o diagramă bloc a algoritmului pentru găsirea maximului a două valori: