Lag et enkelt flytskjema. Et sett med verktøy for å plotte grafer, flytskjemaer og diagrammer

Flytskjemaer er diagrammer som viser trinnene i en prosess. Enkle blokkdiagrammer er enkle å lage, og fordi formene er enkle og klare, er de også enkle å lese.

Merk. Du kan også automatisk generere et enkelt flytskjema fra dataene dine ved å bruke Data Visualizer i Visio Online Plan 2. For mer informasjon, se artikkelen Lag diagrammer med Data Visualizer.

Simple Flowchart-malen i Visio inneholder former som du kan bruke til å visualisere en rekke prosesser. Det er spesielt nyttig for å vise enkle forretningsprosesser, slik som forslagsutviklingsprosessen vist i figuren nedenfor.

I tillegg til Simple Flowchart-malen, er forskjellige mer spesialiserte diagrammaler tilgjengelige i Visio, for eksempel dataflytdiagrammer, tidslinjer og programvaremodeller.

Opprette et flytskjema

    Start Visio-appen.

    Dobbeltklikk på ikonet Enkelt blokkdiagram.

    For å koble til flytskjemaelementer, hold musepekeren over den første formen og klikk på pilen som peker på formen du vil koble til. Hvis den andre formen ikke er ved siden av den første, må du dra den lille pilen mot midten av den andre formen.

    For å endre retningen på koblingspilen, velg skjøten og deretter på fanen i gruppen Formstiler klikk på elementet Linje Piler og velg ønsket retning og type pil.

Automatisk justering og avstand

    Trykk CTRL + A for å velge alle objektene på siden.

    I fanen hjem i en gruppe Bestilling trykk på knappen Posisjon og velg elementet Automatisk justering og avstand.

Hvis det ikke fungerer, kan du angre det ved å trykke CTRL + Z og bruke de andre menyalternativene Justering og Posisjon.

Hva er flytskjemaene

Når du åpner en mal Enkelt blokkdiagram et sett med elementer åpnes Enkle flytskjemaformer... Hver form i dette settet representerer et trinn i prosessen. Men former har ingen universell betydning, deres betydning bestemmes av skaperne og brukerne av flytskjemaene. De fleste blokkdiagrammer bruker tre eller fire typer former, og dette utvalget utvides kun på et spesifikt behov.

Imidlertid indikerer navnene på figurer i Visio deres anvendelse. De vanligste formene er beskrevet nedenfor.

Hva er flytskjemaene

Visio 2010 har mange andre, spesialiserte sjablonger og former som du kan bruke i et flytskjema. For mer informasjon om andre former, se artikkelen.

Merk: Finner du ikke formen du leter etter? For mer informasjon om hvordan du finner andre figurer, se Ordne og finne figurer ved hjelp av Shapes-vinduet.

Opprette et flytskjema

    Åpne fanen Fil.

    Tab Fil ikke vist

    Hvis fanen Fil ikke vises, gå til neste trinn i prosedyren.

    Velg et lag Skape og avsnitt Blokkdiagram og deretter i listen Tilgjengelige maler Velg en Enkelt blokkdiagram.

    Klikk på knappen Skape.

    For hvert trinn i dokumentarprosessen, dra den passende flytskjemaformen til dokumentet.

    Merk: For informasjon om bruk av former for å representere hvert trinn i prosessen, se.

    Standard er rektangulær

    Rette forbindelseslinjer

    For å gå tilbake til normal redigering i en fane hjem i en gruppe Service trykk på knappen Peker.

    For å legge til tekst for en form eller kobling, velg den og skriv inn tekst. Når du er ferdig med å skrive inn tekst, klikker du i et tomt område på siden.

    For å endre retningen på koblingspilen, velg leddet og klikk deretter på pilen til høyre for bildeteksten i gruppen Linje, hold musepekeren over elementet Piler og velg retningen du ønsker.

Skriver ut et stort flytskjema

Før du begynner å skrive ut, må du sørge for at tegnesiden som vises i Visio inneholder hele flytskjemaet. Eventuelle former som forsvinner fra siden i Visio vil ikke bli skrevet ut.

For å skrive ut et stort blokkdiagram, gjør følgende:

Hva er flytskjemaene

Når du åpner malen for enkelt flytskjema, åpnes også sjablongen for enkle flytskjemaformer. Hver form i sjablongen tilsvarer et spesifikt trinn i prosessen.

