>> [CHWARAE CERDDORIAETH]
DAVID Malan: Helo, bawb.
Mae hyn yn supersection CS50 yn.
Ni fydd adrannau neilltuo yn dechrau am wythnos arall.
Ac felly heddiw, dwi yma with--
>> MARIA: Maria.
DAVID Malan: --to mewn gwirionedd yn edrych ar broblem
sefydlu un, y cwrs wythnos gyntaf o ddeunydd,
cael chi oriented gyda IDE CS50, ychydig o Linux, y system weithredu sy'n
rhedeg ar DRhA, yn ogystal â edrych ar rai o'r pontio
o Scratch i C yn arwain hyd at broblem sefydlu un.
>> Felly, heb ado pellach, yn broblem sefydlu un,
ydych yn mynd i fod yn cyflwyno i CS50 IDE, a oedd yn
yw hyn rhaglennu ar y we amgylchedd a ddefnyddiwn er mwyn
i ysgrifennu rhaglenni.
Mae wedi ei gynllunio i edrych yn iawn atgoffa rhywun o gyfrifiadur nodweddiadol
system yn rhedeg gweithredu system o'r enw Linux.
Ond mae'n yn y cwmwl fel y'i gelwir, sy'n golygu pawb yn y dosbarth
Gall mewn gwirionedd yn cael ei gyfrif ei hun ac yn ei ddefnyddio, yn ogystal.
>> Felly, mae'r rhan fwyaf ohonoch yn ôl pob tebyg erioed wedi defnyddio amgylchedd Linux cyn neu efallai
hyd yn oed yn amgylchedd llinell orchymyn.
A llinell gorchymyn amgylchedd yn wahanol.
Mae hyn i gyd testunol.
Mae hyn i gyd orchmynion bysellfwrdd.
Ac mae'n dim mousing, dim eiconau, dim ffenestri deialog, dim bwydlenni.
Mae'n gwbl testun.
Felly ar y dechrau, mae'n fath o yn teimlo fel cam
yn ôl o ran soffistigedig.
Ond mae'n dod i ben i fyny fod yn llawer yn fwy pwerus, yn sicr,
am gwyddonydd cyfrifiadurol, yn y pen draw.
>> Felly, gadewch i ni edrych.
Dyma fi yn CS50.io, drwy lle gallwch logio i mewn i IDE CS50.
A llawer fel yn Scratch, mae ' tri maes cynradd i sgrin hon.
Felly, ar yr ochr chwith, mae gennym beth fydd y porwr ffeiliau.
Ac mae blygell hon yn top, sydd ar hyn o bryd yn wag
ers i mi cael gwared o'r holl fy ffeiliau cyn supersection.
A dyna lle rydym chi helpu cadw ffeiliau C ein bod yn ysgrifennu.
Yn y dde uchaf, mae gennym fan lle pob un o'n cod yn mynd i gael ysgrifenedig.
Ac yn wir, os wyf cliciwch ogystal hwn, mae hyn yn yn mynd i adael i mi ddewis Ffeil Newydd.
Ac yma y gallaf ddechrau ysgrifennu cod C neu, mewn gwirionedd, unrhyw nifer o ieithoedd eraill.
>> Ac yna ar y gwaelod lle mae'n Dywed jharvard @ ide50-- a chi bydd
dweud rhywbeth ychydig yn different-- beth oedd hyn a elwir yn?
Ffenestr Terminal.
Yeah.
Felly y ffenestr derfynell yn y llinell orchymyn hyn a elwir yn
rhyngwyneb trwy y gallwch ryngweithio gyda'r system weithredu sylfaenol.
Ac am y tro, rydym yn mynd i gwneud ychydig iawn o ddefnydd o this--
dim ond i lunio, i edrych ar negeseuon gwall a welwn,
ac i gynnal ein rhaglenni.
Ond yn y pen draw, rydym yn mynd i wneud hynny yn llawer mwy, yn ogystal.
A allwch chi hyd yn oed yn gosod meddalwedd a gweinyddu eich lle gwaith
o fewn CS50 IDE, yn ogystal.
Ond mwy am hynny rywbryd arall.
>> Felly gadewch i ni fynd yn ei flaen ac ysgrifennu rhaglen syml iawn yn unig
i fynd drwy cynhesu o hello.c, sydd o bosibl
y rhaglen symlaf y gallwn ei ysgrifennu.
Rwyf eisoes wedi agor tab newydd.
Rydw i'n mynd i fynd yn ei flaen a dweud gynnwys io.h. safonol
Yna int prif (ddi-rym).
Ac yna printf ("helo, byd" slaes n, dyfynnwch agos,
cromfachau agos, a hanner colon.
>> Iawn.
Felly nawr yn sylwi fy ffenestr yn heb deitl.
Felly dw i'n mynd yn gyflym iawn i fynd i fyny i File, Save.
Ac mae'n bwysig bod Rwy'n galw nad yw hyn "helo."
Felly yn gamgymeriad cyffredin iawn, yn enwedig yn broblem sefydlu un,
yw ddamweiniol yn unig ffoniwch eich rhaglen "dŵr" neu "barus" neu "Mario"
neu "credyd" neu debyg.
Ond rydych mewn gwirionedd yn awyddus i wneud yn siŵr eich bod yn cael y estyniad ffeil
oherwydd dyma'r unig ffordd y y compiler a hefyd y golygydd cod
yn gwybod eich bod yn mewn gwirionedd yn ysgrifennu cod C.
Felly gadewch i mi fynd yn ei flaen a chliciwch Save.
>> Ac yn awr, hefyd, beth CS50 IDE wedi gwneud i ni yn 'i' hefyd
Amlygodd cystrawen popeth.
Felly mae wedi gwneud popeth lliwgar iawn.
A'r holl bwrpas nid yw hynny'n ymarferol.
Dim ond i dynnu fy llygaid i gysyniadol gwahanol ddarnau
o'r rhaglen hon.
Felly gadewch i ni fynd yn ei flaen ac yn llunio hyn.
A gallaf lunio hyn mewn cwpl o ffyrdd.
Ac yn wythnos un, mae'r ffordd hen-ysgol a wnaethom
yr oedd yn llythrennol yn y "hello.c chlang." command line--
Ac yna yr wyf daro Chofnoda.
A dim byd yn ymddangos i ddigwydd yn y ffenestr terfynell.
Ond yr hyn a wnaeth newid yn y DRhA?
Lle, unwaith eto, IDE yn unig yn golygu Yr Amgylchedd Datblygu Integredig.
Mae'n ffordd ffansi o ddweud y datblygiad integredig
amgylchedd ar gyfer datblygu meddalwedd.
Felly, beth yn newid yn y UI?
Beth wnaethoch chi sylwi mae hynny'n wahanol, Maria?
>> MARIA: Sylwais rhywbeth o dan y IDE50 ffolder i fyny yma.
>> DAVID Malan: Yeah.
Felly i fyny yma, nid yn unig sydd gennym "hello.c."
Mae gennym hefyd "a.out," sydd yn fath o enw fud ar gyfer rhaglen.
Ond yn wir, mae'n yr enw diofyn ar gyfer rhaglen pan ydych yn unig lunio eich cod
ac nid ydynt yn dweud wrth y compiler pa ffeil allbwn.
Felly, os wyf eisiau rhedeg hyn, yr wyf yn Mae angen i ddweud wrth y compiler--
neu yn hytrach, mae angen i I dweud wrth y lle gwaith yr wyf yn
eisiau rhedeg y rhaglen o'r enw "a.out."
Enter.
Ac mae "helo, byd. "Erbyn hyn mae'r" ./ ".
mewn gwirionedd bwysig.
Hyd yn oed er fel arfer rydym yn unig ysgrifennu enwau o orchmynion,
pan ei fod yn rhaglen eich bod wedi ysgrifenedig, ydych chi eisiau i ddweud "./"
oherwydd dyna yn dweud yn benodol Linux eich bod eisiau rhedeg rhaglen o'r enw
"A.out" dyna yn hyn, lle dot yn golygu y cyfeiriadur hwn fy mod ar hyn o bryd
i mewn, sy'n digwydd bod yn a elwir yn lle gwaith, "a.out.
Oherwydd os wyf newydd ei ddweud "a.out," Rhowch, Rydw i'n mynd i gael "a.out gorchymyn peidio
dod o hyd "oherwydd bod y computer-- oherwydd fy mod yn dyfeisio "a.out;"
nid oedd yn dod gyda'r computer-- nid yw'n gwybod lle i chwilio amdano,
hyd yn oed er 'i' iawn dan fy nhrwyn, fel petai.
IAWN.
Felly, gallem newid hyn i fod yn "chlang -O helo hello.c."
Ac os wyf yn taro Mewnbynnu, pa raglen mae hyn yn mynd i allbwn i mi?
Beth yw enw'r ffeil?
Yeah, yn ôl.
Mae hynny'n iawn. "Helo."
Felly, "helo" yn mynd i fod enw'r rhaglen
oherwydd ein bod wedi defnyddio hyn a elwir yn ymresymiad llinell orchymyn, sydd ychydig
ffordd o newid ymddygiad y compiler i allbwn mewn gwirionedd
enw ffeil benodol.
Ac yn wir, os wyf yn chwyddo allan ac yn edrych i fyny yma,
yn awr yr wyf wedi nid yn unig "a.out" ac "Hello.c" ond hefyd yn "helo," yn ogystal.
Felly, yn awr y gallaf ei wneud "./hello," Enter.
Ac mae "helo, byd."
Ond mae lastly-- ac mae hyn yn awr yn y confensiwn
rydym yn defnyddio drwy gydol y semester, typically--
yw y gallwch hefyd jyst ddweud "helo wneud."
Ac yn wir, mae'n dweud mae i fyny hyd yma gan ei fod eisoes yn bodoli.
Gadewch i mi fynd yn ei flaen a chael gwared, gyda y gorchymyn rm, y ddau "a.out" -
ac yn dweud "tynnu a.out ffeil rheolaidd?"
Mae hynny'n ei olygu yw, a ydych siŵr eich bod am ddileu?
Rydw i'n mynd i ddweud ie.
Ac yna dwi'n mynd i gael gwared ar "Helo" ond nid "hello.c."
Rydw i'n mynd i ddweud "ie" yn benodol, ond "y" yn ddigonol, yn ogystal.
>> Ac yn awr yn sylwi os byddaf deipio ls-- sydd, galw i gof,
golygu list-- ei fod yn rhestru pob o'r ffeiliau yn fy ffolder.
Ac yn wir, os wyf yn chwyddo allan ac edrych ar top chwith,
mae'n cadarnhau bod yr hyn sydd yn y ffolder hwn, hyd yn oed
er 'i' labelu fel IDE50 fyny yma ac nid lle gwaith, dim ond "hello.c."
Felly nawr lawr yma, os wyf peidiwch "gwneud helo," Rhowch,
yn awr yr wyf yn gweld orchymyn llawer mwy o amser, ond mae gorchymyn mwy soffistigedig sy'n mynd
i fod yn ddefnyddiol yn yr wythnosau i ddod.
Ac yn awr y gallaf ddweud "./hello."
>> Felly gadewch i ni fynd ar daith gyflym rhai Linux arall gorchmynion.
Yna, pam nad ydym yn cymryd cam yn ôl ac mewn gwirionedd yn edrych ar C fwy
Yn gyffredinol, trawsnewid o Scratch i C, ac yna i ben gyda golwg
ar y broblem gyntaf a osodwyd yn C. Mae pob hawl.
Felly, yr wyf i'n mynd i fynd yn ei flaen a dim ond yn lân i fyny fy lle gwaith gyda Control-L yn unig
i gadw'r sgrîn daclus.
Ond sydd heb unrhyw swyddogaethol cael effaith fel arall.
>> Dwyn i gof bod rydym wedi gweld ychydig o orchmynion yn awr.
Felly, rydym wedi gweld chlang, sydd yn gyffredinol ydych Ni fydd yn rhaid i weithredu â llaw anymore.
Byddwn yn lle hynny yn defnyddio gwneud.
Ond rydym hefyd yn gweld ls, sy'n dangos rhestr o'r ffeiliau yn fy cyfeiriadur.
Ac yn awr pam mae there-- mae 'dau Ffeiliau yn awr, "helo" a "hello.c."
Pam mae seren neu seren ar ôl "helo"?
Beth oedd hynny yn arwydd, yn seiliedig ar yr hyn a welsom mewn un wythnos?
Beth yw eich barn?
Beth mae'r seren yn arwyddo?
>> MARIA: For-- y rhaglen "helo"?
DAVID Malan: "Helo *".
Yeah.
O, ie?
O, cyflawnadwy.
Mae hynny'n iawn.
Felly mae hynny'n golygu bod "Helo" yn weithredadwy.
Felly yn wir, dyna pam Gallaf ei wneud "./hello."
Iawn.
Felly, beth arall y gallaf ei wneud yn fan hyn?
Wel, mae'n troi allan y gallaf hefyd yn creu cyfeiriaduron.
Felly gadewch i mi fynd yn ei flaen ac yn creu, er enghraifft, yn "pset1" cyfeiriadur.
A'r fanyleb broblem a osodwyd Bydd yn rhaid i chi wneud yn union hynny,
felly nid oes rhaid i chi gofio heddiw.
Ond "pset1 mkdir" yn ymddangos i cael unrhyw effaith.
Ond unwaith eto, dim neges gwall yn gyffredinol yn beth da.
Felly, os wyf yn teipio "ls" now-- AH, yn awr Mae gen i ffeil weithredadwy enw
"Helo," ffeil C o'r enw "hello.c."
Ac yna y slaes sy'n llusgo, felly i siarad, yn golygu bod hyn yn gyfeiriadur.
>> Felly yn wir, yn awr yr wyf am i agor.
Ac nid wyf yn ddwywaith cliciwch arno fel mewn GUI, amgylchedd graffigol.
Rwyf yn lle hynny yn dweud "pset1 cd."
Enter.
Dim byd diddorol yn ymddangos i gael digwydd ac eithrio fy brydlon bach
Yma-- hyn yn ffordd Linux o atgoffa mi lle yr wyf, felly beth ffolder ar agor.
Dim ond ei fod yn dweud wrthyf yn benodol yn hytrach na ffurf graffeg.
Ac os wyf yn teipio "ls," pam ydw i'n gweld un arall brydlon ar unwaith, yn eich barn chi,
pan fyddaf yn rhestru cynnwys pset1?
MARIA: Rydych yn debyg nad yn ei wneud gennych unrhyw beth i mewn 'na.
DAVID Malan: Yeah.
Felly, yna nid ydym wedi amlwg creu unrhyw beth i mewn 'na
oherwydd fy mod newydd ei greu cyfeiriadur.
Yn awr, os wyf eisiau creu file-- am enghraifft, gallwn greu ffeil newydd.
Ac yna gallwn fynd i Arbed a'i gadw fel,
fel, "mario.c" os ydych chi'n ei wneud rhifyn safonol pset un.
Ac yna, fel unrhyw Mac neu PC, dim ond dewiswch y ffolder "pset1, Save.
Ac yn awr y ffeil yn wag.
Ond gadewch i ni chwyddo i mewn eto am eiliad.
Gadewch i ni wneud ls yma.
Nawr rydym yn gweld "mario.c".
>> Felly mae yna ychydig o orchmynion eraill sy'n Mae'n werth cadw mewn cof dros adeg--
yn glir, neu Control-L yw hyn yr wyf i wedi bod yn taro; mkdir rydym wedi gweld;
rm rydym wedi gweld, yn ogystal, sef ar gyfer symud neu ddileu ffeil.
Byddwch yn ofalus, gallwch also-- ac os ydych yn edrych mewn sesiynau tiwtorial ar-lein, byddwch yn Yst -rf
yn ffordd gyffredin iawn o ddweud dileu ffolder sydd wedi stwff ynddo.
Dim ond yn super, super ofalus.
-rf golygu recursively ddileu beth bynnag
ydych yn ceisio dileu ac rymus ddileu.
Felly dulliau recursive os yw'n ffolder gyda ffolder gyda ffolder gyda ffolder,
dileu pob un ohonynt.
Ac rymus yn golygu ddim hyd yn oed gofyn i mi ydw neu nac ydw, a wyf yn siŵr?
Felly mae'n ffordd super peryglus o dileu llawer o bethau yn gyflym.
Ond yn beware-- rhy aml yn gwneud yn dewr myfyriwr yn ddamweiniol dileu, dyweder, pset
un, er enghraifft.
>> MARIA: Ac os byddant yn unig gwneud -R, maent yn mynd
i ofyn iddynt am bob ffeil.
>> DAVID Malan: Pa un yw gymharol blino.
>> MARIA: Yeah.
>> DAVID Malan: Felly dyna pam cymaint ohonom, hunan yn cynnwys,
wyf yn yr arfer o ddefnyddio -rf.
Ond mae'n beryglus.
Felly byddwch yn ofalus prynwr.
Ac yna mv yn fath o enwir ddiddorol.
Felly, mae hyn yn symud gorchymyn, sy'n teimlo ychydig yn od
oherwydd gallwch yn wir ei ddefnyddio i symud ffeiliau o un lle i'r llall.
Er enghraifft, mae'n debyg fy mod yn smonach.
Tybiwch fod wyf yn creu ffeil newydd ar gyfer y pset.
Ac yr wyf yn arbed fel "greedy.c."
Ond mae'n debyg fy mod yn ddamweiniol ei gadw yn IDE50-- hynny yn fy lle gwaith ei hun
ac nid mewn pset1.
>> Gallwch weld cymaint ar dop chwith.
Mae "greedy.c."
Ac mae ychydig o atebion.
Felly un, gallaf ddefnyddio'r ffordd hawdd ei ddefnyddio super
o ychydig llusgo a gollwng hi.
A byddai hynny mewn gwirionedd atgyweiria hon broblem.
Ond heddiw, rydym yn ceisio i edrych ar y ffyrdd mwy dirgel ond pwerus
o wneud hyn.
Felly gadewch i mi gymryd "ls" yn pset1.
Ac yr wyf yn gweld "mario.c."
Gadewch i mi fynd yn ei flaen ac yn gwneud "cd ..".
Felly CD eto yn gyfeiriadur newid.
".." Yn golygu yr hyn, er bod?
Y tro diwethaf dywedais "cd pset1 "i fynd i mewn i pset1.
Felly, pan fyddaf yn dweud "cd ..", beth ydw i'n ei wneud?
Backwards.
Yeah.
>> Felly mae'n mynd at y rhiant fel y'u gelwir.
Ewch un lefel i fyny, fel cyffrous allan o ffolder.
Felly Enter.
Ac yn wir, yn edrych yr hyn a wnaeth ef.
Symudodd i mi jyst i mewn lle gwaith yn lle hynny o mewn i pset1, sydd mewn llefydd gwaith.
Ac yn awr os wyf yn teipio "ls", mae criw cyfan o bethau.
Yn oes "greedy.c".
Felly nawr gadewch i mi ddefnyddio mv i llythrennol symud "greedy.c" i mewn i pset1.
Ac felly mae llawer o Linux orchmynion gweithio yn union fel hyn.
Maent yn cymryd unrhyw ddadleuon neu maent yn cymryd un dadl neu eu bod yn cymryd dwy llinell orchymyn
dadleuon ac yn y blaen.
Ac yn yr achos hwn, mae'n gwneud yn llythrennol beth
y mae'n ei ddweud, er succinctly-- yn symud i mewn i greedy.c pset1.
Enter.
Nid oes dim yn digwydd wedyn.
Ond os wyf yn gwneud ls eto, barus wedi mynd.
Ac os wyf yn gwneud "pset1 cd", Mewnbynnu, ac yna ls eto, erbyn hyn mae yn y lle iawn.
Fel o'r neilltu, os am rhai reason-- arbennig
os oes gennych ysbeidiol cysylltedd rhwydwaith
neu os ydych yn cerdded o gwmpas campws gyda'ch clawr y gliniadur
gau ac yna agor i fyny unwaith eto a bod eich lle gwaith
ymddangos braidd allan o sync, dim llawer mawr.
Dim ond ail-lwytho eich porwr ffenestr, ac y dylai
resync fel bod y chwith file porwr edrych yn union
fel y ffenestr terfynell.
Beidio â phoeni.
Pan fyddwch mewn amheuaeth, ail-lwytho'r dudalen, felly ar yr amod eich bod wedi arbed y ffeiliau yn barod.
IAWN.
Felly gall mv hefyd ei ddefnyddio i ail-enwi ffeiliau.
A gadewch i ni edrych ar y gorchymyn terfynol yma.
Felly suppose-- ac mae hyn yn super gyffredin, hefyd, yn gynnar.
Mae rhai myfyrwyr yn achlysurol creu ffeil alw, gadewch i ni say-- beth sy'n un arall?
Fel "WATER.C."
Felly byddaf jyst gweiddi, ar gyfer unrhyw reswm, yn yr holl gapiau.
Ond nid yw hyn yn enw cywir ar gyfer y ffeil
os mai dim ond oherwydd bod ein problem a osodwyd Nid yw manyleb wnaethoch ddweud wrthych chi
i achub y ffeil fel ag yr holl gapiau "WATER.C."
Yn lle hynny, rydym yn disgwyl "Water.c" mewn llythrennau bach.
Ac, mewn gwirionedd, mae hyn yn gan fod check50 problemus,
rhaglen rydych yn mynd i gyfarfod yn broblem
gosod un sy'n profi awtomatig cywirdeb eich cod
yn mynd i gweiddi ar chi os na all dod o hyd i "water.c" ym mhob llythrennau bach.
>> Felly, mae angen i mi atgyweiria hon.
Felly, mae llawer o ffyrdd gwahanol i'r yn gwneud hyn, y cyntaf o'r rhain
fyddai i Reoli-glicio neu dde-glicio enw'r ffeil a dim ond newid Rename.
Hollol iawn i wneud hynny.
Ond unwaith eto, heddiw, gadewch i ni yn ei wneud ychydig yn ffansi.
Gadewch i ni ddefnyddio mv i newid "WATER.C" i "water.c."
Felly gallwch hefyd ddefnyddio'r ddadl gyntaf i ailenwi'r i'r ail ddadl
os nad yw, yr ail ddadl yw mewn wir, a folder neu enw cyfeiriadur.
>> Iawn.
Ac yn olaf, ychydig o trick-- felly rwy'n mewn fy cyfeiriadur lle gwaith ar hyn o bryd.
Os ydw i eisiau mynd i mewn i pset un, Yn sicr, gallaf deipio "pset1 cd."
Ond mae mor ddiflas i deipio "pset1" neu hirach enwau ffeiliau neu enwau cyfeiriadur
o hyd.
Felly, yn aml iawn yn Linux, beth y gallwch ei wneud yw dechrau teipio "ABCh"
a dim ond yn diflasu, taro Tab, a gadewch y ffigur cyfrifiadur allan i chi.
Super ddefnyddiol i fynd i mewn y arferiad.
Yr unig dal yw os oes gennych ffeiliau neu ffolderi lluosog cychwyn
â'r llythyren "t" neu "Ps," a allai fod gennych
teipio ychydig mwy cyn y cyfrifiadur yn gwybod beth i'w wneud.
>> MARIA: Rydym yn hoffi llwybrau byr.
>> DAVID Malan: Bydd hyn yn arbed cymaint o amser i chi.
A hefyd, fel y dywedasom yn y ddarlith, chi Gall sgrolio i fyny mewn hanes, i fyny ac i lawr,
i ddod o hyd ddienyddio yn ddiweddar gorchmynion, yn ogystal.
Iawn.
Felly nawr, gadewch i ni droi ein sylw yn ôl i raglen syml, helo byd.
Felly, rydym wedi llunio hyn yn union.
Ac yn awr nid pam yr ydym yn cymryd yn edrych ar y mathau data
ac yna pontio o rai blociau Scratch cyfateb i C.
MARIA: Awesome.
Felly nawr eich bod wedi dechrau ysgrifennu rhaglenni yn C,
rydyn ni'n mynd i ddechrau siarad am fathau data a newidynnau.
Felly, mae rhai mathau o ddata y byddwch yn Byddai eisiau gwybod dechrau nawr
yw'r rhai sy'n cael eu hamlygu mewn glas.
Felly mae gennym int cyntaf, sy'n sefyll am gyfanrif.
A bod yn dal gyfanrifau, wrth i chi Efallai y bydd rhaid guessed-- felly 1, 2, 3,
ac unrhyw cyfanrifau eraill y gallwch feddwl amdano.
>> DAVID Malan: A hefyd negyddol.
>> MARIA: A hefyd rhai negyddol, yep.
A 0.
Yna, mae gennym fflotiau, a oedd yn yn arnofio rhifau pwynt.
Felly dyna i gyd y rhifau real sydd â phwyntiau degol.
Felly 5.0, 5.2, a hyd yn oed yn fwy digidau ar ôl y pwynt degol,
yn ogystal, ac mae hefyd yn rhai negyddol.
Yna, mae gennym golosg sydd yn gymeriad.
Felly, yr wyf yn meddwl buom yn siarad am hyn mewn darlith heddiw.
Ond mae gennym llythyrau, am example-- A, B, C-- gellir eu storio fel torgoch.
Ond yna mae gennym lawer mwy o symbolau gellir eu storio fel torgoch.
A'r rhai yn cael eu storio fel ASCII.
>> Ac yna rydym wedi bool, sy'n cael eu Booleans.
A'r rhai gwerthuso i Gwir neu Ffug neu 1 a 0, yn y drefn honno.
DAVID Malan: A dwyn i gof sy'n bool yn dod o'r llyfrgell CS50.
Felly, nid yw'n hadeiladu i mewn C, ond mae'n super ddefnyddiol
i gael y syniad o gwir a ffug.
A hyd yn oed er eich bod Efallai think-- ffaith hwyl.
Mae bool yn dechnegol mae angen faint o ddarnau, yn wir, i gynrychioli Gwir yn erbyn Anghywir?
Faint o ddarnau yn eich barn chi byddai angen i chi, maximally?
Yeah, dim ond un.
Felly, mae'n troi allan y C Ni all roi dim ond un did i chi.
Mae'r uned leiaf o fesur allwch gael yw wyth.
Felly mae'n ychydig gwastraffus maent rydych yn gan ddefnyddio beit cyfan, neu wyth did,
i gynrychioli Gwir neu Gau.
Ond dyna dim ond y ffordd mae'n rhoi ar waith yn C gan y llyfrgell CS50.
MARIA: Ac yna y rhai yr ydym ni'n Nid yw mynd i siarad am mor helaeth
i'r dde now-- dwbl, mae hynny'n fflotiau mwy.
Hir hir a byr hefyd i gyfanrifau.
DAVID Malan: Yn wir.
Yn y rhifyn haciwr o pset un, rydym yn ei ddefnyddio hir hir.
Ond ar gyfer y rhifyn safonol, Ni ddylai fod yn angenrheidiol.
MARIA: Cool.
IAWN.
Felly operators-- dylech fod yn ôl pob tebyg yn gyfarwydd â'r rhan fwyaf o'r rhain.
Hefyd, +; tynnu, -.
Ar gyfer lluosi, mae gennym y *.
Felly, nid yw'r X yr ydym fel arfer yn defnyddio.
Yr Is-adran, mae gennym y slaes.
Ac mae modulo yw ein gweithredwr diwethaf fod rydym yn mynd i siarad am ar hyn o bryd.
Mae'n gweithredydd sy'n caniatáu i ni cymryd gweddill adran.
Felly, os ydym wedi 4% 2, 4 wedi'i rannu erbyn 2 yw 2 gyda gweddill 0.
Felly 4% 2 yw 0.
4% 3 yn 1.
4% 5 yw 4, gan y gallech wedi dyfalu.
A chofiwch wrth ddefnyddio'r pob un o'r rhain gweithredwyr i ddefnyddio'r rheolau PEMDAS.
>> DAVID Malan: Felly, i fod yn glir, os ydych gwneud 4% 2, pam yw bod 0, yn union?
>> MARIA: Achos 4 rannu gan 2 yw 2 gyda gweddill 0.
Felly modulo yn rhoi y gweddill â ni gwrthwynebu i'r canlyniad yr is-adran.
DAVID Malan: Ac yn wir, yr hyn y byddwn yn gweld hyn yn ddefnyddiol
i yw bod mewn rhai problemau nid yw hynny o reidrwydd yn un,
os ydych am gael y effaith o gyfyngu eich hun
i ystod o rifau fel 0 drwy rywbeth,
gallwch ddefnyddio modulo i lapio o gwmpas gynharach nag fel yr 2000000000
neu mae'r 4 biliwn a gwerth y rydym wedi trafod yn y ddarlith.
>> MARIA: Yeah.
A hyd yn oed yn "barus" gallem.
DAVID Malan: Oes, yn problem sefydlu un, yn ogystal.
MARIA: Yeah, 'n glws.
DAVID Malan: awgrym da.
MARIA: Mae'n ddrwg gennyf.
Boolean expressions-- felly ar gyfer gweithredwyr Boole,
rydym yn mynd i siarad am yr holl y bod y rhain a welwch yma.
Felly ar hyn o bryd, mae gennym ddau arwyddion cyfartal a restrwyd ar gyfer gyfartal.
Felly, y rhai ar gyfer cymharu.
Hyd yn hyn, rydym wedi gweld dim ond un arwydd hafal.
Dyna pryd yr ydym yn neilltuo gwerth i newidyn.
Felly, os ydym wedi gweld int n = 5, ac yna rydym wedi neilltuo 5 i n amrywiol.
Ond os ydym eisiau defnyddio == am cymhariaeth, gallwn gadarnhau a oes n == 5.
Ac os n == 5, yna mae hynny'n wir.
>> Gweithredwyr Felly Boolean caniatáu i ni, yn y bôn,
i werthuso Boolean ymadroddion i Gwir neu Gau.
Felly nid equals-- gennym y ebychnod a gydradd.
Felly, gallem hefyd gadarnhau a oes n nid yw'n gyfartal 5-- felly n! = 5.
Llai na, llai na neu'n hafal i, fwy na, fwy na neu'n hafal i,
ac yna mae gennym y rhesymegol A a'r rhesymegol OR.
A'r rhai yn ein galluogi i werthuso ymadroddion Boole lluosog at ei gilydd
i ddod at ei gilydd fel y bôn un mynegiad Boole cyfan.
Felly, os ydym am ddod o hyd i rif, yn dweud, sy'n fwy na 5 ond yn llai na 15
ar yr un pryd, byddem yn defnyddio'r rhesymegol AC gweithredwr i weld a yw n yw
sy'n fwy na 5 && n llai na 15.
DAVID Malan: Ac yma, hefyd, mae'n hawdd iawn
gynnar i ddamweiniol Defnyddiwch dim ond ampersand sengl
neu far fertigol sengl.
A gobeithio y bydd compiler gweiddi ar chi oherwydd eu bod mewn gwirionedd
ag ystyr gwahanol iawn.
Ar gyfer y rhai chwilfrydig, maen nhw'n a ddefnyddir ar gyfer gweithrediadau bitwise,
gweithredu ar ddarnau unigol.
Ond chi ei wneud am i'r pâr ohonynt yma.
A super bwysig yw bod un cyntaf, yr arwydd cyfartal,
sef y gweithredwr cydraddoldeb fel hytrach na'r gweithredwr aseiniad.
>> MARIA: A'r bar fertigol yn lleoli rhwng y Delete a Dychwelyd.
DAVID Malan: Ydw.
Ar nodweddiadol bysellfwrdd Unol Daleithiau.
>> MARIA: Yep.
Felly gadewch i ni neidio i'r dde i mewn Datganiadau amodol.
Yn Scratch, eich bod wedi weld yn barod, yn ôl pob tebyg,
os datganiadau sy'n eich galluogi i gadarnhau a oes rhywbeth yn wir, yna
gwneud rhywbeth arall.
Felly, efallai y byddwch wedi bod eisiau i wirio a yw eich corlun yn
cyffwrdd rhyw corlun arall neu y ffin o'r sgrin.
Ac yna efallai y byddwch wedi bod yn awyddus i terfyn ar y gêm, neu wneud rhywbeth arall.
Felly mae'r cystrawen ar gyfer hynny yw "os (cyflwr)."
Felly os yw eich corlun yn cyffwrdd rhywbeth, yna peidiwch yw tu mewn i'r braces cyrliog.
>> Yna, mae gennym ddatganiadau os-arall.
Else yn caniatáu i ni wneud rhywbeth os yw'r cyflwr yr ydym
yw'n edrych am yn y dechrau yn wir.
Felly, os y corlun yn cyffwrdd y border yn gwneud hyn, arall yn gwneud rhywbeth arall.
Felly, fel arall yn gwneud rhywbeth arall.
Yna, mae gennym enghraifft fer ar gyfer hyn.
Felly os (military_time <12), rydym yn eisiau printf "Bore da!"
Arall rydyn ni'n mynd i printf "Noswaith dda!"
Enghraifft Sylfaenol.
>> DAVID Malan: Da.
>> MARIA: Cool.
Felly, erbyn hyn mae gennym ddatganiadau switsh.
Datganiadau mewn tun gyffredinol Switch yn ein galluogi i wneud llawer o'r un peth
yr ydym newydd ei siarad am â os ddatganiadau.
Er enghraifft, ar hyn o bryd mae gennym y ffurf cyffredinol y datganiad switsh
sy'n ein galluogi i gymryd newidyn a elwir yn n
a'i gymharu i lawer o gwahanol werthoedd, sy'n dyma ni
wedi galw constant1, constant2.
Efallai y byddwn yn cael llawer mwy.
A gelwir y rhai yn achosion.
>> Felly, os oes gennym switsh statement-- ac mae hyn yn gweithio
dim ond ar gyfer integers-- gennym newidyn yn yr achos hwn mae hynny'n n.
Os bydd y n amrywio yn cyfartal i constant1, rydym yn
Bydd gweithredu rhyw snippet o god neu rhywbeth yr ydym am ei wneud.
Ac yna byddem yn torri.
Felly y toriad yn golygu bod y datganiad switsh
Bydd rhoi'r gorau i weithredu os n yn hafal i constant1,
ac yna bydd eich rhaglen yn parhau.
Bydd yn gadael allan o'r newid datganiad ac mae'n chi helpu
parhau i wneud rhywbeth arall.
>> Os, fodd bynnag, nid yw'n n gyfartal constant1, yna achos dros constant2
yn cael eu gwirio.
Felly, os n hafal constant2, hynny arall Bydd snippet cod gael eu gweithredu.
Ac yna bydd yn torri os yw hynny'n gyfartal iddo.
Ac yna gallwn gael also-- nid o reidrwydd, though-- achos diofyn,
a fydd yn digwydd os nad yw'n n gyfartal unrhyw un o'r achosion yr ydych wedi'u rhestru.
Ac yn yr achos ball, rydym hefyd yn Nid oes angen seibiant o reidrwydd
oherwydd bydd y datganiad switsh yn gwybod bod angen iddo i ben ar ôl 'r ball
achos os yw hynny'n wir.
>> DAVID Malan: Ond yn arddull, rydym bob amser yn ei roi mewn 'na.
>> MARIA: Yeah.
>> DAVID Malan: Yeah.
Felly, yn enwedig wrth ddechrau allan, yn enwedig os ymhlith y rhai llai
cyfforddus, Hoffwn yn bersonol dim ond yn argymell aros gyda'r IFS
ac IFS-elses ac os-arall-os-elses ac yn y blaen os mai dim ond
oherwydd eu bod ychydig yn yn symlach.
Mae hwn yn Optimization braf, neu weithiau hyd yn oed esthetaidd ei
gwneud y cod fwy darllenadwy.
Ac yn wir, yn ôl pob tebyg canol-semester byddwn yn gweld problem
gosod ble 'i jyst yn edrych yn well ac yn haws i'w ddarllen gyfer y bobl
drwy ddefnyddio datganiad switsh.
Ond peidiwch â phoeni am glynu at hyn yn rhy gynnar.
>> MARIA: Yeah.
Os oes gennych lawer o os ddatganiadau, dim ond nid allai fod yn ddarllenadwy iawn.
Efallai na fydd yn gyflym iawn i chi fynd drwyddo.
Felly newid ddatganiadau y gall fod yn ddefnyddiol iawn, yn ogystal.
A hefyd, peidiwch â remember-- peidiwch anghofio rhoi egwyl i mewn 'na.
>> DAVID Malan: Ddim yn cofio hyn.
>> MARIA: Gan fod yna efallai y byddwch yn dod o drwy o un achos i'r llall.
Felly, gadewch i ni ddweud bod constant1 achos Nid oedd gennych ddatganiad toriad ynddi.
Yna, efallai y byddwn yn syrthio trwy constant2 achosion y tu mewn.
Ac nid ydym am wneud hynny, os rydym eisoes wedi cyrraedd constant1 achos
ac mae'n hafal i'r n.
>> Felly, er enghraifft, os oes gennym newidyn n sy'n cynnwys nifer ddosbarth,
ac yr ydym am weld beth sy'n dosbarth yw-- os n hafal 50,
ydym yn mynd i argraffu "CS50 yn Cyflwyniad i Cyfrifiadureg I. "
Yna, rydym yn mynd i dorri.
A dyna ni.
Os, fodd bynnag, n yn gyfartal i 51, rydym yn mynd
i argraffu "CS51 yw Cyflwyniad i Cyfrifiadureg II. "
Yna, unwaith eto, rydym yn mynd i dorri.
Fodd bynnag, os hynny rydym yn rhoi 124, 61, unrhyw Rhif arall y byddech yn ei feddwl am,
neu beidio rhaglen yn mynd i gydnabod hynny.
Felly, mae'n mynd i ddweud, "Mae'n ddrwg gennym, rwy'n nad ydynt yn gyfarwydd â'r dosbarth hwnnw. "
Ac mae'n mynd i dorri.
DAVID Malan: Felly, gallwch chi wir yn gweld mae'r os, arall os, arall syniad yma.
Mae'n cystrawen jyst yn wahanol ar gyfer fynegi'r un syniad union.
>> MARIA: Yn union.
Nawr rydym wedi ein gweithredwyr teiran.
Gweithredwyr Felly teiran cael tri parts-- amod,
rhywbeth i'w wneud os amod hwnnw yn wir,
ac yna rhywbeth i'w wneud os yw cyflwr sy'n anwir.
Felly, byddwch yn gweld, yn y bôn, cystrawen hynny yma.
Mae gennym y marc cwestiwn, a Yna the-- beth ydym yn galw hyn?
DAVID Malan: Y colon.
MARIA: Colon.
Diolch.
Mae'n ddrwg gennym.
Felly gadewch i ni edrych ar ein esiampl i weld a allwn ni wneud synnwyr o this--
== class_num 50.
Felly dyma ni weld ein gweithredwr Boole == sy'n cymharu class_num amrywiol
i 50.
Siopau Felly class_num yn gyfanrif.
Ac os y cyfanrif yn hafal i 50, yna rydym yn
mynd i storio "David Malan" y tu mewn i'r athro llinyn.
Os nad yw rhif y dosbarth yn gwneud yn gyfartal 50, "Nid yw David Malan"
yn mynd i fod yr athro.
>> DAVID Malan: Diolch yn fawr.
Ac felly mae hyn yn ymddangos cyfateb i beth, fyddech chi'n dweud, ar yr olwg gyntaf?
>> MARIA: I mi mae'n ymddangos fel arall-os ddatganiadau.
>> DAVID Malan: Yeah.
Ac yn wir, mae hyn yn garedig o 'n bert un leinin,
fel petai, ar gyfer gweithredu yn union y rhesymeg os-arall
ond gwneud popeth mewn un cam.
>> MARIA: Yn union.
Yeah.
Felly, os-arall ddatganiadau gallai cymryd llawer o le.
Efallai eu bod yn rhy hir am rhywbeth mor syml â hyn.
Felly gall hyn fod yn iawn cryno a iawn 'n glws.
Felly nawr rydym yn mynd i mewn i edrych ar gweithredu rhywbeth eto ac eto,
felly wirio am cyflwr sawl gwaith
ac yna barhau i wneud rhywbeth tra bod amod hwnnw yn wir.
Felly, mae hyn yn dod â ni 'n glws i mewn i dolennau tra.
>> I'r chwith, mae gennym ein dolen tra gyntaf.
Felly, er rhywbeth yn wir, yn gwneud rhywbeth eto ac eto.
Felly gwnewch yn siwr i hysbysiad bod ein cyflwr yma cael ei ddilysu ar y brig.
Tra gyda'n hail loop-- rydym yn galw bod gwneud-tra loop-- ni wneud rhywbeth,
Yna, rydym yn gwirio ar gyfer cyflwr.
Ac os amod hwnnw yn parhau i fod yn wir,
rydym yn mynd yn ôl ac yn gwneud y peth eto.
Felly, y prif wahaniaeth yw lle y cyflwr yn cael ei wirio ar gyfer.
Ac efallai y bydd y cod byth yn ddienyddio os nad yw'r cyflwr yn
yn wir gyda'r ddolen tra.
Tra gyda'r do-tra dolen, mae gennym y cod
sydd bob amser yn cael ei gyflawni o leiaf unwaith.
Ac yna tra bod y cyflwr yn parhau i fod yn wir,
gallwn fynd yn ôl a ailadrodd unwaith eto y tu mewn.
Felly pam yn eich barn chi byddem yn defnyddio a gwneud-tra ddolen dros dolen tra?
Hawl.
Felly os ydym am annog y defnyddwyr ar gyfer rhyw fath o fewnbwn,
os ydym am ofyn iddynt i fynd i mewn eu henw,
rydym am o leiaf ofyn iddynt unwaith.
Ac os ydynt yn mynd i mewn a enwa, nid ydym yn
mynd i ofyn iddynt eto gan ein bod eisoes yn gwybod ei fod.
Ond os nad ydynt yn mynd i mewn eu henw, neu os ydynt
mynd i mewn rhywbeth sy'n Yn amlwg, nid enw,
rydym yn dal yn awyddus i barhau gofyn iddynt ar gyfer eu henw.
>> DAVID Malan: Ac yn y ddarlith oedd gennym un fel hyn gyda'r cael int cadarnhaol
enghraifft, lle does dim byd i gwirio ar y dechrau oherwydd nad ydych wedi hyd yn oed
gotten yn int.
Felly rydym am ei wneud this-- cael int gan y user--
yna ei wirio, efallai, dro ar ôl tro ar ôl tro.
>> MARIA: Yn union.
Ar gyfer OK loops--.
Ar gyfer y gall dolenni yn ein galluogi i wneud bron yr un peth yn union, yn ogystal.
Mae'n mewn gwirionedd yr un peth yn union.
Felly does dim byd sy'n gallwch ei wneud gyda gyfer dolenni
na fyddech yn gallu i'w wneud gyda dolenni tra.
Ond ar gyfer dolenni yn ymddangos ychydig yn ychydig yn fwy cymhleth syntactically
oherwydd bod ganddynt tair rhan y tu mewn yr hyn
oedd cyn dim ond y cyflwr gyda dolenni tra.
Felly, y rhan gyntaf eich bod yn y môr, y chwith-fwyaf, rydym wedi "int dwarves = 0."
Felly, dyma lle yr ydym ymgychwyn ein amrywiol.
>> Yna, mae gennym hanner colon a "dwarves <7."
Felly dyma lle allan cyflwr mewn gwirionedd.
Felly dyna beth y byddem yn cael rhoi yn unig yn y tra loop--
"Tra dwarves <7."
Yma, sy'n mynd yn y nghanol ein gyfer dolen.
Felly, "dwaves <7."
Ac yna mae ein rhan olaf yw "dwarves ++," a dyna lle rydym yn diweddaru ein amrywiol.
Felly, y peth pwysig i sylweddoli yw bod hyn
yn mynd i fynd drwy hyn ar gyfer dolen saith gwaith a gweithredu saith gwaith.
Felly mae gennym saith dwarves, ac maen nhw i gyd
yn mynd i ddweud, "Rwyf yma i'ch helpu chi, Eira Wen "
oherwydd eu bod yn barod i helpu Snow White.
>> Gyda tra dolenni, byddem wedi gwneud y initialization a diweddaru
Nid yw tu mewn i'r cyflwr, unwaith eto, ond naill ai cyn neu y tu mewn i'r ddolen tra
i wneud yn siŵr bod we-- oherwydd rydym bob amser angen rhannau hynny.
Felly, er mwyn gwneud yn siŵr ein bod yn cael hwy, byddem yn i wedi dal yn eu hychwanegu
ar, dim ond nid y tu mewn i'r cromfachau.
>> DAVID Malan: Ac felly mae'n edrych yn like-- yn y ddarlith, er enghraifft,
Rwyf bron bob amser yn defnyddio, fel, fi a n a newidynnau eithaf diflas.
Mae'n edrych yn debyg y gallwch ddefnyddio mwy newidynnau a enwir cleverly, hefyd.
>> MARIA: Yeah, mewn gwirionedd mae'n neis iawn i ddefnyddio newidynnau ychydig yn fwy disgrifiadol
oherwydd yn enwedig os oes rhywun arall yn ddarllen eich code-- efallai eich bod grader
neu os ydych yn cydweithio gyda somebody--
ydych am wneud yn siŵr eu bod yn yn deall yr hyn yr ydych yn ei wneud.
>> IAWN.
Felly, mae hyn yn rhywbeth funky-- iawn am ddolen y tu mewn i am ddolen.
Nid wyf yn gwybod a ydym wedi gweld hyn o'r blaen.
Mae'n debyg nad.
Ond gallwn mewn gwirionedd yn cael this-- felly dolenni yn lle dolenni.
Felly oes unrhyw un yn dymuno cerdded efallai fi drwy hyn sy'n digwydd yma?
DAVID Malan: 'n annhymerus' yn cymryd drywanu.
MARIA: Cool.
DAVID Malan: Iawn.
Felly, spoiler-- rydym am argraffu'r stwff hynny sydd yn y gornel dde isaf
yno.
>> MARIA: Iawn.
Yeah, yeah.
>> DAVID Malan: Felly rydym wedi dim ond roi hynny allbwn sampl yno.
Felly gallaf gasglu oddi wrth y dolen topmost eich bod yn
ailadrodd dros rhesi yr dolen pellaf, fel petai.
Ac rydych yn ailadrodd drosodd colofnau gyda'r ddolen dyfnaf.
Ac yn reddfol, mae hyn yn Dylai gobeithio, yn gwneud synnwyr
oherwydd erbyn natur y pob rhaglen yr ydym wedi gweld
o'r blaen, printf, sef y swyddogaeth yr ydym yn ei ddefnyddio, yn y pen draw,
y gallu i argraffu pethau allan yn y bôn fesul llinell.
Fel, unwaith y byddwch wedi outputted llinell newydd, mae '
dim dyblu yn ôl ac argraffu rhywbeth uwch yn y sgrîn, o leiaf
peidio â defnyddio printf fel hyn.
>> Ac felly yn hynny o beth, mae'n gwneud ystyr bod y ddolen pellaf
Dylid cyfeirio at y rhesi oherwydd ar gyfer pob rhoddir rhes,
ydych yn mynd i eisiau argraffu XXXXX, ac yna
symud ymlaen i'r rhes nesaf, XXXXX.
Felly rhesi dod yn gyntaf.
Ac yna o fewn pob rhes, byddwch yn argraffu colofnau.
Os byddwch yn ceisio gwneud iddo y gyferbyn, mae'n debyg na fyddai
dod allan wrth i chi yn bwriadu.
>> MARIA: Yeah.
Rydym yn unig ni allai fynd yn ôl at y rhes blaenorol gyda printf.
>> DAVID Malan: A beth sy'n ddiddorol fesul sgwrs heddiw am gwmpas,
mewn gwirionedd, yw bod rhes yn int sy'n datgan yn y ddolen topmost.
Ond yn sylwi ei bod yn dal tu mewn, fel petai,
y braces cyrliog sy'n ar unwaith yn dilyn,
er nad yw'n dechnegol o fewn y braces cyrliog hynny.
Felly rhes yn lle i'r gyfanrwydd y snippet cod,
y tu mewn i'r allanol ar gyfer ddolen a tu mewn i'r mewnol ar gyfer ddolen.
Ond ar y llaw arall, lle yw colofn o fewn y cwmpas?
Mae'r golofn amrywiol?
Yeah, dim ond yn y ddolen tu mewn.
Ac mae hynny'n iawn oherwydd nad ydym yn cael mynediad ei fod y tu allan i'w bresys cyrliog.
Y cyfan yr ydym yn ei wneud yw argraffu newydd llinell ar ddiwedd yno.
Fel bod mewn gwirionedd yn iawn.
>> Felly, mae hyn yn cael yr effaith, mae'n edrych yn debyg, o wneud tair rhes a pedair colofn.
>> MARIA: Iawn.
Felly, yn gyntaf rydym yn mynd trwy ein rhes gyntaf.
Ac yn union yn ein rhes gyntaf, rydym yn gwneud y pedair colofn y tu mewn i'r rhes gyntaf.
Felly, rydym yn argraffu pedwar X.
Ac yna gallwn adael yr am ddolen, gan fod rydym eisoes wedi argraffu'r pedwar X.
Ac rydym yn argraffu llinell newydd.
Ac yna rydym yn mynd drwy'r un broses ar gyfer dwy res mwy
i wneud cyfanswm o dri.
>> DAVID Malan: Ac mae'n werth nodi ei fod yn dim ond yn arteffact o ffont, y ffaith
bod yr allbwn sampl ymddangos gymaint yn dalach,
fel pe mae mwy rhesi na cholofnau.
Ond mae'n dim ond oherwydd y X yn dalach nag y mae o led.
Dyna'r cyfan sy'n digwydd yno, yn ogystal â'r gofod gwyn rhwng llinellau.
>> MARIA: Iawn.
Cwl.
DAVID Malan: pob hawl.
Felly edrych yn sydyn ar broblem sefydlu un, gymryd unrhyw gwestiynau, ac yna ohirio?
Iawn.
Felly, yn broblem sefydlu un, mae tri heriau cynradd, yn y pen draw.
Ond yn gyntaf, fe ddewch o hyd bod y broblem a osodwyd
manyleb, fel yn achos llawer y psets gostyngiad hwn, yn mynd i gerdded chi
drwy ychydig o ymarferion cynhesu, pwyntio chi allan ychydig o adnoddau
y gallech chi neu efallai Nid yw wedi gweld yn barod.
Er enghraifft, CS50 Mae cyfres o siorts,
sy'n cael eu fideos byr, nid annhebyg hyn, ond bod
yn specific-- pwnc iawn efallai pum munud,
10 munud o hyd ar dolenni neu ar amodau neu ar algorithmau
neu'n hwyrach ar fwy pynciau uwch, yn ogystal.
Ac rydym yn gyffredinol yn ymgorffori y rhai i mewn i'r broblem
setiau fel bod myfyrwyr gennym adnodd â hwy
i adolygu deunydd a allai gael eisoes yn dod i fyny mewn darlith neu adran.
Ond y ffordd hon mae'n fwy o ffocws a mwy ar flaenau eu bysedd.
>> Rydym hefyd yn tueddu i ymgorffori yn broblem yn gosod pethau o'r enw walkthroughs.
Felly, mae bron pob un o'r enghreifftiau yr wyf yn ei wneud yn y ddarlith, ar y llwyfan yma, rydym hefyd yn
wedi saethu ar gamera yn ymlaen llaw yn fwy arafach,
mae walkthrough mwy cartrefol gennyf ar fy ngliniadur y cod, fesul llinell
fel eu bod yn y dosbarth, yr ydym annhymerus 'yn aml sgimio drwy rywbeth neu rywun
Bydd interject gyda ateb i gwestiwn.
Ond nid yw o reidrwydd yn suddo mewn ar gyfer pawb yn y gynulleidfa.
Felly, fe welwch cod walkthroughs am y rhan fwyaf o'r enghreifftiau
ein bod yn ei wneud yma yn darlith er mwyn i chi Gall cerdded trwyddo ar eich cyflymder eich hun
a ailddirwyn neu gyflym ymlaen neu sgipio yn gyfan gwbl, os hoffech.
>> Mae aml ychydig Cwestiynau cynhesu sy'n
yn gofyn i chi i roi trefn ar atgyfnerthu deunydd hwn
a gwnewch yn siŵr eich bod yn gyfforddus cyn byddwch yn symud ymlaen gyda gweddill y pset.
Ac yna, wrth gwrs, mae y pset ei hun.
Ac un o'r pethau rydym yn fwriadol iawn
ei wneud yn CS50 bron pob anniddorol neu ddeallusol anniddorol
cam mecanyddol sy'n Efallai y bydd rhaid i chi ei wneud
wedi ei gofnodi'n bron bob amser yn dda iawn.
Yn ystod y tymor, rydym yn chi helpu yn dechrau gofyn cwestiynau mwy rhethregol
fel cofio sut i wneud hyn neu fod?
Ond yn gyffredinol, fe welwch fod y broblem yn gosod yn mynd â chi
drwy'r mecaneg o rywbeth fel bod
yr heriau diddorol, deallusol yn y pen draw, eu gadael i chi i'r myfyriwr.
>> Gyda hynny ddywedodd, Zamyla, i bwy ydym gedwir cyfeirio heddiw yn y ddarlith,
yn un o'n staff longtime aelod sydd hefyd yn dal walkthroughs
ar broblemau pset penodol fel Mario a barus, er nad dŵr eleni.
Ac mae'n yn y rhai hynny walkthroughs ei bod yn aml yn
yn cynnig rhai awgrymiadau a driciau ar gyfer sut i symud ymlaen, byth yn dweud wrthych
yn union beth i'w wneud, ond rather-- fel amod,
os ydych yn will-- rhoi i chi o leiaf cwpl o syniadau fel y mae i fyny i chi,
yn y pen draw, er mwyn penderfynu sut i fynd atynt.
>> MARIA: Trefnu o hoffi lefel-uchel dealltwriaeth o'r rhesymeg yr hyn
rydym yn gofyn i chi ei wneud.
>> DAVID Malan: Yn union.
Ac, mewn gwirionedd, Zamyla yn walkthroughs i fod
i ateb y aml cwestiwn a ofynnwyd o gyflwr lle
Dechreuais wneud, yn enwedig pan manylebau hir yw'r rhain
ychydig yn frawychus o ystyried yr holl destun a delweddau sydd ganddynt ynddynt.
>> Felly water.c, fe ddewch o hyd ar ôl i chi ei gwblhau,
mewn gwirionedd gymharol syml.
Hollol yn griw ohonoch yn mynd i bang
eich pennau yn erbyn y wal yn ceisio at chyfrif i maes pam nad yw'n llunio
neu pam nad yw'n rhedeg yn gywir.
Ond unwaith rydych yn ei wneud ag ef ac unwaith eich bod wedi
Treuliodd beth amser yn ymgodymu ag unrhyw o'r chwilod a allai fod gennych,
fe welwch ei fod yn rhaglen fer iawn.
Gellir ei wneud mewn dim ond ychydig linellau o god, y rhan fwyaf ohonynt
ydym wedi ei weld yma yn y ddarlith yn barod, os byddwch yn cydosod y blociau adeiladu cywir.
>> Ac wrth i ni awgrymu yma, mae'n mynd i ofyn
chi nodi faint o funudau rhywun yn cymryd cawod ar y campws.
Rydym yn nodi yn y broblem yn gosod cyfradd y llif y dŵr
i mewn, fel, cawod llif isel pen, yn debyg iawn i'r clip Seinfeld
gwelsom ddoe neu y gwrthwyneb o hynny.
Ac yna os oes gen ti i wneud ychydig o mathemateg,
really-- rhifyddeg gan ddefnyddio C i ddweud wrthym faint o, yn fras, poteli o ddŵr
yw bod gyfwerth â os ydym yn cymryd cawod n munud.
>> Yn awr, yn mario.c, mae hyn yn mynd i fod yn rhaglen ychydig yn hirach.
Mae'n dal yn mynd i fod yn hyn o hyd.
Dim ond ychydig o linellau yn hwy nag water.c.
Ond mae'n mynd i fod yn gyfle i ail-greu'r hen ysgol Mario
pyramid o Super Mario Brothers neu ryw dilynol.
Dyw hi ddim yn mynd i edrych fel prettier neu mor lliwgar fel bod un yno.
Rydym yn jyst yn mynd i ddefnyddio hashtags bach fel sydd gennym yma ar y sgrin
ddefnyddio testun ASCII.
Ond bydd yn fras yr un syniad.
Ac mae'n mynd i fod yn arfer y ar yr olwg gyntaf
ymddangos yn eithaf simple-- unig argraffu pyramid syml.
Ond mae cwpl nodweddion dyma sy'n ddiddorol.
Sylwch fod yr ymyl rightmost o mewn gwirionedd wedi lled dau y pyramid.
Felly mae dau cyfartal colofnau uchder, a oedd yn
ei gwneud yn ofynnol ychydig ychydig o feddwl i wneud
yn siŵr eich bod yn cael bod yn union gywir, fel y hytrach na dim ond yn berffaith ar ongl
llinell.
Felly dyna dipyn o achos cornel ond yn cyfateb i'r gêm ei hun.
>> Ac mae hefyd yn heb fod yn amlwg ar y dechrau yr olwg sut i argraffu gofod gwyn.
Felly, pan fyddaf yn edrych ar y sampl Yma-- allbwn
ac mae hefyd yn y spec-- ei fath o edrych fel petryal,
ond mae lletraws o'r petryal wedi ei dorri'n fân i ffwrdd,
ac mai dim ond bylchau gwyn, fel petai.
Ac felly mae ofynnir yn aml cwestiwn yma bob amser, yn dda,
sut ydw i'n symud y hashtags draw i'r dde?
Neu sut ydw i'n argraffu bylchau?
Ac mae'n mewn gwirionedd yn haws na'r rhan fwyaf o fyfyrwyr yn meddwl.
Iawn?
Gallwch fras ei weledol o ddim ond taro'r bar gofod unwaith neu ddwywaith
neu dair gwaith.
>> Ac felly hyd yn oed er gyda printf rydym bron bob amser yn argraffu llinyn neu int
neu air fel "helo, byd "neu gyfres o o eiriau,
gallwch hefyd jyst argraffu dyfyniad, gofod, unquote.
A fydd yn mewn gwirionedd yn rhoi chi gofod gwyn yno.
Felly cadwch hynny mewn cof a peidiwch â overthink hyn.
'N sylweddol yn rhaid i Chi penderfynu rhes gan res gan res,
nid annhebyg eich enghraifft eiliad yn ôl, faint o'r rheiny
Dylai colofnau fod yn fannau gwyn a faint ohonynt ddylai fod hashtags.
Bydd yn cymryd ychydig o amser, ond mae'n yn y pen draw pos rhesymeg o ryw fath.
>> MARIA: Yeah.
Ond y rhesymeg y rhes yn mynd yn ôl rhes yn mynd i fod yn ddefnyddiol iawn yma.
DAVID Malan: Yeah.
Rwy'n meddwl bod y cod enghreifftiol rydych gave-- hyd yn oed er nad oedd yn rhaglen gyflawn.
Dal angen int a phrif Chi a stdio.h ddi-rym ac #include,
mae llawer o'r pethau o ddarlith.
Ond mae'r blociau adeiladu ymddangos i fod yno.
Ac yna yn olaf yn rhywbeth ychydig yn fwy algorithmig.
Felly, mae'n ymddangos bod unrhyw tro y byddwch yn mynd i mewn i CVS neu unrhyw siop gyfleustra
a rhywun yr ydych yn dwylo yn y biliau ariannwr neu ddarnau arian wrth i newid,
mae'n troi allan eu bod, bodau dynol, a ydynt yn gwybod ei fod neu beidio,
yn ôl pob tebyg yn defnyddio beth sydd a elwir yn algorithm barus,
lle os ydych yn ddyledus, yn dweud, $ 21 yn y newid yn oherwydd am ryw reswm
byddwch wedi prynu rhywbeth rhad iawn gyda bil mawr iawn yn CVS,
byddai'n wirioneddol yn blino os bydd y Rhoddodd ariannwr 21 senglau neu, yn waeth i chi
eto, mae llawer gyfan o ddarnau arian.
Yn hytrach, yr hyn y mae person rhesymol yn yn ôl pob tebyg yn mynd i wneud yw eu bod yn mynd
i fachu $ 20- ac yna a $ 1- bil, a llaw 'ch jyst dau biliau yn yr achos hwnnw.
MARIA: Felly maent yn ceisio lleihau y newid eu bod yn rhoi yn ôl i chi.
DAVID Malan: Yn union.
Ac un yn delio â darnau arian, yn ogystal.
Os ydych yn ddyledus, yn dweud, $ 0.50, gobeithio nad ydych am 50 ceiniog.
Rydych yn lle hynny am ddau chwarteri, er enghraifft.
Yn awr, mae hyn yn cymryd yn ganiataol bod yr ariannwr wedi
digon o bob enwad sy'n gallai ef neu hi eisiau rhoi i chi.
Ond rydym yn caniatáu i chi gymryd yn ganiataol gymaint yn y broblem.
A'r nod, yn y pen draw, yw rhoi ar waith yn y cod C algorithm barus.
Felly, yn cael ei ganiatáu i'r defnyddiwr teipio faint
newid ef neu hi yn ddyledus gyda ddoleri a cents, rhyw fath o bwynt fel y bo'r angen
gwerth mwy na thebyg.
Ac yna rhaid i chi wneud y math a chyfrif i maes algorithmically, yn dda,
faint o ddarnau arian y gallaf roi chi cyn lleied â phosibl i roi i chi
yn union y swm hwnnw o newid.
Ond mae mynd i fod yn ychydig o rannau anodd yma, dde?
Fel mae y cyfan mater imprecision.
MARIA: Yn union.
Pwynt Felly fel y bo'r angen Gwerthoedd yn cael imprecision.
A wnaethom sôn am hyn mewn darlith heddiw?
>> DAVID Malan: Gwnaethom y tro diwethaf yn y ddarlith.
Buom yn siarad am imprecision.
Ac nad ydych am i dwyllo y defnyddiwr o faint o newid mae ef neu hi yn ddyledus.
Ac felly y walkthrough, yn y fanyleb broblem a osodwyd,
rhoi rhywfaint o feddwl, yn y pen draw, o ran sut y gallwch liniaru'r rheini imprecision
camgymeriadau, o bosibl.
Mae'n y gellir eu hosgoi, yn sicr, am mewnbynnau rydym yn sôn am.
Ac, mewn gwirionedd, pennies-- efallai y byddwn yn gohirio i Zamyla,
Yr wyf yn meddwl, ar gyfer y triciau yno.
Felly yn y pen draw, byddwch yn dod o hyd i cynnydd o broblemau yr wythnos hon,
y cyntaf sydd yn eithaf bach, Yna, canolig, yna ychydig yn fwy.
Ond mae pob un ohonynt yn defnyddio'r adeilad blociau o'r wythnos hon ddiwethaf,
o'r supersection hwn, gosod manyleb problem
eich rhoi mewn adnoddau di-rif.
Ond o hyd, os o gwbl trafferth, yn enwedig ymysg y rhai llai cyfforddus
heb unrhyw gefndir o flaen llaw, dod i oriau swyddfa
ar ddydd Llun a dydd Mawrth a Mercher a dydd Iau.
Ewch i CS50 Trafod drwy gwefan y cwrs,
trwy y gallwch chi sgwrsio gyda staff a chyd-ddisgyblion.
>> Ond yn y pen draw, yr wyf yn meddwl bod y cyngor gorau yw dim ond dechrau yn gynnar.
Dyw hi ddim yn y math o ddosbarth sy'n chi Dylid dechrau psets ar ddydd Mercher
nos, neu nos Iau waeth.
>> MARIA: Fy cyngor gorau yw i wedi dechrau erbyn dydd Llun.
DAVID Malan: Dydd Llun.
Felly, os nad ydych wedi dechrau already-- dim.
Ond hyd yn oed os nad yw Dydd Llun, yna dydd Mawrth.
Gorau po gyntaf y gorau.
A dyna y rheswm y Mae cwrs cymaint o ddyddiau yn hwyr yn
i roi tipyn o chi bwysau seicolegol
i ddechrau yn gynt ond yn dal i adael pethau llithro pan fydd pethau'n cymryd mwy o amser
nag ydych yn disgwyl.
>> MARIA: A ydych am wneud defnydd o oriau swyddfa gymaint ag y gallwch, hefyd.
>> DAVID Malan: Unrhyw gwestiynau?
Iawn.
Wel, nid pam yr ydym yn gohirio'r yma?