Hvordan kan kalkulatoren din legge sammen tall raskt? Det trengs det en algoritme for addisjon (pluss), slik som du ville ha gjort det for hånd. Klart definerte steg som vil føre frem til et riktig svar. Dette er ikke problemløsning og algoritmisk tenkning, men det er fint å reflektere over algoritmer du kjenner. Det kan […]
Kategori: Programmering
Rekursive algoritmer med python
I mange algoritmer, gjentar du den samme operasjonen med nye argumenter til målet er oppnådd. I stedet for å lage en for- eller while-løkke kan en del slike algoritmer enkelt bli beskrevet med rekursjon, hvor neste steg er avhengig av tidligere steg. Denne typen algoritmisk tenkning er litt anderledes enn med løkker, men python lar […]
Rekursive sammenhenger med python
En tallfølge kan bli beskrevet ut fra tidligere verdier og en endring. For eksempel kan vi definere trekanttallene Tn som T1 = 1, og Tn+1 = Tn + (n+1). Eller Tn = Tn-1 + n. n 1 2 3 4 5 Trekanttall 1 3 6 10 15 Differanse 2 3 4 5 En direkte beregning […]
Utforsking i matematikk med python
Programmering gir nye muligheter for å drive utforskende matematikk, spesielt for å teste mange alternativ og gjøre lange beregninger. Noe av det viktigste for å drive utforsking er å stille spørsmål om det du skal utforske. I Walter Browns «The Art of Problem Posing» blir det gitt mange eksempler på aktuelle spørsmål, og hvordan det […]
Utforsking i python med itertools
Det digitale verktøy og programmering gjør veldig enkelt, er å prøve veldig mange muligheter. For å danne alle mulige permutasjoner eller kombinasjoner kan itertools-pakken i python være veldig effektiv. Generelt er det praktisk for elever i vgs å forholde seg til så få pakker som mulig, men ved å bare bruke noen få iteratorer fra […]
Betinget sannsynlighet for å undersøke følsomme spørsmål
Hvor mange i klassen har jukset på en prøve? Hvordan kan en gjennomføre en slik spørreundersøkelse når kandidatene kan nøle med å svare riktig av frykt for konsekvensene? Ved å ikke være sikker på hvilket spørsmål de har svart på og i stedet bruke Bayes’ regel og betinget sannsynlighet for å estimere den rette andelen. […]
Steganografi, skjult informasjon i et bilde

Om noen ønsker å kommunisere hemmelig, kan kryptering være en god løsning. Men det vil ofte være mulig for andre å oppdage for eksempel antallet ganger en kommuniserer, meldingenes lengde eller tidspunktene tar kontakt. Om derimot ingenting tyder på at to parter kommuniserer, kan det gå uoppdaget. I TV-serien Le Bureau laster spioner opp bilder […]
Sainte Laguës algoritme i python
Metoden(e) som brukes for å fordele mandater etter valg i Norge er et flott eksempel på en algoritme og kan ganske enkelt implementeres på en datamaskin. Det har tidligere vært eksamensoppgaver i matematikk som implementerte metoden i regneark, men det blir fort ekstra rotete. Beskrivelsen fra regjeringen er ganske kompakt: Metoden kalles St. Laguës modifiserte […]
Å variere lysstyrken til bilder med numpy

En vanlig måte å redigere bilder på er å gjøre de lysere eller mørkere. Det vil bety å flytte verdier sideveis i histogrammet. En naiv strategi vil være å legge en fast verdi til hver piksel. I lesBilde-funksjonen blir matrisens type satt til uint8 (unsigned integer 8 bit), som er hele tall mellom 0 og […]
matplotlib og numpy i bildebehandling
Vi kan se på et svart-hvitt-bilde som en matrise av tall, hvor verdien viser hvor lys gråtonen er. Verdiene kan for eksempel være desimaltall mellom 0 og 1 eller heltall mellom 0 og 255 (tall som kan skrives med 8 bits). Matplotlib har noen enkle funksjoner for å lese inn et bilde fra en fil, […]