Av formene i Simple Flowchart Shapes-sjablonen er det bare noen få som er mye brukt. Det er disse tallene som er beskrevet nedenfor. For mer informasjon om de gjenværende figurene, se lenken (Mindre populære flytskjemaformer) på slutten av denne delen.

Mindre populære flytskjemaformer

    Dynamisk forbindelseslinje. Denne kontakten omgår formene i sin vei.

    Det er en forbindelseslinje med justerbar krumning.

    Dette er en tekstboks med en kantlinje som endrer størrelse basert på mengden tekst du skriver inn. Bredden kan stilles inn ved å dra i sidene av formen. Denne formen representerer ikke et trinn i en prosess, men den er nyttig for å plassere etiketter på et flytskjema.

    Merk. Dette er et felt i hakeparenteser som endres i størrelse basert på mengden tekst som legges inn. Bredden kan stilles inn ved å dra i sidene av formen. I likhet med AutoFit Box, representerer ikke denne formen et trinn i en prosess. Bruk den til å kommentere flytskjemaformer.

    Manuell inntasting. Dette er stadiet der en person gir informasjon til en prosess.

    Manuell operasjon. Dette er en scene som må utføres av et menneske.

    Intern lagring. Denne figuren representerer dataene som er lagret på datamaskinen.

    Direkte data. Denne figuren representerer data som er lagret på en slik måte at hver enkelt post kan nås direkte. Dette tilsvarer måten data lagres på harddisken til en datamaskin.

    Seriedata. Denne figuren representerer data som er lagret sekvensielt (som data på et magnetbånd). Slike data kan bare leses sekvensielt. For eksempel, for å få tilgang til post 7, må du først se post 1–6.

    Kort og papirtape. Denne figuren representerer et hullkort eller papirtape. I tidlige datasystemer ble hullkort og papirbånd brukt til å skrive og lese data, og til å lagre og kjøre programmer.

    Vise. Denne formen representerer dataene som vises til brukeren (vanligvis på en dataskjerm).

    Forberedelse. Denne figuren representerer initialiseringen av variabler som forberedelse til å utføre en prosedyre.

    Parallell modus. Denne figuren viser hvor to forskjellige prosesser kan kjøres samtidig.

    Syklusgrense. Denne figuren viser maksimalt mulig antall repetisjoner av løkken før du fortsetter til neste trinn.

    Overføring av kontroll. Denne figuren angir et stadium der, når visse betingelser er oppfylt, overgangen ikke er til neste, men til et annet stadium.

Opprette et flytskjema

    På menyen Fil Skape, så til å peke Blokkdiagram og velg elementet Enkelt blokkdiagram.

    For hvert trinn i dokumentarprosessen, dra den passende flytskjemaformen til dokumentet.

    Koble flytskjemaformene på en av følgende måter.

    Koble to former til hverandre

    Koble en form til flere med ett koblingspunkt

    Standard er rektangulær koble linjer, og koble et punkt i en form til tre andre former ser ut som bildet nedenfor.

    For at koblingslinjene skal stamme direkte fra midtpunktet til den første formen og føre til punkter på alle andre former, må du stille inn Rette forbindelseslinjer som vist i figuren nedenfor.

    På verktøylinjen Standard klikkverktøy Peker for å gå tilbake til normal redigeringsmodus.

    For å legge til tekst for en form eller kobling, velg den og skriv inn tekst. Når du er ferdig med å skrive inn tekst, klikker du i et tomt område på siden.

    For å endre retningen på koblingslinjen, på menyen, hold musepekeren over Drift og velg elementet Vend inn endene.

Skrive ut store flytskjemaer

Den enkleste måten å skrive ut et blokkdiagram som er større enn papir, er å skrive det ut på flere ark og deretter lime dem sammen.

Før du begynner å skrive ut, må du sørge for at tegnesiden som vises i Visio inneholder hele flytskjemaet. Eventuelle former som forsvinner fra siden i Visio vil ikke bli skrevet ut. For å sjekke om flytskjemaet passer på dokumentsiden, bruk forhåndsvisningen i dialogboksen Sideinnstillinger(Meny Fil, avsnitt Sideinnstillinger, fane Printer oppsett).

1. Blokkskjema. for stor for siden i Visio-tegningen.

2. Et flytskjema som passer inn på en side i en Visio-tegning.

Endre størrelsen på en Visio-tegneside for å passe inn i et flytskjema

    Når et blokkdiagram er åpent, i menyen Fil Velg en Sideinnstillinger.

    Åpne fanen Sidestørrelse.

    I fanen Sidestørrelse klikk.

