1 00:00:00,000 --> 00:00:11,736 2 00:00:11,736 --> 00:00:16,626 >> [VIDEO Playback] 3 00:00:16,626 --> 00:00:19,410 >> Buddugoliaeth -A o mathemategol a sgiliau mecanyddol 4 00:00:19,410 --> 00:00:23,270 mae hyn yn awtomatig newydd gwych cyfrifiannell ym Mhrifysgol Harvard. 5 00:00:23,270 --> 00:00:27,140 Problemau cymhleth mewn mathemateg rhoi drwy'r peiriant ar ffurf codio 6 00:00:27,140 --> 00:00:31,710 ar dâp yn cael eu datrys yn gywir mewn fechan iawn o'r amser sydd ei angen 7 00:00:31,710 --> 00:00:32,819 ar gyfer cyfrifo gan bobl. 8 00:00:32,819 --> 00:00:44,280 9 00:00:44,280 --> 00:00:48,220 Cynllun i hwyluso pob math o ymchwil mathemategol a gwyddonol, 10 00:00:48,220 --> 00:00:53,840 Bydd yr ymennydd mecanyddol enfawr weithio i yr Unol Daleithiau Llynges tan ddiwedd y rhyfel. 11 00:00:53,840 --> 00:01:03,620 12 00:01:03,620 --> 00:01:06,570 >> [DIWEDD Playback] 13 00:01:06,570 --> 00:01:08,590 >> DAVID J. Malan: Mae hyn, yn CS50. 14 00:01:08,590 --> 00:01:10,590 Roedd y gorffennol roedd yn hudol lle, ond os ydych chi wedi erioed 15 00:01:10,590 --> 00:01:13,366 meddwl beth y ddyfais yn yn Harvard Gwyddoniaeth Center, 16 00:01:13,366 --> 00:01:16,150 mae'n wir yn rhan o'r Harvard Mark I, ac mae'n 17 00:01:16,150 --> 00:01:18,710 yn cael eu harddangos yno nawr am y nifer o flynyddoedd diwethaf. 18 00:01:18,710 --> 00:01:20,590 A beth byddwch yn gweld rhan annatod o set problem 19 00:01:20,590 --> 00:01:24,416 mae un yn edrych y tu ôl i'r llenni ar yr hyn a wnaeth y ddyfais, ac yn ei wneud, 20 00:01:24,416 --> 00:01:27,540 gan yr Athro Harry Lewis, sydd yn yr adran wyddoniaeth gyfrifiadurol yma. 21 00:01:27,540 --> 00:01:29,440 Felly mwy am hynny mewn dim ond ychydig. 22 00:01:29,440 --> 00:01:33,990 >> Ond heddiw rydym yn dechrau pontio o wythnos diwethaf i hyn, 23 00:01:33,990 --> 00:01:37,290 a byddwn yn dod â sôn o un llun yma 24 00:01:37,290 --> 00:01:38,630 dyna mewn gwirionedd yn eithaf enwog. 25 00:01:38,630 --> 00:01:42,270 Oes rhywun yn gwybod beth y mae hyn dyma sydd ar y sgrin? 26 00:01:42,270 --> 00:01:43,880 O leiaf yn ôl chwedl. 27 00:01:43,880 --> 00:01:44,837 Yeah. 28 00:01:44,837 --> 00:01:45,920 GYNULLEIDFA: Mae'r firws yn gyntaf. 29 00:01:45,920 --> 00:01:49,570 DAVID J. Malan: Felly yr oedd sôn, y byg gwirioneddol cyntaf mewn cyfrifiadur. 30 00:01:49,570 --> 00:01:52,490 Nawr mewn gwirionedd y gair bug, am gamgymeriad mewn rhaglen, 31 00:01:52,490 --> 00:01:55,250 wedi bod gyda ni ers peth amser yn y byd ffisegol, 32 00:01:55,250 --> 00:01:58,190 ac roedd hyn yn un o'r cyntaf amseroedd dogfennu lle mae rhywun mewn gwirionedd 33 00:01:58,190 --> 00:02:02,280 pluo mae gwyfyn mawr allan y Marc II cyfrifiadur, rhowch ef yn y rhwymwr, 34 00:02:02,280 --> 00:02:05,006 ac yna cofnodi ei fel y byg hysbys cyntaf 35 00:02:05,006 --> 00:02:06,630 i wedi cael eu darganfod mewn gwirionedd yn gorfforol. 36 00:02:06,630 --> 00:02:10,104 Felly fel hyn ei gofnodi hynny i llên heddiw. 37 00:02:10,104 --> 00:02:12,020 Popeth o ddiwethaf wythnos ar gael ar-lein. 38 00:02:12,020 --> 00:02:14,840 Yn adnoddau penodol sy'n gallech chi nid o reidrwydd yn sylwi, yn enwedig 39 00:02:14,840 --> 00:02:15,881 os ydych yn dod yma yn bersonol. 40 00:02:15,881 --> 00:02:20,230 Felly, un o'r cymrodyr addysgu pob blwyddyn yn gwneud set canonaidd o nodiadau, 41 00:02:20,230 --> 00:02:22,010 fel na fyddwch angen cadw eich pen i lawr, yn ceisio 42 00:02:22,010 --> 00:02:24,410 i drawsgrifio y rhan fwyaf o unrhyw beth a allai ddigwydd yma yn y dosbarth. 43 00:02:24,410 --> 00:02:25,940 Felly yn sylweddoli bod y rhai hyn a elwir yn [? Scribd?] Nodiadau 44 00:02:25,940 --> 00:02:29,350 yn ar-lein, yn sicr y sleidiau a cod ffynhonnell a ddefnyddiwn yn y dosbarth. 45 00:02:29,350 --> 00:02:31,436 Rydym yn gwneud trawsgrifiadau testun llawn ar gael yn ogystal. 46 00:02:31,436 --> 00:02:34,310 Felly, os ydych fras gofio rhai dymor, ac yn awyddus i edrych i fyny ychydig yn 47 00:02:34,310 --> 00:02:37,280 fwy parod, yn sylweddoli bod yr holl o hynny yn ei chwilio ar-lein. 48 00:02:37,280 --> 00:02:38,930 Yn ogystal â walkthroughs hefyd. 49 00:02:38,930 --> 00:02:42,710 Yn wir, heddiw rydym yn dechrau edrych ar iaith raglennu lefel is, 50 00:02:42,710 --> 00:02:45,290 cyn bo hir i gael ei adnabod i ni fel C, ac mae'n hawdd iawn 51 00:02:45,290 --> 00:02:48,820 i fath o fynd ar goll ar ôl dim ond ychydig amser eiliadau, ac yna fath o ryfeddod 52 00:02:48,820 --> 00:02:52,370 sut yr ydym mewn gwirionedd yn rhaid i rai mwy enghraifft cymhleth o'r symlaf. 53 00:02:52,370 --> 00:02:54,975 Ac felly yn sylweddoli ein chi helpu ceirios ddewis yn ystod y dosbarth rhai 54 00:02:54,975 --> 00:02:57,850 o'r enghreifftiau amlwg, ond yn sylweddoli bod cymaint mwy hefyd 55 00:02:57,850 --> 00:03:01,140 gael ar-lein er mwyn i chi weithio trwyddo ar eich cyflymder eich hun, 56 00:03:01,140 --> 00:03:02,950 Fodd bynnag, rydych yn fwyaf cyfforddus. 57 00:03:02,950 --> 00:03:05,200 >> Ond rydym yn gadael i ffwrdd gyda rhaglenni a oedd dim ond hyn. 58 00:03:05,200 --> 00:03:09,690 Felly, yr wyf cliciwch y faner werdd, a beth mae'n rhaglen hon yn ei wneud? 59 00:03:09,690 --> 00:03:10,710 Meddai, helo, byd. 60 00:03:10,710 --> 00:03:13,180 Mae'n gwneud y gath yn dweud helo yn ei fyd bach 61 00:03:13,180 --> 00:03:15,990 ar yr ochr chwith uchaf o rhyngwyneb defnyddiwr Scratch yn. 62 00:03:15,990 --> 00:03:18,810 Ond rydym yn dechrau cyflwyno rhywfaint o derminoleg yr wythnos diwethaf. 63 00:03:18,810 --> 00:03:23,614 Ac felly, pethau fel hyn rydym yn galw beth? 64 00:03:23,614 --> 00:03:25,280 Beth allai fod y term generig ar gyfer hyn? 65 00:03:25,280 --> 00:03:26,266 Yeah. 66 00:03:26,266 --> 00:03:28,210 Dull neu ddatganiad. 67 00:03:28,210 --> 00:03:29,280 Cadarn, ei fod yn gweithredu. 68 00:03:29,280 --> 00:03:30,140 Gwnewch hyn. 69 00:03:30,140 --> 00:03:32,400 Ac eto yr oedd siapiau eraill ddigon da, 70 00:03:32,400 --> 00:03:35,360 heblaw y rhain hyn a elwir yn datganiad, roeddent hefyd 71 00:03:35,360 --> 00:03:38,221 pethau fel hyn, yr ydym elwir beth? 72 00:03:38,221 --> 00:03:38,720 Yeah. 73 00:03:38,720 --> 00:03:39,634 Felly dolen. 74 00:03:39,634 --> 00:03:42,050 Ac yn yr achos hwn, y peth hyn ailddarllediadau, yn amlwg, 10 gwaith. 75 00:03:42,050 --> 00:03:43,040 Mae bloc am byth. 76 00:03:43,040 --> 00:03:44,164 Mae un neu ddau o bobl eraill. 77 00:03:44,164 --> 00:03:48,309 A heddiw rydym yn mynd i weld sut i drosi hyn i fyd mwy modern, 78 00:03:48,309 --> 00:03:50,850 os mynnwch, hyd yn oed er 'i' mynd i ymddangos ar yr olwg gyntaf 79 00:03:50,850 --> 00:03:52,024 i fod yn llawer mwy arcane. 80 00:03:52,024 --> 00:03:53,190 Ond roedd y rhai oedd yn wir dolenni. 81 00:03:53,190 --> 00:03:56,182 Ac yna mae gennym bethau fel hwn, a oedd siâp hwn, 82 00:03:56,182 --> 00:03:57,515 a cwestiynau a ofynnir yn y bôn. 83 00:03:57,515 --> 00:03:58,890 Ac rydym cyfeirir at y rhain fel beth? 84 00:03:58,890 --> 00:03:59,762 >> GYNULLEIDFA: mynegiad Boole. 85 00:03:59,762 --> 00:04:00,320 >> DAVID J. Malan: Yeah. 86 00:04:00,320 --> 00:04:01,340 Mynegiad Boole. 87 00:04:01,340 --> 00:04:04,502 Rhywbeth sydd naill ai'n gywir neu'n ffug, ie neu ddim, un neu sero, 88 00:04:04,502 --> 00:04:05,960 Fodd bynnag, yr ydych am i weld y byd. 89 00:04:05,960 --> 00:04:08,335 Ond byddem ni'n ei alw y rhai Boolean ymadroddion, ac rydym yn eu plygio 90 00:04:08,335 --> 00:04:09,900 i mewn i amodau, neu ganghennau. 91 00:04:09,900 --> 00:04:12,170 Ac ym myd Scratch, mae popeth 'n glws 92 00:04:12,170 --> 00:04:15,460 cyd-gloi o ran ei siâp, os yw'n gwneud synnwyr rhesymegol i wneud hynny, 93 00:04:15,460 --> 00:04:18,490 ond nid oes rhaid i chi stopio yn unig gwneud un peth yn amodol, 94 00:04:18,490 --> 00:04:20,450 gallwch gael diarhebol fforc yn y ffordd 95 00:04:20,450 --> 00:04:24,040 ac yn gwneud y naill hwn neu os y cyflwr yn wir ai peidio. 96 00:04:24,040 --> 00:04:26,040 Ac yna, fel y byddwch yn gweld, os nad ydych wedi gwneud hynny'n barod, 97 00:04:26,040 --> 00:04:27,480 Gallwch hyd yn oed nythu blociau hyn. 98 00:04:27,480 --> 00:04:32,110 Felly Scratch yn tyfu i lenwi'r siapiau efallai y byddwch am i fewnosod i mewn iddo, 99 00:04:32,110 --> 00:04:35,330 er mwyn i chi fynegi mewn gwirionedd y rhan fwyaf o unrhyw resymeg y gallech fod am ei wneud. 100 00:04:35,330 --> 00:04:38,220 >> Erbyn hyn, mae ychydig o eiriau o gyhoeddiad ar gyfer y ddau yma ac Haven Newydd. 101 00:04:38,220 --> 00:04:39,370 Felly sectioning dechrau heddiw. 102 00:04:39,370 --> 00:04:42,120 Mae'r URL ar gyfer hyn yw ar y cwrs yn gwefan, ar gyfer y rhai anghyfarwydd. 103 00:04:42,120 --> 00:04:43,970 Bydd Adrannau yn cyfle i ddod at ei gilydd 104 00:04:43,970 --> 00:04:46,553 mewn amgylchedd llawer mwy cartrefol na [? Sanders?] Yn caniatáu, 105 00:04:46,553 --> 00:04:50,347 gyda 10 i 20 gyd-ddisgyblion sydd â cyd-addysgu ar draciau gwahanol, 106 00:04:50,347 --> 00:04:51,930 a wahanol gyflymdra, os dewiswch chi. 107 00:04:51,930 --> 00:04:54,080 Yn wir, mae'r cwrs yn cynnig gwahanol adrannau 108 00:04:54,080 --> 00:04:57,340 ar gyfer y rhai llai cyfforddus, yn fwy gyfforddus, ac yn rhywle yn y canol, 109 00:04:57,340 --> 00:04:59,860 a rôl bawd yma, yn does dim diffiniad ffurfiol, 110 00:04:59,860 --> 00:05:04,600 ond os ydych yn llai cyfforddus, ydych yn fath o yn ei wybod. 111 00:05:04,600 --> 00:05:07,470 Rydych chi'n ychydig dewr am y syniad o gamu droed, efallai, yn ôl 112 00:05:07,470 --> 00:05:10,130 yn yr ystafell ddosbarth, neu ddangos hyd at rhyngddynt adran. 113 00:05:10,130 --> 00:05:12,770 Os ydych wedi bod rhaglennu ers i chi Roedd chwe blwydd oed, yn fwy cyfforddus, 114 00:05:12,770 --> 00:05:13,400 efallai i chi. 115 00:05:13,400 --> 00:05:16,150 Ac os ei fod yn fath o taflu-i fyny, dyna'n union beth mae'r rhyngddynt 116 00:05:16,150 --> 00:05:17,190 i fod i fod. 117 00:05:17,190 --> 00:05:18,410 >> Yn awr, yn y cyfamser, ar gyfer dosbarth maint hwn, 118 00:05:18,410 --> 00:05:21,326 mae'n mynd â ni ers peth amser ag adran bawb, felly rydym wedi hyn a elwir, 119 00:05:21,326 --> 00:05:24,030 adrannau super, yn dod i fyny yma penwythnos ac yn gynnar yr wythnos nesaf, 120 00:05:24,030 --> 00:05:26,570 felly cymerwch olwg ar wefan y cwrs ar gyfer y rhai sydd yn gwrs eang, 121 00:05:26,570 --> 00:05:28,610 a hefyd ffilmio ar gyfer y rhai na allant eu gwneud. 122 00:05:28,610 --> 00:05:33,470 Ac adrannau eu hunain yn dechrau mewn wythnos tri o CS50 mynegai sero. 123 00:05:33,470 --> 00:05:35,880 Problem osod 0 eisoes ar wefan y cwrs. 124 00:05:35,880 --> 00:05:40,010 Ac yn sylweddoli eich bod oes rhaid naw niwrnod yn hwyr semester hwn. 125 00:05:40,010 --> 00:05:43,240 Felly mae hwn yn uwchraddio o ddiwethaf blwyddyn, pan oedd gennym bum niwrnod yn hwyr. 126 00:05:43,240 --> 00:05:46,210 >> Felly, os ydych yn meddwl, mae gennym naw set broblem. 127 00:05:46,210 --> 00:05:53,200 Mae gennych naw niwrnod yn hwyr, mae pob un ohonynt gallwch ond yn treulio un bob wythnos ar. 128 00:05:53,200 --> 00:05:56,089 Mae hynny'n gwneud yn effeithiol i gyd y broblem yn gosod Dydd Gwener ddyledus, 129 00:05:56,089 --> 00:05:58,630 ond y nod yw rhoi ychydig ychydig o bwysau seicolegol 130 00:05:58,630 --> 00:06:01,100 arnoch chi i geisio cael pethau mewn ar ddydd Iau 131 00:06:01,100 --> 00:06:03,960 oherwydd fel y byddwch yn fuan yn darganfod, er gwell neu er gwaeth, y rhan fwyaf o 132 00:06:03,960 --> 00:06:07,820 popeth yn y byd meddalwedd yn dod i ben i fyny cymryd llawer mwy o amser nag ydych yn rhagweld. 133 00:06:07,820 --> 00:06:10,620 Felly ystyried ei fod yn fath o cyfle i helpu 134 00:06:10,620 --> 00:06:13,880 eich hun i dargedu Dydd Iau, ond yn cymryd cysur yn hynny, ie, 135 00:06:13,880 --> 00:06:14,950 popeth yn ddyledus ddydd Gwener. 136 00:06:14,950 --> 00:06:17,590 Ac os byddwch yn cyflwyno nhw ar Dydd Iau, mae hynny'n wych. 137 00:06:17,590 --> 00:06:21,020 Does dim pwyntiau bonws neu ychwanegol credyd ar gyfer cwrdd y terfyn amser. 138 00:06:21,020 --> 00:06:23,250 Mae wedi golygu i fod yn ffon yn unig. 139 00:06:23,250 --> 00:06:25,810 >> Ac i oriau swyddfa, y ddau yma ac yn New Haven, 140 00:06:25,810 --> 00:06:28,840 yn bersonol, os hoffech chi cwrdd ag unrhyw un o'n cyrsiau 141 00:06:28,840 --> 00:06:31,060 addysgu cymrodyr a CAs am gymorth. 142 00:06:31,060 --> 00:06:31,640 >> Mae pob hawl. 143 00:06:31,640 --> 00:06:33,110 Felly nawr, gadewch i ni wneud hyn yn fwy real. 144 00:06:33,110 --> 00:06:35,470 Ac am eiliad mae'n mynd i ddechrau er mwyn cael ychydig yn fwy dirgel, ond yn iawn 145 00:06:35,470 --> 00:06:37,310 yn gyflym ar ddydd Gwener a wythnos nesaf byddwn yn 146 00:06:37,310 --> 00:06:41,230 gallu gwneud cymaint mwy na gallem hyd yn hyn yn Scratch. 147 00:06:41,230 --> 00:06:44,350 Felly, cyflwynwyd cod diwethaf wythnos, er yn ffurf lluniau. 148 00:06:44,350 --> 00:06:45,620 Roedd darnau pos. 149 00:06:45,620 --> 00:06:48,800 Ac rydym yn ffurfioli ei bod yn rhywbeth o'r enw cod ffynhonnell, 150 00:06:48,800 --> 00:06:50,330 ond byddai ddim yn edrych? 151 00:06:50,330 --> 00:06:52,550 Wel, roedd yn edrych ychydig yn rhywbeth fel hyn. 152 00:06:52,550 --> 00:06:55,410 Ac, mewn gwirionedd, dim ond i fath o pryfocio lle y gallwn fynd â hyn. 153 00:06:55,410 --> 00:06:57,800 Rydw i'n mynd i fynd yn ei flaen a agor ffenestr yma, 154 00:06:57,800 --> 00:06:59,810 ac Im 'jyst yn mynd i ddewis Ffeil Newydd. 155 00:06:59,810 --> 00:07:03,200 Ac yr wyf i'n mynd i achub y ffeil fel rhywbeth fel helo dot c. 156 00:07:03,200 --> 00:07:05,700 Mwy am y dewis o geiriau mewn dim ond hyn o bryd. 157 00:07:05,700 --> 00:07:08,630 A dyma sut y gallai rhywun mynd ati i ysgrifennu rhaglen. 158 00:07:08,630 --> 00:07:13,990 Dylech gynnwys yr wyf yn safonol / O dot h, int brif ddi-rym, ac yna agor Brace cyrliog, yn agos 159 00:07:13,990 --> 00:07:19,430 Brace cyrliog, printf helo byd coma, slaes n, hanner colon, Save, ei wneud. 160 00:07:19,430 --> 00:07:19,930 OK. 161 00:07:19,930 --> 00:07:21,670 Rydw i wedi ysgrifennu fy cyntaf rhaglen, ond mae'n mynd 162 00:07:21,670 --> 00:07:23,878 i fod yn hynod underwhelmed oherwydd pan Fi 'n weithredol 163 00:07:23,878 --> 00:07:27,352 rhedeg y rhaglen hon, wrth gwrs, drwy ysgrifennu cyntaf yn gwneud helo, 164 00:07:27,352 --> 00:07:30,310 ac yna dot slaes helo, ac yr ydym chi helpu fynd drwy hyn yn llawer mwy o fanylion 165 00:07:30,310 --> 00:07:31,730 mewn munud, dyna i gyd mae'n ei wneud. 166 00:07:31,730 --> 00:07:33,270 Nid yw'n pop agor unrhyw ffenestri. 167 00:07:33,270 --> 00:07:35,070 Nid yw'n gwneud unrhyw beth yn arbennig o ffansi. 168 00:07:35,070 --> 00:07:38,830 Mae'r holl mae'n ei wneud yw hyn yr wyf yn dweud ei fod i yn ei wneud, ond sut mae cyrraedd at hynny? 169 00:07:38,830 --> 00:07:40,560 A sut rydym yn adeiladu ar hynny? 170 00:07:40,560 --> 00:07:43,430 Wel, gadewch i ni gyflwyno rhai gysyniadau gwahanol yma. 171 00:07:43,430 --> 00:07:47,170 >> Felly un, rydym yn ar fin dechrau gan ddefnyddio rhaglen o'r enw casglwr. 172 00:07:47,170 --> 00:07:51,470 Mae compiler yn bodoli ar gyfer Mac OS, Windows, Linux, unrhyw nifer o systemau gweithredu, 173 00:07:51,470 --> 00:07:54,540 a byddwn yn fuan yn eich cyflwyno i amgylchedd y byddwn yn eu defnyddio, 174 00:07:54,540 --> 00:07:57,410 ond mae compiler yn unig yw gyffredinol dymor ar gyfer darn o feddalwedd 175 00:07:57,410 --> 00:08:01,940 sy'n cymryd cod ffynhonnell a yn cynhyrchu cod gwrthrych ohono. 176 00:08:01,940 --> 00:08:03,940 Mewn geiriau eraill, os ydych yn gael fel mewnbwn eich ffynhonnell 177 00:08:03,940 --> 00:08:08,250 cod, rhywbeth fel hyn yr wyf newydd ei deipio, yn y pen draw yn cynhyrchu cod gwrthrych. 178 00:08:08,250 --> 00:08:11,780 A chod gwrthrych yn wirioneddol yn unig yn ffordd ffansi o ddweud yr allbyna 179 00:08:11,780 --> 00:08:12,926 sero ac un o. 180 00:08:12,926 --> 00:08:14,800 Mewn geiriau eraill, ffynhonnell Cod, hyd yn oed er 'i' 181 00:08:14,800 --> 00:08:17,240 mynd i edrych ychydig yn ddirgel, ac ychydig yn llai cyfeillgar 182 00:08:17,240 --> 00:08:19,590 na Scratch ar yr olwg gyntaf, 'i' o leiaf yn rhywbeth 183 00:08:19,590 --> 00:08:21,120 ein bod yn gallu bodau dynol deall. 184 00:08:21,120 --> 00:08:24,360 Mae'n fath o edrych ac yn swnio fel Saesneg hyd yn oed er 'i' gryno iawn. 185 00:08:24,360 --> 00:08:28,040 Tra rhaglennu yn sero, ac un, fel a oedd gan ein rhagflaenwyr i'w wneud, 186 00:08:28,040 --> 00:08:30,920 rai blynyddoedd yn ôl, nid oedd yn her arbennig o hwyl. 187 00:08:30,920 --> 00:08:33,710 Ac eto, mae hyn yn yr hyn y mae'r cyfrifiadur yn dal yn deall. 188 00:08:33,710 --> 00:08:37,010 Felly compiler ni ei gael gan cod ffynhonnell i wrthwynebu cod. 189 00:08:37,010 --> 00:08:39,860 Mae fel agor ffeil gyda'r casglwr, a phan fyddwch yn ei gadw, 190 00:08:39,860 --> 00:08:41,419 byddwch yn cael zeros a rhai hynny. 191 00:08:41,419 --> 00:08:43,419 Felly, byddwn yn gweld sut i wneud hynny mewn dim ond hyn o bryd. 192 00:08:43,419 --> 00:08:47,400 >> Ond gadewch i ni yn awr yn ceisio darparu pontio rhwng yr wythnos diwethaf ac mae hyn, 193 00:08:47,400 --> 00:08:50,660 felly hyd yn oed wrth i ni gael hongian i fyny ar bethau fel braces cyrliog, 194 00:08:50,660 --> 00:08:54,100 a hanner colon, a chromfachau, ac pob un o'r rhain yn ddeallusol ddiddorol 195 00:08:54,100 --> 00:08:57,620 agweddau ar raglennu, sy'n iawn ddealladwy faglu pobl i fyny yn gynnar, 196 00:08:57,620 --> 00:09:00,930 sylweddoli bod pob un o'r syniadau heddiw, yr un fath ag diwethaf. 197 00:09:00,930 --> 00:09:03,975 Felly diwethaf, gwelsom yr enghraifft yma, rhaglen Helo Byd. 198 00:09:03,975 --> 00:09:07,500 Wel, gan ddechrau heddiw, os ydym am i weithredu yr un rhaglen, 199 00:09:07,500 --> 00:09:10,800 mae'n mynd i edrych yn ychydig iawn o rhywbeth fel hyn. 200 00:09:10,800 --> 00:09:14,040 A byddwn yn esbonio cyn hir pa int, a phrif, ac yn ddi-rym, a hynny i gyd 201 00:09:14,040 --> 00:09:18,770 yw, ond o leiaf yr wyf yn gweld yma eisoes y cyfarwydd Helo Byd. 202 00:09:18,770 --> 00:09:20,860 >> Yn y cyfamser, pethau fel swyddogaeth, yn dweud helo, 203 00:09:20,860 --> 00:09:23,570 iawn, yn syml, yn mynd i fod yn datganiad syml iawn fel hyn. 204 00:09:23,570 --> 00:09:26,930 Printf helo byd, gyda rhai dyfyniadau, gyda slaes, 205 00:09:26,930 --> 00:09:29,780 gyda hanner colon, ond mwy am hynny i ddod. 206 00:09:29,780 --> 00:09:34,066 Dolenni, yn y cyfamser, mae hwn yn dolen bod, wrth gwrs, yn dweud helo byd am byth, 207 00:09:34,066 --> 00:09:36,690 ac mae hyn yn un yn mynd i edrych yn Ychydig weirder nag yn yr olaf, 208 00:09:36,690 --> 00:09:39,530 ond os wyf yn dweud rhywbeth fel, er yn wir, yr wyf yn 209 00:09:39,530 --> 00:09:44,050 Yna gall argraffu Helo byd dro ar ôl tro ar ôl tro ar ôl tro. 210 00:09:44,050 --> 00:09:46,660 Ac yna ag y gallwch math o'r dechrau casglu yma, 211 00:09:46,660 --> 00:09:49,070 confensiwn hwn o ddefnyddio bresys cyrliog yn garedig 212 00:09:49,070 --> 00:09:52,050 o fel cofleidio'r llinell hindentio o god yno. 213 00:09:52,050 --> 00:09:55,840 Mae'r llinell printf o god yn debyg iawn y pos darn melyn i fyny uchod. 214 00:09:55,840 --> 00:09:58,740 Felly nid ydym yn mynd i'w ddweud am byth, rydym yn mynd i ddweud wrth wir, 215 00:09:58,740 --> 00:10:01,020 ond byddwn yn gweld pam y mae mewn dim ond ychydig. 216 00:10:01,020 --> 00:10:04,210 >> Yn y cyfamser, os oes gennym dolen fel hyn, lle rydych yn ailadrodd rhywbeth yn gyfyngedig 217 00:10:04,210 --> 00:10:07,730 Amseroedd rhif, yr un yma yn rhy 'i' mynd i gymryd ychydig yn cael ei ddefnyddio 218 00:10:07,730 --> 00:10:12,820 i, ond mae'n mynd i'w ddweud am int ff yn cael sero, fi yn llai na 10, fi ++, 219 00:10:12,820 --> 00:10:14,056 ac yna printf eto. 220 00:10:14,056 --> 00:10:15,430 Ond mae mynd i fod patrymau. 221 00:10:15,430 --> 00:10:18,434 Ac i'r rhai ohonoch sy'n gyfarwydd gyda AP Cyfrifiadureg, neu Java, 222 00:10:18,434 --> 00:10:21,100 neu unrhyw nifer o ieithoedd eraill, bron pob un o'r cysyniadau hyn 223 00:10:21,100 --> 00:10:23,820 hyd yn hyn dylai edrych yn gyfarwydd yn bennaf. 224 00:10:23,820 --> 00:10:24,680 >> Felly amrywiol. 225 00:10:24,680 --> 00:10:29,270 Felly dyma dyfyniad Scratch syml sy'n yn gosod newidyn a elwir cownter i sero, 226 00:10:29,270 --> 00:10:33,150 ac yna am byth yn dweud y cownter, ac Yna, mae'n newid y cownter fesul un. 227 00:10:33,150 --> 00:10:37,030 Felly, mae'n dechrau gyda sero, ac yna un, dau, tri. 228 00:10:37,030 --> 00:10:42,560 Wel, sut y byddwn yn cyflwyno hynny yn yr iaith newydd ychydig yn yr un modd? 229 00:10:42,560 --> 00:10:45,460 Int cownter yn dychwelyd sero, tra bod yn wir, a oedd yn 230 00:10:45,460 --> 00:10:48,100 yw bod un syniad o o'r blaen o wneud rhywbeth am byth, 231 00:10:48,100 --> 00:10:49,530 ac Im 'jyst yn mynd i printf. 232 00:10:49,530 --> 00:10:53,310 Ac yn awr mae'n mynd ychydig yn rhyfedd, ff y cant, ond yn fwy ar hynny i ddod, 233 00:10:53,310 --> 00:10:55,140 ond syniadau hyn yn union yr un fath. 234 00:10:55,140 --> 00:10:58,820 Yn unig yn awr rhaid i ni gadw at y gystrawen bod y cyfrifiadur yn 235 00:10:58,820 --> 00:11:00,010 mynd i fynnu ohonom. 236 00:11:00,010 --> 00:11:04,620 >> Mynegiad Boole, rhywbeth fel SX llai na y, neu x yn llai na y, 237 00:11:04,620 --> 00:11:06,354 ac y llai na z. 238 00:11:06,354 --> 00:11:09,270 Mae'n mynd i edrych rhywbeth bach fel hyn, gyda cromfachau yn unig 239 00:11:09,270 --> 00:11:13,020 fel yn mathemateg ar gyfer mesur da i ddim ond sicrhau bod y drefn o weithrediadau 240 00:11:13,020 --> 00:11:14,750 fel y bwriadwn. 241 00:11:14,750 --> 00:11:15,600 Ac yn awr, amodau. 242 00:11:15,600 --> 00:11:21,220 Felly, os x yn llai na y, dweud x yn llai nag y, arall os x yn fwy na y, 243 00:11:21,220 --> 00:11:26,020 dweud x yn fwy na y, fel arall rhesymegol, rhaid x yn hafal i y. 244 00:11:26,020 --> 00:11:28,710 Felly, efallai y byddwch yn gweithredu rhywbeth fel hyn yn Scratch, 245 00:11:28,710 --> 00:11:31,230 neu efallai y byddwch yn rhoi ar waith yn cystrawen hwn. 246 00:11:31,230 --> 00:11:35,090 Ac eto, mae'r braces cyrliog yn fath o gan roi'r un siâp â ni fel y pos 247 00:11:35,090 --> 00:11:40,750 darnau, ond y gystrawen, yn awr, o bosibl, dechrau dilyn rhai patrymau. 248 00:11:40,750 --> 00:11:42,910 >> Felly, beth mae hyn yn ei roi i ni yma? 249 00:11:42,910 --> 00:11:45,260 Felly rydym yn ôl, yna yn ein prif raglen. 250 00:11:45,260 --> 00:11:47,930 Gadewch i ni mewn gwirionedd, yn awr, gwneud rhywbeth ag ef. 251 00:11:47,930 --> 00:11:50,660 Felly, yn y cyntaf llinell gwelwn miniog gynnwys, 252 00:11:50,660 --> 00:11:53,160 Rwyf safonol / O, dot h, ac yna mae rhai ongl 'n annaearol 253 00:11:53,160 --> 00:11:57,330 cromfachau is na hynny. prif int ddi-rym, ac yna printf helo byd. 254 00:11:57,330 --> 00:11:58,200 Felly, dim ond yn cymryd cam. 255 00:11:58,200 --> 00:12:02,440 Rhywun sydd erioed wedi rhaglennu o'r blaen, o leiaf yn esbonio un o'r llinellau hyn. 256 00:12:02,440 --> 00:12:04,490 Gan ddefnyddio efallai rhai o'r jargon yr wythnos diwethaf. 257 00:12:04,490 --> 00:12:06,942 Beth yw printf, er enghraifft? 258 00:12:06,942 --> 00:12:07,442 Yeah. 259 00:12:07,442 --> 00:12:08,410 >> GYNULLEIDFA: [Anghlywadwy] 260 00:12:08,410 --> 00:12:08,610 >> DAVID J. Malan: Yeah. 261 00:12:08,610 --> 00:12:11,380 Mae'n swyddogaeth, neu ddatganiad, o derminoleg yr wythnos diwethaf. 262 00:12:11,380 --> 00:12:13,470 Ac mae'n gweithred sy'n gwneud rhywbeth. 263 00:12:13,470 --> 00:12:15,855 Yn awr y swyddogaeth hon, neu datganiad hwn, yn ei wneud 264 00:12:15,855 --> 00:12:17,550 Ymddengys iddo gymryd rhyw fath o fewnbwn? 265 00:12:17,550 --> 00:12:20,080 266 00:12:20,080 --> 00:12:24,380 Ac ym mha ystyr mae'n ei yn ymddangos i gymryd mewnbwn, os felly? 267 00:12:24,380 --> 00:12:26,180 Mewnbwn, beth ddylwn i ei olygu wrth hynny? 268 00:12:26,180 --> 00:12:26,720 Yeah. 269 00:12:26,720 --> 00:12:27,595 >> GYNULLEIDFA: [Anghlywadwy] 270 00:12:27,595 --> 00:12:30,565 271 00:12:30,565 --> 00:12:31,440 DAVID J. Malan: Yeah. 272 00:12:31,440 --> 00:12:34,890 Felly Scratch allan ychydig o ddarnau pos lle gallwch parametrize ei. 273 00:12:34,890 --> 00:12:37,980 Gallech ddweud wrth y ailadrodd bloc sawl gwaith i ailadrodd, 274 00:12:37,980 --> 00:12:40,320 fel eu bod yn cael mewnbwn o ryw fath, ac yn union fel Scratch 275 00:12:40,320 --> 00:12:43,060 Roedd gan ychydig o dalfan gwyn ar gyfer y nifer y byddech yn teipio, 276 00:12:43,060 --> 00:12:45,810 felly rydym yn defnyddio yn hyn cromfachau byd testun 277 00:12:45,810 --> 00:12:49,910 i roi'r siâp cylch ni i ba gallwn plwg ein mewnbwn. 278 00:12:49,910 --> 00:12:53,180 Wedi'r cyfan, mae degau o flynyddoedd yn ôl pan iaith hon, o'r enw C, 279 00:12:53,180 --> 00:12:55,950 ei ddyfeisio unrhyw un Rhagwelir mae'n un ohonom ni, 280 00:12:55,950 --> 00:12:59,420 y rhain rai blynyddoedd yn ddiweddarach, byddem eisiau swyddogaeth sy'n dweud helo. 281 00:12:59,420 --> 00:12:59,920 Iawn? 282 00:12:59,920 --> 00:13:02,880 Byddai'n braf pe bai darn pos, neu eiriau allweddol, 283 00:13:02,880 --> 00:13:05,502 a oedd yn galw ei helo, bod yn llythrennol dim ond dweud helo. 284 00:13:05,502 --> 00:13:06,460 Ond nid oes angen i ni. 285 00:13:06,460 --> 00:13:09,320 Gallwn gael rhywbeth llawer is lefel, fel print generig 286 00:13:09,320 --> 00:13:12,760 archa, sy'n cymryd mewnbwn, a phrintiau beth bynnag yr ydym ei eisiau. 287 00:13:12,760 --> 00:13:14,960 Felly, yn sylwi erbyn hyn mae'r patrwm a fydd yn dechrau dod i'r amlwg. 288 00:13:14,960 --> 00:13:19,310 Paren Agored, paren agos yw yn ôl pob golwg yn cofleidio'r mewnbwn, 289 00:13:19,310 --> 00:13:21,770 ac yna yr wyf yn gweld dwbl dyfyniadau ar y ddau ben. 290 00:13:21,770 --> 00:13:25,110 Mae dal slaes 'n annaearol n, ond gobeithio nawr i chi 291 00:13:25,110 --> 00:13:29,900 gall ddechrau i ddelweddu o leiaf bod printf yn eu cymryd mewn rhyw fath o gyfraniad. 292 00:13:29,900 --> 00:13:31,850 Nid fel defnyddiwr gyfeillgar â Scratch, ond mae'r un 293 00:13:31,850 --> 00:13:34,920 fel wedi plygio mewn rhyw werth yno. 294 00:13:34,920 --> 00:13:38,306 >> Mae pob hawl, nawr gadewch i mewn gwirionedd wneud rhywbeth gyda hyn. 295 00:13:38,306 --> 00:13:40,930 Felly, efallai y bydd rhai ohonoch yn gwybod o ar ôl siopa dosbarth cyn, 296 00:13:40,930 --> 00:13:42,638 sgwrsio gyda ffrindiau, fod am nifer o flynyddoedd 297 00:13:42,638 --> 00:13:44,590 rydym yn defnyddio rhywbeth a elwir y peiriant CS50. 298 00:13:44,590 --> 00:13:49,160 Roedd hwn yn derm sy'n disgrifio yn dechnoleg Gelwir y peiriant rhithwir, a oedd 299 00:13:49,160 --> 00:13:51,870 yn ddarn o feddalwedd sy'n eich Byddai rhagflaenwyr lawrlwytho oddi ar 300 00:13:51,870 --> 00:13:53,360 wefan y cwrs am ddim. 301 00:13:53,360 --> 00:13:56,550 Byddent hefyd lawrlwytho darn rhad ac am ddim meddalwedd a elwir yn hypervisor, 302 00:13:56,550 --> 00:14:00,590 rywbeth a elwir fel VMware, neu VirtualBox, neu unrhyw rif 303 00:14:00,590 --> 00:14:04,450 o offer eraill, ac ar eu Mac neu PC neu beth bynnag gyfrifiadur a oedd ganddynt y llynedd 304 00:14:04,450 --> 00:14:06,620 ac yn ystod y blynyddoedd diwethaf, maent yn Byddai blygu chlecia eicon 305 00:14:06,620 --> 00:14:08,860 i redeg meddalwedd hwn Gelwir y hypervisor. 306 00:14:08,860 --> 00:14:12,220 Ac yna y tu mewn o'r rhaglen honno byddent yn agor y peiriant CS50. 307 00:14:12,220 --> 00:14:14,710 A'r effaith oedd bod a yw rhagflaenydd eich un chi 308 00:14:14,710 --> 00:14:17,780 yn rhedeg Mac OS neu Windows, bydd ef neu hi wedyn 309 00:14:17,780 --> 00:14:22,910 wedyn roedd gan ffenestr newydd ar eu sgrin sy'n rhedeg amgylchedd CS50 yn. 310 00:14:22,910 --> 00:14:27,370 Felly 'n weithredol beiriant yn gadael i chi redeg un system weithredu y tu mewn o un arall, 311 00:14:27,370 --> 00:14:28,785 a dyna'n union yr hyn a wnaethom. 312 00:14:28,785 --> 00:14:31,410 Trwy gydol y rhan fwyaf o'r cwrs yr ydym yn yn defnyddio system weithredu o'r enw 313 00:14:31,410 --> 00:14:34,070 Linux, yn benodol Ubuntu Linux, ac mae hyn 314 00:14:34,070 --> 00:14:37,590 yn ffordd neis iawn yn y blynyddoedd diwethaf o gwneud yn siŵr bod pawb yn y cwrs 315 00:14:37,590 --> 00:14:38,840 newydd gael yr un amgylchedd. 316 00:14:38,840 --> 00:14:41,339 A gallwch ddefnyddio unrhyw fath o cyfrifiadur eich bod mewn gwirionedd yn eisiau. 317 00:14:41,339 --> 00:14:43,930 Ymhlith y anfanteision, fodd bynnag, Roedd roedd fel dau gigabeit 318 00:14:43,930 --> 00:14:45,480 i lwytho i lawr y peth hyn. 319 00:14:45,480 --> 00:14:50,310 Nid oedd reidrwydd yn gweithio super dda ar pobl y mae eu cyfrifiaduron efallai yn unig 320 00:14:50,310 --> 00:14:54,570 Roedd gig neu fwy o RAM, neu beidio gormod o gigahertz o gyflymder CPU, 321 00:14:54,570 --> 00:14:56,750 ac felly eleni, am hyn a rhesymau eraill, 322 00:14:56,750 --> 00:14:59,140 rhaid i ni bod yn trawsnewid i'r amgylchedd hwn. 323 00:14:59,140 --> 00:15:03,730 Mae'r hyn a elwir CS50 IDE, sef yn seiliedig ar feddalwedd ffynhonnell agored, 324 00:15:03,730 --> 00:15:07,380 a llwyfan a gefnogir bod cwmni o'r enw Cloud9 325 00:15:07,380 --> 00:15:11,110 cefnogi yn Ewrop, bod yn caniatáu i ni gael y bôn 326 00:15:11,110 --> 00:15:15,770 hynny un amgylchedd union ag yn mlynedd diwethaf, ond yn y cwmwl fel y'u gelwir. 327 00:15:15,770 --> 00:15:17,532 >> Felly beth yw'r cwmwl? 328 00:15:17,532 --> 00:15:20,480 Mae'n debyg eich bod chi wedi clicio ei eicon ar eich Mac neu PC. 329 00:15:20,480 --> 00:15:22,210 Beth yw'r cwmwl? 330 00:15:22,210 --> 00:15:22,709 Yeah? 331 00:15:22,709 --> 00:15:25,880 332 00:15:25,880 --> 00:15:26,780 Mae uwch bach. 333 00:15:26,780 --> 00:15:30,510 334 00:15:30,510 --> 00:15:31,010 Yeah. 335 00:15:31,010 --> 00:15:33,770 Mae'n dim ond bagad o gyfrifiaduron mewn mannau eraill bod data storio a rhedeg 336 00:15:33,770 --> 00:15:34,880 meddalwedd a phethau tebyg. 337 00:15:34,880 --> 00:15:39,390 Felly mae'n wirioneddol ychydig i'r de gair jure o ddisgrifio [? rentable?] 338 00:15:39,390 --> 00:15:40,930 cyfrifiaduron sy'n byw yn rhywle arall. 339 00:15:40,930 --> 00:15:42,810 Eich bod chi, eich hun, nid ydynt o reidrwydd yn berchen. 340 00:15:42,810 --> 00:15:45,256 Felly, pan fydd eich data, neu eich rhaglenni, yn y cwmwl, 341 00:15:45,256 --> 00:15:47,630 'i jyst yn golygu ei bod ar rywun cyfrifiaduron arall mewn man arall, 342 00:15:47,630 --> 00:15:50,510 ac nid, yn fwyaf tebygol, ar eich gliniadur corfforol neu n ben-desg. 343 00:15:50,510 --> 00:15:52,990 Ac felly dyna beth CS50 IDE yn awr yw. 344 00:15:52,990 --> 00:15:55,670 >> O hyn allan, byddwch yn mynd i rai URL a fydd yn eich cyflwyno 345 00:15:55,670 --> 00:16:00,090 i, yn broblem a osodwyd 1, yn ddiweddarach yn y wythnos, y bydd wedyn, ar ôl mewngofnodi, 346 00:16:00,090 --> 00:16:01,480 rhoi'r amgylchedd hwn i chi. 347 00:16:01,480 --> 00:16:03,896 A llawer Scratch debyg wedi cael ychydig o baneli gwahanol dan sylw, 348 00:16:03,896 --> 00:16:06,030 felly hefyd y mae IDE CS50 yn cael yn union hynny. 349 00:16:06,030 --> 00:16:09,480 Ar yr ochr chwith uchaf yma, rydych yn mynd i weld porwr ffeiliau cyfarwydd. 350 00:16:09,480 --> 00:16:11,930 Felly unrhyw un o'r ffeiliau yr ydych rhoi yn yr amgylchedd hwn 351 00:16:11,930 --> 00:16:13,346 yn jyst yn mynd i gael eu rhestru yno. 352 00:16:13,346 --> 00:16:14,350 Ffeiliau a ffolderi. 353 00:16:14,350 --> 00:16:16,790 Ar y brig dde yma, rydych chi'n mynd i weld lle 354 00:16:16,790 --> 00:16:18,420 lle gallwch mewn gwirionedd yn ysgrifennu eich cod. 355 00:16:18,420 --> 00:16:21,860 I ddechrau yn C, yn ddiweddarach yn y dymor yn PHP a JavaScript, 356 00:16:21,860 --> 00:16:24,739 ac, efallai am derfynol prosiectau, Ruby neu Java neu Python 357 00:16:24,739 --> 00:16:27,280 neu unrhyw nifer o ieithoedd yn cael eu cefnogi yn yr amgylchedd hwn. 358 00:16:27,280 --> 00:16:30,130 Nid yw o gwbl ei glymu i CS50 benodol. 359 00:16:30,130 --> 00:16:33,390 >> Ac yna yn y gornel isaf yma, yn enwedig i'r rhai yn fwy cyfforddus, 360 00:16:33,390 --> 00:16:35,590 gennych rywbeth Gelwir derfynnell ffenest. 361 00:16:35,590 --> 00:16:38,770 Ac mae hyn yn ffenestr terfynell yn caniatáu i chi gyflawni unrhyw orchymyn yr ydych 362 00:16:38,770 --> 00:16:40,860 eisiau yn yr amgylchedd cwmwl. 363 00:16:40,860 --> 00:16:42,860 Mae'n caniatáu i chi osod unrhyw feddalwedd ychwanegol 364 00:16:42,860 --> 00:16:46,810 eich bod am am eich bod wedi hyn a elwir yn gwraidd, neu weinyddwr breintiau. 365 00:16:46,810 --> 00:16:49,930 Felly, mewn geiriau eraill, er bod hyn yn cael ei gynnal yn y pen draw yn y cwmwl, 366 00:16:49,930 --> 00:16:52,400 ac er bod gennym symleiddio i ryw raddau 367 00:16:52,400 --> 00:16:57,110 yn ddiofyn, yn llythrennol gyflwyno, diolch i Dan Armendariz, a Dino, 368 00:16:57,110 --> 00:17:01,070 a Dan Bradley ar dîm CS50 dros y heibio fisoedd lawer, yn llai cyfforddus 369 00:17:01,070 --> 00:17:05,140 modd sy'n cuddio llawer o'r gwrthdyniadau ddryslyd i ddechrau. 370 00:17:05,140 --> 00:17:10,119 Mae popeth yno yn bodoli i yn cynrychioli system gyfrifiadurol nodweddiadol 371 00:17:10,119 --> 00:17:12,319 y gallech eu defnyddio yn y byd go iawn. 372 00:17:12,319 --> 00:17:15,640 >> Felly, beth mae hyn i gyd yn ei olygu, a beth allwn ni mewn gwirionedd wneud â hi? 373 00:17:15,640 --> 00:17:19,124 Gadewch i ni mewn gwirionedd yn cymryd cipolwg ar raglen. 374 00:17:19,124 --> 00:17:21,290 Felly, yr wyf i'n mynd i agor y amgylchedd gwirioneddol yma, 375 00:17:21,290 --> 00:17:23,894 sydd ychydig yn ein Chrome porwr, a allai fod Firefox, 376 00:17:23,894 --> 00:17:26,640 Gallai fod yn Internet Explorer, neu ryw borwr eraill hefyd. 377 00:17:26,640 --> 00:17:28,400 Mae'n sgrinio llawn yma am y tro. 378 00:17:28,400 --> 00:17:31,580 A dw i eisiau mynd at wraidd y gwirionedd ar wahân pa rhaglen hon oedd. 379 00:17:31,580 --> 00:17:36,170 Felly, gadewch i ni edrych, trwy chwyddo mewn hyd brig, ar yr hyn wnes i, a sut yr wyf yn got yma. 380 00:17:36,170 --> 00:17:38,315 Felly dyma rhai union un llinellau o god. 381 00:17:38,315 --> 00:17:40,440 Felly, mae hyn yn y datganiad, fel y soniasoch yn gynharach. 382 00:17:40,440 --> 00:17:42,580 Mae'r swyddogaeth sy'n dweud helo. 383 00:17:42,580 --> 00:17:45,870 Mae'r braces cyrliog, ar llinell pedwar a chwech llinell, 384 00:17:45,870 --> 00:17:49,290 yn ôl pob tebyg fath o amlen y llinell i gysylltu iddo 385 00:17:49,290 --> 00:17:50,890 â hanfod fy rhaglen. 386 00:17:50,890 --> 00:17:54,890 Felly yn wir, mae hyn yn brif gair allweddol, dyna i fyny yno ar-lein tri, 387 00:17:54,890 --> 00:17:59,450 gallwch chi feddwl am hynny fel yr hyn sy'n cyfateb o hynny wrth glicio baner werdd, 388 00:17:59,450 --> 00:18:01,080 bloc yn Scratch. 389 00:18:01,080 --> 00:18:05,280 Felly dyna i gyd sydd gennym yma, yw pan clicio baner werdd, print, neu ddweud, 390 00:18:05,280 --> 00:18:06,700 helo byd. 391 00:18:06,700 --> 00:18:11,210 >> Ond gadewch i ni gymryd dyfalu, yn awr, ar ba y llinell gyntaf, yn fwy dirgel, yn. 392 00:18:11,210 --> 00:18:15,100 Sharp yn cynnwys, ongl agored braced, yr wyf yn safonol / O dot h, 393 00:18:15,100 --> 00:18:17,320 cau braced onglog. 394 00:18:17,320 --> 00:18:19,850 Beth yw efallai yn ei wneud, yn enwedig os ydych chi wedi rhaglennu 395 00:18:19,850 --> 00:18:21,390 cyn mewn rhyw iaith arall. 396 00:18:21,390 --> 00:18:21,890 Yeah? 397 00:18:21,890 --> 00:18:22,765 >> GYNULLEIDFA: [Anghlywadwy] 398 00:18:22,765 --> 00:18:25,095 399 00:18:25,095 --> 00:18:25,970 DAVID J. Malan: Yeah. 400 00:18:25,970 --> 00:18:26,470 Yn union. 401 00:18:26,470 --> 00:18:29,455 Felly, mae hyn yn rhoi mynediad i chi i llyfrgell, fel petai, o swyddogaethau. 402 00:18:29,455 --> 00:18:31,830 A llyfrgell o swyddogaethau yn swyddogaethau y mae rhywun arall 403 00:18:31,830 --> 00:18:34,406 Ysgrifennodd, naill ai yn ddiweddar neu bell yn ôl, er mwyn i chi 404 00:18:34,406 --> 00:18:35,780 Nid oes yn rhaid i ail-greu'r olwyn. 405 00:18:35,780 --> 00:18:39,020 Er enghraifft, nid ydym yn ei wneud rhaid ei wybod, yn 2015, 406 00:18:39,020 --> 00:18:42,280 sut i ysgrifennu cod sy'n rhoi'r cymeriad ar fy sgrin. 407 00:18:42,280 --> 00:18:44,820 Mae rhywun arall wedi cyfrifedig bod allan gyda'r swyddogaeth printf 408 00:18:44,820 --> 00:18:47,280 fel y gallaf ddidoli o haniaethol i ffwrdd o hynny, neu haen 409 00:18:47,280 --> 00:18:49,350 ar ben ei cod, ac yn awr yn unig yn cymryd 410 00:18:49,350 --> 00:18:52,760 yn ganiataol bod unrhyw raglen i mi ysgrifennu Gall argraffu rhywbeth i'r sgrin. 411 00:18:52,760 --> 00:18:58,150 Felly, mae hyn llinell gyntaf yno yng ngham un cynnwys y ffeil pennawd hyn a elwir yn 412 00:18:58,150 --> 00:18:59,980 ar gyfer y llyfrgell safonol. 413 00:18:59,980 --> 00:19:02,630 Felly gweld, yr iaith mewn yr ydym yn gweithio nawr 414 00:19:02,630 --> 00:19:05,010 Roedd gan lyfrgell safonol gyda llawer o swyddogaethau. 415 00:19:05,010 --> 00:19:07,240 Printf yn un ohonynt, a bod llinell gyntaf cod 416 00:19:07,240 --> 00:19:10,040 yn golygu rhoi mynediad i mi swyddogaethau hynny, er mwyn i mi 417 00:19:10,040 --> 00:19:12,300 Nid oes yn rhaid i ail-ddyfeisio'r olwyn honno. 418 00:19:12,300 --> 00:19:15,940 >> Nawr, gadewch i ni fynd at y ffenestr isaf a gwneud yn union yr hyn a wnaeth i mi o'r blaen. 419 00:19:15,940 --> 00:19:18,520 Mae hyn o bryd yn ôl, pan oeddwn yn gwibio drwy'r cod, 420 00:19:18,520 --> 00:19:24,540 ei deipio allan am y tro cyntaf, Yr wyf yn teipio yn gyflym iawn, yn gwneud helo. 421 00:19:24,540 --> 00:19:28,250 Beth oedd hynny i gyd fyddai chi ddyfalu? 422 00:19:28,250 --> 00:19:29,150 Beth oedd yr wyf yn ei wneud? 423 00:19:29,150 --> 00:19:29,649 Yeah? 424 00:19:29,649 --> 00:19:31,810 425 00:19:31,810 --> 00:19:32,310 Peidiwch byth â meddwl. 426 00:19:32,310 --> 00:19:32,970 Mae'n iawn. 427 00:19:32,970 --> 00:19:33,492 Yeah. 428 00:19:33,492 --> 00:19:34,450 GYNULLEIDFA: Llunio ef. 429 00:19:34,450 --> 00:19:34,700 DAVID J. Malan: Yeah. 430 00:19:34,700 --> 00:19:35,770 Cafodd ei unig gasglu iddo. 431 00:19:35,770 --> 00:19:36,270 Iawn? 432 00:19:36,270 --> 00:19:39,280 Hyd yn oed os yw hyn yn gwbl anghyfarwydd i chi, mae'n eithaf tebyg i Saesneg. 433 00:19:39,280 --> 00:19:41,155 Nid yw'n sicr sero a rhai, felly yr wyf yn dal 434 00:19:41,155 --> 00:19:44,220 Mae angen i redeg drwy'r hyn a elwir yn rhaglen, casglwr, sy'n mynd 435 00:19:44,220 --> 00:19:46,060 i fynd ag ef fel mewnbwn ac yn cynhyrchu allbwn. 436 00:19:46,060 --> 00:19:48,270 Ac o leiaf, am y tro, yn amgylchedd Linux hwn, 437 00:19:48,270 --> 00:19:51,030 ond nid yw hyn yn anhepgor, mae hyn yn unig lle byddwn yn dechrau, 438 00:19:51,030 --> 00:19:53,960 rydych yn gyffredinol yn rhyngweithio â systemau cyfrifiadurol fel hyn 439 00:19:53,960 --> 00:19:55,770 gan y llinell gorchymyn fel y'u gelwir. 440 00:19:55,770 --> 00:19:57,790 Felly, gyda amrantu prydlon ac eich bysellfwrdd, 441 00:19:57,790 --> 00:20:01,630 ac nid yn gymaint ar eich llygoden, ac nid cymaint o ffenestri a eiconau a bwydlenni, 442 00:20:01,630 --> 00:20:02,980 yn hytrach popeth yn testunol. 443 00:20:02,980 --> 00:20:06,180 A hyd yn oed er bod hyn yn teimlo, ar y dechrau yr olwg, efallai, fel yn gam yn ôl, 444 00:20:06,180 --> 00:20:08,437 mewn gwirionedd mae'n llawer mwy ffordd bwerus a mynegiannol 445 00:20:08,437 --> 00:20:10,270 o reoli cyfrifiadur yn enwedig wrth i chi, 446 00:20:10,270 --> 00:20:12,950 chi eich hun, dod yn fwy gyfforddus o lai. 447 00:20:12,950 --> 00:20:16,790 Mae'n mynd i ganiatáu i chi wneud llawer mwy o bethau na dim ond yr hyn Microsoft 448 00:20:16,790 --> 00:20:20,390 neu Apple yn eich galluogi i wneud gyda eu system weithredu graffigol. 449 00:20:20,390 --> 00:20:23,270 >> Felly, pan fyddaf yn taro Mewnbynnu, yn awr, dim byd yn digwydd y tro hwn 450 00:20:23,270 --> 00:20:25,960 oherwydd mae'n debyg y helo rhaglen yn gyfoes. 451 00:20:25,960 --> 00:20:28,250 A beth oedd y gorchymyn Yr wyf yn rhedeg ar ôl hynny? 452 00:20:28,250 --> 00:20:32,370 Dot slaes helo, ac helo byd. 453 00:20:32,370 --> 00:20:34,350 Nawr, gadewch i gymryd cam yn ôl am ychydig funudau'n. 454 00:20:34,350 --> 00:20:39,510 Mae'n ymddangos bod yn gwneud helo yn unig yw ffordd syml o lunio rhaglen. 455 00:20:39,510 --> 00:20:41,670 Gadewch i jyst yn cyflwyno un darn o jargon, 456 00:20:41,670 --> 00:20:43,470 ond wedyn symud i ffwrdd oddi wrthi, gan nad yw'n 457 00:20:43,470 --> 00:20:46,640 bob un sy'n ddiddorol ar gyfer dibenion heddiw. 458 00:20:46,640 --> 00:20:51,000 Mae'r compiler rydyn ni'n mynd i ddechrau defnyddio gelwir chlang, ar gyfer yr iaith C. 459 00:20:51,000 --> 00:20:54,280 Ac mae hyn yn rhaglen sy'n cael ei redeg yn unig fel y gwnaethom yn y llinell orchymyn yno. 460 00:20:54,280 --> 00:20:56,580 Ac felly os ydw i eisiau yn llunio rhaglen yr wyf yn 461 00:20:56,580 --> 00:21:00,790 wedi ysgrifennu mewn ffeil o'r enw helo dot c, yr wyf yn llythrennol yn jyst deipio helo chlang c 462 00:21:00,790 --> 00:21:02,100 mynd i mewn. 463 00:21:02,100 --> 00:21:04,880 >> Y peth rhyfedd yw, am resymau hanesyddol, 464 00:21:04,880 --> 00:21:07,750 os nad wyf yn pennu'r enwi y rhaglen 465 00:21:07,750 --> 00:21:11,690 fy mod am allbwn, os nad wyf yn ei wneud nodi enw ffeil ar gyfer pob sero rhai 466 00:21:11,690 --> 00:21:14,990 a rhai, yn rhyfedd iawn flynyddoedd confensiwn ei fabwysiadu yn ôl 467 00:21:14,990 --> 00:21:17,390 lle mae'n teimlo fath o Ateb da ar y pryd, 468 00:21:17,390 --> 00:21:21,650 yn dda gadewch i jyst fympwyol ffonio'r rhaglen gyntaf yn llunio dot allan. 469 00:21:21,650 --> 00:21:22,900 A dod yn gyntaf yn yr wyddor. 470 00:21:22,900 --> 00:21:23,920 Out, mae'n yr allbwn. 471 00:21:23,920 --> 00:21:26,210 Felly, byddwn yn galw'r rhaglen at ball dot allan. 472 00:21:26,210 --> 00:21:29,550 Ac mae hynny'n iawn oherwydd os wyf eisiau rhedeg y rhaglen yn y testun yma yn seiliedig 473 00:21:29,550 --> 00:21:33,590 amgylchedd, Fi jyst deipio dot slaes dot allan mynd i mewn. 474 00:21:33,590 --> 00:21:35,250 A byddai'n rhedeg yn union fel o'r blaen. 475 00:21:35,250 --> 00:21:36,880 Felly, gadewch i ni weld bod go gyflym. 476 00:21:36,880 --> 00:21:40,370 >> Felly, os byddaf yn mynd yn ôl at fy cod ffynhonnell yn CS50 IDE, 477 00:21:40,370 --> 00:21:47,860 ac yr wyf yn hytrach yn gwneud hyn, chlang helo cot c mynd i mewn, rhybudd oes unrhyw beth yn digwydd, 478 00:21:47,860 --> 00:21:49,790 ond mae bron bob amser yn amgylchedd Linux hwn, 479 00:21:49,790 --> 00:21:53,310 pan dim byd drwg yn digwydd wedyn, bod yn golygu rhywbeth da wedi digwydd mewn gwirionedd. 480 00:21:53,310 --> 00:21:56,270 Os nad ydych yn gweld gwall neges, pob yn ôl pob tebyg yn dda. 481 00:21:56,270 --> 00:22:01,930 Ac yn wir, os wyf yn awr yn gwneud dot slaes dot allan mynd i mewn, yr wyf wedi rhedeg fy un rhaglen. 482 00:22:01,930 --> 00:22:04,610 Rwy'n dal i gael y rhaglen helo o cynharach oherwydd yn wir, 'i' 483 00:22:04,610 --> 00:22:07,430 mynd i fod mor llawer brafiach yn unig teipiwch gwneud yn hytrach na cofio 484 00:22:07,430 --> 00:22:10,240 incantations hyn o gorchmynion, ond gadewch i ni weld sut yr ydym 485 00:22:10,240 --> 00:22:12,890 Gallai wella ar hyn, serch hynny. 486 00:22:12,890 --> 00:22:15,340 >> Felly, mae hyn yn y gorchymyn i lunio'r cod. 487 00:22:15,340 --> 00:22:19,100 Mae hyn yn y gorchymyn i redeg y cod luniwyd wedi hynny. 488 00:22:19,100 --> 00:22:20,546 Sut y gallaf nodi enw ffeil? 489 00:22:20,546 --> 00:22:22,670 Wel gadewch i 'jyst yn cyflwyno un yn fwy darn o jargon. 490 00:22:22,670 --> 00:22:24,461 Pan fyddwch chi yn hyn amgylchedd seiliedig ar destun, 491 00:22:24,461 --> 00:22:27,400 ydych yn mynd i eisiau i bennu pethau a elwir dadleuon llinell orchymyn. 492 00:22:27,400 --> 00:22:31,380 Sydd ychydig yn ffordd ffansi o ddweud, geiriau eraill wrth yr anogwr sy'n 493 00:22:31,380 --> 00:22:33,860 tweak ymddygiad beth bynnag rhaglen ydych yn rhedeg. 494 00:22:33,860 --> 00:22:37,320 Felly, yn benodol y rhaglen dwi'n rhedeg, trwy deipio enw'r chlang, 495 00:22:37,320 --> 00:22:38,504 yw'r rhaglen o'r enw chlang. 496 00:22:38,504 --> 00:22:40,920 Felly dyma neu'r hen ysgol sy'n cyfateb i ddwbl-glicio 497 00:22:40,920 --> 00:22:42,860 ar Microsoft Word neu icon rhywfaint rhaglen. 498 00:22:42,860 --> 00:22:46,360 Im 'yn lle hynny jyst yn teipio ei enw, ond yn y fersiwn hon o'r gorchymyn, 499 00:22:46,360 --> 00:22:51,334 Rwyf wedyn yn cael dash o le helo gofod helo dot c. 500 00:22:51,334 --> 00:22:53,500 Felly hyd yn oed os ydych erioed wedi chwarae yn y byd hwn o'r blaen, 501 00:22:53,500 --> 00:22:58,160 dim ond yn cymryd dyfalu beth mae dash o hello ei wneud? 502 00:22:58,160 --> 00:23:00,620 Neu beth mae'n ei ddweud chlang ei wneud? 503 00:23:00,620 --> 00:23:01,386 Yeah. 504 00:23:01,386 --> 00:23:02,455 >> GYNULLEIDFA: [Anghlywadwy] 505 00:23:02,455 --> 00:23:03,330 DAVID J. Malan: Yeah. 506 00:23:03,330 --> 00:23:08,614 'I jyst yn gosod allbwn y ffeil i fod yn helo yn lle y sillier dot allan. 507 00:23:08,614 --> 00:23:09,780 Ac, yn wir, gadewch i ni geisio hyn. 508 00:23:09,780 --> 00:23:14,250 Felly os wyf yn awr yn ei wneud, yn gyntaf gadewch i ni wneud hyn, r m helo. 509 00:23:14,250 --> 00:23:15,590 Dyna gael gwared. 510 00:23:15,590 --> 00:23:18,450 Ac mae'n mynd i ddweud dynnu ffeil rheolaidd helo, a oedd yn 511 00:23:18,450 --> 00:23:22,210 yn ddirgel yn ddiangen, ond 'i jyst fodd ydych chi eisiau dileu y ffeil, 512 00:23:22,210 --> 00:23:23,230 ac yr wyf yn teipio y am ie. 513 00:23:23,230 --> 00:23:27,340 Ac yn sylwi, os oeddech yn glancing ar dop chwith, oedd yn diflannu oddi yno. 514 00:23:27,340 --> 00:23:32,180 Gadewch i mi ei wneud yn awr dash chlang o, a Rydw i'n mynd i fynd yn ei flaen ac yn gwneud helo, 515 00:23:32,180 --> 00:23:34,890 ym mhob capiau, helo dot c. 516 00:23:34,890 --> 00:23:37,775 Yn awr, os wyf yn gwneud dot slaes helo, beth fyddech chi'n ei ddisgwyl? 517 00:23:37,775 --> 00:23:41,240 518 00:23:41,240 --> 00:23:42,430 >> Efallai ei fod yn achos sensitif. 519 00:23:42,430 --> 00:23:43,070 Efallai nid yw'n. 520 00:23:43,070 --> 00:23:44,030 Gadewch i ni weld. 521 00:23:44,030 --> 00:23:45,230 Dim ffeil na chyfeiriadur o'r fath. 522 00:23:45,230 --> 00:23:47,438 A gallwn fath o twyllo gan dim ond edrych ar dop chwith. 523 00:23:47,438 --> 00:23:49,630 Yr hyn a wnaeth i mi yn amlwg achub y rhaglen fel? 524 00:23:49,630 --> 00:23:51,070 Mae pob capiau helo. 525 00:23:51,070 --> 00:23:53,020 Felly yn wir, dyna mynd i wneud gwahaniaeth. 526 00:23:53,020 --> 00:23:54,540 Felly nawr helo byd yn ôl. 527 00:23:54,540 --> 00:23:56,969 Yn awr mae hyn i gyd yn iawn ac yn dda, a holl feddwl-numbing iawn, 528 00:23:56,969 --> 00:23:59,760 i fath o yn boddi yn y manylion, ond yn eu deall 529 00:23:59,760 --> 00:24:00,500 yn dda. 530 00:24:00,500 --> 00:24:02,675 >> Teipio allan rhain yn gynyddol incantations hir 531 00:24:02,675 --> 00:24:05,980 Nid yn mynd i fod yn arbennig hwyl, felly mae pobl yn y byd 532 00:24:05,980 --> 00:24:08,260 dyfeisio rhaglen arall, rai blynyddoedd yn ôl, a elwir yn 533 00:24:08,260 --> 00:24:12,190 gwneud, sy'n eithaf syml yn eich galluogi i deipio gwneuthuriad, 534 00:24:12,190 --> 00:24:14,530 enw'r rhaglen ydych am eu gwneud, ac yn gwneud 535 00:24:14,530 --> 00:24:18,580 yn smart yn y bydd yn edrych yn y plygell cyfredol, aka cyfeiriadur, 536 00:24:18,580 --> 00:24:21,440 ac os oes gennych ffeil Gelwir helo dot c, 537 00:24:21,440 --> 00:24:25,800 hynny yw y ffeil, bydd yn llunio i chi i mewn i raglen o'r enw helo. 538 00:24:25,800 --> 00:24:29,950 Felly mae'n ffordd llawer symlach o gwneud y gorchmynion mwy cryptic 539 00:24:29,950 --> 00:24:30,800 bod y gwnaethom yn gynharach. 540 00:24:30,800 --> 00:24:34,080 Ac rydym wedi rhag-gyflunio CS50 IDE i wybod 541 00:24:34,080 --> 00:24:38,560 y dylai wneud dash o a nifer o baneri eraill, neu ddadleuon llinell orchymyn, 542 00:24:38,560 --> 00:24:40,670 y byddwn yn gweld cyn bo hir. 543 00:24:40,670 --> 00:24:43,700 >> Ond gadewch i ni yn awr yn ei wneud rhywbeth mwy diddorol. 544 00:24:43,700 --> 00:24:46,950 Dim ond teipio allan y byd helo i gyd nid yw'r amser yw'r cyfan sydd gymhellol. 545 00:24:46,950 --> 00:24:52,280 Felly gadewch i mi fynd yn ei flaen a newid y rhaglen hon ac yn dweud, helo David. 546 00:24:52,280 --> 00:24:54,120 Nawr rydw i'n mynd i fynd i lawr fan hyn. 547 00:24:54,120 --> 00:24:57,360 Rydw i'n mynd i fynd yn ei flaen ac yn gwneud helo. 548 00:24:57,360 --> 00:25:00,652 Ac eto yn awr yr ydych yn gweld gwneud yn dangos i chi yr hiraf 549 00:25:00,652 --> 00:25:03,360 dilyniant o orchmynion ei bod yn wneud oherwydd ein bod wedi rhag-gyflunio 550 00:25:03,360 --> 00:25:05,200 pethau felly, ond yr ydym yn Mae angen â phoeni am nawr 551 00:25:05,200 --> 00:25:10,735 beth mae'n ei wneud heblaw ei fod yn llunio dot slaes helo, helo byd. 552 00:25:10,735 --> 00:25:14,969 553 00:25:14,969 --> 00:25:15,510 Beth sydd o'i le? 554 00:25:15,510 --> 00:25:16,177 Yeah. 555 00:25:16,177 --> 00:25:17,370 >> GYNULLEIDFA: [Anghlywadwy] 556 00:25:17,370 --> 00:25:18,203 >> DAVID J. Malan: Ydw. 557 00:25:18,203 --> 00:25:19,600 Felly, camgymeriad noobie. 558 00:25:19,600 --> 00:25:22,394 Sylwaf hyn yn super gynnil, ond mae'r seren yma, yn y tab, 559 00:25:22,394 --> 00:25:25,060 unig yn golygu nad ydych wedi achub ei, a phorwyr a rhaglenni eraill 560 00:25:25,060 --> 00:25:25,930 yn gwneud hyn weithiau. 561 00:25:25,930 --> 00:25:27,939 Felly rheoli s neu orchymyn Dylai s ei chadw. 562 00:25:27,939 --> 00:25:29,730 Nawr, gadewch i mi fynd yn ei flaen ac ail-redeg y rhaglen. 563 00:25:29,730 --> 00:25:33,360 564 00:25:33,360 --> 00:25:34,260 Recompiled. 565 00:25:34,260 --> 00:25:36,050 Iawn, felly mae'n broses aml-gam. 566 00:25:36,050 --> 00:25:39,400 Dim un ohonynt yn arbennig o gymhleth, ond unrhyw tro y byddwn yn newid y ffeil, 567 00:25:39,400 --> 00:25:43,450 mae angen i ni newid y deillio zeros a rhai, a dot slaes helo. 568 00:25:43,450 --> 00:25:43,950 Wow. 569 00:25:43,950 --> 00:25:46,450 Felly mae hyn yn underwhelming iawn ein bod dim ond argraffu'r hwn. 570 00:25:46,450 --> 00:25:48,360 Gadewch i ni wneud pethau yn ychydig yn fwy deinamig, yn awr. 571 00:25:48,360 --> 00:25:52,280 >> Wel mae'n troi allan, yn hoffi Scratch, C yn cefnogi newidynnau. 572 00:25:52,280 --> 00:25:54,790 Ac mae'n troi allan os ydych am i gael newidyn sy'n siopau, 573 00:25:54,790 --> 00:25:57,300 nid yw nifer tebyg i ni fel arfer yn gwneud gyda Scratch, 574 00:25:57,300 --> 00:26:01,300 ond fel gair, neu ymadrodd, neu enw, byddwch yn 575 00:26:01,300 --> 00:26:04,837 Gall pennu newidyn i fod o fath llinyn. 576 00:26:04,837 --> 00:26:06,670 Felly, byddwn yn gweld mwy o hyn mewn dim ond hyn o bryd, 577 00:26:06,670 --> 00:26:09,090 ond mae'n troi allan y C, a llawer o ieithoedd yn ei hoffi, 578 00:26:09,090 --> 00:26:11,240 cael mathau penodol iawn o newidynnau. 579 00:26:11,240 --> 00:26:13,810 Dyw hi ddim yn union fel algebra, lle byddwch yn cael x, yn y, a z 580 00:26:13,810 --> 00:26:16,940 a'r rhai yn unig bob amser rhifau, mewn iaith raglennu 581 00:26:16,940 --> 00:26:20,030 gallwch storio rhifau, gallwch storio cymeriadau unigol, 582 00:26:20,030 --> 00:26:24,619 Gallai ydych yn storio gair cyfan, gallech storio delweddau cyfan, ffeiliau sain cyfan, 583 00:26:24,619 --> 00:26:25,160 ac yn y blaen. 584 00:26:25,160 --> 00:26:28,362 Felly, mae angen i ni nodi pa y math o ein newidyn yw. 585 00:26:28,362 --> 00:26:31,570 A thrwy gonfensiwn Rydw i'n mynd i alw fy s amrywiol dim ond oherwydd ei fod yn gryno, 586 00:26:31,570 --> 00:26:33,510 a s yn sefyll am linyn. 587 00:26:33,510 --> 00:26:36,400 >> Ac yna dwi'n mynd i storio tu mewn newidyn hwn, 588 00:26:36,400 --> 00:26:39,570 yn union fel gyda Scratch pan fyddaf yn defnyddio'r bloc a osodwyd, 589 00:26:39,570 --> 00:26:41,950 Rydw i'n mynd i ddefnyddio'r gweithredwr aseiniad yn C, 590 00:26:41,950 --> 00:26:45,290 sydd yn ddigon braf yw'r gyfartal lofnodi, ond mae'r hafalnod yn gwneud hyn. 591 00:26:45,290 --> 00:26:53,220 Mae'n symud rhywbeth o'r dde i mewn ochr chwith y mynegiant. 592 00:26:53,220 --> 00:26:57,170 Felly, yr hyn yr wyf wedi ei wneud, i fod yn glir yn llinell pump, yn cael ei Rydw i wedi datgan amrywiol. 593 00:26:57,170 --> 00:27:01,284 Rwyf wedi dweud wrth y cyfrifiadur, yn rhoi i mi cof ar gyfer newidyn, ffoniwch mae'n s, 594 00:27:01,284 --> 00:27:03,950 ac yn gwybod o flaen llaw fy mod i'n mynd i gael ei rhoi llinyn ynddo. 595 00:27:03,950 --> 00:27:05,950 A llinyn yn unig yw dilyniant o gymeriadau. 596 00:27:05,950 --> 00:27:09,190 Mae'n air, neu ymadrodd, neu baragraff, ond mae'n dilyniant o gymeriadau. 597 00:27:09,190 --> 00:27:10,610 Dyw hi ddim yn rhifau. 598 00:27:10,610 --> 00:27:13,800 Pa llinyn ydw i'n mynd i fod yn rhoi i mewn i hynny newidyn? 599 00:27:13,800 --> 00:27:16,185 Wel, mae'n debyg dyfynnu unquote, "Hannah". 600 00:27:16,185 --> 00:27:17,810 Nawr yn sylwi ar y patrwm sy'n dod i'r amlwg. 601 00:27:17,810 --> 00:27:19,260 Mae 'na mynegiant llaw chwith. 602 00:27:19,260 --> 00:27:21,810 Mae 'na mynegiant llaw dde, gwahanu gan yr arwydd cyfartal. 603 00:27:21,810 --> 00:27:24,390 A dim ond yn cymryd dyfalu, os anghyfarwydd er hynny, 604 00:27:24,390 --> 00:27:27,430 â'r hyn y mae'r hanner colon yn ei wneud. 605 00:27:27,430 --> 00:27:28,865 Beth sy'n ei wneud yn ôl pob tebyg i ni? 606 00:27:28,865 --> 00:27:29,365 Yeah? 607 00:27:29,365 --> 00:27:29,840 >> GYNULLEIDFA: [Anghlywadwy] 608 00:27:29,840 --> 00:27:29,980 >> DAVID J. Malan: Yeah. 609 00:27:29,980 --> 00:27:31,170 Mae'n jyst yn terfynu llinell. 610 00:27:31,170 --> 00:27:31,669 Iawn? 611 00:27:31,669 --> 00:27:34,260 Mae'r cyfrifiaduron eisiau bod yn blwmp ac yn blaen Dywedodd, yn llythrennol, beth i'w wneud. 612 00:27:34,260 --> 00:27:36,343 Fel y menyn pysgnau a jeli enghraifft brechdan, 613 00:27:36,343 --> 00:27:39,360 os nad ydych yn nodi yn union beth rydych yn bwriadu, 614 00:27:39,360 --> 00:27:42,190 gallai gael ei adael i farn neu gamgymeriad. 615 00:27:42,190 --> 00:27:44,890 Mae'r hanner colon yn golygu, dyna ni am y gorchymyn yma. 616 00:27:44,890 --> 00:27:48,310 Mae'n cael ei super fanwl gywir, ac mae'n yn beth hawdd iawn i adael i ffwrdd. 617 00:27:48,310 --> 00:27:52,240 Felly, erbyn hyn nid y rhaglen hon yn ymddangos i fod yn ymddwyn yn wahanol nes i mi 618 00:27:52,240 --> 00:27:53,500 wneud yn fwy deinamig. 619 00:27:53,500 --> 00:27:57,107 Felly yn hytrach na caled gallai fy hun enw, gadewch i mi rhoi gwerth dalfan. 620 00:27:57,107 --> 00:28:00,190 Ac mae'n ymddangos bod, ac yr wyf yn gwybod hyn rhag bod wedi darllen y dogfennau, 621 00:28:00,190 --> 00:28:04,080 a defnyddiodd y swyddogaeth ar gyfer y blynyddoedd, bod printf ei chynllunio i fod yn ddeinamig. 622 00:28:04,080 --> 00:28:07,510 Nid oes rhaid i chi ei wybod o flaen llaw pa eiriau rydych am ei roi ynddo. 623 00:28:07,510 --> 00:28:11,290 Gall Yn hytrach, dylech gael dalfan, fel s y cant, a oedd yn 624 00:28:11,290 --> 00:28:15,500 yn mynd i ddweud wrth y cyfrifiadur, rhowch llinyn yma. 625 00:28:15,500 --> 00:28:17,740 >> Pa llinyn ydym ni eisiau rhoi yno? 626 00:28:17,740 --> 00:28:22,430 Will ymddangos bod rhwng y cromfachau, sy'n cofio, darnodi 627 00:28:22,430 --> 00:28:28,020 mewnbwn i swyddogaeth, os oes gennych atalnod restr o bethau gwahanu yma, 628 00:28:28,020 --> 00:28:31,790 mewn gwirionedd rydym yn pasio yn lluosog mewnbynnau i swyddogaeth. 629 00:28:31,790 --> 00:28:33,901 Felly, dim ond yn hoffi rhywfaint o Scratch blociau, nid ydych efallai 630 00:28:33,901 --> 00:28:36,150 wedi chwarae gyda nhw am eich prosiectau eto, neu o gwbl, 631 00:28:36,150 --> 00:28:38,250 rhai blociau Scratch wedi dau fewnbwn. 632 00:28:38,250 --> 00:28:41,220 Dau flwch gwyn gallwch teipio rhifau neu eiriau i mewn. 633 00:28:41,220 --> 00:28:45,210 Felly, er mwyn mae C yn swyddogaethau tebyg printf sy'n gallu cymryd dwy mewnbynnau. 634 00:28:45,210 --> 00:28:48,050 Ac eto, atalnod hon yn eu gwahanu. 635 00:28:48,050 --> 00:28:51,070 Felly, yn y Saesneg, unwaith eto, hyd yn oed os nad ydych erioed wedi ei raglennu blaen, 636 00:28:51,070 --> 00:28:55,320 gan fod printf rhesymeg yn swyddogaeth, cymryd dau mewnbynnau, un ohonynt 637 00:28:55,320 --> 00:28:58,810 yn placeholder, beth fyddech chi'n gobeithio printf yn mynd i'w wneud gyda mewnbwn hwn? 638 00:28:58,810 --> 00:29:01,470 639 00:29:01,470 --> 00:29:03,220 Mae'n mynd i ddweud helo Hannah, gobeithio. 640 00:29:03,220 --> 00:29:05,274 Felly, i wneud hyn mae angen i ni achub. 641 00:29:05,274 --> 00:29:06,190 Rydw i'n mynd i chwyddo allan. 642 00:29:06,190 --> 00:29:10,701 Rydw i'n mynd i fynd yn ôl i lawr fan hyn ac yn dweud, yn gwneud helo mynd i mewn. 643 00:29:10,701 --> 00:29:11,200 Oh. 644 00:29:11,200 --> 00:29:14,830 Rhywbeth o'i le, ac mewn gwirionedd mae hyn yn eithaf llethol. 645 00:29:14,830 --> 00:29:18,400 Mae gen i chwech o linellau o god ac fel 12 llinellau o wallau. 646 00:29:18,400 --> 00:29:22,120 Felly, yn edrych ymlaen at hyn. 647 00:29:22,120 --> 00:29:24,260 Felly beth sy'n mynd ymlaen fan hyn? 648 00:29:24,260 --> 00:29:27,370 Felly, y rheol orau yma, yn enwedig pan ydych yn cychwyn allan, 649 00:29:27,370 --> 00:29:29,370 peidiwch â chael eich llygad-dynnu gan y pethau ar y gwaelod. 650 00:29:29,370 --> 00:29:31,220 A dweud y gwir, yr wyf yn fwriadol iawn jyst sgrolio i fyny 651 00:29:31,220 --> 00:29:33,930 oherwydd yn aml iawn, mae cyfrifiadur yn nid yw pob llachar hynny o ddyfais. 652 00:29:33,930 --> 00:29:35,054 Mae'n mynd i drysu. 653 00:29:35,054 --> 00:29:37,220 Os yw'n gweld un peth y nid yw'n deall, 654 00:29:37,220 --> 00:29:40,030 gallai fod camgymeriad eraill linellau o god yn anghywir, 655 00:29:40,030 --> 00:29:41,649 hyd yn oed er eu bod yn berffaith iawn. 656 00:29:41,649 --> 00:29:43,940 Felly rydych chi bob amser yn awyddus i weithio brig i lawr drwy'r camgymeriadau. 657 00:29:43,940 --> 00:29:47,850 Ac mae hyn yn rhaid cyfaddef super arcane ar hyn o bryd. 658 00:29:47,850 --> 00:29:50,830 >> Gwall, defnyddio heb eu datgan llinyn dynodwr. 659 00:29:50,830 --> 00:29:52,130 Oeddech wyf yn golygu safonol mewn? 660 00:29:52,130 --> 00:29:53,720 Na, yr wyf yn golygu llinyn. 661 00:29:53,720 --> 00:29:55,830 Ac mae'n pwyntio at, efallai ei fod yn typo. 662 00:29:55,830 --> 00:30:00,570 Fath o fel, sillafu-gwirio mewn ffordd geeky iawn, ond y rheswm yma, 663 00:30:00,570 --> 00:30:02,840 a byddwch yn gwybod hyn dim ond drwy ymarfer, yn 664 00:30:02,840 --> 00:30:06,390 ei fod yn troi allan y llinyn nad yw'n bodoli yn C. Yn wir, C 665 00:30:06,390 --> 00:30:08,820 yn iaith arbennig o hen, ac mae'n lefel isel iawn, 666 00:30:08,820 --> 00:30:11,361 ac nid yw'n gwneud llawer o nodweddion y gallech fod wedi tyfu i fyny 667 00:30:11,361 --> 00:30:14,620 gyda os oes gennych, mewn gwirionedd, rhaglennu yn Java, gan fod rhai ohonoch wedi, 668 00:30:14,620 --> 00:30:16,980 ond gallwch ddysgu ei bethau newydd. 669 00:30:16,980 --> 00:30:20,900 Ac yn wir, yr ydym wedi gwneud CS50 hwn, er bod erbyn diwedd y semester, 670 00:30:20,900 --> 00:30:23,512 pob un o'r rhain olwynion hyfforddiant Bydd wedi cael eu cymryd i ffwrdd, 671 00:30:23,512 --> 00:30:25,220 yr hyn rydym yn ei wneud yn y rhain ychydig wythnosau cyntaf 672 00:30:25,220 --> 00:30:29,830 I ddechrau mae gennym hefyd eich bod yn cynnwys CS50 dot h. 673 00:30:29,830 --> 00:30:31,230 Pa un yw ffeil header. 674 00:30:31,230 --> 00:30:32,440 Mwy am hynny yn y dyfodol. 675 00:30:32,440 --> 00:30:36,430 >> Mae'n ffeil sy'n cynnwys swyddogaethau ein bod wedi ysgrifennu i chi. 676 00:30:36,430 --> 00:30:39,180 Ac ymhlith y swyddogaethau hynny yn swyddogaethau ar gyfer cael mewnbwn 677 00:30:39,180 --> 00:30:43,520 oddi wrth y defnyddiwr, fel llinynnau, ac rhifau, a rhifau real, a mwy. 678 00:30:43,520 --> 00:30:45,550 Ond mae ganddo hefyd rhai llwybrau byr. 679 00:30:45,550 --> 00:30:48,200 Mae'n diffinio Boolean fel math data. 680 00:30:48,200 --> 00:30:50,340 Nid oes gan C wir neu'n anwir. 681 00:30:50,340 --> 00:30:53,880 Ond gallwn roi y syniad o gwir neu gau ar ffurf llyfrgell hon. 682 00:30:53,880 --> 00:30:57,670 Ac mae'n Nid yw ychwaith yn cael llinyn a adeiladwyd yn nes i ni yn cynnwys y llinell hon. 683 00:30:57,670 --> 00:31:01,090 Felly, y llinell hon o god yn dweud y casglwr, hey, chlang, edrychwch 684 00:31:01,090 --> 00:31:03,570 yn y ffeil hon ar gyfer ei gyfanrwydd criw o cod sy'n CS50 685 00:31:03,570 --> 00:31:06,330 wedi ysgrifennu fel bod unrhyw un sy'n defnyddio y ffeil 686 00:31:06,330 --> 00:31:09,330 Gall gymryd yn ganiataol y Nodweddion maent wedi ychwanegu. 687 00:31:09,330 --> 00:31:11,220 >> Felly nawr gadewch i mi fynd yn ei flaen ac yn glir y sgrîn, 688 00:31:11,220 --> 00:31:14,178 ac os chwilfrydig Im 'jyst yn dweud rheolaeth l bob amser i glirio'r sgrin, 689 00:31:14,178 --> 00:31:15,500 neu gallwch deipio glir. 690 00:31:15,500 --> 00:31:19,220 Im 'jyst yn mynd i fynd yn ei flaen yn awr a Math gwneud helo, a popeth yn iawn. 691 00:31:19,220 --> 00:31:22,550 Still allbwn ddirgel, ond nid yw'n neges wallus. 692 00:31:22,550 --> 00:31:28,300 Nawr, os wyf yn gwneud dot slaes helo, ac fel neilltu, dot slaes yn anghyfarwydd i'r rhan fwyaf. 693 00:31:28,300 --> 00:31:30,430 Mae'n jyst yn golygu, dot modd y cyfeiriadur cyfredol. 694 00:31:30,430 --> 00:31:33,120 Felly, os ydych wedi defnyddio erioed DOS, neu Linux, neu Unix 695 00:31:33,120 --> 00:31:35,410 Efallai eich bod wedi gwneud rhywbeth fel cd dot dot, lle 696 00:31:35,410 --> 00:31:39,220 dot dot yn golygu mynd yn ôl mewn amser, neu fynd yn ôl, neu yn uwch i fyny 697 00:31:39,220 --> 00:31:40,370 yn eich cyfeiriadur. 698 00:31:40,370 --> 00:31:43,090 Dot yn unig yn golygu edrych yn y cyfeiriadur cyfredol. 699 00:31:43,090 --> 00:31:45,670 Rwyf am helo, sydd yn iawn yma. 700 00:31:45,670 --> 00:31:47,750 Ac yn wir, yn awr mae'n dweud helo Hannah. 701 00:31:47,750 --> 00:31:51,120 Ac os byddaf yn newid eto i Maria, ail-grynhoi 702 00:31:51,120 --> 00:31:55,650 byddai'n gwneud helo, dot slaes helo, mae'r rhaglen yn cadw newid. 703 00:31:55,650 --> 00:31:58,060 >> Ond mae hyn yn dal i fod yn rhaglen 'n bert dwp. 704 00:31:58,060 --> 00:32:00,972 Os ydw i eisiau i long y rhaglen hon, neu roi i ffrind, 705 00:32:00,972 --> 00:32:03,430 neu roi i Maria neu Hannah o ran hynny, mae hynny'n iawn. 706 00:32:03,430 --> 00:32:07,300 Gallaf addasu ar gyfer y ddau ohonynt, ond nid yw byth yn mynd i fod yn ddeinamig. 707 00:32:07,300 --> 00:32:10,870 Ni allant ei newid unwaith y caiff ei llunio i lawr i sero a rhai hynny. 708 00:32:10,870 --> 00:32:12,350 Felly yr hyn yr ydym wedi gwneud rhywbeth yn fwy craff? 709 00:32:12,350 --> 00:32:17,100 Beth os, yn hytrach na caled-godio yn y rhaglen enw'r person hwn, 710 00:32:17,100 --> 00:32:20,890 beth os ydym yn unig yn cael y llinyn ar y galw? 711 00:32:20,890 --> 00:32:22,430 >> Felly, mewn geiriau eraill, gadewch i mi wneud hyn. 712 00:32:22,430 --> 00:32:24,030 Rydw i'n mynd i ail-grynhoi rhaglen hon. 713 00:32:24,030 --> 00:32:25,710 A gadewch i mi chwyddo i mewn ar y gwaelod yn awr. 714 00:32:25,710 --> 00:32:29,920 Gwneud helo dot slaes helo. 715 00:32:29,920 --> 00:32:31,710 Yn awr nid oes dim yn digwydd. 716 00:32:31,710 --> 00:32:35,860 A allwn gael gwirfoddolwr cyflym i wneud i rywbeth ddigwydd? 717 00:32:35,860 --> 00:32:36,360 Dewch ar i fyny. 718 00:32:36,360 --> 00:32:37,020 Beth yw eich enw? 719 00:32:37,020 --> 00:32:37,445 >> Pancho: Pancho. 720 00:32:37,445 --> 00:32:38,361 >> DAVID J. Malan: Pacho? 721 00:32:38,361 --> 00:32:39,609 Dewch ar i fyny. 722 00:32:39,609 --> 00:32:42,150 Unwaith y byddwch yn cael i fyny yma, mae hyn yn mynd i fod yn underwhelming iawn, 723 00:32:42,150 --> 00:32:44,060 ond mae'n fwy diddorol na mi deipio. 724 00:32:44,060 --> 00:32:49,007 Os ydych chi am fynd yn ei flaen a theipiwch eich enw, yr wyf yn gwneud y rhaglen hon ar eich cyfer chi. 725 00:32:49,007 --> 00:32:49,840 Teipiwch eich enw. 726 00:32:49,840 --> 00:32:52,380 727 00:32:52,380 --> 00:32:53,900 Enter. 728 00:32:53,900 --> 00:32:54,489 Wonderful. 729 00:32:54,489 --> 00:32:55,780 Mae pob hawl, diolch yn fawr iawn. 730 00:32:55,780 --> 00:32:56,708 >> Pancho: Diolch yn fawr iawn. 731 00:32:56,708 --> 00:32:57,636 >> DAVID J. Malan: Iawn. 732 00:32:57,636 --> 00:32:59,028 >> [Cymeradwyaeth] 733 00:32:59,028 --> 00:33:00,884 734 00:33:00,884 --> 00:33:01,840 >> Yr oedd hynny'n garedig iawn. 735 00:33:01,840 --> 00:33:03,145 Dyma chi Go. 736 00:33:03,145 --> 00:33:03,770 Beth wnaethom ni? 737 00:33:03,770 --> 00:33:05,930 Felly rydym yn olaf, o leiaf, gwneud y rhaglen hon ddeinamig. 738 00:33:05,930 --> 00:33:08,400 Nawr mae'n dal i fod yn sicr gan underwhelming dylunio, 739 00:33:08,400 --> 00:33:11,480 ond yr ydym o'r diwedd yn cael y gallu yn awr i ysgrifennu cod o flaen llaw, yn llawer 740 00:33:11,480 --> 00:33:13,770 fel awduron y printf, ac yna yn ddynamig 741 00:33:13,770 --> 00:33:17,550 yn addasu yn seiliedig ar gyfraniad yr ydym yn rhoi, naill ai gan y rhaglennydd, 742 00:33:17,550 --> 00:33:20,610 neu gan y ddynol sydd mewn gwirionedd ryngweithio gyda'r rhaglen. 743 00:33:20,610 --> 00:33:22,990 Felly gadewch i ni mewn gwirionedd yn awr yn ceisio i wneud ychydig o yn adeiladu eraill 744 00:33:22,990 --> 00:33:26,625 a gweld os na allwn wneud y rhaglenni eu hunain yn fwy soffistigedig. 745 00:33:26,625 --> 00:33:29,250 Felly gadewch i ni fynd yn ei flaen ac yn hytrach na ysgrifennu'r un o'r newydd, 746 00:33:29,250 --> 00:33:31,540 Rydw i'n mynd i fynd i mewn i heddiw cod ffynhonnell, a hyn i gyd 747 00:33:31,540 --> 00:33:34,290 ar gael ar y cwrs wefan, a gallwch llusgo a gollwng ei 748 00:33:34,290 --> 00:33:36,590 i mewn eich amgylchedd eich hun yn dod Dydd Gwener unwaith broblem 749 00:33:36,590 --> 00:33:38,506 set 1 yn rhoi i chi y cyfarwyddiadau, neu fe allech chi 750 00:33:38,506 --> 00:33:41,200 yn ei wneud yn y llinell orchymyn fel yn dda, ond mae mwy i ddod yn p gosod 1. 751 00:33:41,200 --> 00:33:44,940 >> Gadewch i ni weld beth sydd yn y rhaglen hon Gelwir yma, wiber dot c. 752 00:33:44,940 --> 00:33:47,970 Nawr Rwyf eisoes wedi gwneud sylwadau y peth, ond beth sy'n newydd? 753 00:33:47,970 --> 00:33:51,230 Ar yr olwg gyntaf, pa llinell o god yn hollol newydd? 754 00:33:51,230 --> 00:33:53,930 755 00:33:53,930 --> 00:33:56,780 Mae'n debyg nad yn sylfaenol anghyfarwydd yn awr. 756 00:33:56,780 --> 00:33:58,417 >> GYNULLEIDFA: [Anghlywadwy] 757 00:33:58,417 --> 00:34:00,250 DAVID J. Malan: Yeah, felly int x hafal gael n. 758 00:34:00,250 --> 00:34:03,760 Nid ydym erioed wedi gweld unrhyw un o'r hyn o'r blaen, ond mae'n debyg int 759 00:34:03,760 --> 00:34:08,179 y symbol ar gyfer pa fath o amrywiol, [? o?] yn gyfanrif. 760 00:34:08,179 --> 00:34:09,040 Felly int am gyfanrif. 761 00:34:09,040 --> 00:34:11,420 Dim ond ei fod yn bod yn fwy cryno. x yn unig mympwyol. 762 00:34:11,420 --> 00:34:13,920 x ac y a z yn dal 'n bert rhesymol ar gyfer rhifau, 763 00:34:13,920 --> 00:34:16,790 ond yn gyffredinol byddwn yn defnyddio geiriau unwaith ein rhaglenni yn cael mwy cymhleth. 764 00:34:16,790 --> 00:34:18,940 Cael int, wrth gwrs, yn debyg iawn llinyn get, 765 00:34:18,940 --> 00:34:21,629 yn ôl pob tebyg yn mynd i gael yn int gan y defnyddiwr, 766 00:34:21,629 --> 00:34:23,670 ac yna rydym yn mynd i gwneud yr un peth gyda y. 767 00:34:23,670 --> 00:34:27,610 Ac i bob golwg, er bod hyn llinell olaf, 24, yn edrych yn fwy cymhleth, 768 00:34:27,610 --> 00:34:32,679 mae'n mynd i ddweud swm hwn a dyna y peth arall. 769 00:34:32,679 --> 00:34:35,840 >> A rhybudd y cant i yn ôl pob tebyg yn dynodi beth? 770 00:34:35,840 --> 00:34:38,190 Pa ran sydd y cant i bob golwg yn eu gwasanaethu? 771 00:34:38,190 --> 00:34:40,739 772 00:34:40,739 --> 00:34:41,719 'I' jyst bachau. 773 00:34:41,719 --> 00:34:42,219 Iawn? 774 00:34:42,219 --> 00:34:45,149 Canran s oedd llinyn, ff y cant ar gyfer gyfanrif. 775 00:34:45,149 --> 00:34:47,690 Mae mynd i fod cant f i fel y bo'r angen gwerth pwynt, a oedd yn 776 00:34:47,690 --> 00:34:49,273 yn unig yw nifer gyda phwynt degol. 777 00:34:49,273 --> 00:34:50,590 Mewn geiriau eraill, mae nifer go iawn. 778 00:34:50,590 --> 00:34:55,270 Felly gadewch i ni mewn gwirionedd yn crynhoi hyn rhaglen wirioneddol gyflym ac yn gwneud neidr. 779 00:34:55,270 --> 00:34:57,962 Wps. 780 00:34:57,962 --> 00:34:58,670 Cyfle da. 781 00:34:58,670 --> 00:35:02,970 Felly sylwi yma, holl amser fy defnyddiwr enw ar gyfer y cyfrif hwn yn cael ei jharvard. 782 00:35:02,970 --> 00:35:06,620 Yr wyf mewn IDE CS50, aka IDE50. 783 00:35:06,620 --> 00:35:11,030 Ac yn awr mewn glas yma, yn sôn, ond o'r amgylchedd, o lle yr wyf. 784 00:35:11,030 --> 00:35:16,050 Ac yn wir, os wyf yn chwyddo i fyny i ben yma, yn sylwi bod gennyf IDE50 785 00:35:16,050 --> 00:35:19,490 ac yr wyf yn gweld y gair hwn, os ydych yn fath o droi eich pen i'r ochr, lle gwaith. 786 00:35:19,490 --> 00:35:23,890 Yn gryno, mae'r ffaith bod Rwy'n gweld lle gwaith slaes tilde 787 00:35:23,890 --> 00:35:26,910 yn golygu bod yn y testun yma amgylchedd gorchymyn sy'n seiliedig ar, 788 00:35:26,910 --> 00:35:32,300 Rwyf yn y testun sy'n cyfateb i Graffegol hyn ffolder i fyny yma. 789 00:35:32,300 --> 00:35:35,730 Felly, pan fyddaf yn gwneud dot slaes wiber, mae'n dweud na rheol 790 00:35:35,730 --> 00:35:37,372 i wneud y targed stop wiber. 791 00:35:37,372 --> 00:35:39,830 Nid wyf yn gwybod beth y mae hynny'n ei olygu, ond ei fod yn ddrwg am ryw reswm. 792 00:35:39,830 --> 00:35:43,310 Dim ffeil neu cyfeiriadur o'r fath yn oed yn fwy amlwg. 793 00:35:43,310 --> 00:35:45,670 Ble mae wedyn? 794 00:35:45,670 --> 00:35:47,820 Yn seiliedig ar ble wyf yn clicio i agor y ffeil gynharach. 795 00:35:47,820 --> 00:35:49,442 Lle y gallai fod? 796 00:35:49,442 --> 00:35:52,050 >> Mae'n fwy na thebyg yn ffynhonnell un w, ar gyfer dydd Mercher, 797 00:35:52,050 --> 00:35:53,960 a gallaf weld ei fod, yn wir, os wyf yn agor bod hyd. 798 00:35:53,960 --> 00:35:57,220 Mae wiber dot c, ond mewn amgylchedd hwn seiliedig ar destun, 799 00:35:57,220 --> 00:35:59,380 eto, rhaid i mi fod super benodol. 800 00:35:59,380 --> 00:36:03,950 Os wyf am newid cyfeirlyfrau i mewn ffynhonnell un Dydd Mercher, mae angen i mi deipio, 801 00:36:03,950 --> 00:36:07,210 cd ffynhonnell gofod un Dydd Mercher mynd i mewn ac yn awr 802 00:36:07,210 --> 00:36:09,810 fy newidiadau prydlon i rhoi ciw gweledol mi fod 803 00:36:09,810 --> 00:36:12,330 Rwy'n, yn wir, mewn mannau eraill yn fy amgylchedd, 804 00:36:12,330 --> 00:36:15,710 ond erbyn hyn gallaf yn gwneud wiber, mae'n ymddangos i weithio, 805 00:36:15,710 --> 00:36:18,190 dot slaes wiber, yn rhoi cyfanrif mi. 806 00:36:18,190 --> 00:36:19,080 Un. 807 00:36:19,080 --> 00:36:20,070 Dau. 808 00:36:20,070 --> 00:36:21,630 Swm un a dau yn dri. 809 00:36:21,630 --> 00:36:24,140 Ond os nad wyf yn cydweithredu, gadewch i ni weld beth cael int ei wneud. 810 00:36:24,140 --> 00:36:25,200 Rhowch yn gyfanrif mi. 811 00:36:25,200 --> 00:36:26,590 Na 812 00:36:26,590 --> 00:36:27,350 Ailgeisio. 813 00:36:27,350 --> 00:36:29,060 OK. 814 00:36:29,060 --> 00:36:30,520 Fine. 815 00:36:30,520 --> 00:36:32,130 50. 816 00:36:32,130 --> 00:36:32,680 50. 817 00:36:32,680 --> 00:36:33,010 Mae pob hawl. 818 00:36:33,010 --> 00:36:34,055 Felly mae'n o'r diwedd cydweithio. 819 00:36:34,055 --> 00:36:36,430 A dyna rai o'r ymarferoldeb y swyddogaethau hyn 820 00:36:36,430 --> 00:36:37,760 Gall wedi adeiladu i mewn i chi. 821 00:36:37,760 --> 00:36:43,330 >> Felly, y tu mewn i'r gweithredu o cael int, pa rhaglennu 822 00:36:43,330 --> 00:36:47,990 adeiladu o wythnos diwethaf yn ôl pob tebyg yn yno i orfodi ymddygiad hwn o Ailgeisio, 823 00:36:47,990 --> 00:36:49,962 ailgeisio, ailgeisio? 824 00:36:49,962 --> 00:36:51,670 Yeah, mae'n debyg rhyw fath o ddolen. 825 00:36:51,670 --> 00:36:54,160 Mae'n mynd i edrych yn syntactically yn wahanol i flociau Scratch, a 826 00:36:54,160 --> 00:36:55,880 ond mae hynny'n wir beth sydd y tu mewn i'r ffeil. 827 00:36:55,880 --> 00:36:58,505 Ac mewn ychydig wythnosau i ni chi helpu mewn gwirionedd yn edrych ar y llyfrgell CS50 828 00:36:58,505 --> 00:37:02,000 ynghylch yr hyn sydd y tu mewn, ond mae dolen gosod yn union hynny. 829 00:37:02,000 --> 00:37:04,840 >> Gadewch i ni chwarae ychydig yn wirion gêm yma gyda ffeil hon. 830 00:37:04,840 --> 00:37:06,550 Amod sero dot c. 831 00:37:06,550 --> 00:37:08,960 Rydym yn jyst yn mynd i yn gyffredinol dechrau cyfrif ar sero. 832 00:37:08,960 --> 00:37:11,220 Ac yr wyf yn cadw sgrolio heibio rhai o'r pethau ar y brig. 833 00:37:11,220 --> 00:37:15,390 Yn glas yma, ddynodi gyda phob o sêr hyn a'r slaes, 834 00:37:15,390 --> 00:37:17,310 rhai ohonoch sy'n rhaglennu o'r blaen, beth yw hynny? 835 00:37:17,310 --> 00:37:18,690 Pam yr ydym yn cadw sgipio drosto? 836 00:37:18,690 --> 00:37:19,110 Beth? 837 00:37:19,110 --> 00:37:19,490 >> GYNULLEIDFA: Mae'n sylwadau. 838 00:37:19,490 --> 00:37:19,800 >> DAVID J. Malan: Yeah. 839 00:37:19,800 --> 00:37:20,633 Mae'n dim ond sylwadau. 840 00:37:20,633 --> 00:37:24,160 Mae hwn yn sylw ar gyfer pobl i ddarllen, hynny yn ein hachos ni, 841 00:37:24,160 --> 00:37:27,120 yn dweud wrthym beth enw'r ffeil yw, a ysgrifennodd ef, a'r hyn y mae'n ei wneud, 842 00:37:27,120 --> 00:37:28,610 fel nad oes gennych ddarllen drwy'r cod 843 00:37:28,610 --> 00:37:30,110 i wybod beth y ffeil yn ei olygu. 844 00:37:30,110 --> 00:37:33,110 Mae'n dim ond disgrifiad, ond swyddogaethol mae'n amherthnasol. 845 00:37:33,110 --> 00:37:35,930 A allaf hyd yn oed ddileu oddi ar fy ffeil ac nid oes ganddo unrhyw effaith. 846 00:37:35,930 --> 00:37:38,740 Mae'r llinellau llawn sudd yw'r rhain cyntaf dau yma, nawr. 847 00:37:38,740 --> 00:37:41,405 prif ddi-rym int yn cyfateb o'n pan glicio baner werdd, 848 00:37:41,405 --> 00:37:44,030 felly rydym yn mynd i adael hynny fod ar gyfer heddiw, a byddwn yn dod yn ôl, 849 00:37:44,030 --> 00:37:46,940 yn y pen draw, o ran yr hyn int a gwag yw, ond erbyn hyn, 850 00:37:46,940 --> 00:37:49,500 sylwi ar yr hyn yr wyf wedi ei wneud yma hefyd, gallwch hefyd, 851 00:37:49,500 --> 00:37:51,736 os oes gennych yn unol sylwadau, os oes gennych 852 00:37:51,736 --> 00:37:54,670 a meddwl ydych am rannu am linell benodol o god, 853 00:37:54,670 --> 00:37:58,910 confensiwn yn C yw gwneud slaes slaes, ac yna ychydig o eiriau cryno, 854 00:37:58,910 --> 00:38:01,500 Nid brawddegau llawn, Yn gyffredinol, nid yw paragraff, 855 00:38:01,500 --> 00:38:05,310 mai dim ond yn esbonio i chi, neu eich TF, neu ddarllenwyr neu gydweithwyr eraill, 856 00:38:05,310 --> 00:38:06,990 beth yw eich cod yn ei wneud. 857 00:38:06,990 --> 00:38:10,150 Felly yn hytrach na gorfod edrych ar hyn ac yn casglu o linellau 858 00:38:10,150 --> 00:38:12,550 naw a 10, beth yw mae hyn yn ei wneud, yn unol wyth 859 00:38:12,550 --> 00:38:14,945 Fi jyst yn rhoi sylw i yn gofyn i'r defnyddiwr ar gyfer cyfanrif, 860 00:38:14,945 --> 00:38:17,820 yna nid oes rhaid i mi feddwl yn rhy galed am yr hyn y llinellau naw a 10 yn cael eu. 861 00:38:17,820 --> 00:38:19,720 Fi jyst yn gwybod bod dyna beth gyda'i gilydd maen nhw'n ei wneud. 862 00:38:19,720 --> 00:38:20,460 >> Sut? 863 00:38:20,460 --> 00:38:22,060 Wel, dyma y brydlon. 864 00:38:22,060 --> 00:38:23,610 Dyma y cael y int. 865 00:38:23,610 --> 00:38:25,984 Ac yn seiliedig ar y blaenorol ymddygiad, mae'n ymddangos fel Get int 866 00:38:25,984 --> 00:38:29,080 yn ddigon craff i wneud yn siŵr bod y ddynol cydweithio ac yn rhoi ei 867 00:38:29,080 --> 00:38:30,090 yn gyfanrif. 868 00:38:30,090 --> 00:38:32,270 Ond yn awr yr ydym yn gweld hyn. 869 00:38:32,270 --> 00:38:33,740 Ac mae hyn yn ein hatgoffa o Scratch. 870 00:38:33,740 --> 00:38:36,140 Im 'yn honni fy mod yn dadansoddi mewnbwn y defnyddiwr, 871 00:38:36,140 --> 00:38:39,050 ond braidd yn anghywir. 872 00:38:39,050 --> 00:38:43,200 Ac mae hyn yn ôl pob golwg yn C yw sut rydym yn mynegi os arall, yn gangen, 873 00:38:43,200 --> 00:38:46,320 fforch yn y ffordd, ond yr wyf yn dweud braidd yn anghywir. 874 00:38:46,320 --> 00:38:50,470 Beth yw'r nam yn y rhaglen hon? 875 00:38:50,470 --> 00:38:51,610 Amdanom yn ôl ymhellach? 876 00:38:51,610 --> 00:38:52,223 Yeah. 877 00:38:52,223 --> 00:38:53,150 >> GYNULLEIDFA: [Anghlywadwy] sero. 878 00:38:53,150 --> 00:38:54,025 >> DAVID J. Malan: Yeah. 879 00:38:54,025 --> 00:38:57,630 Felly, os wyf yn teipio yn sero, gadewch i ni ystyried yn union yr achos hwnnw achos, neu gornel, 880 00:38:57,630 --> 00:38:58,450 os mynnwch. 881 00:38:58,450 --> 00:39:02,790 Felly, os wyf yn teipio yn sero, pa un o'r blociau yn mynd i bob golwg chrafangia '? 882 00:39:02,790 --> 00:39:04,660 Mae'r os neu'r arall? 883 00:39:04,660 --> 00:39:07,340 Mae arall, ac mae'n mynd i ddweud, chi ddewis rhif negatif. 884 00:39:07,340 --> 00:39:10,476 Ac yn wir, nid sero yn dybiedig i fod yn gadarnhaol neu'n negyddol, 885 00:39:10,476 --> 00:39:11,850 ac felly byddai hynny'n gam. 886 00:39:11,850 --> 00:39:12,930 Byddai hynny yn bug. 887 00:39:12,930 --> 00:39:14,580 Felly, sut y gallwn atgyweiria hon? 888 00:39:14,580 --> 00:39:16,360 Rhywun sydd erioed wedi rhaglennu o'r blaen? 889 00:39:16,360 --> 00:39:16,570 Ydych chi'n want-- 890 00:39:16,570 --> 00:39:17,480 >> GYNULLEIDFA: [Anghlywadwy] 891 00:39:17,480 --> 00:39:17,990 >> DAVID J. Malan: wrthdynnu'r? 892 00:39:17,990 --> 00:39:18,570 >> GYNULLEIDFA: [Anghlywadwy] 893 00:39:18,570 --> 00:39:18,930 >> DAVID J. Malan: O, gennych chi? 894 00:39:18,930 --> 00:39:20,350 Rhywun sydd erioed wedi rhaglennu o'r blaen. 895 00:39:20,350 --> 00:39:21,750 Eisiau roi cynnig ar hyn, yn y crys coch? 896 00:39:21,750 --> 00:39:22,600 Dewch ar i fyny. 897 00:39:22,600 --> 00:39:25,320 O ie, yn dod ar i fyny, os nad oes ots gennych. 898 00:39:25,320 --> 00:39:27,586 Felly erioed wedi ei raglennu o'r blaen, beth yw eich enw? 899 00:39:27,586 --> 00:39:28,210 LAUREN: Lauren. 900 00:39:28,210 --> 00:39:29,626 DAVID J. Malan: Lauren, pob hawl. 901 00:39:29,626 --> 00:39:31,150 Felly atgyweiria nam yma i ni. 902 00:39:31,150 --> 00:39:35,070 Nid ydych wedi gweld C, yn ôl pob tebyg, ac yn ôl pob tebyg dim iaith arall. 903 00:39:35,070 --> 00:39:38,380 Felly atgyweiria y rhaglen hon ar ein cyfer. 904 00:39:38,380 --> 00:39:39,100 Neis i gwrdd ya. 905 00:39:39,100 --> 00:39:39,615 Dim pwysau. 906 00:39:39,615 --> 00:39:40,156 LAUREN: Yeah. 907 00:39:40,156 --> 00:39:43,350 908 00:39:43,350 --> 00:39:46,270 >> DAVID J. Malan: Ond unwaith eto, os yw hyn gambl yn mynd yn ôl i gynllunio, 909 00:39:46,270 --> 00:39:48,350 y cludfwyd yma bydd fod, dim ond unwaith eto, i ddechrau 910 00:39:48,350 --> 00:39:51,080 i hysbysiad patrymau a casglu o cystrawen presennol 911 00:39:51,080 --> 00:39:55,420 sut arall y gallech fynegi eich hun, dim pun fwriadwyd, er mwyn 912 00:39:55,420 --> 00:39:58,410 i ddal rhywfaint o senario ychwanegol. 913 00:39:58,410 --> 00:39:59,603 Felly rydym yn ei ddweud arall os. 914 00:39:59,603 --> 00:40:04,040 915 00:40:04,040 --> 00:40:05,230 printf, yn dda. 916 00:40:05,230 --> 00:40:09,120 Ac yn sylwi gyda CS50 IDE, a IDE frankly-- 917 00:40:09,120 --> 00:40:11,110 yn sefyll am Integredig Yr Amgylchedd Datblygu. 918 00:40:11,110 --> 00:40:14,110 'I' jyst yn ffordd ffansi o ddweud rhaglen sy'n helpu i raglen yr ydych. 919 00:40:14,110 --> 00:40:16,779 Mae'n gwneud hawdd ei ddefnyddio pethau fel pan fyddwch yn teipio un parenthesis, 920 00:40:16,779 --> 00:40:18,320 mae'n rhoi i chi yn awtomatig y llall. 921 00:40:18,320 --> 00:40:20,760 Y rhagdybiaeth oedd eich bod yn yn y pen draw mynd i eisiau i deipio hynny, 922 00:40:20,760 --> 00:40:22,400 ac mae hefyd yn gwneud 'i ag dyfyniadau. 923 00:40:22,400 --> 00:40:24,190 >> Felly, yr wyf yn hoffi llinell 23. 924 00:40:24,190 --> 00:40:26,400 99% o'r ffordd yno. 925 00:40:26,400 --> 00:40:29,920 Rhywun eisiau cydsynio mewn gyda blaen? 926 00:40:29,920 --> 00:40:31,420 Clywais hanner colon gan y gynulleidfa. 927 00:40:31,420 --> 00:40:32,080 Da. 928 00:40:32,080 --> 00:40:33,260 Felly mae hynny'n cwblhau'r hynny. 929 00:40:33,260 --> 00:40:37,930 Ac yn awr, Fi jyst cael ychydig syndod gyda llinell 21. 930 00:40:37,930 --> 00:40:41,370 Sut ydym ni eisiau i fynegi hyn? 931 00:40:41,370 --> 00:40:43,370 Pa gwestiwn ydym ni eisiau i ofyn, yn eich barn chi? 932 00:40:43,370 --> 00:40:46,870 933 00:40:46,870 --> 00:40:50,330 Felly flaenorol gofynnom y cwestiwn, os n yn fwy na sero, yn gwneud hyn. 934 00:40:50,330 --> 00:40:51,870 Else, yn gwneud hynny. 935 00:40:51,870 --> 00:40:54,317 Felly mae angen i ddewis cwestiwn i ofyn yma. 936 00:40:54,317 --> 00:40:55,192 GYNULLEIDFA: [Anghlywadwy] 937 00:40:55,192 --> 00:40:56,530 DAVID J. Malan: Da. 938 00:40:56,530 --> 00:40:58,290 Felly os n hafal sero. 939 00:40:58,290 --> 00:41:01,140 940 00:41:01,140 --> 00:41:02,100 Ardderchog. 941 00:41:02,100 --> 00:41:03,080 Felly gadewch i ni oedi yma. 942 00:41:03,080 --> 00:41:04,850 Diolch yn fawr am ddaeth allan yn hyn i chi. 943 00:41:04,850 --> 00:41:10,890 Gadewch i mi roi i chi ychydig yn haeddiannol pêl straen, efallai bod. 944 00:41:10,890 --> 00:41:11,900 Felly rydym yn bron yno. 945 00:41:11,900 --> 00:41:14,790 Yn wir, Lauren, os nad ydych yn meddwl, gadewch i mi wneud un tweak yma, 946 00:41:14,790 --> 00:41:17,850 dim ond i fod yn gyson hyd yn oed gyda yr hyn a welsom yn Scratch, beth 947 00:41:17,850 --> 00:41:21,080 ydw i am ei wneud gyda llinellau 21 a 24, yn seiliedig yn unig eto 948 00:41:21,080 --> 00:41:23,290 ar sut rydym yn gwneud hyn yn Scratch, efallai? 949 00:41:23,290 --> 00:41:24,230 >> GYNULLEIDFA: Symudwch i fyny. 950 00:41:24,230 --> 00:41:25,605 >> DAVID J. Malan: Yeah, yn symud i fyny. 951 00:41:25,605 --> 00:41:30,260 Felly, y cyflwr arall, y trydydd, neu bedwerydd, neu bumed, neu gangen terfynol, 952 00:41:30,260 --> 00:41:34,100 Dylai wir yn dod ar ôl hynny, a dim ond drwy confensiwn, 953 00:41:34,100 --> 00:41:36,047 dim ond oherwydd os mynnwch. 954 00:41:36,047 --> 00:41:37,380 Felly mae angen i mi wneud tweak hwn. 955 00:41:37,380 --> 00:41:39,660 Ac mae angen i mi roi fy Brace cyrliog yn ôl yma. 956 00:41:39,660 --> 00:41:42,700 Ac yn awr, bydd y rhaglen hon yn llunio. 957 00:41:42,700 --> 00:41:46,140 Rydym mor agos, ond mae nam iawn, cynnil iawn. 958 00:41:46,140 --> 00:41:47,200 Gadewch i ni weld beth sy'n digwydd. 959 00:41:47,200 --> 00:41:49,660 >> Yn gyntaf, gadewch i mi fynd yn ei flaen ac yn chwyddo allan. 960 00:41:49,660 --> 00:41:53,405 Rydw i'n mynd i fynd yn ei flaen a teipio yn gwneud cyflwr sero. 961 00:41:53,405 --> 00:41:55,070 O, rwy'n dweud celwydd. 962 00:41:55,070 --> 00:41:58,760 Nawr bod y compiler yn mewn gwirionedd yn eithaf smart. 963 00:41:58,760 --> 00:42:00,950 Ac nid wyf yn wir yn deall 'i' neges gwall. 964 00:42:00,950 --> 00:42:04,310 Gan ddefnyddio'r ganlyniad i aseiniad fel amod heb cromfachau, 965 00:42:04,310 --> 00:42:05,740 yn ôl pob golwg yn ddrwg. 966 00:42:05,740 --> 00:42:07,100 Ond beth mae hynny'n ei olygu? 967 00:42:07,100 --> 00:42:10,860 >> Wel unwaith eto, yn chwilio am batrymau mewn cod sy'n ydym wedi ei weld o'r blaen, 968 00:42:10,860 --> 00:42:16,640 beth yw llinell 17 yn ei wneud mewn gwirionedd, hyd yn oed er y bwriedir Lauren ychydig yn 969 00:42:16,640 --> 00:42:18,790 fel arall? 970 00:42:18,790 --> 00:42:19,290 Yeah. 971 00:42:19,290 --> 00:42:21,565 >> GYNULLEIDFA: [Anghlywadwy] 972 00:42:21,565 --> 00:42:22,440 DAVID J. Malan: Yeah. 973 00:42:22,440 --> 00:42:26,610 Felly cofiwch yr arwydd cyfartal, yn ôl pob golwg fel yr ydym wedi ei ddefnyddio o'r blaen, nid yw'n gyfartal. 974 00:42:26,610 --> 00:42:29,240 Mae ei aseiniad, o'r dde i'r chwith. 975 00:42:29,240 --> 00:42:33,810 Felly llinell 17 ar hyn o bryd yn gyflwr, ac mae'n 976 00:42:33,810 --> 00:42:37,890 gweithredu Cod y tu mewn i'r cromfachau, ond pan y cod executes, 977 00:42:37,890 --> 00:42:42,140 yr hyn sy'n digwydd i werth sero? 978 00:42:42,140 --> 00:42:45,250 Beth sy'n digwydd i werth n? 979 00:42:45,250 --> 00:42:46,810 Dod sero. 980 00:42:46,810 --> 00:42:50,520 Felly os n yn dod yn sero, ac eto, fel yr wythnos diwethaf, 981 00:42:50,520 --> 00:42:54,690 rydym yn gyffredinol yn dweud bod sero yn ffug ac un yn wir, 982 00:42:54,690 --> 00:42:57,410 neu ie yn un a dim yn sero. 983 00:42:57,410 --> 00:42:59,590 Felly gwir a gau, un a 0. 984 00:42:59,590 --> 00:43:06,090 Os yw n fel llinell 17 wedi bod o ystyried y gwerth 0, yn sero wir? 985 00:43:06,090 --> 00:43:06,590 Na 986 00:43:06,590 --> 00:43:08,280 Drwy ddiffiniad, sero yn ffug. 987 00:43:08,280 --> 00:43:10,860 Dyna y confensiwn rydym yn mynd i cling i symud ymlaen. 988 00:43:10,860 --> 00:43:17,320 Felly bydd llinellau 18, 19, a 20 byth yn berthnasol yn awr, yn rhesymegol? 989 00:43:17,320 --> 00:43:18,320 Na allant ei wneud. 990 00:43:18,320 --> 00:43:21,640 Felly, rydym yn gofyn y cwestiwn ond nid yn eithaf manwl, 991 00:43:21,640 --> 00:43:25,620 ac ni fyddech yn gwybod hyn oni bai rydych wedi ei weld, yr ateb yn C 992 00:43:25,620 --> 00:43:29,610 yw pan fyddwch am i fynegi cydraddoldeb, yr ydych yn dweud hafal gyfartal. 993 00:43:29,610 --> 00:43:33,140 Felly hafalnod eisoes yn cael ei ddefnyddio i fyny trwy aseiniad, o'r dde i'r chwith. 994 00:43:33,140 --> 00:43:35,110 Equals hafal modd hafal. 995 00:43:35,110 --> 00:43:37,950 Ac os ydych wir eisiau eich meddwl i gael eu plygu, yn JavaScript a PHP, 996 00:43:37,950 --> 00:43:40,490 mae hafal hafal hafal, a oedd yn yn golygu rhywbeth arall yn gyfan gwbl, 997 00:43:40,490 --> 00:43:41,990 ond byddwn yn mynd at hynny cyn hir. 998 00:43:41,990 --> 00:43:45,760 >> Felly, mae hwn yn ateb syml, ond yn sylweddoli super hawdd i'w wneud camgymeriad hwn, 999 00:43:45,760 --> 00:43:48,700 ac yna meddwl tybed a frwydr ar gyfer cofnodion, os nad yr awr, 1000 00:43:48,700 --> 00:43:51,490 pam mae fy cod Nid yw weithredu fel fy mod yn bwriadu? 1001 00:43:51,490 --> 00:43:54,140 Mae'n oherwydd na wnaethoch ddweud wrth mae'n union yr hyn yr ydych yn ei olygu. 1002 00:43:54,140 --> 00:43:56,450 Felly dyna oedd bron perffaith, ac roedd yn wych 1003 00:43:56,450 --> 00:44:00,760 ein bod yn baglu ar draws y ddau bach pethau oherwydd erbyn hyn os byddwn yn eu trwsio, 1004 00:44:00,760 --> 00:44:06,240 ac yr wyf yn gwneud cyflwr sero dot slaes cyflwr sero, 1005 00:44:06,240 --> 00:44:07,490 Hoffwn yn gyfanrif os gwelwch yn dda. 1006 00:44:07,490 --> 00:44:08,090 Gadewch i ni weld. 1007 00:44:08,090 --> 00:44:09,160 Na 1008 00:44:09,160 --> 00:44:10,740 Mae'n mynd i fy ngorfodi i wneud hynny. 1009 00:44:10,740 --> 00:44:11,990 Felly 42. 1010 00:44:11,990 --> 00:44:13,590 Yr wyf yn codi nifer positif. 1011 00:44:13,590 --> 00:44:16,470 Felly nawr sut ydw i'n profi rhaglen hon yn gywir? 1012 00:44:16,470 --> 00:44:19,990 Os ydych yn mathemategydd, ni allwch 'n sylweddol profi hyn trwy brofi a methu, 1013 00:44:19,990 --> 00:44:20,490 iawn? 1014 00:44:20,490 --> 00:44:23,180 Gallwch prawf nid yn unig gan enghraifft, ond o leiaf 1015 00:44:23,180 --> 00:44:25,494 fel rhaglennydd nad ydym yn mynd i geisio profi am y tro 1016 00:44:25,494 --> 00:44:27,660 bod hyn mewn gwirionedd gywir, ond yr wyf yn ôl pob tebyg dylai 1017 00:44:27,660 --> 00:44:29,470 profi rhai achosion cynrychioliadol. 1018 00:44:29,470 --> 00:44:31,070 >> Rwyf wedi profi 42. 1019 00:44:31,070 --> 00:44:33,030 Gallwn brofi 43. 1020 00:44:33,030 --> 00:44:34,910 Gallwn brofi 44. 1021 00:44:34,910 --> 00:44:35,640 Prawf 45. 1022 00:44:35,640 --> 00:44:36,140 Iawn? 1023 00:44:36,140 --> 00:44:37,860 Ond allwn i wneud hyn yn amser hir iawn. 1024 00:44:37,860 --> 00:44:39,925 Beth fyddai rhai yn fwy achosion diddorol i roi cynnig? 1025 00:44:39,925 --> 00:44:41,050 GYNULLEIDFA: [Anghlywadwy] sero. 1026 00:44:41,050 --> 00:44:41,740 DAVID J. Malan: Felly sero. 1027 00:44:41,740 --> 00:44:42,297 Yn sicr. 1028 00:44:42,297 --> 00:44:44,880 Ac yn dda, mae gennym y tro hwn, diolch i cod newydd Lauren. 1029 00:44:44,880 --> 00:44:46,213 Beth sy'n achos da arall i roi cynnig? 1030 00:44:46,213 --> 00:44:47,320 GYNULLEIDFA: un negyddol. 1031 00:44:47,320 --> 00:44:50,070 >> DAVID J. Malan: un Negyddol, a efallai rhywbeth ychydig yn fwy, 1032 00:44:50,070 --> 00:44:52,617 felly efallai negyddol 42, ond yn gyffredinol, pan fydd 1033 00:44:52,617 --> 00:44:54,450 brofi eich rhaglenni symud ymlaen, rydych yn 1034 00:44:54,450 --> 00:44:56,325 mynd i eisiau i feddwl i chi eich hun, fel beth 1035 00:44:56,325 --> 00:44:58,050 yw'r achosion gwahanol sylfaenol. 1036 00:44:58,050 --> 00:45:01,720 Ac yr wyf yn siŵr gen i achos negyddol, achos cadarnhaol, ac achos sero 1037 00:45:01,720 --> 00:45:03,365 'n bert lawer rowndiau hyn allan. 1038 00:45:03,365 --> 00:45:04,990 Gadewch i ni edrych ar amrywiad o er bod hyn. 1039 00:45:04,990 --> 00:45:06,930 Un amodau. 1040 00:45:06,930 --> 00:45:11,224 Mae hwn yn ateb yn gywir yma, fel y byddwch yn gweld dau ac ar-lein, 1041 00:45:11,224 --> 00:45:13,390 os byddwch yn cerdded drwy'r walkthroughs, bydd y cyfan 1042 00:45:13,390 --> 00:45:18,090 cynyddiad rhain fesul cam nes i ni cael yr union yr ymagwedd gywir. 1043 00:45:18,090 --> 00:45:20,070 Beth os ydym eisiau gofyn dau gwestiwn ar yr un pryd? 1044 00:45:20,070 --> 00:45:22,200 >> Gadewch i mi agor hwn yn lle hynny. 1045 00:45:22,200 --> 00:45:26,740 Di-switsh, am resymau byddwn yn gweld amser arall. 1046 00:45:26,740 --> 00:45:29,610 Beth sy'n newydd syntactically yma? 1047 00:45:29,610 --> 00:45:32,760 Ar hyn o bryd dw i'n chwarae gêm lle y cyfrifiadur yn dweud 1048 00:45:32,760 --> 00:45:35,550 mi, yn rhoi i mi cyfanrif rhwng un a 10, 1049 00:45:35,550 --> 00:45:37,180 ac yna i ddim yn barnu mewnbwn y defnyddiwr. 1050 00:45:37,180 --> 00:45:39,180 Yn Saesneg, yn seiliedig ar y cod a welwch yma 1051 00:45:39,180 --> 00:45:41,530 mewn glas, yr hyn sy'n rhaglen hon yn ei wneud? 1052 00:45:41,530 --> 00:45:44,256 1053 00:45:44,256 --> 00:45:46,380 GYNULLEIDFA: [Anghlywadwy] dewis mae nifer fawr neu'n fach. 1054 00:45:46,380 --> 00:45:46,484 DAVID J. Malan: Yeah. 1055 00:45:46,484 --> 00:45:49,450 Mae'n dim ond beirniadu p'un Yr wyf yn codi yn fawr, neu gyfrwng, 1056 00:45:49,450 --> 00:45:53,900 neu nifer fach yn seiliedig ar iawn Diffiniad mympwyol o bach, canolig, 1057 00:45:53,900 --> 00:45:58,510 a mawr yma, ond rhybudd y gystrawen sy'n newydd yw hyn. 1058 00:45:58,510 --> 00:46:02,340 Does dim llai na int neu'n hafal i llofnodi, neu fwy na neu'n hafal i lofnodi, 1059 00:46:02,340 --> 00:46:05,430 lle mae un yw dros y llall, eich bod yn gallu mynegi mewn fel Microsoft Word. 1060 00:46:05,430 --> 00:46:08,180 Felly, mewn iaith raglennu chi Fel arfer dim ond gwneud ddau gymeriad, 1061 00:46:08,180 --> 00:46:09,450 un ar ôl y llall. 1062 00:46:09,450 --> 00:46:12,695 A beth mae hyn yn ôl pob tebyg cynrychioli, ampersand ampersand. 1063 00:46:12,695 --> 00:46:13,570 GYNULLEIDFA: [Anghlywadwy] 1064 00:46:13,570 --> 00:46:13,680 DAVID J. Malan: Yeah. 1065 00:46:13,680 --> 00:46:16,910 Mae'n jyst yn golygu ac oherwydd ei fod yn ymddangos bod y awduron C 1066 00:46:16,910 --> 00:46:19,120 defnyddio ampersand sengl, a allai yn eich barn chi 1067 00:46:19,120 --> 00:46:22,430 fyddai'n berffaith ar gyfer y syniad o, a, eisoes yn cael ei ddefnyddio i fyny, 1068 00:46:22,430 --> 00:46:27,300 ampersand mor ampersand mewn gwirionedd dal yn wir yr ydym ei eisiau mewn gwirionedd. 1069 00:46:27,300 --> 00:46:30,610 >> Felly, gadewch i ni yn awr yn dod ar draws dau beth. 1070 00:46:30,610 --> 00:46:32,640 Gadewch i mi fynd yn ei flaen ac agor un. 1071 00:46:32,640 --> 00:46:36,590 Rhywbeth sy'n ychydig yn worrisome. 1072 00:46:36,590 --> 00:46:37,970 Imprecision dot c. 1073 00:46:37,970 --> 00:46:40,260 Gadewch i mi gyflwyno dau beth yma. 1074 00:46:40,260 --> 00:46:44,720 Un, rybudd y gallwn ei wneud mathemateg, yn union fel o'r blaen pan 1075 00:46:44,720 --> 00:46:47,797 gwnaethom yn ogystal â dau rif, x ac y. 1076 00:46:47,797 --> 00:46:49,380 Beth yw rhaglen hon yn ôl pob golwg yn ei wneud? 1077 00:46:49,380 --> 00:46:52,140 Nid wyf wedi gwneud sylwadau eto, ac rydw i wedi cyflwyno y cant f, 1078 00:46:52,140 --> 00:46:55,720 ond dywedais yn gynharach yn gyflym cant f golygu pwynt arnawf 1079 00:46:55,720 --> 00:46:56,970 gwerth, sydd yn rhif real. 1080 00:46:56,970 --> 00:46:59,520 Rhywbeth gyda degol pwynt, ac nid yw yn gyfanrif. 1081 00:46:59,520 --> 00:47:02,270 Beth ydych chi'n meddwl y rhaglen hon yw ceisio dangos i mi ar y sgrin? 1082 00:47:02,270 --> 00:47:05,060 1083 00:47:05,060 --> 00:47:06,050 Yeah? 1084 00:47:06,050 --> 00:47:07,550 GYNULLEIDFA: Y ganlyniad i un dros 10. 1085 00:47:07,550 --> 00:47:07,780 DAVID J. Malan: Yeah. 1086 00:47:07,780 --> 00:47:09,680 Beth yw canlyniad un rhannu â 10. 1087 00:47:09,680 --> 00:47:12,721 Iawn, gan fod yr holl sydd gennych yn ôl pob tebyg tyfu i fyny yn gwybod bod un dros 10 1088 00:47:12,721 --> 00:47:14,502 yw beth? 1089 00:47:14,502 --> 00:47:16,220 Yeah, dim ond 1/10 neu 0.1. 1090 00:47:16,220 --> 00:47:16,720 Iawn? 1091 00:47:16,720 --> 00:47:19,010 Felly, gadewch i ni weld beth mae hyn mewn gwirionedd. 1092 00:47:19,010 --> 00:47:21,010 Felly gadewch i mi fynd yn ei flaen ac arbed hyn. 1093 00:47:21,010 --> 00:47:21,970 Gadewch i mi fynd i lawr yma. 1094 00:47:21,970 --> 00:47:26,360 Gwneud imprecision dot slaes imprecision, a rhybudd, hefyd, 1095 00:47:26,360 --> 00:47:29,380 mewn amgylchedd Linux, nid ydych yn ei wneud rhaid i deipio allan imprecision a chymryd 1096 00:47:29,380 --> 00:47:30,010 drwy'r dydd. 1097 00:47:30,010 --> 00:47:32,910 Yn gyffredinol, os byddwch yn taro Tab, mae'n Bydd gorffen eich meddwl ar eich rhan, 1098 00:47:32,910 --> 00:47:36,660 yn seiliedig ar y geiriau sy'n cael eu ar gael yn y cyfeiriadur cyfredol. 1099 00:47:36,660 --> 00:47:37,160 OK. 1100 00:47:37,160 --> 00:47:37,970 Felly, rydych yn gywir. 1101 00:47:37,970 --> 00:47:41,239 Mae un wedi'i rannu gan 10 yw, mewn gwirionedd, 0.1. 1102 00:47:41,239 --> 00:47:42,280 Ond dw i'n ychydig yn rhyfedd. 1103 00:47:42,280 --> 00:47:44,196 Ac mae'n troi allan printf yn cefnogi rhai nodweddion 1104 00:47:44,196 --> 00:47:48,700 lle gallwch nodi mwy na mae nifer diofyn o bwyntiau degol. 1105 00:47:48,700 --> 00:47:52,140 Felly, os wyf am weld 10 degol pwyntiau gallaf ei wneud y cant, 1106 00:47:52,140 --> 00:47:55,510 am y symbol dalfan, dot 10 am, rhowch 10 pwynt degol mi, 1107 00:47:55,510 --> 00:47:58,140 ac yna yn dal pwynt arnawf gwerth, ac, wrth fynd heibio, 1108 00:47:58,140 --> 00:48:01,550 beth yw slaes hon n mae'n debyg rydym yn cadw ei ddefnyddio? 1109 00:48:01,550 --> 00:48:03,450 Mae'n troi allan ei fod yn symbol ar gyfer llinell newydd. 1110 00:48:03,450 --> 00:48:05,970 Dyma'r ffordd benodol iawn o ddweud i'r cyfrifiadur, 1111 00:48:05,970 --> 00:48:08,759 symud y cyrchwr i'r nesaf llinell ar ôl i chi yn ei wneud. 1112 00:48:08,759 --> 00:48:10,800 A gawn ni weld beth sy'n digwydd pan nad ydym yn gwneud hynny. 1113 00:48:10,800 --> 00:48:12,430 >> Gadewch i mi ail-grynhoi gwneud imprecision. 1114 00:48:12,430 --> 00:48:15,320 1115 00:48:15,320 --> 00:48:18,356 Nawr dot slaes imprecision. 1116 00:48:18,356 --> 00:48:18,930 OK. 1117 00:48:18,930 --> 00:48:19,780 Still i'r dde. 1118 00:48:19,780 --> 00:48:21,512 Mae un wedi'i rannu gan 10. 1119 00:48:21,512 --> 00:48:23,220 Nawr rwy'n cael ychydig yn chwilfrydig, er. 1120 00:48:23,220 --> 00:48:27,599 Beth os wyf yn edrych 20 degol yn nodi, ail-grynhoi, ailgynnal, 1121 00:48:27,599 --> 00:48:29,390 ac fel o'r neilltu ar gyfer cyflymder, gallwch hefyd ddefnyddio'r 1122 00:48:29,390 --> 00:48:31,800 eich fyny ac i lawr saethau i sgrolio drwy eich hanes, 1123 00:48:31,800 --> 00:48:35,476 felly nid oes rhaid i chi gadw aildeipio gorchmynion hyn, rhowch. 1124 00:48:35,476 --> 00:48:36,910 Huh. 1125 00:48:36,910 --> 00:48:39,220 Doeddwn i ddim yn dysgu bod yn yr ysgol radd. 1126 00:48:39,220 --> 00:48:43,260 Mae pob hawl, felly gadewch i mi gweld fel 29 o lefydd allan. 1127 00:48:43,260 --> 00:48:44,300 Efallai mai dim ond hap a damwain. 1128 00:48:44,300 --> 00:48:46,907 Efallai fy nghyfrifiadur yn gweithredu rhyfedd. 1129 00:48:46,907 --> 00:48:47,990 Nid yw hynny'n beth, dde? 1130 00:48:47,990 --> 00:48:50,300 Mae'n gwneud rhywbeth deterministically. 1131 00:48:50,300 --> 00:48:53,410 Felly gwnewch yn imprecision. 1132 00:48:53,410 --> 00:48:54,890 OK, mae hynny'n cyboledig i fyny. 1133 00:48:54,890 --> 00:48:57,620 Felly beth sy'n mynd ymlaen? 1134 00:48:57,620 --> 00:49:00,160 >> Felly mae'n debyg eich athro wedi bod yn gorwedd 1135 00:49:00,160 --> 00:49:03,900 i chi i gyd y tro hwn am rhesymau y byddwn yn gweld cyn bo hir. 1136 00:49:03,900 --> 00:49:05,569 Ond gadewch i ben gydag un rhaglen arall. 1137 00:49:05,569 --> 00:49:07,860 Mae hyn yn ychydig o raglenni rhywun ysgrifennodd rai blynyddoedd yn ôl, 1138 00:49:07,860 --> 00:49:08,990 ac mae'n mewn gwirionedd yn rhan o gystadleuaeth. 1139 00:49:08,990 --> 00:49:11,198 Nid oes unrhyw un mewn gwirionedd yn ysgrifennu cod fel hyn, ac os ydych yn gwneud hynny, 1140 00:49:11,198 --> 00:49:12,880 mae hyn yn arddull yn broblem. 1141 00:49:12,880 --> 00:49:14,660 Ond mae pobl yn gwneud hyn am frolio hawl. 1142 00:49:14,660 --> 00:49:17,260 Ysgrifennu y mwyaf dryslyd rhaglen chwilio sy'n 1143 00:49:17,260 --> 00:49:19,110 er hynny yn gwneud rhywbeth diddorol. 1144 00:49:19,110 --> 00:49:23,930 A'r nodyn Roeddwn i'n meddwl y bydden ni'n gadael ar heddiw, cyn i Colton ein chwarae allan yma, 1145 00:49:23,930 --> 00:49:27,840 yw rhedeg y rhaglen hon, sydd, hyd yn oed mewn dim ond drwy ddefnyddio 1146 00:49:27,840 --> 00:49:31,450 C yn hyn seiliedig ar destun amgylchedd, yn rhoi i ni yma. 1147 00:49:31,450 --> 00:49:32,264 Dammit. 1148 00:49:32,264 --> 00:49:34,930 >> [Chwerthin] 1149 00:49:34,930 --> 00:49:36,800 >> Yn sefyll yn ôl. 1150 00:49:36,800 --> 00:49:39,340 [Anghlywadwy] c dash l m. 1151 00:49:39,340 --> 00:49:42,885 Rydych yn mynd i weld y hudol incantation y byddwn yn gweld cyn bo hir. 1152 00:49:42,885 --> 00:49:45,780 [Anghlywadwy] Mae pob hawl. 1153 00:49:45,780 --> 00:49:51,592 Ac yn awr y gallwch hyd yn oed gwneud pethau fel hyn. 1154 00:49:51,592 --> 00:49:52,340 Dyna ni. 1155 00:49:52,340 --> 00:49:56,410 Ar gyfer CS50 ydym, byddwch yn gweld ar ddydd Gwener. 1156 00:49:56,410 --> 00:49:58,910 >> [CHWARAE CERDDORIAETH] 1157 00:49:58,910 --> 00:52:38,390 1158 00:52:38,390 --> 00:52:41,440 >> [Cymeradwyaeth] 1159 00:52:41,440 --> 00:52:42,812