En datamaskin algoritme er , ganske enkelt , et sett av regler et program bruker for å løse et problem , i helst så få trinn som mulig . Algoritmer kan brukes til små oppgaver , eller de kan være på midtpunktet av gigantiske selskaper; algoritmen Google bruker for å få søkeresultater er massiv , og blir stadig endret (og en godt bevart hemmelighet ) . Avanserte algoritmer bruker hendelser og conditionals å oppnå det beste resultatet . Grunnleggende Algoritmer
Den grunnleggende ideen bak algoritmer - og virkelig , programmer generelt - er å bestemme hva du vil oppnå og deretter holde bryte det inn trinn. For eksempel , si at du ønsker å spille tennis. Du har kanskje å gjøre følgende : en
en . Ring noen venner og invitere dem til play.2 . Samle stuff.3 . Kjør til tennisbanen .
Selvfølgelig betyr det ikke alltid skje sånn. Så kan det være lurt å avgrense at både være mer spesifikk og dekke alle mulige resultat.
En . Ring en venn og invitere dem til å spille . Dersom venn sier nei, gjenta dette trinnet med en annen venn . Hvis vennen sier ja , går du til trinn # 2.2. Bestem en tid og sted for å play.3 . Finn din tennis racket.4 . Sett tennisracket i car.5 din . Ti minutter før [ tid ] skjer, kjøre til [ sted ] .
P Som du kan se, kan du holde bryte dette ned i flere trinn og flere alternative scenarier.
Ingredienser av algoritmer
mer komplisert algoritme ovenfor inneholder faktisk en rekke programmering prinsipper. Ta en titt på trinn 1 . Det er en grunnleggende programmering bue: fortsette å gjøre en bestemt oppgave (å kalle venner) inntil en betingelse er oppfylt ( man sier ja )
Du kan også se på det som et "case " eller en " hvis /da". uttalelse. I tilfelle av "ja", gå til trinn # 2 . I tilfelle av "nei", gå til trinn # 1 . Eller, hvis "ja", gå til trinn # 2 . Hvis noen andre svar, gjenta trinn # 1 . Du må selv bestemme den beste metoden å bruke for hvert enkelt algoritme
Step # 2 skaper to variabler: . En tid og et sted . Du kan plugge dem inn i programmet senere , i trinn nr. 5 , når dine handlinger er avhengig av verdiene av de to variablene
Endelig inneholder Step # 5 en hendelse: . Når [ tid ] minus ti minutter oppstår , få i bilen.
feilsjekking og Helhet
en av de store vanskelighetene bak å lage algoritmer er nødvendigheten av å dekke alle scenarier . Dette er mest åpenbart illustrert i å lage programmer som er avhengige av brukerens input. For eksempel i et videospill , hva hvis spilleren bestemmer seg for å drepe en karakter som er viktig for handlingen ? Lager du tegnet uforgjengelig ? Lager du en alternativ seier tilstand ? I et elektronisk skjema , hva om du spør brukerne å legge inn et tall mellom én og 10, og de input " bob" ? For å skape den mest robuste algoritme mulig , må du tenke ut alle mulige utfall og bygge på sjekker for hver av dem .