For å lage programmer du trenger grunnleggendealgoritmiske konstruksjoner. Følgende er den enkleste måten å løse problemer. Den kan for eksempel brukes til å arbeide med lignende eksempler. Det er andre typer: forgrening og looping. De vil bli beskrevet i denne artikkelen. Men først må du forstå hva som utgjør algoritmen som helhet.
Ordet "algoritme" kommer fra den latinske algoritmen.Hva betyr det? Det autentiske ordet kom fra navnet på en matematiker, hvis aktivitet falt på 900-tallet. Takket være avhandlingen av al-Khwarizmi, kunne menneskeheten bli kjent med hovedtypen av algoritmisk konstruksjon og generelt med det generelle konseptet.
Tidligere ble rettskrivningen av ordet adoptert - "algoritme". Nå brukes den bare i noen tilfeller.
En algoritme er en prosess som betyr endringkildedata, som forekommer i form av diskrete trinn. Med dette konseptet møter enhver person i livet, uansett hvem han er. Algoritmer kan kalles matlaging av te eller mat, multiplisering eller tilsetning, løse ligninger, etc. Alle husholdningsapparater, hvis arbeidsprosess er automatisert, fungerer på grunn av de klare trinnene som er skrevet i prosessorens minne. Slike algoritmer kalles husholdning. Det er andre typer. Tenk på dem.
De grunnleggende algoritmiske konstruksjonene er delt inn i flere typer, som vil bli diskutert i denne underklausulen. Hvordan er de?
I hovedsak er algoritmen nøyaktig til de minsteDetaljer instruksjon. Imidlertid kan ikke alle slike data kalles det beskrevne konseptet. For å forstå om en algoritme er en instruksjon eller ikke, bør den sjekkes for visse egenskaper.
Alle grunnleggende algoritmiske konstruksjoner må ha handlinger som "adlyder" dem. La oss vurdere dette spørsmålet mer detaljert.
Hvis du fullstendig sporer driften av algoritmer og deresegenskaper, kan du se at det ikke er nødvendig å forstå komponentene deres, tilsvarer ganske tydelig planen. Riktig resultat vil oppnås selv om du bare mekanisk holder deg til de nødvendige handlingene. Av dette kan vi konkludere med at algoritmen på grunn av mangel på sans for gjenkjennelse av handlinger er ganske realistisk å gi til implementeringen av datamaskinen. Med andre ord, for automatiserte enheter er denne prosessen nødvendig.
Hvilke egenskaper skal de grunnleggende algoritmiske konstruksjonene ha for den mest nøyaktige operasjonen?
Hvis vi snakker om måter å skrive algoritmer på, bør vi trekke frem følgende:
Det siste punktet bør avklares.Hva er et flytskjema? Dette er en lineær eller ikke-lineær algoritme, hvis trinn er registrert ved hjelp av spesielle blokker. De har sin egen konfigurasjon, formål og funksjon. Når det gjelder en slik beskrivelse, er algoritmen skrevet i blokkdiagrammer som er sammenkoblet med linjer. Det er nødvendig å skrive ned denne eller den handlingen i tillegg (trinn).
Noen hevder at algoritmer ikke har 3type, og 4. Grunnleggende algoritmiske konstruksjoner: lineære, forgrenede, sykliske. Hva som er årsaken til en slik feilslutning, er ikke klar. For en enkel løsning på komplekse problemer bruker datamaskiner imidlertid algoritmene til disse tre ganske store gruppene. Tenk på dem.
Det skal bemerkes at alle de grunnleggende algoritmiske konstruksjonene (følgende, forgrening, looping) er koblet sammen med hverandre, selv om de kan brukes separat.
Hva skal til for å lage en løkke?
Looper kan være deterministiske ogiterasjon. Den første er en repetisjon av handlinger med et allerede kjent antall repetisjoner. En iterativ syklus er en som blir gjentatt et ubestemt antall ganger til en tilstand blir sann eller usann.
Det er verdt å huske det i hovedsakAlgoritmiske konstruksjoner inkluderer ikke den grunnleggende algoritmen. Hvordan er han? Dette konseptet er ikke funnet i moderne litteratur på lenge, men dette betyr ikke at det ikke lenger eksisterer i det hele tatt. Gitt at flere grener eller repetisjoner kan oppstå for å løse problemer, kan følgende konklusjon treffes. De grunnleggende algoritmiske konstruksjonene (lineære, forgrenede, sykliske) er grunnleggende. De representerer faktisk den "strukturelle enheten" for hver såkalt instruksjon.
Som allerede klart av ovenstående, algoritmeneDet er lineære og ikke-lineære. Vurder det første alternativet. Hvorfor heter han det? Alt er ekstremt enkelt. Faktum er at alle handlingene som er gjengitt i algoritmen har tydelig sekvensiell utførelse, alle trinn utføres strengt etter hverandre. Som regel er slike oppgaver små og har et lavt nivå av kompleksitet.
Et eksempel på en lineær algoritme er prosessen med å lage te:
Å programmere de grunnleggende algoritmiske konstruksjonene er en ganske vanskelig oppgave, men når det gjelder lineære algoritmer er det ofte veldig enkelt å implementere dem.
Hvordan forstå at algoritmen er forgrening?Det er nok å sørge for at det er valg mellom to eller flere alternativer, avhengig av om vilkåret er oppfylt eller ikke oppfylt. Hver bane kalles en gren.
Hovedtrekket i en forgreningsalgoritme er eksistensen av en betinget overgang. Det oppstår når du sjekker uttrykket for sant eller usant.
Generelt er logiske uttrykk representerttegn mindre enn, større enn, mindre enn eller lik, større enn eller lik, lik, ikke like. Noen ganger er det alternativer der tilstanden er sammenkoblet ved hjelp av kommandoene og (og) og eller (eller).
Et eksempel på en slik algoritme kan være en løsningav følgende oppgave: hvis uttrykket ((x + 3) / 1) tilsvarer et positivt tall, viser resultatet på skjermen, hvis negativt, informer brukeren om feilen.
Det er ganske enkelt å bruke de grunnleggende algoritmiske konstruksjonene i praksis. Forgrening er en av de vanligste løsningsmetodene.
Counter Cycle - En syklus som inkludereren variabel som endrer verdien med et spesifikt trinn. Trinnet er satt av brukeren eller foreskrevet av programmereren mens du skriver programvaren. De fleste språk for denne sløyfen bruker for uttalelse.
For at programmet skal vise to linjer 4 ganger:
Det er nødvendig å lage en deterministisk syklus. Hvordan ser det ut? Vi bruker Pascal-språket for en bedre oppfatning av designet.
1. For i: = 1 til 2 gjør:
- i er sløyfetelleren, det er han som bestemmer antall repetisjoner i løkken.
2. Begynn (operatør parentes åpnes slik at begge setningene er kroppens del av løkken og gjentas sammen.)
3. Writeln (‘Hvordan har du det?’):
- ordet writeln betyr utgangen av en frase i enkelt sitater.
4. Writeln (‘Bra, takk’).
5. Slutt.
6.i: = i + 1.
Som du kan se, er det ganske enkelt og til og med interessant å bruke de grunnleggende algoritmiske konstruksjonene. De grunnleggende algoritmene er virkelig kjent, uten dem er det umulig å skrive programmer.
Postcondition-loop kan gjenta seget ubestemt antall handlinger uten å sette operatørparenteser eller sammensatte ord i dem. Det vil bli utført minst en gang. Løkken løper mens tilstanden er falsk. Det stopper når indikatorene blir riktige. Algoritmen er bygget på dette. De grunnleggende algoritmiske konstruksjonene av denne typen fungerer nettopp i dette tempo.
For å implementere denne syklusen er en design nødvendigGjenta A til B. Bokstavelig talt oversettes det som "gjenta handlinger til tilstanden er falsk." Følgelig, gjennom A, uttrykkes repetisjonsprosessen, gjennom B - data, som som et resultat skal ta riktig verdi.
Postcondition-syklusen er konstruert på en slik måtedet blir i hvert fall henrettet minst én gang. Imidlertid er det tilfeller der syklusen er nødvendig i tilfelle av en spesiell tilstand, og i mangel av dette, bør ikke repetisjoner utføres. Ellers blir resultatet feil. Det er i dette tilfellet en syklus med en forutsetning brukes. For å lage den er konstruksjonen "mens A do B" er nødvendig. Den første kommandoen oversettes bokstavelig talt som “farvel”. A er tilstanden, og B er handlingen som vil gjentas. Hele konstruksjonen betyr: "så lenge tilstanden er sann, utfør handlinger."
Alle grunnleggende algoritmiske konstruksjoner fungererbare i visse tilfeller. Hva er de i en syklus med en forutsetning? Hvis det er nødvendig at ikke en handling gjentas, men flere samtidig, er det verdt å bruke sammensatte operatører eller spesielle parenteser. En syklus kan godt mislykkes hvis tilstanden ikke er sann når den kommer inn i den. Følgelig vil handlingene gjentas hvis de er riktige.
En hjelperalgoritme brukes i andreprosesser ved bare å angi navnet hans. Det gjelder ikke de grunnleggende algoritmiske konstruksjonene. I programmeringsspråk kalles denne prosessen en subroutine. For å lette arbeidet med koden og deretter enklere oppgaveløsning, kombineres hver handling til en blokk, som er en hjelpealgoritme. Hver av dem kan tildeles sitt eget navn, som gjør det mulig å referere gjentatte ganger til det.