Maak een eenvoudig stroomschema. Een set tools voor het plotten van grafieken, stroomdiagrammen en diagrammen

Stroomdiagrammen zijn diagrammen die de stappen in een proces weergeven. Eenvoudige blokdiagrammen zijn gemakkelijk te maken en omdat de vormen eenvoudig en duidelijk zijn, zijn ze ook gemakkelijk te lezen.

Opmerking. U kunt ook automatisch een eenvoudig stroomdiagram van uw gegevens genereren met de Data Visualizer in Visio Online Plan 2. Zie het artikel Diagrammen maken met de Data Visualizer voor meer informatie.

De sjabloon Eenvoudig stroomdiagram in Visio bevat vormen die u kunt gebruiken om verschillende processen te visualiseren. Het is vooral handig voor het weergeven van eenvoudige bedrijfsprocessen, zoals het voorstelontwikkelingsproces dat wordt weergegeven in de onderstaande afbeelding.

Naast de Simple Flowchart-sjabloon zijn er in Visio verschillende meer gespecialiseerde diagramsjablonen beschikbaar, zoals gegevensstroomdiagrammen, tijdlijnen en softwaremodellen.

Een stroomdiagram maken

    Start de Visio-app.

    Dubbelklik op het pictogram Eenvoudig blokschema.

    Om stroomdiagramelementen te verbinden, plaatst u de muisaanwijzer op de eerste vorm en klikt u op de pijl die naar de vorm wijst waarmee u verbinding wilt maken. Als de tweede vorm niet naast de eerste staat, moet u de kleine pijl naar het midden van de tweede vorm slepen.

    Om de richting van de verbindingspijl te wijzigen, selecteert u de verbinding en vervolgens op het tabblad in de groep Vormstijlen klik op item Lijn Pijlen en selecteer de gewenste richting en het type pijl.

Automatische uitlijning en afstand

    Druk op CTRL + A om alle objecten op de pagina te selecteren.

    Op het tabblad huis in een groep Bestellen druk op de knop Positie en selecteer het item Automatisch uitlijnen en spatiëring.

Als dat niet werkt, maak het dan ongedaan door op CTRL + Z te drukken en gebruik de andere knopmenu-opties Uitlijning en Positie.

Wat zijn de stroomdiagrammen?

Bij het openen van een sjabloon Eenvoudig blokschema een set elementen wordt geopend Eenvoudige stroomdiagramvormen... Elke vorm in deze set vertegenwoordigt een stap in het proces. Maar vormen hebben geen universele betekenis, hun betekenis wordt bepaald door de makers en gebruikers van de stroomdiagrammen. De meeste blokdiagrammen gebruiken drie of vier soorten vormen, en dit bereik wordt alleen uitgebreid voor een specifieke behoefte.

De namen van vormen in Visio geven echter hun toepassing aan. Hieronder worden de meest voorkomende vormen beschreven.

Wat zijn de stroomdiagrammen?

Visio 2010 heeft vele andere, gespecialiseerde stencils en shapes die u in een stroomdiagram kunt gebruiken. Zie het artikel voor meer informatie over andere vormen.

Opmerking: Kunt u de vorm die u zoekt niet vinden? Zie Vormen schikken en zoeken met het venster Vormen voor meer informatie over het zoeken naar andere vormen.

Een stroomdiagram maken

    Open het tabblad Bestand.

    Tab Bestand niet getoond

    Als het tabblad Bestand niet wordt weergegeven, gaat u naar de volgende stap in de procedure.

    Selecteer een team Creëren en paragraaf Blokdiagram en dan in de lijst Beschikbare sjablonen selecteer item Eenvoudig blokschema.

    Klik op de knop Creëren.

    Sleep voor elke stap in uw documentair proces de juiste vorm van het stroomdiagram naar uw document.

    Opmerking: Zie voor informatie over het gebruik van vormen om elke stap van het proces weer te geven.

    De standaard is rechthoekig

    Rechte verbindingslijnen

    Terugkeren naar normaal bewerken in een tabblad huis in een groep Onderhoud druk op de knop Wijzer.

    Als u tekst voor een vorm of verbindingslijn wilt toevoegen, selecteert u deze en voert u tekst in. Wanneer u klaar bent met het invoeren van tekst, klikt u in een leeg gedeelte van de pagina.

    Als u de richting van de verbindingspijl wilt wijzigen, selecteert u de verbinding en klikt u vervolgens in de groep op de pijl rechts van het bijschrift Lijn, beweeg de muisaanwijzer over het item Pijlen en kies de gewenste richting.

Een groot stroomschema afdrukken

Voordat u begint met afdrukken, moet u ervoor zorgen dat de tekenpagina die in Visio wordt weergegeven, het volledige stroomdiagram bevat. Alle vormen die van de pagina in Visio afwijken, worden niet afgedrukt.

Ga als volgt te werk om een ​​groot blokschema af te drukken:

Wat zijn de stroomdiagrammen?

Wanneer u de sjabloon Eenvoudig stroomdiagram opent, wordt ook het sjabloon Eenvoudige stroomdiagramvormen geopend. Elke vorm in het sjabloon komt overeen met een specifieke stap in het proces.

