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.