[CHWARAE CERDDORIAETH] DAVID Malan: Pob hawl. Croeso yn ôl. Mae hyn yn CS50, ac mae hyn yn Wythnos Un, Parhad. Felly, un o'r rhesymau pam yr ydym wedi bod yn pasio ymwneud â thechnolegau fel Google Glass yw eu bod yn dod gyda rhywbeth a elwir yn API, yn Cais Rhyngwyneb Rhaglennu. A beth mae hyn yn ei olygu yw bod gyda ffeiliau cywir ac â'r hawl dogfennau, gallwch ysgrifennu mewn gwirionedd meddalwedd ar gyfer dyfeisiau hyd yn oed fel y rhain. Ac felly yr hyn sydd gennym mewn golwg tuag at diwedd semester yw, os bydd prosiect cynnwys, er enghraifft, Google Glass gallai apęl, byddwn yn gweld yr hyn y gallwn ei wneud yn ran hooking â chi i fyny gyda rhai loaner caledwedd yn ogystal â'r API gyhoeddus hygyrch fel y gallwch dechrau mewn gwirionedd yn creu meddalwedd sy'n rhedeg ar yr un Google Glass. Ddyfais arall yr ydym wedi bod yn chwarae gyda yn ddiweddar ein bod yn meddwl y gallai fod yn hwyl ar ddiwedd y semester yn y peth bach yma. Mae'n cael ei alw Cynnig Leap, a beth rydych chi'n am ei weld yw dechnegol yn hysbyseb ar gyfer y ddyfais, ond mae'n yn siarad â beth mae hyn yn arbennig ddyfais yn gallu. Ac mae'n, hefyd, yn dod ag API drwy y gallwch ysgrifennu meddalwedd i rheoli eich cyfrifiadur eich hun mewn modd eithaf hoffi y ffilm un munud yma. [VIDEO Playback] [VIDEO END Playback] Felly, ar hyn o bryd, dyfais hyn yn digwydd i cael eu gweithredu cyn lleied o USB cysylltydd y gallwch dopio i mewn i'ch cyfrifiadur, ond ni fyddwn yn synnu os cyn hir gennym y mathau hyn o technolegau yn y swp nesaf o gyfrifiaduron a Macs fel y gallwch, yn wir, rhyngweithio â hi mewn ffordd fel 'na. Yn wir, yr hyn yr wyf yn meddwl y byddwn i'n ei wneud, hefyd, yn Yr wyf yn tynnu i fyny ychydig o arddangosiad rhaglen sy'n dod gyda'r feddalwedd hon. Felly, yr wyf wedi rhoi'r synhwyrydd bach o flaen fy ngliniadur. Ac fel y gwelwch, mae'n sylweddoli eisoes bod fy llaw yno rheoli. A'r holl y cais hwn yn ei wneud swimmingly pethau bach fel hyn. Ond gallwch weld bod, yn wir, Mae gennyf bum bysedd yno. Os gallwn ei gael i wneud yr holl 10, gallwch ddychmygu piano taclus cais neu yn y blaen. Felly, os hoffech chi i ddod o hyd ar ôl y dosbarth heddiw a chwarae gyda hynny fel yn dda, mae croeso i chi. Felly mwy am hynny tuag at ddiwedd y semester. Felly, ychydig o gweinyddol cyhoeddiadau. Un, wneud yr adran erbyn dydd Gwener hwn am hanner dydd ar cs60.net/section. Bod URL ar y cwrs hafan hefyd. Yn y cyfamser, fodd bynnag, supersections Bydd gêm gyntaf y Sul hwn. Supersections yn beth un-amser, oherwydd ei fod yn mynd â ni beth amser i weithio gwybod pwy sydd yn y mae adran ac ymhle. Felly, mae hyn Dydd Sul nesaf, bydd yna un adran ar gyfer y rhai llai cyfforddus, un adran ar gyfer y rhai yn fwy cyfforddus. A'r rhai ohonoch rhywle yn Mae croeso i fynd i rhwng naill neu'r ddau neu naill na'r llall. Bydd y ddau o'r rhain yn cael ei ffilmio. Byddant mewn awditoriwm fwy na'r byddai adran fel arfer mewn Ond y nod yma yw rhoi i chi'r rhywfaint o gysur gyda phroblem gosod un, gyda C, gyda'r CS50 peiriant, mae hyn yn penwythnos, hyd yn oed cyn i chi ddod o hyd i'ch aseiniad adran ffurfiol. Felly byddwch yn cwrdd â'ch TF a'ch llai grŵp o sectionmates mewn tua ymhen wythnos. Oriau swyddfa, yn y cyfamser, wedi bod yn mynd ymlaen. A oes fanteisio arnynt heno neu nos yfory os hoffech. Problem set 0 yn ddyledus ar ddydd Gwener. Mae hwn yn ddiwrnod hwyrach na'r rheolaidd-drefnu ddydd Iau. Ond gyda phroblem set 1, byddwch yn gweld ei fod yn cynnwys rhai cynhesu chi eich hun ymarferion â hwy gallu ymestyn eich Dyddiad cau Iau i ddydd Gwener. Problem set 1, yn y cyfamser, bydd y tro cyntaf ar wefan y cwrs hwn yn dod Dydd Gwener, os hoffech i cyrlio i fyny gyda iddo fel y gwneuthum ar un adeg hwyr Nos Wener yn eich ystafell. Felly cs50.net/appliance yn y man lle gallwch gael y cyfarpar CS50 ein bod yn dechrau defnyddio ar ddydd Llun. Byddwn yn defnyddio ychydig yn fwy heddiw. Ond yn dawel eich meddwl bod y broblem a osodwyd 1 Bydd manyleb byddwch yn cerdded trwy union pa gamau rydych angen i gael y cychwyn. Felly peidiwch â phoeni am wneud hynny cyn Pset 1 os ydych yn byddai'n well peidio. Mae pob hawl. Felly, rydym yn edrych ar Llun am cod ffynhonnell, ond yng nghyd-destun newydd iaith raglennu, sef C. A C, yn wahanol i Scratch, nid yw'n graffigol. Dyw hi ddim yn bendroni darnau. Mae'n fwy tebyg i Saesneg cystrawen. Ac mae un neu ddau o gamau sy'n ymwneud mewn gwirionedd yn ysgrifennu a rhedeg rhaglen yn C, oherwydd ar wahân i ffynhonnell cod fel hyn, mae angen rhywbeth a elwir yn compiler. Ac mewn termau lleyg, yr hyn mae casglwr yn ei wneud i ni? Yeah. MYFYRIWR: Mae'n trosi y cod eich bod yn ysgrifennu at 0s a 1s. DAVID Malan: Da. Felly, mae'n trosi'r cod sy'n byddwn yn ysgrifennu at 0s a 1s. Mae'n trosi hyn a elwir yn cod ffynhonnell i cod gwrthrych, yr olaf sy'n edrych rhywbeth bach fel hyn. Ac mae'n eich CPU, yr ymennydd tu mewn eich cyfrifiadur, oherwydd y bobl a greodd cyfrifiaduron hynny, gwybod pa dilyniannau hynny o cymedr 0s a 1s. Efallai mae'n golygu print. Efallai ei fod yn golygu ychwanegiad. Efallai ei fod yn golygu tynnu. Efallai ei fod yn golygu arddangos graffig. Mae patrymau rhagosodol o ddarnau bod y byd wedi penderfynu yn ei olygu rhai pethau. Ond ar gyfer y rhan fwyaf yn y cwrs hwn, byddwn yn gweithio ar lefel uwch, ac byddwn yn cymryd yn ganiataol bod yn bodoli pethau fel crynoadyddion y gall gwneud ein swyddogaeth cod ffynhonnell yn y ffordd yr ydym yn bwriadu. Felly, y rhaglen rydym yn ysgrifennu cyntaf yr wythnos diwethaf ac yna dechreuodd i borthladd, felly i siarad, i C gorffennol mae hyn Dydd Llun, oedd hyn. Pan fydd baner werdd glicio, yn dweud helo. Roedd hyn, wrth gwrs, ysgrifennwyd yn Scratch. Ac yr wyf yn honni bod yr hyn sy'n cyfateb rhaglen yn C yn edrych ychydig yn rhywbeth fel hyn. Felly, yr hyn yr wyf yn meddwl byddem yn ei wneud yn gyntaf yw, gadewch i ni canfod beth ar wahân edrych, ar y dechrau olwg, rhaid cyfaddef, yn weddol arcane cystrawen, ond byddwch yn dechrau sylwi ar patrymau yn eithaf cyflym. Yr hyn byddwn hefyd yn ei wneud heddiw yw darparu chi gyda model meddwl ar gyfer rhai ganonaidd, mae rhai lluniadau safonol mewn rhaglennu. Ac yna byddwn mewn gwirionedd yn cael ein dwylo budr gyda rhai enghreifftiau hefyd. Felly, ar gyfer y rhai ohonoch yn fwy cyfforddus, sylweddoli bod yr wythnos hon, ac yna nesaf Efallai y wythnos yn dda iawn fod yn dipyn o adolygu. Ond yn enwedig pan fydd y rhifyn haciwr o broblem set 1 yn mynd allan ar y gwefan cwrs ar ddydd Gwener, yr wyf yn credu fe welwch fod hyd yn oed wrth i chi lenwi'r rhai bylchau dros yr wythnos neu ddwy nesaf, byddwch yn dechrau i gael hyd yn oed mwy herio ac yn dod ar draws pethau newydd a mwy newydd. Felly, gadewch i ni canfod y rhaglen hon ar wahân ychydig o linellau ar y tro. Ar frig iawn, mae gennym beth sy'n a elwir yn dechnegol yn gyfarwyddeb Preprocessor. Mae hyn yn unig yw llinell o god sy'n dweud i gynnwys y cynnwys y ffeil, o'r enw Yr wyf safonol / N, mewnbwn safonol - neu, mae'n ddrwg gennyf, safon I / O, safon mewnbwn / allbwn,. h, y tu mewn o fy rhaglen eu hunain. Felly, mewn geiriau eraill, os wyf yn ysgrifennodd y rhaglen gyda golygydd testun syml fel gedit, yr hyn sy'n cyfateb symlach o rhywbeth fel Microsoft Word, sy'n cyfarwyddyd, # yn cynnwys stdio.h, yn unig yn mynd i ddweud wrth y compiler, chrafangia 'r cynnwys y ffeil eraill, stdio.h, a bastio yn iawn yma. Yn awr, pam ydw i'n gofal? Beth wnaethon ni ei hawlio yn y tu mewn i'r ffeil hon enw stdio.h, sy'n cael ei storio rhywle ar fy 'n anawdd cathrena, neu yn y achos, rhywle yn y CS50 offer? Rhywun arall roi yno i mi. Ond beth sydd ynddo? Yeah, felly mae'n ddatganiad o swyddogaeth o'r enw printf. Felly printf yn cofio y swyddogaeth sy'n arddangosfeydd geiriau a chymeriadau a rhifau ar y sgrin ar fy cynnig. Ond doeddwn i ddim yn ei ysgrifennu. Nid oedd CS50 ysgrifennu. Flynyddoedd Rhywun yn ôl ysgrifennodd, ac maent yn Rhoddodd y rysáit ar gyfer ei fod yn ein hanfod mewn ffeil o'r enw stdio.h. Felly, y llinell gyntaf yn unig yn rhoi i mi gael mynediad â swyddogaethau bod rhywun arall Ysgrifennodd flynyddoedd yn ôl, ymhlith sy'n printf. Yn awr, y llinell nesaf Rydw i'n mynd i chwifio fy gynnig ar, o leiaf tan yr wythnos nesaf. Ond am y tro, yn gwybod bod int brif (gwag) yn hanfod yr hyn sy'n cyfateb o hyn darn pos melyn pan baner werdd glicio. Y byd, flynyddoedd yn ôl, penderfynodd, os eich bod yn ysgrifennu rhaglenni yn y iaith o'r enw C, byddwch yn dechrau eich rhaglen gyda llinell sy'n edrych fel 'na. Mewn dim ond ymhen rhyw wythnos, bydd yn gwneud synnwyr beth int yw, beth yn ddi-rym. Ond am nawr, dim ond feddwl am y peth gan fod hyn yn darn pos melyn. Yn awr nesaf, mae gennym Brace cyrliog dilyn gan Brace cyrliog agos arall, fel petai. A byddwn yn gweld hyn drwy gydol rhaglenni yn C, yn ogystal â JavaScript a PHP. Ac mae'r rhain yn dim ond crynhoi linellau cysylltiedig cod. Mae'r brês cyrliog agored yn ei hanfod dweud, dyma daw rhywfaint cod. Ac mae'r Brace cyrliog caeedig, sy'n ongl yn y cyfeiriad arall, dim ond yn golygu, dyna ni am y cod perthnasol. Felly y llinell llawn sudd yn y cyntaf rhaglen yn yr olaf, printf, dyfynnwch-unquote, helo byd. Ac yr wyf yn galw y peth rhwng dyfyniadau hyn y tro diwethaf? Felly mae'n llinyn. A llinyn yn unig y techie dymor ar gyfer dilyniant o cymeriadau, gair, ymadrodd. Gallai hyd yn oed un llythyren yn cael eu dyfynnu dwbl. Ond mae'n dilyniant o sero neu gymeriadau fwy. Slaes-n, fodd bynnag, yn edrych ychydig yn rhyfedd. Ond yn syml, yn golygu rhywbeth syml i'r cyfrifiadur. Beth sy'n slaes-n? Llinell newydd. Felly, dim ond y dilyniant arbennig cymeriadau bod y byd wedi penderfynu yn golygu rhoi toriad llinell iawn yno, oherwydd bydd y compiler mewn gwirionedd yn cael ddryslyd, fel arfer, os ydych chi, iawn ddealladwy, ond yn anghywir, dim ond dechrau taro Enter i roi llinellau newydd yn eich cod. Mae angen i chi fod ychydig yn fwy penodol gyda slaes-n. A byddwn yn gweld mae rhai eraill o'r fath patrymau ar gyfer cymeriadau arbennig. Er enghraifft, os ydych chi eisiau gadael eich meddwl grwydro at achos gornel, Mae'n debyg fy mod i eisiau argraffu dyfyniad dwbl ar y sgrîn ar gyfer ba bynnag reswm, byddai hynny'n ymddangos i fod ychydig yn broblem, dde? Oherwydd os wyf yn rhoi dyfynbris dwbl yn y nghanol o "helo, byd," am ba bynnag reswm, pam mae hynny'n ymddangos yn allai fod yn broblemus? Ei fod yn torri y llinyn. Mae'r compiler rhaglen yn unig. Mae rhaglen fel Crynhoydd yn unig yn mynd i ddarllen eich top cod i'r gwaelod, chwith i'r dde. Ac os bydd yn gweld tair dyfynodau dwbl yn lle hynny o ddau, nid yw'n mynd i wybod os ydych yn golygu mai'r peth ar y chwith ddylai fod y llinyn, neu y peth i y dde, neu'r holl beth. Mae'n amwys, ac felly yr hyn y mae nodweddiadol Byddai compiler ei wneud yw dim ond freak allan, ac yn rhoi rhywfaint o neges wall chi, ac gwneud i chi ddelio â'r broblem. Felly, o gofio bod ôl-slaes-n golygu newydd llinell, beth fyddai eich greddf yn awr dechrau i fod os ydych yn awyddus i gynnwys rhywbeth anghyson fel dwbl dyfynnu y tu mewn o hyn fel arall-ddyfynnir llinyn? Dyfyniad slaes-dwbl. Ac felly byddwn yn gweld hyn fath o batrwm hefyd. Os ydych am wneud rhywbeth ychydig yn rhyfedd, fe welwch fod y atebion yn aml yn dilyn patrwm, a slaes yn dynodi dilyniant dianc. Ac mae'n jyst yn golygu rhywbeth arbennig bod angen i ni gynrychioli mewn gwahanol ffordd. Fel ar gyfer sut yr ydych yn cynrychioli a slaes, wel, byddwn ni dod yn ôl at hynny. Ond yr ateb, hefyd, mewn gwirionedd ychydig yn amlwg. Felly, gadewch i ni bellach yn cyflwyno rhai eraill lluniadau rhaglennu a welsoch ym Scratch. Rydych chi wedi eu cymryd yn ganiataol yn ôl pob tebyg eisoes os ydych eisoes wedi syrthio i mewn i problem ei osod 0. Ond gadewch i ni bellach gyflwyno'r gystrawen yn C ar gyfer y rhain yn eithaf 'n athrylithgar fel arall syniadau, o leiaf rhai ohonynt. Felly syniad hwn o amod neu cangen, rydym ond yn flaenorol ei gynrychioli gyda chod oedd yn edrych fel hyn ar y chwith yn Scratch - os yw x yn llai na y, yna dywedwch hynny - yn lle hynny nawr yn C - gadewch i mi hogi yn ar yr achos symlaf - rydym yn syml yn mynd i ddweud, os, yn agor parenthesis, rhywbeth yn wir - a Mynegiant Boole yn mynd i fynd lle yr wyf wedi dweud cyflwr - parenthesis cau, yna gwneud yr hyn sydd tu mewn rhai braces cyrliog. Felly yma, hefyd, y braces cyrliog yn garedig o fel Scratch yn Darnau pos-siâp U. Wneud yr hyn sydd y tu mewn y braces cyrliog. Yn yr achos hwn, cwtogi slaes. Ac yn sylwi ar hyn yn ei flaen slaes, nid slaes. Slaes Ymlaen, ymlaen slaes, ar gyfer y rhai sydd wedi rhaglennu blaen, dim ond yn golygu - mai dim ond sylwadau. Nid yw sylw yn llinell o god, fel y cyfryw. Mae'n llinell o Saesneg i chi hynny, mae'r dynol, wedi ysgrifennu i chi eich hun i efallai eich atgoffa i wneud rhywbeth, er mwyn esbonio i chi eich hun, i egluro i rywun arall, beth yw eich cod yn ei wneud. Dim ond sylw disgrifiadol. Yn awr, wrth gwrs, gallwn gael dwy-ffordd fforc yn y ffordd yn unig drwy wneud hyn, mae fforch tair-ffordd yn y ffordd trwy wneud hyn, ac os byddwch yn parhau hyn yn patrwm, gallwch gael pedair ffordd, pum-ffordd, ffyrc chwe-ffordd yn y ffordd os angen i chi ei drin, yn wir, bod llawer o amodau. Ac yna sylwi ar y parallelism yma - os (cyflwr), arall os (cyflwr), a'r unig un sy'n ychydig yn ryfedd yw'r olaf, a oedd yn unig yw hynny arall. Ond unwaith eto, mae hyn yn union yr un fath, gysyniadol, yr hyn yr ydym wedi ei wneud eisoes, er bod y gystrawen yn cymryd ychydig i ddod i arfer. Yn awr, yn yr enghraifft hon, mae rhywfaint o gystrawen rhyfedd eraill. Rydym yn gweld printf eto, parenthesis agor, a parenthesis cau. A'r tu mewn ceir llinyn a ddyfynnwyd. Mae'r cromfachau, yng nghyd-destun o printf, mynd ar y chwith a hawl i beth? Beth ydym yn ei ddisgrifio a ddyfynnwyd llinyn wrth i fwy cyffredinol? Felly mae'n dadl. Unrhyw tro y byddwch yn cael swyddogaeth, fel printf, ac yna Paren agored a Paren agos a rhywbeth tu mewn hynny, boed yn llinyn, neu cyfanrif, neu unrhyw beth arall, mae'r peth yn rhwng ei alw'n cromfachau hynny dadl. Ac mae dadl yn unig yn dylanwadu ar ymddygiad y swyddogaeth yn. Yn yr achos hwn, mae'n eithaf clir sut. x