Bruk av funksjoner i matematisk utregning, PHP

I en utvikler og programmerers tid vil det alltid komme en tid hvor du må utføre en form for matematisk utregning. Enten det er i liten form som å finne ut hvor mange dager det er til en hendelse, avansert statistikk eller poenggivning og prosentregning.

Det er ikke uten grunn at om du skal utdanne deg i programmering, må du ha mye matematikk. De fleste høyere utdanninger krever 3MX, men noen krever kun 2MX. Uansett har du i begge fagene fått innført en del matematisk tankegang. Denne artikkelen fikk jeg inspirasjon til å skrive, etter ett prosjekt jeg holder på med; Hvordan du kan gjøre mer effektive utregninger og ungå alt for mye unødvendig kode, samt gjøre kodene mer leselig.

Programmering er basert på matematikk, det er derfra vi har uttrykk som funksjoner, objekter, array/matrise og stort sett alt du egentlig kan komme på. Så hvorfor skal du ikke da bruke funksjoner i matematisk utregning i programmering?

Ved å bruke funksjoner kan du gjøre utregningen mer variabel og dynamisk, samt ta forbehold om flere kondisjoner i utregningen. Da snakker jeg ikke om dynamikk som å bruke variabler, men om en kondisjon er valgt endres utgangspunktet i utregningen.

La oss ta et eksempel...

Som de fleste eksempel jeg kommer med på denne siden, er denne noe banal og sjeldent noe du drar nytte av - utenom tankegangen.

La oss si jeg skal kalkulere hvor mye jeg sitter igjen med etter et spill av oddsen.
Der er det slik at om jeg vinner, skal oddsen jeg har multipliseres med innsatsen, mens om jeg ikke vinner skal det til sammen være null - for ingen gevinst. I tillegg til dette skal jeg substraktere innsatsen for å få en reell gevinst, eller overskudd om du vil.

Uten bruk av funksjon i utregningen vil det da bli slik som det her:

  1. if ($win) {
  2.     $result = ($stake * $odds) - $stake;
  3. } else {
  4.     $result = -$stake;
  5. }

Og om jeg da har med handicap på noe slags vis, vil det bli enda flere if-statments som regner ut på forskjellige måter.

Om jeg tenker mer praktisk kan jeg gjøre det enklere og sette følgende:

  1. $result = win ($stake * $odds) - $stake;

Hvor win returnerer null dersom oddsen min ikke slår inn, og 1 arg om den gjør det.

Igjen, har jeg flere ting jeg må ta hensyn til, som f.eks handicap, kan jeg bare gjøre følgende:

  1. $result = (win ($stake * $odds) - $stake) * handicap ($arg);

Hvor handicap-funksjonen tar seg av å returnere korrekt faktor i prosent/brøk av det som blir den reelle gevinsten.

Og denne tankegangen kan du ta med deg videre til mer komplekse problemstillinger og utregninger. Som f.eks statistikk utregning hvor du skal ha valgfri antall dager statistikken skal gjelde, og så videre.

Ha en fortsatt fin sommer, og sitt ikke for lenge inne.

Legg igjen respons

Fyll ut alle felt markert med *

Brukerinformasjon
  1. Kan bruke følgende html: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> og [html] [css], [mysql] og [php] Hold posten ren og fin!

    Siter valgt tekst

E-post-varsel uten å skrive kommentar.

Info om posten

Innlegget ble postet 06.07.07 10:47 og ligger under kategorien PHP / MySQL. Du kan abonnere på kommentarene ved å bruke RSS 2.0 feed. Du kan legge til kommenter, eller trackback fra din blogg/side.

Resurser

Arkiver

Metainfo


Siste Flickr-bilder

  • Commentsystem (20070308)
  • Ukraina Aksjonen 2006 (20070306)
  • Mikael Brevik blogg (20070306)
  • Mikael Brevik (20070306)
  • Brukerdefinert side - AVIS2 (20070306)
  • Brevik Webutvikling (20070306)
  • skyscraper
  • visittkort