For å se hvordan blokkdiagrammet vil se ut på trykk, gå til Fil Velg en Forhåndsvisning... Figuren nedenfor viser et blokkdiagram som skal skrives ut på fire ark i Letter-størrelse.

Skrive ut store flytskjemaer på flere ark

    På menyen Fil Velg en Sideinnstillinger.

    I fanen Printer oppsett i felt Skriverpapir velg ønsket papirstørrelse hvis den ikke allerede er angitt. Ikke trykk på knappen OK.

    Åpne fanen Sidestørrelse og klikk Endre størrelsen for å passe... Forhåndsvisningsvinduet viser nå forskjellen mellom den nye siden og papiret i skriveren.

    Klikk på knappen OK.

    På menyen Fil Velg en Forhåndsvisning for å se hvordan blokkdiagrammet vil se ut når det skrives ut.

    Merk: Skyggelagte marger kan vises mellom sidene. De tilsvarer områdene som skal skrives ut på begge arkene. Dette gjør at arkene kan limes slik at det ikke er tomme mellomrom i flytskjemaet.

    Når utskriften er fullført, kan du trimme margene, plassere sidene riktig og lime dem sammen.

Online blokkdiagrammer er en grafisk modell av algoritmen, der trinn vises ved hjelp av blokker, og lenker er representert av linjer som forbinder blokker.

Dette er en universell og visuell måte å presentere logikken til et program eller en prosess på, som er forståelig selv for ikke-spesialister.

Ofte er det programmerere som tyr til å lage flytskjemaer.

Hva er et blokkskjema for en programmerer?

Flytskjemaspråket (UML, flytskjema) er en unik måte for kommunikasjon mellom en programmerer og interesserte ikke-programmerere, samt et element av dokumentasjon for et programmert produkt.

I enkle tilfeller, for å forklare funksjonen til et stykke kode eller et enkelt program, kan et flytskjema lages med hvem som helst.

Men når programmet inneholder hundrevis eller tusenvis av linjer, flere titalls moduler, er det bedre å bruke spesielle programmer som bygger blokkdiagrammer fra kildekoden.

Programmer og nettbaserte tjenester for byggeblokkdiagrammer

Når et problem oppstår, foreslår den moderne tankegangen umiddelbart å utnytte mulighetene og se etter en nettjeneste som kan løse problemet.

Derfor ser de ofte etter tjenester som bygger blokkdiagrammer online etter kode, for eksempel Delphi, Pascal og til og med blokkdiagrammer etter kode c ++.

På grunn av spesifikasjonene oppfyller raskt sammensatte tjenester som finnes på nettverket svært ofte ikke minimumskravene:

  • ikke støtter en rekke programmeringsspråkoperatører og konstruerer som et resultat et skjema feil;
  • de konstruerte skjemaene tåler ikke kritikk med hensyn til nøyaktigheten av tegningen;
  • umulighet å lagre den konstruerte kretsen i ønsket format, etc.

Det er mye mer effektivt å søke etter programvareapplikasjoner med den nødvendige funksjonaliteten. Når det gjelder nettjenester.

De universelle rammeverkene for byggeblokkdiagrammer og biblioteket, som er unikt så langt, er verdt oppmerksomhet.

FC-redaktør

