Blokkdiagram over algoritmen: programmer, oppgaver, elementer, konstruksjon

av teknologi

I den moderne verden av digital teknologiprogrammering er grunnlaget for arbeidet til ulike datamaskiner, gadgets og annet elektronisk utstyr. Og evnen til raskt og riktig å tegne et flytskjema av algoritmen er grunnlaget, grunnlaget for denne vitenskapen. En slik ordning er en grafisk modell av prosessene som utstyret må utføre. Den består av separate funksjonelle blokker som utfører ulike formål (start / slutt, inngang / utgang, funksjonsanrop, etc.).

flytskjema

Algoritme og Algoritmisering

I hovedsak er algoritmen den vanlige instruksjonen omat i hvilken rekkefølge er det nødvendig å utføre bestemte handlinger når du behandler kildedataene i ønsket resultat. Sammen med dette begrepet bruker ofte begrepet algoritmisering. Under det forstår settet av metoder og teknikker for å lage en sekvens for å løse bestemte problemer.

Ofte brukes ikke algoritmen sominstruksjoner for datamaskinen, men som en ordning for å utføre handlinger. Dette gjør det mulig å merke seg effektiviteten og effektiviteten til denne løsningsmetoden, korrigere mulige feil, samt sammenligne det med andre lignende løsninger, selv før de blir introdusert i en datamaskin. I tillegg er algoritmen grunnlaget for å utarbeide et program som må skrives på et programmeringsspråk for å videreføre prosessen med å behandle informasjon på en PC. Til nå har to praktiske måter å konstruere slike sekvenser blitt kjent. Den første er en trinnvis verbal beskrivelse, og den andre er flytskjemaet til oppgavalgoritmen. Den første av dem har fått mye mindre distribusjon. Dette skyldes mangel på klarhet og verbositet. Den andre metoden, tvert imot, er et veldig praktisk middel for bildesekvenser. Det er utbredt både i utdanning og i vitenskapelig litteratur.

flytdiagramelementer

Elementer av flytdiagrammer

Flytdiagrammet til programmet eren sekvens med grafiske symboler som foreskriver utførelsen av bestemte operasjoner, samt koblinger mellom dem. Innenfor hver slik bildeinformasjon angis oppgaven som skal utføres. Størrelsene og konfigurasjonen av grafiske symboler, samt sekvensdesignprosedyren, styres av GOST 19003-80 og GOST 19002-80.

Tenk på hovedelementene i algoritmens flytdiagram (i bildet som er gitt eksempler på deres stil).

1. En prosess er en beregningshandling eller en sekvens av slike handlinger.

2. Løsning - sjekk den angitte tilstanden.

3. Modifikasjon - syklusoverskrift.

4. Den forhåndsdefinerte prosessen er et anrop til prosedyre.

5. Dokument - utskrift og datautgang.

6. Punch-kort - skriv inn informasjon.

7. Input / Output - Input / Output.

8. Kobling - pause av strømningslinjer.

9. Start / End - Start, End, Stop, Start, Enter og Exit brukes i tilleggsalgoritmer.

10. Kommentar - brukes til å legge forklarende notater.

11. Vertikale og horisontale strømmer - retningen av sekvensen, kommunikasjonslinjen mellom blokkene.

12. Slå sammen - tilkoblingstrådene.

13. Interstitial kontakt - en etikett som symboliserer overgangen til et annet ark.

flyt diagram eksempler

Arkiveringsregler

Konstruksjonen av algoritmenes flytskjema utføres avspesifikke krav foreskrevet av GOST. For eksempel, når du kobler til grafiske symboler, brukes bare horisontale eller vertikale linjer. Strømmer rettet fra høyre til venstre og fra bunn til topp er nødvendigvis markert med piler. Andre linjer kan ikke merkes. Avstanden mellom parallelle bekker bør ikke være mindre enn tre millimeter, og mellom de andre elementene - ikke mindre enn fem millimeter. Blokkeringsstørrelser må være flere ganger med fem. Forholdet mellom horisontal og vertikal av det grafiske symbolet er 1,5. Noen ganger er det tillatt å være to. For enkelhets skyld skal grafiske symboler nummereres. Av forholdetes natur er det typer flytdiagrammer av en lineær, syklisk og forgreningsstruktur.

