WEBVTT Kind: captions; Language: fi 1 00:00:02.810 --> 00:00:06.080 Oikein hyvää päivää kaikille ja tervetuloa seuraamaan tätä demoa 2 ohjaa 2 00:00:06.080 --> 00:00:09.650 mut yksi kurssilla keväällä 2000 kaksikymmentäviisi. 3 00:00:09.650 --> 00:00:13.750 Tässä ensimmäisessä demo tehtävässä piti laskea muuttujien arvoja 4 00:00:13.750 --> 00:00:18.070 ja näistä laskulauseista saatavia arvoja ja sitten. 5 00:00:18.070 --> 00:00:24.310 Sitten vastata, että minkä tuloksen tommoinen muuttujan muuttuja saa. 6 00:00:24.310 --> 00:00:27.750 Ja nyt kun tässä oli vaan yksi vastauskerta kuhunkin näistä kohdista 7 00:00:27.750 --> 00:00:31.330 niin varmaan hyödyllistä vähän laskea auki näitä ensin. 8 00:00:31.330 --> 00:00:35.140 Ihan ihan niin sanotusti käsipelillä ja mä teen sen nyt tässä sillä tavalla 9 00:00:35.140 --> 00:00:39.200 niin että mä copy pastaan noin tehtävät tuonne visual studio coden ja lähden 10 00:00:39.200 --> 00:00:41.690 niitä laskemaan auki tässä manuaalisesti. 11 00:00:41.690 --> 00:00:44.340 Eli otetaan tuosta nytten nuo rivit. 12 00:00:44.340 --> 00:00:47.340 Tuolta tiimistä ja koppi päästetään ne tänne ja lähdetään 13 00:00:47.340 --> 00:00:49.460 katsomaan että mitä siitä saadaan. 14 00:00:49.460 --> 00:00:54.240 Jos jos ilman kehitysympäristöä sitä lähdettäisiin laskemaan auki. 15 00:00:54.240 --> 00:01:00.280 Elikkä siinä nytten ensimmäiseksi. Aa no ensinnäkin niin. 16 00:01:00.280 --> 00:01:03.440 Kun mietitään, että mikä on se asia, mikä tästä ensimmäisenä lasketaan, niin 17 00:01:03.440 --> 00:01:07.330 sehän on matemaattisia laskusääntöjä noudattaen nää solut ja siellä meillä 18 00:01:07.330 --> 00:01:11.080 on kahdet sulut ja sisemmät on ne mistä aloitetaan. 19 00:01:11.080 --> 00:01:15.340 Eli jos mä otan nyt tuosta nelosvista kopion tuohon noin ja lasken aluksi 20 00:01:15.340 --> 00:01:18.960 auki 2 miinus no se saa arvon 3 koska se on määritelty. 21 00:01:18.960 --> 00:01:23.630 Tai siis c, on sijoitettu luku 3 tuossa hieman ylempänä niin 22 00:01:23.630 --> 00:01:26.650 tehdään tää nyt tosiaan vaiheittain tälleen ja. 23 00:01:26.650 --> 00:01:31.240 Seuraavaksi kun lasketaan 2 miinus 3 niin saadaan tietysti miinus ykkönen ja nyt ollaan 24 00:01:31.240 --> 00:01:37.130 valmiita sitten poistamaan sulut siitä luvun miinus -1 ympäriltä. 25 00:01:37.130 --> 00:01:40.910 No meillä on edelleen siellä noi yhdet sulut jäljellä ja niitä lähdetään 26 00:01:40.910 --> 00:01:44.310 nyt sitten purkamaan alkaen siten, että ensin lasketaan tuon jakolasku 27 00:01:44.310 --> 00:01:46.450 ja vasta sen jälkeen toi plus lasku. 28 00:01:46.450 --> 00:01:50.660 Tietenkin toki jos tässä olisi plus ja jakomäki nyt eri päin niin sitten se jakolasku olisi 29 00:01:50.660 --> 00:01:56.460 tärkeämpi ja se laskettaisi ensin, mutta nyt yksi anteeksi -1 jaettuna aalla. 30 00:01:56.460 --> 00:02:01.320 On on jotakin tuolla määritelty tuolle aalle. 31 00:02:01.320 --> 00:02:06.000 Tai siis alle on sijoitettu ykkönen, jotenka laitetaan se näkyviin tuohon meidän 32 00:02:06.000 --> 00:02:11.580 lausekkeeseen ja nyt on helppo sitten siitä se jakolasku laskea auki. 33 00:02:11.580 --> 00:02:13.860 Tietysti se on -1 se tulos. 34 00:02:13.860 --> 00:02:19.990 No tän jälkeen b, sijoitetaan sille kuuluva arvo eli kakkonen ja niinku huomaat että mä teen 35 00:02:19.990 --> 00:02:25.320 tässä nyt tarkoituksella tän ikään kuin vaihe vaiheelta, että jotta tulee tää. 36 00:02:25.320 --> 00:02:30.660 Laskujärjestys varmasti tehtyä oikein jos se nyt sattuu menemään väärin niin katsotaan sitten 37 00:02:30.660 --> 00:02:37.170 sitten jos tota joku sieltä huutelee, mutta OK -1 plus 2 ei ole tietenkään 3 vaan vaan yksi 38 00:02:37.170 --> 00:02:41.640 ja nyt me ollaan valmiita poistamaan nuo sulut tuosta ykkösen ympäriltä. 39 00:02:41.640 --> 00:02:47.220 Ja tosiaan nyt kun näin teen niin tavallaan tulen samalla vähän niin kuin simuloidun 40 00:02:47.220 --> 00:02:52.690 myöskin sitä että mitä se tietokone siellä sisäisesti tekee kun se tällaista lauseketta 41 00:02:52.690 --> 00:02:57.100 lähtee laskemaan auki siinä todellakin kullekin muuttujalle sitten vuorotellen 42 00:02:57.100 --> 00:03:01.680 sijoitetaan se arvo joka sille kuuluu. No nytten b. 43 00:03:01.680 --> 00:03:05.110 Kertaa yksi niin meidän täytyy tietää, mikä se ben arvo, niin 44 00:03:05.110 --> 00:03:11.800 sehän tietenkin 2 jotenka 2 kertaa 1 on 2. Ja plus 2. 45 00:03:11.800 --> 00:03:18.900 On 3 koska ykkönen on arvo joka äällä on eli XNXN tulos pitäisi 46 00:03:18.900 --> 00:03:21.680 olla kaiketi 3000. Sitä nyt meni oikein. 47 00:03:21.680 --> 00:03:24.110 Oliko siellä semmoinen tulos tai vaihtoehto? 48 00:03:24.110 --> 00:03:29.140 No kyllä näyttäisi olevan ja katsotaan saiko opettaja se nyt oikein. 49 00:03:29.140 --> 00:03:32.720 Kyllä se näytti oikein menevän. 50 00:03:32.720 --> 00:03:35.060 No totta kai tässä kohdassa yksi. 51 00:03:35.060 --> 00:03:40.460 2 sitten jos otettaisiin kaikki sulut pois, niin vastaus olisi erilainen kuten nyt on jo moneen 52 00:03:40.460 --> 00:03:46.200 kertaan sen sanonut niin matemaattista laskujärjestystä noudatetaan tässä. 53 00:03:46.200 --> 00:03:52.570 Näiden sulkujen ja normaalien aritmeettisen operaatioiden laskemisen yhteydessä. 54 00:03:52.570 --> 00:03:57.590 Ja jos tehdään tuo nyt tällä kertaa vähän nopeammin tuosta ei ihan noin vaihe 55 00:03:57.590 --> 00:04:01.860 vaiheelta kuten äsken tein eli isketään tänne nyt vaan noi luvut. 56 00:04:01.860 --> 00:04:06.530 AN ykkönen on kakkonen on kolmonen. 57 00:04:06.530 --> 00:04:12.340 Ja jälleen kerran ykkönen ja kakkonen niin lasketaanpa tuo nyt auki siitä. 58 00:04:12.340 --> 00:04:15.570 Eli eli tota vasemmalta oikealle kun lähdetään lukemaan niin huomataan 59 00:04:15.570 --> 00:04:19.730 niin että sieltä löytyy kertolasku sulkuja nyt ei ole jotenka toi kertolasku 60 00:04:19.730 --> 00:04:23.450 on ensimmäiseksi laskettava auki 2 kertaa 2 on. 61 00:04:23.450 --> 00:04:31.100 On 4, sitten -3 jaettuna 1 plus 2 ja sinne jää vielä yksi jakolasku. 62 00:04:31.100 --> 00:04:36.860 Jakolasku jää sinne jos nyt saan sen kopio opastettua tuohon eli. 63 00:04:36.860 --> 00:04:43.230 Meillä on siinä 3 jaettuna 1 joka on tietenkin 3 jotenka laitetaan tuohon kohtaan 3. 64 00:04:43.230 --> 00:04:45.030 Selvä. 65 00:04:45.030 --> 00:04:48.540 No nyt voidaan sitten laskea näitä plus ja miinuslaskuja sitten normaalisti. 66 00:04:48.540 --> 00:04:55.030 Eli siellä on meillä 5 miinus 3 plus 2 ja lopputulos on. 67 00:04:55.030 --> 00:04:59.000 2 plus 2 eli 4. Noin. 68 00:04:59.000 --> 00:05:05.570 5 plus 5 miinus 3 plus 2 joo ja sitten mennään timin puolelle ja. 69 00:05:05.570 --> 00:05:08.920 Otetaan sieltä nelonen näin. 70 00:05:08.920 --> 00:05:13.500 No sitten meillä on vähän erilainen pääohjelma ja jälleen kerran tehdään tää. 71 00:05:13.500 --> 00:05:15.340 Sillä tavalla. 72 00:05:15.340 --> 00:05:18.650 Digitaalista ei kynä ja digitaalista kynää paperia noudattaen 73 00:05:18.650 --> 00:05:24.550 tai käyttäen että että tota ennen kun. 74 00:05:24.550 --> 00:05:28.950 Vastataan tiimissä niin lasketaan tää nyt auki auki täällä näin eli eli 75 00:05:28.950 --> 00:05:34.580 siinä on meidän muuttujalle oletettavasti sijoitettava. 76 00:05:34.580 --> 00:05:36.460 Arvo ja lasketaan tää lause auki. 77 00:05:36.460 --> 00:05:44.720 Meiltä saan sieltä -1 kun lasketaan sulut ensin auki ja voidaan saman tien poistaa nuo sulut 78 00:05:44.720 --> 00:05:48.390 ja sen jälkeen meillä on siinä edelleen yhdet sulut jonka sisällä on jakolasku. 79 00:05:48.390 --> 00:05:50.560 Eli tuo olisi seuraava laskettava arvo ja nyt tulee 80 00:05:50.560 --> 00:05:52.620 sitten se niin sanottu tenkkapoo tässä. 81 00:05:52.620 --> 00:05:56.240 Eli mitä tapahtuu kun jotakin jaetaan nolla niin siitähän 82 00:05:56.240 --> 00:06:00.130 ei hyvä heilu eli otetaan tuosta nytten. 83 00:06:00.130 --> 00:06:03.980 Kopio tai oikeastaan ennen kun otetaan kopio niin. 84 00:06:03.980 --> 00:06:10.190 Niin tota mietitään päässämme niin, että mikä ongelma ohjelma ajaessa tulee. 85 00:06:10.190 --> 00:06:16.110 Ja ja niinku jo tuossa sanoin niin niin nolla jakohan siinä tietysti tulee mikä on ohjelmoinnissa 86 00:06:16.110 --> 00:06:21.260 aina melko iso ongelma niin koitetaan nyt laittaa tuonne. 87 00:06:21.260 --> 00:06:26.300 Raiderin toi hommeli elikkä meillä oli siellä nytten olin jo tehnyt tuohon projektin valmiiksi, 88 00:06:26.300 --> 00:06:31.590 johon nyt sitten sijoitan tämän äsken kopioimani lausekkeen sieltä ja. 89 00:06:31.590 --> 00:06:35.910 Ja itse asiassa nyt mä en kopioinut sitä alkuperäistä. 90 00:06:35.910 --> 00:06:39.670 Juu sori, otetaan se ihan alkuperäinen tuolta. 91 00:06:39.670 --> 00:06:43.600 Tuosta noin tuo alkuperäinen otetaan ja. 92 00:06:43.600 --> 00:06:49.590 Laitetaan paikalleen ja nyt sitten katsotaan, että mitä raider tässä sanoo. 93 00:06:49.590 --> 00:06:54.100 Ja. Nollahan se oli. 94 00:06:54.100 --> 00:06:56.390 Eikö niin? 95 00:06:56.390 --> 00:06:59.620 Kopioiko mä nyt oikea sori nyt mä sekoilen taas näköjään huolella. 96 00:06:59.620 --> 00:07:02.800 Elikkä tuo oli se asia mitä piti ottaa. 97 00:07:02.800 --> 00:07:06.100 Vielä kerran laitetaan se sinne raideri. 98 00:07:06.100 --> 00:07:09.050 Eli nyt huomataan niin että meillä ei tule tästä käännösvirhettä. 99 00:07:09.050 --> 00:07:11.840 Täältä tulee jotain muita ilmoituksia. 100 00:07:11.840 --> 00:07:16.480 Addition of traction of nolla black witch useless eli raider on sitä mieltä. 101 00:07:16.480 --> 00:07:20.940 Tätä on ikään kuin turhaa, mutta mutta tota käännösvirhettä ei tule. 102 00:07:20.940 --> 00:07:25.040 Me voidaan vielä varmistuaksemme siitä, että käännösvirheitä ei todellakaan tule 103 00:07:25.040 --> 00:07:32.080 niin ottaa tuolta www.oli valikosta tuul windows ja problems ja. 104 00:07:32.080 --> 00:07:35.790 Täällä on nyt jotain muita varoituksia. 105 00:07:35.790 --> 00:07:41.070 Esimerkiksi tästä nolla jakamisesta kyllä varoitus tulee, mutta se ei ole käännösvirhe. 106 00:07:41.070 --> 00:07:44.990 Ja niinpä jos mä nyt tämän laitan käyntiin niin se kääntyy ja mä pystyn sen. 107 00:07:44.990 --> 00:07:48.650 Pystyn sen kyllä ajamaan, mutta sieltä sitten ohjelman 108 00:07:48.650 --> 00:07:51.700 ajon aikana tulee niin sanottu division. 109 00:07:51.700 --> 00:07:56.610 By siro exception eli nolla jakamisen poikkeus. 110 00:07:56.610 --> 00:07:58.630 Ja. 111 00:07:58.630 --> 00:08:04.460 Aa, tässä nyt vähän vähän alleviivaan sitten sitä sitä niin, että tämä. 112 00:08:04.460 --> 00:08:07.740 On sallittua koodin kirjoittamisen näkökulmasta, mutta 113 00:08:07.740 --> 00:08:10.460 se aiheuttaa ohjelman kaatumisen. 114 00:08:10.460 --> 00:08:15.760 No mitä tässä tilanteessa pitäisi tehdä kun ohjelma kaatuu vaikka vaikka kääntäjä sanoo 115 00:08:15.760 --> 00:08:20.320 että kaikki menee OK, niin meillä on 2 vaihtoehtoa, joko me silmällä katsotaan että 116 00:08:20.320 --> 00:08:25.620 tällaista ei tapahdu tai sitten tehdään ohjelmoijana jokin. 117 00:08:25.620 --> 00:08:29.090 Rakenne joka estää nolla. 118 00:08:29.090 --> 00:08:34.410 Jakamisen ohjelman suorituksen aikana me tullaan paneutumaan tähän asiaan. 119 00:08:34.410 --> 00:08:39.630 Tällä viikolla nimittäin ehto lauseisiin, mutta semmoisena jonkunlaisena 120 00:08:39.630 --> 00:08:43.690 tiikerin nyt tähän mainittakoon niin, että jos. 121 00:08:43.690 --> 00:08:52.210 Jos sattuu olemaan nolla, niin silloin me päätetään niin, että että että ei tehdä jakolaskua, 122 00:08:52.210 --> 00:08:59.460 mutta muussa tapauksessa me sitten voidaan tehdä tuo mitä tuolla int x. 123 00:08:59.460 --> 00:09:02.750 Muuttujalle sijoituksessa sitten oikeasti oli. 124 00:09:02.750 --> 00:09:09.210 Eli tää on asia mikä meidän ohjelmoijana pitää sitten ottaa huomioon ja ja ja tavallaan nää 125 00:09:09.210 --> 00:09:12.810 nykyiset ohjelmointityökalut kyllä nähtävästi varoittaa tuota varoitusta. 126 00:09:12.810 --> 00:09:16.720 Itse asiassa ei ole aikaisemmin sadot versiossa tullut, nyt se tulee. 127 00:09:16.720 --> 00:09:21.420 Mutta mutta anyways ohjelmoija huomioida se, että että tällaiset niin sanotut 128 00:09:21.420 --> 00:09:24.340 poikkeukset eli ohjelman kaatumiset on mahdollisia. 129 00:09:24.340 --> 00:09:26.150 No joo. 130 00:09:26.150 --> 00:09:30.470 Mutta se nyt siitä ja sitten vielä tää yksi. 131 00:09:30.470 --> 00:09:32.430 Nelonen. 132 00:09:32.430 --> 00:09:38.150 Aa ja kysymys kuuluu että mitä ohjelma tulostaa kun me tulostetaan? 133 00:09:38.150 --> 00:09:41.900 Tuollainen asia kun plus yks. 134 00:09:41.900 --> 00:09:47.170 Ja vastaus on, on tietysti siinä 4 elikkä me tulostetaan. 135 00:09:47.170 --> 00:09:49.610 C plus yks arvo. 136 00:09:49.610 --> 00:09:51.870 Mutta seuraava kysymys on sitten, että mikä on se, 137 00:09:51.870 --> 00:09:54.100 mutta on arvon viimeisen rivin jälkeen. 138 00:09:54.100 --> 00:09:58.380 Ja tässä nyt on tietysti 2 2 tuota pohdintaa, joko 139 00:09:58.380 --> 00:10:00.890 se on kolmonen tai tai se on nelonen. 140 00:10:00.890 --> 00:10:04.750 Mutta oikean vastaus on 3 koska toi c plus yksi ei muuta sitä muuttujan 141 00:10:04.750 --> 00:10:08.320 arvoa ja mulla oli tästä nyt esimerkki tuolla. 142 00:10:08.320 --> 00:10:11.800 Tuolla raiderin puolella vielä eli. 143 00:10:11.800 --> 00:10:14.640 Mutta laitetaan se tohon tohon tilalle. 144 00:10:14.640 --> 00:10:19.520 Eli jos meillä on muuttujat ABC, ota vähän pienemmäksi tuota solution ja tuolta muut 145 00:10:19.520 --> 00:10:27.390 työt ABC tulosteta on se niin tää operaattori Ei muuta sitä sen arvoa. 146 00:10:27.390 --> 00:10:30.740 Eli se ei se ei tee yhtään mitään sille c, lle. 147 00:10:30.740 --> 00:10:33.620 Jos me nyt vielä kertaalleen tulostetaan tuosta toi luku 148 00:10:33.620 --> 00:10:36.640 ja sitten tulosta on plus ykkönen. 149 00:10:36.640 --> 00:10:40.340 Niin me voidaan, voidaan edelleen tulostaa se muuttujan 150 00:10:40.340 --> 00:10:46.050 arvo, jonka seurauksena tulostuu kolmonen. No meillähän oli niitä. 151 00:10:46.050 --> 00:10:48.810 Meillähän oli niitä arvoa muuttavia operaattoreita. 152 00:10:48.810 --> 00:10:53.520 Myöskin viime luonnolla opittiin tää plus plus. 153 00:10:53.520 --> 00:10:56.260 Joka on myöskin ohjelmointikielen nimi, mutta joka tapauksessa 154 00:10:56.260 --> 00:11:00.010 niin tää plus plus muuttaa tätä sen arvoa. 155 00:11:00.010 --> 00:11:02.470 No koitetaanpa sitten tulostaa. 156 00:11:02.470 --> 00:11:07.360 Tai itse asiassa niinku tehdä muuta, niin katsotaan nyt mitä sieltä tulostuu. 157 00:11:07.360 --> 00:11:09.600 No se onkin. Tuossa kommenteissa on sanottu. 158 00:11:09.600 --> 00:11:14.880 Eli tämä konsolifin tästä tulostaa nyt kolmosen. 159 00:11:14.880 --> 00:11:21.220 Ja tää se plus plus operaattori muuttaa sen jälkeen tätä sen arvoa yksi eli meillä tätä 160 00:11:21.220 --> 00:11:25.980 anteeksi plus plus operaattoria kutsutaan tämmöiseksi niin sanotuksi. 161 00:11:25.980 --> 00:11:31.520 Post instrumentaali muuttujaksi post instrumentaali operaatioksi eli 162 00:11:31.520 --> 00:11:35.140 sen jälkeen kun tätä se että käytetään mahdollisesti jossakin paikassa, 163 00:11:35.140 --> 00:11:37.840 niin vasta sen jälkeen sitä arvoa muutetaan. 164 00:11:37.840 --> 00:11:43.860 Tää on tietysti helppo nähdä tälleen esimerkin kautta, että jos me nyt sitten se sen arvo 165 00:11:43.860 --> 00:11:48.110 vielä kertaalleen tulostetaan, niin sitten se seen arvo onkin kasvanut. 166 00:11:48.110 --> 00:11:50.080 Tää saattaa aluksi tuntua vähän oudolta että. 167 00:11:50.080 --> 00:11:52.270 Että kun ex plus plus pitäisi kasvattaa sitä. 168 00:11:52.270 --> 00:11:57.610 Yksi juu se kasvattaa sitä yksi, mutta jos me käytetään sitä samassa yhteydessä, niin 169 00:11:57.610 --> 00:12:02.870 ensin tapahtuu käyttöön ja vasta sitten tapahtuu arvon kasvattaminen tästä plus plus 170 00:12:02.870 --> 00:12:07.670 operaattorista löytyy tämmöinenkin versio, jossa se kasvattaminen tapahtuu ennen se 171 00:12:07.670 --> 00:12:10.890 muutti on arvon antamista argumentiksi briteille. 172 00:12:10.890 --> 00:12:16.910 Toisin sanoen ennen sen muuttujan käyttämistä ja näitä plus plus operaattoreita 173 00:12:16.910 --> 00:12:23.240 tälleen joko jälkeen tai ennen sitä arvoa muuttujaa niin. 174 00:12:23.240 --> 00:12:25.570 Käytetään hieman eri tilanteissa niinku tässä nyt nähdään, että 175 00:12:25.570 --> 00:12:29.230 jos me halutaan se kasvatettu arvo tulostaa niin. 176 00:12:29.230 --> 00:12:32.280 Sitten laitetaan se plus plus tuonne eteen. 177 00:12:32.280 --> 00:12:36.400 Mutta sanottakoon nyt tässä yhteydessä niin, että aika usein tätä plus plussaa 178 00:12:36.400 --> 00:12:40.400 käytetään silmukat silloin kun me halutaan toistaa jotain asiaa vaikkapa 179 00:12:40.400 --> 00:12:45.360 100 kertaa ja siinä harvoin on merkitystä sillä, että kun mä kummalle puolelle 180 00:12:45.360 --> 00:12:47.690 tota muuttujaa se plus plus laitetaan. 181 00:12:47.690 --> 00:12:50.200 Mutta tää on nyt vaan hyvä tämmöinen niinku tietää tai 182 00:12:50.200 --> 00:12:53.480 muistaa että tommoinen asia on olemassa. 183 00:12:53.480 --> 00:12:58.780 No se siitä tehtävä ykkösestä mennään sitten tehtävään numero 2 ja tehdään 184 00:12:58.780 --> 00:13:03.700 siitä sitten raiderissa toi esimerkki eli meidän pitää muokata tätä ohjelmaa 185 00:13:03.700 --> 00:13:07.420 niin että se tulostaa tämmöisen tekstin. Tässä nyt mulle on. 186 00:13:07.420 --> 00:13:11.490 Annettu tai tim antaa automaattisesti, että on käyttäjän numeron ja mulle on tullut 187 00:13:11.490 --> 00:13:18.960 sieltä numero 2 2, 3 ja ja tota tässä tosiaan ei saanut manuaalisesti nyt sitten kirjoittaa 188 00:13:18.960 --> 00:13:24.190 tätä asiaa vaan vaan näitä muuttujia hyväksikäyttämällä. 189 00:13:24.190 --> 00:13:28.130 Eli mennään tuonne raiderin ja mulla on siellä nyt projekti valmiiksi tehtynä, niin 190 00:13:28.130 --> 00:13:33.750 mä valitsen tuon projektin tiedoston ja aktivoin tän projektin täältä konfiguraationpaneeli 191 00:13:33.750 --> 00:13:39.160 se on toi 2 merkki on yhdistely tässä mun ohjelmassa. 192 00:13:39.160 --> 00:13:42.000 Luntti lappu tuolta esille. 193 00:13:42.000 --> 00:13:48.500 Eli tää oli se osa eli lähdetään sinne tulostamaan. 194 00:13:48.500 --> 00:13:53.810 Jotakin ja me voidaan nyt käyttää tässä niin sanottua muotoilujoa eli muotoilujono. 195 00:13:53.810 --> 00:13:58.070 Tässä sharp on varsin kätevä tapa kirjoittaa. 196 00:13:58.070 --> 00:14:01.030 Merkkijonon sisälle muuttujien arvoja. 197 00:14:01.030 --> 00:14:04.140 Tätä katsottiin jo tuossa viime luennollakin. 198 00:14:04.140 --> 00:14:08.220 Eli $sulkujen sisään sen perään lainausmerkit, niin silloin me voidaan 199 00:14:08.220 --> 00:14:11.200 kirjoittaa tavallista tekstiä, mutta sitten myöskin. 200 00:14:11.200 --> 00:14:16.140 Sijoittaa sinne tai asettaa tuonne merkkijonon sisään myöskin muuttujia. 201 00:14:16.140 --> 00:14:17.940 No mitä sinne piti tehdä? 202 00:14:17.940 --> 00:14:23.490 Sinne piti laittaa moi ja sitten se mun nimi eli aalto sulkeiden sisään muuttuja. 203 00:14:23.490 --> 00:14:26.330 ! Piti laittaa perään, eikö niin? 204 00:14:26.330 --> 00:14:28.130 Kyllä. 205 00:14:28.130 --> 00:14:32.770 Eli sitten tim käyttäjä numerosi on ja nyt toi käyttöön numero 206 00:14:32.770 --> 00:14:34.910 joka on mulla siinä muuttujana arvossa on. 207 00:14:34.910 --> 00:14:39.090 No tietysti tässä nyt niinku huomataan niin nyt tää käyttäjän numero on tolleen 208 00:14:39.090 --> 00:14:43.610 vaan kirjoitettu manuaalisesti tuohon koodiin ja tavallaan vähän niinku niin sanotusti 209 00:14:43.610 --> 00:14:48.580 tyhmästi lihavakiona laitettu tänne, mutta mutta tässä tietysti nyt taustalla on 210 00:14:48.580 --> 00:14:52.190 se ajatus niin että nää arvot tulee jostakin. 211 00:14:52.190 --> 00:14:56.460 Niin kun nyt tässäkin itse asiassa tuolla taustalla pellin alla noi arvot nimi 212 00:14:56.460 --> 00:15:01.490 ja käyttöön numero tulee sieltä timin puolesta eli näin koodaaja välttää näitä 213 00:15:01.490 --> 00:15:05.220 välttämättä näitä tällä tavalla itse Kirjoita vaan ne tulee jostain ja silloin 214 00:15:05.220 --> 00:15:09.450 niitä muuttujia on hyvä oppia tällä tavalla käyttämään. 215 00:15:09.450 --> 00:15:11.320 No. 216 00:15:11.320 --> 00:15:13.660 Katsotaan mitä sieltä nytten saadaan tulosteena. 217 00:15:13.660 --> 00:15:19.260 Meneekö kaikki oikein eli sieltä nyt näyttäisi tulevan se mitä odotettiinkin. OK. 218 00:15:19.260 --> 00:15:22.270 Puuttuu vielä perässä, jotenka laitetaan se tuonne. 219 00:15:22.270 --> 00:15:26.140 Tonne loppuun ja. 220 00:15:26.140 --> 00:15:32.620 Tähän riville piti nyt sitten laittaa se tulostuslause. 221 00:15:32.620 --> 00:15:36.940 Tuo oli se mitä pyydettiin ja otetaanpa siitä copy paste. 222 00:15:36.940 --> 00:15:42.820 Viedään se tuohon kohtaan noin sitten vielä sisennykset kunto ja painetaan Tallenna 223 00:15:42.820 --> 00:15:47.250 ja tähän pitää tietysti laittaa aina nämä dokumentaatiot mukaan. 224 00:15:47.250 --> 00:15:51.260 Mä nyt ajan voittamiseksi niitä tähän kirjoitan, mutta ne on tietysti osa aina sitä 225 00:15:51.260 --> 00:15:54.350 tehtävän palautusta, mutta me saatiin nyt tästä kuitenkin se nolla. 226 00:15:54.350 --> 00:15:59.320 5 pistettä niinku pitikin tässä nyt voi voi sitten tai sanotaanko, 227 00:15:59.320 --> 00:16:03.360 että joissakin tehtävissä on mahdollista asettaa. 228 00:16:03.360 --> 00:16:07.880 Mukautetut pisteet jos näyttää siltä että automaatti nyt antoi jotakin ihan väärin. 229 00:16:07.880 --> 00:16:12.690 Tietysti on mahdollista niin että nämä automaattia arviointi. 230 00:16:12.690 --> 00:16:16.630 Sovellukset ei ihan sataprosenttisesti toimi niin silloin on jätetty joissakin 231 00:16:16.630 --> 00:16:20.120 tehtävissä mahdollisuus siihen itsearviointiin niin siitä voi sitten klikata 232 00:16:20.120 --> 00:16:22.710 jos näyttää siltä, että joku ei ole niinku pitää. 233 00:16:22.710 --> 00:16:25.410 Toki siihen voi laittaa sitten hieman pienemmätkin arvot 234 00:16:25.410 --> 00:16:26.960 tai pienemmän pienemmänkin pistemäärä. 235 00:16:26.960 --> 00:16:29.040 Jos näyttää siltä, että automaatio on liikaa pisteitä. 236 00:16:29.040 --> 00:16:30.840 No joo. 237 00:16:30.840 --> 00:16:35.220 No sitten kohta tästä kakkosta tehtävästä tää kannatti tehdä tosissaan raiderissa ja 238 00:16:35.220 --> 00:16:39.950 siellä pyydetään nyt siis ihan aluksi syötettä eli nimi ja lempiruoka. 239 00:16:39.950 --> 00:16:42.540 Ja sen jälkeen piti tulostaa tuommoinen. 240 00:16:42.540 --> 00:16:46.140 Teksti ja siinä oli ohjeet sitten siihen, että miten. 241 00:16:46.140 --> 00:16:48.360 Tekstiä pystyy sieltä käyttäjältä lukemaan. 242 00:16:48.360 --> 00:16:55.630 Mä teen sen tähän samaan projektiin. Tähän niinku BB osaksi. 243 00:16:55.630 --> 00:17:00.860 Eli pyydetään ensiksi. Käyttäjältä, nimi. 244 00:17:00.860 --> 00:17:05.100 Ja koska nimi muuttui, on esitelty tuolla ylempänä, niin mä nyt vaan sijoitan siihen sitten 245 00:17:05.100 --> 00:17:10.590 uuden arvon siten, että se arvo luetaan tuosta käyttäjän näppäimistöltä. 246 00:17:10.590 --> 00:17:13.510 Eli sanotaan konsolipiste readline. 247 00:17:13.510 --> 00:17:18.730 Nyt on redline palauttaa sitten sen merkki on jo jonka se käyttäjä sieltä enterin 248 00:17:18.730 --> 00:17:22.390 ja painamalla syöttää tai ennen ennen enterin painallusta. 249 00:17:22.390 --> 00:17:26.060 No sitten siinä piti pyytää lempiruokaa ja ottaa sekin talteen. 250 00:17:26.060 --> 00:17:30.220 Niin otetaan ne myöskin konsolin redline ja käyttämällä ja sitten 251 00:17:30.220 --> 00:17:33.420 lopuksi tehdään toi tulostus niinku tuossa ylempänäkin eli käytetään 252 00:17:33.420 --> 00:17:37.100 tuota muotoilujoa dollari alkuun ja sitten. 253 00:17:37.100 --> 00:17:41.670 Tarvittava tulostus ja muuttujat tuonne aalto sulkeiden sisään. 254 00:17:41.670 --> 00:17:47.220 Ja kokeillaan miten tää toimii ja selitetään sitten lisää. 255 00:17:47.220 --> 00:17:54.280 Noin. Makaroni noin. 256 00:17:54.280 --> 00:17:58.970 Hyvä näyttää toimivan kuten pitääkin. 257 00:17:58.970 --> 00:18:03.320 Ja tosiaan se piti sanoa niin, että jos tuota dollarin merkkiä ei tuohon laita, 258 00:18:03.320 --> 00:18:06.780 niin tää muotoilujono ei tietenkään sitten toimi odotetulla tavalla. 259 00:18:06.780 --> 00:18:09.230 Nyt nämä aalto sulkeiden sisällä olevat asiat on ihan 260 00:18:09.230 --> 00:18:12.640 tavallisia merkkijonoja ja se on sitten. 261 00:18:12.640 --> 00:18:16.130 Ihan siellä sama, että mitä me tänne syötteeseen kirjoitetaan, niin sieltä sitten tulostuu 262 00:18:16.130 --> 00:18:20.560 ihan oikeasti vaan ne aalto solut eli se $tarvitaan tänne alkuun. 263 00:18:20.560 --> 00:18:23.420 Jos me halutaan, halutaan niitä muuttujien arvoja sitten 264 00:18:23.420 --> 00:18:26.340 tuolla kontrolleritnilla tulostaa. 265 00:18:26.340 --> 00:18:29.530 Otetaan tuosta nyt kopio viedään tiimiin. 266 00:18:29.530 --> 00:18:33.180 Laitetaan se tuonne meininkiin. Tuonne tarvitaan se strings. 267 00:18:33.180 --> 00:18:35.490 Sitä ei tässä valmiina ollut. 268 00:18:35.490 --> 00:18:38.450 Noin ja nyt täällä oli valmiiksi annettu syöte. 269 00:18:38.450 --> 00:18:40.250 Tätähän voi tietenkin muuttaa. 270 00:18:40.250 --> 00:18:43.030 Sä voit laittaa siihen mitä haluat, mutta siinä oli nyt valmiiksi ja laitettu. 271 00:18:43.030 --> 00:18:45.590 Tuota syötettä pistetään siihen nyt vaikka. 272 00:18:45.590 --> 00:18:50.650 Pestopasta noin ja tarkistetaan, että se silloinkin toimii 273 00:18:50.650 --> 00:18:53.620 ja näyttäisi hyvältä. Puoli pistettä. 274 00:18:53.620 --> 00:18:56.290 Sieltä tulee tosiaan selitys tästä boksista. 275 00:18:56.290 --> 00:19:00.940 Siis tämä on tapatiimissä lukea syötettä kun tiimissä ei helposti voi samanlaista 276 00:19:00.940 --> 00:19:04.220 konsoli ikkunaa tehdä niin kuin täällä raiderissa. 277 00:19:04.220 --> 00:19:08.240 Eli tämähän konsoli ikkuna nyt käynnistyy täällä sinun ihan ikioma tietokoneellasi. 278 00:19:08.240 --> 00:19:11.780 Ja kun sä kirjoitat tänne syötettä niin se on sun tietokone joka sitä käsittelee. 279 00:19:11.780 --> 00:19:17.110 Mutta täällä kun tää tim pyörii pyörii siellä verkkoympäristössä, niin sitä semmoista 280 00:19:17.110 --> 00:19:19.900 konsoli ikkunaa ei ihan helposti tuohon saa toteutettua. 281 00:19:19.900 --> 00:19:23.880 Niin tämä laatikko tässä nyt ikään kuin matkii sitten sitä 282 00:19:23.880 --> 00:19:26.730 käyttäjän antamaa syötettä että siinä nyt vaan. 283 00:19:26.730 --> 00:19:30.960 Se nyt näyttää tässä meidän tapauksessa tältä, mutta idea on täsmälleen 284 00:19:30.960 --> 00:19:35.750 samaa kun tuolla omalla tietokoneella harvoja syötettäessä. 285 00:19:35.750 --> 00:19:38.540 Hyvä mennään eteenpäin tehtävä numero 3. 286 00:19:38.540 --> 00:19:41.700 Kysymys kuuluu, että mitä alla oleva pääoma tulostaa ja oikeastaan 287 00:19:41.700 --> 00:19:45.320 tätä nyt jo vähän tuossa ykkös tehtävässä sivuttiinkin. 288 00:19:45.320 --> 00:19:52.120 Eli aale annetaan vitonen ja hupsista ja b, lle annetaan se arvo mikä muuttuujassa on ja tän 289 00:19:52.120 --> 00:19:58.800 jälkeen kasvatetaan BN arvo ja nyt kun se on ladottu tolleen toi plus plus. 290 00:19:58.800 --> 00:20:05.030 ; Perään niin se tarkoittaa sitä, että se b arvo kasvaa ja ja sitten seuraava lause kun 291 00:20:05.030 --> 00:20:09.290 sieltä aikanaan suoritetaan niin se DN arvo on ihan oikeastikin kasvanut. 292 00:20:09.290 --> 00:20:14.030 Mutta nyt tosiaan kysymys kuuluu sitä niin, että että mikä on ja mikä on tän jälkeen 293 00:20:14.030 --> 00:20:19.590 ja ja vielä niinku kertauksena viime luennon asioista että tämä lause mikä nyt mulla 294 00:20:19.590 --> 00:20:24.310 on tuossa maalattuna ei ole mikään sidontaoperaatio näiden 2 muuttujan välillä vaan se 295 00:20:24.310 --> 00:20:29.970 on vaan yksinkertaisesti arvon kopioiminen muuttuuilta toiselle ja ihan niinku kopiokoneella 296 00:20:29.970 --> 00:20:31.960 syntyi uusi paperi siitä alkuperäisestä. 297 00:20:31.960 --> 00:20:37.450 Ja tuossakin syntyy kopio siitä uudesta vaan siitä vanhasta vitosesta ja se ja 298 00:20:37.450 --> 00:20:44.220 on on sen jälkeen 5 kunnes sitä tuossa kasvatetaan eli 5 5 ja. 299 00:20:44.220 --> 00:20:50.360 B saa arvon 6 ja toivottavasti nyt menee menee oikein noin. 300 00:20:50.360 --> 00:20:55.500 No sitten kokeilin itse kirjoittaa vastaava koodi tämän tehtävän alimpaan laatikkoon. 301 00:20:55.500 --> 00:20:57.430 Entä jos viimeisen? 302 00:20:57.430 --> 00:21:02.270 Tuloslukujen jälkeen lisätään seuraavat rivit, jälleen otetaan se kopiokonekäyttöön eli kopioidaan 303 00:21:02.270 --> 00:21:07.100 BN sisältämä arvo muuttujalle a ja koska siellä oli äsken kutonen. 304 00:21:07.100 --> 00:21:12.250 Tämän edellisen setin jälkeen niin nytten a, ssa on kutonen. 305 00:21:12.250 --> 00:21:15.860 No sitten aahan sijoitetaan välittömästi jokin toinen arvo. 306 00:21:15.860 --> 00:21:19.680 Ja nyt taas kysymys kuuluu, että mitäs arvolle tapahtuu? 307 00:21:19.680 --> 00:21:22.560 No edelleenkään BN arvolle ei. 308 00:21:22.560 --> 00:21:25.380 Tässä tapahdu yhtään mitään, koska me emme missään vaiheessa sijoita 309 00:21:25.380 --> 00:21:29.440 balille uutta arvoa ja niinpä ben arvo on edelleen se sama kutonen 310 00:21:29.440 --> 00:21:33.270 mikä se oli tuolla edellisessäkin vaiheessa. 311 00:21:33.270 --> 00:21:39.270 Ja vielä kolmoskohta tästä tehtävästä eli tehdään uusi muuttuja plus a. 312 00:21:39.270 --> 00:21:46.430 Tämä on mahdollista, koska ja ovat kokonaislukuja ja double tyyppiselle muuttujalle eli desimaaliluku 313 00:21:46.430 --> 00:21:52.090 tyyppiselle muuttujalle voi sijoittaa ihan hyvin kokonaislukuarvon. 314 00:21:52.090 --> 00:21:56.690 Meillä on siis b, ssä kutonen ja oli mitä se nyt olikaan. 315 00:21:56.690 --> 00:22:03.450 A oli 15 6 plus 15 on kaksikymmentäyksi jotenka summa. 316 00:22:03.450 --> 00:22:08.700 Summa on kaksikymmentäyksi. Hyvä. 317 00:22:08.700 --> 00:22:12.320 Näin tehtävä kolmonen siinä. 318 00:22:12.320 --> 00:22:14.340 Ja siinä oli vielä tarkistuslaatikko. 319 00:22:14.340 --> 00:22:16.860 Tämä voi käyttää tässä nyt ei. 320 00:22:16.860 --> 00:22:18.660 Ollut pakko laittaa tähän mitään. 321 00:22:18.660 --> 00:22:21.770 Siinä voi vaan tarkistaa sitä omaa vastausta tai tulostusta. 322 00:22:21.770 --> 00:22:25.180 Jos nyt jostain syystä vaikkapa raideri ei ollut käytössä. 323 00:22:25.180 --> 00:22:28.500 Mutta mennään sitten tehtävään numero 4 eli ensimmäinen 324 00:22:28.500 --> 00:22:31.460 tämmöinen graafinen tehtävä tällä kertaa. 325 00:22:31.460 --> 00:22:35.910 Pitäisi saada tämmöinen näkymä aikaiseksi ja siinä oli nyt sitten. 326 00:22:35.910 --> 00:22:41.740 Pohja, joka ei vielä toimi ihan oikein eli meillä on siellä muutama aliohjelma 327 00:22:41.740 --> 00:22:45.880 kutsu berliinissä valmiina ja sitten meillä on tää piirrä neliö aliohjelman 328 00:22:45.880 --> 00:22:48.280 pohja täällä, mutta mitään ei näy. 329 00:22:48.280 --> 00:22:54.860 Sinne ei vielä mitään neliötä piirry, joten kun otetaan tästä nyt sitten kopio. 330 00:22:54.860 --> 00:23:01.610 Tai oikeastaan me voidaan ottaa koko tästä luokasta kopio ja palata raiderin puolelle. 331 00:23:01.610 --> 00:23:05.040 Mulla oli täällä valmiiksi tehtynä nyt sitten taas. 332 00:23:05.040 --> 00:23:07.060 Sovellus. 333 00:23:07.060 --> 00:23:12.260 Jypeeli sovellus ja nyt mä vastaan sen tuohon sieltä tiimistä noin. 334 00:23:12.260 --> 00:23:15.680 Eli tämä on nyt sama tilanne kuin mikä tiimissä oli ja 335 00:23:15.680 --> 00:23:17.810 tarkistetaan että se oikeasti näyttääkin. 336 00:23:17.810 --> 00:23:24.070 Samalta otetaan tuolta toi portaat sovellus aktiiviseksi ja painetaan play. 337 00:23:24.070 --> 00:23:27.290 Ja sininen ruutu näkyy, jotenka tästä on hyvä lähteä liikkeelle. 338 00:23:27.290 --> 00:23:31.770 No koitetaan nyt saada ne 2 2 neliötä sinne näkymään ja 339 00:23:31.770 --> 00:23:34.550 tässä tehtävänä oli siis nyt täydentää tämä. 340 00:23:34.550 --> 00:23:37.760 Ensinnäkin tämä aliohjelma piirrän neliö. 341 00:23:37.760 --> 00:23:40.510 No jos me luetaan tätä dokumentaatiota niin mitä tän pitäisi 342 00:23:40.510 --> 00:23:43.910 tehdä on että piirtää yksi game objekti neliön. 343 00:23:43.910 --> 00:23:48.800 Sillä on tietty sivun pituus ja keskipiste, joka on annettu täällä parametreina. 344 00:23:48.800 --> 00:23:52.940 Eli tämä parametrien luettelo tässä nyt tulee tärkeään rooliin. 345 00:23:52.940 --> 00:23:57.700 No me osataan piirtää nyt yksi neliö me ollaan ennenkin tehty näitä game objekteja 346 00:23:57.700 --> 00:24:01.300 tällä kurssilla, jotenka se nyt periaatteessa pitäisi olla ihan tuttua. 347 00:24:01.300 --> 00:24:05.380 No mitä tänne sulkujen sisään tulee niin sinne tulee nyt se koko joka oli annettu 348 00:24:05.380 --> 00:24:10.140 tuossa eli sivun pituus on 80 niin tehdään se nyt tälleen ikään kuin manuaalisesti 349 00:24:10.140 --> 00:24:13.640 tuolla tavalla laittamalla vaan ne luvut tuonne paikalleen. 350 00:24:13.640 --> 00:24:16.800 No nyt jos me lisätään tää neliö tänne pelikentälle. 351 00:24:16.800 --> 00:24:21.750 Laitetaan homma käyntiin niin meidän pitäisi jotakin saada näkyville. 352 00:24:21.750 --> 00:24:25.470 Kaiketi, mutta ne on vielä noi neliöt nyt päällekkäin siinä 353 00:24:25.470 --> 00:24:28.570 ja niinpä tän sijainti pitää laittaa kuntoon. 354 00:24:28.570 --> 00:24:33.810 No se sijainti nyt edelleenkin on annettu tuolla parametreina koordinaatti ja koordinaatti 355 00:24:33.810 --> 00:24:38.430 ja näitä hyväksikäyttämällä me saadaan asemoitua se joko asettamalla. 356 00:24:38.430 --> 00:24:41.650 Kumpikin näistä erikseen tai sitten positio yksi kertaa. 357 00:24:41.650 --> 00:24:47.370 Katsotaan se kohta, mutta laitetaan se nyt tolleen ja arvot erikseen. 358 00:24:47.370 --> 00:24:49.440 Eli nyt siellä on ne 2. 359 00:24:49.440 --> 00:24:54.680 2 neliötä niinku kuuluukin ja nyt sitten vielä jäi tehtäväksi täydentää tänne berliiniin 360 00:24:54.680 --> 00:24:59.970 loputkin neliöt otetaan nyt tuosta copy paste ja laitetaan sinne. 361 00:24:59.970 --> 00:25:05.950 Argumentteina neliön tai loppujen neliöiden halutut sijainnit koitetaan. 362 00:25:05.950 --> 00:25:09.890 Nyt saadaan ne kahdeksankymmenen välein sinne. 363 00:25:09.890 --> 00:25:18.280 Paikalle. Noin nyt näyttää paremmalta. 364 00:25:18.280 --> 00:25:20.920 No nyt tää ruutu ei ole ihan keskitetty niin sille 365 00:25:20.920 --> 00:25:25.330 pystyy tekemään oliko täällä mallissa? 366 00:25:25.330 --> 00:25:29.510 Aa sitä ei ollutkaan täällä tossa joo jos haluat sijainnin. 367 00:25:29.510 --> 00:25:33.590 Samalla tavalla kuin mallikuvissa, niin voit lisätä tommoisen sinne. 368 00:25:33.590 --> 00:25:38.190 Pekingin loppuun niin laitetaan se kamera zoom all objekti niin näyttää vähän 369 00:25:38.190 --> 00:25:42.560 nätimmältä kun ne neliöt ei ole tuolla reunassa vaan keskellä. 370 00:25:42.560 --> 00:25:46.500 Hyvä. Niin lupasin tehdä. 371 00:25:46.500 --> 00:25:51.010 Näyttää sen että miten se positio asetetaan kerralla täältä löytyy. 372 00:25:51.010 --> 00:25:56.750 Game object olijoilta löytyy aina tää position myöskin joka on vektori eli 373 00:25:56.750 --> 00:26:01.690 eli tota vektori on asia joka sisältää 2 lukua sekä että y. 374 00:26:01.690 --> 00:26:03.780 Eli tää on ihan sama asia. 375 00:26:03.780 --> 00:26:09.290 Mutta ikään kuin voisiko sanoa vähän lyhyemmin ja sen voi tehdä nyt tällä tavalla, että asetetaan 376 00:26:09.290 --> 00:26:16.150 positio niin uusi vektori ja sille uudelle sektorille viemme arvot ja ja se mitä tuossa 377 00:26:16.150 --> 00:26:21.350 konkreettisesti tapahtuu on, että me luodaan uusi vektori olio alustetaan se vektori olio 378 00:26:21.350 --> 00:26:26.670 tommoisilla arvoilla ja ja sitten se uusi vektori olio, jonka juuri juurikin tässä loimme, 379 00:26:26.670 --> 00:26:29.030 niin sijoitetaan sinne positioinnin arvoksi. 380 00:26:29.030 --> 00:26:33.190 Voi olla niin, että on tutumpaa ja turvallisempaa, nytten tehdä tehdä tää 381 00:26:33.190 --> 00:26:36.880 näiden ja erillisten koordinaattien kautta, mutta ihan. 382 00:26:36.880 --> 00:26:39.770 Sama asia olisi tehdä se näin, että vaan yksi rivi, joka voi 383 00:26:39.770 --> 00:26:42.370 olla monessa tilanteessa vähän vähän kätevämpää. 384 00:26:42.370 --> 00:26:51.970 No joo mut anyways. Ja sitten katsoin, että oliko tuosta. 385 00:26:51.970 --> 00:26:55.550 Muuta sanottavaa. Eipä oikeastaan. 386 00:26:55.550 --> 00:26:59.490 Eli mennään sitten eteenpäin ja. 387 00:26:59.490 --> 00:27:05.280 Tässä tehtävässä ei muuta nyt sitten ollutkaan. 388 00:27:05.280 --> 00:27:11.540 Jep muuta kun mukautettujen pisteiden asettaminen ja jos kaikki meni OK niin yksi. 389 00:27:11.540 --> 00:27:13.340 Tietysti siitä. 390 00:27:13.340 --> 00:27:16.630 Ja jälleen kerran nyt toistan tätä asiaa, että jos nyt unohdit laittaa tuon 391 00:27:16.630 --> 00:27:19.690 mukautetut pisteet niin ei hätää laita mulle sähköpostia. 392 00:27:19.690 --> 00:27:23.150 Minä käyn sieltä korjaamassa. 393 00:27:23.150 --> 00:27:29.420 Mutta mennään tehtävän numero 5 vähän niinku lumiukko ohjelmaa matkitaan tässä, mutta tehdään 394 00:27:29.420 --> 00:27:34.720 vähän tuommoinen erilainen muoto siihen vaatii pikkuisen laskemista. 395 00:27:34.720 --> 00:27:36.800 Mutta siinä on nyt noita kaavoja annettu valmiina, 396 00:27:36.800 --> 00:27:39.000 niin ei tarvitse ihan kaikkea keksiä. 397 00:27:39.000 --> 00:27:42.540 Itse otetaan kuitenkin tuosta toi mallikoodi nytten talteen 398 00:27:42.540 --> 00:27:46.280 ja tehdään raiderin uusi projekti. 399 00:27:46.280 --> 00:27:51.720 Mulla onkin siellä nyt tehty jo lumilyhty niminen projekti ja vastataan tää. 400 00:27:51.720 --> 00:28:01.910 Bikinin nyt toi annettu mallikoodi aktivoidaan projekti tuosta ja homma käyntiin. 401 00:28:01.910 --> 00:28:04.750 No siinä on nyt se lumiukko, mutta. 402 00:28:04.750 --> 00:28:09.800 Lumiukkoa ei pitänyt tehdä, vaan vaan vaan tämmöinen kiva lumilyhty eli mä voisin nyt 403 00:28:09.800 --> 00:28:13.940 aluksi tehdä nää niin että laitetaan tää alarivi kuntoon, koska se nyt on varmaan kaikkein 404 00:28:13.940 --> 00:28:19.740 helpoin eli tehdään sinne 3 saman seteistä palloa vierekkäin. 405 00:28:19.740 --> 00:28:22.990 Ja jos nyt lähdetään vaikka siitä ajatuksesta, että että 406 00:28:22.990 --> 00:28:27.490 meillä ensinnäkin hetkinen hetkinen. Olenko mä tehnyt tuonne? 407 00:28:27.490 --> 00:28:32.210 Joo mä näköjään olin jo vähän etupelto on tehnyt tommoisen piirrät pallo aliohjelman. 408 00:28:32.210 --> 00:28:35.480 Sehän tehtiin tehtiin jo itse asiassa luennolla. 409 00:28:35.480 --> 00:28:39.010 Niin niin mä hyödynnän nyt sitä tässä näin, koska mun on ihan 410 00:28:39.010 --> 00:28:41.240 turha tänne copypastaa tätä pallontekoakoodia. 411 00:28:41.240 --> 00:28:43.400 Mulla on tuossa hienosti tehty. 412 00:28:43.400 --> 00:28:47.520 Tehty aliohjelma, joka piirtää yksi pallon niin hyödynnetään sitä. 413 00:28:47.520 --> 00:28:53.160 Eli oikeastaan oikeastaan tehdään silleen, että mä poistan nää tästä. 414 00:28:53.160 --> 00:28:58.880 Ja ja kutsun tuota mun hienosti tekemääni piirrepalloaliohjelmaa eli eli. 415 00:28:58.880 --> 00:29:01.810 Eli siis vielä kertauksena niin että. 416 00:29:01.810 --> 00:29:05.710 Tämä aliohjelma ottaa parametrina pallon. 417 00:29:05.710 --> 00:29:08.360 Keskipisteen koordinaatit. 418 00:29:08.360 --> 00:29:10.970 XY ja sitten myöskin sateen. 419 00:29:10.970 --> 00:29:14.750 No tuo voisi olla myöskin tavallaan leveys ja korkeus. 420 00:29:14.750 --> 00:29:18.630 Tässä sille on nyt laitettu parametriksi sade, joka on siis 421 00:29:18.630 --> 00:29:20.740 leveyden, puolikas tai korkeuden puolikas. 422 00:29:20.740 --> 00:29:23.920 Olkoon nyt tällä kertaa näin. Ehkä. 423 00:29:23.920 --> 00:29:27.040 Matematiikassa ja varmaan fysiikassa useammin käytetään 424 00:29:27.040 --> 00:29:29.570 ympyröistä nimenomaan tätä sade parametriä. 425 00:29:29.570 --> 00:29:33.580 Niin tuossa nyt on vähän sitten mallinnettu sitä ideaa, mutta anyways 426 00:29:33.580 --> 00:29:37.610 laitetaan toi ensimmäinen pallo vaikka kohtaan. 427 00:29:37.610 --> 00:29:44.170 -100 nolla ja annetaan sateeksi vaikkapa nyt sitten 100 eli 100 pikseliä 428 00:29:44.170 --> 00:29:49.450 vasemmalle suunnassa nolla ja sitten 100 pikseliä oikealle. 429 00:29:49.450 --> 00:29:55.360 Anteeksi 100. Niitä sade pitäisi olla 50. 430 00:29:55.360 --> 00:29:59.830 Puolet tuosta sovitaan nyt vaikkapa näin lähdetään siitä liikkeelle. 431 00:29:59.830 --> 00:30:05.240 Se nyt on vähän makuasia, että minkälaisilla minkälaisilla säteillä ja minkälaisilla. 432 00:30:05.240 --> 00:30:08.500 Sijoituksilla nyt näitä näitä sitten tekee. 433 00:30:08.500 --> 00:30:12.510 Kunhan kaikki pallot on sama sateisia eli nyt mä tiedän että se seuraava 434 00:30:12.510 --> 00:30:17.280 pallo pitäisi olla sitten paikassa nolla nolla. 435 00:30:17.280 --> 00:30:19.170 Ei nyt mä laskin kuitenkin väärin. 436 00:30:19.170 --> 00:30:25.150 Elikkä tuo pitäisi olla -50 näin, koska sen keskipiste on siellä. 437 00:30:25.150 --> 00:30:30.080 Nyt nyt nyt menee opettajalla ehkä vähän taas luvut sekaisin. 438 00:30:30.080 --> 00:30:33.470 No kyllä tuo näyttää hyvältä. Joo elikkä se on. 439 00:30:33.470 --> 00:30:42.110 Se seuraava pallo pitäisi olla sitten taas. Keskipisteessä. 440 00:30:42.110 --> 00:30:44.060 Tai sen keskipiste pitäisi olla 50 nolla. 441 00:30:44.060 --> 00:30:51.410 Toivottavasti nyt meni oikein. 442 00:30:51.410 --> 00:30:57.900 Ja minnekäs mun ohjelma meni. 443 00:30:57.900 --> 00:31:00.450 Se muuten ei mennyt oikein tehdä näitä game objekteja, niin 444 00:31:00.450 --> 00:31:02.680 nähdään nähdään paremmin nuo sijainnit. 445 00:31:02.680 --> 00:31:06.300 Joo tehdään tälleen niin niin niin nähdään, että jos se 446 00:31:06.300 --> 00:31:10.050 menee päällekkäin toistensa kanssa paremmin. 447 00:31:10.050 --> 00:31:12.860 Oli käyn brake pointti tuossa niin sen takia. 448 00:31:12.860 --> 00:31:19.390 Sen takia se ei. Käynnistynyt tuo mun ohjelma. 449 00:31:19.390 --> 00:31:21.190 Noin elikkä. 450 00:31:21.190 --> 00:31:25.680 Kyllähän se pieleen meni, eli totta kai tuo pitää laittaa -100 ja tuo pitää olla sitten 451 00:31:25.680 --> 00:31:30.070 100 kohdassa ja niinku huomataan että tässä nyt tulee tätä laskemista ja kohta nähdään 452 00:31:30.070 --> 00:31:35.490 että sitä laskemista tulee vähän lisää ja se laskeminen olisi ehkä syytä eriyttää eriyttää 453 00:31:35.490 --> 00:31:40.450 tästä argumenttien antamisesta me tehdään se sitten siinä siinä tota jatko osassa tässä 454 00:31:40.450 --> 00:31:45.110 tehtävässä, mutta siinä on nyt alarivi tehty joka tapauksessa kuntoon alarivi ja nyt 455 00:31:45.110 --> 00:31:46.950 tulee sitten se keskivi. 456 00:31:46.950 --> 00:31:51.930 Jossa pitää pikkuisen miettiä, että mitäs nyt tehdään, mihin me se laitetaan. 457 00:31:51.930 --> 00:31:54.470 Eli suunnassa se pitäisi tietysti tulla näiden 2 458 00:31:54.470 --> 00:31:57.320 palleroinen väliin, mutta entäs sitten? 459 00:31:57.320 --> 00:32:01.440 Entäs sitten korkeusta tai niinku just suunnassa? 460 00:32:01.440 --> 00:32:05.400 No siinä oli se kaava on annettu nyt valmiina, että jos me halutaan pallo laittaa 461 00:32:05.400 --> 00:32:10.160 tuohon kohtaan niin niin me tiedetään niin, että jos me. 462 00:32:10.160 --> 00:32:13.820 Piirretään tähän suorakulmainen kolmio tällä tavalla. 463 00:32:13.820 --> 00:32:18.740 Että kulma tai suorakulma muodostuu tuohon kohtaan, niin tämän. 464 00:32:18.740 --> 00:32:21.540 Kateetin korkeus saadaan pythagoraan lauseella. 465 00:32:21.540 --> 00:32:24.760 Tämä oli nyt se ikään kuin taikasana. 466 00:32:24.760 --> 00:32:30.990 Sille tää hypotenuusahan me nimittäin tiedetään, kun me tiedetään pallon säde. 467 00:32:30.990 --> 00:32:34.600 Niin me tiedetään myöskin paljonko on 2 kertaa säde, eikö niin? 468 00:32:34.600 --> 00:32:37.430 Niin se me tiedetään, mutta tätä korkeutta me ei vielä tiedetä. 469 00:32:37.430 --> 00:32:39.340 Samoin tää lyhyempi katetta me täältä tiedetään. 470 00:32:39.340 --> 00:32:43.280 Varmasti sekin on se pallon säde, joten kun toi korkeus on se 471 00:32:43.280 --> 00:32:46.410 mitä me ei tiedetä ja siihen nyt oli annettu. 472 00:32:46.410 --> 00:32:50.030 Annettu sitten siellä vinkkiä siellä tiimissä jo tohon chattikysymykseen. 473 00:32:50.030 --> 00:32:54.730 Siis vastauksena niin game objekti ja fyysisen objektin ero on siinä niin, että se 474 00:32:54.730 --> 00:32:59.760 fyysiset objektit noudattaa fysiikan lakeja ja ne kappaleet eivät myöskään voi mennä 475 00:32:59.760 --> 00:33:04.310 sisäkkäin, että jos mä teen fyysisiä objekteja joita mä. 476 00:33:04.310 --> 00:33:09.630 Joiden sijainniksi mä annan hieman päällekkäiset sijainnit, niin toi fysiikkamoottori toimii 477 00:33:09.630 --> 00:33:15.450 sillä tavalla, että se palauttaa ne erilleen ja sen takia tossa mun aikaisemmin äsken väärin 478 00:33:15.450 --> 00:33:19.490 määriteltyjen koordinaattien avulla kiinalaine tulleen siististi riviin. 479 00:33:19.490 --> 00:33:21.450 Mutta sehän ei tietenkään tarkoitus. 480 00:33:21.450 --> 00:33:24.670 Sen takia mä nyt laitoin ne game object, että toi fysiikka moottori 481 00:33:24.670 --> 00:33:28.900 ei ikään kuin korjaa sitä mun tekemää positiovirhettä. 482 00:33:28.900 --> 00:33:34.690 Mutta nyt sitten se. Nyt sitten se kaava sille. 483 00:33:34.690 --> 00:33:40.600 Sille tota pythagoraanlle löytyi löytyi täältä tehtävästä. 484 00:33:40.600 --> 00:33:42.780 Eli ton. 485 00:33:42.780 --> 00:33:48.710 Korkeuden saadaan eli eli sen toisen kateetin pituus saadaan sillä tavalla, että otetaan 486 00:33:48.710 --> 00:33:54.540 neliöjuuri hypotenuusa neliöstä ja vähennetään siitä toisen kateetin neliö. 487 00:33:54.540 --> 00:33:59.080 Tuossa on se käytännössä se kaava niin otetaan siitä kopio. 488 00:33:59.080 --> 00:34:02.790 Eli nyt tää tai josko se nyt ehkä sitten korkeus. 489 00:34:02.790 --> 00:34:08.730 Parempi muuttujan nimi sille niin on meidän hypotenuusa joka on 2 kertaa 490 00:34:08.730 --> 00:34:17.350 säde eli tässä tapauksessa 100 ja sitten 2 kertaa. 491 00:34:17.350 --> 00:34:20.710 2 kertaa anteeksi 50 kertaa 50. 492 00:34:20.710 --> 00:34:25.410 Eli se lyhyempi kateetti toiseen niin nyt pitäisi saada sitten. 493 00:34:25.410 --> 00:34:30.720 Nyt pitäisi saada sitten keskirivillä oikeat sijainnit. 494 00:34:30.720 --> 00:34:33.420 X suunnassa puoleenväliin. 495 00:34:33.420 --> 00:34:37.180 Ja suunnassa korkeus säde on sama. 496 00:34:37.180 --> 00:34:42.890 Vastaavasti se toinen keskipallo taas mennään suunnassa vähän oikealle. 497 00:34:42.890 --> 00:34:45.480 Ja suunnassa sitten korkeuden verran ylöspäin. 498 00:34:45.480 --> 00:34:51.530 Toivottavasti meni oikein. Noin näyttää hyvältä. 499 00:34:51.530 --> 00:34:55.460 No nyt sitten se vihoviimeinen palleroinen sinne niin. 500 00:34:55.460 --> 00:34:57.530 Tuosta napista piti painaa. 501 00:34:57.530 --> 00:34:59.750 Elikkä nyt sitten taas suunnassa ollaan itse asiassa samassa kun 502 00:34:59.750 --> 00:35:04.330 tämä eka palo elikkä positiossa nolla suunnassa. 503 00:35:04.330 --> 00:35:06.600 Mutta sitten suunnassa mennään. 504 00:35:06.600 --> 00:35:10.840 Korkeuden verran ylöspäin niin päästään tuohon ja toisen korkeuden verran ylöspäin, 505 00:35:10.840 --> 00:35:14.240 niin pitäisi päästä sitten tonne ylimmän palleroinen keskipisteeseen. 506 00:35:14.240 --> 00:35:21.010 Katsotaan miten käy. 507 00:35:21.010 --> 00:35:24.770 Eli suunnassa keskellä y suunnassa 2 kertaa. 508 00:35:24.770 --> 00:35:31.290 Korkeus sade on edelleen se 50. 509 00:35:31.290 --> 00:35:35.920 Noin hyvältä näyttää nytten, mutta tässä nyt on aika paljon näitä kiinteitä lukuarvoja, josta 510 00:35:35.920 --> 00:35:40.690 mä en ainakaan kyllä hirveästi tykkää ja olisikin syytä tehdä tästä ohjelmasta sellainen, että 511 00:35:40.690 --> 00:35:46.630 näiden ympyröiden säde on yksi paikassa ja muuttamalla sadetta eli yksi lukua yksi paikasta niin 512 00:35:46.630 --> 00:35:52.000 tulee täsmälleen samanlainen kuva, mutta eri mittakaavassa ja. 513 00:35:52.000 --> 00:35:57.300 Ja tässä ei saa arvata niitten ympyröiden paikkoja oikea vaan vaan tehdä nää laskut 514 00:35:57.300 --> 00:36:03.180 sillä tavalla niin, että yksi ja ainoa muutos aiheuttaa sitten kaikkien niiden muidenkin 515 00:36:03.180 --> 00:36:07.500 muutosten toteutumisen ilman erillisiä koodimuutoksia. 516 00:36:07.500 --> 00:36:13.800 Niin tehdäänpä näin, että määritellään tänne pallon säde ja olkoon se nyt 50 tässä 517 00:36:13.800 --> 00:36:17.340 tai laitetaan itse asiassa vähän erilaiseksi, niin nähdään nähdään tarvittaessa 518 00:36:17.340 --> 00:36:21.880 sitten, että jos sieltä tulee jotain virhettä eli tää olisi pallon säde, se on 519 00:36:21.880 --> 00:36:25.140 se kolmiokatetisen lyhyempi patentti vaakasuunnassa. 520 00:36:25.140 --> 00:36:28.130 Ja sitten. 521 00:36:28.130 --> 00:36:34.810 Hypotenuusa on 2 kertaa säde elikkä jälleen kerran se. 522 00:36:34.810 --> 00:36:38.720 Keskirivin pallon ja alarivin pallon välinen. 523 00:36:38.720 --> 00:36:41.140 Välinen tota keskipisteiden välinen etäisyys. 524 00:36:41.140 --> 00:36:47.050 Se on tietysti 2 kertaa toi sade. No sitten. 525 00:36:47.050 --> 00:36:50.400 Mä ja mä merkkaan sitä nyt c yksi sen takia niin että. 526 00:36:50.400 --> 00:36:55.630 Että se on tota hyvin tyypillisesti merkitään merkitään matikassa aina se hypotenuusa 527 00:36:55.630 --> 00:37:00.210 siellä kirjaimella, mutta se nyt voisi olla tietysti ihan mitä vaan. 528 00:37:00.210 --> 00:37:03.830 No nyt sitten laitetaan tähän tota koordinaatti elikkä sen 529 00:37:03.830 --> 00:37:12.470 pallon rivistön koronat ja se on aluksi nolla. 530 00:37:12.470 --> 00:37:19.720 Tämä päivittyy. Ohjelmassa tai kun rivejä piirretään. 531 00:37:19.720 --> 00:37:21.760 Lisää tai sitä pitää päivittää. 532 00:37:21.760 --> 00:37:25.680 Tätä pitää päivittää kun rivejä piirretään lisää. 533 00:37:25.680 --> 00:37:28.990 Hyvä. Ja nyt sitten se. 534 00:37:28.990 --> 00:37:34.590 Nyt sitten se korkeus eli tota. 535 00:37:34.590 --> 00:37:38.150 Ei sori alimman pallon kortti ja tätä tätä ei pidä päivittää. 536 00:37:38.150 --> 00:37:39.950 Se on toi. 537 00:37:39.950 --> 00:37:43.090 Se on toi seuraava elikkä niin sanottu eli se toinen kateetti 538 00:37:43.090 --> 00:37:49.980 ja siihen meillä oli nyt se kaava olemassa. Ja. 539 00:37:49.980 --> 00:37:53.280 Minkä takia mä laitan tuohon r laitetaan siihen kuitenkin niin ei 540 00:37:53.280 --> 00:37:57.980 mene se käsin sekaisin tuoma mallin vastauksen kanssa. 541 00:37:57.980 --> 00:38:03.500 Eli nyt meillä on siellä. Se kaava joka pitääkin. 542 00:38:03.500 --> 00:38:06.960 Toinen tapa korottaa toiseen potenssiin löytyy sieltä mats luokasta tuommoinen 543 00:38:06.960 --> 00:38:09.460 valmis funktio, jolla voi korottaa toiseen potenssiin. 544 00:38:09.460 --> 00:38:14.680 Mutta mä teen nyt näin. Ja nyt sitten alkaa näiden rivien. 545 00:38:14.680 --> 00:38:20.900 Refaktorointi eli muuttaminen siten, että toiminta ei toivottavasti muutu. 546 00:38:20.900 --> 00:38:27.140 No mikä tää eka luku on niin se oli se esposito joka oli meille nytten 2 kertaa. 547 00:38:27.140 --> 00:38:32.510 Kateetin pituus eli 2 kertaa säde negatiivisen suuntaan mentynä yhdyskunnasta 548 00:38:32.510 --> 00:38:36.330 ollaan siellä nolla, mutta käytetään siihenkin tota. 549 00:38:36.330 --> 00:38:41.900 Muuttujaa, joka meillä on tuolla määritelty ja sade on nyt sitten se a. 550 00:38:41.900 --> 00:38:48.580 Seuraava pallo piirretään suunnassa nolla suunnassa muuttujan antamaan 551 00:38:48.580 --> 00:38:53.220 arvoon ja edelleenkin meidän pallon säde a ja vastaavasti sitten oikeanpuoleinen 552 00:38:53.220 --> 00:38:57.360 pallo 2 kertaa sateen verran oikealle päin. 553 00:38:57.360 --> 00:39:00.450 Koordinaatti ja sade ja niinku tehdään enempää niin 554 00:39:00.450 --> 00:39:02.820 katsotaan että meneekö alarivi oikein. 555 00:39:02.820 --> 00:39:07.340 Nythän se keskirivin ja ylärivi on missä sattuu, mutta alarivi näyttää olevan oikein. 556 00:39:07.340 --> 00:39:10.400 Voidaan me tietysti laittaa tuohon muuttujan arvoksi. 557 00:39:10.400 --> 00:39:16.200 Nyt se 50 niin nyt periaatteessa pitäisi tuon kuvion näyttää alkuperäiseltä, 558 00:39:16.200 --> 00:39:20.540 mutta kuten sanottu, niin tämän muuttujan muuttaminen pitäisi sitten muuttaa 559 00:39:20.540 --> 00:39:25.300 koko kuviota, mutta nyt alarivi näyttäisi toimivan halutulla tavalla, että nyt 560 00:39:25.300 --> 00:39:28.500 saadaan erikokoisia ainakin alarivillä piirrettyä. 561 00:39:28.500 --> 00:39:31.130 Laitan sen 2 vitoseen. 562 00:39:31.130 --> 00:39:34.630 No keskivi vaatii vähän miettimistä, eli meidän täytyy nytten 563 00:39:34.630 --> 00:39:39.150 sitä koordinaatti ja päivittää niihin. Eli kyllä mä nyt kuitenkin. 564 00:39:39.150 --> 00:39:40.950 Kuitenkin, tämä on se asia. 565 00:39:40.950 --> 00:39:45.610 Tätä pitää päivittää kun rivejä piirretään lisää. 566 00:39:45.610 --> 00:39:48.270 Joo nyt on ihan aivot. 567 00:39:48.270 --> 00:39:53.610 Aivot on maanantainaasennossa eli koordinaatti ja tietysti pitää päivittää siten, että 568 00:39:53.610 --> 00:39:57.830 me lisätään siihen se korkeus joka me ollaan juurikin tuossa rivillä kaksikymmentäseitsemän 569 00:39:57.830 --> 00:40:04.070 laskettu ja nyt kun me ollaan koordinaatteja Päivitetty, tää on tuo pois ettei se häiritse 570 00:40:04.070 --> 00:40:07.200 koordinaatteja kun ollaan Päivitetty niin me voidaan. 571 00:40:07.200 --> 00:40:13.730 Nyt tää Päivitetty arvo myöskin sijoittaa näille uusille valloille. 572 00:40:13.730 --> 00:40:18.810 Eli suunnassa mennään miinus AYY suunnassa muuttujan 573 00:40:18.810 --> 00:40:22.130 osoittamaan arvoon ja sade on edelleen a. 574 00:40:22.130 --> 00:40:30.230 Vastaavasti tää seuraava pallo noin ja mitäs sitten ylimmän pallo osalta päivitetään 575 00:40:30.230 --> 00:40:36.380 jälleen tuota muuttujan arvoa eli lisätään siihen taas se pythagoraan lausekkeella. 576 00:40:36.380 --> 00:40:44.360 Saatu korkeusarvo ja päivitetään ylimmän pallon sijainti. 577 00:40:44.360 --> 00:40:47.330 Noin suunnassa nolla suunnassa. 578 00:40:47.330 --> 00:40:49.670 Siihen koronaattiin, joka ollaan tuon lausekkeen avulla 579 00:40:49.670 --> 00:40:54.810 saatu ja sitten on pallo sade. 580 00:40:54.810 --> 00:40:59.250 Pitkä selitys, mutta ehkä ehkä tässä niinku vaan halusin. 581 00:40:59.250 --> 00:41:06.070 Halusin korostaa sitä niin, että. Että tämän jälkeen. 582 00:41:06.070 --> 00:41:13.320 Tän kuvion uudelleenpiirtäminen uudelleen skaalaaminen on äärettömän helppoa ja. 583 00:41:13.320 --> 00:41:17.880 Ja toki sitten tavallaan tosielämässä tulee aina se kysymys niin, että 584 00:41:17.880 --> 00:41:21.080 kannattaako meidän tehdä tämmöistä reflektointityötä? 585 00:41:21.080 --> 00:41:27.090 Kannattaako meidän vähän niinku tehdä tätä meidän koodia ikään kuin yleisemmäksi? 586 00:41:27.090 --> 00:41:33.020 Ja vähän niin kun paremmaksi vaan sen takia että me saadaan tehtyä tämmöinen. 587 00:41:33.020 --> 00:41:36.770 Temppu, että me voidaan sitten helposti sitä meidän kuviota muokata, jos 588 00:41:36.770 --> 00:41:39.890 me haluttaisiin tehdä tosi isoa lumilyhty, niin sinne voi pistää jonkun 589 00:41:39.890 --> 00:41:42.650 isonkin luvun ja se riippuu tietysti aina tilanteesta. 590 00:41:42.650 --> 00:41:45.350 Siitä tuli niin iso, että se ei mahdu tähän meidän ruutu. 591 00:41:45.350 --> 00:41:49.210 Riiputilanteesta ja nyt meillä meni niinku tässä. 592 00:41:49.210 --> 00:41:51.850 Ehkä jos katsottiin kelloa niin varmaan kymmenisen 593 00:41:51.850 --> 00:41:53.990 minuuttia kun me tätä reflektointiin. 594 00:41:53.990 --> 00:41:57.490 Se että onko se 10 minuuttia hyödyllistä ajankäyttöä niin 595 00:41:57.490 --> 00:42:00.070 monesti on, mutta ei välttämättä aina. 596 00:42:00.070 --> 00:42:04.750 Mutta tässä nyt vaan toivottavasti toivottavasti oli yksi esimerkki siitä, että miten 597 00:42:04.750 --> 00:42:09.490 tällaistakin ohjelmaa sitten kuitenkin voi muuttaa yleisemmäksi. 598 00:42:09.490 --> 00:42:13.170 Mutta muokattavaksi ja ehkä myöskin luettavammaksi. 599 00:42:13.170 --> 00:42:15.770 No onko nää muuttujien nimet nyt välttämättä hyviä? 600 00:42:15.770 --> 00:42:23.570 Pitäisikö tähän kuitenkin olla nimeltään vaikkapa sade ehkä 2 painikkeella niin 601 00:42:23.570 --> 00:42:28.420 voi uudelleen nimetä näitä muuttujia varsin kätevästi eli menemällä tuohon muuttujan 602 00:42:28.420 --> 00:42:34.400 nimen päälle painamalla 2 painiketta näppäimistöltä niin. 603 00:42:34.400 --> 00:42:39.260 Voin hyvin helposti nimetä sen muuttujan uudelleen ja painaa enter, niin silloin 604 00:42:39.260 --> 00:42:43.790 kaikki vastaavat muuttujat imeytyvät automaattisesti uudelleen. 605 00:42:43.790 --> 00:42:48.900 Tää on ehkä kaikista eniten käytetty tai ainakin minun minun eniten käyttämäni tämmöinen reflektointi 606 00:42:48.900 --> 00:42:54.040 kommentoi täällä täällä tota raiderissa eli 2 tai sitten hiiren oikea. 607 00:42:54.040 --> 00:42:59.060 Re factor ja reneen löytyy se tuolta hiiren hiiren avulla tuolta valikoiden 608 00:42:59.060 --> 00:43:03.270 kautta, mutta laitetaan se nyt kuitenkin siihen a. 609 00:43:03.270 --> 00:43:06.830 Nimiseksi niinku se tuossa malliratkaisut malliratkaisut nyt 610 00:43:06.830 --> 00:43:12.700 tulee olemaan hyvä mennään seuraavaan tehtävään. 611 00:43:12.700 --> 00:43:19.240 Eli meillä on hetkinen vitostehtävä tehty siinä nyt elikkä meillä on jäljellä tehtävä. 612 00:43:19.240 --> 00:43:21.310 Kutonen. 613 00:43:21.310 --> 00:43:24.620 Ja sitten seiska oli tota tiimiin tutustumista. 614 00:43:24.620 --> 00:43:27.530 Noin. 615 00:43:27.530 --> 00:43:30.730 Eli vielä vähän käsitellään näitä binäärilukuja mitä nää tarkoittaa. 616 00:43:30.730 --> 00:43:34.100 Näitä kutsutaan siis hiteiksi. 617 00:43:34.100 --> 00:43:40.380 Ja ja ja tässä on nyt annettu esimerkki sitten siitä niin, että miten tuommoinen 2 618 00:43:40.380 --> 00:43:45.820 järjestelmän luku eli binääriluku muutettaisiin 10 järjestelmän lukuun. 619 00:43:45.820 --> 00:43:48.990 Ja tää on oikeastaan hyvinkin. 620 00:43:48.990 --> 00:43:52.580 Yksinkertainen loppujen lopuksi tää muutos, mutta tietysti vaatii. 621 00:43:52.580 --> 00:43:58.180 Vaatii vähän vähän aina aivoilta semmoista nyrjähtäämistä eli tää kaikista oikeanpuoleisen 622 00:43:58.180 --> 00:44:03.520 luku on se vähiten merkitsevä ihan niinku meilläkin jos me sanotaan vaikka luku satakolmekymmentäseitsemän, 623 00:44:03.520 --> 00:44:10.140 niin se luku 7 on hyvin niinku kaikkein vähiten merkitsevä, kun taas seuraava luku tämä nolla 624 00:44:10.140 --> 00:44:13.330 tässä olisi sitten taas enemmän merkitsevä. 625 00:44:13.330 --> 00:44:16.280 Esimerkiksi siinä satakolme seiskassa luku 3 tarkoittaisi 626 00:44:16.280 --> 00:44:18.510 kymmeniä, eli se olisi paljon. 627 00:44:18.510 --> 00:44:20.560 Merkitsevämpi luku kun se seiska. 628 00:44:20.560 --> 00:44:26.460 No niin ja nyt sitten kun 2 järjestelmän lukuja lasketaan auki niin se kantaluku on on 629 00:44:26.460 --> 00:44:31.580 kakkonen, kun taas tässä meidän Kymen järjestelmässä kantolaukku on 10. 630 00:44:31.580 --> 00:44:36.780 Eli kukin näistä lukupaikoista sitten kerrotaan. 631 00:44:36.780 --> 00:44:42.060 Sillä kantajärjestelmään mukaisella kantoluvulla korotettuna tiettyyn potenssiin. 632 00:44:42.060 --> 00:44:47.000 Tuosta oli sitten se laskutapa tuolla monissa luvussa kaksikymmentäkuusi esitetty. 633 00:44:47.000 --> 00:44:52.640 Mä teen näistä muutaman esimerkin nyt tässä yhteisesti ja ja tän sitten loput loput 634 00:44:52.640 --> 00:44:56.660 tota noin niin sinne mallin vastauksiin katsottavaksi, mutta otetaan tuo ensimmäinen 635 00:44:56.660 --> 00:45:02.000 luku tuosta ja tehdään tää nyt siellä visuaalisuus. 636 00:45:02.000 --> 00:45:07.190 Manuaalisesti tällä tavalla eli lähdetään laskemaan tuote ja tässä voi helpottaa ajattelua 637 00:45:07.190 --> 00:45:12.440 jos tänne laittaa ikään kuin lukujen paikat tänne luvun yläpuolelle. 638 00:45:12.440 --> 00:45:17.160 Eli tuo kaikista oikeanpuolimmainen luku sijaitsee positiossa tai paikassa nolla. 639 00:45:17.160 --> 00:45:20.160 Seuraavan luku elikkä tää ykkönen sijaitsee positiossa taipaikassa 640 00:45:20.160 --> 00:45:23.070 yksi ja niin edelleen tai kaikista merkitsevin luku. 641 00:45:23.070 --> 00:45:25.710 Nyt tässä meidän esimerkissä sijaitsisi paikassa. 642 00:45:25.710 --> 00:45:27.550 4. 643 00:45:27.550 --> 00:45:31.150 Eli tää on nyt vaan tämmöinen apuriisto täällä joka mua vähän auttaa laskemaan. 644 00:45:31.150 --> 00:45:33.570 Eli nyt jos me lähdetään täältä. 645 00:45:33.570 --> 00:45:38.740 Täältä vasemmasta nyt liikkeelle, niin meillä on siinä luku yksi, 646 00:45:38.740 --> 00:45:42.440 niin kerrotaan se kantoluvulla korotettuna siihen potenssiin, jota 647 00:45:42.440 --> 00:45:47.450 tää paikka esittää eli 1 kertaa 2 potenssiin 4. 648 00:45:47.450 --> 00:45:51.160 Sitten meillä on siinä nollia, joita ei tarvitse lisätä 649 00:45:51.160 --> 00:45:57.080 ja sitten meillä on luku ykkönen. Kerrottuna kantaluun. 650 00:45:57.080 --> 00:46:01.880 Kantaluku potenssiin paikkaluku eli 2 potenssia yksi ja sitten meillä 651 00:46:01.880 --> 00:46:04.050 on vielä nolla, jota ei tietenkään tarvitse laskea. 652 00:46:04.050 --> 00:46:08.320 Mutta jos mä nyt kirjoitan sen tuohon auki eli 0 kertaa 2 potenssiin nolla, tää on tietenkin 653 00:46:08.320 --> 00:46:12.080 nolla, mutta merkitään se nyt vaikka siihen näkyville huvikseen. 654 00:46:12.080 --> 00:46:15.630 No paljonko on 1 kertaa 2 potenssin 4. 655 00:46:15.630 --> 00:46:19.140 No 2 potenssiin 4 on siis 2. 656 00:46:19.140 --> 00:46:27.230 Kertaa 2 kertaa 2 kertaa 2 eli 2 kertaa 2 on 4 4 kertaa 2 on 657 00:46:27.230 --> 00:46:30.310 8. Ja 8 kertaa 2 on 16. 658 00:46:30.310 --> 00:46:33.240 Elikkä tuo on luku 16 ja sitten siihen lisätään. 659 00:46:33.240 --> 00:46:38.430 Tuo on luku 2 potenssi yksi on tietenkin. 2. 660 00:46:38.430 --> 00:46:41.560 Ja niinpä. Meillä on siinä luku 18. 661 00:46:41.560 --> 00:46:43.390 Toivottavasti meni oikein. 662 00:46:43.390 --> 00:46:51.900 Toivottavasti meni oikein tuo 1001010010 joo, kyllä se taitaa olla 18. 663 00:46:51.900 --> 00:46:54.960 Tää on vielä seuraava luku siitä. 664 00:46:54.960 --> 00:46:58.120 Vastaavalla tavalla siinä nyt on vaan vähän pitempi, jotenka siinä on enemmän 665 00:46:58.120 --> 00:47:06.310 hommaa eli laitetaan sinne nyt nää paikkaluvut myöskin näkyviin 0123456789 elikkä 666 00:47:06.310 --> 00:47:09.940 tästä nyt nähdään niin että tämä kaikki sitä vasemman puolimmainen luku olisi 667 00:47:09.940 --> 00:47:16.100 1 kertaa 2 potenssiin 2 potenssiin 9 ja tuo nyt alkaa olla jo vähän työläskin 668 00:47:16.100 --> 00:47:19.750 laskea ehkä käsin niin otetaan tuosta nytten. 669 00:47:19.750 --> 00:47:23.450 Laskukoneen laskukone. 670 00:47:23.450 --> 00:47:26.970 No voi voi voi se nyt tullut sieltä se laskukone. 671 00:47:26.970 --> 00:47:36.130 2 potenssiin 9 on viisisataakaksitoista noin eli tämä luku on viisisataakaksitoista. 672 00:47:36.130 --> 00:47:38.950 Laitan se tuohon muistiin. 673 00:47:38.950 --> 00:47:42.790 Sitten meillä on siellä tukku nollia. Ja. 674 00:47:42.790 --> 00:47:49.490 Seuraava luku on 1 kertaa 2 potenssiin 6 1 kertaa 2 potenssiin 6. 675 00:47:49.490 --> 00:47:54.660 Sitten meillä on yksi kertaa. 2% 5. 676 00:47:54.660 --> 00:47:57.750 1 kertaa 2. Potenssiin 4. 677 00:47:57.750 --> 00:48:01.350 Noin sitten on taas tukku nollia. 678 00:48:01.350 --> 00:48:08.150 Ja 1 kertaa 2 potenssiin nolla noi. 679 00:48:08.150 --> 00:48:11.940 1 kertaa 2 potenssiin 6 on paljonko? 680 00:48:11.940 --> 00:48:16.190 2 potenssiin 6 on kuusikymmentäneljä. 681 00:48:16.190 --> 00:48:19.930 Kuusikymmentäneljä plus 1 kertaa 2 potenssin 5 2. 682 00:48:19.930 --> 00:48:25.280 Potenssin 5. Kolmekymmentäkaksi. 683 00:48:25.280 --> 00:48:29.730 No 2 potenssiin 4 tietysti puolet tuosta eli 16 ja sitten siellä oli 684 00:48:29.730 --> 00:48:33.160 niitä nolliakin lopuksi 1 kertaa 2 potenssiin nolla. 685 00:48:33.160 --> 00:48:38.380 No mitä on 2 potenssiin 0 2 mitä tahansa potenssiin nolla on yksi. 686 00:48:38.380 --> 00:48:42.770 Jotenka lisätään tähän vielä ykkönen. 687 00:48:42.770 --> 00:48:45.660 Eli viisisataakaksitoista. 688 00:48:45.660 --> 00:48:49.320 Plus kuusikymmentäneljä plus kolmekymmentäkaksi. 689 00:48:49.320 --> 00:48:57.010 Plus 16 plus 1 kuusisataakaksikymmentäviisi. 690 00:48:57.010 --> 00:49:00.960 Ja näin näitä tietysti voi laskea laskea tälleen manuaalisesti. 691 00:49:00.960 --> 00:49:06.370 Toki toi windowsin kalkkunaaattori taitaa jopa antaa meille. 692 00:49:06.370 --> 00:49:12.630 Taitaa jopa antaa meille tota noin niin mahdollisuuden siihen, että me voidaan täältä. 693 00:49:12.630 --> 00:49:14.430 Muuttaa. 694 00:49:14.430 --> 00:49:19.760 Se muuttaa se tälleen kätsysti eli eli jos meillä olisi nyt binääriluku. 695 00:49:19.760 --> 00:49:25.270 1 0 0 1 1 joka me haluttaisiin muuttaa 10 järjestelmän muotoon niin. 696 00:49:25.270 --> 00:49:27.090 Tää laskin sen meille tälleen tavalla. 697 00:49:27.090 --> 00:49:30.670 Itse asiassa aika näppärästi näyttää jos miten haluttaisiin 698 00:49:30.670 --> 00:49:34.610 tehdä toisin päin eli muuttaa luku. 699 00:49:34.610 --> 00:49:38.970 6 2 5 pinnarijärjestelmän luvuksi niin senkin toi. 700 00:49:38.970 --> 00:49:40.870 Calculator meille näyttää. 701 00:49:40.870 --> 00:49:44.270 En ole ihan varma onko mac osissa vastaava toiminto olemassa, 702 00:49:44.270 --> 00:49:47.590 mutta eiköhän näitä netistä löydy vähän vastaavia. 703 00:49:47.590 --> 00:49:51.310 Mutta siis koko tän tehtävän pointti on nyt ehkä se niin että. 704 00:49:51.310 --> 00:49:56.610 Että on tilanteita missä meidän pitää pikkuisen tuntea sitä, että miten se meidän 705 00:49:56.610 --> 00:49:59.820 luku itse asiassa tallentuu sinne tietokoneen keskusmuistia. 706 00:49:59.820 --> 00:50:04.130 Näitä tilanteita ei välttämättä nykyään tule kovin usein, mutta silloin kun 707 00:50:04.130 --> 00:50:08.850 me puhutaan aika suurista luvuista taikka halutaan jostain syystä optimoida 708 00:50:08.850 --> 00:50:12.610 sitä meidän ohjelman tilan käyttöä muistin käyttöä. 709 00:50:12.610 --> 00:50:15.940 Jos meillä on vaikkapa hyvin pieni prosessori tai pieni tietokone, johon meidän 710 00:50:15.940 --> 00:50:19.110 pitää saada mahtumaan paljon paljon asioita, niin silloin meidän pitää niinku 711 00:50:19.110 --> 00:50:22.630 miettiä, että paljonko montako bittiä metsässä tarvitaan siihen meidän lukuun 712 00:50:22.630 --> 00:50:24.760 tai asiaan mitä me yritetään tallentaa. 713 00:50:24.760 --> 00:50:28.560 Ja sen takia tämmöinen pohtiminen voi olla joskus hyödyllistä, 714 00:50:28.560 --> 00:50:31.610 mutta niinku sanottu, ei välttämättä tässä. 715 00:50:31.610 --> 00:50:36.210 Ohjelmoinnin alkutaipaleella on se ensimmäinen asia, mikä tulee tulee eteen näiden niinku 716 00:50:36.210 --> 00:50:41.090 bittien järjestystä ja bittien esitysten pohtiminen, mutta on hyvä tietää toinen, minkä takia 717 00:50:41.090 --> 00:50:46.670 tää on hyvä tietää on se, että se tieto oikeasti tallentuu ykkösten ja nollien jonatonne 718 00:50:46.670 --> 00:50:50.300 tietokoneen sisään kun me painetaan safe painiketta meidän. 719 00:50:50.300 --> 00:50:53.480 Koodi tiedostossa ja sitten se tallentuu tuonne tietokoneeseen, niin se 720 00:50:53.480 --> 00:50:57.620 on oikeastaan tämmöistä mömmöä siellä ja silloin ne kirjaimet mitä me sinne 721 00:50:57.620 --> 00:51:01.600 kirjoitetaan sinne sinne koodiin tallentuu myöskin näitä ykkösten ja nollien 722 00:51:01.600 --> 00:51:04.390 jona ja nythän me tässä tulkitaan näitä. 723 00:51:04.390 --> 00:51:08.710 Näitä bittiesityksiä eli näitä ykköstilan nollien jonoja tällä tavalla lukuina. 724 00:51:08.710 --> 00:51:15.190 Tää luku oli 6 2 5 mutta näitä ykkösiä ja nollia voidaan tulkita myöskin kirjoitusmerkkejä 725 00:51:15.190 --> 00:51:20.550 ja ne ovat ihan yksi lailla ykkösten ja nollien jonoja siellä tietokoneen sisällä myöskin 726 00:51:20.550 --> 00:51:26.370 ja nyt sitten se ohjelmoijan tehtävä on päättää, että miten niitä tulkitaan ja nyt tällä kurssilla 727 00:51:26.370 --> 00:51:29.170 me tulkitaan niitä kirjoittamalla näitä tyyppejä tänne. 728 00:51:29.170 --> 00:51:32.830 Eli esimerkiksi tää luku 30 tulkitaan nyt tässä meidän 729 00:51:32.830 --> 00:51:37.310 ohjelmassa eli tulkitaan että tämä on luku. Vastaavasti meillä oli. 730 00:51:37.310 --> 00:51:41.280 Oli näitä merkkijonoja yhdistelyä niin nyt kun me otetaan vastaan sieltä käyttäjältä, sitä 731 00:51:41.280 --> 00:51:45.600 merkkijonon syötettä ja me tallennetaan se merkkijononemet eli me tulkitaan. 732 00:51:45.600 --> 00:51:49.980 Se kirjoitusmerkkejä on tilanteita, että me voitaisiin tulkita se käyttäjän antama 733 00:51:49.980 --> 00:51:53.860 syöte tai joku asia mikä sieltä jostain sensorilta tulee niin me voitaisiin tulkita 734 00:51:53.860 --> 00:51:59.590 se jonakin muuna tapana kun merkkijonon esimerkiksi totuusarvon taikka sitten taikka 735 00:51:59.590 --> 00:52:04.320 vaikka lukuna, mutta joka tapauksessa niin niin niin. 736 00:52:04.320 --> 00:52:08.240 Tää on vaan niinku hyvä. Hyvä tietää ja hyvä muistaa. 737 00:52:08.240 --> 00:52:13.200 Että että tää bitti esitys on siellä siellä sitten ikään kuin kaiken kaiken takana, 738 00:52:13.200 --> 00:52:17.280 vaikka niitä nyt ei ehkä aktiivisesti tarvitsekaan joka päivä pohtia. 739 00:52:17.280 --> 00:52:20.330 Hyvä. 740 00:52:20.330 --> 00:52:23.870 Sitten siinä on vielä jatkokysymyksiä, mutta niinku sanottu, niin mä laitan nuo sinne 741 00:52:23.870 --> 00:52:29.720 mallivastaukset niin niin ei käytetä nyt siihen siihen sen enempää aikaa. 742 00:52:29.720 --> 00:52:35.540 Ja tiimiin kannattaa tutustua eli täällä on näitä linkkejä aika paljon ja mä toivon niin että 743 00:52:35.540 --> 00:52:41.920 käytte nää kaikki valikot läpi täältä ja käyt tutustumassa niihin ja jos sieltä nyt löytyy rikkinäisiä 744 00:52:41.920 --> 00:52:46.380 linkkejä tai asioita jotka on teidän mielestä väärin tai joku ei toimi niin laittakaa vaan mulle 745 00:52:46.380 --> 00:52:49.080 sitten siitä sähköpostia niin sitten korjaillaan. 746 00:52:49.080 --> 00:52:53.490 Mutta mutta viimeistään tässä vaiheessa on hyvä nyt tutustua tutustua tähän materiaaliin 747 00:52:53.490 --> 00:53:00.040 käydä tsekkaamassa mitä tuolta löytyy ja ja ja mielellään sitten aina luentojen yhteydessä 748 00:53:00.040 --> 00:53:02.720 tai ennen luentoja sitten tutustua myöskin aina sitä luentoa. 749 00:53:02.720 --> 00:53:08.010 Koskettavaan oppimateriaalin täällä monisteessa hyvä, mutta tän demon 750 00:53:08.010 --> 00:53:10.950 asiat on nyt tältä erää käsitelty eli päätellään tähän. 751 00:53:10.950 --> 00:53:15.390 Kiitoksia mukana alusta ja huomenna nähdään luennolla 10 15 moikka.