Varje människors dagliga liv ärlösa ett stort antal uppgifter med varierande komplexitet på jobbet eller medan du studerar. Vissa uppgifter är så enkla att när de utförs gör vi vissa åtgärder automatiskt utan att ens tänka. Lösningen på alla problem, till och med det enklaste, utförs i regel i flera steg. Denna typ av sekvens för att lösa problem kallas en algoritm. Idag kommer vi att överväga vad linjära algoritmer är, hur deras struktur visas, hur deras lösning och programmering genomförs.
Detta koncept är en exakt instruktion för entreprenören att utföra en viss handlingssekvens, som syftar till att lösa uppgiften.
Detta språk är ett sätt att beskriva algoritmer som vanligtvis är inriktade på användaren.
Prata på datorspråk, sådet exakta receptet som definierar beräkningsprocessen indikeras. Han leder i sin tur från de ursprungliga uppgifterna, som varierar, till det ursprungliga resultatet.
Algoritmutveckling är en ganska komplicerad och mödosam process. Det är en teknik för att sammanställa (utveckla) en sekvens av åtgärder avsedda att lösa problem med hjälp av en dator.
Bland egenskaperna skiljer:
Vi har redan granskat definitionerna och egenskaperna för detta koncept. Låt oss nu prata om dess typer:
Vi är intresserade av linjära algoritmer. Vad är de? De innehåller instruktioner som måste utföras efter varandra i en tydlig sekvens.
Den linjära strukturen för algoritmen kan skrivas i verbal och grafisk form.
Här är ett exempel skrivet i muntlig form. Så uppgiften: gör dig redo för skolan. lösning:
Den grafiska formen för ovanstående process kommer att inkludera följande:
Blockschemat är illustrativt.bilden av algoritmen, i vilken varje enskilt steg avbildas med hjälp av block presenterade i form av en mängd olika geometriska former. Dessutom indikeras förhållandet mellan etapperna (med andra ord sekvensen för steg-för-steg-exekvering) med pilar som förbinder figurerna (blocken). Varje block åtföljs av en inskription. För typiska åtgärder i en linjär algoritm används följande geometriska figurer:
Här med hjälp av sådana flödesscheman avbildas lösningen av linjära algoritmer. Låt oss därefter prata om funktionerna i att tilldela värden.
Grundläggande elementära åtgärder i datoranvändningen algoritm är tilldelningen av en variabel till ett värde på ett visst värde. I fallet när värdet på en konstant bestäms av typen av posten, kommer variabeln att få ett specifikt värde endast som ett resultat av tilldelningen. Detta kan göras på två sätt: använda uppdragskommandot; med ingångskommandot.
Låt oss ge ett exempel på beskrivningen av reglerna för uppdelning av vanliga bråk med hjälp av den linjära algoritmen, som i skolböcker har följande innehåll:
a / b: c / d = (a * d) / (b * d) = m / n.
Så vi kommer att bygga en dator för bråkdelningsalgoritmen.För att inte bli förvirrad använder vi samma notation för variablerna som i formeln som nämnts ovan. a, b, c, d - initial data i form av heltalvariabler. Resultatet blir också heltal. Beslutet på det algoritmiska språket kommer att vara följande:
SAL Fraktionsdelning
tidigt
intakt a, b, c, d, m, n
mata in a, b, c, d
m: = a * d
n: = b * s
utgång m, n
spel
Diagrammet över den linjära algoritmen som beskrivs ovan ser ut så här:
Kommandot för värdetilldelning har följande format:
Variabel: = uttryck.
Tecknet “: =” läses som tilldela.
Tilldelning är ett kommando som är nödvändigt för att datorn ska utföra följande åtgärder:
Ovanstående algoritm innehåller två kommandon som en tilldelning. I flödesschemat måste tilldelningskommandot skrivas i en rektangel som kallas ett beräkningsblock.
När linjära algoritmer beskrivs finns det ingen speciellbehovet av obligatorisk efterlevnad av strikta regler när man skriver uttryck. Du kan skriva dem med den vanliga matematiska formen. När allt kommer omkring är detta inte den stränga syntaxen för ett programmeringsspråk.
I det givna exemplet på algoritmen finns det också ett inmatningskommando:
Ange a, b, c, d.
Команда ввода в блок-схеме записывается в parallellogram, det vill säga i ingångs-utgångsblocket Genom att utföra detta kommando slutar processorn att fungera tills användaren utför vissa åtgärder. Nämligen: användaren måste skriva in inmatningsvariablerna (deras värden) på ingångsenheten (tangentbordet) och trycka på Enter, som är Enter-tangenten. Det är viktigt att värdena matas in i samma ordning som motsvarande variabler i inmatningslistan.
Som nämnts i början av artikeln kan linjära program inkludera följande operatörer:
Med hjälp av ovanstående operatörer programmeras linjära algoritmer.
Så uppdragsoperatören på ett programmeringsspråk är skriven så här:
LET A = B, där A är en variabel, B är ett uttryck. Till exempel A = Y + 20.
Ingångsoperatören är enligt följande:
INPUT, till exempel: INPUT C
Operatören för att mata ut data, värden, skrivs i följande form:
PRINT. Till exempel PRINT C.
Vi ger ett enkelt exempel. Vi måste skriva ett program som hittar summan av siffrorna A och B som matats in från tangentbordet
På ett programmeringsspråk får vi ett program vars text visas nedan.
Pascal belyser inte specialoperatörer,betecknar ingångs- eller utgångsoperationer som använder linjära algoritmer. I program utbyts information med inbyggda procedurer. Eftersom det inte finns något behov av en preliminär beskrivning av standardförfarandet, är det tillgängligt för alla program som innehåller ett samtal till det. Namnet på proceduren som nämns är inte ett reserverat ord.
Vid inmatning av data används sådana operatörer för att referera till standardinmatningsförfarandet, som redan är inbyggt i programmet.
Läs (A, B, C), där A, B, C är variablerna som måste matas in i RAM för memorering.
Readlnn (x1, y, x2) - när du är klar går markören till början av en ny rad.
Readlnn; - indikerar att vänta på att trycka på "Enter". Vanligtvis infogas detta uttalande i texten före den sista "Slut" för att spara programmets resultat på innehållsskärmen.
Utsignalen till datorskärmen utförs med hjälp av följande operatörer:
Skriv (A, B, C) - specificera värdena för A, B, C på en rad, markören lämnar inte den aktuella raden.
Writeln (z, y, z2) - när slutet av värdena har slutförts kommer markören vid denna position att flytta till en ny rad.
writeln - indikerar att man hoppar över en rad och byter till början av en ny.
Det är med hjälp av så enkla operatörer som data matas in och matas ut i Pascal.