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