[VIDEO Playback] Buddugoliaeth -A o mathemategol a sgiliau mecanyddol mae hyn yn awtomatig newydd gwych cyfrifiannell ym Mhrifysgol Harvard. Problemau cymhleth mewn mathemateg rhoi drwy'r peiriant ar ffurf codio ar dâp yn cael eu datrys yn gywir mewn fechan iawn o'r amser sydd ei angen ar gyfer cyfrifo gan bobl. Cynllun i hwyluso pob math o ymchwil mathemategol a gwyddonol, Bydd yr ymennydd mecanyddol enfawr weithio i yr Unol Daleithiau Llynges tan ddiwedd y rhyfel. [DIWEDD Playback] DAVID J. Malan: Mae hyn, yn CS50. Roedd y gorffennol roedd yn hudol lle, ond os ydych chi wedi erioed meddwl beth y ddyfais yn yn Harvard Gwyddoniaeth Center, mae'n wir yn rhan o'r Harvard Mark I, ac mae'n yn cael eu harddangos yno nawr am y nifer o flynyddoedd diwethaf. A beth byddwch yn gweld rhan annatod o set problem mae un yn edrych y tu ôl i'r llenni ar yr hyn a wnaeth y ddyfais, ac yn ei wneud, gan yr Athro Harry Lewis, sydd yn yr adran wyddoniaeth gyfrifiadurol yma. Felly mwy am hynny mewn dim ond ychydig. Ond heddiw rydym yn dechrau pontio o wythnos diwethaf i hyn, a byddwn yn dod â sôn o un llun yma dyna mewn gwirionedd yn eithaf enwog. Oes rhywun yn gwybod beth y mae hyn dyma sydd ar y sgrin? O leiaf yn ôl chwedl. Yeah. GYNULLEIDFA: Mae'r firws yn gyntaf. DAVID J. Malan: Felly yr oedd sôn, y byg gwirioneddol cyntaf mewn cyfrifiadur. Nawr mewn gwirionedd y gair bug, am gamgymeriad mewn rhaglen, wedi bod gyda ni ers peth amser yn y byd ffisegol, ac roedd hyn yn un o'r cyntaf amseroedd dogfennu lle mae rhywun mewn gwirionedd pluo mae gwyfyn mawr allan y Marc II cyfrifiadur, rhowch ef yn y rhwymwr, ac yna cofnodi ei fel y byg hysbys cyntaf i wedi cael eu darganfod mewn gwirionedd yn gorfforol. Felly fel hyn ei gofnodi hynny i llên heddiw. Popeth o ddiwethaf wythnos ar gael ar-lein. Yn adnoddau penodol sy'n gallech chi nid o reidrwydd yn sylwi, yn enwedig os ydych yn dod yma yn bersonol. Felly, un o'r cymrodyr addysgu pob blwyddyn yn gwneud set canonaidd o nodiadau, fel na fyddwch angen cadw eich pen i lawr, yn ceisio i drawsgrifio y rhan fwyaf o unrhyw beth a allai ddigwydd yma yn y dosbarth. Felly yn sylweddoli bod y rhai hyn a elwir yn [? Scribd?] Nodiadau yn ar-lein, yn sicr y sleidiau a cod ffynhonnell a ddefnyddiwn yn y dosbarth. Rydym yn gwneud trawsgrifiadau testun llawn ar gael yn ogystal. Felly, os ydych fras gofio rhai dymor, ac yn awyddus i edrych i fyny ychydig yn fwy parod, yn sylweddoli bod yr holl o hynny yn ei chwilio ar-lein. Yn ogystal â walkthroughs hefyd. Yn wir, heddiw rydym yn dechrau edrych ar iaith raglennu lefel is, cyn bo hir i gael ei adnabod i ni fel C, ac mae'n hawdd iawn i fath o fynd ar goll ar ôl dim ond ychydig amser eiliadau, ac yna fath o ryfeddod sut yr ydym mewn gwirionedd yn rhaid i rai mwy enghraifft cymhleth o'r symlaf. Ac felly yn sylweddoli ein chi helpu ceirios ddewis yn ystod y dosbarth rhai o'r enghreifftiau amlwg, ond yn sylweddoli bod cymaint mwy hefyd gael ar-lein er mwyn i chi weithio trwyddo ar eich cyflymder eich hun, Fodd bynnag, rydych yn fwyaf cyfforddus. Ond rydym yn gadael i ffwrdd gyda rhaglenni a oedd dim ond hyn. Felly, yr wyf cliciwch y faner werdd, a beth mae'n rhaglen hon yn ei wneud? Meddai, helo, byd. Mae'n gwneud y gath yn dweud helo yn ei fyd bach ar yr ochr chwith uchaf o rhyngwyneb defnyddiwr Scratch yn. Ond rydym yn dechrau cyflwyno rhywfaint o derminoleg yr wythnos diwethaf. Ac felly, pethau fel hyn rydym yn galw beth? Beth allai fod y term generig ar gyfer hyn? Yeah. Dull neu ddatganiad. Cadarn, ei fod yn gweithredu. Gwnewch hyn. Ac eto yr oedd siapiau eraill ddigon da, heblaw y rhain hyn a elwir yn datganiad, roeddent hefyd pethau fel hyn, yr ydym elwir beth? Yeah. Felly dolen. Ac yn yr achos hwn, y peth hyn ailddarllediadau, yn amlwg, 10 gwaith. Mae bloc am byth. Mae un neu ddau o bobl eraill. A heddiw rydym yn mynd i weld sut i drosi hyn i fyd mwy modern, os mynnwch, hyd yn oed er 'i' mynd i ymddangos ar yr olwg gyntaf i fod yn llawer mwy arcane. Ond roedd y rhai oedd yn wir dolenni. Ac yna mae gennym bethau fel hwn, a oedd siâp hwn, a cwestiynau a ofynnir yn y bôn. Ac rydym cyfeirir at y rhain fel beth? GYNULLEIDFA: mynegiad Boole. DAVID J. Malan: Yeah. Mynegiad Boole. Rhywbeth sydd naill ai'n gywir neu'n ffug, ie neu ddim, un neu sero, Fodd bynnag, yr ydych am i weld y byd. Ond byddem ni'n ei alw y rhai Boolean ymadroddion, ac rydym yn eu plygio i mewn i amodau, neu ganghennau. Ac ym myd Scratch, mae popeth 'n glws cyd-gloi o ran ei siâp, os yw'n gwneud synnwyr rhesymegol i wneud hynny, ond nid oes rhaid i chi stopio yn unig gwneud un peth yn amodol, gallwch gael diarhebol fforc yn y ffordd ac yn gwneud y naill hwn neu os y cyflwr yn wir ai peidio. Ac yna, fel y byddwch yn gweld, os nad ydych wedi gwneud hynny'n barod, Gallwch hyd yn oed nythu blociau hyn. Felly Scratch yn tyfu i lenwi'r siapiau efallai y byddwch am i fewnosod i mewn iddo, er mwyn i chi fynegi mewn gwirionedd y rhan fwyaf o unrhyw resymeg y gallech fod am ei wneud. Erbyn hyn, mae ychydig o eiriau o gyhoeddiad ar gyfer y ddau yma ac Haven Newydd. Felly sectioning dechrau heddiw. Mae'r URL ar gyfer hyn yw ar y cwrs yn gwefan, ar gyfer y rhai anghyfarwydd. Bydd Adrannau yn cyfle i ddod at ei gilydd mewn amgylchedd llawer mwy cartrefol na [? Sanders?] Yn caniatáu, gyda 10 i 20 gyd-ddisgyblion sydd â cyd-addysgu ar draciau gwahanol, a wahanol gyflymdra, os dewiswch chi. Yn wir, mae'r cwrs yn cynnig gwahanol adrannau ar gyfer y rhai llai cyfforddus, yn fwy gyfforddus, ac yn rhywle yn y canol, a rôl bawd yma, yn does dim diffiniad ffurfiol, ond os ydych yn llai cyfforddus, ydych yn fath o yn ei wybod. Rydych chi'n ychydig dewr am y syniad o gamu droed, efallai, yn ôl yn yr ystafell ddosbarth, neu ddangos hyd at rhyngddynt adran. Os ydych wedi bod rhaglennu ers i chi Roedd chwe blwydd oed, yn fwy cyfforddus, efallai i chi. Ac os ei fod yn fath o taflu-i fyny, dyna'n union beth mae'r rhyngddynt i fod i fod. Yn awr, yn y cyfamser, ar gyfer dosbarth maint hwn, mae'n mynd â ni ers peth amser ag adran bawb, felly rydym wedi hyn a elwir, adrannau super, yn dod i fyny yma penwythnos ac yn gynnar yr wythnos nesaf, felly cymerwch olwg ar wefan y cwrs ar gyfer y rhai sydd yn gwrs eang, a hefyd ffilmio ar gyfer y rhai na allant eu gwneud. Ac adrannau eu hunain yn dechrau mewn wythnos tri o CS50 mynegai sero. Problem osod 0 eisoes ar wefan y cwrs. Ac yn sylweddoli eich bod oes rhaid naw niwrnod yn hwyr semester hwn. Felly mae hwn yn uwchraddio o ddiwethaf blwyddyn, pan oedd gennym bum niwrnod yn hwyr. Felly, os ydych yn meddwl, mae gennym naw set broblem. Mae gennych naw niwrnod yn hwyr, mae pob un ohonynt gallwch ond yn treulio un bob wythnos ar. Mae hynny'n gwneud yn effeithiol i gyd y broblem yn gosod Dydd Gwener ddyledus, ond y nod yw rhoi ychydig ychydig o bwysau seicolegol arnoch chi i geisio cael pethau mewn ar ddydd Iau oherwydd fel y byddwch yn fuan yn darganfod, er gwell neu er gwaeth, y rhan fwyaf o popeth yn y byd meddalwedd yn dod i ben i fyny cymryd llawer mwy o amser nag ydych yn rhagweld. Felly ystyried ei fod yn fath o cyfle i helpu eich hun i dargedu Dydd Iau, ond yn cymryd cysur yn hynny, ie, popeth yn ddyledus ddydd Gwener. Ac os byddwch yn cyflwyno nhw ar Dydd Iau, mae hynny'n wych. Does dim pwyntiau bonws neu ychwanegol credyd ar gyfer cwrdd y terfyn amser. Mae wedi golygu i fod yn ffon yn unig. Ac i oriau swyddfa, y ddau yma ac yn New Haven, yn bersonol, os hoffech chi cwrdd ag unrhyw un o'n cyrsiau addysgu cymrodyr a CAs am gymorth. Mae pob hawl. Felly nawr, gadewch i ni wneud hyn yn fwy real. Ac am eiliad mae'n mynd i ddechrau er mwyn cael ychydig yn fwy dirgel, ond yn iawn yn gyflym ar ddydd Gwener a wythnos nesaf byddwn yn gallu gwneud cymaint mwy na gallem hyd yn hyn yn Scratch. Felly, cyflwynwyd cod diwethaf wythnos, er yn ffurf lluniau. Roedd darnau pos. Ac rydym yn ffurfioli ei bod yn rhywbeth o'r enw cod ffynhonnell, ond byddai ddim yn edrych? Wel, roedd yn edrych ychydig yn rhywbeth fel hyn. Ac, mewn gwirionedd, dim ond i fath o pryfocio lle y gallwn fynd â hyn. Rydw i'n mynd i fynd yn ei flaen a agor ffenestr yma, ac Im 'jyst yn mynd i ddewis Ffeil Newydd. Ac yr wyf i'n mynd i achub y ffeil fel rhywbeth fel helo dot c. Mwy am y dewis o geiriau mewn dim ond hyn o bryd. A dyma sut y gallai rhywun mynd ati i ysgrifennu rhaglen. Dylech gynnwys yr wyf yn safonol / O dot h, int brif ddi-rym, ac yna agor Brace cyrliog, yn agos Brace cyrliog, printf helo byd coma, slaes n, hanner colon, Save, ei wneud. OK. Rydw i wedi ysgrifennu fy cyntaf rhaglen, ond mae'n mynd i fod yn hynod underwhelmed oherwydd pan Fi 'n weithredol rhedeg y rhaglen hon, wrth gwrs, drwy ysgrifennu cyntaf yn gwneud helo, ac yna dot slaes helo, ac yr ydym chi helpu fynd drwy hyn yn llawer mwy o fanylion mewn munud, dyna i gyd mae'n ei wneud. Nid yw'n pop agor unrhyw ffenestri. Nid yw'n gwneud unrhyw beth yn arbennig o ffansi. 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? A sut rydym yn adeiladu ar hynny? Wel, gadewch i ni gyflwyno rhai gysyniadau gwahanol yma. Felly un, rydym yn ar fin dechrau gan ddefnyddio rhaglen o'r enw casglwr. Mae compiler yn bodoli ar gyfer Mac OS, Windows, Linux, unrhyw nifer o systemau gweithredu, a byddwn yn fuan yn eich cyflwyno i amgylchedd y byddwn yn eu defnyddio, ond mae compiler yn unig yw gyffredinol dymor ar gyfer darn o feddalwedd sy'n cymryd cod ffynhonnell a yn cynhyrchu cod gwrthrych ohono. Mewn geiriau eraill, os ydych yn gael fel mewnbwn eich ffynhonnell cod, rhywbeth fel hyn yr wyf newydd ei deipio, yn y pen draw yn cynhyrchu cod gwrthrych. A chod gwrthrych yn wirioneddol yn unig yn ffordd ffansi o ddweud yr allbyna sero ac un o. Mewn geiriau eraill, ffynhonnell Cod, hyd yn oed er 'i' mynd i edrych ychydig yn ddirgel, ac ychydig yn llai cyfeillgar na Scratch ar yr olwg gyntaf, 'i' o leiaf yn rhywbeth ein bod yn gallu bodau dynol deall. Mae'n fath o edrych ac yn swnio fel Saesneg hyd yn oed er 'i' gryno iawn. Tra rhaglennu yn sero, ac un, fel a oedd gan ein rhagflaenwyr i'w wneud, rai blynyddoedd yn ôl, nid oedd yn her arbennig o hwyl. Ac eto, mae hyn yn yr hyn y mae'r cyfrifiadur yn dal yn deall. Felly compiler ni ei gael gan cod ffynhonnell i wrthwynebu cod. Mae fel agor ffeil gyda'r casglwr, a phan fyddwch yn ei gadw, byddwch yn cael zeros a rhai hynny. Felly, byddwn yn gweld sut i wneud hynny mewn dim ond hyn o bryd. Ond gadewch i ni yn awr yn ceisio darparu pontio rhwng yr wythnos diwethaf ac mae hyn, felly hyd yn oed wrth i ni gael hongian i fyny ar bethau fel braces cyrliog, a hanner colon, a chromfachau, ac pob un o'r rhain yn ddeallusol ddiddorol agweddau ar raglennu, sy'n iawn ddealladwy faglu pobl i fyny yn gynnar, sylweddoli bod pob un o'r syniadau heddiw, yr un fath ag diwethaf. Felly diwethaf, gwelsom yr enghraifft yma, rhaglen Helo Byd. Wel, gan ddechrau heddiw, os ydym am i weithredu yr un rhaglen, mae'n mynd i edrych yn ychydig iawn o rhywbeth fel hyn. A byddwn yn esbonio cyn hir pa int, a phrif, ac yn ddi-rym, a hynny i gyd yw, ond o leiaf yr wyf yn gweld yma eisoes y cyfarwydd Helo Byd. Yn y cyfamser, pethau fel swyddogaeth, yn dweud helo, iawn, yn syml, yn mynd i fod yn datganiad syml iawn fel hyn. Printf helo byd, gyda rhai dyfyniadau, gyda slaes, gyda hanner colon, ond mwy am hynny i ddod. Dolenni, yn y cyfamser, mae hwn yn dolen bod, wrth gwrs, yn dweud helo byd am byth, ac mae hyn yn un yn mynd i edrych yn Ychydig weirder nag yn yr olaf, ond os wyf yn dweud rhywbeth fel, er yn wir, yr wyf yn Yna gall argraffu Helo byd dro ar ôl tro ar ôl tro ar ôl tro. Ac yna ag y gallwch math o'r dechrau casglu yma, confensiwn hwn o ddefnyddio bresys cyrliog yn garedig o fel cofleidio'r llinell hindentio o god yno. Mae'r llinell printf o god yn debyg iawn y pos darn melyn i fyny uchod. Felly nid ydym yn mynd i'w ddweud am byth, rydym yn mynd i ddweud wrth wir, ond byddwn yn gweld pam y mae mewn dim ond ychydig. Yn y cyfamser, os oes gennym dolen fel hyn, lle rydych yn ailadrodd rhywbeth yn gyfyngedig Amseroedd rhif, yr un yma yn rhy 'i' mynd i gymryd ychydig yn cael ei ddefnyddio i, ond mae'n mynd i'w ddweud am int ff yn cael sero, fi yn llai na 10, fi ++, ac yna printf eto. Ond mae mynd i fod patrymau. Ac i'r rhai ohonoch sy'n gyfarwydd gyda AP Cyfrifiadureg, neu Java, neu unrhyw nifer o ieithoedd eraill, bron pob un o'r cysyniadau hyn hyd yn hyn dylai edrych yn gyfarwydd yn bennaf. Felly amrywiol. Felly dyma dyfyniad Scratch syml sy'n yn gosod newidyn a elwir cownter i sero, ac yna am byth yn dweud y cownter, ac Yna, mae'n newid y cownter fesul un. Felly, mae'n dechrau gyda sero, ac yna un, dau, tri. Wel, sut y byddwn yn cyflwyno hynny yn yr iaith newydd ychydig yn yr un modd? Int cownter yn dychwelyd sero, tra bod yn wir, a oedd yn yw bod un syniad o o'r blaen o wneud rhywbeth am byth, ac Im 'jyst yn mynd i printf. Ac yn awr mae'n mynd ychydig yn rhyfedd, ff y cant, ond yn fwy ar hynny i ddod, ond syniadau hyn yn union yr un fath. Yn unig yn awr rhaid i ni gadw at y gystrawen bod y cyfrifiadur yn mynd i fynnu ohonom. Mynegiad Boole, rhywbeth fel SX llai na y, neu x yn llai na y, ac y llai na z. Mae'n mynd i edrych rhywbeth bach fel hyn, gyda cromfachau yn unig fel yn mathemateg ar gyfer mesur da i ddim ond sicrhau bod y drefn o weithrediadau fel y bwriadwn. Ac yn awr, amodau. Felly, os x yn llai na y, dweud x yn llai nag y, arall os x yn fwy na y, dweud x yn fwy na y, fel arall rhesymegol, rhaid x yn hafal i y. Felly, efallai y byddwch yn gweithredu rhywbeth fel hyn yn Scratch, neu efallai y byddwch yn rhoi ar waith yn cystrawen hwn. Ac eto, mae'r braces cyrliog yn fath o gan roi'r un siâp â ni fel y pos darnau, ond y gystrawen, yn awr, o bosibl, dechrau dilyn rhai patrymau. Felly, beth mae hyn yn ei roi i ni yma? Felly rydym yn ôl, yna yn ein prif raglen. Gadewch i ni mewn gwirionedd, yn awr, gwneud rhywbeth ag ef. Felly, yn y cyntaf llinell gwelwn miniog gynnwys, Rwyf safonol / O, dot h, ac yna mae rhai ongl 'n annaearol cromfachau is na hynny. prif int ddi-rym, ac yna printf helo byd. Felly, dim ond yn cymryd cam. Rhywun sydd erioed wedi rhaglennu o'r blaen, o leiaf yn esbonio un o'r llinellau hyn. Gan ddefnyddio efallai rhai o'r jargon yr wythnos diwethaf. Beth yw printf, er enghraifft? Yeah. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Mae'n swyddogaeth, neu ddatganiad, o derminoleg yr wythnos diwethaf. Ac mae'n gweithred sy'n gwneud rhywbeth. Yn awr y swyddogaeth hon, neu datganiad hwn, yn ei wneud Ymddengys iddo gymryd rhyw fath o fewnbwn? Ac ym mha ystyr mae'n ei yn ymddangos i gymryd mewnbwn, os felly? Mewnbwn, beth ddylwn i ei olygu wrth hynny? Yeah. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Felly Scratch allan ychydig o ddarnau pos lle gallwch parametrize ei. Gallech ddweud wrth y ailadrodd bloc sawl gwaith i ailadrodd, fel eu bod yn cael mewnbwn o ryw fath, ac yn union fel Scratch Roedd gan ychydig o dalfan gwyn ar gyfer y nifer y byddech yn teipio, felly rydym yn defnyddio yn hyn cromfachau byd testun i roi'r siâp cylch ni i ba gallwn plwg ein mewnbwn. Wedi'r cyfan, mae degau o flynyddoedd yn ôl pan iaith hon, o'r enw C, ei ddyfeisio unrhyw un Rhagwelir mae'n un ohonom ni, y rhain rai blynyddoedd yn ddiweddarach, byddem eisiau swyddogaeth sy'n dweud helo. Iawn? Byddai'n braf pe bai darn pos, neu eiriau allweddol, a oedd yn galw ei helo, bod yn llythrennol dim ond dweud helo. Ond nid oes angen i ni. Gallwn gael rhywbeth llawer is lefel, fel print generig archa, sy'n cymryd mewnbwn, a phrintiau beth bynnag yr ydym ei eisiau. Felly, yn sylwi erbyn hyn mae'r patrwm a fydd yn dechrau dod i'r amlwg. Paren Agored, paren agos yw yn ôl pob golwg yn cofleidio'r mewnbwn, ac yna yr wyf yn gweld dwbl dyfyniadau ar y ddau ben. Mae dal slaes 'n annaearol n, ond gobeithio nawr i chi gall ddechrau i ddelweddu o leiaf bod printf yn eu cymryd mewn rhyw fath o gyfraniad. Nid fel defnyddiwr gyfeillgar â Scratch, ond mae'r un fel wedi plygio mewn rhyw werth yno. Mae pob hawl, nawr gadewch i mewn gwirionedd wneud rhywbeth gyda hyn. Felly, efallai y bydd rhai ohonoch yn gwybod o ar ôl siopa dosbarth cyn, sgwrsio gyda ffrindiau, fod am nifer o flynyddoedd rydym yn defnyddio rhywbeth a elwir y peiriant CS50. Roedd hwn yn derm sy'n disgrifio yn dechnoleg Gelwir y peiriant rhithwir, a oedd yn ddarn o feddalwedd sy'n eich Byddai rhagflaenwyr lawrlwytho oddi ar wefan y cwrs am ddim. Byddent hefyd lawrlwytho darn rhad ac am ddim meddalwedd a elwir yn hypervisor, rywbeth a elwir fel VMware, neu VirtualBox, neu unrhyw rif o offer eraill, ac ar eu Mac neu PC neu beth bynnag gyfrifiadur a oedd ganddynt y llynedd ac yn ystod y blynyddoedd diwethaf, maent yn Byddai blygu chlecia eicon i redeg meddalwedd hwn Gelwir y hypervisor. Ac yna y tu mewn o'r rhaglen honno byddent yn agor y peiriant CS50. A'r effaith oedd bod a yw rhagflaenydd eich un chi yn rhedeg Mac OS neu Windows, bydd ef neu hi wedyn wedyn roedd gan ffenestr newydd ar eu sgrin sy'n rhedeg amgylchedd CS50 yn. Felly 'n weithredol beiriant yn gadael i chi redeg un system weithredu y tu mewn o un arall, a dyna'n union yr hyn a wnaethom. Trwy gydol y rhan fwyaf o'r cwrs yr ydym yn yn defnyddio system weithredu o'r enw Linux, yn benodol Ubuntu Linux, ac mae hyn yn ffordd neis iawn yn y blynyddoedd diwethaf o gwneud yn siŵr bod pawb yn y cwrs newydd gael yr un amgylchedd. A gallwch ddefnyddio unrhyw fath o cyfrifiadur eich bod mewn gwirionedd yn eisiau. Ymhlith y anfanteision, fodd bynnag, Roedd roedd fel dau gigabeit i lwytho i lawr y peth hyn. Nid oedd reidrwydd yn gweithio super dda ar pobl y mae eu cyfrifiaduron efallai yn unig Roedd gig neu fwy o RAM, neu beidio gormod o gigahertz o gyflymder CPU, ac felly eleni, am hyn a rhesymau eraill, rhaid i ni bod yn trawsnewid i'r amgylchedd hwn. Mae'r hyn a elwir CS50 IDE, sef yn seiliedig ar feddalwedd ffynhonnell agored, a llwyfan a gefnogir bod cwmni o'r enw Cloud9 cefnogi yn Ewrop, bod yn caniatáu i ni gael y bôn hynny un amgylchedd union ag yn mlynedd diwethaf, ond yn y cwmwl fel y'u gelwir. Felly beth yw'r cwmwl? Mae'n debyg eich bod chi wedi clicio ei eicon ar eich Mac neu PC. Beth yw'r cwmwl? Yeah? Mae uwch bach. Yeah. Mae'n dim ond bagad o gyfrifiaduron mewn mannau eraill bod data storio a rhedeg meddalwedd a phethau tebyg. Felly mae'n wirioneddol ychydig i'r de gair jure o ddisgrifio [? rentable?] cyfrifiaduron sy'n byw yn rhywle arall. Eich bod chi, eich hun, nid ydynt o reidrwydd yn berchen. Felly, pan fydd eich data, neu eich rhaglenni, yn y cwmwl, 'i jyst yn golygu ei bod ar rywun cyfrifiaduron arall mewn man arall, ac nid, yn fwyaf tebygol, ar eich gliniadur corfforol neu n ben-desg. Ac felly dyna beth CS50 IDE yn awr yw. O hyn allan, byddwch yn mynd i rai URL a fydd yn eich cyflwyno i, yn broblem a osodwyd 1, yn ddiweddarach yn y wythnos, y bydd wedyn, ar ôl mewngofnodi, rhoi'r amgylchedd hwn i chi. A llawer Scratch debyg wedi cael ychydig o baneli gwahanol dan sylw, felly hefyd y mae IDE CS50 yn cael yn union hynny. Ar yr ochr chwith uchaf yma, rydych yn mynd i weld porwr ffeiliau cyfarwydd. Felly unrhyw un o'r ffeiliau yr ydych rhoi yn yr amgylchedd hwn yn jyst yn mynd i gael eu rhestru yno. Ffeiliau a ffolderi. Ar y brig dde yma, rydych chi'n mynd i weld lle lle gallwch mewn gwirionedd yn ysgrifennu eich cod. I ddechrau yn C, yn ddiweddarach yn y dymor yn PHP a JavaScript, ac, efallai am derfynol prosiectau, Ruby neu Java neu Python neu unrhyw nifer o ieithoedd yn cael eu cefnogi yn yr amgylchedd hwn. Nid yw o gwbl ei glymu i CS50 benodol. Ac yna yn y gornel isaf yma, yn enwedig i'r rhai yn fwy cyfforddus, gennych rywbeth Gelwir derfynnell ffenest. Ac mae hyn yn ffenestr terfynell yn caniatáu i chi gyflawni unrhyw orchymyn yr ydych eisiau yn yr amgylchedd cwmwl. Mae'n caniatáu i chi osod unrhyw feddalwedd ychwanegol eich bod am am eich bod wedi hyn a elwir yn gwraidd, neu weinyddwr breintiau. Felly, mewn geiriau eraill, er bod hyn yn cael ei gynnal yn y pen draw yn y cwmwl, ac er bod gennym symleiddio i ryw raddau yn ddiofyn, yn llythrennol gyflwyno, diolch i Dan Armendariz, a Dino, a Dan Bradley ar dîm CS50 dros y heibio fisoedd lawer, yn llai cyfforddus modd sy'n cuddio llawer o'r gwrthdyniadau ddryslyd i ddechrau. Mae popeth yno yn bodoli i yn cynrychioli system gyfrifiadurol nodweddiadol y gallech eu defnyddio yn y byd go iawn. Felly, beth mae hyn i gyd yn ei olygu, a beth allwn ni mewn gwirionedd wneud â hi? Gadewch i ni mewn gwirionedd yn cymryd cipolwg ar raglen. Felly, yr wyf i'n mynd i agor y amgylchedd gwirioneddol yma, sydd ychydig yn ein Chrome porwr, a allai fod Firefox, Gallai fod yn Internet Explorer, neu ryw borwr eraill hefyd. Mae'n sgrinio llawn yma am y tro. A dw i eisiau mynd at wraidd y gwirionedd ar wahân pa rhaglen hon oedd. Felly, gadewch i ni edrych, trwy chwyddo mewn hyd brig, ar yr hyn wnes i, a sut yr wyf yn got yma. Felly dyma rhai union un llinellau o god. Felly, mae hyn yn y datganiad, fel y soniasoch yn gynharach. Mae'r swyddogaeth sy'n dweud helo. Mae'r braces cyrliog, ar llinell pedwar a chwech llinell, yn ôl pob tebyg fath o amlen y llinell i gysylltu iddo â hanfod fy rhaglen. Felly yn wir, mae hyn yn brif gair allweddol, dyna i fyny yno ar-lein tri, gallwch chi feddwl am hynny fel yr hyn sy'n cyfateb o hynny wrth glicio baner werdd, bloc yn Scratch. Felly dyna i gyd sydd gennym yma, yw pan clicio baner werdd, print, neu ddweud, helo byd. Ond gadewch i ni gymryd dyfalu, yn awr, ar ba y llinell gyntaf, yn fwy dirgel, yn. Sharp yn cynnwys, ongl agored braced, yr wyf yn safonol / O dot h, cau braced onglog. Beth yw efallai yn ei wneud, yn enwedig os ydych chi wedi rhaglennu cyn mewn rhyw iaith arall. Yeah? GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Yn union. Felly, mae hyn yn rhoi mynediad i chi i llyfrgell, fel petai, o swyddogaethau. A llyfrgell o swyddogaethau yn swyddogaethau y mae rhywun arall Ysgrifennodd, naill ai yn ddiweddar neu bell yn ôl, er mwyn i chi Nid oes yn rhaid i ail-greu'r olwyn. Er enghraifft, nid ydym yn ei wneud rhaid ei wybod, yn 2015, sut i ysgrifennu cod sy'n rhoi'r cymeriad ar fy sgrin. Mae rhywun arall wedi cyfrifedig bod allan gyda'r swyddogaeth printf fel y gallaf ddidoli o haniaethol i ffwrdd o hynny, neu haen ar ben ei cod, ac yn awr yn unig yn cymryd yn ganiataol bod unrhyw raglen i mi ysgrifennu Gall argraffu rhywbeth i'r sgrin. Felly, mae hyn llinell gyntaf yno yng ngham un cynnwys y ffeil pennawd hyn a elwir yn ar gyfer y llyfrgell safonol. Felly gweld, yr iaith mewn yr ydym yn gweithio nawr Roedd gan lyfrgell safonol gyda llawer o swyddogaethau. Printf yn un ohonynt, a bod llinell gyntaf cod yn golygu rhoi mynediad i mi swyddogaethau hynny, er mwyn i mi Nid oes yn rhaid i ail-ddyfeisio'r olwyn honno. Nawr, gadewch i ni fynd at y ffenestr isaf a gwneud yn union yr hyn a wnaeth i mi o'r blaen. Mae hyn o bryd yn ôl, pan oeddwn yn gwibio drwy'r cod, ei deipio allan am y tro cyntaf, Yr wyf yn teipio yn gyflym iawn, yn gwneud helo. Beth oedd hynny i gyd fyddai chi ddyfalu? Beth oedd yr wyf yn ei wneud? Yeah? Peidiwch byth â meddwl. Mae'n iawn. Yeah. GYNULLEIDFA: Llunio ef. DAVID J. Malan: Yeah. Cafodd ei unig gasglu iddo. Iawn? Hyd yn oed os yw hyn yn gwbl anghyfarwydd i chi, mae'n eithaf tebyg i Saesneg. Nid yw'n sicr sero a rhai, felly yr wyf yn dal Mae angen i redeg drwy'r hyn a elwir yn rhaglen, casglwr, sy'n mynd i fynd ag ef fel mewnbwn ac yn cynhyrchu allbwn. Ac o leiaf, am y tro, yn amgylchedd Linux hwn, ond nid yw hyn yn anhepgor, mae hyn yn unig lle byddwn yn dechrau, rydych yn gyffredinol yn rhyngweithio â systemau cyfrifiadurol fel hyn gan y llinell gorchymyn fel y'u gelwir. Felly, gyda amrantu prydlon ac eich bysellfwrdd, ac nid yn gymaint ar eich llygoden, ac nid cymaint o ffenestri a eiconau a bwydlenni, yn hytrach popeth yn testunol. A hyd yn oed er bod hyn yn teimlo, ar y dechrau yr olwg, efallai, fel yn gam yn ôl, mewn gwirionedd mae'n llawer mwy ffordd bwerus a mynegiannol o reoli cyfrifiadur yn enwedig wrth i chi, chi eich hun, dod yn fwy gyfforddus o lai. Mae'n mynd i ganiatáu i chi wneud llawer mwy o bethau na dim ond yr hyn Microsoft neu Apple yn eich galluogi i wneud gyda eu system weithredu graffigol. Felly, pan fyddaf yn taro Mewnbynnu, yn awr, dim byd yn digwydd y tro hwn oherwydd mae'n debyg y helo rhaglen yn gyfoes. A beth oedd y gorchymyn Yr wyf yn rhedeg ar ôl hynny? Dot slaes helo, ac helo byd. Nawr, gadewch i gymryd cam yn ôl am ychydig funudau'n. Mae'n ymddangos bod yn gwneud helo yn unig yw ffordd syml o lunio rhaglen. Gadewch i jyst yn cyflwyno un darn o jargon, ond wedyn symud i ffwrdd oddi wrthi, gan nad yw'n bob un sy'n ddiddorol ar gyfer dibenion heddiw. Mae'r compiler rydyn ni'n mynd i ddechrau defnyddio gelwir chlang, ar gyfer yr iaith C. Ac mae hyn yn rhaglen sy'n cael ei redeg yn unig fel y gwnaethom yn y llinell orchymyn yno. Ac felly os ydw i eisiau yn llunio rhaglen yr wyf yn wedi ysgrifennu mewn ffeil o'r enw helo dot c, yr wyf yn llythrennol yn jyst deipio helo chlang c mynd i mewn. Y peth rhyfedd yw, am resymau hanesyddol, os nad wyf yn pennu'r enwi y rhaglen fy mod am allbwn, os nad wyf yn ei wneud nodi enw ffeil ar gyfer pob sero rhai a rhai, yn rhyfedd iawn flynyddoedd confensiwn ei fabwysiadu yn ôl lle mae'n teimlo fath o Ateb da ar y pryd, yn dda gadewch i jyst fympwyol ffonio'r rhaglen gyntaf yn llunio dot allan. A dod yn gyntaf yn yr wyddor. Out, mae'n yr allbwn. Felly, byddwn yn galw'r rhaglen at ball dot allan. Ac mae hynny'n iawn oherwydd os wyf eisiau rhedeg y rhaglen yn y testun yma yn seiliedig amgylchedd, Fi jyst deipio dot slaes dot allan mynd i mewn. A byddai'n rhedeg yn union fel o'r blaen. Felly, gadewch i ni weld bod go gyflym. Felly, os byddaf yn mynd yn ôl at fy cod ffynhonnell yn CS50 IDE, ac yr wyf yn hytrach yn gwneud hyn, chlang helo cot c mynd i mewn, rhybudd oes unrhyw beth yn digwydd, ond mae bron bob amser yn amgylchedd Linux hwn, pan dim byd drwg yn digwydd wedyn, bod yn golygu rhywbeth da wedi digwydd mewn gwirionedd. Os nad ydych yn gweld gwall neges, pob yn ôl pob tebyg yn dda. Ac yn wir, os wyf yn awr yn gwneud dot slaes dot allan mynd i mewn, yr wyf wedi rhedeg fy un rhaglen. Rwy'n dal i gael y rhaglen helo o cynharach oherwydd yn wir, 'i' mynd i fod mor llawer brafiach yn unig teipiwch gwneud yn hytrach na cofio incantations hyn o gorchmynion, ond gadewch i ni weld sut yr ydym Gallai wella ar hyn, serch hynny. Felly, mae hyn yn y gorchymyn i lunio'r cod. Mae hyn yn y gorchymyn i redeg y cod luniwyd wedi hynny. Sut y gallaf nodi enw ffeil? Wel gadewch i 'jyst yn cyflwyno un yn fwy darn o jargon. Pan fyddwch chi yn hyn amgylchedd seiliedig ar destun, ydych yn mynd i eisiau i bennu pethau a elwir dadleuon llinell orchymyn. Sydd ychydig yn ffordd ffansi o ddweud, geiriau eraill wrth yr anogwr sy'n tweak ymddygiad beth bynnag rhaglen ydych yn rhedeg. Felly, yn benodol y rhaglen dwi'n rhedeg, trwy deipio enw'r chlang, yw'r rhaglen o'r enw chlang. Felly dyma neu'r hen ysgol sy'n cyfateb i ddwbl-glicio ar Microsoft Word neu icon rhywfaint rhaglen. Im 'yn lle hynny jyst yn teipio ei enw, ond yn y fersiwn hon o'r gorchymyn, Rwyf wedyn yn cael dash o le helo gofod helo dot c. Felly hyd yn oed os ydych erioed wedi chwarae yn y byd hwn o'r blaen, dim ond yn cymryd dyfalu beth mae dash o hello ei wneud? Neu beth mae'n ei ddweud chlang ei wneud? Yeah. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. 'I jyst yn gosod allbwn y ffeil i fod yn helo yn lle y sillier dot allan. Ac, yn wir, gadewch i ni geisio hyn. Felly os wyf yn awr yn ei wneud, yn gyntaf gadewch i ni wneud hyn, r m helo. Dyna gael gwared. Ac mae'n mynd i ddweud dynnu ffeil rheolaidd helo, a oedd yn yn ddirgel yn ddiangen, ond 'i jyst fodd ydych chi eisiau dileu y ffeil, ac yr wyf yn teipio y am ie. Ac yn sylwi, os oeddech yn glancing ar dop chwith, oedd yn diflannu oddi yno. Gadewch i mi ei wneud yn awr dash chlang o, a Rydw i'n mynd i fynd yn ei flaen ac yn gwneud helo, ym mhob capiau, helo dot c. Yn awr, os wyf yn gwneud dot slaes helo, beth fyddech chi'n ei ddisgwyl? Efallai ei fod yn achos sensitif. Efallai nid yw'n. Gadewch i ni weld. Dim ffeil na chyfeiriadur o'r fath. A gallwn fath o twyllo gan dim ond edrych ar dop chwith. Yr hyn a wnaeth i mi yn amlwg achub y rhaglen fel? Mae pob capiau helo. Felly yn wir, dyna mynd i wneud gwahaniaeth. Felly nawr helo byd yn ôl. Yn awr mae hyn i gyd yn iawn ac yn dda, a holl feddwl-numbing iawn, i fath o yn boddi yn y manylion, ond yn eu deall yn dda. Teipio allan rhain yn gynyddol incantations hir Nid yn mynd i fod yn arbennig hwyl, felly mae pobl yn y byd dyfeisio rhaglen arall, rai blynyddoedd yn ôl, a elwir yn gwneud, sy'n eithaf syml yn eich galluogi i deipio gwneuthuriad, enw'r rhaglen ydych am eu gwneud, ac yn gwneud yn smart yn y bydd yn edrych yn y plygell cyfredol, aka cyfeiriadur, ac os oes gennych ffeil Gelwir helo dot c, hynny yw y ffeil, bydd yn llunio i chi i mewn i raglen o'r enw helo. Felly mae'n ffordd llawer symlach o gwneud y gorchmynion mwy cryptic bod y gwnaethom yn gynharach. Ac rydym wedi rhag-gyflunio CS50 IDE i wybod y dylai wneud dash o a nifer o baneri eraill, neu ddadleuon llinell orchymyn, y byddwn yn gweld cyn bo hir. Ond gadewch i ni yn awr yn ei wneud rhywbeth mwy diddorol. Dim ond teipio allan y byd helo i gyd nid yw'r amser yw'r cyfan sydd gymhellol. Felly gadewch i mi fynd yn ei flaen a newid y rhaglen hon ac yn dweud, helo David. Nawr rydw i'n mynd i fynd i lawr fan hyn. Rydw i'n mynd i fynd yn ei flaen ac yn gwneud helo. Ac eto yn awr yr ydych yn gweld gwneud yn dangos i chi yr hiraf dilyniant o orchmynion ei bod yn wneud oherwydd ein bod wedi rhag-gyflunio pethau felly, ond yr ydym yn Mae angen â phoeni am nawr beth mae'n ei wneud heblaw ei fod yn llunio dot slaes helo, helo byd. Beth sydd o'i le? Yeah. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Ydw. Felly, camgymeriad noobie. Sylwaf hyn yn super gynnil, ond mae'r seren yma, yn y tab, unig yn golygu nad ydych wedi achub ei, a phorwyr a rhaglenni eraill yn gwneud hyn weithiau. Felly rheoli s neu orchymyn Dylai s ei chadw. Nawr, gadewch i mi fynd yn ei flaen ac ail-redeg y rhaglen. Recompiled. Iawn, felly mae'n broses aml-gam. Dim un ohonynt yn arbennig o gymhleth, ond unrhyw tro y byddwn yn newid y ffeil, mae angen i ni newid y deillio zeros a rhai, a dot slaes helo. Wow. Felly mae hyn yn underwhelming iawn ein bod dim ond argraffu'r hwn. Gadewch i ni wneud pethau yn ychydig yn fwy deinamig, yn awr. Wel mae'n troi allan, yn hoffi Scratch, C yn cefnogi newidynnau. Ac mae'n troi allan os ydych am i gael newidyn sy'n siopau, nid yw nifer tebyg i ni fel arfer yn gwneud gyda Scratch, ond fel gair, neu ymadrodd, neu enw, byddwch yn Gall pennu newidyn i fod o fath llinyn. Felly, byddwn yn gweld mwy o hyn mewn dim ond hyn o bryd, ond mae'n troi allan y C, a llawer o ieithoedd yn ei hoffi, cael mathau penodol iawn o newidynnau. Dyw hi ddim yn union fel algebra, lle byddwch yn cael x, yn y, a z a'r rhai yn unig bob amser rhifau, mewn iaith raglennu gallwch storio rhifau, gallwch storio cymeriadau unigol, Gallai ydych yn storio gair cyfan, gallech storio delweddau cyfan, ffeiliau sain cyfan, ac yn y blaen. Felly, mae angen i ni nodi pa y math o ein newidyn yw. A thrwy gonfensiwn Rydw i'n mynd i alw fy s amrywiol dim ond oherwydd ei fod yn gryno, a s yn sefyll am linyn. Ac yna dwi'n mynd i storio tu mewn newidyn hwn, yn union fel gyda Scratch pan fyddaf yn defnyddio'r bloc a osodwyd, Rydw i'n mynd i ddefnyddio'r gweithredwr aseiniad yn C, sydd yn ddigon braf yw'r gyfartal lofnodi, ond mae'r hafalnod yn gwneud hyn. Mae'n symud rhywbeth o'r dde i mewn ochr chwith y mynegiant. Felly, yr hyn yr wyf wedi ei wneud, i fod yn glir yn llinell pump, yn cael ei Rydw i wedi datgan amrywiol. Rwyf wedi dweud wrth y cyfrifiadur, yn rhoi i mi cof ar gyfer newidyn, ffoniwch mae'n s, ac yn gwybod o flaen llaw fy mod i'n mynd i gael ei rhoi llinyn ynddo. A llinyn yn unig yw dilyniant o gymeriadau. Mae'n air, neu ymadrodd, neu baragraff, ond mae'n dilyniant o gymeriadau. Dyw hi ddim yn rhifau. Pa llinyn ydw i'n mynd i fod yn rhoi i mewn i hynny newidyn? Wel, mae'n debyg dyfynnu unquote, "Hannah". Nawr yn sylwi ar y patrwm sy'n dod i'r amlwg. Mae 'na mynegiant llaw chwith. Mae 'na mynegiant llaw dde, gwahanu gan yr arwydd cyfartal. A dim ond yn cymryd dyfalu, os anghyfarwydd er hynny, â'r hyn y mae'r hanner colon yn ei wneud. Beth sy'n ei wneud yn ôl pob tebyg i ni? Yeah? GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Mae'n jyst yn terfynu llinell. Iawn? Mae'r cyfrifiaduron eisiau bod yn blwmp ac yn blaen Dywedodd, yn llythrennol, beth i'w wneud. Fel y menyn pysgnau a jeli enghraifft brechdan, os nad ydych yn nodi yn union beth rydych yn bwriadu, gallai gael ei adael i farn neu gamgymeriad. Mae'r hanner colon yn golygu, dyna ni am y gorchymyn yma. Mae'n cael ei super fanwl gywir, ac mae'n yn beth hawdd iawn i adael i ffwrdd. Felly, erbyn hyn nid y rhaglen hon yn ymddangos i fod yn ymddwyn yn wahanol nes i mi wneud yn fwy deinamig. Felly yn hytrach na caled gallai fy hun enw, gadewch i mi rhoi gwerth dalfan. Ac mae'n ymddangos bod, ac yr wyf yn gwybod hyn rhag bod wedi darllen y dogfennau, a defnyddiodd y swyddogaeth ar gyfer y blynyddoedd, bod printf ei chynllunio i fod yn ddeinamig. Nid oes rhaid i chi ei wybod o flaen llaw pa eiriau rydych am ei roi ynddo. Gall Yn hytrach, dylech gael dalfan, fel s y cant, a oedd yn yn mynd i ddweud wrth y cyfrifiadur, rhowch llinyn yma. Pa llinyn ydym ni eisiau rhoi yno? Will ymddangos bod rhwng y cromfachau, sy'n cofio, darnodi mewnbwn i swyddogaeth, os oes gennych atalnod restr o bethau gwahanu yma, mewn gwirionedd rydym yn pasio yn lluosog mewnbynnau i swyddogaeth. Felly, dim ond yn hoffi rhywfaint o Scratch blociau, nid ydych efallai wedi chwarae gyda nhw am eich prosiectau eto, neu o gwbl, rhai blociau Scratch wedi dau fewnbwn. Dau flwch gwyn gallwch teipio rhifau neu eiriau i mewn. Felly, er mwyn mae C yn swyddogaethau tebyg printf sy'n gallu cymryd dwy mewnbynnau. Ac eto, atalnod hon yn eu gwahanu. Felly, yn y Saesneg, unwaith eto, hyd yn oed os nad ydych erioed wedi ei raglennu blaen, gan fod printf rhesymeg yn swyddogaeth, cymryd dau mewnbynnau, un ohonynt yn placeholder, beth fyddech chi'n gobeithio printf yn mynd i'w wneud gyda mewnbwn hwn? Mae'n mynd i ddweud helo Hannah, gobeithio. Felly, i wneud hyn mae angen i ni achub. Rydw i'n mynd i chwyddo allan. Rydw i'n mynd i fynd yn ôl i lawr fan hyn ac yn dweud, yn gwneud helo mynd i mewn. Oh. Rhywbeth o'i le, ac mewn gwirionedd mae hyn yn eithaf llethol. Mae gen i chwech o linellau o god ac fel 12 llinellau o wallau. Felly, yn edrych ymlaen at hyn. Felly beth sy'n mynd ymlaen fan hyn? Felly, y rheol orau yma, yn enwedig pan ydych yn cychwyn allan, peidiwch â chael eich llygad-dynnu gan y pethau ar y gwaelod. A dweud y gwir, yr wyf yn fwriadol iawn jyst sgrolio i fyny oherwydd yn aml iawn, mae cyfrifiadur yn nid yw pob llachar hynny o ddyfais. Mae'n mynd i drysu. Os yw'n gweld un peth y nid yw'n deall, gallai fod camgymeriad eraill linellau o god yn anghywir, hyd yn oed er eu bod yn berffaith iawn. Felly rydych chi bob amser yn awyddus i weithio brig i lawr drwy'r camgymeriadau. Ac mae hyn yn rhaid cyfaddef super arcane ar hyn o bryd. Gwall, defnyddio heb eu datgan llinyn dynodwr. Oeddech wyf yn golygu safonol mewn? Na, yr wyf yn golygu llinyn. Ac mae'n pwyntio at, efallai ei fod yn typo. Fath o fel, sillafu-gwirio mewn ffordd geeky iawn, ond y rheswm yma, a byddwch yn gwybod hyn dim ond drwy ymarfer, yn ei fod yn troi allan y llinyn nad yw'n bodoli yn C. Yn wir, C yn iaith arbennig o hen, ac mae'n lefel isel iawn, ac nid yw'n gwneud llawer o nodweddion y gallech fod wedi tyfu i fyny gyda os oes gennych, mewn gwirionedd, rhaglennu yn Java, gan fod rhai ohonoch wedi, ond gallwch ddysgu ei bethau newydd. Ac yn wir, yr ydym wedi gwneud CS50 hwn, er bod erbyn diwedd y semester, pob un o'r rhain olwynion hyfforddiant Bydd wedi cael eu cymryd i ffwrdd, yr hyn rydym yn ei wneud yn y rhain ychydig wythnosau cyntaf I ddechrau mae gennym hefyd eich bod yn cynnwys CS50 dot h. Pa un yw ffeil header. Mwy am hynny yn y dyfodol. Mae'n ffeil sy'n cynnwys swyddogaethau ein bod wedi ysgrifennu i chi. Ac ymhlith y swyddogaethau hynny yn swyddogaethau ar gyfer cael mewnbwn oddi wrth y defnyddiwr, fel llinynnau, ac rhifau, a rhifau real, a mwy. Ond mae ganddo hefyd rhai llwybrau byr. Mae'n diffinio Boolean fel math data. Nid oes gan C wir neu'n anwir. Ond gallwn roi y syniad o gwir neu gau ar ffurf llyfrgell hon. Ac mae'n Nid yw ychwaith yn cael llinyn a adeiladwyd yn nes i ni yn cynnwys y llinell hon. Felly, y llinell hon o god yn dweud y casglwr, hey, chlang, edrychwch yn y ffeil hon ar gyfer ei gyfanrwydd criw o cod sy'n CS50 wedi ysgrifennu fel bod unrhyw un sy'n defnyddio y ffeil Gall gymryd yn ganiataol y Nodweddion maent wedi ychwanegu. Felly nawr gadewch i mi fynd yn ei flaen ac yn glir y sgrîn, ac os chwilfrydig Im 'jyst yn dweud rheolaeth l bob amser i glirio'r sgrin, neu gallwch deipio glir. Im 'jyst yn mynd i fynd yn ei flaen yn awr a Math gwneud helo, a popeth yn iawn. Still allbwn ddirgel, ond nid yw'n neges wallus. Nawr, os wyf yn gwneud dot slaes helo, ac fel neilltu, dot slaes yn anghyfarwydd i'r rhan fwyaf. Mae'n jyst yn golygu, dot modd y cyfeiriadur cyfredol. Felly, os ydych wedi defnyddio erioed DOS, neu Linux, neu Unix Efallai eich bod wedi gwneud rhywbeth fel cd dot dot, lle dot dot yn golygu mynd yn ôl mewn amser, neu fynd yn ôl, neu yn uwch i fyny yn eich cyfeiriadur. Dot yn unig yn golygu edrych yn y cyfeiriadur cyfredol. Rwyf am helo, sydd yn iawn yma. Ac yn wir, yn awr mae'n dweud helo Hannah. Ac os byddaf yn newid eto i Maria, ail-grynhoi byddai'n gwneud helo, dot slaes helo, mae'r rhaglen yn cadw newid. Ond mae hyn yn dal i fod yn rhaglen 'n bert dwp. Os ydw i eisiau i long y rhaglen hon, neu roi i ffrind, neu roi i Maria neu Hannah o ran hynny, mae hynny'n iawn. Gallaf addasu ar gyfer y ddau ohonynt, ond nid yw byth yn mynd i fod yn ddeinamig. Ni allant ei newid unwaith y caiff ei llunio i lawr i sero a rhai hynny. Felly yr hyn yr ydym wedi gwneud rhywbeth yn fwy craff? Beth os, yn hytrach na caled-godio yn y rhaglen enw'r person hwn, beth os ydym yn unig yn cael y llinyn ar y galw? Felly, mewn geiriau eraill, gadewch i mi wneud hyn. Rydw i'n mynd i ail-grynhoi rhaglen hon. A gadewch i mi chwyddo i mewn ar y gwaelod yn awr. Gwneud helo dot slaes helo. Yn awr nid oes dim yn digwydd. A allwn gael gwirfoddolwr cyflym i wneud i rywbeth ddigwydd? Dewch ar i fyny. Beth yw eich enw? Pancho: Pancho. DAVID J. Malan: Pacho? Dewch ar i fyny. Unwaith y byddwch yn cael i fyny yma, mae hyn yn mynd i fod yn underwhelming iawn, ond mae'n fwy diddorol na mi deipio. Os ydych chi am fynd yn ei flaen a theipiwch eich enw, yr wyf yn gwneud y rhaglen hon ar eich cyfer chi. Teipiwch eich enw. Enter. Wonderful. Mae pob hawl, diolch yn fawr iawn. Pancho: Diolch yn fawr iawn. DAVID J. Malan: Iawn. [Cymeradwyaeth] Yr oedd hynny'n garedig iawn. Dyma chi Go. Beth wnaethom ni? Felly rydym yn olaf, o leiaf, gwneud y rhaglen hon ddeinamig. Nawr mae'n dal i fod yn sicr gan underwhelming dylunio, ond yr ydym o'r diwedd yn cael y gallu yn awr i ysgrifennu cod o flaen llaw, yn llawer fel awduron y printf, ac yna yn ddynamig yn addasu yn seiliedig ar gyfraniad yr ydym yn rhoi, naill ai gan y rhaglennydd, neu gan y ddynol sydd mewn gwirionedd ryngweithio gyda'r rhaglen. Felly gadewch i ni mewn gwirionedd yn awr yn ceisio i wneud ychydig o yn adeiladu eraill a gweld os na allwn wneud y rhaglenni eu hunain yn fwy soffistigedig. Felly gadewch i ni fynd yn ei flaen ac yn hytrach na ysgrifennu'r un o'r newydd, Rydw i'n mynd i fynd i mewn i heddiw cod ffynhonnell, a hyn i gyd ar gael ar y cwrs wefan, a gallwch llusgo a gollwng ei i mewn eich amgylchedd eich hun yn dod Dydd Gwener unwaith broblem set 1 yn rhoi i chi y cyfarwyddiadau, neu fe allech chi yn ei wneud yn y llinell orchymyn fel yn dda, ond mae mwy i ddod yn p gosod 1. Gadewch i ni weld beth sydd yn y rhaglen hon Gelwir yma, wiber dot c. Nawr Rwyf eisoes wedi gwneud sylwadau y peth, ond beth sy'n newydd? Ar yr olwg gyntaf, pa llinell o god yn hollol newydd? Mae'n debyg nad yn sylfaenol anghyfarwydd yn awr. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah, felly int x hafal gael n. Nid ydym erioed wedi gweld unrhyw un o'r hyn o'r blaen, ond mae'n debyg int y symbol ar gyfer pa fath o amrywiol, [? o?] yn gyfanrif. Felly int am gyfanrif. Dim ond ei fod yn bod yn fwy cryno. x yn unig mympwyol. x ac y a z yn dal 'n bert rhesymol ar gyfer rhifau, ond yn gyffredinol byddwn yn defnyddio geiriau unwaith ein rhaglenni yn cael mwy cymhleth. Cael int, wrth gwrs, yn debyg iawn llinyn get, yn ôl pob tebyg yn mynd i gael yn int gan y defnyddiwr, ac yna rydym yn mynd i gwneud yr un peth gyda y. Ac i bob golwg, er bod hyn llinell olaf, 24, yn edrych yn fwy cymhleth, mae'n mynd i ddweud swm hwn a dyna y peth arall. A rhybudd y cant i yn ôl pob tebyg yn dynodi beth? Pa ran sydd y cant i bob golwg yn eu gwasanaethu? 'I' jyst bachau. Iawn? Canran s oedd llinyn, ff y cant ar gyfer gyfanrif. Mae mynd i fod cant f i fel y bo'r angen gwerth pwynt, a oedd yn yn unig yw nifer gyda phwynt degol. Mewn geiriau eraill, mae nifer go iawn. Felly gadewch i ni mewn gwirionedd yn crynhoi hyn rhaglen wirioneddol gyflym ac yn gwneud neidr. Wps. Cyfle da. Felly sylwi yma, holl amser fy defnyddiwr enw ar gyfer y cyfrif hwn yn cael ei jharvard. Yr wyf mewn IDE CS50, aka IDE50. Ac yn awr mewn glas yma, yn sôn, ond o'r amgylchedd, o lle yr wyf. Ac yn wir, os wyf yn chwyddo i fyny i ben yma, yn sylwi bod gennyf IDE50 ac yr wyf yn gweld y gair hwn, os ydych yn fath o droi eich pen i'r ochr, lle gwaith. Yn gryno, mae'r ffaith bod Rwy'n gweld lle gwaith slaes tilde yn golygu bod yn y testun yma amgylchedd gorchymyn sy'n seiliedig ar, Rwyf yn y testun sy'n cyfateb i Graffegol hyn ffolder i fyny yma. Felly, pan fyddaf yn gwneud dot slaes wiber, mae'n dweud na rheol i wneud y targed stop wiber. Nid wyf yn gwybod beth y mae hynny'n ei olygu, ond ei fod yn ddrwg am ryw reswm. Dim ffeil neu cyfeiriadur o'r fath yn oed yn fwy amlwg. Ble mae wedyn? Yn seiliedig ar ble wyf yn clicio i agor y ffeil gynharach. Lle y gallai fod? Mae'n fwy na thebyg yn ffynhonnell un w, ar gyfer dydd Mercher, a gallaf weld ei fod, yn wir, os wyf yn agor bod hyd. Mae wiber dot c, ond mewn amgylchedd hwn seiliedig ar destun, eto, rhaid i mi fod super benodol. Os wyf am newid cyfeirlyfrau i mewn ffynhonnell un Dydd Mercher, mae angen i mi deipio, cd ffynhonnell gofod un Dydd Mercher mynd i mewn ac yn awr fy newidiadau prydlon i rhoi ciw gweledol mi fod Rwy'n, yn wir, mewn mannau eraill yn fy amgylchedd, ond erbyn hyn gallaf yn gwneud wiber, mae'n ymddangos i weithio, dot slaes wiber, yn rhoi cyfanrif mi. Un. Dau. Swm un a dau yn dri. Ond os nad wyf yn cydweithredu, gadewch i ni weld beth cael int ei wneud. Rhowch yn gyfanrif mi. Na Ailgeisio. OK. Fine. 50. 50. Mae pob hawl. Felly mae'n o'r diwedd cydweithio. A dyna rai o'r ymarferoldeb y swyddogaethau hyn Gall wedi adeiladu i mewn i chi. Felly, y tu mewn i'r gweithredu o cael int, pa rhaglennu adeiladu o wythnos diwethaf yn ôl pob tebyg yn yno i orfodi ymddygiad hwn o Ailgeisio, ailgeisio, ailgeisio? Yeah, mae'n debyg rhyw fath o ddolen. Mae'n mynd i edrych yn syntactically yn wahanol i flociau Scratch, a ond mae hynny'n wir beth sydd y tu mewn i'r ffeil. Ac mewn ychydig wythnosau i ni chi helpu mewn gwirionedd yn edrych ar y llyfrgell CS50 ynghylch yr hyn sydd y tu mewn, ond mae dolen gosod yn union hynny. Gadewch i ni chwarae ychydig yn wirion gêm yma gyda ffeil hon. Amod sero dot c. Rydym yn jyst yn mynd i yn gyffredinol dechrau cyfrif ar sero. Ac yr wyf yn cadw sgrolio heibio rhai o'r pethau ar y brig. Yn glas yma, ddynodi gyda phob o sêr hyn a'r slaes, rhai ohonoch sy'n rhaglennu o'r blaen, beth yw hynny? Pam yr ydym yn cadw sgipio drosto? Beth? GYNULLEIDFA: Mae'n sylwadau. DAVID J. Malan: Yeah. Mae'n dim ond sylwadau. Mae hwn yn sylw ar gyfer pobl i ddarllen, hynny yn ein hachos ni, yn dweud wrthym beth enw'r ffeil yw, a ysgrifennodd ef, a'r hyn y mae'n ei wneud, fel nad oes gennych ddarllen drwy'r cod i wybod beth y ffeil yn ei olygu. Mae'n dim ond disgrifiad, ond swyddogaethol mae'n amherthnasol. A allaf hyd yn oed ddileu oddi ar fy ffeil ac nid oes ganddo unrhyw effaith. Mae'r llinellau llawn sudd yw'r rhain cyntaf dau yma, nawr. prif ddi-rym int yn cyfateb o'n pan glicio baner werdd, felly rydym yn mynd i adael hynny fod ar gyfer heddiw, a byddwn yn dod yn ôl, yn y pen draw, o ran yr hyn int a gwag yw, ond erbyn hyn, sylwi ar yr hyn yr wyf wedi ei wneud yma hefyd, gallwch hefyd, os oes gennych yn unol sylwadau, os oes gennych a meddwl ydych am rannu am linell benodol o god, confensiwn yn C yw gwneud slaes slaes, ac yna ychydig o eiriau cryno, Nid brawddegau llawn, Yn gyffredinol, nid yw paragraff, mai dim ond yn esbonio i chi, neu eich TF, neu ddarllenwyr neu gydweithwyr eraill, beth yw eich cod yn ei wneud. Felly yn hytrach na gorfod edrych ar hyn ac yn casglu o linellau naw a 10, beth yw mae hyn yn ei wneud, yn unol wyth Fi jyst yn rhoi sylw i yn gofyn i'r defnyddiwr ar gyfer cyfanrif, yna nid oes rhaid i mi feddwl yn rhy galed am yr hyn y llinellau naw a 10 yn cael eu. Fi jyst yn gwybod bod dyna beth gyda'i gilydd maen nhw'n ei wneud. Sut? Wel, dyma y brydlon. Dyma y cael y int. Ac yn seiliedig ar y blaenorol ymddygiad, mae'n ymddangos fel Get int yn ddigon craff i wneud yn siŵr bod y ddynol cydweithio ac yn rhoi ei yn gyfanrif. Ond yn awr yr ydym yn gweld hyn. Ac mae hyn yn ein hatgoffa o Scratch. Im 'yn honni fy mod yn dadansoddi mewnbwn y defnyddiwr, ond braidd yn anghywir. Ac mae hyn yn ôl pob golwg yn C yw sut rydym yn mynegi os arall, yn gangen, fforch yn y ffordd, ond yr wyf yn dweud braidd yn anghywir. Beth yw'r nam yn y rhaglen hon? Amdanom yn ôl ymhellach? Yeah. GYNULLEIDFA: [Anghlywadwy] sero. DAVID J. Malan: Yeah. Felly, os wyf yn teipio yn sero, gadewch i ni ystyried yn union yr achos hwnnw achos, neu gornel, os mynnwch. Felly, os wyf yn teipio yn sero, pa un o'r blociau yn mynd i bob golwg chrafangia '? Mae'r os neu'r arall? Mae arall, ac mae'n mynd i ddweud, chi ddewis rhif negatif. Ac yn wir, nid sero yn dybiedig i fod yn gadarnhaol neu'n negyddol, ac felly byddai hynny'n gam. Byddai hynny yn bug. Felly, sut y gallwn atgyweiria hon? Rhywun sydd erioed wedi rhaglennu o'r blaen? Ydych chi'n want-- GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: wrthdynnu'r? GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: O, gennych chi? Rhywun sydd erioed wedi rhaglennu o'r blaen. Eisiau roi cynnig ar hyn, yn y crys coch? Dewch ar i fyny. O ie, yn dod ar i fyny, os nad oes ots gennych. Felly erioed wedi ei raglennu o'r blaen, beth yw eich enw? LAUREN: Lauren. DAVID J. Malan: Lauren, pob hawl. Felly atgyweiria nam yma i ni. Nid ydych wedi gweld C, yn ôl pob tebyg, ac yn ôl pob tebyg dim iaith arall. Felly atgyweiria y rhaglen hon ar ein cyfer. Neis i gwrdd ya. Dim pwysau. LAUREN: Yeah. DAVID J. Malan: Ond unwaith eto, os yw hyn gambl yn mynd yn ôl i gynllunio, y cludfwyd yma bydd fod, dim ond unwaith eto, i ddechrau i hysbysiad patrymau a casglu o cystrawen presennol sut arall y gallech fynegi eich hun, dim pun fwriadwyd, er mwyn i ddal rhywfaint o senario ychwanegol. Felly rydym yn ei ddweud arall os. printf, yn dda. Ac yn sylwi gyda CS50 IDE, a IDE frankly-- yn sefyll am Integredig Yr Amgylchedd Datblygu. 'I' jyst yn ffordd ffansi o ddweud rhaglen sy'n helpu i raglen yr ydych. Mae'n gwneud hawdd ei ddefnyddio pethau fel pan fyddwch yn teipio un parenthesis, mae'n rhoi i chi yn awtomatig y llall. Y rhagdybiaeth oedd eich bod yn yn y pen draw mynd i eisiau i deipio hynny, ac mae hefyd yn gwneud 'i ag dyfyniadau. Felly, yr wyf yn hoffi llinell 23. 99% o'r ffordd yno. Rhywun eisiau cydsynio mewn gyda blaen? Clywais hanner colon gan y gynulleidfa. Da. Felly mae hynny'n cwblhau'r hynny. Ac yn awr, Fi jyst cael ychydig syndod gyda llinell 21. Sut ydym ni eisiau i fynegi hyn? Pa gwestiwn ydym ni eisiau i ofyn, yn eich barn chi? Felly flaenorol gofynnom y cwestiwn, os n yn fwy na sero, yn gwneud hyn. Else, yn gwneud hynny. Felly mae angen i ddewis cwestiwn i ofyn yma. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Da. Felly os n hafal sero. Ardderchog. Felly gadewch i ni oedi yma. Diolch yn fawr am ddaeth allan yn hyn i chi. Gadewch i mi roi i chi ychydig yn haeddiannol pêl straen, efallai bod. Felly rydym yn bron yno. Yn wir, Lauren, os nad ydych yn meddwl, gadewch i mi wneud un tweak yma, dim ond i fod yn gyson hyd yn oed gyda yr hyn a welsom yn Scratch, beth ydw i am ei wneud gyda llinellau 21 a 24, yn seiliedig yn unig eto ar sut rydym yn gwneud hyn yn Scratch, efallai? GYNULLEIDFA: Symudwch i fyny. DAVID J. Malan: Yeah, yn symud i fyny. Felly, y cyflwr arall, y trydydd, neu bedwerydd, neu bumed, neu gangen terfynol, Dylai wir yn dod ar ôl hynny, a dim ond drwy confensiwn, dim ond oherwydd os mynnwch. Felly mae angen i mi wneud tweak hwn. Ac mae angen i mi roi fy Brace cyrliog yn ôl yma. Ac yn awr, bydd y rhaglen hon yn llunio. Rydym mor agos, ond mae nam iawn, cynnil iawn. Gadewch i ni weld beth sy'n digwydd. Yn gyntaf, gadewch i mi fynd yn ei flaen ac yn chwyddo allan. Rydw i'n mynd i fynd yn ei flaen a teipio yn gwneud cyflwr sero. O, rwy'n dweud celwydd. Nawr bod y compiler yn mewn gwirionedd yn eithaf smart. Ac nid wyf yn wir yn deall 'i' neges gwall. Gan ddefnyddio'r ganlyniad i aseiniad fel amod heb cromfachau, yn ôl pob golwg yn ddrwg. Ond beth mae hynny'n ei olygu? Wel unwaith eto, yn chwilio am batrymau mewn cod sy'n ydym wedi ei weld o'r blaen, beth yw llinell 17 yn ei wneud mewn gwirionedd, hyd yn oed er y bwriedir Lauren ychydig yn fel arall? Yeah. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Felly cofiwch yr arwydd cyfartal, yn ôl pob golwg fel yr ydym wedi ei ddefnyddio o'r blaen, nid yw'n gyfartal. Mae ei aseiniad, o'r dde i'r chwith. Felly llinell 17 ar hyn o bryd yn gyflwr, ac mae'n gweithredu Cod y tu mewn i'r cromfachau, ond pan y cod executes, yr hyn sy'n digwydd i werth sero? Beth sy'n digwydd i werth n? Dod sero. Felly os n yn dod yn sero, ac eto, fel yr wythnos diwethaf, rydym yn gyffredinol yn dweud bod sero yn ffug ac un yn wir, neu ie yn un a dim yn sero. Felly gwir a gau, un a 0. Os yw n fel llinell 17 wedi bod o ystyried y gwerth 0, yn sero wir? Na Drwy ddiffiniad, sero yn ffug. Dyna y confensiwn rydym yn mynd i cling i symud ymlaen. Felly bydd llinellau 18, 19, a 20 byth yn berthnasol yn awr, yn rhesymegol? Na allant ei wneud. Felly, rydym yn gofyn y cwestiwn ond nid yn eithaf manwl, ac ni fyddech yn gwybod hyn oni bai rydych wedi ei weld, yr ateb yn C yw pan fyddwch am i fynegi cydraddoldeb, yr ydych yn dweud hafal gyfartal. Felly hafalnod eisoes yn cael ei ddefnyddio i fyny trwy aseiniad, o'r dde i'r chwith. Equals hafal modd hafal. Ac os ydych wir eisiau eich meddwl i gael eu plygu, yn JavaScript a PHP, mae hafal hafal hafal, a oedd yn yn golygu rhywbeth arall yn gyfan gwbl, ond byddwn yn mynd at hynny cyn hir. Felly, mae hwn yn ateb syml, ond yn sylweddoli super hawdd i'w wneud camgymeriad hwn, ac yna meddwl tybed a frwydr ar gyfer cofnodion, os nad yr awr, pam mae fy cod Nid yw weithredu fel fy mod yn bwriadu? Mae'n oherwydd na wnaethoch ddweud wrth mae'n union yr hyn yr ydych yn ei olygu. Felly dyna oedd bron perffaith, ac roedd yn wych ein bod yn baglu ar draws y ddau bach pethau oherwydd erbyn hyn os byddwn yn eu trwsio, ac yr wyf yn gwneud cyflwr sero dot slaes cyflwr sero, Hoffwn yn gyfanrif os gwelwch yn dda. Gadewch i ni weld. Na Mae'n mynd i fy ngorfodi i wneud hynny. Felly 42. Yr wyf yn codi nifer positif. Felly nawr sut ydw i'n profi rhaglen hon yn gywir? Os ydych yn mathemategydd, ni allwch 'n sylweddol profi hyn trwy brofi a methu, iawn? Gallwch prawf nid yn unig gan enghraifft, ond o leiaf fel rhaglennydd nad ydym yn mynd i geisio profi am y tro bod hyn mewn gwirionedd gywir, ond yr wyf yn ôl pob tebyg dylai profi rhai achosion cynrychioliadol. Rwyf wedi profi 42. Gallwn brofi 43. Gallwn brofi 44. Prawf 45. Iawn? Ond allwn i wneud hyn yn amser hir iawn. Beth fyddai rhai yn fwy achosion diddorol i roi cynnig? GYNULLEIDFA: [Anghlywadwy] sero. DAVID J. Malan: Felly sero. Yn sicr. Ac yn dda, mae gennym y tro hwn, diolch i cod newydd Lauren. Beth sy'n achos da arall i roi cynnig? GYNULLEIDFA: un negyddol. DAVID J. Malan: un Negyddol, a efallai rhywbeth ychydig yn fwy, felly efallai negyddol 42, ond yn gyffredinol, pan fydd brofi eich rhaglenni symud ymlaen, rydych yn mynd i eisiau i feddwl i chi eich hun, fel beth yw'r achosion gwahanol sylfaenol. Ac yr wyf yn siŵr gen i achos negyddol, achos cadarnhaol, ac achos sero 'n bert lawer rowndiau hyn allan. Gadewch i ni edrych ar amrywiad o er bod hyn. Un amodau. Mae hwn yn ateb yn gywir yma, fel y byddwch yn gweld dau ac ar-lein, os byddwch yn cerdded drwy'r walkthroughs, bydd y cyfan cynyddiad rhain fesul cam nes i ni cael yr union yr ymagwedd gywir. Beth os ydym eisiau gofyn dau gwestiwn ar yr un pryd? Gadewch i mi agor hwn yn lle hynny. Di-switsh, am resymau byddwn yn gweld amser arall. Beth sy'n newydd syntactically yma? Ar hyn o bryd dw i'n chwarae gêm lle y cyfrifiadur yn dweud mi, yn rhoi i mi cyfanrif rhwng un a 10, ac yna i ddim yn barnu mewnbwn y defnyddiwr. Yn Saesneg, yn seiliedig ar y cod a welwch yma mewn glas, yr hyn sy'n rhaglen hon yn ei wneud? GYNULLEIDFA: [Anghlywadwy] dewis mae nifer fawr neu'n fach. DAVID J. Malan: Yeah. Mae'n dim ond beirniadu p'un Yr wyf yn codi yn fawr, neu gyfrwng, neu nifer fach yn seiliedig ar iawn Diffiniad mympwyol o bach, canolig, a mawr yma, ond rhybudd y gystrawen sy'n newydd yw hyn. Does dim llai na int neu'n hafal i llofnodi, neu fwy na neu'n hafal i lofnodi, lle mae un yw dros y llall, eich bod yn gallu mynegi mewn fel Microsoft Word. Felly, mewn iaith raglennu chi Fel arfer dim ond gwneud ddau gymeriad, un ar ôl y llall. A beth mae hyn yn ôl pob tebyg cynrychioli, ampersand ampersand. GYNULLEIDFA: [Anghlywadwy] DAVID J. Malan: Yeah. Mae'n jyst yn golygu ac oherwydd ei fod yn ymddangos bod y awduron C defnyddio ampersand sengl, a allai yn eich barn chi fyddai'n berffaith ar gyfer y syniad o, a, eisoes yn cael ei ddefnyddio i fyny, ampersand mor ampersand mewn gwirionedd dal yn wir yr ydym ei eisiau mewn gwirionedd. Felly, gadewch i ni yn awr yn dod ar draws dau beth. Gadewch i mi fynd yn ei flaen ac agor un. Rhywbeth sy'n ychydig yn worrisome. Imprecision dot c. Gadewch i mi gyflwyno dau beth yma. Un, rybudd y gallwn ei wneud mathemateg, yn union fel o'r blaen pan gwnaethom yn ogystal â dau rif, x ac y. Beth yw rhaglen hon yn ôl pob golwg yn ei wneud? Nid wyf wedi gwneud sylwadau eto, ac rydw i wedi cyflwyno y cant f, ond dywedais yn gynharach yn gyflym cant f golygu pwynt arnawf gwerth, sydd yn rhif real. Rhywbeth gyda degol pwynt, ac nid yw yn gyfanrif. Beth ydych chi'n meddwl y rhaglen hon yw ceisio dangos i mi ar y sgrin? Yeah? GYNULLEIDFA: Y ganlyniad i un dros 10. DAVID J. Malan: Yeah. Beth yw canlyniad un rhannu â 10. Iawn, gan fod yr holl sydd gennych yn ôl pob tebyg tyfu i fyny yn gwybod bod un dros 10 yw beth? Yeah, dim ond 1/10 neu 0.1. Iawn? Felly, gadewch i ni weld beth mae hyn mewn gwirionedd. Felly gadewch i mi fynd yn ei flaen ac arbed hyn. Gadewch i mi fynd i lawr yma. Gwneud imprecision dot slaes imprecision, a rhybudd, hefyd, mewn amgylchedd Linux, nid ydych yn ei wneud rhaid i deipio allan imprecision a chymryd drwy'r dydd. Yn gyffredinol, os byddwch yn taro Tab, mae'n Bydd gorffen eich meddwl ar eich rhan, yn seiliedig ar y geiriau sy'n cael eu ar gael yn y cyfeiriadur cyfredol. OK. Felly, rydych yn gywir. Mae un wedi'i rannu gan 10 yw, mewn gwirionedd, 0.1. Ond dw i'n ychydig yn rhyfedd. Ac mae'n troi allan printf yn cefnogi rhai nodweddion lle gallwch nodi mwy na mae nifer diofyn o bwyntiau degol. Felly, os wyf am weld 10 degol pwyntiau gallaf ei wneud y cant, am y symbol dalfan, dot 10 am, rhowch 10 pwynt degol mi, ac yna yn dal pwynt arnawf gwerth, ac, wrth fynd heibio, beth yw slaes hon n mae'n debyg rydym yn cadw ei ddefnyddio? Mae'n troi allan ei fod yn symbol ar gyfer llinell newydd. Dyma'r ffordd benodol iawn o ddweud i'r cyfrifiadur, symud y cyrchwr i'r nesaf llinell ar ôl i chi yn ei wneud. A gawn ni weld beth sy'n digwydd pan nad ydym yn gwneud hynny. Gadewch i mi ail-grynhoi gwneud imprecision. Nawr dot slaes imprecision. OK. Still i'r dde. Mae un wedi'i rannu gan 10. Nawr rwy'n cael ychydig yn chwilfrydig, er. Beth os wyf yn edrych 20 degol yn nodi, ail-grynhoi, ailgynnal, ac fel o'r neilltu ar gyfer cyflymder, gallwch hefyd ddefnyddio'r eich fyny ac i lawr saethau i sgrolio drwy eich hanes, felly nid oes rhaid i chi gadw aildeipio gorchmynion hyn, rhowch. Huh. Doeddwn i ddim yn dysgu bod yn yr ysgol radd. Mae pob hawl, felly gadewch i mi gweld fel 29 o lefydd allan. Efallai mai dim ond hap a damwain. Efallai fy nghyfrifiadur yn gweithredu rhyfedd. Nid yw hynny'n beth, dde? Mae'n gwneud rhywbeth deterministically. Felly gwnewch yn imprecision. OK, mae hynny'n cyboledig i fyny. Felly beth sy'n mynd ymlaen? Felly mae'n debyg eich athro wedi bod yn gorwedd i chi i gyd y tro hwn am rhesymau y byddwn yn gweld cyn bo hir. Ond gadewch i ben gydag un rhaglen arall. Mae hyn yn ychydig o raglenni rhywun ysgrifennodd rai blynyddoedd yn ôl, ac mae'n mewn gwirionedd yn rhan o gystadleuaeth. Nid oes unrhyw un mewn gwirionedd yn ysgrifennu cod fel hyn, ac os ydych yn gwneud hynny, mae hyn yn arddull yn broblem. Ond mae pobl yn gwneud hyn am frolio hawl. Ysgrifennu y mwyaf dryslyd rhaglen chwilio sy'n er hynny yn gwneud rhywbeth diddorol. A'r nodyn Roeddwn i'n meddwl y bydden ni'n gadael ar heddiw, cyn i Colton ein chwarae allan yma, yw rhedeg y rhaglen hon, sydd, hyd yn oed mewn dim ond drwy ddefnyddio C yn hyn seiliedig ar destun amgylchedd, yn rhoi i ni yma. Dammit. [Chwerthin] Yn sefyll yn ôl. [Anghlywadwy] c dash l m. Rydych yn mynd i weld y hudol incantation y byddwn yn gweld cyn bo hir. [Anghlywadwy] Mae pob hawl. Ac yn awr y gallwch hyd yn oed gwneud pethau fel hyn. Dyna ni. Ar gyfer CS50 ydym, byddwch yn gweld ar ddydd Gwener. [CHWARAE CERDDORIAETH] [Cymeradwyaeth]