>> SIARADWR 1: Pob hawl.
Croeso yn ôl.
Mae hyn yn Wythnos Dau o CS50, ac mae gennym hyd yn hyn wedi bod yn defnyddio swyddogaethau ond
gymryd i raddau helaeth yn ganiataol.
Rydym wedi defnyddio printf sydd â'r sgîl-effaith o argraffu
pethau ar y sgrîn.
Rydym wedi defnyddio get-int, yn cael arnofio.
>> Ond beth os ydych mewn gwirionedd am greu eich swyddogaethau eu hunain, gan fod rhai o'r
efallai y byddwch eisoes wedi dechrau ei wneud ar gyfer Set Problem One, er
nad yw'n gwbl angenrheidiol?
Wel, gadewch i ni fynd yn ei flaen ac yn ailedrych ar y problem o ddim ond yn gofyn i'r defnyddiwr ar gyfer
eu henw ac argraffu rhywbeth ar y sgrîn, ond ceisiwch ffactor ar rai
o'r gyffredin a rydym wedi gweld yn ein cod hyd yn hyn.
Felly, gan fy mod yn golygu y canlynol.
>> Rydw i'n mynd i fynd yn ei flaen ac yn creu rhaglen newydd, ffoniwch
mae'n hello.c fel arfer.
Rydw i'n mynd i fynd yn ei flaen a rhoi fy hun gynnwys io.h safonol ar y brig.
Rydw i'n mynd hefyd i roi fy hun preemptively y llyfrgell CS50 fel bod
Dydw i ddim yn cael yelled ar gan y compiler.
Ac yn awr yr wyf i'n mynd i fynd yn ei flaen a datgan int, prif, ddi-rym.
>> Ac yna i mewn yma, dyma lle yr wyf am i ddechrau allanoli swyddogaeth i
rhyw swyddogaeth arall yr wyf fy hun mod mynd i ysgrifennu ond nad yw'n
bodoli ar hyn o bryd.
Er enghraifft, mae'n debyg fy mod i eisiau ysgrifennu swyddogaeth sy'n caniatáu i mi
argraffu helo, coma, a Yna enw rhywfaint defnyddiwr.
Yn hytrach na pharhau i wneud printf helo,% s, ni fyddai'n braf pe
cafwyd ychydig yn swyddogaeth a elwir yn Nid printf ond enw argraffu?
>> Felly, mewn geiriau eraill, yr wyf am i fod yn gallu ysgrifennu rhaglen sy'n gwneud ychydig
rhywbeth fel hyn.
Yn gyntaf, yr wyf i'n mynd i ddweud printf eich enw, a thrwy hynny annog y defnyddiwr i
yn rhoi ei enw i mi, ac yna rwy'n mynd i ddefnyddio'r llinyn s gyfarwydd i
ddatgan llinyn.
Rhowch newidyn o linyn fath i mi, alw s, a'i gadw yn y
ganlyniad i alw cael llinyn.
Ond yn awr yn yr wythnosau diwethaf, byddai gennyf gwneud rhywfaint yn tediously helo,% s / n.
>> Ac mewn geiriau eraill, yr ydym wedi gweld hyn enghraifft criw o weithiau, ac mae'n
enghraifft ddibwys oherwydd bod dim ond un llinell o god felly mae'n wirioneddol nid
beth mawr i gadw deipio eto.
Ond mae'n debyg fod y llinell o god mewn gwirionedd yn dod yn faich, ac
nid yw'n un llinell o god ond mae'n 10 llinellau o god cwpl o wythnosau o hyn,
a ydych ond yn mynd yn flinedig o gopïo a gludo neu
aildeipio yr un cod.
Oni fyddai'n braf yn hytrach na gwneud printf helo,% s ac yn y blaen,
ni fyddai'n braf pe bai dim ond swyddogaeth a alwodd ei enw print that
yn cymryd ddadl -
mewn geiriau eraill, mae'n cymryd mewnbwn -
ac yna colon.
Felly y swyddogaeth honno, oni fyddai yn cael ei 'n glws os oedd yn bodoli?
Yna ni fyddai rhaid i mi boeni am beth printf yw, pa% s ac mae pob un
cymhlethdodau hyn sy'n nid bob un sy'n ddiddorol.
Maent yn ddefnyddiol.
>> Enw print Felly, yn anffodus, nid oedd yn dyfeisio tua 40 mlynedd a mwy yn ôl.
Nid oes unrhyw un yn meddwl i ysgrifennu iddo.
Ond dyna harddwch o gael iaith raglennu, yn union fel yn
Scratch gallwch ddiffinio blociau arfer, felly yn C ac mae'r rhan fwyaf unrhyw iaith, gall eich
ddiffinio eich swyddogaeth eich hun, gall ydych yn diffinio eich swyddogaethau eu hunain.
Felly, er ein bod yn cael bennaf gan yn awtomatig ar gyfer rhad ac am ddim, gallwn ddatgan
ein swyddogaethau hunain.
>> Felly, yr wyf i'n mynd i wneud rhywfaint o le yma atodol, ac yr wyf i'n mynd i ddatgan fy
swyddogaeth ei hun sy'n mynd i edrych braidd yn rhyfedd i ddechrau ond byddwn yn dod
yn ôl at hyn cyn hir.
Rydw i'n mynd i ddweud ddi-rym, a thrwy hynny nodi swyddogaeth hon yn
rhywbeth, yn cael sgîl-effaith, ond mae'n nid yw'n dychwelyd rhywbeth i mi yn y
un ffordd ag y cael int neu cael llinyn ei hun yn ei wneud.
Ac yr wyf i'n mynd i roi swyddogaeth hon yn enwi enw print, ac yr wyf i'n mynd i
yn nodi bod y boi yn mynd i gymryd llinyn, ac rwy'n mynd i ofyn i'r
enw llinyn.
Y gallwn ei alw'n unrhyw beth yr wyf eisiau, ond yr wyf yn am fy cod i fod yn hunan-dogfennu.
Mewn geiriau eraill, os oes un ohonoch yn cael agor y ffeil a'i darllen, gallech
math o casglu o'r enw y mewnbwn pa rôl y mae'n fod i chwarae.
>> Ac yn awr is na hynny, yr wyf i'n mynd i agor cyrliog Brace ac yn cau cyrliog Brace,
ac felly rwyf wedi sylwi dilyn yr un patrwm ar linellau bedwar drwy saith fel
Rydw i wedi bod yn dilyn am wythnos a da awr rhwng, dyweder, llinellau naw a
14 sy'n cyfansoddi prif.
Mewn geiriau eraill, argraffu enw yn swyddogaeth arall.
Nawr, nid yw'r compiler yn mynd i wybod i alw y peth hyn yn awtomatig
oherwydd fy mod yn llythrennol dim ond ei ddyfeisio, ond bydd yn dal i fod yn gwybod i alw brif
yn awtomatig, ac yna, wrth gwrs, yn llinell 13, yr wyf yn galw fy swyddogaeth ei hun.
Ac am fy mod i wedi datgan mai swyddogaeth i fyny ar-lein bedwar prif cyn,
hyn yn mynd i addysgu'r compiler pa dyfyniad, unquote, "Enw print"
yn ei olygu a beth y dylai ei wneud.
Felly rwy'n fath o roi yn arferiad newydd bloc yng nghyd-destun, dyweder, Scratch.
>> Felly yma, gallaf roi hynny gyffredin iawn neu batrwm rheolaidd o god i gadw
ysgrifennu yn y dosbarth, printf % S helo,% s / n ", -
beth ddylwn i ei eisiau rhoi yma?
S?
Felly, yr wyf eisiau rhoi enw yn y cyd-destun hwn.
Felly, yn sylwi ar dipyn o ddeuoliaeth yma.
Oherwydd yr wyf yn datgan fy swyddogaeth ei hun ac yr wyf braidd wedi galw fympwyol
ei argraffu enw, ac oherwydd fy mod i wedi a bennir yn y cromfachau bod hyn yn
swyddogaeth yn cymryd un ddadl, y math o sydd yn llinyn - felly mae'n air
neu ymadrodd neu rywbeth fel 'na - a Rwy'n galw yr enw ddadl, bod
yw'r unig newidyn sy'n sydd yn cwmpas, fel petai, yn enw.
>> S yn unig yn bodoli rhwng yr hyn dau braces cyrliog, wrth gwrs?
Wel mewn gwirionedd, yn union fel llinell 10 drwy 14, felly yn union fel ar ddydd Llun y gall peidio â defnyddio
S, ond yr hyn y gallaf ei wneud yw pasio S yn Enw print.
Printiwch yr enw ond fel y digwydd i roi yn alias, yn gyfystyr, llysenw,
alw yn enw, ac yn awr ei ddefnyddio yn y llinell hon.
Felly nawr gadewch i mi achub y, chwyddo allan.
>> Gadewch i mi fynd yn ei flaen ac yn gwneud helo.
Yn edrych yn dda.
Nid oedd boeri allan unrhyw wallau. . / Helo Enter.
Beth yw fy enw?
Dafydd.
A helo David.
Felly nid bob un sy'n gyffrous, ond meddyliwch yn awr.
Yr ydych yn awr yn cael yr un cynhwysyn fel y gwnaethom yn Scratch i
gwneud ein swyddogaethau eu hunain.
>> Ond mae tipyn o gotcha.
Gadewch i ni dybio nad oeddwn wedi meddwl o ddifrif hyn drwodd a Fi 'n weithredol heb
wir yn meddwl am y peth ysgrifennodd swyddogaeth honno i lawr yma.
Teimlo gwbl resymol.
Yn Scratch nid oes unrhyw syniad o leoliad yn eich sgriptiau.
Gallech roi un i fyny yma, un i fyny yma, un i fyny yma, a gallai fod yn dechrau
i edrych ychydig yn anniben os nad ydych yn ei osod allan yn daclus, ond nid yw'n
ots ble gorfforol y sgriptiau Roedd ar y sgrin.
Yn anffodus, yn C - ac mae hyn yn wahanol i ieithoedd megis Java a Python
ac eraill y gallech fod yn gyfarwydd gyda - yn anffodus yn C, er yn
mater oherwydd bod gwylio beth sy'n mynd i ddigwydd nawr.
>> Mae'r swyddogaeth rhagosodedig sy'n mynd i weithredu yw, wrth gwrs, y prif.
Main yn mynd i alw enw print ar wyth llinell, ond yn anffodus, mae'r
Ni fydd hyd yn oed yn gwybod compiler enw hwnnw print yn bodoli hyd nes ei fod yn mynd i linell 11,
sydd yn anffodus yn yn mynd i fod yn rhy hwyr.
Felly, gadewch i ni yn gwneud helo.
Ac yn awr damn dau gamgymeriad, a gynhyrchir.
Felly nawr gadewch i mi sgrolio i fyny at yr union yn gyntaf, fel y dylem bob amser ei wneud, a
sylwi ei fod yn gweiddi arna i, Ystyr "datganiad ymhlyg o swyddogaeth
enw argraffu. "
>> Felly, rydym wedi gweld y neges hon o'r blaen, datganiad ymhlyg swyddogaeth.
Pan fyddwn wedi gweld y math o wall?
Pan nad oeddwn yn cynnwys y llyfrgell.
Dwi wedi anghofio cs50.h a byddwn yn cael yelled ar gyfer cael llinyn neu cael int.
Ond yn yr achos hwn, mae'r print swyddogaeth Nid enw yw mewn llyfrgell, dde?
Mae'n llythrennol yn y ffeil hon, felly yr hyn sy'n wirioneddol y broblem?
>> Wel, yn anffodus yn C, mae'n cymryd i chi mor anhygoel o llythrennol, os ydych yn
am gael swyddogaeth alwodd ei enw argraffu i bodoli, naill ai yn rhaid i chi weithredu
swyddogaeth honno ar frig eich Cod fel ei bod yn hygyrch i ostwng
swyddogaethau, ond dweud y gwir, sy'n dod flêr yn gyflym iawn.
Yn bersonol, rwy'n hoffi rhoi phrif gyntaf oherwydd wedyn yw'n glir beth mae hyn yn iawn
rhaglen yn ei wneud ar yr olwg gyntaf.
Ac yn ogystal, gallwch fynd i mewn i gornel 'n annaearol achosion lle os yw x eisiau i alw
Efallai y ond y galw x, 'ch jyst gorfforol ni all mewn gwirionedd yn rhoi un
uwchben y llall.
>> Ond mae'n troi allan yn C, gallwn ddatrys y syml iawn.
Rydw i'n mynd i roi ychydig o ofod i fyny yma, a Im 'jyst yn mynd i
preemptively, er braidd yn redundantly, mynd i ddysgu y
compiler bod yn bodoli swyddogaeth alwodd ei enw print, mae'n cymryd llinyn,
ac yr wyf i'n mynd i alw yn enwi'r hanner colon.
>> Felly, mae hyn bellach yn unol pedwar, yr ydym yn Nid yw wedi ei weld o'r blaen, yn ddatganiad
o enw print swyddogaeth, ond dim ond addewid y swyddogaeth hon bydd
yn y pen draw yn cael ei diffinio, yn y pen draw cael eu gweithredu.
Mae hyn bellach gallaf adael ei ben ei hun oherwydd yn awr mae hyn yw'r diffiniad, y
gweithredu, math o y filltir olaf o'r broses o hwn ar waith
swyddogaeth benodol.
Felly, dweud y gwir, mae'n dwp, mae'n blino, ond mae hyn yw'r ffordd C yw, ac mae'n
oherwydd ei fod yn mynd â chi yn llythrennol iawn ac, fel dweud y gwir dylai cyfrifiadur,
yn unig yn union yr hyn a ddywedwch i gwneud, ac er mwyn archebu yn bwysig.
>> Felly cadwch hynny mewn cof, ac unwaith eto, yn dechrau sylwi ar y digwydd eto o batrymau.
Odds yn byddwch, os nad ydych wedi eisoes, yn dechrau dod ar draws negeseuon
fel hyn sy'n ar yr olwg gyntaf yn ymddangos gwbl cryptig, ond os byddwch yn dechrau
i chwilio am y geiriau allweddol fel Ystyr "datganiad ymhlyg," sôn am
swyddogaeth yn yr achos hwn - a dweud y gwir, yr ydych yn weithiau hyd yn oed yn cael ychydig o gwyrdd
symbol moron sy'n dweud wrthych ble Mae'n debyg y cwestiwn yw -
gallwch ddechrau i weithio eich ffordd drwy'r eto negeseuon gwall anweledig.
Unrhyw gwestiynau ar sut i ysgrifennu eich swyddogaeth ei hun yn y modd hwn?
>> Gadewch i ni wneud rhywbeth mae hynny'n ychydig yn fwy cymhellol.
Yn hytrach na dim ond gwneud rhywbeth sydd sgîl-effaith o argraffu, gadewch i mi fynd
flaen ac arbed ffeil newydd, ac rydym yn chi helpu galw positive.c hwn, er ei fod yn
mynd i fod ychydig yn wahanol yn erbyn y tro diwethaf.
Ac yn yr amser hwn, rwyf am i ail-weithredu enghraifft positive.C tro diwethaf, sy'n
yn gorfodi'r defnyddiwr i roi mi gyfanrif positif.
Ond roedd rhaid i mi ddefnyddio cael int tro diwethaf.
Oni fyddai wedi bod yn braf pe bai swyddogaeth o'r enw gael int cadarnhaol
y gallai Fi jyst allanoli hwn darn o swyddogaethau i?
Felly y gwahaniaeth yma yw gallwn eich gweithredu yn cael int cadarnhaol, ond yn wahanol
enw print a gafodd sgîl-effaith - mae'n nid oedd yn dychwelyd rhywbeth i mi fel
nifer neu linyn -
cael int cadarnhaol yw, wrth gwrs, yn mynd i dychwelyd, gobeithio, yn int cadarnhaol.
>> Felly, gadewch i ni wneud hyn.
Cynnwys cs50.h, Cynnwys safon io.h.
Int brif ddi-rym.
Ac yn awr yma, yr wyf i'n mynd i fynd yn ei flaen a gadewch i ni ddweud int, ei alw n, yn hafal i
cael int cadarnhaol.
Ac yn union fel cael int yn bodoli eisoes oherwydd bod y staff a'i hysgrifennodd, dw i'n mynd
i gymryd yn ganiataol am y tro bod yn cael int cadarnhaol yn bodoli, ac yn awr yr wyf i'n mynd
i fynd yn ei flaen a dweud printf, diolch am y% i / n ", n.
>> Felly, yn awr os wyf yn llunio rhaglen hon, beth yn mynd i ddigwydd yn fy terfynell
ffenestr ar waelod y sgrin?
Rydw i'n mynd yn ôl pob tebyg i gael y yr un camgymeriad ag o'r blaen.
Felly gadewch i ni roi cynnig ar hyn.
Gwnewch yn gadarnhaol.
Ac eto, datganiad ymhlyg swyddogaeth, yn cael int cadarnhaol.
Felly, gallwn ddatrys hyn mewn cwpl o ffyrdd.
Rydw i'n mynd i gadw'n syml a dim ond rhoi fy datganiad i fyny yma a chael
int cadarnhaol.
Fi angen 'r llofnod fel y'u gelwir.
Mae'r llofnod yn unig yn cyfeirio i estheteg y
llinell gyntaf y rhaglen.
Felly, beth ddylai gael bositif int dychwelyd?
>> Felly mae int.
Yr wyf yn golygu yn ddelfrydol, byddai'n dychwelyd rhywbeth fel int cadarnhaol, ond bod
yn bodoli.
Nid ydym wedi gweld bod ymhlith ein data math, felly mae'n rhaid i ni ddelio â'r
ffaith ein bod yn cael ychydig iawn o mathau o ddata i weithio gyda nhw.
Ond gallwn dychwelyd int a dim ond ymddiried y bydd yn gadarnhaol.
Mae'n mynd i gael ei alw cael int cadarnhaol.
>> Ac yn awr beth am ei ddadleuon?
A yw'n cymryd unrhyw fewnbwn?
Oes angen unrhyw fewnbwn?
Felly nid oes angen i wybod unrhyw beth ymlaen llaw.
Get Nid yw'r llinyn wedi ei wneud, gael nid int yn ei wneud.
Printf wneud - mae angen i gael rhywfaint o mewnbwn pasio i mewn iddo - ac enw'r print
angen rhywfaint o fewnbwn, ond yn cael Nid int cadarnhaol yn ei wneud.
Felly, yr wyf i'n mynd i benodol dweud wrth y gwagle compiler.
Ddi-rym yw absenoldeb unrhyw beth arall.
Felly, ddi-rym yn golygu dim byd yn mynd y tu mewn y cromfachau hynny, hanner colon.
>> Ac yn awr ar waelod fy ffeil - a unwaith eto, Im 'jyst yn bod yn garedig o rhefrol
yma yn rhoi'r prif ar y brig, sy'n yn arfer dda oherwydd y modd hwn,
unrhyw adeg ydych chi neu rywun arall agor eich ffeil, y
swyddogaeth yn iawn yno.
Gallwch plymio i mewn o un sgwâr.
Felly, yn awr yr wyf i'n mynd i ddyblygu'r hyn, cael ddi-rym int cadarnhaol, ond dydw i ddim
mynd i daro hanner colon awr.
Rydw i'n mynd i agor braces cyrliog, ac yn awr mae angen i mi fenthyg
rhai syniadau o ddydd Llun.
>> Felly, fel yr ydych yn cofio, rydym yn gwneud rhywbeth yn hoffi gwneud y canlynol wrth
rhywbeth yn wir.
A beth wnaeth i ei wneud?
I ddim yn rhywbeth fel rhoi mi cyfanrif positif,
ychydig bach o brydlon.
Gallwn ddefnyddio unrhyw eiriau rwyf eisiau.
Ac yna Roeddwn i'n arfer beth?
Int n hafal cael int, unrhyw ddadleuon iddo.
>> Ac yn sylwi ar y gwahaniaeth.
Pan fyddwch yn galw swyddogaeth, pan fyddwch yn defnyddio swyddogaeth, nad ydych yn rhoi yn ddi-rym.
Ydych ond yn gwneud hynny wrth datgan swyddogaeth, addysgu y compiler hyn
dylai ddisgwyl.
Felly nid oes angen i chi roi ddi-rym yno eich hun.
>> Ac yn awr beth oedd fy nghyflwr?
Wel, nid n yn hafal i cadarnhaol, ond dim ond ffug-god.
Felly, sut ydw i'n mynegi hyn yn fwy lân?
Felly, yn llai na neu'n hafal i sero.
Felly, unwaith eto, sylwch y gallwch ei wneud llai na neu'n hafal i.
Hyd yn oed er ei fod yn ddau ar wahân symbolau, gallwch wneud hynny ar
eich bysellfwrdd fel y cyfryw.
>> Ond mae dal i fod yn bug sy'n I sgriwio i fyny y tro diwethaf hefyd.
Rhaid i mi ddatgan -
yn union.
Rhaid i mi ddatgan n y tu allan i y ddolen.
Felly mae angen i mi roi n fyny yma, ac nid wyf yn eisiau ail-ddatgan i mewn yma
rhag i mi gael newidyn newydd.
Fi jyst eisiau rhoi gwerth ariannol yma.
>> Ac yn awr Dydw i ddim yn hollol wneud yma.
Gadewch i mi gael y blaen fy hun ac esgus dwi'n ei wneud.
Gwnewch yn gadarnhaol, ac yn awr mae 'na gwall newydd.
Rheoli cyrraedd diwedd swyddogaeth heb fod yn ddi-rym.
Felly neges gwall newydd, ond os ydych yn fath o canfod wahân pob un o'r geiriau, mae'n
yn ôl pob tebyg awgrymu'r hyn sydd o'i le.
>> Rheoli.
Rheoli unig yn golygu i'r gorchymyn gweithrediadau mewn rhaglen.
Mae'r cyfrifiadur sydd yn rheoli ac yn aeth rhywbeth o'i le.
Felly, bydd yn cyrraedd y diwedd swyddogaeth heb fod yn ddi-rym.
Pa swyddogaeth yw hi yn ôl pob golwg cyfeirio?
Pa swyddogaeth yn ddi-rym?
Felly, yn cael int cadarnhaol, ac ychydig ddryslyd yn y yn dda,
mae'n fath o ddi-rym.
Mae ganddo manyleb o ddi-rym ar gyfer ei dadleuon, ond mae ei allbwn yn mynd i
fod o fath n.
Felly y gair ar y chwith yw'r hyn a gelwir y math dychwelyd.
Mae'r gair ar y tu mewn yma yw y sero neu fwy o ddadleuon
bod swyddogaeth gymryd.
>> Felly, beth sydd angen i mi ei wneud?
Ar y pwynt hwn yn fy cod, llinell 21 lle yr anogwr amrantu yn awr yw, yr wyf yn
cael int gadarnhaol y tu mewn y newidyn a elwir yn n.
Sut ydw i'n rhoi yn ôl i brif?
Llythrennol.
Dychwelyd n colon.
>> Felly ddychwelyd darn o yr un mor Colton papur gyda ateb i mi drwy ollwng
y darn hwnnw o bapur yn y du bach blwch ar y bwrdd, i wneud hynny yn
cod, yn llythrennol dim ond ysgrifennu, yn dychwelyd n, ac mae fel pe Colton oedd
trosglwyddo rhywbeth yn ôl gorfforol mi.
Yn yr achos hwn, yr hyn sy'n digwydd yw cael int cadarnhaol yn mynd i'w roi yn ôl
beth sydd yn ôl pob tebyg yn gadarnhaol cyfanrif i bwy?
Lle mae hynny'n werth yn y pen draw?
Mae hynny'n dod i ben i fyny mewn amrywiol hwn, n, ac Yna, byddwn yn symud ymlaen gyda llinell naw.
>> Felly, mewn geiriau eraill, yn nhrefn gweithrediadau, y rhaglen hon yn dechrau
gweithredu, ac mae'r compiler sylweddoli, oh, ydych am i'r llyfrgell?
Gadewch i mi fynd yn cydio beth bynnag sydd y tu mewn i'r.
O, ydych am i'r llyfrgell IO safonol?
Gadewch i mi fynd yn cydio beth bynnag sydd y tu mewn i'r.
Beth mae'r compiler dweud iddo ef ei hun pan fydd yn cyrraedd pedair llinell?
O, chi addo i weithredu'r swyddogaeth a elwir yn cael gadarnhaol, ond
byddwn yn mynd yn ôl at hynny yn ddiweddarach, rhywbeth ar hyd y llinellau hynny.
>> Int prif gwag yn unig yn golygu dyma yn ddigon dewr o fy rhaglen.
Llinell saith yn unig yw Brace cyrliog.
Llinell wyth yn ei ddweud ar y chwith, rhowch mi 32 darnau ar gyfer cyfanrif, alw yn n.
Ar yr ochr dde, mae'n ddweud cael int cadarnhaol.
Nawr gadewch i oedi y stori honno oherwydd erbyn hyn Nid wyf yn dal i symud fy cyrchwr i lawr.
Mae fy cyrchwr yn awr yn mynd i lawr yma oherwydd awr yn cael int cadarnhaol executes.
Int n cael ei ddatgan.
Wneud y canlynol.
Printf rhoi cyfanrif positif mi.
>> Cael int gan y defnyddiwr, storio mewn n, ac efallai gwneud hyn dro ar ôl tro.
Mae'r ddolen yn golygu y gallai cod hwn gweithredu i fyny ac i lawr fel hyn eto
ac unwaith eto, ond pan fydd y defnyddiwr yn olaf cydweithio ac yn rhoi i mi cadarnhaol
int, yr wyf yn taro llinell 21, ar yr adeg y rhif yn cael ei drosglwyddo yn ôl, a pha un
dylwn dynnu sylw nawr?
Naw.
Rheoli, fel petai, yn dychwelyd i llinell naw.
Dyna'r llinell sy'n bellach wrth y llyw.
>> Felly, dyna beth sydd wedi bod yn digwydd drwy'r y tro hwn o dan y cwfl, ond
pan fyddwn wedi defnyddio swyddogaethau fel printf neu hyd yn oed yn cael llinyn bod rhywun arall
ysgrifennodd i chi, rheolaeth yn cael ei drosglwyddo llinell cod ffwrdd i rywun arall
wrth linell wrth linell.
Mae'n dim ond nid oeddem yn gallu ei weld ac rydym yn Ni allai wir yn darlunio yn y
rhaglen oherwydd ei fod mewn rhai eraill ffeil ar y ddisg galed
unbeknownst i ni.
Felly, gadewch i ni lunio mewn gwirionedd a rhedeg hyn yn awr.
>> Gwnewch yn gadarnhaol.
Llunio, mae hynny'n gynnydd.
. / Chadarnhaol.
Rhowch cyfanrif positif mi.
Gadewch i ni fod yn anodd.
Negyddol 1.
Zero.
Gadewch i ni roi 50.
Diolch am y 50, ac yn y blaen rheolaeth bellach wedi dychwelyd.
Unrhyw gwestiynau, yna, ar hynny?
Yeah?
>> [Anghlywadwy].
>> Dweud eto.
O, cwestiwn da.
Felly efallai y byddwch yn sylwi ar cyfochrog yma y Rwy'n fath o dorri cornel ar.
Yn llinell 12, i ddim yn dweud, cael int cadarnhaol dychwelyd yn int, ond erbyn yr un
rhesymeg, mae bellach yn sefyll i resymu bod yn llinell chwech, i ddim yn dweud mai prif ffurflenni
yn int, ond yr hyn mae'n rhaid i ni byth yn cael yn unrhyw un o'n rhaglenni?
Nid ydym erioed wedi clywed sôn am ffurflen hon gair allweddol.
>> Felly, mae'n ymddangos bod yn C, o leiaf y fersiwn ohono ein bod yn defnyddio
a wnaed yn 1999, yn dechnegol, mae hyn yn digwydd i chi yn awtomatig.
Anytime ydych yn gweithredu rhaglen ac rydych gweithredu swyddogaeth o'r enw phrif,
Bydd y swyddogaeth honno yn dychwelyd sero erbyn ddiofyn os nad ydych yn dweud fel arall,
a dim yn unig yw confensiwn.
Mae'r byd yn dychwelyd sero thrwy hynny sy'n dangos bod popeth yn iawn,
ni adael effeithiol gyda phedwar biliwn o bethau posibl a allai fynd
o'i le felly os byddwn yn dychwelyd un, sy'n efallai yn arwydd o cod sy'n golygu y
Aeth peth anghywir.
Gallem ddychwelyd dau, sy'n golygu Aeth y peth arall anghywir.
Gallem ddychwelyd phedwar biliwn o, a golygu Aeth y peth arall anghywir.
>> Ac os ydych yn awr yn meddwl am eich pen eich hun PC neu Mac, efallai y byddwch yn cofio bod
Weithiau, byddwch yn cael neges gwall cryptig o feddalwedd eich bod yn
defnyddio, ac weithiau mae ganddo dynol disgrifiad gyfeillgar, ond mae
yn aml cod neu nifer ar y sgrin?
Os nad yw hyn yn dod i'r meddwl, dim ond cadwch lygad allan amdano.
Dyna beth yw'r rhain fel arfer codau yn cyfeirio ati.
Maent yn cynnwys yn Microsoft Word a rhaglenni eraill, felly os ydych yn ffeilio
adroddiad nam gyda'r cwmni, gallwch dweud wrthynt, oh, Cawn gwall rhif 45.
Ac mae rhai rhaglennydd yn ôl yn y cwmni gallu edrych ar hynny yn ei
cod a dweud, oh, dyna oherwydd fy mod yn gwneud haint hwn a dyna pam y defnyddiwr
yn gweld y neges hon.
>> Ond dweud y gwir, dim ond ychydig yn tynnu sylw ac ychydig yn ddiflas i
dod i'r casgliad bod, o leiaf ar ein ychydig o raglenni gyntaf, felly rydym wedi
bod yn hepgor hynny.
Ond yr holl amser hwn bob un o'ch swyddogaethau'r prif wedi gyfrinachol oedd hyn
llinell ychwanegu'n awtomatig i chi gan y compiler, dim ond drwy gonfensiwn i
arbed amser i chi.
>> [Anghlywadwy].
>> Nid oes angen i chi ei gynnwys yn y brif.
Mae hynny'n iawn.
Mae angen i chi gynnwys os oeddech yn gweithredu swyddogaeth fel hyn.
Fel arall, y fflat swyddogaeth Ni fyddai allan yn gweithio.
Ond yn bennaf, nid yw'n angenrheidiol.
Mewn wythnos neu ddwy, byddwn yn dechrau cael i mewn i'r arfer unwaith y byddwn am ddechrau
ddynodi camgymeriadau.
Cwestiwn da iawn.
>> Egwyl lafar mor gyflym i sôn bod dydd Gwener yma, ni fyddwn yn cael cinio
fel y cyfryw, ond byddwn yn cael cinio gyda rhai o'r myfyrwyr a staff.
Os hoffech chi ymuno â ni, yn teimlo rhad ac am ddim i fynd i cs50.net/rsvp.
18:00 ddydd Gwener.
Space yw, fel bob amser, yn gyfyngedig, ond byddwn ni barhau i wneud hyn ar bron
yn wythnosol os oes lle yn dod i ben yr wythnos hon.
>> Felly mae'r Cliffhanger yr ydym yn gadael i ffwrdd ar Oedd dydd Llun y gall llinynnau mewn gwirionedd
yn cael ei fynegeio i mewn, a dim ond yn golygu eich Gellir ei gael ar y cymeriad cyntaf,
ail nod, y trydydd cymeriad ac yn y blaen, oherwydd eich bod yn gallu
meddwl yn effeithiol o gyfres, fel helo, fel yn yr achos hwn pump
llythyrau tu mewn blychau.
A gallwch gael ym mhob un o'r rheiny blychau â'r hyn chystrawen wnaethom
cyflwyno ar ddydd Llun?
Mae'r rhai cromfachau sgwâr ar eich bysellfwrdd.
Mai dim ond yn golygu mynd i leoliad sero.
>> Rydym yn dechrau cyfrif ar sero, felly braced sero arwydd h, braced un
arwydd e, ac yn y blaen.
Ac felly drwy'r amser pan fyddwn wedi bod yn ddefnyddio llinynnau a theipio i mewn "helo"
a "byd" a phethau eraill ar y sgrin, mae wedi bod yn ei storio
mewn blychau fel hyn.
Ac yn cymryd dyfalu.
Beth mae pob blwch yn cynrychioli gorfforol tu mewn eich cyfrifiadur?
>> [Anghlywadwy].
>> Mae'n ddrwg gennym?
>> Cymeriadau.
>> Felly gymeriad, yn sicr yn achos o linynnau, a chymeriad yn unig
wyth o ddarnau neu un beit.
Felly, mae'n debyg eich bod o leiaf yn fras gyfarwydd â'r ffaith bod eich
Mae cof cyfrifiadur.
Mae ganddo ddau fath o gof o leiaf.
Mae un yn y disg caled lle rydych yn arbed pethau yn barhaol, a dyna
fel arfer yn fawr er mwyn i chi gael ffilmiau a cherddoriaeth ac yn y blaen.
>> Yna mae gennych fath arall o gof enw RAM, R-A-M, Mynediad ar hap
Cof, a dyma'r math o gof sy'n cael ei ddefnyddio pan fydd eich cyfrifiadur yn
rhedeg, ond os byddwch yn colli pŵer neu eich yn marw batri, unrhyw beth sy'n cael ei storio
yn RAM yn diflannu os byddwch yn colli pŵer yn gyfan gwbl gan nad yw'n
parhaus.
Mae gennych fel arfer, y dyddiau hyn, a gig ohono, dau gigs, efallai mwy.
Ac y upside o RAM yw ei fod yn llawer llawer, llawer cyflymach na disgiau caled
neu hyd yn oed cyflwr solet gyrru y dyddiau hyn, ond mae'n nodweddiadol yn fwy drud felly
gennych lai ohono.
>> Felly sgwrs heddiw yn cyfeirio mewn gwirionedd i RAM, y math hwnnw o cof sy'n
bodoli yn unig tra mae pŵer yn cael eu bwydo i mewn i'ch cyfrifiadur.
Felly, pan fyddwch yn teipio yn H-E-L-L-O, Rhowch ar y bysellfwrdd, mae H yn mynd mewn un
beit o RAM, E yn mynd yn beit arall o RAM, fel y mae
gweddill y gair.
Felly, yn dwyn i gof yr hyn yr ydym yn gallu i wneud y tro diwethaf oedd hyn.
Gadewch i mi fynd yn ei flaen ac yn agor i fyny 'r ffeil ein bod wedi galw string.c, a dwyn i gof
ei fod yn edrych ychydig yn rhywbeth fel hyn.
Gadewch i mi mewn gwirionedd yn rholio yn ôl a newid i yn union yr hyn y mae'n edrych fel,
hyd cyfres o s.
>> Felly, edrych ar y rhaglen yma.
Rydym yn cynnwys y llyfrgell CS50 felly y gallwn ei ddefnyddio gael llinyn.
Rydym yn cynnwys io.h safonol fel y gallwn ddefnyddio printf.
Pam y gwnaethom gynnwys string.h?
Mae hyn yn newydd ddydd Llun.
Felly, yr oeddem am hyd llinyn.
Str leng.
Penderfynodd Pobl mlynedd yn ôl, gadewch i ni fod yn gryno.
Yn hytrach na galw yn "hyd llinyn," gadewch i ni ei alw'n "str leng" ac yn gadael i'r
ffigur byd y tu allan, ac felly dyna yr hyn yr ydym yn cael mynediad atynt gyda string.h.
>> Mae hyn yn gyfarwydd.
Mae hyn yn gyfarwydd.
Mae hyn ychydig yn newydd.
Yn unol 22 - a byddwn yn dod yn ôl i hyn, ond am wybod erbyn hyn -
a byddai dim ond yn gwybod hyn o gael darllen y dogfennau, neu os
eich bod yn gwybod C barod -
cael llinyn weithiau sgriw i fyny.
Os yw'r defnyddiwr yn wirioneddol wrthwynebus neu anghydweithredol ac ef neu hi dim ond
nid yw'n deipio unrhyw beth ar y bysellfwrdd neu mathau cymaint ar y bysellfwrdd sy'n
ei llethu gof y cyfrifiadur, mewn theori, yn cael y gellid dychwelyd llinyn
rhywbeth ar wahân i llinyn o gymeriadau.
Gallai dychwelyd gwerth arbennig o'r enw NULL yn yr holl gapiau, N-U-L-L, ac mae hyn yn
dim ond gwerth sentinel fel y'u gelwir.
Mae'n werth arbennig sy'n arwydd rhywbeth drwg wedi digwydd yn yr achos hwn.
Mae'n yw absenoldeb o gyfres.
>> Felly null rwy'n gwirio am yn syml fel bod, stori hir yn fyr, str leng a
swyddogaethau eraill sy'n dod gyda C, os maent yn disgwyl llinyn ond chi eu pasio
absenoldeb o gyfres, os byddwch yn pasio eu NULL, y cyfrifiadur neu'r rhaglen
fydd yn unig yn damwain llwyr.
Bydd yn hongian.
Bydd yn taflu i fyny rhywfaint o neges gwall.
Bydd pethau drwg yn digwydd.
Felly, er bod hyn yn dal i fod nid-diffinio'n dda -
Bydd hyn yn gwneud mwy o synnwyr mewn wythnos neu dau - yn unol 22, mae hyn yn unig yw
enghraifft o wirio gwall hunan-amddiffynnol rhag ofn un amser allan o'r
miliwn o rhywbeth yn mynd o'i le, yn leiaf, ni fydd fy rhaglen damwain.
>> Felly, os nad yw'n s hafal rhywbeth drwg, Mae gen i hwn am ddolen, ac roedd hyn yn
lle'r oedd ein bod eraill darn newydd o gystrawen.
Mae gen i ar gyfer dolen ailadrodd o sero ar hyd at hyd s.
Ac yna yma, roeddwn yn argraffu allan s braced i, ond pam wnes i ddefnyddio% c holl
yn sydyn yn hytrach na% s hyd yn oed er s yn llinyn?
Mae'n gymeriad, dde?
S yn llinyn, ond s braced rhywbeth, s braced i ble i yn sero
neu un neu ddau, dyna unigolyn gymeriad yn y llinyn, ac yn y blaen ar gyfer
y mae angen, printf i gael gwybod bod mae'n wir gymeriad i'w disgwyl.
>> Ac yna galw i gof, yr hyn a wnaeth hon rhaglen yn ei wneud mewn gwirionedd?
>> Argraffwyd allan mewn colofnau.
>> Yeah, yn union.
'I jyst yn argraffu y gair a deipio i mewn colofn, un cymeriad bob llinell.
Felly, gadewch i ni weld hyn eto.
Felly gwnewch yn llinyn.
Lluniwyd OK. . / Llinyn.
Gadewch i mi deipio i mewn H-E-L-L-O, Mewnbynnu, a yn wir, yr wyf yn ei gael, un ar bob llinell.
>> Felly, gadewch i mi wneud un optimization yma.
Os ydych yn meddwl am y peth, yn enwedig os ydych chi wedi rhaglennu o'r blaen, mae
gellir dadlau mae aneffeithlonrwydd yn unol 24.
Mewn geiriau eraill, nid yw'n reidrwydd y cynllun gorau.
Syml, o leiaf unwaith y byddwch cofio beth str leng yw, ond mae'n
gwneud rhywbeth fud o bosibl.
Beth allai hynny fod?
>> [Anghlywadwy].
>> Yn union.
Mae'n gwirio ar gyfer y darn o s bob tro er
H-E-L-L-O bob amser yn mynd i fod yn pum cymeriad.
Bob amser drwy ddolen hon, nid yw'r pump yn newid.
Efallai y byddaf yn incrementing i, ond beth yw hyd s ar bob
fersiwn y ddolen hon?
Mae'n pump, mae'n pump, 'i' bump, ac eto yr wyf i, er hynny yn gofyn hyn
cwestiwn eto ac eto ac eto.
Nawr dweud y gwir, mae'r cyfrifiadur mor damn gyflym, nid oes unrhyw un yn mynd i sylwi ar
gwahaniaeth yn yr achos hwn, ond mae mathau hyn o benderfyniadau dylunio gwael yn gallu
dechrau adio i fyny os yw'r compiler ei hun nad yw'n ceisio at atgyweiria hon ar eich cyfer
fel arfer byddi'n na fyddai, yn leiaf yn y peiriant.
>> Felly, yr wyf i'n mynd i wneud hyn.
Rydw i'n mynd i ychwanegu coma ar ôl fy newidyn cyntaf, i.
Rydw i'n mynd i roi fy hun un arall amrywiol, yn galw yn n, dim ond drwy
confensiwn am rifau, ac yna rwy'n mynd i aseinio n gwerth o linyn
hyd s.
Ac yna dwi'n mynd i newid fy nghyflwr i fod yn beth?
Rydw i'n mynd i newid fy nghyflwr i tra i yn llai na n.
>> Felly nawr, faint o weithiau ydw i gwirio hyd s?
Unwaith, ond mae'n iawn i wirio i yn erbyn n dro ar ôl tro oherwydd erbyn hyn y rhai
Nid yw gwerthoedd yn newid mewn gwirionedd.
Yn awr ar hyn o bryd, dim ond yn gwybod bod unrhyw adeg rydych galw swyddogaeth, mae yna ychydig o
uwchben, dim digon i atal eich wirioneddol o erioed gan ddefnyddio swyddogaethau, ond
yn sicr pan mae 'na linell o god hoffi hynny - a bydd y llinellau yn cael
yn fwy diddorol cyn bo hir - lle mae 'na gyfle i feddwl, os wyf yn
teipiwch y cod hwn, faint o bydd yr amserau yn gweithredu?
Byddwch yn dechrau gweld dros gyfnod o amser y perfformiad eich rhaglenni yn gallu
yn wir newid.
>> Yn wir, un o'r broblem hon rydym wedi wneud yn y blynyddoedd diwethaf yn golygu
gweithredu, oherwydd efallai y byddwch yn cofio wythnos sero, gwirydd sillafu, ond
sillafu gwiriwr sydd wedi'i gynllunio i gefnogi geiriadur o 150,000 a mwy
geiriau ein bod yn rhoi i chi guys.
Byddai'n rhaid i chi ysgrifennu cod sy'n llwythi geiriau hynny i mewn i RAM, felly i
blychau fel y gwelsom ar y sgrin eiliad yn ôl, ac yna fel gyflym ag y
gallu, mae angen i chi fod yn gallu ateb cwestiwn ar y ffurflen, yn y gair hwn
camsillafu?
A yw y gair hwn gamsillafu?
>> Ac yn rhywbeth fel bod yr hyn yr ydym wedi wneud yn y blynyddoedd diwethaf yn cael ei droi i mewn,
er bod hynny ar optio yn sail ddewisol, a cystadleuaeth o ryw fath, lle mae'r
myfyrwyr sy'n defnyddio'r RAM llai a llai amser, llai o gylchoedd CPU, yn y pen draw
byrlymu i fyny i ben ychydig bwrdd arweinydd neu safle yr ydym yn ei roi ar
hafan y cwrs fel rydym wedi wneud yn y blynyddoedd diwethaf.
Felly, unwaith eto, yn hollol ddewisol, ond mae hyn yn siarad at y cyfleoedd dylunio
sydd ar y blaen ar ôl i ni ddechrau adeiladu ar ben rhai o'r rhain
blociau adeiladu sylfaenol.
>> Felly, gadewch i mi fynd yn ôl at y diagram hwn ar gyfer dim ond hyn o bryd ac yn dangos ychydig
rhywbeth mwy.
Mae hyn yn wir yn llinyn, ac rydym wedi cymryd manteisio ar ychydig o lyfrgelloedd,
io.h safonol sydd wedi -
>> Printf.
>> Printf, ymhlith pethau eraill.
cs50.h, sydd wedi cael int a chael llinyn ac yn y blaen, string.h, sy'n
Roedd str leng.
Ond mae'n troi allan mae eto un arall.
A dweud y gwir, mae llawer a llawer o pennawd ffeiliau a datgan swyddogaethau
ar gyfer llyfrgelloedd, ond mae ctype.h hyn yn mewn gwirionedd yn mynd i fod braidd yn
fanteisiol oherwydd fy mod i'n mynd i fynd yn ei flaen ac yn gweithredu un
rhaglen arall yma.
>> Gadewch i mi fynd yn ei flaen ac yn agor i fyny rhywbeth Ysgrifennais o flaen llaw o'r enw
capitalize.c, a gadewch i ni gymryd golwg ar sut mae hyn yn gweithio.
Sylwa a Im 'yn arfer, yn y fersiwn ohono, tair ffeil cyfarwydd.
Sylwch fod yn llinell 18, rwy'n cael llinell o destun.
Hysbysiad yn unol 21, rwy'n honni bod y cod canlynol yn mynd i
manteisio s, beth bynnag y defnyddiwr deipio i mewn, a sut ydw i'n gwneud hynny?
Wel, dwi'n cymryd -
gwersi a ddysgwyd o bryd diwethaf -
Rwy'n datgan ia n ac ailadrodd dros y cymeriadau yn y llinyn.
Ac yna beth yw bloc hwn o cod yn unol 24 drwy 27
yn ei wneud yn nhermau lleygwr?
>> Lythrennau bach llythyr yn ôl.
>> Yn union.
Os s braced i - felly os i-fed cymeriad, sydd yn benodol
torgoch yn y llinyn, yn fwy na neu'n hafal i lythrennau bach a a -
dwyn i gof bod ampersand dwbl dynodi a -
a'r un cymeriad, s braced i, yn llai na neu'n hafal i lythrennau bach z,
mae hynny'n golygu ei fod yn a neu b neu c neu dot, dot, dot, neu z, sy'n golygu
ei fod yn llythrennau bach.
Beth ydw i am ei wneud yn yr achos?
Wel, gallaf wneud hyn braidd gryptig, ond
gadewch i ni tynnu coes hyn ar wahân.
>> Rydw i'n mynd i alw printf, printiau% c oherwydd yr wyf am i ailargraffiad yr
cymeriad ar y sgrin.
Yna yr wyf i'n mynd i gymryd s braced i, y cymeriad i-fed yn s, ac yna beth
ydw i'n gwneud hyn tric bach yma, lythrennau bach a Mae cyfalaf minws?
Beth yw bod yn mynd i roi mi, yn gyffredinol?
>> [Anghlywadwy].
>> Yn union.
Dwi ddim yn cofio -
oedd yn 65 ar gyfer cyfalaf A. Dwi ddim yn gofio beth lythrennau bach a yw,
ond ni waeth.
Mae'r cyfrifiadur yn gwybod.
Felly, drwy ddweud, lythrennau bach minws cyfalaf A, mae'n rhyfedd i fod yn
tynnu un torgoch oddi wrth y llall, ond beth yw chars o dan y cwfl?
Maent yn unig rhifau.
Felly, beth bynnag y niferoedd hynny, gadael i'r cyfrifiadur ei gofio
yn hytrach na fi y dynol.
>> Felly lythrennau bach cyfalaf minws A yn mynd i roi gwahaniaeth i mi.
Mae'n digwydd i fod yn 32, a byddai hynny'n yr achos dros llythrennau bach b a chyfalaf B
ac yn y blaen.
Mae'n aros yn gyson, diolch byth.
Felly, yr wyf ddim yn y bôn yn dweud, yn cymryd y lythrennau bach llythyr, tynnu oddi ar y
gwahaniaeth safonol, a bod effeithiol newidiadau s braced i gan
lythrennau bach i, wrth gwrs, priflythyren, heb fy wir orfod meddwl
amdanynt neu cofiwch, beth oedd y rhai niferoedd buom yn siarad am pan fydd yr wyth
Daeth gwirfoddolwyr i fyny ar y llwyfan?
Nawr yn y cyfamser, yn y arall, os nad yw'n lythyr llythrennau bach fel y penderfynwyd
gan llinell 24, dim ond ei hargraffu.
Dim ond am grybwyll y cymeriadau a oedd yn
mewn gwirionedd lythrennau bach wreiddiol.
>> Felly, gadewch i ni weld hyn.
Gwneud fanteisio.
Lluniwyd, OK.
. / Manteisio.
A gadewch i mi deipio i mewn H-E-L-L-O mewn llythrennau bach, Enter.
Ac yn sylwi ei fod yn cael ei drawsnewid i mewn i priflythyren.
Gadewch i mi wneud hyn eto gyda gair gwahanol.
Beth am D-A-V-I-D gyda D cyntaf cyfalafu fel enw fel arfer yw?
Enter.
Hysbysiad mae'n dal i fod yn gywir.
'I jyst yn outputted yn gyntaf D ddigyfnewid trwy gyfrwng y arall adeiladu.
>> Felly, yn cadw mewn cof, felly, a cwpl o bethau yma.
Un, os ydych chi erioed wedi eisiau i wirio dau amodau ar unwaith, gallwch ac yn eu
gyda'i gilydd fel ni ragwelir.
Gallwch gymharu cymeriadau yn y ffordd hon a thrin cymeriadau mor effeithiol
rhifau, ond dweud y gwir, mae hyn mor damn cryptig Nid wyf erioed i'n mynd i gofio
sut i ddod o hyd i hyn o'r dechrau heb rhesymeg drwyddo am gryn
dipyn o amser.
>> Oni fyddai wedi bod yn braf os bydd rhywun yn allan yno ysgrifennodd swyddogaeth enw yn
is a allai ateb i mi yn wir neu ffug, cymeriad hwn yn llythrennau bach?
Wel diolch byth, pwy bynnag ysgrifennodd ctype.h wnaeth yn union hynny.
Gadewch i mi fynd i fyny yma ac ychwanegu ctype ar gyfer c math, ac yn awr gad i mi fynd i lawr yma ac
ailysgrifennu'r y llinell hon fel a ganlyn.
>> Felly, os yw'n cael ei alw yn is, yr wyf yn hawlio, s braced i, yna yr wyf i'n mynd i ddileu
y ddwy linell yn gyfan gwbl.
Felly nawr rhywun arall, rwy'n gobeithio, ysgrifennodd swyddogaeth a elwir yn is, ac mae'n
troi allan eu bod yn gwneud ac maent yn datgan y tu mewn o ctype.h.
Ac yn awr yr wyf i'n mynd i adael llinell 27 ei ben ei hun, dw i'n mynd i adael llinell 31
ei ben ei hun, ond yn sylwi faint rwyf wedi tynhau fy cod.
Mae'n awr yn lanach.
Mae'n llai anodd i edrych trwy oherwydd erbyn hyn y swyddogaeth, ar ben hynny, yn
felly mae'n rhyfeddol a enwir yn unig yn gwneud yr hyn y mae'n ei ddweud.
>> Felly, yn awr yr wyf i'n mynd i achub y.
Rydw i'n mynd i chwyddo allan.
Ac yn union fel yn Scratch gallech gael Booleans, gwerthoedd Boole yn wir neu
ffug, dyna'n union yr hyn sy'n is effeithiol dychwelyd.
Gadewch i mi ail-grynhoi.
Gadewch i ail-redeg mi.
Ac yn awr gadewch i ni roi cynnig arni eto, H-E-L-L-O, Enter.
Dyna 'n bert da.
A cheisiwch eto, gwnewch yn siŵr fy mod yn Nid oedd sgriw rhywbeth i fyny.
Mae hynny'n cael ei gyfalafu hefyd.
>> Ond nid yw hyn yn ddigon da oherwydd bod y peth arall nad wyf erioed i'n mynd i
cofio oni bai fy mod yn gweithio trwy y mae mewn gwirionedd yn ofalus ar, dyweder, papur yn
y llinell hon damn.
Oni fyddai'n braf pe bai swyddogaeth alw i uwch?
Wel, mae'n troi allan bod yn ctype.h hefyd.
Rydw i'n mynd i fynd yn ei flaen a theipiwch -
gadewch i mi ddod â'r llinell ôl.
Yn hytrach na hyn yma, gadewch i mi fynd yn ei flaen a dweud, rhodder ar gyfer% y c y
ganlyniad i'r galw swyddogaeth hon i uchaf ar y i-fed cymeriad s.
Ac yn awr yn sylwi ei fod yn cael ychydig yn gytbwys.
Rhaid i mi gadw golwg ar faint o cromfachau Rwyf wedi agor ac yn cau.
>> Felly, erbyn hyn mae hyd yn oed yn lanach.
Yn awr y rhaglen hon yn mynd yn well ac yn cynllunio'n well gellid dadlau oherwydd ei fod yn
llawer, llawer mwy darllenadwy ond mae'n dim gadewch i ni gywiro.
Gwneud fanteisio.
. / Manteisio.
H-E-L-L-O. Gadewch i ni redeg unwaith eto, D-A-V-I-D. Iawn, felly rydym yn dal i fod yn
'n bert cyflwr da.
>> Ond yn awr i uchaf.
Cynigiaf fod yna un yn fwy mireinio gallem wneud a fyddai'n
neis iawn, a allai mewn gwirionedd tynhau i fyny y cod hwn ac yn wir yn rhoi pump ni
allan o bump ar gyfer dylunio, er enghraifft.
Beth y byddai'n braf i gael gwared ohono?
Wel, edrychwch pa mor damn hir y bloc o Cod yn unig i wneud rhywbeth syml.
>> Nawr wrth fynd heibio, fel y byddech yn cael gweld yn yr adran hon super gorffennol
penwythnos, nid oes angen i chi llym y braces cyrliog pan os oes gen ti un
llinell o cod, er ein bod yn cynnig cadw fel eu bod yn gwneud llawer
yn fwy clir, fel mewn U-siâp Scratch yn blociau, beth sydd tu mewn i'r gangen.
Ond ni fyddai'n braf pe uchaf, pan roddir ei fewnbwn, troi i mewn i
priflythyren os nad yw'n, a beth fyddai yn wych yn yr achos arall os
mae eisoes priflythyren?
Dim ond yn ei throsglwyddo drwy ac yn gadael ei ben ei hun.
>> Felly, efallai ei fod yn gwneud hynny.
Gallwn roi cynnig, a dim ond yn gobeithio ei fod yn ei wneud, ond gadewch i mi
gyflwyno un peth arall.
Yn hytrach na defnyddio'r adeiledig mewn terfynell ffenestr i lawr yma, dwyn i gof bod
yr eicon hwn du sgwâr yn rhoi i chi ffenestr terfynell mwy y gallaf A llawn
sgrinio os ydw i eisiau?
Felly, mae'n troi allan eu bod yn fath o rhyfedd enwebedig, ond mae pethau hyn a elwir yn
tudalennau dyn, tudalennau â llaw, dyn yn fyr, a gallaf gael mynediad i'r rhain drwy
teipio dyn -
beth ddylwn i ei eisiau i deipio?
Dyn i uchaf.
>> Ac yn awr sylwi os oes yn bodoli gweithredu tu mewn i'r cyfrifiadur, yn
yr achos hwn y peiriant, sydd ychydig y system weithredu Linux, mae'n mynd
i roi set braidd yn cryptig i mi allbwn, ond byddwch yn dod o hyd i dros gyfnod o amser y
mae bob amser yn fformatio 'n bert lawer y un fath felly i chi ddechrau dod i arfer ag ef.
Sylwch ar y brig i uchaf, a yn ôl pob golwg yr un dogfennau
am i ostwng.
Pwy bynnag ysgrifennodd oedd yn torri rhai corneli ac yn ei roi i gyd ar un dudalen.
Diben y pethau hyn yn bywyd yw i drosi
llythyr at uchaf neu llythrennau bach.
>> Hysbysiad bod dan Crynodeb, mae'r dudalen dyn yn dysgu i mi pa ffeil gen i
i gynnwys defnyddio'r y peth hyn.
Mae'n rhoi llofnodion ar gyfer y rhain i mi swyddogaethau, y ddau ohonynt, hyd yn oed
er ein bod ar hyn o bryd yn unig gofalu am un.
Dyma bellach yn ddisgrifiad.
I uchaf trosi'r llythyr c i priflythyren os yn bosibl.
>> Still nad yw addysgiadol, ond gadewch i mi yn awr yn edrych o dan werth dychwelyd, y peth
sy'n cael ei rhoi yn ôl.
Felly, y gwerth a ddychwelwyd yw bod y lythyr drosi neu c os yw'r
Nid oedd yn bosibl addasu.
Beth yw c?
>> Mae cymeriad gwreiddiol.
>> Mae cymeriad gwreiddiol ac rydym yn gwybod erbyn, unwaith eto, yn mynd i fyny at y
crynodeb, a bydd pwy bynnag ysgrifennodd y swyddogaeth yn unig penderfynu bod y mewnbwn
i i uchaf ac i yn is yn unig fympwyol yn mynd i gael ei alw c.
Gallent fod wedi ei alw y rhan fwyaf o unrhyw beth maent ei eisiau, ond maent yn cadw ei
syml â c.
Felly, yr wyf i wedi ymgynghori â'r dudalen dyn.
Mae'r ddedfryd hon yn rhoi sicrwydd i mi, os nid yw'n llythyr llythrennau bach, mae'n
mynd i dim ond rhoi i mi yn ôl c, sydd yn berffaith, sy'n golygu y gallaf gael gwared ar
fy nghyflwr arall.
>> Felly, gadewch i mi fynd yn ôl i Gedit, a nawr gadewch i mi wneud hyn.
Rydw i'n mynd i gopi fy natganiad printf.
Rydw i'n mynd i fynd yn ei flaen ac i'r dde y tu mewn y ar gyfer argraffu ddolen bod allan, a chael
gwared ar nawr cyfan hwn os lluniad.
Nid oedd yn syniad drwg, ac roedd yn iawn llawer o gywir ac yn gyson â
popeth yr ydym wedi pregethu, ond dim ond nid yn angenrheidiol.
Cyn gynted ag y byddwch yn sylweddoli rhywfaint llyfrgell swyddogaeth yn bodoli bod rhywun arall
ysgrifennu, neu efallai i chi ysgrifennu mewn mannau eraill yn y ffeil, gall ei ddefnyddio ac yn wir
dechrau dynhau'r cod.
>> A phan rwy'n dweud pethau fel dull da, y ffaith bod y person hwn a elwir yn
gweithredu i uwch, neu yn flaenorol yn isaf yn rhyfeddol o ddefnyddiol oherwydd
eu bod yn ddisgrifiadol iawn.
Na fyddech am i ffonio eich swyddogaethau x ac y a z, sydd wedi
llawer, llawer llai o ystyr.
Unrhyw gwestiynau am y gyfres honno o welliannau?
>> Felly, digon yw dweud un o'r siopau cludfwyd yn oed fel eich problem hun
set - efallai problem set un, ond yn sicr P gosod dau a ymlaen, hyd yn oed
nid pan eu bod yn gywir o reidrwydd yn golygu eu bod yn berffaith yn unig
eto, neu yn arbennig o dda-ddylunio.
Dyna yr echelin arall i dechrau meddwl am.
Felly roedd hwn yn y tu mewn llinyn o'ch cof cyfrifiadur, ond os oes gennych
criw cyfan o gymeriadau fel H-E-L-L-O tu mewn RAM, ac mae'n debyg
eich bod yn eich rhaglen ffoniwch gael llinyn sawl gwaith fel eich bod yn
ffoniwch gael llinyn unwaith, yna rydych ffoniwch gael llinyn eto.
Wel, beth sy'n mynd i yn digwydd dros gyfnod o amser?
>> Mewn geiriau eraill, os oes gennych linell o cod, er bod allan o gyd-destun, fel
llinyn s yn cael -
gadewch i ni wneud hyn.
Enw llinyn hafal cael llinyn.
Felly mae'n debyg y llinell o god a olygir gofyn i'r defnyddiwr ar gyfer ei enw.
Mae'r llinell nesaf o god i fod i ofyn y defnyddiwr ar gyfer ei ysgol, ac
y llinell nesaf, ac yn y blaen.
Tybiwch ein bod yn dal i ofyn y defnyddiwr i un arall a
llinyn arall ac un arall.
Maent yn mynd i aros yn y cof ar yr un pryd.
Nid yw un yn mynd i lusgo'i gêr y llall.
Nid yw'r ysgol yn cael ei ysgrifennu dros y llall.
Ond ble maent i gyd yn gwneud y pen draw yn y cof?
>> Wel, os byddwn yn dechrau i dynnu ar y sgrin, y gallwn eu defnyddio y peth
yma fel bwrdd sialc, os yw hyn du petryal yn cynrychioli fy cyfrifiadur
cof, dw i'n mynd i ddechrau fympwyol ei rannu i fyny i mewn sgwariau bach,
pob un ohonynt yn cynrychioli un beit o gof.
Dweud y gwir, os oes gennych gigabeit o RAM y dyddiau hyn, mae gennych biliwn bytes
y cof wrth eich cyfrifiadur, felly biliwn o sgwariau hyn.
Felly, digon yw dweud, mae hyn yn Nid mewn gwirionedd wrth raddfa.
>> Ond gallem gadw tynnu pob un o'r rhain yn amlwg nid i raddfa sgwariau, ac mae hyn yn
gyda'i gilydd yn cynrychioli cof fy cyfrifiadur.
Nawr byddwn yn unig yn gwneud dot, dot, dot.
Felly, mewn geiriau eraill, pan wyf yn awr yn annog y ddefnyddwyr gyda llinyn get i roi i mi
llinyn, beth sy'n digwydd?
Os mathau y defnyddiwr yn "helo", sy'n dod i ben i fyny yn H-E-L-L-O. Ond mae'n debyg y
Yna Mathau o ddefnyddiwr i mewn -
mewn gwirionedd, ni ddylai wyf wedi gwneud helo oherwydd ein bod yn gofyn i
iddynt am eu henwau.
Felly, gadewch i ni fynd yn ôl os alla i wneud hyn.
>> Felly os wyf yn fath yn D-A-V-I-D ar gyfer fy enw, ond yn cofio bod yr ail linell
Cod yn cael llinyn eto i gael eu hysgol.
Pa le y mae y gair hwnnw y mae'r defnyddiwr math yng mynd i fynd nesaf?
Wel, efallai ei fod yn mynd i fynd i mewn i H-A-R-V-A-R-D. Felly hyd yn oed er fy mod i wedi
tynnu fel ddwy res, mae hyn yn unig yw criw cyfan o bytes yn eich
RAM cyfrifiadur.
Mae 'na broblem yn awr oherwydd erbyn hyn os ydw i'n defnyddio RAM yn y rhesymol iawn
ond math o ffordd naïf, gall yr hyn yr ydych mae'n debyg nad gwahaniaethu?
Lle mae un yn dechrau ac yn lle un yn dod i ben, dde?
Maent yn fath o cymylu'r gyda'i gilydd.
>> Felly, mae'n troi allan y cyfrifiadur nid yw'n gwneud hyn.
Gadewch i mi mewn gwirionedd sgrolio yn ôl mewn amser a ychydig o gymeriadau, ac yn hytrach na Harvard
yn mynd yn syth ar ôl enw'r defnyddiwr, y defnyddiwr mewn gwirionedd yn cael, y tu ôl
i'r llenni, cymeriad arbennig mewnosodwyd gan y
cyfrifiadur ar gyfer ef neu hi.
/ 0, a elwir fel arall yn gymeriad NUL a elwir yn annoyingly N-U-L, nid
N-U-L-L, ond byddwch yn ysgrifennu fel / 0.
Dim ond yr holl ddarnau sero yn marciwr yn rhwng y gair cyntaf fod y defnyddiwr
teipio a'r ail.
>> Felly Harvard mewn gwirionedd yn awr yn dod i ben i fyny fel dilyniant hwn o gymeriadau
ac un yn fwy / 0.
Felly, mewn geiriau eraill, trwy gael y gwerthoedd sentinel, wyth sero cyffiniol
darnau, gallwch nawr ddechrau i wahaniaethu un cymeriad o un arall.
Felly yr holl amser hwn yr hyn a "helo" yn mewn gwirionedd yn "helo" gyda / 0, ac
yn y cyfamser, gallai fod yn dda iawn yn dipyn o ychydig yn fwy RAM
tu mewn i'r cyfrifiadur.
>> Gadewch i mi wneud un peth arall yn awr.
Mae'n troi allan bod pob un o'r sgwariau hyn rydym wedi bod yn tynnu, maent yn, ie,
llinynnau, ond yn fwy cyffredinol, mae'r pethau hyn yn arrays.
Mae amrywiaeth yn unig yw darn o gof sy'n gefn wrth gefn wrth gefn wrth gefn,
ac rydych fel arfer yn defnyddio amrywiaeth trwy y nodiant braced sgwâr.
Felly, rydym yn mynd i weld y rhain gryn dipyn dros gyfnod o amser, ond gadewch i mi fynd yn ei flaen a
agor i fyny, gadewch i ni alw yn oed.
Ac yn sylwi ar yr hyn y gallwn ei wneud gyda hyn yr un driciau, ychydig yn
ychydig mwy o gystrawen yma.
>> Felly, yn unol 17 o'r rhaglen hon - mewn gwirionedd, gadewch i mi redeg y rhaglen gyntaf
fel y gallwn weld beth mae hyn yn peth yn gwneud.
Gadewch i mi alw gwneud oed i llunio rhaglen hon.
. Oedrannau /.
Faint o bobl sydd yn yr ystafell?
Ffoniwch y tri.
Oedran y person cyntaf?
18, 19, a 20.
Ac yn awr braidd yn chwerthinllyd, Fi jyst wedi gwneud rhaglen sy'n oedrannau hynny
tri o bobl.
>> Felly, mae cyfle clir ar gyfer rhai rhifyddeg hwyl yma.
Diolch byth, y math yn gywir.
18 Aeth i 19, 19 aeth i 20 ac yn y blaen.
Ond beth sy'n olygu mewn gwirionedd i fod yn enghreifftiol dyma yw sut yr ydym yn storio
oedrannau hynny tri pobl.
Gadewch i mi chwyddo i mewn ar yr hyn sydd digwydd yma.
>> Felly, yn gyntaf, dylai'r rhain ychydig linellau cyntaf yn mynd yn eithaf cyfarwydd.
Im 'jyst yn annog y defnyddiwr ar gyfer y nifer y bobl yn yr ystafell.
Yna, Im 'yn arfer cael int ac yn gwneud amser i wneud hyn eto ac eto ac eto.
Rydym wedi gweld y patrwm hwnnw o'r blaen, ond llinell 27 yn newydd ac mewn gwirionedd yn eithaf
ddefnyddiol, a bydd yn dod yn cynyddol ddefnyddiol.
Sylwch fod yr hyn sy'n wahanol yn unol 27 yw fy mod yn ymddangos i fod yn datgan
int enw oedran, ond yn aros.
Nid dim ond oedran int.
Mae hyn cromfachau sgwâr, tu mewn sydd yn n.
>> Felly y braced n yn y cyd-destun hwn, nid tu mewn datganiad printf yma, ond
yn y llinell hon unig 27, llinell hon yn dweud, yn rhoi i mi n ints, pob un ohonynt
o int fath.
Felly mae hwn yn bwced, fel petai, o, yn yr achos hwn, mae tri cyfanrifau yn ôl i
gefn wrth gefn er mwyn i mi effeithiol cael tri newidyn.
Y dewis arall, i fod yn glir, yn hyn.
>> Os wyf am i'r myfyriwr cyntaf oedran, efallai y byddwn yn gwneud hyn.
Os wyf am i'r ail myfyriwr oed efallai y byddwn yn gwneud hyn.
Os wyf am i'r trydydd myfyriwr oedran, efallai y byddwn yn gwneud hyn.
Ac duw a'n gwaredo ni angen i bawb yn oed yn yr ystafell hon -
Yr wyf yn golygu, mae hwn yn andros o lot o gopi, past eto ac eto ac eto.
Ac yn ogystal ar ôl i mi lunio rhaglen hon, os yw'r myfyriwr arall yn cerdded i mewn ar lawr gwlad
y drws, yn awr fy rhif o newidynnau yn anghywir.
>> Felly beth sy'n neis am arae fel gynted ag y byddwch yn dechrau teimlo eich hun
copïo a gludo, groes yw bod yn nad oedd y dull gorau.
Mae amrywiaeth yn ddeinamig bosibl.
Nid wyf yn gwybod ymlaen llaw faint o bobl yn mynd i fod yn yr ystafell,
ond yr wyf yn gwybod angen i mi n ohonynt, ac yr wyf chi helpu chyfrif i maes n pan ddaw'r amser.
Mae'r llinell o god yn awr yn golygu, yn rhoi i mi darn o gof sy'n edrych fel hyn
lle mae nifer o flychau ar y sgrîn yn gwbl ddibynnol ar y n
y defnyddiwr deipio i mewn
>> Felly, yn awr y gweddill y rhaglen hon yw mewn gwirionedd yn eithaf tebyg i'r hyn yr ydym yn
yn unig oedd gyda chymeriadau.
Rhybudd gen i ar gyfer dolen gan ddechrau yn llinell 30.
Felly, i'r dde ar ôl i mi gael yr amrywiaeth, yr wyf yn ailadrodd gan y yn hafal i sero ar hyd at n.
Fi jyst cael y printf addysgiadol neges dim ond dweud, yn rhoi i mi yr oedran
o berson #% i, felly rhif un, rhif dau, rhif tri.
A pham wnes i wneud hyn?
A dweud y gwir, mae'n well gan bobl i gyfrif o un ar hyd tra bod gwyddonwyr cyfrifiadurol,
sero ar i fyny.
Nid yw gwyddonwyr cyfrifiadur yn mynd i defnyddio'r math hwn o raglen, felly rydym yn
mynd i dim ond dechrau cyfrif ar un fel pobl normal.
>> Ac yn awr yn llinell 33, sylwch ar y ychydig darn gwahanol o gystrawen.
Yr oedran i-fed yn y newidyn o'r fath amrywiaeth yn mynd i gael int.
Ac yn awr yn olaf, mae hyn yn unig yw rhifyddeg i lawr yma.
Penderfynais mewn cylch ar wahân i hawlio peth amser yn mynd heibio, ac yn awr yn y
dolen ar wahân, y llinellau hyn gweithredu.
>> Mae blwyddyn o hyn, y person bydd i yn i mlwydd oed, ond sylwi ar hwn, nid yw'r
AMRYWIOL i.
Mae hyn bellach yn% i am int.
Ac hysbysiad fel y placeholder gyntaf, yr wyf yn plwg yn i ac 1, felly rydym yn cyfrif fel
person normal.
Ac yna ar gyfer gwerth eu hoedran, er i mlwydd oed, yr wyf yn cymryd braced oedran
i - a pham ydw i'n ei wneud ynghyd ag un yma?
Maent yn unig oed.
Mae'n fy newis dwp o raglenni.
Maent yn unig yn oed un flwyddyn.
Gallwn i deipio mewn unrhyw nifer a Fi 'n weithredol eisiau yno.
>> Felly, beth sydd mewn gwirionedd yn yr holl perthnasedd yma?
Wel, gadewch i mi mewn gwirionedd sgrolio yn ôl dros yma a phaentio darlun
o'r hyn sydd o'n blaenau.
Beth fyddwn ni'n ei wneud gyda'n nesaf Set Problem Two yn dabbling yn y
byd cryptograffeg.
Felly, mae hyn yn llinyn o gymeriadau, felly mae dilyniant o chars lluosog, a beth
mae hyn yn ei ddweud?
Dyw hi ddim yn y fersiwn ar-lein o'r sleidiau.
>> Felly, yr wyf yn honni bod hyn yn hafal i hyn, mae hysbyseb dwp o flynyddoedd lawer o
yn ôl a allai fod mewn gwirionedd yn dwyn i gof un o'i darddiad.
Felly, mae hyn yn enghraifft o amgryptio neu cryptograffeg.
Mae'n troi allan, os ydych am i mewn gwirionedd yn anfon gwybodaeth neu rannu
gwybodaeth gyda rhywun yn ddiogel, fel neges fel hyn, gallwch
sgrialu y llythrennau.
Ond fel arfer, y geiriau yn Nid sgramblo ar hap.
Maent yn permuted mewn rhyw ffordd neu ei newid mewn rhyw ffordd fel bod - wps.
Dyna spoiler hwyl ar gyfer y tro nesaf.
>> Felly, gallwch fapio yr hyn sy'n debyg O i B. Sylwch fod llinellau i fyny
cyfalafu-doeth.
Mae'n debyg r yn dod yn e.
Mae'n debyg F-H-E-R yn dod yn S-U-R-E. Felly, mae'n troi allan yna mapio, ac yn
yr achos hwn, mae 'na' n bert dwp mapio oes unrhyw un wedi cyfrifedig allan?
Mae hyn yn rhywbeth a elwir yn Rot 13, Cylchdroi 13.
Dyma'r stupidest o amgryptio mecanweithiau oherwydd ei fod yn llythrennol yn unig
yn ychwanegu 13 i bob un o'r llythyrau, gwirion yn yr ystyr, os ydych yn unig
gael ychydig o amser rhydd ar eich dwylo a phensil, neu os ydych yn meddwl ei fod
trwy yn eich pen, gallech roi cynnig ar holl ychwanegiadau posibl - un, dau,
tri, dot, dot, dot, 25 i ddim ond cylchdroi y wyddor cyfan, a
yn y pen draw, byddwch yn chyfrif i maes pa neges yw hyn.
Felly, os ydych wedi gwneud rhywbeth fel hyn yn radd ysgol pasio negeseuon at eich
ffrind gorau, os yw eich ysgol radd athro dim ond ei ddarllen drwy'r
neges a 'n Ysgrublaidd orfodi ateb, efallai y byddwch wedi gotten
ateb gan hynny.
>> Yn awr, wrth gwrs, yn y byd go iawn, cryptograffeg yn fwy soffistigedig.
Mae hyn yn snippet o destun o system gyfrifiadurol sy'n cael enwau defnyddwyr a
cyfrineiriau, gan fod bron pob un o ni yn ei wneud, a mae hyn yn beth y gallai eich cyfrinair
edrych os ydych chi'n ei storio ar eich caled gyrru ond ar ffurf hamgryptio.
Nid yw hyn yn unig yw cylchdro o lythyrau, A yn B a B yw C. Mae hyn yn
llawer mwy soffistigedig, ond mae'n defnyddio yr hyn a elwir yn gyffredinol yn allweddol gyfrinach
cryptograffeg.
Mae'r darlun hwn yn dweud wrth y canlynol stori gydag ychydig o eiconau.
>> Ar y chwith, mae gennym yr hyn byddwn yn galw testun plaen.
Yn y byd o cryptograffeg, plaen testun yn unig y neges wreiddiol
a ysgrifennwyd yn Saesneg neu Ffrangeg neu unrhyw iaith o gwbl.
Os ydych am i amgryptio iddo, byddwn yn pasio ei fod yn ddarluniadol trwy clo, felly
rhyw fath o o algorithm, rhyw swyddogaeth neu raglen bod rhywun ysgrifennodd
bod scrambles y llythrennau gobeithio complicatedly fwy na dim ond ychwanegu 13
i bob un ohonynt.
>> Beth fyddwch chi'n ei gael allan o'r broses honno yn y Gelwir canol yno cyphertext.
Felly, math o air sexy.
Mae'n jyst yn golygu ei fod yn y amgryptio fersiwn o'r testun plaen.
A dim ond os oes gennych yr un gyfrinach, 13 neu finws 13, a ydych yn gallu
dadgryptio neges fel 'na.
>> Felly, yn Problem Set Dau, ymhlith y pethau byddwch yn ei wneud os bydd yn y Hacker
Argraffiad, bydd rhaid i chi ysgrifennu cod i agenna cyfrineiriau hyn, figuring
beth oedden nhw a sut y cawsant eu amgryptio, er ein bod yn rhoi ychydig i chi
o ganllawiau ar hyd y ffordd.
Yn y Argraffiad Safon, rydym yn cyflwyno ychydig o dulliau cêl-ysgrifennu, amgryptio
mecanweithiau, un o'r enw Caesar, un Gelwir Vigenere, sy'n dal
dulliau cêl-ysgrifennu cylchdro lle mae A yn dod yn rhywbeth, B yn dod yn rhywbeth, ond
rhaid i chi wneud hynny programmatically oherwydd bydd yn wir yn gyfrinach
allweddol dan sylw sydd fel arfer mae nifer neu air allweddol mai dim ond y
anfonwr a'r derbynnydd o'r rhain Dylai negeseuon deall.
>> Yn awr, mae hyn mewn gwirionedd wedi ymgnawdoliadau yn y byd go iawn.
Mae hyn, er enghraifft, yn llawer amddifad Ffoniwch decoder gyfrinachol Annie, ac rydych
mewn gwirionedd gall gweithredu'r rhain dulliau cêl-ysgrifennu cylchdro -
A dod yn rhywbeth, B yn dod yn rhywbeth - gyda chwpl o olwynion,
un ar y tu allan, un ar y tu mewn fel bod os ydych yn cylchdroi yr olwyn neu
y cylch, gallwch chi mewn gwirionedd yn llinell i fyny y llythrennau gyda gwahanol lythrennau,
cael cod gyfrinach.
Ac felly gan fod y Cliffhanger ar gyfer heddiw, hyn yr wyf yn meddwl y byddwn i'n ei wneud yw ychydig o
throwback, os byddwch yn troi ar y teledu ar 24 Rhagfyr, gallwch weld y
ffilm nauseum ad ar gyfer 24 awr yn olynol.
Ond ar gyfer heddiw, byddaf yn agor i fyny yma ac yn rhoi dim ond dau funud o ni
Stori Nadolig pedagogaidd perthnasol gydag ychydig yn gymrawd o'r enw Ralphie.
>> [VIDEO Playback]
>> -Bod yn hysbys i bawb ac amrywiol sy'n Ralph Parker yn cael ei benodi drwy hyn yn
aelod o'r Amddifad Little Annie gyfrinach cylch ac mae ganddo'r hawl i bob
yr anrhydedd a budd-daliadau hynny ddigwydd.
>> -Llofnodwyd, Orphan Annie Little.
Chydlofnodi, Pierre Andre mewn inc.
Anrhydeddau a budd-daliadau sydd eisoes yn oed o naw.
>> [GWEIDDI AR RADIO]
>> Dewch ymlaen, gadewch i ni fwrw ymlaen ag ef.
Nid oes angen i bob un sy'n jazz am I smyglwyr a môr-ladron.
>> Gwrandewch-nos yfory ar gyfer y terfynol antur y du
llong môr-ladron.
Yn awr, mae'n amser i Secret Annie Neges i chi aelodau
y cylch cudd.
Cofiwch, plant.
Dim ond aelodau o Cylch Secret Annie Gall dadgodio neges gyfrinach Annie.
Cofiwch, Annie yn dibynnu arnoch chi.
Gosodwch eich pinnau i B2.
Dyma yw'r neges.
12, 11, 2 -
>> -Yr wyf yn fy nghyfarfod cyfrinachol cyntaf.
>> -25, 14, 11, 18, 16 -
>> Oedd-Pierre yn llais mawr heno.
Gallwn ddweud neges bod heno Roedd yn bwysig iawn.
>> -3, 25.
Dyna neges gan Annie ei hun.
Cofiwch, peidiwch â dweud wrth unrhyw un.
>> -90 Eiliad yn ddiweddarach, rwy'n yn yr unig ystafell yn y tŷ lle mae bachgen o naw
Gallai eistedd yn breifat a dadgodio.
Ha, B. es i i'r nesaf.
E. Y gair cyntaf yw "fod." S. Ei fod yn dod yn haws nawr.
U. 25.
Dyna R.
>> -Dewch ar, Ralphie.
I gotta mynd.
>> -I'll fod yn iawn i lawr, Ma.
Law arni Gee.
>> -T. O. Byddwch yn siwr i.
Byddwch yn siwr i beth?
Beth oedd Little Orphan Annie yn ceisio ei ddweud?
Byddwch yn siwr i beth?
>> -Ralphie, Randy wedi mynd i fynd.
A wnewch chi os gwelwch yn dda dod allan?
>> -Mae pob hawl, Ma.
'N annhymerus' yn iawn allan.
>> -I yn dod yn nes at nawr.
Roedd y tensiwn yn ofnadwy.
Beth oedd hi?
Mae tynged y blaned gall hongian yn y fantol.
>> -Ralphie, mynd gotta Randy yn.
>> -I'll fod yn iawn ar gyfer crio yn uchel.
>> -Mae bron yno.
Fy mysedd hedfan.
Fy meddwl oedd trap dur.
Mae pob mandwll vibrated.
Yr oedd bron yn glir.
Ie, ie, ie, ie, ie.
>> -Byddwch yn siwr i yfed eich Ovaltine.
Ovaltine?
Mae fasnachol crummy?
Mab i ast.
>> [VIDEO END Playback]
>> SIARADWR 1: Mae hwn yn CS50, a bod Bydd Set Problem Dau.
Welwn ni chi wythnos nesaf.
>> SIARADWR 2: Yn y nesaf CS50, bydd hyn yn digwydd.
>> SIARADWR 1: Felly un pwnc nid ydym wedi edrych ar hyd yn hyn yn
bod o awgrymiadau swyddogaeth.
Yn awr, mae pwyntydd swyddogaeth yn unig cyfeiriad cyhoeddus
swyddogaeth, ond yn debyg iawn -
mab i -