[CHWARAE CERDDORIAETH] DAVID J. Malan: pob hawl. Mae hyn yn CS50, ac mae hyn yn ddechrau wythnos dau. Felly gadewch i ni ddechrau heddiw gyda nam. Mae nam, wrth gwrs, yn camgymeriad mewn rhaglen, a byddwch yn cael iawn gyfarwydd â'r cysyniad hwn os nad ydych erioed wedi eu rhaglennu o'r blaen. pset0 ac yn awr pset1. Ond gadewch i ni ystyried rhywbeth ychydig o syml ar y dechrau. Mae'r rhaglen yma fy mod taflu at ei gilydd o flaen llaw, ac yr wyf yn honni y dylai hyn argraffu 10 sêr ar y sgrîn gan ddefnyddio printf, ond mae'n debyg bygi mewn rhyw ffordd. O gofio bod fanyleb sy'n dylai argraffu 10 sêr, ond nid yw'n gwneud yn ôl pob golwg, yr hyn Byddai wneud cais yw y byg? Yeah? Felly, ei fod yn ffwrdd gan un camgymeriad, a beth ydych chi'n ei olygu wrth hynny? OK. Ardderchog. Felly, rydym wedi penodi cychwyn gwerth sero ar gyfer i, ac rydym wedi penodedig gwerth n o 10, ond rydym wedi defnyddio llai na neu'n hafal i. A'r rheswm bod hyn yn dau cymeriadau ac nid dim ond un symbol, fel mewn llyfr mathemateg, yw nad oes gennych ffordd o fynegi'r un cymeriad cyfwerth. Felly mae hynny'n golygu llai na, ond os byddwch yn dechrau cyfrif ar sero, ond yr ydych yn cyfrif yr holl ffordd fyny drwy ac yn hafal i 10, eich bod, wrth gwrs, yn mynd i cyfrif 11 o bethau i gyd. Ac felly rydych yn mynd i argraffu 11 sêr. Felly, yr hyn a allai fod yn ateb ar gyfer hyn? Yeah? Felly dim ond addasu'r llai na neu'n hafal i ddim ond yn llai na, ac mae, yr wyf yn gwneud cais, efallai ateb arall, hefyd. Beth allai arall yr ydych yn ei wneud? Yeah? Felly dechreuwch gyfartal i 1, a gadael y llai na neu'n hafal i. A dweud y gwir byddwn yn hawlio hynny, ar gyfer dynol nodweddiadol, mae hyn yn ôl pob tebyg yn fwy syml. Dechreuwch gyfrif ar 1 a cyfrif i fyny hyd at 10. Yn y bôn yn gwneud yr hyn yr ydych yn ei olygu. Ond y gwirionedd yw yn rhaglennu, fel yr ydym wedi gweld, gwyddonwyr cyfrifiadurol a rhaglenwyr yn gyffredinol yn dechrau cyfrif ar sero. Ac felly mae hynny'n iawn unwaith chi ddod i arfer ag ef. Bydd eich cyflwr yn gyffredinol fod yn rhywbeth fel llai na. Felly syml, rhesymegol gwall y gallem bellach trwsio ac ail-grynhoi yn y pen draw hyn a chael dim ond 10. Wel beth am bug hyn yma? Yma, unwaith eto, yr wyf yn honni fy mod wedi nod o argraffu 10 stars-- un i bob llinell y tro hwn, ond nid yw'n gwneud hynny. Cyn i ni yn cynnig yr hyn yr ateb yw, beth mae hyn yn argraffu weledol pe bawn yn llunio ac yn rhedeg y rhaglen hon yn eich barn chi? Yeah? Seren. Felly holl sêr ar y un llinell yn hyn yr wyf yn ei glywed, ac yna cymeriad llinell newydd. Felly gadewch i ni roi cynnig ar hynny. Felly, yn gwneud bygi-1, nodwch, ac yr wyf yn gweld y gorchymyn chlang y buom yn siarad am y tro diwethaf. ./buggy-1, ac yn wir yr wyf yn gweld pob un o'r 10 sêr ar yr un llinell er fy mod yn hawlio yn fy manyleb dim ond sylw ar ben y cod fy mod yn bwriadu gwneud un y llinell. Ond mae hyn yn edrych yn iawn. Nawr llinell 15 mae'n edrych fel fy mod argraffu yn seren, ac yna llinell 16 mae'n edrych fel fy mod argraffu cymeriad llinell newydd, ac maen nhw'n ddau mewnoli hynny Im 'tu mewn i'r ddolen glir. Ni ddylai Felly, yr wyf yn ei wneud seren, newydd llinell, seren, llinell newydd, seren, llinell newydd? Ie? Yeah, yn wahanol i iaith fel Python, os ydych yn gyfarwydd, Nid bant yn bwysig i'r cyfrifiadur. Dim ond bwys i'r ddynol. Felly llinellau tra yma rwyf wedi dyfeisio 15 a 16-- sy'n edrych yn hardd, ond nid y cyfrifiadur yn ofal. Mae'r cyfrifiadur yn gofalu am mewn gwirionedd yn cael braces cyrliog o amgylch y llinellau hyn o god. Fel ei bod yn clear-- union fel yn Scratch-- bod y rhai ddwy linell o god Dylid ei weithredu. Fel un o'r rhai melyn Scratch pos darnau dro ar ôl tro ar ôl tro. Felly, yn awr os wyf yn ail-redeg y program-- ./buggy-2-- EM. Mae gen i gwall nawr. Beth wnes i yn anghofio ei wneud? Yeah, felly doeddwn i ddim yn llunio ei. Felly, yn gwneud bygi-2. Dim ffeil o'r fath oherwydd nid i ddim yn mewn gwirionedd yn llunio yr ail fersiwn. Felly nawr yn ddiddorol Nid yw heb ei ddatgan variable-- 2. Rydym yn gwneud 1. Gwneud bygi-1-- ./buggy-1-- ac yn awr pob un ohonynt ar yr un llinell. Nawr mae eithriad i honiad hwn tybiedig i mi eich bod angen i braces cyrliog hyn. Pryd mae'n mewn gwirionedd OK-- os ydych wedi sylwi yn adran neu textbooks-- i hepgor y braces cyrliog? Yeah? Yn union. Pan fydd dim ond un llinell o god sy'n eich awyddus i fod yn gysylltiedig â'r dolen fel yn ein enghraifft gyntaf. Mae'n gwbl gyfreithlon i hepgor y braces cyrliog yn union fel y fath o gyfleustra oddi wrth y compiler i chi. Yeah? Gwestiwn da. Byddai'n cael ei ystyried gwall steil? Byddem yn promote-- fel yn CS50 canllaw arddull, mae'r URL y mae yw mewn pset1-- sydd bob amser defnyddiwch y braces cyrliog. Yn sicr, os ydych yn newydd i raglenni. Y gwir amdani yw nad ydym ni'n mynd i wahardd chi rhag gwneud cyfleusterau hyn. Ond os ydych ond yn cael i mewn i'r swing o bethau, gwbl jyst bob amser ddefnyddio'r cyrliog bresys nes i chi gael y hongian ohono. Gwestiwn da. Mae pob hawl. Er mwyn i hynny fod yn bug. Mae o leiaf yn rhywbeth eithaf syml. Ac eto, efallai y byddwch yn credu bod hyn yn eithaf elfennol, dde? Mae hyn yn fath o yr wythnos gyntaf o edrych ar yr iaith fel, ewch i weld eich bygiau ynddo. Ond y realiti mae'r rhain yn cynrychiolydd mewn gwirionedd o'r rhai problemau eithaf brawychus a all godi yn y byd go iawn. Felly, efallai y bydd rhai ohonoch yn cofio os byddwch yn dilyn y newyddion dechnoleg, neu efallai hyd yn oed yn dal gwynt o hyn ym mis Chwefror y flwyddyn ddiwethaf bod Apple oedd gan gwneud yn dipyn o gamgymeriad yn y ddau iOS, y system weithredu ar eu ffonau, a hefyd Mac OS, y system weithredu ar eu byrddau gwaith a gliniaduron. A ydych yn gweld penawdau fel hyn. Ac wedi hynny, Afal addo at atgyweiria nam yma, ac yn gyflym iawn wnaeth atgyweiria 'yn iOS, ond yna yn y pen draw sefydlog yn Mac OS hefyd. Nawr yr un o'r penawdau hyn yn unig wir yn yn dangos beth oedd y broblem sylfaenol oedd, ond y byg ei ostwng yn y pen draw at nam yn SSL, haen socedi diogel. A stori fer hir, dyma'r meddalwedd bod ein porwyr ac eraill meddalwedd a ddefnyddir i wneud beth? Os wyf yn dweud bod SSL yn dan sylw, pryd bynnag y byddwch ymweld â URL sy'n dechrau gyda HTTPS, beth yna efallai SSL fod yn gysylltiedig â? Amgryptio. Felly, byddwn yn siarad am hyn yn y dyddiau nesaf. Encryption, y grefft o sgrialu gwybodaeth. Ond stori fer hir, Afal amser yn ôl wedi gwneud camgymeriad yn eu rhoi ar waith o SSL, mae'r meddalwedd y pen draw yn gweithredu URLs fel HTTPS neu max cysylltiadau yno hefyd. Canlyniad sef bod eich Gallai cysylltiadau a allai fod cael eu rhyng-gipio. A bod eich cysylltiadau yn Nid yw o reidrwydd yn amgryptio os ydych wedi cael rhywfaint o dyn drwg yn y canol chi a'r wefan cyrchfan sy'n yn gwybod sut i fanteisio ar hyn. Nawr Apple bostio yn y pen draw a atgyweiria ar gyfer hyn yn olaf, a'r disgrifiad o'u atgyweiria oedd hyn. Methodd trafnidiaeth diogel i ddilysu y dilysrwydd y cysylltiad. Aethpwyd i'r afael â'r mater drwy adfer camau dilysu goll. Felly mae hwn yn esboniad tonnog iawn llaw am dim ond dweud ein bod yn sgriwio i fyny. Mae llythrennol un llinell o god a oedd bygi yn eu rhoi ar waith o SSL, ac os byddwch yn mynd ar-lein ac yn chwilio am hyn gallwch ddod o hyd mewn gwirionedd y cod ffynhonnell wreiddiol. Er enghraifft, mae hyn yn ergyd sgrîn o dim ond cyfran o'r ffeil eithaf mawr, ond mae hyn yn swyddogaeth o'r enw pob golwg SSL gwirio cyfnewid allweddol gweinydd arwydd. Ac mae'n cymryd criw o dadleuon a mewnbynnau. Ac nid ydym yn mynd i ganolbwyntio gormod ar y minutia yno, ond os ydych yn canolbwyntio ar y cod yn y tu mewn o'r topmost function-- gadewch i ni chwyddo i mewn ar hynny. Efallai eich bod yn amau ​​eisoes yr hyn y gallai'r gwall fod hyd yn oed os nad oes gennych syniad yn y pen draw yr hyn yr ydych yn edrych ar. Mae fath o anomaledd yma, sef yr hyn? Yeah, nid wyf yn wir yn hoffi golwg dau goto yn methu. Dweud y gwir, nid wyf yn wir yn gwybod beth Ewch I'r methu yn golygu, ond mae cael dau ohonynt gefn wrth gefn. Mae hynny'n unig fath o rhwbio i mi ddeallusol y ffordd anghywir, ac yn wir os ydym yn chwyddo i mewn ar dim ond y llinellau hynny, mae hyn yn C. Felly mae llawer o god Afalau ' ei hun a ysgrifennwyd yn C, ac mae hyn yn ôl pob golwg yn wirioneddol equivalent-- beidio â bod bant 'n bert fersiwn, ond os ydych yn cydnabod y ffaith nad oes unrhyw braces cyrliog, beth Apple oedd mewn gwirionedd ysgrifennodd cod sy'n edrych fel hyn. Felly dwi wedi chwyddo allan a Fi jyst sefydlog y bant yn yr ystyr os nad oes braces cyrliog, bod ail goto methu dyna mewn melyn yn mynd i weithredu waeth beth. Dyw hi ddim yn gysylltiedig â mae'r os yw cyflwr uwch ei ben. Felly hyd yn oed eto, nid os ydych yn gwneud yn eithaf deall yr hyn y gallai hyn o bosibl yn ei wneud, yn gwybod bod pob un o'r rhain conditions-- pob un o'r llinellau hyn yn gam pwysig iawn yn y broses o wirio os yw eich data yn mewn gwirionedd amgryptio. Felly sgipio un o'r rhain grisiau, nid yw'r syniad gorau. Ond, oherwydd ein bod wedi hyn ail goto yn methu mewn melyn, ac oherwydd ar ôl i ni fath o esthetaidd symud i'r chwith lle mae'n rhesymegol yw ar hyn o bryd, beth mae hyn yn ei olygu i'r llinell o god is na ail goto methu fyddech chi'n feddwl? Mae bob amser yn mynd i gael ei hepgor. Felly gotos yn gwgu arno am resymau ni fyddwn mewn gwirionedd yn mynd i mewn, ac yn wir yn CS50 nid ydym yn tueddu i addysgu y datganiad hwn goto, ond gallwch chi feddwl am goto methu fel neidio ystyr go i ryw ran arall o'r cod. Mewn geiriau eraill neidio dros y llinell olaf yn gyfan gwbl, ac felly mae'r canlyniad hwn yn dwp camgymeriad syml a oedd yn unig o ganlyniad, mae'n debyg bydd rhywun copïo a gludo un rhy sawl gwaith oedd bod y cyfan diogelwch iOS a Mac OS yn agored i rhyng-gipio gan guys ddrwg ers peth amser. Tan Apple yn olaf sefydlog hyn. Nawr, os yw rhai ohonoch yn mewn gwirionedd yn rhedeg hen fersiynau o iOS neu Mac OS, gallwch fynd i gotofail.com sy'n yn wefan sy'n rhywun a sefydlwyd i benderfynu yn y bôn programmatically os yw eich cyfrifiadur yn dal i fod yn agored i niwed. Ac yn dweud y gwir, os ydyw, mae'n debyg yn syniad da i ddiweddaru eich ffôn neu eich Mac ar y pwynt hwn. Ond mae yna, dim ond brawf o pa mor gwerthfawrogiad o lefel is hyn manylion ac yn deg gall syniadau syml iawn cyfieithu i mewn i benderfyniadau a phroblemau sy'n affected-- yn achos-- hwn miliynau o bobl. Nawr gair ar weinyddu. Bydd yr adran hon yn dechrau Dydd Sul nesaf. Byddwch yn derbyn e-bost gan yr penwythnos am adran, a bryd hynny y broses Ail-naddu yn dechrau os ydych wedi sylweddoli gennych bellach rhai gwrthdaro newydd. Felly, mae hyn yn digwydd bob blwyddyn, ac yr ydym Bydd lle yn y dyddiau i ddod. Swyddfa hours-- gwneud cadw llygad ar yr atodlen hon yma. Newidiadau ychydig bach yr wythnos hon, yn enwedig yr amser dechrau ac mae'r lleoliad, felly peidiwch ymgynghori hynny cyn mynd i oriau swyddfa unrhyw un o'r pedair noson nesaf. Ac yn awr gair ar asesu, yn enwedig wrth i chi plymio i mewn i broblem gosod un a thu hwnt. Felly unol â'r fanyleb, mae'r rhain yn gyffredinol yr echelinau ar hyd lle rydym yn gwerthuso eich gwaith. Scope yn cyfeirio at yr hyn maint eich offer cod nodweddion gofynnol gan ein manyleb. Mewn geiriau eraill, faint o set darn wnaethoch chi yn cnoi i ffwrdd. Wnaethoch chi traean ohono, hanner ohono, 100% ohono. Hyd yn oed os nad yw'n gywir, faint oeddech chi'n ei geisio? Felly, sy'n dal y lefel o ymdrech a'r swm yr ydych did oddi ar y problemau problem gosod yn. Correctness-- yr un yma, i ba raddau, yw eich cod gyson â'n manylebau ac yn rhydd o chwilod. Felly, mae hyn yn gweithio yn gywir? Os byddwn yn rhoi rhywfaint o gyfraniad, a yw'n rhoi'r cynnyrch yr ydym yn disgwyl inni? Design-- nawr mae hyn yw'r cyntaf o yn enwedig y rhai ansoddol, neu y rhai sy'n gofyn am farn pobl. Ac yn wir, dyma pam mae gennym staff cynifer o cymrodyr addysgu a chwrs cynorthwywyr. I ba raddau y mae eich cod wedi'i ysgrifennu'n dda? Ac unwaith eto mae hyn yn iawn asesiad ansoddol a fydd yn gweithio gyda chi ar ddau gyfeiriad yn ystod yr wythnosau i ddod. Felly pan nad ydych yn cael dim ond sgoriau rhifol, ond hefyd mae sgoriau ysgrifenedig, neu adborth teipio, neu adborth ysgrifenedig yn y geiriau Saesneg. Dyna beth y byddwn yn ei ddefnyddio i yrru chi tuag at mewn gwirionedd yn ysgrifennu cod well. Ac mewn darlith ac adran, byddwn yn gwneud i bwynt out-- mor aml ag y can-- beth sy'n gwneud rhaglen nid yn unig yn gywir ac yn swyddogaethol yn dda, ond mae hefyd yn cynllunio'n dda. Y mwyaf effeithiol y gallai fod, neu hyd yn oed y mwyaf prydferth y mae'n gallu bod. Sy'n ein harwain i arddull. Arddull yn y pen draw yw barn esthetig. A wnaethoch ddewis da enwau ar gyfer eich newidynnau? Ydych chi wedi mewnoli eich cod yn iawn? A yw'n edrych yn dda, ac felly, a yw'n hawdd i fod dynol arall i ddarllen eich priod o'i gywirdeb. Nawr yn gyffredinol unol â'r maes llafur, rydym yn sgorio pethau hyn ar raddfa pum pwynt. A gadewch i mi morthwyl gartref y pwynt bod tri yn wir dda. Yn gyflym iawn yn ei wneud Folks dechrau ei wneud rhifyddeg. Pan fyddant yn cael tair allan o pump ar gywirdeb ar gyfer rhai pset ac maent yn meddwl damn, yr wyf yn mynd i 60% sydd yn ei hanfod yn D neu E. Nid dyna'r ffordd yr ydym yn feddwl o'r rhifau hyn. Mae tri yn wir dda, a'r hyn yr ydym gyffredinol yn disgwyl ar y dechrau o'r term yw os ydych yn cael criw o three's-- efallai ychydig o ffeiriau, un neu ddau o fours-- neu cwpl ddwy oed, un neu ddau o fours-- mae hynny'n lle da i ddechrau. Ac ar yr amod ein bod yn gweld taflwybr ar i fyny dros gyfnod o amser, eich bod mewn lle arbennig o dda. Mae'r fformiwla a ddefnyddiwn i pwysau pethau yn ei hanfod hyn yn unol â'r maes llafur, a dim ond yn golygu ein bod yn rhoi mwy o bwysau i gywirdeb. Oherwydd ei fod yn aml iawn cywirdeb sy'n cymryd yr amser mwyaf. Ymddiriedolaeth i mi nawr. Byddwch find-- o leiaf mewn un pset-- yr ydych treulio 90% o'ch amser gweithio ar 10% o'r broblem. Ac mae popeth yn fath o yn gweithio heblaw am un neu ddau o chwilod, a'r rheini yw'r chwilod sy'n cadw chi i fyny yn hwyr yn y nos. Mae'r rhai yw'r rhai sy'n fath o chi ddianc. Ond ar ôl cysgu arno, neu fynychu oriau swyddfa neu ofyn cwestiynau ar-lein, yn cael ei pan fyddwch yn cyrraedd y nod o 100%, a dyna pam ein bod pwysau gywirdeb y mwyaf. Dyluniwch ychydig yn llai, ac arddull ychydig yn llai na hynny. Ond cadwch mewn steil mind-- efallai yw'r hawsaf o'r rhain i frathu off yn unol â'r canllaw arddull. Ac yn awr, yn fwy difrifol nodyn ar gonestrwydd academaidd. CS50 Mae gan y gwahaniaeth anffodus o mai ni yw'r darparwr mwyaf o Fwrdd Ad achosion bron bob blwyddyn yn hanesyddol. Nid yw hyn oherwydd bod myfyrwyr yn twyllo mewn CS50 unrhyw fwy felly nag unrhyw ddosbarth arall, ond oherwydd yn ôl natur y gwaith, y ffaith ei fod yn electronig, y ffaith ein bod yn edrych ar ei gyfer, a mae'r ffaith ein bod gwyddonwyr cyfrifiadurol, Gallaf ddweud ein bod yn anffodus yn dda iawn am ddod o hyd iddo'n. Felly beth mae hyn yn ei olygu mewn termau real? Felly mae'n, fesul y maes llafur, athroniaeth y cwrs yn wir yn berwi i lawr i fod yn rhesymol. Mae y llinell hon rhwng gwneud un yn gweithio ar eich pen eich hun a chael ychydig o cymorth rhesymol gan ffrind, ac yn llwyr yn gwneud y gwaith hwnnw ar gyfer eich ffrind, neu anfon ef neu hi eich cod fel bod ef neu hi yn gallu yn syml gymryd neu ei fenthyg allan yn iawn. A bod yn croesi'r llinell ein bod yn tynnu yn y dosbarth. Gwelwch, y maes llafur yn y pen draw ar gyfer y llinellau ein bod yn tynnu eu bod yn rhesymol ac ymddygiad afresymol, ond mae'n wir yn berwi i lawr at y hanfod o'ch gwaith sydd angen i fod yn eich pen eich hun yn y diwedd. Nawr gyda dweud hynny, mae hewristig. Oherwydd fel y byddech yn imagine-- o oriau swyddfa ac mae'r delweddau ac mae'r fideos rydym wedi ddangosir CS50 felly far-- yn wir i fod i fod mor cydweithredol ac mor cydweithredol ac fel chymdeithasol ag y bo modd. Fel gydweithredol gan ei fod yn drylwyr. Ond gyda dweud hyn, mae'r hewristig, fel y byddwch yn gweld yn y maes llafur, yw bod pan fyddwch yn cael rhywfaint o broblem. Mae gennych rhywfaint o nam yn eich cod sy'n chi Ni ellir datrys, mae'n rhesymol i chi i ddangos eich cod i rywun arall. Mae ffrind hyd yn oed yn y dosbarth, ffrind yn eistedd nesaf i chi ar oriau swyddfa, neu aelod o'r staff. Ond efallai na fyddant yn dangos eu cod i chi. Mewn geiriau eraill, mae ateb i'ch question-- Angen arnaf help-- nid oh, dyma fy cod. Cymerwch olwg ar hyn ac diddwytho oddi wrtho yr hyn yr ydych yn. Yn awr, wrth gwrs, mae yna ffordd yn glir i gêm system hon lle 'n annhymerus' yn dangos i chi fy cod cyn cael cwestiwn. Rydych yn dangos i mi fy eich cod cyn cael cwestiwn. Ond gweler y maes llafur eto ar gyfer y manylion mân ble y llinell hon yw. Dim ond yn hyn beintio'r darlun a rhannu mor dryloyw ag y bo modd lle yr ydym yn yn y blynyddoedd diwethaf, hyn yw nifer yr achosion Bwrdd Ad bod CS50 wedi cael dros y saith mlynedd diwethaf. Gyda 14 o achosion y gostyngiad mwyaf diweddar. O ran y myfyrwyr sy'n cymryd rhan, yr oedd yn 20 rhai myfyrwyr od gostyngiad hwn yn y gorffennol. Cafwyd uchafbwynt o 33 fyfyrwyr rai blynyddoedd yn ôl. Llawer ohonynt yn anffodus bellach yma ar y campws. Mae myfyrwyr yn cymryd rhan fel canran o'r dosbarth yn hanesyddol wedi amrywio o 0% i 5.3%, sydd ond i ddweud mae hwn yn flynyddol yn her. A thuag at y diben hwnnw, yr hyn yr ydym am ei wneud yw cyfleu un ein bod yn dd-- unig FYI-- cymharu yn mae tegwch i'r myfyrwyr hynny sy'n yn dilyn y llinell yn unol â hynny. Rydym yn gwneud cymharu pob gyfredol cyflwyniadau yn erbyn yr holl deithiau yn y gorffennol o'r blynyddoedd lawer diwethaf. Rydym yn gwybod hefyd sut i Google o gwmpas ac yn dod o hyd i ystorfeydd cod , fforymau trafod ar-lein , safleoedd swyddi ar-lein ar-lein. Os gall myfyriwr ddod o hyd iddo, gallwn yn sicr ei chael yn gymaint ag i ni yn anffodus yn ei wneud. Felly, beth byddwch yn gweld yn y maes llafur fodd bynnag, yw cymal gofid hwn. Gallaf yn sicr gwerthfawrogi, ac yr ydym i gyd wedi staff wedi gwneud y cwrs fel hyn, neu mae hyn yn un ei hun dros amser, yn sicr yn gwybod sut beth yw pryd bywyd yn cael yn y ffordd pan fydd gennych hwyr ryw nos deadline-- nid yn unig yn y dosbarth hwn, ond another-- pan fyddwch chi'n hollol flinedig, dan straen allan, cael rif gormod o bethau eraill i'w gwneud. Byddwch yn gwneud ar ryw adeg yn bywyd yn sicr yn ddrwg, efallai hwyr penderfyniad nos. Felly unol â'r maes llafur, mae cymal hwn, o'r fath, os o fewn 72 awr o wneud rhai penderfyniadau gwael, ydych yn berchen i fyny ato ac yn estyn allan i mi ac un o benaethiaid y cwrs yn a chawn sgwrs. Byddwn yn trin pethau yn fewnol yn y gobeithion ohono yn dod yn fwy o foment addysgu neu wers bywyd, ac nid rhywbeth gyda oblygiadau arbennig o llym fel y byddech yn ei weld ar y siartiau hyn yma. Felly dyna tôn ddifrifol iawn. Gadewch i ni oedi am ond ychydig eiliad i dorri'r tensiwn. [CHWARAE CERDDORIAETH] DAVID J. Malan: pob hawl, felly sut yr oedd bod am segue? I bynciau sylfaenol heddiw. Y cyntaf o'r rhain yw tynnu dwr. Arall sydd yn mynd i fod y cynrychiolaeth o ddata, sy'n dweud y gwir yn ffordd wirioneddol sych o ddweud sut y gallwn mynd ati i ddatrys problemau a meddwl am ddatrys problemau? Felly, rydych wedi ei weld yn Scratch, ac nad ydych wedi gweld efallai eisoes mewn pset1 gyda C eich bod nid yn unig yn gallu defnyddio swyddogaethau, fel printf, bod pobl eraill yn mlynedd diwethaf ysgrifennodd ar eich cyfer. Gallwch hefyd ysgrifennu eich swyddogaethau eu hunain. A hyd yn oed er efallai na fydd gennych gwneud hyn yn C, ac yn dweud y gwir yn pset1 Nid oes gwir angen i chi ysgrifennu eich swyddogaeth ei hun oherwydd bod y problem-- tra efallai frawychus yn yn gyntaf glance-- byddwch yn gweld Gall y pen draw yn cael ei datrys gyda nid yw pob bod llawer o linellau o god. Ond gyda dweud hynny, o ran o ysgrifennu eich swyddogaeth eich hun, sylweddoli bod C yn rhoi chi y gallu hwn. Rydw i'n mynd i fynd i mewn cod ffynhonnell heddiw, sydd ar gael yn barod ar-lein, ac yr wyf i'n mynd i fynd yn ei flaen ac yn agored sefydlu rhaglen o'r enw 0.C swyddogaeth, ac mewn swyddogaeth sero byddwn yn gweld ychydig o bethau. Yn llinellau cyntaf 18 drwy 23 yw fy mhrif swyddogaeth. Ac yn awr ein bod yn dechrau darllen cod nad ydym yn ysgrifennu ar y hedfan, ond yn lle hynny rwyf wedi ysgrifennu o flaen llaw neu os ydych yn broblem sy'n gosod Gallai gael o cael ei ysgrifennu o flaen llaw. Ffordd dda i ddechrau darllen cod rhywun arall yn edrych am y prif swyddogaeth. Chyfrif i maes lle y cofnod pwynt yw i redeg y rhaglen, ac yna dilyn ei bod yn rhesymegol oddi yno. Felly, mae'r rhaglen hon yn ôl pob golwg printiau eich enw ac yna colon. Yna, rydym yn defnyddio GetString o'r llyfrgell CS50 i gael llinyn, neu air neu ymadrodd oddi wrth y defnyddiwr ar y bysellfwrdd. Ac yna mae hyn yn beth PrintName Yma--. Nawr nid PrintName yn swyddogaeth a ddaw gyda C. Dyw hi ddim yn io.h. safonol Dyw hi ddim yn CS50.h. Mae'n braidd yn yr un ffeil. Sylwch os byddaf yn sgroliwch i lawr linellau bit-- 25 i 27-- 'i' jyst yn ffordd 'n bert o sylwadau eich cod gan ddefnyddio'r sêr a slaes. Mae hwn yn aml-linell sylwadau, ac mae hyn yn unig fy disgrifiad yn las o pa swyddogaeth hon yn ei wneud. Oherwydd mewn llinellau 28 drwy 31, Rydw i wedi ysgrifennu swyddogaeth super syml y mae ei enw i yw PrintName. Mae'n cymryd sawl dadleuon fyddech chi'n ei ddweud? Felly un argument-- oherwydd bod un ddadl a restrir y tu mewn i'r cromfachau. Mae'r math o sy'n Llinynnol. Pa un yw dweud PrintName Mae fel blwch du hwn neu swyddogaeth sy'n cymryd fel mewnbwn llinyn. Ac enw y Llinyn gyfleus fydd Enw. Nid yw S, nid N, ond Enw. Felly beth mae PrintName yn ei wneud? Mae'n syml 'n glws. Yn union fel un llinell o cod ar gyfer y printf, ond mae'n debyg ei fod printiau allan "Helo," felly ac yn y blaen. Lle mae'r felly ac yn y blaen yn dod o'r ddadl. Yn awr nid yw hyn yn ddatblygiad newydd enfawr yma. Really, yr wyf wedi cymryd rhaglen a allai wedi cael eu hysgrifennu gydag un llinell o god drwy roi hyn i fyny yma, a newidiodd i rywbeth sy'n cynnwys tua chwech neu saith neu hynny llinellau o god yr holl ffordd i lawr yma. Ond y ymarfer o egwyddor a elwir yn tynnu. Fath o crynhoi tu mewn i newydd swyddogaeth sydd wedi enw, a gwell ac eto yr enw hwnnw yn llythrennol dweud beth mae'n ei wneud. Yr wyf yn golygu printf-- nid yw hynny'n arbennig o ddisgrifiadol. Os wyf am greu darn pos, neu os byddaf yn am greu swyddogaeth hynny printiau enw rhywun, harddwch o wneud hyn yw fy mod yn gallu mewn gwirionedd yn rhoi enw sy'n swyddogaeth sy'n disgrifio beth mae'n ei wneud. Nawr, mae'n cymryd mewn mewnbwn sy'n Rwyf wedi galw enw fympwyol, ond mae hynny hefyd yn rhyfeddol o ddisgrifiadol yn lle bod ychydig yn fwy generig megis S. A ddi-rym, am y tro, yn unig yn golygu nad yw'r swyddogaeth hon yn llaw fi'n ôl unrhyw beth. Dyw hi ddim yn hoffi GetString sy'n llythrennol yn fy dwylo yn ôl llinyn fel y gwnaethom gyda'r darnau o bapur gyda'ch cyd-ddisgyblion yr wythnos diwethaf, ond yn hytrach 'i jyst yn cael effaith ochr. Mae'n printiau rhywbeth i'r sgrin. Felly, ar ddiwedd y dydd, os wyf yn yn gwneud swyddogaeth-0, ./function-0, byddwn yn gweld ei fod yn gofyn am fy enw i. Yr wyf deipio David, ac mae'n mathau allan fy enw. Os byddaf yn ei wneud eto gyda Rob, mae'n mynd i ddweud "Helo, Rob." Felly syniad syml, ond efallai allosod o hyn yn feddyliol fod fel eich rhaglenni gael ychydig yn fwy cymhleth, a ydych am ysgrifennu darn o cod a galwadau sy'n code-- Ysgogi'r bod code-- gan rai disgrifiadol enwi fel PrintName, C yn fforddio gallu hwn i ni. Dyma enghraifft syml arall. Er enghraifft, os wyf yn agor ffeil o heddiw o'r enw return.c, sylwi ar yr hyn yr wyf wedi ei wneud yma. Mae'r rhan fwyaf o'r hyn brif swyddogaeth yw printf. Yr wyf yn gyntaf fympwyol ymgychwyn yn amrywiol o'r enw x i'r rhif 2. Yna, yr wyf yn argraffu "x yn awr % Ff "pasio yn werth x. Felly, Im 'jyst yn dweud yr hyn y mae. Nawr Im 'jyst boldly hawlio gyda printf. Yr wyf yn cubing y gwerth x, ac rwy'n gwneud hynny drwy ffonio swyddogaeth Gelwir ciwb pasio yn x wrth i'r ddadl, ac yna arbed y cynnyrch yn y newidyn ei hun, x. Felly rwy'n clobbering werth x. Dw i'n gor-redol y werth x gyda beth bynnag ganlyniad i alw swyddogaeth ciwb mae hyn yn. Ac yna Fi jyst argraffu rhai stwff blewog yma yn dweud beth wnes i. Felly, beth wedyn yw ciwb? Sylwi beth sydd yn sylfaenol gwahanol yma. Rwyf wedi cael y swyddogaeth enw fel o'r blaen. Rwyf wedi penodi enw ar gyfer dadl. Y tro hwn fe'i gelwir n yn lle enw, ond gallwn ei alw unrhyw beth yr wyf eisiau. Ond mae hyn yn wahanol. Mae'r peth ar y chwith. Yn flaenorol yr oedd pa allweddair? Bechgyn. Nawr ei fod yn amlwg yn int. Felly beth sydd efallai yn cymryd i ffwrdd? Tra Yn dynodi bod unedau gwag fath o nothingness, a dyna oedd yr achos. Dychwelodd PrintName dim byd. Yr oedd yn rhywbeth, ond nid oedd yn llaw fi'n ôl rhywbeth y gallwn i ei roi ar y ochr chwith arwydd cyfartal fel yr wyf wedi ei wneud yma ar linell 22. Felly os wyf yn dweud i mewn ar-lein 30, beth sy'n bod yn ôl pob tebyg gan awgrymu am yr hyn y ciwb yn ei wneud i mi? Yeah? Mae'n dychwelyd yn gyfanrif. Felly mae'n dwylo fi yn ôl, ar gyfer enghraifft, darn o bapur y mae wedi ysgrifennu yr ateb. 2 torri'n giwbiau, neu 3 torri'n giwbiau, neu 4 cubed-- beth bynnag yr wyf yn pasio i mewn, a sut yr oedd i mi weithredu hyn? Wel, dim ond amserau n n n amserau yw sut y gallwn yn giwbiau gwerth. Felly eto, super syml syniad, ond dangosol yn awr sut y gallwn ysgrifennu swyddogaethau sydd mewn gwirionedd oedd ni yn ôl gwerthoedd a allai fod o ddiddordeb. Gadewch i ni edrych ar un enghraifft olaf Gelwir yma swyddogaeth un. Yn yr enghraifft hon, bydd yn dechrau i gael mwy cymhellol. Felly, mewn un swyddogaeth, mae hyn rhybudd program-- yn y pen draw yn galw swyddogaeth o'r enw GetPositiveInt. Nid GetPositiveInt yn swyddogaeth yn y llyfrgell CS50, ond fe benderfynon rydym byddai'n hoffi i fodoli. Felly, os ydym yn sgroliwch i lawr yn ddiweddarach yn y ffeil, sylwi sut yr wyf yn mynd ati i weithredu cael int cadarnhaol, ac yr wyf yn dweud ei fod yn fwy cymhellol gan fod hwn yn gweddus nifer o linellau o god. Nid dim ond un gwirion rhaglen fawr o deganau. Mae'n mewn gwirionedd yn ei got rhai gwirio gwall ac yn gwneud rhywbeth mwy defnyddiol. Felly os nad ydych wedi gweld y walkthrough fideos yr ydym wedi eu hymgorffori yn pset1, yn gwybod fod hyn yn fath o dolen yn C, debyg o ran ysbryd at y math o bethau Scratch gallu ei wneud. Ac yn gwneud yn dweud wneud hyn. Argraffwch y dudalen hon allan. Yna mynd yn ei flaen a chael n-- cael int ac yn ei storio mewn n, a chadw gwneud hyn dro ar ôl tro ac eto, ar yr amod bod n yn llai nag un. Felly n yn mynd i fod yn llai nag un dim ond os na fydd y dynol sy'n cydweithio. Os yw ef neu hi yn teipio yn 0 neu -1 neu -50, dolen hyn yn mynd i gadw gweithredu dro ar ôl tro. Ac yn y pen draw yn sylwi, yr wyf yn yn syml yn dychwelyd y gwerth. Felly nawr mae gennym swyddogaeth Byddai hynny wedi bod yn braf pe byddai CS50 rhoi ar waith yng CS50.h a CS50.c ar eich rhan, ond yma y gallwn yn awr weithredu hyn ein hunain. Ond dau sylwadau ar rai manylion allweddol. One-- pam yr wyf yn datgan int n, yn eich barn chi, ar-lein 29 hytrach na dim ond yn ei wneud hyn yma, sydd yn fwy cyson â hyn a wnaethom yr wythnos diwethaf? Yeah? Mae meddwl da. Felly os ydym yn ei roi yma, 'i' fel pe baem cadw datgan ei dro ar ôl tro. Mae hynny mewn ac o ei hun yn Nid yw yn broblem, fel y cyfryw, oherwydd ein bod dim ond angen y gwerth unwaith ac yna rydyn ni'n mynd i gael un newydd beth bynnag. Ond mae meddwl da. Yeah? Close. Felly, am fy mod i wedi datgan n ar llinell 29 y tu allan i'r ddolen, ei fod yn hygyrch ledled swyddogaeth hon i gyd. Nid y swyddogaethau eraill oherwydd n yn dal i fod y tu mewn o'r rhain cyrliog bresys yma. So-- siwr. Yn union. Felly, mae hyn yn oed yn fwy at y pwynt. Os byddwn yn lle hynny datgan n i'r dde yma ar linell 32, ei fod yn broblematig oherwydd dyfalu ble arall mae angen i mi gael gafael arno? On line 34, ac mae'r rheol syml o bawd yw y gallwch ond defnyddio newidyn tu mewn i'r braces cyrliog mwyaf diweddar yr ydych yn datgan iddo. Yn anffodus, llinell 34 yw un llinell yn rhy hwyr, am fy mod i wedi cau yn barod y Brace cyrliog ar-lein 33 sy'n cyfateb i'r Brace cyrliog ar linell 30. Ac felly mae hyn yn ffordd o ddweud bod hyn yn int newidyn yn cael ei sgopio, fel petai, i ddim ond y tu mewn o braces cyrliog hynny. Mae'n nid yn unig yn bodoli y tu allan ohonyn nhw. Felly yn wir, os wyf yn gwneud hyn anghywir, gadewch i mi achub y cod fel y mae'n ysgrifenedig yw-- anghywir. Gadewch i mi fynd yn ei flaen ac yn gwneud swyddogaeth-1, a chamgymeriadau notice--. Defnyddio dynodwr heb ei ddatgan n on line 35, sydd yn iawn yma. Ac os ydym yn sgrolio i fyny ymhellach, un arall. Defnyddio heb ei ddatgan dynodwr n ar linell 34. Felly y compiler, chlang, yn sylwi ei fod yn dim ond yn bodoli er bod amlwg ei fod yno ar eu golwg. Felly ateb syml yn datgan ei fod yno. Nawr, gadewch i mi sgrolio i ben y ffeil. Beth sy'n neidio allan ar chi fel sef ychydig yn wahanol o'r pethau yr ydym yn edrych ar yr wythnos diwethaf? Nid yn unig y mae gen i enw, nid yn unig yn ei wneud Gennyf rai miniog yn cynnwys hyd top, Mae gen i rywbeth rwy'n galw prototeip. Nawr bod yn edrych yn ofnadwy yn debyg i'r hyn rydym yn jyst yn gweld funud yn ôl ar-lein 27. Felly gadewch i ni gasglu o wahanol neges gwall pam yr wyf wedi gwneud hyn. Gadewch i mi fynd yn ei flaen a dileu llinellau hyn yno. Ac felly rydym yn gwybod dim am prototeip. Ail-wneud y ffeil. Gwneud swyddogaeth un. Ac yn awr, damn, pedwar camgymeriadau. Gadewch i sgrolio i fyny at yr un cyntaf. Datganiad Ymhlyg o swyddogaeth cael int cadarnhaol yn annilys yn C99. C99 yn unig yn golygu y 1999 fersiwn o'r iaith C, sef yr hyn yr ydym yn wir yn defnyddio. Felly beth mae hyn yn ei olygu? Wel C-- ac yn fwy penodol C compilers-- rhaglenni eithaf fud. Maent yn unig yn gwybod beth ydych chi wedi dweud wrthynt, a dyna mewn gwirionedd yn thematig o wythnos diwethaf. Y broblem yw, os byddaf yn mynd am weithredu enw i fyny fan hyn, ac yr wyf yn galw swyddogaeth o'r enw GetPositiveInt yma ar llinell 20, swyddogaeth honno nid yn dechnegol yn gwneud yn bodoli nes bod y compiler yn gweld llinell 27. Yn anffodus, mae'r compiler yn gwneud pethau brig, i lawr, i'r chwith, i'r dde, felly gan nad yw wedi gweld y gweithredu GetPositiveInt, ond mae'n gweld chi'n ceisio ei ddefnyddio i fyny yma, dim ond mae'n mynd i bail-- gweiddi ar chi gwall Message-- efallai cryptig, ac nid mewn gwirionedd yn llunio y ffeil. Felly, mae hyn a elwir yn prototeip i fyny yma, mae'n rhaid cyfaddef diswyddo. Yn llythrennol, es i lawr yma ac yr wyf yn copïo a gludo hyn, ac yr wyf yn ei roi i fyny fan hyn. Byddai Void yn fwy priodol, er mwyn i ni annhymerus llythrennol adysgrifia a bastio y tro hwn. Yr wyf yn copïo a gludo yn llythrennol. Really yn union fel fel briwsion bara. Ychydig cliw i'r compiler. Nid wyf yn gwybod beth y mae hyn yn ei wneud eto, ond rwy'n addo i chi y bydd yn bodoli yn y pen draw. A dyna pam mae hyn line-- mewn unol 16-- dod i ben gyda hanner colon. Mae'n ddiangen drwy ddylunio. Ie? Os na wnaethoch chi gysylltu eich llyfrgell i the-- oh, cwestiwn da. Sharp yn cynnwys gynhwysion ffeiliau header. Angen be-- dylai bron bob amser ar y brig o'r ffeil i gael similar-- gyfer union yr un rheswm, ie. Oherwydd yn safonol io.h yn llythrennol yn llinell fel hyn, ond gyda'r gair printf, a gyda'i dadleuon a'r math dychwelyd. Ac felly drwy wneud miniog yn cynnwys i fyny yma, yr hyn yr ydych chi'n ei wneud yn llythrennol yn copïo a gludo cynnwys rhywun arall yn ysgrifennu i fyny top. A thrwy hynny cluing eich cod i mewn i'r ffaith bod y swyddogaethau hynny'n bodoli. Yeah? Yn hollol. Felly yn glyfar ac yn gywir iawn Byddai ateb fyddai, eich bod yn gwybod beth? Nid wyf yn gwybod beth yw prototeip yw, ond yr wyf yn gwybod os wyf yn deall bod C yn unig fud ac yn ailystyried top i'r gwaelod. Wel gadewch i ni roi hyn y mae am. Gadewch i dorri y cod, bastio i fyny top, ac yn awr yn gwthio prif lawr isod. Byddai hyn hefyd yn datrys y broblem. Ond gallech yn hawdd iawn dod o hyd i sefyllfa lle mae angen A i alw B, ac efallai B yn galw yn ôl i A. Mae'r yn rhywbeth a elwir yn recursion, a byddwn yn dod yn ôl at hynny. Ac mae'n bosibl na all neu fod yn dda peth, ond gallwch yn bendant torri'r datrysiad hwn. Ac ar ben hynny, yr wyf byddai hawlio arddull, yn enwedig pan fydd eich rhaglenni yn dod yn hyn hir a hyn o hyd, 'i' jyst super gyfleus i roi prif ar y brig am ei fod y peth mwyaf rhaglenwyr yn mynd i ofalu am. Ac felly mae'n ychydig glanach, Gellir dadlau, i wneud hynny ar y ffordd Yr wyf yn wreiddiol yn gwneud hynny gyda hyd yn oed prototeip er ei fod yn edrych ychydig yn yn ddi-waith ar yr olwg gyntaf. Yeah? Mae'n ddrwg gennym, gallwch ddweud ei fod yn uwch? Os byddwch yn newid lleoliadau'r gweithredu a'r prototeip? Felly dyna gwestiwn da. Os ydych yn ail-ddatgan hyn i lawr yma, gadewch i ni weld beth sy'n digwydd. Felly os wyf yn rhoi i lawr yma yma, rydych yn ei ddweud. O, sori. Yn Uwch? Hyd yn oed yn uwch. O, cwestiwn da. A fyddai'n annilysu'r swyddogaeth? Rydych yn gwybod, ar ôl yr holl flynyddoedd hyn, yr wyf yn ydynt erioed wedi rhoi prototeip wedyn. Felly gadewch i ni wneud yn gwneud swyddogaeth-1 ar ôl gwneud hynny. [Fwmial] DAVID J. Malan: O, aros. Yr ydym yn dal i orfod rhoi popeth i fyny top. Felly gadewch i ni wneud hyn i fyny yma, os ydw i'n deall eich cwestiwn yn gywir. Rydw i'n rhoi popeth, gan gynnwys prototeip uwchben prif, ond dw i'n rhoi'r prototeip o dan y gweithrediad. Felly os wyf yn gwneud un, Im 'yn cael yn ôl mae n newidyn heb ei ddefnyddio error--. O, yno. Diolch yn fawr. Gadewch i ni weld, rydym yn cael gwared ar hyn. Dyna nam gwahanol, felly gadewch i ni anwybyddu hynny. Gadewch i ni wir yn ail-wneud hyn yn gyflym. Iawn, felly dadl data ddim ddefnyddir gan fformat Llinynnol n-- oh, mae hynny oherwydd Newidiais at y rhain yma. Mae pob hawl, rydym yn gwybod beth yw'r ateb yn mynd i'r canlynol-- gyd yn iawn, dyma ni. Ah, diolch am y cadarnhaol. Mae pob hawl, byddaf yn atgyweiria cod hwn after-- anwybyddwch hwn bug penodol gan fod hyn was-- mae'n gweithio yw'r ateb. Felly, nid yw'n trosysgrifo yr hyn yr ydych wedi ei wneud yn unig. Yr wyf yn amau ​​y compiler ei ysgrifennu yn y fath fodd ei fod yn anwybyddu eich prototeip oherwydd bod y corff, fel petai, y swyddogaeth eisoes cael eu gweithredu i fyny uwch. Byddai'n rhaid i mi ymgynghori mewn gwirionedd y llawlyfr y compiler i ddeall os oes unrhyw un arall oblygiad, ond ar yr olwg gyntaf dim ond drwy roi cynnig ac arbrofi, mae'n ymddangos bod unrhyw effaith. Gwestiwn da. Felly, gadewch i ni fwrw ymlaen yn awr, gan symud i ffwrdd o sgîl-effeithiau sy'n yn swyddogaethau sy'n gwneud rhywbeth fel weledol ar y sgrin gyda printf, ond nid ydynt yn dychwelyd gwerth. A swyddogaethau sydd wedi dychwelyd gwerthoedd fel rydym jyst yn gweld ychydig o. Rydym eisoes yn gweld syniad hwn o gwmpas, a byddwn yn gweld hyn dro ar ôl tro. Ond am nawr, unwaith eto, defnyddio synnwyr y fawd y gall newidyn yn cael ei defnyddio tu mewn i'r agorwyd yn fwyaf diweddar a bresys cyrliog gau wrth i ni Gwelodd yn yr enghraifft benodol. Ac fel y nodwyd gennych, mae ability-- fe allech chi ddatrys rhai o'r problemau hyn drwy roi newidyn yn fyd-eang ar frig y ffeil. Ond ym mhob achos bron byddem yn gwgu ar hynny, ac yn wir nid yw hyd yn oed yn mynd i mewn i'r ateb am y tro. Felly, am y tro, mae'r prydau parod yw bod newidynnau yn cael syniad hwn o gwmpas. Ond yn awr gadewch i ni edrych ar un arall ffordd sych o edrych mewn gwirionedd ar ryw 'n bert diddorol Manylion gweithredu. Sut y gallem gynrychioli gwybodaeth. Ac rydym eisoes yn edrych ar hyn yn ystod wythnos gyntaf y dosbarth. Gan edrych ar binaries, ac atgoffa ein hunain o'r degol. Ond yn galw i gof o wythnos diwethaf fod C wedi gwahanol fathau o ddata a sypiau mwy, ond y rhai mwyaf defnyddiol am y tro, a allai fod y rhain. Mae torgoch, neu gymeriad, sy'n digwydd i fod yn un beit, neu wyth cyfanswm ddarnau. A dyna i ddweud bod y maint o torgoch Dim ond un beit. Mae beit yw wyth did, felly mae hyn yn golygu bod gallwn gynrychioli faint o gymeriadau. Faint o lythyrau neu symbolau ar y bysellfwrdd os oes gennym un beit neu wyth o ddarnau. Meddyliwch yn ôl i wythnos sero. Os oes gennych wyth did, faint o gyfanswm y gwerthoedd allwch chi gynrychioli gyda patrymau o sero a rhai? One-- fwy na hynny. Felly chyfanswm 256 os ydych yn dechrau cyfrif o sero. Felly os oes gennych wyth bits-- felly os ydym yn Roedd gan ein bylbiau deuaidd i fyny yma eto, gallem droi bylbiau golau rheiny ar ac oddi wrth unrhyw un o 256 o batrymau unigryw. Yn awr mae hyn yn ychydig yn broblemus. Nid yn gymaint ar gyfer Saesneg a ieithoedd rhamant, ond yn sicr pan fyddwch yn cyflwyno, am enghraifft, ieithoedd Asiaidd, a oedd yn cael llawer mwy o symbolau nag tebyg 26 llythrennau'r wyddor. Efallai y byddwn angen mewn gwirionedd mwy nag un beit. A diolch byth yn blynyddoedd diwethaf mae cymdeithas safonau eraill a fabwysiadwyd sy'n defnyddio mwy nag un beit bob cyhuddiad. Ond am nawr yn C, 'r ball Dim ond un beit neu wyth o ddarnau. Cyfanrif, yn y cyfamser, mae pedwar bytes, a elwir hefyd 32 o ddarnau. Sy'n golygu beth yw'r mwyaf posibl nifer y gall ydym yn eu cynrychioli gyda int yn ôl pob golwg? Gyda biliwn. Felly mae'n i bedwar biliwn o rhoi neu gymryd. 2 i'r pŵer 32th, os ydym cymryd yn ganiataol na rhifau negyddol a dim ond defnyddio pob cadarnhaol rhifau, 'i' i bedwar biliwn o rhoi neu gymryd posibiliadau. Mae arnofio, yn y cyfamser, yn fath gwahanol o'r math data yn C. Mae'n dal i fod yn rif, ond mae'n nifer go iawn. Rhywbeth gyda phwynt degol. Ac mae'n ymddangos bod C hefyd yn defnyddio pedwar bytes i gynrychioli gwerthoedd pwynt arnawf. Yn anffodus faint o fel y bo'r angen Gwerthoedd pwynt sydd yn y byd? Faint o rifau real sydd yna? Mae 'an ddiddiwedd rhif, ac o ran hynny mae nifer anfeidrol o gyfanrifau. Felly rydym yn barod fath o cloddio ein hunain twll yma. Lle mae'n debyg yn computers-- ar rhaglenni lleiaf a ysgrifennwyd yn C ar them-- dim ond cyfrif fel uchel ag i bedwar biliwn o rhoi neu gymryd, ac fel y bo'r angen gwerthoedd phwynt dim ond yn ôl pob golwg cael rhywfaint o swm cyfyngedig o gywirdeb. Dim ond cymaint o digidau ar ôl eu pwynt degol. Oherwydd, wrth gwrs, os dim ond 32 darnau sydd gennych, Nid wyf yn gwybod sut yr ydym yn mynd i fynd am cynrychioli numbers-- go iawn yn ôl pob tebyg gyda gwahanol fathau o batrymau. Ond mae sicr yn gyfyngedig nifer o batrymau o'r fath, felly yma, hefyd, mae hyn yn broblem. Nawr gallwn osgoi'r broblem ychydig. Os nad ydych yn defnyddio fflôt, gallech ddefnyddio dwbl yn C, sy'n rhoi wyth bytes, i chi pa yw patrymau ffordd fwy posibl o sero a rhai. Ond mae'n dal i fod yn gyfyngedig, sy'n mynd i fod yn broblem os byddwch yn ysgrifennu meddalwedd gyfer graffeg neu ar gyfer ffansi fformiwlâu mathemategol. Felly, efallai y byddwch mewn gwirionedd yn eisiau i gyfrif i fyny yn fwy na hynny. A hir long-- wirion named-- mae hefyd yn wyth bytes, neu 64 ddarnau, ac mae hyn yn ddwywaith yn hirach yn int, a 'i' ar gyfer gwerth cyfanrif hir. Fact-- Hwyl os yw int yw pedwar bytes, pa mor hir yn hir yn C fel arfer? Hefyd pedwar bytes, ond mae maith maith yn wyth bytes, ac mae hyn yn am resymau hanesyddol. Ond mae'r bwyd parod bellach yn unig yw data sydd wedi i gael eu cynrychioli mewn computer-- dyna dyfais corfforol gyda thrydan, ei fod yn gyrru ar y cyfan seroau a ones-- rheiny gyda symiau cyfyngedig o gywirdeb. Felly beth yw'r broblem, yna? Wel yna broblem o gorlif cyfanrif. Nid dim ond yn C, ond yn cyfrifiaduron yn gyffredinol. Er enghraifft, os bydd hyn yn yn beit werth bit-- felly os yw hyn yn wyth bit-- gyd ohonynt yn y rhif un. Pa rif yw hwn cynrychioli os ydym yn tybio 'i' i gyd gwerthoedd cadarnhaol yn deuaidd? 255, ac nid yw'n 256, oherwydd sero yw'r nifer isaf. Felly, 255 yw'r uchaf un, ond y broblem yn debyg yr oeddwn am ei cynyddiad newidyn hwn sy'n yn defnyddio cyfanswm o wyth did os ydw i am gynyddiad iddo. Wel cyn gynted ag yr wyf yn ychwanegu un i bob un o'r rhai hyn, efallai y gallwch ddychmygu visually-- unig fel cario'r un yn defnyddio decimals-- rhywbeth sy'n mynd i lifo i'r chwith. Ac yn wir, os byddaf yn ychwanegu y nifer un i hyn, beth sy'n digwydd mewn deuaidd yw ei fod yn gorlifo yn ôl i sero. Felly, os nad ydych yn unig yn use-- yn int, ond un beit unigol i gyfrif cyfanrifau mewn rhaglen, trwy default-- cyn gynted ag y i chi ddod i 250, 251, 252, 253, 254, 255-- 0 dod ar ôl 255, sydd yn ôl pob tebyg nid yr hyn defnyddiwr yn mynd i ddisgwyl. Nawr fel y bo'r angen yn y cyfamser wrth mhwynt byd, byddwch hefyd yn cael problem debyg. Nid yn gymaint â'r number-- mwyaf er bod hynny'n dal i fod yn broblem. Ond gyda faint o gywirdeb y gallwch gynrychioli. Felly, gadewch i ni edrych ar yr enghraifft yma hefyd gan code-- ffynhonnell heddiw arnofio-0.c. Ac yn sylwi ei fod yn super rhaglen syml sy'n Dylai pob golwg argraffu'r pa werth? Beth ydych chi'n Wager hyn yn mynd i argraffu er bod yna ychydig o gystrawennau newydd yma? Felly gobeithio 0.1. Felly mae'r hyn sy'n cyfateb i un rhan o ddeg oherwydd fy mod i'n gwneud 1 rhannu â 10. Im 'yn storio yr ateb mewn newidyn o'r enw f. Dyna newidyn yw o'r math arnofio, sy'n yn keyword Fi jyst arfaethedig yn bodoli. Nid ydym wedi gweld hyn o'r blaen, ond mae hwn yn fath o ffordd daclus mewn printf i nodi faint o digidau chi eisiau gweld ar ôl pwynt degol. Felly nodiant hwn yn unig yn golygu hynny dyma dalfan. Mae ar gyfer pwynt arnawf gwerth, a oh, gyda llaw, dangos 'i ag y pwynt degol gyda un rhif ar ôl y pwynt degol. Felly dyna y nifer o ddigidau arwyddocaol, fel petai, y gallech chi ei eisiau. Felly, gadewch i mi fynd yn ei flaen ac yn gwneud gwneud arnofio-0, ./float-0, ac i bob golwg 1 wedi'i rannu â 10 yw 0.0. Nawr, pam? Wel unwaith eto, mae'r cyfrifiadur yn cymryd llythrennol mi, ac yr wyf wedi ysgrifennu 1 ac yr wyf yn 10 ysgrifenedig, ac yn cymryd dyfalu beth yw'r math data tybiedig ar gyfer dau y rhai gwerthoedd? Mae int, 'i' dechnegol rhywbeth ychydig yn wahanol. Mae'n nodweddiadol o hir, ond mae'n yn y pen draw yn werth annatod. Nid yw gwerth pwynt arnawf. Pa un yw dweud bod os yw hyn yn yn int ac mae hwn yn int, y broblem yw bod y cyfrifiadur Nid oes gan y gallu i hyd yn oed yn storio y pwynt degol. Felly, pan fyddwch yn gwneud 1 wedi'i rannu erbyn 10 ddefnyddio cyfanrifau ar gyfer y rhifiadur a'r enwadur, dylai'r ateb fod yn 0.1. Ond mae'r computer-- oherwydd hynny yn integers-- nid yw'n gwybod beth i'w wneud gyda'r 0.1. Felly beth sy'n ei wneud yn glir? 'I' jyst daflu i ffwrdd, a beth rwy'n ei weld yn y pen draw yw 0.0 yn unig oherwydd fy mod yn mynnu fod printf ddangos i mi un pwynt degol. Ond y broblem yw, os ydych yn rhannu cyfanrif gan cyfanrif, byddwch yn get-- trwy ddiffiniad o C-- yn gyfanrif. Ac nid yw'n mynd i wneud rhywbeth neis ac yn gyfleus fel rownd i fyny at y agosaf un i fyny neu i lawr. Mae'n mynd i gwtogi'r amser popeth ar ôl y degol. Felly dim ond yn reddfol, beth sydd yn ôl pob tebyg yn atgyweiria? Beth yw'r atgyweiria symlaf yma? Yeah? Yn union. Pam nad ydym yn unig yn trin y rhain fel fel y bo'r angen gwerthoedd pwynt yn effeithiol eu troi i mewn i fflotiau neu dyblau. Ac yn awr os wyf yn gwneud fflotiau-0, neu os byddaf yn llunio fflotiau-1, sydd yn union yr un fath beth oedd yn newydd arfaethedig. Ac yn awr yr wyf yn ei wneud fflotiau-0, yn awr yr wyf yn cael fy 0.1. Yn awr mae hyn yn anhygoel. Ond yn awr yr wyf i'n mynd i wneud rhywbeth ychydig yn wahanol. Rwy'n chwilfrydig i weld beth sydd wir yn mynd ymlaen o dan y cwfl, ac rwy'n mynd i argraffu'r dudalen hon allan i 28 lle degol. Yr wyf am weld 'n sylweddol 0.1000-- yn infinite-- [Anghlywadwy] 27 sero ar ôl hynny 0.1. Wel gadewch i ni weld os yw hynny'n yr hyn yr wyf yn wir ei gael. Gwneud fflotiau-0 un ffeil. ./floats-0. Gadewch i chwyddo i mewn ar yr ateb dramatig. Mae hyn i gyd amser, rydych chi wedi bod yn meddwl 1 wedi'i rannu â 10 yw 10%, neu 0.1. Dyw hi ddim yn. O leiaf cyn belled ag y cyfrifiadur dan sylw. Nawr why-- Iawn, mae hynny'n gyflawn gorwedd 1 wedi'i rannu â 10 yw 0.1. Ond why-- nad yw hynny'n y cludfwyd heddiw. Felly pam y mae'r cyfrifiadur yn meddwl, yn wahanol i bob un ohonom yn yr ystafell, bod 1 wedi'i rannu â 10 yw mewn gwirionedd y gwerth crazy? Beth yw'r cyfrifiadur yn ei wneud yn ôl pob golwg? Beth sy'n bod? Dyw hi ddim yn gorlifo, fel y cyfryw. Gorlif yn nodweddiadol pan byddwch yn lapio o amgylch gwerth. Mae'n rhifyn hwn o imprecision mewn gwerth pwynt arnawf lle mai dim ond rhaid i chi 32 neu hyd yn oed 64 bit. Ond os mae 'na ddiddiwedd nifer y numbers-- go iawn rhifau gyda phwyntiau degol a rhifau thereafter-- sicr nad ydych yn gallu cynrychioli pob un ohonynt. Felly mae'r cyfrifiadur wedi rhoi i ni y gêm agosaf i werth y gall ei gynrychioli defnyddio'r llawer o ddarnau i werth Fi 'n weithredol ei eisiau, sydd yn 0.1. Yn anffodus, os ydych yn dechrau gwneud mathemateg, neu os ydych dechrau cynnwys y mathau hyn o fel y bo'r angen Gwerthoedd pwynt mewn programs-- pwysig meddalwedd ariannol, unrhyw beth software-- milwrol lle mae canfyddiad yw yn ôl pob tebyg yn eithaf pwysig. A'ch bod yn dechrau ychwanegu rhifau fel hyn, a dechrau rhedeg y feddalwedd gyda mewnbynnau wirioneddol fawr neu am lawer o oriau neu lawer o ddyddiau neu lawer o flynyddoedd, camgymeriadau hyn bach bach sicr yn gallu ychwanegu hyd dros gyfnod o amser. Yn awr wrth fynd heibio, os ydych wedi erioed gweld Superman 3 neu Gofod Swyddfa ac efallai y byddwch yn cofio sut mae rhai guys dwyn llawer o arian oddi wrth eu cyfrifiadur trwy ddefnyddio gwerthoedd pwynt arnawf ac adio ychydig gweddill, gobeithio y ffilm bellach yn gwneud mwy o synnwyr. Mae hyn yn yr hyn y maent yn cyfeirio ato yn y ffilm. Mae'r ffaith bod y rhan fwyaf Ni fyddai cwmnïau yn edrych ar ôl nifer penodol o'r lle degol, ond dyna'r ffracsiynau o cents. Felly, byddwch yn dechrau adio i fyny, byddwch yn dechrau i wneud llawer o arian yn eich cyfrif banc. Felly dyna Esboniodd Gofod Swyddfa. Nawr yn anffodus tu hwnt Gofod Swyddfa, mae rhai gyfreithlon poeni ac effeithiau o bwys o'r mathau hyn o penderfyniadau dylunio sylfaenol, ac yn wir un o'r rhesymau rydym yn defnyddio C yn y cwrs yw er mwyn i chi wir yn cael y sail hon fyny dealltwriaeth o sut mae cyfrifiaduron yn gweithio, sut mae meddalwedd yn gweithio, ac nid ydynt cymryd dim yn ganiataol. Ac yn wir yn anffodus, hyd yn oed gyda bod dealltwriaeth sylfaenol, rydym pobl yn gwneud camgymeriadau. A hyn yr wyf yn meddwl y byddwn i'n rhannu yw y fideo wyth munud a gymerwyd yma o bennod Marvels Modern, sef sioe addysgiadol ar sut mae pethau'n gweithio hynny paent ddau lun o bryd yn ddefnydd amhriodol a dealltwriaeth o Gwerthoedd pwynt arnawf arwain at rai arwyddocaol ganlyniadau anffodus. Gadewch i ni edrych. [VIDEO Playback] -Rydym Yn awr yn dychwelyd i "Peirianneg Trychinebau "ar Marvels Modern. Cyfrifiaduron. Rydym i gyd wedi dod i dderbyn y problemau yn aml yn rhwystredig sy'n got gyda them-- bugs, firysau, a glitches-- meddalwedd ar gyfer brisiau bach i dalu am y cyfleustra. Ond mewn cyflymder uchel uwch-dechnoleg a ceisiadau milwrol a rhaglen ofod, y broblem lleiaf gall cael ei chwyddo i mewn i drychineb. Ar 4 Mehefin, 1996, gwyddonwyr a baratowyd i lansio di-griw Ariane 5 roced. Roedd yn cario gwyddonol lloerennau a gynlluniwyd i sefydlu sut yn union y mae'r Rhyngweithio Ddaear maes magnetig gyda gwyntoedd solar. Roedd y roced ei adeiladu ar gyfer yr Asiantaeth Ofod Ewropeaidd, ac yn codi oddi ar ei gyfleuster ar arfordir Giana Ffrengig. -ar Tua 37 eiliad i mewn y hedfan, maent yn gyntaf sylwi rhywbeth yn mynd o'i le. Bod y nozzles yn swiveling mewn ffordd y maent yn ddim wir dylai. Mae tua 40 eiliad i mewn i'r awyren, glir y cerbyd oedd mewn trafferth, a dyna pryd wnaethant y penderfyniad i ddinistrio. Roedd y swyddog diogelwch amrediad, gyda perfedd aruthrol, pwyso ar y botwm a chwythu i fyny y roced cyn y gallai dod yn berygl i ddiogelwch y cyhoedd. -Mae Hyn oedd y forwyn mordaith y Ariane 5, ac a gymerodd ei dinistrio gosod oherwydd y nam hymgorffori mewn meddalwedd y roced yn. -Y Broblem ar y Ariane oedd bod Roedd nifer a oedd angen 64 darnau i fynegi, ac roeddent am i drosi ag ef i rif 16-bit. Maent yn tybio bod y nifer byth yn mynd i fod yn fawr iawn. Bod y rhan fwyaf o ddigidau y rhai yn mae'r rhif 64-bit yn sero. Eu bod yn anghywir. -y Anallu un rhaglen feddalwedd i dderbyn y math o rif a gynhyrchir gan Roedd un arall wrth wraidd y methiant. Datblygu meddalwedd wedi dod yn rhan gostus iawn o dechnoleg newydd. Mae'r Ariane 4 roced oedd bod yn llwyddiannus iawn. Mae cymaint o'r meddalwedd a grëwyd ar gyfer cafodd ei ddefnyddio hefyd yn y Ariane 5. -y Broblem sylfaenol oedd bod y Ariane 5. A oedd faster-- cyflymedig yn gyflymach, a Nid yw'r meddalwedd wedi cyfrif am hynny. -Mae Dinistr y roced oedd yn drychineb ariannol enfawr. Mae pob oherwydd gwall meddalwedd munud. Ond nid hyn oedd y cyntaf problemau trosi data amser wedi plagued dechnoleg roced fodern. -Yn 1991 â dechrau y Rhyfel y Gwlff cyntaf, y taflegryn Gwladgarwr profi rhyw fath tebyg o broblem trosi rhif. Ac o ganlyniad 28 people-- 28 Soldiers-- Americanaidd eu lladd, a tua chant o bobl eraill eu hanafu. Pan fydd y Gwladgarwr, a oedd i fod i amddiffyn yn erbyn Scuds sy'n dod i mewn, wedi methu i danio taflegryn. -Pan Irac ymosododd Kuwait, ac America Lansiwyd Storm Anialwch yn gynnar yn 1991, Batris taflegryn Gwladgarwr Lleolwyd i amddiffyn Saudi Arabia ac Israel rhag ymosodiadau taflegryn Scud Irac. Y Gwladgarwr yn gyfrwng-amrediad Unol Daleithiau wyneb-i-awyr system gynhyrchwyd gan y cwmni Raytheon. -Mae Maint y Gwladgarwr ataliwr itself-- mae'n ymwneud â tua 20 troedfedd o hyd, ac mae'n pwyso tua £ 2,000. Ac mae'n cyflawni warhead o tua, Rwy'n credu ei fod tua £ 150. Ac mae'r warhead ei hun yn yn ffrwydrol uchel, sy'n Mae darnau o'i gwmpas. Felly mae'r casin y warhead yn cynllunio i weithredu fel fwled. -Y Taflegrau yn cael eu cynnal pedwar y cynhwysydd, ac yn cael eu cludo gan ôl-gerbyd lled. -Y System Gwladgarwr gwrth-taflegryn mynd yn ôl o leiaf 20 mlynedd erbyn hyn. Fe'i cynlluniwyd yn wreiddiol fel taflegryn amddiffyniad awyr i saethu i lawr awyrennau gelyn. Yn y Rhyfel y Gwlff cyntaf pan ddaeth y rhyfel ar, y Fyddin am ei ddefnyddio i saethu i lawr Scuds, nid awyrennau. Y Llu Awyr Irac oedd nid yn gymaint o broblem, ond roedd y Fyddin poeni am Scuds. Ac felly maent yn ceisio uwchraddio'r Gwladgarwr. -Intercepting Gelyn taflegryn teithio ar Mach 5 oedd yn mynd i fod yn ddigon heriol. Ond pan fydd y Gwladgarwr ei rhuthro i mewn i wasanaeth, Nid oedd y Fyddin yn ymwybodol o mae addasiad Irac sy'n gwneud eu Scuds bron amhosibl iddo. -Beth Ddigwyddodd yw'r Scuds bod yn dod i mewn yn ansefydlog. Roeddent yn sigledig. Y rheswm am hyn oedd y Iraqis-- er mwyn cael 600 cilomedr allan o amrediad missile-- 300-cilometr Cymerodd pwysau allan o'r warhead blaen, a gwnaeth y warhead ysgafnach. Felly, yn awr y Gwladgarwr yn ceisio dod yn y Scud, a'r rhan fwyaf o'r adeg-- y mwyafrif llethol o'r adeg-- byddai'n jyst hedfan gan y Scud. -Unwaith Y gweithredwyr system Patriot sylweddoli colli y Gwladgarwr ei tharged, eu bod yn tanio warhead y Gwladgarwr yn er mwyn osgoi anafiadau posibl os bydd yn yn caniatáu i syrthio i'r ddaear. -bod Oedd yr hyn a welodd y rhan fwyaf o bobl fel fireballs mawr yn yr awyr, ac yn eu camddeall fel rhyng-gipio o arfbennau Scud. -Although Yn yr awyr y nos, wladgarwyr yn ymddangos i gael eu dinistrio yn llwyddiannus Scuds, yn Dhahran gallai fod unrhyw gamgymeriad am ei berfformiad. Mae system radar y Gwladgarwr yn trac a gollwyd o Scud sy'n dod i mewn a byth yn ei lansio sy'n ddyledus i nam meddalwedd. Yr oedd yr Israeliaid oedd yn darganfod gyntaf bod y po hiraf system yn ar, y mwyaf daeth yr amser anghysondeb. Oherwydd cloc wreiddio yn gyfrifiadur y system. -About Ddwy wythnos cyn y drychineb yn Dhahran, yr Israeliaid adrodd i yr Adran Defense bod y system yn colli amser. Ar ôl tua wyth awr o redeg, maent yn sylwi bod dod yn y system yn amlwg yn llai cywir. Ymatebodd yr Adran Defense gan ddweud wrth bawb o'r Gwladgarwr batris i beidio â gadael y systemau ymlaen am amser hir. Maent byth yn dweud beth amser hir oedd. 8 awr, 10 awr, fil o oriau. Does neb yn gwybod. -y Batri Patriot lleoli yn y barics yn Dhahran ac mae ei mewnol ddiffygiol cloc wedi bod ar am dros 100 awr ar noson 25 Chwefror. -Mae'n Olrhain amser i gywirdeb o tua un rhan o ddeg o eiliad. Nawr un rhan o ddeg o eiliad yn nifer diddorol oherwydd na ellir ei mynegi mewn deuaidd yn union, a oedd yn golygu ni ellir ei mynegi yn union mewn unrhyw gyfrifiadur digidol modern. Mae'n anodd credu, ond defnyddio hyn fel enghraifft. Gadewch i ni gymryd y rhif un rhan o dair. Ni all un rhan o dair yn fynegir yn y degol yn union. Mae un rhan o dair yn 0.333 mynd ymlaen i anfeidredd. Does dim ffordd o wneud hynny gyda cywirdeb absoliwt mewn degol. Dyna'n union y math o broblem a ddigwyddodd yn y Gwladgarwr. Rhedodd Po hiraf y system, mae'r waeth daeth y gwall amser. -Ar Ôl 100 o oriau gweithredu, mae'r gwall mewn amser oedd dim ond tua un rhan o dair o eiliad. Ond o ran targedu taflegryn teithio ar Mach 5, mae'n arwain at olrhain gwall o dros 600 metr. Byddai'n gamgymeriad angheuol ar gyfer y milwyr yn Dhahran. -Beth Digwydd yn lansiad Scud oedd canfod gan lloerennau rhybudd cynnar, ac roedden nhw'n gwybod oedd yn Scud yn dod yn eu cyfeiriad cyffredinol. Nad oeddent yn gwybod lle cafodd ei dod. Yr oedd yn awr hyd at y radar cydran o'r system Patriot amddiffyn Dhahran i leoli a chadw golwg ar y taflegryn gelyn dod i mewn. -Y Radar yn smart iawn. Byddai'n olrhain mewn gwirionedd lleoliad y Scud ac yna rhagweld ble Mae'n debyg y byddai'n y tro nesaf y anfon radar curiad allan. Oedd yn galw yn y giât amrediad. -Then Unwaith y bydd y Gwladgarwr penderfynu digon o amser wedi pasio i fynd yn ôl ac edrych ar y nesaf lleoliad ar gyfer y gwrthrych canfod mae'n mynd yn ôl. Felly, pan fydd yn mynd yn ôl at y anghywir lle, mae'n wedyn yn gweld unrhyw wrthrych. A yw'n penderfynu nad oedd unrhyw wrthrych. Bod canfod ffug ac mae'n gostwng y trac. Diflannu -y Scud sy'n dod i mewn oddi wrth y sgrin radar, ac eiliadau yn ddiweddarach, mae'n Condemniwyd i mewn i'r barics. Mae'r Scud lladd 28. Cafodd yr un olaf ei tanio yn ystod y Rhyfel y Gwlff cyntaf. Yn drasig, mae'r meddalwedd diweddaru cyrraedd ar doriad gwawr ar y diwrnod canlynol. Mae'r nam meddalwedd Roedd gan bod yn sefydlog, cau un bennod yn y cythryblus hanes y taflegryn Gwladgarwr. [DIWEDD Playback VIDEO] DAVID J. Malan: Dyna ni am CS50. Byddwn yn eich gweld ar ddydd Mercher. [CHWARAE CERDDORIAETH]