Vi har allerede lavet
den her super seje variabel
til størrelsen på Winston's øjne,
der har været virkelig hjælpsom
fordi den sparer en masse tid
når vi vil ændre
størrelsen af Winston's øjne.
Husk: før skulle vi
skrive det samme tal fire gange
hver gang vi ville ændre
størrelsen på hans øjne.
Men kan vi bruge variabler
til at erstatte tal
når de ikke er ens?
Hvis vi for eksempel vil
flytte Winston lidt til siden?
Jeg kunne ændre
hvert af disse x koordinater,
men de er ikke alle sammen ens,
så jeg kan ikke bare erstatte dem
alle med en variabel.
Men vent!
Når jeg først har givet en variabel en værdi,
så kan jeg bruge den variabel
præcis som hvis den var et tal,
hvilket betyder at jeg kan bruge variabler
og matematik udtryk.
Så hvad med det her:
lad os lave en variabel
for x-positionen af Winston
Kald den "var x".
Simpelt nok.
Okay, lad us nu give den
værdien af x koordinatet
for Winston's ansigt.
Hans ansigt bliver tegnet
ved x koordinat 200.
Så vi skriver "var x"
tildeles værdien 200.
Nu kan jeg erstatte dette tal,
med min nye variabel x,
og når jeg ændrer værdien af x,
vil den flytte Winton's ansigt,
men ikke hans øjne eller hans mund.
For at fikse det,
vil vi skulle definere
positionen af hans øjne og hans mund,
relativt til positionen af hans ansigt.
X-koordinaterne vil blive centrum
for alle de andre ellipser,
så hans ansigt vil blive tegnet ved--
det er 200,
og lad os lave hans venstre øje først.
Så denne ellipse er hans venstre øje,
og vi kan se
at den bliver tegnet ved 150.
Lige her, det er 150,
og jeg ved at 150 er 50 mindre end 200.
Så hans venstre øje skal være
hvor end hans ansigt er, minus 50.
Det bliver altså x,
der er positionen af hans ansigt, - 50.
Og nu, hvis jeg ændrer værdien
af det her x koordinat,
vil hans øjne flytte sammen med hans ansigt.
Lad os gøre det samme med de andre.
Hans højre øje bliver tegnet ved 300,
Så det her ovre er 300.
Og 300 ved jeg, er 100 mere end 200.
Så hans højre øje skal være
hvor hans ansigt er + 100.
Det er "x + 100".
Og nu har vi bare munden tilbage.
Hans mund bliver tegnet ved 250.
Det er herovre vi har 250,
og 250 er 200 plus 50.
Så det er hvorend--
åh, det er 5--
hvorend hans ansigt er,
x + 50.
Og nu--
Vil jeg lige fjerne de her kragetæer--
hver gang jeg ændrer på x,
vil det flytte hele hans ansigt.
Yay!
Nu, før du går, så skal du vide
et par andre ting om variabler.
Når du har lavet en variabel med "var x",
så kan du give den en værdi
så mange gange du vil.
Så efter at have givet x værdien 198,
kan jeg sige "x sættes til 300",
eller x sættes til 150.
Og der fra, vil computeren bruge x
som om den var det den sidst blev sat til.
Så i dette tilfælde, 150.
Men du skal kun skrive "var"
en gang per variabel.
Hvis jeg herovre
skrev "var x = 150" i stedet,
så vil det betyde at jeg
oprettede en helt ny variabel x,
og slette den gamle variabel x
fuldstændigt i processen.
så alle disse variable
er væk, i skraldespanden.
Og derefter, vil computeren kun bruge
den nye variabel.
Nogle gange kan du gøre den slags
uden at der sker noget alvorligt,
men jeg vil ikke anbefale det.
Ind til videre vil jeg kun gøre det en gang:
"var x = 150."
Og nu, belejligt nok,
kan jeg flytte hele Winston uden for skærmen,
så jeg kan snakke om mit næste punkt.
Altid når du har
en variabel ligmed et-eller-andet
så er den variabel på et dejligt og trygt sted.
Faktisk, venstre side af lighedstegnet
er det eneste sted
hvor en variabel kan
føles helt som sig selv,
fordi det er det eneste sted
hvor computeren
vil behandle den som en variabel.
All andre steder, vil computeren
lade som om at det er en værdi.
Så selv om vi gør sådan her:
var x sættes til 10
og derefter x sættes til x.
Åh, forvirrende!
Ovre til venstre, der har vi x,
som er en frit tænkende,
uafhængig variabel;
en der kan vokse eller kan ændre sig!
Men til højre der har vi
bare 10.
Trist!
Men det betyder
at vi kan lave rigtig bruge bare ting:
Jeg kan skrive x sættes til x + 1
Så på venstre siden, der har vi vores variabel
på en dejlig og tryg plads,
og til højre, der har vi variablen,
som vi ved basalt set er et tal,
så den er bare 10.
Så vi kan mentalt erstatte
dette med "x sættes til 10 + 1",
Hvilket betyder at x sættes til 11.
Så hele denne linje, er basalt set
"x sættes til 11",
så fra nu af vil værdien af x være 11.
Lad os se hvad der sker hvis vi
tager endnu en variabel ind i ligningen.
Jeg skriver var x sættes til 10,
var y sættes til 20,
x sættes til y --
åh ha--
og y sættes til 7.
Okay, det jeg vil vide er,
hvad er værdien af x?
Lad os finde ud af det.
På denne linje her,
laver vi en ny variabel x,
og sætter den til værdien 10.
Så værdien af x er 10.
På denne linje, laver vi
en ny variabel y,
og giver den værdien 20.
Vi gør ikke noget ved x,
så værdien af x er stadig 10.
Herovre, skrev vi x sættes til y.
Det er forvirrende,
men hvis du tænker på det,
så ved vi at kun en af disse variable
er på det dejlige og sikre sted
og den anden variabel behandles
præcis som hvis den var et tal.
Så herovre, kan vi mentalt erstatte
dette y med værdien, som er 20,
og vi ved derfor at denne linje
betyder at "x sættes til 20".
Så værdien af x her er 20.
og så, herovre, hvor vi har y
på den dejlige og trygge plads,
men det er ikke så forvirrende,
for vi har bare et tal på den anden side.
Så her er spørgsmålet:
når jeg ændrer værdien af y her,
ændrer det også værdien af x heroppe?
Og svaret er:
Nej! Nej, nej, nej, nej, nej!
Du skal huske at heroppe,
er y bare som et tal.
Computeren ignorerer fuldstændigt
at det er en variabel,
glem at vi kan ændre den,
og den vil bare sige,
"Åh, y? Det du egentlig mener er 20."
Så lige her,
sætter vi kun x til et tal,
vi sætter den ikke til en variabel.
Vi sætter den til værdien af y,
som er 20,
og det betyder at værdien af x
bliver ved med at være 20,
selv efter vi har ændre værdien af
y-variablen på den sidste linje.
Puha! Fik du det?
Sådan, nu er I totalt eksperter
i at bruge variable.
Tillykke!