Van de shapes in het stencil Shapes voor eenvoudige stroomdiagrammen worden er slechts enkele veel gebruikt. Het zijn deze cijfers die hieronder worden beschreven. Zie de link (Minder populaire stroomdiagramvormen) aan het einde van dit gedeelte voor meer informatie over de overige vormen.

Minder populaire stroomdiagramvormen

    Dynamische verbindingslijn. Deze connector omzeilt de vormen op zijn pad.

    Het is een verbindingslijn met instelbare kromming.

    Dit is een tekstvak met een rand waarvan het formaat wordt aangepast op basis van de hoeveelheid tekst die u invoert. De breedte kan worden ingesteld door de zijkanten van de vorm te slepen. Deze vorm vertegenwoordigt geen stap in een proces, maar is handig voor het plaatsen van labels op een stroomdiagram.

    Opmerking. Dit is een veld tussen vierkante haken dat in grootte verandert op basis van de hoeveelheid ingevoerde tekst. De breedte kan worden ingesteld door de zijkanten van de vorm te slepen. Net als AutoFit Box vertegenwoordigt deze vorm geen stap in een proces. Gebruik het om aantekeningen in stroomdiagrammen te maken.

    Handmatige invoer. Dit is de fase waarin een persoon informatie verstrekt aan een proces.

    Manuele operatie. Dit is een fase die door een mens moet worden uitgevoerd.

    Intern geheugen. Dit cijfer geeft de gegevens weer die op de computer zijn opgeslagen.

    Directe gegevens. Dit cijfer geeft gegevens weer die zo zijn opgeslagen dat elk afzonderlijk record direct toegankelijk is. Dit komt overeen met de manier waarop gegevens worden opgeslagen op de harde schijf van een computer.

    Seriële gegevens. Dit cijfer geeft gegevens weer die sequentieel worden opgeslagen (zoals gegevens op een magneetband). Dergelijke gegevens kunnen alleen sequentieel worden gelezen. Als u bijvoorbeeld record 7 wilt openen, moet u eerst records 1–6 bekijken.

    Kaart en papier tape. Dit cijfer stelt een ponskaart of papiertape voor. In vroege computersystemen werden ponskaarten en papieren tapes gebruikt om gegevens te schrijven en te lezen en om programma's op te slaan en uit te voeren.

    Weergave. Deze vorm vertegenwoordigt de gegevens die aan de gebruiker worden weergegeven (meestal op een computerscherm).

    Voorbereiding. Dit cijfer vertegenwoordigt de initialisatie van variabelen ter voorbereiding op het uitvoeren van een procedure.

    Parallelle modus. Deze afbeelding laat zien waar twee verschillende processen tegelijkertijd kunnen worden uitgevoerd.

    Cycluslimiet. Deze afbeelding toont het maximaal mogelijke aantal herhalingen van de lus voordat naar de volgende fase wordt overgegaan.

    Overdracht van controle. Deze figuur geeft een fase aan waarin, wanneer aan bepaalde voorwaarden is voldaan, niet naar de volgende, maar naar een andere fase wordt overgegaan.

Een stroomdiagram maken

    Op het menu Bestand Creëren, dan om te wijzen Blokdiagram en selecteer het item Eenvoudig blokschema.

    Sleep voor elke stap in uw documentair proces de juiste vorm van het stroomdiagram naar uw document.

    Verbind de vormen van het stroomdiagram op een van de volgende manieren.

    Twee vormen met elkaar verbinden

    Een vorm verbinden met meerdere met één verbindingspunt

    De standaard is rechthoekig het verbinden van lijnen en het verbinden van een punt in een vorm met drie andere vormen ziet eruit als de onderstaande afbeelding.

    Als u wilt dat de verbindingslijnen rechtstreeks uit het middelpunt van de eerste vorm komen en naar punten op alle andere vormen leiden, moet u instellen Rechte verbindingslijnen zoals weergegeven in de onderstaande afbeelding.

    Op de werkbalk Standaard klik gereedschap Wijzer om terug te keren naar de normale bewerkingsmodus.

    Als u tekst voor een vorm of verbindingslijn wilt toevoegen, selecteert u deze en voert u tekst in. Wanneer u klaar bent met het invoeren van tekst, klikt u in een leeg gedeelte van de pagina.

    Om de richting van de verbindingslijn te wijzigen, beweegt u de muisaanwijzer over het menu Activiteiten en selecteer het item Keer de uiteinden om.

Grote stroomdiagrammen afdrukken

De eenvoudigste manier om een ​​blokschema af te drukken dat groter is dan papier, is door het op meerdere vellen af ​​te drukken en ze vervolgens aan elkaar te lijmen.

Voordat u begint met afdrukken, moet u ervoor zorgen dat de tekenpagina die in Visio wordt weergegeven, het volledige stroomdiagram bevat. Alle vormen die van de pagina in Visio afwijken, worden niet afgedrukt. Gebruik het voorbeeld in het dialoogvenster om te controleren of het stroomdiagram op de documentpagina past Pagina-instellingen(menu Bestand, alinea Pagina-instellingen, tabblad Print instellingen).

