SA

Programmering 1 – Python: Operatorer, variabler och beräkningar

Fördjupning – centrala Python-operatorer

  • Potensoperatorn **

    • Syntax: bas ** exponent

    • Exempel: print(7**2) ➔ 49

  • Heltalsdivision //

    • Returnerar enbart heltalsdelen (avrundar alltid nedåt).

    • Exempel: print(7//2) ➔ 3

  • Kvadratroten via potens 0{,}5

    • \sqrt{a}=a^{0{,}5}

    • Exempel: print(49**0.5) ➔ 7

  • Alternativ heltalsnedrundning

    • int(7/2) ger också 3, men med extra funktionsanrop.

  • Kombinationsexempel

    • Kod:
      python print(2**2) print(2**4) print(2**6)

    • Utdata: 4, 16, 64

    • Kod:
      python print(9/2, "och", 9//2) print(11/6, "och", 11//6) print(21/8, "och", 21//8)

    • Utdata: 4.5 och 4, 1.8 och 1, 2.6 och 2

  • Betydelse: Att behärska dessa operatorer är avgörande för att skriva korrekta matematiska algoritmer, t.ex. i finansiella beräkningar, spel-fysik eller datavetenskapliga algoritmer.

Avrundning av tal

  • Funktionen round()

    • Allmän form: round(värde, antal_decimaler)

    • Exempel 1: round(663.671245, 2) ➔ 663.67

    • Exempel 2 (ingen decimalspecifikation): round(663.991245) ➔ 664

  • Praktisk användning: rapportering av ekonomiska resultat, mätdata och grafisk utskrift.

Tips för felsökning & syntaxdisciplin

  • Ett enda felplacerat tecken kan stoppa programmet.

  • Nyanser i parenteser, citat- och kommatecken är kritiska.

  • Det krävs upprepade tester och felsökning för att bli säker programmerare.

Användning av variabler

  • Allmänna OBS-poster

    • I de flesta språk undviks å, ä, ö, men Python tillåter dem.

    • Python exekverar sekventiellt – kodens ordning spelar roll.

  • Rektangelexempel (hårdkodade värden)

    • Kod:
      python print("En rektangel har bredden 3 cm och längden 4 cm.") print("Omkretsen är", (3+4)*2, "centimeter.") print("Arean är", 3*4, "kvadratcentimeter.")

    • Utdata: Omkrets 14 cm, area 12 cm^2.

  • Rektangelexempel med variabler

    • Kod:
      python bredd = 3 längd = 4 print("En rektangel har bredden", bredd, "cm och längden", längd, "cm.") print("Omkretsen är", (bredd+längd)*2, "centimeter.") print("Arean är", bredd*längd, "kvadratcentimeter.")

    • Fördel: Ändra bara bredd och längd för nya rektanglar.

Gemensamma övningar (Grupp)

  • Uppgift 1 – Enkel ekvation

  a = 5
  b = 10
  c = 2*a - 3*b
  print(c)
  • Formeln: c = 2a - 3b

  • Med givna värden: c = 2\cdot5 - 3\cdot10 = 10 - 30 = -20

    • Uppgift 2 – Produkt & variationer

  • Beräkna produkten av 25 och 60.

  • Ändra programmet för: a. Kvoten \dfrac{40}{20}=2. b. Potensen 32^8 (stort tal; demonstrerar **). c. Roten \sqrt{9409} (ger 97).

    • Uppgift 3 – Triangelarea

  • Formeln: A = \dfrac{bas \cdot höjd}{2}.

  • Exempelutskrift:
    "En triangel med basen 5 centimeter och höjden 10 centimeter har arean 25 kvadratcentimeter."

Individuella övningar

  • Uppgift 4 – Rektangel (230 × 92 cm)

    • Omkrets: 2(230+92)=644 cm.

    • Area: 230\cdot92=21160 cm^2.

  • Uppgift 5 – Cirkel

    • Variabel: radie (exempel 5 cm).

    • Omkretsformel: O = 2\pi r.

    • Areaformel: A = \pi r^2.

    • Använd import math och math.pi, eller approx \pi \approx 3{,}14159.

  • Uppgift 6 – Sekunder & födslar

    • Basvärden:

    • oneYear = 365

    • hours = 24, minutes = 60, seconds = 60

    • Sekunder per dag: S_d = 24\cdot60\cdot60 = 86400.

    • Sekunder per år: Sy = 365\cdot Sd.

    • Sekunder på 5 år: 5\cdot S_y.

    • Födslar vid en var 7 sekund: \dfrac{5\cdot S_y}{7}.

  • Uppgift 7 – Valutaomvandlare

    • Variabler: växelkurs_euro, växelkurs_dollar (kr ➔ EUR/USD).

    • Omvandling: 1000\text{ kr} /\text{kurs}.

    • Använd round(belopp, 2).

  • Uppgift 8 – Fart & tid (grund)

    • Sträckor/hastigheter:

    1. 100\,\text{km} @ 50\,\text{km/h} ➔ tid =\dfrac{100}{50}=2 h.

    2. 120\,\text{km} @ 80\,\text{km/h} ➔ tid =1.5 h.

    3. 80\,\text{km} @ 40\,\text{km/h} ➔ tid =2 h.

    • Total tid: 5.5 h.

  • Uppgift 9 – Fart & tid (svår, h & min)

    • Nya hastigheter: 50, 110, 30 km/h.

    • Exakta tider i timmar + minuter:

    1. 100/50 = 2.0\,\text{h} = 2\,\text{h}\,0\,\text{min}.

    2. 120/110 \approx 1.0909\,\text{h} \approx 1\,\text{h}\,5{,}45\,\text{min}\approx1\,\text{h}\,5\,\text{min} (avrunda som uppgiften kräver).

    3. 80/30 \approx 2.6667\,\text{h} \approx 2\,\text{h}\,40\,\text{min}.

    • Summera för total restid.

Etiska & praktiska reflektioner

  • Noggrannhet i kod tränar problemlösning och systematiskt tänkande.

  • Scenarier som födslar per 7:e sekund visar hur programmering kan modellera demografi och samhällsplanering.

  • Valutaomvandling illustrerar ekonomiska tillämpningar och vikten av korrekt avrundning.

Sammanfattande formler (LaTeX-syntax)

  • Potens: a^b

  • Heltalsdivision: \left\lfloor \dfrac{a}{b} \right\rfloor

  • Kvadratroten: \sqrt{a}=a^{0{,}5}

  • Rektangel:
    Omkrets O=2(bredd+längd),
    Area A=bredd\cdot längd

  • Triangel: A=\dfrac{bas\cdot höjd}{2}

  • Cirkel:
    Omkrets O=2\pi r,
    Area A=\pi r^2

  • Hastighet–tid: t=\dfrac{s}{v} (tid = sträcka / hastighet)

  • Sekundkonvertering: S = år\cdot365\cdot24\cdot60\cdot60

  • Birth estimator: \text{births}=\dfrac{S}{7} (vid 1 födsel per 7 s)

Viktiga Python-kommandon & mönster

  • print() – skicka text/variabler till terminal.

  • round(värde, 2) – avrunda till två decimaler.

  • **, //, math.pi – centrala operatorer/funktioner.

  • import math – få tillgång till matematiska konstanter och funktioner.

Slutsats & nästa steg

  • Grunderna i aritmetik, variabelhantering och utskrift är nu täckta.

  • Nästa logiska moment:

    • Villkorssatser (if, elif, else)

    • Loopar (for, while)

    • Funktioner (för återanvändbar kod)

  • Rekommendation: Testa alla övningar, ändra värden och observera effekter för att befästa kunskapen.