Bookmark and Share

Svårighetsgrad
Svårighetsgrad
Betyg (38 röster)
BetygBetygBetygBetygBetyg
 

IF-satsen

Detta är en konstruktion som du kan använda för att styra vad som ska göras i ditt program. Nästan alla program reagerar olika beroende på vad du matar in i dem. Idag ska vi lära oss att göra olika saker beroende på vad som matas in.

Kort om flöde

I alla programmeringsspråk finns något som man kallar för selection. Att man på något sätt kan välja vad som ska göras eller inte. Det allra vanligaste sättet att styra program är att använda den världsberömda if-satsen. Med den formulerar man ett villkor i programkoden som antingen kan vara sant eller falskt. Om villkoret stämmer så körs den kod man formulerat, annars hoppar exekveringen förbi. Man kan även lägga till else som då bara körs om if-satsen inte körs.

Exempel:

Alternativt:

Innan vi tittar på några exempel så måste vi också lära oss hur vi formulerar dessa villkor. Det enda språket som datorerna förstår är matematik. En viktig sak att veta är att:

Kort om villkor

Villkor formulerar man som boolsk'a uttryck, d v s "sant eller falskt"-logik. Man formulerar alltså uttryck som antingen kan stämma eller vara falska (1 eller 0). Med hjälp av detta kan vi formulera villkoren till våra if- och while-satser. Till sin hjälp har man olika operatorer.

Listan med operatorer nedan måste du lära dig för att snabbt kunna formulera vad du vill att ditt program ska göra. Exempel följer.

Logiska operatorer

== Jämförelse. Lika med.
!= Skiljt från. Inte lika med.
! Invertering (NOT)
< Mindre än
> Större än
<= Mindre eller lika med.
>= Större eller lika med.
&& OCH (AND) för att kombinera flera villkor.
|| ELLER (OR) för att kombinera flera villkor.

I exemplet nedan är tal1 och tal2 heltalsvariabler (int).

Matematiska operatorer

När man formulerar villkor blandar man gärna in matematiska funktioner för att avgöra vad man ska göra. T ex kanske man vill göra något speciellt om man har ett jämnt eller udda antal av något. Till vår hjälp har vi följande mycket användbara operatorer:

+ - * / De vanliga räknesätten
% Resten vid en division (modulo)

Studera följande kod och gissa vad programmet gör.

I följande exempel så används endast en Button , Label och en TextBox. Dubbelklicka på knappen i det grafiska läget för att skapa event'et som kopplas till själva knapptryckningen.

bild

If, else if och else

Tillsammans med en if-sats kan du ha ett antal else if-block och eventuellt ett avslutande else-block. Detta garanterar dig att endeast ETT block körs i din kod. Vilket block det blir beror på vilket villkor som FÖRST inträffar.

Skulle inget villkor vara sant så körs alltid den avslutande else-satsen, om det finns en sådan. Se exemplet nedan.

Man kan ha hur många else if-block som helst men du måste inleda med en if-sats.

Har du flera enskilda if-satser så kan alla gälla. Ingen utesluter någon annan.

Videogenomgång

Övningar

Övning 1

Skriv ett program där du matar in mönstredjupet på sommardäck. Om mönsterdjupet är under 1,6mm skall texten "Olagligt däck!" skrivas ut, annars ska texten "Lagligt däck!" skrivas ut. Använd if och else. Använd även lämplig variabeltyp.

bild

Komplettera gärna sedan programmet med att skriva ut hur många mm du har kvar innan däcket blir olagligt i det fall du matar in ett lagligt däck.

Övning 2

Du ska registrera ålder vid en mässa. Beroende på ålder så ska besökarna få olika färger på sin bricka. Skriv ett program som svarar med rätt färg enligt tabellen:
  • 0-12, vit
  • 13-18, grön
  • 19-25, röd
  • 26-99, blå
  • Övrig ålder, skriv ut "Ogiltig ålder"

bild

Övning 3

Skriv ett program där två tal matas in. Använd variabeltypen decimal. Programmet ska sedan tala om vilket tal som var störst och skriva ut detta. Om båda talen var lika så ska detta presenteras. Se exempel nedan:

bild

Övning 4

Skriv ett program som undersöker delbarhet med 7. Använd heltal (int). Ett tal matas in och programmet svarar om det är jämt delbart med 7 eller om det blir någon rest. Se exempel nedan:

bild

Viktiga begrepp

  • selection
  • villkor/(eng. condition)
  • sant/(eng. true)
  • falskt/(eng. false)

Kommentarer

8 inlägg