1 00:00:00,000 --> 00:00:03,353 >> [CHWARAE CERDDORIAETH] 2 00:00:03,353 --> 00:00:04,842 3 00:00:04,842 --> 00:00:06,050 DAVID Malan: Helo, bawb. 4 00:00:06,050 --> 00:00:07,777 Mae hyn yn supersection CS50 yn. 5 00:00:07,777 --> 00:00:09,860 Ni fydd adrannau neilltuo yn dechrau am wythnos arall. 6 00:00:09,860 --> 00:00:11,580 Ac felly heddiw, dwi yma with-- 7 00:00:11,580 --> 00:00:12,122 >> MARIA: Maria. 8 00:00:12,122 --> 00:00:14,163 DAVID Malan: --to mewn gwirionedd yn edrych ar broblem 9 00:00:14,163 --> 00:00:16,110 sefydlu un, y cwrs wythnos gyntaf o ddeunydd, 10 00:00:16,110 --> 00:00:19,780 cael chi oriented gyda IDE CS50, ychydig o Linux, y system weithredu sy'n 11 00:00:19,780 --> 00:00:22,290 rhedeg ar DRhA, yn ogystal â edrych ar rai o'r pontio 12 00:00:22,290 --> 00:00:25,730 o Scratch i C yn arwain hyd at broblem sefydlu un. 13 00:00:25,730 --> 00:00:28,340 >> Felly, heb ado pellach, yn broblem sefydlu un, 14 00:00:28,340 --> 00:00:30,520 ydych yn mynd i fod yn cyflwyno i CS50 IDE, a oedd yn 15 00:00:30,520 --> 00:00:33,230 yw hyn rhaglennu ar y we amgylchedd a ddefnyddiwn er mwyn 16 00:00:33,230 --> 00:00:34,280 i ysgrifennu rhaglenni. 17 00:00:34,280 --> 00:00:37,280 Mae wedi ei gynllunio i edrych yn iawn atgoffa rhywun o gyfrifiadur nodweddiadol 18 00:00:37,280 --> 00:00:39,430 system yn rhedeg gweithredu system o'r enw Linux. 19 00:00:39,430 --> 00:00:42,440 Ond mae'n yn y cwmwl fel y'i gelwir, sy'n golygu pawb yn y dosbarth 20 00:00:42,440 --> 00:00:45,100 Gall mewn gwirionedd yn cael ei gyfrif ei hun ac yn ei ddefnyddio, yn ogystal. 21 00:00:45,100 --> 00:00:48,950 >> Felly, mae'r rhan fwyaf ohonoch yn ôl pob tebyg erioed wedi defnyddio amgylchedd Linux cyn neu efallai 22 00:00:48,950 --> 00:00:50,447 hyd yn oed yn amgylchedd llinell orchymyn. 23 00:00:50,447 --> 00:00:52,280 A llinell gorchymyn amgylchedd yn wahanol. 24 00:00:52,280 --> 00:00:53,200 Mae hyn i gyd testunol. 25 00:00:53,200 --> 00:00:54,730 Mae hyn i gyd orchmynion bysellfwrdd. 26 00:00:54,730 --> 00:00:59,480 Ac mae'n dim mousing, dim eiconau, dim ffenestri deialog, dim bwydlenni. 27 00:00:59,480 --> 00:01:00,212 Mae'n gwbl testun. 28 00:01:00,212 --> 00:01:01,920 Felly ar y dechrau, mae'n fath o yn teimlo fel cam 29 00:01:01,920 --> 00:01:04,434 yn ôl o ran soffistigedig. 30 00:01:04,434 --> 00:01:06,600 Ond mae'n dod i ben i fyny fod yn llawer yn fwy pwerus, yn sicr, 31 00:01:06,600 --> 00:01:08,510 am gwyddonydd cyfrifiadurol, yn y pen draw. 32 00:01:08,510 --> 00:01:09,540 >> Felly, gadewch i ni edrych. 33 00:01:09,540 --> 00:01:13,850 Dyma fi yn CS50.io, drwy lle gallwch logio i mewn i IDE CS50. 34 00:01:13,850 --> 00:01:17,414 A llawer fel yn Scratch, mae ' tri maes cynradd i sgrin hon. 35 00:01:17,414 --> 00:01:20,080 Felly, ar yr ochr chwith, mae gennym beth fydd y porwr ffeiliau. 36 00:01:20,080 --> 00:01:22,413 Ac mae blygell hon yn top, sydd ar hyn o bryd yn wag 37 00:01:22,413 --> 00:01:24,690 ers i mi cael gwared o'r holl fy ffeiliau cyn supersection. 38 00:01:24,690 --> 00:01:27,599 A dyna lle rydym chi helpu cadw ffeiliau C ein bod yn ysgrifennu. 39 00:01:27,599 --> 00:01:30,890 Yn y dde uchaf, mae gennym fan lle pob un o'n cod yn mynd i gael ysgrifenedig. 40 00:01:30,890 --> 00:01:34,610 Ac yn wir, os wyf cliciwch ogystal hwn, mae hyn yn yn mynd i adael i mi ddewis Ffeil Newydd. 41 00:01:34,610 --> 00:01:38,310 Ac yma y gallaf ddechrau ysgrifennu cod C neu, mewn gwirionedd, unrhyw nifer o ieithoedd eraill. 42 00:01:38,310 --> 00:01:42,670 >> Ac yna ar y gwaelod lle mae'n Dywed jharvard @ ide50-- a chi bydd 43 00:01:42,670 --> 00:01:45,080 dweud rhywbeth ychydig yn different-- beth oedd hyn a elwir yn? 44 00:01:45,080 --> 00:01:48,644 45 00:01:48,644 --> 00:01:49,310 Ffenestr Terminal. 46 00:01:49,310 --> 00:01:49,570 Yeah. 47 00:01:49,570 --> 00:01:51,810 Felly y ffenestr derfynell yn y llinell orchymyn hyn a elwir yn 48 00:01:51,810 --> 00:01:55,540 rhyngwyneb trwy y gallwch ryngweithio gyda'r system weithredu sylfaenol. 49 00:01:55,540 --> 00:01:58,220 Ac am y tro, rydym yn mynd i gwneud ychydig iawn o ddefnydd o this-- 50 00:01:58,220 --> 00:02:01,170 dim ond i lunio, i edrych ar negeseuon gwall a welwn, 51 00:02:01,170 --> 00:02:02,347 ac i gynnal ein rhaglenni. 52 00:02:02,347 --> 00:02:04,680 Ond yn y pen draw, rydym yn mynd i wneud hynny yn llawer mwy, yn ogystal. 53 00:02:04,680 --> 00:02:07,490 A allwch chi hyd yn oed yn gosod meddalwedd a gweinyddu eich lle gwaith 54 00:02:07,490 --> 00:02:09,066 o fewn CS50 IDE, yn ogystal. 55 00:02:09,066 --> 00:02:10,440 Ond mwy am hynny rywbryd arall. 56 00:02:10,440 --> 00:02:12,689 >> Felly gadewch i ni fynd yn ei flaen ac ysgrifennu rhaglen syml iawn yn unig 57 00:02:12,689 --> 00:02:15,064 i fynd drwy cynhesu o hello.c, sydd o bosibl 58 00:02:15,064 --> 00:02:16,480 y rhaglen symlaf y gallwn ei ysgrifennu. 59 00:02:16,480 --> 00:02:18,330 Rwyf eisoes wedi agor tab newydd. 60 00:02:18,330 --> 00:02:24,310 Rydw i'n mynd i fynd yn ei flaen a dweud gynnwys io.h. safonol 61 00:02:24,310 --> 00:02:25,325 Yna int prif (ddi-rym). 62 00:02:25,325 --> 00:02:28,930 63 00:02:28,930 --> 00:02:35,200 Ac yna printf ("helo, byd" slaes n, dyfynnwch agos, 64 00:02:35,200 --> 00:02:39,480 cromfachau agos, a hanner colon. 65 00:02:39,480 --> 00:02:39,990 >> Iawn. 66 00:02:39,990 --> 00:02:41,700 Felly nawr yn sylwi fy ffenestr yn heb deitl. 67 00:02:41,700 --> 00:02:44,840 Felly dw i'n mynd yn gyflym iawn i fynd i fyny i File, Save. 68 00:02:44,840 --> 00:02:46,910 Ac mae'n bwysig bod Rwy'n galw nad yw hyn "helo." 69 00:02:46,910 --> 00:02:49,243 Felly yn gamgymeriad cyffredin iawn, yn enwedig yn broblem sefydlu un, 70 00:02:49,243 --> 00:02:52,530 yw ddamweiniol yn unig ffoniwch eich rhaglen "dŵr" neu "barus" neu "Mario" 71 00:02:52,530 --> 00:02:53,890 neu "credyd" neu debyg. 72 00:02:53,890 --> 00:02:55,970 Ond rydych mewn gwirionedd yn awyddus i wneud yn siŵr eich bod yn cael y estyniad ffeil 73 00:02:55,970 --> 00:02:58,928 oherwydd dyma'r unig ffordd y y compiler a hefyd y golygydd cod 74 00:02:58,928 --> 00:03:00,710 yn gwybod eich bod yn mewn gwirionedd yn ysgrifennu cod C. 75 00:03:00,710 --> 00:03:02,280 Felly gadewch i mi fynd yn ei flaen a chliciwch Save. 76 00:03:02,280 --> 00:03:05,710 >> Ac yn awr, hefyd, beth CS50 IDE wedi gwneud i ni yn 'i' hefyd 77 00:03:05,710 --> 00:03:07,120 Amlygodd cystrawen popeth. 78 00:03:07,120 --> 00:03:08,822 Felly mae wedi gwneud popeth lliwgar iawn. 79 00:03:08,822 --> 00:03:10,780 A'r holl bwrpas nid yw hynny'n ymarferol. 80 00:03:10,780 --> 00:03:14,290 Dim ond i dynnu fy llygaid i gysyniadol gwahanol ddarnau 81 00:03:14,290 --> 00:03:15,310 o'r rhaglen hon. 82 00:03:15,310 --> 00:03:17,570 Felly gadewch i ni fynd yn ei flaen ac yn llunio hyn. 83 00:03:17,570 --> 00:03:19,490 A gallaf lunio hyn mewn cwpl o ffyrdd. 84 00:03:19,490 --> 00:03:22,010 Ac yn wythnos un, mae'r ffordd hen-ysgol a wnaethom 85 00:03:22,010 --> 00:03:26,250 yr oedd yn llythrennol yn y "hello.c chlang." command line-- 86 00:03:26,250 --> 00:03:27,596 Ac yna yr wyf daro Chofnoda. 87 00:03:27,596 --> 00:03:29,720 A dim byd yn ymddangos i ddigwydd yn y ffenestr terfynell. 88 00:03:29,720 --> 00:03:32,654 Ond yr hyn a wnaeth newid yn y DRhA? 89 00:03:32,654 --> 00:03:35,320 Lle, unwaith eto, IDE yn unig yn golygu Yr Amgylchedd Datblygu Integredig. 90 00:03:35,320 --> 00:03:38,360 Mae'n ffordd ffansi o ddweud y datblygiad integredig 91 00:03:38,360 --> 00:03:40,620 amgylchedd ar gyfer datblygu meddalwedd. 92 00:03:40,620 --> 00:03:42,477 Felly, beth yn newid yn y UI? 93 00:03:42,477 --> 00:03:44,310 Beth wnaethoch chi sylwi mae hynny'n wahanol, Maria? 94 00:03:44,310 --> 00:03:47,100 >> MARIA: Sylwais rhywbeth o dan y IDE50 ffolder i fyny yma. 95 00:03:47,100 --> 00:03:47,850 >> DAVID Malan: Yeah. 96 00:03:47,850 --> 00:03:50,230 Felly i fyny yma, nid yn unig sydd gennym "hello.c." 97 00:03:50,230 --> 00:03:53,120 Mae gennym hefyd "a.out," sydd yn fath o enw fud ar gyfer rhaglen. 98 00:03:53,120 --> 00:03:56,430 Ond yn wir, mae'n yr enw diofyn ar gyfer rhaglen pan ydych yn unig lunio eich cod 99 00:03:56,430 --> 00:03:59,110 ac nid ydynt yn dweud wrth y compiler pa ffeil allbwn. 100 00:03:59,110 --> 00:04:01,790 Felly, os wyf eisiau rhedeg hyn, yr wyf yn Mae angen i ddweud wrth y compiler-- 101 00:04:01,790 --> 00:04:05,340 neu yn hytrach, mae angen i I dweud wrth y lle gwaith yr wyf yn 102 00:04:05,340 --> 00:04:09,780 eisiau rhedeg y rhaglen o'r enw "a.out." 103 00:04:09,780 --> 00:04:10,550 Enter. 104 00:04:10,550 --> 00:04:12,474 Ac mae "helo, byd. "Erbyn hyn mae'r" ./ ". 105 00:04:12,474 --> 00:04:13,390 mewn gwirionedd bwysig. 106 00:04:13,390 --> 00:04:16,050 Hyd yn oed er fel arfer rydym yn unig ysgrifennu enwau o orchmynion, 107 00:04:16,050 --> 00:04:19,060 pan ei fod yn rhaglen eich bod wedi ysgrifenedig, ydych chi eisiau i ddweud "./" 108 00:04:19,060 --> 00:04:22,460 oherwydd dyna yn dweud yn benodol Linux eich bod eisiau rhedeg rhaglen o'r enw 109 00:04:22,460 --> 00:04:26,930 "A.out" dyna yn hyn, lle dot yn golygu y cyfeiriadur hwn fy mod ar hyn o bryd 110 00:04:26,930 --> 00:04:31,600 i mewn, sy'n digwydd bod yn a elwir yn lle gwaith, "a.out. 111 00:04:31,600 --> 00:04:35,410 Oherwydd os wyf newydd ei ddweud "a.out," Rhowch, Rydw i'n mynd i gael "a.out gorchymyn peidio 112 00:04:35,410 --> 00:04:38,035 dod o hyd "oherwydd bod y computer-- oherwydd fy mod yn dyfeisio "a.out;" 113 00:04:38,035 --> 00:04:40,910 nid oedd yn dod gyda'r computer-- nid yw'n gwybod lle i chwilio amdano, 114 00:04:40,910 --> 00:04:43,590 hyd yn oed er 'i' iawn dan fy nhrwyn, fel petai. 115 00:04:43,590 --> 00:04:44,090 IAWN. 116 00:04:44,090 --> 00:04:49,910 Felly, gallem newid hyn i fod yn "chlang -O helo hello.c." 117 00:04:49,910 --> 00:04:53,030 Ac os wyf yn taro Mewnbynnu, pa raglen mae hyn yn mynd i allbwn i mi? 118 00:04:53,030 --> 00:04:55,710 Beth yw enw'r ffeil? 119 00:04:55,710 --> 00:04:57,500 Yeah, yn ôl. 120 00:04:57,500 --> 00:04:58,479 Mae hynny'n iawn. "Helo." 121 00:04:58,479 --> 00:05:00,520 Felly, "helo" yn mynd i fod enw'r rhaglen 122 00:05:00,520 --> 00:05:04,610 oherwydd ein bod wedi defnyddio hyn a elwir yn ymresymiad llinell orchymyn, sydd ychydig 123 00:05:04,610 --> 00:05:08,120 ffordd o newid ymddygiad y compiler i allbwn mewn gwirionedd 124 00:05:08,120 --> 00:05:09,450 enw ffeil benodol. 125 00:05:09,450 --> 00:05:12,400 Ac yn wir, os wyf yn chwyddo allan ac yn edrych i fyny yma, 126 00:05:12,400 --> 00:05:17,430 yn awr yr wyf wedi nid yn unig "a.out" ac "Hello.c" ond hefyd yn "helo," yn ogystal. 127 00:05:17,430 --> 00:05:22,410 Felly, yn awr y gallaf ei wneud "./hello," Enter. 128 00:05:22,410 --> 00:05:23,640 Ac mae "helo, byd." 129 00:05:23,640 --> 00:05:25,640 Ond mae lastly-- ac mae hyn yn awr yn y confensiwn 130 00:05:25,640 --> 00:05:27,590 rydym yn defnyddio drwy gydol y semester, typically-- 131 00:05:27,590 --> 00:05:30,070 yw y gallwch hefyd jyst ddweud "helo wneud." 132 00:05:30,070 --> 00:05:33,370 Ac yn wir, mae'n dweud mae i fyny hyd yma gan ei fod eisoes yn bodoli. 133 00:05:33,370 --> 00:05:37,860 Gadewch i mi fynd yn ei flaen a chael gwared, gyda y gorchymyn rm, y ddau "a.out" - 134 00:05:37,860 --> 00:05:39,644 ac yn dweud "tynnu a.out ffeil rheolaidd?" 135 00:05:39,644 --> 00:05:41,810 Mae hynny'n ei olygu yw, a ydych siŵr eich bod am ddileu? 136 00:05:41,810 --> 00:05:42,880 Rydw i'n mynd i ddweud ie. 137 00:05:42,880 --> 00:05:46,690 Ac yna dwi'n mynd i gael gwared ar "Helo" ond nid "hello.c." 138 00:05:46,690 --> 00:05:49,920 Rydw i'n mynd i ddweud "ie" yn benodol, ond "y" yn ddigonol, yn ogystal. 139 00:05:49,920 --> 00:05:52,140 >> Ac yn awr yn sylwi os byddaf deipio ls-- sydd, galw i gof, 140 00:05:52,140 --> 00:05:55,540 golygu list-- ei fod yn rhestru pob o'r ffeiliau yn fy ffolder. 141 00:05:55,540 --> 00:05:57,850 Ac yn wir, os wyf yn chwyddo allan ac edrych ar top chwith, 142 00:05:57,850 --> 00:05:59,730 mae'n cadarnhau bod yr hyn sydd yn y ffolder hwn, hyd yn oed 143 00:05:59,730 --> 00:06:04,990 er 'i' labelu fel IDE50 fyny yma ac nid lle gwaith, dim ond "hello.c." 144 00:06:04,990 --> 00:06:09,152 Felly nawr lawr yma, os wyf peidiwch "gwneud helo," Rhowch, 145 00:06:09,152 --> 00:06:12,360 yn awr yr wyf yn gweld orchymyn llawer mwy o amser, ond mae gorchymyn mwy soffistigedig sy'n mynd 146 00:06:12,360 --> 00:06:13,940 i fod yn ddefnyddiol yn yr wythnosau i ddod. 147 00:06:13,940 --> 00:06:16,720 Ac yn awr y gallaf ddweud "./hello." 148 00:06:16,720 --> 00:06:19,257 >> Felly gadewch i ni fynd ar daith gyflym rhai Linux arall gorchmynion. 149 00:06:19,257 --> 00:06:21,840 Yna, pam nad ydym yn cymryd cam yn ôl ac mewn gwirionedd yn edrych ar C fwy 150 00:06:21,840 --> 00:06:25,020 Yn gyffredinol, trawsnewid o Scratch i C, ac yna i ben gyda golwg 151 00:06:25,020 --> 00:06:27,305 ar y broblem gyntaf a osodwyd yn C. Mae pob hawl. 152 00:06:27,305 --> 00:06:30,430 Felly, yr wyf i'n mynd i fynd yn ei flaen a dim ond yn lân i fyny fy lle gwaith gyda Control-L yn unig 153 00:06:30,430 --> 00:06:31,429 i gadw'r sgrîn daclus. 154 00:06:31,429 --> 00:06:33,520 Ond sydd heb unrhyw swyddogaethol cael effaith fel arall. 155 00:06:33,520 --> 00:06:35,820 >> Dwyn i gof bod rydym wedi gweld ychydig o orchmynion yn awr. 156 00:06:35,820 --> 00:06:39,900 Felly, rydym wedi gweld chlang, sydd yn gyffredinol ydych Ni fydd yn rhaid i weithredu â llaw anymore. 157 00:06:39,900 --> 00:06:41,650 Byddwn yn lle hynny yn defnyddio gwneud. 158 00:06:41,650 --> 00:06:45,290 Ond rydym hefyd yn gweld ls, sy'n dangos rhestr o'r ffeiliau yn fy cyfeiriadur. 159 00:06:45,290 --> 00:06:48,750 Ac yn awr pam mae there-- mae 'dau Ffeiliau yn awr, "helo" a "hello.c." 160 00:06:48,750 --> 00:06:52,240 Pam mae seren neu seren ar ôl "helo"? 161 00:06:52,240 --> 00:06:54,900 Beth oedd hynny yn arwydd, yn seiliedig ar yr hyn a welsom mewn un wythnos? 162 00:06:54,900 --> 00:06:58,852 163 00:06:58,852 --> 00:07:00,400 Beth yw eich barn? 164 00:07:00,400 --> 00:07:02,742 Beth mae'r seren yn arwyddo? 165 00:07:02,742 --> 00:07:04,614 >> MARIA: For-- y rhaglen "helo"? 166 00:07:04,614 --> 00:07:05,530 DAVID Malan: "Helo *". 167 00:07:05,530 --> 00:07:06,330 Yeah. 168 00:07:06,330 --> 00:07:07,760 O, ie? 169 00:07:07,760 --> 00:07:08,639 O, cyflawnadwy. 170 00:07:08,639 --> 00:07:09,180 Mae hynny'n iawn. 171 00:07:09,180 --> 00:07:10,890 Felly mae hynny'n golygu bod "Helo" yn weithredadwy. 172 00:07:10,890 --> 00:07:13,430 Felly yn wir, dyna pam Gallaf ei wneud "./hello." 173 00:07:13,430 --> 00:07:13,930 Iawn. 174 00:07:13,930 --> 00:07:15,179 Felly, beth arall y gallaf ei wneud yn fan hyn? 175 00:07:15,179 --> 00:07:17,290 Wel, mae'n troi allan y gallaf hefyd yn creu cyfeiriaduron. 176 00:07:17,290 --> 00:07:20,924 Felly gadewch i mi fynd yn ei flaen ac yn creu, er enghraifft, yn "pset1" cyfeiriadur. 177 00:07:20,924 --> 00:07:23,590 A'r fanyleb broblem a osodwyd Bydd yn rhaid i chi wneud yn union hynny, 178 00:07:23,590 --> 00:07:25,260 felly nid oes rhaid i chi gofio heddiw. 179 00:07:25,260 --> 00:07:27,340 Ond "pset1 mkdir" yn ymddangos i cael unrhyw effaith. 180 00:07:27,340 --> 00:07:30,540 Ond unwaith eto, dim neges gwall yn gyffredinol yn beth da. 181 00:07:30,540 --> 00:07:34,060 Felly, os wyf yn teipio "ls" now-- AH, yn awr Mae gen i ffeil weithredadwy enw 182 00:07:34,060 --> 00:07:36,570 "Helo," ffeil C o'r enw "hello.c." 183 00:07:36,570 --> 00:07:40,860 Ac yna y slaes sy'n llusgo, felly i siarad, yn golygu bod hyn yn gyfeiriadur. 184 00:07:40,860 --> 00:07:42,510 >> Felly yn wir, yn awr yr wyf am i agor. 185 00:07:42,510 --> 00:07:45,730 Ac nid wyf yn ddwywaith cliciwch arno fel mewn GUI, amgylchedd graffigol. 186 00:07:45,730 --> 00:07:48,550 Rwyf yn lle hynny yn dweud "pset1 cd." 187 00:07:48,550 --> 00:07:49,640 Enter. 188 00:07:49,640 --> 00:07:53,100 Dim byd diddorol yn ymddangos i gael digwydd ac eithrio fy brydlon bach 189 00:07:53,100 --> 00:07:57,300 Yma-- hyn yn ffordd Linux o atgoffa mi lle yr wyf, felly beth ffolder ar agor. 190 00:07:57,300 --> 00:08:00,080 Dim ond ei fod yn dweud wrthyf yn benodol yn hytrach na ffurf graffeg. 191 00:08:00,080 --> 00:08:05,100 Ac os wyf yn teipio "ls," pam ydw i'n gweld un arall brydlon ar unwaith, yn eich barn chi, 192 00:08:05,100 --> 00:08:07,269 pan fyddaf yn rhestru cynnwys pset1? 193 00:08:07,269 --> 00:08:09,310 MARIA: Rydych yn debyg nad yn ei wneud gennych unrhyw beth i mewn 'na. 194 00:08:09,310 --> 00:08:09,630 DAVID Malan: Yeah. 195 00:08:09,630 --> 00:08:11,510 Felly, yna nid ydym wedi amlwg creu unrhyw beth i mewn 'na 196 00:08:11,510 --> 00:08:13,150 oherwydd fy mod newydd ei greu cyfeiriadur. 197 00:08:13,150 --> 00:08:17,690 Yn awr, os wyf eisiau creu file-- am enghraifft, gallwn greu ffeil newydd. 198 00:08:17,690 --> 00:08:20,190 Ac yna gallwn fynd i Arbed a'i gadw fel, 199 00:08:20,190 --> 00:08:23,090 fel, "mario.c" os ydych chi'n ei wneud rhifyn safonol pset un. 200 00:08:23,090 --> 00:08:27,610 Ac yna, fel unrhyw Mac neu PC, dim ond dewiswch y ffolder "pset1, Save. 201 00:08:27,610 --> 00:08:28,740 Ac yn awr y ffeil yn wag. 202 00:08:28,740 --> 00:08:31,160 Ond gadewch i ni chwyddo i mewn eto am eiliad. 203 00:08:31,160 --> 00:08:32,470 Gadewch i ni wneud ls yma. 204 00:08:32,470 --> 00:08:34,470 Nawr rydym yn gweld "mario.c". 205 00:08:34,470 --> 00:08:37,850 >> Felly mae yna ychydig o orchmynion eraill sy'n Mae'n werth cadw mewn cof dros adeg-- 206 00:08:37,850 --> 00:08:41,200 yn glir, neu Control-L yw hyn yr wyf i wedi bod yn taro; mkdir rydym wedi gweld; 207 00:08:41,200 --> 00:08:45,240 rm rydym wedi gweld, yn ogystal, sef ar gyfer symud neu ddileu ffeil. 208 00:08:45,240 --> 00:08:49,310 Byddwch yn ofalus, gallwch also-- ac os ydych yn edrych mewn sesiynau tiwtorial ar-lein, byddwch yn Yst -rf 209 00:08:49,310 --> 00:08:52,630 yn ffordd gyffredin iawn o ddweud dileu ffolder sydd wedi stwff ynddo. 210 00:08:52,630 --> 00:08:54,280 Dim ond yn super, super ofalus. 211 00:08:54,280 --> 00:08:58,780 -rf golygu recursively ddileu beth bynnag 212 00:08:58,780 --> 00:09:01,150 ydych yn ceisio dileu ac rymus ddileu. 213 00:09:01,150 --> 00:09:04,630 Felly dulliau recursive os yw'n ffolder gyda ffolder gyda ffolder gyda ffolder, 214 00:09:04,630 --> 00:09:05,690 dileu pob un ohonynt. 215 00:09:05,690 --> 00:09:08,680 Ac rymus yn golygu ddim hyd yn oed gofyn i mi ydw neu nac ydw, a wyf yn siŵr? 216 00:09:08,680 --> 00:09:11,960 Felly mae'n ffordd super peryglus o dileu llawer o bethau yn gyflym. 217 00:09:11,960 --> 00:09:17,210 Ond yn beware-- rhy aml yn gwneud yn dewr myfyriwr yn ddamweiniol dileu, dyweder, pset 218 00:09:17,210 --> 00:09:18,000 un, er enghraifft. 219 00:09:18,000 --> 00:09:19,833 >> MARIA: Ac os byddant yn unig gwneud -R, maent yn mynd 220 00:09:19,833 --> 00:09:21,870 i ofyn iddynt am bob ffeil. 221 00:09:21,870 --> 00:09:22,790 >> DAVID Malan: Pa un yw gymharol blino. 222 00:09:22,790 --> 00:09:23,480 >> MARIA: Yeah. 223 00:09:23,480 --> 00:09:25,813 >> DAVID Malan: Felly dyna pam cymaint ohonom, hunan yn cynnwys, 224 00:09:25,813 --> 00:09:27,070 wyf yn yr arfer o ddefnyddio -rf. 225 00:09:27,070 --> 00:09:27,861 Ond mae'n beryglus. 226 00:09:27,861 --> 00:09:29,010 Felly byddwch yn ofalus prynwr. 227 00:09:29,010 --> 00:09:31,050 Ac yna mv yn fath o enwir ddiddorol. 228 00:09:31,050 --> 00:09:33,600 Felly, mae hyn yn symud gorchymyn, sy'n teimlo ychydig yn od 229 00:09:33,600 --> 00:09:37,260 oherwydd gallwch yn wir ei ddefnyddio i symud ffeiliau o un lle i'r llall. 230 00:09:37,260 --> 00:09:39,970 Er enghraifft, mae'n debyg fy mod yn smonach. 231 00:09:39,970 --> 00:09:43,660 Tybiwch fod wyf yn creu ffeil newydd ar gyfer y pset. 232 00:09:43,660 --> 00:09:46,320 Ac yr wyf yn arbed fel "greedy.c." 233 00:09:46,320 --> 00:09:49,970 Ond mae'n debyg fy mod yn ddamweiniol ei gadw yn IDE50-- hynny yn fy lle gwaith ei hun 234 00:09:49,970 --> 00:09:51,580 ac nid mewn pset1. 235 00:09:51,580 --> 00:09:53,960 >> Gallwch weld cymaint ar dop chwith. 236 00:09:53,960 --> 00:09:55,284 Mae "greedy.c." 237 00:09:55,284 --> 00:09:56,450 Ac mae ychydig o atebion. 238 00:09:56,450 --> 00:09:58,324 Felly un, gallaf ddefnyddio'r ffordd hawdd ei ddefnyddio super 239 00:09:58,324 --> 00:09:59,740 o ychydig llusgo a gollwng hi. 240 00:09:59,740 --> 00:10:01,910 A byddai hynny mewn gwirionedd atgyweiria hon broblem. 241 00:10:01,910 --> 00:10:04,967 Ond heddiw, rydym yn ceisio i edrych ar y ffyrdd mwy dirgel ond pwerus 242 00:10:04,967 --> 00:10:05,550 o wneud hyn. 243 00:10:05,550 --> 00:10:07,880 Felly gadewch i mi gymryd "ls" yn pset1. 244 00:10:07,880 --> 00:10:09,690 Ac yr wyf yn gweld "mario.c." 245 00:10:09,690 --> 00:10:13,450 Gadewch i mi fynd yn ei flaen ac yn gwneud "cd ..". 246 00:10:13,450 --> 00:10:15,320 Felly CD eto yn gyfeiriadur newid. 247 00:10:15,320 --> 00:10:18,130 ".." Yn golygu yr hyn, er bod? 248 00:10:18,130 --> 00:10:21,100 Y tro diwethaf dywedais "cd pset1 "i fynd i mewn i pset1. 249 00:10:21,100 --> 00:10:24,360 Felly, pan fyddaf yn dweud "cd ..", beth ydw i'n ei wneud? 250 00:10:24,360 --> 00:10:24,910 Backwards. 251 00:10:24,910 --> 00:10:25,150 Yeah. 252 00:10:25,150 --> 00:10:26,750 >> Felly mae'n mynd at y rhiant fel y'u gelwir. 253 00:10:26,750 --> 00:10:29,730 Ewch un lefel i fyny, fel cyffrous allan o ffolder. 254 00:10:29,730 --> 00:10:30,500 Felly Enter. 255 00:10:30,500 --> 00:10:31,900 Ac yn wir, yn edrych yr hyn a wnaeth ef. 256 00:10:31,900 --> 00:10:37,070 Symudodd i mi jyst i mewn lle gwaith yn lle hynny o mewn i pset1, sydd mewn llefydd gwaith. 257 00:10:37,070 --> 00:10:39,710 Ac yn awr os wyf yn teipio "ls", mae criw cyfan o bethau. 258 00:10:39,710 --> 00:10:41,650 Yn oes "greedy.c". 259 00:10:41,650 --> 00:10:48,720 Felly nawr gadewch i mi ddefnyddio mv i llythrennol symud "greedy.c" i mewn i pset1. 260 00:10:48,720 --> 00:10:51,120 Ac felly mae llawer o Linux orchmynion gweithio yn union fel hyn. 261 00:10:51,120 --> 00:10:54,470 Maent yn cymryd unrhyw ddadleuon neu maent yn cymryd un dadl neu eu bod yn cymryd dwy llinell orchymyn 262 00:10:54,470 --> 00:10:55,449 dadleuon ac yn y blaen. 263 00:10:55,449 --> 00:10:57,240 Ac yn yr achos hwn, mae'n gwneud yn llythrennol beth 264 00:10:57,240 --> 00:11:01,670 y mae'n ei ddweud, er succinctly-- yn symud i mewn i greedy.c pset1. 265 00:11:01,670 --> 00:11:02,310 Enter. 266 00:11:02,310 --> 00:11:03,310 Nid oes dim yn digwydd wedyn. 267 00:11:03,310 --> 00:11:06,180 Ond os wyf yn gwneud ls eto, barus wedi mynd. 268 00:11:06,180 --> 00:11:12,437 Ac os wyf yn gwneud "pset1 cd", Mewnbynnu, ac yna ls eto, erbyn hyn mae yn y lle iawn. 269 00:11:12,437 --> 00:11:14,270 Fel o'r neilltu, os am rhai reason-- arbennig 270 00:11:14,270 --> 00:11:16,194 os oes gennych ysbeidiol cysylltedd rhwydwaith 271 00:11:16,194 --> 00:11:18,360 neu os ydych yn cerdded o gwmpas campws gyda'ch clawr y gliniadur 272 00:11:18,360 --> 00:11:20,180 gau ac yna agor i fyny unwaith eto a bod eich lle gwaith 273 00:11:20,180 --> 00:11:21,730 ymddangos braidd allan o sync, dim llawer mawr. 274 00:11:21,730 --> 00:11:23,646 Dim ond ail-lwytho eich porwr ffenestr, ac y dylai 275 00:11:23,646 --> 00:11:26,339 resync fel bod y chwith file porwr edrych yn union 276 00:11:26,339 --> 00:11:27,380 fel y ffenestr terfynell. 277 00:11:27,380 --> 00:11:27,921 Beidio â phoeni. 278 00:11:27,921 --> 00:11:31,460 Pan fyddwch mewn amheuaeth, ail-lwytho'r dudalen, felly ar yr amod eich bod wedi arbed y ffeiliau yn barod. 279 00:11:31,460 --> 00:11:31,960 IAWN. 280 00:11:31,960 --> 00:11:34,710 Felly gall mv hefyd ei ddefnyddio i ail-enwi ffeiliau. 281 00:11:34,710 --> 00:11:36,760 A gadewch i ni edrych ar y gorchymyn terfynol yma. 282 00:11:36,760 --> 00:11:39,950 Felly suppose-- ac mae hyn yn super gyffredin, hefyd, yn gynnar. 283 00:11:39,950 --> 00:11:46,400 Mae rhai myfyrwyr yn achlysurol creu ffeil alw, gadewch i ni say-- beth sy'n un arall? 284 00:11:46,400 --> 00:11:47,730 Fel "WATER.C." 285 00:11:47,730 --> 00:11:51,080 Felly byddaf jyst gweiddi, ar gyfer unrhyw reswm, yn yr holl gapiau. 286 00:11:51,080 --> 00:11:53,190 Ond nid yw hyn yn enw cywir ar gyfer y ffeil 287 00:11:53,190 --> 00:11:56,660 os mai dim ond oherwydd bod ein problem a osodwyd Nid yw manyleb wnaethoch ddweud wrthych chi 288 00:11:56,660 --> 00:11:59,430 i achub y ffeil fel ag yr holl gapiau "WATER.C." 289 00:11:59,430 --> 00:12:01,320 Yn lle hynny, rydym yn disgwyl "Water.c" mewn llythrennau bach. 290 00:12:01,320 --> 00:12:03,140 Ac, mewn gwirionedd, mae hyn yn gan fod check50 problemus, 291 00:12:03,140 --> 00:12:04,370 rhaglen rydych yn mynd i gyfarfod yn broblem 292 00:12:04,370 --> 00:12:07,350 gosod un sy'n profi awtomatig cywirdeb eich cod 293 00:12:07,350 --> 00:12:11,615 yn mynd i gweiddi ar chi os na all dod o hyd i "water.c" ym mhob llythrennau bach. 294 00:12:11,615 --> 00:12:12,712 >> Felly, mae angen i mi atgyweiria hon. 295 00:12:12,712 --> 00:12:14,920 Felly, mae llawer o ffyrdd gwahanol i'r yn gwneud hyn, y cyntaf o'r rhain 296 00:12:14,920 --> 00:12:18,330 fyddai i Reoli-glicio neu dde-glicio enw'r ffeil a dim ond newid Rename. 297 00:12:18,330 --> 00:12:19,740 Hollol iawn i wneud hynny. 298 00:12:19,740 --> 00:12:21,820 Ond unwaith eto, heddiw, gadewch i ni yn ei wneud ychydig yn ffansi. 299 00:12:21,820 --> 00:12:26,680 Gadewch i ni ddefnyddio mv i newid "WATER.C" i "water.c." 300 00:12:26,680 --> 00:12:30,690 Felly gallwch hefyd ddefnyddio'r ddadl gyntaf i ailenwi'r i'r ail ddadl 301 00:12:30,690 --> 00:12:34,455 os nad yw, yr ail ddadl yw mewn wir, a folder neu enw cyfeiriadur. 302 00:12:34,455 --> 00:12:35,120 >> Iawn. 303 00:12:35,120 --> 00:12:39,560 Ac yn olaf, ychydig o trick-- felly rwy'n mewn fy cyfeiriadur lle gwaith ar hyn o bryd. 304 00:12:39,560 --> 00:12:43,660 Os ydw i eisiau mynd i mewn i pset un, Yn sicr, gallaf deipio "pset1 cd." 305 00:12:43,660 --> 00:12:47,260 Ond mae mor ddiflas i deipio "pset1" neu hirach enwau ffeiliau neu enwau cyfeiriadur 306 00:12:47,260 --> 00:12:47,980 o hyd. 307 00:12:47,980 --> 00:12:51,960 Felly, yn aml iawn yn Linux, beth y gallwch ei wneud yw dechrau teipio "ABCh" 308 00:12:51,960 --> 00:12:56,100 a dim ond yn diflasu, taro Tab, a gadewch y ffigur cyfrifiadur allan i chi. 309 00:12:56,100 --> 00:12:58,190 Super ddefnyddiol i fynd i mewn y arferiad. 310 00:12:58,190 --> 00:13:01,079 Yr unig dal yw os oes gennych ffeiliau neu ffolderi lluosog cychwyn 311 00:13:01,079 --> 00:13:02,870 â'r llythyren "t" neu "Ps," a allai fod gennych 312 00:13:02,870 --> 00:13:05,525 teipio ychydig mwy cyn y cyfrifiadur yn gwybod beth i'w wneud. 313 00:13:05,525 --> 00:13:06,820 >> MARIA: Rydym yn hoffi llwybrau byr. 314 00:13:06,820 --> 00:13:08,695 >> DAVID Malan: Bydd hyn yn arbed cymaint o amser i chi. 315 00:13:08,695 --> 00:13:11,930 A hefyd, fel y dywedasom yn y ddarlith, chi Gall sgrolio i fyny mewn hanes, i fyny ac i lawr, 316 00:13:11,930 --> 00:13:15,461 i ddod o hyd ddienyddio yn ddiweddar gorchmynion, yn ogystal. 317 00:13:15,461 --> 00:13:15,960 Iawn. 318 00:13:15,960 --> 00:13:20,904 Felly nawr, gadewch i ni droi ein sylw yn ôl i raglen syml, helo byd. 319 00:13:20,904 --> 00:13:22,195 Felly, rydym wedi llunio hyn yn union. 320 00:13:22,195 --> 00:13:24,050 Ac yn awr nid pam yr ydym yn cymryd yn edrych ar y mathau data 321 00:13:24,050 --> 00:13:26,776 ac yna pontio o rai blociau Scratch cyfateb i C. 322 00:13:26,776 --> 00:13:27,400 MARIA: Awesome. 323 00:13:27,400 --> 00:13:30,031 Felly nawr eich bod wedi dechrau ysgrifennu rhaglenni yn C, 324 00:13:30,031 --> 00:13:32,530 rydyn ni'n mynd i ddechrau siarad am fathau data a newidynnau. 325 00:13:32,530 --> 00:13:37,570 Felly, mae rhai mathau o ddata y byddwch yn Byddai eisiau gwybod dechrau nawr 326 00:13:37,570 --> 00:13:39,400 yw'r rhai sy'n cael eu hamlygu mewn glas. 327 00:13:39,400 --> 00:13:42,420 Felly mae gennym int cyntaf, sy'n sefyll am gyfanrif. 328 00:13:42,420 --> 00:13:46,075 A bod yn dal gyfanrifau, wrth i chi Efallai y bydd rhaid guessed-- felly 1, 2, 3, 329 00:13:46,075 --> 00:13:47,950 ac unrhyw cyfanrifau eraill y gallwch feddwl amdano. 330 00:13:47,950 --> 00:13:48,730 >> DAVID Malan: A hefyd negyddol. 331 00:13:48,730 --> 00:13:50,220 >> MARIA: A hefyd rhai negyddol, yep. 332 00:13:50,220 --> 00:13:51,450 A 0. 333 00:13:51,450 --> 00:13:54,250 Yna, mae gennym fflotiau, a oedd yn yn arnofio rhifau pwynt. 334 00:13:54,250 --> 00:13:58,360 Felly dyna i gyd y rhifau real sydd â phwyntiau degol. 335 00:13:58,360 --> 00:14:03,960 Felly 5.0, 5.2, a hyd yn oed yn fwy digidau ar ôl y pwynt degol, 336 00:14:03,960 --> 00:14:05,620 yn ogystal, ac mae hefyd yn rhai negyddol. 337 00:14:05,620 --> 00:14:07,530 Yna, mae gennym golosg sydd yn gymeriad. 338 00:14:07,530 --> 00:14:10,240 Felly, yr wyf yn meddwl buom yn siarad am hyn mewn darlith heddiw. 339 00:14:10,240 --> 00:14:15,682 Ond mae gennym llythyrau, am example-- A, B, C-- gellir eu storio fel torgoch. 340 00:14:15,682 --> 00:14:18,390 Ond yna mae gennym lawer mwy o symbolau gellir eu storio fel torgoch. 341 00:14:18,390 --> 00:14:22,380 A'r rhai yn cael eu storio fel ASCII. 342 00:14:22,380 --> 00:14:25,280 >> Ac yna rydym wedi bool, sy'n cael eu Booleans. 343 00:14:25,280 --> 00:14:29,067 A'r rhai gwerthuso i Gwir neu Ffug neu 1 a 0, yn y drefn honno. 344 00:14:29,067 --> 00:14:31,650 DAVID Malan: A dwyn i gof sy'n bool yn dod o'r llyfrgell CS50. 345 00:14:31,650 --> 00:14:33,300 Felly, nid yw'n hadeiladu i mewn C, ond mae'n super ddefnyddiol 346 00:14:33,300 --> 00:14:34,850 i gael y syniad o gwir a ffug. 347 00:14:34,850 --> 00:14:36,990 A hyd yn oed er eich bod Efallai think-- ffaith hwyl. 348 00:14:36,990 --> 00:14:43,700 Mae bool yn dechnegol mae angen faint o ddarnau, yn wir, i gynrychioli Gwir yn erbyn Anghywir? 349 00:14:43,700 --> 00:14:47,910 Faint o ddarnau yn eich barn chi byddai angen i chi, maximally? 350 00:14:47,910 --> 00:14:48,790 Yeah, dim ond un. 351 00:14:48,790 --> 00:14:52,077 Felly, mae'n troi allan y C Ni all roi dim ond un did i chi. 352 00:14:52,077 --> 00:14:54,160 Mae'r uned leiaf o fesur allwch gael yw wyth. 353 00:14:54,160 --> 00:14:57,090 Felly mae'n ychydig gwastraffus maent rydych yn gan ddefnyddio beit cyfan, neu wyth did, 354 00:14:57,090 --> 00:14:58,340 i gynrychioli Gwir neu Gau. 355 00:14:58,340 --> 00:15:01,807 Ond dyna dim ond y ffordd mae'n rhoi ar waith yn C gan y llyfrgell CS50. 356 00:15:01,807 --> 00:15:04,890 MARIA: Ac yna y rhai yr ydym ni'n Nid yw mynd i siarad am mor helaeth 357 00:15:04,890 --> 00:15:08,060 i'r dde now-- dwbl, mae hynny'n fflotiau mwy. 358 00:15:08,060 --> 00:15:09,811 Hir hir a byr hefyd i gyfanrifau. 359 00:15:09,811 --> 00:15:10,643 DAVID Malan: Yn wir. 360 00:15:10,643 --> 00:15:13,190 Yn y rhifyn haciwr o pset un, rydym yn ei ddefnyddio hir hir. 361 00:15:13,190 --> 00:15:15,801 Ond ar gyfer y rhifyn safonol, Ni ddylai fod yn angenrheidiol. 362 00:15:15,801 --> 00:15:16,300 MARIA: Cool. 363 00:15:16,300 --> 00:15:17,361 IAWN. 364 00:15:17,361 --> 00:15:20,110 Felly operators-- dylech fod yn ôl pob tebyg yn gyfarwydd â'r rhan fwyaf o'r rhain. 365 00:15:20,110 --> 00:15:22,620 Hefyd, +; tynnu, -. 366 00:15:22,620 --> 00:15:24,070 Ar gyfer lluosi, mae gennym y *. 367 00:15:24,070 --> 00:15:25,900 Felly, nid yw'r X yr ydym fel arfer yn defnyddio. 368 00:15:25,900 --> 00:15:27,840 Yr Is-adran, mae gennym y slaes. 369 00:15:27,840 --> 00:15:31,380 Ac mae modulo yw ein gweithredwr diwethaf fod rydym yn mynd i siarad am ar hyn o bryd. 370 00:15:31,380 --> 00:15:35,610 Mae'n gweithredydd sy'n caniatáu i ni cymryd gweddill adran. 371 00:15:35,610 --> 00:15:40,630 Felly, os ydym wedi 4% 2, 4 wedi'i rannu erbyn 2 yw 2 gyda gweddill 0. 372 00:15:40,630 --> 00:15:41,740 Felly 4% 2 yw 0. 373 00:15:41,740 --> 00:15:42,950 4% 3 yn 1. 374 00:15:42,950 --> 00:15:44,870 4% 5 yw 4, gan y gallech wedi dyfalu. 375 00:15:44,870 --> 00:15:48,860 A chofiwch wrth ddefnyddio'r pob un o'r rhain gweithredwyr i ddefnyddio'r rheolau PEMDAS. 376 00:15:48,860 --> 00:15:54,060 >> DAVID Malan: Felly, i fod yn glir, os ydych gwneud 4% 2, pam yw bod 0, yn union? 377 00:15:54,060 --> 00:15:57,480 >> MARIA: Achos 4 rannu gan 2 yw 2 gyda gweddill 0. 378 00:15:57,480 --> 00:16:00,752 Felly modulo yn rhoi y gweddill â ni gwrthwynebu i'r canlyniad yr is-adran. 379 00:16:00,752 --> 00:16:02,960 DAVID Malan: Ac yn wir, yr hyn y byddwn yn gweld hyn yn ddefnyddiol 380 00:16:02,960 --> 00:16:05,640 i yw bod mewn rhai problemau nid yw hynny o reidrwydd yn un, 381 00:16:05,640 --> 00:16:08,040 os ydych am gael y effaith o gyfyngu eich hun 382 00:16:08,040 --> 00:16:10,720 i ystod o rifau fel 0 drwy rywbeth, 383 00:16:10,720 --> 00:16:13,904 gallwch ddefnyddio modulo i lapio o gwmpas gynharach nag fel yr 2000000000 384 00:16:13,904 --> 00:16:16,320 neu mae'r 4 biliwn a gwerth y rydym wedi trafod yn y ddarlith. 385 00:16:16,320 --> 00:16:16,870 >> MARIA: Yeah. 386 00:16:16,870 --> 00:16:19,429 A hyd yn oed yn "barus" gallem. 387 00:16:19,429 --> 00:16:21,345 DAVID Malan: Oes, yn problem sefydlu un, yn ogystal. 388 00:16:21,345 --> 00:16:22,520 MARIA: Yeah, 'n glws. 389 00:16:22,520 --> 00:16:24,340 DAVID Malan: awgrym da. 390 00:16:24,340 --> 00:16:25,750 MARIA: Mae'n ddrwg gennyf. 391 00:16:25,750 --> 00:16:28,590 Boolean expressions-- felly ar gyfer gweithredwyr Boole, 392 00:16:28,590 --> 00:16:31,770 rydym yn mynd i siarad am yr holl y bod y rhain a welwch yma. 393 00:16:31,770 --> 00:16:35,310 Felly ar hyn o bryd, mae gennym ddau arwyddion cyfartal a restrwyd ar gyfer gyfartal. 394 00:16:35,310 --> 00:16:38,650 Felly, y rhai ar gyfer cymharu. 395 00:16:38,650 --> 00:16:40,830 Hyd yn hyn, rydym wedi gweld dim ond un arwydd hafal. 396 00:16:40,830 --> 00:16:44,870 Dyna pryd yr ydym yn neilltuo gwerth i newidyn. 397 00:16:44,870 --> 00:16:50,160 Felly, os ydym wedi gweld int n = 5, ac yna rydym wedi neilltuo 5 i n amrywiol. 398 00:16:50,160 --> 00:16:55,600 Ond os ydym eisiau defnyddio == am cymhariaeth, gallwn gadarnhau a oes n == 5. 399 00:16:55,600 --> 00:16:58,310 Ac os n == 5, yna mae hynny'n wir. 400 00:16:58,310 --> 00:17:01,950 >> Gweithredwyr Felly Boolean caniatáu i ni, yn y bôn, 401 00:17:01,950 --> 00:17:04,670 i werthuso Boolean ymadroddion i Gwir neu Gau. 402 00:17:04,670 --> 00:17:07,819 Felly nid equals-- gennym y ebychnod a gydradd. 403 00:17:07,819 --> 00:17:14,240 Felly, gallem hefyd gadarnhau a oes n nid yw'n gyfartal 5-- felly n! = 5. 404 00:17:14,240 --> 00:17:17,640 Llai na, llai na neu'n hafal i, fwy na, fwy na neu'n hafal i, 405 00:17:17,640 --> 00:17:20,720 ac yna mae gennym y rhesymegol A a'r rhesymegol OR. 406 00:17:20,720 --> 00:17:24,060 A'r rhai yn ein galluogi i werthuso ymadroddion Boole lluosog at ei gilydd 407 00:17:24,060 --> 00:17:27,930 i ddod at ei gilydd fel y bôn un mynegiad Boole cyfan. 408 00:17:27,930 --> 00:17:34,970 Felly, os ydym am ddod o hyd i rif, yn dweud, sy'n fwy na 5 ond yn llai na 15 409 00:17:34,970 --> 00:17:39,810 ar yr un pryd, byddem yn defnyddio'r rhesymegol AC gweithredwr i weld a yw n yw 410 00:17:39,810 --> 00:17:42,937 sy'n fwy na 5 && n llai na 15. 411 00:17:42,937 --> 00:17:44,770 DAVID Malan: Ac yma, hefyd, mae'n hawdd iawn 412 00:17:44,770 --> 00:17:47,290 gynnar i ddamweiniol Defnyddiwch dim ond ampersand sengl 413 00:17:47,290 --> 00:17:48,572 neu far fertigol sengl. 414 00:17:48,572 --> 00:17:51,280 A gobeithio y bydd compiler gweiddi ar chi oherwydd eu bod mewn gwirionedd 415 00:17:51,280 --> 00:17:52,530 ag ystyr gwahanol iawn. 416 00:17:52,530 --> 00:17:55,660 Ar gyfer y rhai chwilfrydig, maen nhw'n a ddefnyddir ar gyfer gweithrediadau bitwise, 417 00:17:55,660 --> 00:17:57,197 gweithredu ar ddarnau unigol. 418 00:17:57,197 --> 00:17:58,780 Ond chi ei wneud am i'r pâr ohonynt yma. 419 00:17:58,780 --> 00:18:01,560 A super bwysig yw bod un cyntaf, yr arwydd cyfartal, 420 00:18:01,560 --> 00:18:05,270 sef y gweithredwr cydraddoldeb fel hytrach na'r gweithredwr aseiniad. 421 00:18:05,270 --> 00:18:08,552 >> MARIA: A'r bar fertigol yn lleoli rhwng y Delete a Dychwelyd. 422 00:18:08,552 --> 00:18:09,260 DAVID Malan: Ydw. 423 00:18:09,260 --> 00:18:11,420 Ar nodweddiadol bysellfwrdd Unol Daleithiau. 424 00:18:11,420 --> 00:18:13,190 >> MARIA: Yep. 425 00:18:13,190 --> 00:18:15,890 Felly gadewch i ni neidio i'r dde i mewn Datganiadau amodol. 426 00:18:15,890 --> 00:18:18,300 Yn Scratch, eich bod wedi weld yn barod, yn ôl pob tebyg, 427 00:18:18,300 --> 00:18:22,730 os datganiadau sy'n eich galluogi i gadarnhau a oes rhywbeth yn wir, yna 428 00:18:22,730 --> 00:18:23,660 gwneud rhywbeth arall. 429 00:18:23,660 --> 00:18:28,410 Felly, efallai y byddwch wedi bod eisiau i wirio a yw eich corlun yn 430 00:18:28,410 --> 00:18:31,410 cyffwrdd rhyw corlun arall neu y ffin o'r sgrin. 431 00:18:31,410 --> 00:18:35,520 Ac yna efallai y byddwch wedi bod yn awyddus i terfyn ar y gêm, neu wneud rhywbeth arall. 432 00:18:35,520 --> 00:18:40,000 Felly mae'r cystrawen ar gyfer hynny yw "os (cyflwr)." 433 00:18:40,000 --> 00:18:46,820 Felly os yw eich corlun yn cyffwrdd rhywbeth, yna peidiwch yw tu mewn i'r braces cyrliog. 434 00:18:46,820 --> 00:18:48,980 >> Yna, mae gennym ddatganiadau os-arall. 435 00:18:48,980 --> 00:18:54,080 Else yn caniatáu i ni wneud rhywbeth os yw'r cyflwr yr ydym 436 00:18:54,080 --> 00:18:55,870 yw'n edrych am yn y dechrau yn wir. 437 00:18:55,870 --> 00:19:01,530 Felly, os y corlun yn cyffwrdd y border yn gwneud hyn, arall yn gwneud rhywbeth arall. 438 00:19:01,530 --> 00:19:04,030 Felly, fel arall yn gwneud rhywbeth arall. 439 00:19:04,030 --> 00:19:07,530 Yna, mae gennym enghraifft fer ar gyfer hyn. 440 00:19:07,530 --> 00:19:11,551 Felly os (military_time <12), rydym yn eisiau printf "Bore da!" 441 00:19:11,551 --> 00:19:13,300 Arall rydyn ni'n mynd i printf "Noswaith dda!" 442 00:19:13,300 --> 00:19:14,860 Enghraifft Sylfaenol. 443 00:19:14,860 --> 00:19:15,680 >> DAVID Malan: Da. 444 00:19:15,680 --> 00:19:16,760 >> MARIA: Cool. 445 00:19:16,760 --> 00:19:18,560 Felly, erbyn hyn mae gennym ddatganiadau switsh. 446 00:19:18,560 --> 00:19:21,960 Datganiadau mewn tun gyffredinol Switch yn ein galluogi i wneud llawer o'r un peth 447 00:19:21,960 --> 00:19:25,070 yr ydym newydd ei siarad am â os ddatganiadau. 448 00:19:25,070 --> 00:19:29,440 Er enghraifft, ar hyn o bryd mae gennym y ffurf cyffredinol y datganiad switsh 449 00:19:29,440 --> 00:19:33,870 sy'n ein galluogi i gymryd newidyn a elwir yn n 450 00:19:33,870 --> 00:19:37,670 a'i gymharu i lawer o gwahanol werthoedd, sy'n dyma ni 451 00:19:37,670 --> 00:19:40,010 wedi galw constant1, constant2. 452 00:19:40,010 --> 00:19:41,150 Efallai y byddwn yn cael llawer mwy. 453 00:19:41,150 --> 00:19:42,930 A gelwir y rhai yn achosion. 454 00:19:42,930 --> 00:19:46,280 >> Felly, os oes gennym switsh statement-- ac mae hyn yn gweithio 455 00:19:46,280 --> 00:19:50,580 dim ond ar gyfer integers-- gennym newidyn yn yr achos hwn mae hynny'n n. 456 00:19:50,580 --> 00:19:53,840 Os bydd y n amrywio yn cyfartal i constant1, rydym yn 457 00:19:53,840 --> 00:19:59,720 Bydd gweithredu rhyw snippet o god neu rhywbeth yr ydym am ei wneud. 458 00:19:59,720 --> 00:20:01,280 Ac yna byddem yn torri. 459 00:20:01,280 --> 00:20:04,820 Felly y toriad yn golygu bod y datganiad switsh 460 00:20:04,820 --> 00:20:08,120 Bydd rhoi'r gorau i weithredu os n yn hafal i constant1, 461 00:20:08,120 --> 00:20:09,752 ac yna bydd eich rhaglen yn parhau. 462 00:20:09,752 --> 00:20:11,835 Bydd yn gadael allan o'r newid datganiad ac mae'n chi helpu 463 00:20:11,835 --> 00:20:13,520 parhau i wneud rhywbeth arall. 464 00:20:13,520 --> 00:20:17,204 >> Os, fodd bynnag, nid yw'n n gyfartal constant1, yna achos dros constant2 465 00:20:17,204 --> 00:20:17,870 yn cael eu gwirio. 466 00:20:17,870 --> 00:20:21,750 Felly, os n hafal constant2, hynny arall Bydd snippet cod gael eu gweithredu. 467 00:20:21,750 --> 00:20:23,850 Ac yna bydd yn torri os yw hynny'n gyfartal iddo. 468 00:20:23,850 --> 00:20:27,580 Ac yna gallwn gael also-- nid o reidrwydd, though-- achos diofyn, 469 00:20:27,580 --> 00:20:32,290 a fydd yn digwydd os nad yw'n n gyfartal unrhyw un o'r achosion yr ydych wedi'u rhestru. 470 00:20:32,290 --> 00:20:35,400 Ac yn yr achos ball, rydym hefyd yn Nid oes angen seibiant o reidrwydd 471 00:20:35,400 --> 00:20:39,271 oherwydd bydd y datganiad switsh yn gwybod bod angen iddo i ben ar ôl 'r ball 472 00:20:39,271 --> 00:20:40,270 achos os yw hynny'n wir. 473 00:20:40,270 --> 00:20:42,140 >> DAVID Malan: Ond yn arddull, rydym bob amser yn ei roi mewn 'na. 474 00:20:42,140 --> 00:20:42,540 >> MARIA: Yeah. 475 00:20:42,540 --> 00:20:42,710 >> DAVID Malan: Yeah. 476 00:20:42,710 --> 00:20:44,750 Felly, yn enwedig wrth ddechrau allan, yn enwedig os ymhlith y rhai llai 477 00:20:44,750 --> 00:20:47,458 cyfforddus, Hoffwn yn bersonol dim ond yn argymell aros gyda'r IFS 478 00:20:47,458 --> 00:20:51,564 ac IFS-elses ac os-arall-os-elses ac yn y blaen os mai dim ond 479 00:20:51,564 --> 00:20:53,480 oherwydd eu bod ychydig yn yn symlach. 480 00:20:53,480 --> 00:20:56,142 Mae hwn yn Optimization braf, neu weithiau hyd yn oed esthetaidd ei 481 00:20:56,142 --> 00:20:57,350 gwneud y cod fwy darllenadwy. 482 00:20:57,350 --> 00:20:59,599 Ac yn wir, yn ôl pob tebyg canol-semester byddwn yn gweld problem 483 00:20:59,599 --> 00:21:02,504 gosod ble 'i jyst yn edrych yn well ac yn haws i'w ddarllen gyfer y bobl 484 00:21:02,504 --> 00:21:03,670 drwy ddefnyddio datganiad switsh. 485 00:21:03,670 --> 00:21:05,460 Ond peidiwch â phoeni am glynu at hyn yn rhy gynnar. 486 00:21:05,460 --> 00:21:05,680 >> MARIA: Yeah. 487 00:21:05,680 --> 00:21:08,840 Os oes gennych lawer o os ddatganiadau, dim ond nid allai fod yn ddarllenadwy iawn. 488 00:21:08,840 --> 00:21:10,965 Efallai na fydd yn gyflym iawn i chi fynd drwyddo. 489 00:21:10,965 --> 00:21:13,230 Felly newid ddatganiadau y gall fod yn ddefnyddiol iawn, yn ogystal. 490 00:21:13,230 --> 00:21:17,900 A hefyd, peidiwch â remember-- peidiwch anghofio rhoi egwyl i mewn 'na. 491 00:21:17,900 --> 00:21:20,330 >> DAVID Malan: Ddim yn cofio hyn. 492 00:21:20,330 --> 00:21:24,890 >> MARIA: Gan fod yna efallai y byddwch yn dod o drwy o un achos i'r llall. 493 00:21:24,890 --> 00:21:27,930 Felly, gadewch i ni ddweud bod constant1 achos Nid oedd gennych ddatganiad toriad ynddi. 494 00:21:27,930 --> 00:21:31,920 Yna, efallai y byddwn yn syrthio trwy constant2 achosion y tu mewn. 495 00:21:31,920 --> 00:21:35,070 Ac nid ydym am wneud hynny, os rydym eisoes wedi cyrraedd constant1 achos 496 00:21:35,070 --> 00:21:37,830 ac mae'n hafal i'r n. 497 00:21:37,830 --> 00:21:45,100 >> Felly, er enghraifft, os oes gennym newidyn n sy'n cynnwys nifer ddosbarth, 498 00:21:45,100 --> 00:21:48,990 ac yr ydym am weld beth sy'n dosbarth yw-- os n hafal 50, 499 00:21:48,990 --> 00:21:51,957 ydym yn mynd i argraffu "CS50 yn Cyflwyniad i Cyfrifiadureg I. " 500 00:21:51,957 --> 00:21:53,040 Yna, rydym yn mynd i dorri. 501 00:21:53,040 --> 00:21:53,920 A dyna ni. 502 00:21:53,920 --> 00:21:55,950 Os, fodd bynnag, n yn gyfartal i 51, rydym yn mynd 503 00:21:55,950 --> 00:21:58,494 i argraffu "CS51 yw Cyflwyniad i Cyfrifiadureg II. " 504 00:21:58,494 --> 00:21:59,910 Yna, unwaith eto, rydym yn mynd i dorri. 505 00:21:59,910 --> 00:22:05,080 Fodd bynnag, os hynny rydym yn rhoi 124, 61, unrhyw Rhif arall y byddech yn ei feddwl am, 506 00:22:05,080 --> 00:22:06,890 neu beidio rhaglen yn mynd i gydnabod hynny. 507 00:22:06,890 --> 00:22:09,010 Felly, mae'n mynd i ddweud, "Mae'n ddrwg gennym, rwy'n nad ydynt yn gyfarwydd â'r dosbarth hwnnw. " 508 00:22:09,010 --> 00:22:10,009 Ac mae'n mynd i dorri. 509 00:22:10,009 --> 00:22:12,847 DAVID Malan: Felly, gallwch chi wir yn gweld mae'r os, arall os, arall syniad yma. 510 00:22:12,847 --> 00:22:15,430 Mae'n cystrawen jyst yn wahanol ar gyfer fynegi'r un syniad union. 511 00:22:15,430 --> 00:22:17,690 >> MARIA: Yn union. 512 00:22:17,690 --> 00:22:19,480 Nawr rydym wedi ein gweithredwyr teiran. 513 00:22:19,480 --> 00:22:24,900 Gweithredwyr Felly teiran cael tri parts-- amod, 514 00:22:24,900 --> 00:22:27,220 rhywbeth i'w wneud os amod hwnnw yn wir, 515 00:22:27,220 --> 00:22:29,730 ac yna rhywbeth i'w wneud os yw cyflwr sy'n anwir. 516 00:22:29,730 --> 00:22:33,400 Felly, byddwch yn gweld, yn y bôn, cystrawen hynny yma. 517 00:22:33,400 --> 00:22:37,792 Mae gennym y marc cwestiwn, a Yna the-- beth ydym yn galw hyn? 518 00:22:37,792 --> 00:22:38,750 DAVID Malan: Y colon. 519 00:22:38,750 --> 00:22:39,100 MARIA: Colon. 520 00:22:39,100 --> 00:22:39,599 Diolch. 521 00:22:39,599 --> 00:22:41,880 Mae'n ddrwg gennym. 522 00:22:41,880 --> 00:22:45,800 Felly gadewch i ni edrych ar ein esiampl i weld a allwn ni wneud synnwyr o this-- 523 00:22:45,800 --> 00:22:47,840 == class_num 50. 524 00:22:47,840 --> 00:22:52,580 Felly dyma ni weld ein gweithredwr Boole == sy'n cymharu class_num amrywiol 525 00:22:52,580 --> 00:22:53,100 i 50. 526 00:22:53,100 --> 00:22:55,150 Siopau Felly class_num yn gyfanrif. 527 00:22:55,150 --> 00:22:58,180 Ac os y cyfanrif yn hafal i 50, yna rydym yn 528 00:22:58,180 --> 00:23:02,810 mynd i storio "David Malan" y tu mewn i'r athro llinyn. 529 00:23:02,810 --> 00:23:05,912 Os nad yw rhif y dosbarth yn gwneud yn gyfartal 50, "Nid yw David Malan" 530 00:23:05,912 --> 00:23:07,120 yn mynd i fod yr athro. 531 00:23:07,120 --> 00:23:08,630 >> DAVID Malan: Diolch yn fawr. 532 00:23:08,630 --> 00:23:12,110 Ac felly mae hyn yn ymddangos cyfateb i beth, fyddech chi'n dweud, ar yr olwg gyntaf? 533 00:23:12,110 --> 00:23:17,930 534 00:23:17,930 --> 00:23:19,960 >> MARIA: I mi mae'n ymddangos fel arall-os ddatganiadau. 535 00:23:19,960 --> 00:23:20,709 >> DAVID Malan: Yeah. 536 00:23:20,709 --> 00:23:24,020 Ac yn wir, mae hyn yn garedig o 'n bert un leinin, 537 00:23:24,020 --> 00:23:27,520 fel petai, ar gyfer gweithredu yn union y rhesymeg os-arall 538 00:23:27,520 --> 00:23:29,010 ond gwneud popeth mewn un cam. 539 00:23:29,010 --> 00:23:29,860 >> MARIA: Yn union. 540 00:23:29,860 --> 00:23:30,360 Yeah. 541 00:23:30,360 --> 00:23:33,520 Felly, os-arall ddatganiadau gallai cymryd llawer o le. 542 00:23:33,520 --> 00:23:36,283 Efallai eu bod yn rhy hir am rhywbeth mor syml â hyn. 543 00:23:36,283 --> 00:23:38,350 Felly gall hyn fod yn iawn cryno a iawn 'n glws. 544 00:23:38,350 --> 00:23:40,880 545 00:23:40,880 --> 00:23:46,820 Felly nawr rydym yn mynd i mewn i edrych ar gweithredu rhywbeth eto ac eto, 546 00:23:46,820 --> 00:23:50,060 felly wirio am cyflwr sawl gwaith 547 00:23:50,060 --> 00:23:53,510 ac yna barhau i wneud rhywbeth tra bod amod hwnnw yn wir. 548 00:23:53,510 --> 00:23:56,740 Felly, mae hyn yn dod â ni 'n glws i mewn i dolennau tra. 549 00:23:56,740 --> 00:23:59,270 >> I'r chwith, mae gennym ein dolen tra gyntaf. 550 00:23:59,270 --> 00:24:03,840 Felly, er rhywbeth yn wir, yn gwneud rhywbeth eto ac eto. 551 00:24:03,840 --> 00:24:08,850 Felly gwnewch yn siwr i hysbysiad bod ein cyflwr yma cael ei ddilysu ar y brig. 552 00:24:08,850 --> 00:24:14,150 Tra gyda'n hail loop-- rydym yn galw bod gwneud-tra loop-- ni wneud rhywbeth, 553 00:24:14,150 --> 00:24:15,890 Yna, rydym yn gwirio ar gyfer cyflwr. 554 00:24:15,890 --> 00:24:17,980 Ac os amod hwnnw yn parhau i fod yn wir, 555 00:24:17,980 --> 00:24:20,150 rydym yn mynd yn ôl ac yn gwneud y peth eto. 556 00:24:20,150 --> 00:24:23,360 Felly, y prif wahaniaeth yw lle y cyflwr yn cael ei wirio ar gyfer. 557 00:24:23,360 --> 00:24:29,260 Ac efallai y bydd y cod byth yn ddienyddio os nad yw'r cyflwr yn 558 00:24:29,260 --> 00:24:30,430 yn wir gyda'r ddolen tra. 559 00:24:30,430 --> 00:24:33,050 Tra gyda'r do-tra dolen, mae gennym y cod 560 00:24:33,050 --> 00:24:35,380 sydd bob amser yn cael ei gyflawni o leiaf unwaith. 561 00:24:35,380 --> 00:24:37,470 Ac yna tra bod y cyflwr yn parhau i fod yn wir, 562 00:24:37,470 --> 00:24:39,960 gallwn fynd yn ôl a ailadrodd unwaith eto y tu mewn. 563 00:24:39,960 --> 00:24:43,625 Felly pam yn eich barn chi byddem yn defnyddio a gwneud-tra ddolen dros dolen tra? 564 00:24:43,625 --> 00:24:48,221 565 00:24:48,221 --> 00:24:48,720 Hawl. 566 00:24:48,720 --> 00:24:52,600 Felly os ydym am annog y defnyddwyr ar gyfer rhyw fath o fewnbwn, 567 00:24:52,600 --> 00:24:55,400 os ydym am ofyn iddynt i fynd i mewn eu henw, 568 00:24:55,400 --> 00:24:57,342 rydym am o leiaf ofyn iddynt unwaith. 569 00:24:57,342 --> 00:24:59,050 Ac os ydynt yn mynd i mewn a enwa, nid ydym yn 570 00:24:59,050 --> 00:25:00,740 mynd i ofyn iddynt eto gan ein bod eisoes yn gwybod ei fod. 571 00:25:00,740 --> 00:25:02,656 Ond os nad ydynt yn mynd i mewn eu henw, neu os ydynt 572 00:25:02,656 --> 00:25:05,787 mynd i mewn rhywbeth sy'n Yn amlwg, nid enw, 573 00:25:05,787 --> 00:25:08,120 rydym yn dal yn awyddus i barhau gofyn iddynt ar gyfer eu henw. 574 00:25:08,120 --> 00:25:10,710 >> DAVID Malan: Ac yn y ddarlith oedd gennym un fel hyn gyda'r cael int cadarnhaol 575 00:25:10,710 --> 00:25:13,550 enghraifft, lle does dim byd i gwirio ar y dechrau oherwydd nad ydych wedi hyd yn oed 576 00:25:13,550 --> 00:25:14,190 gotten yn int. 577 00:25:14,190 --> 00:25:16,680 Felly rydym am ei wneud this-- cael int gan y user-- 578 00:25:16,680 --> 00:25:18,860 yna ei wirio, efallai, dro ar ôl tro ar ôl tro. 579 00:25:18,860 --> 00:25:21,030 >> MARIA: Yn union. 580 00:25:21,030 --> 00:25:22,060 Ar gyfer OK loops--. 581 00:25:22,060 --> 00:25:25,842 Ar gyfer y gall dolenni yn ein galluogi i wneud bron yr un peth yn union, yn ogystal. 582 00:25:25,842 --> 00:25:27,300 Mae'n mewn gwirionedd yr un peth yn union. 583 00:25:27,300 --> 00:25:30,190 Felly does dim byd sy'n gallwch ei wneud gyda gyfer dolenni 584 00:25:30,190 --> 00:25:32,840 na fyddech yn gallu i'w wneud gyda dolenni tra. 585 00:25:32,840 --> 00:25:36,900 Ond ar gyfer dolenni yn ymddangos ychydig yn ychydig yn fwy cymhleth syntactically 586 00:25:36,900 --> 00:25:39,730 oherwydd bod ganddynt tair rhan y tu mewn yr hyn 587 00:25:39,730 --> 00:25:42,990 oedd cyn dim ond y cyflwr gyda dolenni tra. 588 00:25:42,990 --> 00:25:48,260 Felly, y rhan gyntaf eich bod yn y môr, y chwith-fwyaf, rydym wedi "int dwarves = 0." 589 00:25:48,260 --> 00:25:51,490 Felly, dyma lle yr ydym ymgychwyn ein amrywiol. 590 00:25:51,490 --> 00:25:55,210 >> Yna, mae gennym hanner colon a "dwarves <7." 591 00:25:55,210 --> 00:25:57,100 Felly dyma lle allan cyflwr mewn gwirionedd. 592 00:25:57,100 --> 00:26:00,170 Felly dyna beth y byddem yn cael rhoi yn unig yn y tra loop-- 593 00:26:00,170 --> 00:26:01,880 "Tra dwarves <7." 594 00:26:01,880 --> 00:26:05,380 Yma, sy'n mynd yn y nghanol ein gyfer dolen. 595 00:26:05,380 --> 00:26:07,190 Felly, "dwaves <7." 596 00:26:07,190 --> 00:26:11,350 Ac yna mae ein rhan olaf yw "dwarves ++," a dyna lle rydym yn diweddaru ein amrywiol. 597 00:26:11,350 --> 00:26:15,470 Felly, y peth pwysig i sylweddoli yw bod hyn 598 00:26:15,470 --> 00:26:22,010 yn mynd i fynd drwy hyn ar gyfer dolen saith gwaith a gweithredu saith gwaith. 599 00:26:22,010 --> 00:26:24,020 Felly mae gennym saith dwarves, ac maen nhw i gyd 600 00:26:24,020 --> 00:26:26,020 yn mynd i ddweud, "Rwyf yma i'ch helpu chi, Eira Wen " 601 00:26:26,020 --> 00:26:28,860 oherwydd eu bod yn barod i helpu Snow White. 602 00:26:28,860 --> 00:26:33,600 >> Gyda tra dolenni, byddem wedi gwneud y initialization a diweddaru 603 00:26:33,600 --> 00:26:37,490 Nid yw tu mewn i'r cyflwr, unwaith eto, ond naill ai cyn neu y tu mewn i'r ddolen tra 604 00:26:37,490 --> 00:26:40,210 i wneud yn siŵr bod we-- oherwydd rydym bob amser angen rhannau hynny. 605 00:26:40,210 --> 00:26:42,835 Felly, er mwyn gwneud yn siŵr ein bod yn cael hwy, byddem yn i wedi dal yn eu hychwanegu 606 00:26:42,835 --> 00:26:44,580 ar, dim ond nid y tu mewn i'r cromfachau. 607 00:26:44,580 --> 00:26:47,288 >> DAVID Malan: Ac felly mae'n edrych yn like-- yn y ddarlith, er enghraifft, 608 00:26:47,288 --> 00:26:50,250 Rwyf bron bob amser yn defnyddio, fel, fi a n a newidynnau eithaf diflas. 609 00:26:50,250 --> 00:26:53,050 Mae'n edrych yn debyg y gallwch ddefnyddio mwy newidynnau a enwir cleverly, hefyd. 610 00:26:53,050 --> 00:26:56,300 >> MARIA: Yeah, mewn gwirionedd mae'n neis iawn i ddefnyddio newidynnau ychydig yn fwy disgrifiadol 611 00:26:56,300 --> 00:26:59,400 oherwydd yn enwedig os oes rhywun arall yn ddarllen eich code-- efallai eich bod grader 612 00:26:59,400 --> 00:27:00,940 neu os ydych yn cydweithio gyda somebody-- 613 00:27:00,940 --> 00:27:03,481 ydych am wneud yn siŵr eu bod yn yn deall yr hyn yr ydych yn ei wneud. 614 00:27:03,481 --> 00:27:05,750 615 00:27:05,750 --> 00:27:06,400 >> IAWN. 616 00:27:06,400 --> 00:27:11,435 Felly, mae hyn yn rhywbeth funky-- iawn am ddolen y tu mewn i am ddolen. 617 00:27:11,435 --> 00:27:13,060 Nid wyf yn gwybod a ydym wedi gweld hyn o'r blaen. 618 00:27:13,060 --> 00:27:13,830 Mae'n debyg nad. 619 00:27:13,830 --> 00:27:17,750 Ond gallwn mewn gwirionedd yn cael this-- felly dolenni yn lle dolenni. 620 00:27:17,750 --> 00:27:25,130 Felly oes unrhyw un yn dymuno cerdded efallai fi drwy hyn sy'n digwydd yma? 621 00:27:25,130 --> 00:27:28,240 622 00:27:28,240 --> 00:27:29,490 DAVID Malan: 'n annhymerus' yn cymryd drywanu. 623 00:27:29,490 --> 00:27:29,970 MARIA: Cool. 624 00:27:29,970 --> 00:27:30,636 DAVID Malan: Iawn. 625 00:27:30,636 --> 00:27:34,690 Felly, spoiler-- rydym am argraffu'r stwff hynny sydd yn y gornel dde isaf 626 00:27:34,690 --> 00:27:35,190 yno. 627 00:27:35,190 --> 00:27:35,450 >> MARIA: Iawn. 628 00:27:35,450 --> 00:27:35,710 Yeah, yeah. 629 00:27:35,710 --> 00:27:38,043 >> DAVID Malan: Felly rydym wedi dim ond roi hynny allbwn sampl yno. 630 00:27:38,043 --> 00:27:42,590 Felly gallaf gasglu oddi wrth y dolen topmost eich bod yn 631 00:27:42,590 --> 00:27:45,680 ailadrodd dros rhesi yr dolen pellaf, fel petai. 632 00:27:45,680 --> 00:27:48,107 Ac rydych yn ailadrodd drosodd colofnau gyda'r ddolen dyfnaf. 633 00:27:48,107 --> 00:27:50,190 Ac yn reddfol, mae hyn yn Dylai gobeithio, yn gwneud synnwyr 634 00:27:50,190 --> 00:27:52,070 oherwydd erbyn natur y pob rhaglen yr ydym wedi gweld 635 00:27:52,070 --> 00:27:55,570 o'r blaen, printf, sef y swyddogaeth yr ydym yn ei ddefnyddio, yn y pen draw, 636 00:27:55,570 --> 00:27:58,190 y gallu i argraffu pethau allan yn y bôn fesul llinell. 637 00:27:58,190 --> 00:27:59,960 Fel, unwaith y byddwch wedi outputted llinell newydd, mae ' 638 00:27:59,960 --> 00:28:02,876 dim dyblu yn ôl ac argraffu rhywbeth uwch yn y sgrîn, o leiaf 639 00:28:02,876 --> 00:28:04,530 peidio â defnyddio printf fel hyn. 640 00:28:04,530 --> 00:28:07,750 >> Ac felly yn hynny o beth, mae'n gwneud ystyr bod y ddolen pellaf 641 00:28:07,750 --> 00:28:10,930 Dylid cyfeirio at y rhesi oherwydd ar gyfer pob rhoddir rhes, 642 00:28:10,930 --> 00:28:13,650 ydych yn mynd i eisiau argraffu XXXXX, ac yna 643 00:28:13,650 --> 00:28:15,520 symud ymlaen i'r rhes nesaf, XXXXX. 644 00:28:15,520 --> 00:28:17,317 Felly rhesi dod yn gyntaf. 645 00:28:17,317 --> 00:28:19,150 Ac yna o fewn pob rhes, byddwch yn argraffu colofnau. 646 00:28:19,150 --> 00:28:21,160 Os byddwch yn ceisio gwneud iddo y gyferbyn, mae'n debyg na fyddai 647 00:28:21,160 --> 00:28:21,690 dod allan wrth i chi yn bwriadu. 648 00:28:21,690 --> 00:28:22,190 >> MARIA: Yeah. 649 00:28:22,190 --> 00:28:24,950 Rydym yn unig ni allai fynd yn ôl at y rhes blaenorol gyda printf. 650 00:28:24,950 --> 00:28:27,658 >> DAVID Malan: A beth sy'n ddiddorol fesul sgwrs heddiw am gwmpas, 651 00:28:27,658 --> 00:28:31,600 mewn gwirionedd, yw bod rhes yn int sy'n datgan yn y ddolen topmost. 652 00:28:31,600 --> 00:28:34,030 Ond yn sylwi ei bod yn dal tu mewn, fel petai, 653 00:28:34,030 --> 00:28:35,982 y braces cyrliog sy'n ar unwaith yn dilyn, 654 00:28:35,982 --> 00:28:38,440 er nad yw'n dechnegol o fewn y braces cyrliog hynny. 655 00:28:38,440 --> 00:28:41,750 Felly rhes yn lle i'r gyfanrwydd y snippet cod, 656 00:28:41,750 --> 00:28:44,690 y tu mewn i'r allanol ar gyfer ddolen a tu mewn i'r mewnol ar gyfer ddolen. 657 00:28:44,690 --> 00:28:48,050 Ond ar y llaw arall, lle yw colofn o fewn y cwmpas? 658 00:28:48,050 --> 00:28:49,810 Mae'r golofn amrywiol? 659 00:28:49,810 --> 00:28:51,310 Yeah, dim ond yn y ddolen tu mewn. 660 00:28:51,310 --> 00:28:54,280 Ac mae hynny'n iawn oherwydd nad ydym yn cael mynediad ei fod y tu allan i'w bresys cyrliog. 661 00:28:54,280 --> 00:28:57,280 Y cyfan yr ydym yn ei wneud yw argraffu newydd llinell ar ddiwedd yno. 662 00:28:57,280 --> 00:28:58,670 Fel bod mewn gwirionedd yn iawn. 663 00:28:58,670 --> 00:29:03,740 >> Felly, mae hyn yn cael yr effaith, mae'n edrych yn debyg, o wneud tair rhes a pedair colofn. 664 00:29:03,740 --> 00:29:04,370 >> MARIA: Iawn. 665 00:29:04,370 --> 00:29:06,270 Felly, yn gyntaf rydym yn mynd trwy ein rhes gyntaf. 666 00:29:06,270 --> 00:29:10,520 Ac yn union yn ein rhes gyntaf, rydym yn gwneud y pedair colofn y tu mewn i'r rhes gyntaf. 667 00:29:10,520 --> 00:29:11,980 Felly, rydym yn argraffu pedwar X. 668 00:29:11,980 --> 00:29:15,800 Ac yna gallwn adael yr am ddolen, gan fod rydym eisoes wedi argraffu'r pedwar X. 669 00:29:15,800 --> 00:29:17,100 Ac rydym yn argraffu llinell newydd. 670 00:29:17,100 --> 00:29:19,920 Ac yna rydym yn mynd drwy'r un broses ar gyfer dwy res mwy 671 00:29:19,920 --> 00:29:21,170 i wneud cyfanswm o dri. 672 00:29:21,170 --> 00:29:23,530 >> DAVID Malan: Ac mae'n werth nodi ei fod yn dim ond yn arteffact o ffont, y ffaith 673 00:29:23,530 --> 00:29:25,680 bod yr allbwn sampl ymddangos gymaint yn dalach, 674 00:29:25,680 --> 00:29:27,520 fel pe mae mwy rhesi na cholofnau. 675 00:29:27,520 --> 00:29:29,824 Ond mae'n dim ond oherwydd y X yn dalach nag y mae o led. 676 00:29:29,824 --> 00:29:32,740 Dyna'r cyfan sy'n digwydd yno, yn ogystal â'r gofod gwyn rhwng llinellau. 677 00:29:32,740 --> 00:29:33,281 >> MARIA: Iawn. 678 00:29:33,281 --> 00:29:34,792 Cwl. 679 00:29:34,792 --> 00:29:35,750 DAVID Malan: pob hawl. 680 00:29:35,750 --> 00:29:39,830 Felly edrych yn sydyn ar broblem sefydlu un, gymryd unrhyw gwestiynau, ac yna ohirio? 681 00:29:39,830 --> 00:29:40,330 Iawn. 682 00:29:40,330 --> 00:29:43,164 Felly, yn broblem sefydlu un, mae tri heriau cynradd, yn y pen draw. 683 00:29:43,164 --> 00:29:44,955 Ond yn gyntaf, fe ddewch o hyd bod y broblem a osodwyd 684 00:29:44,955 --> 00:29:47,900 manyleb, fel yn achos llawer y psets gostyngiad hwn, yn mynd i gerdded chi 685 00:29:47,900 --> 00:29:50,691 drwy ychydig o ymarferion cynhesu, pwyntio chi allan ychydig o adnoddau 686 00:29:50,691 --> 00:29:52,440 y gallech chi neu efallai Nid yw wedi gweld yn barod. 687 00:29:52,440 --> 00:29:54,440 Er enghraifft, CS50 Mae cyfres o siorts, 688 00:29:54,440 --> 00:29:56,481 sy'n cael eu fideos byr, nid annhebyg hyn, ond bod 689 00:29:56,481 --> 00:29:58,460 yn specific-- pwnc iawn efallai pum munud, 690 00:29:58,460 --> 00:30:02,360 10 munud o hyd ar dolenni neu ar amodau neu ar algorithmau 691 00:30:02,360 --> 00:30:04,125 neu'n hwyrach ar fwy pynciau uwch, yn ogystal. 692 00:30:04,125 --> 00:30:06,000 Ac rydym yn gyffredinol yn ymgorffori y rhai i mewn i'r broblem 693 00:30:06,000 --> 00:30:07,950 setiau fel bod myfyrwyr gennym adnodd â hwy 694 00:30:07,950 --> 00:30:10,840 i adolygu deunydd a allai gael eisoes yn dod i fyny mewn darlith neu adran. 695 00:30:10,840 --> 00:30:13,220 Ond y ffordd hon mae'n fwy o ffocws a mwy ar flaenau eu bysedd. 696 00:30:13,220 --> 00:30:15,928 >> Rydym hefyd yn tueddu i ymgorffori yn broblem yn gosod pethau o'r enw walkthroughs. 697 00:30:15,928 --> 00:30:20,790 Felly, mae bron pob un o'r enghreifftiau yr wyf yn ei wneud yn y ddarlith, ar y llwyfan yma, rydym hefyd yn 698 00:30:20,790 --> 00:30:24,565 wedi saethu ar gamera yn ymlaen llaw yn fwy arafach, 699 00:30:24,565 --> 00:30:28,760 mae walkthrough mwy cartrefol gennyf ar fy ngliniadur y cod, fesul llinell 700 00:30:28,760 --> 00:30:31,427 fel eu bod yn y dosbarth, yr ydym annhymerus 'yn aml sgimio drwy rywbeth neu rywun 701 00:30:31,427 --> 00:30:33,260 Bydd interject gyda ateb i gwestiwn. 702 00:30:33,260 --> 00:30:35,820 Ond nid yw o reidrwydd yn suddo mewn ar gyfer pawb yn y gynulleidfa. 703 00:30:35,820 --> 00:30:38,230 Felly, fe welwch cod walkthroughs am y rhan fwyaf o'r enghreifftiau 704 00:30:38,230 --> 00:30:40,950 ein bod yn ei wneud yma yn darlith er mwyn i chi Gall cerdded trwyddo ar eich cyflymder eich hun 705 00:30:40,950 --> 00:30:43,580 a ailddirwyn neu gyflym ymlaen neu sgipio yn gyfan gwbl, os hoffech. 706 00:30:43,580 --> 00:30:45,356 >> Mae aml ychydig Cwestiynau cynhesu sy'n 707 00:30:45,356 --> 00:30:47,105 yn gofyn i chi i roi trefn ar atgyfnerthu deunydd hwn 708 00:30:47,105 --> 00:30:50,250 a gwnewch yn siŵr eich bod yn gyfforddus cyn byddwch yn symud ymlaen gyda gweddill y pset. 709 00:30:50,250 --> 00:30:51,700 Ac yna, wrth gwrs, mae y pset ei hun. 710 00:30:51,700 --> 00:30:53,450 Ac un o'r pethau rydym yn fwriadol iawn 711 00:30:53,450 --> 00:30:57,202 ei wneud yn CS50 bron pob anniddorol neu ddeallusol anniddorol 712 00:30:57,202 --> 00:30:58,910 cam mecanyddol sy'n Efallai y bydd rhaid i chi ei wneud 713 00:30:58,910 --> 00:31:00,519 wedi ei gofnodi'n bron bob amser yn dda iawn. 714 00:31:00,519 --> 00:31:03,560 Yn ystod y tymor, rydym yn chi helpu yn dechrau gofyn cwestiynau mwy rhethregol 715 00:31:03,560 --> 00:31:06,187 fel cofio sut i wneud hyn neu fod? 716 00:31:06,187 --> 00:31:08,520 Ond yn gyffredinol, fe welwch fod y broblem yn gosod yn mynd â chi 717 00:31:08,520 --> 00:31:10,269 drwy'r mecaneg o rywbeth fel bod 718 00:31:10,269 --> 00:31:14,160 yr heriau diddorol, deallusol yn y pen draw, eu gadael i chi i'r myfyriwr. 719 00:31:14,160 --> 00:31:17,390 >> Gyda hynny ddywedodd, Zamyla, i bwy ydym gedwir cyfeirio heddiw yn y ddarlith, 720 00:31:17,390 --> 00:31:20,190 yn un o'n staff longtime aelod sydd hefyd yn dal walkthroughs 721 00:31:20,190 --> 00:31:24,520 ar broblemau pset penodol fel Mario a barus, er nad dŵr eleni. 722 00:31:24,520 --> 00:31:26,540 Ac mae'n yn y rhai hynny walkthroughs ei bod yn aml yn 723 00:31:26,540 --> 00:31:29,450 yn cynnig rhai awgrymiadau a driciau ar gyfer sut i symud ymlaen, byth yn dweud wrthych 724 00:31:29,450 --> 00:31:31,810 yn union beth i'w wneud, ond rather-- fel amod, 725 00:31:31,810 --> 00:31:35,200 os ydych yn will-- rhoi i chi o leiaf cwpl o syniadau fel y mae i fyny i chi, 726 00:31:35,200 --> 00:31:37,830 yn y pen draw, er mwyn penderfynu sut i fynd atynt. 727 00:31:37,830 --> 00:31:41,200 >> MARIA: Trefnu o hoffi lefel-uchel dealltwriaeth o'r rhesymeg yr hyn 728 00:31:41,200 --> 00:31:42,220 rydym yn gofyn i chi ei wneud. 729 00:31:42,220 --> 00:31:42,485 >> DAVID Malan: Yn union. 730 00:31:42,485 --> 00:31:44,190 Ac, mewn gwirionedd, Zamyla yn walkthroughs i fod 731 00:31:44,190 --> 00:31:46,190 i ateb y aml cwestiwn a ofynnwyd o gyflwr lle 732 00:31:46,190 --> 00:31:48,610 Dechreuais wneud, yn enwedig pan manylebau hir yw'r rhain 733 00:31:48,610 --> 00:31:51,960 ychydig yn frawychus o ystyried yr holl destun a delweddau sydd ganddynt ynddynt. 734 00:31:51,960 --> 00:31:54,890 >> Felly water.c, fe ddewch o hyd ar ôl i chi ei gwblhau, 735 00:31:54,890 --> 00:31:56,920 mewn gwirionedd gymharol syml. 736 00:31:56,920 --> 00:31:58,882 Hollol yn griw ohonoch yn mynd i bang 737 00:31:58,882 --> 00:32:01,840 eich pennau yn erbyn y wal yn ceisio at chyfrif i maes pam nad yw'n llunio 738 00:32:01,840 --> 00:32:03,450 neu pam nad yw'n rhedeg yn gywir. 739 00:32:03,450 --> 00:32:05,040 Ond unwaith rydych yn ei wneud ag ef ac unwaith eich bod wedi 740 00:32:05,040 --> 00:32:07,620 Treuliodd beth amser yn ymgodymu ag unrhyw o'r chwilod a allai fod gennych, 741 00:32:07,620 --> 00:32:09,490 fe welwch ei fod yn rhaglen fer iawn. 742 00:32:09,490 --> 00:32:11,770 Gellir ei wneud mewn dim ond ychydig linellau o god, y rhan fwyaf ohonynt 743 00:32:11,770 --> 00:32:15,030 ydym wedi ei weld yma yn y ddarlith yn barod, os byddwch yn cydosod y blociau adeiladu cywir. 744 00:32:15,030 --> 00:32:16,810 >> Ac wrth i ni awgrymu yma, mae'n mynd i ofyn 745 00:32:16,810 --> 00:32:22,250 chi nodi faint o funudau rhywun yn cymryd cawod ar y campws. 746 00:32:22,250 --> 00:32:24,779 Rydym yn nodi yn y broblem yn gosod cyfradd y llif y dŵr 747 00:32:24,779 --> 00:32:27,320 i mewn, fel, cawod llif isel pen, yn debyg iawn i'r clip Seinfeld 748 00:32:27,320 --> 00:32:29,180 gwelsom ddoe neu y gwrthwyneb o hynny. 749 00:32:29,180 --> 00:32:30,971 Ac yna os oes gen ti i wneud ychydig o mathemateg, 750 00:32:30,971 --> 00:32:34,710 really-- rhifyddeg gan ddefnyddio C i ddweud wrthym faint o, yn fras, poteli o ddŵr 751 00:32:34,710 --> 00:32:37,720 yw bod gyfwerth â os ydym yn cymryd cawod n munud. 752 00:32:37,720 --> 00:32:41,389 >> Yn awr, yn mario.c, mae hyn yn mynd i fod yn rhaglen ychydig yn hirach. 753 00:32:41,389 --> 00:32:42,930 Mae'n dal yn mynd i fod yn hyn o hyd. 754 00:32:42,930 --> 00:32:45,130 Dim ond ychydig o linellau yn hwy nag water.c. 755 00:32:45,130 --> 00:32:48,230 Ond mae'n mynd i fod yn gyfle i ail-greu'r hen ysgol Mario 756 00:32:48,230 --> 00:32:50,670 pyramid o Super Mario Brothers neu ryw dilynol. 757 00:32:50,670 --> 00:32:53,510 Dyw hi ddim yn mynd i edrych fel prettier neu mor lliwgar fel bod un yno. 758 00:32:53,510 --> 00:32:56,468 Rydym yn jyst yn mynd i ddefnyddio hashtags bach fel sydd gennym yma ar y sgrin 759 00:32:56,468 --> 00:32:58,120 ddefnyddio testun ASCII. 760 00:32:58,120 --> 00:33:00,362 Ond bydd yn fras yr un syniad. 761 00:33:00,362 --> 00:33:02,570 Ac mae'n mynd i fod yn arfer y ar yr olwg gyntaf 762 00:33:02,570 --> 00:33:04,720 ymddangos yn eithaf simple-- unig argraffu pyramid syml. 763 00:33:04,720 --> 00:33:07,345 Ond mae cwpl nodweddion dyma sy'n ddiddorol. 764 00:33:07,345 --> 00:33:12,400 Sylwch fod yr ymyl rightmost o mewn gwirionedd wedi lled dau y pyramid. 765 00:33:12,400 --> 00:33:14,570 Felly mae dau cyfartal colofnau uchder, a oedd yn 766 00:33:14,570 --> 00:33:16,804 ei gwneud yn ofynnol ychydig ychydig o feddwl i wneud 767 00:33:16,804 --> 00:33:19,720 yn siŵr eich bod yn cael bod yn union gywir, fel y hytrach na dim ond yn berffaith ar ongl 768 00:33:19,720 --> 00:33:20,220 llinell. 769 00:33:20,220 --> 00:33:23,340 Felly dyna dipyn o achos cornel ond yn cyfateb i'r gêm ei hun. 770 00:33:23,340 --> 00:33:27,610 >> Ac mae hefyd yn heb fod yn amlwg ar y dechrau yr olwg sut i argraffu gofod gwyn. 771 00:33:27,610 --> 00:33:29,430 Felly, pan fyddaf yn edrych ar y sampl Yma-- allbwn 772 00:33:29,430 --> 00:33:32,440 ac mae hefyd yn y spec-- ei fath o edrych fel petryal, 773 00:33:32,440 --> 00:33:35,120 ond mae lletraws o'r petryal wedi ei dorri'n fân i ffwrdd, 774 00:33:35,120 --> 00:33:37,320 ac mai dim ond bylchau gwyn, fel petai. 775 00:33:37,320 --> 00:33:40,100 Ac felly mae ofynnir yn aml cwestiwn yma bob amser, yn dda, 776 00:33:40,100 --> 00:33:43,302 sut ydw i'n symud y hashtags draw i'r dde? 777 00:33:43,302 --> 00:33:44,760 Neu sut ydw i'n argraffu bylchau? 778 00:33:44,760 --> 00:33:46,860 Ac mae'n mewn gwirionedd yn haws na'r rhan fwyaf o fyfyrwyr yn meddwl. 779 00:33:46,860 --> 00:33:47,360 Iawn? 780 00:33:47,360 --> 00:33:51,620 Gallwch fras ei weledol o ddim ond taro'r bar gofod unwaith neu ddwywaith 781 00:33:51,620 --> 00:33:52,700 neu dair gwaith. 782 00:33:52,700 --> 00:33:56,260 >> Ac felly hyd yn oed er gyda printf rydym bron bob amser yn argraffu llinyn neu int 783 00:33:56,260 --> 00:33:59,950 neu air fel "helo, byd "neu gyfres o o eiriau, 784 00:33:59,950 --> 00:34:03,560 gallwch hefyd jyst argraffu dyfyniad, gofod, unquote. 785 00:34:03,560 --> 00:34:06,320 A fydd yn mewn gwirionedd yn rhoi chi gofod gwyn yno. 786 00:34:06,320 --> 00:34:08,330 Felly cadwch hynny mewn cof a peidiwch â overthink hyn. 787 00:34:08,330 --> 00:34:10,570 'N sylweddol yn rhaid i Chi penderfynu rhes gan res gan res, 788 00:34:10,570 --> 00:34:14,280 nid annhebyg eich enghraifft eiliad yn ôl, faint o'r rheiny 789 00:34:14,280 --> 00:34:18,420 Dylai colofnau fod yn fannau gwyn a faint ohonynt ddylai fod hashtags. 790 00:34:18,420 --> 00:34:21,560 Bydd yn cymryd ychydig o amser, ond mae'n yn y pen draw pos rhesymeg o ryw fath. 791 00:34:21,560 --> 00:34:22,060 >> MARIA: Yeah. 792 00:34:22,060 --> 00:34:25,060 Ond y rhesymeg y rhes yn mynd yn ôl rhes yn mynd i fod yn ddefnyddiol iawn yma. 793 00:34:25,060 --> 00:34:25,810 DAVID Malan: Yeah. 794 00:34:25,810 --> 00:34:28,976 Rwy'n meddwl bod y cod enghreifftiol rydych gave-- hyd yn oed er nad oedd yn rhaglen gyflawn. 795 00:34:28,976 --> 00:34:34,247 Dal angen int a phrif Chi a stdio.h ddi-rym ac #include, 796 00:34:34,247 --> 00:34:35,580 mae llawer o'r pethau o ddarlith. 797 00:34:35,580 --> 00:34:37,629 Ond mae'r blociau adeiladu ymddangos i fod yno. 798 00:34:37,629 --> 00:34:39,920 Ac yna yn olaf yn rhywbeth ychydig yn fwy algorithmig. 799 00:34:39,920 --> 00:34:43,210 Felly, mae'n ymddangos bod unrhyw tro y byddwch yn mynd i mewn i CVS neu unrhyw siop gyfleustra 800 00:34:43,210 --> 00:34:47,810 a rhywun yr ydych yn dwylo yn y biliau ariannwr neu ddarnau arian wrth i newid, 801 00:34:47,810 --> 00:34:50,620 mae'n troi allan eu bod, bodau dynol, a ydynt yn gwybod ei fod neu beidio, 802 00:34:50,620 --> 00:34:53,300 yn ôl pob tebyg yn defnyddio beth sydd a elwir yn algorithm barus, 803 00:34:53,300 --> 00:34:58,170 lle os ydych yn ddyledus, yn dweud, $ 21 yn y newid yn oherwydd am ryw reswm 804 00:34:58,170 --> 00:35:01,580 byddwch wedi prynu rhywbeth rhad iawn gyda bil mawr iawn yn CVS, 805 00:35:01,580 --> 00:35:05,910 byddai'n wirioneddol yn blino os bydd y Rhoddodd ariannwr 21 senglau neu, yn waeth i chi 806 00:35:05,910 --> 00:35:07,629 eto, mae llawer gyfan o ddarnau arian. 807 00:35:07,629 --> 00:35:10,670 Yn hytrach, yr hyn y mae person rhesymol yn yn ôl pob tebyg yn mynd i wneud yw eu bod yn mynd 808 00:35:10,670 --> 00:35:14,224 i fachu $ 20- ac yna a $ 1- bil, a llaw 'ch jyst dau biliau yn yr achos hwnnw. 809 00:35:14,224 --> 00:35:17,390 MARIA: Felly maent yn ceisio lleihau y newid eu bod yn rhoi yn ôl i chi. 810 00:35:17,390 --> 00:35:17,850 DAVID Malan: Yn union. 811 00:35:17,850 --> 00:35:19,540 Ac un yn delio â darnau arian, yn ogystal. 812 00:35:19,540 --> 00:35:23,040 Os ydych yn ddyledus, yn dweud, $ 0.50, gobeithio nad ydych am 50 ceiniog. 813 00:35:23,040 --> 00:35:25,500 Rydych yn lle hynny am ddau chwarteri, er enghraifft. 814 00:35:25,500 --> 00:35:27,540 Yn awr, mae hyn yn cymryd yn ganiataol bod yr ariannwr wedi 815 00:35:27,540 --> 00:35:29,940 digon o bob enwad sy'n gallai ef neu hi eisiau rhoi i chi. 816 00:35:29,940 --> 00:35:32,148 Ond rydym yn caniatáu i chi gymryd yn ganiataol gymaint yn y broblem. 817 00:35:32,148 --> 00:35:35,590 A'r nod, yn y pen draw, yw rhoi ar waith yn y cod C algorithm barus. 818 00:35:35,590 --> 00:35:37,344 Felly, yn cael ei ganiatáu i'r defnyddiwr teipio faint 819 00:35:37,344 --> 00:35:40,510 newid ef neu hi yn ddyledus gyda ddoleri a cents, rhyw fath o bwynt fel y bo'r angen 820 00:35:40,510 --> 00:35:41,590 gwerth mwy na thebyg. 821 00:35:41,590 --> 00:35:45,530 Ac yna rhaid i chi wneud y math a chyfrif i maes algorithmically, yn dda, 822 00:35:45,530 --> 00:35:49,020 faint o ddarnau arian y gallaf roi chi cyn lleied â phosibl i roi i chi 823 00:35:49,020 --> 00:35:50,270 yn union y swm hwnnw o newid. 824 00:35:50,270 --> 00:35:53,470 Ond mae mynd i fod yn ychydig o rannau anodd yma, dde? 825 00:35:53,470 --> 00:35:56,236 Fel mae y cyfan mater imprecision. 826 00:35:56,236 --> 00:35:56,860 MARIA: Yn union. 827 00:35:56,860 --> 00:35:59,114 Pwynt Felly fel y bo'r angen Gwerthoedd yn cael imprecision. 828 00:35:59,114 --> 00:36:00,780 A wnaethom sôn am hyn mewn darlith heddiw? 829 00:36:00,780 --> 00:36:02,340 >> DAVID Malan: Gwnaethom y tro diwethaf yn y ddarlith. 830 00:36:02,340 --> 00:36:03,506 Buom yn siarad am imprecision. 831 00:36:03,506 --> 00:36:08,840 Ac nad ydych am i dwyllo y defnyddiwr o faint o newid mae ef neu hi yn ddyledus. 832 00:36:08,840 --> 00:36:11,290 Ac felly y walkthrough, yn y fanyleb broblem a osodwyd, 833 00:36:11,290 --> 00:36:15,990 rhoi rhywfaint o feddwl, yn y pen draw, o ran sut y gallwch liniaru'r rheini imprecision 834 00:36:15,990 --> 00:36:17,280 camgymeriadau, o bosibl. 835 00:36:17,280 --> 00:36:21,050 Mae'n y gellir eu hosgoi, yn sicr, am mewnbynnau rydym yn sôn am. 836 00:36:21,050 --> 00:36:23,590 Ac, mewn gwirionedd, pennies-- efallai y byddwn yn gohirio i Zamyla, 837 00:36:23,590 --> 00:36:25,136 Yr wyf yn meddwl, ar gyfer y triciau yno. 838 00:36:25,136 --> 00:36:27,760 Felly yn y pen draw, byddwch yn dod o hyd i cynnydd o broblemau yr wythnos hon, 839 00:36:27,760 --> 00:36:30,700 y cyntaf sydd yn eithaf bach, Yna, canolig, yna ychydig yn fwy. 840 00:36:30,700 --> 00:36:33,200 Ond mae pob un ohonynt yn defnyddio'r adeilad blociau o'r wythnos hon ddiwethaf, 841 00:36:33,200 --> 00:36:35,280 o'r supersection hwn, gosod manyleb problem 842 00:36:35,280 --> 00:36:36,710 eich rhoi mewn adnoddau di-rif. 843 00:36:36,710 --> 00:36:41,000 Ond o hyd, os o gwbl trafferth, yn enwedig ymysg y rhai llai cyfforddus 844 00:36:41,000 --> 00:36:42,917 heb unrhyw gefndir o flaen llaw, dod i oriau swyddfa 845 00:36:42,917 --> 00:36:44,958 ar ddydd Llun a dydd Mawrth a Mercher a dydd Iau. 846 00:36:44,958 --> 00:36:46,950 Ewch i CS50 Trafod drwy gwefan y cwrs, 847 00:36:46,950 --> 00:36:49,080 trwy y gallwch chi sgwrsio gyda staff a chyd-ddisgyblion. 848 00:36:49,080 --> 00:36:51,670 >> Ond yn y pen draw, yr wyf yn meddwl bod y cyngor gorau yw dim ond dechrau yn gynnar. 849 00:36:51,670 --> 00:36:54,711 Dyw hi ddim yn y math o ddosbarth sy'n chi Dylid dechrau psets ar ddydd Mercher 850 00:36:54,711 --> 00:36:56,640 nos, neu nos Iau waeth. 851 00:36:56,640 --> 00:36:59,067 >> MARIA: Fy cyngor gorau yw i wedi dechrau erbyn dydd Llun. 852 00:36:59,067 --> 00:36:59,900 DAVID Malan: Dydd Llun. 853 00:36:59,900 --> 00:37:02,490 Felly, os nad ydych wedi dechrau already-- dim. 854 00:37:02,490 --> 00:37:04,732 Ond hyd yn oed os nad yw Dydd Llun, yna dydd Mawrth. 855 00:37:04,732 --> 00:37:05,690 Gorau po gyntaf y gorau. 856 00:37:05,690 --> 00:37:08,605 A dyna y rheswm y Mae cwrs cymaint o ddyddiau yn hwyr yn 857 00:37:08,605 --> 00:37:10,535 i roi tipyn o chi bwysau seicolegol 858 00:37:10,535 --> 00:37:13,684 i ddechrau yn gynt ond yn dal i adael pethau llithro pan fydd pethau'n cymryd mwy o amser 859 00:37:13,684 --> 00:37:14,350 nag ydych yn disgwyl. 860 00:37:14,350 --> 00:37:17,950 >> MARIA: A ydych am wneud defnydd o oriau swyddfa gymaint ag y gallwch, hefyd. 861 00:37:17,950 --> 00:37:20,291 >> DAVID Malan: Unrhyw gwestiynau? 862 00:37:20,291 --> 00:37:20,790 Iawn. 863 00:37:20,790 --> 00:37:22,930 Wel, nid pam yr ydym yn gohirio'r yma? 864 00:37:22,930 --> 00:37:23,487