1
00:00:02,743 --> 00:00:05,265
I det engelske sprog har vi
forskellige typer af ord,
2
00:00:05,265 --> 00:00:08,270
som navneord, adjektiver,
forholdsord, udsagnsord.
3
00:00:08,270 --> 00:00:10,750
Der er forskellige regler,
der fortæller os,
4
00:00:10,750 --> 00:00:12,175
hvordan vi sammensætter disse ord.
5
00:00:12,175 --> 00:00:21,731
Hvis jeg sagde, "Hund bøger min spiser",
så vil du sige, "hvad betyder det?".
6
00:00:21,731 --> 00:00:23,826
Hvis du ikke allerede ved det,
7
00:00:23,826 --> 00:00:27,593
så kan du åbenbart ikke sætte to navneord
foran et stedord foran et udsagnsord.
8
00:00:27,593 --> 00:00:28,587
Den går ikke.
9
00:00:28,587 --> 00:00:34,845
Men hvis jeg bytter om på dem og
siger, "Min hund spiser bøger",
10
00:00:34,845 --> 00:00:37,400
så ville du helt sikkert vide,
hvad jeg mener.
11
00:00:37,400 --> 00:00:42,576
Jeg kan erstatte udsagnsordet "spiser"
med et andet udsagnsord som "kaster"
12
00:00:42,576 --> 00:00:44,568
og det vil grammatisk set give mening,
13
00:00:44,568 --> 00:00:47,669
selvom du måske ikke kan forstille dig,
at min hund kaster en bog.
14
00:00:47,669 --> 00:00:50,191
I programmering i stedet for
forskellige typer af ord,
15
00:00:50,191 --> 00:00:51,905
har vi disse ting kaldet data typer.
16
00:00:51,905 --> 00:00:54,083
Du har allerede set en af dem: tal.
17
00:00:54,083 --> 00:00:56,623
Vi bruger ofte tal i vores tegne kode.
18
00:00:56,623 --> 00:00:59,854
I det engelske/danske sprog giver det
nogle gange mening at bruge tal
19
00:00:59,854 --> 00:01:01,185
og andre gange gør det ikke.
20
00:01:01,185 --> 00:01:05,775
Hvis jeg i denne funktion for baggrund
taster >100-<
21
00:01:05,775 --> 00:01:08,353
så bør det der kommer bagefter være et tal
22
00:01:08,353 --> 00:01:14,279
eller noget der kan udregnes
til et tal som >(14 + 15)<.
23
00:01:14,279 --> 00:01:20,341
Hvis jeg i stedet tastede >100< mellemrum,
så kan jeg ikke sætte et tal bagefter
24
00:01:20,341 --> 00:01:23,589
da >100 10< ikke giver mening.
25
00:01:23,589 --> 00:01:27,679
En anden type værdi i programmering
kaldes Boolske værdier.
26
00:01:27,679 --> 00:01:34,141
Den hedder Boolsk fordi en fyr
ved navn George Boole opfandt den.
27
00:01:34,141 --> 00:01:37,554
I modsætning til typen for tal,
som kan have masser af værdier,
28
00:01:37,554 --> 00:01:42,487
så kan en Boolsk type kun have
to værdier: sand eller falsk.
29
00:01:42,487 --> 00:01:44,764
Du kan se, når jeg taster dem,
så bliver de blå,
30
00:01:44,764 --> 00:01:46,994
hvilket betyder de er meget særlige ord.
31
00:01:46,994 --> 00:01:50,664
Du har allerede brugt den Boolske type,
selvom du måske ikke var klar over det
32
00:01:50,664 --> 00:01:51,676
i 'if' sætninger!
33
00:01:51,676 --> 00:01:53,246
Lad os se, hvordan de virker.
34
00:01:53,246 --> 00:01:59,216
Jeg erklærer en variable >var number = 40;
og giver den en værdi, 40 og
35
00:01:59,216 --> 00:02:10,377
taster >if (number < 50)<,
så vil jeg tegne den første ellipse.
36
00:02:10,377 --> 00:02:12,781
Jeg klippe klistrer dette
ind i if sætningen
37
00:02:12,781 --> 00:02:17,135
og indrykker ved at vælge det hele
og taste tab.
38
00:02:17,135 --> 00:02:20,007
Nu siger denne sætning, "if 'number' < 50"
39
00:02:20,007 --> 00:02:22,907
hvilket den er, så vil jeg
tegne ellipsen øverst til venstre".
40
00:02:22,907 --> 00:02:28,075
Hvis jeg laver 'number' større end 50,
så forsvinder ellipsen.
41
00:02:28,075 --> 00:02:32,577
Dette inde i parentesen er
faktisk et boolsk udtryk.
42
00:02:32,577 --> 00:02:40,317
Husk et matematik udtryk udregnes
til et tal, som 3 + 2 + 4 ⋅ 8.
43
00:02:40,317 --> 00:02:43,672
Et Boolsk udtryk udregnes
til en Boolsk værdi.
44
00:02:43,672 --> 00:02:46,766
En god måde at tjekke om et udtryk
udregnes til en Boolsk værdi er
45
00:02:46,766 --> 00:02:50,381
at sætte "Er" foran og
stille det som et spørgsmål.
46
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.
47
00:02:53,896 --> 00:02:56,824
Her siger vi altså, "Er 'number' < 50?"
48
00:02:56,824 --> 00:03:00,357
Ja det er, så det er et Boolsk udtryk.
49
00:03:00,384 --> 00:03:04,420
Hvis jeg derimod har "4 + 4" og
50
00:03:04,420 --> 00:03:07,893
siger, "Er 4 + 4?"
51
00:03:07,893 --> 00:03:10,554
Nej, det er ikke et Boolsk udtryk.
52
00:03:10,554 --> 00:03:11,989
Tilbage til vores if sætning.
53
00:03:11,989 --> 00:03:14,323
Jeg kan putte hvad som
helst inde i parentesen,
54
00:03:14,323 --> 00:03:17,338
så længe det er en Boolsk værdi
eller et Boolsk udtryk.
55
00:03:17,338 --> 00:03:20,942
Jeg kan taste >if (true)<
og så vil ellipsen altid tegnes.
56
00:03:20,942 --> 00:03:24,531
Eller jeg kan taste >if(false)<
og så bliver ellipsen aldrig tegnet.
57
00:03:24,531 --> 00:03:29,601
Jeg kan også taste >if (3 < 4)<,
som er et Boolsk udtryk,
58
00:03:29,601 --> 00:03:34,108
der altid vil være sandt - lidt dumt -
da ellipsen så altid bliver tegnet.
59
00:03:34,108 --> 00:03:37,866
Eller >if(3>4)< og
det vil altid være falsk.
60
00:03:37,866 --> 00:03:40,706
Jeg kan også tildele Boolske
værdier til variable, således:
61
00:03:40,706 --> 00:03:48,143
Jeg laver en ny variabel
>var winstonIsCool<
62
00:03:48,143 --> 00:03:51,391
og tildeler den en Boolsk værdi,
som 'true' eller 'false'.
63
00:03:51,391 --> 00:03:54,258
Jeg vælger >= true;<,
da Winston jo er cool.
64
00:03:54,258 --> 00:03:56,871
Nu da variablen har en Boolsk værdi,
65
00:03:56,871 --> 00:04:02,513
så kan jeg indsætte den
i denne 'if' sætning
66
00:04:02,513 --> 00:04:07,069
og du kan se, at ellipsen tegnes,
fordi 'winstonIsCool' er sand.
67
00:04:07,069 --> 00:04:10,737
Jeg kan også erstatte dette
med et Boolsk udtryk,
68
00:04:10,737 --> 00:04:15,221
som >2 < 4<.
69
00:04:15,221 --> 00:04:18,151
Når du laver en variable,
der skal bruge en Boolsk værdi,
70
00:04:18,151 --> 00:04:21,496
så bør du give den et navn, der
beskriver betingelsen, når den er sand.
71
00:04:21,496 --> 00:04:24,349
Du kan tjekke om du har valgt
et godt navn for variablen ved,
72
00:04:24,349 --> 00:04:27,642
at putte navnet ind i if sætningen
og se om betingelsen giver mening.
73
00:04:27,642 --> 00:04:30,705
Glem 'winstonIsCool',
det ved vi allerede er sandt.
74
00:04:30,705 --> 00:04:34,329
Lad os sige jeg navngiver
en variabel 'muffins'.
75
00:04:34,329 --> 00:04:37,153
"if (muffins)", hmm.
76
00:04:37,153 --> 00:04:41,176
Det betyder ingenting,
så det er et dårligt navn for en variabel.
77
00:04:41,176 --> 00:04:46,371
Hvis jeg siger "If (muffinsAreBaking)",
så fortæller det mig,
78
00:04:46,371 --> 00:04:50,655
når denne variabel er sand,
så bager vi muffins.
79
00:04:50,655 --> 00:04:53,996
Spørg mig ikke hvilken slags,
det er ikke vigtigt.
80
00:04:53,996 --> 00:04:58,731
Lad os gå tilbage til >if (number < 50)<
81
00:04:58,731 --> 00:05:00,028
Cool.
82
00:05:00,028 --> 00:05:02,192
Lad os se på nogle andre Boolske udtryk.
83
00:05:02,192 --> 00:05:05,426
Du har allerede set mindre end <
og større end >,
84
00:05:05,426 --> 00:05:08,837
men du kan også tjekke om
noget er mindre end eller lig med.
85
00:05:08,837 --> 00:05:12,777
Lad os prøve >if (number <= 48)<
86
00:05:12,777 --> 00:05:20,071
Vi kan også prøve >if (number >= 48)<.
87
00:05:20,071 --> 00:05:24,941
Hvis det er sandt,
så tegnes ellipsen øverst til højre.
88
00:05:24,941 --> 00:05:27,226
Indryk.
89
00:05:27,226 --> 00:05:31,341
Hvis du vil tjekke om to ting
er lig med hinanden,
90
00:05:31,341 --> 00:05:39,053
så tastes >if (number === 48)<.,
altså tre lighedstegn efter hinanden.
91
00:05:39,053 --> 00:05:41,823
Det er ligesom det lighedstegn,
du bruger i matematik,
92
00:05:41,823 --> 00:05:44,372
men du har tre af dem efter hinanden.
93
00:05:44,372 --> 00:05:46,141
Lidt vel rigeligt, ikke?
94
00:05:46,141 --> 00:05:51,346
Til sidst kan vi tjekke om to ting IKKE
er lig hinanden ved at at taste
95
00:05:51,346 --> 00:05:59,361
>if (number ! == 48)<
96
00:05:59,361 --> 00:06:03,553
Dette er for den sidste ellipse.
97
00:06:03,553 --> 00:06:07,757
Øverst kan vi se, at 'number' er lig 48.
98
00:06:07,757 --> 00:06:11,735
Det er derfor mindre eller lig med 48,
og ellipsen øverst til venstre tegnes.
99
00:06:11,735 --> 00:06:16,257
Det er også større end eller lig 48
og lig 48,
100
00:06:16,257 --> 00:06:21,126
men det er ikke IKKE lig 48, så derfor
mangler ellipsen nederste til højre.
101
00:06:21,126 --> 00:06:26,576
Vi kan ændre værdien af 'number', du kan
se det ændrer, hvilke ellipser der tegnes.
102
00:06:26,576 --> 00:06:29,449
Nu kender I til Boolske udtryk.
103
00:06:29,449 --> 00:06:33,359
Ligesom matematiske udtryk, så kan
Boolske udtryk blive ret kompliceret.
104
00:06:33,359 --> 00:06:36,297
Men det vil vi snakke om en anden gang.