1 00:00:08,119 --> 00:00:11,630 [Powered by Google Translate] DAVID J. Malan: pob hawl, mae hyn yn CS50, a dyma'r 2 00:00:11,630 --> 00:00:14,790 ddechrau'r wythnos dau. 3 00:00:14,790 --> 00:00:16,300 Diolch yn fawr. 4 00:00:16,300 --> 00:00:19,000 Gadewch i ni ddechrau yma gyda galwad ffôn. 5 00:00:19,000 --> 00:00:30,005 Rwy'n ar fin i ffonio 617-BUG-CS50. 6 00:00:30,005 --> 00:00:31,230 CS50: Mae hwn yn CS50. 7 00:00:31,230 --> 00:00:33,930 Er Boy Shuttle, pwyswch 1. 8 00:00:33,930 --> 00:00:36,660 I ddechrau eto, pwyswch 9. 9 00:00:36,660 --> 00:00:38,180 DAVID J. Malan: Felly efe a ddywedodd ar gyfer Boy Shuttle i'r wasg 1. 10 00:00:38,180 --> 00:00:41,560 Felly, rydym yn mynd i'r wasg 1. 11 00:00:41,560 --> 00:00:43,230 CS50: Beth yw eich tarddiad? 12 00:00:43,230 --> 00:00:45,340 Am cwad, y wasg 1. 13 00:00:45,340 --> 00:00:47,080 Mather, y wasg 2. 14 00:00:47,080 --> 00:00:49,240 Boylston, y wasg 3. 15 00:00:49,240 --> 00:00:51,280 Lamont, y wasg 4. 16 00:00:51,280 --> 00:00:53,210 Mem Hall, y wasg 5. 17 00:00:53,210 --> 00:00:55,660 I ddechrau eto, pwyswch 0. 18 00:00:55,660 --> 00:00:59,590 DAVID J. Malan: Byddwn yn pwyso 1 am quad. 19 00:00:59,590 --> 00:01:03,610 CS50: gwennol nesaf yn gadael y funud 1:10 PM, a 20 00:01:03,610 --> 00:01:09,820 yna ar 1:20, 1:30 PM, 13:40. 21 00:01:09,820 --> 00:01:12,030 Mae hyn yn CS50. 22 00:01:12,030 --> 00:01:15,570 >> DAVID J. Malan: Felly mae hyn yn CS50 llais. 23 00:01:15,570 --> 00:01:18,030 Ac mae'n enghraifft o'r mathau o brosiectau terfynol, ar gyfer 24 00:01:18,030 --> 00:01:19,500 enghraifft, gallwch cnoi i ffwrdd tuag at 25 00:01:19,500 --> 00:01:20,600 ddiwedd y semester. 26 00:01:20,600 --> 00:01:23,840 Er enghraifft, bod shuttleboy.cs50.net yn bodoli - 27 00:01:23,840 --> 00:01:28,200 mewn gwirionedd prosiect sy'n tro cyntaf i mi ysgrifennu ar ôl cymryd CS51 28 00:01:28,200 --> 00:01:29,740 yn ôl pan oeddwn yn fyfyriwr israddedig. 29 00:01:29,740 --> 00:01:32,250 Ac mae'r ysbrydoliaeth yma oedd bryd hynny, y cyfan oedd ganddyn nhw ddim 30 00:01:32,250 --> 00:01:34,320 y argraffu amserlenni bws gwennol, ac nid oedd unrhyw 31 00:01:34,320 --> 00:01:35,970 syniad o edrych pethau fyny ar-lein. 32 00:01:35,970 --> 00:01:38,730 Ac felly yr wyf fath o golomen mewn un penwythnos, arllwys drwy 33 00:01:38,730 --> 00:01:41,460 argraffu amserlen, a borthi i raglen gyfrifiadurol. 34 00:01:41,460 --> 00:01:43,790 Ar y pryd, y rhaglen gyfrifiadurol yn digwydd i gael ei ysgrifennu 35 00:01:43,790 --> 00:01:47,110 yn C. A ydych mewn gwirionedd yn rhedeg iddo gan Boy Shuttle deipio mewn 36 00:01:47,110 --> 00:01:48,600 amrantu ysgogi fel yr ydym wedi bod yn ei wneud hyd yn hyn. 37 00:01:48,600 --> 00:01:50,450 Ond dros y blynyddoedd, mae wedi esblygu i mewn amrantiad 38 00:01:50,450 --> 00:01:51,390 negeseuon bot. 39 00:01:51,390 --> 00:01:53,970 Mae'n esblygu yn fwy diweddar yn y wefan hon, i fod yn 40 00:01:53,970 --> 00:01:57,720 SMS-seiliedig ar offeryn, yn ogystal ag i mewn i'r offeryn llais-seiliedig. 41 00:01:57,720 --> 00:02:00,170 Ac mae hyn yn i awgrym ar y mathau o bethau y gallwch 42 00:02:00,170 --> 00:02:02,380 ei wneud i chi eich hun erbyn diwedd semester. 43 00:02:02,380 --> 00:02:05,490 >> Er enghraifft, yno, y fersiwn SMS o Boy Shuttle yn digwydd 44 00:02:05,490 --> 00:02:06,510 i weithredu fel a ganlyn. 45 00:02:06,510 --> 00:02:10,880 Os, ar eich ffôn cell, rydych yn anfon neges destun i 41411 a 46 00:02:10,880 --> 00:02:14,300 wedyn yn anfon y sboy symbol arbennig, ar gyfer Boy Shuttle, 47 00:02:14,300 --> 00:02:18,350 ddilyn gan A a B, lle mae A yn tarddiad a B yn 48 00:02:18,350 --> 00:02:19,070 cyrchfan - 49 00:02:19,070 --> 00:02:21,030 er enghraifft, Boylston Space Quad - 50 00:02:21,030 --> 00:02:23,330 beth ddylech ei gael yn ôl o fewn ychydig eiliadau yn destun 51 00:02:23,330 --> 00:02:25,820 neges gan Boy Shuttle yn dweud wrthych pryd yn union y 52 00:02:25,820 --> 00:02:28,990 gwennol ychydig nesaf, o'r pwynt A o fynd i'r 53 00:02:28,990 --> 00:02:29,640 pwynt B. 54 00:02:29,640 --> 00:02:32,510 Ac mae hyn yn enghraifft fwy cyffredinol o'r hyn a elwir yn 55 00:02:32,510 --> 00:02:33,920 defnyddio API. 56 00:02:33,920 --> 00:02:36,930 >> Felly, er enghraifft, mae hyn yma yn unig shuttleboy.cs50.net, y 57 00:02:36,930 --> 00:02:39,300 gwirioneddol ar y we ymgnawdoliad o hyn. 58 00:02:39,300 --> 00:02:42,480 Ond mae'r data sy'n tanlinellu'r apps hwn ac eraill sy'n CS50 59 00:02:42,480 --> 00:02:45,560 wedi datblygu yn cael eu hamlygu i gyd i bawb yma yn y ffurflen 60 00:02:45,560 --> 00:02:49,340 o APIs, rhyngwynebau rhaglennu cais. 61 00:02:49,340 --> 00:02:52,220 A dim ond ffordd ffansi o ddweud bod pobl yn hoffi ydym ni ar 62 00:02:52,220 --> 00:02:56,010 y Rhyngrwyd ac eraill wedi treulio peth amser yn creu 63 00:02:56,010 --> 00:02:59,970 meddalwedd y gallwch eu defnyddio er mwyn i dynnu data oddi wrthym ni a 64 00:02:59,970 --> 00:03:02,510 yna adeiladu eich ceisiadau eu hunain ar ben 65 00:03:02,510 --> 00:03:03,840 y set data. 66 00:03:03,840 --> 00:03:06,610 Felly, er enghraifft, y dudalen hon Boy Shuttle API yma, sy'n 67 00:03:06,610 --> 00:03:09,390 digwydd bod yn y llawlyfr CS50, yn y bôn dogfennau 68 00:03:09,390 --> 00:03:13,080 sut y gallwch fynd ati i ofyn CS50 gweinyddion ar gyfer data. 69 00:03:13,080 --> 00:03:16,240 Er enghraifft, os ydych chi'n gyfarwydd â CSV ffeil, coma 70 00:03:16,240 --> 00:03:18,940 gwahanu gwerthoedd, mae'r rhain yn unig fath o gyflym ac yn frwnt 71 00:03:18,940 --> 00:03:20,310 Excel tebyg i ffeiliau. 72 00:03:20,310 --> 00:03:23,110 Felly, gallwch ofyn Boy Shuttle ar gyfer yr holl ddata ar bob un o'r 73 00:03:23,110 --> 00:03:25,090 tai a'u cyfesurynnau GPS, a byddwch yn cael 74 00:03:25,090 --> 00:03:27,300 yn ôl, yn ei hanfod, taenlen fel hynny y mae 75 00:03:27,300 --> 00:03:30,820 gallwch wedyn ddarllen i mewn i raglen eich hun ac yna 76 00:03:30,820 --> 00:03:33,250 cynhyrchu canlyniadau, fel Boy Shuttle ei hun 77 00:03:33,250 --> 00:03:34,160 digwydd i fod yn ei wneud. 78 00:03:34,160 --> 00:03:37,030 I'r rhai mwy cyfarwydd, yn fwy modern sylwadau data 79 00:03:37,030 --> 00:03:39,420 cynnwys JSON, Nodiant Gwrthrych JavaScript. 80 00:03:39,420 --> 00:03:40,620 Bydd rhywbeth yn dod yn ôl i chi tuag at 81 00:03:40,620 --> 00:03:41,720 ddiwedd y semester. 82 00:03:41,720 --> 00:03:45,440 >> Ond unwaith eto, mae hyn yn un o nifer o APIs CS50 ei hun. 83 00:03:45,440 --> 00:03:48,320 A'r peth cyffrous yn awr, y dyddiau hyn, Facebook a 84 00:03:48,320 --> 00:03:51,110 Twitter a Google a 'n bert lawer pob gwefan boblogaidd y tu allan 85 00:03:51,110 --> 00:03:54,130 mae wedi rhyw fath o API, sy'n golygu os ydych yn darllen y 86 00:03:54,130 --> 00:03:56,620 dogfennau ar eu gwefan, i chi gofrestru ar gyfer 87 00:03:56,620 --> 00:03:59,980 cyfrif, yna gallwch ddechrau ysgrifennu meddalwedd ar ben 88 00:03:59,980 --> 00:04:03,680 beth bynnag offer neu ddata y cwmni yno yn eu darparu. 89 00:04:03,680 --> 00:04:06,210 Ac felly un o'n cymrodyr addysgu eu hunain cwpl o flynyddoedd yn ôl 90 00:04:06,210 --> 00:04:07,620 Ysgrifennodd fersiwn Mac o hyn. 91 00:04:07,620 --> 00:04:10,990 Felly, ar y ddolen sy'n dwyn y teitl Mac yma ar y chwith uchaf, gallwch mewn gwirionedd 92 00:04:10,990 --> 00:04:13,940 lawrlwytho widget OS Mac sy'n rhedeg ar Mac yn berchen ar eich i wneud y 93 00:04:13,940 --> 00:04:15,040 un math o bethau. 94 00:04:15,040 --> 00:04:17,970 Felly mae'n cyfan yn ymwneud â adeiladu ar ben setiau data fel y rhain. 95 00:04:17,970 --> 00:04:21,839 Ond mwy am hynny tuag at ddiwedd y semester. 96 00:04:21,839 --> 00:04:25,780 >> Felly, gadewch i ddeifio yn gyflym go iawn i nam, dim ond i fath o gael 97 00:04:25,780 --> 00:04:27,990 pethau cynhesu i fyny heddiw, ac yn meddwl yn ôl ar rai o'r 98 00:04:27,990 --> 00:04:29,660 pethau yr ydym yn edrych ar yr wythnos diwethaf. 99 00:04:29,660 --> 00:04:32,840 Yn arbennig, gadewch i mi fynd yn ei flaen a thynnu i fyny, yn dweud, 100 00:04:32,840 --> 00:04:34,080 yr enghraifft hon yma. 101 00:04:34,080 --> 00:04:37,500 Buggy1.c, mae hwn ar gael ar wefan y cwrs os hoffech 102 00:04:37,500 --> 00:04:40,250 yn hoffi lawrlwytho a brocio o gwmpas eich hun. 103 00:04:40,250 --> 00:04:43,520 Ond gadewch i chwyddo i mewn yma yn y rhaglen hon weddol fyr, a dim ond 104 00:04:43,520 --> 00:04:46,550 yn ailadrodd super-cyflym o rai o'r blociau adeiladu sylfaenol sy'n 105 00:04:46,550 --> 00:04:48,880 ydym yn wir yn mynd i dim ond dechrau cymryd yn ganiataol. 106 00:04:48,880 --> 00:04:51,860 >> Felly, y pethau glas, yn llinellau 1 i 9, yn unig 107 00:04:51,860 --> 00:04:53,670 cwestiynau pêl feddal. 108 00:04:53,670 --> 00:04:54,590 Felly, mae'r rhain yn dim ond sylwadau. 109 00:04:54,590 --> 00:04:56,230 Nid oes ganddynt ystyr swyddogaethol. 110 00:04:56,230 --> 00:04:58,460 Ond maen nhw'n sylwadau yn yr ystyr eu bod yn nodi bod 111 00:04:58,460 --> 00:05:02,010 Yr wyf fi, y dynol, a wnaed i mi fy hun fel bod mewn darlithoedd ac ar ôl 112 00:05:02,010 --> 00:05:04,340 ddarlith, gallaf gofio mewn gwirionedd beth mae hyn yn rhaglen 113 00:05:04,340 --> 00:05:07,120 gwneud heb orfod darllen drwyddo fesul llinell a 114 00:05:07,120 --> 00:05:08,990 ail-greu hanes yn fy meddwl. 115 00:05:08,990 --> 00:05:11,000 Ar ben hynny, os wyf yn llaw y rhaglen hon i rywun arall, fel 116 00:05:11,000 --> 00:05:14,420 chi, mae'n llawer cliriach i chi, oherwydd o sylwadau fel hyn, 117 00:05:14,420 --> 00:05:16,680 hyn y mae'r rhaglen mewn gwirionedd yn ei wneud, neu o leiaf yr hyn y 118 00:05:16,680 --> 00:05:18,210 rhaglen i fod i gael ei wneud. 119 00:05:18,210 --> 00:05:20,760 P'un a yw ei fod yn gywir yn fater arall yn gyfan gwbl. 120 00:05:20,760 --> 00:05:25,040 Yn awr, yn C, gydag aml-linell sylwadau, yn cofio bod ar-lein 121 00:05:25,040 --> 00:05:27,880 un yma yn y symbol hud, / *. 122 00:05:27,880 --> 00:05:30,380 Mae'n golygu yma hon y dechrau o sylw. 123 00:05:30,380 --> 00:05:34,560 A dim byd arall sy'n bwysig nes i chi gyrraedd diwedd y terminator, 124 00:05:34,560 --> 00:05:36,700 sydd yn * /, y gwrthwyneb. 125 00:05:36,700 --> 00:05:39,120 Felly, mae'r ffaith fod gennyf 80-rhai o sêr od yma o 126 00:05:39,120 --> 00:05:41,550 o'r chwith i'r dde yn wirioneddol yn unig manylion esthetig. 127 00:05:41,550 --> 00:05:43,370 Nid oes ganddo unrhyw ystyr swyddogaethol. 128 00:05:43,370 --> 00:05:44,490 >> Nawr beth am llinell 11? 129 00:05:44,490 --> 00:05:46,940 Beth mae hyn yn ei wneud yn nhermau lleygwr? 130 00:05:51,560 --> 00:05:52,540 Beth sy'n bod? 131 00:05:52,540 --> 00:05:54,280 GYNULLEIDFA: Yn cynnwys y safon. 132 00:05:54,280 --> 00:05:54,740 DAVID J. Malan: OK, yn dda. 133 00:05:54,740 --> 00:05:57,500 Felly, mae'n cynnwys y llyfrgell stdio.h. 134 00:05:57,500 --> 00:05:58,230 Felly beth mae hynny'n ei olygu? 135 00:05:58,230 --> 00:06:01,570 Wel, y tu mewn i'r ffeil, stdio.h, yn criw cyfan o 136 00:06:01,570 --> 00:06:03,320 datganiadau swyddogaeth - 137 00:06:03,320 --> 00:06:05,290 hynny yw, cod y ysgrifennodd rhywun arall. 138 00:06:05,290 --> 00:06:08,160 Ac yn enghraifft berffaith o swyddogaeth sydd wedi'i ddatgan yn 139 00:06:08,160 --> 00:06:10,250 stdio.h yw - 140 00:06:10,250 --> 00:06:11,980 sy'n hoff erbyn hyn? 141 00:06:11,980 --> 00:06:14,300 Felly printf, un o'r rhai mwyaf cyffredin i'w ddefnyddio, yn sicr 142 00:06:14,300 --> 00:06:15,840 gynnar, o'r llyfrgell yno. 143 00:06:15,840 --> 00:06:19,290 Os byddaf yn cynnwys y llinell o god, Clang yn mynd i weiddi 144 00:06:19,290 --> 00:06:22,550 ar mi rhywbeth am ddefnyddio symbol heb ei ddatgan. 145 00:06:22,550 --> 00:06:24,930 Rhywbeth heb eu datgan yn ôl pob tebyg y gair allweddol, oherwydd 146 00:06:24,930 --> 00:06:27,770 nid ydym wedi rhoi gwybod i'r casglwr beth printf yn edrych 147 00:06:27,770 --> 00:06:29,230 hoffi oni bai ein bod yn cynnwys y llinell. 148 00:06:29,230 --> 00:06:31,830 A mwy i lawr i'r Ddaear, mewn gwirionedd, yr hyn y llinell ei ddweud yw 149 00:06:31,830 --> 00:06:34,890 agor y ffeil, stdio.h, lle bynnag y mae ar y gweinydd 150 00:06:34,890 --> 00:06:38,200 'n anawdd cathrena, neu yrru yr offer caled, a chopi-gludo ei 151 00:06:38,200 --> 00:06:40,240 iawn yno yn fy ffeil, heb fy 152 00:06:40,240 --> 00:06:41,730 orfod gwneud hynny â llaw. 153 00:06:41,730 --> 00:06:44,420 >> Nawr, ar ôl i ni fynd i lawr yma i brif, cyn bo hir byddwn yn dechrau 154 00:06:44,420 --> 00:06:46,900 pryfocio ar wahân pa int a pha ddi-rym yn. 155 00:06:46,900 --> 00:06:48,430 Ond am nawr, gadewch i ni edrych ar y tair llinell 156 00:06:48,430 --> 00:06:50,350 o fewn 15 drwy 17. 157 00:06:50,350 --> 00:06:52,250 Mae hyn yma rwyf hawlio fel bygi. 158 00:06:52,250 --> 00:06:54,900 Llinell 7 yn fy sylwadau yn dweud "Os argraffu 10 159 00:06:54,900 --> 00:06:59,410 sêr ond nid yw'n. "Pam mae hyn yn Nid yw argraffu, mewn gwirionedd, 160 00:06:59,410 --> 00:07:01,097 10 sêr o'r fath? 161 00:07:01,097 --> 00:07:02,347 GYNULLEIDFA: [Anghlywadwy]. 162 00:07:05,210 --> 00:07:05,800 DAVID J. Malan: Yn union. 163 00:07:05,800 --> 00:07:08,720 Felly sylwi ein bod yn dechrau cyfrif o 0. 164 00:07:08,720 --> 00:07:10,780 Ac mae hyn mewn gwirionedd yn gonfensiwn mewn rhaglennu a 165 00:07:10,780 --> 00:07:13,230 gwyddoniaeth gyfrifiadurol yn fwy cyffredinol, yn dechrau i gyfrif 166 00:07:13,230 --> 00:07:14,610 o 0 yn hytrach na 1. 167 00:07:14,610 --> 00:07:16,690 Ac mae hyn yn wir yn unig yn deillio o'r ffaith, er 168 00:07:16,690 --> 00:07:18,940 enghraifft, pan oedd gennym wyth o bobl i fyny ar y llwyfan, pan 169 00:07:18,940 --> 00:07:20,680 nid oedd neb yn codi eu llaw, roeddent yn 170 00:07:20,680 --> 00:07:22,340 pob seroau yn effeithiol. 171 00:07:22,340 --> 00:07:24,260 Ac felly 'i' jyst fath o gonfensiwn cyfrifiadur felly, 172 00:07:24,260 --> 00:07:26,030 Felly, i ddechrau cyfrif o 0. 173 00:07:26,030 --> 00:07:29,130 Os dyna'r nifer isaf y gallwch ei gynrychioli mewn deuaidd. 174 00:07:29,130 --> 00:07:32,270 >> Felly dyma ni wedi dechrau i ymgychwyn i 0. 175 00:07:32,270 --> 00:07:34,230 Rydym wedi gosod i gyfartal i 0. 176 00:07:34,230 --> 00:07:37,780 Ond yna wyf yn gwneud y camgymeriad yma, gan ddweud i yn llai na neu'n 177 00:07:37,780 --> 00:07:38,820 gyfartal i 10. 178 00:07:38,820 --> 00:07:41,700 Ond os ydych yn credu mai trwy, os byddaf yn dechrau ar 0, ac yna byddaf yn mynd 179 00:07:41,700 --> 00:07:46,410 hyd at 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, Im 'mewn gwirionedd yn mynd i 180 00:07:46,410 --> 00:07:49,980 argraffu 11 o sêr y sgrin, oherwydd fy mod i wedi mynd i fyny 181 00:07:49,980 --> 00:07:52,410 i ac yn gyfartal i 10. 182 00:07:52,410 --> 00:07:55,090 Felly, mae'r ateb yn hawdd yma wedyn yw beth? 183 00:07:55,090 --> 00:07:56,070 GYNULLEIDFA: [Anghlywadwy]. 184 00:07:56,070 --> 00:07:57,350 DAVID J. Malan: Dim ond newid i lai na. 185 00:07:57,350 --> 00:07:59,700 Os ydych wir eisiau, gallwch wneud hyn. 186 00:07:59,700 --> 00:08:01,370 Ond yn gyffredinol, sydd wedi gwgu arno. 187 00:08:01,370 --> 00:08:04,020 Ac felly dechrau cyfrif o 0 yn unig yw rhywbeth dylech 188 00:08:04,020 --> 00:08:05,510 fel arfer yn cael ei ddefnyddio i. 189 00:08:05,510 --> 00:08:07,810 Nawr, beth am y lluniad gyfan mewn ac o ei hun? 190 00:08:07,810 --> 00:08:10,640 Hyn 15 llinell demarks a ar gyfer dolen. 191 00:08:10,640 --> 00:08:12,510 Felly, nid yw swyddogaeth. 192 00:08:12,510 --> 00:08:13,640 Mae'n dim ond datganiad. 193 00:08:13,640 --> 00:08:16,180 Mae'n lluniad dolennu, fel y gwelsom yn Scratch. 194 00:08:16,180 --> 00:08:17,600 Ac mae wedi tair rhan. 195 00:08:17,600 --> 00:08:19,740 Sylwch fod yna yn y rhan gyntaf i 196 00:08:19,740 --> 00:08:21,350 ar ochr chwith y colon. 197 00:08:21,350 --> 00:08:24,200 Mae y rhan ganol rhwng y ddau hanner colon. 198 00:08:24,200 --> 00:08:26,250 Ac yna mae y rhan dde-law i'r dde 199 00:08:26,250 --> 00:08:27,640 y colon ail. 200 00:08:27,640 --> 00:08:31,822 Yn awr, y cyntaf o'r rhain yn gwneud beth? 201 00:08:31,822 --> 00:08:33,679 GYNULLEIDFA: [Anghlywadwy]. 202 00:08:33,679 --> 00:08:34,270 DAVID J. Malan: Yn ôl yno? 203 00:08:34,270 --> 00:08:34,816 Yeah? 204 00:08:34,816 --> 00:08:35,980 GYNULLEIDFA: initialization. 205 00:08:35,980 --> 00:08:36,850 >> DAVID J. Malan: initialization. 206 00:08:36,850 --> 00:08:37,840 Felly beth mae hyn yn ei olygu? 207 00:08:37,840 --> 00:08:40,690 Rydym wedi datgan newidyn enw i. 208 00:08:40,690 --> 00:08:43,840 Mae o int fath, am fy mod wedi nodi int i. 209 00:08:43,840 --> 00:08:46,470 A dwi'n ymgychwyn i at y gwerth o 0. 210 00:08:46,470 --> 00:08:47,730 Felly beth mae hyn ei ddweud mewn gwirionedd? 211 00:08:47,730 --> 00:08:50,680 Mae'n effeithiol yn dweud wrth y cyfrifiadur hey, yn rhoi i mi yn ddigon 212 00:08:50,680 --> 00:08:53,660 cof, ddigon o RAM, i osod rhif, ac yna rhowch y 213 00:08:53,660 --> 00:08:56,130 rhif 0 yn y darn o RAM. 214 00:08:56,130 --> 00:08:59,100 Ac fel o'r neilltu, pa mor fawr yn int fel arfer, o leiaf y tu mewn 215 00:08:59,100 --> 00:09:00,280 y teclyn? 216 00:09:00,280 --> 00:09:01,000 GYNULLEIDFA: 32 bit. 217 00:09:01,000 --> 00:09:01,670 DAVID J. Malan: 32 ddarnau. 218 00:09:01,670 --> 00:09:04,890 Felly mae hynny'n golygu rhoi i mi 32 catiau, a elwir fel arall fel 4 bytes, 219 00:09:04,890 --> 00:09:07,250 a rhowch y 0 werth ynddo, sydd yn eithaf hawdd oherwydd 220 00:09:07,250 --> 00:09:09,110 'i jyst yn golygu gosod yr holl ddarnau i 0. 221 00:09:09,110 --> 00:09:11,690 >> Felly yn awr, yr ail ran yma yw cyflwr. 222 00:09:11,690 --> 00:09:14,590 Ac mae'r cyflwr, fel mae'r enw yn awgrymu, yn yr hyn yn cael ei wirio 223 00:09:14,590 --> 00:09:18,100 eto ac eto ac eto ynghylch a yw'n wir neu ffug. 224 00:09:18,100 --> 00:09:21,410 Felly, mae hyn yn unig yw dweud gwneud y llinellau canlynol o god - 225 00:09:21,410 --> 00:09:23,950 sef llinell 16, oherwydd dyna'r unig un wedi'i fewnoli 226 00:09:23,950 --> 00:09:24,820 o dan - 227 00:09:24,820 --> 00:09:26,980 cyhyd fel fi yn llai na 10. 228 00:09:26,980 --> 00:09:30,520 Ac ar ôl pob iteriad drwy'r ddolen, gwneud y 229 00:09:30,520 --> 00:09:33,840 incrementation, sef yn yr achos hwn yw i + +. 230 00:09:33,840 --> 00:09:35,580 Nawr, nid oes rhaid iddo fod i + +. 231 00:09:35,580 --> 00:09:37,610 Gallai fod i -. 232 00:09:37,610 --> 00:09:39,860 Ond os wyf yn gwneud hyn, beth sy'n ymddygiad sy'n mynd 233 00:09:39,860 --> 00:09:41,370 i fod y rhaglen hon? 234 00:09:41,370 --> 00:09:42,290 GYNULLEIDFA: Mae'n mynd i fod yn dolen ddiddiwedd. 235 00:09:42,290 --> 00:09:44,060 DAVID J. Malan: Mae'n mynd i fod yn rhyw fath o dolen ddiddiwedd, 236 00:09:44,060 --> 00:09:47,720 oni bai ein bod yn cael lwcus ar ôl 2 biliwn neu negyddol hynny. 237 00:09:47,720 --> 00:09:51,320 Efallai y bydd pethau'n lapio o gwmpas, dim ond drwy natur y terfyn 238 00:09:51,320 --> 00:09:53,930 nifer o ddarnau yr ydym wedi dyrannu ar gyfer int. 239 00:09:53,930 --> 00:09:56,270 Ond mae'n sicr yn mynd i ailadrodd llawer mwy na 10 a 240 00:09:56,270 --> 00:09:58,630 sicr yn fwy na 11 gwaith yma. 241 00:09:58,630 --> 00:10:02,240 >> Ac yn awr, yn union fel o'r neilltu, yn sylweddoli bod fi + + a fi - 242 00:10:02,240 --> 00:10:04,420 yn wir dim ond siwgr cystrawennol. 243 00:10:04,420 --> 00:10:07,210 Dim ond nodiant llaw-fer am yr hyn sydd ychydig yn fwy 244 00:10:07,210 --> 00:10:08,720 ysgrifenedig yn benodol fel a ganlyn: 245 00:10:08,720 --> 00:10:11,200 i = i + 1. 246 00:10:11,200 --> 00:10:13,460 Dyna yn union i + +. 247 00:10:13,460 --> 00:10:15,860 'I jyst fath o edrych yn prettier i ddweud i + +. 248 00:10:15,860 --> 00:10:17,490 Mae'n fwy cryno, yn fwy darllenadwy. 249 00:10:17,490 --> 00:10:19,030 Ac felly rhan fwyaf o bobl yn gwneud hynny yn lle hynny. 250 00:10:19,030 --> 00:10:21,840 Ond mae hyn yn union yr un fath swyddogaethol i 251 00:10:21,840 --> 00:10:22,900 hyn yr ydym jyst yn gweld. 252 00:10:22,900 --> 00:10:27,770 Felly, yn fyr, ateb cyflym yma yn unig i ddweud ailadrodd i 253 00:10:27,770 --> 00:10:30,690 o 0 yr holl ffordd i fyny i lai na 10. 254 00:10:30,690 --> 00:10:32,700 Ac yna byddwn yn wir yn cael 10 sêr. 255 00:10:32,700 --> 00:10:33,430 >> Felly, gadewch i ni geisio hyn. 256 00:10:33,430 --> 00:10:35,310 Gadewch i mi agor y derfynell ar y gwaelod. 257 00:10:35,310 --> 00:10:37,420 Gadewch i mi fynd i mewn i'r cyfeiriadur bod hyn yn ynddo 258 00:10:37,420 --> 00:10:40,030 Ac yr wyf i'n mynd i lunio â llaw gyda Clang am y tro. 259 00:10:40,030 --> 00:10:44,880 Ac yr wyf i'n mynd i lunio hyn fel buggy1.c, Enter. 260 00:10:44,880 --> 00:10:50,280 Ac yn awr buggy1, pam nad oes unrhyw ffeil o'r fath neu cyfeiriadur 261 00:10:50,280 --> 00:10:52,026 a elwir yn buggy1? 262 00:10:52,026 --> 00:10:53,850 GYNULLEIDFA: [Anghlywadwy]. 263 00:10:53,850 --> 00:10:54,240 DAVID J. Malan: Yeah. 264 00:10:54,240 --> 00:10:55,420 Felly, fe'i gelwir mewn gwirionedd a.out. 265 00:10:55,420 --> 00:10:57,480 Felly cofio os ydych yn unig yn rhedeg Clang, lle Clang yw'r 266 00:10:57,480 --> 00:11:00,420 Nid yw compiler, ac rydych yn nodi yr enw sydd eisiau i 267 00:11:00,420 --> 00:11:03,550 roi eich rhaglen, mae'n mynd i ball i a.out. 268 00:11:03,550 --> 00:11:05,030 Felly, yn wir, os wyf yn gwneud ls - 269 00:11:05,030 --> 00:11:05,510 wps. 270 00:11:05,510 --> 00:11:07,680 Ac yr wyf yn didn't - y mater du-a-gwyn rhai o'r 271 00:11:07,680 --> 00:11:08,840 ydych wedi'u hwynebu wedi bod yn sefydlog. 272 00:11:08,840 --> 00:11:10,670 Ond gadewch i mi wneud hyn. 273 00:11:10,670 --> 00:11:14,570 Mae gennym a.out ar yr ochr chwith yno. 274 00:11:14,570 --> 00:11:17,360 Felly, mae'n rhaid i ni redeg a.out yn hytrach na buggy1. 275 00:11:17,360 --> 00:11:19,140 >> Felly, gadewch i mi fynd ymlaen a gwneud hyn. 276 00:11:19,140 --> 00:11:22,840 . / A.out, Enter. 277 00:11:22,840 --> 00:11:26,160 Ac yr wyf yn debyg nad oedd yn gwneud beth? 278 00:11:26,160 --> 00:11:26,620 GYNULLEIDFA: Achub. 279 00:11:26,620 --> 00:11:27,390 DAVID J. Malan: Achub fy ffeil. 280 00:11:27,390 --> 00:11:31,520 Felly sy'n cael ei datrys yn hawdd drwy daro S Rheoli, neu fynd i 281 00:11:31,520 --> 00:11:33,450 File, Achub, fel yn y rhan fwyaf o raglenni. 282 00:11:33,450 --> 00:11:36,360 Gadewch i mi fynd i lawr yma, clirio'r sgrin, yn rhedeg eto. 283 00:11:36,360 --> 00:11:37,960 Ac mae dal i fod yn bug. 284 00:11:37,960 --> 00:11:41,618 Felly beth sy'n mynd - 285 00:11:41,618 --> 00:11:42,980 GYNULLEIDFA: Nid ydych wedi llunio. 286 00:11:42,980 --> 00:11:44,040 DAVID J. Malan: Ah, yn dda. 287 00:11:44,040 --> 00:11:45,010 Doeddwn i ddim yn llunio ei. 288 00:11:45,010 --> 00:11:47,250 Fel idiot, rwy'n edrych ar y cod i weld beth sydd o'i le. 289 00:11:47,250 --> 00:11:51,275 Buggy1.c clang Felly, nawr a.out. 290 00:11:51,275 --> 00:11:52,640 Ac phew, arbed. 291 00:11:52,640 --> 00:11:55,090 >> Felly mae'n edrych ychydig yn hyll oherwydd nad oes llinell newydd 292 00:11:55,090 --> 00:11:55,970 unrhyw le yn y rhaglen. 293 00:11:55,970 --> 00:11:57,390 Ond unwaith eto, dyna dim ond manylion esthetig. 294 00:11:57,390 --> 00:11:59,430 Ac o leiaf os ydym yn cyfrif rhai y tu allan, dylem 295 00:11:59,430 --> 00:12:01,160 awr yn gweld 10 sêr o'r fath. 296 00:12:01,160 --> 00:12:03,260 Wel, beth am yr ail gynhesu enghraifft? 297 00:12:03,260 --> 00:12:07,750 Felly, yn buggy2, yr wyf yn honni bod y fersiwn hwn, hefyd, yn argraffu 298 00:12:07,750 --> 00:12:10,110 10 sêr, un i bob llinell. 299 00:12:10,110 --> 00:12:12,340 Felly, y tro hwn, mae gen i gymeriad Newline, dim ond er mwyn gwneud 300 00:12:12,340 --> 00:12:13,520 pethau ychydig yn prettier. 301 00:12:13,520 --> 00:12:15,410 Ond yn hytrach yr hyn yr wyf yn ei gael yn hyn. 302 00:12:15,410 --> 00:12:19,590 Felly, gadewch i mi wneud buggy2.c clang, Enter. 303 00:12:19,590 --> 00:12:21,790 Nawr mae'n cael ei alw eto a.out. 304 00:12:21,790 --> 00:12:23,130 Enter. 305 00:12:23,130 --> 00:12:26,900 Ni welaf ddim ond un llinell newydd, dim ond y llinell olaf un newydd sy'n 306 00:12:26,900 --> 00:12:29,370 symud fy brydlon i'r llinell nesaf. 307 00:12:29,370 --> 00:12:32,660 Ac eto yn glir Rwyf wedi bod yn argraffu *, yna llinell newydd, 308 00:12:32,660 --> 00:12:33,990 *, Yna llinell newydd. 309 00:12:33,990 --> 00:12:35,490 Ond beth yw'r nam yma? 310 00:12:35,490 --> 00:12:35,974 Yeah? 311 00:12:35,974 --> 00:12:37,224 GYNULLEIDFA: [Anghlywadwy]. 312 00:12:39,850 --> 00:12:40,470 >> DAVID J. Malan: Yn union. 313 00:12:40,470 --> 00:12:44,110 Felly, yn wahanol i rai ieithoedd, fel Python, lle bant 314 00:12:44,110 --> 00:12:46,030 mewn gwirionedd wedi ystyr swyddogaethol, mewn 315 00:12:46,030 --> 00:12:47,150 iaith fel C - 316 00:12:47,150 --> 00:12:49,140 gan y byddwn yn gweld, PHP, JavaScript - 317 00:12:49,140 --> 00:12:51,940 y mewnoliad yn wirioneddol yn unig er budd pobl '. 318 00:12:51,940 --> 00:12:55,690 Felly y ffaith fy mod i wedi mewnoli llinell 16 a 17 yn edrych yn wych, 319 00:12:55,690 --> 00:12:57,530 ond nid oes ganddo ystyr swyddogaethol yma. 320 00:12:57,530 --> 00:13:00,700 Os ydw i eisiau ddau llinellau i weithredu fel rhan o'r am 321 00:13:00,700 --> 00:13:05,140 ddolen, yna mae'n rhaid i mi eu hamgáu mewn braces cyrliog trwy wneud hyn. 322 00:13:05,140 --> 00:13:08,540 Gallwch dorri cornel hwnnw a hepgorer y braces cyrliog os 323 00:13:08,540 --> 00:13:10,036 beth yw'r achos? 324 00:13:10,036 --> 00:13:10,410 GYNULLEIDFA: Dim ond un llinell. 325 00:13:10,410 --> 00:13:11,130 DAVID J. Malan: Dim ond un llinell. 326 00:13:11,130 --> 00:13:15,280 Felly dyna 'i' jyst fath o fath 'n glws o fanylion gystrawen er mwyn 327 00:13:15,280 --> 00:13:17,900 nad ydych yn gwastraffu amser yn ysgrifennu tair llinell, dau ohonynt yn 328 00:13:17,900 --> 00:13:20,040 braces cyrliog, dim ond i ysgrifennu un llinell o god. 329 00:13:20,040 --> 00:13:21,650 Ond os oes gennych ddau neu fwy o linellau, rydym yn 330 00:13:21,650 --> 00:13:22,860 yn wir angen i wneud hyn. 331 00:13:22,860 --> 00:13:24,210 >> Felly nawr gadewch i mi achub y. 332 00:13:24,210 --> 00:13:27,140 Gadewch i mi fynd yn ei flaen ac ail-redeg Clang. 333 00:13:27,140 --> 00:13:31,375 Yna gadewch i mi ailgynnal a.out, ac yn awr yr wyf yn eu cael un i bob llinell. 334 00:13:31,375 --> 00:13:33,670 Yn awr, a.out unwaith eto yn fath o enw fud ar gyfer rhaglen. 335 00:13:33,670 --> 00:13:37,500 Sut alla i ddweud Clang i mewn gwirionedd yn rhoi i mi enw ffeil 336 00:13:37,500 --> 00:13:39,820 hynny'n fwy defnyddiwr-gyfeillgar, fel buggy2 ei hun? 337 00:13:43,200 --> 00:13:44,466 Ychydig yn fwy clir? 338 00:13:44,466 --> 00:13:45,220 GYNULLEIDFA: [Anghlywadwy]. 339 00:13:45,220 --> 00:13:47,810 DAVID J. Malan: OK, fel y gallaf mewn gwirionedd yn cymryd iawn 340 00:13:47,810 --> 00:13:51,000 defnyddiwr-gyfeillgar shortcut a dim ond ysgrifennu yn buggy2. 341 00:13:51,000 --> 00:13:53,840 Nid wyf yn nodi. C yn yr achos hwn, a daro Chofnoda. 342 00:13:53,840 --> 00:13:58,530 A beth wneud yn ei wneud yn ei llunio buggy2.c i mi gan 343 00:13:58,530 --> 00:14:00,260 gofyn Clang i wneud hynny. 344 00:14:00,260 --> 00:14:05,100 Yn benodol, mae'n galw Clang, mae'n rhedeg Clang gan ddefnyddio ffordd fwy 345 00:14:05,100 --> 00:14:08,540 gorchymyn-lein dadleuon neu switshis nag yr oeddwn ei angen mewn gwirionedd. 346 00:14:08,540 --> 00:14:11,270 Ymhen amser, byddwn yn dod yn ôl at yr hyn y rhain i gyd wahanol 347 00:14:11,270 --> 00:14:13,810 ymadroddion chysylltnod cryptig olygu. 348 00:14:13,810 --> 00:14:16,910 Ond am nawr, dyna dim ond fy arbed y drafferth o 349 00:14:16,910 --> 00:14:19,600 orfod cofio ac yn gorfod teipio allan bawb 350 00:14:19,600 --> 00:14:21,150 ymadroddion chysylltnod amrywiol. 351 00:14:21,150 --> 00:14:23,240 Ac y upside ohono yn y pen draw yw 352 00:14:23,240 --> 00:14:25,900 sydd yn awr yr wyf wedi buggy2. 353 00:14:25,900 --> 00:14:27,480 Os ydw i eisiau gwneud hyn â llaw, fodd bynnag, yr wyf 354 00:14:27,480 --> 00:14:28,775 modd i chi wneud hyn - 355 00:14:28,775 --> 00:14:34,110 clang-o buggy2 ac yna buggy2.c. 356 00:14:34,110 --> 00:14:37,980 A bydd yn yr un modd yn rhoi i mi ffeil o'r enw buggy2. 357 00:14:37,980 --> 00:14:39,710 >> Felly, yn fyr, Clang yw'r compiler. 358 00:14:39,710 --> 00:14:43,080 Gwnewch yn unig yn offeryn defnyddiwr-gyfeillgar y byddwn ni'n defnyddio mwy 359 00:14:43,080 --> 00:14:44,420 a mwy, oherwydd mae'n dechrau 360 00:14:44,420 --> 00:14:47,330 symleiddio pethau i ni. 361 00:14:47,330 --> 00:14:49,430 Ac rydym yn dychwelyd 0, yn olaf. 362 00:14:49,430 --> 00:14:51,890 Am y tro, dim ond oherwydd, ond byddwn yn dechrau tynnu coes y rhan honno 363 00:14:51,890 --> 00:14:52,930 heddiw ac ar ddydd Mercher. 364 00:14:52,930 --> 00:14:55,560 Unrhyw gwestiynau ar unrhyw un o'r hyn? 365 00:14:55,560 --> 00:14:56,450 Yeah? 366 00:14:56,450 --> 00:14:58,234 GYNULLEIDFA: [Anghlywadwy] 367 00:14:58,234 --> 00:15:00,020 ls mewn dyfynodau yno? 368 00:15:00,020 --> 00:15:01,710 DAVID J. Malan: OK. 369 00:15:01,710 --> 00:15:05,880 Pan fyddaf yn ls teipio mewn dyfynodau, a oedd i mi wneud rhai hud 370 00:15:05,880 --> 00:15:07,160 y tu ôl i'r llenni i drwsio a bug. 371 00:15:07,160 --> 00:15:09,370 Anghofiais i, fel yr ydym wedi bod yn dweud llawer ohonoch ar y 372 00:15:09,370 --> 00:15:11,600 byrddau trafod, i'w wneud - 373 00:15:11,600 --> 00:15:17,220 byddwn yn gwneud hyn yn awr - sudo yum-y diweddariad appliance50. 374 00:15:17,220 --> 00:15:19,790 Wps, bod ei sillafu'n gywir. 375 00:15:19,790 --> 00:15:23,240 Felly, yr offer yn debyg i system weithredu. 376 00:15:23,240 --> 00:15:25,650 Mae'n cynnal y system weithredu o'r enw Fedora. 377 00:15:25,650 --> 00:15:27,450 Ac yn awr oherwydd fy cysylltiad rhyngrwyd araf, rydw i wedi 378 00:15:27,450 --> 00:15:28,260 hosed fawr iawn. 379 00:15:28,260 --> 00:15:31,620 Felly, yn rhedeg diweddariad sudo yum, fel yr ydym yn dweud wrthych ei wneud yn y 380 00:15:31,620 --> 00:15:34,080 broblem a osodwyd, yn ei hanfod yn hoffi rhedeg diweddariadau awtomatig 381 00:15:34,080 --> 00:15:35,420 yn Mac OS neu Windows. 382 00:15:35,420 --> 00:15:37,280 A'r rheswm am redeg hyn ar gychwyn cyntaf y 383 00:15:37,280 --> 00:15:39,640 broblem a osodwyd oherwydd pan fyddwn yn creu y peiriant, yr wyf 384 00:15:39,640 --> 00:15:42,480 cyboledig i fyny, ac yr wyf yn ddamweiniol gwneud eich holl raglenni yn edrych 385 00:15:42,480 --> 00:15:45,210 du ar sgrîn du, a dyna pam nad ydych yn gweld eu 386 00:15:45,210 --> 00:15:45,860 yn ddiofyn. 387 00:15:45,860 --> 00:15:48,020 Ond y fersiwn diweddaraf o'r offer chyfyngderau hyn. 388 00:15:48,020 --> 00:15:50,500 A byddaf atgyweiria bod yn ystod yr egwyl ar ôl i mi gael y Rhyngrwyd 389 00:15:50,500 --> 00:15:51,280 cysylltedd. 390 00:15:51,280 --> 00:15:54,630 >> Felly mae'r dyfyniadau yn unig cuddio fy camgymeriad, yn synhwyrol, 391 00:15:54,630 --> 00:15:55,730 mae'n debyg. 392 00:15:55,730 --> 00:15:56,980 Cwestiynau eraill? 393 00:15:59,750 --> 00:16:00,668 Ydw? 394 00:16:00,668 --> 00:16:02,012 GYNULLEIDFA: Ble mae gwneud dod? 395 00:16:02,012 --> 00:16:03,810 [Anghlywadwy] 396 00:16:03,810 --> 00:16:04,280 DAVID J. Malan: Cwestiwn da. 397 00:16:04,280 --> 00:16:05,460 Ble yn gwneud yn dod? 398 00:16:05,460 --> 00:16:09,390 Mae'n rhaglen Linux sydd wedi bodoli ers blynyddoedd lawer, hir 399 00:16:09,390 --> 00:16:10,570 cyn CS50. 400 00:16:10,570 --> 00:16:12,930 Ac mae'n dod gyda system weithredu fel Fedora. 401 00:16:12,930 --> 00:16:14,830 Nid yw'n dod o'r llyfrgell CS50. 402 00:16:14,830 --> 00:16:17,560 Yn wir, yr unig bethau sy'n dod o'r llyfrgell CS50 403 00:16:17,560 --> 00:16:20,470 hyd yn hyn, yr ydym wedi gweld, yn GetString, GetInt, pob un 404 00:16:20,470 --> 00:16:25,550 Cael y rhai swyddogaethau, ac y llinyn gair, ac i rai 405 00:16:25,550 --> 00:16:26,575 raddau, y gair bool. 406 00:16:26,575 --> 00:16:29,180 Ond byddwn yn ymhelaethu ar y mater ar wahân pan fyddwn yn plymio i mewn i'r CS50 407 00:16:29,180 --> 00:16:30,580 offer ei hun. 408 00:16:30,580 --> 00:16:32,820 >> Felly ie, un cwestiwn mwy yma. 409 00:16:32,820 --> 00:16:36,636 GYNULLEIDFA: Pan fyddwch yn dweud gwneud ac yna bygi, sut y mae'r 410 00:16:36,636 --> 00:16:39,980 cyfrifiadur yn gwybod [Anghlywadwy]? 411 00:16:39,980 --> 00:16:40,520 DAVID J. Malan: Cwestiwn da. 412 00:16:40,520 --> 00:16:43,830 Felly, pan fyddwch yn gwneud jyst hidla buggy1 neu wneud buggy2, sut 413 00:16:43,830 --> 00:16:45,220 yn gwneud gwybod? 414 00:16:45,220 --> 00:16:49,900 Felly, yn ddiofyn, os ydych yn teipio yn gwneud buggy1, yn gwneud yn edrych am 415 00:16:49,900 --> 00:16:52,330 ffeil o'r enw buggy1.c. 416 00:16:52,330 --> 00:16:55,570 Ac yna mae'n executes y gorchmynion Clang priodol, 417 00:16:55,570 --> 00:17:00,380 a thrwy hynny tra phwysig 'r ball ffeil allbwn o'r enw a.out. 418 00:17:00,380 --> 00:17:03,670 Yn wir, os edrychwn ar yr hyn y gwneud, beth - 419 00:17:03,670 --> 00:17:04,839 gadewch i ni roi'r gorau i hyn. 420 00:17:04,839 --> 00:17:09,530 Os edrychwn ar yr hyn oedd mewn gwirionedd yn gwneud ei wneud, yn gwneud buggy2, 421 00:17:09,530 --> 00:17:10,470 mae eisoes i fyny hyd yn hyn. 422 00:17:10,470 --> 00:17:13,020 Felly, gadewch i mi gael gwared ar y gorchymyn rm, y 423 00:17:13,020 --> 00:17:14,319 rhaglen Ysgrifennais o'r blaen. 424 00:17:14,319 --> 00:17:17,319 Teipio Y-E-S i gadarnhau fy mod am dynnu. 425 00:17:17,319 --> 00:17:20,480 Os wyf yn awr yn gwneud, yn sylwi bod yn y llinell hon yn hir iawn, 426 00:17:20,480 --> 00:17:22,980 mae hyn yn beth olaf yma,-o buggy2. 427 00:17:22,980 --> 00:17:26,959 Mae pob gwneuthuriad yn ei wneud yn pasio y ddadl honno, fel petai, i 428 00:17:26,959 --> 00:17:29,665 Clang, fel nad oes rhaid i mi deipio fy hun. 429 00:17:29,665 --> 00:17:32,660 >> Mae pob hawl, felly mae ychydig yn gyflym gweinyddol 430 00:17:32,660 --> 00:17:33,470 cyhoeddiadau. 431 00:17:33,470 --> 00:17:36,940 Felly, ar gyfer adrannau, a oedd yn swyddogol dechreuodd hyn yn dod 432 00:17:36,940 --> 00:17:38,970 Dydd Sul, byddwch bob amser yn awyddus i ddod, os 433 00:17:38,970 --> 00:17:40,120 oes gennych chi un, gliniadur. 434 00:17:40,120 --> 00:17:42,570 Os nad oes gennych laptop, yn cyrraedd allan i mi gan 435 00:17:42,570 --> 00:17:43,580 gollwng m e-bost. 436 00:17:43,580 --> 00:17:44,810 A byddwn yn chyfrif i maes llif gwaith. 437 00:17:44,810 --> 00:17:47,100 Beth yn gyffredinol byddwch yn dod o hyd yn adran yw eu bod yn rhan 438 00:17:47,100 --> 00:17:48,770 cysyniadol, rhan ymarferol. 439 00:17:48,770 --> 00:17:52,190 Byddwn yn benodol yn defnyddio'r adran cwestiynau, rhan o 440 00:17:52,190 --> 00:17:54,110 set problem yr wythnos, i gerdded drwy rai o'r 441 00:17:54,110 --> 00:17:55,820 deunydd cysyniadol o ddarlith. 442 00:17:55,820 --> 00:17:57,480 A dyna i gyd yn y set problem ar hyn o bryd. 443 00:17:57,480 --> 00:18:00,010 A byddwn hefyd yn plymio i mewn i rai gweithgareddau ymarferol, weithiau 444 00:18:00,010 --> 00:18:02,190 Bydd ohonynt yn cael eu ofynnol ei gyflwyno, weithiau o 445 00:18:02,190 --> 00:18:02,830 na fydd yn. 446 00:18:02,830 --> 00:18:04,630 Er enghraifft, yr wythnos hon gyntaf, maent yn golygu yn union fel 447 00:18:04,630 --> 00:18:05,780 cynhesu i fyny ymarfer corff. 448 00:18:05,780 --> 00:18:07,800 A byddwch yn gweld bod y rhai problemau yn wir yn hynny. 449 00:18:07,800 --> 00:18:10,220 Maent yn golygu i fod yn gymharol fach, ond nid o reidrwydd 450 00:18:10,220 --> 00:18:13,100 rhaglenni dibwys i ysgrifennu, nad ydynt o reidrwydd 451 00:18:13,100 --> 00:18:16,230 gyfleoedd da cyffrous mewn ac ohonynt eu hunain ond maent i 452 00:18:16,230 --> 00:18:19,620 ymarfer gyda chystrawen, gyda swyddogaethau newydd, yn y cysur o 453 00:18:19,620 --> 00:18:21,900 adran lle mae gennych ychydig o'ch cyd-ddisgyblion yn bresennol fel 454 00:18:21,900 --> 00:18:22,870 ogystal â'ch TF. 455 00:18:22,870 --> 00:18:26,210 >> A beth byddwn yn ei wneud dros gyfnod o amser yn defnyddio dull o'r enw Mannau CS50, 456 00:18:26,210 --> 00:18:28,940 lle hytrach na dim ond defnyddio'r Offer CS50, byddwch yn 457 00:18:28,940 --> 00:18:32,450 yn hytrach na mynd i dudalen gwe mewn porwr, lle byddwch yn gallu 458 00:18:32,450 --> 00:18:35,610 i ysgrifennu cod mewn ffenestr porwr yn ystod adran. 459 00:18:35,610 --> 00:18:38,240 Ac yna os ydych yn dewis i mewn, gall eich cyd-addysgu yna dangos 460 00:18:38,240 --> 00:18:40,980 beth bynnag yr ydych chi'n teipio ar eich sgrîn yn eich porwr 461 00:18:40,980 --> 00:18:43,930 ffenestr i fyny o flaen y dosbarth, boed yn ddienw neu 462 00:18:43,930 --> 00:18:47,250 yn gyhoeddus, fel y gall ef neu hi wedyn yn cerdded drwy gyda 463 00:18:47,250 --> 00:18:50,080 eich cyd-ddisgyblion yr hyn a wnaethoch yn dda, beth nad oeddech yn gwneud yn dda. 464 00:18:50,080 --> 00:18:52,750 Ac eto, fod yn sicr y gall hyn i gyd yn cael ei anonymized 'n glws. 465 00:18:52,750 --> 00:18:54,410 Ond fe fydd yn gyfle braf i lawer mwy 466 00:18:54,410 --> 00:18:56,810 rhyngweithio na rhywbeth tebyg i ddarlith yn galluogi'r. 467 00:18:56,810 --> 00:18:58,910 >> Yn y cyfamser, bydd gennym y pethau hyn a elwir yn super 468 00:18:58,910 --> 00:19:01,610 adrannau, sydd yn ddewisol ond yn agored i bawb yn 469 00:19:01,610 --> 00:19:04,030 y dosbarth, fel y gallwch wneud hyn yn fwy ar y cyd ar gyfer 470 00:19:04,030 --> 00:19:05,190 problem sefydlu un. 471 00:19:05,190 --> 00:19:06,010 Dyma yr amserlen. 472 00:19:06,010 --> 00:19:08,870 Mae hyn yn cael ei bostio hefyd ar y dudalen hafan yn cs50.net. 473 00:19:08,870 --> 00:19:10,850 Sylwch fod mi fydd haciwr-benodol 474 00:19:10,850 --> 00:19:12,430 un prynhawn yfory. 475 00:19:12,430 --> 00:19:15,460 A byddwn yn ffilmio un heddiw ac un yfory ac ar ôl rhai 476 00:19:15,460 --> 00:19:16,720 ar-lein o fewn 24 awr. 477 00:19:16,720 --> 00:19:19,370 Felly, os na allwch chi wneud unrhyw un o'r adegau hyn, i chi boeni. 478 00:19:19,370 --> 00:19:22,720 Ac eto, yr amserlen ar-lein yn awr yn cs50.net. 479 00:19:22,720 --> 00:19:25,350 >> O ran rhannu'r ei hun, dylech fod wedi gotten yn 480 00:19:25,350 --> 00:19:28,520 e-bost sy'n eich cyfarwyddo i fynd i hafan y cwrs i ddod o hyd i 481 00:19:28,520 --> 00:19:29,610 eich adran. 482 00:19:29,610 --> 00:19:32,890 Os yw bywyd wedi newid ac mae angen i chi newid eich adran, 483 00:19:32,890 --> 00:19:33,560 nid problem. 484 00:19:33,560 --> 00:19:37,900 Ewch yn ôl at y URL un, cs50.net/section, unigol, 485 00:19:37,900 --> 00:19:40,090 a byddwch yn llenwi'r ffurflen tebyg fel y gallwch 486 00:19:40,090 --> 00:19:41,260 Yna, rhowch eich dewisiadau. 487 00:19:41,260 --> 00:19:43,360 A byddwn yn dilyn i fyny erbyn diwedd wythnos o ran yr hyn y gallwn 488 00:19:43,360 --> 00:19:44,240 darparu. 489 00:19:44,240 --> 00:19:49,530 Yr wythnos diwethaf, yn cofio ein bod yn cynnig defnyddio CS50 Trafod, 490 00:19:49,530 --> 00:19:51,370 offeryn trafod y cwrs, mewn darlith. 491 00:19:51,370 --> 00:19:53,680 Felly, rydym wedi 40 o gwestiynau a ofynnwyd ac 492 00:19:53,680 --> 00:19:54,720 hateb yn ystod darlith. 493 00:19:54,720 --> 00:19:56,280 Felly, roedd yn ymddangos i weithio'n dda, felly byddwn yn parhau 494 00:19:56,280 --> 00:19:57,180 ceisio gwneud hyn. 495 00:19:57,180 --> 00:19:59,600 Os, yn ystod darlith, nad ydych yn unig yn teimlo'n gyfforddus codi 496 00:19:59,600 --> 00:20:00,780 eich llaw, nid problem. 497 00:20:00,780 --> 00:20:04,640 Ewch i cs50.net/discuss, ar ôl yno, a bydd un o'n haddysgu 498 00:20:04,640 --> 00:20:07,270 Bydd cymrodyr naill ai ateb yn electronig neu godi eu 499 00:20:07,270 --> 00:20:10,620 llaw ar eich rhan ddienw i ofyn, yn dibynnu 500 00:20:10,620 --> 00:20:12,470 ar natur y cwestiwn. 501 00:20:12,470 --> 00:20:15,000 Ac o ran adborth, yn gyffredinol psets yn 502 00:20:15,000 --> 00:20:16,760 ddychwelyd o fewn wythnos. 503 00:20:16,760 --> 00:20:19,080 Oherwydd ei fod yn cymryd ychydig o amser ar gyfer adrannau i gyflawni 504 00:20:19,080 --> 00:20:22,430 cydbwysedd, bydd y pset cyntaf, 0 ac 1, fod ychydig yn 505 00:20:22,430 --> 00:20:24,130 oedi wrth i bethau setlo i lawr. 506 00:20:24,130 --> 00:20:27,130 Ond aros diwnio ar gyfer hynny yn yr wythnosau i ddod. 507 00:20:27,130 --> 00:20:29,750 >> Mae pob hawl, felly gadewch imi roi ar fy difrifol 508 00:20:29,750 --> 00:20:31,040 llais am ddim ond ennyd. 509 00:20:31,040 --> 00:20:32,690 Felly, mae hyn mewn gwirionedd yn yr hinsawdd diddorol i fod yn 510 00:20:32,690 --> 00:20:35,210 cael y drafodaeth hon, beth gyda'r holl bethau eraill 511 00:20:35,210 --> 00:20:37,310 mynd ymlaen ar hynny gampws cysylltiedig. 512 00:20:37,310 --> 00:20:40,220 Ond CS50 yn sicr wedi ei hanes y penodol 513 00:20:40,220 --> 00:20:43,360 pwnc, yn gymaint ag y bob blwyddyn, y cwrs hwn, ar gyfer llawer 514 00:20:43,360 --> 00:20:46,910 mlynedd, Ad-Byrddau tua 3% y dosbarth. 515 00:20:46,910 --> 00:20:51,620 Mae'r flwyddyn fwyaf diweddar, 2011, CS50 Ad-estyll 35 o fyfyrwyr. 516 00:20:51,620 --> 00:20:54,120 Nid yw hyn yn, yr wyf yn meddwl, oherwydd diffyg eglurder. 517 00:20:54,120 --> 00:20:56,760 Sylweddoli bod maes llafur y cwrs, mae tudalen o 518 00:20:56,760 --> 00:20:59,020 datganiad yn egluro lle mae'r llinellau yn cael eu. 519 00:20:59,020 --> 00:21:01,350 Bod un datganiad yn cael ei ailadrodd ar bob un o'r 520 00:21:01,350 --> 00:21:03,070 problem yn gosod ar dudalen un. 521 00:21:03,070 --> 00:21:05,760 >> Felly, yr wyf yn sôn am hyn heddiw mewn gwirionedd yn unig i wneud 522 00:21:05,760 --> 00:21:07,030 Folks yn ymwybodol o hyn. 523 00:21:07,030 --> 00:21:08,080 Ac rydym wedi ceisio bethau gwahanol. 524 00:21:08,080 --> 00:21:10,630 A hyn yr wyf yn meddwl y byddem yn ei wneud heddiw yn unig yn cymryd hyn o bryd i 525 00:21:10,630 --> 00:21:13,830 mewn gwirionedd yn edrych ar rai o'r achosion yn y gorffennol sydd wedi dod i fyny. 526 00:21:13,830 --> 00:21:16,160 Yn hytrach na chadw cyfrinachau hyn fel budr bach, mewn gwirionedd 527 00:21:16,160 --> 00:21:19,170 tynnu sylw at yr hyn y mae myfyrwyr wedi ei wneud a sut rydym wedi canfod 528 00:21:19,170 --> 00:21:21,630 ac yn wir beth yw'r cymhelliant cyffredinol ar gyfer 529 00:21:21,630 --> 00:21:23,950 hyd yn oed cael y sgwrs hon. 530 00:21:23,950 --> 00:21:27,060 Felly, gyda hynny ddywedodd, y llinell yn ei hanfod yw hyn - 531 00:21:27,060 --> 00:21:29,200 unol â'r maes llafur, rydych yn, rydych yn cael eu hannog, i 532 00:21:29,200 --> 00:21:30,210 siarad gyda chyd-ddisgyblion. 533 00:21:30,210 --> 00:21:31,910 Dyna holl bwrpas cael y cyd 534 00:21:31,910 --> 00:21:34,470 oriau swyddfa yn Annenberg ac annog pobl ar gyfer y 535 00:21:34,470 --> 00:21:35,755 prosiect terfynol i weithio gyda'i gilydd. 536 00:21:35,755 --> 00:21:38,590 Ond mae'r llinell yn cael ei lunio pan ddaw amser i ysgrifennu mewn gwirionedd 537 00:21:38,590 --> 00:21:39,790 eich ateb terfynol. 538 00:21:39,790 --> 00:21:42,590 Wrth siarad yn Saesneg, yn hollol iawn, yn siarad mewn cod ffug, 539 00:21:42,590 --> 00:21:43,400 hollol iawn. 540 00:21:43,400 --> 00:21:46,340 E-bostio a classmate eich pset, gan adael iddynt edrych dros 541 00:21:46,340 --> 00:21:48,610 y sgrin fel y dwylo yn parhau i deipio, 542 00:21:48,610 --> 00:21:50,110 dros y lein yn ogystal. 543 00:21:50,110 --> 00:21:52,250 Peidiwch edrych ar y maes llafur ar gyfer y llinellau penodol. 544 00:21:52,250 --> 00:21:55,850 >> Ond dim ond i beintio darlun o sut mae hyn yn anffodus, yn 545 00:21:55,850 --> 00:21:58,370 gwirionedd, yn sylweddoli bod yna wefannau allan yna sy'n 546 00:21:58,370 --> 00:22:01,490 cael atebion gan y dosbarth hwn a dosbarthiadau eraill. 547 00:22:01,490 --> 00:22:04,940 Mae'r ffaith eich bod chi neu ryw 3% ohonoch yn gwybod bod hyn yn bodoli 548 00:22:04,940 --> 00:22:07,240 yn golygu ein bod yn gwybod bod hyn yn bodoli. 549 00:22:07,240 --> 00:22:09,340 Mae'r ffaith bod yna wefannau fel hyn lle rydych yn 550 00:22:09,340 --> 00:22:11,540 Gall talu rhywun i mewn gwirionedd yn gwneud eich setiau problem - roedd hyn yn 551 00:22:11,540 --> 00:22:13,450 achos gwirioneddol a ddaeth i fyny y llynedd. 552 00:22:13,450 --> 00:22:15,790 Mae hon yn wefan o'r enw odesk.com. 553 00:22:15,790 --> 00:22:20,090 Ac Tim oedd enw'r person yma oedd yn postio ar 554 00:22:20,090 --> 00:22:24,580 y wefan hon a gofyn i rywun i wneud ei pset 7 mewn 555 00:22:24,580 --> 00:22:25,570 yr achos arbennig hwn. 556 00:22:25,570 --> 00:22:28,350 Wel, odesk.com iawn Google-abl, ac rydym hefyd yn 557 00:22:28,350 --> 00:22:30,310 dda iawn am Googling. 558 00:22:30,310 --> 00:22:32,360 Yma, hefyd, ceir safleoedd - ac mae hyn yn un 'yn hytrach 559 00:22:32,360 --> 00:22:34,234 erchyll, a dweud y gwir. 560 00:22:34,234 --> 00:22:38,050 [Chwerthin] 561 00:22:38,050 --> 00:22:39,610 DAVID J. Malan: Y peth doniol am y wefan hon yw os 562 00:22:39,610 --> 00:22:41,970 eich bod yn darllen y dudalen Amdanom, maent yn siarad am eu gorfforaethol 563 00:22:41,970 --> 00:22:44,390 gwasanaeth cwsmeriaid diwylliant a sut mae eu rhif-un 564 00:22:44,390 --> 00:22:46,190 blaenoriaeth, i wneud yn siŵr bod eich aseiniadau yn cael 565 00:22:46,190 --> 00:22:47,890 troi i mewn ar amser. 566 00:22:47,890 --> 00:22:50,580 >> Ond o ddifrif, unwaith eto, mae'r ffaith bod y safleoedd hyn 567 00:22:50,580 --> 00:22:52,910 bodoli, yn sylweddoli ein, hefyd, yn ymwybodol o 568 00:22:52,910 --> 00:22:53,730 mathau hyn o safleoedd. 569 00:22:53,730 --> 00:22:55,890 Ac i roi syniad i chi o'r hyn ffurfio hyn, yn gyffredinol 570 00:22:55,890 --> 00:22:58,570 cymryd, nid ydym yn gyffredinol yn cael sgandalau mawr lle mae pobl 571 00:22:58,570 --> 00:23:01,080 yn cydweithio ar unrhyw fath o raddfa enfawr, ond yn hytrach 572 00:23:01,080 --> 00:23:04,540 mae'n eiliadau hyn yn hwyr y nos o wendid, lle mae gennych er mwyn 573 00:23:04,540 --> 00:23:07,550 llawer i'w wneud, mae'n 04:00, rydych yn blino'n lân, ac rydych yn 574 00:23:07,550 --> 00:23:09,770 meddwl i chi eich hun, yn dda, gadewch i mi fwrw golwg ar fy 575 00:23:09,770 --> 00:23:11,770 roommate neu god fy ffrind neu yn y blaen. 576 00:23:11,770 --> 00:23:14,800 Ac mae'r arwyddion o hyn yn anffodus yn golygu Myfyrwyr 577 00:23:14,800 --> 00:23:17,640 Mae rhywbeth yn cyflwyno fel hyn a chyflwyno B Myfyrwyr 578 00:23:17,640 --> 00:23:20,370 rhywbeth fel hyn, sydd yn sicr, mewn cyfrifiadur 579 00:23:20,370 --> 00:23:23,830 gwyddoniaeth dosbarth, yn hynod o hawdd i wyddonwyr cyfrifiadurol 580 00:23:23,830 --> 00:23:25,690 i ganfod gyda meddalwedd. 581 00:23:25,690 --> 00:23:28,410 Mae hwn yn batrwm arall cyffredin, lle rydych chi wedi fath o 582 00:23:28,410 --> 00:23:31,010 bod yn gweithio ochr yn ochr â rhywun, efallai yn siarad yn 583 00:23:31,010 --> 00:23:32,360 Saesneg, jyst ddirwya, pseudocode. 584 00:23:32,360 --> 00:23:35,080 Ond yna mae'n fater o amser i gyflwyno mewn gwirionedd, ac mae'r psets 585 00:23:35,080 --> 00:23:37,910 dim ond yn cael cyfnewid drwy e-bost neu Dropbox neu yn y blaen. 586 00:23:37,910 --> 00:23:41,120 Ond mewn ymgais i'w gwneud yn llai amlwg bod hyn yn 587 00:23:41,120 --> 00:23:44,830 hyn sydd wedi digwydd, yna mae hyn yn beth sy'n cyflwyno. 588 00:23:44,830 --> 00:23:47,880 Mae hyn, hefyd, nid yw'n daith i fyny yn dda-ysgrifenedig darnau o 589 00:23:47,880 --> 00:23:50,360 meddalwedd fel mae'n rhaid i ni mewn gwirionedd yn canfod 590 00:23:50,360 --> 00:23:51,280 mathau hyn o bethau. 591 00:23:51,280 --> 00:23:53,760 Ac yn wir yr hyn rydym yn ei wneud yw meddalwedd rhedeg sy'n cymharu pob un o'r 592 00:23:53,760 --> 00:23:55,540 cyflwyniadau eleni yn erbyn yr holl flwyddyn a aeth heibio 593 00:23:55,540 --> 00:23:57,380 cyflwyniadau, yn erbyn popeth yr ydym yn gweld ar y 594 00:23:57,380 --> 00:24:00,060 Rhyngrwyd, yn erbyn pob gwefan swyddi i maes 'na. 595 00:24:00,060 --> 00:24:01,710 Mae hyn i gyd yn awtomatig. 596 00:24:01,710 --> 00:24:05,665 Ac felly rydym yn gwneud hyn yn wir er tegwch mawr i'r 97% sy'n 597 00:24:05,665 --> 00:24:07,760 yn wir yn gweithio eu asesu i ffwrdd yn hyn ac mewn 598 00:24:07,760 --> 00:24:11,530 dosbarthiadau a rhoi ym mhob un o'r ymdrech honno fel bod y gwaith 599 00:24:11,530 --> 00:24:13,030 yn y pen draw yw cyflwyno eu hunain. 600 00:24:13,030 --> 00:24:14,220 A allaf fynd ymlaen am oesoedd. 601 00:24:14,220 --> 00:24:16,030 >> Mae'r rhain yn dim ond llond llaw o achosion y llynedd. 602 00:24:16,030 --> 00:24:19,350 Mae ychydig o fyfyrwyr a gyflwynir y ffeiliau hyn yn union i pset 2, 603 00:24:19,350 --> 00:24:22,460 pset 3, pset 4, pset 5, pset 6, pset 9. 604 00:24:22,460 --> 00:24:26,360 Yn yr achos hwn, roedd hyn yn cwis 0 a yn y flwyddyn ddiwethaf, lle mae dau 605 00:24:26,360 --> 00:24:29,570 myfyrwyr a gyflwynir yn union frawddeg hon ymhlith llawer o 606 00:24:29,570 --> 00:24:32,210 eraill, "Y cais fath -" dot, dot, dot. 607 00:24:32,210 --> 00:24:34,530 Felly hyd yn oed mewn dosbarth o 600 wnaethon ni ganfod hyn 608 00:24:34,530 --> 00:24:36,310 ar gyflwyno cwisiau. 609 00:24:36,310 --> 00:24:39,080 Felly, yn fyr, mae hyn - a dweud y gwir, Rwy'n casáu cael y math hwn o 610 00:24:39,080 --> 00:24:41,300 sgwrs - ond mae hyn yn wir yn ymdrech fwriadol 611 00:24:41,300 --> 00:24:43,540 eleni i geisio gostwng y nifer hwnnw. 612 00:24:43,540 --> 00:24:45,650 Oherwydd hyd yn oed er ein bod yn dweud y mathau hyn o bethau bob 613 00:24:45,650 --> 00:24:48,100 flwyddyn, rwy'n meddwl bod y realiti o fod wedi drigodd arno am ychydig 614 00:24:48,100 --> 00:24:50,800 mwy eiliad nag arfer ac mewn gwirionedd dim ond tynnu sylw at 615 00:24:50,800 --> 00:24:53,600 y gallai hyn ymddangos fel, eh, nid o'r fath yn beth mawr, o leiaf 616 00:24:53,600 --> 00:24:56,390 meddwl yn ôl i'r adeg benodol, o ran tegwch i 617 00:24:56,390 --> 00:25:00,100 eich hun ac i'ch cyd-ddisgyblion yma. 618 00:25:00,100 --> 00:25:02,480 Felly, os ydych chi erioed gennych unrhyw gwestiynau ynglŷn â lle mae'r llinell 619 00:25:02,480 --> 00:25:04,290 yw, os gwelwch yn dda dim ond ymestyn allan i mi yn bersonol. 620 00:25:04,290 --> 00:25:07,190 Ond yr ateb bob amser, yn gyfan gwbl pwysleisio ar y 621 00:25:07,190 --> 00:25:09,090 funud olaf, arian parod mewn diwrnod yn hwyr. 622 00:25:09,090 --> 00:25:11,080 Neu os yw'n fater o beidio â chael unrhyw ddiwrnod yn hwyr, 623 00:25:11,080 --> 00:25:12,900 yn onest, e-bost ataf yn bersonol. 624 00:25:12,900 --> 00:25:14,110 Byddwn yn ffigwr rhywbeth allan. 625 00:25:14,110 --> 00:25:17,480 Nid os gwelwch yn dda peidiwch â rhoi eich amser yma yn Harvard mewn perygl. 626 00:25:17,480 --> 00:25:18,570 >> Yn awr, yr wyf yn credu y dylem ysgafnhau'r awyrgylch, felly rwy'n 627 00:25:18,570 --> 00:25:20,264 cynnwys hyn fel y sleid nesaf. 628 00:25:20,264 --> 00:25:22,770 [Chwerthin] 629 00:25:22,770 --> 00:25:23,630 DAVID J. Malan: Mae'r wefan hon yn wych. 630 00:25:23,630 --> 00:25:24,820 Fi 'n weithredol got ychydig yn canolbwyntio ar y ffordd. 631 00:25:24,820 --> 00:25:26,330 Mae hyn yn un. 632 00:25:26,330 --> 00:25:29,590 Ac yna roedd hyn yn un anhygoel. 633 00:25:29,590 --> 00:25:35,190 Iawn, felly meddyliwch am y gath fach yn hwyr yn y nos wrth wneud 634 00:25:35,190 --> 00:25:36,040 penderfyniadau hynny. 635 00:25:36,040 --> 00:25:40,110 Mae pob hawl, pethau felly yn ôl i fwy o hwyl ac yn llai difrifol, fel 636 00:25:40,110 --> 00:25:40,780 amodau. 637 00:25:40,780 --> 00:25:43,900 >> Mae pob hawl, felly gwnaethom drafod yn fyr am y rhain. 638 00:25:43,900 --> 00:25:46,080 Mae hyn yn rhywbeth sy'n debyg, yn gwbl gyfarwydd o 639 00:25:46,080 --> 00:25:47,260 y byd Scratch. 640 00:25:47,260 --> 00:25:49,860 Ac yn y byd o Scratch, mae gennym yr angen hwn weithiau 641 00:25:49,860 --> 00:25:51,110 mynd i wneud fforchio yn y ffordd. 642 00:25:51,110 --> 00:25:54,840 Naill ai gwneud hyn neu'r llall, neu y peth arall yma. 643 00:25:54,840 --> 00:25:58,990 A phan fyddwn yn dymuno gwneud hyn, gallwn eu defnyddio, yn C yn awr, hyn os 644 00:25:58,990 --> 00:26:00,860 arall adeiladu. 645 00:26:00,860 --> 00:26:06,420 Ac yna dyma gennym mynegiadau Boole. 646 00:26:06,420 --> 00:26:09,260 Er enghraifft, mynegiadau Boole yma, gallwn NEU 647 00:26:09,260 --> 00:26:12,260 gyda'i gilydd, yn yr ystyr bod gennym y cyflwr hwn NEU 648 00:26:12,260 --> 00:26:13,200 y cyflwr hwnnw. 649 00:26:13,200 --> 00:26:15,100 Gallwn A gyda'i gilydd, yn yr ystyr ein bod eisiau 650 00:26:15,100 --> 00:26:17,710 gwirio cyflwr hwn A bod cyflwr. 651 00:26:17,710 --> 00:26:22,440 Ac yma mae gennym ddatganiad newid yn awr, nad yw mor 652 00:26:22,440 --> 00:26:26,040 debyg syntactically i'r mathau hynny o amodau, ond mae'n 653 00:26:26,040 --> 00:26:30,160 yn caniatáu i ni wneud yr hyn sy'n cyfateb os, arall os, arall os, arall 654 00:26:30,160 --> 00:26:34,990 os, ac yn y blaen gan syml rhestru iddynt fesul achos 655 00:26:34,990 --> 00:26:36,670 gan achos wrth achos. 656 00:26:36,670 --> 00:26:38,370 Felly, rydym yn gweld rhai tro diwethaf. 657 00:26:38,370 --> 00:26:40,430 Ac yna rydym yn dechrau cyffwrdd ar bethau fel dolenni. 658 00:26:40,430 --> 00:26:42,070 Gwelsom un o'r rhain dim ond funud yn ôl. 659 00:26:42,070 --> 00:26:44,180 Ond mae hyn cysyniadau eraill dolennu. 660 00:26:44,180 --> 00:26:46,370 >> Er enghraifft, mae hyn yn un yma. 661 00:26:46,370 --> 00:26:50,140 Felly, er (cyflwr), yn gwneud y peth eto ac eto. 662 00:26:50,140 --> 00:26:53,070 Felly y bôn, yr hyn sy'n ymddangos i fod yn wahanol rhwng y 663 00:26:53,070 --> 00:26:55,760 gyfer dolen ac mae hyn yn ddolen tra yma? 664 00:27:00,810 --> 00:27:05,045 Hyn, er dolen ac mae hyn yn ddolen amser. 665 00:27:05,045 --> 00:27:07,840 Yeah? 666 00:27:07,840 --> 00:27:08,800 Beth sy'n bod? 667 00:27:08,800 --> 00:27:10,050 GYNULLEIDFA: [Anghlywadwy]. 668 00:27:14,632 --> 00:27:15,120 DAVID J. Malan: Da. 669 00:27:15,120 --> 00:27:17,130 Felly, tra yn y ddolen ar gyfer cyflwr, mae yn amlwg 670 00:27:17,130 --> 00:27:17,940 cystrawen mwy. 671 00:27:17,940 --> 00:27:20,560 Mae hyn yn initialization, mae diweddariad hwn. 672 00:27:20,560 --> 00:27:23,820 Mewn dolen sbel, nid dim ond y cyflwr hwn. 673 00:27:23,820 --> 00:27:26,630 Felly, mae'n ymddangos ei fod yn ychydig yn cwtogi i lawr yn erbyn y gyfer 674 00:27:26,630 --> 00:27:28,770 ddolen, sy'n golygu os ydym am gael newidynnau ac rydym am 675 00:27:28,770 --> 00:27:30,800 i gael incrementation, rydym mewn gwirionedd yn rhaid i 676 00:27:30,800 --> 00:27:32,500 gwneud y peth hyn ein hunain. 677 00:27:32,500 --> 00:27:34,420 >> Felly, gadewch i mi fynd yn ei flaen ac agor gedit. 678 00:27:34,420 --> 00:27:36,320 Gadewch i mi droi at y ddyfais. 679 00:27:36,320 --> 00:27:38,110 A gadewch i ni dim ond yn gwneud yn enghraifft fach cyflym 680 00:27:38,110 --> 00:27:40,550 gwahaniaethu un o'r rhain oddi wrth y llall. 681 00:27:40,550 --> 00:27:42,490 Ac yng nghefn fy meddwl yma, dylwn ddweud un peth. 682 00:27:42,490 --> 00:27:44,120 Cyfeiriais yn benodol at y Tim enw. 683 00:27:44,120 --> 00:27:47,740 Tim oedd mewn gwirionedd yn rhywun y mae myfyriwr ceisio dod o hyd i wneud 684 00:27:47,740 --> 00:27:48,680 eu gwaith cartref ar eu cyfer. 685 00:27:48,680 --> 00:27:51,280 Nid oedd gennym Tim yn yr adran benodol. 686 00:27:51,280 --> 00:27:53,690 Felly sylweddoli, rhag i mi datgelu yn fyfyriwr, nid oedd yn fyfyriwr. 687 00:27:53,690 --> 00:27:55,720 Roedd yn berson ar hap ar y Rhyngrwyd yn gwneud pethau 688 00:27:55,720 --> 00:27:57,180 yn ôl blwyddyn ddirprwy ddiwethaf. 689 00:27:57,180 --> 00:27:58,670 Felly rydym yn dod o hyd i hynny, hefyd. 690 00:27:58,670 --> 00:28:00,630 Felly, yn yr achos hwn yma, gadewch i mi fynd yn ei flaen a 691 00:28:00,630 --> 00:28:02,810 agor ffeil newydd. 692 00:28:02,810 --> 00:28:04,800 Ffeil, Newydd. 693 00:28:04,800 --> 00:28:06,050 Mae hyn yn rhoi i mi tab yma. 694 00:28:06,050 --> 00:28:09,940 Gadewch i mi fynd yn ei flaen a'i gadw fel loop.c. 695 00:28:09,940 --> 00:28:11,810 Gadewch i mi fynd a chliciwch Cadw. 696 00:28:11,810 --> 00:28:15,340 Ac yna i lawr yma, gadewch i ni fynd yn ei flaen ac yn dechrau ysgrifennu 697 00:28:15,340 --> 00:28:16,605 # Cynnwys . 698 00:28:19,116 --> 00:28:20,520 Gadewch i mi chwyddo i mewn 699 00:28:20,520 --> 00:28:23,410 Nawr byddwn yn gwneud prif int (gwag). 700 00:28:23,410 --> 00:28:30,020 Nawr, gadewch i mi fynd ymlaen a gwneud ar gyfer (i int = 0; ff < 701 00:28:30,020 --> 00:28:33,480 oh, 10; i + +). 702 00:28:33,480 --> 00:28:36,620 Ac yn awr yr wyf i'n mynd i fynd yn ei flaen ac yn argraffu'r seren fy mod yn 703 00:28:36,620 --> 00:28:37,890 gwnaethom yn gynharach. 704 00:28:37,890 --> 00:28:39,390 Ac yna ar ddiwedd y rhaglen hon, rydym yn jyst yn mynd i 705 00:28:39,390 --> 00:28:41,130 argraffu llinell newydd, dim ond er mwyn fy brydlon 706 00:28:41,130 --> 00:28:42,470 nid yw'n edrych holl anniben. 707 00:28:42,470 --> 00:28:45,170 dychwelyd 0. 708 00:28:45,170 --> 00:28:47,610 Ymddangos syntactically gywir? 709 00:28:47,610 --> 00:28:48,040 Hyd yn hyn. 710 00:28:48,040 --> 00:28:48,560 Felly, gadewch i ni weld. 711 00:28:48,560 --> 00:28:51,290 >> Felly, gadewch i mi chwyddo allan, mynd i mewn i fy ffenestr terfynell. 712 00:28:51,290 --> 00:28:54,570 A gadewch i mi fynd yn ei flaen ac yn rhedeg ddolen, oherwydd fy mod yn galw hyn yn 713 00:28:54,570 --> 00:28:55,690 loop.c. beth 714 00:28:55,690 --> 00:28:56,780 Felly gwnewch ddolen. 715 00:28:56,780 --> 00:28:57,840 Ymddangos i lunio OK. 716 00:28:57,840 --> 00:29:00,210 Gadewch i mi redeg dolen, ac yn awr Enter. 717 00:29:00,210 --> 00:29:01,820 Ac mae'n ymddangos i wedi argraffu 10 sêr. 718 00:29:01,820 --> 00:29:03,780 Felly, gadewch i ni dim ond trosi hyn i ddolen ychydig a gweld beth 719 00:29:03,780 --> 00:29:05,220 mathau o faterion rydym daith drosodd. 720 00:29:05,220 --> 00:29:11,290 Felly yn hytrach na hyn, gadewch i mi fynd i mewn yma a dweud wrth fi yn 721 00:29:11,290 --> 00:29:12,760 llai na 10 - 722 00:29:12,760 --> 00:29:14,910 gadewch i mi gael gwared ar y ddolen i. 723 00:29:14,910 --> 00:29:17,170 Iawn, felly mae gennym ychydig o broblemau eisoes. 724 00:29:17,170 --> 00:29:21,110 Felly, y cyflwr yn yr un fath, ond rwy'n amlwg ar goll y 725 00:29:21,110 --> 00:29:21,680 initialization. 726 00:29:21,680 --> 00:29:23,840 Yr wyf yn goll y incrementation. 727 00:29:23,840 --> 00:29:28,020 Felly, beth ddylai'r compiler debygol dweud wrthyf pan fyddaf yn ceisio 728 00:29:28,020 --> 00:29:29,170 llunio rhaglen hon? 729 00:29:29,170 --> 00:29:29,666 Yeah? 730 00:29:29,666 --> 00:29:31,154 GYNULLEIDFA: [Anghlywadwy]. 731 00:29:31,154 --> 00:29:31,650 >> DAVID J. Malan: Da. 732 00:29:31,650 --> 00:29:34,180 Felly, mae'n mynd i ddweud rhywbeth fel heb ei ddatgan - yn yr 733 00:29:34,180 --> 00:29:35,280 achos, amrywiol i. 734 00:29:35,280 --> 00:29:37,980 Ac yn wir, y defnydd o dynodwr heb eu datgelu i. 735 00:29:37,980 --> 00:29:40,960 Ac felly mae hyn mewn cyferbyniad â ieithoedd fel PHP a 736 00:29:40,960 --> 00:29:43,120 Python a Ruby, y mae efallai y bydd rhai ohonoch yn gyfarwydd, 737 00:29:43,120 --> 00:29:44,820 lle gallwch dim ond math o gychwyn gan ddefnyddio newidynnau 738 00:29:44,820 --> 00:29:47,420 rywsut-rywsut, ac nid rhaid i chi boeni am eu datgan 739 00:29:47,420 --> 00:29:48,560 yn benodol bob tro. 740 00:29:48,560 --> 00:29:51,770 Yn C ac mewn ieithoedd fel Java a C + +, rhaid i chi fod 741 00:29:51,770 --> 00:29:53,020 super penodol. 742 00:29:53,020 --> 00:29:55,760 Ac os ydych am newidyn enw i, mae'n rhaid i chi ddweud wrthyf 743 00:29:55,760 --> 00:29:57,360 pa fath o newidyn ydyw. 744 00:29:57,360 --> 00:29:59,360 Felly, rydym yn mynd i gael i atgyweiria hon fel a ganlyn. 745 00:29:59,360 --> 00:30:05,510 Rydw i'n mynd i gael i fynd i fyny yma a theipiwch int i, felly, 746 00:30:05,510 --> 00:30:07,860 Rwyf wedi datgan amrywiol enw i. 747 00:30:07,860 --> 00:30:09,180 Yn awr, rwyf wedi hepgor un cam. 748 00:30:09,180 --> 00:30:11,340 Dydw i ddim wedi ymgychwyn yn amlwg, ond gadewch i ni weld os mai ar 749 00:30:11,340 --> 00:30:13,650 gwneuthuriad Clang lleiaf stop cwyno. 750 00:30:13,650 --> 00:30:15,770 Felly, gadewch i mi ail-wneud y rhaglen hon. 751 00:30:15,770 --> 00:30:16,770 >> Mae pob hawl, awron 'i' jyst cwyno 752 00:30:16,770 --> 00:30:17,870 am reswm gwahanol. 753 00:30:17,870 --> 00:30:21,130 "Amrywiol 'i' yn cael ei uninitialized pan gaiff ei ddefnyddio yma." Mae pob hawl, felly 754 00:30:21,130 --> 00:30:22,340 mae hynny'n eithaf eglur. 755 00:30:22,340 --> 00:30:25,510 Ymgychwyn yn unig yn golygu gosod fod yn gyfartal i werth. 756 00:30:25,510 --> 00:30:30,820 Ac nid ydym wedi gwneud hynny, felly gadewch i mi roi cynnig dychwelyd 0. 757 00:30:30,820 --> 00:30:35,030 Nawr gadewch i ni geisio hyn eto ac ail-redeg Clang. 758 00:30:35,030 --> 00:30:36,140 Lluniwyd y tro hwn. 759 00:30:36,140 --> 00:30:37,210 Ac rwy'n ar fin ei redeg. 760 00:30:37,210 --> 00:30:43,120 Ond dolen ddiddiwedd mawr hen, oherwydd fy mod i wedi gwneud y 761 00:30:43,120 --> 00:30:45,530 initialization, rwyf wedi gwneud y cyflwr, ond dydw i erioed wedi gwneud 762 00:30:45,530 --> 00:30:47,030 unrhyw fath o incrementation. 763 00:30:47,030 --> 00:30:48,780 Felly, sut y gallaf wneud y incrementation? 764 00:30:48,780 --> 00:30:51,170 Wel, mewn cylch tra, mae'n teimlo fel fy mod i'n mynd i gael 765 00:30:51,170 --> 00:30:54,180 i wneud hynny tu mewn i'r ddolen, oherwydd bod llawer fel y cyntaf 766 00:30:54,180 --> 00:30:56,570 enghreifftiau wythnos o wneud lluniadau dolennu, fel gyda 767 00:30:56,570 --> 00:30:59,040 y sanau a gyda'r hunan-cyfrif, roedd rhaid i ni wneud 768 00:30:59,040 --> 00:31:01,550 rhywbeth ar y diwedd un, yn hoffi mynd yn ôl i'r llinell nesaf. 769 00:31:01,550 --> 00:31:05,040 Beth os byddaf yn mynd yn ei flaen ac yn gwneud hyn i + + yma? 770 00:31:05,040 --> 00:31:06,030 Gadewch i ni hyd yn oed yn llunio hyn. 771 00:31:06,030 --> 00:31:06,890 Dal fi yn barod. 772 00:31:06,890 --> 00:31:09,704 Beth sydd o'i le yma? 773 00:31:09,704 --> 00:31:10,690 GYNULLEIDFA: [Anghlywadwy]. 774 00:31:10,690 --> 00:31:11,770 >> DAVID J. Malan: Felly nid yw'n bendant int. 775 00:31:11,770 --> 00:31:13,080 Mae'n i. 776 00:31:13,080 --> 00:31:15,110 A'r braces cyrliog, fel o'r blaen, 777 00:31:15,110 --> 00:31:16,800 Nid yw pant yn ddigon. 778 00:31:16,800 --> 00:31:18,410 Felly nawr rwyf wedi hyn yn adeiladu. 779 00:31:18,410 --> 00:31:21,780 Felly, er i yn llai na 10, argraffu seren, 780 00:31:21,780 --> 00:31:23,220 yna gynyddiad i. 781 00:31:23,220 --> 00:31:25,680 Ac mae'r ffordd y mae tra bo'r gwaith yn ddolen yn bod cyn gynted ag y byddwch yn cyrraedd y 782 00:31:25,680 --> 00:31:29,630 waelod y ddolen, sydd yn yr achos hwn yn edrych fel llinell 10, 783 00:31:29,630 --> 00:31:32,880 mae'n mynd i fynd yn ôl i'r llinell 6, ar ba bwynt y 784 00:31:32,880 --> 00:31:34,400 Bydd amod yn cael ei wirio eto. 785 00:31:34,400 --> 00:31:37,500 Ac os fi yn dal yn llai na 10, byddwn yn gwneud llinellau 8 a 786 00:31:37,500 --> 00:31:41,250 yna 9, yna y byddwn wedi cyrraedd 10, ac yn mynd yn ôl i 6, unwaith eto a 787 00:31:41,250 --> 00:31:45,580 eto ac eto ac eto, ar yr amod fel fi yn llai na 10. 788 00:31:45,580 --> 00:31:47,860 Felly gadewch i ni ail-redeg gwneud yma. 789 00:31:47,860 --> 00:31:48,940 >> Iawn, rydym wedi llunio iawn. 790 00:31:48,940 --> 00:31:50,300 Gadewch i mi ail-redeg ddolen. 791 00:31:50,300 --> 00:31:52,620 Ac yn awr fod mewn gwirionedd yn ymddangos i weithio. 792 00:31:52,620 --> 00:31:55,100 Felly pwyntiau cadarnhaol a negyddol yma? 793 00:31:55,100 --> 00:31:58,910 Wel, hyd yma nid mewn gwirionedd yn ei chyfanrwydd o PLO - 794 00:31:58,910 --> 00:31:59,420 fel 'n giwt. 795 00:31:59,420 --> 00:32:01,870 Mae pob hawl, yr oedd hwnnw'n - AH, a oedd yn damwain. 796 00:32:01,870 --> 00:32:05,200 Mae pob hawl, felly gadewch i ni fynd yn ôl at y ddolen i. 797 00:32:05,200 --> 00:32:07,530 Felly, ar gyfer dolenni yn neis am eu bod yn super penodol. 798 00:32:07,530 --> 00:32:09,720 A hyd yn oed er eu bod ychydig yn clunky i ysgrifennu, mae'n 799 00:32:09,720 --> 00:32:11,500 bwerus iawn ac mae'n caniatáu i chi wneud 800 00:32:11,500 --> 00:32:12,980 pethau lluosog ar unwaith. 801 00:32:12,980 --> 00:32:16,240 Er nad dolenni yn ymddangos i gael llawer iawn o werth yn unig 802 00:32:16,240 --> 00:32:18,500 eto, gan ei fod yn teimlo fel rydym yn unig rhaid i ni wneud mwy o waith. 803 00:32:18,500 --> 00:32:20,670 Mae'n rhaid i ni roi y initialization i fyny yma, y 804 00:32:20,670 --> 00:32:23,480 diweddaru i lawr yma, ac mae'n rhaid i ni gofio i wneud hynny i gyd. 805 00:32:23,480 --> 00:32:26,260 Felly, byddwn yn gweld mewn amser y dolenni tra mewn gwirionedd benthyg 806 00:32:26,260 --> 00:32:29,380 eu hunain i ddim ond gwahanol gyd-destunau, data gwahanol 807 00:32:29,380 --> 00:32:33,900 strwythurau, fel rhestrau a thablau hash, pethau y byddwn yn dod i 808 00:32:33,900 --> 00:32:34,970 canol semester. 809 00:32:34,970 --> 00:32:37,900 Ond am nawr, yn gwybod bod yna y trydydd math a elwir yn do- 810 00:32:37,900 --> 00:32:38,480 tra ddolen. 811 00:32:38,480 --> 00:32:39,540 Ac rydym wedi gweld hyn yn gryno. 812 00:32:39,540 --> 00:32:41,830 A gallai hyn fod yn ddefnyddiol super gyda pset 1. 813 00:32:41,830 --> 00:32:45,570 Unrhyw bryd y byddwch am wneud rhywbeth ac yna gwirio os 814 00:32:45,570 --> 00:32:48,940 cydweithio y defnyddiwr, ac os nad oeddent, yn ei wneud eto, a gwneud- 815 00:32:48,940 --> 00:32:51,460 tra bod ddolen yn benthyg ei hun i'r math hwnnw o resymeg. 816 00:32:51,460 --> 00:32:55,640 Oherwydd fel y archebu o'r top i'r gwaelod yma yn awgrymu, 817 00:32:55,640 --> 00:32:57,750 yn llythrennol yn golygu gwneud hyn. 818 00:32:57,750 --> 00:32:59,830 Ac yn gwneud hyn dro ar ôl tro, beth allai hynny fod? 819 00:32:59,830 --> 00:33:03,000 Efallai ei fod yn golygu GetInt ffonio neu GetString ac yna 820 00:33:03,000 --> 00:33:05,830 gwirio gwerth GetInt neu GetString ac yna gweiddi 821 00:33:05,830 --> 00:33:08,260 ar y defnyddiwr os nad ydynt wedi cydweithio drwy ofyn iddynt 822 00:33:08,260 --> 00:33:10,100 eto ac eto ac eto. 823 00:33:10,100 --> 00:33:11,730 Os ydych am wneud rhywbeth unwaith, 824 00:33:11,730 --> 00:33:13,210 Yna, edrychwch rhyw amod. 825 00:33:13,210 --> 00:33:14,110 >> Felly, gadewch i ni geisio hyn. 826 00:33:14,110 --> 00:33:17,130 Gadewch i mi mewn gwirionedd yn newid hyn yn awr at dolen do-gyfnod. 827 00:33:17,130 --> 00:33:18,830 Ac yr wyf i'n mynd i fynd yn ei flaen ac yn gwneud y canlynol. 828 00:33:18,830 --> 00:33:21,830 Felly, yn gwneud y canlynol. 829 00:33:21,830 --> 00:33:26,870 Gadewch i ni wneud int i = GetInt (), ond yn gyntaf gadewch i ddweud wrth y defnyddiwr 830 00:33:26,870 --> 00:33:27,410 beth i'w wneud. 831 00:33:27,410 --> 00:33:29,050 Felly, ychydig yn wahanol y tro hwn. 832 00:33:29,050 --> 00:33:31,270 "Rhowch i mi yn int". 833 00:33:31,270 --> 00:33:32,910 Felly, byddaf yn defnyddio printf am hynny. 834 00:33:32,910 --> 00:33:35,740 Ac yn awr yr wyf i'n mynd i fynd i lawr yma, a dw i'n mynd i wneud hyn 835 00:33:35,740 --> 00:33:41,520 tra i yw, gadewch i ni ddweud, yn fwy na - 836 00:33:41,520 --> 00:33:47,540 gadewch i ni weld, i yw, gadewch i ni ddweud, yn llai na 0, neu fi yn 837 00:33:47,540 --> 00:33:48,730 fwy na 10. 838 00:33:48,730 --> 00:33:51,810 Mewn geiriau eraill, yr wyf am gael rhif o 1 i 9, dim ond 839 00:33:51,810 --> 00:33:52,720 fympwyol. 840 00:33:52,720 --> 00:33:55,290 Felly rwy'n defnyddio mynegiad Boole cyfunol yma i 841 00:33:55,290 --> 00:33:59,930 gwneud yn siŵr bod fi yn llai na 0 neu fwy na 10, lle 842 00:33:59,930 --> 00:34:02,530 achos byddaf yn gwneud hyn dolen yma eto. 843 00:34:02,530 --> 00:34:04,400 Felly, unwaith eto, yn gwneud hyn - 844 00:34:04,400 --> 00:34:08,480 tra i yn llai na 0 neu i yn fwy na 10. 845 00:34:08,480 --> 00:34:11,440 >> Felly nawr gadewch i ni fynd ymlaen a gwneud hyn ar ôl i ni wedi gwneud hynny. 846 00:34:11,440 --> 00:34:13,270 Gadewch i 'jyst gwneud gwiriad pwyll gyflym. 847 00:34:13,270 --> 00:34:18,929 printf ("Diolch, i% d", i). 848 00:34:18,929 --> 00:34:21,350 Felly y rhaglen syml yn gofyn i'r defnyddiwr ar gyfer int, 849 00:34:21,350 --> 00:34:24,000 yn gwneud yn siwr ei fod mewn rhai amrediad, 1-9 yn gynhwysol, 850 00:34:24,000 --> 00:34:26,280 ac yna yn diolch i'r defnyddiwr trwy eu hatgoffa yr hyn y maent yn unig 851 00:34:26,280 --> 00:34:27,940 teipio i mewn, yn union fel gwiriad pwyll bach. 852 00:34:27,940 --> 00:34:30,659 Ond gadewch i ni weld os yw hyn yn gweithio fel y bwriadwyd. 853 00:34:30,659 --> 00:34:34,533 Gadewch i mi yn mynd ben i lawr yma ac ail-redeg yn gwneud ddolen. 854 00:34:34,533 --> 00:34:35,350 Hmm. 855 00:34:35,350 --> 00:34:38,600 "Defnyddio dynodwr heb eu datgan 'i'". Mae hynny'n rhyfedd. 856 00:34:38,600 --> 00:34:41,509 Roeddwn i'n meddwl wnaethon ni ddatrys hynny. 857 00:34:45,489 --> 00:34:47,560 Yr un symptom ond god gwahanol. 858 00:34:47,560 --> 00:34:47,899 Yeah? 859 00:34:47,899 --> 00:34:50,191 GYNULLEIDFA: [Anghlywadwy] y tu mewn i'r ddau, mae'n rhaid i ni 860 00:34:50,191 --> 00:34:52,639 [Anghlywadwy]. 861 00:34:52,639 --> 00:34:53,260 >> DAVID J. Malan: Yn union. 862 00:34:53,260 --> 00:34:55,989 Felly, mae hyn mewn gwirionedd yn ein harwain i bwnc a elwir yn gwmpas. 863 00:34:55,989 --> 00:34:59,350 Mae'n troi allan bod C, unwaith eto, mae'n wir yn mynd â chi llythrennol. 864 00:34:59,350 --> 00:35:02,970 Ac os byddwch yn gwneud rhywbeth fel hyn lle rydych yn datgan int 865 00:35:02,970 --> 00:35:06,120 ac yna neilltuo rhywfaint o werth, ond i chi wneud hynny tu mewn 866 00:35:06,120 --> 00:35:09,840 pâr o braces cyrliog, beth C yn ei wneud yw ei fod yn tybio eich bod yn 867 00:35:09,840 --> 00:35:14,800 dim ond am y rhai darnau 32 a elwir fel fi i fodoli o fewn y 868 00:35:14,800 --> 00:35:18,200 nghyd-destun y braces cyrliog, o fewn cyd-destun o linellau 869 00:35:18,200 --> 00:35:22,420 6 drwy 9. Felly, i gael ei ddatgan, ac mae'n cael ei neilltuo a 870 00:35:22,420 --> 00:35:26,530 gwerth yn llinell 8, ond cyn gynted ag y byddwch yn ei gael y tu allan i 871 00:35:26,530 --> 00:35:30,270 llinell 9 isod y brês cyrliog, i yw bellach yn 872 00:35:30,270 --> 00:35:31,910 cwmpas, fel petai. 873 00:35:31,910 --> 00:35:35,030 S-C-O-P-E. Mae'n mwyach yn y cyd-destun cywir. 874 00:35:35,030 --> 00:35:37,940 Felly nawr, nid oes i, felly mae'n fel pe na baem wedi cael hyd yn oed 875 00:35:37,940 --> 00:35:38,770 datgan ei fod o gwbl. 876 00:35:38,770 --> 00:35:41,520 >> Felly beth yn ateb yna ar gyfer rhywbeth fel hyn, os bydd y 877 00:35:41,520 --> 00:35:44,300 rheswm yw bod fi yn cael ei ddatgan yn y braces cyrliog, a oedd yn 878 00:35:44,300 --> 00:35:45,120 yn ymddangos yn ddrwg? 879 00:35:45,120 --> 00:35:45,410 Yma? 880 00:35:45,410 --> 00:35:46,820 GYNULLEIDFA: [Anghlywadwy]. 881 00:35:46,820 --> 00:35:47,150 DAVID J. Malan: Yeah. 882 00:35:47,150 --> 00:35:48,710 Felly gallwn ymgychwyn y tu allan. 883 00:35:48,710 --> 00:35:53,530 Felly, gadewch i mi fynd yn ei flaen a dileu'r rhannau datganiad lle 884 00:35:53,530 --> 00:35:55,820 I nodi'r math, ac yn gadael i mi wneud i fyny yma. 885 00:35:55,820 --> 00:36:00,220 Felly, yn unol 5, yn awr yn dweud "Rhowch i mi yn int." Ffoniwch y i. 886 00:36:00,220 --> 00:36:03,400 Hysbysiad yn unol 9, nid wyf am wneud hyn, oherwydd fy mod yn 887 00:36:03,400 --> 00:36:04,830 eisoes yn meddu ar y darnau 32. 888 00:36:04,830 --> 00:36:06,140 Nid wyf am ofyn i'r cyfrifiadur am 889 00:36:06,140 --> 00:36:07,630 ddarnau 32 gwahanol. 890 00:36:07,630 --> 00:36:09,850 Rwyf eisiau defnyddio y 32 o un darnau. 891 00:36:09,850 --> 00:36:13,190 Ac yn awr oherwydd i yn cael ei ddatgan yn llinell 5, mae'n dal i fod legit 892 00:36:13,190 --> 00:36:16,550 i'w defnyddio yn llinell 11 a llinell 12. 893 00:36:16,550 --> 00:36:19,310 >> Felly, gadewch i mi geisio ail-grynhoi hyn a gweld 894 00:36:19,310 --> 00:36:20,490 os Clang stopio gweiddi. 895 00:36:20,490 --> 00:36:22,380 wneud dolen. 896 00:36:22,380 --> 00:36:25,470 Felly nawr ei fod yn "ddatganiad ymhlyg o swyddogaeth 897 00:36:25,470 --> 00:36:29,880 'GetInt' yn annilys yn C99. "Beth yw hynny? 898 00:36:29,880 --> 00:36:30,400 Yeah? 899 00:36:30,400 --> 00:36:32,330 GYNULLEIDFA: [Anghlywadwy]. 900 00:36:32,330 --> 00:36:32,690 DAVID J. Malan: Yeah. 901 00:36:32,690 --> 00:36:35,520 Felly nawr fy mod yn ei ddefnyddio mewn gwirionedd GetInt, nid yw hyn yn rhywbeth 902 00:36:35,520 --> 00:36:38,190 mai dim ond yn dod â C. Mae hyn yn dod o CS50. 903 00:36:38,190 --> 00:36:39,890 Felly mae angen hyn yma. 904 00:36:39,890 --> 00:36:41,450 A gadewch i mi fynd yn ôl i lawr i'r brydlon 905 00:36:41,450 --> 00:36:43,500 yma ac ail-redeg wneud. 906 00:36:43,500 --> 00:36:44,160 Iawn, yn olaf. 907 00:36:44,160 --> 00:36:46,270 Nawr rydym wedi datrys hynny a bod y gwall arall. 908 00:36:46,270 --> 00:36:48,930 Gadewch i mi redeg yn awr ddolen a gweld beth sy'n digwydd. 909 00:36:48,930 --> 00:36:51,740 "Rhowch i mi yn int." 'N annhymerus' roi 11. 910 00:36:51,740 --> 00:36:53,100 'N annhymerus' roi -1. 911 00:36:53,100 --> 00:36:54,470 'N annhymerus' yn rhoi ei foo. 912 00:36:54,470 --> 00:36:56,080 'N annhymerus' ei roi 5. 913 00:36:56,080 --> 00:36:57,450 Ac yn awr y mae'n wir yn gweithio. 914 00:36:57,450 --> 00:36:59,410 Ond mae'r brydlon newid am reswm yma. 915 00:36:59,410 --> 00:37:02,800 Pam ei bod yn dweud retry un o'r adegau hyn ond yn rhoi i mi 916 00:37:02,800 --> 00:37:03,920 int y tri arall gwaith? 917 00:37:03,920 --> 00:37:05,500 Pam bod ymddygiad gwahanol? 918 00:37:05,500 --> 00:37:06,980 GYNULLEIDFA: Rhoddodd ei fod yn llinyn. 919 00:37:06,980 --> 00:37:07,830 DAVID J. Malan: Mae'n ddrwg gennyf? 920 00:37:07,830 --> 00:37:08,570 GYNULLEIDFA: Rhoesoch ei fod yn llinyn. 921 00:37:08,570 --> 00:37:08,990 DAVID J. Malan: Yeah. 922 00:37:08,990 --> 00:37:11,450 Felly, rydym yn rhoi ei linyn yn y trydydd cynnig, 923 00:37:11,450 --> 00:37:12,490 pan fyddaf yn teipio foo. 924 00:37:12,490 --> 00:37:13,200 Foo yn llinyn. 925 00:37:13,200 --> 00:37:14,340 Nid yw'n amlwg yn int. 926 00:37:14,340 --> 00:37:17,500 A'r ffordd y mae wedi gweithredu CS50 GetInt yw ein bod yn 927 00:37:17,500 --> 00:37:20,330 nid ydynt yn gwirio os bydd rhywbeth yn llai na 0 neu fwy na 10 928 00:37:20,330 --> 00:37:22,260 i chi, oherwydd sut rydym yn gwybod ymlaen llaw pa fath o 929 00:37:22,260 --> 00:37:23,130 int ydych eisiau? 930 00:37:23,130 --> 00:37:25,880 Ond gallwn wirio cyn lleied â phosibl i chi, oedd y defnyddiwr o leiaf 931 00:37:25,880 --> 00:37:26,730 deipio yn gyfanrif? 932 00:37:26,730 --> 00:37:30,500 Ac os nad oeddent, rydym yn gweiddi ar y defnyddiwr trwy deipio "retry" ar 933 00:37:30,500 --> 00:37:31,440 y sgrîn. 934 00:37:31,440 --> 00:37:34,210 >> Felly, yn awr mae gennym raglen sydd wedi dolennu. Iawn. 935 00:37:34,210 --> 00:37:37,070 Yn awr, pa un o'r rhain yn fath o lluniad yn well? 936 00:37:37,070 --> 00:37:39,060 Felly, dyma lle pethau'n dechrau cael anniben bach, y 937 00:37:39,060 --> 00:37:42,360 ffaith bod yn rhaid i chi gofio i ddatgan amrywiadwy hyd yma 938 00:37:42,360 --> 00:37:44,630 os ydych chi am ei ddefnyddio y tu mewn rhai 939 00:37:44,630 --> 00:37:46,460 braces cyrliog a thu allan. 940 00:37:46,460 --> 00:37:48,490 Ond hyd yn oed os yw hyn yn edrych ychydig yn cryptig yn gyntaf 941 00:37:48,490 --> 00:37:50,750 olwg, dim ond unwaith eto, cofiwch y rhesymeg syml. 942 00:37:50,750 --> 00:37:54,630 Er mwyn defnyddio unrhyw beth yn C, p'un a yw'n swyddogaeth neu 943 00:37:54,630 --> 00:37:57,680 ei fod yn amrywiol, mae'n rhaid i chi gynnwys os yw'n swyddogaeth 944 00:37:57,680 --> 00:37:59,770 mewn rhai llyfrgell, neu mae angen i chi ddatgan hynny. 945 00:37:59,770 --> 00:38:02,405 Ond yn awr mae angen i chi fod yn ymwybodol ychwanegol o'r ffaith bod 946 00:38:02,405 --> 00:38:04,940 eich bod yn datgan yn y cwmpas cywir. 947 00:38:04,940 --> 00:38:08,150 Nid ydych chi'n ei roi yn rhy dynn tu mewn cromfachau. 948 00:38:08,150 --> 00:38:09,410 >> Felly, gadewch i mi mewn gwirionedd yn rholio yn ôl. 949 00:38:09,410 --> 00:38:12,660 Os awn yn ôl at ein er enghraifft o gyfnod cynharach, ac yr wyf yn mynd 950 00:38:12,660 --> 00:38:19,245 yn ôl i am int, int i = 0; i <10; i + +, ac yr wyf 951 00:38:19,245 --> 00:38:26,370 gwneud sêr printf, fel hyn, ac yna paren agos, ac yn awr 952 00:38:26,370 --> 00:38:30,410 printf i yn awr - 953 00:38:30,410 --> 00:38:33,500 yn ôl yr un rhesymeg, beth fydd yn digwydd pan fyddaf yn ceisio 954 00:38:33,500 --> 00:38:35,500 llunio rhaglen hon? 955 00:38:35,500 --> 00:38:36,790 GYNULLEIDFA: dynodwr annilys. 956 00:38:36,790 --> 00:38:38,560 DAVID J. Malan: Felly mae'n arall dynodwr annilys, 957 00:38:38,560 --> 00:38:39,470 dynodwr heb ei ddatgan. 958 00:38:39,470 --> 00:38:41,810 Yn awr, y rheswm yn ychydig yn wahanol. 959 00:38:41,810 --> 00:38:44,370 Does amlwg, nid oes braces cyrliog yma, ond yr un fath 960 00:38:44,370 --> 00:38:46,790 syniad, yr un stori o gwmpas yn berthnasol. 961 00:38:46,790 --> 00:38:50,340 Os ydych wedi datgan amrywiol fel i tu mewn 962 00:38:50,340 --> 00:38:53,960 gyfer dolen, hyd yn oed os nad ydych wedi ysgrifennu yn benodol y cyrliog 963 00:38:53,960 --> 00:38:56,980 braces, feddwl amdanynt yn feddyliol yn dal i fod yno, lle y 964 00:38:56,980 --> 00:39:00,310 achos fi yn unig y tu mewn dilys o'r ddolen gyfer. 965 00:39:00,310 --> 00:39:03,080 Nid yw'n ddilys ar ôl i chi gyrraedd y llinell nesaf, sydd yn 966 00:39:03,080 --> 00:39:05,090 yr achos hwn yn awr yn 10. 967 00:39:05,090 --> 00:39:09,060 Felly, dim ond rhai materion o ran cwmpas ac yn y blaen. 968 00:39:09,060 --> 00:39:12,620 Mae pob hawl, unrhyw gwestiynau? 969 00:39:12,620 --> 00:39:15,310 >> Mae pob hawl, felly mae hyn yn fath o raglen bach dibwys, 970 00:39:15,310 --> 00:39:17,450 argraffu dim ond sêr bach. 971 00:39:17,450 --> 00:39:20,400 Ond gadewch i ni weld os ydych yn cofio y gân yma. 972 00:39:20,400 --> 00:39:22,530 Mae hwn yn gân anhygoel blino byddai'r plant yn canu ar 973 00:39:22,530 --> 00:39:23,550 y bws ysgol ac yn y blaen. 974 00:39:23,550 --> 00:39:25,990 Ond beth braf amdano yw ei fod wedi hyn cyclicity, 975 00:39:25,990 --> 00:39:27,910 lle mae'n "99 boteli o gwrw ar y wal, 976 00:39:27,910 --> 00:39:28,520 99 botel o gwrw. 977 00:39:28,520 --> 00:39:31,030 Cymerwch un i lawr, ei throsglwyddo o gwmpas, 98 potel o gwrw ar y 978 00:39:31,030 --> 00:39:34,330 wal. "Ac yna y gân yn ailadrodd y 97, yna 96, yna 979 00:39:34,330 --> 00:39:38,040 95, yna 94, yr holl ffordd i lawr i 0 os ydych yn cael bod 980 00:39:38,040 --> 00:39:38,920 ymhell ar y bws. 981 00:39:38,920 --> 00:39:41,960 Felly, mae hon yn rhaglen braf i ni geisio'u gweithredu, gan fod fy 982 00:39:41,960 --> 00:39:43,650 Duw, pe gallech dim ond rhoi hyn ar waith gydag ychydig 983 00:39:43,650 --> 00:39:46,660 linellau o god, gallech boeri allan y geiriau cyfan i hyn 984 00:39:46,660 --> 00:39:48,240 gân yn eithaf cyflym. 985 00:39:48,240 --> 00:39:50,420 Ond ar hyd y ffordd, gallwn ddechrau nawr canfod ar wahân rhai 986 00:39:50,420 --> 00:39:52,460 o'r rhain yn adeiladu sylfaenol dolennu ac erbyn hyn hefyd 987 00:39:52,460 --> 00:39:55,830 cyflwyno swyddogaethau yr ydym yn ysgrifennu ein hunain, yn dychwelyd gwerthoedd 988 00:39:55,830 --> 00:39:57,020 ein bod yn pasio o gwmpas. 989 00:39:57,020 --> 00:39:58,910 Ond yn gyntaf, pam nad ydym yn mynd yn ei flaen ac yn cymryd ein pum-munud 990 00:39:58,910 --> 00:39:59,320 torri yma? 991 00:39:59,320 --> 00:40:01,480 A phan fyddwn yn mynd yn ôl, byddwn yn canu y gân. 992 00:40:05,680 --> 00:40:08,760 >> Mae pob hawl, felly dyma ni'n ôl. 993 00:40:08,760 --> 00:40:11,850 A phan yr wyf yn dweud y byddwn yn awr yn canu y gân, yr wyf yn golygu 994 00:40:11,850 --> 00:40:13,250 programmatically, nid ar lafar. 995 00:40:13,250 --> 00:40:19,370 Felly yma mae gennym beer1.c, sy'n un gweithrediad y 996 00:40:19,370 --> 00:40:20,580 cân arbennig. 997 00:40:20,580 --> 00:40:23,110 A dim ond i fod yn glir, ar gyfer rhai sy'n anghyfarwydd â'r hyn 998 00:40:23,110 --> 00:40:24,460 y peth hyn yn edrych fel, gadewch i mi fynd yn ei flaen 999 00:40:24,460 --> 00:40:27,070 ac yn gwneud beer1, Enter. 1000 00:40:27,070 --> 00:40:30,400 Nawr, gadewch i mi redeg beer1, a'r hyn y byddwn yn gweld - faint o boteli 1001 00:40:30,400 --> 00:40:31,140 Bydd o gwrw fod ar gael? 1002 00:40:31,140 --> 00:40:33,240 'N annhymerus' deipio i mewn 99, fel y gân yn ei ddweud. 1003 00:40:33,240 --> 00:40:34,040 Enter. 1004 00:40:34,040 --> 00:40:35,650 Ac yn awr os ydym sgrolio drwy'r - 1005 00:40:35,650 --> 00:40:38,280 Wps - os ydym yn sgrolio drwy'r hyn i gyd, byddwn yn gweld bod 1006 00:40:38,280 --> 00:40:41,350 oedd hyn yn wir yn canu y gân gyfan. 1007 00:40:44,050 --> 00:40:44,540 Arhoswch funud. 1008 00:40:44,540 --> 00:40:46,240 Fy bar sgrolio mae ychydig yn cyboledig i fyny. 1009 00:40:46,240 --> 00:40:47,940 Gadewch i ni ddefnyddio'r ffenestr mwy. 1010 00:40:47,940 --> 00:40:53,500 Felly beer1, 99, dyna ni. 1011 00:40:53,500 --> 00:40:56,420 Felly, yma rydym yn cael y gân gyfan, canu llawer cyflymach gan y 1012 00:40:56,420 --> 00:40:58,450 gyfrifiadur nag y gallai fod wedi bod gennym ni. 1013 00:40:58,450 --> 00:41:00,340 Felly sylwi, fodd bynnag, mae natur gylchol yma. 1014 00:41:00,340 --> 00:41:03,380 Mae'n dweud 99, yna 99, yna "yn cymryd un i lawr, ei throsglwyddo 1015 00:41:03,380 --> 00:41:04,740 o gwmpas, "yna 98. 1016 00:41:04,740 --> 00:41:06,640 Ac yn awr mae'n ailadrodd dro ar ôl tro. 1017 00:41:06,640 --> 00:41:08,840 >> Felly, mae hyn mewn gwirionedd yn gyfle perffaith ar gyfer rhyw fath o 1018 00:41:08,840 --> 00:41:10,400 dolennu adeiladu. 1019 00:41:10,400 --> 00:41:12,950 Sylwch fod Rwy'n fath o dorri cornel yma. 1020 00:41:12,950 --> 00:41:15,960 Sylwch fod i ddim yn dweud "98 boteli o gwrw ar y wal, 1021 00:41:15,960 --> 00:41:19,010 97 boteli o gwrw ar y wal, "a bod yn unig oedd hynny 1022 00:41:19,010 --> 00:41:21,640 pan fyddwn yn mynd i un botel o gwrw, nid oes gennyf 1023 00:41:21,640 --> 00:41:23,300 i chi boeni am y gramadeg Saesneg. 1024 00:41:23,300 --> 00:41:25,790 Ond gallwn hefyd atgyweiria hon gydag ychydig o os 1025 00:41:25,790 --> 00:41:26,910 cyflwr, efallai. 1026 00:41:26,910 --> 00:41:30,110 Os bydd y nifer yn unigol, mynd yn ei flaen ac yn dweud "potel", 1027 00:41:30,110 --> 00:41:31,840 fel arall os yw'n lluosog, yn dweud "poteli". 1028 00:41:31,840 --> 00:41:34,150 Ond am nawr, rwy'n hollol torri y gornel. 1029 00:41:34,150 --> 00:41:35,520 Felly, gadewch i ni weld beth sydd gennym yma. 1030 00:41:35,520 --> 00:41:37,150 Felly, rydym wedi cael rhai sylwadau ar y brig. 1031 00:41:37,150 --> 00:41:39,450 Rwy'n cynnwys y ddwy lyfrgell, fel y 1032 00:41:39,450 --> 00:41:41,140 rydym wedi bod yn gyffredin. 1033 00:41:41,140 --> 00:41:43,610 Ac yn awr gadewch i mi sgroliwch i lawr at y cyntaf 1034 00:41:43,610 --> 00:41:44,990 llinellau gwirioneddol o god. 1035 00:41:44,990 --> 00:41:47,020 Llinell 17 yn cychwyn brif. 1036 00:41:47,020 --> 00:41:50,610 Llinell 21 ac 20 mae faint o boteli o gwrw fod ar gael? 1037 00:41:50,610 --> 00:41:52,060 Ac yna yr wyf yn galw GetInt. 1038 00:41:52,060 --> 00:41:53,800 Ac yn awr mae gen i dipyn o wiriad bwyll. 1039 00:41:53,800 --> 00:41:57,030 >> Felly, mae hyn yn gonfensiwn y byddwn yn awr yn dechrau mabwysiadu i 1040 00:41:57,030 --> 00:41:59,620 yn fwy trylwyr gwirio fewnbwn y defnyddiwr. 1041 00:41:59,620 --> 00:42:01,710 Weithiau, dim ond nad ydych am i ysgogi nhw eto 1042 00:42:01,710 --> 00:42:02,630 ac eto ac eto. 1043 00:42:02,630 --> 00:42:05,620 Os yw'r defnyddiwr sgriwiau i fyny ac nid yw'n cydweithredu, dirwy. 1044 00:42:05,620 --> 00:42:07,430 Roi'r gorau iddi ac nid yn unig yn delio â nhw. 1045 00:42:07,430 --> 00:42:08,990 Ac felly dyna beth rwy'n ei wneud yma. 1046 00:42:08,990 --> 00:42:12,520 Os n yn llai nag 1, Im 'jyst yn mynd i gweiddi ar y defnyddiwr, 1047 00:42:12,520 --> 00:42:14,330 "Mae'n ddrwg gennym, sy'n gwneud dim synnwyr." Ac yna dwi'n mynd i 1048 00:42:14,330 --> 00:42:16,650 fympwyol dychwelyd 1. 1049 00:42:16,650 --> 00:42:18,550 Felly, unwaith eto, mae hyn yn unig yw confensiwn i ddod i arfer â. 1050 00:42:18,550 --> 00:42:19,850 Am y tro, fynd ag ef ar ffydd. 1051 00:42:19,850 --> 00:42:22,700 Ond hyd yn hyn, rydym wedi bob amser wedi dychwelyd 0, oherwydd 1052 00:42:22,700 --> 00:42:25,204 rydym wedi dweud yn dychwelyd 0 yn dynodi beth? 1053 00:42:25,204 --> 00:42:26,000 GYNULLEIDFA: Llwyddiant. 1054 00:42:26,000 --> 00:42:27,320 DAVID J. Malan: Llwyddiant, dyna i gyd. 1055 00:42:27,320 --> 00:42:29,740 Felly nawr ein bod o'r diwedd yn dechrau meddwl am 1056 00:42:29,740 --> 00:42:31,330 nad ydynt yn llwyddiannau - 1057 00:42:31,330 --> 00:42:33,760 mewn geiriau eraill, achosion cornel, amodau gwall - 1058 00:42:33,760 --> 00:42:37,520 yn awr yr wyf yn cael cyflenwad diddiwedd, neu o leiaf 4000000000 1059 00:42:37,520 --> 00:42:39,790 bethau posibl sy'n gallu mynd o'i le yn fy rhaglenni. 1060 00:42:39,790 --> 00:42:42,300 A allaf ddechrau eu dosrannu rhifau unigol. 1061 00:42:42,300 --> 00:42:44,340 Yn awr, yn gyffredinol Mae'n ddigonol i ychydig dychwelyd 1062 00:42:44,340 --> 00:42:45,730 rhywbeth arall na 0. 1063 00:42:45,730 --> 00:42:48,040 Felly, rydym yn mynd i wneud dim ond dychwelyd 1 am nawr. 1064 00:42:48,040 --> 00:42:51,440 Ond y rheswm dros ddychwelyd 1 yw bod cyn gynted ag y byddwch yn dychwelyd 1065 00:42:51,440 --> 00:42:55,110 1, dyfalu beth sy'n digwydd i weddill y rhaglen? 1066 00:42:55,110 --> 00:42:55,720 Mae'n atal. 1067 00:42:55,720 --> 00:42:56,560 Dyna ni. 1068 00:42:56,560 --> 00:42:59,150 Felly y ffaith fy mod i'n dychwelyd 1 yn effeithiol 1069 00:42:59,150 --> 00:43:02,950 byr-cylched gweithredu rhaglen hon fel bod 1070 00:43:02,950 --> 00:43:06,780 Bydd dim byd yn is llinell 27 barhau i weithredu. 1071 00:43:06,780 --> 00:43:09,210 Cyn gynted ag y ffurflenni prif, dyna ni. 1072 00:43:09,210 --> 00:43:13,160 >> Mae pob hawl, felly os yw'r defnyddiwr yn cydweithredu ac rydym yn cyrraedd llinell 30 1073 00:43:13,160 --> 00:43:15,680 oherwydd eu bod yn teipio mewn nifer dilys, dyma yw fy 1074 00:43:15,680 --> 00:43:16,990 gweithrediad y gân. 1075 00:43:16,990 --> 00:43:19,050 Felly, tro cyntaf i mi argraffu gymeriad Newline, dim ond ar gyfer 1076 00:43:19,050 --> 00:43:19,880 estheteg. 1077 00:43:19,880 --> 00:43:21,500 Bellach, mae gen i ddolen. 1078 00:43:21,500 --> 00:43:22,930 Ac yn sylwi fy mod yn gwneud pethau mewn ychydig 1079 00:43:22,930 --> 00:43:23,880 o gyfeiriad gwahanol. 1080 00:43:23,880 --> 00:43:26,210 Nid oes gennyf i wneud llai na, nid oes gennyf i wneud + +. 1081 00:43:26,210 --> 00:43:30,660 Gallaf ddweud yn hytrach ymgychwyn newidyn i, ei osod yn gyfartal i 1082 00:43:30,660 --> 00:43:35,080 n, y rhif y defnyddiwr deipio i mewn, yna gwnewch y canlynol, felly 1083 00:43:35,080 --> 00:43:39,590 hir fel fi yn fwy na 0, yna i - 1084 00:43:39,590 --> 00:43:42,070 unwaith y byddwch wedi orffen un fersiwn o'r ddolen. 1085 00:43:42,070 --> 00:43:44,310 Felly gallwn cyfrif i lawr gan ddefnyddio gyfer dolen yn ogystal. 1086 00:43:44,310 --> 00:43:47,520 Yn awr, mae hyn yn 'n bert lawer yr wythnos 1 pethau yn awr, gyda printf. 1087 00:43:47,520 --> 00:43:51,770 Felly, print "poteli% d o gwrw ar y wal." Print "% d 1088 00:43:51,770 --> 00:43:54,990 boteli o gwrw. "" Cymerwch un i lawr, ei drosglwyddo o gwmpas. "Print 1089 00:43:54,990 --> 00:43:58,880 "% Poteli d o gwrw ar y wal." Felly mae'n dal i fod d%, ond 1090 00:43:58,880 --> 00:44:02,770 sylwi bod y ddadl i printf yn newid. 1091 00:44:02,770 --> 00:44:05,840 Ar ôl y coma, yr wyf wedi i, oherwydd yr wyf am ddweud 99. 1092 00:44:05,840 --> 00:44:08,590 Ar ôl y coma, yr wyf wedi i, oherwydd yr wyf am ddweud 99. 1093 00:44:08,590 --> 00:44:14,030 Ar ôl y coma, mae gennyf i - 1, oherwydd yr wyf am ei ddweud 98 yn 1094 00:44:14,030 --> 00:44:16,260 y fersiwn gyntaf, ac yn y blaen. 1095 00:44:16,260 --> 00:44:18,520 Ac yn awr i lawr yma, Fi jyst cael rhywfaint o sylw bach dwp. 1096 00:44:18,520 --> 00:44:22,270 Ac yna llinell 42, yr wyf yn dychwelyd 0 gan gonfensiwn, gan ddynodi bod 1097 00:44:22,270 --> 00:44:23,650 popeth yn iawn. 1098 00:44:23,650 --> 00:44:24,490 >> Felly beth os wyf goofed? 1099 00:44:24,490 --> 00:44:26,350 Beth allai camgymeriad cyffredin yma fod? 1100 00:44:26,350 --> 00:44:29,200 Wel, beth os wyf yn ddamweiniol ddweud yn dda, yr wyf yn awyddus i gyfrif 1101 00:44:29,200 --> 00:44:31,640 i lawr i 0, rwyf am 0 boteli o gwrw ar y wal? 1102 00:44:31,640 --> 00:44:34,620 Felly, yr wyf yn dweud, i yn fwy na neu'n hafal i 0. 1103 00:44:34,620 --> 00:44:38,920 Beth sy'n mynd i fod yn symptom fy mod yn awr yn gweld os byddaf yn ail-grynhoi 1104 00:44:38,920 --> 00:44:41,173 beer1 a'i redeg? 1105 00:44:41,173 --> 00:44:42,120 GYNULLEIDFA: Negyddol. 1106 00:44:42,120 --> 00:44:43,590 DAVID J. Malan: Yeah, ei fod yn gonna fynd yn negyddol. 1107 00:44:43,590 --> 00:44:45,950 Mae hwn yn wall oddi-wrth-un, yn hynod 1108 00:44:45,950 --> 00:44:47,270 gamgymeriad cyffredin i wneud. 1109 00:44:47,270 --> 00:44:48,960 Gadewch i ni mewn gwirionedd yn mynd yn ôl at y ffenestr derfynell ac yn ei wneud 1110 00:44:48,960 --> 00:44:50,620 yma, fel y gallwn weld mwy ar y tro. 1111 00:44:50,620 --> 00:44:53,280 Rhowch, 99 botel o gwrw. 1112 00:44:53,280 --> 00:44:56,580 Close, ond aethom erioed mor ychydig yn rhy bell. 1113 00:44:56,580 --> 00:45:00,500 Rydym yn canu y gân yn rhy bell i lawr, fel bod gennym yn awr yn cyrraedd y 1114 00:45:00,500 --> 00:45:01,510 rhif negatif. 1115 00:45:01,510 --> 00:45:03,680 Felly nid yw'n hollol gweithio. 1116 00:45:03,680 --> 00:45:06,450 >> Mae pob hawl, fel y gallwn yn hawdd atgyweiria bod trwy fynd yn ôl at y 1117 00:45:06,450 --> 00:45:07,650 ffordd y bu. 1118 00:45:07,650 --> 00:45:10,360 Ond beth yw rhai cyfleoedd nawr ar gyfer 1119 00:45:10,360 --> 00:45:11,190 gwella? 1120 00:45:11,190 --> 00:45:17,200 Wel, gadewch i mi agor beer2.c a sgroliwch i lawr yma ac yn cymryd 1121 00:45:17,200 --> 00:45:19,310 edrych ar y fersiwn. 1122 00:45:19,310 --> 00:45:21,370 Beth yw'r peth cyntaf sy'n neidio allan arnoch chi fel wahanol 1123 00:45:21,370 --> 00:45:23,715 yn y fersiwn yma? 1124 00:45:23,715 --> 00:45:24,190 GYNULLEIDFA: [Anghlywadwy]. 1125 00:45:24,190 --> 00:45:26,510 DAVID J. Malan: Yeah, felly dim mwy i, gan ei fod yn digwydd i 1126 00:45:26,510 --> 00:45:29,350 mi eich bod yn gwybod beth, rwy'n gofyn i'r defnyddiwr ar gyfer n, ac yna rwy'n 1127 00:45:29,350 --> 00:45:33,580 gosod i cyfartal i n, ac yna rwy'n newid i, ond dydw i byth 1128 00:45:33,580 --> 00:45:34,590 cyffwrdd n eto. 1129 00:45:34,590 --> 00:45:37,390 Felly, yr hyn y mae'r Heck oedd y pwynt ydych yn dyrannu 32 o 1130 00:45:37,390 --> 00:45:45,210 darnau o'r enw fi jyst er mwyn i mi gael newidyn gwahanol? 1131 00:45:45,210 --> 00:45:47,960 Felly, yn yr achos hwn, yr wyf fath o gydnabod bod diangen 1132 00:45:47,960 --> 00:45:49,190 nodwedd dylunio. 1133 00:45:49,190 --> 00:45:52,730 Ac yr wyf yn awr rwy'n mynd i ddweud tra n yn fwy na 0, ewch 1134 00:45:52,730 --> 00:45:56,180 ymlaen ac argraffu yr un gân, gan fynd heibio i n i printf fel y 1135 00:45:56,180 --> 00:46:00,210 ail ddadl, ac n - 1 fel yr ail ddadl i lawr yma. 1136 00:46:00,210 --> 00:46:02,930 Ac yna ar bob fersiwn o'r ddolen, mynd yn ei flaen a dim ond 1137 00:46:02,930 --> 00:46:05,080 lleihau a n ei hun. 1138 00:46:05,080 --> 00:46:06,960 Yn awr, swyddogaethol, mae'r rhaglen hon 1139 00:46:06,960 --> 00:46:08,010 yn mynd i fod yn union yr un fath. 1140 00:46:08,010 --> 00:46:10,730 Os byddaf yn teipio yn 99, n yn dechrau am 99. 1141 00:46:10,730 --> 00:46:12,890 I lleihau a, lleihau a, lleihau a, lleihau a. 1142 00:46:12,890 --> 00:46:15,875 Rydw i'n mynd i gael yr holl ffordd i lawr i "Un botel o gwrw ar 1143 00:46:15,875 --> 00:46:16,740 y wal, un botel o gwrw. 1144 00:46:16,740 --> 00:46:18,020 Cymerwch un i lawr, pasio o gwmpas. 1145 00:46:18,020 --> 00:46:21,480 0 boteli o gwrw ar y wal. "Y diwedd, oherwydd yr oedd 1146 00:46:21,480 --> 00:46:23,200 cael y cyflwr cywir. 1147 00:46:23,200 --> 00:46:24,280 Mae'n fwy na 0. 1148 00:46:24,280 --> 00:46:26,220 Doeddwn i ddim yn gwneud y camgymeriad hwn. 1149 00:46:26,220 --> 00:46:28,470 >> Felly, sydd yn well, fersiwn un neu fersiwn ddau? 1150 00:46:31,380 --> 00:46:33,480 Felly yr wyf yn clywed criw o tuchan i ddau. 1151 00:46:33,480 --> 00:46:34,730 Pam ddau? 1152 00:46:37,210 --> 00:46:38,225 Beth sy'n bod? 1153 00:46:38,225 --> 00:46:39,215 GYNULLEIDFA: [Anghlywadwy]. 1154 00:46:39,215 --> 00:46:40,070 DAVID J. Malan: O, iawn. 1155 00:46:40,070 --> 00:46:42,870 Felly, ni fydd yn mynd o dan 0, ond cofiwch, yn fersiwn un, y 1156 00:46:42,870 --> 00:46:45,870 na fydd y fersiwn gwreiddiol cywir yn mynd o dan 0 chwaith. 1157 00:46:45,870 --> 00:46:48,340 Felly, cofiwch mai hwn yw'r fersiwn gywir. 1158 00:46:48,340 --> 00:46:51,630 Felly, gadewch sydd o leiaf yn cymharu'r ddau fersiwn cywir. 1159 00:46:51,630 --> 00:46:53,300 Beth dadl o blaid fersiwn 1160 00:46:53,300 --> 00:46:55,146 dwy yn, mmm, yn well? 1161 00:46:55,146 --> 00:46:55,642 Yeah? 1162 00:46:55,642 --> 00:46:57,630 GYNULLEIDFA: Mae'n defnyddio llai o le. 1163 00:46:57,630 --> 00:46:59,530 DAVID J. Malan: Iawn, felly mae'n defnyddio llai o le, dde? 1164 00:46:59,530 --> 00:47:02,900 Tra bod un fersiwn a ddefnyddiwyd 32 catiau gyfer n, ac yna un arall 1165 00:47:02,900 --> 00:47:07,680 32 catiau am i. 1166 00:47:07,680 --> 00:47:10,060 Fersiwn ddau yn unig yn defnyddio 32 catiau gyfer n, fel y 1167 00:47:10,060 --> 00:47:11,700 ymddangos i fod yn fantais. 1168 00:47:11,700 --> 00:47:12,950 Meddyliau eraill? 1169 00:47:18,070 --> 00:47:21,520 A oes unrhyw un am ddadlau o blaid un? 1170 00:47:21,520 --> 00:47:22,070 Yeah? 1171 00:47:22,070 --> 00:47:25,240 GYNULLEIDFA: Mae'n rhaid i chi ddefnyddio llinell ychwanegol o god ar gyfer n -. 1172 00:47:25,240 --> 00:47:26,090 >> DAVID J. Malan: Iawn, yn sicr. 1173 00:47:26,090 --> 00:47:26,960 Felly, mae hynny'n deg. 1174 00:47:26,960 --> 00:47:29,040 Felly, mae hyn yn unig, o leiaf i mi - 1175 00:47:29,040 --> 00:47:31,940 Yr wyf yn golygu, mewn gwirionedd mae hyn yn teimlo ychydig yn anniben, y ffaith bod 1176 00:47:31,940 --> 00:47:35,120 Ni allaf datrys o grynhoi fy holl rhesymeg mewn un 1177 00:47:35,120 --> 00:47:38,030 llinell hardd, y ddolen i, fel y ddolen am wneud hynny. 1178 00:47:38,030 --> 00:47:40,240 Yma, yr wyf yn fath o rhaid iddynt dacio ar hyn n - 1179 00:47:40,240 --> 00:47:41,120 ar ddiwedd y ddolen, oherwydd 1180 00:47:41,120 --> 00:47:42,550 mae'n rhesymegol angenrheidiol. 1181 00:47:42,550 --> 00:47:45,190 Ond mae'n fath o rhwbio i mi y ffordd anghywir, dim ond oherwydd ei fod yn 1182 00:47:45,190 --> 00:47:48,260 ymddangos ar wahân i'r rhesymeg hyd yma, er, 1183 00:47:48,260 --> 00:47:49,430 unwaith eto, ei fod yn angenrheidiol. 1184 00:47:49,430 --> 00:47:50,990 Meddyliau eraill? 1185 00:47:50,990 --> 00:47:51,490 Yeah? 1186 00:47:51,490 --> 00:47:52,740 GYNULLEIDFA: [Anghlywadwy]. 1187 00:47:57,990 --> 00:47:58,350 >> DAVID J. Malan: Yeah. 1188 00:47:58,350 --> 00:48:00,730 Felly beth os ydych yn lle hynny, ar ddiwedd y gân, yn awyddus i 1189 00:48:00,730 --> 00:48:02,950 argraffu allan eto enw'r gân? 1190 00:48:02,950 --> 00:48:05,660 Fel "Diolch am chwarae 99 botel o gwrw", neu rywbeth 1191 00:48:05,660 --> 00:48:06,690 gwirion fel 'na? 1192 00:48:06,690 --> 00:48:09,750 Ond y pwynt yw, rydych am gael mynediad at y gwerth gwreiddiol. 1193 00:48:09,750 --> 00:48:13,180 Mae'r ffaith eich bod wedi treiglo neu newid n ar bob 1194 00:48:13,180 --> 00:48:16,330 iteriad ac felly wedi dinistrio ei werth gwreiddiol 1195 00:48:16,330 --> 00:48:18,650 golygu na allwch wneud hynny ar y diwedd. 1196 00:48:18,650 --> 00:48:20,660 Yn awr, gellir dadlau, yn amlwg nid oes eisiau ei wneud 1197 00:48:20,660 --> 00:48:21,450 hynny yn y rhaglen. 1198 00:48:21,450 --> 00:48:22,350 Felly sy'n gofalu? 1199 00:48:22,350 --> 00:48:23,630 Ond mae hynny'n bwynt dilys iawn. 1200 00:48:23,630 --> 00:48:25,520 Ac i fod yn onest, does neb wir yn 1201 00:48:25,520 --> 00:48:26,630 dde ateb yma. 1202 00:48:26,630 --> 00:48:28,740 Maent yn ddau yr un mor gywir. 1203 00:48:28,740 --> 00:48:30,210 Gallwn fod yn argyhoeddedig naill ffordd neu'r llall. 1204 00:48:30,210 --> 00:48:33,310 Byddaf yn dweud bod, yn gyffredinol, mae'n egwyddor dda os ydych yn 1205 00:48:33,310 --> 00:48:36,030 gofyn i'r defnyddiwr ar gyfer rhai werth ac rydych yn ei storio mewn newidyn 1206 00:48:36,030 --> 00:48:38,730 fel n, yn union fath o ran egwyddor, mae'n debyg da 1207 00:48:38,730 --> 00:48:40,160 i gadw hynny o gwmpas. 1208 00:48:40,160 --> 00:48:43,400 Ac unrhyw ddata rydych am i addasu eto ac eto, dim ond 1209 00:48:43,400 --> 00:48:46,030 rhoi eich hun copi o'r amrywiol, dim ond er mwyn i chi 1210 00:48:46,030 --> 00:48:47,830 cael mynediad at y gwreiddiol. 1211 00:48:47,830 --> 00:48:51,040 Rydych yn treulio 32 catiau mwy, ond y realiti yw hyn yn 1212 00:48:51,040 --> 00:48:53,490 cyfrifiadur wedi, fel, dau gigabeit o RAM y dyddiau hyn, 1213 00:48:53,490 --> 00:48:55,310 ac rydym yn hollti blew dros 32 ddarnau? 1214 00:48:55,310 --> 00:48:56,320 Really Nid yw mor bwysig â hynny. 1215 00:48:56,320 --> 00:48:58,550 A hyd yn oed ar y ddyfais yma, gyda hanner gig neu 1216 00:48:58,550 --> 00:49:01,700 gigabyte o RAM, 32 darnau yn erbyn 64 did, 1217 00:49:01,700 --> 00:49:02,920 Nid yw mor bwysig â hynny. 1218 00:49:02,920 --> 00:49:05,890 Yn sicr heddiw, mae'n mynd i fod yn ffordd llethu gan faint 1219 00:49:05,890 --> 00:49:08,400 y rhaglen ei hun, sydd yn mynd i fod yn gannoedd o 1220 00:49:08,400 --> 00:49:10,890 kilobytes, os nad ychydig megabeit, y dyddiau hyn. 1221 00:49:10,890 --> 00:49:13,550 >> Pryderon Felly rhesymol, nid oes un ateb cywir. 1222 00:49:13,550 --> 00:49:15,490 Ond o leiaf y rhai yn y meddyliau dylai hynny ddechrau i 1223 00:49:15,490 --> 00:49:16,790 mynd drwy eich meddwl? 1224 00:49:16,790 --> 00:49:19,600 Oherwydd yn pset 0, er ein bod ni wir yn disgwyl yn unig 1225 00:49:19,600 --> 00:49:22,340 cywirdeb, neu o leiaf ymwrthod namau gwahanol 1226 00:49:22,340 --> 00:49:25,440 efallai eich bod wedi dod ar draws, wrth inni symud ymlaen, dyluniad yn 1227 00:49:25,440 --> 00:49:27,910 mynd i fod yn agwedd arall allweddol, y ddau o ysgrifennu cod 1228 00:49:27,910 --> 00:49:29,770 a hefyd ein gwerthuso cod. 1229 00:49:29,770 --> 00:49:32,310 Ac felly o leiaf yn rhoi meddwl i bethau fel hyn. 1230 00:49:32,310 --> 00:49:35,590 Ac nid yn unig oherwydd y gwaith rhywbeth yn golygu ei fod yn dda, 1231 00:49:35,590 --> 00:49:37,130 nid yw'n golygu ei fod yn chynllunio'n dda. 1232 00:49:37,130 --> 00:49:38,820 A dyna un o'r pethau y cymrodyr addysgu a 1233 00:49:38,820 --> 00:49:41,990 Bydd setiau problem yn ein helpu canfod rhan dros gyfnod o amser. 1234 00:49:41,990 --> 00:49:45,020 >> Wel, beth am, gadewch i ni ddweud, y fersiwn yma? 1235 00:49:45,020 --> 00:49:49,090 Gadewch i mi wneud rhywbeth ychydig yn sexy yma mewn munud. 1236 00:49:49,090 --> 00:49:50,740 Yn gyntaf gadewch i mi gael gwared o hyn. 1237 00:49:50,740 --> 00:49:54,120 Ac yn awr gadewch i ni atgyweiria hon broblem gramadegol. 1238 00:49:54,120 --> 00:49:58,780 Felly, yn y fersiwn hwn, rwyf am osod y gramadeg fel bod, 1239 00:49:58,780 --> 00:50:02,460 yn hytrach na dim ond dweud s cromfachau, fel "potel" 1240 00:50:02,460 --> 00:50:03,360 neu "poteli" - 1241 00:50:03,360 --> 00:50:04,900 Nid wyf am i dorri y gornel - 1242 00:50:04,900 --> 00:50:08,350 Rwyf hefyd yn awyddus i ddeinamig argraffu'r gair "poteli" 1243 00:50:08,350 --> 00:50:12,820 neu "potel", a thrwy hynny ddefnyddio bachau rhain% s heddiw. 1244 00:50:12,820 --> 00:50:16,550 Felly, mae angen i mi amodol wirio beth yw gwerth i. 1245 00:50:16,550 --> 00:50:19,590 Ac os yw'n 1, yr wyf am ddweud "potel", ac os yw'n unrhyw beth 1246 00:50:19,590 --> 00:50:23,115 arall, yr wyf am ei ddweud "poteli". Felly, gadewch i ni geisio gwneud hyn. 1247 00:50:23,115 --> 00:50:31,340 Felly, os fi == 1, yna gadewch i mi fynd yn ei flaen ac yn datgan - 1248 00:50:31,340 --> 00:50:34,080 Mae arnaf angen llinyn, felly gadewch i mi wneud a1 llinyn, am ei fod y 1249 00:50:34,080 --> 00:50:36,070 llinyn cyntaf i mi poeni am hyn o bryd. 1250 00:50:36,070 --> 00:50:40,980 Rydw i'n mynd i ddweud "potel". Ac yna, gadewch i ni weld, llinyn 1251 00:50:40,980 --> 00:50:43,110 s2 - a byddaf yn esbonio ble dw i'n mynd mewn eiliad - 1252 00:50:43,110 --> 00:50:47,650 "Poteli." Felly dwyn i gof bod, yn y gân, mae angen i ni allu 1253 00:50:47,650 --> 00:50:50,580 i argraffu pethau, dau air gwahanol o bosibl. 1254 00:50:50,580 --> 00:50:53,590 Felly, os ydym yn edrych yn ôl yma, yn sylwi bod pan fyddwn yn mynd i 1255 00:50:53,590 --> 00:50:56,440 yr enghraifft hon yma, "dwy botel o gwrw ar y wal, 1256 00:50:56,440 --> 00:50:59,490 dwy botel o gwrw, yn cymryd un i lawr, pasio o gwmpas ", yr wyf eisiau 1257 00:50:59,490 --> 00:51:02,380 y llinell hon pedwerydd yn awr yn dweud "un botel o gwrw ar y 1258 00:51:02,380 --> 00:51:04,900 wal ". Felly, yr wyf angen i chi benderfynu, ydw i'n eisiau dweud" poteli "neu 1259 00:51:04,900 --> 00:51:07,780 "Potel"? Felly dw i'n mynd i ddweud fympwyol, popeth yn iawn, 1260 00:51:07,780 --> 00:51:10,530 Rydw i'n mynd i bellach yn datgan newidyn a elwir a1, llinyn 1261 00:51:10,530 --> 00:51:13,830 un, mae hynny'n mynd i gael eu plygio i mewn yma ac yma, 1262 00:51:13,830 --> 00:51:16,070 am fod y geiriau bob amser yn union yr un fath, dim ond oherwydd y 1263 00:51:16,070 --> 00:51:17,290 natur y gân. 1264 00:51:17,290 --> 00:51:20,100 Ac yr wyf i'n mynd i alw a2 beth bynnag air yr wyf eisiau 1265 00:51:20,100 --> 00:51:21,560 pen draw yn ymddangos i lawr yma. 1266 00:51:21,560 --> 00:51:25,530 Yn awr, yn llythrennol, 99 gwaith allan o 100, mae'n mynd i fod yn 1267 00:51:25,530 --> 00:51:28,820 un fath yn y ddau o'r achosion hynny, oherwydd 3 yn lluosog, 2 yn 1268 00:51:28,820 --> 00:51:30,200 lluosog, 4 yn lluosog. 1269 00:51:30,200 --> 00:51:34,640 Ond yn yr achos hwn gornel, lle'r ydym yn cael i 2 ac yna 1, neu 1270 00:51:34,640 --> 00:51:37,250 hyd yn oed 1 ac yna 0, yr wyf angen y rhesymeg. 1271 00:51:37,250 --> 00:51:41,020 Felly, rhaid i mi dreulio rhywfaint o amser yn fy cod yn cael yr hawl honno. 1272 00:51:41,020 --> 00:51:47,530 Felly, os wyf yn gwneud hyn, os fi == 1, yna s1 a bennwyd yn hafal i "potel" 1273 00:51:47,530 --> 00:51:52,010 ac a2 cyfartal i "poteli", oherwydd bydd hyn yn am 1 1274 00:51:52,010 --> 00:51:56,340 Bydd botel, ac mae hyn yn ar gyfer 0 poteli. 1275 00:51:56,340 --> 00:51:58,250 A hyn yma, beth mae hyn yn ei gynrychioli? 1276 00:51:58,250 --> 00:51:59,780 Dim ond i fod yn glir. 1277 00:51:59,780 --> 00:52:00,620 Mae hyn yn unig sylw. 1278 00:52:00,620 --> 00:52:03,730 Felly, mae'r ffaith y gallwch gael un llinell sylwadau yn golygu eich bod 1279 00:52:03,730 --> 00:52:06,110 Gall eich côd fel hyn, ond un arall cyffredin 1280 00:52:06,110 --> 00:52:09,050 patrwm, hefyd, yw os oes gennych ymadrodd super-byr 1281 00:52:09,050 --> 00:52:11,410 ydych am roi eich hun a 'i' ychydig yn fwy darllenadwy i roi 1282 00:52:11,410 --> 00:52:13,270 yn iawn ar ddiwedd y llinell o god, gallwch 1283 00:52:13,270 --> 00:52:15,230 hollol gwneud rhywbeth fel hyn. 1284 00:52:15,230 --> 00:52:20,150 >> Felly, yn awr beth os ydw i'n gwneud hyn? Arall os na fi yn hafal i 1. 1285 00:52:20,150 --> 00:52:21,620 Felly bang yn dychwelyd - 1286 00:52:21,620 --> 00:52:23,150 pwynt ebychnod ei adnabod fel "bang". 1287 00:52:23,150 --> 00:52:25,080 Felly bang = 1. 1288 00:52:25,080 --> 00:52:28,530 Felly, os na fi yn hafal i 1, beth ddylwn i ei lle hynny am ei wneud? 1289 00:52:28,530 --> 00:52:31,700 Wel, y gair cyntaf i mi am fod yn beth? 1290 00:52:34,620 --> 00:52:40,030 Felly dylai llinyn 1 yn "poteli" ar gyfer poteli lluosog, 1291 00:52:40,030 --> 00:52:42,440 ac yna bydd hyn yn lluosog "poteli" yn ogystal, am y tro. 1292 00:52:42,440 --> 00:52:43,800 A byddwn yn gweld a yw hyn mewn gwirionedd yn cael i ni 1293 00:52:43,800 --> 00:52:44,870 lle rydym eisiau mynd. 1294 00:52:44,870 --> 00:52:47,680 Felly, yn awr os wyf yn sgrolio i lawr yma, sylwch fy mod yn plygio i mewn 1295 00:52:47,680 --> 00:52:50,170 nid yn unig i, ond s1. 1296 00:52:50,170 --> 00:52:51,860 Rwy'n plygio i mewn i ac s1. 1297 00:52:51,860 --> 00:52:54,440 Ac yna i lawr yma, rwy'n minws 1, sydd yr un fath â 1298 00:52:54,440 --> 00:52:55,920 o'r blaen, ond a2. 1299 00:52:55,920 --> 00:52:58,730 Mewn geiriau eraill, yr wyf am i'r gair Saesneg i newid yn seiliedig 1300 00:52:58,730 --> 00:52:59,930 ar y rhesymeg. 1301 00:52:59,930 --> 00:53:03,310 Nawr, mae eisoes rhai problemau yn y cod hwn. 1302 00:53:03,310 --> 00:53:08,460 Beth yw torri eisoes allan o borth yma? 1303 00:53:08,460 --> 00:53:10,796 Yeah? 1304 00:53:10,796 --> 00:53:13,210 GYNULLEIDFA: [Anghlywadwy]. 1305 00:53:13,210 --> 00:53:13,800 >> DAVID J. Malan: Yn union. 1306 00:53:13,800 --> 00:53:16,030 Felly, yr wyf eisoes wedi sathru y wers o gwmpas. 1307 00:53:16,030 --> 00:53:19,610 Felly, yr wyf wedi datgan S1 ac S2, ond rwyf wedi gwneud y tu mewn o 1308 00:53:19,610 --> 00:53:22,980 braces cyrliog, sy'n golygu yeah, bydd y cod hwn yn gweithio i fyny 1309 00:53:22,980 --> 00:53:27,430 tan llinell 42, ond cyn gynted ag y taro llinell 43, dyfalu beth na 1310 00:53:27,430 --> 00:53:28,900 bellach yn bodoli? 1311 00:53:28,900 --> 00:53:32,600 Wel, dyfalu beth mwyach o ran cwmpas - nid adran 1 neu a2. 1312 00:53:32,600 --> 00:53:33,780 Felly mae'n rhaid i atgyweiria hon. 1313 00:53:33,780 --> 00:53:36,180 Felly, gadewch i mi ddileu'r datganiadau. 1314 00:53:36,180 --> 00:53:39,320 A byddaf yn gadael yr enwau amrywiol ac yn dileu hyn yma 1315 00:53:39,320 --> 00:53:40,120 a dilëwch y fan hyn. 1316 00:53:40,120 --> 00:53:43,557 A dylai ym mha llinellau Fi 'n sylweddol yn datgan y pethau hyn? 1317 00:53:43,557 --> 00:53:44,960 GYNULLEIDFA: [Anghlywadwy]. 1318 00:53:44,960 --> 00:53:45,410 DAVID J. Malan: Yeah, felly yn ôl pob tebyg 1319 00:53:45,410 --> 00:53:46,850 dde i fyny yma, 33-ish. 1320 00:53:46,850 --> 00:53:50,670 Felly, a1 llinyn ac yna llinyn a2. 1321 00:53:50,670 --> 00:53:51,950 Ac mae'n troi allan, gallaf wneud hyn. 1322 00:53:51,950 --> 00:53:54,260 Os ydych yn datgan dau newidyn o'r un math, 1323 00:53:54,260 --> 00:53:57,420 alli 'n weithredol jyst arfer coma a gwneud hynny yn C. Mae pob 1324 00:53:57,420 --> 00:53:58,970 iawn, felly rwyf bellach wedi dau newidyn - 1325 00:53:58,970 --> 00:53:59,860 S1 ac S2. 1326 00:53:59,860 --> 00:54:02,000 Rwy'n eu dosrannu gwerthoedd yn y 1327 00:54:02,000 --> 00:54:04,210 amodau yma, neu yma. 1328 00:54:04,210 --> 00:54:06,690 Ac yna rwy'n eu defnyddio i lawr isod. 1329 00:54:06,690 --> 00:54:10,960 Pa mor dda mae hyn yn awr yn mynd i weithio? 1330 00:54:10,960 --> 00:54:12,740 >> Wel, mae'n dal i fod yn bygi ychydig, ond gadewch i ni yn o leiaf yn gweld 1331 00:54:12,740 --> 00:54:13,730 pa mor bell yr ydym wedi gotten. 1332 00:54:13,730 --> 00:54:16,500 Felly, gadewch i mi fynd yn ei flaen ac yn gwneud beer3. 1333 00:54:16,500 --> 00:54:17,695 A yw hyn yn beer3? 1334 00:54:17,695 --> 00:54:19,410 Yep, mae hyn yn beer3. 1335 00:54:19,410 --> 00:54:21,510 Ac yn awr gad i mi fynd yn ei flaen ac yn rhedeg beer3. 1336 00:54:21,510 --> 00:54:23,820 399 99. 1337 00:54:23,820 --> 00:54:25,840 Mae'n debyg y gallwn sgip y rhan fwyaf ohonynt. 1338 00:54:25,840 --> 00:54:29,100 Ac i lawr yma, edrych ar hynny. 1339 00:54:29,100 --> 00:54:31,110 "Un botel o gwrw ar y wal, un botel o gwrw, cymryd 1340 00:54:31,110 --> 00:54:34,306 un i lawr, ei throsglwyddo o gwmpas, 0 boteli o gwrw ar y wal. " 1341 00:54:34,306 --> 00:54:37,570 Ond dw i'n tynnu eich sylw at dim ond hanner y datrysiad. 1342 00:54:37,570 --> 00:54:39,620 Math o sgriwio i fyny yma. 1343 00:54:39,620 --> 00:54:43,030 Felly, mae'n ymddangos bod yr achosion yn codi pan cornel i yn dychwelyd yr hyn a 1344 00:54:43,030 --> 00:54:44,030 ddau werth? 1345 00:54:44,030 --> 00:54:45,020 GYNULLEIDFA: 2, 1. 1346 00:54:45,020 --> 00:54:46,190 DAVID J. Malan: 2 ac 1. 1347 00:54:46,190 --> 00:54:48,180 Dyw hi ddim yn 1 ac nid 1. 1348 00:54:48,180 --> 00:54:51,890 Mae'n mewn gwirionedd dim ond y ddau olaf penillion y gân hon. 1349 00:54:51,890 --> 00:54:53,890 Felly, beth ddylwn i ei lle hynny am ei wneud? 1350 00:54:53,890 --> 00:54:58,890 Felly, ymddengys fy mod wedi dal yr achos lle os fi yw == i 1, 1351 00:54:58,890 --> 00:55:02,240 yna bydd y gair cyntaf yw "potel", ond mae'r ail air 1352 00:55:02,240 --> 00:55:07,230 yw "poteli". Ond yma, rydw i eisiau newid hyn i fod == 2. 1353 00:55:07,230 --> 00:55:08,570 Ac os yw hyn yn wir, beth ddylwn i ei eisiau 1354 00:55:08,570 --> 00:55:09,620 gair cyntaf fod? 1355 00:55:09,620 --> 00:55:10,430 GYNULLEIDFA: "Poteli". 1356 00:55:10,430 --> 00:55:12,890 DAVID J. Malan: "Poteli", felly ar gyfer dwy botel. 1357 00:55:12,890 --> 00:55:14,690 Ac yna dylai hyn gair yma fod yn - 1358 00:55:14,690 --> 00:55:15,340 GYNULLEIDFA: "Potel". 1359 00:55:15,340 --> 00:55:17,316 DAVID J. Malan: "Potel", unigol. 1360 00:55:20,430 --> 00:55:25,160 >> Mae pob hawl, gadewch i ni chwyddo allan, ewch yn ôl dros yma, ail-redeg gwneud, 1361 00:55:25,160 --> 00:55:28,590 ail-redeg beer3, math 99 eto. 1362 00:55:28,590 --> 00:55:30,710 Iawn, "fai Segmentiad (craidd gadael)." 1363 00:55:30,710 --> 00:55:32,780 Beth ydw i wedi ei wneud yn anghywir? 1364 00:55:36,050 --> 00:55:38,722 GYNULLEIDFA: Nid oes gennych werth [Anghlywadwy]. 1365 00:55:38,722 --> 00:55:40,480 DAVID J. Malan: Ah, pwynt ardderchog. 1366 00:55:40,480 --> 00:55:43,310 Mae pob hawl, felly beth sydd o'i le yma? 1367 00:55:43,310 --> 00:55:45,450 Felly wall, ac rydym yn wir yn mynd i weld 1368 00:55:45,450 --> 00:55:49,020 hyn yn eithaf ychydig o weithiau yn y dyfodol, yn fwriadol. 1369 00:55:49,020 --> 00:55:51,030 Ond ar hyn o bryd, beth mae hyn yn ei olygu mewn gwirionedd? 1370 00:55:51,030 --> 00:55:53,620 Mae wall bron bob amser yn golygu bod gennych 1371 00:55:53,620 --> 00:55:56,760 ceisio rywsut i gael mynediad cof, RAM yn eich cyfrifiadur, 1372 00:55:56,760 --> 00:56:00,600 nad ydych yn berchen, nad ydych mewn gwirionedd gofyn i'r 1373 00:56:00,600 --> 00:56:02,050 system gweithredu ar gyfer. 1374 00:56:02,050 --> 00:56:04,440 Felly, yn yr achos hwn, sylwi ar yr hyn yr wyf wedi ei wneud, sydd yn 1375 00:56:04,440 --> 00:56:05,870 ddiffygiol yn fy rhesymeg. 1376 00:56:05,870 --> 00:56:09,500 Rwyf wedi neilltuo S1 ac S2 gwerth os fi yn hafal i 1. 1377 00:56:09,500 --> 00:56:11,590 Rwyf hefyd wedi gwneud hynny os fi yn hafal i 2. 1378 00:56:11,590 --> 00:56:13,710 Ond nid wyf wedi gwneud hyn yn y nifer anfeidraidd o eraill 1379 00:56:13,710 --> 00:56:14,690 posibiliadau - 1380 00:56:14,690 --> 00:56:17,940 yn benodol, 3 neu 4 neu dot, dot, dot, 99. 1381 00:56:17,940 --> 00:56:20,100 Felly, gallai un ateb ar gyfer hyn dim ond gadewch i ni fod yn 1382 00:56:20,100 --> 00:56:22,190 oes gennych gyflwr arall. 1383 00:56:22,190 --> 00:56:26,780 A gadewch i mi fynd i mewn yma a dweud a1 gyfartal - 1384 00:56:26,780 --> 00:56:28,180 beth ddylai fod yn fan hyn? 1385 00:56:28,180 --> 00:56:28,750 GYNULLEIDFA: [Anghlywadwy]. 1386 00:56:28,750 --> 00:56:30,460 >> DAVID J. Malan: "Poteli", oherwydd yn yr achos cyffredin, 1387 00:56:30,460 --> 00:56:32,020 mai dim ond yr un peth. 1388 00:56:32,020 --> 00:56:35,580 Felly, yn dychwelyd Dyfyniadau, "poteli." Felly, er lluosog 1389 00:56:35,580 --> 00:56:41,010 poteli, ac yna i fyny yma, ar gyfer poteli lluosog. 1390 00:56:41,010 --> 00:56:44,580 Iawn, felly, yn awr gadewch i mi fynd yn ôl at fy ffenestr terfynell, 1391 00:56:44,580 --> 00:56:47,200 ail-grynhoi, ail-redeg. 1392 00:56:47,200 --> 00:56:48,440 99. 1393 00:56:48,440 --> 00:56:49,150 Whew. 1394 00:56:49,150 --> 00:56:50,610 A gadewch i ni wneud gwiriad pwyll gyflym. 1395 00:56:50,610 --> 00:56:52,400 Yn dechnegol, byddem yn awyddus i ddarllen pob un o'r rhain i wneud yn siŵr 1396 00:56:52,400 --> 00:56:53,370 eu bod yn gywir, ond gadewch i ni edrych ar 1397 00:56:53,370 --> 00:56:54,640 leiaf y tramgwyddwyr hysbys. 1398 00:56:54,640 --> 00:56:57,370 3 potel, 2 poteli, 2 poteli, 1 1399 00:56:57,370 --> 00:57:00,380 potel, 1 potel, 0 poteli. 1400 00:57:00,380 --> 00:57:03,080 Rydym yn ymddangos i fod wedi o leiaf sefydlog ni am y tro. 1401 00:57:03,080 --> 00:57:06,010 Ond mae'r dal yma yw bod yr hyn a llanast ofnadwy duw mae hyn yn 1402 00:57:06,010 --> 00:57:07,470 dim ond i ddatrys dwp 1403 00:57:07,470 --> 00:57:09,540 un cymeriad manylion gramadegol. 1404 00:57:09,540 --> 00:57:11,150 Felly mae math o reswm fy mod yn torri y gornel 1405 00:57:11,150 --> 00:57:14,090 gynharach, oherwydd ei fod dim ond yn gyfan gwbl blino gorfod 1406 00:57:14,090 --> 00:57:15,020 ysgrifennwch y cod lawer. 1407 00:57:15,020 --> 00:57:17,530 Ond mae'n troi allan fod yna ffyrdd ychydig yn fwy cain o 1408 00:57:17,530 --> 00:57:20,110 mynegi un peth yn union. 1409 00:57:20,110 --> 00:57:22,040 A gallwn wneud hyn fel a ganlyn. 1410 00:57:22,040 --> 00:57:23,890 >> Gadewch i mi adael hyn ar y sgrîn am funud a 1411 00:57:23,890 --> 00:57:27,320 gyflwyno rhywbeth a elwir fel gweithredwr teiran. 1412 00:57:27,320 --> 00:57:29,600 Mae hyn yn fath o un-leinin sydd wedi golygu dim ond er mwyn gwneud ein 1413 00:57:29,600 --> 00:57:31,880 yn byw yn sexier bach, fel yr addawyd. 1414 00:57:31,880 --> 00:57:33,130 Ac yr wyf i'n mynd i wneud hyn fel a ganlyn. 1415 00:57:33,130 --> 00:57:35,810 Rhowch i mi llinyn o'r enw a1, a gadewch i mi 1416 00:57:35,810 --> 00:57:37,200 neilltuo fel a ganlyn. 1417 00:57:37,200 --> 00:57:39,900 (I == 1)? 1418 00:57:39,900 --> 00:57:47,820 "Potel", fel arall "poteli". String a2 cael (i == 2)? 1419 00:57:47,820 --> 00:57:52,670 "Potel", fel arall "poteli". 1420 00:57:52,670 --> 00:57:57,050 Felly, beth felly yw'r gwahaniaeth yma? 1421 00:57:57,050 --> 00:57:59,370 Mae'r ddwy linell o god, yr wyf yn dadlau, yn gallu 1422 00:57:59,370 --> 00:58:02,200 disodli'r y llanast cyfan. 1423 00:58:02,200 --> 00:58:04,280 Felly, galwaf ei fod yn llanast, dim ond oherwydd ei fod yn fath o rhwbio mi 1424 00:58:04,280 --> 00:58:05,940 ffordd anghywir ei fod yn gymaint o linellau o god. 1425 00:58:05,940 --> 00:58:06,650 Ddim yn anghywir. 1426 00:58:06,650 --> 00:58:07,700 Dyw hi ddim yn dylunio gwael. 1427 00:58:07,700 --> 00:58:10,140 Fel, mae hyn yn berffaith gywir ac yn berffaith iawn. 1428 00:58:10,140 --> 00:58:12,970 Ond chodio yn cael diflas os oes rhaid i fynegi eich hun fel 1429 00:58:12,970 --> 00:58:15,530 damn penodol eto ac eto ac eto gyda syml 1430 00:58:15,530 --> 00:58:16,620 senario fel hyn. 1431 00:58:16,620 --> 00:58:19,470 Felly C mae rhai llwybrau byr, fel hyn. 1432 00:58:19,470 --> 00:58:24,270 Felly, mae hyn yn ei hanfod yn ei ddweud datgan llinyn o'r enw a1 ac 1433 00:58:24,270 --> 00:58:32,610 neilltuo naill ai gwerth hwn, neu y gwerth hwn os fi yw == - 1434 00:58:32,610 --> 00:58:35,290 ddrwg gennym, dylwn ddweud hyn yn fwy clir. 1435 00:58:35,290 --> 00:58:41,680 Ddatgan a1 amrywiol, pennu ei gwerth hwn os yw hyn yn wir. 1436 00:58:41,680 --> 00:58:44,280 Fel arall, caiff y cofnod ei gwerth hwn. 1437 00:58:44,280 --> 00:58:47,220 Felly, mewn geiriau eraill, mae hyn yn fath o ffordd un-llinell 1438 00:58:47,220 --> 00:58:51,490 dweud os arall ond yn gwneud aseiniad ar hyd y ffordd. 1439 00:58:51,490 --> 00:58:55,540 Felly, os fi yw 1, ac yna mynd yn ei flaen ac yn galw hyn yn "potel". Ac 1440 00:58:55,540 --> 00:58:59,830 yna mae hyn arall, yn ei alw'n "poteli". Yn y cyfamser, a2, mae'r 1441 00:58:59,830 --> 00:59:04,060 ail air y mae angen i ddiffinio, os fi yn hafal i 2, gallwn eich 1442 00:59:04,060 --> 00:59:08,350 gosod a2 i "potel". Fel arall, gosodwch i "poteli". A beth 1443 00:59:08,350 --> 00:59:11,460 mae hyn yn golygu yn awr yw y gallaf fynd drwy'r hyn a dileu pob un o'r 1444 00:59:11,460 --> 00:59:12,860 hynny linellau o god. 1445 00:59:12,860 --> 00:59:17,220 Ac wrth ddweud, braidd yn chwerthinllyd, fod hyn yn awr yn 1446 00:59:17,220 --> 00:59:20,060 sexier, mae'n sexier yn y math o synnwyr arddull. 1447 00:59:20,060 --> 00:59:22,660 Mae'r ffaith bod swyddogaethol, y cod hwn mewn gwirionedd yn mynd i 1448 00:59:22,660 --> 00:59:24,610 gwneud yr un peth yn union. 1449 00:59:24,610 --> 00:59:26,890 A hyd yn oed er y gallai fod yn edrych ychydig yn cryptig yn gyntaf 1450 00:59:26,890 --> 00:59:29,250 olwg, oherwydd nid ydym wedi gweld y lluniad o'r blaen, yr wyf i wedi 1451 00:59:29,250 --> 00:59:31,850 dadlau ei fod yn y pen draw yn mynd i fod yn gymaint mwy 1452 00:59:31,850 --> 00:59:34,820 ddarllenadwy ac felly yn llawer haws i ni fodau dynol i ddatrys y 1453 00:59:34,820 --> 00:59:36,830 deall, oherwydd yn awr gallwch ddarllen y 1454 00:59:36,830 --> 00:59:38,830 cod i gyd ar un llinell. 1455 00:59:38,830 --> 00:59:41,550 Mae'n dal i fod yn debyg o ran ysbryd i yr os, lle bo hyn yn 1456 00:59:41,550 --> 00:59:44,920 cyflwr ac yna mae hyn yn beth sydd y tu mewn i'r os a hyn yn 1457 00:59:44,920 --> 00:59:46,480 yw'r hyn y tu mewn i'r arall. 1458 00:59:46,480 --> 00:59:49,450 Ond gallwn wneud hyn dim ond yn llawer yn fwy cain. 1459 00:59:49,450 --> 00:59:52,650 >> Ac os wyf yn awr yn mynd yn ôl at fy terfynell, ar ôl dileu pob 1460 00:59:52,650 --> 00:59:55,530 o'r rhai llinellau ac yn eu lle gyda dim ond y ddau, 1461 00:59:55,530 --> 01:00:00,150 ail-grynhoi, ail-redeg boteli o gwrw gyda 99, hysbysiad bod fy 1462 01:00:00,150 --> 01:00:03,350 gramadeg, mewn gwirionedd, dal yn gywir. 1463 01:00:03,350 --> 01:00:06,160 Felly eto, rhywbeth i ddechrau. 1464 01:00:06,160 --> 01:00:08,840 2 botel o gwrw, 1 botel o gwrw. 1465 01:00:08,840 --> 01:00:09,370 Yn edrych yn iawn. 1466 01:00:09,370 --> 01:00:10,100 Yeah. 1467 01:00:10,100 --> 01:00:13,900 Felly, mae gennym ateb cryno llawer mwy. 1468 01:00:13,900 --> 01:00:16,020 Felly, mae hyn, hefyd, wrth i chi gael mwy cyfforddus nid gyda C, 1469 01:00:16,020 --> 01:00:18,630 anghenraid gyda'r pset cyntaf neu hyd yn oed yn ail, ond 1470 01:00:18,630 --> 01:00:21,170 sylweddoli y gall y lluniadau yn ein galluogi i wneud pethau byth 1471 01:00:21,170 --> 01:00:22,810 yn fwy cain. 1472 01:00:22,810 --> 01:00:25,200 Nawr gadewch i ni wneud un peth arall yma. 1473 01:00:25,200 --> 01:00:31,460 Gadewch i mi fynd yn ei flaen ac yn agor i fyny return1.c. 1474 01:00:31,460 --> 01:00:34,340 Nawr gadewch i ni ddechrau i ddatrys problem arall mewn ffordd sy'n 1475 01:00:34,340 --> 01:00:37,140 yn caniatáu i ni ysgrifennu cod yn fwy soffistigedig. 1476 01:00:37,140 --> 01:00:39,960 >> Felly dyma raglen bach syml sydd â'r diben mewn bywyd 1477 01:00:39,960 --> 01:00:41,870 yw i gynnydd gwerthoedd. 1478 01:00:41,870 --> 01:00:43,100 Ac mewn gwirionedd, gadewch i ni gymryd cam yn ôl. 1479 01:00:43,100 --> 01:00:44,400 Gadewch i mi wneud hyn â llaw. 1480 01:00:44,400 --> 01:00:52,200 Gadewch i mi yn cynnwys ac yn int phrif (gwag). 1481 01:00:52,200 --> 01:00:53,450 A gadewch i mi galw hyn yn increment.c. 1482 01:00:57,150 --> 01:00:58,570 A beth ydw i eisiau ei wneud? 1483 01:00:58,570 --> 01:01:02,240 Rydw i'n mynd i fynd yn ei flaen a dweud rhywbeth fel - 1484 01:01:02,240 --> 01:01:04,280 byddwn yn galw'r rhifau yr un fath - 1485 01:01:04,280 --> 01:01:04,980 x int. 1486 01:01:04,980 --> 01:01:13,670 Felly x int yn cael 2; x printf yw%, d llinell newydd, x. 1487 01:01:13,670 --> 01:01:16,780 Felly, yr wyf i'n teipio yn gyflym, ond math o bethau cyfarwydd yn awr. 1488 01:01:16,780 --> 01:01:18,830 Wedyn dw i'n mynd i wneud x + +. 1489 01:01:18,830 --> 01:01:21,710 Wedyn dw i'n mynd i argraffu bod un frawddeg eto. 1490 01:01:21,710 --> 01:01:24,550 Ac yna dwi'n mynd i ddychwelyd 0 dim ond i roi'r gorau i'r rhaglen. 1491 01:01:24,550 --> 01:01:25,960 Mae pob hawl, felly mae hon yn rhaglen sy'n 1492 01:01:25,960 --> 01:01:26,960 codiadau yn rhif. 1493 01:01:26,960 --> 01:01:29,830 Mae'n cyntaf yn mynd i ymgychwyn rhywbeth i 2, ac yna mae'n 1494 01:01:29,830 --> 01:01:33,470 mynd i gynnydd ac argraffu eto. 1495 01:01:33,470 --> 01:01:36,930 >> Felly, gadewch i redeg cynyddiad, rhaglen hynod o syml. 1496 01:01:36,930 --> 01:01:40,940 Ond mae'n debyg nawr mod i am i giwb y gwerth, felly 1497 01:01:40,940 --> 01:01:42,490 rhywbeth braidd yn fympwyol. 1498 01:01:42,490 --> 01:01:45,140 Ac yr wyf mewn gwirionedd yn awyddus i wneud x yn cael y ciwb ohono. 1499 01:01:45,140 --> 01:01:47,570 Felly, gallwn ddefnyddio hyn a elwir y swyddogaeth pow, ond nid wyf yn 1500 01:01:47,570 --> 01:01:48,650 wir yn gwybod lle y bo hynny'n eto. 1501 01:01:48,650 --> 01:01:50,580 Felly dw i'n mynd i wneud hyn y ffordd hen-ffasiwn. 1502 01:01:50,580 --> 01:01:54,550 x gwaith y mae hyn yn cyfateb x amserau x x amser. 1503 01:01:54,550 --> 01:01:56,880 Felly rwy'n cubing y gwerth, ei luosi ei hun unwaith eto 1504 01:01:56,880 --> 01:02:00,440 ac eto ac eto, er mwyn i ni gael y pŵer 1505 01:02:00,440 --> 01:02:02,050 o 3 yn yr achos hwn. 1506 01:02:02,050 --> 01:02:06,000 Felly nawr, dylai'r rhifau y dylwn argraffu fod, fel y byddwn yn gweld 1507 01:02:06,000 --> 01:02:08,450 yma - gwneud cynyddiad, felly mae'n mewn gwirionedd yn ddim wir gynyddran 1508 01:02:08,450 --> 01:02:10,260 anymore, ond byddwn yn gadael y enw yn unig - 1509 01:02:10,260 --> 01:02:11,590 2 ac yna 8. 1510 01:02:11,590 --> 01:02:17,670 Yn awr, mae gennym y dechreuadau cyfle i fireinio 1511 01:02:17,670 --> 01:02:21,570 yma, lle y peth cubing o luosi nifer 1512 01:02:21,570 --> 01:02:24,680 Efallai ei ben ei hun gan ei hun drwy ei hun yn teimlo fel hyn yn unig yn 1513 01:02:24,680 --> 01:02:27,920 ddefnyddiol i gael fel swyddogaeth, yn debyg iawn i rywun benderfynu 1514 01:02:27,920 --> 01:02:30,430 mlynedd yn ôl - eich bod yn gwybod, math o ddefnyddiol os yw un ohonom yn eistedd i lawr 1515 01:02:30,430 --> 01:02:33,120 ac yn ysgrifennu printf fel y gall gweddill y byd yn ei ddefnyddio, 1516 01:02:33,120 --> 01:02:36,160 pam nad ydym yn eistedd i lawr ac ysgrifennu swyddogaeth o'r enw ciwb 1517 01:02:36,160 --> 01:02:39,250 sy'n gwneud hyn cubing i ni felly nid ydym yn rhaid i chi'ch 1518 01:02:39,250 --> 01:02:41,500 gweithredu'r syniad o cubing gwerthoedd yma? 1519 01:02:41,500 --> 01:02:44,040 >> Felly, enghraifft syml, ond gadewch i ni fynd yn ei flaen ac yn defnyddio hyn yw bod yn 1520 01:02:44,040 --> 01:02:46,280 cyfle i ysgrifennu ein swyddogaeth ei hun. 1521 01:02:46,280 --> 01:02:49,110 Hyd yn hyd yn hyn, rydym wedi defnyddio dim ond y prif, ac rydym wedi defnyddio eraill 1522 01:02:49,110 --> 01:02:51,780 Nid yw swyddogaethau pobl, ond rydym wedi ysgrifennu ein hunain. 1523 01:02:51,780 --> 01:02:52,650 Felly, yma rydym yn mynd. 1524 01:02:52,650 --> 01:02:56,330 Rydw i'n mynd i fynd yn ei flaen ac ysgrifennu swyddogaeth o'r enw ciwb. 1525 01:02:56,330 --> 01:02:58,490 A dwi'n mynd i gael ei gymryd mewnbwn. 1526 01:02:58,490 --> 01:03:02,070 Felly, ei fewnbwn yn mynd i fod yn gyfanrif. 1527 01:03:02,070 --> 01:03:03,570 A beth y mae'n mynd i'w wneud? 1528 01:03:03,570 --> 01:03:08,500 Mae'n mynd i ddatgan allbwn int = mewnbwn gwaith mewnbwn 1529 01:03:08,500 --> 01:03:09,880 amser mewnbwn. 1530 01:03:09,880 --> 01:03:12,190 Ac yna mae'n mynd i ddychwelyd y cynnyrch hwnnw. 1531 01:03:12,190 --> 01:03:14,500 Ac yna mae'n rhaid i mi fod yn benodol yn awr. 1532 01:03:14,500 --> 01:03:16,820 Mae'r swyddogaeth hon yn mynd i ddychwelyd int. 1533 01:03:16,820 --> 01:03:19,130 Felly dyma felly yw sut y byddech yn ysgrifennu eich swyddogaethau ei hun. 1534 01:03:19,130 --> 01:03:20,850 Yn gyntaf benderfynu beth yw'r enw eich 1535 01:03:20,850 --> 01:03:21,720 swyddogaeth yn mynd i fod. 1536 01:03:21,720 --> 01:03:23,964 Ac yn gyffredinol, rhywbeth esboniadol yn dda, felly byddaf yn 1537 01:03:23,964 --> 01:03:25,060 alw ciwb. 1538 01:03:25,060 --> 01:03:27,180 Yna mae'n rhaid i chi nodi yr hyn y mae'n mynd i ddychwelyd, beth sydd 1539 01:03:27,180 --> 01:03:28,240 ei allbwn yn mynd i fod. 1540 01:03:28,240 --> 01:03:29,595 Ac nid oes gennym opsiynau fod llawer eto. 1541 01:03:29,595 --> 01:03:32,260 Int, torgoch, arnofio, bool, llinyn. 1542 01:03:32,260 --> 01:03:34,260 Am y tro, dwi'n mynd i gadw gyda int, oherwydd yr wyf am ei 1543 01:03:34,260 --> 01:03:35,880 i ddychwelyd yn gyfanrif. 1544 01:03:35,880 --> 01:03:38,770 Yna rhaid i chi nodi beth yw ei fewnbwn, os o gwbl, yn cael eu. 1545 01:03:38,770 --> 01:03:41,570 Ac os ciwb yn cymryd dadl, yn cymryd rhywbeth rhwng 1546 01:03:41,570 --> 01:03:44,970 cromfachau, rhaid i chi roi y ddadl enw fel y 1547 01:03:44,970 --> 01:03:47,860 gallwch alw rhywbeth wrth i chi weithredu neu ysgrifennu 1548 01:03:47,860 --> 01:03:50,550 swyddogaeth hon, ac mae'n rhaid i chi roi cynnig math, sydd yn yr 1549 01:03:50,550 --> 01:03:51,810 achos yn mynd i fod yn int. 1550 01:03:51,810 --> 01:03:54,690 Felly, yn fyr, ciwb yn swyddogaeth sy'n cymryd cyfanrif 1551 01:03:54,690 --> 01:03:57,560 fel mewnbwn a ffurflenni cyfanrif fel allbwn. 1552 01:03:57,560 --> 01:03:59,240 >> Felly, beth mae'n ei wneud gyda mewnbwn hwnnw? 1553 01:03:59,240 --> 01:04:03,710 Wel, yn unol 14, yr wyf yn datgan allbwn amrywiol o'r enw, ac yr wyf 1554 01:04:03,710 --> 01:04:07,410 neilltuo yn y gwerth, mewnbwn gwaith mewnbwn amser mewnbwn. 1555 01:04:07,410 --> 01:04:11,490 Ac yna dof yn ôl allbwn. 1556 01:04:11,490 --> 01:04:14,890 Felly, sut ydw i'n defnyddio hyn felly? 1557 01:04:14,890 --> 01:04:19,210 Beth ydw i'n newid y cymeriadau a amlygwyd ar-lein 1558 01:04:19,210 --> 01:04:21,006 7 yn cael eu, yn eich barn chi? 1559 01:04:21,006 --> 01:04:21,800 GYNULLEIDFA: [Anghlywadwy]. 1560 01:04:21,800 --> 01:04:25,570 DAVID J. Malan: Yeah, felly ciwb o x. 1561 01:04:25,570 --> 01:04:28,290 Felly x yn newidyn, sy'n golygu ei fod yn dal rhywfaint o werth. 1562 01:04:28,290 --> 01:04:30,190 Yn ffodus, mae o gyfanrif fath. 1563 01:04:30,190 --> 01:04:34,280 Ac oherwydd x yn int, sy'n golygu y gallaf ei drosglwyddo i mewn i ciwb. 1564 01:04:34,280 --> 01:04:39,500 A hyd yn oed er fy mod i'n bwysicach gwerth x gyda'r gwerth 1565 01:04:39,500 --> 01:04:42,780 x ciwb, fel sydd wedi digwydd hyd yn hyn, unrhyw tro y byddwch yn 1566 01:04:42,780 --> 01:04:46,150 fod arwydd cyfartal a llinell o god, y stwff ar y dde 1567 01:04:46,150 --> 01:04:49,090 yn cael ei gweithredu a wedyn yn cael ei neilltuo i'r 1568 01:04:49,090 --> 01:04:50,150 gwerth ar y chwith. 1569 01:04:50,150 --> 01:04:52,950 Felly, trefn y gweithrediadau fel y byddem yn gobeithio. 1570 01:04:52,950 --> 01:04:56,620 Felly, mae hyn yn gweithio? 1571 01:04:56,620 --> 01:04:58,410 Wel, gadewch i mi fynd i lawr yma. 1572 01:04:58,410 --> 01:04:59,970 Gadewch i mi agor fy ffenest terfynell. 1573 01:04:59,970 --> 01:05:03,610 Gadewch i mi yn gwneud cynyddiad, Enter. 1574 01:05:03,610 --> 01:05:07,140 Ystyr "datganiad ymhlyg o 'ciwb' swyddogaeth yn annilys yn 1575 01:05:07,140 --> 01:05:13,700 C99. "Fel o'r neilltu, C99 yn cyfeirio at y C iaith fel ei fod yn 1576 01:05:13,700 --> 01:05:16,790 diffinio yn 1999, a oedd yn ddiweddariad dros y fersiwn o 1577 01:05:16,790 --> 01:05:19,360 1989, sef diweddariad dros y gwreiddiol. 1578 01:05:19,360 --> 01:05:21,740 Felly dyna i gyd yw ystyr hynny. 1579 01:05:21,740 --> 01:05:24,250 >> Felly, beth mae'n ei olygu bod "datganiad ymhlyg o 1580 01:05:24,250 --> 01:05:26,790 'ciwb' swyddogaeth yn annilys? "Mae'n iawn yma. 1581 01:05:26,790 --> 01:05:28,430 Mae'n iawn yno yn llinell 12. 1582 01:05:28,430 --> 01:05:30,460 GYNULLEIDFA: [Anghlywadwy]. 1583 01:05:30,460 --> 01:05:30,730 DAVID J. Malan: Beth sy'n bod? 1584 01:05:30,730 --> 01:05:32,470 GYNULLEIDFA: Dyw hi ddim yn blaen. 1585 01:05:32,470 --> 01:05:33,540 DAVID J. Malan: Dyw hi ddim o'r blaen. 1586 01:05:33,540 --> 01:05:34,740 Felly, mae hyn yw'r peth. 1587 01:05:34,740 --> 01:05:38,190 C yn fath o dwp, neu crynoadyddion C yn fath o dwp. 1588 01:05:38,190 --> 01:05:41,060 Maent yn wir yn unig yn gwneud yr hyn a ddywedwch iddynt ei wneud. 1589 01:05:41,060 --> 01:05:44,770 Ac maen nhw, yn arbennig, ond yn darllen eich cod top i'r gwaelod, 1590 01:05:44,770 --> 01:05:45,620 chwith i'r dde. 1591 01:05:45,620 --> 01:05:49,140 Felly, os y compiler, Clang, yn darllen eich cod, llinell 1, mae'n 1592 01:05:49,140 --> 01:05:50,120 ffigurau allan sut i wneud hyn. 1593 01:05:50,120 --> 01:05:50,940 O, dyma brif dod. 1594 01:05:50,940 --> 01:05:53,000 Iawn, gadewch i mi fynd yn ei flaen ac yn datgan x amrywiol. 1595 01:05:53,000 --> 01:05:54,160 Gadewch i mi argraffu rhywbeth. 1596 01:05:54,160 --> 01:05:55,890 Llinell 7, yr hyn y mae'r Heck yn ciwb? 1597 01:05:55,890 --> 01:05:58,230 Nid yw'n datgan yn stdio.h. 1598 01:05:58,230 --> 01:06:00,950 Nid yw'n dod gyda C. Nid oes gennyf unrhyw syniad beth i'w wneud. 1599 01:06:00,950 --> 01:06:03,960 Ac felly Clang unig bails ac yn ymddiswyddo â'r neges gwall. 1600 01:06:03,960 --> 01:06:05,850 Felly gallwn atgyweiria hon mewn dwy ffordd. 1601 01:06:05,850 --> 01:06:10,530 Gallwn ddysgu Clang beth ciwb yw drwy dim ond symud pan fo'r 1602 01:06:10,530 --> 01:06:11,820 datganiad yn. 1603 01:06:11,820 --> 01:06:14,640 Felly yr wyf yn torri a gludo ei ben brif. 1604 01:06:14,640 --> 01:06:17,770 Nawr yn sylweddoli mai dim ond oherwydd prif bellach yn gyntaf, mae'n 1605 01:06:17,770 --> 01:06:19,150 gweithredu yn dal yn ddiofyn. 1606 01:06:19,150 --> 01:06:20,060 Main yn brif. 1607 01:06:20,060 --> 01:06:21,022 Mae'n 'r ball enw swyddogaeth. 1608 01:06:21,022 --> 01:06:22,930 Nid oes ots lle mae mewn ffeil. 1609 01:06:22,930 --> 01:06:26,910 Ond o leiaf yn awr Clang wedi gweld ciwb cyn i mi ei ddefnyddio. 1610 01:06:26,910 --> 01:06:28,500 Felly, gadewch i ni weld os Clang yn hapusach yn awr. 1611 01:06:28,500 --> 01:06:31,410 Gwnewch cynyddiad, oedd yn llunio y tro hwn. 1612 01:06:31,410 --> 01:06:33,060 >> Gadewch i mi redeg cynyddiad. 1613 01:06:33,060 --> 01:06:34,810 Ac yn wir, mae'n ymddangos ei fod yn gweithio. 1614 01:06:34,810 --> 01:06:36,810 Nawr, gallwch ddod o hyd i sefyllfaoedd yn y pen draw lle 1615 01:06:36,810 --> 01:06:38,650 nid yw'n ymarferol i roi pob swyddogaeth 1616 01:06:38,650 --> 01:06:39,740 goruwch pob swyddogaeth arall. 1617 01:06:39,740 --> 01:06:42,140 Byddwch yn mynd yn sownd yn y dolen ddiddiwedd mewn gwirionedd, 1618 01:06:42,140 --> 01:06:43,480 lle mae hyn yn guy eisiau bod yma ond mae hyn 1619 01:06:43,480 --> 01:06:44,390 guy angen i fod yno. 1620 01:06:44,390 --> 01:06:45,830 Felly nid yw hynny bob tro'n gweithio. 1621 01:06:45,830 --> 01:06:49,020 Felly, diolch byth, C wedi ateb mwy cain. 1622 01:06:49,020 --> 01:06:50,790 Rydw i'n mynd i roi hwn yn ôl lle yr oedd, dim ond am fy mod 1623 01:06:50,790 --> 01:06:53,390 well gennych, fel mater o egwyddor, y prif bob amser yn 1624 01:06:53,390 --> 01:06:55,550 ar y brig, oherwydd mai dim ond braf i weld beth y rhaglen hon 1625 01:06:55,550 --> 01:06:56,920 gwneud yn ddiofyn. 1626 01:06:56,920 --> 01:06:58,950 A hyn yr wyf i'n mynd i wneud i fyny yma yn datgan yr hyn a elwir 1627 01:06:58,950 --> 01:07:00,250 prototeip. 1628 01:07:00,250 --> 01:07:05,730 Rydw i'n mynd i ail-ddatgan fy swyddogaeth ciwb drwy llythrennol 1629 01:07:05,730 --> 01:07:07,180 gopïo a gludo. 1630 01:07:07,180 --> 01:07:08,290 Mewn gwirionedd, nid yw hynny'n llythrennol. 1631 01:07:08,290 --> 01:07:13,060 Felly, yn llythrennol copïo a gludo llinell 15 1632 01:07:13,060 --> 01:07:15,160 i fyny uwchben y llinell 6. 1633 01:07:15,160 --> 01:07:17,010 Nid oes ots beth mae hyn yn dod i ben llinell i fyny ar. 1634 01:07:17,010 --> 01:07:18,380 Mae'n digwydd i fod ar llinell 4. 1635 01:07:18,380 --> 01:07:19,950 Ond mae'n rhaid i chi fod cyn brif. 1636 01:07:19,950 --> 01:07:21,150 Ond yn sylwi ar y gwahaniaeth. 1637 01:07:21,150 --> 01:07:24,100 Llinell 4 yn dod i ben gyda hanner colon, sy'n golygu hey, 1638 01:07:24,100 --> 01:07:27,510 Clang, gymryd fy ngair i am hynny fod yn rhaid wrth swyddogaeth 1639 01:07:27,510 --> 01:07:31,350 a elwir yn ciwb sy'n cymryd int ac yn dychwelyd yn int. 1640 01:07:31,350 --> 01:07:33,020 Ond nid wyf yn gonna dweud wrthych beth ydyw eto. 1641 01:07:33,020 --> 01:07:35,180 Dim ond yn gwybod fy mod yn addo i ddweud wrthych yn y pen draw. 1642 01:07:35,180 --> 01:07:38,490 Ac yn wir, yn awr ei fod yn iawn bod hyn yn i lawr isod. 1643 01:07:38,490 --> 01:07:41,275 >> Felly, mae hyn yn gyffredinol yn well, gan fod yna ar ben 1644 01:07:41,275 --> 01:07:44,240 eich ffeil, gallwch ysgwyd i ffwrdd, cyflym-tân, un llinell 1645 01:07:44,240 --> 01:07:46,470 yr un, beth yw enwau eich swyddogaethau hyn, beth yw eu 1646 01:07:46,470 --> 01:07:49,120 mewnbynnau'n, beth yw eu cynnyrch yn cael eu. 1647 01:07:49,120 --> 01:07:52,210 Ac i fod yn fwy eglur, mewnbwn yn gyffredinol yn golygu dadl neu 1648 01:07:52,210 --> 01:07:54,110 paramedr, gyfystyr â'i gilydd. 1649 01:07:54,110 --> 01:07:56,890 Allbwn yn golygu gwerth ddychwelyd, beth mae'n ei 1650 01:07:56,890 --> 01:07:58,700 law yn ôl i mi. 1651 01:07:58,700 --> 01:08:03,420 Felly, yn yr achos hwn yma, ciwb wedi ei ddatgan ar y brig, ond 1652 01:08:03,420 --> 01:08:06,940 diffinio, a elwir fel arall fel y'i gweithredwyd, ar y gwaelod. 1653 01:08:06,940 --> 01:08:09,620 Felly nawr gadewch i ni fynd yn ôl yma ac ail-redeg y. 1654 01:08:09,620 --> 01:08:13,430 Felly nawr gadewch i mi fynd yn ei flaen ac ail-redeg gwneud, ail-redeg cynyddiad. 1655 01:08:13,430 --> 01:08:16,500 Ac mae'n awr yn ymddangos i fod yn gweithio jyst ddirwya. 1656 01:08:16,500 --> 01:08:19,450 Felly nawr gallwn fynd ymlaen ac yn ffactor allan rhywbeth fel y 1657 01:08:19,450 --> 01:08:23,720 cwrw enghraifft, i mewn y fersiwn pedwerydd. 1658 01:08:23,720 --> 01:08:25,590 Felly, gadewch i mi sgrolio i lawr yma. 1659 01:08:25,590 --> 01:08:28,149 Ac yn sylwi fy mod yn fath o gymryd y wers hon i galon yn unig yn awr. 1660 01:08:28,149 --> 01:08:31,140 Mae'r ffaith fy mod yn canu y pennill un fath eto ac 1661 01:08:31,140 --> 01:08:34,130 eto ac eto, y llinell gorws un yn y gân, yn teimlo 1662 01:08:34,130 --> 01:08:36,439 hoffi pam nad ydw i'n ffactor allan i swyddogaeth? 1663 01:08:36,439 --> 01:08:38,470 Ac yn wir, dylai hyn fod yn un o'r cymhellion. 1664 01:08:38,470 --> 01:08:40,960 Heblaw am y ffaith y gallai rhywun arall yn y byd am 1665 01:08:40,960 --> 01:08:42,390 i ddefnyddio swyddogaeth ciwb - 1666 01:08:42,390 --> 01:08:44,560 mae hynny'n rheswm da i ffactor rhywbeth ac ysgrifennwch eich 1667 01:08:44,560 --> 01:08:45,720 arfer swyddogaeth ei hun - 1668 01:08:45,720 --> 01:08:48,720 os oes darn o god yn eich rhaglen mai dim ond yn gwneud 1669 01:08:48,720 --> 01:08:51,370 ymdeimlad cysyniadol, eich bod yn fath o awyddus i roi cynnig 1670 01:08:51,370 --> 01:08:53,740 enw - fel yn yr achos hwn, corws - 1671 01:08:53,740 --> 01:08:57,380 yna gallwch ysgrifennu yr un modd hynny fel swyddogaeth ar wahân. 1672 01:08:57,380 --> 01:08:59,560 Nid oes rhaid i chi ysgrifennu popeth yn y prif os dim ond 1673 01:08:59,560 --> 01:09:02,609 teimlo glanach i wahanu allan a rhoi enw iddo. 1674 01:09:02,609 --> 01:09:05,529 >> Felly, yn yr achos hwn yma, yn sylwi bod gennyf sylw ar ben 1675 01:09:05,529 --> 01:09:06,859 swyddogaeth hon mai dim ond canu am y 1676 01:09:06,859 --> 01:09:08,630 nifer penodol o boteli. 1677 01:09:08,630 --> 01:09:10,609 Hysbysiad yma nad oes angen i mi galw'r rhain yn 1678 01:09:10,609 --> 01:09:12,520 pethau mewnbwn ac allbwn. 1679 01:09:12,520 --> 01:09:16,090 Yn wir, y tro hwn Fi jyst galw fy b mewnbwn ar gyfer potel. 1680 01:09:16,090 --> 01:09:19,960 Ac yn sylwi yma, ddi-rym yn awgrymu beth? 1681 01:09:19,960 --> 01:09:21,309 Bod corws - 1682 01:09:21,309 --> 01:09:22,660 GYNULLEIDFA: Nid yw'n dychwelyd. 1683 01:09:22,660 --> 01:09:23,870 DAVID J. Malan: Nid yw'n dychwelyd gwerth. 1684 01:09:23,870 --> 01:09:26,800 Ac yn wir, nid yw swyddogaethau oes rhaid i ddychwelyd gwerthoedd. 1685 01:09:26,800 --> 01:09:28,060 Dim ond Gallant wneud rhywbeth. 1686 01:09:28,060 --> 01:09:30,270 Gallant gael hyn a elwir yn sgîl-effeithiau, sydd yn yr 1687 01:09:30,270 --> 01:09:33,109 achos yn unig yw criw cyfan o argraffu ar y sgrin. 1688 01:09:33,109 --> 01:09:36,580 Felly, yn sylwi bod y cod hwn yma, yr wyf yn llythrennol dim ond dwyn o 1689 01:09:36,580 --> 01:09:37,680 yr enghraifft flaenorol. 1690 01:09:37,680 --> 01:09:39,930 Yr unig wahaniaeth yw yn hytrach na defnyddio i fel fy 1691 01:09:39,930 --> 01:09:42,890 amrywiol, Im 'bellach yn defnyddio b fel fy amrywiol. 1692 01:09:42,890 --> 01:09:45,880 Felly mae gen i b i lawr yma, mae gennyf b i lawr yma, mae gennyf b 1693 01:09:45,880 --> 01:09:47,109 minws 1 i lawr yma. 1694 01:09:47,109 --> 01:09:49,279 Ond mae'r cod yn union yr un fath. 1695 01:09:49,279 --> 01:09:52,529 Ond dim ond i ddangos i chi'n awr sut y gallwn ddefnyddio hyn, gadewch i mi fynd 1696 01:09:52,529 --> 01:09:56,780 flaen ac mewn gwirionedd yn newid hyn i fod yn ddolen i. 1697 01:09:56,780 --> 01:10:03,850 ar gyfer (i int = n; i> n: i -). 1698 01:10:03,850 --> 01:10:06,230 >> Felly, yr wyf wedi dwyn hynny o'n enghraifft flaenorol. 1699 01:10:06,230 --> 01:10:08,970 Yn flaenorol, mae yn llinell 37 a byddwn wedi dechrau 1700 01:10:08,970 --> 01:10:10,640 canu y gân blino. 1701 01:10:10,640 --> 01:10:15,810 Ond yn hytrach, Im 'jyst yn mynd yn hyn alw corws o i. 1702 01:10:15,810 --> 01:10:16,870 Done. 1703 01:10:16,870 --> 01:10:20,260 Felly, yn awr ym mhob fersiwn o'r ddolen, yr wyf yn galw hyn yn eraill 1704 01:10:20,260 --> 01:10:22,220 swyddogaeth, corws, fy mod yn digwydd i ysgrifennu. 1705 01:10:22,220 --> 01:10:24,110 Nid ei ysgrifennu gan rywun arall flynyddoedd yn ôl. 1706 01:10:24,110 --> 01:10:27,930 Ond corws, yn y cyfamser, yn defnyddio printf i argraffu 1707 01:10:27,930 --> 01:10:29,840 hyn allan pedair llinell. 1708 01:10:29,840 --> 01:10:32,720 Ond y ffaith fy mod i'n galw corws eto ac eto mewn 1709 01:10:32,720 --> 01:10:35,900 ddolen yn golygu fy mod i'n mynd i nôl, yn y diwedd, y 1710 01:10:35,900 --> 01:10:39,310 gân union yr un fath gan fod gen i hyd yn hyn. 1711 01:10:39,310 --> 01:10:42,130 Felly, yn fyr, yn awr os byddaf yn edrych yn ôl ar fy cod, er bod 1712 01:10:42,130 --> 01:10:44,240 swyddogaethol hyn yn gyfwerth, yn sylwi ei fod yn 1713 01:10:44,240 --> 01:10:46,020 dechrau mynd hyd yn oed yn fwy darllenadwy. 1714 01:10:46,020 --> 01:10:48,410 Nid wyf yn gwybod yn union pa mor GetInt 1715 01:10:48,410 --> 01:10:49,250 cael ei weithredu. 1716 01:10:49,250 --> 01:10:52,050 A dweud y gwir, nid wyf yn gwybod sut corws yn cael ei weithredu. 1717 01:10:52,050 --> 01:10:52,970 Ond nid yw o bwys i mi. 1718 01:10:52,970 --> 01:10:55,620 Nid wyf yn poeni, oherwydd yn awr gellir i ryw raddau, fel bod dynol, darllenwch 1719 01:10:55,620 --> 01:10:57,050 y gwaelod o'r top i. 1720 01:10:57,050 --> 01:10:59,950 Ac oherwydd bod y swyddogaethau yn cael eu henwi yn ôl yr hyn y maent 1721 01:10:59,950 --> 01:11:02,910 wneud, fy cod yn gynyddol ddarllenadwy. 1722 01:11:02,910 --> 01:11:05,190 Ac fel ein rhaglenni yn cael llawer mwy cymhleth - 1723 01:11:05,190 --> 01:11:07,220 erbyn diwedd y semester, byddwch yn ysgrifennu cannoedd o linellau 1724 01:11:07,220 --> 01:11:10,970 cod mewn ieithoedd fel PHP a JavaScript ac ati - 1725 01:11:10,970 --> 01:11:13,550 fe welwch ei fod gymaint yn haws nag i gadw golwg ar 1726 01:11:13,550 --> 01:11:14,080 hyn rydych wedi'i wneud. 1727 01:11:14,080 --> 01:11:15,810 A phan fyddwch yn dechrau cydweithio â ffrindiau neu 1728 01:11:15,810 --> 01:11:19,010 bartneriaid neu gydweithwyr, byddwch yn gallu ysgrifennu llawer mwy 1729 01:11:19,010 --> 01:11:22,910 rhaglenni enfawr gan ddechrau ymarfer y rhain sylfaenol 1730 01:11:22,910 --> 01:11:23,990 blociau adeiladu. 1731 01:11:23,990 --> 01:11:25,550 >> Felly, gyda hynny ddywedodd, pam nad ydym yn galw ei fod yn ddiwrnod? 1732 01:11:25,550 --> 01:11:27,190 A byddwn yn eich gweld ar ddydd Mercher. 1733 01:11:27,190 --> 01:11:33,611 [Cymeradwyaeth]