1 00:00:07,830 --> 00:00:12,200 [Powered by Google Translate] DAVID Malan: Mae hyn yn CS50, ac mae hyn yn dechrau Wythnos 1. 2 00:00:12,200 --> 00:00:15,520 Beth rydym yn meddwl y bydden ni'n ei wneud heddiw yw cymryd golwg yn ôl ar 3 00:00:15,520 --> 00:00:18,290 rhywbeth y mae llawer ohonoch wedi thebyg yn cerdded heibio i rai 4 00:00:18,290 --> 00:00:20,570 amser efallai nawr ac yn edrych ychydig yn gyfarwydd. 5 00:00:20,570 --> 00:00:23,720 Mae hyn yn beth yma, mae hyn wrth gwrs yn y - 6 00:00:23,720 --> 00:00:24,155 GYNULLEIDFA: Gwyddoniaeth. 7 00:00:24,155 --> 00:00:26,030 DAVID Malan: Gwyddoniaeth ganolfan. 8 00:00:26,030 --> 00:00:28,940 Felly, mae hyn mewn gwirionedd yn un o'r cyfrifiaduron cyntaf 9 00:00:28,940 --> 00:00:30,220 gefn o'r 1940au. 10 00:00:30,220 --> 00:00:33,790 Roedd yn un o'r cyfrifiaduron cyntaf electromechanical 11 00:00:33,790 --> 00:00:35,730 a oedd yn gallu arbennig o hir, 12 00:00:35,730 --> 00:00:38,450 hunan-barhaus cyfrifiannau, a beth y byddwn yn gweld yn y 13 00:00:38,450 --> 00:00:41,580 y ganolfan wyddoniaeth yn unig yw darn bach y peth hyn. 14 00:00:41,580 --> 00:00:44,170 Beth rydym yn meddwl y bydden ni'n ei wneud wedyn yw cymryd golwg yn ôl ar fideo 15 00:00:44,170 --> 00:00:46,670 a wnaethpwyd beth amser yn ôl, cyflwyno'r 16 00:00:46,670 --> 00:00:47,520 beth i'r byd. 17 00:00:47,520 --> 00:00:50,200 A byddwch yn gweld o'r gerddoriaeth a llais sy'n wir y rhai 18 00:00:50,200 --> 00:00:52,070 Roedd adegau hapus iawn. 19 00:00:54,885 --> 00:00:59,700 >> [Chwarae fideo] 20 00:00:59,700 --> 00:01:02,490 -A fuddugoliaeth o sgiliau mathemategol a mecanyddol yn hyn 21 00:01:02,490 --> 00:01:06,340 cyfrifiannell awtomatig newydd gwych ym Mhrifysgol Harvard. 22 00:01:06,340 --> 00:01:08,620 Problemau cymhleth mewn mathemateg, rhowch drwy'r 23 00:01:08,620 --> 00:01:12,420 peiriant ar ffurf cod ar dâp, yn cael eu datrys yn gywir mewn 24 00:01:12,420 --> 00:01:15,200 ffracsiwn munud o'r amser sydd ei angen ar gyfer pobl 25 00:01:15,200 --> 00:01:16,450 cyfrifiad. 26 00:01:27,050 --> 00:01:30,600 Cynllun i hwyluso pob math o mathemategol a gwyddonol 27 00:01:30,600 --> 00:01:34,610 ymchwil, bydd yr ymennydd mecanyddol mawr yn gweithio ar gyfer y Deyrnas 28 00:01:34,610 --> 00:01:36,570 Unol Llynges tan ddiwedd y rhyfel. 29 00:01:50,280 --> 00:01:52,980 >> DAVID Malan: Felly beth efallai nad ydych yn gwybod yw ei fod yn 30 00:01:52,980 --> 00:01:56,310 hwn yn un ddyfais bod amod ydym i gyd yn awr yn cymryd 'n bert lawer 31 00:01:56,310 --> 00:01:59,300 yn ganiataol ei fathu, sef a bug. 32 00:01:59,300 --> 00:02:01,140 Felly un o'r peirianwyr sy'n gweithio yn y cyfrifiadur 33 00:02:01,140 --> 00:02:05,280 dod o hyd llythrennol wyfyn bach yn y peiriant a arweiniodd at 34 00:02:05,280 --> 00:02:07,580 mewn rhai cyfrifiadau anghywir. 35 00:02:07,580 --> 00:02:10,410 Ac wrth i'r stori fynd y gwyfyn yn eu tapio at y log 36 00:02:10,410 --> 00:02:14,180 cylchgrawn yma, yn ôl o fis Medi 9 yn 1940-rhywbeth, 37 00:02:14,180 --> 00:02:16,550 ac felly ei eni ar gyfer y byd y term "nam". 38 00:02:16,550 --> 00:02:19,880 Felly o hyn ymlaen byddwn yn ystyried bygiau i fod yn unrhyw fath o gamgymeriadau yn y 39 00:02:19,880 --> 00:02:23,290 rhaglenni, boed yn ddyn-wneud neu, yn yr achos hwn, pryfed. 40 00:02:23,290 --> 00:02:25,030 >> Felly, cyhoeddiadau ychydig, wrth inni fwrw ymlaen. 41 00:02:25,030 --> 00:02:29,160 Felly CS50 draddodiad o gynnig cinio o ryw fath ar 42 00:02:29,160 --> 00:02:31,600 Dydd Gwener fwyaf yn ystod y semester, pan fyddwn yn cymryd 30 i 43 00:02:31,600 --> 00:02:34,650 40 o fyfyrwyr i Tân ac Iâ yn y Sgwâr ar gyfer achlysurol 44 00:02:34,650 --> 00:02:36,390 cecru, yn sôn am wyddoniaeth gyfrifiadurol, 45 00:02:36,390 --> 00:02:37,420 siarad am y dyfodol. 46 00:02:37,420 --> 00:02:40,000 Rydym yn gwahodd alumni a ffrindiau o ddiwydiant i sgwrsio i fyny 47 00:02:40,000 --> 00:02:40,690 myfyrwyr yn ogystal. 48 00:02:40,690 --> 00:02:44,020 Really tuag at ben o wneud beth dosbarth eithaf mawr 49 00:02:44,020 --> 00:02:46,740 yn fwy agos, o leiaf unwaith yn tra 50 00:02:46,740 --> 00:02:47,710 is-setiau o fyfyrwyr. 51 00:02:47,710 --> 00:02:50,940 Felly os hoffech chi ymuno â ni ddydd Gwener, 1:15 PM, ewch i 52 00:02:50,940 --> 00:02:53,340 CS50.net/lunch i RSVP. 53 00:02:53,340 --> 00:02:55,840 A byddwn yn gwneud hyn yn gylchol, felly â phoeni os nad ydych chi'n 54 00:02:55,840 --> 00:02:57,930 ymhlith y 30 cyntaf neu felly yr wythnos hon. 55 00:02:57,930 --> 00:02:59,070 >> Felly nodiadau ysgrifennydd. 56 00:02:59,070 --> 00:03:01,500 Mae gair ar yr adnoddau a fydd yn awr yn dechrau ar gael 57 00:03:01,500 --> 00:03:03,040 i fyfyrwyr yn y dosbarth. 58 00:03:03,040 --> 00:03:05,540 Fel bod eich pennau Nid oes yn rhaid i lawr yn ystod darlithoedd 59 00:03:05,540 --> 00:03:08,560 sgriblo i lawr popeth yr wyf yn dweud ac yn y blaen, yr hyn rydym yn ei wneud 60 00:03:08,560 --> 00:03:10,765 hytrach yn cael ei darparu gan y staff addysgu a 61 00:03:10,765 --> 00:03:11,920 set o nodiadau canonaidd. 62 00:03:11,920 --> 00:03:14,850 Felly mae gennym un o'n cymrodyr addysgu, Andrew Sellergren, 63 00:03:14,850 --> 00:03:17,830 sy'n eistedd i lawr bob wythnos, yn adolygu y fideos, ac yna 64 00:03:17,830 --> 00:03:19,730 ysgrifennu i lawr yr hyn yr ydym yn meddwl yn weddol 65 00:03:19,730 --> 00:03:21,840 set awdurdodol o nodiadau. 66 00:03:21,840 --> 00:03:24,180 Ac Andrew hoff, hefyd, o roi troednodiadau snarky yn 67 00:03:24,180 --> 00:03:24,820 y gwaelod. 68 00:03:24,820 --> 00:03:27,300 Felly, byddwch yn mwynhau gobeithio y rhain fel llyfr cyfeirio ar gyfer 69 00:03:27,300 --> 00:03:30,230 hwyl, a hefyd, yn dod cwis amser, fel cyfle i adolygu 70 00:03:30,230 --> 00:03:31,830 yr hyn a ddigwyddodd mewn darlithoedd unigol. 71 00:03:31,830 --> 00:03:33,580 Felly, y rhai yn cael eu cysylltu ar y dudalen darlithoedd. 72 00:03:33,580 --> 00:03:35,300 >> 0 set Problem, yn y cyfamser, allan. 73 00:03:35,300 --> 00:03:37,470 Ac o ran yr adnoddau sydd ar gael i chi - 74 00:03:37,470 --> 00:03:38,020 y walkthrough. 75 00:03:38,020 --> 00:03:39,730 Milo Arweiniodd y cyntaf ar ddydd Gwener. 76 00:03:39,730 --> 00:03:41,470 Cafodd ei ffilmio, rhoi ar-lein erbyn dydd Sadwrn. 77 00:03:41,470 --> 00:03:44,030 Ac felly yn sylweddoli, os nad ydych yn siŵr ble i ddechrau, 78 00:03:44,030 --> 00:03:47,280 ar gyfer hyn neu yn y dyfodol p-setiau, bob amser yn troi yn gyntaf i'r 79 00:03:47,280 --> 00:03:49,300 walkthrough neu'r ohono fideo. 80 00:03:49,300 --> 00:03:52,950 Rhannu'r mynd rhagddo, yn cs50.net/section yw lle rydych yn 81 00:03:52,950 --> 00:03:54,540 Dylai gyflwyno eich dewisiadau, os nad oes gennych 82 00:03:54,540 --> 00:03:55,880 yn barod, erbyn heddiw. 83 00:03:55,880 --> 00:03:58,140 Gan y bydd adrannau yn dechrau ddydd Sul hwn yn dod, Dydd Llun, 84 00:03:58,140 --> 00:03:58,760 a dydd Mawrth. 85 00:03:58,760 --> 00:04:02,470 Rydym yn gwneud adrannau y tri diwrnod, bob wythnos o'r 86 00:04:02,470 --> 00:04:03,870 semester ar gyfer y rhan fwyaf. 87 00:04:03,870 --> 00:04:06,600 Ac rydym hefyd yn cyflwyno, unwaith eto, traciau gwahanol. 88 00:04:06,600 --> 00:04:08,270 Felly, byddwch yn cael eich gofyn ar y ffurflen hon rhannu a, os ydych 89 00:04:08,270 --> 00:04:10,350 wedi ei weld yn barod, os ydych chi ymhlith y rhai llai 90 00:04:10,350 --> 00:04:12,800 cyfforddus, yn fwy cyfforddus, neu rywle yn y canol. 91 00:04:12,800 --> 00:04:14,960 Ac os ydych yn fath o ar y ffens, yn gyffredinol yn rhywle yn 92 00:04:14,960 --> 00:04:18,160 rhwng yr hyn y rhan fwyaf o fyfyrwyr yn y pen draw gwirio. 93 00:04:18,160 --> 00:04:19,579 Oriau swyddfa yn dechrau heno. 94 00:04:19,579 --> 00:04:23,020 >> Felly Scratch yn allweddol yn weddol isel, hyd yn oed er 'i' eithaf naturiol 95 00:04:23,020 --> 00:04:25,300 i redeg i mewn i bugs amrywiol, neu fod yn ansicr ynghylch sut i 96 00:04:25,300 --> 00:04:26,550 gweithredu rhywbeth. 97 00:04:26,550 --> 00:04:28,880 Felly, yn sylweddoli y byddwn yn dechrau oriau swyddfa yr wythnos hon. 98 00:04:28,880 --> 00:04:30,500 Byddant fod yn Annenberg Dydd Llun, Mawrth, Mercher, 99 00:04:30,500 --> 00:04:34,300 Dydd Iau, 20:00-11:00 yn ystod egwyl ymennydd. 100 00:04:34,300 --> 00:04:38,160 Gall classmen Uchaf mynd i mewn, ac os ydych chi erioed wedi cael trafferth cael 101 00:04:38,160 --> 00:04:40,720 yn y drws, oherwydd fe wna nhw yn ymosodiadau, dim ond siarad eich ffordd 102 00:04:40,720 --> 00:04:42,560 i mewn ac esbonio eich bod gyda CS50. 103 00:04:42,560 --> 00:04:45,230 Yn nodweddiadol, bydd 20 i 30 o ni ar staff yno i helpu 104 00:04:45,230 --> 00:04:46,190 chi'n un ar un. 105 00:04:46,190 --> 00:04:48,980 >> Ar ôl cyrraedd y syniad yw hyn: byddwch yn dod â'ch gliniadur, 106 00:04:48,980 --> 00:04:51,300 byddwch yn cael eich charger, bydd gennym cordiau pŵer ychwanegol, 107 00:04:51,300 --> 00:04:53,320 yn arbennig ar hyd y wal i'r de o Annenberg lle 108 00:04:53,320 --> 00:04:55,080 mae llawer o siopau trydanol. 109 00:04:55,080 --> 00:04:59,290 Ac mae'r prif bwynt mynediad i oriau swyddfa Q & A yn mynd i 110 00:04:59,290 --> 00:05:01,690 cs50.net/discuss, ac i osod 111 00:05:01,690 --> 00:05:02,580 i'ch cwestiwn yno. 112 00:05:02,580 --> 00:05:05,600 Ac i labelu gyda pset 0 neu pset 1, beth bynnag yr wythnos 113 00:05:05,600 --> 00:05:06,810 allai ddigwydd i fod. 114 00:05:06,810 --> 00:05:09,240 Ac yna beth byddwn yn ei wneud yw cael tabl o'r cymrodyr addysgu 115 00:05:09,240 --> 00:05:12,040 cynorthwywyr cwrs ac, yn gyffredinol 8 neu 10 neu fel un ohonom, 116 00:05:12,040 --> 00:05:14,430 mynd drwy, gan gadw llygad barcud ar y bwrdd, a 117 00:05:14,430 --> 00:05:16,810 plicio oddi ar y cwestiynau gwirioneddol mor gyflym ag y gallwn, 118 00:05:16,810 --> 00:05:19,600 eich cyfeirio at swyddi cysylltiedig os nad ydych wedi dod o hyd rhai 119 00:05:19,600 --> 00:05:22,220 eich hunain, cyfeiriadau ar-lein, fel y bo'n briodol. 120 00:05:22,220 --> 00:05:24,280 Ac yna os oes problemau, gan fod yn anochel 121 00:05:24,280 --> 00:05:27,190 yn, neu'n 'i jyst yn gwneud mwy o synnwyr i eistedd i lawr un ar un, 122 00:05:27,190 --> 00:05:28,660 weithio drwy broblemau gyda rhywun. 123 00:05:28,660 --> 00:05:30,810 >> Neu 'ch jyst yn dod i oriau swyddfa mewn gwirionedd 124 00:05:30,810 --> 00:05:31,640 angen y meddylfryd hwnnw. 125 00:05:31,640 --> 00:05:33,400 Dydych chi ddim eisiau mynd trwy'r ffurflen electronig, rydych 126 00:05:33,400 --> 00:05:34,410 wir am gwrdd â rhywun. 127 00:05:34,410 --> 00:05:37,240 Cyfathrebu hynny i ni, a beth fydd yn digwydd yw pan fydd eich 128 00:05:37,240 --> 00:05:40,620 cwestiwn wedi cael ei gweld gan aelod staff, ac rydym yn 129 00:05:40,620 --> 00:05:43,660 penderfynu, yup, dylai hyn gael ei anfon at un o'r 20 neu 130 00:05:43,660 --> 00:05:47,800 30 o aelodau tîm yma yn lleol, byddwch yn gweld yn y gornel chwith uchaf y 131 00:05:47,800 --> 00:05:51,590 ychydig Rhowch y botwm Ciw yn dechrau fflachio ar cs50.net / 132 00:05:51,590 --> 00:05:52,165 trafod. 133 00:05:52,165 --> 00:05:55,260 Ac mae hyn yn dweud wrthych eich bod bellach wedi cael eu gwahodd, felly 134 00:05:55,260 --> 00:05:56,880 i siarad, i fynd i mewn i'r ciw. 135 00:05:56,880 --> 00:05:59,090 A thrwy glicio y botwm, bydd eich enw yn ymddangos ar 136 00:05:59,090 --> 00:06:02,660 iPad bod y cyfarchwr CS50 un o bennau y cwrs, bydd 137 00:06:02,660 --> 00:06:05,250 yn cynnal ger y fynedfa Annenberg, a fydd wedyn yn 138 00:06:05,250 --> 00:06:08,630 weld yn cael ei darlunio fel yma, y ​​myfyrwyr sydd â chwestiynau am 139 00:06:08,630 --> 00:06:11,630 y chwith, yr aelodau staff sy'n bresennol ar y dde. 140 00:06:11,630 --> 00:06:14,830 Ac trwy roi clic chwith a dde, bydd eich porwr gwe yn 141 00:06:14,830 --> 00:06:18,610 dechrau fflachio cyn gynted ag, er enghraifft, yr Athro McGonnagal 142 00:06:18,610 --> 00:06:21,460 yn barod i weld chi ar fwrdd arbennig yn Annenberg. 143 00:06:21,460 --> 00:06:23,340 >> Felly, rydym yn gwneud rhywfaint o hyn y llynedd. 144 00:06:23,340 --> 00:06:25,430 Rydym wedi hailgychwyn oriau swyddfa a 145 00:06:25,430 --> 00:06:26,980 ail-weithredu llawer o'r meddalwedd. 146 00:06:26,980 --> 00:06:29,940 Felly, yn sylweddoli y bydd hyn yn cael ei gynhesu i fyny yr wythnos hon. 147 00:06:29,940 --> 00:06:32,970 Ond hefyd yn sylweddoli hefyd, yn ystod y blynyddoedd diwethaf, fel y byddech wedi clywed 148 00:06:32,970 --> 00:06:35,710 gan ffrindiau, oriau swyddfa oedd yn wir 50 i 149 00:06:35,710 --> 00:06:37,040 150 o fyfyrwyr ar unwaith. 150 00:06:37,040 --> 00:06:39,300 Ac nid yn syml bosibl i ni ymdrin â hynny 151 00:06:39,300 --> 00:06:42,060 yn effeithiol, un ar un, trwy gydol y noson. 152 00:06:42,060 --> 00:06:44,570 Ac felly yr hyn yr ydym ni'n wir yn mynd i geisio gwneud eleni yw 153 00:06:44,570 --> 00:06:46,590 manteisio ar y ffaith bod llawer o gwestiynau yn 154 00:06:46,590 --> 00:06:49,050 a ofynnir yn aml ac yn aml yn cael eu hateb yn well 155 00:06:49,050 --> 00:06:50,030 asynchronously. 156 00:06:50,030 --> 00:06:52,140 Felly, gallwch ddatrys o feddwl drwy ymateb y staff, 157 00:06:52,140 --> 00:06:54,360 a gallwn feddwl drwy eich cod, heb y gwresogi 158 00:06:54,360 --> 00:06:57,050 pwysau o reidrwydd yn ei chael hi'n anodd 159 00:06:57,050 --> 00:06:58,210 drwyddo ochr yn ochr. 160 00:06:58,210 --> 00:07:00,980 Felly, rydym yn amcangyfrif bod tua thraean neu hanner y cwestiynau 161 00:07:00,980 --> 00:07:03,500 yn cael eu hanfon yn bersonol, a byddwn yn ceisio dynnaf i ffwrdd fel 162 00:07:03,500 --> 00:07:05,530 cymaint â hanner neu fwy yn electronig, 163 00:07:05,530 --> 00:07:06,710 yn ystod oriau swyddfa. 164 00:07:06,710 --> 00:07:08,070 A byddwn yn parhau i ddefnyddio Trafod 165 00:07:08,070 --> 00:07:09,990 drwy gydol yr wythnos yn ogystal. 166 00:07:09,990 --> 00:07:12,680 >> Ac yn olaf, yn sylweddoli y gall y cwrs hwn yn cael eu cymryd pasio / methu. 167 00:07:12,680 --> 00:07:16,230 Felly, os ydych ar y ffens neu jyst yn meddwl eich bod yn wirioneddol 168 00:07:16,230 --> 00:07:18,650 ddim yn siŵr os yw hyn yn y byd i chi, neu mae hyn yn wir 169 00:07:18,650 --> 00:07:21,310 eithaf tramor i chi, yn sylweddoli bod hyn yn ffordd wych 170 00:07:21,310 --> 00:07:24,840 o ennill i fyny rhywfaint o hyder i'w defnyddio i gamu i mewn i'r 171 00:07:24,840 --> 00:07:26,780 dosbarth, fel y gwnes i dweud y gwir, flynyddoedd yn ôl. 172 00:07:26,780 --> 00:07:28,630 Ac yna bum wythnos i ddatrys y ffigur ar gyfer 173 00:07:28,630 --> 00:07:30,850 eich hun os ydych am aros pasio / methu, newid i lythyr 174 00:07:30,850 --> 00:07:31,800 radd, neu yn y blaen. 175 00:07:31,800 --> 00:07:34,050 Ac fel arfer beth pasio / methu ei wneud, yr wyf yn meddwl, ar gyfer myfyrwyr yn 176 00:07:34,050 --> 00:07:36,700 hynny, os ydych yn eu rhoi yn y 10 awr, 20 awr, beth bynnag 177 00:07:36,700 --> 00:07:38,830 Efallai y bydd ar rai o'r problemau, ac rydych yn taro eich pen 178 00:07:38,830 --> 00:07:39,690 yn erbyn y wal, 179 00:07:39,690 --> 00:07:41,750 ac ydych yn wir ni all dim ond mynd ar drywydd rhywbeth i lawr, ac rydych yn 180 00:07:41,750 --> 00:07:44,230 cael cymaint o bethau eraill mae angen i chi ei wneud, yn onest, yr hyn yr wyf 181 00:07:44,230 --> 00:07:46,070 meddwl pasio / methu yw, mae'n cymryd ymyl oddi ar 182 00:07:46,070 --> 00:07:47,250 sefyllfaoedd fel 'na. 183 00:07:47,250 --> 00:07:49,350 Os ydych wedi cymryd y peth 90% o'r ffordd. 184 00:07:49,350 --> 00:07:50,830 Rydych yn gwybod, nid yw'n hollol berffaith. 185 00:07:50,830 --> 00:07:52,950 Ond byddwch yn cael llawer allan ohono, serch hynny. 186 00:07:52,950 --> 00:07:55,440 Felly, yn ystyried pasio / methu â rhoi i chi y 187 00:07:55,440 --> 00:07:57,590 model meddwl, efallai. 188 00:07:57,590 --> 00:08:00,680 >> Mae pob hawl, yr wythnos diwethaf, felly colomen i mewn i Scratch, ac rydym yn 189 00:08:00,680 --> 00:08:03,610 siarad am raglennu ar lefel weddol uchel graffigol. 190 00:08:03,610 --> 00:08:05,340 A heddiw rydym yn gwneud y newid i iaith 191 00:08:05,340 --> 00:08:08,300 o'r enw C, iaith raglennu lefel is ar ben 192 00:08:08,300 --> 00:08:11,260 pa ieithoedd modern yn cael eu hadeiladu yn awr, gan gynnwys rhai 193 00:08:11,260 --> 00:08:13,010 o'r rhai y byddwn yn eu defnyddio tuag at ddiwedd tymor. 194 00:08:13,010 --> 00:08:15,530 Ac syntactically, yr hyn y maent yn edrych fel 195 00:08:15,530 --> 00:08:17,330 i gyd yn eithaf tebyg. 196 00:08:17,330 --> 00:08:19,080 Felly, gadewch i ni ddechrau i wneud y newid yma. 197 00:08:19,080 --> 00:08:21,730 Felly mae hwn yn rhaglen yr wythnos diwethaf a oedd yn y symlaf o 198 00:08:21,730 --> 00:08:22,910 helo rhaglenni byd. 199 00:08:22,910 --> 00:08:25,560 Mae'n hargraffu yn syml at y sgrin hello byd, gyda 200 00:08:25,560 --> 00:08:27,650 swigen siarad bach yn dod allan o'r gath. 201 00:08:27,650 --> 00:08:30,590 Wel, os ydym yn dechrau yn awr i gyfieithu hyn i un arall 202 00:08:30,590 --> 00:08:33,419 iaith, yn sylweddoli bod y syniadau heddiw ac ar ddydd Mercher 203 00:08:33,419 --> 00:08:36,450 yn union yr un fath, ond y gystrawen yn dechrau newid. 204 00:08:36,450 --> 00:08:39,370 Felly, tra yr wythnos diwethaf yr oedd gennym, pan fydd baner werdd glicio, yn dweud 205 00:08:39,370 --> 00:08:40,340 helo byd. 206 00:08:40,340 --> 00:08:43,870 Heddiw rydyn ni'n mynd i gael int, prif ddi-rym, printf, 207 00:08:43,870 --> 00:08:46,350 dychwelyd, gyda rhai chystrawen eraill yn yno yn ogystal. 208 00:08:46,350 --> 00:08:49,200 Braces cyrliog, a cromfachau, a dyfyniadau, a whatnot. 209 00:08:49,200 --> 00:08:54,520 Ond yn sylweddoli bod craidd y syniad yma yn y argraffu, 210 00:08:54,520 --> 00:08:58,470 ac yn y pen draw, y ffaith bod prif awr yn mynd i fod yn 211 00:08:58,470 --> 00:09:00,770 gyfystyr â cychwyn rhaglen. 212 00:09:00,770 --> 00:09:04,250 Main yn mynd i fod yn lle y faner werdd yn cychwyn pethau i ffwrdd. 213 00:09:04,250 --> 00:09:06,390 >> Felly nawr gadewch i ni ar wahân canfod rhai o'r blociau adeiladu yma 214 00:09:06,390 --> 00:09:08,650 cyn i ni plymio i mewn i rai enghreifftiau pendant. 215 00:09:08,650 --> 00:09:11,620 Felly, byddem ni'n ei alw yr wythnos hon datganiad diwethaf, lle dim ond 216 00:09:11,620 --> 00:09:12,470 cyfarwyddyd. 217 00:09:12,470 --> 00:09:15,660 Gwnewch hyn - yn yr achos hwn, yn dweud helo byd. 218 00:09:15,660 --> 00:09:18,400 Wel yn C, os edrychwn ar hynny llinell, dyma sut rydym yn 219 00:09:18,400 --> 00:09:20,920 mynd i ddechrau yn mynegi y darn pos arbennig: 220 00:09:20,920 --> 00:09:24,780 printf ("helo byd");. 221 00:09:24,780 --> 00:09:27,330 Ac yn awr byddwn yn canfod y rhain ar wahân yn fwy a mwy dros gyfnod o amser, 222 00:09:27,330 --> 00:09:29,330 ond yn sylweddoli bod yna batrwm yma. 223 00:09:29,330 --> 00:09:31,870 Felly, yr ydym yn cael y peth a elwir yn printf, sydd yn 224 00:09:31,870 --> 00:09:34,310 yn y bôn sy'n cyfateb i'r gair Dweud. 225 00:09:34,310 --> 00:09:35,800 Dyna beth mae'n mynd i wneud. 226 00:09:35,800 --> 00:09:37,870 Printf, a f yma yn golygu "wedi'i fformadu". 227 00:09:37,870 --> 00:09:39,270 Felly, 'i jyst yn golygu y gallwch fewnosod 228 00:09:39,270 --> 00:09:41,600 manylion esthetig amrywiol. 229 00:09:41,600 --> 00:09:43,770 Felly unquote dyfyniad yn dechrau o'r hyn yr ydym yn mynd 230 00:09:43,770 --> 00:09:45,340 i ddechrau galw llinyn. 231 00:09:45,340 --> 00:09:47,110 Mae gair, ymadrodd, yn frawddeg. 232 00:09:47,110 --> 00:09:50,220 Mae llinyn mewn iaith raglennu dilyniant o sero 233 00:09:50,220 --> 00:09:51,330 neu fwy o gymeriadau. 234 00:09:51,330 --> 00:09:54,390 Felly h-e-l-l-o, coma, ac yn y blaen yw, 235 00:09:54,390 --> 00:09:56,290 , unquote dyfynbris gan un llinyn. 236 00:09:56,290 --> 00:09:58,710 Ac yn awr slaes n, ychydig syntactically od, ond rydym yn 237 00:09:58,710 --> 00:10:01,780 sydd eisoes wedi'u diffinio yr wythnos diwethaf i olygu beth? 238 00:10:01,780 --> 00:10:02,630 Dim ond llinell newydd. 239 00:10:02,630 --> 00:10:05,000 'I' jyst yn ffordd o gyfleu at y cyfrifiadur rydych am i'r 240 00:10:05,000 --> 00:10:07,700 cyfateb yn taro 'r Rhowch yno, ond nad ydych yn gwneud 241 00:10:07,700 --> 00:10:10,460 eisiau mewn gwirionedd daro Enter a llanast i fyny, felly yr holl 242 00:10:10,460 --> 00:10:12,130 fformatio eich rhaglen wirioneddol. 243 00:10:12,130 --> 00:10:15,500 Nawr bod y cromfachau amgáu llinyn yma, yn agored paren a 244 00:10:15,500 --> 00:10:18,130 paren agos, ac y tu mewn o hynny yw ein llinyn. 245 00:10:18,130 --> 00:10:22,600 Oherwydd hynny oherwydd yn C, a rhaglenni eraill 246 00:10:22,600 --> 00:10:27,510 ieithoedd, pethau fel printf cymryd dadleuon, neu gymryd 247 00:10:27,510 --> 00:10:28,420 paramedrau. 248 00:10:28,420 --> 00:10:31,490 >> Felly, ddechrau meddwl nawr am y bloc hwn Dweud porffor fel 249 00:10:31,490 --> 00:10:34,890 swyddogaeth, fel dull, fel gweithdrefn. 250 00:10:34,890 --> 00:10:36,890 Gallwch wir yn ei alw beth bynnag yr ydych ei eisiau ar hyn o bryd, ond 251 00:10:36,890 --> 00:10:39,260 mae'n fath o raglen bychan mai dim ond y mae un 252 00:10:39,260 --> 00:10:41,480 beth, mewn llinell sengl, dim llai. 253 00:10:41,480 --> 00:10:43,620 Felly printf hefyd yr hyn rydym yn mynd i ddechrau galw 254 00:10:43,620 --> 00:10:46,680 swyddogaeth, a swyddogaethau gwneud rhywbeth - yn yr achos hwn 255 00:10:46,680 --> 00:10:49,320 argraffu llinyn fformatio i'r sgrin - 256 00:10:49,320 --> 00:10:53,220 ond mae swyddogaethau hefyd yn cymryd dadleuon neu baramedrau. 257 00:10:53,220 --> 00:10:55,880 Ac erbyn dadleuon neu baramedrau, diolch i chi, rydym yn golygu 258 00:10:55,880 --> 00:11:01,220 y gall eu hymddygiad yn cael ei dylanwadu gan yr hyn byddwch yn mynd heibio yn 259 00:11:01,220 --> 00:11:03,420 tu mewn i'r cromfachau. 260 00:11:03,420 --> 00:11:06,460 Felly, yn yr achos hwn, anghenion printf cael gwybod beth i'w argraffu, ac rydym yn 261 00:11:06,460 --> 00:11:09,520 dim ond pasio i mewn, mewn dyfynodau dwbl yma, y ​​llinyn yr ydym yn 262 00:11:09,520 --> 00:11:11,270 mewn gwirionedd eisiau argraffu. 263 00:11:11,270 --> 00:11:14,060 A'r hanner colon ar ddiwedd y llinell hon yn unig yw 264 00:11:14,060 --> 00:11:18,020 niwsans hanesyddol lle ar ddiwedd y llinellau mwyaf o god, 265 00:11:18,020 --> 00:11:21,170 chi roi hanner colon i wneud super glir i'r cyfrifiadur 266 00:11:21,170 --> 00:11:23,020 fod y llinell o god yn dod i ben yma. 267 00:11:23,020 --> 00:11:25,600 Nawr mae hyn yn dda oherwydd fel byddwn yn gweld fel rhaglenni yn cael mwy 268 00:11:25,600 --> 00:11:29,030 cymhleth, bydd y colon yn gwneud pobl yn glir i ni super, 269 00:11:29,030 --> 00:11:32,280 a hefyd y cyfrifiadur, lle mae llinellau o ddechrau ar ddiwedd cod a. 270 00:11:32,280 --> 00:11:34,360 Sylweddoli nad yw rhai ieithoedd yn cael rhywfaint o 271 00:11:34,360 --> 00:11:35,045 o'r un manylion. 272 00:11:35,045 --> 00:11:37,870 Ac yn wir, yn JavaScript, nid oes bob amser angen rhywbeth 273 00:11:37,870 --> 00:11:38,670 fel y colon. 274 00:11:38,670 --> 00:11:40,210 Ond mwy am hynny i ddod. 275 00:11:40,210 --> 00:11:41,170 >> Felly, dolennau. 276 00:11:41,170 --> 00:11:43,520 Cawsom rhywbeth fel hyn, yn reddfol, yn amlwg, yn 277 00:11:43,520 --> 00:11:44,860 rhywbeth eto ac eto ac eto. 278 00:11:44,860 --> 00:11:47,720 Fel rhoi ar sanau, neu ddweud helo, yn yr achos hwn. 279 00:11:47,720 --> 00:11:51,090 Wel, gan ddechrau heddiw yn C, gallem fynegi hyn yn Scratch 280 00:11:51,090 --> 00:11:54,970 bloc fel tra (gwir) printf ("helo byd"). 281 00:11:54,970 --> 00:11:57,630 Felly sylwi rydym yn dechrau i adeiladu ar llythrennol y pos 282 00:11:57,630 --> 00:11:58,480 darn o'r blaen. 283 00:11:58,480 --> 00:12:01,310 Mae gennym y bloc porffor un, ond mae'n y tu mewn o hyn 284 00:12:01,310 --> 00:12:04,880 cromfachau Forever bloc, a'r ffordd orau i gyfieithu bod 285 00:12:04,880 --> 00:12:06,480 i C fel a ganlyn. 286 00:12:06,480 --> 00:12:08,130 Does dim Forever keyword. 287 00:12:08,130 --> 00:12:10,940 Ni allwch jyst deipio f-o-r-e-v-e-r yn C. 288 00:12:10,940 --> 00:12:13,440 Felly mae'r analog agosaf yw tra bod. 289 00:12:13,440 --> 00:12:17,050 >> Yn awr, tra (yn wir) yn ymddangos ychydig yn dwp oherwydd y mae'r gwerth 290 00:12:17,050 --> 00:12:18,700 o newid yn wir erioed? 291 00:12:18,700 --> 00:12:19,810 Yn ôl pob tebyg peidio. 292 00:12:19,810 --> 00:12:22,770 Mae fel dweud wrth un, tra ar, tra bod wir. 293 00:12:22,770 --> 00:12:25,430 Mae hyn i gyd yr un peth, yn wir bob amser yn wir. 294 00:12:25,430 --> 00:12:29,860 Felly, mae hyn mewn gwirionedd yn ddolen yn cymell pa fath o ddolen? 295 00:12:29,860 --> 00:12:31,210 Dim ond dolen ddiddiwedd, ar y dde. 296 00:12:31,210 --> 00:12:32,930 Mae dolen Forever neu fel byddem ni'n ei alw yr wythnos diwethaf, 297 00:12:32,930 --> 00:12:33,870 dim ond dolen ddiddiwedd. 298 00:12:33,870 --> 00:12:35,250 Felly, weithiau mae hynny'n ddrwg. 299 00:12:35,250 --> 00:12:37,060 Weithiau, mae hynny'n bug, weithiau dyna pam yr ydych yn ei gael 300 00:12:37,060 --> 00:12:39,340 y bêl traeth nyddu neu hourglass neu debyg. 301 00:12:39,340 --> 00:12:41,260 Ond yn yr achos hwn, rydym yn fwriadol, am ba bynnag 302 00:12:41,260 --> 00:12:43,040 reswm, yn awyddus i argraffu yr un peth eto 303 00:12:43,040 --> 00:12:43,970 ac eto ac eto. 304 00:12:43,970 --> 00:12:45,900 Neu yn achos o fel gwylio, ydych am ei wneud 305 00:12:45,900 --> 00:12:47,470 rhywbeth eto ac eto ac eto. 306 00:12:47,470 --> 00:12:49,070 Efallai Felly dolenni diddiwedd yn gwneud synnwyr. 307 00:12:49,070 --> 00:12:53,560 A dyma sut yn C gallem cyfieithu Forever i cod. 308 00:12:53,560 --> 00:12:55,570 >> Felly nawr hyn yn un 'ychydig yn fwy penodol. 309 00:12:55,570 --> 00:12:58,880 Rydym wedi ailadrodd 10 gwaith y datganiad canlynol. 310 00:12:58,880 --> 00:13:02,490 Felly, er na (yn wir) yn eithaf gweithio yno, oherwydd yn wir yn 311 00:13:02,490 --> 00:13:03,590 bob amser yn wir. 312 00:13:03,590 --> 00:13:07,060 Felly, os ydym yn hytrach yn edrych ar y fersiwn C, sydd bellach yn y gystrawen yn cael 313 00:13:07,060 --> 00:13:08,180 ychydig yn fwy cryptig. 314 00:13:08,180 --> 00:13:11,380 Ond i fod yn onest unwaith i chi ddechrau i weld hyn, mae'r cyfan yn cael 315 00:13:11,380 --> 00:13:12,600 eithaf gyfarwydd cyflym. 316 00:13:12,600 --> 00:13:14,370 Felly mae hyn yn hyn a elwir yn ddolen i. 317 00:13:14,370 --> 00:13:17,210 A am ddolen yn mynd i ddweud wrth y cyfrifiadur i wneud rhywbeth 318 00:13:17,210 --> 00:13:20,710 eto ac eto ac eto am gyhyd ag y 319 00:13:20,710 --> 00:13:21,850 pethau hyn yn wir. 320 00:13:21,850 --> 00:13:23,370 Nawr beth ydym yn ei olygu wrth hynny? 321 00:13:23,370 --> 00:13:25,470 Wel, mae tair rhan i am ddolen, ac rydym yn mynd i 322 00:13:25,470 --> 00:13:28,240 yn dod yn ôl at hyn yng nghyd-destun gwirioneddol 323 00:13:28,240 --> 00:13:29,100 enghreifftiau mewn munud. 324 00:13:29,100 --> 00:13:31,650 Felly peidiwch â phoeni os nad yw'n hollol suddo yn i gyd ar unwaith. 325 00:13:31,650 --> 00:13:35,400 Ond int i = 0 yw, stori fer hir, gan ddweud yn rhoi i mi 326 00:13:35,400 --> 00:13:38,290 amrywiol sy'n o cyfanrif fath, felly rhowch mi nifer 327 00:13:38,290 --> 00:13:40,890 enw i, ac yn ymgychwyn i 0. 328 00:13:40,890 --> 00:13:43,460 Dyna yw rhoi mi fel newidyn x algebraidd a 329 00:13:43,460 --> 00:13:44,580 ymgychwyn i 0. 330 00:13:44,580 --> 00:13:46,250 Ond yn yr achos hwn byddem ni'n ei alw i. 331 00:13:46,250 --> 00:13:49,120 Yna, yn y canol, mae'n dweud i yn llai na 10. 332 00:13:49,120 --> 00:13:52,150 Dyna ddweud wrth y cyfrifiadur yn y pethau canlynol cyn belled 333 00:13:52,150 --> 00:13:53,770 fel fi yn llai na 10. 334 00:13:53,770 --> 00:13:55,370 Ac yn amlwg ei fod yn dechrau llai na 10 oherwydd 335 00:13:55,370 --> 00:13:56,550 fydd yn dechrau ar 0. 336 00:13:56,550 --> 00:13:59,150 Yna yn olaf, allwch chi ddyfalu beth efallai i + + modd. 337 00:13:59,150 --> 00:14:02,140 Mae'n ychydig o gystrawen mai dim ond yn golygu cynyddiad i. 338 00:14:02,140 --> 00:14:05,270 Felly, ychwanegu 1 i i, eto ac eto ac eto. 339 00:14:05,270 --> 00:14:09,260 >> Ac felly gan y byddwn yn gweld y ddolen, mae hyn yn cystrawen, yn hytrach, yn gweithredu 340 00:14:09,260 --> 00:14:12,160 union yr un peth a dweud y gwir, yn Scratch yn unig er mwyn 341 00:14:12,160 --> 00:14:13,250 llawer haws i fynegi. 342 00:14:13,250 --> 00:14:15,170 Ailadroddwch 10, ac rydych yn ei wneud. 343 00:14:15,170 --> 00:14:17,690 Yn C, ac mewn ieithoedd rhaglennu y rhan fwyaf o, mae'n rhaid i ni fod yn 344 00:14:17,690 --> 00:14:20,190 ychydig yn fwy addysgiadol ar gyfer y cyfrifiadur ac mewn gwirionedd yn 345 00:14:20,190 --> 00:14:21,630 nodi rhywbeth fel hyn. 346 00:14:21,630 --> 00:14:23,730 Ond byddwn yn dod yn ôl at hyn a chystrawen eraill. 347 00:14:23,730 --> 00:14:24,780 >> Beth am newidynnau? 348 00:14:24,780 --> 00:14:26,940 Yn Scratch cawsom rhywbeth fel hyn blociau oren, 349 00:14:26,940 --> 00:14:28,180 lle y gallwn ddatgan amrywiol. 350 00:14:28,180 --> 00:14:30,000 Gadewch i ni fympwyol ei alw cownter. 351 00:14:30,000 --> 00:14:31,880 Gadewch i ymgychwyn i 0, ac yna 352 00:14:31,880 --> 00:14:33,240 gadewch i ni wneud rhywbeth am byth. 353 00:14:33,240 --> 00:14:35,760 Yn yr achos hwn yn Scratch i ddim yn dweud y cownter, felly mae'r 354 00:14:35,760 --> 00:14:38,230 cath yn mynd i gael swigen siarad ychydig sydd wedi siarad 355 00:14:38,230 --> 00:14:40,010 y nifer sy'n sydd yn y newidyn. 356 00:14:40,010 --> 00:14:42,460 Ac yna mae gennym gownter newid erbyn 1. 357 00:14:42,460 --> 00:14:45,760 Felly, hyn i gyd wedi'i lapio tu mewn clo Forever. 358 00:14:45,760 --> 00:14:48,960 Felly, rydym yn barod yn awr y blociau adeiladu yn C gyda 359 00:14:48,960 --> 00:14:50,040 sydd i gyfieithu hyn. 360 00:14:50,040 --> 00:14:51,650 >> Un ffordd y gallem wneud hynny yw hyn. 361 00:14:51,650 --> 00:14:53,890 Rhowch i mi cyfanrif, ei alw'n cownter. 362 00:14:53,890 --> 00:14:55,190 Ymgychwyn ei i 0 363 00:14:55,190 --> 00:14:56,490 yn y llinell gyntaf yno. 364 00:14:56,490 --> 00:14:59,390 Er (gwir), felly rwy'n dwyn y syniad o ychydig ennyd 365 00:14:59,390 --> 00:15:01,300 yn ôl, mynd yn ei flaen ac yn gwneud y canlynol. 366 00:15:01,300 --> 00:15:04,880 Argraffwch y cownter, ac yna hicyn y cownter, 367 00:15:04,880 --> 00:15:06,930 unwaith eto, ac unwaith eto, ac unwaith eto. 368 00:15:06,930 --> 00:15:09,380 Neu eto, + + yn unig yn golygu ychwanegu 1 i rywbeth. 369 00:15:09,380 --> 00:15:11,030 Ond mae yn ddarn newydd o gystrawen yma. 370 00:15:11,030 --> 00:15:15,730 Beth sy'n neidio allan gan na ymhlith ein enghreifftiau blaenorol? 371 00:15:15,730 --> 00:15:17,190 Ydy, mae hyn yn d%. 372 00:15:17,190 --> 00:15:19,810 Felly, efallai y gallwch gasglu beth mae hyn yn ei wneud, a dweud y gwir, yn seiliedig 373 00:15:19,810 --> 00:15:21,410 ar yr hyn y bloc Scratch yn ei wneud. 374 00:15:21,410 --> 00:15:24,510 Ond unwaith eto yn C, rydym yn unig rhaid i ni fod ychydig yn fwy penodol 375 00:15:24,510 --> 00:15:25,990 pan ddaw i fynegi ein hunain. 376 00:15:25,990 --> 00:15:30,560 >> Felly printf ("% d \ n"). 377 00:15:30,560 --> 00:15:32,320 Wel y rhan fwyaf o hynny y gallwn daflu i ffwrdd mor gyfarwydd. 378 00:15:32,320 --> 00:15:34,910 Mae'r dyfyniadau yn unig yn golygu ei fod yn llinyn, slaes n 379 00:15:34,910 --> 00:15:35,970 yn unig yw llinell newydd. 380 00:15:35,970 --> 00:15:38,860 Felly, y peth newydd yn unig yma yw% d. 381 00:15:38,860 --> 00:15:40,390 A'r hyn oll sydd yn placeholder. 382 00:15:40,390 --> 00:15:43,510 D% yn mynd i ddynodi rhif degol. 383 00:15:43,510 --> 00:15:47,820 Ac cyfrifiadur% d modd, rhowch rif degol yma. 384 00:15:47,820 --> 00:15:49,450 Wel, pa rif ydych chi eisiau ei roi ynddo? 385 00:15:49,450 --> 00:15:52,400 Wel, fel y gallwch o bosibl casglu, ar ôl y coma rydym yn dweud 386 00:15:52,400 --> 00:15:55,480 cownter, dyna enw'r newidyn yr ydym yn datgan neu 387 00:15:55,480 --> 00:15:57,260 creu ychydig o linellau yn gynharach. 388 00:15:57,260 --> 00:16:02,420 Felly, mae hyn yn unig yw C yn ffordd o lenwi'r mewn newidyn i mewn i 389 00:16:02,420 --> 00:16:04,480 llinyn ddynamig. 390 00:16:04,480 --> 00:16:07,350 Oherwydd y llaw arall, os ydw i wedi wneud yn lle rhywbeth fel 391 00:16:07,350 --> 00:16:12,470 hyn, printf ("gwrth"), beth fyddai hyn yn 392 00:16:12,470 --> 00:16:15,220 rhaglen yn hytrach yn ei wneud, yn ôl pob tebyg? 393 00:16:15,220 --> 00:16:17,260 Bydd yn llythrennol argraffu "gwrth". 394 00:16:17,260 --> 00:16:18,750 Nid Pa un yw'r effaith yr wyf am. 395 00:16:18,750 --> 00:16:20,920 Angen i mi gymryd lle mewn rhai gwerth rhifol. 396 00:16:20,920 --> 00:16:24,340 Felly, byddwn yn gweld bod swyddogaethau hynny, fel printf ni all gymryd 397 00:16:24,340 --> 00:16:26,930 dim ond dadleuon unigol, fel 398 00:16:26,930 --> 00:16:28,150 "Helo byd". 399 00:16:28,150 --> 00:16:32,050 Gallant gymryd coma unquote dyfyniad, ac yna rhai newidynnau 400 00:16:32,050 --> 00:16:35,830 a fydd yn cael blygio i mewn, gan y byddwn yn gweld y llinyn blaenorol 401 00:16:35,830 --> 00:16:38,280 drwy hyn bachau% arwydd. 402 00:16:38,280 --> 00:16:39,660 >> Wel beth am mynegiadau Boole? 403 00:16:39,660 --> 00:16:42,200 Mynegiadau Boole oedd y rhain gwerthoedd, yn wir neu'n anwir. 404 00:16:42,200 --> 00:16:42,830 Ydw neu nac ydw. 405 00:16:42,830 --> 00:16:44,020 1 neu 0. 406 00:16:44,020 --> 00:16:45,190 Ar neu i ffwrdd. 407 00:16:45,190 --> 00:16:47,570 Felly, yn Scratch maent yn edrych fel hyn, ac yn sylwi bod y 408 00:16:47,570 --> 00:16:50,170 bloc gwaelod dyma mewn gwirionedd y cyd 409 00:16:50,170 --> 00:16:51,500 dau floc llai. 410 00:16:51,500 --> 00:16:53,610 Felly, yr wyf yn fath o llusgo a gollwng tri darn pos 411 00:16:53,610 --> 00:16:56,450 gyda'i gilydd i wneud y darn pos yno bellach er mwyn i mi 412 00:16:56,450 --> 00:17:00,420 gallai gyfleu'r syniad yr wyf am x i fod yn llai na y a 413 00:17:00,420 --> 00:17:02,540 y i fod yn llai na z. 414 00:17:02,540 --> 00:17:05,790 Ac felly rwy'n gallu cyfieithu'r rhain ddwy linell ar wahân fel a ganlyn. 415 00:17:05,790 --> 00:17:08,650 Gall Ar y brig yn cael ei iawn trivially cyfieithu i C, 416 00:17:08,650 --> 00:17:10,069 gyda dim ond x 00:17:11,990 Efallai gyda rhai cromfachau ar gyfer mesur da. 418 00:17:11,990 --> 00:17:15,520 Ac yna yn C, nad ydych yn ysgrifennu ac i ddynodi 419 00:17:15,520 --> 00:17:16,819 ar y cyd o rywbeth. 420 00:17:16,819 --> 00:17:19,585 Chi yn hytrach na ysgrifennu &&. 421 00:17:19,585 --> 00:17:22,849 Ac fel y byddwn yn y pen draw yn gweld, a ampersand un yn digwydd i 422 00:17:22,849 --> 00:17:23,880 yn golygu rhywbeth gwahanol. 423 00:17:23,880 --> 00:17:27,530 Felly, dim ond && yn dynodi y syniad o AC. 424 00:17:27,530 --> 00:17:30,040 >> Felly eto, er bod hyn yn dechrau edrych braidd yn gymhleth, 425 00:17:30,040 --> 00:17:32,560 un o ddibenion cyflwyno Scratch, ar wahân 426 00:17:32,560 --> 00:17:34,810 dim ond cael rhyw fath o hwyl ar-ramp lle y gallwch wneud 427 00:17:34,810 --> 00:17:36,590 rhywbeth sy'n iawn graffigol, a animeiddiedig, a 428 00:17:36,590 --> 00:17:39,000 shareable ac yn y blaen, hefyd i gyfleu y syniad bod 429 00:17:39,000 --> 00:17:42,010 holl syniadau i ni ddechrau plymio i mewn i heddiw ac ymlaen 430 00:17:42,010 --> 00:17:44,300 wedi cael eu hymgorffori mewn hyd yn oed mor syml â hynny 431 00:17:44,300 --> 00:17:46,850 rhyngwyneb ers y diwrnod cyntaf. 432 00:17:46,850 --> 00:17:47,790 Beth am yr un yma? 433 00:17:47,790 --> 00:17:48,860 >> Felly amodau. 434 00:17:48,860 --> 00:17:50,590 Felly y bloc Scratch ar y chwith mae yn edrych 435 00:17:50,590 --> 00:17:51,610 ychydig yn fwy cymhleth. 436 00:17:51,610 --> 00:17:52,650 Ond dim ond rhai llusgo a 437 00:17:52,650 --> 00:17:54,140 gollwng darnau cyfarwydd. 438 00:17:54,140 --> 00:17:56,690 Os x yn llai na y, dywedwch hynny. 439 00:17:56,690 --> 00:17:59,900 Arall os x yn fwy na y, dywedwch hynny. 440 00:17:59,900 --> 00:18:02,460 Else, gallwn gymryd yn ganiataol yn rhesymegol ei fod yn casglu bod 441 00:18:02,460 --> 00:18:03,580 rhaid iddynt fod yn gyfartal. 442 00:18:03,580 --> 00:18:05,220 Felly, yn dweud eu bod yn gyfartal. 443 00:18:05,220 --> 00:18:07,690 Nawr yn C ar y dde, un peth yn union. 444 00:18:07,690 --> 00:18:09,730 Ac yn sylwi bod y braces cyrliog yn mynd i fod yn 445 00:18:09,730 --> 00:18:12,190 nodwedd o C ac ieithoedd eraill sy'n gwneud y math hwn 446 00:18:12,190 --> 00:18:13,210 o amgįu. 447 00:18:13,210 --> 00:18:15,470 Yn union fel y bloc os yw hyn beth melyn sy'n fath o 448 00:18:15,470 --> 00:18:17,770 gydio yn y bloc porffor y tu mewn iddo. 449 00:18:17,770 --> 00:18:19,480 Yn yr un modd a yw'r rhain braces - 450 00:18:19,480 --> 00:18:20,870 hyn braces cyrliog - 451 00:18:20,870 --> 00:18:24,710 i fod i gonsurio bod un syniad o gofleidio un neu fwy o 452 00:18:24,710 --> 00:18:27,680 linellau o god sy'n cael eu mewnoli tu mewn iddynt. 453 00:18:27,680 --> 00:18:31,270 Felly, ar yr ochr dde yma, os x yn llai na y, printf 454 00:18:31,270 --> 00:18:32,270 ("X yn llai na y"). 455 00:18:32,270 --> 00:18:34,980 Arall os x yn fwy na y, argraffwch yr un fath. 456 00:18:34,980 --> 00:18:38,360 Arall argraffu eu bod yn gyfartal. 457 00:18:38,360 --> 00:18:41,750 >> Felly, yn fyr, mae 'na mapio eithaf uniongyrchol neu gyfieithiad 458 00:18:41,750 --> 00:18:44,720 yr iaith rydym wedi ei weld hyd yn hyn, gan gynnwys ar gyfer rhai 459 00:18:44,720 --> 00:18:45,940 o nodweddion mwy soffistigedig. 460 00:18:45,940 --> 00:18:48,680 Felly, efallai nad ydych yn defnyddio hyn ar gyfer eich prosiect, neu a allai beidio 461 00:18:48,680 --> 00:18:51,150 yn defnyddio hyn ar gyfer eich prosiect yr wythnos hon. 462 00:18:51,150 --> 00:18:54,650 Ond rydym wedi y pethau hyn a elwir yn araeau yn C. Yn Scratch, 463 00:18:54,650 --> 00:18:55,680 maen nhw'n galw rhestrau. 464 00:18:55,680 --> 00:18:59,370 Ac rydym yn gweld y rhain gyda'r RPG Fruitcraft yr wythnos diwethaf. 465 00:18:59,370 --> 00:19:01,320 Y dyn bach glas sydd yn cerdded o gwmpas, codi 466 00:19:01,320 --> 00:19:03,010 ceirios ac orennau ac yn y blaen. 467 00:19:03,010 --> 00:19:05,110 Wel, yn Scratch, a weithredwyd gyda'r oren 468 00:19:05,110 --> 00:19:09,000 bloc sy'n cynnwys geiriau; yn yr achos hwn, rydym yn llythrennol 469 00:19:09,000 --> 00:19:10,800 ychwanegu "oren" i 470 00:19:10,800 --> 00:19:12,460 amrywiol a elwir yn rhestr. 471 00:19:12,460 --> 00:19:14,910 Felly, yn C, y gystrawen yn mynd i gael ychydig yn fwy cryptig. 472 00:19:14,910 --> 00:19:17,250 A byddwn yn dod yn ôl at hyn yr wythnos nesaf, a gwneud mwy 473 00:19:17,250 --> 00:19:21,060 bethau diddorol yn y byd o cryptograffeg ag ef. 474 00:19:21,060 --> 00:19:23,990 Ond ar y gwaelod yma, mae'r ddwy linell yn y bôn 475 00:19:23,990 --> 00:19:27,550 cyfieithu i'r hyn yr ydym yn ei wneud mewn un bloc Scratch i fyny yno. 476 00:19:27,550 --> 00:19:30,120 Ond mwy am hynny i ddod. 477 00:19:30,120 --> 00:19:34,120 >> Felly roi at ei gilydd, dyma rhaglen yn C. Felly gadewch i ni 478 00:19:34,120 --> 00:19:36,590 yn gyflym canfod ar wahân rhai o'r darnau o gystrawen yma, ond 479 00:19:36,590 --> 00:19:40,300 yna gadewch i ni mewn gwirionedd yn dechrau ysgrifennu rhai cod, ymgyfarwyddo 480 00:19:40,300 --> 00:19:42,440 chi gyda rhai o'r offer y byddwn yn eu defnyddio, a gweld os ydym 481 00:19:42,440 --> 00:19:45,400 yn gallu adeiladu ar hyn rhai o'r blociau adeiladu sylfaenol o 482 00:19:45,400 --> 00:19:49,150 yr wythnos diwethaf, yn awr yn syntactically C. Felly ar y top yma, mae hyn yn 483 00:19:49,150 --> 00:19:51,380 efallai mai dyma un o'r rhaglenni mwyaf diflas gallech 484 00:19:51,380 --> 00:19:53,130 ysgrifennu yn y rhan fwyaf o unrhyw iaith raglennu. 485 00:19:53,130 --> 00:19:55,010 Ond mae'n fath o wedi ystyr arbennig am ei fod y 486 00:19:55,010 --> 00:19:58,120 rhaglen canonaidd bod unrhyw wyddonydd cyfrifiadurol yn ysgrifennu pan fydd 487 00:19:58,120 --> 00:19:59,620 addysgu rhywun iaith raglennu - 488 00:19:59,620 --> 00:20:01,230 rhaglen y byd helo. 489 00:20:01,230 --> 00:20:05,120 >> Felly, ar frig iawn, rydym yn gweld y syniad hwn o # gynnwys 490 00:20:05,120 --> 00:20:08,180 ac yna, mewn cromfachau ongl, stdio.h. 491 00:20:08,180 --> 00:20:10,580 Rydym yn mynd i ddod yn ôl at hynny, ond mewn gwirionedd yr hyn y 492 00:20:10,580 --> 00:20:13,770 yn golygu ei bod yn ffeil yn y byd hwn a elwir yn safon 493 00:20:13,770 --> 00:20:17,670 I / O, stdio dot h, a dim ond ffeil testun sy'n 494 00:20:17,670 --> 00:20:19,240 ysgrifennodd rhywun o flynyddoedd yn ôl. 495 00:20:19,240 --> 00:20:22,550 Ac tu mewn y ffeil destun yn criw cyfan o 496 00:20:22,550 --> 00:20:25,840 swyddogaethau, neu ddulliau, neu weithdrefnau, bod rhywun arall 497 00:20:25,840 --> 00:20:28,970 Ysgrifennodd mai ni yw'r buddiolwyr oherwydd ein bod 498 00:20:28,970 --> 00:20:31,420 yn awr yn gallu defnyddio cod y person hwnnw. 499 00:20:31,420 --> 00:20:33,070 Mae'r swyddogaethau ef neu hi ysgrifennodd. 500 00:20:33,070 --> 00:20:36,320 Yn yr achos hwn, nid printf yn rhywbeth i mi ysgrifennu, mae'n 501 00:20:36,320 --> 00:20:37,500 Nid rhywbeth y CS50 ysgrifennodd. 502 00:20:37,500 --> 00:20:40,290 Mae'n rhywbeth y ysgrifennodd rhywun o flynyddoedd yn ôl a'i roi mewn 503 00:20:40,290 --> 00:20:43,450 ffeil o'r enw stdio.h ac yna, wrth fynd heibio, rhowch 504 00:20:43,450 --> 00:20:45,830 rhan arall o'r swyddogaeth mewn ffeil arall. 505 00:20:45,830 --> 00:20:46,940 Ond byddwn yn cyrraedd yno. 506 00:20:46,940 --> 00:20:50,070 >> Felly, # yn cynnwys yn unig yw ein ffordd ni o ddweud, yn 507 00:20:50,070 --> 00:20:53,110 C, yn rhoi i mi mynediad i swyddogaethau sydd ysgrifennodd rhywun arall. 508 00:20:53,110 --> 00:20:55,490 Ac yn yr achos hwn rwyf yn gofalu am fy mod eisiau printf. 509 00:20:55,490 --> 00:20:57,530 Nawr rydym yn cael y prif int (gwag). 510 00:20:57,530 --> 00:21:00,160 Felly, mae hyn yn un o'r pethau hyn, a dweud y gwir, bod ar ddiwrnod 0, 511 00:21:00,160 --> 00:21:02,400 'n bert lawer yr wyf i wedi i fath y tu allan i barth, oherwydd dim ond 512 00:21:02,400 --> 00:21:03,260 Nid yw diddorol 513 00:21:03,260 --> 00:21:04,780 ddeallusol, mae rhai o'r gystrawen. 514 00:21:04,780 --> 00:21:07,940 Ond am nawr yn gwybod bod swyddogaethau, a elwir fel arall yn 515 00:21:07,940 --> 00:21:11,660 gweithdrefnau, neu ddulliau, yn gyffredinol yn cynhyrchu rhywfaint o werth. 516 00:21:11,660 --> 00:21:12,520 Maent yn gwneud rhywbeth. 517 00:21:12,520 --> 00:21:13,810 Maent yn dod o hyd i'r ateb. 518 00:21:13,810 --> 00:21:15,020 Maent yn cynhyrchu allbwn. 519 00:21:15,020 --> 00:21:18,780 Felly, int nesaf i'r brif yn unig yw ein ffordd law-fer o ddweud 520 00:21:18,780 --> 00:21:21,380 bod y swyddogaeth hon, y weithdrefn hon, yn y pen draw yn mynd 521 00:21:21,380 --> 00:21:22,650 i roi i chi yn ôl nifer. 522 00:21:22,650 --> 00:21:24,370 A pham hynny yw, byddwn yn dod yn ôl i. 523 00:21:24,370 --> 00:21:27,810 Main yn unig 'r ball safon byd ar gyfer y rhagosodiad 524 00:21:27,810 --> 00:21:30,990 swyddogaeth sy'n mynd i gael eu gweithredu mewn rhaglen C pan fydd 525 00:21:30,990 --> 00:21:31,860 ydych yn ei redeg. 526 00:21:31,860 --> 00:21:34,160 Void yn unig yn golygu y peth hyn, prif, yn cymryd unrhyw 527 00:21:34,160 --> 00:21:35,270 dadleuon, yn yr achos hwn. 528 00:21:35,270 --> 00:21:36,400 Felly, fy mod yn cael super penodol. 529 00:21:36,400 --> 00:21:38,160 Does dim llinynnau i mewn 'na, does dim atalnodau. 530 00:21:38,160 --> 00:21:40,690 Void yn golygu unrhyw ddadleuon to main. 531 00:21:40,690 --> 00:21:44,350 >> Nawr yn olaf, diolch i'r drefn, y ddwy linell olaf yn gyfarwydd. 532 00:21:44,350 --> 00:21:46,160 Y tu mewn i'r braces cyrliog gennym printf 533 00:21:46,160 --> 00:21:47,620 ac mae gennym dychwelyd. 534 00:21:47,620 --> 00:21:50,450 A dychwelyd yn fath o anffodus bod rhaid i ni 535 00:21:50,450 --> 00:21:53,510 roi yno, oherwydd yn yr achos hwn nid yw'n gwneud popeth a 536 00:21:53,510 --> 00:21:54,600 llawer o ddiddordeb. 537 00:21:54,600 --> 00:21:58,790 Ond mewn rhaglen gyfrifiadur, pan fydd ffwythiant yn dychwelyd 0, 538 00:21:58,790 --> 00:22:00,610 sy'n golygu popeth yn iawn. 539 00:22:00,610 --> 00:22:01,820 Nid oes dim yn mynd o'i le. 540 00:22:01,820 --> 00:22:06,170 Ar y llaw arall, os yw ffwythiant yn dychwelyd 1, neu 1 negyddol, neu 541 00:22:06,170 --> 00:22:11,670 1337 negyddol, neu rai rhifau ar hap fel 'na, bod 542 00:22:11,670 --> 00:22:14,020 gyffredinol yn golygu bod camgymeriad wedi digwydd mewn gwirionedd. 543 00:22:14,020 --> 00:22:16,150 Felly, os ydych chi ar eich Mac neu PC eich, os ydych chi erioed wedi gweld 544 00:22:16,150 --> 00:22:18,590 ryw neges blino oherwydd bod eich cyfrifiadur wedi chwalu neu 545 00:22:18,590 --> 00:22:20,660 rhewi, ac mae 'na neges gwall cryptig, 546 00:22:20,660 --> 00:22:23,320 ac yna rhai cod, cod system fel 547 00:22:23,320 --> 00:22:25,110 1,2,3,4, ryw nifer, 548 00:22:25,110 --> 00:22:29,270 yn gyffredinol yn manylion diangen i ddweud 549 00:22:29,270 --> 00:22:32,110 rhan fwyaf ohonom pobl, ond dyna rhyw swyddogaeth neu ryw 550 00:22:32,110 --> 00:22:34,890 rhaglen wedi dychwelyd mewn gwirionedd, mae gwerth ychwanegol di-sero. 551 00:22:34,890 --> 00:22:38,540 Ac y fantais o hyn yw bod 0 yn golygu i gyd fel yn dda, ac 552 00:22:38,540 --> 00:22:40,470 yna rydych yn y bôn yn cael nifer anfeidrol o bethau y 553 00:22:40,470 --> 00:22:41,130 Gall mynd o'i le. 554 00:22:41,130 --> 00:22:44,700 Pa un yw pam eu bod wedi dewis 0 am da a gwerth ychwanegol di-sero ar gyfer 555 00:22:44,700 --> 00:22:46,450 ddrwg, fel y gwelwn cyn hir. 556 00:22:46,450 --> 00:22:47,870 >> Felly, gadewch i ni fynd yn ei flaen ac yn ysgrifennu hyn. 557 00:22:47,870 --> 00:22:51,610 Felly dwyn i gof bod y diwrnod arall yr wyf yn defnyddio fy Mac i agor i fyny 558 00:22:51,610 --> 00:22:53,970 , ffenestr terfynell ac yna yr wyf yn agor rhaglen destun, fel 559 00:22:53,970 --> 00:22:55,900 Dechreuodd TextEdit, ac yr wyf ysgrifennu rhai cod. 560 00:22:55,900 --> 00:22:56,580 Wel mae hynny'n iawn. 561 00:22:56,580 --> 00:22:58,636 Ond eich profiad yn mynd i fod yn wahanol ar Mac, neu 562 00:22:58,636 --> 00:23:01,220 ar gyfrifiadur Solaris, cyfrifiadur Linux, beth bynnag gweithredu 563 00:23:01,220 --> 00:23:02,810 system yr ydych yn ei ddefnyddio. 564 00:23:02,810 --> 00:23:04,970 Ac felly yn y cwrs, yr hyn rydym yn lle hynny i ddefnyddio yn rhywbeth 565 00:23:04,970 --> 00:23:07,010 a elwir yn Appliance CS50. 566 00:23:07,010 --> 00:23:10,420 Felly, y Appliance CS50 yn ddarn o feddalwedd i'w llwytho i lawr 567 00:23:10,420 --> 00:23:13,640 sy'n caniatáu i chi redeg system weithredu o'r enw Linux, 568 00:23:13,640 --> 00:23:16,810 yn benodol Fedora Linux, Mac ar eich hun neu PC. 569 00:23:16,810 --> 00:23:20,810 A ydych yn gwneud hyn trwy lawrlwytho rhywbeth a elwir yn hypervisor. 570 00:23:20,810 --> 00:23:23,100 Felly bydd hyn oll yn cael ei dogfennu yn 1 set problem. 571 00:23:23,100 --> 00:23:25,240 A byddwch yn eu harwain tuag at yr hyn y mae angen i chi lawrlwytho. 572 00:23:25,240 --> 00:23:27,510 Ond y canlyniad, a oes gennych Mac neu PC, yn eich 573 00:23:27,510 --> 00:23:29,080 lawrlwytho rhai meddalwedd am ddim. 574 00:23:29,080 --> 00:23:32,340 Yna byddwch yn lawrlwytho'r Offer CS50, ac rydych yn dweud bod 575 00:23:32,340 --> 00:23:33,960 meddalwedd am ddim - y hypervisor - 576 00:23:33,960 --> 00:23:38,080 i redeg y Appliance CS50 mewn ffenestr ar eich cyfrifiadur. 577 00:23:38,080 --> 00:23:39,490 A beth fydd yn digwydd yw hyn. 578 00:23:39,490 --> 00:23:43,660 >> Rwyf wedi yn awr, sylwi yma, yr hyn sy'n ymddangos i fod yn ben-desg 579 00:23:43,660 --> 00:23:44,130 amgylchedd. 580 00:23:44,130 --> 00:23:46,150 A gadewch i mi mewn gwirionedd yn crebachu y ffenestr hon sengl. 581 00:23:46,150 --> 00:23:49,640 Felly, mae hyn yn awr yw fy Mac, gyda ffenestr bach yma, ac y tu mewn 582 00:23:49,640 --> 00:23:51,300 y ffenestr hon yn digwydd i fod yn gwbl 583 00:23:51,300 --> 00:23:52,380 system gweithredu gwahanol. 584 00:23:52,380 --> 00:23:55,250 Yn wir, mae hyn chychwyn ddewislen i lawr yma, sy'n atgoffa rhywun o 585 00:23:55,250 --> 00:23:57,990 Windows, sydd â criw cyfan o fwydlenni is, gan gynnwys 586 00:23:57,990 --> 00:24:00,720 dolen i llawlyfr CS50, Dropbox, ac yn y blaen. 587 00:24:00,720 --> 00:24:03,480 A beth mae hyn yn amgylchedd yn awr yn amgylchedd safonol 588 00:24:03,480 --> 00:24:06,280 y gall pob un ohonom yn defnyddio, fel nad oes ots beth yw eich 589 00:24:06,280 --> 00:24:08,960 cyfrifiadur yn, yr hyn yr ydych wedi gosod arno, pa fersiwn 590 00:24:08,960 --> 00:24:11,430 o Mac OS neu Windows ydych yn rhedeg, rydym i gyd yn awr yn cael y 591 00:24:11,430 --> 00:24:12,800 un amgylchedd. 592 00:24:12,800 --> 00:24:15,850 Ac yn awr yn yr amgylchedd hwn gallwn ddechrau ysgrifennu rhai cod. 593 00:24:15,850 --> 00:24:18,480 >> Felly, yr wyf i'n mynd i fynd yn ei flaen ac agor rhaglen o'r enw gedit. 594 00:24:18,480 --> 00:24:21,500 Mae hyn yn debyg i notepad.exe, neu 595 00:24:21,500 --> 00:24:22,790 TextEdit ar Mac. 596 00:24:22,790 --> 00:24:25,390 Ac mae hyn yn unig yw rhaglen super destun syml golygu 597 00:24:25,390 --> 00:24:27,500 sy'n edrych fel hyn ar yr olwg gyntaf. 598 00:24:27,500 --> 00:24:30,640 Nawr ar frig, mae gen i palet gwyn, ar y gwaelod I 599 00:24:30,640 --> 00:24:33,860 cael y ffenestr ddu sy'n dweud jharvard @ offer. 600 00:24:33,860 --> 00:24:36,440 Ac mae hynny oherwydd bod y cyfrif defnyddiwr yr ydym yn rhag-greu 601 00:24:36,440 --> 00:24:38,430 i bawb ei alw'n John Harvard. 602 00:24:38,430 --> 00:24:41,490 Mae ganddo ffolder lle ei holl ffeiliau yn mynd i fynd, a 603 00:24:41,490 --> 00:24:43,500 dyma lle y gallwn ddechrau ysgrifennu rhai cod. 604 00:24:43,500 --> 00:24:45,810 Felly, gadewch i mi fynd yn ei flaen yma ac chwyddo i mewn dim ond ychydig, ac rwy'n 605 00:24:45,810 --> 00:24:51,550 mynd i wneud # cynnwys , prif int (gwag), a 606 00:24:51,550 --> 00:24:57,470 yna yr wyf i'n mynd i wneud printf ("helo byd") 607 00:24:57,470 --> 00:24:59,490 , Dychwelyd 0. 608 00:24:59,490 --> 00:25:01,400 Nawr mae hyn i gyd yn eithaf du a gwyn. 609 00:25:01,400 --> 00:25:03,830 >> Gadewch i mi fynd yn ei flaen ac yn gwneud un peth i ddysgu gedit hyn yr wyf i'n 610 00:25:03,830 --> 00:25:04,510 ei wneud mewn gwirionedd. 611 00:25:04,510 --> 00:25:06,140 Gadewch i mi fynd i Save As. 612 00:25:06,140 --> 00:25:08,560 Rydw i'n mynd i ddewis ar yr ochr chwith yma jharvard. 613 00:25:08,560 --> 00:25:11,010 Felly eto, hyd yn oed os nad ydych erioed wedi defnyddio Linux o'r blaen, a dweud y gwir 614 00:25:11,010 --> 00:25:13,680 y dyddiau hyn, pob un ohonynt yn datganoli i mewn i hanfod y 615 00:25:13,680 --> 00:25:14,590 un math o ryngwyneb - 616 00:25:14,590 --> 00:25:16,030 Mac OS, Windows, Linux a. 617 00:25:16,030 --> 00:25:18,680 Felly, yr wyf wedi dewis ffolder cartref jharvard yma. 618 00:25:18,680 --> 00:25:21,120 Ac yr wyf i'n mynd i achub y ffeil fel hello.c. 619 00:25:21,120 --> 00:25:24,260 Felly, ar y brig, yr wyf deipio hello.c; enwi C 620 00:25:24,260 --> 00:25:26,520 rhaglen gyda'r. estyniad c yn 621 00:25:26,520 --> 00:25:27,570 yr hyn yn arfer cyffredin. 622 00:25:27,570 --> 00:25:28,650 Ac yr wyf yn taro Achub. 623 00:25:28,650 --> 00:25:32,510 Ac yn awr beth braf yw fy mod i wedi dysgu effeithiol gedit, 624 00:25:32,510 --> 00:25:33,690 bod hon yn rhaglen C. 625 00:25:33,690 --> 00:25:36,470 Sylwch fod fy testun du a gwyn erbyn hyn codio yn ôl lliw, neu 626 00:25:36,470 --> 00:25:39,330 cystrawen tynnu sylw, a dim ond yn tynnu fy sylw at y 627 00:25:39,330 --> 00:25:41,540 rannau semantig gwahanol o'r rhaglen. 628 00:25:41,540 --> 00:25:44,260 Ar ochr chwith uchaf yno, gan fod fy rhaglenni yn cael mwy cymhleth, rwy'n 629 00:25:44,260 --> 00:25:47,060 mynd i gael crynodeb o'r holl bethau yr wyf wedi ysgrifennu. 630 00:25:47,060 --> 00:25:48,050 Felly dyna ni i fyny yno. 631 00:25:48,050 --> 00:25:52,350 Felly, gadewch i mi yn awr chwyddo allan ac ewch i lawr at y ffenestr terfynell. 632 00:25:52,350 --> 00:25:54,570 >> Felly mae hyn yn bosibl newydd i lawer o bobl. 633 00:25:54,570 --> 00:25:57,260 Os nad ydych erioed wedi defnyddio gorchymyn amgylchedd llinell, nad ydych erioed i wedi 634 00:25:57,260 --> 00:26:00,020 ddefnyddio DOS, neu nad ydych erioed wedi defnyddio Linux, neu nad ydych erioed wedi agor 635 00:26:00,020 --> 00:26:02,550 eich Mac OS ffenestr terfynell, mae 'na lot o bethau rydych 636 00:26:02,550 --> 00:26:04,820 gallai ei wneud gyda'r GUI, fel pwyntio, a chlicio, a 637 00:26:04,820 --> 00:26:07,080 llusgo, a gollwng, ac ati, ond yn gyffredinol - 638 00:26:07,080 --> 00:26:09,360 bendant yn y byd gwyddoniaeth gyfrifiadurol - 639 00:26:09,360 --> 00:26:11,580 ddefnyddio, llinell orchymyn lle nad oes gennych eich llygoden 640 00:26:11,580 --> 00:26:14,220 gyffredinol, dim ond eich bysellfwrdd, mewn gwirionedd yn llawer 641 00:26:14,220 --> 00:26:17,260 yn fwy pwerus na rhyngwyneb, unwaith y byddwch yn cael acclimated i 642 00:26:17,260 --> 00:26:18,580 gorchmynion amrywiol. 643 00:26:18,580 --> 00:26:20,940 A ydych yn fath o rhad ac am ddim eich hun o fod angen i bwynt a chliciwch 644 00:26:20,940 --> 00:26:21,690 ar bopeth. 645 00:26:21,690 --> 00:26:23,890 Felly, yn gedit byddwn yn didoli o'r cael y gorau o ddau fyd. 646 00:26:23,890 --> 00:26:25,600 Gallwn llusgo a gollwng testun, gallwn weld 647 00:26:25,600 --> 00:26:26,840 'n glws a lliw godio. 648 00:26:26,840 --> 00:26:29,630 Ond pan ddaw amser i redeg ein rhaglen, gallwn eich weithiau 649 00:26:29,630 --> 00:26:31,750 dim ond yn defnyddio ffenestr hon bach yma. 650 00:26:31,750 --> 00:26:33,460 >> Felly, yr wyf i'n mynd i fynd yn ei flaen ac yn gwneud hyn. 651 00:26:33,460 --> 00:26:36,420 Yn y ffenestr isaf du a gwyn, yr wyf i'n mynd i fynd yn ei flaen 652 00:26:36,420 --> 00:26:37,890 ac ysgrifennu clang. 653 00:26:37,890 --> 00:26:40,130 Ac clang yw enw'r casglwr. 654 00:26:40,130 --> 00:26:43,310 Mae'n rhaglen sy'n trosi fy cod ffynhonnell 655 00:26:43,310 --> 00:26:48,770 i mewn i, felly, cod gwrthrych. 656 00:26:48,770 --> 00:26:51,270 0au ac 1, a welsom yn gyflym yr wythnos diwethaf. 657 00:26:51,270 --> 00:26:53,700 Dwyn i gof o wythnos diwethaf, rydym yn addo ein bod yn mynd i 658 00:26:53,700 --> 00:26:55,920 mynd o rywbeth fel hyn - angen i ni fod 659 00:26:55,920 --> 00:26:57,010 rhywbeth fel hyn - 660 00:26:57,010 --> 00:26:58,700 ac mae hyn nid yn sicr yn rhywbeth y mae pobl yn mynd 661 00:26:58,700 --> 00:26:59,690 i wneud â llaw. 662 00:26:59,690 --> 00:27:01,980 Felly, yn lle hynny rydym ni'n mynd i ddefnyddio rhaglen, a bod y rhaglen yn 663 00:27:01,980 --> 00:27:03,430 yr achos hwn gelwir Clang. 664 00:27:03,430 --> 00:27:06,020 Ac enw fy rhaglen yn hello.c. 665 00:27:06,020 --> 00:27:09,670 Felly, er mwyn llunio hello.c o cod ffynhonnell i mewn i 666 00:27:09,670 --> 00:27:12,930 cod gwrthrych, neu 0s a 1s, dylai fod yn ddigon i ychydig wneud 667 00:27:12,930 --> 00:27:14,820 hyn a daro Chofnoda. 668 00:27:14,820 --> 00:27:16,850 >> Iawn, dim byd yn ymddangos i fod wedi digwydd. 669 00:27:16,850 --> 00:27:20,450 Ond yr wyf yn gwybod yn awr, neu o wythnos diwethaf, fod enw diofyn o 670 00:27:20,450 --> 00:27:24,920 rhaglen, pan ysgrifennwyd yn C, a elwir ffôl a.out. 671 00:27:24,920 --> 00:27:26,610 Enw mwyaf anniddorol gallech ddod o hyd. 672 00:27:26,610 --> 00:27:28,790 A yw llythyren gyntaf y wyddor, allan yn yr hyn a oedd 673 00:27:28,790 --> 00:27:29,960 outputted, ond dyna ni. 674 00:27:29,960 --> 00:27:33,570 Mae hyn yn fy rhaglen, ac yn awr dot slaes, gan y byddwn yn gweld, yn 675 00:27:33,570 --> 00:27:36,170 mewn gwirionedd dim ond rhyw fath o nodwedd diogelwch, oherwydd 676 00:27:36,170 --> 00:27:38,250 a.out yn rhaglen ysgrifennais. 677 00:27:38,250 --> 00:27:39,650 Nid oedd yn dod gyda fy nghyfrifiadur, mae'n 678 00:27:39,650 --> 00:27:40,790 nid mewn Ffeiliau Rhaglen. 679 00:27:40,790 --> 00:27:42,910 Dyw hi ddim yn Mac OS ar geisiadau folder. 680 00:27:42,910 --> 00:27:45,740 Angen i mi fod yn eglur super gyda'r cyfrifiadur, ac yn dweud 681 00:27:45,740 --> 00:27:49,030 rhaglen hon, a.out, yn y ffolder ar hyn o bryd, mae'r 682 00:27:49,030 --> 00:27:50,260 cyfeiriadur cyfredol. 683 00:27:50,260 --> 00:27:53,160 A'r ffordd yr ydych yn cynrychioli hyn mewn amgylchedd fel hyn 684 00:27:53,160 --> 00:27:57,070 yn dot yn cynrychioli beth bynnag ffolder yr ydych ar hyn o bryd mewn 685 00:27:57,070 --> 00:27:59,420 Ac felly. / Yn unig yn golygu a.out rhedeg 686 00:27:59,420 --> 00:28:00,530 yn y ffolder ar hyn o bryd. 687 00:28:00,530 --> 00:28:04,830 Ac yr wyf yn rhedeg hyn gyda Mewnbynnu, a voila, fy rhaglen gyntaf. 688 00:28:04,830 --> 00:28:05,990 >> Nawr, gadewch i mi gymryd cam yn ôl. 689 00:28:05,990 --> 00:28:08,280 Mae'r ffenest yn ychydig yn fach, ac yn sylweddoli bod y gwaelod 690 00:28:08,280 --> 00:28:10,340 gadael y peiriant yma arall eicon. 691 00:28:10,340 --> 00:28:12,660 Mae un yn Chrome, a ddylai fod yn eithaf cyfarwydd, dim ond ar y we 692 00:28:12,660 --> 00:28:14,350 porwr tu mewn i'r offer. 693 00:28:14,350 --> 00:28:16,340 Ac mae hyn yn eicon du a gwyn yn unig yw 694 00:28:16,340 --> 00:28:17,720 ffenestr terfynell mwy. 695 00:28:17,720 --> 00:28:19,830 Felly, os yw'n cael blino llai i gadw trefn ar yr union 696 00:28:19,830 --> 00:28:22,270 y sleisen bach bach o ffenestr y mae i ryngweithio 697 00:28:22,270 --> 00:28:24,370 â rhaglenni, gallwn wneud hyn yn lle hynny. 698 00:28:24,370 --> 00:28:26,640 Ac yn awr gadewch i mi ddechrau teipio ychydig yn fuan 699 00:28:26,640 --> 00:28:27,980 i fod yn gorchmynion cyfarwydd. 700 00:28:27,980 --> 00:28:28,900 ls. 701 00:28:28,900 --> 00:28:31,410 Felly ls yw'r gorchymyn ar gyfer rhestru. 702 00:28:31,410 --> 00:28:33,900 Felly, mewn OS Mac neu Windows, byddech fel arfer dwbl-cliciwch ar un o'r 703 00:28:33,900 --> 00:28:36,510 ffolder ac yna, voila, byddwch yn gweld yr holl ffeiliau amrywiol 704 00:28:36,510 --> 00:28:37,210 a ffolderi. 705 00:28:37,210 --> 00:28:39,650 Mewn llinell gorchymyn amgylchedd, lle gallwch deipio 706 00:28:39,650 --> 00:28:42,390 gorchmynion neu destun, ls yn cyfateb. 707 00:28:42,390 --> 00:28:44,380 Felly, dangos i mi beth sydd yn y cyfeiriadur hwn. 708 00:28:44,380 --> 00:28:46,540 >> Nawr mae 'na griw o bethau yma mae hynny yn cynnwys ychydig 709 00:28:46,540 --> 00:28:48,190 cyfarwydd ac ychydig yn anghyfarwydd. 710 00:28:48,190 --> 00:28:50,740 Ond rhybudd bod yn union fel Windows a Mac OS, jharvard 711 00:28:50,740 --> 00:28:52,190 Mae ffolder n ben-desg. 712 00:28:52,190 --> 00:28:54,520 Felly unrhyw eiconau sydd ar fy n ben-desg yn digwydd 713 00:28:54,520 --> 00:28:55,650 i fod yn y ffolder. 714 00:28:55,650 --> 00:28:57,250 Mae 'na, ffolder llwytho i lawr pethau sy'n 715 00:28:57,250 --> 00:28:58,890 Efallai Chrome rhoi yno. 716 00:28:58,890 --> 00:28:59,250 Dropbox. 717 00:28:59,250 --> 00:29:01,820 Felly, yr offer yn dod gyda adeiledig yn cefnogaeth ar gyfer Dropbox 718 00:29:01,820 --> 00:29:04,500 fel bod dros y semester, gallwch cydamseru gyda'ch Dropbox 719 00:29:04,500 --> 00:29:06,420 hystyried fel bod eich holl raglenni yn cael eu cefnogi. 720 00:29:06,420 --> 00:29:08,050 Maent yn hygyrch ar eich cyfrifiadur arall. 721 00:29:08,050 --> 00:29:09,780 Os oes unrhyw beth byth yn mynd o'i le gyda'r offer, gallwch 722 00:29:09,780 --> 00:29:11,340 yn hawdd iawn dod dros Dropbox. 723 00:29:11,340 --> 00:29:12,940 Felly y ffolder yno am hynny. 724 00:29:12,940 --> 00:29:14,660 Mae dwy ffeil a wneuthum - hello.c 725 00:29:14,660 --> 00:29:16,540 a a.out. 726 00:29:16,540 --> 00:29:18,530 Ac yna i'r dde mae rhai ffolderi eraill y gallwn eich 727 00:29:18,530 --> 00:29:20,710 cyrraedd tuag at ddiwedd y semester, gyda ar y we 728 00:29:20,710 --> 00:29:21,540 rhaglennu. 729 00:29:21,540 --> 00:29:26,160 Felly, pan fyddaf yn ei wneud. /, A.out, Mewnbynnu, mae hynny'n dweud mynd 730 00:29:26,160 --> 00:29:29,460 yn y cyfeiriadur Im 'i mewn, y cyfeiriadur ar hyn o bryd, a rhedeg y 731 00:29:29,460 --> 00:29:32,465 raglen o'r enw a.out iawn yno. 732 00:29:32,465 --> 00:29:35,810 >> Mae pob hawl, felly dyna braf ac yn dda, ond nid yw'n bob un sy'n 733 00:29:35,810 --> 00:29:38,550 chymhellol i ysgrifennu rhaglen o'r enw helpu a.out. 734 00:29:38,550 --> 00:29:40,790 Felly gallwn ei wneud mewn gwirionedd hyn ychydig yn wahanol. 735 00:29:40,790 --> 00:29:43,980 Felly yn hytrach na dim ond clang rhedeg, hello.c, gadewch i ni ychwanegu 736 00:29:43,980 --> 00:29:46,850 hyn a elwir yn ymresymiad llinell orchymyn. 737 00:29:46,850 --> 00:29:50,730 Felly gorchymyn, ymresymiad llinell neu switsh yn yr achos hwn, dim ond 738 00:29:50,730 --> 00:29:54,930 arall gair neu ymadrodd yr ydych yn teipio ar brydlon ar ôl 739 00:29:54,930 --> 00:29:56,290 y rhaglen rydych am ei redeg. 740 00:29:56,290 --> 00:29:59,970 Felly, yn yr achos hwn, clang yw'r rhaglen yr wyf am redeg,-o 741 00:29:59,970 --> 00:30:03,480 allbwn golygu ffeil sydd wedi bellach o'r enw a.out. 742 00:30:03,480 --> 00:30:07,510 Allbwn ffeil o'r enw helo, a gwneud hynny drwy gasglu'r 743 00:30:07,510 --> 00:30:10,200 gair olaf ar y lein, hello.c. 744 00:30:10,200 --> 00:30:13,200 Felly, yn fyr, mae hyn yn welliant ymylol iawn, lle 745 00:30:13,200 --> 00:30:15,850 yn hytrach na cael y a.out ffeil o'r enw wirion, 746 00:30:15,850 --> 00:30:21,430 Gallaf ei wneud yn awr clang-o helo, ac yna hello.c, a 747 00:30:21,430 --> 00:30:22,530 yna pwyswch Enter. 748 00:30:22,530 --> 00:30:25,510 Nid oes dim yn ymddangos i ddigwydd, ond eto yn debyg iawn fel gyda 0 - pan 749 00:30:25,510 --> 00:30:28,510 dim byd yn ymddangos i ddigwydd yw hynny'n golygu dim o'i le yn digwydd - 750 00:30:28,510 --> 00:30:31,460 felly gadewch i ni wneud ls yn awr, Mewnbynnu, ac yn wir yr wyf yn awr 751 00:30:31,460 --> 00:30:32,780 gennym raglen helo. 752 00:30:32,780 --> 00:30:38,510 Felly, os wyf yn teipio helo yn awr, nid gorchymyn dod o hyd. 753 00:30:38,510 --> 00:30:39,440 OK,. /. 754 00:30:39,440 --> 00:30:40,220 Felly, yn union gywir. 755 00:30:40,220 --> 00:30:43,170 Felly, oherwydd bod y rhaglen hon ysgrifennais i, ac nid oedd yn dod â 756 00:30:43,170 --> 00:30:45,810 y cyfrifiadur,. / helo, Rhowch, yn golygu 757 00:30:45,810 --> 00:30:47,350 Rwyf nawr yn rhedeg helo. 758 00:30:47,350 --> 00:30:48,440 >> Felly dyna ni yno. 759 00:30:48,440 --> 00:30:51,070 Nawr yr hyn fydd yn y pen draw mynd i'r llinell orchymyn mwy a mwy o 760 00:30:51,070 --> 00:30:54,110 dadleuon sy'n caniatáu i ni wneud mwy, ond dim ond ar gyfer rhai ar gyfer 761 00:30:54,110 --> 00:30:57,760 y gallai hyn fod yn hen het, gadewch i mi mewn gwirionedd yn mynd i mewn i 762 00:30:57,760 --> 00:31:01,910 cyfeiriadur yma a dim ond yn rhoi teaser o sut arall rydym yn 763 00:31:01,910 --> 00:31:05,770 Gallai fynd ati i weithredu byd helo. 764 00:31:05,770 --> 00:31:10,730 Gadewch i mi fynd i mewn yma, a dw i'n mynd i'w agor. 765 00:31:10,730 --> 00:31:13,090 Felly, mewn gwirionedd, dw i'n mynd i esbonio hyn yr wyf i'n ei wneud, felly 766 00:31:13,090 --> 00:31:15,610 mae hyn yn ddefnyddiol. 767 00:31:15,610 --> 00:31:17,410 Gadewch i mi yn ôl i fyny. 768 00:31:17,410 --> 00:31:19,620 >> Felly, yr wyf wedi bod yn gwneud hyn yn amser hir. 769 00:31:19,620 --> 00:31:23,030 Felly sylwi drosodd ar y dde mae yna gwpl o 770 00:31:23,030 --> 00:31:26,940 cyfeirlyfrau sy'n cael eu henwi rhyfedd source1m a source1w. 771 00:31:26,940 --> 00:31:28,830 Mae hyn yn unig confensiwn wirion a ddefnyddiwn. 772 00:31:28,830 --> 00:31:31,825 Ffynhonnell unig yn golygu cod ffynhonnell, 1 yn golygu ei bod yn wythnos un, a 773 00:31:31,825 --> 00:31:34,000 m yn golygu ei bod yn ddydd Llun, ac w yn golygu ei fod yn ddydd Mercher. 774 00:31:34,000 --> 00:31:34,900 Felly, dim byd cryptig yno. 775 00:31:34,900 --> 00:31:37,830 Dim ond nodiant llaw-fer. 776 00:31:37,830 --> 00:31:39,860 Mae'r pethau hyn glas yn ffolderi, a elwir fel arall yn 777 00:31:39,860 --> 00:31:40,630 cyfeirlyfrau. 778 00:31:40,630 --> 00:31:43,870 Dw i eisiau mynd i mewn i'r ffolder yn awr, ac ar gyfrifiadur arferol 779 00:31:43,870 --> 00:31:45,710 Gallai Fi jyst dwbl-gliciwch ar eicon ffolder a 780 00:31:45,710 --> 00:31:46,810 mae fy holl ffeiliau. 781 00:31:46,810 --> 00:31:49,270 Ond mewn llinell orchymyn amgylchedd, ni allaf wneud 782 00:31:49,270 --> 00:31:52,640 hynny, felly yn lle, rhaid i mi newid cyfeirlyfrau llaw. 783 00:31:52,640 --> 00:31:57,900 Felly, os wyf yn teipio cd ac yna source1m, Mewnbynnu, yn sylwi bod 784 00:31:57,900 --> 00:32:01,180 fy brydlon, y peth mewn gwyn ar y chwith, newid yn unig. 785 00:32:01,180 --> 00:32:03,690 Ac felly yn wir, pan newydd ei ddweud cromfachau ac yna'r 786 00:32:03,690 --> 00:32:06,450 squiggle bach, y symbol tilde, mai dim ond yn golygu fy mod yn 787 00:32:06,450 --> 00:32:08,800 mewn cyfeiriadur cartref John Harvard, mae ei My Documents, 788 00:32:08,800 --> 00:32:10,390 ei ffeiliau personol. 789 00:32:10,390 --> 00:32:14,000 Ond yn awr mewn cromfachau mae'n ei ddweud ~ / source1m. 790 00:32:14,000 --> 00:32:17,090 Mae hyn yn unig golygu fy mod mewn ffolder o'r enw source1m 791 00:32:17,090 --> 00:32:19,160 dyna yn y cyfeiriadur cartref John Harvard yn. 792 00:32:19,160 --> 00:32:22,030 Felly os wyf yn awr am i gael rhestr y ffeiliau yn y ffolder hwn, hawdd 793 00:32:22,030 --> 00:32:25,300 cwestiwn, rwyf yn teipio yn unig ls. 794 00:32:25,300 --> 00:32:28,860 Ac yn awr yr wyf yn gweld yr holl ffeiliau a achubaf y-chreu ar gyfer heddiw 795 00:32:28,860 --> 00:32:31,020 ddarlith, pob un ohonynt, neu'r rhan fwyaf ohonynt, yn digwydd 796 00:32:31,020 --> 00:32:32,740 dod i ben yn. c. 797 00:32:32,740 --> 00:32:36,210 >> Felly, gadewch i mi fynd yn ei flaen yn awr ac yn rhedeg gedit o'r rhaglen o'r enw 798 00:32:36,210 --> 00:32:39,140 holloway.c, sy'n cael ei ysgrifennu gan rai haciwr ar hap 799 00:32:39,140 --> 00:32:42,920 ar y Rhyngrwyd, sy'n edrych ychydig fel hyn. 800 00:32:42,920 --> 00:32:44,880 Ac nid ydym yn mynd i fynd drwy'r un mewn unrhyw 801 00:32:44,880 --> 00:32:48,530 fanwl, ond i'r rhai yn fwy cyfforddus, yn benodol, os 802 00:32:48,530 --> 00:32:50,935 ydych am gymryd dyfalu ynghylch beth y rhaglen hon yn yma. 803 00:32:57,950 --> 00:32:59,990 Rest yn sicr, p'un a ydych yn llai neu fwy cyfforddus, 804 00:32:59,990 --> 00:33:01,655 Nid ydym yn hyd yn oed yn cyrraedd y math hwn o beth erbyn diwedd 805 00:33:01,655 --> 00:33:02,160 y semester hwn. 806 00:33:02,160 --> 00:33:05,390 Mae hyn yn beth enghraifft o gystadleuaeth C obfuscated, sy'n 807 00:33:05,390 --> 00:33:08,390 golygu ysgrifennu rhaglen mwyaf cryptig yn edrych i chi o bosibl 808 00:33:08,390 --> 00:33:10,820 Gall gwneud yn well na'r pobl smart eraill, sydd yn yr un modd 809 00:33:10,820 --> 00:33:13,010 ceisio ysgrifennu pethau a dangos eu bod yn gallu ysgrifennu 810 00:33:13,010 --> 00:33:14,280 mwy o bethau cryptic na chi. 811 00:33:14,280 --> 00:33:17,290 Felly, nid yw hyn yn enghraifft o raglen wedi'i ysgrifennu'n dda gan y 812 00:33:17,290 --> 00:33:21,260 safbwynt arddull, mae hyn yn enghraifft o raglen sy'n 813 00:33:21,260 --> 00:33:22,860 yn ennill cystadleuaeth, i bobl sy'n ceisio 814 00:33:22,860 --> 00:33:24,090 fod yn amwys a haniaethol. 815 00:33:24,090 --> 00:33:27,670 >> Felly, os byddwn yn rhedeg y peth hyn, gadewch i mi fynd i mewn i fy ffenestr terfynell, 816 00:33:27,670 --> 00:33:28,110 felly, i siarad. 817 00:33:28,110 --> 00:33:29,650 Felly, yr amgylchedd du a gwyn a elwir yn 818 00:33:29,650 --> 00:33:31,160 ffenestr terfynell yn gyffredinol. 819 00:33:31,160 --> 00:33:32,600 Gadewch i mi fynd yn ei flaen ac yn llunio ei. 820 00:33:32,600 --> 00:33:34,440 Dydw i ddim yn mynd i ddefnyddio clang, gan fod y rhaglen hon yn 821 00:33:34,440 --> 00:33:36,340 ychydig yn cryptic ac mae angen gwahanol 822 00:33:36,340 --> 00:33:38,190 compiler, un o'r enw Cyngor Gwynedd. 823 00:33:38,190 --> 00:33:39,200 Ond mae'n gwneud yr un peth. 824 00:33:39,200 --> 00:33:41,130 Mae'n cymryd cod ffynhonnell i cod gwrthrych. 825 00:33:41,130 --> 00:33:43,940 Ac yn awr os byddaf yn rhedeg a.out, y rhaglen honno i chi 826 00:33:43,940 --> 00:33:46,065 jyst yn gweld yn gwneud hyn. 827 00:33:49,220 --> 00:33:51,170 Er mwyn cyd-y flwyddyn honno enillodd y gystadleuaeth. 828 00:33:51,170 --> 00:33:54,020 Anyhow, nid ydym yn mynd i'r cyfeiriad hwnnw, fel y cyfryw. 829 00:33:54,020 --> 00:33:57,400 >> Felly, gadewch i ni fynd ati i geisio canfod yn awr ar wahân yr hyn y gallwn ei wneud 830 00:33:57,400 --> 00:33:59,540 gyda'r blociau adeiladu sylfaenol i wneud mwy a mwy o 831 00:33:59,540 --> 00:34:00,590 rhaglenni diddorol. 832 00:34:00,590 --> 00:34:02,800 Felly rydym wedi ysgrifennu rhaglen, rydym wedi cynnal rhaglen. 833 00:34:02,800 --> 00:34:05,780 Nawr gallwn mewn gwirionedd yn symleiddio ac nid oes rhaid i chi ysgrifennu 834 00:34:05,780 --> 00:34:07,210 y clang gair wrth yr anogwr. 835 00:34:07,210 --> 00:34:10,710 Mae'n troi allan fel ein rhaglenni yn cael mwy cryptic, gallwn, neu 836 00:34:10,710 --> 00:34:14,699 yn fwy cymhleth yn hytrach, gallwn mewn gwirionedd hidla hon archa. 837 00:34:14,699 --> 00:34:17,610 Felly, gadewch i mi fynd yn ôl at fy cyfeiriadur cartref, fel petai, gadewch i mi 838 00:34:17,610 --> 00:34:20,750 dynnu - rm yw'r gorchymyn remove - I'm mynd i ddileu 839 00:34:20,750 --> 00:34:23,060 y ffeil o'r enw a.out a helo. 840 00:34:23,060 --> 00:34:25,489 Ac yn awr sylwi mewn llinell orchymyn yr amgylchedd, yn debyg iawn mewn 841 00:34:25,489 --> 00:34:27,800 a GUI, rydych yn cael eu hannog. Ni allaf glicio botwm er; I 842 00:34:27,800 --> 00:34:31,040 rhaid i deipio y ar gyfer ie, y ar gyfer ie. 843 00:34:31,040 --> 00:34:33,460 Ac yn awr os byddaf yn teipio ls eto, hysbysiad bod y rhai gwyrdd 844 00:34:33,460 --> 00:34:35,469 rhaglenni - a.out a helo - 845 00:34:35,469 --> 00:34:35,734 yn mynd. 846 00:34:35,734 --> 00:34:37,340 Gwyliwch rhag rm. 847 00:34:37,340 --> 00:34:39,739 Gall wneud pethau drwg, yn union fel y gallwch drwy lusgo 848 00:34:39,739 --> 00:34:40,810 pethau i'ch sbwriel. 849 00:34:40,810 --> 00:34:43,989 >> Felly nawr gadewch i ni fynd ymlaen - a gallwn wneud hyn - clang-o 850 00:34:43,989 --> 00:34:45,139 helo, helo - 851 00:34:45,139 --> 00:34:46,884 Rwyf wedi diflasu yn barod teipio y gorchymyn. 852 00:34:46,884 --> 00:34:48,080 Hyd yn oed er fy mod yn ei deipio ychydig yn gyflym. 853 00:34:48,080 --> 00:34:51,870 Felly gallwn yn lle hynny yn gwneud helo. 854 00:34:51,870 --> 00:34:53,880 Felly, nid yw gwneud yn compiler. 855 00:34:53,880 --> 00:34:57,720 Mae'n dim ond rhaglen gyfeillgar a ddaw gyda Linux, yn y 856 00:34:57,720 --> 00:34:59,070 achos - y system weithredu - 857 00:34:59,070 --> 00:35:02,480 sy'n awtomeiddio'r broses o lunio rhaglenni. 858 00:35:02,480 --> 00:35:05,555 Felly, yn lle cofio clang-o enw'r ffeil a'r 859 00:35:05,555 --> 00:35:08,190 wedyn yn y blaen, yn enwedig unwaith y bydd y llinellau mynd yn hirach ac yn 860 00:35:08,190 --> 00:35:10,110 hirach, gallaf ysgrifennu eu gwneud. 861 00:35:10,110 --> 00:35:12,030 Ac mae hyn yn mynd i boeri allan criw cyfan o bethau y 862 00:35:12,030 --> 00:35:13,940 byddwn yn gweld hyn yn y pen draw semester. 863 00:35:13,940 --> 00:35:17,500 Ond sylwi nawr os ls math I, helo yn ôl yn fy cyfeiriadur. 864 00:35:17,500 --> 00:35:19,850 Ac yn wir y gall Rwy'n rhedeg i ag. / Helo. 865 00:35:19,850 --> 00:35:23,330 Felly gwnewch yn unig awtomeiddio'r broses o redeg yr hyn a oedd, 866 00:35:23,330 --> 00:35:26,910 yn yr achos hwn, mae llawer mwy o amser, gorchymyn yn fwy cymhleth. 867 00:35:26,910 --> 00:35:29,060 Felly, rydym yn mynd i ddechrau defnyddio gwneuthuriad, dim ond oherwydd ei fod yn llawer 868 00:35:29,060 --> 00:35:30,530 yn fwy cyfeillgar i'r defnyddiwr. 869 00:35:30,530 --> 00:35:32,770 >> Ond yn awr, gadewch i ni wneud rhaglen fwy diddorol 870 00:35:32,770 --> 00:35:34,650 na dim ond dweud helo. 871 00:35:34,650 --> 00:35:38,680 Felly, yn y rhaglenni rydym wedi ysgrifennu hyd yn hyn mae prif. 872 00:35:38,680 --> 00:35:40,890 Dyna dim ond y peth diofyn sy'n dod i rym popeth i ffwrdd. 873 00:35:40,890 --> 00:35:43,340 Ond mae yna swyddogaethau eraill ar gael hefyd, ac 874 00:35:43,340 --> 00:35:45,890 stdio.h yw'r peth a welsom ar frig ein 875 00:35:45,890 --> 00:35:48,480 ffeil o'r blaen, a dyna beth a elwir yn y llyfrgell safonol. 876 00:35:48,480 --> 00:35:51,300 Y tu mewn y llyfrgell safonol yn criw cyfan o swyddogaethau 877 00:35:51,300 --> 00:35:53,850 Ysgrifennodd y mae rhywun arall, a gallwn ddechrau defnyddio'r rhain 878 00:35:53,850 --> 00:35:55,050 swyddogaethau i ysgrifennu mwy 879 00:35:55,050 --> 00:35:56,760 rhaglenni diddorol ein hunain. 880 00:35:56,760 --> 00:35:58,370 >> Felly, gadewch i mi fynd yn ôl i'r ddyfais. 881 00:35:58,370 --> 00:35:59,820 Rydw i'n mynd i gau'r ffenestr hon terfynol. 882 00:35:59,820 --> 00:36:02,630 Rydw i'n mynd i gau y pethau yr ydym ysgrifennais yn gynharach, a dim ond yn mynd 883 00:36:02,630 --> 00:36:07,350 i mewn i hello.c, ac yn sylwi nawr gallaf wneud y canlynol. 884 00:36:07,350 --> 00:36:09,730 Nid Helo byd yw'r cyfan sydd ddiddorol; Hoffwn i 885 00:36:09,730 --> 00:36:11,770 bersonoli rhaglen hon ar gyfer fy hun. 886 00:36:11,770 --> 00:36:13,440 Felly, yn hytrach na dweud byd, yr wyf i'n mynd i 887 00:36:13,440 --> 00:36:14,830 mynd yn ei flaen a dweud - 888 00:36:14,830 --> 00:36:16,880 Gallwn i deipio David - ond mae hyn yn wir yn fath o 889 00:36:16,880 --> 00:36:18,050 sylfaenol yr un fath. 890 00:36:18,050 --> 00:36:19,970 Ond gadewch i ni roi cynnig ar y syniad dalfan. 891 00:36:19,970 --> 00:36:24,460 Dwyn i gof bod yn C, yn hytrach yn printf, rydym yn cael y rhain 892 00:36:24,460 --> 00:36:28,110 bachau, ac mae mwy na% d yn unig. 893 00:36:28,110 --> 00:36:31,150 Felly,% oedd d, gwiriad pwyll gyflym. 894 00:36:31,150 --> 00:36:32,310 Iawn, rhif degol, dyna ni. 895 00:36:32,310 --> 00:36:33,860 Digidau Degol, dyna i gyd. 896 00:36:33,860 --> 00:36:37,755 Felly c%, gan y byddwn yn dod ar eu traws, yn mynd i fod yn gymeriad. 897 00:36:37,755 --> 00:36:40,530 Rhowch gymeriad yma, llythyr drwy z, 898 00:36:40,530 --> 00:36:41,600 symbol atalnodi neu. 899 00:36:41,600 --> 00:36:45,590 Mae cymeriad unigol, f%, unrhyw un yn gwybod o ieithoedd eraill? 900 00:36:45,590 --> 00:36:47,020 Felly, mae Gwerth pwynt arnawf. 901 00:36:47,020 --> 00:36:47,880 Mae nifer go iawn. 902 00:36:47,880 --> 00:36:51,550 Felly nid rhif degol - mae hyn mewn gwirionedd mae nifer go iawn gyda 903 00:36:51,550 --> 00:36:54,130 pwynt degol, ac mae rhai nifer o ddigidau ar y chwith 904 00:36:54,130 --> 00:36:55,520 ac i'r dde ohono. 905 00:36:55,520 --> 00:36:58,060 % S, llinyn. 906 00:36:58,060 --> 00:36:59,530 Dyna un yr ydym yn mynd i weld yn eithaf aml. 907 00:36:59,530 --> 00:37:02,140 Mae llinyn, unwaith eto, yn unig yw gair, ymadrodd, cyfres o 908 00:37:02,140 --> 00:37:03,330 cymeriadau unigol. 909 00:37:03,330 --> 00:37:06,730 Ac yn olaf, LLD? 910 00:37:06,730 --> 00:37:08,210 Felly, mae hyn yn fwy o achos cornel. 911 00:37:08,210 --> 00:37:09,850 Long, degol hir. 912 00:37:09,850 --> 00:37:12,035 Felly os nad ydych eisiau dim ond rhif sy'n ydyn nhw fawr, byddwch yn 913 00:37:12,035 --> 00:37:14,160 am gael rhif fwy, rydych chi'n mynd i gael i nodi i 914 00:37:14,160 --> 00:37:16,400 y cyfrifiadur ei fod o faint penodol. 915 00:37:16,400 --> 00:37:17,610 >> Felly, gadewch i tweak y darn ychydig. 916 00:37:17,610 --> 00:37:20,610 Yn hytrach na dim ond cod caled yn David, gadewch i mi ychydig yn 917 00:37:20,610 --> 00:37:22,460 ddynamig ddweud% s. 918 00:37:22,460 --> 00:37:25,790 Felly, yn rhoi% s yma, sydd yn dalfan ar gyfer llinyn. 919 00:37:25,790 --> 00:37:30,500 Yna gadewch i mi wneud coma, ac yna "David" dros yma. 920 00:37:30,500 --> 00:37:32,770 Nawr nid yw hyn yw'r cyfan sydd ddeallusol ddiddorol, 921 00:37:32,770 --> 00:37:35,060 gan fod yr holl Rydw i wedi wneud yn awr yn wir yn creu mwy o waith i 922 00:37:35,060 --> 00:37:35,790 y cyfrifiadur. 923 00:37:35,790 --> 00:37:39,660 Yn hytrach na dweud wrth y cyfrifiadur yn gwneud hyn i gyd ar unwaith, rwy'n awr yn 924 00:37:39,660 --> 00:37:43,760 ddweud yn gwneud hyn ac yn mewnosod llinyn yma yn y pen draw, coma, 925 00:37:43,760 --> 00:37:44,950 yma yw bod llinyn. 926 00:37:44,950 --> 00:37:47,220 Felly, nid yw hyn yn welliant well, ond mae'n leiaf 927 00:37:47,220 --> 00:37:49,010 yn gam tuag at raglen fwy diddorol. 928 00:37:49,010 --> 00:37:51,240 Oherwydd yn awr, gadewch i mi fynd yn ei flaen ac yn gwneud y ffenestr hon ychydig yn 929 00:37:51,240 --> 00:37:56,850 mwy, gadewch i mi fynd yn ei flaen ac yn rhedeg yn gwneud helo. 930 00:37:56,850 --> 00:38:01,340 Ac yn awr,. / Ddim a.out yn gweithio, pam? 931 00:38:03,880 --> 00:38:05,570 Mae pob hawl, erbyn hyn fe'i gelwir helo. 932 00:38:05,570 --> 00:38:09,400 Felly, unwaith eto yn gwneud, a hefyd clang gyda o-, ailenwyd y 933 00:38:09,400 --> 00:38:11,120 rhaglen i fod yn rhywbeth mwy diddorol. 934 00:38:11,120 --> 00:38:13,060 A voila: yn awr y mae'n ei ddweud helo David. 935 00:38:13,060 --> 00:38:14,590 >> Mae pob hawl, dal i fod yn rhaglen dwp. 936 00:38:14,590 --> 00:38:18,070 Felly nawr gadewch i ni mewn gwirionedd yn mynd yn ôl yma a chyflwyno'r syniad 937 00:38:18,070 --> 00:38:18,810 o amrywiol. 938 00:38:18,810 --> 00:38:21,600 Oni fyddai'n braf pe gallwn ddatgan newidyn 939 00:38:21,600 --> 00:38:23,150 mae ei fath yn llinyn? 940 00:38:23,150 --> 00:38:26,720 Ac gwerth y newidyn yn mewn gwirionedd yn dod oddi wrth y defnyddiwr 941 00:38:26,720 --> 00:38:27,810 ef neu hi ei hun. 942 00:38:27,810 --> 00:38:30,240 Felly fympwyol, dw i'n mynd i alw fy s amrywiol, sydd yn 943 00:38:30,240 --> 00:38:32,410 dim ond confensiwn cyffredin pan fydd gennych un newidyn a elwir yn 944 00:38:32,410 --> 00:38:33,250 y llinyn. 945 00:38:33,250 --> 00:38:35,670 Rydw i'n mynd i wneud arwydd cyfartal, ac yna yr wyf i'n mynd i alw 946 00:38:35,670 --> 00:38:38,030 swyddogaeth a elwir yn GetString. 947 00:38:38,030 --> 00:38:40,830 Felly, nid GetString yn rhywbeth sy'n ddaw hadeiladu i mewn C. Mae'n 948 00:38:40,830 --> 00:38:43,330 swyddogaeth a ysgrifennodd y staff CS50, mewn gwirionedd yn unig ar gyfer 949 00:38:43,330 --> 00:38:45,670 rhain yn ychydig wythnosau cyntaf, i symleiddio'r broses o 950 00:38:45,670 --> 00:38:49,450 cael mewnbwn defnyddwyr a chael mewnbwn defnyddwyr yn y ffurflen 951 00:38:49,450 --> 00:38:51,960 o linynnau, neu rifau, ac o'r fath. 952 00:38:51,960 --> 00:38:55,520 Felly GetString yn debyg printf, ond yn amlwg yn hytrach nag 953 00:38:55,520 --> 00:38:58,700 argraffu mae'n mynd i wneud beth oedd ei enw yn dweud, yn cael llinyn. 954 00:38:58,700 --> 00:39:00,970 Ond i ddefnyddio GetString, rydym yn mynd i gael i wneud newid 955 00:39:00,970 --> 00:39:03,180 yma, tu hwnt i hyn. 956 00:39:03,180 --> 00:39:07,170 Felly, yn reddfol, mae'r rhaglen hon, gobeithio, yn mynd i rhywsut 957 00:39:07,170 --> 00:39:09,700 cael llinyn gan y defnyddiwr, ac yna beth rwyt ti'n mynd i'w wneud 958 00:39:09,700 --> 00:39:11,460 gyda'r llinyn, a elwir yn s? 959 00:39:15,060 --> 00:39:16,470 Mae'n jyst yn mynd i argraffu, dde? 960 00:39:16,470 --> 00:39:18,870 Still nad yw rhaglen ysgogol gan fod yr holl mae'n mynd 961 00:39:18,870 --> 00:39:22,160 ei wneud yw plwg yn y gwerth i ble% s 962 00:39:22,160 --> 00:39:23,750 yn dweud y dylai fynd. 963 00:39:23,750 --> 00:39:25,290 >> Felly, gadewch i ni o leiaf yn gweld hyn ar waith. 964 00:39:25,290 --> 00:39:27,040 Gadewch i mi arbed a chwyddo allan. 965 00:39:27,040 --> 00:39:30,280 Nawr yn fy ffenestr terfynell i lawr yma, y ​​dafell bach o un, 966 00:39:30,280 --> 00:39:32,760 gadewch i mi unwaith eto yn gwneud helo. 967 00:39:32,760 --> 00:39:35,160 Iawn, ac AH, damn; cefais criw cyfan o wallau. 968 00:39:35,160 --> 00:39:38,020 Gadewch i mi sgrolio i fyny, ac rydym yn gweld ein gyntaf - 969 00:39:38,020 --> 00:39:40,430 felly gadewch i ni mewn gwirionedd yn gwneud hyn mewn ffenestr hyd yn oed yn fwy er mwyn i chi 970 00:39:40,430 --> 00:39:42,110 gallu gweld pa mor wael yr wyf sgriwio i fyny - 971 00:39:42,110 --> 00:39:44,460 felly gwnewch helo. 972 00:39:44,460 --> 00:39:46,540 Iawn, mae hynny'n drychineb, dde? 973 00:39:46,540 --> 00:39:48,740 Yr wyf wedi ysgrifennu tair llinell o god, ac 974 00:39:48,740 --> 00:39:50,070 mae wedi rhoi i mi 12 gwallau. 975 00:39:50,070 --> 00:39:51,980 Felly, pam mae hyn? 976 00:39:51,980 --> 00:39:55,720 Felly, yn ffodus, oftentimes pan fyddwch yn gweld llawer, llawer o gamgymeriadau 977 00:39:55,720 --> 00:39:57,730 poeri allan ar unwaith, mae'n wirioneddol dim ond oherwydd ydych wedi 978 00:39:57,730 --> 00:39:59,760 drysu y cyfrifiadur yma. 979 00:39:59,760 --> 00:40:02,330 Ac mae'n dal drysu gan yr amser y mae'n mynd i lawr yma. 980 00:40:02,330 --> 00:40:04,400 Ac felly 'i jyst yn dechrau baglu, ac yn baglu, ac 981 00:40:04,400 --> 00:40:07,310 poeri allan yn fwy bethau brawychus nag mewn gwirionedd yn berthnasol. 982 00:40:07,310 --> 00:40:10,120 Felly, yn gyffredinol, bob amser yn dechrau â'r un uchaf. 983 00:40:10,120 --> 00:40:13,320 >> Felly, y lle iawn uchaf y rhan fwyaf o goch, y 984 00:40:13,320 --> 00:40:14,740 neges gwall yw hwn. 985 00:40:14,740 --> 00:40:17,750 Defnyddio llinyn dynodwr heb ei ddatgan, wnes i 986 00:40:17,750 --> 00:40:19,160 olygu safon i mewn? 987 00:40:19,160 --> 00:40:19,900 Wnes i ddim. 988 00:40:19,900 --> 00:40:24,180 Rwyf yn golygu llinyn, ond mae hyn oherwydd, hefyd, y llinyn gair 989 00:40:24,180 --> 00:40:26,020 fy mod yn parhau i ddefnyddio'r lafar mewn gwirionedd 990 00:40:26,020 --> 00:40:27,240 yn bodoli yn C chwaith. 991 00:40:27,240 --> 00:40:29,470 Mae'n rhywbeth y byddwn yn eu defnyddio yn unig ar gyfer yr wythnos gyntaf neu ddwy 992 00:40:29,470 --> 00:40:34,500 yma, ond mae'n bodoli mewn ffeil o'r enw cs50.h. 993 00:40:34,500 --> 00:40:37,110 Felly, ar hyn o bryd, yn gwybod bod yna llyfrgell hon eraill y mae'r 994 00:40:37,110 --> 00:40:39,330 Ysgrifennodd staff, felly mae'n cael ei ysgrifennu yn fwy diweddar na 995 00:40:39,330 --> 00:40:40,510 stdio.h. 996 00:40:40,510 --> 00:40:45,020 Ond y tu mewn o cs50.h yn ddiffiniad, yn gyfystyr o 997 00:40:45,020 --> 00:40:48,310 fath, sy'n creu llinyn yma gair. 998 00:40:48,310 --> 00:40:50,890 >> Felly nawr gadewch i mi fynd yn ôl at fy ffenestr terfynell. 999 00:40:50,890 --> 00:40:53,200 Rydw i'n mynd i glirio'r llanast cyfan gan Ctrl-L. Gallwn eich unig 1000 00:40:53,200 --> 00:40:55,700 sychu popeth yn lân, ac yr wyf i'n mynd i fynd yn ei flaen ac yn gwneud 1001 00:40:55,700 --> 00:40:57,860 helo eto, Enter. 1002 00:40:57,860 --> 00:40:59,440 Felly beth sydd wedi digwydd nawr? 1003 00:40:59,440 --> 00:41:01,150 Nawr pob un o'r gwallau hynny aeth i ffwrdd. 1004 00:41:01,150 --> 00:41:02,230 Felly beth rwyf wedi ei wneud mewn gwirionedd? 1005 00:41:02,230 --> 00:41:05,920 Rydw i wedi dysgu dim ond y cyfrifiadur y llinyn yn bodoli, ac mae'n 1006 00:41:05,920 --> 00:41:07,890 yn y ffeil o'r enw cs50.h. 1007 00:41:07,890 --> 00:41:10,930 Felly rhoi'r gorau i gwyno, oherwydd yn awr eich bod yn gwybod ble i ddod o hyd i 1008 00:41:10,930 --> 00:41:13,220 datganiad y swyddogaeth honno fel eu siarad. 1009 00:41:13,220 --> 00:41:15,200 Lle mae'n bodoli yn y byd. 1010 00:41:15,200 --> 00:41:18,820 >> Felly nawr rwy'n mynd i fynd yn ei flaen ac yn rhedeg helo. 1011 00:41:18,820 --> 00:41:22,300 Yr wyf yn ymddangos i gael dolen ddiddiwedd, dim byd yn digwydd yn. 1012 00:41:25,530 --> 00:41:26,870 Felly, mae angen i mi deipio rhywbeth yma, ar y dde. 1013 00:41:26,870 --> 00:41:29,650 Mae'r llinell gyntaf y cod yn fy rhaglen GetString. 1014 00:41:29,650 --> 00:41:31,750 Felly, mae'n llythrennol yn aros i mi gael llinyn. 1015 00:41:31,750 --> 00:41:33,680 Felly, yn yr ystyr hwnnw ie, mae'n dolen ddiddiwedd. 1016 00:41:33,680 --> 00:41:36,520 Mae'n debyg yn GetString yw ymddygiad diofyn ein bod yn 1017 00:41:36,520 --> 00:41:37,510 Ysgrifennodd - y staff - 1018 00:41:37,510 --> 00:41:39,550 mai dim ond yn dweud aros ac aros ac aros ac aros ac aros, 1019 00:41:39,550 --> 00:41:42,550 nes bod y defnyddiwr yn rhoi llinyn trwy deipio rhywbeth i mewn 1020 00:41:42,550 --> 00:41:46,000 Felly, gadewch i mi fynd yn ei flaen a theipiwch D-a-v - i-d, Enter. 1021 00:41:46,000 --> 00:41:47,420 Ac yno y mae hi, helo David. 1022 00:41:47,420 --> 00:41:50,430 >> Nawr mae hyn yn ymddangos fel mai dim ond gweithred? 1023 00:41:50,430 --> 00:41:52,810 Gadewch i mi fynd yn ei flaen a theipiwch yn Tommy. 1024 00:41:52,810 --> 00:41:54,740 Mewnbynnu, iawn, ymddengys ei fod yn gweithio. 1025 00:41:54,740 --> 00:41:59,130 Gwaith i Rob, sy'n gweithio i Zamyla, yn gweithio ar gyfer - iawn. 1026 00:41:59,130 --> 00:42:01,000 Felly, mae'n mynd i weithio, yn fwyaf tebygol. 1027 00:42:01,000 --> 00:42:05,030 Felly, dylai argraffu beth bynnag yr ydym mewn gwirionedd yn ei roi, 1028 00:42:05,030 --> 00:42:07,830 a gallwn fod ychydig yn anodd yma. 1029 00:42:07,830 --> 00:42:12,130 Gadewch i ni weld os ydym yn gwneud rhywbeth fel helo. 1030 00:42:12,130 --> 00:42:18,000 A all fynd dros yma, gadewch i ni weld, copi, past. 1031 00:42:18,000 --> 00:42:19,950 Dydw i ddim yn mynd i fod yn gallu bastio hynny droeon yma. 1032 00:42:19,950 --> 00:42:24,410 Gludo, iawn, Shift + Ctrl + V. Felly, yr hyn y gallai 1033 00:42:24,410 --> 00:42:26,970 digwydd sy'n ddrwg yma? 1034 00:42:26,970 --> 00:42:27,770 >> Iawn, felly, segfaults. 1035 00:42:27,770 --> 00:42:29,710 Felly, bydd rhai ohonoch sydd â chefndiroedd blaenorol yn gwybod bod 1036 00:42:29,710 --> 00:42:32,710 yn gyffredinol, gan roi cyfrifiaduron llawer o fewnbynnau pan fyddant yn 1037 00:42:32,710 --> 00:42:36,140 yn ôl pob tebyg ni fwriedir iddynt dderbyn enwau hir fel hyn - drwg 1038 00:42:36,140 --> 00:42:36,740 i bethau ddigwydd. 1039 00:42:36,740 --> 00:42:39,230 Yn wir, yn y byd y we, hefyd, bydd hyn yn digwydd gryn dipyn, 1040 00:42:39,230 --> 00:42:41,000 lle pan fyddwch yn dylunio gwefan, pan fyddwch yn 1041 00:42:41,000 --> 00:42:43,850 dylunio Facebook, rhaid i chi wneud penderfyniadau mympwyol i fyny 1042 00:42:43,850 --> 00:42:45,370 blaen, fel pa mor hir y bydd rhywun 1043 00:42:45,370 --> 00:42:46,360 Facebook enw defnyddiwr fod yn? 1044 00:42:46,360 --> 00:42:48,050 Neu pa mor hir fydd enw rhywun gyntaf? 1045 00:42:48,050 --> 00:42:50,110 Pa mor hir fydd rhif ffôn rhywun fod yn ac yn y blaen. 1046 00:42:50,110 --> 00:42:53,580 Ac os rhaglenwyr gwneud rhagdybiaethau drwg, rhaglenni torri 1047 00:42:53,580 --> 00:42:56,640 oherwydd eich bod yn ceisio rhoi mwy o allbwn, mwy o fewnbwn 1048 00:42:56,640 --> 00:42:58,330 yn hytrach, nag sydd ganddynt cof. 1049 00:42:58,330 --> 00:43:01,860 Neu RAM a ddyrannwyd ar ei gyfer, ac felly os cefais yn awr daro Enter, 1050 00:43:01,860 --> 00:43:04,640 y rhaglen yn gweithio mewn gwirionedd, oherwydd ein bod yn y llyfrgell 1051 00:43:04,640 --> 00:43:06,790 ac rydym mewn gwirionedd yn disgwyl yr achos arbennig hwn. 1052 00:43:06,790 --> 00:43:10,900 Ond heb os y semester hwn, byddwch yn ysgrifennu o leiaf un 1053 00:43:10,900 --> 00:43:13,280 rhaglen a fydd yn dweud y geiriau hyn. 1054 00:43:13,280 --> 00:43:16,520 Cofiwch hyn wythnosau o hyn, efallai dau ddiwrnod o hyn. 1055 00:43:16,520 --> 00:43:18,760 Wall yn beth drwg. 1056 00:43:18,760 --> 00:43:21,920 Bydd yn cyfeirio at eich gwneud rhywbeth bod y cyfrifiadur 1057 00:43:21,920 --> 00:43:23,310 nid oedd yn rhagweld. 1058 00:43:23,310 --> 00:43:25,810 Ac yn yr achos hwnnw, gallwch chi, rhaglennydd, nid oedd yn rhagweld. 1059 00:43:25,810 --> 00:43:27,720 Mae llawer yn hoffi beth mae hyn yn pentwr o sanau, roedd amryw o 1060 00:43:27,720 --> 00:43:29,520 achosion cornel gallem fod wedi dod ar eu traws. 1061 00:43:29,520 --> 00:43:32,340 Yn yr un modd mewn rhaglenni os nad ydych yn rhagweld faint o amser yn 1062 00:43:32,340 --> 00:43:33,310 enw rhywun yn mynd i fod. 1063 00:43:33,310 --> 00:43:35,890 Neu beth os oes gen i ddefnyddiwr maleisus, a'i enw i yw 1064 00:43:35,890 --> 00:43:37,230 mewn gwirionedd yn eithaf byr, ond maen nhw jyst yn ceisio 1065 00:43:37,230 --> 00:43:37,960 i llanast gyda mi? 1066 00:43:37,960 --> 00:43:40,490 Beth sy'n mynd i fod yn ymddygiad fy rhaglen? 1067 00:43:40,490 --> 00:43:43,930 Wel, yn yr achos hwnnw, gallai rhywbeth mewn gwirionedd yn damwain. 1068 00:43:43,930 --> 00:43:44,750 >> Felly, gadewch i ni wneud hyn. 1069 00:43:44,750 --> 00:43:46,860 Mewn 90 munud, mae hwn yn ofnadwy o hir amdano 1070 00:43:46,860 --> 00:43:47,780 i wneud gwyddoniaeth gyfrifiadurol. 1071 00:43:47,780 --> 00:43:49,550 Pam nad ydym yn mynd i'r arfer o gymryd pum munud 1072 00:43:49,550 --> 00:43:51,520 torri yma, a phan fyddwn yn dod yn ôl, byddwn yn plymio i mewn i rai 1073 00:43:51,520 --> 00:43:53,430 rhaglenni mwy cymhleth a chymhellol? 1074 00:43:53,430 --> 00:43:54,680 Pum munud. 1075 00:43:56,910 --> 00:43:58,160 >> Mae pob hawl. 1076 00:44:01,138 --> 00:44:02,780 Felly, un sylw cyflym. 1077 00:44:02,780 --> 00:44:05,590 Dywedir wrthyf fod er bod hyn oedd ar y sgrîn cyn, beth 1078 00:44:05,590 --> 00:44:08,880 ddaeth allan o fy ngheg yn cs50.net/rsvp. 1079 00:44:08,880 --> 00:44:11,670 Mae hyn yn gywir. cs50.net/lunch. 1080 00:44:11,670 --> 00:44:16,030 Felly nawr gallwch roi cynnig RSVPing ar gyfer hyn ar / cinio. 1081 00:44:16,030 --> 00:44:16,980 Ond gadewch i ni wneud hyn yn awr. 1082 00:44:16,980 --> 00:44:20,150 Felly, mae hyn wedi bod yn super gyflym, super newydd ar gyfer llawer o Folks. 1083 00:44:20,150 --> 00:44:21,560 Hen het ar gyfer rhai Folks. 1084 00:44:21,560 --> 00:44:24,930 Felly, gadewch i ailddirwyn am ddim ond ennyd, a gweld sut y cawsom ein 1085 00:44:24,930 --> 00:44:29,350 yr allbwn y byd helo dim ond funud yn ôl. 1086 00:44:29,350 --> 00:44:31,780 >> Felly, yn gyntaf, mae hyn Offer CS50. 1087 00:44:31,780 --> 00:44:34,270 Unwaith eto, darn o, problem meddalwedd osod 1 yn mynd i ddweud wrth 1088 00:44:34,270 --> 00:44:36,610 i chi sut i lawrlwytho, lle i lwytho i lawr, beth i glicio 1089 00:44:36,610 --> 00:44:37,430 ac yn y blaen. 1090 00:44:37,430 --> 00:44:39,670 Ac yna ar ôl i chi ddilyn y cyfarwyddiadau, byddwch yn gallu 1091 00:44:39,670 --> 00:44:42,840 i wneud y gorau eich ffenestr, a bydd eich Mac neu PC edrych yn 1092 00:44:42,840 --> 00:44:43,910 rhywbeth bach fel hyn. 1093 00:44:43,910 --> 00:44:47,170 Mae cefndir du, blygell gartref ar y brig lle mae pob 1094 00:44:47,170 --> 00:44:49,850 eich ffeiliau yn mynd, a sbwriel yn gallu ar yr ochr chwith uchaf, 1095 00:44:49,850 --> 00:44:51,130 dewislen ar y gwaelod. 1096 00:44:51,130 --> 00:44:54,010 Felly, unwaith eto, 'n bert yn debyg o ran ysbryd i'r Mac OS neu Windows, 1097 00:44:54,010 --> 00:44:56,040 er ei fod yn digwydd i fod Linux. 1098 00:44:56,040 --> 00:44:58,120 Felly, beth oedd y cam nesaf fydd yn ei wneud? 1099 00:44:58,120 --> 00:44:59,580 Wel, rydym yn dechrau ysgrifennu rhaglenni. 1100 00:44:59,580 --> 00:45:02,260 Ac yn cofio ers yr wythnos ddiwethaf bod yr holl mae'n ei gymryd i ysgrifennu 1101 00:45:02,260 --> 00:45:04,970 rhaglen yn olygydd testun syml, 1102 00:45:04,970 --> 00:45:06,550 fel Notepad neu TextEdit. 1103 00:45:06,550 --> 00:45:08,360 A dweud y gwir, hyd yn oed gallwch ddefnyddio Microsoft Word. 1104 00:45:08,360 --> 00:45:11,170 Ond bydd pethau drwg yn digwydd yn y pen draw, oherwydd dyna iawn 1105 00:45:11,170 --> 00:45:13,930 llawdrwm ateb ar gyfer ysgrifennu rhaglen, yn ogystal mae'n chi helpu 1106 00:45:13,930 --> 00:45:15,400 achub ef yn y fformat ffeil anghywir. 1107 00:45:15,400 --> 00:45:18,150 Ond dim ond, golygydd testun prosesydd geiriau, yn ymwneud ag sy'n 1108 00:45:18,150 --> 00:45:19,390 sydd eu hangen i ysgrifennu rhaglen. 1109 00:45:19,390 --> 00:45:23,420 >> Felly, yn y Appliance CS50, gallwn wneud hyn mewn un ffordd syml. 1110 00:45:23,420 --> 00:45:25,580 Gallwn cliciwch ar yr eicon ar y chwith gwaelod. 1111 00:45:25,580 --> 00:45:28,790 Ac eto, problem a osodwyd 1 Bydd eich cynghori am hyn, a voila - 1112 00:45:28,790 --> 00:45:31,210 byddwch yn cael y rhyngwyneb du a gwyn lle gallwn ddechrau 1113 00:45:31,210 --> 00:45:32,160 ysgrifennu cod. 1114 00:45:32,160 --> 00:45:34,960 Felly, gadewch i ni ddechrau ysgrifennu rhaglen syml super eto. 1115 00:45:34,960 --> 00:45:38,890 Rydw i'n mynd i fynd i fyny i Ffeil, Achub, ac yr wyf i'n mynd i alw 1116 00:45:38,890 --> 00:45:42,870 hyn, gadewch i ni ddweud, hello2.c. 1117 00:45:42,870 --> 00:45:45,410 Ac Im 'jyst yn dweud iddo gan glicio ar jharvard, roi 1118 00:45:45,410 --> 00:45:46,750 yn ei cyfeiriadur cartref, nid wyf yn wir gofal 1119 00:45:46,750 --> 00:45:47,980 lle mae hyn yn un yn mynd. 1120 00:45:47,980 --> 00:45:49,090 Ac yna Achub. 1121 00:45:49,090 --> 00:45:50,880 Ac yn awr y gallaf ddechrau ysgrifennu fy rhaglen. 1122 00:45:50,880 --> 00:45:53,560 Ac yr wyf yn cofio o'r cyfnod cyn bod rhaid i mi ysgrifennu int 1123 00:45:53,560 --> 00:45:55,400 prif (gwag). 1124 00:45:55,400 --> 00:45:57,000 Zoom i mewn ar y chwith uchaf. 1125 00:45:57,000 --> 00:46:02,670 Ac yna yr wyf am ei ddweud printf, cymryd dau. 1126 00:46:02,670 --> 00:46:05,690 Ac yn awr mae Newline, dyfynnwch agos, yn agos 1127 00:46:05,690 --> 00:46:07,820 cromfachau, hanner colon. 1128 00:46:07,820 --> 00:46:10,560 Ac yna dwi'n mynd i lawr yma i fy ffenestr terfynell sy'n 1129 00:46:10,560 --> 00:46:12,840 yn rhan annatod o gedit, dim ond er hwylustod. 1130 00:46:12,840 --> 00:46:15,200 Ac yr wyf i'n mynd i fynd yn ei flaen ac ysgrifennu gwneud helo, ond nid 1131 00:46:15,200 --> 00:46:17,500 helo ei ben ei hun, hello2. 1132 00:46:17,500 --> 00:46:20,490 >> Felly, fy ffeil a elwir hello2.c. Fy ffeil felly 1133 00:46:20,490 --> 00:46:23,510 dylid galw hello2, yn yr achos hwn. 1134 00:46:23,510 --> 00:46:26,490 Dammit, beth wnes i ei wneud o'i le? 1135 00:46:26,490 --> 00:46:29,490 Mae pob hawl, felly yr wyf yn amlwg hepgor llinell, os ydych yn cofio beth 1136 00:46:29,490 --> 00:46:31,020 rhaglenni blaenorol yn edrych fel. 1137 00:46:31,020 --> 00:46:32,480 Ond gadewch i ni weld os na allwn canfod hyn ar wahân. 1138 00:46:32,480 --> 00:46:35,310 Yn anffodus, rhan fwyaf o bobl sy'n ysgrifennu y rhaglenni y mae 1139 00:46:35,310 --> 00:46:38,820 byddwn yn ysgrifennu nid yw rhaglenni yn symleiddio pethau i gyd fod yn dda. 1140 00:46:38,820 --> 00:46:41,520 Felly mae'n rhaid i fath o sgimio dros hyn nad yw'n hollol gwneud 1141 00:46:41,520 --> 00:46:44,050 synhwyro yma a gweld os gallwn chyfrif i maes beth sydd o'i le. 1142 00:46:44,050 --> 00:46:46,700 Mae'r llinell gyntaf yn dweud mae ymhlyg datgan C 1143 00:46:46,700 --> 00:46:49,310 swyddogaeth llyfrgell printf gyda int fath. 1144 00:46:49,310 --> 00:46:51,210 OK, yr wyf yn deall yn rhan o hynny. 1145 00:46:51,210 --> 00:46:54,570 Ond mae'n ymddangos ei fod yn crybwyll y ffaith fy mod yn defnyddio printf 1146 00:46:54,570 --> 00:46:55,700 anghywir, rhywsut. 1147 00:46:55,700 --> 00:46:56,930 A pha synnwyr a yw'n anghywir? 1148 00:46:56,930 --> 00:46:59,970 Doeddwn i ddim yn dysgu y cyfrifiadur ei fod mewn ffeil 1149 00:46:59,970 --> 00:47:01,420 a elwir yn stdio.h. 1150 00:47:01,420 --> 00:47:04,120 Nawr dim ond rhaid i jyst gofio nawr bod printf yn 1151 00:47:04,120 --> 00:47:06,540 yn stdio.h, ac yn wir, bydd yna eraill 1152 00:47:06,540 --> 00:47:08,900 swyddogaethau yn y ffeil ag y byddwn yn dod i arfer ag. 1153 00:47:08,900 --> 00:47:12,490 >> Felly nawr gadewch i mi fynd yn ei flaen a tharo Ctrl-L i ddim ond glir bod 1154 00:47:12,490 --> 00:47:16,050 i ffwrdd, ailgynnal gwneud hello2, a voila. 1155 00:47:16,050 --> 00:47:19,490 Ac mae hyn yn gorchymyn unwaith eto, yn fwy cymhleth nag y byddwn yn esbonio i 1156 00:47:19,490 --> 00:47:20,520 dibenion heddiw. 1157 00:47:20,520 --> 00:47:23,570 Ond yn rhedeg clang, a clang yn cymryd cod ffynhonnell a 1158 00:47:23,570 --> 00:47:24,870 poeri allan 0s a 1s. 1159 00:47:24,870 --> 00:47:28,610 A'r rhai 0au ac 1 yn yr achos hwn yn cael eu galw yr hyn? 1160 00:47:28,610 --> 00:47:29,470 Iawn, gwrthwynebu cod. 1161 00:47:29,470 --> 00:47:32,210 Ac y ffeil eu bod yn ei alw, felly, 1162 00:47:32,210 --> 00:47:33,820 hello2, yn yr achos hwn. 1163 00:47:33,820 --> 00:47:37,040 Gan fod fy ffeil testun yn hello2.c, Enter. 1164 00:47:37,040 --> 00:47:39,820 Ac yn awr yr wyf wedi cymryd dau, pwynt ebychnod ebychnod 1165 00:47:39,820 --> 00:47:41,880 pwynt, pwynt ebychnod. 1166 00:47:41,880 --> 00:47:45,430 Mae pob hawl, felly mae gennym bellach y gallu i gael llinynnau, 1167 00:47:45,430 --> 00:47:46,280 mae'n debyg. 1168 00:47:46,280 --> 00:47:48,190 Wel, beth arall allwn ni ei gael gan ddefnyddwyr? 1169 00:47:48,190 --> 00:47:51,010 >> Wel yn y llyfrgell CS50, mae swyddogaethau eraill sy'n 1170 00:47:51,010 --> 00:47:53,300 yn mynd i symleiddio ein bywydau yn y dyddiau cyntaf. 1171 00:47:53,300 --> 00:47:56,350 GetChar, GetDouble, GetFloat, GetInt, 1172 00:47:56,350 --> 00:47:57,290 GetLongLong, GetString. 1173 00:47:57,290 --> 00:47:59,550 Wel, gadewch i dynnaf oddi ar yr hawsaf y rhain yn gyntaf. 1174 00:47:59,550 --> 00:48:01,430 GetString llythrennol yn gwneud hynny. 1175 00:48:01,430 --> 00:48:04,210 'I jyst yn eistedd yno, yn disgwyl i'r defnyddiwr i deipio rhywbeth i mewn, 1176 00:48:04,210 --> 00:48:07,170 a chyn gynted ag yr wyf deipio rhywbeth i mewn ac tharo Enter, mae'n 1177 00:48:07,170 --> 00:48:08,860 gwneud rhywbeth gyda gwerth hwnnw. 1178 00:48:08,860 --> 00:48:11,700 Felly, gadewch i ni fynd yn ôl at yr enghraifft honno i weld yn union beth 1179 00:48:11,700 --> 00:48:12,950 GetString yn ei wneud. 1180 00:48:12,950 --> 00:48:17,445 Gadewch i mi fynd yn ei flaen ac yn agor i fyny yn gedit, hello.c, a dwyn i gof 1181 00:48:17,445 --> 00:48:20,590 yr hawl honno cyn yr egwyl, dyma lle rydym yn gadael i ffwrdd. 1182 00:48:20,590 --> 00:48:23,240 >> Felly, gadewch i ni bellach yn ymhelaethu ar wahân mewn mwy o fanylder. 1183 00:48:23,240 --> 00:48:27,190 Felly, ar llinell 6, mae dau beth 1184 00:48:27,190 --> 00:48:28,450 digwydd ar hyn o bryd. 1185 00:48:28,450 --> 00:48:32,630 Mae'r arwydd cyfartal yn gwahanu hanner cyntaf ac ail hanner. 1186 00:48:32,630 --> 00:48:34,670 Felly, ar yr ochr chwith yr arwydd cyfartal, rydym yn 1187 00:48:34,670 --> 00:48:35,580 dweud llinyn s. 1188 00:48:35,580 --> 00:48:37,580 Ac yna, dim ond termau lleygwr, beth yw llinyn s 1189 00:48:37,580 --> 00:48:41,040 wneud, yn eich barn chi? 1190 00:48:41,040 --> 00:48:42,990 Mae'n creu beth? 1191 00:48:42,990 --> 00:48:44,930 Felly, mae'n creu llinyn o'r enw s. 1192 00:48:44,930 --> 00:48:46,370 Nawr beth mae hynny'n ei olygu mewn gwirionedd? 1193 00:48:46,370 --> 00:48:51,540 Wel, mae'n cadw lle ar gyfer llinyn o'r enw s. 1194 00:48:51,540 --> 00:48:52,490 Dyw hynny ddim yn hollol iawn. 1195 00:48:52,490 --> 00:48:53,120 Beth mae hyn yn ei wneud? 1196 00:48:53,120 --> 00:48:55,400 Cyfrifiaduron Wel, fel y gwyddoch, yn cael 'n anawdd drives, dyna lle 1197 00:48:55,400 --> 00:48:56,300 eich ffeiliau yn cael eu storio. 1198 00:48:56,300 --> 00:48:59,100 Cyfrifiaduron wedi RAM, a dyna lle mae rhaglenni yn cael eu llwytho 1199 00:48:59,100 --> 00:49:00,240 tra eu bod yn rhedeg. 1200 00:49:00,240 --> 00:49:02,470 Felly, pan fyddwch yn dwbl-glicio ar eicon a Microsoft Word yn agor 1201 00:49:02,470 --> 00:49:06,380 i fyny, Microsoft Word yn rhedeg, fel petai, yn RAM, sydd yn 1202 00:49:06,380 --> 00:49:08,160 y rhan electronig o'ch cyfrifiadur. 1203 00:49:08,160 --> 00:49:10,660 Nid y corfforol, rhan mecanyddol sy'n ei nyddu, lle 1204 00:49:10,660 --> 00:49:12,640 data yn cael ei storio yn gyffredinol yn y tymor hir. 1205 00:49:12,640 --> 00:49:15,810 Felly llinyn s wedi ei 'n bert lawer ddweud wrth y cyfrifiadur roi i mi 1206 00:49:15,810 --> 00:49:18,150 digon o RAM i osod llinyn. 1207 00:49:18,150 --> 00:49:20,450 Nawr bod 'na dipyn o gorsymleiddio, oherwydd 1208 00:49:20,450 --> 00:49:22,300 pa mor fawr yw'r llinyn yn mynd i fod? 1209 00:49:22,300 --> 00:49:24,410 Wel nid ydym mewn gwirionedd yn gwybod eto, felly yn ystod yr wythnosau i ddod 1210 00:49:24,410 --> 00:49:27,290 byddwn mewn gwirionedd yn tynnu'n ôl yr haen sydd yn llinyn a 1211 00:49:27,290 --> 00:49:28,510 byddwn yn dweud wrthych beth y mae mewn gwirionedd. 1212 00:49:28,510 --> 00:49:31,050 Llinynnol, ar hyn o bryd, yn unig yw symleiddio braf ein byd. 1213 00:49:31,050 --> 00:49:35,700 Ond mae llinyn s datgan llinyn o'r enw s, am y tro. 1214 00:49:35,700 --> 00:49:36,520 Yn datgan llinyn. 1215 00:49:36,520 --> 00:49:39,310 Mae'n cadw'r ychydig o le yn RAM ar gyfer y llinyn y defnyddiwr yn 1216 00:49:39,310 --> 00:49:40,150 am i deipio. 1217 00:49:40,150 --> 00:49:41,840 >> Nawr gadewch i ni edrych yn hawl yr arwydd cyfartal. 1218 00:49:41,840 --> 00:49:44,110 Felly, mae'n dweud GetString (). 1219 00:49:44,110 --> 00:49:45,070 A bwyll bach gwirio. 1220 00:49:45,070 --> 00:49:47,940 Mae'r ffaith nad oes dim byd tu mewn i'r cromfachau 1221 00:49:47,940 --> 00:49:50,810 awgrymu beth am GetString? 1222 00:49:50,810 --> 00:49:52,180 Mae'n cymryd unrhyw ddadleuon. 1223 00:49:52,180 --> 00:49:55,290 Hynny yw, nad ydych yn gallu dylanwadu ar ei hymddygiad mewn unrhyw ffordd. 1224 00:49:55,290 --> 00:49:58,940 Bob tro y byddwch yn ei ddefnyddio, bydd yn cael llinyn a dyna ni. 1225 00:49:58,940 --> 00:50:02,210 Mewn cyferbyniad, printf, gobeithio ei ymddygiad yn 1226 00:50:02,210 --> 00:50:03,010 newid bob tro. 1227 00:50:03,010 --> 00:50:05,230 Fel arall, mae'n swyddogaeth argraffu 'n bert ddiwerth os 1228 00:50:05,230 --> 00:50:06,480 mae'n ei wneud yr un peth. 1229 00:50:06,480 --> 00:50:07,970 Os yw'n bob amser yn argraffu David neu rywbeth 1230 00:50:07,970 --> 00:50:09,500 fympwyol drwy'r amser. 1231 00:50:09,500 --> 00:50:11,540 Felly printf yn gwneud synnwyr i gael dadl. 1232 00:50:11,540 --> 00:50:14,240 Nid GetString oes ei gwir angen dadl, gan fy mod am 1233 00:50:14,240 --> 00:50:16,700 i gael llinyn gan y defnyddiwr ac mae'n y defnyddiwr pwy sy'n mynd 1234 00:50:16,700 --> 00:50:19,580 i gyflenwi egni trwy deipio mewn llythrennau gwahanol 1235 00:50:19,580 --> 00:50:20,850 bob tro ar y bysellfwrdd. 1236 00:50:20,850 --> 00:50:23,140 >> Felly beth mae GetString yn y pen draw? 1237 00:50:23,140 --> 00:50:25,080 Meddyliwch am y peth fel y blwch hwn fach ddu. 1238 00:50:25,080 --> 00:50:29,340 Ac mae hyn yn blwch du yn cymryd unrhyw fewnbwn, ond pan fyddwch yn bang ar 1239 00:50:29,340 --> 00:50:33,240 , mae'n poeri allan llinyn fod y defnyddiwr wedi teipio i mewn 1240 00:50:33,240 --> 00:50:36,660 Ac mae'r ffaith fod yna arwydd cyfartal yno yn golygu cymryd 1241 00:50:36,660 --> 00:50:39,890 yr hyn sy'n boeri allan ar y dde ac yn ei storio y tu mewn 1242 00:50:39,890 --> 00:50:41,390 beth sydd ar y chwith. 1243 00:50:41,390 --> 00:50:43,470 Arwydd Felly gyfartal yma, nid mewn gwirionedd yn golygu 1244 00:50:43,470 --> 00:50:46,490 cydraddoldeb, yn hytrach dechnegol olygu aseiniad. 1245 00:50:46,490 --> 00:50:49,330 Cymerwch y gwerth ar y dde, ac yn ei roi yn y 1246 00:50:49,330 --> 00:50:51,050 amrywiol ar y chwith. 1247 00:50:51,050 --> 00:50:52,820 Felly dyna'r cyfan sy'n digwydd yno. 1248 00:50:52,820 --> 00:50:55,640 >> Nawr yn llinell 7, rydym yn galw printf. 1249 00:50:55,640 --> 00:50:58,170 Felly, gobeithio printf yn cael braidd yn ddiflas erbyn hyn. 1250 00:50:58,170 --> 00:50:59,530 Felly argraffu llinyn fformatio. 1251 00:50:59,530 --> 00:51:00,440 Beth llinyn? 1252 00:51:00,440 --> 00:51:05,460 Argraffwch, "h-e-l-l-o,% s 1253 00:51:05,460 --> 00:51:07,840 ! \ N ". 1254 00:51:07,840 --> 00:51:10,470 Mae pob hawl, felly beth ydw i eisiau plug-in ar gyfer% s? 1255 00:51:10,470 --> 00:51:12,960 Yn llythrennol, beth bynnag ei ​​storio yn s. 1256 00:51:12,960 --> 00:51:15,570 Felly, yn yr achos hwn, gwiriad pwyll bach, faint o ddadleuon yn 1257 00:51:15,570 --> 00:51:16,820 printf cymryd? 1258 00:51:19,860 --> 00:51:21,110 Iawn, yr wyf yn clywed un. 1259 00:51:23,840 --> 00:51:26,330 Clywais un eto. 1260 00:51:26,330 --> 00:51:27,730 Dau, clywais ddau. 1261 00:51:27,730 --> 00:51:29,920 A beth am dri? 1262 00:51:29,920 --> 00:51:30,450 Iawn, tri? 1263 00:51:30,450 --> 00:51:30,930 Ardderchog. 1264 00:51:30,930 --> 00:51:33,170 Mae tri ateb posib, dim ond un ohonynt sy'n gywir. 1265 00:51:33,170 --> 00:51:36,390 Felly, unwaith eto dadleuon dylanwadu ar ymddygiad swyddogaeth. 1266 00:51:36,390 --> 00:51:39,380 Yn y gorffennol, printf oedd dim ond un ddadl. 1267 00:51:39,380 --> 00:51:42,260 "Helo byd" oedd dadl un. 1268 00:51:42,260 --> 00:51:45,190 Fodd bynnag, yn awr, sylwch lle mae hyn yn coma. 1269 00:51:45,190 --> 00:51:49,600 Mae'r coma y tu allan i'r dyfyniad / unquote, sy'n golygu 1270 00:51:49,600 --> 00:51:52,170 hey printf, dyma daw ail ddadl. 1271 00:51:52,170 --> 00:51:54,240 >> Felly, atalnodau yn y rhan fwyaf o ieithoedd rhaglennu 1272 00:51:54,240 --> 00:51:57,300 dadleuon lluosog ar wahân. 1273 00:51:57,300 --> 00:51:59,600 Felly, yr ateb yma yn bendant nid un, oherwydd 1274 00:51:59,600 --> 00:52:00,390 mae hyn yn coma. 1275 00:52:00,390 --> 00:52:03,680 Felly cyn lleied â phosibl, printf yn ymddangos yn cymryd dwy 1276 00:52:03,680 --> 00:52:04,940 dadleuon hyn o bryd. 1277 00:52:04,940 --> 00:52:07,050 Ond mae'r cyfle ar gyfer cwestiwn tric yma yw beth 1278 00:52:07,050 --> 00:52:07,990 am y coma? 1279 00:52:07,990 --> 00:52:11,260 A yw hyn yn awgrymu bod yna mewn gwirionedd 3 dadleuon? 1280 00:52:11,260 --> 00:52:13,820 Mae hyn, mae hyn, ac mae hyn. 1281 00:52:13,820 --> 00:52:18,820 Felly dim, oherwydd bod coma yn y tu mewn o'r dyfyniadau, a oedd yn 1282 00:52:18,820 --> 00:52:20,890 golygu ei fod yn wir dim ond esthetig Saesneg. 1283 00:52:20,890 --> 00:52:23,180 Mae ganddo ddim i'w wneud gyda'r nifer o 1284 00:52:23,180 --> 00:52:24,890 dadleuon yn y rhaglen hon. 1285 00:52:24,890 --> 00:52:27,670 Felly, mae hyn coma y tu allan i'r dyfynodau dwbl. 1286 00:52:27,670 --> 00:52:28,850 Ac yna yn dychwelyd 0. 1287 00:52:28,850 --> 00:52:30,980 Am y tro gadewch i 'jyst fath o gymryd y un ar ffydd ar gyfer 1288 00:52:30,980 --> 00:52:34,460 heddiw, a dim ond yn gwybod bod pan fydd swyddogaethau yn cael eu gwneud gweithredu 1289 00:52:34,460 --> 00:52:37,950 linellau o god, dylai fel rheol ddychwelyd rhywfaint o werth. 1290 00:52:37,950 --> 00:52:42,010 Yn yr achos hwn, dim ond oherwydd mae'n rhaid i brif dychwelyd int, 1291 00:52:42,010 --> 00:52:44,320 dim ond y ffordd y mae'r C iaith yn gweithio. 1292 00:52:44,320 --> 00:52:47,040 >> Felly, am fod dim byd yn mynd o'i le, yn teimlo fel hyn rhaglen 1293 00:52:47,040 --> 00:52:49,960 iawn, Fi jyst galed godio yn gyfnewid 0. 1294 00:52:49,960 --> 00:52:52,980 Ond mewn gwrthgyferbyniad, a dw i'n mynd i ysgrifennu hyn mewn cod ffug 1295 00:52:52,980 --> 00:52:55,020 yn awr, yn debyg iawn i Joseff oedd pan wnaethom yr hosan 1296 00:52:55,020 --> 00:52:56,220 enghraifft yr wythnos diwethaf. 1297 00:52:56,220 --> 00:53:00,440 Os oes rhywbeth yn mynd o'i le - nid yw hyn yn cod gwirioneddol - aeth 1298 00:53:00,440 --> 00:53:06,570 anghywir, yna dychwelyd, gadewch i ni ddweud, 1. 1299 00:53:06,570 --> 00:53:08,770 Arall dychwelyd 0. 1300 00:53:08,770 --> 00:53:10,070 Felly, dyma lle rydym yn mynd â hyn. 1301 00:53:10,070 --> 00:53:12,090 Nid yw hyn yn wir C cod, dim ond pseudocode. 1302 00:53:12,090 --> 00:53:14,010 Ond mae hyn yn sut y byddwch yn dychwelyd 1303 00:53:14,010 --> 00:53:15,580 werthoedd posibl gwahanol. 1304 00:53:15,580 --> 00:53:19,520 Ond am nawr, Im 'jyst yn mynd i fynd yn ei flaen ac yn dychwelyd 0. 1305 00:53:19,520 --> 00:53:24,410 Mae pob hawl, unrhyw gwestiynau hyd yma ar, ymarferoldeb cystrawen, 1306 00:53:24,410 --> 00:53:25,000 neu debyg? 1307 00:53:25,000 --> 00:53:26,280 Yeah, yn ôl. 1308 00:53:26,280 --> 00:53:27,530 >> GYNULLEIDFA: [Anghlywadwy] 1309 00:53:30,510 --> 00:53:32,210 DAVID Malan: A allwch chi siarad ychydig yn uwch? 1310 00:53:32,210 --> 00:53:34,325 Pam wnaeth y rhaglen 0 dychwelyd, a? 1311 00:53:34,325 --> 00:53:35,575 GYNULLEIDFA: [Anghlywadwy] 1312 00:53:39,910 --> 00:53:43,450 DAVID Malan: O, mae hynny oherwydd cefais ddiog, sori. 1313 00:53:43,450 --> 00:53:48,290 Dim ymateb academaidd da, yn dychwelyd 0. 1314 00:53:48,290 --> 00:53:52,690 I fath o achub hyn, drwy ddweud dechnegol C, os y prif 1315 00:53:52,690 --> 00:53:55,900 nid yw'n benodol dychwelyd gwerth, bydd 0 yn cael eu dychwelyd 1316 00:53:55,900 --> 00:53:57,730 yn awtomatig i chi. 1317 00:53:57,730 --> 00:54:00,290 Pa yn wir, nid Im 'jyst yn cynnwys i fyny. 1318 00:54:00,290 --> 00:54:03,270 Ond, dylwn fod wedi ei wneud fel hyn. 1319 00:54:03,270 --> 00:54:05,250 Dim bwyd parod diddorol na'r hyn a heblaw am fy camgymeriad. 1320 00:54:05,250 --> 00:54:06,170 Yeah? 1321 00:54:06,170 --> 00:54:08,470 >> GYNULLEIDFA: Fel arfer pan fyddwch yn teipio yn ddi-rym, sy'n golygu eich bod 1322 00:54:08,470 --> 00:54:10,770 Peidiwch â dychwelyd rhywbeth. 1323 00:54:10,770 --> 00:54:11,420 DAVID Malan: Cywir. 1324 00:54:11,420 --> 00:54:15,800 Os yn lle hynny, gallwch nodi cyn i'r enw swyddogaeth, er 1325 00:54:15,800 --> 00:54:18,590 enghraifft yma, ddi-rym, yna bydd y swyddogaeth 1326 00:54:18,590 --> 00:54:20,480 nid yw'n dychwelyd unrhyw beth. 1327 00:54:20,480 --> 00:54:25,210 Ac felly byddwn yn dweud, dychwelyd neu dim byd o gwbl, 1328 00:54:25,210 --> 00:54:26,730 a byddai hynny'n gyson. 1329 00:54:26,730 --> 00:54:27,750 A byddwn yn dod yn ôl at hynny. 1330 00:54:27,750 --> 00:54:31,030 A dim ond FYI, un o'r dalfeydd ag anableddau dysgu 1331 00:54:31,030 --> 00:54:33,450 rhaglennu mewn byd sydd â channoedd o lyfrau a 1332 00:54:33,450 --> 00:54:36,180 cannoedd o wefannau allan yna byddwch yn ddieithriad 1333 00:54:36,180 --> 00:54:38,220 gweld cystrawen gwahanol mewn gwahanol lyfrau 1334 00:54:38,220 --> 00:54:40,220 gan wahanol bobl. 1335 00:54:40,220 --> 00:54:42,100 Sylweddoli fe wnawn ein gorau yn adrannau a darlithoedd i fod yn 1336 00:54:42,100 --> 00:54:42,960 gyson. 1337 00:54:42,960 --> 00:54:46,660 Ond weithiau fe welwch cystrawen sy'n gwrthdaro. 1338 00:54:46,660 --> 00:54:48,540 Felly, pryd bynnag yn ansicr, gofynnwch. 1339 00:54:48,540 --> 00:54:51,100 Ac yn gyffredinol, byddwn yn cymryd gofal mewn darlithoedd ac adrannau i 1340 00:54:51,100 --> 00:54:53,710 bron bob amser ei gyflwyno yn y ffordd gywir. 1341 00:54:53,710 --> 00:54:56,070 Ac yr wyf yn dweud bron bob amser, oherwydd bod achos dan sylw. 1342 00:54:56,070 --> 00:54:56,860 Cwestiynau eraill? 1343 00:54:56,860 --> 00:55:01,590 >> GYNULLEIDFA: A yw% s yn bodoli y tu allan i'r teclyn? 1344 00:55:01,590 --> 00:55:03,710 DAVID Malan: A yw% s yn bodoli y tu allan i'r teclyn? 1345 00:55:03,710 --> 00:55:04,180 Ydw. 1346 00:55:04,180 --> 00:55:07,760 Felly,% s wedi ei wneud gyda C. Mae'r ffaith ein bod yn ei ddefnyddio mewn 1347 00:55:07,760 --> 00:55:10,290 yr offer sylfaenol wedi ddim i'w wneud â'r 1348 00:55:10,290 --> 00:55:12,080 nodweddion yr iaith rydym yn ei ddefnyddio. 1349 00:55:12,080 --> 00:55:15,990 Yn wir, yr wythnos diwethaf pan fyddwn yn defnyddio fy Mac, ysgrifennais 1350 00:55:15,990 --> 00:55:17,160 C cod ar fy Mac. 1351 00:55:17,160 --> 00:55:20,020 Gallwn fod wedi defnyddio% s ar fy Mac, a gallech ei ddefnyddio ar 1352 00:55:20,020 --> 00:55:22,400 'ch Ffenestri chyfrifiadur os ydych yn gosod casglwr, fel 1353 00:55:22,400 --> 00:55:24,070 Visual Studio gan Microsoft. 1354 00:55:24,070 --> 00:55:24,990 Felly,% s. 1355 00:55:24,990 --> 00:55:27,860 Mae popeth rydym yn ei wneud tu mewn y ffenestr heddiw wedi i 1356 00:55:27,860 --> 00:55:31,140 wneud gyda C. Ac yn y bôn dim byd i'w wneud â'r 1357 00:55:31,140 --> 00:55:33,450 gweithredu system dan sylw. 1358 00:55:33,450 --> 00:55:35,900 Ar y llaw arall, y ffenestr derfynell du a gwyn - pan 1359 00:55:35,900 --> 00:55:40,160 Rwyf i'n teipio pethau fel ls, a rm, a cd - 1360 00:55:40,160 --> 00:55:42,020 sydd wedi ei wneud gyda'r system weithredu a'r 1361 00:55:42,020 --> 00:55:43,562 lywio o gwmpas. 1362 00:55:43,562 --> 00:55:44,546 Yeah. 1363 00:55:44,546 --> 00:55:46,520 GYNULLEIDFA: Yr wyf yn golygu y llyfrgell, y llyfrgell CS50. 1364 00:55:46,520 --> 00:55:49,960 DAVID Malan: Iawn, felly os ydych yn golygu y llinyn keyword, y 1365 00:55:49,960 --> 00:55:52,460 ond yn bodoli yn y llyfrgell CS50, yn gywir. 1366 00:55:52,460 --> 00:55:55,350 Nid yw hynny'n bodoli yn C ei hun, ac yn wir mewn cwpl 1367 00:55:55,350 --> 00:55:58,220 o wythnosau, byddwn yn ei daflu i ffwrdd y llyfrgell CS50 a dechrau 1368 00:55:58,220 --> 00:56:02,290 wneud pethau o'r dechrau ein hunain, fel petai. 1369 00:56:02,290 --> 00:56:02,940 Cwestiynau eraill? 1370 00:56:02,940 --> 00:56:04,577 Yeah. 1371 00:56:04,577 --> 00:56:05,827 >> GYNULLEIDFA: [Anghlywadwy] 1372 00:56:09,470 --> 00:56:10,160 DAVID Malan: Cwestiwn da. 1373 00:56:10,160 --> 00:56:11,720 A yw'r achos gorchmynion sensitif? 1374 00:56:11,720 --> 00:56:13,710 A gadewch i mi wneud gwahaniaeth yma. 1375 00:56:13,710 --> 00:56:15,840 Felly gorchmynion yn gyffredinol pethau y byddwn yn ysgrifennu yn y 1376 00:56:15,840 --> 00:56:17,940 waelod y ffenestr, yn y ffenestr terfynell. 1377 00:56:17,940 --> 00:56:21,770 Byddai unrhyw beth yma fod yn ddatganiadau neu C cod. 1378 00:56:21,770 --> 00:56:24,490 Ond yn y ddau achos, yr ateb yw yr un fath, ie. 1379 00:56:24,490 --> 00:56:27,800 Mae'r ddau o'r amgylcheddau hyn, y cod C ar y brig a'r 1380 00:56:27,800 --> 00:56:29,910 gweithredu system llinell orchymyn ar y 1381 00:56:29,910 --> 00:56:31,440 gwaelod, yn achos sensitif. 1382 00:56:31,440 --> 00:56:33,830 Felly, mae'n rhaid i chi fanteisio GetString gyda chyfalaf G, 1383 00:56:33,830 --> 00:56:37,050 cyfalaf S. Rhaid i chi ysgrifennu printf ym mhob llythrennau bach. 1384 00:56:37,050 --> 00:56:39,520 Mae'n rhaid i chi deipio ls yn yr holl llythrennau bach. 1385 00:56:39,520 --> 00:56:43,260 Felly, ym mron pob sefyllfa hon semester, achos bydd, yn 1386 00:56:43,260 --> 00:56:44,820 wir, mater. 1387 00:56:44,820 --> 00:56:46,148 Ydw. 1388 00:56:46,148 --> 00:56:47,398 >> GYNULLEIDFA: [Anghlywadwy] 1389 00:56:54,770 --> 00:56:56,480 DAVID Malan: Ah, felly iawn, beth pe bai gennym ffeil 1390 00:56:56,480 --> 00:56:57,840 a elwir yn hello.d. 1391 00:56:57,840 --> 00:57:00,090 Felly, mae'n troi allan D yn iaith raglennu. 1392 00:57:00,090 --> 00:57:02,790 Ac felly mewn rhai achosion, gallem ysgrifennu mewn gwirionedd rhaglen yn 1393 00:57:02,790 --> 00:57:06,190 y ffeil ac wedi ei llunio yn yr un modd. 1394 00:57:06,190 --> 00:57:09,090 Gallwn, ac mewn gwirionedd, ateb byr yw, nid wyf yn gwybod. 1395 00:57:09,090 --> 00:57:10,440 Felly, rydym yn mynd i wneud hyn. 1396 00:57:10,440 --> 00:57:13,040 Gadewch i mi fynd yn ei flaen ac yn creu ffeil newydd. 1397 00:57:13,040 --> 00:57:15,580 Ac y sbin yma, yn onest yn gyffredinol, yn pryd bynnag unrhyw amheuaeth 1398 00:57:15,580 --> 00:57:18,130 y semester, ac mae gennych eich offer neu gyfrifiadur 1399 00:57:18,130 --> 00:57:20,030 agor, mynd yn ei flaen a rhoi cynnig ar rywbeth. 1400 00:57:20,030 --> 00:57:23,740 Felly dw i'n mynd i achub ffeil o'r enw hello.d. 1401 00:57:23,740 --> 00:57:25,010 Achub hyn. 1402 00:57:25,010 --> 00:57:29,070 Ac yr wyf i'n mynd i redeg yn gwneud helo Enter. 1403 00:57:29,070 --> 00:57:31,660 Roedd yn ymddangos i awgrymu bod c yn fwy tebygol o 1404 00:57:31,660 --> 00:57:35,920 na d, yn yr achos hwn. 1405 00:57:35,920 --> 00:57:38,046 Cwestiynau eraill. 1406 00:57:38,046 --> 00:57:40,456 Yeah. 1407 00:57:40,456 --> 00:57:41,706 >> GYNULLEIDFA: [Anghlywadwy] 1408 00:57:48,170 --> 00:57:49,837 DAVID Malan: Iawn, yn dweud bod unwaith yn rhagor. 1409 00:57:49,837 --> 00:57:51,087 GYNULLEIDFA: [Anghlywadwy] 1410 00:58:04,250 --> 00:58:05,780 DAVID Malan: Sut fyddech chi'n mynd ati i diagnosis hwnnw neu 1411 00:58:05,780 --> 00:58:06,380 datrys problemau hynny? 1412 00:58:06,380 --> 00:58:08,800 Felly fwyaf tebygol, oherwydd eu bod gwahanol ieithoedd, 1413 00:58:08,800 --> 00:58:10,280 fwyaf tebygol y byddech yn cael yn gyfan gwbl 1414 00:58:10,280 --> 00:58:11,580 raglen wahanol outputted. 1415 00:58:11,580 --> 00:58:14,140 Byddech yn cael negeseuon gwall hollol wahanol. 1416 00:58:14,140 --> 00:58:16,750 A hefyd unig o ran dyluniad, byddai'n dadlau yn 1417 00:58:16,750 --> 00:58:19,140 penderfyniad dylunio gwael i gael ei ysgrifennu dau wahanol 1418 00:58:19,140 --> 00:58:21,510 ieithoedd gyda ffeiliau a enwir bron yn union, yn 1419 00:58:21,510 --> 00:58:23,000 yr un cyfeiriadur union, gan ddefnyddio 1420 00:58:23,000 --> 00:58:24,550 offeryn awtomatig fel gwneud. 1421 00:58:24,550 --> 00:58:27,750 Felly gallaf hefyd yn gwthio yn ôl a dweud mewn 15 mlynedd o wneud hyn, 1422 00:58:27,750 --> 00:58:29,190 byth yn gwneud y camgymeriad. 1423 00:58:29,190 --> 00:58:30,030 Gallai ddigwydd. 1424 00:58:30,030 --> 00:58:31,190 Ond nid dim ond amrywiol, yr wyf yn meddwl, 1425 00:58:31,190 --> 00:58:33,180 amddiffynfeydd logistaidd yn eu lle. 1426 00:58:33,180 --> 00:58:35,440 Byd Gwaith yn y negeseuon gwall a fyddai'n ddilyn, a fyddai'n 1427 00:58:35,440 --> 00:58:37,260 yn y pen draw yn datgelu beth yw'r mater. 1428 00:58:37,260 --> 00:58:39,120 Ond achos cornel posibl. 1429 00:58:39,120 --> 00:58:41,730 >> Mae pob hawl, felly gadewch i ni gyflwyno dim ond cwpl o eraill 1430 00:58:41,730 --> 00:58:45,600 nodweddion yma yn awr, fel y gallwn ddechrau adeiladu i fyny i fwy 1431 00:58:45,600 --> 00:58:47,140 ac yn fwy cymhleth rhaglen. 1432 00:58:47,140 --> 00:58:49,000 Felly, yn gyntaf oll, mathemateg. 1433 00:58:49,000 --> 00:58:51,520 Felly enghreifftiau mathemateg yn unig fath o hawdd yn yr wythnos gyntaf. 1434 00:58:51,520 --> 00:58:53,560 Nid yw hyn yn dweud bod yr holl raglenni yn ymwneud â 1435 00:58:53,560 --> 00:58:54,390 mathemateg. 1436 00:58:54,390 --> 00:58:57,890 Yn sicr, deall nodweddion gwahanol 1437 00:58:57,890 --> 00:58:59,610 mathemateg, algebra yn arbennig, yn 1438 00:58:59,610 --> 00:59:00,330 eithaf berthnasol yma. 1439 00:59:00,330 --> 00:59:03,010 Yn lefel uwch dosbarthiadau CS, algebra llinol, 1440 00:59:03,010 --> 00:59:03,920 calcwlws, ac yn y blaen. 1441 00:59:03,920 --> 00:59:06,500 Ond yn sylweddoli nid yw'r rhan fwyaf o'r hyn a byddwn yn gwneud hyn yn lleihau semester 1442 00:59:06,500 --> 00:59:09,230 i mathemateg, ac yn sicr nid i rhifyddeg, fel y cyfryw, ond mewn gwirionedd 1443 00:59:09,230 --> 00:59:11,570 i ddim ond rhesymeg a meddwl yn ofalus. 1444 00:59:11,570 --> 00:59:14,310 Ac felly y cysylltiad hwn bod gwyddoniaeth gyfrifiadurol wedi cael hir, 1445 00:59:14,310 --> 00:59:16,570 yn enwedig ar lefel ysgol yn uchel, gyda mathemateg, yn 1446 00:59:16,570 --> 00:59:17,370 ychydig yn gamarweiniol. 1447 00:59:17,370 --> 00:59:20,090 Oherwydd bod y rhan fwyaf o'r rhaglenni y byddwn yn ysgrifennu, mewn gwirionedd, yn 1448 00:59:20,090 --> 00:59:23,290 math o lefel uwch ac yn canolbwyntio ar ddatrys problemau hynny, 1449 00:59:23,290 --> 00:59:26,410 yn siwr y gallai, defnyddio rhai adio, tynnu, ac amrywiol 1450 00:59:26,410 --> 00:59:28,650 fformiwlâu mathemategol neu yn y blaen, 1451 00:59:28,650 --> 00:59:30,860 ond ar ddiwedd y dydd, mae'n ymwneud â meddwl, ac nid 1452 00:59:30,860 --> 00:59:33,240 dim ond gweithredu'r hyn y gallech fod wedi'u gwneud ar fel TI 1453 00:59:33,240 --> 00:59:35,050 cyfrifiannell yn yr ysgol uwchradd. 1454 00:59:35,050 --> 00:59:38,410 >> Felly, gyda hynny ddywedodd, gadewch i ni bellach yn gwneud rhywbeth gyda hyn 1455 00:59:38,410 --> 00:59:40,980 gweithredwyr mathemategol sydd yn bodoli fel y gallwn daith 1456 00:59:40,980 --> 00:59:43,950 dros rai o'r agweddau sylfaenol o raglenni, neu mewn 1457 00:59:43,950 --> 00:59:48,930 yr achos hwn C. Felly mae, fel y llyfrgell CS50 yn awgrymu, 1458 00:59:48,930 --> 00:59:51,520 a heddiw rydym yn unig gan ddefnyddio GetString - ac mewn eiliad 1459 00:59:51,520 --> 00:59:52,940 efallai un swyddogaeth arall - 1460 00:59:52,940 --> 00:59:55,380 ond mae fathau data gwahanol mewn cyfrifiadur. 1461 00:59:55,380 --> 00:59:58,550 Ar ddiwedd y dydd, cyfrifiaduron ond yn gwybod 0s a 1s. 1462 00:59:58,550 --> 01:00:01,880 Ond dwyn i gof bod yr wythnos diwethaf buom yn siarad am y system ddeuaidd 1463 01:00:01,880 --> 01:00:05,000 o ran cynrychioli rhifau, fel y rhif 0, ac 1, a 2, 1464 01:00:05,000 --> 01:00:07,480 yr holl ffordd ar hyd at 8, fel yn Nate fideo. 1465 01:00:07,480 --> 01:00:08,840 Ac yna gallwn ddibynnu llawer uwch wrth i ni 1466 01:00:08,840 --> 01:00:10,000 oedd ar y llwyfan yma. 1467 01:00:10,000 --> 01:00:15,660 Ond os ydych am i gynrychioli nid yn unig niferoedd ond llythrennau, 1468 01:00:15,660 --> 01:00:18,240 ni, y bodau dynol, yn gorfod dod i fyny gyda rhai mympwyol 1469 01:00:18,240 --> 01:00:21,180 confensiynau, lle os ar ddiwedd y dydd i gyd fy nghyfrifiadur 1470 01:00:21,180 --> 01:00:24,260 wedi y gallu i fynegi 0s a 1s, yn dda byddem yn well 1471 01:00:24,260 --> 01:00:27,990 dechrau safoni patrymau 0s a 1s sy'n cynrychioli 1472 01:00:27,990 --> 01:00:28,800 pethau gwahanol. 1473 01:00:28,800 --> 01:00:32,370 Mae patrwm o 0s a 1s sy'n cynrychioli y llythyr a. 1474 01:00:32,370 --> 01:00:34,840 Patrymau 0s a 1s sy'n cynrychioli'r z llythyr. 1475 01:00:34,840 --> 01:00:37,600 Patrymau 0au ac 1 sy'n cynrychioli'r glas lliw, neu 1476 01:00:37,600 --> 01:00:38,600 coch, neu yn y blaen. 1477 01:00:38,600 --> 01:00:42,360 Mae angen i ni ddefnyddio pob un o'r rhain 0s a 1s i fynegi ein hunain yn 1478 01:00:42,360 --> 01:00:45,140 gwahanol gyd-destunau, mewn ffyrdd gwahanol nad ydynt yn 1479 01:00:45,140 --> 01:00:46,470 reidrwydd yn rhifol. 1480 01:00:46,470 --> 01:00:51,150 >> Felly, o ran cynrychiolaeth, C wedi fathau data gwahanol, 1481 01:00:51,150 --> 01:00:52,550 ac rydym wedi gweld un o'r rhain hyd yn hyn. 1482 01:00:52,550 --> 01:00:54,940 Gwelsom int, a hysbysiad beth sydd ddim ar y sgrin 1483 01:00:54,940 --> 01:00:56,140 ar hyn o bryd yn llinyn. 1484 01:00:56,140 --> 01:00:58,550 Nid yw'r llinyn, mewn gwirionedd, yn bodoli yn C. Unwaith eto, mae'n 1485 01:00:58,550 --> 01:01:00,610 symleiddio rydym yn cyflwyno am y tro cyntaf 1486 01:01:00,610 --> 01:01:01,570 cwpl o wythnosau. 1487 01:01:01,570 --> 01:01:03,770 Mae torgoch yn gymeriad unigol. 1488 01:01:03,770 --> 01:01:07,050 Mae arnofio yn rhif real, gydag un pwynt degol a rhifau i 1489 01:01:07,050 --> 01:01:09,066 y chwith a'r dde ohono. 1490 01:01:09,066 --> 01:01:16,040 Mae dwbl yn beth, i'r rhai sydd â chefndir yn ôl ymlaen llaw? 1491 01:01:16,040 --> 01:01:19,720 Felly dwbl yn ddwywaith rhywbeth. 1492 01:01:19,720 --> 01:01:21,240 Ychwanegu dwywaith mor fanwl iawn. 1493 01:01:21,240 --> 01:01:22,440 Felly beth mae hyn yn ei olygu? 1494 01:01:22,440 --> 01:01:26,090 Felly, ym mhob un o'r achosion hyn, y byd math o safoni 1495 01:01:26,090 --> 01:01:27,960 faint o ddarnau yn cael eu defnyddio i gynrychioli 1496 01:01:27,960 --> 01:01:29,160 pob un o'r pethau hyn. 1497 01:01:29,160 --> 01:01:31,590 Felly, os ydych wedi gwylio fideo Nate ASCII yn barod ar gyfer rhan 1498 01:01:31,590 --> 01:01:36,170 o pset 0, neu yn ddiweddarach yr wythnos hon chi, byddwch yn ôl pob tebyg yn gwybod 1499 01:01:36,170 --> 01:01:37,450 bod ASCII - 1500 01:01:37,450 --> 01:01:38,610 sylwadau cymeriad - 1501 01:01:38,610 --> 01:01:40,670 defnyddio faint o ddarnau? 1502 01:01:40,670 --> 01:01:43,410 Ac efallai y byddwch hyd yn oed yn cofio o'n demo yr wythnos diwethaf o sut y 1503 01:01:43,410 --> 01:01:45,500 llawer o bobl oedd ar y llwyfan. 1504 01:01:45,500 --> 01:01:46,840 Felly, 7 neu 8, yn nodweddiadol. 1505 01:01:46,840 --> 01:01:49,230 Felly, yn gyffredinol 8, ac mae yna rywbeth o'r enw fel y'i hestynnwyd 1506 01:01:49,230 --> 01:01:51,240 ASCII sy'n defnyddio'r holl 8 did, yn hytrach na 7. 1507 01:01:51,240 --> 01:01:54,710 Ond yn gyffredinol, rydym yn siarad mewn pwerau o 2, felly yn yr achos hwn, 8. 1508 01:01:54,710 --> 01:01:58,900 Felly, golosg mewn iaith raglennu fel arfer 8 did. 1509 01:01:58,900 --> 01:02:02,550 Felly mae int yn gyffredinol 32 catiau. 1510 01:02:02,550 --> 01:02:04,810 Mae arnofio yn gyffredinol 32 catiau. 1511 01:02:04,810 --> 01:02:08,060 Mae dwbl yn gyffredinol 64 did. 1512 01:02:08,060 --> 01:02:08,870 A beth mae hynny'n ei olygu? 1513 01:02:08,870 --> 01:02:11,500 Mae'n golygu y gallwch gynrychioli rhifau mwy, neu yn achos 1514 01:02:11,500 --> 01:02:15,490 niferoedd go iawn, gallwch gael rifau llawer mwy ar ôl y 1515 01:02:15,490 --> 01:02:16,240 lle degol. 1516 01:02:16,240 --> 01:02:18,980 Trachywiredd Mae llawer mwy, yn yr achos hwnnw. 1517 01:02:18,980 --> 01:02:21,780 Erbyn hyn, mae hir hir yn cael ei enwi yn anffodus. 1518 01:02:21,780 --> 01:02:24,340 Felly mae 'na int sydd yn 32 catiau. 1519 01:02:24,340 --> 01:02:29,800 Mae hir sydd, Na, 32 did. 1520 01:02:29,800 --> 01:02:32,610 A hir hir sydd yn 64 did. 1521 01:02:32,610 --> 01:02:34,830 Fodd bynnag mae rhai o'r rheiny yn gyd-destun sensitif; mae'n dibynnu 1522 01:02:34,830 --> 01:02:36,190 pa fath o gyfrifiadur sydd gennych. 1523 01:02:36,190 --> 01:02:40,510 Felly, yn gyffredinol, byddwn yn nodi mewn gwaith cartref neu mewn cwis pan 1524 01:02:40,510 --> 01:02:41,180 mae hynny'n wirioneddol bwysig. 1525 01:02:41,180 --> 01:02:43,080 Ond y pwynt yw mae pob un o'r rhain wahanol 1526 01:02:43,080 --> 01:02:44,250 sylwadau yma. 1527 01:02:44,250 --> 01:02:45,950 >> Felly, gadewch i ni mewn gwirionedd yn plymio i mewn i raglen. 1528 01:02:45,950 --> 01:02:48,300 Yn hytrach na ysgrifennu hyn un o'r newydd, gadewch i mi fynd yn ei flaen 1529 01:02:48,300 --> 01:02:50,940 ac yn agor i fyny o cod ffynhonnell heddiw - pob un ohonynt yn 1530 01:02:50,940 --> 01:02:54,980 ar-lein - os ydych am i botsian o gwmpas ar-lein, neu enillion ar 1531 01:02:54,980 --> 01:02:57,120 Dydd Mercher a'r offer ar eich cyfrifiadur, cyfarwyddiadau 1532 01:02:57,120 --> 01:02:59,160 Bydd y cysylltu ar dudalen hafan y cwrs. 1533 01:02:59,160 --> 01:03:00,830 Dyma raglen syml super. 1534 01:03:00,830 --> 01:03:02,520 Ond mae llawer mwy o rywbeth bach newydd ar y brig a 1535 01:03:02,520 --> 01:03:03,650 Nid oedd gennym o'r blaen. 1536 01:03:03,650 --> 01:03:05,800 Mae llawer gyfan o linellau glas o destun. 1537 01:03:05,800 --> 01:03:08,410 Felly, mae'r llinellau glas yn cynrychioli sylwadau. 1538 01:03:08,410 --> 01:03:10,620 Felly, mae'n eithaf defnyddiol mewn rhaglen i fod yn gallu ysgrifennu 1539 01:03:10,620 --> 01:03:13,160 rhai sylwadau i chi eich hun, neu i gydweithwyr, neu ffrindiau, neu 1540 01:03:13,160 --> 01:03:15,700 cymrodyr addysgu, y math yna o disgrifio'r hyn sy'n mynd ymlaen yn 1541 01:03:15,700 --> 01:03:18,500 y ffeil, ond mae ganddynt ddim i'w wneud gyda C cod ei hun. 1542 01:03:18,500 --> 01:03:20,860 Dim byd i'w wneud â'r rhaglen swyddogaethol, dim ond 1543 01:03:20,860 --> 01:03:21,760 estheteg. 1544 01:03:21,760 --> 01:03:24,580 Felly, y ffordd yr ydych yn gwneud hyn yn C yw chi fel arfer yn dechrau ar eich 1545 01:03:24,580 --> 01:03:29,860 sylwadau gyda / *, a byddwch yn gorffen eich sylwadau gyda 1546 01:03:29,860 --> 01:03:31,270 * /. 1547 01:03:31,270 --> 01:03:34,140 Ac os ydych yn wirioneddol rhefrol ac yn hoffi i dynnu math o luniau, 1548 01:03:34,140 --> 01:03:35,870 yna byddech yn rhoi llawer gyfan o sêr, byddech yn gwneud 1549 01:03:35,870 --> 01:03:36,970 blwch bach fel hyn. 1550 01:03:36,970 --> 01:03:37,990 Ond nid yw hynny'n bwysig. 1551 01:03:37,990 --> 01:03:40,230 Yr unig beth sy'n bwysig yw y cyntaf 1552 01:03:40,230 --> 01:03:41,620 a. olaf 1553 01:03:41,620 --> 01:03:43,820 Mae hyn yn beth a elwir yn aml sylw-lein. 1554 01:03:43,820 --> 01:03:46,610 A 'i' jyst confensiwn dynol i yn aml yn gwneud y sêr a blwch 1555 01:03:46,610 --> 01:03:48,420 pethau mewn fel hyn os oes gennych lawer o amser rhad ac am ddim. 1556 01:03:48,420 --> 01:03:51,550 >> Felly, ar ôl i chi wedi ysgrifennu mewn rhai sylwadau, yn gyffredinol, yn dod 1557 01:03:51,550 --> 01:03:53,160 yn ddigon dewr gwirioneddol y rhaglen. 1558 01:03:53,160 --> 01:03:55,630 Dyma ein cyfarwydd # cynnwys . 1559 01:03:55,630 --> 01:04:00,410 A dim ond gyflym, mae hyn yn angenrheidiol neu nad oes angen? 1560 01:04:00,410 --> 01:04:02,860 GYNULLEIDFA: Angenrheidiol. 1561 01:04:02,860 --> 01:04:04,390 DAVID Malan: Felly nid oes angen mewn gwirionedd. 1562 01:04:04,390 --> 01:04:07,070 Felly pam, fodd bynnag, nid yw hyn yn angenrheidiol? 1563 01:04:07,070 --> 01:04:08,170 Felly, does dim printf. 1564 01:04:08,170 --> 01:04:08,510 Yn wir. 1565 01:04:08,510 --> 01:04:10,470 Y cyfan yr ydym yn ei wneud yn y rhaglen hon yw mathemateg. 1566 01:04:10,470 --> 01:04:11,640 Felly gallaf mewn gwirionedd ddileu hynny. 1567 01:04:11,640 --> 01:04:14,330 Felly, nid ydych bob amser yn rhaid i chi gynnwys unrhyw beth o 1568 01:04:14,330 --> 01:04:15,420 ben y rhaglen. 1569 01:04:15,420 --> 01:04:17,020 >> Felly, gadewch i ni symleiddio'r bit a. 1570 01:04:17,020 --> 01:04:18,650 Ac yn awr sylwi ar yr hyn y mae'r rhaglen yn ei wneud. 1571 01:04:18,650 --> 01:04:19,920 Dim llawer o ddiddordeb. 1572 01:04:19,920 --> 01:04:21,410 int x = 1. 1573 01:04:21,410 --> 01:04:22,550 Wel, beth mae hyn yn ei wneud? 1574 01:04:22,550 --> 01:04:25,130 Wel, meddyliwch yn ôl at y model meddwl o'r blaen. 1575 01:04:25,130 --> 01:04:27,500 Mae ochr chwith y mynegiant gwneud beth? 1576 01:04:31,440 --> 01:04:32,830 Creu lle ar gyfer cyfanrif. 1577 01:04:32,830 --> 01:04:33,930 Felly, faint o le? 1578 01:04:33,930 --> 01:04:36,980 Wel, rydym yn digwydd gwybod nawr ei fod yn 32 catiau. 1579 01:04:36,980 --> 01:04:40,070 Yn flaenorol, llinyn yn dechnegol 32 catiau, ond yn fwy 1580 01:04:40,070 --> 01:04:40,950 ar hynny yn y dyfodol. 1581 01:04:40,950 --> 01:04:42,240 Ond mae int yw 32 ddarnau. 1582 01:04:42,240 --> 01:04:45,590 Felly, mae hyn mynegiant ar y chwith yma, int x yn unig yn dweud hey 1583 01:04:45,590 --> 01:04:48,490 gweithredu system, yn rhoi i mi 32 catiau chan FAHAREN - 1584 01:04:48,490 --> 01:04:50,450 a elwir fel arall fel 4 bytes o RAM - 1585 01:04:50,450 --> 01:04:53,930 fel y gallaf roi cyfanrif yn y gofod. 1586 01:04:53,930 --> 01:04:55,330 Pa cyfanrif oedd y dymunwch ei roi? 1587 01:04:55,330 --> 01:04:56,640 Wel, dim ond y rhif 1. 1588 01:04:56,640 --> 01:04:59,530 int y cael 2, mae'r un peth yn union er bod y 1589 01:04:59,530 --> 01:05:02,160 rhif yn fwy, o ran ei faint. 1590 01:05:02,160 --> 01:05:04,790 Y rhif ei hun yn dal i fod dim ond 32 ddarnau. 1591 01:05:04,790 --> 01:05:06,520 Dim ond y patrwm o ddarnau yn wahanol i 1592 01:05:06,520 --> 01:05:08,260 cynrychioli 1 yn erbyn 2. 1593 01:05:08,260 --> 01:05:11,980 int z bellach yn dweud yn rhoi i mi un arall darnau 32, alw z, a rhoi'r 1594 01:05:11,980 --> 01:05:14,210 grynodeb o 1 a 2 mewn 'na. 1595 01:05:14,210 --> 01:05:18,050 Felly, sydd bellach yn ôl pob tebyg z yn storio gwerth 3, 1596 01:05:18,050 --> 01:05:19,360 ac yna dychwelyd 0. 1597 01:05:19,360 --> 01:05:23,020 >> Yn awr y rhaglen hon, a yw'n gwneud unrhyw beth o ddiddordeb? 1598 01:05:23,020 --> 01:05:26,170 Felly, nid mewn gwirionedd yn gwneud dim byd diddorol, mewn unrhyw 1599 01:05:26,170 --> 01:05:28,450 synnwyr, oherwydd pam? Mae'n gwneud rhywfaint mathemateg. 1600 01:05:28,450 --> 01:05:30,590 Ond nid yw'n dychwelyd yr ateb, ar y dde. 1601 01:05:30,590 --> 01:05:31,790 Mae'n dychwelyd 0. 1602 01:05:31,790 --> 01:05:33,440 Dyw hi ddim yn argraffu'r ateb. 1603 01:05:33,440 --> 01:05:35,760 Felly, mae'r rhaglen hon yn sylfaenol ddi-werth, gan ei fod yn 1604 01:05:35,760 --> 01:05:36,350 mae yn awr. 1605 01:05:36,350 --> 01:05:37,220 Mae'n gwneud rhywfaint o waith. 1606 01:05:37,220 --> 01:05:39,530 Mae'n mynd i gymryd peth nifer o eiliadau, neu microseconds, i 1607 01:05:39,530 --> 01:05:41,510 rhedeg, ond nid yw'n mewn gwirionedd yn gwneud unrhyw beth 1608 01:05:41,510 --> 01:05:42,770 ddefnyddiol ar gyfer y bobl. 1609 01:05:42,770 --> 01:05:46,810 >> Felly, gadewch i ni mewn gwirionedd nawr ar agor math2, lle erbyn hyn rwy'n mewn gwirionedd 1610 01:05:46,810 --> 01:05:48,250 argraffu y canlyniad. 1611 01:05:48,250 --> 01:05:51,260 Felly, mae hyn hefyd yn gallu cael ei gasglu gan ein enghreifftiau blaenorol. 1612 01:05:51,260 --> 01:05:54,320 Os ydw i eisiau i wneud ychydig o fathemateg syml, int x = 1, y 1613 01:05:54,320 --> 01:05:56,820 = 2. z yw 1 a 2 awr. 1614 01:05:56,820 --> 01:05:59,240 Beth mae hyn yn mynd i argraffu amlwg? 1615 01:05:59,240 --> 01:06:00,120 Dim ond 3. 1616 01:06:00,120 --> 01:06:01,590 Felly sanity cyflym gwirio. 1617 01:06:01,590 --> 01:06:03,830 Gadewch i mi symud i mewn i'r cyfeiriadur. 1618 01:06:03,830 --> 01:06:06,480 Felly, cd source1m. 1619 01:06:06,480 --> 01:06:09,370 Gadewch i mi fynd yn ei flaen a theipiwch gwneud math2. 1620 01:06:09,370 --> 01:06:11,510 Dim negeseuon gwall ddaeth allan, felly gadewch i mi redeg - 1621 01:06:11,510 --> 01:06:14,800 Nid yw a.out--gadewch i mi redeg math2. Enter. 1622 01:06:14,800 --> 01:06:16,750 Ac yn wir, mae'n hargraffu 3. 1623 01:06:16,750 --> 01:06:18,460 Wel gadewch i ni edrych ar amrywiad o hyn. 1624 01:06:18,460 --> 01:06:23,870 Yn math3.c, mae gennym bellach yr enghraifft hon yma. 1625 01:06:23,870 --> 01:06:26,540 >> Mor garedig hyn yn un o ddiddorol. 1626 01:06:26,540 --> 01:06:32,000 Felly, yn yr un yma, ateb yn mynd i gael 1 wedi'i rannu â 10, 1627 01:06:32,000 --> 01:06:33,910 ac yn sylwi Rwyf wedi datgan fel fflôt. 1628 01:06:33,910 --> 01:06:35,200 Pam ydw i am iddo fod yn arnofio? 1629 01:06:35,200 --> 01:06:36,110 Wel, mae'n ffracsiwn. 1630 01:06:36,110 --> 01:06:37,140 Mae'n mynd i fod yn rhif real. 1631 01:06:37,140 --> 01:06:40,970 Felly, mae'n mynd i fod yn 0.1, gobeithio - 10%, yn yr achos hwn. 1632 01:06:40,970 --> 01:06:42,610 A beth ydw i'n yna am argraffu? 1633 01:06:42,610 --> 01:06:43,440 Wel, yr ateb hwn. 1634 01:06:43,440 --> 01:06:44,760 Wel, gadewch i ni canfod y rhain ar wahân yn gyntaf. 1635 01:06:44,760 --> 01:06:47,020 Felly, ar yr ochr chwith, ddatgan bod 1636 01:06:47,020 --> 01:06:49,410 arnofio, ei alw'n ateb. 1637 01:06:49,410 --> 01:06:52,280 Ar yr ochr llaw dde, peidiwch 1 wedi'i rannu gyda 10 ac yn rhoi y 1638 01:06:52,280 --> 01:06:54,370 ateb y tu mewn y newidyn. 1639 01:06:54,370 --> 01:06:56,410 Yn awr, y llinell hon yn edrych ychydig yn fwy cryptig. 1640 01:06:56,410 --> 01:06:59,440 Ond yn sylwi ar rai nodweddion cyfarwydd. % Yn golygu yma daw 1641 01:06:59,440 --> 01:07:00,490 dalfan. 1642 01:07:00,490 --> 01:07:03,230 f golygu dyma Gwerth pwynt arnawf, dim ond go iawn 1643 01:07:03,230 --> 01:07:05,490 rhif, rhywbeth gyda phwynt degol. 1644 01:07:05,490 --> 01:07:07,330 0.2 dulliau beth? 1645 01:07:07,330 --> 01:07:10,740 Dylai unrhyw un yn gwybod o brofiad blaenorol? 1646 01:07:10,740 --> 01:07:12,010 Ddau le degol. 1647 01:07:12,010 --> 01:07:14,050 Felly, nid ydym wedi gweld hyn o'r blaen, ond mae'r un ffordd o 1648 01:07:14,050 --> 01:07:16,360 arfer rheolaeth ychydig yn fwy dros printf a 1649 01:07:16,360 --> 01:07:20,840 Nid ddywediad yn rhoi i mi 30 pwynt ar ôl y pwynt degol, 1650 01:07:20,840 --> 01:07:22,490 yn lle hynny yn rhoi i mi yn unig 2. 1651 01:07:22,490 --> 01:07:23,960 >> Ac yna gadewch i ni fynd yn ei flaen ac yn rhedeg y. 1652 01:07:23,960 --> 01:07:30,160 Felly gwnewch mathemateg 3, ac yn awr gad i mi redeg mathemateg 3, Enter. 1653 01:07:30,160 --> 01:07:34,630 Ac nid yw hynny'n gywir. 1654 01:07:34,630 --> 01:07:37,390 Rydym yn ymddangos i wedi dod ar draws ein bug 1 dilys. 1655 01:07:37,390 --> 01:07:39,400 Wel, efallai ydw i'n jyst yn edrych yn ddigon agos. 1656 01:07:39,400 --> 01:07:41,960 Felly, gadewch i mi fynd i fyny yma, a gadewch imi roi 20 degol 1657 01:07:41,960 --> 01:07:43,300 lleoedd pwynt yno. 1658 01:07:43,300 --> 01:07:47,950 A gadewch i mi lunio hyn, gwnewch math3, rhedeg. 1659 01:07:47,950 --> 01:07:50,960 Pretty yn siwr nad yw 1 wedi'i rannu gan 10 yw 0. 1660 01:07:50,960 --> 01:07:54,270 Felly beth sy'n mynd ymlaen? 1661 01:07:54,270 --> 01:07:56,740 Wel iawn, felly mewn gwirionedd nid oes rhaid iddo wneud â hyn. 1662 01:07:56,740 --> 01:07:57,600 Dyna syniad da. 1663 01:07:57,600 --> 01:07:59,140 Mae hyn yn wir dim ond cyd-ddigwyddiad 1664 01:07:59,140 --> 01:08:00,220 ein bod yn gwneud hyn. 1665 01:08:00,220 --> 01:08:02,010 Ond dim ond i brofi nad yw hyn yn ei, 'n annhymerus' 1666 01:08:02,010 --> 01:08:03,160 dychwelyd rhywbeth ar hap. 1667 01:08:03,160 --> 01:08:05,160 Peidiwch â gwneud hyn yn y cartref, oherwydd ei fod o ddim yn iawn. 1668 01:08:05,160 --> 01:08:08,000 Ond gwnewch math3, gadewch i mi redeg. 1669 01:08:08,000 --> 01:08:10,690 Felly, wedi ddim i'w wneud â'r hyn yr wyf i'n dychwelyd, dim ond i wneud 1670 01:08:10,690 --> 01:08:11,940 gyda'r hyn yr wyf i'n argraffu. 1671 01:08:11,940 --> 01:08:14,150 Ond yr wyf yn clywed ei fod i lawr yma. 1672 01:08:14,150 --> 01:08:15,270 Beth? 1673 01:08:15,270 --> 01:08:17,524 GYNULLEIDFA: Felly mae angen i ysgrifennu'r rhifau yn 1674 01:08:17,524 --> 01:08:19,680 yr is-adran fel - 1675 01:08:19,680 --> 01:08:20,319 >> DAVID Malan: Iawn da. 1676 01:08:20,319 --> 01:08:22,810 Felly mae angen i ysgrifennu'r rhifau cymryd rhan yn y 1677 01:08:22,810 --> 01:08:25,979 adran yma fel pwynt arnawf gwerthfawrogi eu hunain. 1678 01:08:25,979 --> 01:08:29,359 Felly, y broblem yma yw fel o'r blaen: C, fel gyda llawer o 1679 01:08:29,359 --> 01:08:31,819 ieithoedd, mae fathau data gwahanol. 1680 01:08:31,819 --> 01:08:34,600 A'r rhai mathau data, er enghraifft, a yw'r rhain yma. 1681 01:08:34,600 --> 01:08:37,430 A'r mathau data dan sylw yma, pan oeddwn math 1 ac yna fe 1682 01:08:37,430 --> 01:08:40,870 math 10, yn ôl pob tebyg pa fathau data? 1683 01:08:40,870 --> 01:08:42,170 Felly, mae'n fwy na thebyg yn int, dde? 1684 01:08:42,170 --> 01:08:44,149 Nid yw'n bendant fflôt am nad oes degol 1685 01:08:44,149 --> 01:08:45,460 pwynt neu unrhyw beth fel 'na. 1686 01:08:45,460 --> 01:08:48,270 Felly mewn gwirionedd, mae gennyf int rannu gan int. 1687 01:08:48,270 --> 01:08:52,160 >> Felly, y peth diddorol am mathemateg a chyfrifiadur yw bod 1688 01:08:52,160 --> 01:08:54,840 os ydych chi'n gwneud is-adran gan ddefnyddio cyfanrifau - 1689 01:08:54,840 --> 01:08:57,310 1 wedi'i rannu â 10, ie yn 0.1. 1690 01:08:57,310 --> 01:09:01,420 Fodd bynnag, pan fyddwch yn rhannu'r cyfanrif gan gyfanrif, y 1691 01:09:01,420 --> 01:09:06,859 ateb wedi hefyd i fod yn gyfanrif dim ond oherwydd, ar hyn o bryd. 1692 01:09:06,859 --> 01:09:08,630 A beth yw'r goblygiadau hynny? 1693 01:09:08,630 --> 01:09:13,640 Wel, os yw'r ateb yn cael ei rannu 1 erbyn 10 yn dychwelyd 0.1, beth 1694 01:09:13,640 --> 01:09:15,680 y cyfrifiadur yn mynd i wneud yw Nid oes gennyf unrhyw syniad sut i 1695 01:09:15,680 --> 01:09:19,270 cynrychioli 0.1, oherwydd dyna gwerth pwynt nid fel y bo'r angen, yn 1696 01:09:19,270 --> 01:09:21,910 cyfanrif, mae'n mynd i dorri i ffwrdd popeth ar ôl y 1697 01:09:21,910 --> 01:09:27,470 pwynt degol a dim ond dangos i chi y 0 ar y dechrau. 1698 01:09:27,470 --> 01:09:29,540 Ac mae'r ffaith ei fod yn argraffu fel pwynt arnawf 1699 01:09:29,540 --> 01:09:31,200 werth, dim ond yn beth esthetig. 1700 01:09:31,200 --> 01:09:34,279 Mae hynny am fy mod i'n gorfodi y cyfrifiadur i argraffu hwn fel 1701 01:09:34,279 --> 01:09:35,229 fel y bo'r angen gwerth pwynt. 1702 01:09:35,229 --> 01:09:37,720 Ac yn wir yr wyf wedi datgan fel fflôt, ond y mathemateg yn 1703 01:09:37,720 --> 01:09:39,010 digwydd dros yma. 1704 01:09:39,010 --> 01:09:41,859 >> Felly, gadewch i mi mewn gwirionedd yn atgyweiria hon yn un ffordd eithaf hawdd. 1705 01:09:41,859 --> 01:09:45,250 Pam nad ydw i'n jyst yn ei wneud 10.0 a 1.0, er bod 1706 01:09:45,250 --> 01:09:47,609 dechnegol y gallwn i fynd i ffwrdd gyda dim ond gwneud un o'r rheiny. 1707 01:09:47,609 --> 01:09:50,630 Nawr, gadewch i mi fynd ymlaen a gwneud math3. 1708 01:09:50,630 --> 01:09:56,350 Gadewch i mi fynd yn ei flaen ac yn awr yn rhedeg math3, Enter. 1709 01:09:56,350 --> 01:09:57,500 Ac yn awr, oh bachgen. 1710 01:09:57,500 --> 01:10:00,050 Nawr mae gennym broblem newydd yn gyfan gwbl. 1711 01:10:00,050 --> 01:10:05,600 Felly well, ar y dde, rydym ni'n agosach at 0.1, ond beth yn amlwg yn 1712 01:10:05,600 --> 01:10:06,240 o'i le yma? 1713 01:10:06,240 --> 01:10:08,260 Oni bai ein bod wedi bod yn gorwedd i chi am flynyddoedd, dde? 1714 01:10:08,260 --> 01:10:13,660 1 wedi'i rannu gan 10 mewn gwirionedd ddim yn hollol 0.1, felly beth 1715 01:10:13,660 --> 01:10:14,700 wir yn mynd ymlaen yma? 1716 01:10:14,700 --> 01:10:16,420 Wel gallwch fath o reswm drwy hyn yn rhesymegol. 1717 01:10:16,420 --> 01:10:19,200 Os cyfrifiadur dim ond swm cyfyngedig o RAM i ddechrau 1718 01:10:19,200 --> 01:10:23,530 gyda, ac yn wir cyfrifiadur dim ond yn defnyddio 32 catiau ar gyfer 1719 01:10:23,530 --> 01:10:26,200 fel y bo'r angen gwerth pwynt, mae'n sefyll i resymu bod gyda 1720 01:10:26,200 --> 01:10:29,870 nifer cyfyngedig o ddarnau, 32 yn yr achos hwn, ie, gallwch 1721 01:10:29,870 --> 01:10:31,050 cynrychioli llawer o bethau. 1722 01:10:31,050 --> 01:10:33,220 Mae'n mewn gwirionedd yw y gall 4000000000 werthoedd gwahanol fod yn 1723 01:10:33,220 --> 01:10:38,040 cynrychioli gyda 32 darnau, 2 i 32, ond mae'n dal i fod cyfyngedig. 1724 01:10:38,040 --> 01:10:40,730 Felly, y broblem yw mae 'na nifer anfeidrol o go iawn 1725 01:10:40,730 --> 01:10:41,370 rhifau, ar y dde. 1726 01:10:41,370 --> 01:10:43,560 Os ydych yn rhoi i mi yn rhif real, gallaf bob amser yn dod o hyd i un i chi 1727 01:10:43,560 --> 01:10:46,080 ychydig yn fwy, ychydig yn llai, gan ddim ond tweaking y 1728 01:10:46,080 --> 01:10:47,970 niferoedd sydd yn ôl y pwynt degol. 1729 01:10:47,970 --> 01:10:50,870 Felly, os nad oes gennych nifer anfeidrol o ddarnau, byddwch yn 1730 01:10:50,870 --> 01:10:52,940 ni all o bosibl yn cynrychioli ddiddiwedd 1731 01:10:52,940 --> 01:10:54,800 nifer o rifau real. 1732 01:10:54,800 --> 01:10:58,090 >> Felly, mae hyn yn anfanyldeb gynhenid ​​mewn cyfrifiaduron, ac 1733 01:10:58,090 --> 01:11:00,930 mae hyn yn cael ei baglu dros yr holl amser hyd yn oed yn y symlaf o 1734 01:11:00,930 --> 01:11:02,260 rhaglenni fel hyn. 1735 01:11:02,260 --> 01:11:05,640 Ond hefyd mewn rhai problemau byd go iawn yn ogystal. 1736 01:11:05,640 --> 01:11:07,790 Yn wir, gadewch i ni gymryd eiliad i fwrw golwg ar 1737 01:11:07,790 --> 01:11:09,530 rhywbeth sydd mewn gwirionedd yn digwydd mewn gwirionedd. 1738 01:11:09,530 --> 01:11:11,620 Byddwn yn gwylio yn unig yr ychydig cyntaf o funudau, ac yna 1739 01:11:11,620 --> 01:11:13,270 byddwn yn postio ar-lein cyswllt. 1740 01:11:13,270 --> 01:11:16,700 Ond mae hyn yn dyst i'r union beth fynd o'i le, yn eithaf 1741 01:11:16,700 --> 01:11:19,680 yn onest, mewn ffordd drist iawn pan nad yw'r pethau hyn yn 1742 01:11:19,680 --> 01:11:23,870 gwerthfawrogi neu ddim ond rydym yn bodau dynol yn gwneud camgymeriadau pan ddaw i 1743 01:11:23,870 --> 01:11:26,792 manylion o'r fath yn gweithredu o gyfrifiaduron modern. 1744 01:11:26,792 --> 01:11:27,284 >> [CHWARAE VIDEO] 1745 01:11:27,284 --> 01:11:30,730 -Rydym yn awr yn dychwelyd i drychinebau peirianneg ar Marvels Modern. 1746 01:11:30,730 --> 01:11:32,200 Cyfrifiaduron. 1747 01:11:32,200 --> 01:11:34,920 Rydym i gyd wedi dod i dderbyn y problemau yn aml yn rhwystredig 1748 01:11:34,920 --> 01:11:36,750 sy'n mynd gyda nhw. 1749 01:11:36,750 --> 01:11:40,690 Pryfed, firysau, a glitches meddalwedd yn bris bach i 1750 01:11:40,690 --> 01:11:42,550 talu am y cyfleustra. 1751 01:11:42,550 --> 01:11:45,170 Ond mewn milwrol cyflymder uwch-dechnoleg ac uchel a gofod 1752 01:11:45,170 --> 01:11:48,450 ceisiadau rhaglen, gall y broblem fod yn lleiaf 1753 01:11:48,450 --> 01:11:52,220 chwyddo i mewn i drychineb. 1754 01:11:52,220 --> 01:11:56,780 Ar Fehefin 4, 1996, gwyddonwyr yn barod i lansio di-griw 1755 01:11:56,780 --> 01:11:58,430 Ariane 5 roced. 1756 01:11:58,430 --> 01:12:00,750 Roedd yn cario lloerennau gwyddonol a gynlluniwyd i 1757 01:12:00,750 --> 01:12:03,580 canfod faint yn union faes magnetig y ddaear 1758 01:12:03,580 --> 01:12:06,900 rhyngweithio gyda gwyntoedd solar. 1759 01:12:06,900 --> 01:12:10,330 Mae'r roced ei adeiladu ar gyfer yr Asiantaeth Ofod Ewropeaidd a 1760 01:12:10,330 --> 01:12:13,450 godi oddi ar ei gyfleuster ar arfordir Ffrainc Guyana. 1761 01:12:13,450 --> 01:12:16,970 >> -Ar am tua 37 eiliad i mewn i'r awyren, yn gyntaf 1762 01:12:16,970 --> 01:12:19,700 rhywbeth sylwi yn mynd o'i le, bod y nozzles oedd 1763 01:12:19,700 --> 01:12:21,590 swiveling mewn ffordd y maent ddim wir dylai. 1764 01:12:21,590 --> 01:12:25,020 Mae tua 40 eiliad i mewn i'r awyren, mae'n amlwg y cerbyd 1765 01:12:25,020 --> 01:12:27,340 oedd mewn trafferthion, a dyna pan fyddant yn gwneud y penderfyniad i 1766 01:12:27,340 --> 01:12:28,136 ddinistrio. 1767 01:12:28,136 --> 01:12:31,450 Mae ystod swyddog diogelwch gyda dewrder aruthrol pwyso y 1768 01:12:31,450 --> 01:12:34,160 botwm, chwythu i fyny y roced cyn y gallai ddod yn 1769 01:12:34,160 --> 01:12:37,470 peryglon i ddiogelwch y cyhoedd. 1770 01:12:37,470 --> 01:12:40,750 >> -Hwn oedd y fordaith gyntaf y Ariane 5, ac mae ei 1771 01:12:40,750 --> 01:12:43,990 dinistrio Cynhaliwyd oherwydd nam wreiddio yn y 1772 01:12:43,990 --> 01:12:45,480 roced meddalwedd. 1773 01:12:45,480 --> 01:12:47,660 >> -Y broblem ar y Ariane oedd bod nifer y 1774 01:12:47,660 --> 01:12:51,245 gwneud yn ofynnol i 64 did i fynegi ac roedden nhw am i drosi ei 1775 01:12:51,245 --> 01:12:53,010 i rhif 16 bit. 1776 01:12:53,010 --> 01:12:54,900 Maent yn cymryd yn ganiataol na chafodd y nifer yn 1777 01:12:54,900 --> 01:12:56,280 mynd i fod yn fawr iawn, 1778 01:12:56,280 --> 01:12:59,920 bod y rhan fwyaf o'r rhai digidau mewn rhif 64 bit yn 0au. 1779 01:12:59,920 --> 01:13:01,860 Eu bod yn anghywir. 1780 01:13:01,860 --> 01:13:04,550 >> -Mae anallu un rhaglen feddalwedd i dderbyn y 1781 01:13:04,550 --> 01:13:07,730 math o nifer a gynhyrchir gan un arall oedd wrth wraidd y 1782 01:13:07,730 --> 01:13:08,930 y methiant. 1783 01:13:08,930 --> 01:13:11,490 Datblygu meddalwedd wedi dod yn rhan gostus iawn o 1784 01:13:11,490 --> 01:13:13,280 dechnoleg newydd. 1785 01:13:13,280 --> 01:13:16,530 Mae'r 4 Ariane roced wedi bod yn llwyddiannus iawn. 1786 01:13:16,530 --> 01:13:19,100 Felly, mae llawer o'r meddalwedd a grëwyd ar gyfer ei ddefnyddio hefyd 1787 01:13:19,100 --> 01:13:21,050 yn y Ariane 5. 1788 01:13:21,050 --> 01:13:25,530 >> -Y broblem sylfaenol oedd bod y Ariane 5 yn gyflymach, 1789 01:13:25,530 --> 01:13:27,280 cyflymu gyflymach. 1790 01:13:27,280 --> 01:13:30,590 Ac nid yw'r meddalwedd wedi cyfrif am hynny. 1791 01:13:30,590 --> 01:13:33,060 >> -Mae dinistrio y roced yn ariannol enfawr 1792 01:13:33,060 --> 01:13:37,670 trychineb, i gyd oherwydd gwall meddalwedd munud. 1793 01:13:37,670 --> 01:13:40,750 Ond nid hwn oedd y tro cyntaf phroblemau trosi data wedi 1794 01:13:40,750 --> 01:13:43,680 plagued dechnoleg fodern roced. 1795 01:13:43,680 --> 01:13:44,390 >> DAVID Malan: Byddwn yn gadael ar hynny. 1796 01:13:44,390 --> 01:13:46,870 Ond mae hyn yn brawf yn union pa mor berthnasol hyd yn oed rhai o'r 1797 01:13:46,870 --> 01:13:48,750 manylion hyn ar lefel isaf ein bod wedi dechrau 1798 01:13:48,750 --> 01:13:50,040 archwilio heddiw. 1799 01:13:50,040 --> 01:13:52,510 Felly, hyd yn oed wrth i chi fynd ychydig yn canolbwyntio ar y ffordd efallai drwy rai o'r 1800 01:13:52,510 --> 01:13:55,240 y cystrawen a arcaneness yma, yn sylweddoli bod dros y 1801 01:13:55,240 --> 01:13:57,690 tymor byddwn yn canolbwyntio yn unig ar pa mor berthnasol yw hyn i 1802 01:13:57,690 --> 01:13:59,530 byd ymhell y tu hwnt CS. 1803 01:13:59,530 --> 01:14:00,780 Byddwn yn eich gweld ar ddydd Mercher.