tegne et flytskjema

Variabler, konstanter og minneceller

For bedre forståelse av prinsippet om algoritmenDu kan vurdere den enkleste automaten. Den består av et minne bestående av celler; skrive / lesehode; prosessoren. Hva er prinsippet om drift av en slik enhet? Hodet, som har mottatt en ordre fra prosessoren, skriver data til cellen eller leser en konstant. I det enkleste tilfellet vil det være et aritmetisk nummer. I tillegg kan konstanter være datastrukturer, tegnstrenger, etc. En variabel er en minnecelle der informasjon lagres. Under utførelsen av algoritmen kan forskjellige data skrives i en slik celle. På dette prinsippet er det bygget opp personlige datamaskiner og annen elektronikk. Algoritmen for å utføre en oppgave er et sett med kommandoer for lesing eller skriving av informasjon i disse minnesceller.

arrays

Arrays er en annen variasjon.indekserte variabler. Faktisk er det en samling av celler, som er forent av en felles betegnelse. Arrays skiller todimensjonale, tredimensjonale, og så videre. Den enkleste av dem er en serie påfølgende celler. En slik matrise har et navn. Hvert element har sitt eget nummerindeks. En konstant skrevet til en celle kalles et element i en matrise.

To-dimensjonal type ved å arrangere elementersom en matrise. Celler i en slik gruppe er preget av to indekser (dette minner om et sjakkbrett med celle nummerering). Av samme prinsipp er tredimensjonale og flere strukturer implementert.

program flytskjema

Lineære algoritmer

Denne typen flytskjema-sekvensAlgoritmer (eksempler er gitt i denne artikkelen) kjennetegnes av utførelse fra begynnelse til slutt fra topp til bunn. I dette tilfellet utfører maskinen de foreskrevne operasjonene trinnvis. Hver handling behandles av prosessoren. I tillegg til beregninger, om nødvendig, bestiller han skrive / lesehode, hvor og hva som skal skrives og hvor man skal lese. Det endelige resultatet registreres i minneceller, som hver har sin egen indeks og lagrer sin egen konstant.

Forgreningsalgoritmer

I praksis er den lineære typen ekstremt sjelden. Ofte er det nødvendig å organisere en sekvens som, avhengig av de givne forholdene, strømmer langs en eller annen gren. Blokkdiagrammet for den forgrenede algoritmen inneholder elementet "Løsning", på grunn av hvilken en bestemt tilstand er sjekket, og jo flere av dem, jo ​​flere grener av sekvensen.

oppgavestrømsdiagram

Algoritmer Flowcharts: Eksempler

Vurder hvordan det fungererforgrenet algoritme. For eksempel, ta funksjonen: z = y / x. Fra tilstanden er det klart at denne ligningen har en begrensning - det er umulig å dele med null. Så det er nødvendig å utelukke denne løsningen og advare brukeren om feilen. Først blir et flytskjema samlet. Den vil bestå av syv blokker. Det første grafiske symbolet er "Start", den andre er "Input", her bør du sette X- og Y-verdiene. Da følger "Beslutning" -blokken, det kontrollerer tilstanden: X = 0. I dette tilfellet utfører maskinen en kontroll med en konstant celle, dersom inngangsverdien faller sammen med den, vil algoritmen følge "Ja" -grenen. I dette tilfellet overføres kontrollen til fjerde blokk, og maskinen utsteder en "feil", operasjonen slutter i det syvende "End" -symbolet. Hvis testresultatet er negativt, utføres divisjonsprosessen i det femte grafiske symbolet og verdien Z bestemmes. I den sjette blokk vises resultatet på skjermen.

Sykliske algoritmer

Ofte når man løser problemer, er det nødvendig å gjentautfører enhver operasjon på samme avhengighet for forskjellige verdier av variabler og gjør gjentatte passerer gjennom samme del av kretsen. Slike områder kalles sykluser, og algoritmen - syklisk. Ved å bruke denne metoden, reduseres selve sekvensen betydelig. Sykliske algoritmer kan deles inn i to typer: med et ukjent på forhånd og et kjent antall slike passerer på forhånd.

Et eksempel på å løse en forgreningsalgoritme

