Tagoror  

Encyclopedie




Algoritme

Een algoritme is een eindige reeks instructies om een doel te bereiken. Dat doel kan van alles zijn met een herkenbare eindsituatie, eindpunt of resultaat. De instructies kunnen in het algemeen omgaan met eventualiteiten die kunnen optreden bij het uitvoeren. Algoritmes hebben over het algemeen stappen die zich herhalen (iteratie) of die beslissingen (logica of vergelijkingen) vereisen om de taak te voltooien.

Verschillende algoritmes kunnen eenzelfde taak oplossen met een verschillende reeks instructies. Het verschil ligt dan meestal in de hoeveelheid tijd, ruimte of inspanning dat het algoritme vergt; dit is de complexiteit van een algoritme. Een recept is een voorbeeld van een algoritme. Om aardappelsalade te maken kan het ene recept de instructie "schil de aardappel" bevatten en daarna de instructie "kook de aardappel". Bij een ander recept kunnen die twee stappen omgedraaid zijn. Beide recepten zullen echter vragen om deze stappen te herhalen voor alle aardappelen en het eindresultaat is een lekkere aardappelsalade.

Het correct uitvoeren van een algoritme zal over het algemeen geen probleem op kunnen lossen als er fouten in het algoritme zitten. Bijvoorbeeld het recept voor aardappelsalade levert geen resultaat op als er geen aardappelen zijn, zelfs als alle handelingen worden verricht alsof er aardappelen waren.

Table of contents
1 Formele algoritmes
2 Algoritme versus computerprogramma
3 Voorbeeld
4 Algoritmes
5 Gerelateerde onderwerpen

Formele algoritmes

Algoritmes zijn essentieel voor de manier waarop computers informatie verwerken om dat een computerprogramma in wezen een algoritme is dat de computer vertelt om specifieke stappen in een specifieke volgorde uit te voeren om een bepaald eindresultaat te bereiken.

Over het algemeen bij algoritmes die informatie verwerken, wordt data gelezen van een bron of invoerapparaat en weggeschreven naar een afvoer of uitvoerapparaat; de informatie kan ook bewaard worden voor later. Opgeslagen data wordt bij het analyseren van algoritmes gezien als de interne toestand van het apparaat wat het algoritme uitvoert.

Voor elk rekenkundig proces moet een algoritme rigoreus gedefinieerd worden: het specificeert namelijk hoe het apparaat zal reageren op elke mogelijke invoer en interne toestand. Omdat een algoritme een exacte lijst is met exacte stappen, is de volgorde waarin de berekening gebeurt kritisch voor het correct functioneren van het algoritme. Uniek aan het concept van formele algoritmes is de toewijzingsoperatie: het toewijzen van een waarde aan een variabele. Dit komt voort uit de notie van een geheugen als kladblok.

Algoritme versus computerprogramma

Waar een algoritme de beschrijving is van een oplossing van een probleem daar is een computerprogramma (in een of andere programmeertaal) de implementatie van dat algoritme. De verschillende manieren om tegen een probleem aan te kijken en te beschrijven hebben in de loop van de jaren ook verschillende vormen van programmeren opgeleverd: imperatief programmeren, object-georienteerd programmeren, aspect-georienteerd programmeren, logisch programmeren, symbolisch programmeren, functioneel programmeren.

In imperatief programmeren worden instructies expliciet opgeschreven waarbij de berekening bovenaan begint en vervolgens stap voor stap naar beneden verloopt. Formeel heet dit de control flow van een algoritme.

Een andere manier om tegen algoritmes aan te kijken is functioneel programmeren. In programma's van dit type worden algoritmes gezien als wiskundige functies die elkaar kunnen aanroepen. Diezelfde functies kunnen ook aan variabelen worden toegewezen en zelfs als parameter in een functieaanroep gebruikt worden.

Voorbeeld

Een voorbeeld van een algoritme is het algoritme van Euclides, dat de grootste gemene deler van twee getallen in de variabelen A en B geeft:

 (define (ggd a b) (cond ((= b 0)  ;; eindconditie: b gelijk aan 0, a is grootste gemene deler  (abs a)) (else  ;; iteratieslag  (ggd b (remainder a b)))))

Het resultaat van deze berekening zal de grootste gemene deler zijn van A en B.

Algoritmes

Gerelateerde onderwerpen




Tagoror Networks: Spain  |  Philippines  |  Mexico

Los documentos de esta enciclopedia on line se publican bajo la Licencia de Documentación Libre GNU

De tekst is beschikbaar onder de licentie Creative Commons Naamsvermelding/Gelijk delen, er kunnen aanvullende voorwaarden van toepassing zijn.