WEBVTT 00:00:00.000 --> 00:00:03.800 We hebben al een supercoole variabele 00:00:03.800 --> 00:00:05.502 voor Winston zijn ooggrootte 00:00:05.502 --> 00:00:07.093 Dat was echt makkelijk 00:00:07.093 --> 00:00:09.036 Omdat het ons veel typwerk scheelde 00:00:09.036 --> 00:00:10.695 als we zijn ogen wilden veranderen 00:00:10.695 --> 00:00:11.649 Denk er aan 00:00:11.649 --> 00:00:13.573 Voor we variabelen hadden moesten we 00:00:13.573 --> 00:00:16.130 op vier plaatsen getallen veranderen 00:00:16.130 --> 00:00:17.962 maar kunnen we variabele gebruiken 00:00:17.962 --> 00:00:19.750 als niet alle nummers hetzelfde zijn? 00:00:19.750 --> 00:00:21.726 Wat als ik Winston een beetje wil verplaatsen? 00:00:21.726 --> 00:00:23.640 Ik kan ieder van de x coordinaten veranderen 00:00:23.640 --> 00:00:24.180 maar.... 00:00:24.180 --> 00:00:25.871 ze zijn niet allemaal hetzelfde 00:00:25.871 --> 00:00:28.579 dus ik kan ze niet zomaar vervangen door variabelen 00:00:28.579 --> 00:00:29.341 Maar wacht..... 00:00:29.341 --> 00:00:31.591 als ik eenmaal een nummer aan een variabel heb toegekend 00:00:31.591 --> 00:00:33.080 dan kan ik die variabele gebruiken net 00:00:33.080 --> 00:00:34.593 alsof het dat nummer is 00:00:34.593 --> 00:00:35.692 wat betekent dat... 00:00:35.692 --> 00:00:37.364 ik variabelen kan gebruiken om mee te rekenen 00:00:37.364 --> 00:00:38.482 Wat denk je hiervan? 00:00:38.482 --> 00:00:39.988 Laten we een variabele maken 00:00:39.988 --> 00:00:41.546 voor de x positie van Winston 00:00:41.546 --> 00:00:44.375 Ik schrijf "var x", dat is alles 00:00:44.375 --> 00:00:46.398 Ok, laten we x nu de waarde geven 00:00:46.398 --> 00:00:47.912 van Winston zijn gezicht 00:00:47.912 --> 00:00:54.773 dus de x coordinaat van zijn gezicht wordt 200 00:00:54.773 --> 00:00:56.539 Nou kan ik dit nummer vervangen 00:00:56.539 --> 00:00:59.053 door mijn nieuwe variabele x 00:00:59.053 --> 00:01:00.515 en als ik de waarde van x wijzig 00:01:00.515 --> 00:01:01.682 dan beweegt Winstons gezicht 00:01:01.682 --> 00:01:05.224 maar niet zijn ogen of mond 00:01:05.224 --> 00:01:07.816 om dat goed te krijgen 00:01:07.816 --> 00:01:10.997 gaan we de positie van zijn ogen en mond definieren 00:01:10.997 --> 00:01:14.039 relatief ten opzichte van de positie van zijn gezicht 00:01:14.039 --> 00:01:15.990 Dus de x coordinaat is het midden van zijn gezicht 00:01:15.990 --> 00:01:19.376 dus de x is het midden van zijn gezicht 00:01:19.376 --> 00:01:21.349 dus die is 200 00:01:21.349 --> 00:01:24.522 en laten we eerst zijn linker oog doen 00:01:24.522 --> 00:01:26.993 Deze ellips is zijn linker ook en we zien 00:01:26.993 --> 00:01:29.788 het getekent is op 150 00:01:29.788 --> 00:01:33.480 dus als ik hier kijk, dan is dat 150 00:01:33.480 --> 00:01:37.510 en ik weet dat 150 50 minder is dan 200 00:01:37.510 --> 00:01:39.293 dus zijn oog moet zijn... 00:01:39.293 --> 00:01:41.032 waar ook zijn gezicht zich bevindt 00:01:41.032 --> 00:01:42.530 min 50 00:01:42.530 --> 00:01:43.815 dus het moet zijn x 00:01:43.815 --> 00:01:45.740 wat aangeeft waar zijn gezicht is 00:01:45.740 --> 00:01:47.369 -50 00:01:47.369 --> 00:01:50.543 En nu als ik de waarde van de x coordinaat wijzig 00:01:50.543 --> 00:01:53.978 beweegt zijn oog mee 00:01:53.978 --> 00:01:55.752 Laten we de andere doen 00:01:55.752 --> 00:01:59.172 Dus ik zien dat zijn rechter oog op 300 getekent is 00:01:59.188 --> 00:02:01.738 dus dit hier is 300 00:02:01.738 --> 00:02:05.709 En van 300 weet ik dat het 100 meer is dan 200 00:02:05.709 --> 00:02:08.062 dus zijn rechter oog moet zijn 00:02:08.062 --> 00:02:10.175 waar ook zijn gezicht is plus 100 00:02:10.175 --> 00:02:12.423 dat is x + 100 00:02:12.423 --> 00:02:14.783 en nu gaan we naar zijn mond 00:02:14.783 --> 00:02:16.527 Zijn mond is getekent op 250 00:02:16.527 --> 00:02:18.610 dus hier hebben we 250 00:02:18.610 --> 00:02:23.130 en 250 is 200 plus 50 00:02:23.130 --> 00:02:27.808 Dus het is waar, oh, dat is een 5, ook zijn gezicht is 00:02:27.808 --> 00:02:31.118 x plus 50 00:02:31.170 --> 00:02:33.106 En nu veeg ik mijn krabbels weg 00:02:33.106 --> 00:02:36.505 Steeds als ik de waarde van x verander 00:02:36.505 --> 00:02:38.038 beweegt zijn gezicht 00:02:38.038 --> 00:02:39.604 yeeeeah! 00:02:39.604 --> 00:02:41.644 Nou voordat je gaat moet je nog 00:02:41.644 --> 00:02:43.143 een paar zaken weten over variabelen 00:02:43.143 --> 00:02:45.623 Als je eenmaal een variabele hebt gecreeert 00:02:45.626 --> 00:02:47.095 zoals "var x" 00:02:47.095 --> 00:02:49.313 geef je hem een waarde zo vaak als je wilt 00:02:49.313 --> 00:02:53.158 Dus nadat je hem de waarde 189 hebt gegeven 00:02:53.158 --> 00:02:55.226 kunnen we x 300 laten worden 00:02:55.226 --> 00:02:59.503 of.... x wordt 150 00:02:59.503 --> 00:03:02.196 en vanaf dat moment gaat de computer verder 00:03:02.196 --> 00:03:04.391 met ....wat we als laatste gegeven hebben 00:03:04.391 --> 00:03:05.811 in dit geval 150 00:03:05.843 --> 00:03:07.729 We hoeven alleen maar var te typen 00:03:07.729 --> 00:03:09.110 1 keer per variabele 00:03:09.110 --> 00:03:13.590 als ik var x = 150 later opschrijf 00:03:13.593 --> 00:03:16.104 dan creeer ik een compleet nieuwe variabele 00:03:16.104 --> 00:03:18.434 die de oude variabele x vernietigt 00:03:18.437 --> 00:03:24.307 daarna gebruikt de computer alleen de nieuwe variabele 00:03:24.307 --> 00:03:26.398 soms doe je dit soort zaken zonder 00:03:26.423 --> 00:03:28.702 dat er allerlei ellendige zaken gebeuren 00:03:28.702 --> 00:03:30.532 maar ik zou het niet adviseren 00:03:30.546 --> 00:03:32.746 Ik definieer de variabele maar 1 keer aan het begin, 00:03:32.781 --> 00:03:34.084 en 00:03:34.084 --> 00:03:37.783 kan ik Winston simpel van het scherm halen 00:03:37.783 --> 00:03:40.143 Zo dat ik mijn volgende punt kan maken 00:03:40.143 --> 00:03:42.509 Dus iedere keer als je een variabele hebt... 00:03:42.509 --> 00:03:44.337 die ergens aan gelijk is.... 00:03:44.337 --> 00:03:47.839 dan is die variabele veilig thuis 00:03:47.839 --> 00:03:50.249 links van het "=" teken is de enige plaats 00:03:50.274 --> 00:03:53.641 waar een variabele echt zichzelf kan zijn 00:03:53.641 --> 00:03:56.307 omdat dat de enige plaats is waar de computer 00:03:56.307 --> 00:03:57.887 hem ziet als een variabele 00:03:57.895 --> 00:04:00.792 Overal elders wordt hij behandelt als een waarde 00:04:00.792 --> 00:04:02.808 dus zelfs we iets doen zoals dit.... 00:04:02.808 --> 00:04:05.830 Var....X gets 10 00:04:05.830 --> 00:04:10.508 En then....X gets X....Wooo, computer 00:04:10.508 --> 00:04:13.316 woo....verwarrend 00:04:13.316 --> 00:04:17.709 Links staat X de vrije onafhankelijke variabele ... 00:04:17.709 --> 00:04:20.957 Eentje die kan groeien en veranderen 00:04:20.957 --> 00:04:25.827 maar rechts is het alleen maar 10 00:04:25.861 --> 00:04:30.230 Zo zielig...maar dat betekent dat we hele handige 00:04:30.230 --> 00:04:32.026 zaken kunnen doen als dit: 00:04:32.026 --> 00:04:33.532 X wordt X + 1 00:04:33.532 --> 00:04:35.024 Dus aan de linkerkant 00:04:35.024 --> 00:04:37.483 hebben we onze variabele in zijn happy home 00:04:37.483 --> 00:04:40.667 en rechts hebben we deze variabele 00:04:40.667 --> 00:04:42.838 waarvan we weten dat het gewoon een nummer is 00:04:42.838 --> 00:04:44.550 dus het is gewoon 10 00:04:44.550 --> 00:04:47.369 dus we kunnen dit vervangen door x wordt x+1 00:04:47.369 --> 00:04:50.873 wat alleen betekent dat x 11 wordt 00:04:50.873 --> 00:04:53.980 dus deze hele regel zegt alleen dat x 11 wordt 00:04:53.980 --> 00:04:57.000 Van nu af aan is de waarde van X 11 00:04:57.000 --> 00:04:58.910 Laten we kijken wat er gebeurt 00:04:58.910 --> 00:05:02.614 Als we nog een variabele toevoegen 00:05:02.614 --> 00:05:05.394 Ik doe ...var...x...wordt 10 00:05:05.408 --> 00:05:09.328 var Y wordt 20 00:05:09.328 --> 00:05:13.343 X wordt Y.....uh mwmrw.... 00:05:13.343 --> 00:05:17.140 en Y wordt 7 00:05:17.140 --> 00:05:21.900 OK. Wat is nu de waarde van X? 00:05:21.900 --> 00:05:23.560 Laten we dat uitzoeken... 00:05:23.560 --> 00:05:26.098 Dus op deze regel hier.... 00:05:26.098 --> 00:05:28.079 maken we een nieuwe variable X..... 00:05:28.079 --> 00:05:29.705 en die krijgt de waarde 10 00:05:29.705 --> 00:05:31.810 Dus de waarde van X is 10.... 00:05:31.810 --> 00:05:34.591 Op deze regel....maken we de nieuwe variabele Y 00:05:34.591 --> 00:05:36.121 en geven het de waarde 20 00:05:36.146 --> 00:05:37.906 Dus we doen niets met X 00:05:37.906 --> 00:05:39.598 dus de waarde van X is nog steeds 10 00:05:39.598 --> 00:05:42.261 Hier zien we dat X... Y wordt! 00:05:42.261 --> 00:05:43.569 Dat ziet er raar uit.... 00:05:43.569 --> 00:05:44.878 maar als je er over nadenkt dan weet je dat.... 00:05:44.878 --> 00:05:47.757 maar 1 van deze 2 variabelen is het veilige thuis 00:05:47.757 --> 00:05:53.640 en de andere variable wordt behandelt als een nummer 00:05:53.640 --> 00:05:56.507 dus hier kunnen we in ons hoofd de Y vervangen 00:05:56.507 --> 00:06:00.486 door de waarde... en we weten dat deze regel.... 00:06:00.486 --> 00:06:02.186 eigenlijk betekent dat X 20 wordt 00:06:02.186 --> 00:06:04.592 dus de waarde van X hier is ....20! 00:06:04.592 --> 00:06:07.499 en dan....hier hebben we...Y... 00:06:07.499 --> 00:06:09.019 in zijn veilige thuis maar 00:06:09.019 --> 00:06:11.139 dat verwart alleen maar omdat er alleen maar 00:06:11.139 --> 00:06:13.200 een nummer aan hebben toegekend 00:06:13.200 --> 00:06:14.708 dus hier is de grote vraag: 00:06:14.708 --> 00:06:17.577 als ik de waarde van Y hier verander, 00:06:17.577 --> 00:06:20.330 verandert dat de waarde van X hier? 00:06:20.330 --> 00:06:22.663 en het antwoord is..... 00:06:22.663 --> 00:06:26.312 NEEeeEEEeeeEEE....Nee....Nee....Neee 00:06:26.312 --> 00:06:28.349 Je moet onthouden dat hierboven 00:06:28.349 --> 00:06:31.619 Y alleen behandeld is als een nummer 00:06:31.619 --> 00:06:34.739 de computer gaat negeren dat Y een variabele is 00:06:34.739 --> 00:06:36.718 vergeet dat Y kan veranderen 00:06:36.718 --> 00:06:42.295 en denkt alleen....ooh...wat je echt bedoeld is 20 00:06:42.295 --> 00:06:44.846 dus hier geven we alleen een nummer aan X 00:06:44.846 --> 00:06:46.872 We geven geen variabele mee 00:06:46.872 --> 00:06:50.018 maar de waarde van Y, die 20 is 00:06:50.018 --> 00:06:53.884 en dat betekent dat de waarde van X 20 blijft 00:06:53.884 --> 00:07:00.152 zelfs nadat we de waarde van Y in de laatste regel veranderen 00:07:00.152 --> 00:07:01.654 Wooo....begrepen?.... 00:07:01.654 --> 00:07:05.480 En nu zijn jullie experts in variabelen 00:07:05.480 --> 00:07:10.000 Gefeliciteerd!