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.