Vikten av algoritmer
Miscellanea / / August 08, 2023
När vi utför ett datorprogram kan vi inte börja skriva meningar (kommandon, instruktioner) utan vidare. Innan måste vi planera (och grundligare ju större och svårare program vi vill ha bygga) vad exakt programmet kommer att göra och hur det kommer att göra det, och översätt sedan denna algoritm till instruktioner.
Vi definierar en algoritm som en ändlig och strukturerad sekvens av beställningar som utgör instruktioner för en dator eller annan analog maskin med bearbetningsmöjligheter (som en smartphone).
Algoritmen är inte själva programmet, utan snarare det senare är realiseringen av algoritmen i en språk att maskinen som ska köra den kan förstå det.
Och här, ett litet förtydligande: algoritmer implementeras i allmänhet i datorer med hjälp av programmeringsspråk högnivåfiler, som inte är direkt körbara utan är "kompilerbara" (en process som genererar en programvara som datorn kan förstå och köra).
Detta programmeringsspråk på hög nivå är någonstans mellan något som är förståeligt för en människa fot (även om det kräver viss teknisk kunskap) och vad som kan förstås och utföras direkt av en dator.
Om vi letar efter en encyklopedisk definition är algoritmer lika gamla som de första instruktionerna som skrevs ner för att utföra en uppgift.
Låt oss ta ett exempel: mjölka en ko. lugna först djuret. Sätt sedan en behållare under juvret. Sitt sedan och titta på kons juver. Placera händerna runt två av djurets fyra juver och kläm lätt ihop basen av varje juver. upprepa rörelse tills det inte finns någon mjölk kvar i juvret. Gör nu samma sak för de återstående två juverna tills de också är tomma. Ta bort behållaren fylld med mjölk. Han har slutat.
Låt oss granska: vi har en uppsättning specifika instruktioner som slutar vid en viss punkt. Vi har en algoritm för att mjölka kor.
I alla algoritmer hittar vi element som upprepas, såsom loopar (upprepa rörelsen), beslutsfattande (är juvret tomt? Nej -> fortsätt mjölka; om -> gå till de andra två eller avsluta), och åtgärder.
Dessa element, loopar, villkor, hopp och handlingar, har sina motsvarigheter i programmeringsspråkens strukturer. programmering, även om de har ett större antal strukturer för att kunna hantera lösningen av de specifika problem som de dyker upp.
Algoritmen är en abstraktion av lösningen av ett problem, som, när det implementeras i ett programmeringsspråk, kräver mer komplicerade strukturer.
Detta är fallet med funktioner som utför en specifik uppgift och kan anropas från olika delar av programmet.
Det finns olika sätt att uttrycka algoritmer.
Det mest intuitiva är det naturliga språket, som i fallet att mjölka en ko som jag har förklarat tidigare. Det räcker helt enkelt för oss att på ett kortfattat sätt beskriva instruktionerna för att utföra en uppgift. Det är dock inget standardiserat sätt, det fungerar bara för en själv eller bland en mycket liten grupp människor, och för riktigt enkla uppgifter.
Om vi letar efter något reglerat och standardiserat har vi flödesscheman, en mycket visuell grafisk form som representerar de huvudsakliga åtgärderna och besluten som tas i exekveringen av algoritmen.
Pseudokoden i en formell representation i text är mycket mer lik ett programmeringsspråk, som har sina element och lätt kan överföras till en kompilerbar kod.
Fotolia: doyata – hanss
Skriv en kommentar
Bidra med din kommentar för att tillföra värde, korrigera eller debattera ämnet.Integritet: a) dina uppgifter kommer inte att delas med någon; b) din e-post kommer inte att publiceras; c) för att undvika missbruk modereras alla meddelanden.