Tenk på et eksempel der et flytskjema er gitt.algoritme med et ukjent antall passerer på forhånd. For å gjøre dette bør du løse problemet - spesifiser det minste antall medlemmer av et antall naturlige tall, hvor summen overskrider tallet K. Dette flytskjemaet består av åtte tegn. Først legger du inn verdien av tallet K (№2). Så i blokk 3, får variablen P verdien "en", noe som betyr at den vil begynne å telle naturlige tall fra den. En kumulativ mengde C i begynnelsen får verdien "null". Deretter overføres kontrollen til den femte blokk, hvor kommandoen utføres: С = С + П. Det vil si at verdiene til cellene C og P summeres, og resultatet blir overskrevet i C. Etter å ha lagt til det første medlemmet i denne sekvensen i blokk 6, er tilstanden kontrollert - overskrider summen det angitte tallet K? Hvis tilstanden ikke er oppfylt, blir kontroll overført til fjerde blokk, hvor en enhet legges til variablen P, og overgangen blir igjen laget til blokk nr. 5. Denne prosedyren vil oppstå til tilstanden er oppfylt: C> K, det vil si at akkumulert beløp overstiger den angitte verdien. Variabel P er en loop-teller. Deretter kommer overgangen til å blokkere nummer 7, der resultatene skrives ut.

algoritmen er gitt av en blokk

Algoritmer som inneholder nestede sløyfestrukturer

Ofte med den algoritmiske løsningen som leveresOppgaver det er behov for å lage en syklus som inneholder en annen syklus i kroppen. Dette regnes som normalt. Slike elementer kalles nestede sløyfestrukturer. Deres ordre kan være ganske store. Det bestemmes av metoden der løsningen av den nødvendige oppgaven oppnås. For eksempel, når du behandler et endimensjonalt array, er det i regel bygget opp et flytskjema for algoritmen uten nestingsykluser. Likevel, i noen tilfeller, når du løser slike problemer, blir det nødvendig å velge en slik løsning. Det skal bemerkes at alle nestede løkker, inkludert den første (ytre), må inneholde tellere med forskjellige navn. Utenfor syklusen kan de brukes som vanlige variabler.

Hjelpalgoritmer

Denne typen sekvens er analog medspråk subrutine. Hjelpalgoritmen har et navn og parametere, som kalles formelle. Navnet er gitt for å skille det blant annet, og parametrene utfører rollen som utdata og input matematiske funksjoner. De er valgt på en slik måte at hele settet av nødvendige mengder er oppbrukt. Ofte er den samme formelle parameteren både inngang og utgang på samme tid. For eksempel, i en slik algoritme, kan en matrise innføres for behandling. Og i den resulterende delen kan den representeres i en modifisert form som en utgangsparameter. Blant algoritmer av hjelpetype skiller funksjoner og prosedyrer.

Algoritme dekomponering

Under dette begrepet forstår dekomponeringen av den generelle ordningen.algoritme på tilleggsutstyr (funksjoner og prosedyrer) og hode. Denne metoden er ganske enkel når algoritmen er gitt av et flytskjema - først blir de seksjonene som er ansvarlige for hovedarbeidet hentet fra det. De mest komplekse stadiene er definert som toppnivåfunksjoner og prosedyrer. Deretter er de delt inn i elementære områder av lavt nivå. Prinsippet "fra komplisert til enkelt" virker her. Dette utføres til algoritmen er demontert til de enkleste elementene. Vanligvis består løsningen til dekomponering av en sekvens av tre hovedtrinn: dataregistrering, array sortering og utdata fra en sortert array. På grunn av deres elementære natur trenger de første og siste faser ikke nedbrytning, derfor utføres de i hovedalgoritmen. Men den andre er et svært komplekst, uavhengig stykke beregning, så det vises vanligvis i en egen blokk. Sorteringsstadiene er i sin tur delt inn i to deler: etablere behovet for prosedyren (N - 1) - gjennom passering gjennom et gitt array og finne det minste elementet i det betraktede fragmentet av arrayet med dets etterfølgende omlegging med det opprinnelige elementet på nettstedet. Siden det siste trinnet gjentas flere ganger, er det utarbeidet som en egen prosedyre.

Kommentarer (0)
Legg til en kommentar