FCeditor er et enkelt og fint program som lar deg lage programkode fra .pas (Pascal, Delfi) og .cs (C #) filer.

For å konvertere den eksisterende filen med koden, importerer du den bare til programmet ("File - Import" ...).

Når filen er analysert vil klassetreet vises på venstre side, filfanen i fanelinjen, filfanen for hver av metodene og skjemaet for hele programmet, samt kodefanen i filfanen .

Merk! Det pene flytskjemaet kan eksporteres til et av de populære grafiske formatene (jpg, bmp, png, gif og tiff).

Fordelene med programmet inkluderer det russiske grensesnittet.

Autoflytskjema

Programmet Autoflowchart, med sin minimalistiske design, gir et praktisk og informativt grensesnitt.

Hovedvinduet er delt inn i tre deler: en trevisning av koden, teksten til koden, og på høyre side er det et stort felt som viser et blokkdiagram.

Programmet implementerer funksjonen med å fremheve de tilsvarende elementene (i diagrammet, i koden og i trestrukturen) og kollapse nestede strukturer.

Eksport er ikke bare tilgjengelig for filer med grafiske formater, men også til populære kontorapplikasjoner - dokument, Visio, samt som en SVG-fil eller.

I tillegg kan koden redigeres direkte i programmet med umiddelbar visning av endringer i kretsen.

Støtter mange programmeringsspråk: Pascal, Delphi, C ++.

Kode Visual til flytskjema v6.0

Code Visual til flytskjema v6.0 utmerker seg ved sin imponerende funksjonalitet.

Grensesnittet er representert av et vindu med tre felt.

I venstre del er det faner med prosjektstrukturen og strukturen til klassene, i den sentrale delen - programkoden, til høyre - blokkdiagrammet til det valgte fragmentet.

Kanskje den nødvendige begynnelsen og slutten av koden konvertert til et blokkdiagram er en funksjon i dette programmet.

Skjemaet kan eksporteres til pakkeproduktformater, bmp- eller png-grafikkformat.

Viktig! Alle nevnte programmer leveres på betalt basis, og for å bruke den fulle funksjonaliteten til programmene må du betale for retten til å bruke dem.

Blokkdiagrammet kan også tjene som et verktøy for den første utviklingen av programmet.

Programmereren tenker først over og fikser logikken til den fremtidige programkoden ved hjelp av et blokkdiagram.

Etter det, basert på diagrammet, skrives programkoden direkte.

Det finnes elektroniske tjenester for enkelt å bygge blokkdiagrammer. La oss se nærmere på draw.io og google-diagrammer.

Draw.io

Draw.io kan kalles en allsidig online flytskjemaredigerer. Det gir brukeren et bredt utvalg av sett med blokker og praktiske verktøy.

Enhver blokk kan formateres og endres, du kan lage dine egne blokkvisninger og bruke eksterne bilder fra filer.

Det ferdige oppsettet kan importeres som et kontorapplikasjonsdokument (), grafisk raster (png, gif og jpg) eller vektor (svg) fil.

Denne funksjonsrike tjenesten krever ingen betaling for bruk – den er gratis.

Google-diagram

Et unikt og rikt verktøy for å lage diagrammer, diagrammer og visualiseringer - Google chart API.

Det er mange forskjellige tjenester som gjør livet enklere for en webutvikler eller designer, inkludert å lage forskjellige grafikk, diagrammer, flytskjemaer, etc. Nedenfor er et lite utvalg.
(Forsiktig, mange bilder)

Alle bildene er klikkbare og fører til den tilhørende ressursen.

Amcharts er et sett med flash-baserte diagrammer for nettsteder. Den kan trekke ut data fra CSV- eller XML-filer, den kan også motta data generert dynamisk ved hjelp av PHP, .NET, Java, Ruby on Rails, Perl, etc.

Flash-basert gjengivelsesløsning. Det er ikke bare web, men også skrivebordsapplikasjoner.

Tilbyr verktøy for å tegne elektroniske kretskort, diagrammer, ulike typer brukergrensesnitt. Krever ingen ekstra plugins - bare en nettleser som fungerer med JavaScript er nødvendig, er på tvers av nettlesere. Støtter eksport til PDF, JPG, PNG og SVG.

Brukes til å bygge søylediagrammer, med andre ord histogrammer.

Best for diagrammer. Den brukes til å bygge ulike typer diagrammer og diagrammer.

Skaper flerfargede skjemaer.

Online verktøy for å lage ulike diagrammer, støtter etiketter og legende.

Lar deg lage ulike grafikk for nettsteder, blogger, profiler, etc. Kan være nyttig for å visualisere vitenskapelig, økonomisk eller annen informasjon.

Online tjeneste som støtter 5 forskjellige diagrammer og diagrammer for ditt valg.

Flytskjemaer, ulike organisatoriske, hierarkiske grafer. Støtter eksport til PDF.

Støtter ulike typer grafer, akseskalering, auto-zoom, etc. Avviker i høy interaktivitet.

Støtter tegning av en rekke objekter (fra linjer og trekanter til Bezier-kurver), eksport til PDF eller PNG.

En enkel tjeneste som støtter konstruksjon av grafer og diagrammer.

En utmerket tjeneste for å lage ulike diagrammer, et veldig pent grensesnitt og mange muligheter.

Lar deg lage og redigere koblingsdiagrammer.

Et veldig fleksibelt verktøy for å lage ulike tankediagrammer.

Et enkelt verktøy for å lage diagrammer.

Online kartgenerator, støtter syv startverktøy gratis.

Gratis tjeneste, støtter ulike diagrammer, grafer, etc. Drevet av Flash.

Tjeneste for å lage kretser. Nøkkelfunksjonen er beskrivelsen av kretser i et slags programmeringsspråk.

En utmerket tjeneste for å analysere forskjellig informasjon.

Tjenesten for ulike typer planlegging, støtter også diagrammer, er gratis.

Et kraftig verktøy for statistisk modellering og analyse. Posisjonert for å studere statistikk i praksis.

En enkel, men pen karttjeneste.

Biblioteker, plugins, utviklerverktøy

Plotr

Lett rammeverk for å tegne enkle grafer og diagrammer. Bruker ikke Flash, og støtter ikke interaktive elementer.

Et JavaScript-kartbibliotek som støtter HTML Canvas.

Open Source-plugin for jQuery-biblioteket. Støtter alle slags linjer og diagramtyper.

Variert sett med verktøy for å lage diagrammer og grafer, inkludert et JavaScript-bibliotek.

Et JavaScript-bibliotek for å lage interaktive grafer og diagrammer.

Denne artikkelen vil se på eksempler på flytskjemaer som du kan komme over i datavitenskapelige lærebøker og annen litteratur. Et blokkdiagram er en algoritme som løser et problem som stilles til en utvikler. Først må du svare på spørsmålet om hva en algoritme er, hvordan den presenteres grafisk, og viktigst av alt, hvordan du løser den, kjenne til visse parametere. Det skal bemerkes med en gang at det finnes flere typer algoritmer.

Hva er en algoritme?

Dette ordet ble laget av matematikeren Muhammad al-Khwarizmi, som levde i perioden 763-850. Det er han som er personen som laget reglene for å utføre aritmetiske operasjoner (og det er fire av dem). Og her er GOST fra 1974, som sier at:

En algoritme er en presis resept som definerer en beregningsprosess. Dessuten er det flere variabler med gitte verdier, som leder beregningene til ønsket resultat.

Algoritmen lar deg tydelig instruere utøveren til å utføre en streng for å løse oppgaven og få resultatet. Algoritmeutvikling er å dele en stor oppgave inn i en bestemt sekvens av trinn. Dessuten må utvikleren av algoritmen kjenne til alle funksjonene og reglene for kompileringen.

Algoritmefunksjoner

Totalt kan åtte funksjoner i algoritmen skilles ut (uavhengig av typen):

  1. Det er en funksjon for å legge inn startdata.
  2. Det er en konklusjon av et resultat etter at algoritmen er fullført. Det må huskes at en algoritme er nødvendig for å oppnå et bestemt mål, nemlig å oppnå et resultat som er direkte relatert til de originale dataene.
  3. Algoritmen må ha en diskret typestruktur. Det bør presenteres i sekvensielle trinn. Dessuten kan hvert neste trinn begynne først etter at det forrige er fullført.
  4. Algoritmen må være entydig. Hvert trinn er klart definert og tillater ikke vilkårlig tolkning.
  5. Algoritmen må være begrenset - det er nødvendig at den utføres i et strengt definert antall trinn.
  6. Algoritmen må være riktig – for å sette en ekstremt riktig løsning på problemet.
  7. Felleshet (eller massivitet) - det skal fungere med forskjellige kildedata.
  8. Tiden som gis for å løse algoritmen bør være minimal. Dette bestemmer effektiviteten av å løse problemet.

Og nå, når du vet hvilke blokkdiagrammer av algoritmer som finnes, kan du begynne å vurdere måter å skrive dem på. Og det er ikke veldig mange av dem.

Verbal notasjon

Dette skjemaet brukes som regel når du beskriver handlingsrekkefølgen for en person: "Gå dit, jeg vet ikke hvor. Kom med det, jeg vet ikke hva."

Selvfølgelig er dette en spøkeform, men essensen er klar. Som et eksempel kan vi også sitere, for eksempel, den vanlige posten på vinduene til busser: "I tilfelle en ulykke, trekk ut ledningen, klem ut glasset."

Betingelsen er tydelig angitt her, hvor to handlinger må utføres i en streng rekkefølge. Men dette er de enkleste algoritmene, det er også mer komplekse. Noen ganger brukes formler, spesielle betegnelser, men på en obligatorisk betingelse - utøveren må forstå alt.

Det er tillatt å endre rekkefølgen på handlinger hvis det er nødvendig å gå tilbake, for eksempel til forrige operasjon eller å omgå en kommando under en viss tilstand. I dette tilfellet er det tilrådelig å nummerere kommandoene, og kommandoen som overgangen skjer til må angis: "Etter å ha fullført alle manipulasjonene, gjenta trinn 3 til 5."

Grafisk opptak

Denne oppføringen inkluderer flytskjemaelementer. Alle elementer er standardiserte, hvert lag har en spesifikk grafisk post. Og en spesifikk kommando bør skrives inne i hver av blokkene i vanlig språk eller matematiske formler. Alle blokker skal være forbundet med linjer - de viser den nøyaktige rekkefølgen på de utførte kommandoene. Egentlig er denne typen algoritme mer egnet for bruk i programkode enn verbal.

Skrive på programmeringsspråk

I tilfelle at algoritmen er nødvendig for programmet installert på PC-en for å løse problemet, må du skrive det ned med en spesiell kode. Det er mange programmeringsspråk for dette. Og algoritmen i dette tilfellet kalles et program.

Blokkdiagrammer

Et blokkdiagram er en grafisk representasjon av en algoritme. Alle kommandoer og handlinger er representert av geometriske former (blokker). All informasjon om handlingene som må utføres legges inn i hver figur. Lenker vises som vanlige linjer med piler (hvis nødvendig).

Det er GOST 19.701-90 for registrering av blokkdiagrammer av algoritmer. Han beskriver prosedyren og reglene for å lage dem i grafisk form, samt hovedmetodene for å løse dem. Denne artikkelen viser hovedelementene i flytskjemaer som brukes til å løse problemer, for eksempel innen informatikk. La oss nå se på byggereglene.

Grunnleggende regler for å lage et flytskjema

Du kan fremheve følgende funksjoner som bør være i et hvilket som helst blokkdiagram:

  1. Det må være to blokker - "Start" og "Slutt". Og i ett eksemplar.
  2. Kommunikasjonslinjer må trekkes fra den første blokken til den siste blokken.
  3. Alle blokker, bortsett fra den siste, skal ha flytlinjer.
  4. Nummereringen av alle blokkene må være til stede: fra topp til bunn, fra venstre til høyre. Serienummeret må festes i øvre venstre hjørne, noe som gjør et brudd i stilen.
  5. Alle blokker skal være forbundet med hverandre med linjer. De må bestemme rekkefølgen som handlinger utføres med. Hvis flyten beveger seg fra bunn til topp eller fra høyre til venstre (med andre ord i omvendt rekkefølge), vil piler garantert bli tegnet.
  6. Linjer er delt inn i utgående og innkommende. Det skal bemerkes at en linje er utgående for en blokk, og innkommende for den andre.
  7. Fra den første blokken i diagrammet går strømningslinjen bare, siden den er den aller første.
  8. Men den siste blokken har bare en inngang. Dette vises tydelig i eksemplene på flytskjemaer som er tilgjengelige i artikkelen.
  9. For å gjøre det lettere å lese flytskjemaer, tegnes innkommende linjer øverst, og utgående linjer tegnes nederst.
  10. Diskontinuiteter i strømningslinjer er tillatt. De er nødvendigvis merket med spesielle kontakter.
  11. For å lette flytskjemaet er det lov å skrive all informasjon i kommentarfeltet.

Grafiske elementer av blokkdiagrammer for å løse algoritmer er presentert i tabellen:

Lineær type algoritmer

Dette er den enkleste visningen, som består av en viss sekvens av handlinger, de avhenger ikke av hvilke data som er lagt inn i utgangspunktet. Det er flere kommandoer som utføres én gang og bare etter at den forrige er utført. Det lineære blokkdiagrammet ser slik ut:

Dessuten kan tilkoblinger gå både fra topp til bunn og fra venstre til høyre. Et slikt blokkdiagram brukes til å skrive algoritmer for beregninger ved hjelp av enkle formler som ikke har noen begrensninger på verdiene til variablene som er inkludert i formlene for beregningen. En lineær algoritme er en integrert del av komplekse beregningsprosesser.

Forking-algoritmer

Blokkdiagrammer bygget ved hjelp av slike algoritmer er mer komplekse enn lineære. Men essensen endres ikke. En forgreningsalgoritme er en prosess der videre handling avhenger av hvordan en betingelse oppfylles og hvilken løsning som oppnås. Hver handlingslinje er en gren.

Diagrammene viser blokker kalt "Løsning". Den har to utganger, og en logisk tilstand er skrevet på innsiden. Den videre bevegelsen i henhold til algoritmen avhenger av hvordan den skal utføres. Forgreningsalgoritmer kan deles inn i tre grupper:

  1. "Bypass" - i dette tilfellet har en av grenene ingen operatører. Med andre ord, den krysser flere handlinger på en annen gren.
  2. "Forking" - hver gren har et spesifikt sett med handlinger som skal utføres.
  3. "Multiple choice" er en gaffel der det er flere grener og hver inneholder et spesifikt sett med handlinger som skal utføres. Dessuten er det en særegenhet - valget av retning avhenger direkte av verdiene til uttrykkene som er inkludert i algoritmen.

Dette er enkle algoritmer som er veldig enkle å løse. La oss nå gå videre til de mer komplekse.

Syklisk algoritme

Alt er veldig tydelig her - et syklisk blokkdiagram representerer en algoritme der samme type beregninger gjentas mange ganger. Per definisjon er en syklus en bestemt sekvens av handlinger som utføres gjentatte ganger (mer enn én gang). Og det er flere typer sykluser:

  1. For hvilke antall repetisjoner av handlinger er kjent (de kalles også sykluser med en teller).
  2. For hvilke antall repetisjoner er ukjent - med en postbetingelse og en forutsetning.

Uavhengig av hvilken type sløyfe som brukes for å løse algoritmen, må den ha en variabel som exit skjer med. Det er hun som bestemmer antall repetisjoner av syklusen. Arbeidsdelen (kroppen) av syklusen er en viss sekvens av handlinger som utføres på hvert trinn. Og nå skal vi se nærmere på alle typer sykluser som kan oppstå når man utarbeider algoritmer og løser problemer innen informatikk.

Løkker med tellere

Figuren viser et enkelt blokkskjema med tellersløyfe. Denne typen algoritme viser at antall repetisjoner av en gitt syklus er kjent på forhånd. Og dette tallet er fast. I dette tilfellet kalles variabelen som teller antall trinn (repetisjoner) en teller. Noen ganger i lærebøker kan du finne andre definisjoner - en sløyfeparameter, en kontrollvariabel.

Flytskjemaet illustrerer veldig tydelig hvordan en tellersløyfe fungerer. Før du fortsetter med det første trinnet, må du tilordne en startverdi til telleren - det kan være et hvilket som helst tall, det avhenger av den spesifikke algoritmen. I tilfelle den endelige verdien er mindre enn tellerverdien, vil en viss gruppe kommandoer som utgjør hoveddelen av løkken bli utført.

Etter at kroppen er utført, endres telleren med mengden av tellertrinnet, angitt med bokstaven h. I tilfelle den resulterende verdien er mindre enn den siste, vil syklusen fortsette. Og den slutter bare når den endelige verdien er mindre enn looptelleren. Bare i dette tilfellet vil utførelsen av handlingen som følger syklusen finne sted.

Vanligvis bruker flytskjemanotasjon en blokk kalt "Forbered". En teller er skrevet i den, og deretter vises følgende data: start- og sluttverdiene, endringstrinnet. I blokkskjemaet er dette henholdsvis parametere I n, Ik og h. I tilfellet hvor h = 1, blir ikke trinnstørrelsen registrert. I andre tilfeller er dette obligatorisk. Det er nødvendig å følge en enkel regel - strømningslinjen må komme inn fra toppen. Og flytlinjen som kommer ut fra bunnen (eller til høyre, avhengig av den spesifikke algoritmen) skal vise overgangen til neste operatør.

Nå har du fullt ut studert beskrivelsen av blokkdiagrammet vist i figuren. Du kan gå videre til videre studier. Når du bruker en tellersyklus, må visse betingelser være oppfylt:

  1. Kroppen har ikke lov til å endre (kraftig) tellerverdien.
  2. Det er forbudt å overføre kontroll fra utsiden til operatøren av kroppen. Du kan med andre ord bare gå inn i syklusen fra begynnelsen.

Løkker med forutsetninger

Denne typen syklus brukes når antall repetisjoner ikke er kjent på forhånd. En sløyfe med en forutsetning er en type algoritme der det, umiddelbart før utførelsen av kroppen startes, kontrolleres en betingelse der overgangen til neste handling er tillatt. Vær oppmerksom på hvordan elementene i blokkdiagrammet er avbildet.

I tilfelle når betingelsen er oppfylt (utsagnet er sant), skjer overgangen til begynnelsen av løkkelegemet. Direkte i den endres verdien av minst én variabel, noe som påvirker verdien av tilstanden. Hvis du ikke overholder denne regelen, får vi "looping". Hvis det etter neste sjekk av utførelsestilstanden til løkkelegemet viser seg at det er usant, skjer en utgang.

I blokkdiagrammer av algoritmer er det tillatt å sjekke ikke sannheten, men falskheten til den opprinnelige tilstanden. I dette tilfellet vil sløyfen avsluttes bare hvis betingelsesverdien viser seg å være sann. Begge alternativene er riktige, deres bruk avhenger av hvilken som er mer praktisk å bruke for å løse et bestemt problem. Denne typen sløyfe har en særegenhet - kroppen kan ikke utføres hvis betingelsen er usann eller sann (avhengig av varianten som brukes til å løse algoritmen).

Nedenfor er et flytskjema som beskriver alle disse trinnene:

Hva er en postcondition-løkke?

Hvis du ser nøye etter, er denne typen syklus noe lik den forrige. Vi vil nå prøve å bygge et flytskjema som beskriver denne syklusen på egen hånd. Det særegne er at antall repetisjoner er ukjent på forhånd. Og tilstanden er satt etter at utgangen fra kroppen har skjedd. Dette viser at kroppen, uavhengig av løsningen, vil bli henrettet minst én gang. For klarhet, ta en titt på flytskjemaet som beskriver utførelsen av betingelsen og operatører:

Det er ikke noe vanskelig å konstruere algoritmer med sykluser, det er nok å forstå dem bare én gang. La oss nå gå videre til mer komplekse design.

Komplekse sykluser

Komplekse konstruksjoner er konstruksjoner med en eller flere enkle løkker inni seg. Noen ganger kalles de nestede. Dessuten kalles de konstruksjonene som dekker andre sykluser "eksterne". Og de som er inkludert i strukturen til den eksterne - interne. Når du utfører hvert trinn i den ytre løkken, rulles den indre løkken fullstendig, som vist på figuren:

Det er alt, du har vurdert hovedtrekkene til byggeblokkdiagrammer for å løse algoritmer, du kjenner prinsippene og reglene. Nå kan du vurdere konkrete eksempler på flytskjemaer fra livet. For eksempel, i psykologi, brukes slike konstruksjoner for å få en person til å løse et spørsmål:

Eller et eksempel fra biologi for å løse problemet:

Løse problemer med flytskjemaer

La oss nå se på eksempler på oppgaver med flytskjemaer som kan vises i lærebøker i informatikk. For eksempel gitt et blokkdiagram, i henhold til hvilket en algoritme løses:

I dette tilfellet legger brukeren uavhengig inn verdiene til variablene. La oss si x = 16 og y = 2. Prosessen er som følger:

  1. x- og y-verdiene legges inn.
  2. Transformasjonsoperasjonen utføres: x = √16 = 4.
  3. Betingelsen er oppfylt: y = y 2 = 4.
  4. Regnestykket er gjort: x = (x + 1) = (4 + 1) = 5.
  5. Deretter beregnes følgende variabel: y = (y + x) = (5 + 4) = 9.
  6. Løsningen vises: y = 9.

Dette eksemplet på et datavitenskapelig flytskjema viser tydelig hvordan algoritmen er løst. Det er nødvendig å ta hensyn til det faktum at verdiene til x og y er satt i det innledende stadiet, og de kan være alle.

Begrepet «blokkdiagram» eksisterer strengt tatt ikke. I stedet for denne setningen er det riktig å si "algoritmeskjema", men nå er det ikke tilfelle. Artikkelen min handler om hvorvidt det er mulig å raskt og enkelt tegne algoritmer, samtidig som det er gratis. Det ville vært flott om det fantes en gratis analog av nettredaktøren Gliffy, og heldigvis for oss er det det.

Algoritmene i Pencil er veldig enkle å tegne. For dette er det et dedikert bibliotek med primitiver med byggeklosser og koblinger. Det ser slik ut:

Når du tegner blokker, festes de automatisk til rutenettet, noe som gjør dem enkle å justere. Etter å ha tegnet en blokk, kan en annen blokk "magnetiseres" til den nedenfra eller fra siden, alt vil være glatt.

Hvis du holder musepekeren over en blokk og klikker én gang, vil det være en modus for å endre størrelse på blokken og dra. Hvis du klikker en gang til, kan blokken roteres (runde røde prikker vises i kantene).

De grunnleggende grunnleggende funksjonene er tilgjengelige, nesten som i Visio: blokker kan kombineres i grupper, dras og kopieres, plasseres over eller under i lag, kobler magnetisk til midten, etc.

Ulemper er også tilstede, for eksempel fungerer ikke hjørnekoblingen veldig riktig: noen ganger forvandles den til en ufattelig sikksakk når du prøver å velge og dra den. Men disse ulempene er så ubetydelige at de ikke hindret Pencil i å ta sin rettmessige plass i samlingen min av hverdagslige utviklerverktøy.