1. Blokschema. te groot voor de pagina in de Visio-tekening.

2. Een stroomdiagram dat op een pagina in een Visio-tekening past.

Het formaat van een Visio-tekenpagina aanpassen zodat deze in een stroomdiagram past

    Wanneer een blokschema is geopend, in het menu Bestand selecteer item Pagina-instellingen.

    Open het tabblad Pagina grootte.

    Op het tabblad Pagina grootte Klik.

Om te zien hoe het blokschema eruit zal zien in gedrukte vorm, ga naar Bestand selecteer item Voorbeeld... Onderstaande figuur toont een blokschema dat op vier vellen van letter-formaat wordt afgedrukt.

Grote stroomdiagrammen afdrukken op meerdere vellen papier

    Op het menu Bestand selecteer item Pagina-instellingen.

    Op het tabblad Print instellingen in het veld Printpapier selecteer het gewenste papierformaat als dit nog niet is ingesteld. Druk niet op de knop Oke.

    Open het tabblad Pagina grootte en klik Formaat aanpassen om te passen... Het voorbeeldvenster toont nu het verschil tussen de nieuwe pagina en het papier in de printer.

    Klik op de knop Oke.

    Op het menu Bestand selecteer item Voorbeeld om te zien hoe het blokdiagram eruit zal zien wanneer het wordt afgedrukt.

    Opmerking: Er kunnen gearceerde marges tussen pagina's verschijnen. Ze komen overeen met de gebieden die op beide vellen worden afgedrukt. Hierdoor kunnen de vellen worden gelijmd zodat er geen lege plekken in het stroomschema zijn.

    Zodra het afdrukken is voltooid, kunt u de marges bijsnijden, de pagina's op de juiste manier positioneren en ze aan elkaar lijmen.

Online blokdiagrammen zijn een grafisch model van het algoritme, waarin stappen worden weergegeven met blokken en links worden weergegeven door lijnen die blokken verbinden.

Dit is een universele en visuele manier om de logica van een programma of een proces weer te geven, die zelfs voor niet-specialisten begrijpelijk is.

Vaak zijn het programmeurs die hun toevlucht nemen tot het opstellen van flowcharts.

Wat is een blokschema voor een programmeur?

De stroomdiagramtaal (UML, stroomdiagram) is een unieke manier van communicatie tussen een programmeur en geïnteresseerde niet-programmeurs, evenals een documentatieelement voor een geprogrammeerd product.

In eenvoudige gevallen, om de werking van een stukje code of een eenvoudig programma uit te leggen, kan met iedereen een stroomdiagram worden gemaakt.

Maar wanneer het programma honderden of duizenden regels bevat, enkele tientallen modules, is het beter om speciale programma's te gebruiken die blokschema's bouwen vanuit de broncode.

Programma's en online services voor bouwsteendiagrammen

Wanneer zich een probleem voordoet, suggereert de moderne manier van denken onmiddellijk om de kansen te benutten en op zoek te gaan naar een online service die het probleem zou oplossen.

Daarom zoeken ze vaak naar diensten die online blokdiagrammen bouwen op code, bijvoorbeeld Delphi, Pascal en zelfs blokdiagrammen op code c++.

Vanwege de specifieke kenmerken voldoen de haastig samengestelde services die op het netwerk worden gevonden vaak niet aan de minimumvereisten:

  • een aantal programmeertaaloperators niet ondersteunen en als gevolg daarvan een verkeerd schema construeren;
  • de geconstrueerde schema's zijn niet bestand tegen kritiek op de nauwkeurigheid van de tekening;
  • onmogelijkheid om de geconstrueerde schakeling in het vereiste formaat op te slaan, enz.

Het is veel efficiënter om te zoeken naar softwareapplicaties met de benodigde functionaliteit. Wat betreft online diensten.

De universele raamwerken voor bouwsteendiagrammen en de tot nu toe unieke bibliotheek verdienen de aandacht.

FCeditor

