>> DAVID J. MALAN: Bu CS50 edir v蓹 Bu h蓹ft蓹 d枚rd ba艧lan臒谋c.
V蓹 o臒lan, Volkswagen edir 莽眉nki proqram narahatl谋q.
Biz蓹 n蓹z蓹r salaq.
[Video playback]
-Avtomobil, Ak谋ll谋ca simvol Tez v蓹 Furious film.
Bu h蓹ft蓹 Alman avtomobil Volkswagen 枚z眉n眉 a艧kar
bir qalmaqal ortas谋nda potensial cinay蓹t nisb蓹td蓹.
>> -Volkswagen Milyardlarla m枚hk蓹ml蓹tm蓹 edilir c蓹rim蓹l蓹r, m眉mk眉n cinay蓹t
onun Y枚neticiler 眉莽眉n, kimi 艦irk蓹t 眉zr
11 milyon avtomobil takelaj 眉莽眉n Bu emissiyalar谋 test d枚ym蓹k k枚m蓹k edir.
>> -Certain Dizel modell蓹ri idi inki艧af etmi艧 proqram il蓹 n蓹z蓹rd蓹
o c眉ml蓹d蓹n istifad蓹 m蓹lumat s眉kan v蓹 avtomobilin m枚vqeyi
avtomobil idi m眉蓹yy蓹n etm蓹k 眉莽眉n s眉r蓹tli emissiyalar谋 test ke莽ir.
Ki halda, m眉h蓹rrik z蓹h蓹rli emissiyalar谋 azaldacaq.
Amma avtomobil bypass 眉莽眉n saxta edildi ki, idar蓹 olunur zaman.
Emissiyalar谋 40 10 artd谋 m蓹qbul EPA s蓹viyy蓹d蓹 yuxar谋da d蓹f蓹.
>> [END playback]
>> DAVID J. MALAN: Bel蓹 ed蓹k bu n蓹z蓹r
v蓹 d蓹qiq nec蓹 g枚r眉r眉k h蓹yata ke莽iril蓹 bil蓹r
v蓹 bu t蓹sir ed蓹 bil蓹r nec蓹 bu kimi bir 莽ox tap谋lm谋艧d谋r.
Bel蓹 ki, m蓹nim t蓹r蓹fd蓹n burada m蓹tbuat ki EPA-- t蓹r蓹find蓹n verilmi艧dir azad
Environmental Protection Agency hans谋
AB艦 t蓹nziml蓹yici agentliyidir ki, 蓹traf m眉hitl蓹 ba臒l谋 emal,
v蓹 sonra faktiki idi K眉nye
Yaln谋z bir ne莽蓹 g眉n 蓹vv蓹l Volkswagen g枚nd蓹rin.
>> Bel蓹 ki, EPA yaz谋r v蓹 indi a莽谋qlay谋r a莽谋q, inki艧af etmi艧 bir proqram
M眉蓹yy蓹n on alqoritm Volkswagen vasit蓹l蓹ri alg谋lar
zaman avtomobil ke莽ir r蓹smi emissiyalar谋 test
v蓹 tam emissiyalar谋 莽evrilir yaln谋z test zaman谋 n蓹zar蓹t edir.
s蓹m蓹r蓹liliyi Bu vasit蓹l蓹rin 莽irkl蓹nm蓹
emissiyalar谋 n蓹zar蓹t cihazlar谋 b枚y眉k var b眉t眉n normal s眉r眉c眉l眉k 蓹rzind蓹 azal谋b
hallar.
Bu cavab Avtomobill蓹rin n蓹tic蓹l蓹rini laboratoriya v蓹 ya test standartlar谋
stansiyas谋, lakin normal istismar谋 zaman谋 azot oxides-- ya NOx-- buraxmaq
q蓹d蓹r 40 d蓹f蓹 standart.
Volkswagen t蓹r蓹find蓹n istehsal software bir quote d谋rna臒谋 ba臒lamaq, m蓹臒lub cihaz,
Clean t蓹r蓹find蓹n m眉蓹yy蓹n edilmi艧 AB艦-da hava Akt谋.
>> Onlar ki, getm蓹k EPA v蓹 ba艧qa agentliyi
m蓹臒lub cihaz a艧kar m眉st蓹qil t蓹hlil edildikd蓹n sonra proqram
Q蓹rb t蓹dqiqat莽谋lar谋 t蓹r蓹find蓹n Virginia Universiteti.
NOx 莽irkl蓹nm蓹 qatq谋 t蓹min azot dioksid, yer s蓹viyy蓹sind蓹 ozon,
v蓹 g枚z蓹l hiss蓹cikl蓹r.
Bu m蓹ruz 莽irkl蓹ndiricil蓹r ba臒l谋 olmu艧dur
geni艧 il蓹 ciddi sa臒laml谋q t蓹sirl蓹ri,
art谋b astma, o c眉ml蓹d蓹n h眉cumlar谋 v蓹 dig蓹r t蓹n蓹ff眉s
kifay蓹t q蓹d蓹r ciddi ola bil蓹r x蓹st蓹likl蓹r x蓹st蓹xanaya insanlara g枚nd蓹rm蓹k 眉莽眉n.
Ozon m蓹ruz v蓹 hiss蓹cikl蓹r d蓹 var
vaxt谋ndan 蓹vv蓹l il蓹 ba臒l谋 olmu艧dur 蓹laq蓹dar t蓹n蓹ff眉s s蓹b蓹biyl蓹 枚l眉m
v蓹 ya 眉r蓹k-damar t蓹siri il蓹 ba臒l谋.
U艧aq, ya艧l谋, insanlar preexisting t蓹n蓹ff眉s x蓹st蓹likl蓹ri
x眉susil蓹 risk var bu 莽irkl蓹ndirici sa臒laml谋q t蓹sirl蓹ri.
>> Kifay蓹tdir kifay蓹t q蓹d蓹r ciddi, dem蓹k deyil.
V蓹 oxumaq 眉莽眉n getm蓹k imkan yaln谋z bir daha pasaj
v蓹 sonra bir n蓹z蓹r laz谋md谋r 蓹sas t蓹siri
bir avtomobil kontekstind蓹 bu.
X眉susil蓹, Volkswagen istehsal v蓹 qura艧d谋r谋lm谋艧
qondarma proqram t蓹minat谋 elektron n蓹zar蓹t
module-- ya ECM-- of hiss bu vasit蓹l蓹r
vasit蓹 眉莽眉n test edilmi艧dir zaman EPA emissiya standartlar谋na uy臒unluq.
O c眉ml蓹d蓹n m眉xt蓹lif giri艧 蓹sas谋nda s眉kan m枚vqeyini, avtomobil
s眉r蓹t, motor-nin m眉dd蓹ti 蓹m蓹liyyat v蓹 atmosfer t蓹zyiqi,
Bu giri艧 d蓹qiq parametrl蓹ri izlenen
眉莽眉n istifad蓹 federal test proseduru EPA sertifikatla艧d谋rma 眉莽眉n emissiyas谋 test
m蓹qs蓹dl蓹ri.
>> EPA emissiya s谋na臒谋 zaman谋, n蓹qliyyat vasit蓹l蓹ri ECM proqram
istehsal proqram qa莽d谋 uy臒un emissiyalar谋 n蓹tic蓹l蓹ri.
B眉t眉n dig蓹r vaxtlarda, vasit蓹 ECM proqram
ayr谋 yol qa莽d谋 a艧a臒谋 kalibrl蓹m蓹
s蓹m蓹r蓹liliyi 眉mumi emissiya n蓹zar蓹t sistemi,
x眉susi selektiv katalitik Lean NOx azald谋lmas谋 trap--
Hans谋 bir anda haqq谋nda g枚r蓹c蓹ksiniz.
NOx n蓹tic蓹sind蓹, emissiyalar谋 10 40 d蓹f蓹 artm谋艧d谋r
EPA uy臒un s蓹viyy蓹d蓹 yuxar谋da drive d枚vr眉 n枚v眉nd蓹n as谋l谋 olaraq.
>> Bu, h蓹qiq蓹t蓹n dem蓹kdir v蓹 bel蓹 n蓹 proqram 莽al谋艧an m蓹nb蓹 kodu
Volkswagen-nin deyil h蓹l蓹 a莽谋q a莽谋qlanm谋r
ki, s蓹m蓹r蓹li, bu ekvivalent daxilind蓹 bir yerd蓹 var
Volkswagen kodu.
茝g蓹r test, v蓹 edilir avtomobilin 蓹g蓹r M眉蓹yy蓹n ekoloji amill蓹r alg谋lar
s眉kan kimi m枚vqe v蓹 ya h蓹r蓹k蓹t
v蓹 ya olmamas谋 avtomobil v蓹 ya onlar谋n dig蓹r amill蓹r h蓹r hans谋 bir say谋
ki, haz谋rda 枚ne olunur Bu formula bir hiss蓹si olmaq 眉莽眉n,
onlar sad蓹c蓹 yand谋rmaq tam emissiyalar谋 n蓹zar蓹t.
Ba艧qa s枚zl蓹, onlar ba艧lamaq 莽irkl蓹ndiricil蓹rin az emitting.
>> Else, h蓹r v蓹ziyy蓹td蓹 Bu kimi a艧kar deyil zaman
Laboratoriyada, onlar yaln谋z deyil.
V蓹 bel蓹 ki, daha bu sad蓹l蓹艧dirm蓹k bil蓹r bir 艧ey il蓹 konkret pseudocode
bunun kimi.
Diskl蓹r d枚n眉艧 ancaq varsa s眉kan, nalayiq deyil
avtomobil b蓹zi edir ki, f谋rlanan silindr c眉r
lakin bir n枚v anbar s谋naqdan ke莽irilir,
sonra kimi davranmaq EPA siz蓹 ist蓹yir蓹m.
茝ks halda deyil.
Bel蓹 ki, bir n蓹z蓹r salaq q谋sa video ki,
n蓹 t蓹siri bir g枚z edir h蓹qiq蓹t蓹n mexaniki bu var.
>> [Video playback]
>> C眉m蓹 -Son EPA a莽谋qlad谋 b蓹zi Volkswagen Audi avtomobil 2009 aras谋nda edil蓹n
v蓹 bu il istifad蓹 qondarma m蓹臒lub cihaz
emissiyalar谋 qanunlar谋 蓹traf谋nda almaq 眉莽眉n t蓹miz hava saxlamaq 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur.
Amma bu d蓹qiq n蓹 dem蓹kdir?
>> Yax艧谋, m眉asir ma艧谋n onlarla onlar谋n i莽蓹risind蓹 komp眉ter.
V蓹 bu komp眉ter b蓹zi funksiyalar谋 koordinasiya k枚m蓹k
optimal 眉莽眉n m眉h蓹rrik performance 蓹min ed蓹rk蓹n
莽ox zibil yoxdur ki, i艧l蓹nmi艧 boru h蓹yata g蓹lir.
Onlar, h蓹qiq蓹t蓹n, i艧 etdik Art谋q bir ne莽蓹 onillikl蓹r 眉莽眉n bu yol.
脺mumiyy蓹tl蓹, h蓹r bir hiss蓹si m眉asir avtomobilin m眉h蓹rrik
sensor v蓹 ya n蓹zar蓹t莽i var bu v蓹 bu komp眉ter
m蓹lumatlar谋n minl蓹rl蓹 oxu 陌kinci edilm蓹si d眉z蓹li艧l蓹r ba艧谋na d蓹f蓹
hava yanacaq nisb蓹ti kimi ki, silindrl蓹r daxil olacaq.
>> Bu x蓹yan蓹t Volkswagen v蓹 Audi modell蓹ri dizel var
v蓹 dizel daha bir var h蓹qiq蓹t蓹n 蓹h蓹miyy蓹tli komp眉ter
var n蓹zar蓹t parametrl蓹ri, ged蓹n yanmam谋艧 yanacaq m蓹bl蓹臒i
i艧l蓹nmi艧 daxil.
陌ndi pis s蓹sl蓹nir.
Siz ist蓹diyiniz kimi s蓹s deyil i艧l蓹nmi艧 ged蓹n yanmam谋艧 yanacaq.
Amma halda dizel, siz bir 艧ey var
bir cihaz bir NOx t蓹l蓹 adl谋 udur v蓹 azot oksidl蓹ri 眉莽眉n t蓹l蓹l蓹rin
莽irkl蓹ndiricil蓹r ki, ki, var ki, ba艧qa atmosfer蓹 getm蓹k.
V蓹 NOx t蓹l蓹 t蓹siri yanmam谋艧 yanacaq il蓹 geni艧l蓹ndirilir.
Bel蓹 ki, bir m蓹臒lubiyy蓹t cihaz x眉susi proqram Bu komp眉ter daxilind蓹 ki, bunu ed蓹 bil蓹rsiniz
avtomobil emissiya cavab kimi baxmaq standartlar谋 bu deyil bel蓹.
Volkswagen onun 蓹lind蓹 bir problem var idi.
Onun dizel m眉h蓹rrikl蓹ri m蓹lum idi b枚y眉k yanacaq iqtisadiyyat谋 almaq 眉莽眉n,
lakin NOx t蓹l蓹 yaln谋z yax艧谋 i艧l蓹yir daha 莽ox yanacaq istifad蓹 edildikd蓹.
Bel蓹 ki, avtomobil, a艧kar olard谋 Bu m蓹臒lubiyy蓹t cihaz istifad蓹 ed蓹r蓹k,
bu emissiyalar谋 蓹ld蓹 zaman test, bu daha 莽ox yanacaq istifad蓹 edir,
yax艧谋 NOx t蓹l蓹 i艧, emissiyalar谋 g枚z蓹l olard谋.
Amma sonra, yolda cihaz almaq s枚n眉r, daha az yanacaq yanan etdiyiniz
lakin kimi 莽ox 40 d蓹f蓹 qoyulmas谋 edirik atmosfer蓹 daha 莽irkl蓹ndirici.
Lakin heck nec蓹 avtomobil oldu臒unu bilirik
emissiyalar谋 uy臒un 眉莽眉n test olunur?
EPA bir m眉r蓹kk蓹b olub 艧eyi yoxlan谋l谋r sistemi
s眉kan m枚vqeyi kimi, s眉r蓹t, m眉h蓹rrik idi nec蓹 uzun,
v蓹 h蓹tta atmosfer t蓹zyiqi.
Ba艧qa s枚zl蓹, var idi he莽 bir yol, bu t蓹sad眉fi idi
proqram idi, 莽眉nki a艧kar etm蓹k 眉莽眉n 莽ox diqq蓹tl蓹 n蓹z蓹rd蓹 tutulmu艧dur
r蓹smi emissiyalar谋 test.
Ki, b蓹zi olduqca ciddi var aldatma v蓹 ki
niy蓹 Volkswagen edir bel蓹 ciddi narahatl谋q.
茝slind蓹, onlar谋n CEO, Martin Winterkorn, yaln谋z a艧a臒谋 basd谋.
>> Bel蓹 ki, n蓹 g蓹l蓹n olur?
Yax艧谋 yar谋m milyon biri ist蓹yirik, 蓹g蓹r dizel Jettas, Beatles, Golfs, Passats,
v蓹 ya Audi A3s, h蓹yata yax艧谋 x蓹b蓹r deyil
ki, Sizin avtomobil s眉r眉c眉 h蓹l蓹 t蓹hl眉k蓹sizdir.
Siz 眉z qoymaq yoxdur Volkswagen geri m蓹s蓹l蓹l蓹ri q蓹d蓹r.
Amma bir anda onlar y蓹qin ki, gedir
Sizin avtomobil daxili proqram yenil蓹m蓹.
Ki, ba艧 zaman bil蓹r tank ba艧谋na az mil almaq.
Lawyers art谋q gearing olunur sinfi f蓹aliyy蓹t iddia 眉莽眉n
bel蓹 sahibl蓹ri kompensasiya almaq bil蓹r g蓹l蓹c蓹kd蓹 m眉蓹yy蓹n m蓹qamda.
Amma ki, etm蓹k niyy蓹tind蓹 deyil tezlikl蓹 ist蓹nil蓹n vaxt ba艧 verir.
>> [END playback]
DAVID J. MALAN: Bel蓹 ki, bu, h蓹qiq蓹t蓹n qald谋r谋r maraql谋 b枚y眉k 艧蓹kil sual
kimi etibar.
Sa臒?
Ham谋m谋z iPhone v蓹 ya Androids v蓹 ya cibimizd蓹 bir 艧ey 莽ox g眉man ki,
bu g眉n, ya noutbuk bizim 蓹t蓹kl蓹rinin
edil蓹n 莽al谋艧an proqram Apple v蓹 Microsoft t蓹r蓹find蓹n
dig蓹r 艧irk蓹tl蓹rin v蓹 d蓹st蓹l蓹ri.
Amma biz bilirik ki, n蓹 Bu proqram m蓹hsullar谋 edirik
n蓹 bu 蓹slind蓹 艧irk蓹tl蓹ri etdikl蓹rini dem蓹k?
>> M蓹s蓹l蓹n, kim var deyirl蓹r ki, h蓹r zaman
Sizin iPhone haqq谋nda z蓹ng etm蓹k v蓹 ya Android telefon v蓹 ya kimi,
ki, telefon n枚mr蓹sini d蓹 deyil ki, bir 艧irk蓹tin server da艧谋yanlar olunur
b蓹zi Proqram谋n谋n etdik, 莽眉nki Bu 蓹m蓹liyyat olub, yaz谋l谋
iOS v蓹 ya Android kimi sistem 枚z眉, v蓹 ya nazil etdik, 莽眉nki
bir 眉莽眉nc眉 t蓹r蓹f app el蓹 dinl蓹m蓹k ki,
h蓹r 艧ey Siz yazaraq etdiyiniz v蓹 ya h蓹r 艧ey, h蓹qiq蓹t蓹n, dey蓹r蓹k edirik.
Siz ki, bilmir蓹m nec蓹, n蓹 zaman Sizl蓹rin cingilti 莽al谋艧an
v蓹 ya t蓹rtib etm蓹k olun CS50, nec蓹 枚z proqram
ki, CS50 枚z hey蓹ti etm蓹k, CS50 kitabxana yolu il蓹,
h蓹r giri艧 olmam谋艧d谋r 茝g蓹r kazan谋lm谋艧 string
v蓹 ya h蓹r 茝g蓹r kazan谋lm谋艧 inch?
B蓹li, 蓹lb蓹tt蓹 ki, baxmaq bil蓹r bir 艧ey 眉莽眉n m蓹nb蓹 kodu il蓹
CS50 kitabxana kimi, m蓹nb蓹 kodu baxmaq bil蓹r
Linux 蓹m蓹liyyat sistemi 眉莽眉n CS50 IDE 莽al谋艧an.
Amma inan谋lmaz t蓹qdimat 1984-c眉 ild蓹 geri verildi
bir t蓹r蓹find蓹n Turing m眉kafat谋 al谋nmas谋 tan谋nm谋艧 莽ox m蓹艧hur komp眉ter alim
adl谋 Ken Thompson as-- ed蓹n Turing m眉kafat谋 ald谋臒谋
informatika nin sort Nobel m眉kafat谋, Siz,
bir onun i艧 眉莽眉n 蓹m蓹liyyat sistemi deyil蓹n
脟ox ox艧ard谋r Unix, Biz istifad蓹 n蓹 ruh Linux edir.
V蓹 sual o xahi艧 onun mahiyy蓹tc蓹 q蓹bul 莽谋x谋艧谋nda,
莽蓹r莽iv蓹sini a艧a臒谋 sal谋nmas谋 il m眉zakir蓹 il
inam v蓹 t蓹hl眉k蓹sizlik haqq谋nda, bu idi.
N蓹 d蓹r蓹c蓹d蓹 olmal谋d谋r bir inam A bir par莽a program-- ki, b蓹yanat
bir software-- Trojan atlar pulsuz?
Y蓹qin ki, etibar 眉莽眉n daha vacibdir proqram yaz谋b insanlar.
>> V蓹 蓹slind蓹, biz ba臒l谋 etdik m眉zakir蓹si o
bu m眉kafat谋 q蓹bul ed蓹rk蓹n verdi CS50 sayt谋nda 80-ci
Bu g眉n 眉莽眉n m眉hazir蓹l蓹r s蓹hif蓹 alt谋nda.
G枚r眉rs眉n眉z n蓹 莽眉nki o, h蓹qiq蓹t蓹n verir ki,
nec蓹 h蓹tta kifay蓹t q蓹d蓹r sad蓹 misal cingilti v蓹 ya h蓹r hans谋 bir compiler
dig蓹r ke莽mi艧d蓹 istifad蓹 derleyiciler, compiler biz 蓹laq蓹dar n蓹 varsa
枚z眉m眉z眉 bir az istifad蓹 olunur mahiyy蓹tc蓹 deyir v蓹ziyy蓹ti,
Bu kodu istifad蓹 edir ki, qeyd 蓹g蓹r GetString funksiyas谋 v蓹 ya GetInt
funksiyas谋, ir蓹li getm蓹k v蓹 daxil geri qap谋 v蓹 ya bir Truva at谋
Bel蓹 ki, proqram indi b蓹zi adet s谋f谋r var
v蓹 z蓹r蓹rli bir 艧ey olanlar谋.
B眉t眉n Logging sizin ki, m蓹lumat y眉klemek tu艧 vuru艧lar谋n谋,
bir server v蓹 ya h蓹qiq蓹t蓹n bir 艧ey.
>> V蓹 n蓹 Ken Thompson s枚hb蓹tind蓹 n蓹 gedir
h蓹tta oldu臒unu n眉mayi艧 edir Siz m蓹nb蓹 etm蓹k imkan谋 var
bir compiler kodu ki, pis, bunu ola bil蓹r
莽眉nki etm蓹z Bu toyuq v蓹 yumurta var
脰t蓹n 莽ox reall谋q il vasit蓹si derleyiciler
枚zl蓹rini t蓹rtib etm蓹k 眉莽眉n istifad蓹 olunur.
Ba艧qa s枚zl蓹, yol geri zaman kims蓹 ilk compiler yaz谋l谋 idi.
V蓹 sonra, ist蓹nil蓹n vaxt onlar yenil蓹nir etdik m蓹nb蓹 kodu d蓹yi艧蓹n bir compiler,
funksiyalar 蓹lav蓹 v蓹 recompiling bizim kimi insanlar istifad蓹 etm蓹k 眉莽眉n, yax艧谋,
onlar k枚hn蓹 istifad蓹 etdiyiniz compiler versiyas谋
yeni t蓹rtib etm蓹k compiler versiyas谋.
V蓹 siz bir n蓹z蓹r 蓹g蓹r verdi talk,
Siz, 莽眉nki ki, g枚r眉rs眉n眉z ki circularity,
Siz, h蓹qiq蓹t蓹n, hatalar谋 ola bil蓹r v蓹 ya Truva at谋 proqram daxil
biz istifad蓹 edirik.
V蓹 baxmaq, h蓹tta h蓹min proqramlar谋n 眉莽眉n m蓹nb蓹 kodu,
h蓹tta ayd谋n ola bil蓹r f谋r谋ldaq莽谋l谋q, h蓹qiq蓹t蓹n, 莽眉nki
bir b蓹zi k枚hn蓹 versiyas谋 beri olmu艧dur compiler
Bizim proqram t蓹hl眉k蓹 inyeksiya.
>> Olan yaln谋z biz, dem蓹k h蓹qiq蓹t蓹n bilm蓹z v蓹 olmamal谋d谋r
inam proqram noutbuk 莽al谋艧an telefonlar v蓹 ya yerl蓹rd蓹 h蓹r hans谋 bir say谋 v蓹 ya.
V蓹 蓹slind蓹, daha sonra bu d枚vr biz web proqramla艧d谋rma haqq谋nda dan谋艧ma臒a ba艧lay谋n
v蓹 h蓹qiq蓹t蓹n bina ba艧lamaq web applications 枚z眉m眉z眉,
biz bu bar蓹d蓹 dan谋艧maq laz谋md谋r t蓹hdid v蓹 s.
陌ndi, merak v蓹 qeyd ola bil蓹r ki莽ik bir az Darth var idi ki,
Klipler Vader ki Verge var g枚st蓹rirdi
Volkswagen haqq谋nda. 茝g蓹r Siz g枚rm蓹mi艧蓹m m蓹n
biz i艧谋qland谋rmaq laz谋md谋r d眉艧眉nd眉m 蓹hval bu, 莽眉nki
莽ox 蓹zici v蓹 qorxulu.
M蓹n geri baxmaq gedir蓹m Super Bowl 2011
zaman bir ticar蓹t Volkswagen-- v蓹 bu
dem蓹k olar ki, again-- onlara likable edir TV ilk d蓹f蓹 havaland谋rd谋.
Bu 60 ikinci clip var M蓹n siz蓹 z枚vq olacaq edir蓹m ki.
[Video playback]
[MUSIC - "Star Wars" m枚vzusunda]
[It barks]
[CAR BA艦LAYIB]
[END playback]
DAVID J. MALAN: B蓹li.
M蓹n yaln谋z yoxlan谋lmas谋 edilib.
Ki, avtomobil pozuntular谋 siyah谋s谋ndad谋r.
Oldu.
Bel蓹likl蓹, biz b蓹zi baxmaq bir an 蓹vv蓹l pseudocode.
V蓹 burada b枚y眉k var pseudocode kodu par莽as谋n谋
ki, biz indiy蓹 q蓹d蓹r bir ne莽蓹 d蓹f蓹 g枚rd眉m.
V蓹 bu bir f眉rs蓹tdir istifad蓹 ed蓹k indi yeni bir proqramla艧d谋rma t蓹qdim etm蓹k
etdik texnika algorithmically g枚rm蓹k
Ke莽蓹n h蓹ft蓹 birl蓹艧m蓹si sort baxd谋 zaman.
Amma bunu r蓹smil蓹艧dirm蓹k v蓹 nec蓹 ed蓹k Biz faktiki kodu istifad蓹 ed蓹 bil蓹r
v蓹 sonra biz bu istifad蓹 etm蓹k olacaq yol a艧a臒谋 texnika 蓹n
m眉蓹yy蓹n dig蓹r probleml蓹ri h蓹ll etm蓹k 眉莽眉n 莽ox.
>> Bel蓹likl蓹, bu ilk proqramlar谋 biri idi biz He莽 pseudocode kodu olsa da, yazd谋.
V蓹 n蓹 bu proqram D蓹rs etm蓹k icaz蓹
bir telefon kitab Mike Smith tapmaq idi.
V蓹 x眉susil蓹 x蓹tl蓹ri s蓹kkiz qeyd bu Go To b蓹yanat idi 11.
V蓹 蓹slind蓹, m眉蓹yy蓹n dil, onlar谋n aras谋nda C,
蓹slind蓹 bir var s枚z眉n b蓹yanat
ki, siz蓹 imkan verir getm蓹k m眉蓹yy蓹n bir x蓹tt jump.
Bu, 眉mumiyy蓹tl蓹, 莽眉nki sonra 茝b蓹s蓹 edir bu, 莽ox asanl谋qla sui-istifad蓹 edil蓹 bil蓹r
v蓹 jumping ba艧lamaq bil蓹rsiniz f蓹rqli olaraq b眉t眉n yer 眉z蓹rind蓹 proqram
c眉r istifad蓹 etm蓹k m蓹ntiq v蓹 n蓹zar蓹t ax谋n谋
biz yaln谋z il蓹 bu g眉n蓹 q蓹d蓹r istifad蓹 etdiyiniz loops v蓹 艧蓹rtl蓹ri v蓹 kimi.
>> Amma biz bu alqoritm sad蓹l蓹艧dirm蓹k bil蓹r pseudocode kodu kimi edir.
茝v蓹zind蓹 bu iterativ of v蓹 ya yana艧ma loop
biz geri davam v蓹 geri v蓹 geri 眉莽 s谋ralamaq 眉莽眉n,
niy蓹 biz yaln谋z n枚v ayaqla z蓹rb蓹 v蓹 daha 莽ox yoxdur 眉mumiyy蓹tl蓹, x蓹tti yeddi v蓹 10 dem蓹k
yaln谋z bu iki 蓹v蓹z il蓹 x蓹tl蓹ri c眉t,
Smith 蓹vv蓹ll蓹r ba艧qa 蓹g蓹r Kitabda alaca臒谋q
Mike 眉莽眉n axtar谋艧 Kitab谋n sol yar谋s谋.
Smith sonra ba艧qa 蓹g蓹r kitab, sa臒 Mike 眉莽眉n axtar谋艧
yar谋m kitab.
V蓹 art谋q circularity bildiri艧.
Sa臒?
M蓹n Mike 眉莽眉n axtar谋艧 al谋ram telefon kitab v蓹 sonra
M蓹n n蓹hay蓹t, b蓹lk蓹 edib line yeddi v蓹 ya b蓹lk蓹 line 10
v蓹 枚z眉m m蓹nim t蓹limat axtar谋艧 telefon kitab yar谋s谋nda Mike 眉莽眉n.
Yax艧谋, nec蓹 Mike 眉莽眉n axtar谋艧 edirsiniz?
M蓹n ortas谋nda deyil蓹m Mike, n蓹 眉莽眉n axtar谋艧
Siz sort bir dair蓹 m蓹n蓹 g枚nd蓹rir?
Amma ki, n蓹, 莽眉nki OK problemin 枚l莽眉s眉 ba艧,
x蓹tti 7 v蓹 10 yaz谋l谋 kimi?
Biz yaln谋z axtar谋艧 dey蓹r蓹k deyilik Mike 眉莽眉n, Mike 眉莽眉n axtar谋艧.
Biz x眉susi n蓹 dedi edirik?
Sol yar谋s谋nda ona axtar s蓹m蓹r蓹li sa臒 yar谋m
problemin yar谋s谋 枚l莽眉s眉.
Bel蓹 ki, biz n枚v oldu臒unu OK bu circularity m蓹艧臒ul,
Bu dair蓹vi arqument 蓹n az谋 biz ist蓹yirik, 莽眉nki
problem ki莽ik v蓹 ki莽ik edilm蓹si.
V蓹 n蓹tic蓹d蓹 biz nail olacaq ki, qondarma 蓹sas i艧i harada
biz yaln谋z bir s蓹hif蓹 蓹g蓹r sol Bizim k枚n眉ll眉 ke莽蓹n h蓹ft蓹
did-- biz bir s蓹hif蓹 idi sonra sol v蓹 biz deyil
Mike Smith 眉莽眉n axtar谋艧 saxlamaq laz谋md谋r o s蓹hif蓹d蓹 bil蓹rsiniz, 莽眉nki
v蓹 ya o deyil.
>> Bel蓹likl蓹, biz bu fikri, bu h蓹yata nec蓹 faktiki kodu circularity sort?
B蓹li, biz bir texnika leverage ki, 眉mumiyy蓹tl蓹, recursion kimi tan谋nan oldu.
V蓹 biz bu g枚rd眉m birl蓹艧m蓹si sort 眉莽眉n pseudocode 枚t蓹n h蓹ft蓹.
Bu idi Xat谋rladaq ki, birl蓹艧m蓹si sort 眉莽眉n pseudocode.
Bu arguably daha asan var bubble v蓹 ya se莽im v蓹 ya durub s谋rala
yaln谋z sad蓹lik bax谋m谋ndan olan siz ifad蓹 ed蓹 bil蓹rl蓹r.
>> Amma ki, 莽眉nki var biz sort circularly ist蓹yirik
bir 艧ey 眉莽眉n axtar谋艧 s枚yl蓹y蓹r蓹k daha 眉莽眉n axtar谋艧.
Amma biz ya arad谋臒谋n谋z sol yar谋s谋 v蓹 ya sa臒 yar谋m
v蓹 sonra n蓹hay蓹t biz ist蓹yirik Bu halda birl蓹艧m蓹.
Amma burada da il蓹 bu iki sort x蓹tl蓹ri,
biz yen蓹 bu var idi recursion ideyas谋.
V蓹 konkret bu n蓹 dem蓹kdir, bir alqoritm kontekstind蓹,
bir alqoritm recursive oldu臒unu Bu istifad蓹 edir v蓹 ya 枚z眉n眉 莽a臒谋r谋r 蓹g蓹r.
>> V蓹 ya C bax谋m谋ndan bir funksiyas谋 adl谋 funksiyas谋 recursive
foo, foo 蓹g蓹r recursive deyil haradasa 枚z m蓹nb蓹 kodu,
funksiyas谋 foo 枚z眉 莽a臒谋r谋r.
V蓹 b眉t眉n foo he莽 蓹g蓹r pis t蓹krar 枚z眉 z蓹ng edir.
Foo n蓹tic蓹d蓹 vermir kimi ki, OK dey蓹r蓹k, sort daxil bir d蓹qiq蓹 g枚zl蓹yin,
Bu problem super 蓹g蓹r Ki莽ik, m蓹s蓹l蓹n,
ya m蓹n deyil蓹m kim蓹 onu a艧kar axtar谋r, yaln谋z qay谋tmaq.
Recursively deyil, bunu etm蓹yin cyclically yenid蓹n 枚z眉m z蓹ng.
>> V蓹 bel蓹 bir n蓹z蓹r salaq Bu, h蓹qiq蓹t蓹n, i艧 ola bil蓹r nec蓹.
Bel蓹likl蓹, m蓹n ir蓹li v蓹 a莽谋q getm蓹k 眉莽眉n gedir蓹m burada iki m蓹nb蓹 kodu n眉mun蓹l蓹ri up.
Biri sigma 0 adlan谋r.
Bu b眉t眉n deyil recursive amma g枚t眉r蓹k
bir bu proqram n蓹 baxmaq.
M蓹n b眉t眉n l眉t etdik ancaq b眉t眉n 艧蓹rhl蓹r
CS50 眉zr蓹 m蓹nb蓹 kodu veb 蓹g蓹r 艧蓹rh var
daha sonra vasit蓹sil蓹 oxumaq ist蓹yir蓹m.
V蓹 bir ne莽蓹 n蓹 ed蓹k a臒l谋 ba艧谋nda olma burada yoxlay谋r.
>> Bu M蓹c蓹ll蓹nin 眉st So biz cs50.h. daxil var
Bu n蓹 edir?
Niy蓹 burada?
A臒labatan layman nin bax谋m谋ndan.
O n蓹 edir?
B蓹li.
>> Auditoriya: GetInt funksiyas谋 i艧l蓹yir ki.
>> DAVID J. MALAN: Bel蓹 ki, GetInt funksiyas谋 i艧l蓹yir.
Bu daxili 脟眉nki fayl, CS50.h olan
biz uzun 蓹vv蓹l g枚r眉rs眉n眉z m蓹nb蓹 kodu 艧蓹rtl蓹ri,
funksiyalar谋 bir d蓹st蓹 var declared-- GetInt, GetString,
others-- v蓹 halda bir d蓹st蓹 v蓹 biz, h蓹qiq蓹t蓹n, ki, x蓹tt daxil var
compiler cingilti deyil ki, m枚vcud bil蓹c蓹kl蓹r.
V蓹 eyni x蓹tt gedir int m眉蓹yy蓹n edilir iki
bir funksiyas谋 var printf, biz kifay蓹t q蓹d蓹r bir az istifad蓹 edin.
陌ndi line d枚rd bir az Funky g枚r眉n眉r Bu yaln谋z bir liner, 莽眉nki.
Bu, he莽 bir curly, n枚qt蓹li verg眉l var a艧谋rma, onun daxilind蓹 kodu.
Lakin biz z蓹ng etdi h蓹ft蓹 ke莽mi艧d蓹 bu 艧ey?
B蓹li.
Bel蓹 ki, bir prototip.
V蓹 niy蓹 biz bir var g枚r眉n眉r prototip
bir az laz谋ms谋z olmaq ad蓹t蓹n ad蓹t蓹n 脟眉nki biz
yenid蓹n funksiyas谋 g枚rm蓹k sonra fayl, sa臒?
Bel蓹 ki, niy蓹 biz yaln谋z ist蓹yirik yax艧谋d谋r yoxdur sizin ba艧 kaz谋ma, lakin m蓹n onu almaq laz谋md谋r.
B蓹li.
>> Auditoriya: [i艧itilemez] 茝sas sonra funksiyas谋.
DAVID J. MALAN: Exactly.
Compiler siz蓹 bilir ki, n蓹tic蓹d蓹 m眉蓹yy蓹n v蓹 ya h蓹yata ke莽ir蓹c蓹k
ehtimalla 蓹sas sonra funksiyas谋.
Bel蓹 ki, cingilti v蓹 蓹n derleyiciler c眉r lallard谋r
v蓹 onlar yaln谋z bilirsiniz n蓹 onlara.
V蓹 istifad蓹 etm蓹k ist蓹yirsinizs蓹, sigma adl谋 funksiyas谋,
daha yax艧谋 compiler 枚yr蓹tm蓹k ki, 蓹vv蓹lc蓹d蓹n m枚vcuddur.
>> 陌ndi 蓹sas 枚z眉, h蓹tta Bu x蓹tl蓹ri bir d蓹st蓹 var, baxmayaraq ki,
陌ndi 眉mid olduqca tan谋艧 edir.
Bu do loop is蓹 var h蓹yat kimin m蓹qs蓹di
Burada y蓹qin almaq 眉莽眉n istifad蓹莽i m眉sb蓹t tam.
V蓹 yaln谋z ona pestering saxlamaq v蓹 ya onun 蓹m蓹kda艧l谋臒a q蓹d蓹r.
Sonra x蓹tti 16 M蓹n maraql谋 z蓹ng.
IntAnswer.
Sol t蓹r蓹fd蓹n hans谋 yan M蓹n蓹 bir int verir
Answer-- adl谋 store-- bil蓹r ki, saxlamaq 眉莽眉n gedir ki, y蓹qin,
sigma qaytar谋lmas谋 d蓹y蓹ri.
Bel蓹 ki, sigma yaln谋z bir deyil ixtiyari, lakin m蓹nal谋 ad谋
M蓹n bir funksiyas谋 t蓹qdim etdik ki, h蓹yat kimin m蓹qs蓹di
bir d蓹lil almaq 眉莽眉n biz Bu halda N z蓹ng ed蓹c蓹yik
v蓹 yaln谋z ki say谋 c蓹mi etm蓹k plus h蓹r m眉sb蓹t say谋 ki
bu daha ki莽ik.
>> M蓹n 2 sayl谋 ke莽m蓹k 蓹g蓹r Bel蓹 ki, sigma, M蓹n 蓹lav蓹 etm蓹k ist蓹yir蓹m 2 plus 1
plus 0 idi ki, m蓹n蓹 3 verir 0-.
M蓹n sigma 3 ke莽m蓹k 蓹g蓹r, M蓹n ist蓹yir蓹m 3 plus 2 plus 1 var, olan m蓹n蓹 6 verir.
V蓹 s.
Bel蓹 ki, yaln谋z q蓹d蓹r 蓹lav蓹 b眉t眉n 蓹d蓹d ona daha az v蓹 ya b蓹rab蓹r.
>> 陌ndi a艧a臒谋 burada m蓹n yaln谋z gedir蓹m cavab 莽ap.
Bel蓹 ki, tez a臒l谋 ba艧谋nda olma 莽ek kimi, ed蓹k sigma 0- dot 莽izgi sigma etm蓹k 0-
v蓹 m蓹n蓹 2 yaz谋n ed蓹k.
M蓹n, h蓹qiq蓹t蓹n, 3 almaq.
M蓹n蓹 3 yaz谋n ed蓹k.
M蓹n, h蓹qiq蓹t蓹n, 6 almaq.
V蓹 h蓹r k蓹s tez riyaziyyat ed蓹 bil蓹r, 蓹g蓹r, M蓹n almaq gedir蓹m n蓹 50, n蓹 olur?
>> Auditoriya: [i艧itilemez].
DAVID J. MALAN: B蓹li, no.
Lakin 1275 olduqca yax谋n olan.
Bel蓹 ki, bu 50 bunu n蓹tic蓹sidir plus 49 plus 48 plus 47 plus 46
1 b眉t眉n yol a艧a臒谋.
Ki bel蓹 ki, b眉t眉n sigma yoxdur.
Amma biz nec蓹 ed蓹k 陌ndi h蓹yata ke莽irilir.
Bel蓹 ki, a艧a臒谋 burada funksiyas谋 枚z眉 edir.
V蓹 bu var g枚r眉nm眉r bir 艧ey h蓹l蓹 recursion il蓹.
茝slind蓹, biz bir istifad蓹 etdiyiniz k枚hn蓹 m蓹kt蓹b texnika.
M蓹n bir d蓹yi艧蓹n adl谋 m蓹bl蓹臒i ba艧lat谋l谋yor al谋ram s谋f谋r, sonra burada bir foreloop var,
v蓹 m蓹n adl谋 Int elan edir蓹m M蓹n 1 var b蓹rab蓹r q蓹bulu
M蓹n b蓹rab蓹r m眉蓹yy蓹n ed蓹 bil蓹r, baxmayaraq ki, s谋f谋r, amma 蓹lav蓹 edir蓹m ild蓹n,
s谋f谋r v蓹 ya bir, 蓹g蓹r kimin umurunda.
Bu, he莽 bir t蓹sir olacaq.
>> Bel蓹likl蓹, m蓹n bel蓹 uzun m蓹n kimi iterating al谋ram daha az v蓹 ya m, b蓹rab蓹r olan
ke莽ildi d蓹lildir.
V蓹 sonra m蓹n yaln谋z saxlamaq I. V蓹 fikir incrementing
loop M蓹n m蓹bl蓹臒 edir edir蓹m plus I. b蓹rab蓹rdir ki, q蓹sd蓹n var.
Bu, n蓹 ist蓹mir蓹m halda, m蓹bl蓹臒 plus plus kimi.
M蓹n, h蓹qiq蓹t蓹n, 蓹lav蓹 etm蓹k ist蓹yir蓹m I cari d蓹y蓹ri
olan b枚y眉k v蓹 daha b枚y眉k 蓹ld蓹 saxlay谋r v蓹 莽al谋艧an tally 眉莽眉n b枚y眉k.
>> V蓹 sonra m蓹bl蓹臒i geri.
V蓹 bel蓹 cavab d蓹y蓹ri m蓹bl蓹臒 olur.
V蓹 sonra m蓹n onu 莽ap.
Bel蓹 ki, imkan谋 var burada, baxmayaraq ki, mehriban asanla艧d谋rmaq 眉莽眉n
Bu kodu konseptual v蓹 z蓹rb蓹 c眉r biri
bax谋m谋ndan a臒la sad蓹lik h蓹tta baxmayaraq
d眉zm蓹k 眉莽眉n bir m眉dd蓹t al谋r niy蓹 bu qiym蓹tl蓹ndirir蓹m
bu ki莽ik n眉mun蓹l蓹ri g眉cl眉 deyil.
Burada bel蓹 one-- sigma deyil Bu kodu ikinci versiyas谋.
脺st q蓹d蓹r h蓹r 艧ey bel蓹 eynidir H蓹min hekay蓹 蓹vv蓹l t蓹tbiq edilir.
Amma indi baxaq sigma h蓹yata ke莽irilm蓹si hans谋
M蓹n yaln谋z bu a艧a臒谋 whittled etdik x蓹tl蓹ri kodu d枚rd x蓹tl蓹ri, h蓹qiq蓹t蓹n,
眉st蓹lik b蓹zi q谋vr谋m a艧谋rma v蓹 a臒 kosmik.
>> Amma m蓹n n蓹 edir蓹m?
M daha az v蓹 ya b蓹rab蓹r olduqda s谋f谋r, I n枚v idar蓹 etm蓹k laz谋md谋r
ki, super sad蓹 halda.
V蓹 m蓹n蓹 s谋f谋r v蓹 ya bir 艧ey 蓹l 蓹g蓹r yaln谋z q蓹rib蓹 olan m蓹nfi
M蓹n yaln谋z 枚zba艧谋na gedir蓹m lakin ard谋c谋l s谋f谋r qay谋tmaq.
M蓹n bu 艧ey ist蓹mir蓹m b蓹zi q蓹rib蓹 Infinite daxil
莽眉nki bir m蓹nfi d蓹y蓹r loop.
M蓹n蓹 verm蓹k 蓹g蓹r m蓹n yaln谋z, deyir蓹m s谋f谋r v蓹 ya daha az, m蓹n s谋f谋r qaytar谋lmas谋 al谋ram.
>> Ki, 莽眉nki Amma ki, yax艧谋 telefon kitab ki, bir s蓹hif蓹
ki, sol.
M蓹n 莽ox x眉susi bir problem off yeme al谋ram v蓹 recursively bir 艧ey z蓹ng deyil.
Amma line 31 n蓹 M蓹n bunu etm蓹k g枚r眉n眉r?
parantez yaln谋z saxlan谋l谋r 艧eyl蓹r, 眉mid edir蓹m ki, bir az ayd谋n.
Amma edir蓹m m蓹n deyil蓹m m-- qaytar谋lmas谋 n蓹
Siz me-- plus 蓹l m-- sorry d蓹y蓹ri,
plus m minus 1 sigma d蓹y蓹ri.
Bel蓹 ki, bu n蓹 dem蓹kdir?
Siz giri艧 kimi m蓹n蓹 say谋 3 vers蓹l蓹r, Cavab M蓹n n蓹tic蓹d蓹 almaq ist蓹yir蓹m
3 plus 2 plus 1 m蓹n蓹 6 verir, 莽眉nki 6.
Amma m蓹n nec蓹 d眉艧眉n眉rs眉n眉z Bu kodu n蓹 莽al谋艧an?
M蓹n sigma z蓹ng ilk d蓹f蓹 v蓹 m蓹n d蓹y蓹r 3 ke莽m蓹k
ki, bir par莽a dey蓹n kimi ka臒谋z, burada d蓹y蓹ri 3 var
v蓹 m蓹n Sigma kimi q蓹bul etdik.
3 a莽谋q-ayd谋n bel蓹 az olmayan 0 IF 艧蓹rt t蓹tbiq edilmir.
Ba艧qa yoxdur.
Bel蓹likl蓹, m蓹n n蓹 etm蓹liy蓹m?
M蓹n olan m qay谋tmaq ist蓹yir蓹m M minus 1 3 plus sigma.
M蓹n蓹 bu takip imkan verir.
M蓹n bu qoymaq gedir蓹m ka臒谋z a艧a臒谋 par莽a.
V蓹 n蓹 d蓹y蓹ri, olmaq ayd谋n, M蓹n ke莽m蓹k 眉莽眉n gedir蓹m
hekay蓹 bu n枚qt蓹d蓹 sigma daxil?
N蓹 say谋?
2, sa臒?
3 minus 1 2.
M蓹n yaln谋z bir az laz谋md谋r Burada ka臒谋z q谋r谋nt谋lar谋.
Bel蓹 ki, indi sigma yenid蓹n adlanan olur.
M蓹n q蓹sd蓹n g蓹tirdik Bu a艧a臒谋, 莽眉nki
c眉r duraklatarak kimi hekay蓹 ki version
indi diqq蓹t deyil蓹m, 莽眉nki m minus 1 siqnal.
Bel蓹 ki, m 3, m idi minus 1 2.
Bel蓹 ki, burada q蓹bul etdik 2.
2 a莽谋q-ayd谋n az deyil 0 bel蓹 ki, hal t蓹tbiq edilmir.
Ba艧qa m蓹n bu olan m qay谋tmaq n蓹 d蓹y蓹r 艧ey, 眉st蓹g蓹l sigma?
Bel蓹 ki, sigma bir 1 var m 莽眉nki 陌ndi 2 SO 2 minus 1 1.
Bel蓹 ki, indi m蓹n yaln谋z d蓹y蓹ri 1 var.
M蓹n yaln谋z say谋 ke莽蓹n al谋ram Funksiyas谋 sigma-- 1
v蓹 ya 枚z眉m眉 burada bel蓹 1 a莽谋q-ayd谋n deyil s谋f谋rdan a艧a臒谋 olmayan, h蓹l蓹 d蓹 t蓹tbiq edilmir.
>> Else qaytar谋lmas谋 1 plus n蓹 sigma?
0.
M蓹n蓹 yaln谋z unutmay谋n ki, bildirin.
M蓹n sonra geri almaq laz谋md谋r.
陌ndi ir蓹li v蓹 jot getm蓹k 眉莽眉n gedir蓹m say谋 0 a艧a臒谋 ki, 莽眉nki
M蓹nim d蓹lil v蓹 ya parametri.
M蓹n say谋 0 ke莽di al谋ram v蓹 n蓹hay蓹t bu proses
yaln谋z 枚z眉m眉 reklam t蓹krar nauseum n蓹 莽眉nki dayand谋rmaq deyil
Bu 0 g枚rm蓹k bir d蓹f蓹 m蓹n d蓹rhal etm蓹liy蓹m?
M蓹n s谋f谋r qay谋tmaq.
Bel蓹 ki, indi hekay蓹 geri laz谋md谋r.
>> 陌ndi vaxt geri getm蓹k varsa, 茝n son 艧ey n蓹 idi
S枚z眉n olsayd谋 m蓹n video rewinding?
M蓹n 蓹n son almaq 眉莽眉n gedir蓹m 1 v蓹 m蓹n蓹 1 verir plus 0 1.
M蓹n rewinding saxlamaq hekay蓹, m蓹n蓹 verm蓹k olacaq
1 2 plus bu 莽al谋艧an d蓹y蓹ri.
Bel蓹 ki, 3 var.
V蓹 sonra m蓹n rewinding saxlamaq 眉莽眉n gedir蓹m.
M蓹n ilk say谋 a艧a臒谋 qoymaq zaman 3 ed蓹c蓹yik ki, 3 plus 3 6 m蓹n蓹 verir.
>> 陌ndi, siz rewound olsan谋z Bu n枚qt蓹y蓹 q蓹d蓹r video up,
Bu 莽ox idi 陌lk sual soru艧dum.
3 ke莽蓹rk蓹n, 3 sigma n蓹dir?
Bu, h蓹qiq蓹t蓹n, 6, m蓹bl蓹臒i var ka臒谋z b眉t眉n bu 蓹d蓹d.
Ki, bir az edir, 蓹g蓹r bel蓹 is蓹 ki, g枚z蓹l, sizin fikrinizi 蓹traf谋nda kesmek.
Amma bu 莽ox az idi hesab M蓹n dizilir ki, 莽ox q蓹sd蓹n idi
bir-birin蓹 眉st bu n枚mr蓹l蓹ri.
Bu olan kimi n枚v var vaxt rekord, yadda艧,
bir video bir skrubber kimi, M蓹n, h蓹qiq蓹t蓹n, 蓹n geri bil蓹r.
V蓹 biz geri g蓹lm蓹k olacaq yaln谋z bir az ki, m蓹caz.
>> Lakin ilk, o var ki, 莽谋x谋r Geeks v蓹 funny bir 莽ox insanlar,
Google da dan谋艧arlar.
Ka艧 莽ox var kims蓹 Googling a臒谋l yax艧谋
yaln谋z bir an 眉莽眉n g蓹l蓹n v蓹 M蓹n蓹 bir 艧ey 眉莽眉n axtar谋艧 k枚m蓹k edir?
脟ox, 莽ox a艧a臒谋 d眉ym蓹sini bas谋n.
He莽 kims蓹 b蓹lk蓹 d蓹, 蓹vv蓹l g蓹lib.
OLDU.
Evet?
Hadi.
A艧a臒谋 g蓹lir.
S蓹nin ad谋n n蓹dir?
>> SAM: Sam.
>> DAVID J. MALAN: Sam, a艧a臒谋 g蓹lir.
Bu eyni.
G枚r眉艧m蓹k Nice.
Hey.
脺z蓹rind蓹 g蓹lib.
Bel蓹 ki, b眉t眉n M蓹n siz蓹, 蓹g蓹r n蓹 etm蓹k laz谋md谋r Siz Sam, burada Google var bil蓹r.
Siz m眉dd蓹ti recursion 眉莽眉n axtar谋艧 ed蓹 bil蓹rsiniz?
Korlamaq deyil.
>> 陌ndi B蓹li Let.
OK ki, bas谋n.
Better ki, bas谋n.
Ahh, onu almaq.
Yox?
OLDU.
Bel蓹 ki, bir ne莽蓹 ba艧qalar谋 ed蓹k.
茝laq蓹dar 莽ox deyil akademik burada, ancaq var
He莽 anagram Google axtar谋艧?
>> SAM: Xeyr
>> DAVID J. MALAN: OK.
Anagram yerin蓹 recursion axtar.
Nec蓹 蓹yri haqq谋nda.
茝g蓹r 蓹yri 眉莽眉n axtar谋艧?
陌ndi, bu bir az 莽蓹tindir g枚rm蓹k, lakin 眉mid OK everything's--.
Bu yaln谋z v蓹 m蓹n蓹 bu z枚vq deyil.
OLDU.
>> Bel蓹 ki, n蓹hay蓹t, bu one's-- bir az 蓹yri var.
陌ndi barrel roll etm蓹k.
Wonderful.
Oldu.
Big Sam t蓹艧蓹kk眉r edir蓹m.
Buyurunuz.
Thanks.
>> Bel蓹 ki, n蓹 b眉t眉n olur bu silly n眉mun蓹l蓹ri?
Bel蓹 ki, h蓹qiq蓹t蓹n, ba艧l谋q alt谋nda Kodu x蓹tl蓹ri Google milyonlarla
y蓹qin bir ne莽蓹 silly mahiyy蓹tc蓹 艧蓹rtl蓹ri
istifad蓹莽i var, 蓹g蓹r yoxlan谋lmas谋 bu s枚z Y谋臒d谋臒谋n谋z,
y蓹qin ki, bir 艧ey etdi bir zaman nontrivial m蓹bl蓹臒i
yaln谋z h蓹yata ke莽irm蓹k 眉莽眉n bu 艧蓹kild蓹 蓹yl蓹nc蓹li ola bil蓹r.
Lakin bu sonunda b眉t眉n ba艧l谋q alt谋nda a艧a臒谋.
Lakin, 蓹lb蓹tt蓹, recursion geekier daha 莽ox
x眉susi t枚vsiy蓹l蓹r aras谋nda n眉mun蓹sidir.
艦眉bh蓹siz ki, orada ba艧qalar谋 orada var h蓹m d蓹 b蓹lk蓹 var ki, h蓹tta
yaln谋z h蓹l蓹 a艧kar.
>> Bel蓹 ki, bir n蓹z蓹r, v蓹 ya hesab indi a艧a臒谋dak谋 proqram,
v蓹 蓹lb蓹tt蓹 ki, h蓹r hans谋 bir i艧臒al莽谋 Yol h蓹yata bu.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 bir proqram a莽maq
iki d蓹y蓹rl蓹r d蓹yi艧dirm蓹k 眉莽眉n c蓹hd edir.
Biz orada getm蓹k 蓹vv蓹l Lakin, bunu ed蓹k.
Biz bir daha 蓹ld蓹 ed蓹 bil蓹r k枚n眉ll眉, m蓹n hesab edir蓹m?
Siz k枚n眉ll眉 ist蓹yirsiniz?
Yox?
Q蓹d蓹r g蓹lib.
Oldu.
Bel蓹 ki, ad谋 n蓹dir?
>> LAUREN: Lauren.
>> DAVID J. MALAN: Lauren.
Q蓹d蓹r Lauren g蓹lib.
Bel蓹 ki, Lauren olunur 陌艧d蓹 meydan oxudu.
G枚r眉艧m蓹k Nice.
Bel蓹 ki, Lauren burada qar艧谋s谋nda var onun iki bo艧 fincan.
V蓹 biz bir porta臒al var suyu v蓹 b蓹zi s眉d
v蓹 biz getm蓹k olacaq ir蓹li v蓹 a艧a臒谋dak谋.
Biz yaln谋z bu doldurmaq olacaq.
Burada s眉d bir ne莽蓹 ounces v蓹 ed蓹k burada bir az porta臒al 艧ir蓹si doldurun.
>> V蓹 b眉t眉n qar艧谋s谋nda Bu tama艧a莽谋 眉zvl蓹ri,
bu fincan iki d蓹y蓹rl蓹r d蓹yi艧dirm蓹k.
S眉d fincan porta臒al suyu qoyun v蓹 porta臒al 艧ir蓹si fincan s眉d.
Siz 蓹g蓹r siz bunu nec蓹 ev v蓹 dig蓹r t蓹chizat 莽谋x谋艧谋 var?
LAUREN: bir fincan qoyun.
DAVID J. MALAN: OK.
Bel蓹 ki, m眉v蓹qq蓹ti ed蓹k d蓹yi艧蓹n, biz 蓹g蓹r.
陌ndi ir蓹li getm蓹k v蓹 h蓹yata ke莽irilm蓹si eyni d蓹yi艧dirm蓹 qaydas谋.
脟ox yax艧谋.
Biz m眉v蓹qq蓹ti daxil OJ g蓹tirdik d蓹yi艧蓹n, OJ d蓹yi艧蓹n s眉d,
v蓹 indi m眉v蓹qq蓹ti d蓹yi艧蓹n s眉d d蓹yi艧蓹n.
OLDU.
Bel蓹 ki, 莽ox yax艧谋 bu g眉n蓹 q蓹d蓹r.
Bel蓹 ki, ke莽irilm蓹si 莽谋x谋r Yaln谋z bir an d眉艧眉nd眉m.
Burada yaln谋z bir az onu turk, bu m眉vafiq C kodu olard谋
biz yaln谋z h蓹yata ki.
Biz iki giri艧, A v蓹 B h蓹m idi olan biz yaln谋z var sad蓹lik 眉莽眉n dem蓹k laz谋md谋r
int var.
M蓹n d蓹yi艧dirm蓹k ist蓹yirsinizs蓹, burada qeyd iki d蓹yi艧蓹nl蓹rin, A v蓹 B d蓹y蓹rl蓹ri,
Biz h蓹qiq蓹t蓹n bir komisyoncu laz谋md谋r, bir m眉v蓹qq蓹ti d蓹yi艧蓹n m眉v蓹qq蓹ti fincan,
hans谋 the d蓹y蓹rl蓹rind蓹n biri t枚km蓹k ki, biz bunun 眉莽眉n tutucu var.
Amma sonra code d蓹qiq deyil Lauren burada h蓹yata ke莽irilir.
>> 陌ndi, yaln谋z bir almaq 眉莽眉n az crazier, 莽谋x谋r
Siz olmadan bunu ed蓹 bil蓹rsiniz ki, m眉v蓹qq蓹ti d蓹yi艧蓹n.
Baxmayaraq ki, biz gedirik d眉zg眉n Bunu etm蓹k 眉莽眉n bir kimya il蓹 istifad蓹 etm蓹k 眉莽眉n.
Biz burada b蓹zi 蓹lav蓹 fincan var.
Bel蓹 ki, 蓹n yax谋n bir 艧eydir ki, g枚r眉n眉r s眉d v蓹 su, b蓹lk蓹 kimi
v蓹 ya s眉d v蓹 OJ-- biz b蓹zi var su, bel蓹 ki, biz bu doldurmaq laz谋md谋r
t蓹miz su bir ne莽蓹 unsiya il蓹.
Bu 莽ox y蓹qin ki, var.
B蓹li.
Bu 莽ox m眉tl蓹q var.
Bir Saniy蓹 tutun.
>> 陌ndi biz M蓹n xat谋rlay谋ram kimi, neft var orta m蓹kt蓹b kimya sinif,
脺mid edir蓹m ki, su il蓹 qar谋艧d谋r谋l谋r deyil.
Amma bu c眉r sort s眉d v蓹 OJ kimi g枚r眉n眉r.
Indi, istifad蓹 etm蓹d蓹n m眉v蓹qq蓹ti d蓹yi艧蓹n,
bu iki d蓹y蓹rl蓹r d蓹yi艧dirm蓹k olar?
Su fincan gider ya臒lar谋 So su neft fincan gider.
LAUREN: No dig蓹r fincan?
DAVID J. MALAN: No dig蓹r fincan.
M蓹n h蓹qiq蓹t蓹n var Bu ilin 蓹vv蓹l bu test
bu irad蓹, 蓹g蓹r m蓹n bilmir蓹m h蓹qiq蓹t蓹n kimy蓹vi 莽al谋艧谋r.
Bu ba艧 ehtimal deyil.
Bu i艧?
Oldu.
Bel蓹 ki, ay谋ran?
Yax艧谋.
陌ndi biz almaq 眉莽眉n var dig蓹r fincan su.
Smarter kimya so臒utucular bil蓹r y蓹qin ki, m蓹nd蓹n daha yax艧谋 bunu.
>> LAUREN: Su alt谋ndak谋 var.
>> DAVID J. MALAN: idi water-- biz bunu son d蓹f蓹 蓹sas var.
Siz sa臒 眉莽眉n bunu etm蓹k laz谋md谋r.
B蓹li.
H蓹r 艧ey yax艧谋d谋r.
Bel蓹 ki, indi biz neft iki fincan var.
OLDU.
H蓹r 艧ey yax艧谋d谋r.
Amma bu istisna olmaqla, m蓹n 莽ox i艧l蓹yib kimy蓹vi 蓹g蓹r
>> LAUREN: Bu su.
>> DAVID J. MALAN: Bu 蓹sas蓹n su var.
Oldu.
Lakin h蓹l蓹 d蓹 蓹vv蓹lki kimi eyni kubokda var.
Bel蓹 ki, pseudocode orada c蓹hd t枚k眉l眉r.
OLDU.
Bu sinif zaman yax艧谋 istifad蓹 bu g眉n.
OLDU.
Bel蓹 ki, indi g枚z蓹l we--.
Sort.
Oldu.
Bel蓹 ki, 莽ox yax艧谋.
Lauren t蓹艧蓹kk眉r edir蓹m.
脟ox yax艧谋.
>> Bel蓹 ki, yaln谋z sizin 艧眉urunda z蓹rb蓹 v蓹 bu, b蓹lk蓹 bir 艧ey deyil
Siz CS50 ID kimi, 蓹g蓹r il蓹 oynamaq, Siz, 蓹slind蓹, iki d蓹yi艧蓹nl蓹rin d蓹yi艧dirm蓹k olar
m眉v蓹qq蓹ti tam istifad蓹 etm蓹d蓹n.
Bu m眉vafiq C kodu.
V蓹 son geri 蓹g蓹r 脟蓹r艧蓹nb蓹, biz, 蓹g蓹r q谋sa t蓹qdim
C. V蓹 n蓹 b蓹zi yeni operatorlar谋 H蓹r k蓹s n蓹 az k枚k geri
simvolu az 眉莽bucaq var klaviatura r蓹mzi t蓹msil?
N蓹 bitwise operator?
>> Auditoriya: EXOR.
>> DAVID J. MALAN: EXOR.
Exclusive ya.
Yaln谋z 蓹yl蓹nc蓹 眉莽眉n, ist蓹yir蓹m 蓹g蓹r ev, bir v蓹 b iki ixtiyari verm蓹k
H蓹r hans谋 bir eight-- v蓹 m蓹n kimi d蓹y蓹rl蓹ri s蓹kkiz bit d蓹y蓹r se莽sin.
32 bit bunu 蓹g蓹r, 莽ox tez cans谋x谋c谋 almaq laz谋md谋r.
Amma yaln谋z bir s蓹kkiz az verm蓹k bir v蓹 ya iki h蓹r hans谋 d蓹y蓹ri,
v蓹 ox艧ar d蓹y蓹ri b verir.
V蓹 sonra m眉蓹yy蓹n istifad蓹 son 脟蓹r艧蓹nb蓹 XOR ki,
, bit h蓹r ki, bit m眉raci蓹t bir v蓹 b h蓹r olanlar s蓹kkiz bit,
v蓹 sonra bu kodu ba艧谋na d蓹qiq bunu.
V蓹 bu s蓹hv deyil n蓹 Siz ekranda burada bax.
Bu, h蓹qiq蓹t蓹n sonunda a艧a臒谋 眉莽 XOR 蓹m蓹liyyatlar谋
v蓹 el蓹 magically bir v蓹 b m枚vqel蓹rini m眉badil蓹si ed蓹c蓹k
h蓹r hans谋 bir m蓹lumat itirm蓹d蓹n.
>> Bel蓹 ki, neft v蓹 su oyun deyil yax谋n real d眉nya t蓹c蓹ss眉m
Hesab edir蓹m ki, taklit 眉莽眉n hesab ed蓹 bil蓹r.
Amma bu m眉tl蓹q asand谋r m眉v蓹qq蓹ti d蓹yi艧蓹n istifad蓹,
burada bu halda kimi.
V蓹 bu da bir f眉rs蓹t, dem蓹k ki, d蓹 mikro optimalla艧d谋r谋lmas谋 bu c眉r,
komp眉ter alim kimi dem蓹k olard谋 is蓹 蓹yl蓹nc蓹 n枚v眉
Siz olmadan bu nec蓹 haqq谋nda lov臒alanmaq 眉莽眉n 蓹lav蓹 d蓹yi艧蓹n d蓹yi艧dirm蓹 kimi,
Bu b眉t眉n 莽ekici deyil.
32 bit, kimi saxlamaq 眉莽眉n, 莽眉nki faktiki int halda,
b眉t眉n 莽ekici deyil sistemi harada
Siz megabayt onlarla istifad蓹 edil蓹 bil蓹r v蓹 ya daha 莽ox yadda艧 bu g眉n.
V蓹 蓹slind蓹, biz zaman almaq daha sonra problem d蓹sti
v蓹 yaz谋m h蓹yata checker v蓹 laz谋md谋r
bel蓹 il蓹 etiraz Bu az RAM v蓹 az
m眉mk眉n vaxt h蓹l蓹 komp眉ter 眉莽眉n
h蓹yata ke莽irilm蓹si 眉莽眉n bir h蓹ft蓹 var Siz olacaq yax艧谋d谋r laz谋md谋r pseudocode
bu resurslar谋 minimuma endirm蓹k 眉莽眉n etiraz.
V蓹 h蓹qiq蓹t蓹n, yaln谋z var Bu d枚vr m眉nasib蓹til蓹
Siz q谋rxmaq 眉莽眉n t蓹艧viq laz谋md谋r h蓹tta 蓹n yax艧谋 performans off
ba艧qa edir.
>> Bel蓹 ki, biz nec蓹 ed蓹 bil蓹r what-- Bu faktiki kodu g枚rm蓹k?
M蓹n蓹 indi davam ed蓹k v蓹 n眉mun蓹 a莽maq
ki, q蓹sd蓹n adlan谋r No Swap bu deyil, 莽眉nki
茝slind蓹 d蓹yi艧蓹nl蓹rin d蓹yi艧dirm蓹k Siz, h蓹qiq蓹t蓹n, g枚zl蓹y蓹 bil蓹r.
Bel蓹 ki, bir n蓹z蓹r salaq.
Burada he莽 bir CS50 var bir proqram kitabxana, yaln谋z standart I / O gedir.
陌ndi biz bir prototip var 眉st q蓹d蓹r svop 眉莽眉n olan yaln谋z
sonra m眉蓹yy蓹n var dem蓹kdir.
V蓹 burada 蓹sas var.
>> M蓹n 枚zba艧谋na x v蓹 y t蓹yin, m眉vafiq olaraq, d蓹y蓹rl蓹r bir v蓹 iki
yaln谋z onlar ki莽ik ist蓹yirik, 莽眉nki v蓹 asan d眉艧眉nm蓹k.
V蓹 sonra m蓹n yaln谋z printfs bir d蓹st蓹 var M蓹n a臒l谋 ba艧谋nda olma 莽ek oldu臒u. x 1
v蓹 y 2 ehtimalla edir o printfs dem蓹k n蓹.
Bel蓹 ki, he莽 bir sehrli indiy蓹 q蓹d蓹r.
>> Sonra m蓹n iddia gedir蓹m dot dot dot d蓹yi艧dirm蓹, def 莽ap.
M蓹n m眉badil蓹 z蓹ng etm蓹k 眉莽眉n gedir蓹m funksiyas谋, x v蓹 y ke莽蓹n.
V蓹 indi ki, g眉man ed蓹k swap d蓹qiq h蓹yata ke莽irilir
bir an 蓹vv蓹l oldu臒u kimi m眉v蓹qq蓹ti d蓹yi艧蓹n.
V蓹 m蓹n c蓹sar蓹tl蓹 iddia d蓹yi艧dirildikd蓹.
x bu v蓹 y indi ki indi.
Amma fayl, 蓹lb蓹tt蓹, No Swap adlan谋r.
Bel蓹 ki, h蓹qiq蓹t蓹n n蓹 g枚rm蓹k ed蓹k.
M蓹n he莽 bir m眉badil蓹 v蓹 t蓹rtib 蓹g蓹r ./noswap etm蓹k, x 1, y 2-dir.
D蓹yi艧dirildikd蓹 d蓹yi艧dirm蓹.
x y 2, 1.
Bel蓹 ki, h蓹qiq蓹t蓹n, h蓹tta q眉surlu g枚r眉n眉r svop baxmayaraq, indi a艧a臒谋 diyirl蓹yin ed蓹k
ba艧谋na d蓹qiq h蓹yata ke莽irilir code M蓹n bir an 蓹vv蓹l t蓹klif edib.
Bel蓹likl蓹, biz x眉lya almaq fikrind蓹 deyilik 陌ndi XOR m蓹hsullar谋 il蓹.
Bu da yaln谋z i艧l蓹m蓹lidir s眉d v蓹 OJ il蓹 kimi,
lakin bu i艧 g枚r眉nm眉r.
>> Bel蓹 ki, bir daha bunu ed蓹k.
B蓹lk蓹 yaln谋z sa臒 莽al谋艧an deyil.
Bel蓹 ki, yenid蓹n No Swap run ed蓹k.
B蓹lk蓹 istisna olmaqla, m蓹n yox.
Bel蓹 ki, yaln谋z i艧 deyil.
Bel蓹 ki, bir az a臒l谋 ba艧谋nda olma 莽ek bunu bildirin.
M蓹n蓹 Swap burada davam ed蓹k v蓹 yaln谋z 蓹lav蓹 bir d蓹qiq蓹 g枚zl蓹yin,
bir% i / n v蓹 ed蓹k plug-in bir d蓹y蓹ri.
M蓹n, h蓹qiq蓹t蓹n, ist蓹yir蓹m, 莽眉nki neler g枚rm蓹k.
H蓹qiq蓹t蓹n, bu bir ay谋klama texnika
Siz istifad蓹 edil蓹 bil蓹r ki, ofis saat v蓹 ya art谋q evd蓹,
Dan ilk yar谋s谋nda yax谋n Pset3 da Armendariz video
biz 莽ap t蓹qdim 莽谋xd谋臒谋 kimi def 蓹n az谋 bir t枚vsiy蓹 texnika
sad蓹 hallarda.
M蓹n蓹 davam v蓹 etm蓹k run ed蓹k daha he莽 bir svop, ./noswap.
>> Maraql谋.
Bel蓹 ki, do臒ru olmaq g枚r眉n眉r n蓹 g枚r眉rs眉n眉z. x 1, y 2, lakin b 1 bir 2-dir.
Bel蓹 ki, bu iki birt蓹h蓹r d蓹yi艧dirildikd蓹 oldu lakin x v蓹 y d蓹yi艧dirildikd蓹 蓹ld蓹 deyil.
Bel蓹 ki, n蓹 ba艧, ayd谋n olmaq q蓹d蓹r burada x v蓹 y edir
v蓹 h蓹min yerli d蓹yi艧蓹nl蓹r var 茝sas daxilind蓹, m蓹n x v蓹 y ke莽蓹n al谋ram
d蓹yi艧dirm蓹k 眉莽眉n.
陌ndi, svop, ayr谋-ayr谋 funksiyas谋 kimi, onun d蓹lill蓹ri z蓹ng etm蓹k pulsuzdur
v蓹 ya onun parametrl蓹ri bir 艧ey ist蓹yir.
Foo x v蓹 ya y v蓹 ya bir v蓹 ya b v蓹 ya bar v蓹 ya.
M蓹hz onlar oldu臒unu ayd谋n etm蓹k x eyni deyil v蓹 y 枚zl眉y眉nd蓹,
M蓹n A v蓹 B bildirib etdik.
Amma biz onlara biz ist蓹diyiniz bir 艧ey z蓹ng ed蓹 bil蓹r.
>> V蓹 bel蓹 kimi g枚r眉n眉r swap q蓹bul olunur
x-- AKA a-- v蓹 bu y-- AKA b q蓹bul olunur.
El蓹 bu 眉莽 x蓹tl蓹ri var m蓹hz bu d蓹y蓹rl蓹ri d蓹yi艧dirm蓹
Lauren s眉d v蓹 OJ il蓹 etdi.
Amma biz 莽ap zaman d蓹y蓹rl蓹r, bir v蓹 b
d蓹yi艧dirm蓹k h蓹qiq蓹t蓹n, lakin x v蓹 y onlara he莽 bir d蓹yi艧iklik yoxdur.
Ki, x v蓹 y burada q蓹d蓹r xat谋rlay谋ram.
>> Bel蓹likl蓹, biz vasit蓹sil蓹 bu ed蓹 bil蓹rsiniz el蓹c蓹 d蓹 dig蓹r texnika.
V蓹 bu da bir texnikad谋r problemi il蓹 蓹laq蓹dar 眉莽 se莽in.
Nin ir蓹li ged蓹k v蓹 bunu CS50 ID 茝g蓹r siz art谋q yoxdur, 蓹g蓹r.
Sa臒 t蓹r蓹fd蓹n biz bu Debugger ni艧an谋 var.
V蓹 bu q蓹d蓹r a莽maq 蓹g蓹r, b蓹zi gizli m蓹lumat yoxdur
ki, ilkin siz蓹 at谋lan oldu.
Amma real s眉r蓹tli bu ayr谋 tease bildirin.
>> Bel蓹 ki, bir, yerli d蓹yi艧蓹nl蓹rin g枚rm蓹k.
CS50 IDE qurmaq 莽谋x谋r ki, v蓹 proqramla艧d谋rma m眉hit daha 莽ox
眉mumiyy蓹tl蓹, bir ay谋klama edir.
Vizual g枚rm蓹k 眉莽眉n imkan verir bir vasit蓹dir n蓹 proqram谋 daxilind蓹 ged蓹n
蓹lav蓹 m眉raci蓹t etm蓹d蓹n printfs v蓹 t蓹rtib v蓹 莽al谋艧an
v蓹 printf nin 蓹lav蓹 v蓹 t蓹rtib v蓹 ofis saat olan art谋q 莽al谋艧an
v蓹 ya ev, y蓹qin ki, olduqca yorucu olur.
>> Bel蓹 ki, burada, yaln谋z bir an, biz ist蓹yirik real vaxt g枚rm蓹k 眉莽眉n gedir
Bizim yerli d蓹yi艧蓹nl蓹rin d蓹y蓹rl蓹ri.
Biz d蓹 m眉蓹yy蓹n ed蓹 olacaq breakpoints adlan谋r n蓹 olan
imkanlar fasil蓹 m蓹nim proqram var kod x眉susi x蓹ttind蓹 icra
M蓹n maraql谋 deyil蓹m ki.
Sa臒?
Bu proqramlar bir split ikinci ax谋r.
Bu, bizim yava艧 insanlar 眉莽眉n c眉r g枚z蓹l , fasil蓹 bir an etm蓹k imkan谋na malik olmaq 眉莽眉n, bax
蓹traf谋nda n蓹 olub kodu m眉蓹yy蓹n line
proqram 艧um olmadan vasit蓹sil蓹 v蓹 tamamil蓹 ba艧a.
Bel蓹 ki, bir breakpoints biz蓹 imkan gedir q谋rmaq v蓹 m眉蓹yy蓹n bir n枚qt蓹d蓹 fasil蓹.
>> Call y谋臒谋n谋 bir x眉lya yoldur funksiyalar谋 haz谋rda n蓹 s枚yl蓹y蓹r蓹k
haz谋rda adlanan.
Main h蓹mi艧蓹 birinci adlan谋r.
Amma Main 莽a臒谋r谋r 蓹g蓹r Swap adl谋 funksiyas谋,
biz, h蓹qiq蓹t蓹n, bu g枚rm蓹k olacaq olmu艧dur funksiyalar谋 qala
蓹ks xronoloji qaydada 莽a臒谋r谋b.
Bel蓹 ki, g枚r蓹k.
>> M蓹n ki莽iltm蓹k gedir蓹m.
M蓹n m蓹nim kodu geri getm蓹k 眉莽眉n gedir蓹m.
V蓹 yaln谋z m蓹n ist蓹yir蓹m, 莽眉nki burada x谋rda莽谋 olmaq,
M蓹n ir蓹li getm蓹k v蓹 bas谋n gedir蓹m yaln谋z x蓹ttinin be艧 sol.
V蓹 bir q谋rm谋z谋 dot yarad谋r.
V蓹 sa臒 t蓹r蓹find蓹 qeyd ay谋klama hey, bilir ki,
M蓹n yaln谋z bildirib ki, bir breakpoint da noswap.c line be艧, x眉susi
kodu bu x蓹tt.
Bel蓹 ki, ay谋klama ki, m蓹n bilir n枚vb蓹ti d蓹f蓹 ki, t蓹l蓹b
M蓹n proqram fasil蓹 run orada deyil, yaln谋z icra
super s眉r蓹tli b眉t眉n 艧ey 莽al谋艧谋r.
>> Bel蓹 ki, indi debug bas谋n gedir蓹m IDE 莽ox 眉st d眉ym蓹sini
v蓹 a艧a臒谋dak谋 etm蓹k olacaq.
Bu ilkin q蓹d蓹r bir a莽谋q olacaq qorxudan axtar谋r ikinci terminal p蓹nc蓹r蓹
Uzaqdan ay谋klama Bel蓹 ke莽iril蓹c蓹k v蓹 such--
v蓹 biz geri g蓹lm蓹k laz谋md谋r n蓹 b眉t眉n uzun 蓹vv蓹l dem蓹kdir.
Amma indi 眉莽眉n vacibdir n蓹 q谋rm谋z谋 dot 莽arpd谋 ki,
ay谋klama q蓹sd蓹n var execution-- durdurulmu艧
Biz se ba艧谋na ki, line, lakin ilk ki, funksiyas谋 faktiki kodu line.
Line yeddi ki, var 陌ndi sar谋 qeyd.
>> V蓹 indi bir n蓹z蓹r salaq sa臒 t蓹r蓹find蓹.
Bu default kimi g枚r眉n眉r, g枚z蓹l kifay蓹t q蓹d蓹r x n蓹 d蓹y蓹ri var?
0.
V蓹 y n蓹 d蓹y蓹ri var?
Zero.
V蓹 m蓹nada g枚zl蓹nil蓹n deyil ki, x v蓹 sar谋 x蓹tt var ki, y--
h蓹l蓹 icra.
Bel蓹 ki, x d蓹y蓹ri 1 olmamal谋d谋r.
H蓹r hans谋 dig蓹r d蓹y蓹ri ola bil蓹r, bir qondarma zibil d蓹y蓹ri.
V蓹 biz bu ki, u臒urlu var mahiyy蓹tc蓹 bu n枚qt蓹d蓹 s谋f谋r.
>> Bel蓹 ki, indi yaln谋z bir ne莽蓹 var d眉ym蓹l蓹ri biz qay臒谋 laz谋md谋r
bu 艧蓹kild蓹 ay谋klama zaman haqq谋nda.
Burada qeyd, bir Play d眉ym蓹sin蓹 var.
V蓹 biz oynamaq v蓹 ya hit ki, yaln谋z var, davam
ax谋r gedir Proqram谋n qalan
v蓹 ya ba艧qa bir breakpoint xit q蓹d蓹r.
Amma h蓹r hans谋 dig蓹r m眉蓹yy蓹n etdik breakpoints bel蓹 ki, yaln谋z var
sonuna ax谋r gedir.
M蓹臒lubiyy蓹t bel蓹 蓹traf谋nda poking m蓹qs蓹di.
>> Bel蓹 ki, 蓹v蓹zin蓹, m蓹n qay臒谋 sa臒 bu ni艧anlar.
M蓹n art谋q hover 蓹g蓹r Onlara kimi, 莽ox olmal谋d谋r
Siz az tips-- al蓹t m蓹sl蓹h蓹tl蓹r g枚r蓹c蓹ksiniz.
Bu art谋q add谋md谋r.
陌ndi skip dem蓹k deyil a艧a臒谋dak谋 kod line.
Bu yaln谋z onu icra dem蓹kdir v蓹 n枚vb蓹ti h蓹r蓹k蓹t n枚vb蓹ti h蓹r蓹k蓹t,
n枚vb蓹ti h蓹r蓹k蓹t.
Ba艧qa s枚zl蓹, via d眉ym蓹sini, m蓹n g蓹zm蓹k olar
bir zamanda m蓹nim kodu bir add谋m vasit蓹sil蓹.
S枚z眉n x蓹tti il蓹 line.
陌ndi sa臒 眉莽眉n ba艧qa bir var ki,
biz yaln谋z bir anda g枚r蓹c蓹ksiniz ki.
Bu qondarma deyil Icon Into Step
M蓹n蓹 dive imkan gedir ba艧qa funksiyas谋 daxil.
Amma yaln谋z bir anda bu g枚r蓹k.
Bel蓹 ki, art谋q add谋m bas谋n gedir蓹m.
M蓹n bas谋n kimi 陌ndi, qeyd sa臒 眉st bu d眉ym蓹ni,
Yerli alt谋nda t蓹xmin蓹n g枚zlerini saxlamaq D蓹yi艧蓹nl蓹r v蓹 x n蓹 g枚rm蓹k.
x indi 1 sar谋 x蓹tt indi edam etdi
v蓹 biz line 8 k枚莽眉r眉l眉b etdik.
V蓹 yaln谋z bir an y in艧allah 2 olmal谋d谋r.
>> 陌ndi he莽 bir 艧ey maraql谋 ki, bir az olur.
B眉t眉n bu printf edir.
V蓹 orta terminal qeyd p蓹nc蓹r蓹, m蓹n 莽ap def 莽谋x谋艧 oldu.
陌ndi bir etm蓹k laz谋md谋r proqram莽谋 kimi q蓹rar.
M蓹n bu x蓹tti 眉z蓹rind蓹 add谋m bil蓹r indeksi, onu h蓹yata deyil
daxili ne merak al谋ram.
Yoxsa m蓹n h蓹qiq蓹t蓹n onu add谋m bil蓹r v蓹 Swap 枚z眉 daxilind蓹 gedin.
Bel蓹 ki, sonuncu n蓹 ed蓹k.
>> M蓹n蓹 davam v蓹 bas谋n ed蓹k Biz g蓹l amma add谋m.
Notice, q蓹fl蓹t蓹n p蓹nc蓹r蓹 d蓹yi艧iklikl蓹r
ilk vur臒ulamaq 眉莽眉n Swap kod line.
Ki, x蓹tt 21 var.
陌ndi, funky c眉r ki, n蓹 var, Burada 眉z蓹rind蓹 baxmaq 蓹g蓹r, g枚zl蓹nildiyi kimi
bir verg眉l b m眉vafiq olaraq 1 v蓹 2, edir.
Niy蓹 temp 32.767 edir?
脟ox kimi ki, temp xat谋rladaraq bir an 蓹vv蓹l bo艧 fincan,
line 21 burada elan edilir.
M蓹n dem蓹k Niy蓹 32,000-, n蓹 Bu yaln谋z bir q蓹rib蓹 d蓹y蓹ri?
Evet?
>> Auditoriya: Bu ba艧lat谋lm谋艧 deyil.
>> DAVID J. MALAN: Bu ba艧lat谋lmad谋 deyil.
Bel蓹 ki, bizim komp眉ter h蓹mi艧蓹 fiziki yadda艧 var.
O, h蓹mi艧蓹 fiziki RAM var.
V蓹 h蓹mi艧蓹 var s谋f谋r v蓹 bir do臒ru var var?
Biz istifad蓹 edirik, 莽眉nki bizim uzun b眉t眉n g眉n komp眉ter,
Siz CS50 IDE istifad蓹 etdiyiniz v蓹 ya server b眉t眉n g眉n uzun.
Ki, RAM b蓹zi adet s谋f谋r var, bel蓹 ki, ya b蓹zi v蓹 ya bir adet s谋f谋r v蓹 olanlar谋.
Olursa olsun v蓹 ya 茝g蓹r siz onlar谋 istifad蓹 etdiyiniz deyil.
Siz yaln谋z bo艧 ola bilm蓹z f蓹zalar谋nda harada bit ist蓹yir蓹m.
Onlar adet s谋f谋r v蓹 olanlar谋 bil蓹rsiniz ist蓹yirik.
>> Bel蓹 ki, 莽眉nki temp 莽谋x谋r biz h蓹l蓹 ba艧lat谋lm谋艧 etdik
biz bu 32 bit var, lakin onlar var h蓹r hans谋 tan谋nm谋艧 d蓹y蓹rl蓹ri ba艧lat谋lm谋艧 edilmi艧dir.
Bel蓹 ki, onlar n蓹 蓹n Bu yax谋nlarda o 32 bits-- baxan m媒s媒n istifad蓹
biz yaln谋z b蓹zi 蓹s蓹rl蓹r g枚rd眉kd蓹 x眉susil蓹 32 蓹vv蓹lki istifad蓹
bit.
Kimi tezlikl蓹 M蓹n d蓹 g蓹l bas谋n kimi, phew, temp, d蓹y蓹ri 1 almaq 眉莽眉n gedir.
M蓹n bir daha bunu 蓹g蓹r, bir var d蓹y蓹ri 2 veril蓹c蓹k ged蓹r蓹k
v蓹 sonra b gedir d蓹y蓹ri 1 veril蓹c蓹k.
>> V蓹 n蓹 indi g枚z蓹l hekay蓹 bu n枚qt蓹d蓹
ay谋klama ki, super yava艧-yava艧, m蓹n蓹 g枚st蓹r蓹n
枚z s眉r蓹tl蓹, n蓹 Swap d枚vl蓹tdir.
Amma burada 眉st bildiri艧 qeyd ki, h蓹qiq蓹t蓹n z蓹ng y谋臒谋n
bu iki qat var.
Kimi qeyd Indi bir Swap, m蓹n 蓹v蓹zin蓹 Main bas谋n 蓹g蓹r,
yerli d蓹yi艧蓹nl蓹rin d蓹yi艧dirm蓹k nec蓹 g枚r眉rs眉n眉z geli艧tirici yaln谋z hop bil蓹r, 莽眉nki
蓹traf谋nda v蓹 h蓹r hans谋 bir m眉xt蓹lif 莽蓹r莽iv蓹sind蓹 daxil.
Biz b眉t眉n bu edirik Bel蓹 ki, baxmayaraq ki, i艧 v蓹 d眉zg眉n v蓹 b d蓹yi艧dirm蓹,
M蓹n Swap aras谋nda geri v蓹 ir蓹li getm蓹k 蓹g蓹r 2 v蓹 b 1 v蓹 蓹sas oldu臒u,
Main b眉t眉n t蓹sir etdi?
Yox.
Bel蓹 ki, paket, burada n蓹 var?
B蓹li, bu h蓹r hans谋 bir zamanda 莽谋x谋r ki, Siz Swap kimi bir funksiyas谋 z蓹ng
v蓹 bunu d蓹lill蓹ri ke莽m蓹k n蓹 Siz Swap funksiyas谋 ke莽蓹n edirik
Bu halda bir sur蓹ti h蓹min d蓹lill蓹ri.
Bel蓹 ki, x v蓹 y m眉vafiq olaraq h蓹r bir, 蓹g蓹r 32 bit, n蓹 Swap olur
iki yeni yerli D蓹yi艧蓹nl蓹r, v蓹 ya d蓹lill蓹ri,
adl谋 v蓹 b-- lakin o ixtiyari var names-- lakin adet s谋f谋r model
v蓹 daxilind蓹 v蓹 b olanlard谋r up astarl谋 x v蓹 y eyni olmaq
lakin onlar deyil x v蓹 y kimi eyni 艧ey.
>> Main onun par莽a var sanki bu ka臒谋z 1 v蓹 x v蓹 y 2,
v蓹 bu 蓹ll蓹ri sonra zaman ka臒谋z par莽as谋 Swap,
Swap 莽ox tez olur 枚z q蓹l蓹m, yaz谋r
1 v蓹 ka臒谋z 枚z hesabat谋nda 2, 蓹ll蓹ri 茝sas orijinal XY geri
v蓹 sonra 枚z yoxdur A v蓹 B il蓹 bir 艧ey.
Bu indi super vacibdir Bu nontrivial t蓹sir g枚st蓹rir
h蓹qiq蓹t蓹n do臒ru kodu yazmaq 眉莽眉n Bu, g枚r眉n眉r, 莽眉nki biz d蓹yi艧dirm蓹k bilm蓹z
iki d蓹yi艧蓹nl蓹rin.
>> M蓹n d眉zg眉n Swap funksiyas谋 yaz谋blar.
Biz Lauren il蓹 h蓹yata etdik 蓹slind蓹 d眉zg眉n svop funksiyas谋,
lakin y蓹qin he莽 m蓹s蓹l蓹l蓹ri 蓹g蓹r h蓹qiq蓹t蓹n bilm蓹z
daimi iki d蓹y蓹rl蓹r d蓹yi艧dirm蓹k.
Bel蓹likl蓹, biz bir yol laz谋md谋r h蓹qiq蓹t蓹n bu almaq 眉莽眉n,
v蓹 biz laz谋md谋r h蓹qiq蓹t蓹n bu problem h蓹ll edir.
V蓹 莽谋x谋r v蓹 biz g蓹lm蓹k laz谋md谋r geri bu 艧蓹kil
long-- 蓹vv蓹l bu bir yoldur ki, Siz komp眉ter yadda艧 c蓹lb ed蓹 bil蓹r.
Bu, sad蓹c蓹 bir d眉zbucaql谋 var.
Siz h蓹r hans谋 bir onu c蓹lb ed蓹 bil蓹r yollarla, lakin bu say谋
bir kimi 莽蓹km蓹k 眉莽眉n rahat A艧a臒谋dak谋 s蓹b蓹b蓹 g枚r蓹 d眉zbucaql谋.
>> Biz k蓹narda g眉n ba艧lamaq v蓹 olacaq s枚zd蓹 y谋臒谋n谋 haqq谋nda s枚hb蓹t.
V蓹 y谋臒谋n谋 yaln谋z bir y谋臒谋n edir bir yadda艧 y谋臒谋n RAM--
funksiyalar谋 imkan谋 var ki onlar adl谋 edirik zaman.
V蓹 bel蓹 ki, 莽谋x谋r Bu y谋臒谋n谋 莽ox a艧a臒谋
茝sas yerli d蓹yi艧蓹nl蓹rin b眉t眉n harada org C v蓹 org V v蓹 b眉t眉n stuff v蓹
ismar谋clar谋 getm蓹k 眉莽眉n gedir. V蓹 蓹sas 蓹g蓹r , Swap kimi b蓹zi dig蓹r funksiyas谋 莽a臒谋r谋r
yax艧谋, Swap ba艧qa almaq 眉莽眉n gedir yuxar谋da yadda艧 up qat.
>> V蓹 bel蓹 ki, yaln谋z bir s眉r蓹tli 枚t蓹ri verm蓹k Bu 艧蓹kil, m蓹n art谋q getm蓹k 蓹g蓹r burada
v蓹 m蓹n蓹 bu g眉zg眉 imkan yer眉st眉 kimi, h蓹qiq蓹t蓹n, M蓹n n蓹 well--,
biz yaln谋z qay臒谋 蓹g蓹r indi bu 艧蓹kil alt,
ki, bir proqram 莽al谋艧t谋rd谋臒谋n谋zda v蓹 蓹sas adl谋 olur
Main bir y谋臒谋n verilir M蓹nim komp眉ter RAM
bu qondarma y谋臒谋n谋 alt谋nda.
M蓹n onu c蓹lb gedir蓹m q蓹sd蓹n bir kvadrat kimi.
Bel蓹 ki, 32 bit v蓹 ya d枚rd bayt kimi.
Bu 蓹sas funksiyas谋 var, 蓹g蓹r bir 1 d蓹y蓹ri il蓹 d蓹yi艧蓹n adl谋 x
v蓹 adl谋 d蓹yi艧蓹n var 2 d蓹y蓹ri y, ki
yadda艧 bu q蓹lp蓹 alaraq kimi ki, Main 蓹m蓹liyyat t蓹r蓹find蓹n verilmi艧dir
sistemi v蓹 onu q蓹d蓹r b枚l眉nm蓹si ilk yerli d蓹yi艧蓹n, burada gedir
ikinci burada gedir, v蓹 bu.
>> Main Swap, Swap 莽a臒谋r谋r zaman yadda艧 枚z dilim al谋r
Biz bu kimi 莽蓹km蓹k laz谋md谋r ki, 蓹m蓹liyyat sistemi,
v蓹 var olacaq onun 枚z yerli d蓹yi艧蓹nl蓹rin 蓹sas谋nda
bizim h蓹yata ke莽irilm蓹si 眉zr蓹 蓹vv蓹ll蓹r yerli d蓹yi艧蓹nl蓹rin il蓹
ilkin v蓹 b ki, d蓹y蓹rl蓹ri 1 v蓹 2 almaq.
Amma sonra, q谋sa m眉dd蓹td蓹 Swap indeksi, icra
v蓹 Lauren h蓹qiq蓹t蓹n svoplar谋 OJ v蓹 s眉d, n蓹l蓹r olur?
B蓹li, bu 2 1, bu 莽evrilir 1, yolu il蓹, 2 莽evrilir v蓹
olan olan bir temp d蓹yi艧蓹n var ki, n蓹hay蓹t ki, b眉t眉n vaxt istifad蓹
眉z gedir.
Amma etm蓹z n蓹 q蓹d蓹r i艧 n蓹
bu x蓹tt Bu yadda艧 m蓹kanda of-- da, x v蓹 y tamamil蓹 bakir var.
>> Bel蓹likl蓹, biz verilm蓹si bir yol laz谋md谋r Bu kimi Swap v蓹 funksiyalar谋
gizli giri艧, Siz, 眉莽眉n funksiyalar谋 x v蓹 y kimi xatir蓹sini like--.
Bel蓹 ki, bir n蓹z蓹r salaq k枚m蓹k n眉mun蓹
Biz蓹 oldu d蓹qiq n蓹 Bu b眉t眉n zaman olur.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 a莽maq Zero m眉qayis蓹.
M蓹n yax谋n gedir蓹m Bizim ay谋klama, m蓹n gedir蓹m
Bu qorxudan axtar谋r mesaj谋 ba臒lamaq 眉莽眉n yaln谋z bir d蓹qiq蓹 g枚zl蓹yin deyir,
Siz orta ay谋klama ist蓹yirik.
M蓹n burada bu ni艧an谋 gizl蓹tm蓹k gedir蓹m yaln谋z geri sad蓹lik getm蓹k 眉莽眉n.
GDB h蓹lak Bel蓹 ki, narahat olmay谋n.
Yaln谋z Proqram o dem蓹kdir ki, q蓹sd蓹n bu halda, 莽谋x谋n edilmi艧dir,
M蓹nim t蓹r蓹fimd蓹n.
>> 陌ndi Zero bu yoxdur kar艧谋la艧t谋r谋n.
M蓹n CS50 istifad蓹 edir蓹m standart I / O kitabxana.
M蓹n ilk 蓹sas funksiyas谋 var deyir, bir 艧ey dem蓹k, v蓹 simli olur.
Sonra deyir ba艧qa simli olur.
V蓹 bu iki strings qeyd m眉vafiq olaraq, s v蓹 t deyilir.
陌ndi bu proqram, m眉qayis蓹 Zero, h蓹yat onun m蓹qs蓹di,
Bu m蓹n蓹 ehtimal, M蓹n eyni 艧ey yaz谋n idi?
V蓹 m蓹n h蓹ft蓹 bir geri gedir蓹m.
M蓹n b蓹rab蓹r b蓹rab蓹r operator istifad蓹 edir蓹m olan keyfiyy蓹tli operatorudur.
Not tap艧谋r谋q operator, b蓹rab蓹rlik operator.
M蓹n yaln谋z s v蓹 t m眉qayis蓹 edir蓹m.
>> Bel蓹 ki, faktiki olaraq ir蓹li getm蓹k v蓹 bunu bildirin.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 s谋f谋r m眉qayis蓹 etm蓹k.
M蓹n ./comparezero gedir蓹m.
M蓹n getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 bir 艧ey dem蓹k
kimi, bu ki莽ik ana ed蓹k v蓹 nec蓹 B枚y眉k Harf il蓹 ana haqq谋nda.
V蓹 蓹lb蓹tt蓹 ki, m眉xt蓹lif 艧eyl蓹r yaz谋n.
Oldu.
Ki g枚zl蓹nil蓹n deyil.
>> Yenid蓹n run ed蓹k.
Iki d蓹f蓹, ki莽ik ki莽ik etm蓹k.
Ki, m蓹n蓹 super eyni g枚r眉n眉r.
Daxil edin.
OLDU.
B蓹lk蓹 莽眉nki yaln谋z q蓹rib蓹 m蓹nim qrammatika simpatiya deyil.
Bel蓹 ki, kapital MOM ed蓹k, kapital MOM, eyni.
M眉xt蓹lif 艧eyl蓹r.
>> Bel蓹 ki, niy蓹 ki?
Yax艧谋, h蓹qiq蓹t蓹n n蓹 olacaq burada ba艧l谋q alt谋nda?
Bel蓹 ki, 眉z蓹rind蓹 geri ged蓹k Burada yaln谋z bir an 眉莽眉n
v蓹 n蓹 hesab GetString h蓹qiq蓹t蓹n edir.
Siz GetString z蓹ng zaman, ki, bir funksiyas谋 biz var
枚z眉m眉z yaz谋b v蓹 el蓹 bir olur istifad蓹莽i simvol ard谋c谋ll谋臒谋.
V蓹 ilk ki, g眉man ed蓹k d蓹f蓹 GetString z蓹ng ki, m蓹n蓹 verir
yadda艧 y谋臒谋n ki, bu kimi g枚r眉n眉r.
M蓹n b眉t眉n ki莽ik 莽ap 蓹g蓹r m-o-m-- v蓹 n蓹 ondan sonra gedir?
Just tez a臒l谋 ba艧谋nda olma 莽ek.
>> Backslash s谋f谋r.
Biz bilirik.
V蓹 biz oynay谋b geri 蓹traf谋nda Zamila ad谋 il蓹
v蓹 dig蓹r adlar谋 bir d蓹st蓹 zaman Rob burada axtar谋r
yadda艧 daxilind蓹 neler edir.
Bel蓹 ki, hekay蓹 eyni deyil.
Bu n蓹dir GetString M蓹n蓹 qay谋d谋r.
陌ndi m蓹nim kodu bir an 蓹vv蓹l saxlan谋l谋r GetString qaytar谋lmas谋 d蓹y蓹ri
bir d蓹yi艧蓹n s 莽a臒谋r谋b.
V蓹 sonra ikinci d蓹f蓹 莽a臒谋r谋b, bir d蓹yi艧蓹n adl谋 t onu saxlan谋l谋r.
>> M蓹n burada art谋q getm蓹k 蓹g蓹r Bel蓹 ki, m蓹n laz谋m bu yerli d蓹yi艧蓹n 莽蓹km蓹k 眉莽眉n
M蓹n 眉mumiyy蓹tl蓹 gedir蓹m izlersin alaca臒谋q kimi bir simli 莽蓹km蓹k
burada bir az kvadrat kimi s-- z蓹ng.
Ana n蓹 nec蓹 v蓹 indi birt蓹h蓹r bu d蓹yi艧蓹n s daxili getm蓹k?
Yax艧谋, biz geri getm蓹k laz谋md谋r Burada ilk prinsipl蓹rin蓹.
GetString h蓹qiq蓹t蓹n n蓹 qay谋d谋r?
>> Bel蓹 ki, M-O-M 莽谋x谋r backslash s谋f谋r v蓹 h蓹r hans谋 bir say谋
kimi yadda艧谋nda dig蓹r strings Zamila v蓹 Rob v蓹 ya Andy v蓹 ya h蓹r hans谋 dig蓹r
蓹lb蓹tt蓹 var bizim komp眉ter RAM v蓹 ya yadda艧.
V蓹 RAM var like-- var RAM konsert, RAM iki gigs,
v蓹 ya bir milyard v蓹 ya iki milyard bytes, v蓹 ya b蓹lk蓹 daha 莽ox bu g眉n.
Bel蓹 ki, bu g眉n m蓹qs蓹dl蓹r 眉莽眉n, g眉man ed蓹k, biz say谋 nec蓹 etm蓹z ki,
onlara, lakin biz h蓹r saya bil蓹r o milyard iki milyard
v蓹 ya d枚rd milyard bytes.
>> V蓹 yaln谋z 枚zba艧谋na ki, bildirin Bu ilk bite, ikinci bite,
眉莽眉nc眉, d枚rd眉nc眉.
M蓹n q蓹sd蓹n 眉莽眉n s谋f谋r istifad蓹 deyil蓹m Bu g眉n amma geri g蓹lm蓹k laz谋md谋r.
Bel蓹 ki, ba艧qa s枚zl蓹, bu, 蓹g蓹r ilk d蓹f蓹, proqram istifad蓹 edir蓹m
M蓹n yaln谋z xo艧b蓹xt v蓹 ilk al谋ram bite sonra yer birind蓹 iki
sonra 眉莽 d枚rd.
M蓹n r蓹sm saxlan谋l谋r 蓹g蓹r, qutusu say谋 iki milyard yol 眉z蓹rind蓹 burada olacaq.
>> Bel蓹 ki, sonra n蓹 d眉艧眉n眉rs眉n眉z, GetString h蓹qiq蓹t蓹n qaytar谋r?
Bu M-O-M backslash qaytar谋lmas谋 deyil s谋f谋r 枚zl眉y眉nd蓹 ayd谋n, 莽眉nki
M蓹n t蓹rtib etdik qutusuna uy臒un deyil.
Bel蓹 ki, h蓹qiq蓹t蓹n, ba艧qa n蓹 GetString bil蓹r B眉t眉n bu h蓹ft蓹 qaytar谋lmas谋?
Cavab deyil board burada haradasa.
Siz M-O-M backslash s谋f谋r uy臒un bilm蓹z bel蓹 n蓹 蓹v蓹zin蓹 m蓹nada ed蓹 bil蓹r?
Siz qoyaraq, super a臒谋ll谋 olmaq olsayd谋 qondarma m眉h蓹ndis papaq,
Siz n蓹 qay谋tmaq bil蓹r?
N蓹 informasiya 蓹n az m蓹bl蓹臒i Siz h蓹l蓹 ki ki, qay谋tmaq bil蓹r
Siz yadda艧 M-O-M tapmaq imkan?
Evet?
>> Auditoriya: biri.
>> DAVID J. MALAN: biri.
V蓹 niy蓹 bir?
Auditoriya: dem蓹k ist蓹yir蓹m, 莽眉nki siz [i艧itilemez] getm蓹k 眉莽眉n.
DAVID J. MALAN: Exactly.
M蓹n yaln谋z 眉nvan qay谋tmaq 眉莽眉n gedir蓹m M蓹n kazan谋lm谋艧 simli.
Bu 眉nvan hal yeri biridir.
Bel蓹likl蓹, n蓹 h蓹qiq蓹t蓹n s-- saxlan谋l谋r olunur v蓹 h蓹r string d蓹yi艧蓹n bel蓹likl蓹 far--
yaln谋z olmu艧dur ki, simli 眉nvan谋.
>> Eyni zamanda, m蓹n z蓹ng 蓹g蓹r Ikinci d蓹f蓹 v蓹 m蓹n GetString
sanki eyni 艧ey yaz谋n Lowercase-- M-O-M M-O-M
v蓹 ba艧qa backslash s谋f谋r, v蓹 indi b蓹lk蓹 m蓹nim proqram谋n
bir m眉dd蓹t bel蓹 ki, b蓹lk蓹 bu 莽al谋艧an edilmi艧dir 10, bu, bu 12, yer 11
Bu 13.
b蓹zi dig蓹r istifad蓹 komp眉ter h蓹r hans谋 s蓹b蓹bd蓹n yadda艧.
陌ndi m蓹nim ikinci gedir m蓹nim proqram t d蓹yi艧蓹n?
10.
M蓹hz.
>> V蓹 bel蓹 ki, biz baxd谋臒谋m谋z zaman Bu proqram谋n m蓹nb蓹 kodu
M蓹n sad蓹c蓹 莽al谋艧谋ram iki d蓹y蓹rl蓹r m眉qayis蓹 etm蓹k,
t b蓹rab蓹r b蓹rab蓹r deyil, n蓹 A艧kar insan cavab?
1 10 b蓹rab蓹r deyil, yaln谋z he莽 bir 莽眉nki.
V蓹 bel蓹 Burada bir yalan bizim 眉莽眉n f眉rs蓹t h蓹qiq蓹t蓹n
yaln谋z ilk yenid蓹n getm蓹k prinsipl蓹ri v蓹 d眉艧眉nm蓹k,
n蓹 ba艧l谋q alt谋nda olur?
Biz s枚hb蓹t etdik bit v蓹 bytes v蓹 yadda艧,
lakin bu, anlamaq 眉莽眉n h蓹qiq蓹t蓹n faydal谋 Siz GetString z蓹ng 莽眉nki,
biz hesab baxmayaraq ki, bu M-O-M v蓹 ya string ana qaytar谋lmas谋
v蓹 ya Andy v蓹 ya Zamila v蓹 ya kimi, texniki
yaln谋z 眉nvan qaytar谋lmas谋 yadda艧 ki, y谋臒谋n.
>> Amma ki, OK.
M蓹n nec蓹 bilmir蓹m, 莽眉nki string harada bitir?
M蓹n yaln谋z ba艧lan臒谋c谋 verilmi艧 al谋ram?
Yax艧谋, backslash s谋f谋r, sa臒?
Just m蓹n x蓹tti vaxt print def M-O-M 莽ap.
V蓹 tezlikl蓹 m蓹n backslash bax M蓹n ba艧lad谋 s谋f谋r, m蓹n qay臒谋 yoxdur
M蓹n art谋q dolay谋s谋 bilir蓹m M蓹n son laz谋md谋r.
>> V蓹 bu g眉n 蓹vv蓹lin蓹 qeyd v蓹 M蓹n蓹 脟眉nki biz dramatik bunu bildirin
narahatl谋q bir 莽ox yolu il蓹 getdi bu burada wheels-- t蓹lim almaq
bu g眉n t蓹lim t蓹k蓹rl蓹r ba艧lamaq off g蓹lm蓹k v蓹 biz a艧kar l眉臒蓹td蓹
>> [Alq谋艧]
>> Ki, s蓹f蓹r d蓹y蓹r yax艧谋 idi B蓹li, bu s蓹h蓹r H蓹d蓹f?
Bel蓹 ki, indi var, bu 莽evrilir h蓹yata, simli kimi bir 艧ey.
String yoxdur.
Biz etdik bir sinonim var CS50 kitabxana daxilind蓹.
Bundan sonra da z蓹ng ba艧lamaq olacaq s v蓹 t deyil strings lakin char ulduz.
Char ulduz v蓹 biz laz谋md谋r uzun 蓹vv蓹l ayr谋 tease.
Amma bu dem蓹k deyil, davam, h蓹tta ki,
陌ndi GetString istifad蓹 ed蓹r蓹k, texniki I olmal谋d谋r
char ulduz v蓹 char ulduz dey蓹r蓹k olun.
>> V蓹 n蓹 ulduz 莽谋x谋r i艧ar蓹 gedir bir 艧ey deyil
bir g枚st蓹rici v蓹 ya bir 眉nvan 莽a臒谋r谋b.
V蓹 蓹slind蓹, bir iltifat 眉莽眉n ir蓹li yalan n蓹
Bu 20 ikinci clip edir bizim Stanford dost Nick Parlante
kim 莽ox bir m眉dd蓹t 蓹vv蓹l s蓹rf vaxt bir g眉l眉nc m蓹bl蓹臒i,
yax艧谋 kimi m蓹n dey蓹 bil蓹r蓹m onun m蓹tb蓹x v蓹 ya onun zirz蓹mi,
claymation edilm蓹si d眉nyaya tan谋dan
adl谋 bir xarakter Binky kim蓹 biz
g枚st蓹ricil蓹rin蓹 n枚vb蓹ti d蓹f蓹 t蓹qdim olunacaq.
Bel蓹 ki, burada g蓹lib n蓹 bir 枚nizleme var.
>> [Video playback]
>> -Hey, Binky.
Uyan.
Bu g枚st蓹rici 蓹yl蓹nc蓹 眉莽眉n vaxt var.
>> -Bu n蓹dir?
G枚st蓹ricil蓹r haqq谋nda m蓹lumat 蓹ld蓹 edin?
Oh, goody.
>> [END playback]
DAVID J. MALAN: V蓹 qeyd, biz 脟蓹r艧蓹nb蓹 g眉n眉 g枚r蓹c蓹ksiniz.
Oldu.
Dancing kim?
Hadi.
Dancing kim?
Siz m蓹n蓹 ba艧lamaq ist蓹yirsiniz?
M蓹n ba艧lamaq laz谋md谋r.
Woooo!
>> LAUREN: Sweet x眉lya Moses.