Øving 1: Print, variabler, datatyper og pseudokode

VIKTIG!

Minst 4 av 6 oppgaver må løses for å få godkjent øvingen: enten oppgave 1 eller oppgave 3, og 3 av 4 oppgaver i kategori 2.

Dersom ikke annet er oppgitt skal koden for hver programmeringsoppgave bestå av èn celle med hele programkoder.

Celler med "In [ ]:" foran er kode-celler som kan kjøre kode. Ellers er cellene tekstbokser. En celle (både tekst og kode) kjøres hvis du markerer den og trykker SHIFT+ENTER. Se guide for utfyllende informasjon om hvordan man bruker jupyter notebooks.

Last ned øvingen fra jupyter til din pc som .py-fil (se guide) og last den opp i en zippet(komprimert) mappe i Blackboard for å levere den.

Oppgave 1.1

a) Skriv et program som skriver "Programmering er veldig "kult"!" til konsoll. Legg merke til at de doble fnuttene (anførselstegn) i teksten også skal skrives ut.

b) Hvilke(n) funksjon(er) har kommentarer i programkode?

c) Hva er feil med koden i "Kodebit 1" under? Rett den opp så den kjører.

d) Skriv adressen ut på følgende to måter ved å bruke variabler: "Adressen er Kongens gate 432b" og "Gaten er Kongens Gate, husnummeret er 432, oppgang b"

In [ ]:
# Oppgave 1.1 svar
In [ ]:
### Kodebit 1 ###

gate = 'Kongens gate'
husnr = 432
oppgang = b

adresse = gate + husnr + oppgang
print(adresse)

Oppgave 2.1

a) Lagre tallet 1000 som heltall i en variabel

b) Bruk heltallsdivisjon, og del tallet fra a) på 23

c) Ta resultatet fra b) og gang det med 23 igjen. Hvorfor blir ikke svaret 1000? Forklar hvorfor heltallsdivisjon kan være nyttig.

In [ ]:
# Oppgave 2.1 svar

Oppgave 2.2

Med utgangspunkt i programmet "Økning av antallet blomster pr uke i et bed" under:

a) Skriv pseudokode for programmet

b) Erstatt variabelnavnene i programmet med beskrivende, gyldige variabelnavn

c) Endre tilordningen av variablene slik at programmet fungerer

d) Skriv antall blomster etter 10 uker til konsoll med en forklarende setning

In [1]:
## Opgpave 2.2 svar


#### Økning av antallet blomster pr uke i et bed ####

# Fyll inn pseudokode:

# 
# 
# 
#


'150' = antall blomster i bedet 
15 % økning pr uke = 0.15

antall blomster om en uke = antall blomster i bedet + (antall blomster i bedet * 15 % økning pr uke)

Oppgave 2.3

Du er på restaurant med andre studenter på faget fra din kommune, og på regningen er følgende informasjon:

Total pris for mat og drikke: 850 kr Studentrabatt: 25% Tips: 10%

a) Legg informasjonen inn i variabler

b) Lag en ny variabel som regner ut total pris på middagen, og skriv ut denne

c) Regn ut pris per person for et valgfritt antall personer, og skriv ut pris per person og antallet personer til konsoll

In [2]:
# Oppgave 2.3 svar

Oppgave 2.4

Listen under er ingrediensene for å lage småkaker. Denne oppskriften gir 36 småkaker.

  • 100 g smør
  • 180 g hvetemel
  • 350 g brunt sukker
  • 4 egg
  • 1 ts bakepulver

Skriv et program som printer ut en liste med justert mengde av ingrediensene for 10, 24 og 50 småkaker. Her kan du skrive koden i flere enn én celle hvis du ønsker.

In [1]:
# Oppgave 5 svar

# Beregning av småkaker.

# Beregne indigrienser pr kake:

smor_stk = 100 / 36
hvetemel_stk = 180 / 36
brunt_sukker_stk = 350 / 36
egg_stk = 4 / 36
bakepulver_stk = 1 / 36

smor = 0

# Les inn antall kaker:

valg_kaker = input("Velg antall kaker. 1 = 10 kaker, 2 = 24 kaker og 3 = 50 kaker:")


if valg_kaker == "1":
    
    print("Indigrienser for 10 kakr:")
    #Beregne ingridienser for 10 kaker
    smor = smor_stk * 10
    hvetemel = hvetemel_stk * 10
    brunt_sukker = brunt_sukker_stk * 10
    egg = egg_stk * 10
    bakepulver = bakepulver_stk *10
    
elif valg_kaker == "2":
    
    print("Indigrienser for 24 kaker:")
    #Beregne ingridienser for 24 kaker
    smor = smor_stk * 24
    hvetemel = hvetemel_stk * 24
    brunt_sukker = brunt_sukker_stk * 24
    egg = egg_stk * 24
    bakepulver = bakepulver_stk * 24
    
elif valg_kaker == "3":
    
    print("Ingredienser for 50 kaker:")
    #Beregne ingridienser for 50 kaker
    smor = smor_stk * 50
    hvetemel = hvetemel_stk * 50
    brunt_sukker = brunt_sukker_stk * 50
    egg = egg_stk * 50
    bakepulver = bakepulver_stk * 50
    
    
# Skriv ut en liste med ingridienser

print("Smør:", round(smor,1), "g")
print("Hvetemel:", round(hvetemel,1), "g")
print("Brunt sukker:", round(brunt_sukker,1), "g")
print("Egg:", round(egg,1), "stk")
print("Bakepulver:", round(bakepulver,1), "ts")
Velg antall kaker. 1 = 10 kaker, 2 = 24 kaker og 3 = 50 kaker:2
Indigrienser for 24 kaker:
Smør: 66.7 g
Hvetemel: 120.0 g
Brunt sukker: 233.3 g
Egg: 2.7 stk
Bakepulver: 0.7 ts

Oppgave 3.1

Nedenfor står et program hvor vi regner ut omkrets og areal for en sirkel etter de velkjente formlene O = 2πr og A = πr2. Slik programmet er nå brukes ingen variabler. Dette gjør at når vi skal regne ut arealet av en sylinder hvor sirkelen er grunnflate, må vi gjøre om igjen flere beregninger som vi allerede har gjort tidligere.

Tips: Arealet av sylinderen med høyde h vil være Omkrets_sirkel x h + 2 x Areal_sirkel, hvor det første leddet er arealet av sylinderveggen og det siste leddet er topp- og bunnlokket.

Oppgave: Endre koden ved å tilordne og deretter bruke variabler for pi, radius, høyde og sirkelens omkrets og areal, slik at programmet unngår å gjøre på nytt beregninger som allerede er gjort før.

In [ ]:
## Oppgave 3.1 svar 



print("Har en sirkel med radius", 5.4, "som er grunnflate i en sylinder med høyde", 7.9)
print("Omkrets av sirkelen:", 2*3.14 * 5.4) 
print("Areal av sirkelen:", 3.14 * 5.4**2)
print("Areal av sylinderen:", 2*3.14 * 5.4 * 7.9 + 2 * 3.14 * 5.4 ** 2)

Spørsmål eller kommentarer