-
I det engelske sprog har vi
forskellige typer af ord,
-
som navneord, adjektiver,
forholdsord, udsagnsord.
-
Der er forskellige regler,
der fortæller os,
-
hvordan vi sammensætter disse ord.
-
Hvis jeg sagde, "Hund bøger min spiser",
så vil du sige, "hvad betyder det?".
-
Hvis du ikke allerede ved det,
-
så kan du åbenbart ikke sætte to navneord
foran et stedord foran et udsagnsord.
-
Den går ikke.
-
Men hvis jeg bytter om på dem og
siger, "Min hund spiser bøger",
-
så ville du helt sikkert vide,
hvad jeg mener.
-
Jeg kan erstatte udsagnsordet "spiser"
med et andet udsagnsord som "kaster"
-
og det vil grammatisk set give mening,
-
selvom du måske ikke kan forstille dig,
at min hund kaster en bog.
-
I programmering i stedet for
forskellige typer af ord,
-
har vi disse ting kaldet data typer.
-
Du har allerede set en af dem: tal.
-
Vi bruger ofte tal i vores tegne kode.
-
I det engelske/danske sprog giver det
nogle gange mening at bruge tal
-
og andre gange gør det ikke.
-
Hvis jeg i denne funktion for baggrund
taster >100-<
-
så bør det der kommer bagefter være et tal
-
eller noget der kan udregnes
til et tal som >(14 + 15)<.
-
Hvis jeg i stedet tastede >100< mellemrum,
så kan jeg ikke sætte et tal bagefter
-
da >100 10< ikke giver mening.
-
En anden type værdi i programmering
kaldes Boolske værdier.
-
Den hedder Boolsk fordi en fyr
ved navn George Boole opfandt den.
-
I modsætning til typen for tal,
som kan have masser af værdier,
-
så kan en Boolsk type kun have
to værdier: sand eller falsk.
-
Du kan se, når jeg taster dem,
så bliver de blå,
-
hvilket betyder de er meget særlige ord.
-
Du har allerede brugt den Boolske type,
selvom du måske ikke var klar over det
-
i 'if' sætninger!
-
Lad os se, hvordan de virker.
-
Jeg erklærer en variable >var number = 40;
og giver den en værdi, 40 og
-
taster >if (number < 50)<,
så vil jeg tegne den første ellipse.
-
Jeg klippe klistrer dette
ind i if sætningen
-
og indrykker ved at vælge det hele
og taste tab.
-
Nu siger denne sætning, "if 'number' < 50"
-
hvilket den er, så vil jeg
tegne ellipsen øverst til venstre".
-
Hvis jeg laver 'number' større end 50,
så forsvinder ellipsen.
-
Dette inde i parentesen er
faktisk et boolsk udtryk.
-
Husk et matematik udtryk udregnes
til et tal, som 3 + 2 + 4 ⋅ 8.
-
Et Boolsk udtryk udregnes
til en Boolsk værdi.
-
En god måde at tjekke om et udtryk
udregnes til en Boolsk værdi er
-
at sætte "Er" foran og
stille det som et spørgsmål.
-
Hvis det lyder som et ja/nej spørgsmål,
så ved du det er et Boolsk udtryk.
-
Her siger vi altså, "Er 'number' < 50?"
-
Ja det er, så det er et Boolsk udtryk.
-
Hvis jeg derimod har "4 + 4" og
-
siger, "Er 4 + 4?"
-
Nej, det er ikke et Boolsk udtryk.
-
Tilbage til vores if sætning.
-
Jeg kan putte hvad som
helst inde i parentesen,
-
så længe det er en Boolsk værdi
eller et Boolsk udtryk.
-
Jeg kan taste >if (true)<
og så vil ellipsen altid tegnes.
-
Eller jeg kan taste >if(false)<
og så bliver ellipsen aldrig tegnet.
-
Jeg kan også taste >if (3 < 4)<,
som er et Boolsk udtryk,
-
der altid vil være sandt - lidt dumt -
da ellipsen så altid bliver tegnet.
-
Eller >if(3>4)< og
det vil altid være falsk.
-
Jeg kan også tildele Boolske
værdier til variable, således:
-
Jeg laver en ny variabel
>var winstonIsCool<
-
og tildeler den en Boolsk værdi,
som 'true' eller 'false'.
-
Jeg vælger >= true;<,
da Winston jo er cool.
-
Nu da variablen har en Boolsk værdi,
-
så kan jeg indsætte den
i denne 'if' sætning
-
og du kan se, at ellipsen tegnes,
fordi 'winstonIsCool' er sand.
-
Jeg kan også erstatte dette
med et Boolsk udtryk,
-
som >2 < 4<.
-
Når du laver en variable,
der skal bruge en Boolsk værdi,
-
så bør du give den et navn, der
beskriver betingelsen, når den er sand.
-
Du kan tjekke om du har valgt
et godt navn for variablen ved,
-
at putte navnet ind i if sætningen
og se om betingelsen giver mening.
-
Glem 'winstonIsCool',
det ved vi allerede er sandt.
-
Lad os sige jeg navngiver
en variabel 'muffins'.
-
"if (muffins)", hmm.
-
Det betyder ingenting,
så det er et dårligt navn for en variabel.
-
Hvis jeg siger "If (muffinsAreBaking)",
så fortæller det mig,
-
når denne variabel er sand,
så bager vi muffins.
-
Spørg mig ikke hvilken slags,
det er ikke vigtigt.
-
Lad os gå tilbage til >if (number < 50)<
-
Cool.
-
Lad os se på nogle andre Boolske udtryk.
-
Du har allerede set mindre end <
og større end >,
-
men du kan også tjekke om
noget er mindre end eller lig med.
-
Lad os prøve >if (number <= 48)<
-
Vi kan også prøve >if (number >= 48)<.
-
Hvis det er sandt,
så tegnes ellipsen øverst til højre.
-
Indryk.
-
Hvis du vil tjekke om to ting
er lig med hinanden,
-
så tastes >if (number === 48)<.,
altså tre lighedstegn efter hinanden.
-
Det er ligesom det lighedstegn,
du bruger i matematik,
-
men du har tre af dem efter hinanden.
-
Lidt vel rigeligt, ikke?
-
Til sidst kan vi tjekke om to ting IKKE
er lig hinanden ved at at taste
-
>if (number ! == 48)<
-
Dette er for den sidste ellipse.
-
Øverst kan vi se, at 'number' er lig 48.
-
Det er derfor mindre eller lig med 48,
og ellipsen øverst til venstre tegnes.
-
Det er også større end eller lig 48
og lig 48,
-
men det er ikke IKKE lig 48, så derfor
mangler ellipsen nederste til højre.
-
Vi kan ændre værdien af 'number', du kan
se det ændrer, hvilke ellipser der tegnes.
-
Nu kender I til Boolske udtryk.
-
Ligesom matematiske udtryk, så kan
Boolske udtryk blive ret kompliceret.
-
Men det vil vi snakke om en anden gang.