>> DAVID J Malan: Tout dwa, se konsa sa a se CS50.
Lè sa a se byen klè yon Vandredi.
Lè sa a se nan fen semèn yon sèl.
Se konsa, ou ka sonje ke nou sispann, dènye fwa, ak yon cliffhanger nan kalite.
Kijan nou ekspoze manti sa a, ke pa gen okenn gen pwoblèm sa ou ve yo te ap grandi anseye
moute, 1 divize pa 10 se pa, nan reyalite, 0.1 oswa 0,100 oswa 0,10000.
An reyalite, si nou konpile sa a pwogram, jan nou te fè yè, ak,
fè enpresizyon, ak Lè sa fè dot, koupe, enpresizyon,
nou te aprann ke sa a se sa ki nan 1 divize pa 10 aktyèlman se.
Se konsa, sa a pa vrèman byen ka-a.
Men, sa a fè allusion nan kèk limitasyon fondamantal nan òdinatè.
Ak tout bon, nan mitan an bagay sa yo nou ap ale nan fè
jodi a se pran yon gade nan poukisa sa a gen ki te pase, ki sa enplikasyon sa a gen,
ki jan limanite te echwe atrab sa a nan kèk trè
situations-- grav rezilta a nan yo ki nan
te gen byen trajik ak expensive-- epi tou
pran yon gade nan ki jan nou ka aktyèlman defann
kont sa yo kalite limit.
Se konsa, entwitif, petèt, poukisa se 1 divize pa 10,
dapre òdinatè mwen an isit la, pa sèlman 1/10, 0.10?
Yeah.
Ki sa ou panse?
>> ODYANS MANM: Rasin lan se diferan?
>> DAVID J Malan: ki sa ki la?
Oh, rasin an se diferan?
Se konsa, pa byen.
Li nan aktyèlman plis fondamantal nan pyès ki nan konpitè.
Lòt panse?
Yeah.
ODYANS MANM: Yo reprezante yon fason diferan nimewo?
DAVID J Malan: Se konsa, Dwa they--.
Yo reprezante nimewo yon lòt jan.
Inègzakt, aparamman.
Se konsa, ki is-- Oke, yon fason diferan soti nan sa ki?
Ou nan men ki moun?
Nan men nou?
ODYANS MANM: Yeah.
Yo pa sèvi ak desimal a sistèm nan [fèbl].
DAVID J Malan: OK.
Se konsa, nan yon sans, yo pa fè sa sèvi ak sistèm la desimal.
Anba kapo a, tout bagay se, tout bon, binè,
e ke sa a ki gen rapò, an reyalite.
Men, li la menm yon pi senp eksplikasyon pase sa.
Yeah.
>> ODYANS MANM: Yo sèlman gen anpil miyèt moso.
Yo kapab sèlman magazen jiska yon sèten mezi, tankou ak chif desimal yo.
>> DAVID J Malan: Yeah.
Sa a se sa k ap reyèlman ap resevwa nan li.
Li sanble ke òdinatè tipikman, yo pral toujou sèlman
sèvi ak yon kantite lajan fini nan enfòmasyon ki reprezante yon bagay.
Dwa?
Apre yo tout, nou sèlman gen yon fiks kantite lajan pou espas ki gen kapasite difisil.
Nou sèlman gen yon kantite fiks nan RAM, oswa òdinatè memwa.
Men, si ou sèlman gen yon kantite lajan fiks de yon bagay,
siman ou pa ka aktyèlman konte moute Infinity oswa nenpòt ki kantite ou vle.
Ou menm, kalite, gen chwazi epi chwazi sa seri
nan valè w ap ale nan sipòte.
>> Se konsa, pou egzanp, yon semenn oswa de de sa, lè nou te pale de ASCII,
epi nou te pale osijè de 8 Bits, oswa yon multiple, se konsa pale,
Nimewo nan pi gwo nou te kapab reprezante ak 8 Bits te ki sa?
255.
Apre sa, nou ka reprezante 256 valè manm men se pa si nou depanse youn nan yo
sou 0-- Oke, men si nou pase youn nan yo sou 0,
Lè sa a, nimewo a pi gwo se, nan kou, 255.
>> Se konsa, li vire soti, ke sa a se ka a tou, nan kontèks sa a.
Nou te kòmanse pale, dènye fwa, sou nimewo k ap flote-pwen, ki
yo diferan de nonm antye relatif, nan yo ke yo gen yon pwen desimal
epi, èspere ke, kèk nimewo Apre sa, men yo tou.
Yon òdinatè se sèlman tipikman ale yo sèvi ak 32 Bits, petèt 64 Bits
ki reprezante yon valè k ap flote pwen.
Se konsa, menm si nou te cultivées moute aprann matematik ak konnen
ke ou ka absoliman gen yon nonb infini nan nimewo
apre pwen an desimal, pa si ou gen memwa fini.
Ou menm, kalite, gen wonn, oswa chwazi epi chwazi ki
nimewo w ap ale nan reprezante.
Se konsa, ou ka panse a, nan yon sans, sa a ke yo te òdinatè a nan ki pi pre
apwoksimasyon nan valè a 1/10 ki li ka jwenn, ak jis 32 oswa konsa miyèt moso.
Epi li pa jis 1/10.
>> Pou egzanp, si mwen chanje sa a yo 1/3, ki nou panse se menm ki pi senp.
Se konsa, 1 divize pa 3.
Kite m 'sove dosye a.
Kite m 'ale pi devan epi compile li.
Ak kite m 're-kouri li.
Isit la tou, aparamman, 1/3 se pa 0.3 ak Lè sa a yon nonb infini nan 3 a
apre sa.
Ou gen enpresizyon sa a nan fen an.
Se konsa, nou moun yo kòrèk, e ki sa ou te aprann se, an reyalite, ki kòrèk,
men nou ap eurt moute kont kèk limit.
>> Ak sa ki mwen te panse nou ta fè jodi a, se kòmanse
pa gade nan, franchman la, konsekans trajik sa a
pafwa, lè limanite pa byen aplike
pou reyalite sa a ak limit sa yo.
Epitou, n ap wè yon seri de Capsules soti nan Chèn nan Istwa ki pran
gen yon gade nan ki jan bagay ale mal.
Li nan sou 8 minit long, epi n ap tounen vin apre sa a
ak pran yon gade nan egzakteman ki lòt bagay ka ale mal.
Si nou te ka dim lights-- nan
>> [VIDEO lèktur]
>> -Computers, Nou te tout vini nan aksepte pwoblèm sa yo souvan fwistre ki
ale ak yo.
Pinèz, viris, ak lojisyèl pepen yo se pri ti
pou peye pou konvenyans a.
Men, nan gwo teknoloji ak gwo vitès pwogram espas militè yo ak aplikasyon pou,
pwoblèm nan pi piti kapab gen gwo pouvwa nan dezas.
Sou, 4 jen 1996, syantis prepare lanse yon sans aryan 5 fize.
Li te pote syantifik satelit fèt
a etabli jisteman la ki jan Reyaji jaden mayetik Latè
ak van solè.
Te fize a bati pou Ajans la Espas Ewopeyen an
ak leve li nan mitan etablisman li yo sou kòt la nan franse gwiyane.
>> -epi Sou 30 segonn nan vòl la, yo te premye
remake yon bagay te ale mal.
Sa ajutaj yo te tournan nan yon fason yo te reyèlman pa ta dwe.
Anviwon 40 segonn nan vòl la, klèman machin nan te nan tray,
e ke sa a lè yo te fè desizyon an detwi l '.
Nan yon pakèt Ofisye Sekirite ak kouraz fòmidab bourade bouton an,
kònen moute fize a anvan li te kapab vin yon danje nan sekirite piblik la.
>> -Sa A te jenn fi a vwayaj nan aryan a 5,
ak destriksyon li yo te pran mete paske yo gen yon defo
entegre nan lojisyèl fize la.
-La Pwoblèm ki nan la Aryan te ke gen
te yon nimewo ki te mande pou 64 Bits yo eksprime,
ak li te vle konvèti li nan yon kantite 16 ti jan.
Yo sipoze ke nimewo a pa te janm ale nan dwe pran anpil gwo,
ki pi fò nan tout sa yo nan chif nimewo a 64 ti jan te 0 a.
Yo te sa ki mal.
>> -La Enkapasite nan yon sèl pwogram lojisyèl aksepte
kalite a nan nimewo ki te pwodwi pa yon lòt te nan rasin lan nan fayit la.
Devlopman lojisyèl te vin yon trè koute chè yon pati nan nouvo teknoloji.
Te fize a aryan 4 te trè siksè, se konsa anpil nan lojisyèl an
kreye pou li te tou itilize sou aryan a 5.
>> Pwoblèm -La debaz te ke aryan a 5 te pi vit, akselere pi vit.
Apre sa, lojisyèl an pa t 'gen matirite pou sa.
>> -La Destriksyon fize a te yon gwo dezas finansye,
tout akòz yon erè lojisyèl minit.
Men, sa pa te premye a tan pwoblèm konvèsyon done
te gwo malè tonbe sou teknoloji fize modèn.
>> -Nan 1991, ak nan kòmansman an nan lagè a Premye Gòlf,
misil la Patriot ki gen eksperyans yon kalite ki sanble
nan pwoblèm konvèsyon kantite.
Kòm yon rezilta, 28 moun, 28 sòlda Ameriken
te mouri ak sou 100 lòt moun blese,
lè Patriot la, ki te sipoze nan pwoteje kont scuds fèk ap rantre,
echwe pou pou tire yon misil.
>> -Lè Irak anvayi Kowet ak Amerik te lanse Tanpèt Dezè byen bonè nan mwa 1991,
Patriot misil yo te deplwaye pil pwoteje Arabi Saoudit ak pèp Izrayèl la
soti nan Irak atak misil Scud.
Patriot la se yon US, mwayen-ranje sifas-a-lè sistèm
manifaktire pa konpayi an Raytheon.
>> Gwosè -La nan entèrsèpsyon nan Patriot, tèt li, se sou, apeprè 20 pye long.
Epi, se peze sou 2000 liv.
Apre sa, li pote yon tèt degè a sou- Mwen panse ke li apeprè 150 liv.
Apre sa, tèt degè a, tèt li, se yon eksplozif segondè,
ki te gen fragman wonn li.
Aman a nan tèt degè a se fèt yo aji tankou plon.
>> Misil -La se te pote, 4 pou chak veso,
, epi yo transpòte pa yon semi-trelè.
>> Patriot sistèm -La misil anti ale tounen omwen 20 ane kounye a.
Li te orijinal ki fèt kòm yon misil defans lè
tire desann avyon lènmi.
Nan Lagè Premye Gòlf, lè ke lagè te vini ansanm,
Lame a te vle sèvi ak li nan tire desann scuds, pa avyon.
Force la irakyen pa t ' anpil nan yon pwoblèm,
men Lame an te enkyete w sou scuds.
Se konsa, yo te eseye ajou Patriot la.
>> -Intercepting Yon lènmi misil vwayaje nan Mach senk
te ale yo dwe defi ase.
Men, lè Patriot la te kouri antre nan sèvis,
Lame a pa t 'okouran de yon Modifikasyon irakyen ki te fè
scuds yo prèske enposib frape.
>> -Ki Te pase, se yo ki scuds te vini nan, te enstab,
yo te tranble.
Rezon ki fè la pou sa a, te Irakyen yo yo, nan lòd
yo ka resevwa 600 kilomèt soti nan yon 300 kilomèt seri misil,
pran pwa soti nan tèt degè a devan yo e te fè tèt degè a alum.
Se konsa, kounye a, Patriot la ap eseye vini a Scud a, ak pi fò nan tan an,
laplipa moun lan nan tan, li ta jis vole pa Scud a.
>> -Yon Fwa operatè yo sistèm Patriot reyalize Patriot la rate sib li yo,
yo detounen tèt degè Patriot la, pou fè pou evite aksidan posib si li
te pèmèt li tonbe nan tè a.
>> -ki Se sa ki te pi fò moun te wè, moun fireballs gwo nan syèl la,
ak konpwann kòm segman aks dèz nan Scud tèt de gè.
Malgre ke nan mitan lannwit lan syèl, Patriyòt parèt
yo dwe avèk siksè detwi scuds, nan Dhahran,
ta kapab genyen pa gen okenn erè sou pèfòmans li yo.
Gen, sistèm rada Patriot la pèdi tras nan yon Scud fèk ap rantre,
epi pa janm te lanse, akòz yon defo lojisyèl.
Li te Izrayelyen yo ki moun ki premye dekouvri ki pi long sistèm lan nan te sou li a,
pi gwo Diferans la nan tan te vin, akòz yon revèy entegre
nan òdinatè sistèm nan.
>> -About 2 semèn anvan trajedi a nan Dhahran,
Izrayelyen yo rapòte bay Depatman an defans,
ke sistèm lan te pèdi tan, ke apre sou 8 èdtan nan kouri,
yo remake ke sistèm lan te vin notables mwens egzat.
Depatman an defans reponn pa di tout nan pil yo Patriot
pa kite sistèm yo sou pou yon tan long.
Yo pa janm di sa ki yon bon bout tan te ye a.
8 èdtan?
10 èdtan?
1000 èdtan?
Okenn moun pa te konnen.
Batri -La Patriot estasyone nan kazèn lan
a Dhahran, ak defekte entèn li yo revèy, te sou plis pase 100 èdtan
sou nwit la la nan 25 mwa fevriye a.
>> -Li Suivi tan nan yon presizyon nan sou 1/10 nan yon dezyèm fwa.
Koulye a, 1/10 nan yon dezyèm fwa se yon nimewo enteresan
paske li pa kapab eksprime nan binè, egzakteman.
Ki vle di, li pa kapab dwe manifeste, egzakteman,
nan nenpòt òdinatè modèn dijital.
Li difisil yo kwè, men sèvi ak sa a kòm yon egzanp.
Se pou nou pran nimewo a, 1/3.
1/3 pa kapab eksprime nan desimal, egzakteman.
1/3 se 0,333 ale sou pou Infinity.
Gen nan pa gen fason yo fè sa, ak presizyon absoli, nan desimal.
Sa a egzakteman kalite a menm nan pwoblèm ki te rive nan Patriot la.
Sistèm nan nan pi long kouri, nan vin pi mal erè nan tan te vin.
>> -Apre 100 èdtan de operasyon, erè a nan tan te sèlman sou 1/3 nan yon dezyèm fwa.
Men, nan tèm de vize yon misil vwayaje nan Mach 5,
li a nan yon swiv erè nan plis pase 600 mèt.
Li ta yon erè fatal pou sòlda yo nan Dhahran.
>> -Ki Te pase, se yon lansman Scud te detekte avèk satelit byen bonè-avètisman,
epi yo nouvo ki Scud a te vini nan yon direksyon jeneral yo.
Yo pa t 'konnen kote li te vini yo.
>> -Li Te kounye a jiska rada a eleman ki nan sistèm la Patriot,
defann Dhahran, lokalize epi kenbe tras nan misil a lènmi fèk ap rantre.
>> -La Rada te trè entelijan.
Li ta aktyèlman swiv pozisyon nan Scud a
ak Lè sa a predi ki kote li pwobableman ta dwe,
tan kap vini an, nan rada voye yon batman kè deyò.
Sa te rele pòtay lavil la pòte.
>> -Lè, Yon fwa Patriot la deside ase tan gen
pase yo ale retounen lakay yo epi tcheke pwochen an kote pou sa a objè detekte,
li ale tounen.
Se konsa, lè li te ale tounen nan sa ki mal la plas, li Lè sa a wè pa gen okenn objè
epi li deside ke pa te gen okenn objè, li te yon deteksyon fo,
ak gout tras la.
Scud a fèk ap rantre disparèt soti nan ekran an rada,
ak segonn pita, li te kriye byen fò nan kazèn lan.
Scud a touye 28 e li te dènye a youn te tire pandan Lagè Gòlf la Premye.
Trajik, lojisyèl an mete ajou te rive nan Dhahran jou ki anba la a.
Defo nan lojisyèl te gen te fiks, fèmen
youn chapit nan boulvèse a istwa nan misil a Patriyòt.
>> [END lèktur]
>> DAVID J Malan: Se konsa, nou pral pran yon gade nan kèk limit menm jan an nan jis yon ti jan.
Men, anvan, se pou yo tranzisyon nan yon kèk Fyi la.
Se konsa, yonn-fen semèn sa a, gen yo pral seksyon super,
ki fè yo vle di ke yo evense seksyon pwograme regilyèman, ki
pral kòmanse moute yon semèn isit la.
Pran yon gade nan sit entènèt CS50 la pou plis enfòmasyon sou sa yo.
Yo pral tou gen pou filme-li ak difuze viv pou moun kapab patisipe.
Pwoblèm mete 1 se sou mòn lan sit kou a deja,
epi n ap pran yon gade nan ke nan jis yon ti jan ti kras.
Apre sa, lè biwo tou, pral pran mete sa a Lendi jiska Jedi.
>> Se konsa, sa ki te pi kanonyal nan pwogram nou te nan dènye tan.
Se tankou pi senp la pwogram ou ka ekri nan C,
e menm sa a, se yon ti jan nan yon reklamasyon karaktè fonse.
Dwa?
Se paske gen nan yon anpil nan sanblans konpleksite sa a.
Se konsa, kite a pran yon gade rapid nan sa ki gen kèk nan eleman sa yo
te ak lè sa a eseye bay yon modèl mantal pou konbyen
sa yo ki pi senp nan pwogram travay, ak Lè sa a nou pral kòmanse
gade nan bagay sa yo tout tan tout tan pi konplike.
Se konsa, liy sa a isit la, make kounye a, nan jòn, ki sa nou di, dènye fwa,
ke sa a fè pou nou?
Ki sa ki nan bi pou li sèvi?
Nenpòt moun ki soti nan pi lwen tounen ankò?
Yeah.
>> ODYANS MANM: [fèbl]
DAVID J Malan: Bon.
Se konsa, li ba ou aksè kòmandman, oswa kite la
rele yo fonksyon, ke yon moun lòt te ekri, ki gen te deklare:
se konsa pale, nan kèk lòt dosye-a.
Se konsa, nou pral wè ekzakteman ki sa yon dosye h se kont yon dosye c, evantyèlman.
Men, pou kounye a, jis konnen ki printf, pou egzanp,
se nan mitan fonksyon yo ki te te deklare nan kèk lòt dosye, yon kote
lòt sou kondwi nwaj la difisil ke pèmèt nou jwenn aksè nan printf epi sèvi ak li
san yo pa gen reenvante ki wou tèt nou.
Pandan se tan, prensipal la.
Ki sa ki analòg la nan prensipal la, semèn pase a te ye?
Yeah.
>> ODYANS MANM: se Green drapo klike.
>> DAVID J Malan: Yeah.
Grafouyen a, lè drapo vèt klike.
Se tankou moso nan devinèt ki anvwaye bagay la.
Se konsa, Menm jan an tou, te fè mond lan deside kèk ane de sa ke nan C,
ak yon pakèt moun sou lòt lang, si ou vle ekri yon pwogram,
fonksyon premye ou te yo dwe rele, prensipal la.
Apre sa, li gen yo gade tankou sa a.
Men, nou pral 'tounen an, yon lòt lè, nan sa, int,
epi, anile, vle di nan ki kontèks.
Pou kounye a, aparèy òtopedik yo Curly yo se kalite de tankou moso devinèt fòm Scratch nan
ki ankapsul kèk kantite liy yo.
, Ak nan mitan sou liy ki isit la, se yon sèl sa a isit la.
printf se yon fonksyon ki gen rezon an lavi se ekri ak lèt ​​detache yon afè fòma.
Ak nan fòma, mwen vle di ou kapab ploge nan valè kontneur,
epi ou ka presize konbyen desimal pwen, konbyen nimewo ekri ak lèt ​​detache
apre yon pwen desimal ak renmen an.
Apre sa, printf, nan kou, pran yon sèl oswa plis agiman oswa paramèt,
otreman li te ye, plis tou senpleman, kòm entrain.
>> Se konsa, printf, tankou yon anpil nan fonksyon, pran entrain.
Ak moun ki entrain yo anbrase pa de parantèz yo isit la.
Ak andedan nan tout sa yo se youn opinyon.
Li se yon fisèl, menm jan nou te rele l ', ki se jis yon sekans nan karaktè,
tankou yon mo, oswa yon fraz, oswa yon antye redaksyon menm, nan ant quotes doub.
Epi sa a, sa k ap pase nan gen enfliyans sou konpòtman nan printf paske, nan kou,
li nan jis yon fonksyon ekri an lèt detache jenerik.
Li nan pa pral konnen ki sa ekri ak lèt ​​detache, sof si ou di li.
Lè sa a,, gen kèk karakteristik.
Ki sa nou di sa a etranj sekans nan senbòl se?
Yeah.
>> ODYANS MANM: New liy.
>> DAVID J Malan: New liy.
Se konsa, li vire soti, ou pa ka jis frape, antre nan, lè w ap ekri pwogram nan.
Anjeneral, du a ki pral jwenn yon ti kras konfonn tankou sa ki ou vle di.
Olye de sa, ou gen literalman di, ban m 'yon liy nouvo isit la.
Se konsa, / n se ki sa nou jeneralman rele yon karaktè chape.
Se konsa, n, pou nouvo liy.
Apre sa, du a konnen ke lè li wè / n,
li ta aktyèlman pwovoke òdinatè a, finalman, oswa printf, nan ka sa a,
ekri ak lèt ​​detache soti yon nouvo aktyèl liy, tankou frape a, antre nan,
kle sou klavye ou.
Epi anfen, ki sa te fè nou di pyès sa a nan sentaks se pou?
Ki sa sa reprezante?
Yeah.
>> ODYANS MANM: [fèbl]
>> DAVID J Malan: Se jis nan fen liy.
Li nan nan fen deklarasyon an.
Ak reyalize ke nou pa fè sa mete yo tout kote.
Nou sètènman pa mete yo nan bout yo nan chak liy.
Pou egzanp, gen nan pa youn sou mòn lan premye liy, gen nan pa youn sou liy lan
ak, prensipal yo, gen nan pa youn apre aparèy òtopedik yo Curly,
men ou pral kòmanse wè epi pou yo jwenn abitye avèk ki kote sa yo rele pou.
Lè li nan prèske toujou apre yon fonksyon rele oswa yon deklarasyon, kèk aksyon
ke w ap aktyèlman pran.
>> Apre sa, konnen kounye a, espesyalman si nan mitan moun mwens konfòtab,
sa yo, se kalite ki nan bagay sa yo estipid ke ou pral fini aksidantèlman frape
tèt ou kont miray la sou.
Paske ou pral lojikman konfyans nan kèk pwoblèm
ou te rezoud pou yon pwoblèm seri, ak bagay la modi jis
pa pral konpile oswa menm kouri.
Se konsa, souvan, byen bonè nan, li k ap pase yo gen paske ou rate yon parantèz,
oswa ou te manke yon virgules.
Se konsa, jis pou bliye a sa yo kalite bagay sa yo,
epi eseye pa jwenn fristre pa yo paske trè byen vit fè bagay sa a
vin fin vye granmoun chapo.
Men, li la trè fasil yo ka resevwa fristre byen bonè nan, kòm yon rezilta.
>> Se konsa, kounye a, kite a pran yon gade nan ki jan liy sa a se aktyèlman ap travay
ak Lè sa a gade nan yon yon ti kras pi konplike yon sèl.
Se konsa, nou gen sou isit la a, kapasite fè desen sou ekran sa a.
Li kite yo ta kwè ke sa a se ekran òdinatè mwen an,
men mwen ekri, alo pwogram nan, epi mwen pa te aplike, printf.
Te yon lòt moun aplike, printf.
Ki moun ki ta renmen fè reklamasyon yo te aplike, printf?
Si nou ka?
Tout dwa, sa ki nan non ou?
>> ELÈV 1: [? Kopal. ?]
>> DAVID J Malan: kopal, vin sou yo.
Vini non sou yo.
Tout dwa.
Se konsa, nou gen, isit la, gen kèk tags non, depi nou pral fè yon jwèt ti kras nan sa a.
Apre sa, nou pral rele w, printf.
Men, si ou vle vin sou isit la, sa m 'te jis trase sou ekran an,
li nan byen tou senpleman, gen nan m ', sa a.
>> Tout dwa, se konsa, alo non mwen se, printf, si ou ta renmen mete sa sou.
Tout dwa.
Men, si ou ka ale kanpe pa ekran an òdinatè
tankou si ou se fonksyon an ki vin rive ak sistèm òdinatè sa a.
Ak objektif ou nan lavi a se ki aktyèlman enprime yon bagay.
Men, anpil tankou pwogram lan nou jis te gen sou ekran an, isit la,
nou ap ale nan gen yo aktyèlman ba ou kèk opinyon.
>> Se konsa, si opinyon mwen, isit la, se aparamman, sa k ap pase bay printf,
kite a kalite rizib l 'kanpe tankou sa a.
Mwen pral literalman ekri sou yon moso papye, "hello, mond,"
antislach N. Epi yo dwe klè, ki sa Mwen te jis trase sou pyès sa a nan papye,
sanble tankou sa a.
Se konsa, lè mwen kouri pwogram sa a, ak sa a liy jòn nan kòd vin egzekite,
li a tankou si m ', pwogram nan hello, kap Distribiye kèk opinyon yo ale nan yon fonksyon
ke yon lòt moun te ekri.
>> Men, si ou, ak dwèt ou, te kapab aktyèlman, avèk dwèt ou,
trase sou ekran an tou sa li se ou yo te lage,
efè a, finalman, se wè egzakteman sa, sou ekran an.
Apre sa, yon ka kwen Little isit la.
Ak bon, nou pa ta dwe wè , liy lan nouvo, nan pwen sa.
Li ta kòrèk pou ou klèman trase newline an.
Men, si nou kenbe ekri mo sou la ekran, yo ta fini anba a sa.
>> Se konsa, mèsi anpil, men bwa alantou isit la pou jis yon sèl moman.
Nou kounye a bezwen yon lòt volontè, si nou te kapab,
ki k ap pase yo bezwen yo jwe wòl nan de- li a sèlman moun ki nan òkès ​​la
kounye a.
Ki jan sou- OK.
Dwa isit la.
Vini non sou yo.
Ki sa ki nan non ou?
>> ELÈV 2: [? Ivay. ?]
DAVID J Malan: Padon?
ELÈV 2: [? Ivay. ?]
DAVID J Malan: Etan, vini sou yo.
Se pa?
Èske mwen jwenn ki sa ki mal, menm apre ou fin te di li de fwa?
Vini non sou yo.
Li difisil yo tande moute isit la.
OK.
Apre sa, mwen regrèt, sa ki nan non ou?
>> ELÈV 2: [? Ivay. ?]
>> [? DAVID J Malan: Ivay. ?] OK.
Pou kounye a, si ou pa fè sa tèt ou, w ap GetString.
>> ELÈV 2: OK.
Fre.
DAVID J Malan: Se konsa, si ou ta renmen a kanpe isit la pou jis yon moman,
kite a pran yon gade nan yon yon ti kras plis pwogram konplèks, ki
kounye a gen twa liy nan kòd.
Se konsa, nou gen, yon sèl, eta non ou lè l sèvi avèk printf; de, yon rele nan GetString,
ki te swiv pa yon devwa nan yon varyab rele, fisèl la, oswa rele nan;
Lè sa a, yon lòt apèl ak nan, printf, men fwa sa a ak de entrain.
>> Se konsa, nou te deja fè eta non ou, ou pito, nou te
deja fè yon apèl printf.
Se konsa, mwen pral ekri, eta non ou.
Se konsa, sa m ap ale nan pase, printf, nan jis yon moman,
se byen tou senpleman, sa a.
Se konsa, si ou vle ale pi devan epi trase sa a sou ekran an, sa a, se opinyon ou an kounye a.
Tout dwa.
Ak bliye fisèl, nou genyen kounye a liy pwòp nou nan kòd isit la.
Se konsa, nan, GetString, nou bezwen ki aktyèlman rele, GetString.
Se konsa, objektif ou nan lavi se yo jis mache deyò nan òkès ​​la, si ou te kapab,
epi pou yo jwenn non yon moun.
Men, kite a ba ou yon bagay yo mete l 'sou.
Si ou vle, ale pi devan epi pou yo jwenn yon fisèl,
jwenn non yon moun nan sou sa moso papye, si ou te kapab.
>> Tout dwa.
Epitou, n ap wè, nan jis yon moman, ki gen non nou ap vin.
Pandan se tan, ki sa mwen pral gen pare, se yon moso vid
nan papye, nan ki, mwen pral nan magazen tou sa valè li
se ke GetString se retounen nan m ', Se mwen menm, yo te yon varyab fisèl rele, s.
Tout dwa.
Se konsa, sa ou gen isit la?
Nik.
Tout dwa.
Se konsa, nou gen non Nik la isit la.
Se konsa, sa a se sa literalman ki te tounen
m ', se konsa pale, pa GetString.
>> Se mwen menm, kounye a, mwen pral jwenn egzekite bò gòch-men
nan ki ekspresyon, kote mwen tou senpleman kopi desann, pou rezon jodi a, Nik.
Se konsa, kounye, mwen gen yon varyab rele, s, estoke Non Nik la.
Mwen te deja remèt bay printf, yon agiman anvan yo.
Men, nan nou an twazyèm ak dènye liy nan kòd, mwen aktyèlman gen yo printf men
yon bagay yon ti kras different-- "hello,% s," antislach n.
>> Se konsa, liy ki sot pase a mwen pral send-- bagay la pase mwen se
ale nan ekri kounye a, se sa a.
Se konsa, de liy yo nan kòd, oswa olye liy ki sot pase a nan kòd,
apèl pou de entrain yon sèl, sa a, ak de, sa a.
Se konsa, si fonksyon printf nou an kapab kounye a pran sa yo kòm D ',
kite m 'klè ekran an pou ou.
Aktyèlman pa gen okenn, ou ka ale pi devan.
Nou pral kite li moute, depi li a sou pwogram lan menm.
Nou ta dwe wè, hello, Nik.
Tout dwa.
Se konsa, sa a te byen kèk sèrkl so a, jis
yo ekri, eta kote ou non, epi, hello, Nik.
Men, ide sa a senp nan mesaj pase, nan pase opinyon ak k ap resevwa pwodiksyon,
se egzakteman modèl la nou ap ale nan gen pou menm fonksyon yo pi konplèks.
Se konsa, di ou mèsi anpil bay ou tou de.
Nou gen yon estrès bèl boul isit la pou ou.
Epi ou mèsi GetString nou an ak volontè printf sanble.
Mèsi poutèt ou.
Tout dwa.
Mèsi poutèt ou nou la a tou de.
>> Se konsa, nou ve yo te ap pale de konsa byen lwen, sitou sou strings.
Apre sa, li vire soti ke C ka aktyèlman konprann yon kèk kalite done diferan.
An reyalite, kite a pran yon gade nan sa yo isit la.
Se konsa, C, ak yon anpil nan lang, konprann bagay yo rele charaktèr.
Yon Char se jeneralman yon sèl multiple, oswa uit miyèt moso.
Apre sa, li reprezante yon karaktè sèl, tankou lèt la A, oswa kapital la
lèt A, oswa lèt la miniskil A, oswa yon pwen esklamasyon,
oswa nenpòt karaktè ke ou ka tape sou klavye ou, epi pafwa menm plis.
Nou menm tou nou rive wè flote.
Yon flote se, jeneralman, se yon 32-ti jan valè, oswa kat bytes
paske ankò, youn multiple se uit miyèt moso.
>> Se konsa, yon flote se yon valè k ap flote pwen, yon bagay ki gen yon pwen desimal.
Ak tout bon, se sa ki fim nan te pale
sou lè yo te pale sou k ap flote valè pwen, kèk nimewo fiks de Bits
ki te itilize yo reprezante yon nimewo reyèl.
Men, gen la tou bagay rele double.
Sa yo egziste nan Java, si ou te pran APCS,
ak yon doub, kòm non an Erezman sijere, se de fwa tankou gwo kòm yon flote.
Li nan toujou yon PO reyèl, li jis gen plis Bits
ak ki yo dwe tout tan tout tan plis presi, oswa nan magazen menm pi gwo chif yo.
int se fasil.
Nou te pale sou sa dènye fwa.
Se jis yon nonb antye relatif.
Lè li nan jeneralman 32 Bits, oswa kat bytes.
>> Se konsa, si ou gen, kite la wè koulye a, 32 bits-- epi nou te fè sa nan semèn 0,
tout tan tout tan se konsa si ou gen briefly-- 32 Bits, sa ki nan pi gwo a
Nimewo ou ka reprezante kòm yon nonb antye relatif?
Bay oswa pran?
Se tankou 4 milya de dola, e ke sa a sèlman si nou ap
reprezante nimewo pozitif sèlman.
Si ou gen 32 Bits, epi ou vle reprezante nimewo negatif kòm byen,
seri ou ye, se esansyèlman, negatif 2 milya dola nan pozitif 2 milya dola.
Men, jeneralman, nou pral kòmanse nan 0 ale jiska 4 milya dola.
>> Ou pa oblije konnen jisteman, men nou ka wè sa a, an reyalite, si mwen jis
louvri moute yon kalkilatris ti kras, isit la.
Mwen kapab fè 2 32 an, ak sa a, se egzakteman ki jan gwo,
konbyen valè ou kapab reprezante, ak 32 miyèt moso.
Lè li nan apeprè 4 milya dola.
Se konsa, nou pral kenbe wè ke nimewo nan yon kèk kote diferan.
Men, si ou bezwen ankò nimewo pase sa,
li vire soti gen nan yon bagay yo rele yon long lontan.
Ak yon long long se jeneralman 64 Bits, ki
vle di li nan yon lòd pou nan grandè menm pi gwo pase yon int.
>> Se konsa, mwen pa menm ka fè konnen pi gwo a Nimewo ke ou ka reprezante,
men li la ansibleman pi gran.
Koulye a, kòm yon sou kote, istorikman, si yon int se 32 Bits,
ak yon long long se 64 Bits, ki jan gwo se yon long, se pa yon long tan?
Ou ta panse ke li nan pi long pase yon int men petèt mwens lontan pase yon long long,
men li aktyèlman depann.
>> Se konsa, li vire soti yon sèl a fristrasyon yo tou,
ak ekri kòd sou sèten sistèm, se ke se pa tout nan sa yo kalite done
gen valè pre-detèmine.
Pafwa li nan sa a Bits anpil moun.
Pafwa li nan ki Bits anpil moun.
Se konsa, ou gen konnen aktyèlman, pafwa, ki sa pyès ki nan konpitè
w ap kouri lojisyèl ou sou.
Erezman, lòt lang ak kalite done lòt ke kounye a egziste,
pèmèt ou yo dwe plis presi.
Oke, nou te wè fisèl, epi nou te wè bouleen, tou,
men li vire soti sa yo vini sèlman avèk bibliyotèk la CS50.
Se konsa, moun ki pa yo bati nan C. Moun sa yo ki olye de sa,
vini nan ki dosye rele CS50.h, ki nou pral evantyèlman
kale tounen kouch yo nan.
Men, pou kounye a, yo ap jis kalite done adisyonèl.
Yon bouleen se yon vre oubyen fo, ak yon fisèl se yon sekans nan karaktè,
tankou yon mo.
Koulye a, printf, nou te wè, gen placeholders,% a se yon sèl.
Epi ou ka kapab, nan kounye a, dégager soti nan sa yo lòt egzanp, ki jan
ou te kapab gen yon kontneur pou kalite done diferan.
Pou egzanp, pran yon devine, si ou te vle enprime soti yon Char sèl lè l sèvi avèk
printf, kontneur a se pwobableman% c.
Men, si ou vle enprime soti yon nonb antye relatif ak kontneur,% mwen an.
% LLD se yon long valè lontan desimal, men lontan lontan, se konsa ke kat nan sa.
Lè sa a,% f pou k ap flote valè pwen oswa pou yon doub,
se konsa pafwa yo ap re-itilize nan kontèks diferan.
Se konsa, nou pral wè epi sèvi ak kèk nan moun sou tan.
Apre sa, printf ak lòt fonksyon tou sekans chape sipò lòt moun ',
epi pafwa, sa yo se nesesè.
Se konsa, antislach n se yon liy nouvo.
Antislach t, ​​fè nenpòt moun ki vle pran yon koud?
ODYANS MANM: Tab.
DAVID J Malan: Tab.
Se konsa, si ou aktyèlman vle ekri ak lèt ​​detache soti yon tab, pa
yon PO fiks nan espas men yon aktyèl pèsonaj tab, ou pa frape ou,
tab, kle sou klavye a, jeneralman, ou aktyèlman fè antislach t.
Antislach quote doub, poukisa ta mwen janm vle sa?
Dwa?
Poukisa nou pa mwen ka jis tape yon doub quote sou klavye mwen an?
ODYANS MANM: Paske, otreman, li la
ale nan panse ke li nan fen a a renmen ekri an lèt detache ou [? tèks. ?]
>> DAVID J Malan: Egzakteman.
Sonje byen, ak nou egzanp printf, lè nou
te pase nan printf nan D ', sou bò gòch la nan ki fisèl D '
ak sou bò dwat la nan ki D ' sezon prentan, nan kou, se te yon quote doub.
Si D 'pwòp ou a gen yon doub quote nan mitan an nan sa,
òdinatè a ta ka potansyèlman jwenn konfonn, kòm nan,
fè bagay sa a quote doub fè pati nan mitan an?
Li fè pati ak yon sèl gòch la?
Li menm ak youn nan dwa?
Se konsa, si ou vle fè li super klè, ou fè antislach doub quote,
se konsa ke li nan chape, se konsa pale, ak li pa nan conflated pou yon lòt bagay.
Apre sa, nan yon lòt moun kèk isit la, antislach r, quotes sèl, 0,
Konsa n'a wè sou tan, kòm byen.
Epi, koulye a, sa ki sou fonksyon?
>> Se konsa, aksyon ki nou ka pran konsa byen lwen nan lang sa a, C, byen, nou te wè,
printf, nan kou, ak tout nan lòt moun yo sou ekran an,
isit la, ke nou pral itilize pou la premye semèn kèk kou nan sèlman,
vini lè bibliyotèk la CS50.
Apre sa, yo fè l 'pi fasil, nan C, ki aktyèlman jwenn opinyon itilizatè.
Li sanble ke nan C, ak franchman nan yon lang kèk,
li nan yon doulè reyèl nan kou a fè yon bagay ki senp, tankou èd memwa itilizatè a
pou klavye, pou D 'li.
Se konsa, fonksyon sa yo fè li pi fasil.
>> Apre sa, li tou te gen erè tcheke nan tout,
pou ke, lè ou sonje nan Mèkredi, nou
te wè, rekoumanse, avètisman an, lè m 'pa t' kolabore,
ak mwen tape yon mo, olye pou yo yon nimewo?
Nou te fè leve a lou byen bonè sou a asire w itilizatè a kolabor.
Men, sa yo yo se jis fòmasyon wou ke nou pral evantyèlman,
epi byen vit, pran an.
>> Se konsa, yo Rekapitilasyon, lè sa a, kite a pran yon gade rapid,
anpil tankou nou te fè sa ak Grafouyen, nan kèk konstwi kanonyal nan C.
Sa a se vle di ke yo, sòt a, gen yon vwayaj gwo toubouyon,
jis pou ke ou gen yon referans e ke ou te wè bagay sa yo an premye.
Men, Lè sa nou pral gade nan aktyèl kodaj sèvi ak kèk nan blòk bilding sa yo.
Se konsa, anpil tankou nan grafouyen, lè nou te deklarasyon renmen,
di oswa, rete tann, nan C, nou gen fonksyon kòm byen, tankou printf.
>> Si nou vle eksprime sa yo panse yon kondisyon nan C, li nan menm jan an, nan lespri,
ak sa yo ki moso devinèt ki te sanble ak sa a nan grafonyen moun.
Men, olye de sa, nou literalman jis ekri, si.
Apre sa, lè sa a, nan parantèz, nou mete yon kondisyon,
kote ke kondisyon se sa nou pral rele, ankò, yon ekspresyon Boolean.
Epi ankò, sa a se sòt de pseudocode.
Epi, an reyalite, // a se yon kòmantè.
Se jis mo angle vin jwenn mwen.
Men sa se jeneral la estrikti nan yon, si, kondisyon.
Men, nou pral wè konkrè egzanp nan jis yon moman.
>> Si ou vle gen yon de-fason fouchèt nan wout la,
anpil tankou nou te fè ak volontè nou sou Mèkredi, ou ka gen yon, lòt bagay si.
Men, si ou vle gen yon twazyèm ak kondisyon final la, oswa sitiyasyon default,
ou ka gen jis yon blòk lòt bagay, la.
Apre sa, Menm jan an tou, ak ekspresyon Boolean, ou kapab, epi, yo ansanm.
Apre sa, nou te wè nan Mèkredi, ki li pa yon comercial sèl,
li nan de, pou rezon pi ba-nivo ki nou pral evantyèlman wè ak jwe avèk.
Ou-ing bagay sa yo ansanm se 2 ba vètikal.
Sou yon klavye ameriken, sa a se jeneralman yon kle
ak kle nan chanjman pi wo a ou Antre kle ou retounen kle.
>> Lè sa a, gen nan bagay sa yo pou nou pral sèvi ak petèt yon fwa oswa de fwa.
Yo se fonksyonèl ekivalan a sa ou kapab fè ak yon, si, lòt bagay si,
lòt bagay si lòt bagay, konstwi, men yo ap rele yon switch.
Yo gade trè diferan, men nou pwal wè nan kèk nan Kòd distribisyon nou an,
pou yon pwoblèm lavni mete, gen plis chans, ke li nan pafwa jis yon bèl pase
fason pou eksprime yon antye pakèt moun sou kondisyon,
san yo pa gen yon anpil nan aparèy òtopedik Curly ak yon anpil nan parantèz ak dekoupaj.
Men, yo ban nou pa gen plis pouvwa pase nou gen deja.
Epi, koulye a pasan.
Apre sa, yon sèl sa a, nou pral gade Yon ti kras pi plis tou dousman.
Men, Lè sa a, nou pral kòmanse yo sèvi ak sa yo, espesyalman pou moun ki deja konnen yo.
Sa a se yon fason a kanonyal, si èkstrèmeman fason Esoteric, yo ekri yon bouk nan C.
>> Koulye a, yon bouk nan grafouyen te trè dwat.
Ou gen yon, pou tout tan, blòk.
Ou gen yon, repete, blòk ak jis yon nimewo ou gen tape nan.
Se avèk, pou riban an, ou kapab aplike tou de nan lide sa yo,
men li la yon ti kras pi plis teknik.
Men, franchman, li la tou relativman senp.
Yon fwa ou konnen lòd la operasyon, ou literalman
yo se jis ale nan ploge nan valè epi di òdinatè a ki sa fè.
Se konsa, isit la nan yon egzanp.
Sa a se yon riban ki, byen tou senpleman, konte soti nan yon nimewo moute
nan yon lòt.
Epi jis pa ensidan nan li, menm si w gen
pa gen okenn eksperyans anvan ak lang sa a, ki sa nimewo
li pwobableman kòmanse konte nan?
OK, 0.
Apre sa, mwen devine sa a, se paske ou wè ke gen nan yon int ak yon m,
ki se yon varyab.
Li nan inisyalizèd a 0.
>> Lè sa a, apre sa, li sanble nou ap pase printf, se yon valè.
Epi, an reyalite, mwen te fè yon ti kras Typo isit la.
Men, ki nan fasil fiks yo.
Kite m 'ajoute nan, mwen isit la.
Nou kounye a gen ke yo te printf pase ke valè kontneur.
Ak sa ki k ap pase yo konte moute nan?
ODYANS: 50.
50.
49.
DAVID J Malan: 49.
Se konsa, 50, nan premye gade, sanble dwat.
Men, sa, li vire soti, a pwal kondisyon nou ke nou kenbe tcheke.
Epi nou ap ale nan sispann yon fwa mwen se pa mwens pase 50.
Se konsa, sa bouk, Kontrèman, ta dwe egzekite, toutotan mwen se mwens pase 50.
Men, le pli vit ke li vin 50, oswa 51, oswa pi mal, li ta dwe sispann otomatikman.
Tout dwa.
>> Se konsa, sa k ap pase aktyèlman isit la?
Se konsa, sa a se lòd la operasyon pou yon riban.
Youn, ou gen la sa yo rele inisyalizasyon.
Sa a moso jòn make nan kòd se egzekite premye,
epi li gen efè a ki, pou chak Mèkredi, pwobableman ou imajine.
Li kreye yon varyab rele mwen epi li magazen nan varyab sa valè a 0.
Se konsa, mwen se 0 nan pwen sa a nan istwa a.
>> Bagay nan pwochen ki k ap pase nan konstwi sa a,
se ke vin kondisyon an w tcheke yo.
Se konsa, mwen tcheke imedyatman, se mwen mwens pase 50?
Ak nan kou, repons lan pou kounye a se, siman, wi.
Wi, paske mwen se 0, ak sa a, se siman mwens pase 50.
Lè sa a, sa k ap pase, se ke sa a liy nan Kòd vin egzekite.
Ak an reyalite, si gen nan plizyè liy nan kòd nan sa yo aparèy òtopedik Curly,
yo tout jwenn egzekite youn apre lòt.
>> Ak nan efè a isit la, se aparamman, ekri ak lèt ​​detache soti
m nan nimewo, ki se ale nan gen 0, ak Lè sa a 1, ak Lè sa a 2.
Men, poukisa?
Poukisa pou l 'debarase enkremante?
Oke, bagay la katriyèm ki k ap pase se ke sentaks sa a
vin egzekite, apre yo fin virgules la.
mwen ++ se yon fason steno pou li di; pran valè a nan mwen, epi ajoute 1 a li;
ak Lè sa a pwochen fwa a alantou, ajoute 1 a li; ak pwochen tan an alantou li,
ajoute 1 nan li.
>> Se konsa, si nou kenbe prale a, sa k ap pase rive
pwochen se Mwen pa ale nan inisyalize mwen tout tan tout tan ankò.
Si mwen te kenbe inisyalizin m nan 0, egzanp sa a
pa janm fini paske ta mwen ta dwe kole nan 0.
Men, sa ki ki pral rive se ki pral kondisyon an dwe tcheke,
pral liy lan nan kòd debarase egzekite, pral m nan dwe enkremante,
pral kondisyon dwe tcheke, Kòd pral jwenn egzekite.
Epi, se te kenbe monte bisiklèt ankò, e ankò, e ankò,
jouk mwen ++ antren yon valè de 50.
>> Kondisyon nan Lè sa a, di, se 50 mwens pase 50?
Repons lan, nan kou, pa gen okenn, ak se konsa kòd la antye sispann egzekite.
Men, si ou gen plis Kòd sou ekran an desann anba a, sa a, se sa k ap pase a.
Li Pops soti nan sa yo aparèy òtopedik Curly ak kontinye ap enprime plis apre sa.
>> Se konsa, kounye a yon blag, ki soti nan Foxtrot, ki ou pral petèt kounye a konprann.
Li nan toujou amizan.
Se tankou chuckles yo kalite pénétrer,
ak Lè sa a ou reyalize ou pa ta dwe gen ri nan imè tankou sa a.
Men, gen kèk Takeaway isit la, pedagojik, tou.
Se konsa, li sanble ke mwen se manke yon moso nan sentaks,
oswa Foxtrot nan manke yon moso nan sentaks isit la.
Ki sa ki nan manke, ke nou te gen nan tout lòt egzanp, konsa byen lwen?
Retounen, ki gen la, se konsa sa a, se yon lòt bagay,
ke nou pral tounen vin jwenn anvan lontan.
Ki sa ki nan manke, menm si?
Yeah.
>> ODYANS MANM: nan inisyalizasyon a [fèbl].
>> DAVID J Malan: OK.
Se konsa, yeah.
Se konsa, aktyèlman, sa a is-- Oke, ak konte se inisyalizèd
moute pi wo a, ou pito, te deklare moute pi wo a.
Se konsa, sa a se yon lòt fason pou fè li.
Men, pa nan yon sèl liy li a valab menm si.
Kouman sou isit la?
>> ODYANS MANM li: Eske se aparèy òtopedik yo Curly?
>> DAVID J Malan: Yeah.
Se konsa, aparèy òtopedik yo Curly yo ki disparèt.
Men, kòd sa a, mwen vle di, nan kredi yo, se aktyèlman, syntactically ki valid.
Li sanble soti, ou pa fè sa bezwen aparèy òtopedik yo Curly
si ou sèlman gen yon sèl liy nan kòd ki ou vle egzekite andedan nan riban an.
Koulye a, nou toujou, nan klas ak nan tout nan kòd distribisyon nou an,
gen ladan aparèy òtopedik yo Curly de tout fason, jis pou dedomajman pou clarté nan.
Men, reyalize ke nan liv lekòl ak sou entènèt egzanp,
ou ka trè byen wè Curly aparèy òtopedik manke nenpòt moman.
Epi sa a, OK, si sa ou te dantle ak entansyon
se jis yon sèl liy nan kòd, epi yo pa liy miltip nan kòd, ki kapab.
Tout dwa.
Se konsa, ki gen rapò ak pwoblèm nan de enpresizyon, se yon pwoblèm nan debòde,
nan sans ke, Menm jan tou, nonm antye relatif gen limit yo
jis tankou valè pwen k ap flote?
Nan mond lan yon pwen k ap flote valè, nou kapab fèt sèlman se konsa egzak,
apre yo fin ki, pafwa move bagay ka rive,
ak pwogram nou an ka buggy ak erè.
Koulye a, menm avèk nonm antye relatif, ou ka kouri antre nan pwoblèm.
Koulye a, yon nonb antye relatif pa gen yon pwen desimal oswa nimewo apre li.
Se jis nan yon nimewo natirèl, tipikman.
Se konsa, sa t 'ka ale mal ak yon int?
Si mwen lè l sèvi avèk yon int konte, sa ki ta ale mal?
Sanble yon anpil ki pi senp.
Yeah.
>> ODYANS MANM: Si nan Nimewo vin [fèbl]
>> DAVID J Malan: Yeah.
E si ou konte tèlman wo, ke ou pa ka eksprime ke nimewo reyèlman gwo.
Dwa?
Nan kèk pwen, w ap ale dwe depase limit yo
nan yon valè 32-ti jan oswa yon valè 64-ti jan.
Koulye a, ankò, mwen pa fin sèten ki jan yo fè konnen se yon valè 64-ti jan,
Men, mwen konnen ki gen yon nonb antye relatif 32-ti jan, valè nan pi gwo li kapab,
si li nan sèlman pozitif valè, se apeprè 4 milya dola.
Se konsa, si mwen eseye konte a 5 milya dola, yon bagay ki pwal pase.
Men, kite a wè sa ki, an reyalite, ka rive.
Nan mond lan nan nonb antye relatif debòde, kote ou, nan yon sans,
debòde kapasite a nan yon nonb antye relatif, sa ki ka rive?
>> Se konsa, isit la nan yon nimewo binè, li nan yon throwback nan 0.
Li nan tout 1 a, ak placeholders yo la, se pouvwa nan 2,
kidonk sa a se binè.
Se konsa, sa yo, se 8, 1 Bits sou ekran an.
Men, si ou sonje oswa ou byen vit fè matematik la,
se sa ki valè ke yo te reprezante isit la ak sa yo uit 1 Bits?
255.
E menm si ou te pa byen asire nan matematik la, ou ta ka fè li soti.
Ou ou te kapab jis kalite nan rezon ki fè nan li,
rete tann yon minit, si mwen se reprezante yon valè 8 ti jan,
ak mwen te gen 256 valè posib, men premye a nan yo ki se 0,
Mwen jis konnen ke nan pi gwo a pwal 255,
ak se sa ki yon sèl sa a te vle di.
>> Se konsa, ta kwè mwen eseye ajoute 1 nan valè sa a.
Ki sa ou ta fè nan klas yo lekòl lè ajoute yon 1, epi li
pa reyèlman anfòm paske ou gen yo pote 1 an?
Ki sa ki se sa a pral nimewo yo vin lè ou ajoute 1?
Li k ap pase yo vin 0.
Dwa?
Paske si ou te gen plis bits-- ak mwen pral eseye, kalite, tape li soti isit lan--
si nou te gen plis Bits, ki sa nou ta ka fè isit la se ajoute 1 a,
ak Lè sa a nou ta jwenn sa a.
Whoops.
Nou ta gen yon ti jan 1 tout wout la sou isit la.
>> Men, si sa a se yon fini valè, li nan sèlman 8 Bits,
e ke sa a pre-detèmine pa òdinatè a,
ke 1 se efektivman pa la.
Li jis kalite tonbe nan yon falèz.
Se konsa, si ou ajoute 1 a 255, ki sa valè ou aparamman jwenn?
0.
Se konsa, nimewo aksidantèlman, e petèt, san,
fini vlope alantou tankou sa a.
Se konsa, sa kapab enplikasyon a nan sa a?
Oke, gen nan yon bagay kèk diferan.
Se konsa, yon sèl, li leve je l 'fini tankou 0, envolontè,
men ou ka kalite wè, menm nan mond reyèl la,
pou pi bon oswa pou vin pi mal, manifestasyon nan ide sa a nan yon limit.
Pou egzanp, nenpòt nan nou ki te janm te jwe Lego Star Lagè,
nenpòt moun ki rive konnen la pou maksimòm kantite pyès monnen
ou ka kolekte nan Lego Star Lagè?
Pran yon devine ki baze sou kesyon dirijan jodi a la.
Li nan pi gwo pase 256 oswa 255.
Li nan 4 milya de dola.
Se konsa, li vire soti, li gen nan kèk people--
kèk googling konfime night-- dènye gen vinn 4 milya de dola pyès monnen lò,
oswa etajèr, nan Lego Star Lagè.
Menm si aparamman, gen nan yon fason fè je chèch ak jwèt la,
gen nan yon ensèk oswa karakteristik, ki pèmèt ou jis akimile anpil ak anpil pwen.
Men, pi gwo posib la valè, selon
nan sa a piki ekran nan yon moun mwen jwenn sou entènèt, se vre, 4 milya dola.
>> Koulye a, poukisa se sa?
Li nan jisteman 4 milya de dola, pwobableman paske yon moun deside,
ki moun ki te ekri jwèt sa a, yo ke yo ta ka fè 4 milya de dola,
yon bagay, yon bagay, yon bagay, tankou valè a mwen mete
ak kalkilatris a pi bonè, men li nan jis yon ti kras cleaner pou moun
yo di la pou maksimòm a coins-- oswa poto,
menm jan yo rele them-- ke ou ka kolekte se 4 milya dola.
Se konsa, poukisa se sa a?
Ki jan se jwèt la LEGO mete ann aplikasyon kontwa an
ki nan kenbe tras nan la kantite pyès monnen ou genyen?
Yo ap lè l sèvi avèk ki sa?
ODYANS MANM: Li sispann konte apre 4 milya dola.
DAVID J Malan: Li sispann konte apre 4 milya dola,
ki vle di ou ka dégager, kòm yon pwogramè,
ke yo ap pwobableman l sèvi avèk yon nonb antye relatif 32 ti jan.
Fè tankou pwogramè a literalman jis tape, int, nan kòd li,
e ke sa a ki kalite varyab ki yo ap lè l sèvi avèk nan magazen Kòd yon moun.
Se konsa, gen nan lòt manifestasyon a sa yo kalite limit.
>> Se konsa, mwen pa gen te jwe sa a game-- epi mwen te lekti moute sou istwa a
nan konfime kòm much-- men nan la orijinal vèsyon nan Sivilizasyon, kote
ou aparamman kominike youn ak lòt epi yo ka goumen oswa ki gen kè poze,
Gandhi te sipoze yo dwe youn nan karaktè yo ki pi lapè, jan mwen
konprann li, nan premye a vèsyon nan Sivilizasyon.
Ak an reyalite, sou yon echèl nan 1 a 10, avantur l 'te jis yon 1.
Se konsa, janm konsa léjèrman agresif, aparamman.
>> Men, nan kèk pwen, ou ka aparamman enstale demokrasi nan jewografi ou yo.
Men, si ou enstale demokrasi nan vèsyon ou nan jwèt la,
Lè sa a, nivo agresyon ou ale desann.
Li se yon bon bagay.
Moun yo gen plis trankil aparamman, nan ki sitiyasyon.
Men, aparamman, yon moun te fè pa gen yon, si, kondisyon
nan vèsyon orijinal la nan kòd la.
>> Se konsa, nivo agresyon Gandhi a te ale soti nan pozitif 1, moins 2, nan negatif 1,
men jwèt la pa fè sa konprann nimewo negatif.
Se konsa, sa ki te pase te agresyon Gandhi a nivo te ale soti nan 1, nan 0, nan negatif 1,
ki te gen efè a nan vlope alantou yo te
pèsonaj la pi agresiv nan jwèt la, nan yon valè de 255,
sou yon echèl nan 1 rive nan 10.
E depi lè sa a, gen nan te plis enkarnasyon nan jwèt sa a,
epi yo te kenbe li kòm yon sòt de Pak ze,
ki Gandhi se aparamman se konsa fò anpil agresif.
Men, li te rezilta a nan yon trè senp erè pwogram
nan ki vèsyon byen bonè nan jwèt la.
>> Koulye a, plis enkyetan, plis dènyèman, Boeing a 787
te dokimante tankou ke li gen yon ensèk, pa ki kalite aparèy
ou patikilyèman vle gen yon ensèk.
Apre sa, sentòm yo, ki mwen pral li isit la, ki soti nan yon atik sou entènèt,
te sa a, yon modèl 787 avyon ki te mache ak pil kontinyèlman
pou 248 jou ka pèdi tout altène aktyèl la, AC,
kouran elektrik, akòz inite yo kontwòl dèlko,
GCUs, ansanm pral antre nan mòd Echèk-an sekirite.
Se konsa, sa a te yon avètisman bay lè yo te dekouvri pwoblèm sa a.
Se kondisyon Sa a te lakòz pa yon vann san preskripsyon lojisyèl,
entèn yo GCUs a, se konsa yon nonb antye relatif oswa yon varyab,
ki debòde volonte apre 248 jou ki gen pouvwa kontinyèl.
Boeing se nan pwosesis la nan devlope yon ajou lojisyèl GCU ki
pral remèd kondisyon an danjere.
>> Se konsa, anpil tankou misil a senaryo, kote
yo te gen kèk kalite varyab ki te konte, ak konte,
yo epi konte, men piti piti debòde limit yo nan kapasite li yo,
Menm jan an tou te fè avyon an modi gen yon debòde varyab
apre ase tan nan kouri.
Se konsa, wout la lang-an-yon souflèt nan travay alantou pwoblèm sa a
se vre wi:, rdemare, avyon ou chak 247 jou, se konsa ke vin memwa a siye
ak varyab la ale tounen nan 0.
Men mwen reyalize, sa a se yon trè gwo enkarnasyon nan lojisyèl,
men espesyalman jan nou tande pale de Apple la opere sistèm pral antre nan machin,
ak pwòp tèt-kondwi machin soti nan Google, ak nenpòt ki kantite enkarnasyon nan lojisyèl
nan lavi chak jou nou an, televizyon ak mont, ak plis ankò,
reyalize te antoure pa lojisyèl, tout nan yo ki ki ekri pa nou moun.
>> Ak jan nou pral tout byento dekouvri, li trè fasil ak anpil tipik
fè erè lè li ap ekri lojisyèl.
Men, si ou pa trape yo, kèk move bagay ka rive.
Koulye a, pafwa, kèk bagay komik ka rive,
oswa omwen pafwa nou konnen ou kapab espere kèk mechanste.
Se konsa, 0 divize pa 0, ki soti nan klas yo lekòl, se jeneralman yon move bagay.
Li nan endefini.
Epi li vire out-- e kite yo wè si MIC mwen ka chwazi sa a leve- ke Apple
te gen kèk plezi ak sa a dènyèman.
Se konsa, mwen gen yon ifon isit la.
Mwen pral pale ak Siri epi mande l ' ban m 'repons lan nan 0 divize pa 0.
Ki sa ki 0 divize pa 0?
>> Siri: Imajine ke ou gen 0 bonbon, epi ou fann yo respire
nan mitan 0 zanmi.
Konbyen bonbon chak moun jwenn?
Wè?
Li pa fè sans.
Apre sa, bonbon mons se tris ke pa gen okenn bonbon.
Epi ou yo tris ke ou pa gen okenn zanmi yo.
DAVID J Malan: Li nan kalite insuportabl.
Se konsa, sa a se sa ki te jis te di a.
Li nan endetèmine, li pa nan defini, ak tout bon, lang programmation anpil
oswa, reyèlman, konpilateur pral detekte lè ou, nan yon pwogram,
eseye divize pa 0 0.
Plezi pi plis pase si sa a, se ki aparamman, bonbon mons
se sou Twitter jou sa yo.
Apre sa, li te reponn a sa a, ak sa a, ki se absoliman adorabl.
Men, kite a pran yon gade rapid nan yon koup la lòt konstwi,
ak Lè sa a mete kèk nan sa a Kòd yo sèvi ak, nan bon fason.
Se konsa, li vire soti, san konte pou pasan, gen nan
yon bagay yo rele yon riban pandan y ap, ki sanble diferan ak se aplike
yon ti kras differently-- ak nou pral evantyèlman wè examples--
men nan kèk sans, li nan pi senp paske li
pa pèmèt ou inisyalize ak aktyalizasyon nan fwontyè a nan bouk la.
Ou ka toujou aplike li.
Se konsa, ou kapab fè bagay sa yo egzak menm ak yon riban pandan y ap, menm jan ak yon pou riban,
men sentaks ou, ultimately-- kòm nou pral evantyèlman
see-- a pwal diferan.
Genyen nan menm yon fè pandan y ap riban, ki se aktyèlman yon ti kras diferan,
nan ki tandiske yon pou riban ak yon riban pandan y ap toujou
tcheke kondisyon yo an premye, si w ap li sa a sou tèt bagay jouk anba,
li kalite sanble li k ap pase yo tcheke kondisyon li nan dènye paske li nan
se vre wi: liy ki sot pase a nan kòd.
Ak tout bon, ki k ap pase yo dwe itil nan sèten pwogram ke nou ekri,
si ou vle jis je fèmen fè yon bagay ak evantyèlman tcheke kondisyon an.
Sa a pa nesesèman yon move bagay.
Si nou vle varyab, nou ka fè l 'nan yon koup la diferan fason.
Apre sa, nou te wè nan Foxtrot nan desen ki pi ba, yon fason pou fè li,
kote ou deklare varyab ou a, tankou int kontwa virgules,
ak Lè sa a later-- petèt pwochen an liy, petèt 10 liy later--
ou aktyèlman inisyalize li.
Se konsa, sa yo 2 liy nan kòd deklare yon varyab nan kalite int
ak rele li vann san preskripsyon, se konsa li bay m 'ase Bits yo kenbe yon int.
Lè sa a, evantyèlman, li mete valè a 0 nan ki varyab.
Li fè aranjman la a 0 a ak 1 nan yon modèl, ke nou konnen soti nan semèn pase a,
reprezante nimewo a nou konnen kòm 0.
Ou franchman, ou ka fè sa a anpil plis suksen, jis renmen sa a.
>> Koulye a, nou menm tou nou gen nan kapasite yo rele fonksyon.
Ak an reyalite, isit la nan yon liy 2 pwogram, oswa yon ekstrè ladan l ',
ki pèmèt nou aktyèlman ekri kèk kòd ki
vin yon fisèl soti nan user-- la pi tankou volontè nou an yon ti moman ago--
estoke rezilta a nan yon varyab rele,
ak then-- anpil tankou ak volontè nou an ak simagri printf soti valè sa yo
pa pase nan de agiman, nan fisèl, ki te swiv pa varyab la
rele, non, tèt li.
Se konsa, kite a pran yon gade, anvan nou tounen vin jwenn Mario la,
Yon koup la kounye a, egzanp sou sa a.
>> Mwen pral ale pi devan epi louvri leve, kite a di, fonksyon-0.c.
E kòm toujou, kòd sa a se disponib sou sit entènèt kou a nan,
pou ou ka jwe ansanm nan kay ak gade nan li pita.
Men, isit la pwogram nan nan li a sans, soti nan liy 17 a 22.
Pwogram nan prensipal se kote a pwogram se toujou ale nan kòmanse.
Pwogram sa a, aparamman, ki pral ekri ak lèt ​​detache soti non ou, kolon.
Li nan Lè sa a, pral rele GetString, jis tankou nou te fè ak volontè nou yo.
Lè sa a,, sa a se enteresan, li k ap pase yo rele PrintName.
Li sanble soti, tout tan tout tan sa a, gen sanble gen yon fonksyon rele PrintName.
Sa simagri Non yon moun.
Nou pa t 'bezwen sèvi ak printf soti nan pase, gen nan PrintName.
>> Men, sa a bay manti paske pa fè sa PrintName
vini ak C. Moun pa t ' envante li kèk 40 oswa 50 ane de sa,
Mwen te fè, olye.
Lè an reyalite, si mwen woulo liv desann pi lwen, avi
ki jan mwen ka ekri pwòp mwen fonksyon nan C. Nou pral evantyèlman
eksplike poukisa nou kenbe li di: anile, nan yon kote kèk,
men pou jodi a, se pou yo jis gade nan non an.
>> Sou liy 24, si ou vle kreye fonksyon pwòp ou a,
ou literalman ekri nan non nan fonksyon an.
Mwen te chwazi PrintName.
Nan parantèz, ou Lè sa a, presize ki sa kalite
nan entrain, e ki jan anpil ou vle fonksyon sa a ou dwe pran.
Nan ka sa a, mwen vle pran 1 varyab rele, non,
epi li k ap pase yo dwe nan kalite, fisèl, se konsa li k ap pase
yo dwe kèk sekans nan karaktè.
Lè sa a,, sa a program-- anpil tankou nan grafouyen,
ou ka gen devinèt koutim pieces-- ki pral gen konpòtman koutim sa a.
Li nan ale nan rele printf pase nan, hello, kontneur,
ak Lè sa a li pral yo ploge nan tou sa itilizatè a rele.
>> Se konsa, sa a se yon egzanp nan sa ki yon syantis òdinatè ta
distraksyon apèl oswa fonksyonèl dekonpozisyon yo, ki se jis
fason anpenpan nan saying-- Èske si ou renmen sa a lide wo nivo,
tankou mwen vle fonctionnalités ki simagri Non yon moun nan, absoliman ou
ka literalman ekri printf ak Lè sa a pase nan agiman yo ou vle,
ak pwogram nan pral travay, kòm li gen depi Mèkredi.
Men, ou ka kòmanse abstrè lwen nosyon de enprime yon non.
Ou ka bay li yon non, tankou PrintName, ak sa a
se lide sa a nan stratifikasyon soti nan semèn 0.
>> Koulye a, mwen epi ou pa gen konnen oswa pran swen ki jan PrintName se aplike.
Wi li itilize printf, petèt li pa fè sa, ki moun ki konnen sa ki sèvi ak?
Ki moun ki gen sousi?
Koulye a, mwen ap pale moute isit la, olye pou yo desann isit la.
Ak tout bon, kòm pwogram nou jwenn pi avanse ak sofistike,
nou ap ale nan kenbe pran pou yo akòde ki moso devinèt pi ba nivo egziste.
Paske nou ekri kòmandman sa yo oswa yon lòt moun te fè, se konsa
ke nou ka Lè sa a bati sou tèt yo.
Se pou nou pran yon gade nan sa a Variant, fonksyone yon sèl.
>> Se konsa, yon sèl sa a nan yon ti kras pi plis avanse, men li vire soti
ki nan bibliyotèk CS50 a, gen nan sèlman yon fonksyon GetInt.
Nou pa t 'panse, ane de sa, nan aplike yon fonksyon GetPositiveInt.
Epi sa a, yon ti kras anmèdan paske si ou nèg ap ekri yon pwogram dans
ou vle jwenn yon pozitif nonb antye relatif soti nan itilizatè a,
ou ka absoliman itilize GetInt.
Epi ou ka tcheke avèk absoliman kondisyon an ak petèt yon bouk
si sa int gen plis pouvwa pase 0 ak rele nan itilizatè a
si li pa bay ou yon nimewo ki pozitif.
Men, kite a bati sa a bilding bloke tèt nou, yon,
moso Grafouyen koutim, si ou pral.
Mwen pral gen yon pwogram isit la ke finalman, mwen
vle pou kapab rele GetPositiveInt, e mwen vle yo dwe
kapab enprime soti tou sa ki int se.
Men, sa a se distrè lwen kounye a.
Li nan jis te bay yon nivo segondè Non ki di ki sa li fè,
ki se bèl bagay paske li nan trè entwisyon kounye a li.
Men, si m 'fè swen sa ki nan anba kapo a, kite m 'woulo liv desann.
Lè li nan yon ti kras entimidasyon an premye, espesyalman
si sa a se pwogram premye ou a, men kite a pran yon gade.
>> M 'ap pa gen okenn ankò li di: anile, paske li vire soti fonksyon,
anpil tankou GetString, kapab retounen yon valè m '.
Yo pa jis gen ekri ak lèt ​​detache nan ekran an,
yo ka aktyèlman men m 'yon bagay tounen.
Apre sa, Lè nou konsidere ke anvan PrintName, Mwen pa t 'bezwen anyen tounen.
Mwen te bezwen efè a bò nan yon bagay ki montre moute sou ekran an,
men mwen pa t 'bezwen yon moun nan men m 'yon bagay tounen.
Isit la, ak GetPositiveInt, tankou ak GetInt,
Mwen vle yo dwe remèt yon bagay tounen.
Se konsa, mwen ap di se pa sa, anile, sou liy 23, men int,
ki di, sa a fonksyon ke mwen ekri,
rele GetPositiveInt ki pral men m 'tounen yon nonb antye relatif, pa pa gen anyen,
pa anile.
>> Pandan se tan, li la pral pran pa gen okenn entrain, se konsa mwen te, kalite, ranvèse li.
Mwen pa bay nenpòt ki GetPositiveInt D ', mwen vle li nan ban m' pwodiksyon li yo.
Lè sa a, sa k ap pase kounye a?
Se konsa, isit la nan ki jan mwen ka deklare yon varyab.
Mwen te fè li an deyò nan riban an, pou rezon nou pral evantyèlman wè,
men sa a jis bay mwen 32 Bits yo rele, n,
ak mwen te pre-detèmine yo nan magazen nonb antye relatif.
Ak isit la nan sa, pandan y ap konstwi fè, e sa se poukisa li a itil.
Literalman fè sa, pandan y ap n se mwens pase 1.
Se konsa, kite a wè sa ki rive.
Mwen enprime soti, tanpri ban m 'yon int pozitif.
Mwen lè sa a jwenn yon int, lè l sèvi avèk CS50 nan fonksyone ak ki estoke nan n.
>> Lè sa a,, ki sa liy nan Kòd pwobableman vin egzekite kap vini an, lojikman?
Ki liy nimewo?
Yeah, se konsa 31.
Ou pa ta konnen sa a jouk ou te te di oswa sòt de dégager li,
men sa a vre.
Li ale anwo jouk anba ak Lè sa a kenbe repete.
Se konsa, si mwen te tape nan di, nimewo a negatif 1, se n mwens pase negatif 1?
Yeah.
Paske negatif 1 se mwens pase 1.
Se konsa, sa ta dwe rive?
Mwen pral fè sa pandan y ap n se mwens pase 1,
se konsa mwen pral pou tounen nan liy 28.
>> Epitou, chak time-- e kite yo kouri sa a men fè fonksyon 1 a konpile li,
e kounye a, dot koupe fonksyon 1.
Si m 'tape negatif 1, li nan ale nan kenbe tap rele ke nan m '
jouk tan mwen kolabore paske chak nan entrain mwen an se mwens pase 1
epi si li nan pandan y ap mwens pase 1, Mwen pral kontinye ap fè sa a.
Si m 'finalman bay li yon nimewo tankou 50, Erezman, li di, mèsi pou 50 an.
Poukisa?
Paske le pli vit ke n se pa pi piti pase 1, mwen sispann resevwa kole nan sa a riban,
ak nouvo mo kle sa a jodi a, retounen, literalman fè sa.
Se konsa, mwen te jis aplike, nan yon sans, ekivalan a nan GetString,
kote mwen Distribiye tounen nan moun ki va ap itilize ap itilize m ', gen kèk valè.
Li pa dwe fè yon fisèl, li nan yon int.
Se konsa, yon senp, rapid egzanp, men nou pral byento
wè kèk pi plis sofistike vèsyon toujou.
An reyalite, kite a pran yon gade nan yon nimerik youn, ki te rele return.c.
Apre sa, yon sèl sa a nan aktyèlman yon ti kras ki pi senp.
Se konsa, objektif pwogram sa a nan nan life-- kite nan konpile epi kouri li,
se konsa asire retou, dot koupe, avi return--
pwogram lan tou senpleman kib valè a 2.
Li nan bèl estipid, li difisil Kòd, li pa pran okenn entrain,
men li fè sa demontre yon lòt fonksyon ki mwen te ekri tèt mwen.
Se konsa, isit, mwen te deklare yon varyab, ki rele x, nan kalite int,
egal a nimewo a 2, konplètman abitrè.
Sa a se jis kèk enprime an gonfle.
Li di x se kounye a, sa yo ak sa yo, cubing dot dot dot.
Apre sa, majik la se aparamman nan liy 21.
M ap rele yon fonksyon rele, kib, M 'ap Distribiye li yon fèy papye
ak 2 an kantite ekri sou li, ak sa ki valè, matematik,
Mwen vle jwenn soti nan li?
Menm jan yon chèk saniti?
8.
Dwa?
Mwen vle 2 Gleason tounen, 2 a pouvwa a nan 3, se konsa 8 tounen.
>> Se konsa, ki kote kib aplike?
Oke, remake li nan aplike desann isit la.
Apre sa, jis tankou anvan, lojikman, menm si sentaks la se pwobableman
trè nouvo nan anpil nan nou, Mwen vle fonksyon sa a
nan men m 'tounen yon fèy papye an papye avèk yon int sou li.
Se konsa, mwen gen yon int a, non se abitrèman,
men yon bon rele kib.
D 'a nan li, se n nan tape nonb antye relatif, se konsa sa a, se
ki jan mwen ka pase nan kantite 2 sou yon fèy papye.
Lè sa a, li vire soti C sipò matematik, pou w pa gen x a pou fwa,
ou jis itilize asterisk nan pou miltiplikasyon.
Lè sa a retounen fwa n fwa n n, ki se tou senpleman se yon valè Gleason.
>> Se konsa, kote nou prale ak tout bagay sa yo?
Sa a se definitivman yon gwo toubouyon vwayaj, rès asire,
ke nan seksyon yo ki super ak nan pwoblèm mete 1,
ou pral te mache nan tout tout bagay sa a tout plis la.
Ak nan pwoblèm mete 1, nou pral tranzisyon soti nan mond lan nan grafouyen grafik
nan yon bagay plis liy lòd nan C. Men, nou pral trase enspirasyon
sa a soti nan isit la jwèt soti nan pase, dans
lè l sèvi avèk C ak edisyon an estanda nan la p seri ou pral aplike piramid Mario la.
Ak nan edisyon an HACKER a nan p seri, si ou se konsa chwazi yo eli,
ou pral aplike yon ti jan pi plis defi piramid ak de tèt.
Ou ap tou aplike yon algorithm, se yon algorithm visye.
Li sanble yo deyò nan kèk lojik enteresan
dèyè pwosesis la nan kouri estasyon yon kesye nan
ak aktyèlman Distribiye yon moun chanjman tounen.
Gen yon algorithm sa a, se san patipri senp, ke ou ta ka menm
atrab entwitif lè w ou fèk li l-- ka akonpli se sa ki Mwen te toujou
fè nenpòt ki lè mwen te bay yon moun kèk back-- lajan ki pèmèt ou toujou
misyon pou minimize kantite a nan nòt papye oswa pyès monnen metal
ke w ap Distribiye tounen nan itilizatè a.
Lè sa a, nan kou, se irezistib paske si ou ale nan CVS oswa etajèr,
ou pa vle yo dwe men yon pakèt tout nan yo menm
oswa yon pakèt antye nan peni.
Ou vle mwens nan monnen, pwobableman, posib.
>> Finalman, ou pral tou gen pou defye travayèz nan mond lan nan dlo
ak aktyèlman jwenn yon apresyasyon pou yon kat ant kantite moun ki gen koule,
a renmen, dlo nan yon douch, jis ki kantite dlo yo itilize.
Apre sa, alizyon a ladan l ', yo pral sa a clip isit la,
ki nou pral fini sou pou jis 60 segonn, ki
pentire yon foto nan ba-koule douch branch.
>> [VIDEO lèktur]
-Tout Dwa.
Mwen te resevwa tout bagay isit la.
Mwen te resevwa F Seri an Cyclone, Hydra, Jetflow, Stockholm
Supersteam, ou non li.
>> -epi Sa ou rekòmande?
>> -Ki Moun n'ap chache?
>> -pouvwa Moun.
Pouvwa.
-tankou Silkwood.
-ki A pou radyasyon.
-ki A dwat.
-Koulye Ki sa ki sa a?
-ki Nan kòmando nan 450.
Mwen pa vann tou sa yon sèl.
>> -Men, Se sa ki nou vle.
Li se yon kòmando 450.
>> -Pa Gen kwè mwen.
Li nan sèlman itilize nan sirk la.
Li nan pou elefan.
>> -I'll Peye anyen.
>> -Ki Sou Jerry?
>> -Li Pa t 'kapab okipe sa.
Li se delika.
Oh yeah.
[END lèktur]
DAVID J Malan: Tout dwa.
Sa a si pou CS50.
Nou pral wè ou an semèn pwochèn.
>> Oratè 1: [? Scully?], [? Ian,?] osi lwen ke pwojè outro sa a,
Kisa ou mesye vini ak?
>> Oratè 2: Bon, nou te bay li yon varyete de panse,
epi nou panse ke fason ki pi bon to--
>> Oratè 3: May mwen?
>> Oratè 2: Yeah.
Pa tout vle di, aktyèlman.
>> Oratè 3: Se konsa, mwen panse ke nou ka sòm moute lide nou
pou outros yo ak yon sèl pa gen anyen pawòl la-.
>> DAVID J Malan: Pa gen anyen?
Oratè 3: Pa gen anyen.
DAVID Malan J: Ki sa sa vle di?
Oratè 3: outros yo se sou pa gen anyen.
Oratè 2: Bon, mwen vle di, nan filozofi, Mwen vle di, pa gen anyen ki toujou yon bagay.
Oratè 1: Se konsa, what's-- sa ki nan site a?
Oratè 3: Se konsa, li la tankou lavi.
OK.
Ki sa ou te fè jodi a?
>> DAVID J Malan: Mwen te resevwa moute, te gen manje maten, y 'al nan travay.
>> Oratè 3: Sa a yon outro.
Oratè 2: Men, mwen vle di, pa ta dwe yon bagay rive l 'sou the--
Oratè 3: Non, pa gen okenn, pa gen okenn, pa gen okenn.
Pa gen anyen k ap pase.
>> Oratè 1: Se konsa, poukisa yo nou ap gade?
>> Oratè 3: Paske li nan yon outro pou CS50.
>> DAVID J Malan: Pa ankò.