Funktion (programmering)
Fra Wikipedia, den frie encyklopædi
Inden for programmering er en funktion (metode, procedure, rutine eller underprogram) en stump kode som udføre en bestemt opgave som del af et større program. Sådanne stumper af kode bliver nogle gange samlet i biblioteker. De kan kaldes flere gange uden at kodestumpen skal skrives mere end en gang.
I mange programmeringssprog skelner man mellem funktion og procedure, hvor en funktion returnere en værdi mens en procedure ikke gør.
En funktion identificeres ud fra dens prototype, som består af tre elementer: Et funktionsnavn og en returtype samt en eller flere parametertyper, hvor der med type menes datatype. Udover prototypen indeholder den noget kode, der udfører den egentlige behandling af inddata. Denne kode igangsættes (køres) gennem et "funktionskald", og uddata kan lagres i en variabel, bortkastes eller testes på. Funktioner, som ikke returnerer et resultat, har returtypen "void" i mange programmeringssprog.
En funktion kan oprette sine egne variable, der kun eksisterer så længe funktionen kører. Dette gør funktionen i stand til at arbejde med midlertidige data, som kun skal bruges i forbindelse med den aktuelle beregning.
Funktioner kan kalde andre funktioner, og i de fleste moderne programmeringssprog kan de også kalde sig selv, hvorved de bliver rekursive. Eksempler på rekursive (funktionsorienterede) programmeringssprog er C og SML.
I samtlige programmeringssprog er der visse prædefinerede funktioner som kan bruges. Disse funktioner omfatter blandt andet systemkald til operativsystemet samt gængse datakonverterings-, formaterings- og behandlingsalgoritmer.
Et eksempel på en prædefineret funktion er "easter_date()" funktionen i PHP. I dette tilfælde er året inddata, og uddata er den dato hvor påskedag ligger for det pågældende år. F.eks. vil "easter_date(2005)" returnere noget i retning af "0411", dvs. 11. April. Typisk vil mange matematiske funktioner også være prædefinerede, f.eks. sinus og cosinus, kvadratrod osv.