next up previous contents index
Next: For-løkker Up: Sætninger til kontrol af Previous: Sætninger til kontrol af   Contents   Index


If-sætninger

Denne type sætning anvendes, hvor man ønsker specielle kommandoer udført såfremt en given betingelse er opfyldt. Man kan formulere dette som en sætning der lyder:
      HVIS betingelse 
         kommando 1
      ELLERS
         kommando 2
      SLUT
Dette betyder at hvis en given betingelse er opfyldt skal kommando 1 udføres ellers (hvis betingelsen ikke er opfyldt) skal kommando 2 udføres. På intet tidspunkt vil både kommando 1 og 2 blive udført. De ord, der står med store bogstaver er vigtige nøgleord.

Eksempel

I stedet for ordet 'betingelse' kan der f.eks stå a < 0 hvilket er et udtryk, der kan evalueres til sand eller falsk. Er denne betingelse opfyldt skal kommandoen a = a/b udføres og hvis ikke skal kommandoen a = b/a udføres. Nøgleordene skrives på engelsk og i MATLAB kan der nu formuleres:
      if a < 0
         a = a/b
      else
         a = b/a
      end
Det er vigtigt at afslutte med ordet end, fordi på kommando 2's (som på kommando 1's) plads kan der stå vilkårlig mange kommandoer og end indikerer, at her slutter hele if-sætningen. Linieskift og indryk er ikke nødvendigt. Man kunne også adskille udtryk og kommandoer med kommaer. MATLAB vil således også kunne forstå sætningen udformet som:
      if a < 0 , a = a/b, else , a = b/a , end
$ \Box$

Ved mere omfattende sætninger øger det dog læsbarheden væsentligt med linieskift og indryk, hvilket er en meget anvendt måde at opskrive programkode på.

Bemærk, at der i stedet for kommando kan komme endnu en if-sætning. Der behøver ikke komme kommandoer efter else og i det tilfælde skrives blot end i stedet for else. Hvis betingelsen ikke er opfyldt udføres således ingen kommandoer og MATLAB går videre med de kommandoer, der eventuelt måtte stå efter end.

Eksempel

I MATLAB er der indbygget en speciel udgav af else, der kan anvendes hvor flere if-sætninger anvendes indeni hinanden. F.eks:
      if A
         x = a
      else
         if B
            x = b 
         else
            if C
               x = c
            else 
               x = d
            end 
         end 
      end
Det kan være ret forvirrende at følge med i, hvor en if-sætning starter og slutter helt præcist. Variablen x bliver tildelt en værdi afhængig af tre betingelser A, B og C. Mere overskueligt kan det nu skrives:
      if A
        x = a
      elseif B
        x = b
      elseif C
        x = c
      else 
        x = d
      end
$ \Box$


next up previous contents index
Next: For-løkker Up: Sætninger til kontrol af Previous: Sætninger til kontrol af   Contents   Index
Bo Jakobsen 2000-08-15