Introduktion Programmering 1, indval

Nikodemus Karlsson

Klipsk som en dator?

Förkunskaper?

https://shorturl.at/fhBG5

Vad är ett datorprogram?

  • Ett datorprogram är som en uppsättning instruktioner eller regler som berättar för datorn vad den ska göra.
  • Precis som vi människor använder oss av instruktioner för att utföra olika uppgifter, använder sig också en dator av programmet för att lösa problem och utföra specifika arbetsuppgifter.
  • Dessa instruktioner i ett datorprogram skrivs vanligtvis i ett programmeringsspråk, vilket är ett särskilt språk som både människor och datorer kan förstå.
  • När programmet körs på en dator läser den stegvis igenom varje instruktion och utför de angivna operationerna.

Vad är ett datorprogram? (forts.)

  • Genom att kombinera olika instruktionssekvenser kan man bygga upp mer komplexa program som kan hantera allt från matematiska beräkningar till grafikrendering eller datahantering.
  • Människor skapar dessa program för att automatisera processer, lösa problem eller utveckla nya teknologier och applikationer som används inom allt från spelutveckling till medicinsk forskning och affärsverksamhet.

Sammanfattningsvis kan man säga att ett datorprogram är en samling av instruktioner skrivna i programmeringsspråk, vilket ger möjlighet att styra hur en dators hårdvara fungerar och får den att utföra specifika uppgifter.

Utvecklingsmiljö

Vi kommer att arbeta i online-miljön Replit under kursen.

  [https://replit.com/]

Miljön består b la av en konsol där kortare “kodsnuttar” kan skrivas in och en editor där program kan skrivas och sparas.

Registrera dig på https://replit.com/ med din “skol-Google”.

Dagens mål

  • Skapa inloggning på Replit
  • Bekanta sig med konsol och editor genom arbete med
    • Variabler
    • Formaterad utskrift

Variabler

En variabel är ett “namn” på ett värde. Kan även kallas för en identifierare.

# Detta program skrivs i en fil som sparas.
# Filen skapas i Idle: File -> New File
# och namnges till fartberäkning
sträcka = 103  # Sträckan i meter
tid = 13.2     # Tiden i sekunder
fart = sträcka / tid

print(f"Fart = {fart:.1f} m/s")
# Skriver ut Fart = 7.8 m/s
Fart = 7.8 m/s

Variabler kan innehålla andra saker än tal; man säger att även detta är värden.

Variabeltyper

Några vanliga typer av variabler är string (sträng), int (heltal) och float (tal med decimaler).

Python kan skriva ut variabeltypen för en given variabel.

ett_heltal = 5
ett_flyttal = 2.9
en_sträng = "En sträng"
print(type(ett_heltal))
print(type(ett_flyttal))
print(type(en_sträng))
<class 'int'>
<class 'float'>
<class 'str'>

Variabler i datorminnet

När en variabel tilldelas ett värde kommer detta värde att sparas på en plats i datorns minne. När variabeln adresseras kommer namnet att hänvisa till denna minnesplats.

Några regler för variabelnamn

  • Alla bokstavstecken och siffror får användas
  • Python gör skillnad på versaler och gemener
  • Variabelnamn kan inte börja med en siffra
  • Variabelnamn kan inte innehålla mellanslag
  • Variabelnamn kan inte innehålla bindestreck

Några regler för variabelnamn (forts.)

  • Variabelnamn bör inledas med en gemen (“liten”) bokstav
  • Variabelnamn bör vara uttrycksfulla, dvs beskriva vad de står för
  • Ord separeras, t ex längd_rekt = 5

Utskrifter i Python

Utskrift av sträng

hello_string = "Hello, world"
print(hello_string)
Hello, world

Utskrift av sträng och tal

pris = 10
print(f"Priset är {pris} kr.")
Priset är 10 kr.

Utskrift av heltal

pris = 10
print(pris)
10

Avrundning

my_float = 2/3
print(f"{my_float:.2f}")
0.67

När “fast” text ska skrivas ut tillsammans med en variabel används en s.k f-string. Det står för formatted string literal.

Formaterad utskrift

En teckensträng har en en given textbredd. Det tydliggörs med utfyllnadstecken.

s1 = "Kalle"
s2 = "Anka"
print(f"{s1:*<13}")      # Textbredd 13, vänsterjusterat
print(f"{s1:*>13}")      # Textbredd 13, högerjusterat
print(f"{s1:*^13}")      # Textbredd 13, centrerat
print(s1.rjust(13, "*")) # Finns även ljust och center
print(s1.ljust(13) + s2) # Inget utfyllnadstecken!
Kalle********
********Kalle
****Kalle****
********Kalle
Kalle        Anka

På rad 7 syns att vi kan slå ihop (konkatenera) två strängar med operatorn +.

Sträng med radbrytning

För att skriva ut en sträng på flera används ett s.k “flykttecken” (escape character).

print("Här är en text\npå två rader")
Här är en text
på två rader

Detta kan användas tillsammans med textbredden.

print(f"Detta är en högerjusterad text\n{'på flera rader':*>30}")
Detta är en högerjusterad text
****************på flera rader

Justering av tal

Tabeller blir mer lättlästa om ental står under ental, tiondel under tiondel osv.

a = 10.5; b = 2.38
c = 2.3;  d = 0.1
print(f"{a:6.2f}\t\t{c:6.2f}\n{b:6.2f}\t\t{d:6.2f}")
print("----------------------");
print(f"{(a+b):6.2f}\t\t{(c+d):6.2f}")
 10.50        2.30
  2.38        0.10
----------------------
 12.88        2.40

Observera att beräkningarna sker mellan måsvingarna!

Sammanfattning

  • Ett datorprogram är en följd av instruktioner.
  • Dessa instruktioner skrivs i ett programmeringsspråk.
  • I Python kan korta kodavsnitt skrivas i konsolen, medan en editor används för att skriva och spara program.
  • I datorprogram kan användas kommentarer för att det ska bli mer lättläst. För Python gäller tecknet # inleder kommentaren # Kommentar
  • För att lagra värden i ett program används variabler.
  • Variabelns typ beror på vilket sorts värde som lagras.

Sammanfattning (forts.)

  • Det finns regler och konventioner för namngivning av variabler.
  • För att skriva ut variabler i Python används en funktion som heter print.
  • Med print går det att styra hur utskriften sker, t ex med avseende på radbrytning, textjustering och antal decimaler för ett tal.
  • Uttryck kan evalueras i en sträng i Python med f-string.
    • print(f"Talet är {2+2}") # Talet är 4

Uppgifter

Uppgifterna 1 – 6 i dokumentet Uppgifter Pr1, utskrift och villkor