Else-if

Fra Holstebro HTX Wiki
Skift til: navigering, søgning

Else-if struktur

En else-if-struktur er en god struktur at anvende, hvis man har en række logiske betingelser man vil skelne imellem.

Teknisk set er det ikke en struktur, men blot en speciel måde at sammenskrive if-else på, men rent sprogteknisk er det godt at betragte den som en struktur, når man skal løse et programmeringsproblem der passer til denne struktur.

Strukturen kan se ud som følger:

 if (tal < 7) {
   alert("tallet er under 7");
 } else if (tal < 9) {
   alert("tallet er under 9");
 } else if (tal < 13) {
   alert("tallet er under 13");
 } else {
   alert("tallet er 13 eller derover");
 }

if er starten på strukturen, og er det der definerer at det er en if-sætning.

() skal efterfølge if, og inden i parentesen skal den første betingelse stå. I dette tilfælde er betingelsen sand, hvis variablen tal er mindre end 7.

{ efter parentesen og ned til den afsluttende } før else if angiver den del af koden der skal udføres, hvis tallet er mindre end 7.

De efterfølgende } else if (tal < xxx) { angiver at de næste områder, hvis de foregående områder er falske

{ efter den sidste else og ned til den afsluttende } angiver den del af koden der skal udføres, hvis ingen af de andre betingelser bliver opfyldt.

Flowchart

Hvis man udtrykker ovenstående kode som flowchart, så vil det komme til at se ud som følger:

Flowchart der illustrerer en else-if struktur

Eksempel på else-if struktur

<html>
<head>
  <title>else-if</title>
<script type="text/javascript" language="JavaScript">
// javaScript funktioner og variable

function vis() {
	var graense = 50;
	var tal = prompt("Indtast et tal : ", 70);
	if (isNaN(tal)) {
		alert("Det indtastede var ikke et tal");
	} else if (tal > graense) {
		alert("Det indtastede tal " + tal + " var større end " + graense);
	} else {
		alert("Det indtastede tal " + tal + " var ikke større end " + graense);
	}
}

function vis2() {
	var gr1 = 2;
	var gr2 = 4.4;
	var gr3 = 7;
	var tal = prompt("Indtast et tal : ", 2.3);
	if (isNaN(tal)) {
		alert("Det indtastede var ikke et tal");
	} else if (tal < 0) {
		alert("Det indtastede tal " + tal + " var negativt");
	} else if (tal < gr1) {
		alert("Det indtastede tal " + tal + " var mindre end " + gr1);
	} else if (tal < gr2) {
		alert("Det indtastede tal " + tal + " var større end eller lig med " + gr1 + " men mindre end " + gr2);
	} else if (tal < gr3) {
		alert("Det indtastede tal " + tal + " var større end eller lig med " + gr2 + " men mindre end " + gr3);
	} else {
		alert("Det indtastede tal " + tal + " var større end eller lig med " + gr3);
	}
}
</script>
</head>

<body>
<h1>else-if strukturen</h1>
<p>I funktionerne vises hvordan en else-if struktur ser ud, og hvordan den kan bruges.</p>

<p><input type="button" value="Klik her for at se funktionen" onClick="vis();"></p>
<p><input type="button" value="Klik her for at undersøge vis2" onClick="vis2();"></p>

</body>
</html>

Koden kan hentes i denne ZIP-fil