Oppgaver

Bruk av matematiske operatorar i konsollet:

  1. Finn kvadratet av 77 og kvadratrota av 85
  2. Finn avstanden frå origo til punktet (0.5, 0.7)
  3. Utfør heiltalsdivisjonen 127 delt på 33
  4. Finn resten av divisjonen 127/33 Svar: 28
  5. Kan du finna denne resten på ein annan måte? Hint: du kan bruka divisjon og heiltalsdivisjon
  6. Korleis kan du finna ut om 27 er delelig med 3?
  7. Korleis kan du finna ut om eit tilfeldig heiltal er eit kvadrattal?
  8. Kva skjer hvis du skriv "hei på " + "deg"?
  9. Kva skjer hvis du skriv "to" + 2 ?

Tilfeldige tal:

  1. Lag eit tilfeldig heiltal mellom 1 og 100
  2. Lag eit tilfeldig partal mellom 1 og 100
  3. Lag eit tilfeldig desimaltal mellom 0 og 1
  4. Lag eit tilfeldig desimaltal mellom -1 og 1
  5. Lag eit tilfeldig punkt (x,y) slik at både x og y ligg mellom -1 og 1.  Finn deretter avstanden frå origo.

Oppgaver med terningar

Terningkast med to terningar

Lag et program som simulerer kast av to terninger. Vi "kastar" mange gonger og finn summen for kvart kast. Lag ei liste med frekvensane (kalla "f" her) der du tar vare på summen, dvs slik at f[0] inneheld antal gonger summen blir to, f[1] antal gonger tre osv heilt opp til f[10] som er antall gonger summen blir 12, som er det meste. Så for kvart kast må du altså legga 1 til på rett plass i lista.
Til slutt skal programmet skriva ut alle frekvensane.

If-setningar:

  1. Finn ut om det tilfeldige punktet du genererte over har kortare avstand frå origo enn 1.
  2. Finn ut om det tilfeldige talet frå oppgave 1) over er eit partal eller oddetal og om det er eit kvadrattall eller ikkje.
  3. Hvis dette talet er eit oddetal, sjekk om n2 også er eit oddetal. Ka finn du?

"Kalkulatorar"

Løkker:

  1. Lag ei løkke med N = 100 iterasjonar der du genererer eit tilfeldig punkt som over, og finn ut om talet k har kortare avstand enn 1 frå origo. La variabelen k telja opp kor mange gonger det skjer, og regn ut p = 4*k / N. Skriv ut p. Auk N til 1000, 10000 osv. Kva tal nærmar p seg? Korfor det?
  2. Primtal: La eit program som finn ut om eit gitt tal N er delelig med heiltal mellom 1 og N. Hvis ikkje skriv du ut at N er eit primtal!
  3. Prøv å effektivisera algoritmen over. Kor mange tal treng vi egentlig å sjekka?
  4. Skriv ut alle multippel av 3 som er mindre enn 100. Bruk ei while-løkke.
  5. Skriv ut del lille gangetabellen. Hint: skriv ut multippel av 1, av 2 osv opp til 10. (prøv å pynta på utskriften)

Fleire løkkeoppgaver:

Fakultet

1) Lag et program som finn n! (n - fakultet) (5! er 1*2*3*4*5 = 120 osv)
2) Ved hjelp av denne funksjonen skal du skriva ut ei liste som gir fakultet av dei første 10 tala:
1! = 1
2! = 2
3! = 6...
10! = 3628800

Fibonacci-følgen

Lag eit program som skriv ut Fibonacci-følgen. sjå: https://no.wikipedia.org/wiki/Fibonaccitall

Figurtall

Skriv ut alle trekanttal og alle pyramidetal under 100 Sjå https://no.wikipedia.org/wiki/Trekanttall og https://no.wikipedia.org/wiki/Pyramidetall
Prøv tilsvarande for tetraedertall: https://no.wikipedia.org/wiki/Tetraedertall

Sjå også: http://oyro.no/figurtal.html

Pascals trekant

Skriv ut dei ti (feks.) første radene i Pascals trekant. Her er dei første fem

1
1 1
1 2 1
1 3 3 1
1 4 6 4 1

Floyds trekant

Skriv ut dei første n radene i Floyds trekant. Her er dei første fem:

1
2 3
4 5 6
7 8 9 10
11 12 13 14 15

Lazy caterer's sequence

Siffera til venstre i kvar rad, dvs. 1, 2, 4, 7, 11, .... dannar det som kallast Lazy caterer's sequence. Lag eit program som skriv ut disse.

Vektorar som lister:

Denne oppgava passar kanskje best for dei som tar R1. Det fins bibliotek der vi kan gjera dette enklare, men vi skal gjera det med vanlige lister.

Tekststrenger 1

Definer strengen s1 = "abcdefg", og lag ein ny streng som er lik den omvendte "gfedcba" vha ei løkke.

Tekststrenger 2

Nøtter (?):

Randomwalk i 2D (som et apropos til Brownske bevegelsar i termofysikken)

Du kan evt. gjera det enklare ved å gå langs ei linje. Då startar du i x = 0, og så tar du eit tilfeldig steg i pluss- eller minusretning.

Pytagoreiske talltrippel:

Eit pytagoreisk talltrippel er tre heiltall som passar i Pytagoras sin likning, som feks 3,4 og 5.

Kaprekars konstant.

Lag eit program som finn Kaprekars konstant (også kalla Kaprekars tall)

Primtal

Ein av dei kjente algoritmane for å generera primtal er den såkalte Eratosthenes' sil (eller sold). Les om den og prøv å programmera den i Python.

Meir om lister

Ei periodiske tallfølge er feks. [1,2,4,7,1,2,4,7,1,2,4,7], som er periodisk med periode 4. Eit periodisk (desimal)tall er feks 2/7 = 0.285 714 285 714 ... der siffera 285 714 gjentar seg i det uendelige.

Sortering.

Ei av dei vanligaste algoritmane å starta med i programmering, er å laga ein sorteringsalgoritme. Det fins mykje teori, og mange forskjellige
algoritmar for dette, og det fins ferdiglaga funksjonar i Python. Men du skal laga din egen algoritme. For å klara det treng du å kunna lister.

Sorter ei liste med heiltal. Hvis du feks startar med a = [6,2,7,9,1,1,3,2,5,10,15,8], så skal du ha ut [1,1,2,2,3,5,6,7,9,10,15]

Funksjonar:

Intro til bunnpunkt og nullpunkt for ein funksjon

Vi tar utgangspunkt i funksjonen f(x) over.