FCeditor is een eenvoudig en leuk programma waarmee je programmacode kunt maken van .pas (Pascal, Delfi) en .cs (C #) bestanden.

Om het bestaande bestand met de code te converteren, hoeft u het alleen maar in het programma te importeren ("Bestand - Importeren" ...).

Wanneer het bestand wordt geanalyseerd, verschijnt de klassenboom aan de linkerkant, het bestandstabblad in de tabbladbalk, het bestandstabblad voor elk van de methoden en het schema van het hele programma, evenals het codetabblad in het bestandtabblad .

Opmerking! Het overzichtelijke stroomdiagram kan worden geëxporteerd naar een van de populaire grafische formaten (jpg, bmp, png, gif en tiff).

De voordelen van het programma zijn onder meer de Russische interface.

Automatisch stroomschema

Het programma Autoflowchart, met zijn minimalistische ontwerp, biedt een handige en informatieve interface.

Het hoofdvenster is verdeeld in drie delen: een boomstructuur van de code, de tekst van de code en aan de rechterkant is er een groot veld dat een blokschema weergeeft.

Het programma implementeert de functie van het markeren van de corresponderende elementen (in het diagram, in de code en in de boomstructuur) en het samenvouwen van geneste structuren.

Export is niet alleen beschikbaar voor bestanden met grafische formaten, maar ook voor populaire kantoortoepassingen - document, Visio, evenals een SVG-bestand of.

Bovendien kan de code direct in het programma worden bewerkt met directe weergave van wijzigingen in het circuit.

Ondersteunt vele programmeertalen: Pascal, Delphi, C++.

Code Visual naar Flowchart v6.0

Code Visual to Flowchart v6.0 onderscheidt zich door zijn indrukwekkende functionaliteit.

De interface wordt weergegeven door een venster met drie velden.

In het linkerdeel zijn er tabbladen met de projectstructuur en de structuur van de klassen, in het centrale deel - de programmacode, aan de rechterkant - het blokschema van het geselecteerde fragment.

Misschien is het noodzakelijke begin en einde van de code omgezet in een blokschema een kenmerk van dit programma.

Het schema kan worden geëxporteerd naar pakketproductformaten, bmp- of png-grafisch formaat.

Belangrijk! Alle genoemde programma's worden tegen betaling aangeboden en om de volledige functionaliteit van de programma's te gebruiken, moet u betalen voor het gebruiksrecht.

Het blokschema kan ook dienen als hulpmiddel bij de initiële ontwikkeling van het programma.

De programmeur denkt eerst na en corrigeert de logica van de toekomstige programmacode met behulp van een blokschema.

Daarna wordt de programmacode direct op basis van het diagram geschreven.

Er zijn online diensten voor het gemakkelijk bouwen van blokdiagrammen. Laten we draw.io en google charts eens nader bekijken.

Draw.io

Draw.io kan een veelzijdige online stroomdiagram-editor worden genoemd. Het biedt de gebruiker een breed scala aan sets blokken en handige hulpmiddelen.

Elk blok kan worden opgemaakt en gewijzigd, u kunt uw eigen blokweergaven maken en externe afbeeldingen uit bestanden gebruiken.

Het voltooide schema kan worden geïmporteerd als een kantoortoepassingsdocument (), grafisch rasterbestand (png, gif en jpg) of vectorbestand (svg).

Deze feature-rijke service vereist geen gebruiksvergoeding - het is gratis.

Google-kaart

Een unieke en uitgebreide tool voor het maken van grafieken, diagrammen en visualisaties - Google chart API.

Er zijn veel verschillende services die het leven van een webontwikkelaar of ontwerper gemakkelijker maken, waaronder het maken van verschillende afbeeldingen, diagrammen, stroomdiagrammen, enz. Hieronder een kleine selectie.
(Let op, veel afbeeldingen)

Alle foto's zijn klikbaar en leiden naar de bijbehorende bron.

Amcharts is een set op flash gebaseerde grafieken voor websites. Het kan gegevens extraheren uit CSV- of XML-bestanden, het kan ook gegevens ontvangen die dynamisch zijn gegenereerd met behulp van PHP, .NET, Java, Ruby on Rails, Perl, enz.

Flash-gebaseerde rendering-oplossing. Er zijn niet alleen web-, maar ook desktop-applicaties.

Biedt tools voor het tekenen van elektronische printplaten, diagrammen, verschillende soorten gebruikersinterfaces. Vereist geen extra plug-ins - alleen een browser die met JavaScript werkt, is vereist, is cross-browser. Ondersteunt export naar PDF, JPG, PNG en SVG.

Gebruikt om staafdiagrammen te maken, met andere woorden, histogrammen.

Beste voor grafieken. Het wordt gebruikt om verschillende soorten diagrammen en diagrammen te bouwen.

Creëert veelkleurige schema's.

Online tool voor het maken van verschillende grafieken, ondersteunt labels en legenda.

Hiermee kunt u verschillende afbeeldingen maken voor sites, blogs, profielen, enz. Kan handig zijn voor het visualiseren van wetenschappelijke, financiële of andere informatie.

Online service die 5 verschillende grafieken en grafieken naar keuze ondersteunt.

Stroomdiagrammen, verschillende organisatorische, hiërarchische grafieken. Ondersteunt export naar PDF.

Ondersteunt verschillende soorten grafieken, asschaling, autozoom, enz. Verschilt in hoge interactiviteit.

Ondersteunt het tekenen van een verscheidenheid aan objecten (van lijnen en driehoeken tot Bézier-curven), export naar PDF of PNG.

Een eenvoudige service die de constructie van grafieken en diagrammen ondersteunt.

Een uitstekende service voor het maken van verschillende diagrammen, een zeer mooie interface en veel mogelijkheden.

Hiermee kunt u linkdiagrammen maken en bewerken.

Een zeer flexibele tool voor het maken van verschillende mind-diagrammen.

Een eenvoudig hulpmiddel voor het maken van diagrammen.

Online grafiekgenerator, ondersteunt zeven gratis starterstools.

Gratis service, ondersteunt verschillende grafieken, grafieken, enz. Aangedreven door Flash.

Service voor het maken van circuits. Het belangrijkste kenmerk is de beschrijving van circuits in een soort programmeertaal.

Een uitstekende service voor het analyseren van verschillende informatie.

Service voor verschillende soorten planning, ondersteunt ook diagrammen, is gratis.

Een krachtig hulpmiddel voor statistische modellering en analyse. Gepositioneerd voor het bestuderen van statistiek in de praktijk.

Een eenvoudige maar mooi ogende kaartservice.

Bibliotheken, plug-ins, ontwikkelaarstools

plotter

Lichtgewicht kader voor het tekenen van eenvoudige grafieken en diagrammen. Maakt geen gebruik van Flash en ondersteunt geen interactieve elementen.

Een JavaScript-grafiekbibliotheek die HTML Canvas ondersteunt.

Open Source-plug-in voor jQuery-bibliotheek. Ondersteunt alle soorten lijnen en grafiektypes.

Diverse tools voor het maken van grafieken en diagrammen, inclusief een JavaScript-bibliotheek.

Een JavaScript-bibliotheek voor het maken van interactieve grafieken en diagrammen.

In dit artikel wordt gekeken naar voorbeelden van stroomschema's die u kunt tegenkomen in leerboeken over informatica en andere literatuur. Een blokdiagram is een algoritme dat een probleem oplost dat aan een ontwikkelaar is gesteld. Eerst moet je de vraag beantwoorden wat een algoritme is, hoe het grafisch wordt gepresenteerd en vooral hoe je het oplost, waarbij je bepaalde parameters kent. Er moet meteen worden opgemerkt dat er verschillende soorten algoritmen zijn.

Wat is een algoritme?

Dit woord is bedacht door de wiskundige Muhammad al-Khwarizmi, die leefde in de periode 763-850. Hij is degene die de regels heeft gemaakt voor het uitvoeren van rekenkundige bewerkingen (en er zijn er vier). En hier is de GOST uit 1974, waarin staat dat:

Een algoritme is een nauwkeurig voorschrift dat een rekenproces definieert. Bovendien zijn er meerdere variabelen met gegeven waarden, die de berekeningen tot het gewenste resultaat leiden.

Met het algoritme kun je de uitvoerder duidelijk instrueren om een ​​strikte taak uit te voeren om de taak op te lossen en het resultaat te krijgen. Algoritmeontwikkeling is het opsplitsen van een grote taak in een bepaalde reeks stappen. Bovendien moet de ontwikkelaar van het algoritme alle functies en regels van de compilatie kennen.

Algoritme functies

In totaal zijn er acht kenmerken van het algoritme te onderscheiden (ongeacht het type):

  1. Er is een functie van het invoeren van initiële gegevens.
  2. Er is een conclusie van een resultaat na de voltooiing van het algoritme. Er moet aan worden herinnerd dat er een algoritme nodig is om een ​​bepaald doel te bereiken, namelijk om een ​​resultaat te verkrijgen dat direct verband houdt met de oorspronkelijke gegevens.
  3. Het algoritme moet een discrete typestructuur hebben. Het moet in opeenvolgende stappen worden gepresenteerd. Bovendien kan elke volgende stap pas beginnen na de voltooiing van de vorige.
  4. Het algoritme moet eenduidig ​​zijn. Elke stap is duidelijk gedefinieerd en laat geen willekeurige interpretatie toe.
  5. Het algoritme moet eindig zijn - het moet in een strikt gedefinieerd aantal stappen worden uitgevoerd.
  6. Het algoritme moet correct zijn - om een ​​uiterst correcte oplossing voor het probleem in te stellen.
  7. Gemeenschappelijkheid (of massaliteit) - het zou moeten werken met verschillende brongegevens.
  8. De tijd die nodig is om het algoritme op te lossen, moet minimaal zijn. Dit bepaalt de effectiviteit van het oplossen van het probleem.

En nu u weet welke blokdiagrammen van algoritmen er zijn, kunt u nadenken over manieren om ze te schrijven. En dat zijn er niet heel veel.

verbale notatie

Dit formulier wordt in de regel gebruikt bij het beschrijven van de volgorde van acties voor een persoon: 'Ga daarheen, ik weet niet waarheen. Breng dat maar, ik weet niet wat."

Natuurlijk is dit een grap, maar de essentie is duidelijk. Als voorbeeld kunnen we bijvoorbeeld ook het gebruikelijke record op de ramen van bussen noemen: "In geval van een ongeluk, trek het snoer eruit, knijp het glas eruit."

Hier wordt duidelijk de voorwaarde gesteld, waaronder twee handelingen in een strikte volgorde moeten worden uitgevoerd. Maar dit zijn de eenvoudigste algoritmen, er zijn ook complexere. Soms worden formules, speciale aanduidingen gebruikt, maar op een verplichte voorwaarde - de uitvoerder moet alles begrijpen.

Het is toegestaan ​​om de volgorde van acties te wijzigen als het nodig is om bijvoorbeeld terug te keren naar de vorige bewerking of om een ​​commando onder een bepaalde voorwaarde te omzeilen. In dit geval is het raadzaam om de commando's te nummeren en het commando waarnaar de overgang plaatsvindt moet worden aangegeven: "Na het voltooien van alle manipulaties, herhaalt u stap 3 tot 5."

Grafische opname

Dit item bevat stroomdiagramelementen. Alle elementen zijn gestandaardiseerd, elk team heeft een specifiek grafisch record. En in elk van de blokken moet een specifiek commando worden geschreven in gewone taal of wiskundige formules. Alle blokken moeten worden verbonden door lijnen - ze tonen de exacte volgorde van de uitgevoerde opdrachten. Eigenlijk is dit type algoritme meer geschikt voor gebruik in programmacode dan verbaal.

Schrijven in programmeertalen

In het geval dat het algoritme nodig is voor het programma dat op de pc is geïnstalleerd om het probleem op te lossen, moet u het opschrijven met een speciale code. Hier zijn veel programmeertalen voor. En het algoritme wordt in dit geval een programma genoemd.

Blokdiagrammen

Een blokdiagram is een grafische weergave van een algoritme. Alle commando's en acties worden weergegeven door geometrische vormen (blokken). Alle informatie over de acties die moeten worden uitgevoerd, wordt in elke vorm ingevoerd. Links worden weergegeven als regelmatige lijnen met pijlen (indien nodig).

Er is GOST 19.701-90 voor registratie van blokdiagrammen van algoritmen. Hij beschrijft de procedure en regels om ze in grafische vorm te maken, evenals de belangrijkste methoden om ze op te lossen. Dit artikel toont de belangrijkste elementen van stroomdiagrammen die worden gebruikt bij het oplossen van problemen, bijvoorbeeld in de informatica. Laten we nu eens kijken naar de constructieregels.

Basisregels voor het opstellen van een stroomschema

Het is mogelijk om de volgende kenmerken te benadrukken die elk stroomdiagram zou moeten hebben:

  1. Er moeten twee blokken zijn - "Start" en "End". En in één exemplaar.
  2. Er moeten communicatielijnen worden getrokken van het eerste blok naar het laatste blok.
  3. Alle blokken, behalve de laatste, moeten stroomlijnen hebben.
  4. De nummering van alle blokken moet aanwezig zijn: van boven naar beneden, van links naar rechts. Het serienummer moet in de linkerbovenhoek worden aangebracht, wat een breuk in de stijl veroorzaakt.
  5. Alle blokken moeten met lijnen met elkaar verbonden zijn. Zij moeten de volgorde bepalen waarmee acties worden uitgevoerd. Als de stroom van onder naar boven of van rechts naar links beweegt (met andere woorden, in omgekeerde volgorde), dan worden er zeker pijlen getekend.
  6. Lijnen zijn onderverdeeld in uitgaand en inkomend. Opgemerkt moet worden dat de ene lijn uitgaand is voor het ene blok en inkomend voor het andere.
  7. Vanaf het eerste blok in het diagram vertrekt de stroomlijn alleen, omdat dit de allereerste is.
  8. Maar het laatste blok heeft alleen een ingang. Dit wordt duidelijk weergegeven in de voorbeelden van stroomschema's die beschikbaar zijn in het artikel.
  9. Om het gemakkelijker te maken om stroomdiagrammen te lezen, worden inkomende lijnen bovenaan getekend en uitgaande lijnen onderaan.
  10. Discontinuïteiten in stroomlijnen zijn toegestaan. Ze zijn noodzakelijkerwijs gemarkeerd met speciale connectoren.
  11. Om het stroomschema te vergemakkelijken, is het toegestaan ​​om alle informatie in de opmerkingen te schrijven.

Grafische elementen van blokdiagrammen voor het oplossen van algoritmen worden weergegeven in de tabel:

Lineair type algoritmen

Dit is de eenvoudigste weergave, die uit een bepaalde reeks acties bestaat, ze zijn niet afhankelijk van welke gegevens aanvankelijk worden ingevoerd. Er zijn verschillende opdrachten die één keer worden uitgevoerd en pas nadat de vorige is uitgevoerd. Het lineaire blokschema ziet er als volgt uit:

Bovendien kunnen verbindingen zowel van boven naar beneden als van links naar rechts gaan. Een dergelijk blokschema wordt gebruikt om algoritmen voor berekeningen te schrijven met behulp van eenvoudige formules die geen beperkingen hebben op de waarden van de variabelen die zijn opgenomen in de formules voor de berekening. Een lineair algoritme is een integraal onderdeel van complexe rekenprocessen.

Forking-algoritmen

Blokdiagrammen die met dergelijke algoritmen zijn gebouwd, zijn complexer dan lineaire. Maar de essentie verandert niet. Een vertakkingsalgoritme is een proces waarbij verdere actie afhankelijk is van hoe aan een voorwaarde wordt voldaan en welke oplossing wordt verkregen. Elke actielijn is een tak.

De diagrammen tonen blokken met de naam "Oplossing". Het heeft twee uitgangen en er is een logische voorwaarde in geschreven. De verdere beweging volgens het schema van het algoritme hangt af van hoe het zal worden uitgevoerd. Vertakkingsalgoritmen kunnen worden onderverdeeld in drie groepen:

  1. "Bypass" - in dit geval heeft een van de takken geen operators. Met andere woorden, het doorloopt meerdere acties op een andere tak.
  2. "Forking" - elke tak heeft een specifieke reeks acties die moeten worden uitgevoerd.
  3. "Meerkeuze" is een vork waarin er verschillende takken zijn en elk een specifieke reeks acties bevat die moeten worden uitgevoerd. Bovendien is er één eigenaardigheid: de keuze van de richting hangt rechtstreeks af van de waarden van de uitdrukkingen die in het algoritme zijn opgenomen.

Dit zijn eenvoudige algoritmen die zeer eenvoudig op te lossen zijn. Laten we nu verder gaan met de meer complexe.

cyclisch algoritme

Alles is hier heel duidelijk - een cyclisch blokdiagram vertegenwoordigt een algoritme waarin hetzelfde type berekeningen vele malen wordt herhaald. Een cyclus is per definitie een bepaalde reeks van acties die herhaaldelijk (meer dan eens) worden uitgevoerd. En er zijn verschillende soorten cycli:

  1. Waarvan het aantal herhalingen van handelingen bekend is (ze worden ook wel cycli met een teller genoemd).
  2. Waarvan het aantal herhalingen onbekend is - met een postconditie en een preconditie.

Ongeacht welk type lus wordt gebruikt om het algoritme op te lossen, het moet een variabele hebben waarmee de uitgang plaatsvindt. Zij is het die het aantal herhalingen van de cyclus bepaalt. Het werkende deel (lichaam) van de cyclus is een bepaalde reeks acties die bij elke stap wordt uitgevoerd. En nu gaan we dieper in op alle soorten cycli die je kunt tegenkomen bij het opstellen van algoritmen en het oplossen van problemen in de informatica.

Lussen met tellers

De afbeelding toont een eenvoudig blokschema met een tegenlus. Dit type algoritme laat zien dat het aantal herhalingen van een bepaalde cyclus van tevoren bekend is. En dit aantal staat vast. In dit geval wordt de variabele die het aantal stappen (herhalingen) telt een teller genoemd. Soms kun je in leerboeken andere definities vinden - een lusparameter, een controlevariabele.

Het stroomschema illustreert heel duidelijk hoe een tegenloop werkt. Voordat u doorgaat met de eerste stap, moet u een beginwaarde aan de teller toewijzen - dit kan elk nummer zijn, dit hangt af van het specifieke algoritme. In het geval dat de uiteindelijke waarde kleiner is dan de tellerwaarde, wordt een bepaalde groep opdrachten die de hoofdtekst van de lus vormen, uitgevoerd.

Nadat de body is uitgevoerd, wordt de teller gewijzigd met het bedrag van de tellerstap, aangegeven met de letter h. In het geval dat de resulterende waarde lager is dan de laatste, zal de cyclus doorgaan. En het stopt pas als de eindwaarde kleiner is dan de lusteller. Alleen in dit geval zal de uitvoering van de actie die volgt op de cyclus plaatsvinden.

Meestal gebruikt stroomdiagramnotatie een blok met de naam "Prepare". Er wordt een teller in geschreven en vervolgens worden de volgende gegevens aangegeven: de begin- en eindwaarden, de stap van verandering. In het blokschema zijn dit respectievelijk de parameters I n, Ik en h. In het geval waarin h = 1, wordt de stapgrootte niet geregistreerd. In andere gevallen is dit verplicht. Het is noodzakelijk om zich aan een eenvoudige regel te houden - de stroomlijn moet van bovenaf binnenkomen. En de stroomlijn die van onderaf (of naar rechts, afhankelijk van het specifieke algoritme) naar buiten komt, moet de overgang naar de volgende operator weergeven.

Nu heb je de beschrijving van het blokschema in de figuur volledig bestudeerd. Je kunt verder studeren. Bij gebruik van een tegencyclus moet aan bepaalde voorwaarden worden voldaan:

  1. Het lichaam mag de tellerwaarde niet (met geweld) wijzigen.
  2. Het is verboden de controle van buitenaf over te dragen aan de bediener van het lichaam. Met andere woorden, u kunt de cyclus alleen vanaf het begin invoeren.

Lussen met randvoorwaarden

Dit type cyclus wordt gebruikt wanneer het aantal herhalingen niet van tevoren bekend is. Een lus met een randvoorwaarde is een soort algoritme waarin, direct voor het starten van de uitvoering van de body, een voorwaarde wordt gecontroleerd, waaronder de overgang naar de volgende actie is toegestaan. Let op hoe de elementen van het blokschema worden weergegeven.

In het geval dat aan de voorwaarde is voldaan (de instructie is waar), vindt de overgang naar het begin van de lus-body plaats. Direct daarin wordt de waarde van ten minste één variabele gewijzigd, wat de waarde van de voorwaarde beïnvloedt. Als u zich niet aan deze regel houdt, krijgen we "looping". Als na de volgende controle van de uitvoeringsvoorwaarde van de lusbody blijkt dat deze onwaar is, vindt er een exit plaats.

In de blokdiagrammen van algoritmen is het toegestaan ​​om niet de waarheid, maar de onwaarheid van de beginvoorwaarde te controleren. In dit geval wordt de lus alleen afgesloten als de voorwaardewaarde waar blijkt te zijn. Beide opties zijn correct, het gebruik ervan hangt af van welke het handigst is om een ​​bepaald probleem op te lossen. Dit type lus heeft één bijzonderheid: de hoofdtekst wordt mogelijk niet uitgevoerd als de voorwaarde onwaar of waar is (afhankelijk van de variant die wordt gebruikt om het algoritme op te lossen).

Hieronder vindt u een stroomdiagram waarin al deze stappen worden beschreven:

Wat is een postcondition-lus?

Als je goed kijkt, lijkt dit type cyclus enigszins op de vorige. We zullen nu proberen om zelf een stroomschema te maken waarin deze cyclus wordt beschreven. Het bijzondere is dat het aantal herhalingen vooraf niet bekend is. En de toestand wordt ingesteld nadat de uitgang van het lichaam heeft plaatsgevonden. Dit laat zien dat het lichaam, ongeacht de oplossing, minstens één keer zal worden uitgevoerd. Bekijk voor de duidelijkheid het stroomdiagram waarin de uitvoering van de voorwaarde en operators worden beschreven:

Er is niets moeilijks aan het construeren van algoritmen met cycli, het is voldoende om ze maar één keer te begrijpen. Laten we nu verder gaan met complexere ontwerpen.

Complexe cycli

Complexe constructies zijn constructies met een of meer eenvoudige lussen erin. Ze worden soms genest genoemd. Bovendien worden die constructies die andere cycli bestrijken "extern" genoemd. En degenen die zijn opgenomen in de structuur van de externe - interne. Bij het uitvoeren van elke stap van de buitenste lus, wordt de binnenste lus volledig gescrolld, zoals weergegeven in de afbeelding:

Dat is alles, u hebt de belangrijkste kenmerken van bouwsteendiagrammen voor het oplossen van algoritmen overwogen, u kent de principes en regels. Nu kunt u specifieke voorbeelden van stroomdiagrammen uit het leven bekijken. In de psychologie worden dergelijke constructies bijvoorbeeld gebruikt om iemand een vraag te laten oplossen:

Of een voorbeeld uit de biologie om het probleem op te lossen:

Problemen met stroomdiagrammen oplossen

Laten we nu eens kijken naar voorbeelden van taken met stroomdiagrammen die kunnen voorkomen in leerboeken over informatica. Bijvoorbeeld, gegeven een blokschema, volgens welke een algoritme wordt opgelost:

In dit geval voert de gebruiker zelfstandig de waarden van de variabelen in. Laten we zeggen x = 16 en y = 2. Het proces is als volgt:

  1. De x- en y-waarden worden ingevuld.
  2. De transformatiebewerking wordt uitgevoerd: x = √16 = 4.
  3. Aan de voorwaarde is voldaan: y = y 2 = 4.
  4. De berekening is gemaakt: x = (x + 1) = (4 + 1) = 5.
  5. Vervolgens wordt de volgende variabele berekend: y = (y + x) = (5 + 4) = 9.
  6. De oplossing wordt weergegeven: y = 9.

Dit voorbeeld van een computerwetenschappelijk stroomschema laat duidelijk zien hoe het algoritme wordt opgelost. Het is noodzakelijk om erop te letten dat de waarden van x en y in de beginfase worden ingesteld en dat ze elk kunnen zijn.

Strikt genomen bestaat de term "blokdiagram" niet. In plaats van deze zin is het correct om "algoritmeschema" te zeggen, maar dat is nu niet het geval. Mijn artikel gaat over de vraag of het mogelijk is om snel en gemakkelijk algoritmen te tekenen en tegelijkertijd gratis te maken. Het zou geweldig zijn als er een gratis analoog van de online editor Gliffy zou zijn, en gelukkig voor ons is die er.

De algoritmen in Pencil zijn heel gemakkelijk te tekenen. Hiervoor is er een speciale bibliotheek van primitieven met bouwstenen en connectoren. Het ziet er zo uit:

Wanneer u blokken tekent, klikken ze automatisch op het raster, waardoor ze gemakkelijk kunnen worden uitgelijnd. Nadat je een blok hebt getekend, kan een ander blok van onder of van de zijkant worden "gemagnetiseerd", alles zal glad zijn.

Als u over een blok zweeft en eenmaal met de muis klikt, is er een modus om het blok te verkleinen en te slepen. Als je een tweede keer klikt, kan het blok worden gedraaid (er verschijnen ronde rode stippen aan de randen).

De basisfuncties zijn beschikbaar, bijna zoals in Visio: blokken kunnen worden gecombineerd tot groepen, gesleept en gekopieerd, boven of onder in lagen worden geplaatst, magnetisch naar het midden worden verbonden, enz.

Nadelen zijn er ook, de hoekverbinder werkt bijvoorbeeld niet erg correct: hij verandert soms in een onvoorstelbare zigzag als je hem probeert te selecteren en te slepen. Maar deze nadelen zijn zo onbeduidend dat ze niet verhinderden dat Pencil zijn rechtmatige plaats innam in mijn verzameling alledaagse ontwikkelaarstools.