WEBVTT
00:00:02.743 --> 00:00:05.265
I det engelske sprog har vi
forskellige typer af ord,
00:00:05.265 --> 00:00:08.270
som navneord, adjektiver,
forholdsord, udsagnsord.
00:00:08.270 --> 00:00:10.610
Der er forskellige regler,
der fortæller os,
00:00:10.610 --> 00:00:12.263
hvordan vi sammensætter disse ord.
00:00:12.263 --> 00:00:21.731
Hvis jeg sagde, "Hund bøger min spiser",
så vil du sige, "hvad betyder det?".
00:00:21.731 --> 00:00:23.826
Hvis du ikke allerede ved det,
00:00:23.826 --> 00:00:27.593
så kan du åbenbart ikke sætte to navneord
foran et stedord foran et udsagnsord.
00:00:27.593 --> 00:00:28.587
Den går ikke.
00:00:28.587 --> 00:00:34.845
Men hvis jeg bytter om på dem og
siger, "Min hund spiser bøger",
00:00:34.845 --> 00:00:37.400
så ville du helt sikkert vide,
hvad jeg mener.
00:00:37.400 --> 00:00:42.576
Jeg kan erstatte udsagnsordet "spiser"
med et andet udsagnsord som "kaster"
00:00:42.576 --> 00:00:44.568
og det vil grammatisk set give mening,
00:00:44.568 --> 00:00:47.669
selvom du måske ikke kan forstille dig,
at min hund kaster en bog.
00:00:47.669 --> 00:00:50.191
I programmering i stedet for
forskellige typer af ord,
00:00:50.191 --> 00:00:51.905
har vi disse ting kaldet data typer.
00:00:51.905 --> 00:00:54.083
Du har allerede set en af dem: tal.
00:00:54.083 --> 00:00:56.623
Vi bruger ofte tal i vores tegne kode.
00:00:56.623 --> 00:00:59.854
I det engelske/danske sprog giver det
nogle gange mening at bruge tal
00:00:59.854 --> 00:01:01.185
og andre gange gør det ikke.
00:01:01.185 --> 00:01:05.775
Hvis jeg i denne funktion for baggrund
taster >100-<
00:01:05.775 --> 00:01:08.353
så bør det der kommer bagefter være et tal
00:01:08.353 --> 00:01:14.279
eller noget der kan udregnes
til et tal som >(14 + 15)<.
00:01:14.279 --> 00:01:20.341
Hvis jeg i stedet tastede >100< mellemrum,
så kan jeg ikke sætte et tal bagefter
00:01:20.341 --> 00:01:23.589
da >100 10< ikke giver mening.
00:01:23.589 --> 00:01:27.679
En anden type værdi i programmering
kaldes Boolske værdier.
00:01:27.679 --> 00:01:34.141
Den hedder Boolsk fordi en fyr
ved navn George Boole opfandt den.
00:01:34.141 --> 00:01:37.554
I modsætning til typen for tal,
som kan have masser af værdier,
00:01:37.554 --> 00:01:42.487
så kan en Boolsk type kun have
to værdier: sand eller falsk.
00:01:42.487 --> 00:01:44.764
Du kan se, når jeg taster dem,
så bliver de blå,
00:01:44.764 --> 00:01:46.994
hvilket betyder de er meget særlige ord.
00:01:46.994 --> 00:01:50.664
Du har allerede brugt den Boolske type,
selvom du måske ikke var klar over det
00:01:50.664 --> 00:01:51.676
i 'if' sætninger!
00:01:51.676 --> 00:01:53.246
Lad os se, hvordan de virker.
00:01:53.246 --> 00:01:59.216
Jeg erklærer en variable >var number = 40;
og giver den en værdi, 40 og
00:01:59.216 --> 00:02:10.377
taster >if (number < 50)<,
så vil jeg tegne den første ellipse.
00:02:10.377 --> 00:02:12.781
Jeg klippe klistrer dette
ind i if sætningen
00:02:12.781 --> 00:02:17.135
og indrykker ved at vælge det hele
og taste tab.
00:02:17.135 --> 00:02:20.007
Nu siger denne sætning, "if 'number' < 50"
00:02:20.007 --> 00:02:22.907
hvilket den er, så vil jeg
tegne ellipsen øverst til venstre".
00:02:22.907 --> 00:02:28.075
Hvis jeg laver 'number' større end 50,
så forsvinder ellipsen.
00:02:28.075 --> 00:02:32.577
Dette inde i parentesen er
faktisk et boolsk udtryk.
00:02:32.577 --> 00:02:40.317
Husk et matematik udtryk udregnes
til et tal, som 3 + 2 + 4 ⋅ 8.
00:02:40.317 --> 00:02:43.672
Et Boolsk udtryk udregnes
til en Boolsk værdi.
00:02:43.672 --> 00:02:46.766
En god måde at tjekke om et udtryk
udregnes til en Boolsk værdi er
00:02:46.766 --> 00:02:50.381
at sætte "Er" foran og
stille det som et spørgsmål.
00:02:50.381 --> 00:02:53.896
Hvis det lyder som et ja/nej spørgsmål,
så ved du det er et Boolsk udtryk.
00:02:53.896 --> 00:02:56.824
Her siger vi altså, "Er 'number' < 50?"
00:02:56.824 --> 00:03:00.357
Ja det er, så det er et Boolsk udtryk.
00:03:00.384 --> 00:03:04.420
Hvis jeg derimod har "4 + 4" og
00:03:04.420 --> 00:03:07.893
siger, "Er 4 + 4?"
00:03:07.893 --> 00:03:10.554
Nej, det er ikke et Boolsk udtryk.
00:03:10.554 --> 00:03:11.989
Tilbage til vores if sætning.
00:03:11.989 --> 00:03:14.323
Jeg kan putte hvad som
helst inde i parentesen,
00:03:14.323 --> 00:03:17.338
så længe det er en Boolsk værdi
eller et Boolsk udtryk.
00:03:17.338 --> 00:03:20.942
Jeg kan taste >if (true)<
og så vil ellipsen altid tegnes.
00:03:20.942 --> 00:03:24.531
Eller jeg kan taste >if(false)<
og så bliver ellipsen aldrig tegnet.
00:03:24.531 --> 00:03:29.601
Jeg kan også taste >if (3 < 4)<,
som er et Boolsk udtryk,
00:03:29.601 --> 00:03:34.108
der altid vil være sandt - lidt dumt -
da ellipsen så altid bliver tegnet.
00:03:34.108 --> 00:03:37.866
Eller >if(3>4)< og
det vil altid være falsk.
00:03:37.866 --> 00:03:40.706
Jeg kan også tildele Boolske
værdier til variable, således:
00:03:40.706 --> 00:03:48.143
Jeg laver en ny variabel
>var winstonIsCool<
00:03:48.143 --> 00:03:51.391
og tildeler den en Boolsk værdi,
som 'true' eller 'false'.
00:03:51.391 --> 00:03:54.258
Jeg vælger >= true;<,
da Winston jo er cool.
00:03:54.258 --> 00:03:56.871
Nu da variablen har en Boolsk værdi,
00:03:56.871 --> 00:04:02.513
så kan jeg indsætte den
i denne 'if' sætning
00:04:02.513 --> 00:04:07.069
og du kan se, at ellipsen tegnes,
fordi 'winstonIsCool' er sand.
00:04:07.069 --> 00:04:10.737
Jeg kan også erstatte dette
med et Boolsk udtryk,
00:04:10.737 --> 00:04:15.221
som >2 < 4<.
00:04:15.221 --> 00:04:18.151
Når du laver en variable,
der skal bruge en Boolsk værdi,
00:04:18.151 --> 00:04:21.496
så bør du give den et navn, der
beskriver betingelsen, når den er sand.
00:04:21.496 --> 00:04:24.349
Du kan tjekke om du har valgt
et godt navn for variablen ved,
00:04:24.349 --> 00:04:27.642
at putte navnet ind i if sætningen
og se om betingelsen giver mening.
00:04:27.642 --> 00:04:30.705
Glem 'winstonIsCool',
det ved vi allerede er sandt.
00:04:30.705 --> 00:04:34.329
Lad os sige jeg navngiver
en variabel 'muffins'.
00:04:34.329 --> 00:04:37.153
"if (muffins)", hmm.
00:04:37.153 --> 00:04:41.176
Det betyder ingenting,
så det er et dårligt navn for en variabel.
00:04:41.176 --> 00:04:46.371
Hvis jeg siger "If (muffinsAreBaking)",
så fortæller det mig,
00:04:46.371 --> 00:04:50.655
når denne variabel er sand,
så bager vi muffins.
00:04:50.655 --> 00:04:53.996
Spørg mig ikke hvilken slags,
det er ikke vigtigt.
00:04:53.996 --> 00:04:58.731
Lad os gå tilbage til >if (number < 50)<
00:04:58.731 --> 00:05:00.028
Cool.
00:05:00.028 --> 00:05:02.192
Lad os se på nogle andre Boolske udtryk.
00:05:02.192 --> 00:05:05.426
Du har allerede set mindre end <
og større end >,
00:05:05.426 --> 00:05:08.837
men du kan også tjekke om
noget er mindre end eller lig med.
00:05:08.837 --> 00:05:12.777
Lad os prøve >if (number <= 48)<
00:05:12.777 --> 00:05:20.071
Vi kan også prøve >if (number >= 48)<.
00:05:20.071 --> 00:05:24.941
Hvis det er sandt,
så tegnes ellipsen øverst til højre.
00:05:24.941 --> 00:05:27.226
Indryk.
00:05:27.226 --> 00:05:31.341
Hvis du vil tjekke om to ting
er lig med hinanden,
00:05:31.341 --> 00:05:39.053
så tastes >if (number === 48)<.,
altså tre lighedstegn efter hinanden.
00:05:39.053 --> 00:05:41.823
Det er ligesom det lighedstegn,
du bruger i matematik,
00:05:41.823 --> 00:05:44.372
men du har tre af dem efter hinanden.
00:05:44.372 --> 00:05:46.141
Lidt vel rigeligt, ikke?
00:05:46.141 --> 00:05:51.346
Til sidst kan vi tjekke om to ting IKKE
er lig hinanden ved at at taste
00:05:51.346 --> 00:05:59.361
>if (number ! == 48)<
00:05:59.361 --> 00:06:03.553
Dette er for den sidste ellipse.
00:06:03.553 --> 00:06:07.757
Øverst kan vi se, at 'number' er lig 48.
00:06:07.757 --> 00:06:11.735
Det er derfor mindre eller lig med 48,
og ellipsen øverst til venstre tegnes.
00:06:11.735 --> 00:06:16.257
Det er også større end eller lig 48
og lig 48,
00:06:16.257 --> 00:06:21.126
men det er ikke IKKE lig 48, så derfor
mangler ellipsen nederste til højre.
00:06:21.126 --> 00:06:26.576
Vi kan ændre værdien af 'number', du kan
se det ændrer, hvilke ellipser der tegnes.
00:06:26.576 --> 00:06:29.449
Nu kender I til Boolske udtryk.
00:06:29.449 --> 00:06:33.359
Ligesom matematiske udtryk, så kan
Boolske udtryk blive ret kompliceret.
00:06:33.359 --> 00:06:36.297
Men det vil vi snakke om en anden gang.