Hvis (betingelse)#

Læringsmål#

Nå skal vi introdusere ifsetninger, altså viss-setninger. Vi forutsetter at du mestrer variable.

Se også w3schools.

Introduksjon#

Viss-setninger modellerer en betingelse. På nesten-pythonsk kunne vi si

 if x > 0:

    print("x er positivt");

Representasjoner#

../../../_images/if.jpg

Fig. 2.27 Betingelse#

Selve Betingelsen TODO

Norsk#

På norsk er if-setninger forbundet med ordet «viss» (også stavet «hvis»). På norsk kan vi si viss klokka er syv du stå opp.

Scratch#

../../../_images/scratchIf.png

Fig. 2.28 Hvis-blokk i Scratch#

If Then

../../../_images/scratchIf2.png

Fig. 2.29 if foo > 10: print(“foo is greater than 10”)#

../../../_images/scratchIf2Else.png

Fig. 2.30 if foo > 10: print(“foo is greater than 10”) else: print(“foo is less than or equal to 10”)#

Ikke ferdig#

Oppgaver:

Python#

Se på følgende eksempel

tall = 5
if tall > 3:
    print("Tallet " + str(tall) + " er mer enn tre")
    print("Vi er veldig fornøyd med det")
Tallet 5 er mer enn tre
Vi er veldig fornøyd med det

I en if-setning har vi først en test. Her er testen tall > 3. Testen er noe som er sant eller usant. Her blir det sant.

Så har vi noe som gjøres om testen er sant. Det er i Python skrevet med innrykk.

Vi kan også ha en ellers-del:

tall = 2
if tall > 3:
    print("Tallet " + str(tall) + " er mer enn tre")
    print("Vi er veldig fornøyd med det")
else: # I motsatt fall
    print("Tallet " + str(tall) + " er ikke mer enn tre")
Tallet 2 er ikke mer enn tre

For mer informasjon se W3schools.

Regneark#

Excel etc. har en =IF function (norsk: HVIS)

Flytdiagram#

Kompliserte if-algoritmer blir noen ganger tegnet i flytdiagram (flow diagrams).

Graph

Andre programmeringsspråk#

Alle fornuftige programmeringsspråk har if-setninger.

If kan sees som en funksjon med flere argument if(test, ifTrue). Noen ganger brukes en syntaks som får fram at if er en funksjon, andre granger brukes spesialsyntaks.

Datatyper#

Boolean#

Den sentrale typen i if-setninger er Boolean, altså sannhetsverdier. Det finnes bare to boolske verdier: True og False. Testen i en ifsetning er en boolsk verdi, som altså skal være enten sann eller usann.

print(True)
tall = 3
print(tall > 1)
print(tall > 4)
print(tall == 5)
print(tall == 3)
True
True
False
False
True

Legg merke til at er lik skrives med to likhetstegn ==. Ett likhetstegn betyr som sagt settes lik.

if True:
    print("True ja");
if 1 > 3:
    print("En er større enn tre")
else:
    print("En er ikke større enn tre")
a = 4
if a > 3:
    print("a er større enn tre")
else:
    print("Det er ikke sant at a er større enn tre")
True ja
En er ikke større enn tre
a er større enn tre

For mer informasjon se w3schools.

Mønstre#

TODO PRIMM

If inne i for#

TODO later after For

for tallet in range(15):
    print("Tallet er " + str(tallet));
    if tallet % 3 == 0:  #  “%” betyr rest.  Altså “Viss tallet, når det blir delt med 3, har rest 0” 
        print("Tallet " + str(tallet) + " er delelig med 3")
Tallet er 0
Tallet 0 er delelig med 3
Tallet er 1
Tallet er 2
Tallet er 3
Tallet 3 er delelig med 3
Tallet er 4
Tallet er 5
Tallet er 6
Tallet 6 er delelig med 3
Tallet er 7
Tallet er 8
Tallet er 9
Tallet 9 er delelig med 3
Tallet er 10
Tallet er 11
Tallet er 12
Tallet 12 er delelig med 3
Tallet er 13
Tallet er 14

Øvelse: Skriv et tall som skriver ut de fjorten første partallene (de første partallene er altså det dobbelte av de første heltallene).

Turtle#

Gå til Trinket.com og gjør oppgavene under Python→Conditionals.