>> JASON Hirschhorn: Welcome H蓹ft蓹 眉莽, everyone.
Biz m蓹艧臒ul, lakin maraql谋 var 脰n眉m眉zd蓹 b枚lm蓹.
Bel蓹 ki, birinci, biz b蓹zi etdik 莽眉nki gedi艧i il蓹 Headway lakin biz h蓹l蓹
枚yr蓹nm蓹 bir 莽ox m蓹n, n蓹 yazmay谋b Sizl蓹rin b蓹zi resurslar谋 g枚st蓹rm蓹k niyy蓹tind蓹dir
inan谋lmaz oldu臒unu s眉but etm蓹lidir Siz yana艧ma yaln谋z faydal谋 deyil kimi sizin
problem d蓹stl蓹ri, h蓹m d蓹 b眉t眉n h蓹zm biz siz蓹 u艧aqlar verm蓹k material
m眉hazir蓹 v蓹 艧ort v蓹 b枚lm蓹.
>> Sonra biz ilk 20 s蓹rf etm蓹k olacaq b枚lm蓹 眉z蓹rind蓹 ged蓹n 25 d蓹qiq蓹
Siz v蓹 ya ola bil蓹r olan gdb bu n枚qt蓹d蓹 istifad蓹, lakin bu deyil
olduqca faydal谋 vasit蓹dir ed蓹c蓹k Siz proqramlar谋 debug k枚m蓹k.
Siz bir 莽ox printf istifad蓹 ed蓹 bil蓹r anlamaq 眉莽眉n proqram orta
d蓹yi艧蓹n b蓹rab蓹r n蓹.
Gdb h蓹tta printf daha yax艧谋 v蓹 kodunuzu q谋ymaq deyil siz, 莽眉nki
bir y眉r眉t眉lebilir fayl run.
Bel蓹likl蓹, biz 10 蓹n faydal谋 art谋q getm蓹k laz谋md谋r Siz gdb 眉莽眉n laz谋m 蓹mrl蓹ri, v蓹 biz
birlikd蓹 bel蓹 bir h蓹yata getm蓹k gedir problem siz, 眉莽 v蓹 k蓹narda m眉蓹yy蓹n
debug k枚m蓹k gdb istifad蓹 ed蓹 bil蓹rsiniz proqramlar谋.
V蓹 n蓹hay蓹t, biz b蓹zi art谋q getm蓹k olacaq 莽e艧idl蓹nm蓹si alqoritml蓹rin v蓹 Axtar谋lanlar
Siz m眉hazir蓹 g枚rd眉m, v蓹 biz ki, h蓹qiq蓹t蓹n kodu, yaln谋z gedir
pseudocode, lakin kodu ikili axtar谋艧 bubble sort, v蓹 se莽im sort.
>> Bel蓹 ki, ilk, m蓹n getm蓹k ist蓹yir蓹m resurslar谋 眉z蓹rind蓹.
Bu geni艧 siyah谋s谋, v蓹 bu M蓹n bir 莽ox idi, 莽眉nki ki莽ik font
burada uy臒un.
Amma bu, siz蓹 yard谋m olacaq deyil, yaln谋z yen蓹 problem d蓹sti il蓹 v蓹
Siz 枚yr蓹ndim h蓹zm m蓹lumat, lakin m眉tl蓹q, viktorina zaman bu ed蓹c蓹kl蓹r
olduqca faydal谋 ola bil蓹r.
Bel蓹 ki, ilk, m眉hazir蓹 qeyd edir.
Siz cs50.net/lectures getm蓹k v蓹 蓹g蓹r x眉susi h蓹ft蓹 v蓹 g眉n gedin,
h蓹r biri 眉莽眉n qeydl蓹r var ki, g枚r蓹c蓹ksiniz sad蓹c蓹 deyil, m眉hazir蓹 bir
transcript, lakin bir redakt蓹 versiyas谋 kodu il蓹 m眉hazir蓹 蓹hat蓹 n蓹
par莽alar谋n谋 v蓹 dig蓹r faydal谋 tidbits.
M蓹n o 眉z蓹rind蓹 ged蓹n g蓹lir.
V蓹 sonra, el蓹c蓹 d蓹 m蓹nb蓹 kodu var h蓹r m眉hazir蓹 m枚vcuddur.
V蓹 yen蓹 bu slaydlar da olacaq cs50.net/sections m枚vcud online
bu ax艧am.
>> Bel蓹 ki, ikinci 艧ort h蓹r h蓹ft蓹 ki, m枚vzular谋 蓹hat蓹, ad蓹t蓹n 5 15
uzunlu臒u d蓹qiq蓹.
V蓹 o in艧allah bir ver蓹c蓹k m眉xt蓹lif m枚vzularda b枚y眉k primer.
脺莽眉nc眉 -
v蓹 bu yeni bu il - study.cs50.net edir.
Siz yoxlan谋l谋r varsa, m蓹n y眉ks蓹k Bunu g蓹lir.
Siz m枚vzu almaq.
Biz orada m枚vzular onlarla var.
Bel蓹 ki, m蓹s蓹l蓹n, siz funksiyalar谋 se莽in.
Bu b蓹zi slaydlar verir v蓹 funksiyalar谋 edir.
Bu 蓹slind蓹 slaydlar ki TFS zaman谋 istifad蓹 眉莽眉n t枚vsiy蓹 olunur bizim
b枚lm蓹sind蓹 t蓹qdimatlar.
M蓹艧臒ul olmaq 眉莽眉n M蓹sl蓹h蓹tl蓹ri v蓹 f蓹ndl蓹ri d蓹 var funksiyalar谋, v蓹 var il蓹
k枚m蓹k ki, t蓹cr眉b蓹 probleml蓹ri Siz funksiyalar谋 il蓹 i艧.
Biz d蓹 q谋sa siz蓹 links verm蓹k funksiyalar谋 v蓹 d蓹f蓹 funksiyalar谋
m眉hazir蓹 g蓹lmi艧蓹m.
Bu bel蓹 study.cs50.net, yeni il, bir fantastik resurs.
>> Sonra, m蓹n 蓹l olan adam var Siz 莽al谋艧t谋rabilirsiniz ki, komanda
command line.
Bel蓹 bir haqq谋nda h蓹r hans谋 bir sual谋n谋z varsa, komanda, m蓹s蓹l蓹n, rand, biz
b枚lm蓹 zaman谋 枚t蓹n h蓹ft蓹 qar艧谋la艧d谋 v蓹 莽ox g眉man ki, rast var
vasit蓹sil蓹 davam zaman problem set kodu yaratmaq, ancaq adam yaz谋n 蓹g蓹r
rand, siz s蓹hif蓹 almaq laz谋md谋r ki, Rand haqq谋nda b眉t眉n deyir.
Bu, onu al谋r n蓹 verir edir parametrl蓹ri, el蓹c蓹 d蓹 geri
n枚v眉 v蓹 q谋sa t蓹sviri ki, funksiyas谋.
>> Bel蓹 ki, Rand kontrol.
Bu, bir az wordy v蓹 confusing ola bil蓹r bel蓹 ki, b蓹z蓹n m蓹n ki, tapa
sad蓹c蓹 m蓹n bilm蓹k ist蓹yir蓹m n蓹 Googling cavab tapmaq 眉莽眉n 蓹n yax艧谋 yoldur.
Bel蓹 ki, Google il蓹 t蓹cr眉b蓹.
Google yax艧谋 almaq.
Bu 蓹n yax艧谋 dost olacaq.
>> El蓹c蓹 d蓹 Google, siz onu tapa bil蓹rsiniz 蓹g蓹r Google, cs50.net/discuss, bu
m眉zakir蓹 forum.
Bir sual varsa 艧ans谋n谋 bir Sizin 700 + h蓹mya艧谋dlar谋 d蓹 var ki,
sual v蓹 xahi艧 ola bil蓹r art谋q discuss
forumlar v蓹 cavab var.
Bel蓹 bir 眉mumi sual v蓹 ya varsa Siz hesab edir蓹m ki, bir sual var
b蓹lk蓹 dig蓹r insanlar daxil ola bil蓹r, cs50.net/discuss kontrol.
>> N蓹hay蓹t, son iki, siz ist蓹yirsinizs蓹 bir real insan, ofis dan谋艧maq
C眉m蓹 saat Bazar ert蓹si.
Online ofis saat da var uzad谋lmas谋 t蓹l蓹b蓹l蓹r 眉莽眉n.
V蓹 son lakin 蓹lb蓹tt蓹 az deyil M蓹n蓹, nida point.
Siz b眉t眉n 蓹laq蓹 m蓹lumat谋 var.
Bir 艧ey laz谋md谋r, 蓹g蓹r, xahi艧 edirik he莽 vaxt m蓹n蓹 m眉raci蓹t etm蓹kd蓹n 莽蓹kinm蓹yin.
H蓹mi艧蓹 bunu 莽ekinmeyin.
Siz 莽ox az Gchat m蓹ni 蓹lav蓹, ki, m蓹yusedici oldu
lakin 眉mid edir蓹m ki aras谋nda d蓹yi艧dirm蓹k laz谋md谋r Bu v蓹 n枚vb蓹ti b枚lm蓹.
Bu g眉n蓹 q蓹d蓹r resurslar谋 h蓹r hans谋 suallar?
B枚y眉k.
>> N蓹hay蓹t, ba艧qa bir plug 眉莽眉n 茝laq蓹, sayat.me/cs50.
Siz m蓹n蓹 anonim r蓹y ver蓹 bil蓹r edir蓹m nec蓹.
Ki, 枚t蓹n h蓹ft蓹 h蓹qiq蓹t蓹n faydal谋 oldu.
M蓹n siz蓹 u艧aqlar 艧蓹rh bir ne莽蓹 var sa臒 ikib枚lm蓹li, 眉st蓹g蓹l sonra
onu seyr ed蓹n dig蓹r t蓹l蓹b蓹l蓹r H蓹ft蓹 蓹rzind蓹 v蓹 bu
olduqca faydal谋 idi.
M蓹n c蓹hd v蓹 m蓹nim istifad蓹 m蓹hdudla艧d谋rmaq 眉莽眉n gedir蓹m s枚z眉 "艧irin" amma g枚st蓹r蓹c蓹k m蓹nim
co艧臒u v蓹 h蓹y蓹can dig蓹r yollarla.
Amma dig蓹r 蓹lav蓹 var idi maddi geribildirimler,
m眉sb蓹t v蓹 delta d蓹.
Bel蓹 ki, M蓹n siz蓹 u艧aqlar geribildirim edin Sizin problem d蓹stl蓹ri.
M蓹n蓹 geribildirim 莽ekinmeyin m蓹nim t蓹dris.
M蓹n siz蓹 u艧aqlar 眉莽眉n buradayam.
>> B枚y眉k.
M蓹n 眉莽眉n b眉t眉n ilk b枚lm蓹.
He莽 bir yoxdur suallar bu g眉n蓹 q蓹d蓹r?
M蓹n bir qeyd var n蓹zar蓹t m蓹rk蓹zi.
Extension t蓹l蓹b蓹l蓹r m蓹n蓹 nazil etdik Onlar h蓹r hans谋 bir audio 蓹ld蓹 deyilik dey蓹r蓹k,
lakin d眉zeltmek 眉莽眉n 蓹limd蓹n 莽谋xd谋.
Bel蓹likl蓹, 眉mid edir蓹m ki, olur q谋sa h蓹ll.
Siz online izl蓹m蓹k ist蓹yirsinizs蓹, hi, lakin siz m蓹ni e艧itm蓹k bilm蓹z.
>> Bel蓹 ki, birinci, biz ged蓹n gdb vasit蓹sil蓹 getm蓹k.
Gdb, m蓹n 蓹vv蓹ll蓹r hinted kimi, bir hata vasit蓹si
printf daha yax艧谋.
Bel蓹 ki, 蓹g蓹r, gdb, siz u艧aqlar il蓹 ba艧lamaq 眉莽眉n Sizin cihaz a莽maq ist蓹yir蓹m
M蓹n siz蓹 e-m蓹ktubla fayl谋 almaq 蓹vv蓹ll蓹r - bu fayl da olacaq
bir az m枚vcud online -
v蓹 gdb run. / fayl ad谋.
Birincisi, 蓹lb蓹tt蓹, siz t蓹rtib etm蓹k gdb yaln谋z i艧l蓹yir, 莽眉nki fayl
莽al谋艧t谋r谋labilir fayllar.
>> Amma he莽 ba艧lamaq ist蓹yirsinizs蓹 Gdb n蓹 ilk 艧ey,
Siz gdb. / Sezar ax谋r.
Bel蓹 ki, biz ist蓹yirik proqram谋n ad谋 var indi il蓹 getm蓹k niyy蓹tind蓹dir.
M蓹n Sezar etm蓹k yazmaq 眉莽眉n gedir蓹m olan m蓹n蓹 bir y眉r眉t眉lebilir fayl ver蓹c蓹k
burada ya艧谋l qeyd.
V蓹 sonra m蓹n gdb. / Cesar 莽al谋艧t谋rmak 眉莽眉n gedir蓹m.
>> V蓹 siz getm蓹k.
Siz biz b蓹zi m蓹tn m蓹n蓹 izah g枚rm蓹k m蓹ni verilm蓹si gdb versiyas谋 haqq谋nda
sonra b蓹zi z蓹man蓹t informasiya, v蓹 biz sort g枚r眉n眉r 脺DM tez var
bizim command line tez kimi, ancaq a莽谋q g枚rm蓹k
paren, gdb, yax谋n paren.
Biz bu fayl谋 davam v蓹 debug 蓹vv蓹l M蓹n siz蓹 b眉t眉n g枚nd蓹ril蓹c蓹k ki, baxaq
b蓹zi faydal谋 蓹mrl蓹ri bel蓹 ki, biz bir hissi var n蓹y蓹 蓹hat蓹 edir.
>> Bu 蓹mrl蓹ri burada verilmi艧dir M蓹n 眉mumiyy蓹tl蓹, onlar谋 istifad蓹 ed蓹n sifari艧.
M蓹n 莽al谋艧an m蓹nim proqram ba艧lamaq Proqram谋n Gbd. / Ad谋,
bu halda, Caesar.
V蓹 sonra ilk 艧ey m蓹n 99.9% bunu vaxt n枚v眉 fasil蓹 dem蓹k.
Ki, 蓹sas bir fasil蓹 point edir.
茝sas蓹n, siz orada n蓹 edirik proqram dayand谋rmaq 眉莽眉n gedir
蓹sas bel蓹 ki, x蓹tt ara艧d谋ran ba艧laya bil蓹rsiniz x蓹tti il蓹 deyil, b眉t眉n 莽al谋艧an 莽ox
yolu.
Siz m眉xt蓹lif m蓹nt蓹q蓹l蓹rind蓹 q谋ra bil蓹r Sizin kodu, 蓹sas 眉mumiyy蓹tl蓹 bir
ba艧lamaq 眉莽眉n yax艧谋 bir yerdir.
>> I run n枚vb蓹ti komanda run edir.
Bu proqram 莽al谋艧an ba艧lay谋r v蓹 Siz command line daxil etm蓹k laz谋md谋r, 蓹g蓹r
arqumentl蓹r, siz ki, funksiyan谋 莽al谋艧t谋r谋n.
D蓹lill蓹ri il蓹 Run.
Biz bir versiyas谋 眉z蓹rind蓹 gedir, b蓹ri proqram u艧aqlar olan C,
pset iki yazd谋 -
bu bir, 蓹lb蓹tt蓹, b蓹zi hatalar谋 var in艧allah tapmaq laz谋md谋r ki, bu -
biz b蓹zi komanda il蓹 run run olacaq line arqumentl蓹r 莽眉nki Sezar,
Sizl蓹rin problem ba艧谋na bildiyiniz kimi spec m眉蓹yy蓹n, b蓹zi
command line d蓹lill蓹ri.
>> 茝mrl蓹ri n枚vb蓹ti c眉t, n枚vb蓹ti bir h蓹qiq蓹t蓹n N枚vb蓹ti adlan谋r.
Ki, bir x蓹tti il蓹 siz x蓹tt 莽蓹kir sizin proqram谋 vasit蓹sil蓹.
Bel蓹 ki, daxil edin, sonra n vuru艧 siz al谋r n枚vb蓹ti line, icra
茝vv蓹lki line.
Step g枚t眉r眉r yaln谋z n枚vb蓹ti x蓹tti, lakin
siz daxili funksiyalar谋 edir.
Bel蓹likl蓹, siz bir funksiyas谋 yaz谋l谋 蓹g蓹r kodu v蓹 ya t蓹dqiq etm蓹k ist蓹yirsinizs蓹
i 眉莽眉n, misal 眉莽眉n, siz s t蓹艧kil ed蓹 bil蓹r v蓹 daha n枚vb蓹ti line ged蓹n daha
Siz h眉ququ vasit蓹sil蓹 olacaq ki, fayl indi, h蓹qiq蓹t蓹n add谋m olacaq
Bu funksiya v蓹 onun kodunu g枚r眉r眉k.
>> Siyah谋s谋 dostluq 莽ox istifad蓹莽i, siz蓹 g枚st蓹rir format, 蓹traf谋nda 10 v蓹 ya bel蓹 x蓹tl蓹ri
Hal-haz谋rda kodu harada bel蓹 ki, h蓹qiq蓹t蓹n, fayl bil蓹rsiniz
daha geri d蓹yi艧dirm蓹k 眉莽眉n olan v蓹 莽ox ir蓹li m眉xt蓹lif views aras谋nda.
Print, printf kimi Onun ad谋 n蓹z蓹rd蓹 tutur kimi.
Ki, bir d蓹yi艧蓹n b蓹rab蓹rdir n蓹 g枚st蓹rir.
>> M蓹lumat yerli h蓹qiq蓹t蓹n faydal谋d谋r.
Bu 莽ap x眉susi versiyas谋.
Info yerli siz yerli b眉t眉n g枚st蓹rir d蓹yi艧蓹nl蓹r, sizin 眉莽眉n b眉t眉n yazd谋ran
Hal-haz谋rda m枚vcud olan.
Bel蓹 ki, daha olan 眉mumiyy蓹tl蓹 I, M蓹n ki, d枚rd d蓹yi艧蓹nl蓹rin 莽ap
M蓹n bir loop 眉莽眉n, 眉莽眉n Ben 蓹g蓹r merak M蓹s蓹l蓹n, m蓹n yaln谋z info yerli yazmaq,
v蓹 m蓹n蓹 n蓹 m蓹nim counter i g枚st蓹rm蓹k laz谋md谋r M蓹n ki, array, el蓹c蓹 d蓹 b蓹rab蓹rdir
b蓹rab蓹r i艧.
>> N蓹hay蓹t, davam edir.
Fasil蓹 Typing siz dayanacaqlar fasil蓹 n枚qt蓹d蓹.
Siz x蓹tti il蓹 g蓹zm蓹k olar n枚vb蓹ti v蓹 add谋m line.
N枚vb蓹ti 眉莽眉n 莽al谋艧谋r proqram davam point q谋rmaq v蓹 ya doldurulub 蓹g蓹r q蓹d蓹r
he莽 bir daha 莽ox fasil蓹 xal var.
Disable fasil蓹 xal r蓹dd siz 蓹g蓹r 蓹sas da fasil蓹 q蓹rar verdi
uygunsuz, ist蓹diyiniz ba艧qa bir yerd蓹 m眉蓹yy蓹n.
V蓹 n蓹hay蓹t q, 莽谋xmaq, gdb h蓹yata al谋r.
>> Bel蓹 ki, bu proqram,. / Sezar, biz ged蓹n indi baxmaq v蓹 biz
tapmaq 眉莽眉n gdb istifad蓹 edir bu proqram bugs.
M蓹n 蓹vv蓹ll蓹r bu proqram qa莽d谋 50 Check, v蓹 m蓹n bir qa艧qabaq var.
H蓹r 艧ey bu t蓹rtib, m枚vcud, bu testl蓹r bir 莽ox ke莽ib, lakin 眉莽眉n
n蓹d蓹ns蓹, bu be艧inci ke莽蓹 bilm蓹di daxil BARFOO, b眉t眉n caps, d枚n眉艧 test,
E-D-U-I-R-R, b眉t眉n caps, 蓹sas kimi 眉莽 istifad蓹.
M蓹n olduqca yax谋n var.
M蓹n bir m蓹ktubu il蓹 off alm谋艧d谋r.
Bel蓹 ki, burada b蓹zi ki莽ik s蓹hv var.
M蓹n kod vasit蓹sil蓹 baxd谋 etdik.
M蓹n bunu anlamaq bilm蓹z.
脺mid edir蓹m ki, u艧aqlar m蓹n蓹 k枚m蓹k ed蓹 bil蓹r bu s蓹hv n蓹 anlamaq.
>> Bel蓹 ki, biz ist蓹yirik hata var 眉莽眉n axtar谋艧.
Nin gdb h蓹r蓹k蓹t ed蓹k.
Yen蓹, gdb. / Sezar run etdik bel蓹 ki, indi biz gdb ist蓹yirik.
V蓹 ilk n蓹dir m蓹n n蓹 etm蓹liy蓹m 艧ey?
M蓹n yaln谋z gdb daxil etdik.
Kims蓹 m蓹n蓹 yax艧谋 verm蓹k daxil command.
>> T茝L茝B茝: 蓹sas ay谋r谋n.
>> JASON Hirschhorn: 蓹sas ay谋r谋n.
Fantastic.
Nin da ki, yaz谋n ed蓹k
Siz u艧aqlar burada q蓹d蓹r izl蓹m蓹k v蓹 ya t蓹qib ed蓹 bil蓹rsiniz Sizin komp眉ter boyunca.
茝sas q谋rmaq v蓹 bir g枚r蓹c蓹ksiniz break point m眉蓹yy蓹n edilib -
M蓹n蓹 b蓹zi q蓹rib蓹 yadda艧 眉nvan verir, v蓹 bu da m蓹n蓹 line s谋ra verir.
M蓹n bu fayl谋 geri baxmaq olsayd谋, M蓹n 蓹sas atacaqlar谋n谋
line 21 ba艧 verib.
M蓹n n枚vb蓹ti n蓹 run laz谋md谋r?
M蓹nim proqram 莽al谋艧an?
No
M蓹n n枚vb蓹ti n蓹 run laz谋md谋r?
>> T茝L茝B茝: Run.
>> JASON Hirschhorn: Run.
M蓹n yaln谋z run run, v蓹 ya etm蓹lidir M蓹n b蓹zi dig蓹r 艧eyl蓹r 蓹lav蓹?
>> T茝L茝B茝: arqumenti il蓹 Run.
>> JASON Hirschhorn: Run komanda d蓹lill蓹ri.
M蓹n bir 莽ox x眉susi ay谋klama al谋ram ild蓹n halda, m蓹n daxil olmal谋d谋r
command line arqument.
Bel蓹 ki, yen蓹, olan, 眉莽 莽al谋艧t谋rmak yoxdur laz谋md谋r M蓹n Check 50 蓹ld蓹 莽谋xd谋.
Proqram ba艧layaraq.
Biz x蓹tl蓹ri bir ne莽蓹 il蓹 getm蓹k.
陌ndi biz x蓹tti 21 oldu臒unuzu g枚r蓹c蓹ksiniz.
Nec蓹 biz line 21 oldu臒unu bilirik?
脟眉nki Siz sol baxsaq m蓹nim terminal p蓹nc蓹r蓹 var
Bu x蓹tt 21 deyir.
V蓹, h蓹qiq蓹t蓹n, m蓹n蓹 verir line 21 oldu臒unu kodu.
M蓹n 蓹vv蓹ll蓹r misspoke.
Main line 21 h蓹qiq蓹t蓹n deyil.
Main 21 yuxar谋da x蓹tl蓹ri bir ne莽蓹 edir.
Amma line 21, ki, biz q谋r谋lma edirik.
Kodu bu x蓹tt var h蓹l蓹 icra edilmir.
Vacibdir.
G枚rd眉y眉n眉z line deyil h蓹l蓹 icra olunmu艧dur.
Bu kodu n枚vb蓹ti line var Siz icra 眉zr蓹yik.
>> U艧aqlar kimi Bel蓹 ki, n枚vb蓹ti line, il蓹 y蓹qin ki, tan谋艧, bu
m蓹n ola g枚rmek 眉莽眉n yoxlan谋lmas谋 bir command line arqument daxil.
V蓹 i bir, ikinci n蓹 bunu hiss蓹si?
A i n蓹dir?
>> T茝L茝B茝: bir tam d蓹yi艧dirilm蓹si.
>> JASON Hirschhorn: Ba臒谋艧lay谋n?
>> T茝L茝B茝: Bu d蓹yi艧蓹n oldu bir tam d蓹lil.
>> JASON Hirschhorn: Bel蓹 ki, bir i d蓹yi艧ir ARG bir tam bir simli v1.
V蓹 sonra n蓹 yoxlan谋lmas谋?
>> T茝L茝B茝: ikinci varsa command line arqument k蓹nara
proqram 莽al谋艧an.
>> JASON Hirschhorn: V蓹 n蓹 var Bu ilin ikinci yar谋s谋ndan
Boolean ifad蓹 yoxlan谋lmas谋?
Burada bu hiss蓹si, bir i 眉莽眉n?
>> T茝L茝B茝: m蓹nfi varsa.
>> JASON Hirschhorn: 蓹min n蓹 edilm蓹si?
>> T茝L茝B茝: 蓹min edilm蓹si 蓹slind蓹, m眉sb蓹t deyil.
>> JASON Hirschhorn: Exactly.
Bu g枚rmek 眉莽眉n yoxlan谋lmas谋 olunur Bu m蓹nfi m蓹nfi, v蓹 蓹g蓹r, m蓹n
bir hiss n枚vb蓹ti line g眉c眉n眉 var M蓹n蓹 b枚yle istifad蓹莽i da bil蓹r.
Bel蓹 ki, bu x蓹tt icra son hit imkan.
Biz x蓹tt g枚rm眉r蓹m ki, u艧aqlar b蓹lk蓹 b枚yle g枚rm蓹k g枚zl蓹nilir
istifad蓹莽i v蓹 sonra qaytar谋lmas谋, 莽眉nki Bu line icra etm蓹yib.
M蓹n 3 girdi.
M蓹n, 蓹slind蓹, iki komanda daxil etm蓹yib line arqumentl蓹r v蓹 3
s谋f谋r daha 莽ox.
Bel蓹 ki, x蓹tt g枚rd眉k, biz icra, lakin biz add谋m atmad谋
蓹g蓹r v蓹ziyy蓹ti daxilind蓹.
>> Bel蓹 ki, indi, n枚vb蓹ti, m蓹n m眉蓹yy蓹n al谋ram bax int 蓹sas i v1 Arg b蓹rab蓹rdir.
Bel蓹 ki, m蓹n蓹 bir d蓹yi艧蓹n d眉ym蓹sini yarad谋r.
M蓹n indi d眉ym蓹sini 莽ap 蓹g蓹r, 莽眉nki ki g枚rm蓹k 眉莽眉n imkan verir
d蓹y蓹ri d蓹yi艧蓹n daxilind蓹, 蓹sas 47 b蓹rab蓹rdir.
Ki, 蓹lb蓹tt蓹 q蓹rib蓹, lakin M蓹n yoxdur, 莽眉nki ki
h蓹l蓹 ki, x蓹tt icra.
M蓹n n hit 蓹g蓹r Bel蓹 ki, indi ki, line icra v蓹 莽ap d眉ym蓹sini etm蓹k, 蓹sas, 3 b蓹rab蓹r olacaq
biz b蓹rab蓹r g枚zl蓹yirik n蓹 olan.
>> Bel蓹 ki, yen蓹 gdb, x蓹tti siz Siz h蓹l蓹 icra g枚r眉r眉k.
Siz n v蓹 ya s v蓹 ya bir s谋ra hit var h蓹qiq蓹t蓹n dig蓹r 蓹mrl蓹ri
ki, x蓹tt icra.
Print d眉ym蓹sini bas谋n.
3 Key var.
陌ndiy蓹 q蓹d蓹r bel蓹 yax艧谋.
String d眉z m蓹tn.
Ki line icra ed蓹k.
M蓹n istifad蓹莽i bir string al谋ram.
>> M蓹nim Check 50 g枚r蓹k, m蓹n BARFOO b眉t眉n caps daxil edin, bel蓹 ki,
M蓹n daxil laz谋md谋r budur.
陌ndi d眉z m蓹tn 莽ap edin.
Siz bir string b蓹rab蓹rdir g枚r蓹c蓹ksiniz.
M蓹n蓹 bir dig蓹r q蓹rib蓹 hexadecimal verir say谋, lakin bu yoxdur
ki, m蓹nim string BARFOO oldu臒unu deyirl蓹r.
M蓹n 蓹sas da olmu艧dur n蓹 g枚rm蓹k ist蓹yirdi Bu bax谋mdan, m蓹n nec蓹 蓹sas yoxlamaq bil蓹r?
>> T茝L茝B茝: Print d眉ym蓹sini bas谋n.
>> JASON Hirschhorn: Print 蓹sas, d蓹qiq.
V蓹 h蓹qiq蓹t蓹n, q谋sa var.
Siz 莽ap yazaraq v蓹 yor臒un almaq, yaln谋z p ed蓹bil蓹rsiniz.
Bel蓹 ki, p 蓹sas eyni d蓹qiq 艧ey yoxdur.
V蓹 yen蓹, m蓹n 3 b蓹rab蓹rdir g枚r眉r眉k.
>> M蓹n n蓹 蓹sas, h蓹m d蓹 tapmaq ist蓹yirdi v蓹 BARFOO eyni zamanda b蓹rab蓹r
amma h蓹r yazaraq yor臒un idi biri f蓹rdi, m蓹n
info yerli yaz谋n bil蓹r.
M蓹n蓹 蓹sas b蓹rab蓹rdir 3 verir.
Plain text BARFOO b蓹rab蓹rdir.
Bu da m蓹n蓹 bu iki q蓹rib蓹 艧eyl蓹r verir 眉st, bu d蓹yi艧蓹n i v蓹
Bu d蓹yi艧蓹n n.
>> Bu 蓹slind蓹 m枚vcud m蓹nim 蓹sas proqram.
Biz h蓹l蓹 onlara rast yoxdur lakin bir 枚nizleme kimi, h蓹min
m蓹nim loop 眉莽眉n m枚vcuddur.
Bel蓹 ki, haz谋rda, b蓹zi q蓹rib蓹 b蓹rab蓹r 蓹d蓹d onlar olmam谋艧d谋r, 莽眉nki
h蓹l蓹 ba艧lat谋lmad谋, lakin onlar h蓹l蓹 m枚vcuddur yadda艧, bel蓹 ki, onlar yaln谋z t蓹yin etdiyiniz
b蓹zi zibil d蓹y蓹ri.
Amma biz d眉z d眉ym蓹sini g枚r眉rs眉n眉z orada m蓹tn.
>> M蓹n bu x蓹tt icra gedir蓹m, line 34, 眉莽眉n loop.
Biz daxil jump olacaq n vuraraq loop 眉莽眉n.
V蓹 biz loop 眉莽眉n daxili ist蓹yirik.
Biz ilk 莽ek.
V蓹 yen蓹 bu sort baxmaq laz谋md谋r bu bir idi, 莽眉nki siz蓹 tan谋艧
Sezar yaz谋l谋 ki, proqram, lakin yen蓹 s蓹hv bir n枚v var.
>> M蓹n, 莽眉nki indi, info yerli 蓹g蓹r loop 眉莽眉n daxili, siz g枚r蓹c蓹ksiniz
biz g枚zl蓹m蓹k kimi i, s谋f谋r b蓹rab蓹rdir ki,.
Y蓹ni biz onu m眉蓹yy蓹n v蓹 ba艧lat谋lm谋艧 n蓹 Bu loop 眉莽眉n d蓹.
n 6 b蓹rab蓹rdir.
Biz m眉蓹yy蓹n, 莽眉nki da 蓹h蓹miyy蓹t k蓹sb edir d眉z m蓹tn strlen 眉莽眉n.
M蓹n info yerli v蓹 ya 莽ap etm蓹k ist蓹yir蓹m d蓹yi艧蓹n tez-tez 蓹min etm蓹k
h蓹r 艧ey h蓹mi艧蓹 n蓹 M蓹n b蓹rab蓹r g枚zl蓹yirik.
Bu halda, h蓹r 艧ey M蓹n b蓹rab蓹r g枚zl蓹m蓹k n蓹.
>> Bel蓹 vasit蓹sil蓹 h蓹r蓹k蓹t ba艧lamaq ed蓹k bu loop 眉莽眉n.
M蓹n deyil蓹m line line 36, 蓹g蓹r d眉z m蓹tn i bir v蓹 d眉z daha b枚y眉kd眉r
text i daha az v蓹 ya z b蓹rab蓹rdir.
M蓹n problem m蓹nim ilk deyil bilirik m蓹ktub, ikinci h蓹rfi il蓹 var.
Biz Check geri baxmaq 蓹g蓹r 50, B E c蓹rim蓹 gedir.
M蓹n A alaraq v蓹 kimi t蓹rk edir蓹m A, D. Bel蓹likl蓹 onu d蓹yi艧蓹n deyil
bir 艧ey il蓹 yanl谋艧 ikinci m蓹ktubu.
M蓹n h蓹r蓹k蓹t etm蓹k 眉莽眉n gedir蓹m bir ikinci.
>> Amma n蓹 d眉z yoxlamaq ist蓹yir蓹m ki, 蓹g蓹r text Bu x眉susil蓹 olmu艧dur
halda, m蓹n n蓹 olmal谋d谋r?
D眉z m蓹tn M蓹n bu b蓹rab蓹r olmal谋d谋r n蓹 loop 眉莽眉n vasit蓹sil蓹 ilk d蓹yirmi?
>> T茝L茝B茝: Zero?
>> JASON Hirschhorn: I Plain text?
Bel蓹 ki, m蓹n, 蓹lb蓹tt蓹 paytaxt谋 B. olmal谋d谋r s谋f谋r b蓹rab蓹rdir, lakin d眉z m蓹tn
bracket s谋f谋r qapal谋 bracket B b蓹rab蓹rdir 莽眉nki strings, biz 枚t蓹n h蓹ft蓹 g枚rd眉m kimi,
array var, bel蓹 ki, biz 蓹ld蓹 etdiyiniz ki, ilk character.
Bel蓹 ki, yen蓹 m蓹n d眉z m蓹tn 莽ap 蓹g蓹r M蓹n, 蓹slind蓹, xarakter almaq yoxdur
B. V蓹 bu do臒ru, s蓹liq蓹li var?
M蓹n, h蓹qiq蓹t蓹n, d眉z m蓹tn I. yoxdur M蓹n m眉蓹yy蓹n d蓹yi艧蓹nl蓹rin biri deyil
v蓹 ya ba艧lat谋lm谋艧, lakin siz 莽ap ed蓹 bil蓹rsiniz 艧eyi b眉t眉n host h蓹yata
Siz ist蓹yirsinizs蓹.
>> Amma vasit蓹sil蓹 h蓹r蓹k蓹t ed蓹k.
D眉z m蓹tn I A daha 莽ox v蓹 蓹g蓹r d眉z m蓹tn I daha az v蓹 ya b蓹rab蓹rdir
脟眉nki bizd蓹 Z, ayd谋n h蓹qiq蓹tdir M蓹n 莽al谋艧t谋rmak 眉莽眉n gedir蓹m paytaxt谋 B.
bu bir komanda.
Biz ke莽蓹n h蓹ft蓹 riyaziyyat g枚rd眉m, bel蓹 ki, biz will 莽al谋艧谋r ki veril蓹n 眉莽眉n almaq
sa臒 50 yoxlay谋n g枚r蓹.
>> Bu q谋vr谋m a艧谋rma, ilk M蓹n 蓹g蓹r m枚vcud idi g枚st蓹rdi ki,
v蓹ziyy蓹ti, ikinci g枚st蓹rdi M蓹n loop 眉莽眉n m枚vcud edir蓹m ki,.
M蓹n Sonraki hit zaman v蓹 indi, biz g枚r蓹c蓹ksiniz biz yen蓹 loop 眉莽眉n geri ist蓹yirik.
Biz vasit蓹sil蓹 olacaq yen蓹 loop 眉莽眉n.
H蓹qiq蓹t蓹n ikinci add谋m ed蓹k loop v蓹 n枚v眉 眉莽眉n iteration
info yerli.
>> Bel蓹likl蓹, biz ikinci iteration ist蓹yirik bizim 眉莽眉n loop.
M蓹n biz g枚zl蓹yirik ki, 1 b蓹rab蓹rdir.
N g枚zl蓹diyimiz olan 6 b蓹rab蓹rdir.
Key biz g枚zl蓹yirik ki, 3 b蓹rab蓹rdir.
V蓹 d眉z m蓹tn, g枚r蓹c蓹ksiniz b蓹rab蓹rdir EARFOO indi ki, art谋q BARFOO 莽眉nki
bizim 蓹vv蓹lki iteration, B idi paytaxt E. d蓹yi艧ib Bel蓹 ki, biz ist蓹yirik
problemi qar艧谋la艧a, bu bel蓹 biz olacaq harada
hata daxil dal谋艧.
Amma he莽 h蓹r hans谋 bir sual谋n谋z var biz bu g眉n蓹 q蓹d蓹r etdiyiniz n蓹 haqq谋nda?
Fantastic.
>> Bel蓹likl蓹, biz bu icra 眉zr蓹yik v蓹ziyy蓹ti, m蓹n qapal谋 d眉z m蓹tn bracket
bracket A daha 莽ox v蓹 d眉z m蓹tn I daha az v蓹 ya Z. b蓹rab蓹r Amma 蓹vv蓹l
Bu, 莽眉nki, ki, daxil oldu臒u M蓹n qeyd etm蓹k ist蓹yir蓹m, m蓹nim s蓹hv oldu臒unu
I. d眉z m蓹tn out Bel蓹 ki, nin 莽ap h蓹yata qoymaq bildirin.
Bu xarakteri b蓹rab蓹r edir, bel蓹 ki, bu g眉n蓹 q蓹d蓹r, b眉t眉n yax艧谋 v蓹 yax艧谋 g枚r眉n眉r.
>> M蓹n, m蓹nim m蓹ntiq ba艧谋na bu x蓹tti g枚zl蓹m蓹k Bu line do臒ru olmal谋d谋r.
Bu kapital m蓹ktubu var.
M蓹n n hit 蓹g蓹r Lakin, biz d蓹rk etmirl蓹r ki, bu line, 蓹slind蓹, icra etm蓹yib.
M蓹n ba艧qa 蓹g蓹r a艧a臒谋 atlad谋.
N蓹 ba艧 verdi?
>> T茝L茝B茝: Siz 莽眉nki sizin v蓹ziyy蓹ti d眉z m蓹tn b枚y眉kd眉r
A, b蓹rab蓹r v蓹 ya daha 莽ox.
>> JASON Hirschhorn: Bel蓹likl蓹, m蓹n d眉z m蓹tn idi M蓹n A, b枚y眉k olmayan daha b枚y眉k
v蓹 ya b蓹rab蓹r.
Bel蓹 ayd谋n, paytaxt A etm蓹di v蓹ziyy蓹ti bu tetiklemek v蓹 biz
onu add谋m v蓹 biz etm蓹di z蓹ruri shift deyil.
Bel蓹 ki, h蓹qiq蓹t蓹n, var.
M蓹n s蓹hv fiqurlu.
M蓹n m蓹nb蓹 fayl谋 geri getm蓹k bil蓹r, d蓹yi艧dirm蓹k, v蓹 onu yenil蓹m蓹k v蓹
yen蓹 50 yoxlay谋n ax谋r.
>> Amma biz yaln谋z pedaqogika nin, g枚r眉rs眉n眉z xatirin蓹, m蓹n davam 蓹g蓹r.
Ba艧qa varsa ya icra etmir, lakin n蓹 蓹v蓹zin蓹 b蓹rab蓹rdir 蓹mr edir
ki, d蓹yi艧mir.
Bel蓹 ki, b眉t眉n d蓹yi艧ib v蓹 蓹g蓹r m蓹n burada d眉z m蓹tn 莽ap, biz ged蓹n g枚r蓹c蓹ksiniz
vasit蓹sil蓹 loop 眉莽眉n, 蓹slind蓹, olmad谋 b眉t眉n ki, ikinci xarakter d蓹yi艧ir.
Bu h蓹l蓹 bir kapital A. var
>> Bel蓹 ki, yen蓹 biz s蓹hv debugged.
Biz var idi ki, h蓹yata ke莽irilir itkin bir m蓹ntiq.
V蓹 biz 蓹vv蓹l vaxt谋ndan 蓹vv蓹l debugged h蓹qiq蓹t蓹n ki x蓹tt yerin蓹,
lakin siz qeyd olard谋 idi biz yaln谋z Next hit v蓹 蓹g蓹r ki, ba艧qa tullanmaq,
dem蓹kdir ki, 蓹g蓹r v蓹ziyy蓹t do臒ru deyil.
Biz, 蓹slind蓹, 蓹ld蓹 etm蓹yib n蓹tic蓹 biz g枚zl蓹nilir.
Bel蓹likl蓹 biz istenir bil蓹rdi idi Biz baxmaq, bel蓹 ki, astute deyil
ki, v蓹ziyy蓹ti v蓹 蓹slind蓹, 蓹g蓹r yoxlamaq 蓹g蓹r bizim v蓹ziyy蓹ti qiym蓹tl蓹ndirm蓹k laz谋md谋r
cari kontekstind蓹 do臒ru.
>> Bu proqram hata 眉莽眉n b眉t眉n var.
He莽 bir sual谋n谋z varm谋?
M蓹n gdb 莽谋xmaq hans谋 蓹mri hit bil蓹r?
Q. V蓹 sonra m蓹n istenir, h蓹r halda 莽谋xmaq?
B蓹li v蓹 ya No.
I yes hit olacaq v蓹 m蓹n gdb 莽谋xmaq laz谋md谋r.
>> Bel蓹 ki, gdb tez primer idi.
茝slind蓹, bir real ssenari, M蓹n ofis saat bu idi.
Bu d蓹qiq proqram da GDBed bir t蓹l蓹b蓹 il蓹 ofis saat.
V蓹 biz g枚rd眉k 蓹mrl蓹ri geri getm蓹k 蓹g蓹r 蓹vv蓹l, biz ilk, break 蓹sas istifad蓹
艧ey etdik.
Biz command line d蓹lill蓹ri il蓹 run istifad蓹 ikinci 艧ey etdik.
Biz h蓹r蓹k蓹t yan谋nda bir 莽ox istifad蓹 x蓹tl蓹ri vasit蓹sil蓹 us.
V蓹 yen蓹, qisa versiya n枚vb蓹ti n edir.
Ki, parantez var Slayd boz.
>> Biz add谋m istifad蓹 etm蓹yib, lakin biz deyil m眉tl蓹q bu halda laz谋md谋r.
Amma biz sonra bir az onu istifad蓹 ed蓹 bil蓹r Bu g眉n biz ay谋klama 蓹g蓹r, 眉莽眉n
M蓹s蓹l蓹n, ikili axtar谋艧 zaman ikili axtar谋艧 ayr谋 bir adlan谋r
funksiyas谋 lakin var il蓹 b蓹zi s蓹hv.
Biz daxil add谋m ist蓹yirik olacaq ikili axtar谋艧 z蓹ng v蓹
h蓹qiq蓹t蓹n debug.
Biz idi, 莽眉nki biz ya istifad蓹 etm蓹yib siyah谋s谋 bizim kodu yax艧谋 m蓹nada, amma 蓹g蓹r m蓹n
hans谋 kodu I hissi almaq ist蓹yir蓹m 蓹traf谋nda idi, m蓹n yaln谋z siyah谋s谋n谋 istifad蓹 ed蓹 bil蓹r.
>> Biz istifad蓹 info yerli istifad蓹 莽ap.
Biz bu istifad蓹 etm蓹k laz谋md谋r etm蓹yib Davam halda, biz d蓹 istifad蓹 etm蓹k laz谋m idi
aradan, lakin biz istifad蓹 莽谋x谋n.
Yen蓹 bu 10 蓹mrl蓹ri, onlar谋 t蓹cr眉b蓹.
Bu 10 蓹mrl蓹ri anlamaq, 茝g蓹r h蓹r hans谋 bir ay谋klama 眉莽眉n m眉蓹yy蓹n edilm蓹lidir
gdb il蓹 verm蓹k.
>> Bel蓹 ki, biz, t蓹krar getm蓹k haqq谋nda ist蓹yirik hiss蓹sinin mahiyy蓹ti bu g眉n 眉z蓹rind蓹 ged蓹n
Bu 莽e艧idl蓹nm蓹si v蓹 axtar谋艧 alqoritml蓹ri.
Biz bunu 蓹vv蓹l, yen蓹, H蓹r hans谋 bir sual谋n谋z, gdb 眉莽眉n yap谋lan yorumlar narahatl谋q?
Bel蓹 ki, ham谋 istifad蓹 edir Gdb 莽ox printf?
茝b蓹di xatirin蓹 Bel蓹 ki, ham谋, h蓹r k蓹s 枚z ba艧 h眉ququnu noddede olunur
陌ndi, m蓹n ofis saat siz g枚r蓹c蓹ksiniz v蓹 b眉t眉n TFS Sizi v蓹 g枚r蓹c蓹ksiniz
nec蓹 istifad蓹 etm蓹k m蓹n蓹 g枚st蓹r, dem蓹k laz谋md谋r Gdb v蓹 siz ed蓹 bil蓹rsiniz
sa臒, onlara g枚st蓹rm蓹k 眉莽眉n?
C眉r?
B蓹lk蓹 in艧allah.
Cool.
>> Bel蓹likl蓹, biz h蓹r蓹k蓹t olacaq 莽e艧idl蓹nm蓹si v蓹 axtar谋艧.
M蓹n art谋q s谋ralamas谋 siyah谋s谋n谋 g枚r蓹c蓹ksiniz Biz蓹, lakin niyy蓹tind蓹 deyil 眉莽眉n
h蓹mi艧蓹 bel蓹 olacaq.
Bel蓹 ki, problem 眉莽眉n set d蓹qiql蓹艧dirilm蓹si problem 眉莽 set, siz 艧ort var
siz h蓹qiq蓹t蓹n izl蓹m蓹k, v蓹 ed蓹 bil蓹r ki, o 艧ort izl蓹m蓹k 眉莽眉n xahi艧 edir.
H蓹m莽inin m眉hazir蓹 枚t蓹n h蓹ft蓹, biz art谋q getdi bu alqoritml蓹rin bir 莽ox, m蓹n deyil蓹m
davam sinif vaxt s蓹rf etm蓹k niyy蓹tind蓹 deyil daha bu alqoritml蓹r v蓹 ya r蓹sm 眉z蓹rind蓹
nec蓹 bu 眉莽眉n 艧蓹kill蓹r alqoritml蓹r 莽al谋艧谋r.
Yen蓹, yenid蓹n watch bil蓹r ki, m蓹lumat m眉hazir蓹, v蓹 ya m蓹lumat
艧ort haqq谋nda outstandingly 蓹sir Bu axtar谋艧lar, b眉t眉n 眉莽眉n
cs50.net m枚vcud olan.
>> Bel蓹 ki, 蓹v蓹zin蓹, biz olacaq n蓹 bu proqramlar谋 yazmaq deyil.
Biz nec蓹 bir ruhi model, hissi var onlar i艧, v蓹 biz olacaq
etm蓹k real 眉莽眉n onlar谋 kodu.
Biz 蓹qli model 莽evirm蓹k olacaq, ki, 艧蓹kil, Siz, daxil
faktiki kodu.
V蓹 bir az qar谋艧谋q v蓹 ya 蓹g蓹r psixi model dumanl谋, m蓹n tamamil蓹
ba艧a d眉艧眉r眉k.
>> Biz, h蓹qiq蓹t蓹n, fikrind蓹 deyilik kodu straightaway jump.
Bu slayd bu tez soru艧ur is蓹 bel蓹 Siz ikili axtar谋艧 kod v蓹
h蓹qiq蓹t蓹n, t蓹krar versiyas谋 ikili axtar谋艧, ilk 艧ey m蓹n
h蓹qiq蓹t蓹n, sizin n蓹 etm蓹k ist蓹yirsinizs蓹 pseudocode yazmaq.
Bel蓹 ki, bu ruhi model var nec蓹 ikili axtar谋艧 i艧l蓹ri.
Varsa ka臒谋z bir hesabat谋 莽谋xarmaq bir haz谋r, v蓹 ya a莽maq bir
m蓹tn redaktoru v蓹 m蓹n ist蓹rdim yazmaq everybody.
Yazmaq 眉莽眉n d枚rd d蓹qiq蓹 edin Binar axtar谋艧 眉莽眉n pseudocode.
>> Yen蓹 ki, 蓹qli model haqq谋nda d眉艧眉n眉r蓹m.
茝g蓹r suallar谋n谋z varsa, m蓹n 蓹traf谋nda g蓹lm蓹k laz谋md谋r v蓹 biz 艧蓹kil c蓹lb ed蓹 bil蓹r.
Lakin ilk, biz proqramla艧d谋rma ba艧lamaq 蓹vv蓹l, M蓹n yazmaq ist蓹diyiniz
Binar axtar谋艧 眉莽眉n pseudocode bel蓹 ki, biz dal谋艧, biz b蓹zi istiqam蓹t var
biz r蓹hb蓹rlik etm蓹lidir harada.
>> T茝L茝B茝: biz array g眉man ed蓹 biz almaq d蓹y蓹rl蓹r art谋q 莽e艧idl蓹nir?
>> JASON Hirschhorn: Bel蓹 ikili axtar谋艧 眉莽眉n i艧 - 蓹la sual - siz
bir sorted almaq laz谋md谋r d蓹y蓹rl蓹r array.
Bel蓹 ki, bu i艧 olacaq da艧谋m谋r.
Biz bu slayd getm蓹k laz谋md谋r.
Siz b蓹n枚v艧蓹yi funksiyas谋 g枚r蓹c蓹ksiniz b蓹yannam蓹 bool binary_search int edir
d蓹y蓹ri, int d蓹y蓹rl蓹r, int n.
Siz var, bu tan谋艧 baxmaq laz谋md谋r art谋q yax谋nla艧d谋 v蓹 ya kazan谋lm谋艧 sizin
Bu problem d蓹sti il蓹 莽irkli 蓹ll蓹ri.
>> Amma ki, funksiyas谋 b蓹yannam蓹 var.
Yen蓹 narahat laz谋m deyil bu anda 莽ox.
M蓹n, h蓹qiq蓹t蓹n, siz ist蓹diyiniz almaq deyil pseudocode ikili d枚rd d蓹qiq蓹
axtar谋艧, sonra biz getm蓹k laz谋md谋r bir qrup kimi art谋q.
M蓹n 蓹traf谋nda g蓹l蓹c蓹k.
茝g蓹r suallar谋n谋z varsa, hiss 蓹l qald谋rmaq pulsuz.
>> Niy蓹 daha iki d蓹qiq蓹 etmirl蓹r Bu pseudocode ba艧a 莽atd谋rmaq 眉莽眉n?
M蓹n bu ki, g眉l眉nc g枚r眉n蓹 bil蓹r Biz 莽ox vaxt s蓹rf etdiyiniz
h蓹tta h蓹qiq蓹t蓹n deyil ki, bir 艧ey C, amma x眉susil蓹 bu daha 莽ox
莽蓹tin alqoritml蓹r v蓹 problem anlamaq laz谋md谋r ki, d蓹stl蓹ri,
pseudocode narahat deyil ba艧layaraq sintaksis haqq谋nda, yaln谋z narahat
m蓹ntiq, olduqca faydal谋d谋r.
V蓹 yol, iki h蓹ll deyilik bir d蓹f蓹 olduqca 莽蓹tin probleml蓹ri.
Siz yaln谋z m蓹ntiq diqq蓹t v蓹 edirik sonra sintaksis h蓹r蓹k蓹t.
>> OK.
Vasit蓹sil蓹 davam ba艧lamaq ed蓹k Bu pseudocode.
M蓹n ikili, burada yaz谋l谋 axtar谋艧 pseudocode.
Biz bu yazmaq laz谋md谋r birlikd蓹 board.
V蓹 ya m蓹n bunu yazmaq laz谋md谋r v蓹 ver蓹c蓹yik M蓹n蓹 laz谋m olan ister.
Bel蓹 ki, he莽 m蓹n蓹 ilk ver蓹 bil蓹r Bu pseudocode line siz
Binar axtar谋艧 眉莽眉n yazd谋臒谋?
B蓹li, Annie?
>> T茝L茝B茝: is蓹 uzunlu臒u siyah谋s谋 daha b枚y眉kd眉r s谋f谋r.
>> JASON Hirschhorn: baxmayaraq uzunlu臒u s谋f谋r daha 莽ox edin.
V蓹 yen蓹, biz b蓹zi C g枚r眉n眉艧l眉 bax burada sintaktik 艧eyl蓹r.
Amma bu 莽ox 陌ngilis edir.
He莽 onlar qoymaq bir x蓹tt var idi onlar谋n yalan莽谋 kodu bu 蓹vv蓹l?
>> T茝L茝B茝: bir s谋ra al谋n n枚mr蓹l蓹ri s谋ralan谋r.
>> JASON Hirschhorn: Siz yaz谋rd谋 "bir almaq sorted n枚mr蓹l蓹ri array. "Bu Per
funksiyas谋 b蓹yannam蓹, biz ke莽蓹n olacaq s谋ralamas谋 n枚mr蓹l蓹ri array.
>> T茝L茝B茝: [i艧itilemez].
>> JASON Hirschhorn: Bel蓹 ki, ki, olacaq.
Amma b蓹li, biz ki, olmasayd谋 biz bizim array d眉zm蓹k 眉莽眉n laz谋md谋r
n枚mr蓹l蓹ri, 莽眉nki ikili axtar谋艧 yaln谋z s谋ralan谋r Diziler 眉z蓹rind蓹 i艧l蓹yir.
Siyah谋s谋 uzunlu臒u s谋f谋r b蓹rab蓹rdir Bel蓹 is蓹, m蓹n bir q谋vr谋m a艧谋rma qoymaq niyy蓹tind蓹dir
bir az daha 莽ox kimi baxmaq 眉莽眉n C. Amma is蓹, bir daxil x蓹rit蓹y蓹 g枚r眉n眉r
loop, bu m眉dd蓹t i莽蓹risind蓹 loop n蓹 biz laz谋md谋r
Binar axtar谋艧 眉莽眉n n蓹?
>> M蓹n蓹 bir etm蓹y蓹n ba艧qas谋 h蓹l蓹 cavab lakin bu yazd谋?
>> T茝L茝B茝: siyah谋s谋n谋n orta gedin.
>> JASON Hirschhorn: Tom.
Siyah谋s谋 ortas谋nda gedin.
V蓹 t蓹qib sual, n蓹 Biz ist蓹yirik d蓹f蓹 ed蓹rik
siyah谋s谋 orta?
>> T茝L茝B茝 ki olub bir 莽ek etm蓹yin arad谋臒谋n谋z say谋.
>> JASON Hirschhorn: 茝la.
Siyah谋da orta getm蓹k v蓹 yoxlamaq bizim d蓹y蓹r varsa -
fantastik.
He莽 ba艧qa bir 艧ey var m谋 ki, bu 莽ox f蓹rqli idi?
D蓹qiq do臒ru.
>> Biz ikili axtar谋艧 n蓹 ilk 艧ey siyah谋da ortas谋nda getm蓹k v蓹
Bizim d蓹y蓹ri var g枚rmek 眉莽眉n yoxlamaq.
Bizim d蓹y蓹r 蓹g蓹r m蓹n g眉man , biz n蓹 var etm蓹liy蓹m?
>> STUDENT: Biz [i艧itilemez] s谋f谋r qay谋tmaq.
>> JASON Hirschhorn: B蓹li, 蓹g蓹r bizim d蓹y蓹ri var, biz bunu g枚rd眉k.
Bel蓹 ki, biz, lakin b蓹zi yol dey蓹 bil蓹rsiniz bu funksiyas谋 m眉蓹yy蓹n edilir, biz istifad蓹莽i dem蓹k
biz onu a艧kar.
Orada deyil, baxmayaraq ki, var Bu 莽蓹tin olur yerl蓹艧ir.
Bel蓹 ki, yoxdur, 蓹g蓹r kims蓹 ba艧qa kim ikili axtar谋艧 v蓹 ya 眉z蓹rind蓹 i艧l蓹yir
indi biz n蓹 bir fikir etm蓹liy蓹m etdi?
>> T茝L茝B茝: Sual.
>> JASON Hirschhorn: Yes?
>> T茝L茝B茝: array art谋q 莽e艧idl蓹nir m谋?
>> JASON Hirschhorn: B蓹li, biz f蓹rz edirik Bu array art谋q 莽e艧idl蓹nir.
>> T茝L茝B茝: Bel蓹 ki, sonra yoxlamaq varsa g枚rd眉臒眉n眉z d蓹y蓹ri b枚y眉kd眉r
ist蓹diyiniz d蓹y蓹ri, h蓹r蓹k蓹t ed蓹 bil蓹r dig蓹r yar谋s谋 orta.
>> JASON Hirschhorn: Bel蓹 ki, 蓹g蓹r orta siyah谋s谋, biz ist蓹yirik n蓹 daha b枚y眉kd眉r
n蓹 眉莽眉n sonra biz edirsiniz axtar谋r?
Biz harada h蓹r蓹k蓹t?
>> T茝L茝B茝: Siz h蓹r蓹k蓹t etm蓹k ist蓹yir蓹m il蓹 siyah谋n谋n yar谋m
daha a艧a臒谋 n枚mr蓹l蓹ri.
>> JASON Hirschhorn: Biz will sol ki, z蓹ng.
Orta b枚y眉k Bel蓹 ki, biz axtar谋艧 ed蓹 bil蓹rsiniz siyah谋s谋 sol yar谋s谋.
V蓹 sonra axtar谋艧, n蓹 M蓹n Axtar谋艧 dem蓹kdir?
>> T茝L茝B茝: [i艧itilemez].
>> JASON Hirschhorn: Biz orta gedin.
Biz, h蓹qiq蓹t蓹n, bu 艧ey deyir蓹m.
Biz is蓹 loop vasit蓹sil蓹 geri getm蓹k.
M蓹n siz蓹 son bir ver蓹c蓹yik -
蓹g蓹r ba艧qa, orta n蓹 azd谋r biz, biz burada n蓹 edirsiniz?
>> T茝L茝B茝: sa臒 gedin.
>> JASON Hirschhorn: h眉ququna axtar.
Bu yax艧谋 g枚r眉n眉r, lakin he莽 yoxdur 蓹skik v蓹 ya ola bil蓹r ki, bir 艧ey
Siz qoymaq ki, ba艧qa bir 艧ey Sizin yalan莽谋 kodu?
Bel蓹 ki, bu biz bu g眉n蓹 q蓹d蓹r n蓹 edir.
Siyah谋s谋 uzunlu臒u 莽ox is蓹 s谋f谋r daha, biz getm蓹k olacaq
Bu siyah谋da ortas谋nda v蓹 bizim d蓹y蓹r var yoxlay谋n.
>> Orta b枚y眉k olduqda, biz olacaq orta 蓹g蓹r axtar谋艧 ba艧qa, sol
az, biz do臒ru axtarmaq 眉莽眉n olacaq.
Bel蓹likl蓹, biz b眉t眉n b蓹zi tan谋艧 etdik biz komp眉ter istifad蓹 艧蓹rtl蓹ri
v蓹 al蓹tl蓹r var.
Amma art谋q biz g枚r蓹c蓹ksiniz 陌ngilis dan谋艧an, lakin biz a艧kar bir
眉莽眉n x蓹rit蓹si g枚r眉n眉rd眉 ki, h蓹r 艧eyi 莽ox biz kodla艧d谋rma al蓹t d蓹sti var tools.
Bel蓹 ki, h眉ququ yarasa off, biz deyilik h蓹qiq蓹t蓹n, h蓹l蓹 kod gedir.
>> Biz ingilis burada n蓹 g枚r眉rs眉n眉z ki, x蓹rit蓹l蓹r 艧eyl蓹r 眉莽眉n biz C yazmaq olar?
>> T茝L茝B茝: baxmayaraq.
>> JASON Hirschhorn: baxmayaraq.
Bel蓹 ki, bu is蓹 burada n蓹 眉莽眉n x蓹rit蓹l蓹r?
>> T茝L茝B茝: A is蓹 loop.
>> JASON Hirschhorn: A is蓹 loop?
V蓹 ya y蓹qin ki, daha 莽ox, 眉mumiyy蓹tl蓹, bir loop.
Biz 眉z蓹rind蓹 bir 艧ey etm蓹k ist蓹yir蓹m.
Bel蓹likl蓹, biz bir loop kod olacaq.
Biz etdik, 莽眉nki biz art谋q bilirik bu bir d蓹f蓹 ne莽蓹 v蓹 biz
, orada n眉mun蓹l蓹r var nec蓹 h蓹qiq蓹t蓹n yazmaq 眉莽眉n
bir loop 眉莽眉n bu index.
Bel蓹 ki, olduqca asan olmal谋d谋r.
Biz almaq laz谋md谋r olduqca s眉r蓹tli ba艧lad谋.
>> N蓹 biz burada g枚r眉rs眉n眉z?
N蓹 dig蓹r strukturlar谋 syntaxes, h蓹r 艧eyi biz C il蓹 tan谋艧 edirik ki, biz bunu
art谋q 蓹sasl谋 hissi var biz istifad蓹 s枚zl蓹r off?
B蓹li, Anna?
[I艧itilemez]
yaln谋z s枚yl眉yorum.
Anna, davam.
>> T茝L茝B茝: 茝g蓹r ba艧qa.
>> JASON Hirschhorn: 茝g蓹r ba艧qa - burada.
Bel蓹 ki, n蓹 kimi g枚r眉n眉r?
>> T茝L茝B茝: An ba艧qa 艧蓹rhd蓹 蓹g蓹r.
>> JASON Hirschhorn: B蓹li, 艧蓹rait, sa臒?
Bel蓹likl蓹, biz y蓹qin ki, laz谋md谋r b蓹zi 艧蓹rtl蓹r yaz谋n.
V蓹 yen蓹, baxmayaraq b蓹lk蓹 莽a艧d谋r谋c谋 ilk, biz 眉mumiyy蓹tl蓹 indi hissi var
艧蓹rait v蓹 yazmaq 眉莽眉n nec蓹 艧蓹rait 眉莽眉n sintaksis.
Biz deyil, biz yaln谋z baxmaq 艧蓹rait, cut v蓹 paste 眉莽眉n syntax
ki, biz bilirik, 莽眉nki Burada bir 艧蓹rt laz谋md谋r.
Biz 眉z蓹rin蓹 ki, x蓹rit蓹 g枚rm蓹k h蓹r hans谋 dig蓹r 艧eyl蓹r biz C n蓹 etm蓹k laz谋md谋r bil蓹r 艧eyl蓹r?
B蓹li, Aleha?
>> T茝L茝B茝: Bu, ayd谋n ola bil蓹r yaln谋z yoxlan谋lmas谋 蓹g蓹r
d蓹y蓹r bir 艧ey b蓹rab蓹rdir.
>> JASON Hirschhorn: Bel蓹 ki, nec蓹 biz yoxlamaq yoxdur v蓹 - bel蓹 siyah谋 ortas谋nda getm蓹k
bizim d蓹y蓹r varsa v蓹 yoxlamaq?
Biz C nec蓹 etm蓹liy蓹m?
Ki 眉莽眉n sintaksis n蓹dir?
>> T茝L茝B茝: b蓹rab蓹rdir, B蓹rab蓹r.
>> JASON Hirschhorn: b蓹rab蓹rdir B蓹rab蓹r.
Bel蓹 ki, bu check y蓹qin ki, davam edir bir b蓹rab蓹r olmaq, b蓹rab蓹rdir.
Bel蓹 ki, biz ki, haradasa laz谋md谋r bilirsiniz.
V蓹 h蓹qiq蓹t蓹n, yaln谋z yaz谋l谋, biz o ba艧qa 艧eyl蓹r g枚r眉r眉k.
Biz b蓹zi etm蓹k olacaq m眉qayis蓹 operatorlar谋 var -
fantastik.
Bel蓹 ki, h蓹qiq蓹t蓹n kimi, v蓹 g枚r眉n眉r b枚y眉k, biz yaz谋l谋 bir
h蓹l蓹 C kodu s枚z.
Amma biz a艧a臒谋 ruhi model var m眉hazir蓹 v蓹 o 艧ort vasit蓹sil蓹.
>> Biz bir qrup kimi yalan莽谋 kodu yazd谋.
V蓹 art谋q biz 80% 蓹g蓹r yoxdur Biz n蓹 etm蓹k laz谋md谋r n蓹 90%.
陌ndi biz yaln谋z kod laz谋md谋r o, yen蓹, bir olan
h蓹ll etm蓹k 眉莽眉n qeyri-m蓹nas谋z problem.
Lakin 蓹n az谋 biz m蓹ntiq vurulmu艧 edirik.
, Ofis saat getm蓹k zaman indi 蓹n az谋 M蓹n laz谋m n蓹 dey蓹 bil蓹rsiniz
etm蓹k, ancaq xat谋rlatmaq bil蓹r sintaksis m蓹n蓹?
V蓹 ya ofis saat siz蓹, dolu olsa da daha do臒rusu, sintaksis 眉莽眉n Google bil蓹r
m蓹ntiq vurulmu艧 olan daha.
>> V蓹 yen蓹, daha 莽ox h蓹ll etm蓹y蓹 莽al谋艧谋r m蓹ntiq v蓹 sintaksis probleml蓹ri b眉t眉n
bir d蓹f蓹, tez-tez 莽ox yax艧谋d谋r o iki a臒谋r probleml蓹ri k蓹sm蓹k
daha iki idar蓹 olanlar v蓹 bunu C. yalan莽谋 kodu ilk v蓹 sonra kodu
Bel蓹likl蓹 d蓹 m蓹n n蓹 g枚rm蓹k bildirin yalan莽谋 kodu vaxt谋ndan.
>> Siyah谋s谋 uzunlu臒u 莽ox is蓹 s谋f谋r daha, orta baxmaq
siyah谋s谋.
Say谋 ba艧qa, do臒ru geri a艧kar etdikd蓹 say谋, ali search sol 蓹g蓹r.
Else 蓹g蓹r n枚mr蓹si a艧a臒谋, axtar谋艧 sa臒, saxta qay谋tmaq.
Bel蓹 ki, dem蓹k olar ki, eyni g枚r眉n眉r 蓹g蓹r biz yaz谋rd谋 n蓹 t蓹xmin蓹n eyni.
茝slind蓹, Tom, ilk n蓹 s枚yl蓹di, siyah谋s谋 v蓹 蓹g蓹r orta q谋r谋lma
iki hesabatlar谋na daxil tap谋lmad谋 say谋 M蓹n n蓹 蓹slind蓹.
>> M蓹n orada onlara birl蓹艧mi艧.
M蓹n qulaq olmal谋d谋r Siz ilk d蓹f蓹.
Bel蓹 ki, biz yalan莽谋 kodu.
陌ndi ist蓹yirsinizs蓹, sorry, getm蓹k Bizim ilkin problem geri.
脺zr蓹 kodu binary.c ed蓹k.
Bel蓹 ki, bir iterative versiyas谋 h蓹yata ke莽irilm蓹si a艧a臒谋dak谋 istifad蓹 binar axtar谋艧
funksiyas谋 b蓹yannam蓹.
>> V蓹 sur蓹ti ehtiyac yoxdur a艧a臒谋 yaln谋z h蓹l蓹.
M蓹n, h蓹qiq蓹t蓹n, a莽maq 眉莽眉n gedir蓹m up burada binary.c.
Bel蓹 ki, funksiyas谋 b蓹yannam蓹 var ekran ortas谋nda.
V蓹 m蓹n yalan莽谋 kodunu ald谋 g枚r蓹c蓹ksiniz M蓹nim t蓹r蓹fd蓹n, lakin dem蓹k olar ki, eyni
n蓹 biz yazd谋 v蓹 sizin 眉莽眉n qoydu.
Bel蓹 ki, indi be艧 d蓹qiq蓹 g枚t眉r蓹k Bu funksiya kod.
>> V蓹 yen蓹, H蓹r hans谋 bir sual谋n谋z varsa, 蓹l qald谋rmaq, I will, M蓹n蓹 bildirin
蓹traf谋nda g蓹lir.
>> T茝L茝B茝: [i艧itilemez].
>> JASON Hirschhorn: M蓹n ikili etdi at search definition
line 12, Yuxar谋.
Bu m蓹nim slayd 眉莽眉n var n蓹 var.
V蓹 sonra b眉t眉n bu yalan莽谋 kodu M蓹n sur蓹ti v蓹 slayd yap谋艧d谋r谋l谋r,
yalan莽谋 kodu slide.
M蓹n h蓹l蓹 [i艧itilemez] e艧itm蓹 deyil蓹m.
>> Siz ba艧a bel蓹 蓹g蓹r h蓹yata ke莽irilm蓹si, m蓹n onu yoxlamaq ist蓹yir蓹m.
M蓹n siz蓹 helpers.h fayl e-po莽t bu sinif.
V蓹 h蓹m莽inin online olacaq seyr insanlar 眉莽眉n download 眉莽眉n
bu b枚lm蓹d蓹 d蓹f蓹 t蓹xir蓹 sald谋.
M蓹n yaln谋z 眉mumi paylanmas谋 istifad蓹 pset3 d蓹n kodu.
M蓹n find.C, m蓹nim helpers.h fayl istifad蓹 etdi daha helpers.h fayl谋
ki, b枚l眉艧d眉r眉lm蓹si kodu verilmi艧 oldu.
>> M蓹n bir ba艧qa d蓹yi艧iklik etm蓹k idi deyil, yaln谋z sad蓹c蓹 z蓹ng daha find.C
axtar谋艧, binary_search z蓹ng.
Bel蓹 ki, sizin kodu test etm蓹k ist蓹yirsinizs蓹, ki, bunu nec蓹 oldu臒unu bilirik.
茝slind蓹, biz bu kodu 莽al谋艧an olacaq zaman indi, m蓹n yaln谋z bir sur蓹ti
M蓹nim pset3 directory, yenid蓹n h蓹yata de臒i艧tirilecek sonra k枚m蓹k莽il蓹ri fayllar谋 v蓹 ki
binary_search z蓹ng etm蓹k find.C d蓹yi艧iklik daha 莽ox sad蓹c蓹 axtar谋艧.
>> JASON Hirschhorn: B蓹li.
Bir sual var?
>> T茝L茝B茝: Nevermind.
>> JASON Hirschhorn: He莽 bir narahatl谋q.
Yax艧谋, in ba艧lamaq bildirin.
Biz bir qrup kimi bu kod olacaq.
Bir ba艧qa qeyd.
Yen蓹, bu, asanl谋qla de臒i艧tirilecek edil蓹 bil蓹r Problem Set 眉莽 眉莽眉n.
M蓹n helpers.h fayl var, olduqca Bu helpers.h 莽ox biz sunulur,
ikili axtar谋艧, bubble b蓹yan sort, v蓹 se莽im sort.
V蓹 find.c siz line g枚r蓹c蓹ksiniz, n蓹 line 68, biz ikili z蓹ng ki,
axtar谋艧 daha 莽ox axtar谋艧.
Bel蓹 ki, yen蓹 m枚vcud olan kodu online v蓹 ya var ki, kodu
indi yarad谋lmas谋 asanl谋qla de臒i艧tirilecek bil蓹r 眉莽眉n p onu yoxlamaq 眉莽眉n 3 se莽in.
>> Lakin ilk, ikili axtar谋艧 kod bildirin.
Bizim funksiyas谋 b蓹yannam蓹, biz bool qay谋tmaq.
Biz d蓹y蓹r adl谋 tam almaq.
Biz adl谋 integers bir s谋ra almaq d蓹y蓹rl蓹r, v蓹 biz n almaq
serial谋n 枚l莽眉s眉.
Burada line 10, m蓹n var k蓹skin stdbool.h daxildir.
Ki, var niy蓹 he莽 bilir?
Bel蓹 kodu line n蓹 edir?
>> T茝L茝B茝: Bu imkan verir bir bool qaytar谋lmas谋 n枚v眉 istifad蓹 edin.
>> JASON Hirschhorn: Exactly.
>> T茝L茝B茝: Yoxsa imkan verir ki, bir kitabxana var bir bool qaytar谋lmas谋 n枚v眉 istifad蓹 etm蓹k.
>> JASON Hirschhorn: Bel蓹 k蓹skin daxildir stdbool.h line m蓹n蓹 b蓹zi verir
艧eyl蓹r 眉莽眉n t蓹rifl蓹r v蓹 b蓹yanatlar M蓹n istifad蓹 眉莽眉n icaz蓹 edir蓹m ki,
Bu kitabxana.
Bel蓹 ki, h蓹min aras谋nda var ki, deyib bu tip bool adlan谋r v蓹 bu, ola bil蓹r
do臒ru v蓹 ya yalan.
Bel蓹 ki, x蓹tt n蓹 var.
Hesab edir蓹m ki, x蓹tt olmasayd谋, m蓹n ki bu yaz谋 眉莽眉n 莽蓹tinliy蓹 soxacaq
burada, bool, orada s枚z.
M蓹hz h眉ququ.
M蓹n bu kodu ki, laz谋md谋r.
OK.
Bel蓹 ki, bu, daha bir iterativ version, bir recursive biri.
Bel蓹 ki, biz蓹 ba艧lamaq bildirin.
>> Bu ilk ba艧lamaq ed蓹k yalan莽谋 kodu x蓹tt.
V蓹 眉mid edir蓹m ki, biz - v蓹 ya in艧allah.
Biz oda 蓹traf谋nda getm蓹k olacaq.
Biz x蓹tti il蓹 line getm蓹k laz谋md谋r, v蓹 m蓹n k枚m蓹k ed蓹c蓹k biz laz谋md谋r ki, x蓹tt anlamaq
ilk yazmaq 眉莽眉n.
Bel蓹 ki, is蓹 siyah谋 uzunlu臒u daha b枚y眉kd眉r s谋f谋r.
Nin qar艧谋s谋nda ba艧lamaq ed蓹k.
N蓹 line M蓹n yazmaq laz谋md谋r burada kodu?
>> T茝L茝B茝: baxmayaraq m枚t蓹riz蓹 n 0 daha 莽ox.
>> JASON Hirschhorn: baxmayaraq N 0 daha b枚y眉kd眉r.
Bel蓹 ki, n, bir siyah谋s谋 枚l莽眉s眉 v蓹 biz 蓹g蓹r yoxlan谋lmas谋 edirik -
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: - 眉zr?
>> T茝L茝B茝: nec蓹 ki, bilmir蓹m n siyah谋s谋 枚l莽眉s眉?
>> JASON Hirschhorn: Sorry.
Pset d蓹qiql蓹艧dirilm蓹si Per, axtar谋艧 v蓹 sort, siz yazmaq laz谋md谋r funksiyalar谋
n siyah谋s谋 枚l莽眉s眉.
Burada izah etm蓹k unuttum.
Amma b蓹li. n 枚l莽眉s眉 bu halda siyah谋s谋.
Bel蓹 is蓹 n 0 daha 莽ox.
OK.
Ki, bir az problemli ola bil蓹r h蓹r 艧ey getm蓹k 蓹g蓹r.
Biz bilirik davam ed蓹c蓹k, 莽眉nki Bu boyunca siyah谋s谋 枚l莽眉s眉
funksiyas谋, lakin biz ba艧lamaq dem蓹k 5 integers bir s谋ra il蓹.
V蓹 biz vasit蓹sil蓹 getm蓹k v蓹 biz etdik indi onu daralm谋艧
2 integers bir s谋ra.
Ki, 2 integers edir?
脰l莽眉s眉 biz ist蓹yirik ki, indi 2 baxmaq, lakin 2 edir?
Ki, ki, sual m蓹nada edirmi?
>> OK.
M蓹n bir daha xahi艧 ed蓹c蓹yik.
Bel蓹likl蓹, biz 5 Bu array il蓹 ba艧lamaq integers, v蓹 n sa臒, 5 b蓹rab蓹rdir?
Biz burada vasit蓹sil蓹 run laz谋md谋r.
biz y蓹qin ki, 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k laz谋md谋r, sa臒, h蓹r 艧eyi getm蓹k kimi.
Hans谋 ki, biz ist蓹yirik n蓹 edir.
Biz axtarmaq ist蓹mir蓹m tam 艧ey yenid蓹n.
Bel蓹likl蓹, biz 2 d蓹yi艧dirm蓹k dem蓹k.
Biz t蓹k ki, yar谋s谋 siyah谋s谋n谋 almaq.
Bel蓹 ki, yaln谋z 2 se莽in.
Bel蓹 ki, indi n 2 b蓹rab蓹rdir.
M蓹n kas谋b 眉莽眉n 眉zr ist蓹yirik quru silm蓹k markerl蓹r.
Sa臒?
V蓹 biz siyah谋s谋na vasit蓹sil蓹 axtar谋艧 etdiyiniz yenid蓹n 枚l莽眉s眉 2 siyah谋s谋n谋.
B蓹li, bizim array h蓹l蓹 枚l莽眉s眉 5 edir.
Biz yaln谋z ist蓹yir蓹m dem蓹k bu 2 l蓹k蓹l蓹r axtar谋艧.
Bel蓹 ki, h蓹min 2 l蓹k蓹l蓹r var?
>> Ki, hissi edirmi?
Onlar sol 2 l蓹k蓹l蓹r var?
Onlar sa臒 2 l蓹k蓹l蓹r var?
Onlar orta 2 l蓹k蓹l蓹r var?
Biz problem a艧a臒谋 s谋n谋q, lakin biz h蓹qiq蓹t蓹n bilmir蓹m hiss蓹si
biz h蓹l蓹 arad谋臒谋n谋z problem, yaln谋z bu 2 d蓹yi艧蓹nl蓹rin olan.
Bel蓹 ki, biz, daha sonra bir az laz谋md谋r n 0 daha 莽ox is蓹.
Biz bilm蓹k laz谋md谋r ki, n bizim faktiki array edir.
>> Bel蓹 ki, he莽 bir var Bu x蓹tt d蓹yi艧dirm蓹k?
Bu x蓹ttin 蓹n 莽ox m眉k蓹mm蓹l do臒ru.
Ba艧qa 蓹lav蓹 varm谋?
Biz n 眉莽眉n bir 艧ey d蓹yi艧dirm蓹k olar bir az daha yax艧谋 bu x蓹tt?
Mm-hm?
>> T茝L茝B茝: Bir d蓹yi艧蓹n ba艧lamaq bil蓹r sonra istifad蓹 etm蓹k laz谋md谋r ki, n uzunlu臒u kimi
sonra funksiyas谋?
>> JASON Hirschhorn: Bel蓹 ba艧lamaq n d蓹yi艧蓹n uzunlu臒u,
v蓹 biz sonra istifad蓹?
Amma sonra biz yaln谋z uzunlu臒u v蓹 biz yenil蓹m蓹 h蓹l蓹 bu problem daxil oldu臒u biz
Bizim problem uzunlu臒u azaltmaq, lakin biz, h蓹qiq蓹t蓹n, Bildiyiniz he莽 vaxt
ki, uzunlu臒u 眉z蓹rind蓹 x蓹rit蓹l蓹r.
>> T茝L茝B茝: ba艧 ver蓹c蓹k deyil Siz dey蓹r蓹k edirik sonra zaman, sol axtar谋艧
sa臒 axtar谋艧?
Siz m眉xt蓹lif getm蓹k olacaq sizin sah蓹si -
>> JASON Hirschhorn: Biz getm蓹k olacaq bir sah蓹d蓹, lakin nec蓹 bilmir蓹m
getm蓹k 眉莽眉n var?
Biz yaln谋z array v蓹 bu varsa n, biz bilirik harada
array getm蓹k.
Geri, b蓹li?
>> T茝L茝B茝: var m谋, kimi, a艧a臒谋 bound v蓹 yuxar谋 bound d蓹yi艧蓹n v蓹 ya
kimi bir 艧ey?
>> JASON Hirschhorn: OK.
Bel蓹 ki, bu bir fikirdir.
茝ksin蓹 yaln谋z track saxlan谋lmas谋 莽ox 枚l莽眉s眉, biz a艧a臒谋 takip v蓹
yuxar谋 bound d蓹yi艧蓹n.
Bel蓹 ki, nec蓹 biz 枚l莽眉s眉n眉 hesablamaq yoxdur a艧a臒谋 bound v蓹 bound yuxar谋?
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: Subtraction.
H蓹m莽inin a艧a臒谋 track saxlan谋lmas谋 ba臒l谋 v蓹 yuxar谋 biz蓹 bildirin ba臒l谋,
biz bu iki axtar谋艧?
Biz burada bu iki axtar谋艧 edirsiniz?
Biz orta iki axtar谋艧 edirsiniz?
Y蓹qin ki, orta iki, 莽眉nki Bu, 蓹slind蓹, ikili axtar谋艧 edir.
Amma indi biz 枚l莽眉s眉 蓹ld蓹 ed蓹 bil蓹rsiniz, h蓹m d蓹 serial谋n m蓹hdudiyy蓹tl蓹r.
茝slind蓹, biz n蓹h蓹ng varsa telefon kitab, biz yar谋m ild蓹 rip.
Ki, ki莽ik harada biz art谋q bilirik telefon kitab.
Amma biz, h蓹qiq蓹t蓹n, Ses deyilik yar谋s谋nda telefon kitab.
Biz h蓹l蓹 bilm蓹k laz谋m Bizim problem yeni h蓹ddi deyil.
He莽 bir sual谋n谋z varm谋 ki, haqq谋nda?
B蓹li?
>> T茝L茝B茝: bir yarad谋lmas谋 il蓹 i艧l蓹m蓹k ist蓹yirsiniz d蓹yi艧蓹n, i, sonra yaln谋z ke莽m蓹k oldu臒unu
onun 眉莽眉n i nisbi m枚vqeyi cari v蓹ziyy蓹ti v蓹 uzunlu臒u, n?
>> JASON Hirschhorn: And i n蓹dir?
>> T茝L茝B茝: i n枚v kimi olan kimi -
Kimi i olmaq 眉莽眉n ba艧lamaq olard谋 serial谋n orta m枚vqeyi.
V蓹 sonra, 蓹g蓹r m枚vqe d蓹y蓹ri i il蓹 a艧kar serial谋n orta
siz蓹 laz谋m d蓹y蓹rind蓹n az olacaq, i indi serial谋n uzunlu臒u olur, 眉st蓹g蓹l
i d蓹y蓹ri 2 b枚l眉n眉r.
Kimi, bax, siz i shift -
>> JASON Hirschhorn: Right.
>> STUDENT: - Bu q蓹d蓹r -
>> JASON Hirschhorn: M蓹n dem蓹k olar ki, am i艧l蓹y蓹c蓹k m眉sb蓹t.
Amma point olmaq, iki laz谋md谋r Burada m蓹lumat 蓹d蓹d.
Siz 蓹vv蓹lin蓹 v蓹 sonuna il蓹 bunu ed蓹 bil蓹rsiniz v蓹 ya sonra 枚l莽眉s眉 il蓹 bunu ed蓹 bil蓹rsiniz
b蓹zi marker.
Amma iki 蓹d蓹d laz谋md谋r Burada m蓹lumat.
Siz yaln谋z bir il蓹 蓹ld蓹 ed蓹 bilm蓹z.
Ki, hissi verir mu?
>> Bel蓹 ki, biz vasit蓹sil蓹 getm蓹k 眉莽眉n gedir v蓹 edirik biz n蓹 olacaq [i艧itilemez]
v蓹 b蓹zi markerl蓹r yaratmaq.
Bel蓹 ki, sizin kodu n蓹 etmi艧 yazmaq?
>> T茝L茝B茝: M蓹n yaln谋z bildirib int bound bir 0 b蓹rab蓹rdir.
>> JASON Hirschhorn: deyirik ki, int, ba艧layan.
>> T茝L茝B茝: OK.
>> JASON Hirschhorn: Bu edir m蓹nim 眉莽眉n daha m蓹ntiqli.
V蓹?
>> T茝L茝B茝: I bit蓹n int, h蓹rhalda bildirib.
>> JASON Hirschhorn: bit蓹n int.
>> T茝L茝B茝: I, tahmin, n minus 1 v蓹 ya kimi bir 艧ey.
Kimi, son element.
>> JASON Hirschhorn: Bel蓹 ki, yazd谋, int b蓹rab蓹r 0, n枚qt蓹li verg眉l, v蓹 int ba艧layan
sona n minus 1, n枚qt蓹li verg眉l b蓹rab蓹rdir.
Bel蓹 ki, mahiyy蓹tc蓹, biz n蓹 edirik burada ilk m枚vqe 0.
Biz seriallarda da bildiyiniz kimi, onlar getm蓹k yoxdur n up, onlar 1 n minus q蓹d蓹r getm蓹k.
Bel蓹 ki, bizim serial谋n b蓹zi h蓹ddi var.
V蓹 bu ilkin h蓹ddi olmaq 眉莽眉n n蓹 Bizim problem ilkin h蓹ddi.
OK.
Bel蓹 ki, yax艧谋 s蓹sl蓹nir.
Sonra geri bu x蓹tti getm蓹k 蓹g蓹r is蓹 siyah谋s谋 uzunlu臒u, 0-d蓹n 莽ox
n蓹, 蓹v蓹zin蓹 n, olmal谋d谋r biz burada qoymaq?
>> T茝L茝B茝: minus ba艧lan臒谋c谋 bit蓹n yaz谋n.
>> JASON Hirschhorn: minus bit蓹n baxmayaraq ba艧layan 0 daha 莽ox?
OK.
V蓹 biz etm蓹k ist蓹yirdi, bil蓹r ki, bir az g枚z蓹l, n蓹
ba艧qa biz n蓹 ed蓹 bil蓹r?
Biz t蓹miz ist蓹yirdi up bir az bu kodu?
Nec蓹 0 xilas ed蓹 bil蓹r?
Bu yaln谋z bir stil m蓹s蓹l蓹dir.
Bu indi do臒ru deyil.
>> T茝L茝B茝: Ending deyil b蓹rab蓹r ba艧lan臒谋c谋?
>> JASON Hirschhorn: Biz n蓹 ed蓹 bil蓹r?
>> [Interposing S茝SL茝R陌]
>> T茝L茝B茝: Ending b枚y眉kd眉r?
>> JASON Hirschhorn: B蓹li.
Bit蓹n is蓹 biz yaln谋z bunu ed蓹 bil蓹rsiniz 蓹vv蓹lind蓹 daha b枚y眉kd眉r.
Sa臒.
Biz dig蓹r t蓹r蓹fd蓹n ba艧layan 蓹lav蓹 ki, v蓹 biz 0 xilas.
Bel蓹 ki, bu, yaln谋z bir g枚r眉n眉r az t蓹miz.
OK.
Siyah谋s谋 uzunlu臒u 0 is蓹 Bel蓹 ki, biz yazd谋 ki, sona is蓹 b枚y眉kd眉r
ba艧layan 莽ox.
Biz laz谋mi qoymaq olacaq q谋vr谋m a艧谋rma, sonra ilk 艧ey
Biz n蓹 ist蓹yirik baxmaq edir bir az siyah谋s谋na onlara.
Siz?
M蓹n蓹 ver蓹 bil蓹r -
>> T茝L茝B茝: 茝g蓹r m枚t蓹riz蓹 d蓹y蓹ri kvadrat m枚t蓹riz蓹 -
>> JASON Hirschhorn: parantez varsa d蓹y蓹ri kvadrat m枚t蓹riz蓹.
>> T茝L茝B茝: 2 b枚l眉n眉r h蓹bsxanaya.
>> JASON Hirschhorn: Ending?
>> T茝L茝B茝: m蓹n sizin il蓹 bir problem g枚rm蓹k -
>> JASON Hirschhorn: OK.
Yax艧谋, orta baxmaq.
Nec蓹 ki, biz orta n蓹 bilirik?
B蓹li.
M蓹n蓹 kod silm蓹k imkan verir.
Nec蓹 ki, biz orta n蓹 bilirik?
Bir 艧ey, siz 蓹vv蓹lind蓹 zaman v蓹 sonu nec蓹 tap谋rs谋n谋z
orta?
>> T茝L茝B茝: Siz orta.
>> T茝L茝B茝: Siz onlara 蓹lav蓹 birlikd蓹 v蓹 sonra -
>> JASON Hirschhorn: onlar谋 蓹lav蓹 et birlikd蓹 v蓹 sonra?
>> T茝L茝B茝: V蓹 orta.
2 il蓹 b枚lm蓹k.
>> JASON Hirschhorn: onlar谋 蓹lav蓹 et birlikd蓹 v蓹 2 b枚l眉n.
Bel蓹 ki, int orta b蓹rab蓹rdir?
Tom, siz m蓹n蓹 ver蓹 bil蓹r?
>> T茝L茝B茝: ba艧layaraq plus bit蓹n -
>> JASON Hirschhorn: Beginning plus bit蓹n.
>> T茝L茝B茝: B眉t眉n, bracket, 2 b枚l眉n眉r.
>> JASON Hirschhorn: B眉t眉n, parantez, 2 b枚l眉n眉r.
Bel蓹 ki, m蓹n蓹 orta verir bir 艧ey, do臒ru?
>> T茝L茝B茝: Siz h蓹m莽inin onu 蓹traf谋nda laz谋md谋r.
>> JASON Hirschhorn: N蓹 dem蓹k, m蓹n bu q蓹d蓹r d蓹yirmi etm蓹k laz谋md谋r?
>> [Interposing S茝SL茝R陌]
>> T茝L茝B茝: 脟眉nki Bu t蓹k varsa say谋, sonra bu kimi -
>> JASON Hirschhorn: Yax艧谋, OK.
M蓹n onu 蓹traf谋nda bil蓹r.
Bir t蓹k sayda, 5 var Lakin, m蓹n 眉z ortalar谋ndan 1 alaraq.
V蓹 ya daha s谋ra 蓹g蓹r, daha do臒rusu, ki, bir yax艧谋 i艧i var.
4 varsa, biz yaln谋z 4 var, ed蓹 bil蓹r ilk "orta", quote, d谋rna臒谋 ba臒lamaq v蓹 ya
ikinci "orta" bir.
Ya bir ikili axtar谋艧 眉莽眉n i艧 ki, m蓹n h蓹qiq蓹t蓹n 蓹traf谋nda ehtiyac yoxdur.
Amma bir dig蓹r 艧ey var Bu x蓹tt baxmaq laz谋md谋r.
Biz h蓹l蓹 onu h蓹yata ola bil蓹r lakin biz geri g蓹lm蓹k laz谋md谋r.
Bu x蓹tt h蓹qiq蓹t蓹n h蓹l蓹 d蓹 ba艧qa bir 艧ey laz谋md谋r.
>> Amma bu g眉n蓹 q蓹d蓹r, biz yazd谋q kodu d枚rd x蓹tl蓹ri.
Biz ba艧lan臒谋c谋 var v蓹 markerl蓹r bit蓹n.
Biz x蓹rit蓹l蓹r olan is蓹 loop var birba艧a bizim pseudocode.
Biz x蓹rit蓹l蓹r ki, ortada bax谋r谋q birba艧a bizim pseudocode 眉z蓹rind蓹.
M蓹n bu ortas谋nda gedir dey蓹rdim siyah谋s谋, kodu bu x蓹tt.
V蓹 sonra, bir d蓹f蓹 biz ortas谋nda getm蓹k siyah谋s谋, biz n蓹 etm蓹k laz谋md谋r n枚vb蓹ti 艧ey
Bizim d蓹y蓹ri var olub olmad谋臒谋n谋 kontrol edir Bu pseudocode biz 蓹vv蓹ll蓹r yazd谋.
>> Bel蓹 ki, nec蓹 biz yoxlamaq 蓹g蓹r bizim d蓹y蓹r siyah谋da ortas谋nda edir?
Siz.
Niy蓹 bu yoxdur?
>> T茝L茝B茝: bizim d蓹y蓹r 眉zr蓹 茝g蓹r orta b蓹rab蓹rdir
biz m眉蓹yy蓹n n蓹 -
M蓹n b蓹rab蓹r b蓹rab蓹r dem蓹k -
>> JASON Hirschhorn: Bu -
OK.
>> T茝L茝B茝: M蓹n 蓹min deyil蓹m n蓹 d蓹yi艧蓹n biz arad谋臒谋n谋z
olsa, 莽眉nki -
>> [Interposing S茝SL茝R陌]
>> T茝L茝B茝: [i艧itilemez].
>> JASON Hirschhorn: Exactly.
Funksiyas谋 elan Per, biz bir d蓹y蓹r axtar谋r edirik.
Bel蓹likl蓹, biz bir d蓹y蓹ri arad谋臒谋n谋z d蓹y蓹rl蓹rin bir s谋ra.
Bel蓹likl蓹, siz do臒ru dan谋艧谋rs谋n谋zsa.
Siz ed蓹c蓹yik, 蓹g蓹r a莽谋q paren d蓹y蓹ri bracket orta bracket b蓹rab蓹r ba臒lan谋b
i莽蓹rid蓹 d蓹y蓹rin蓹 b蓹rab蓹rdir v蓹 biz n蓹 眉莽眉n laz谋md谋r?
茝g蓹r bizim d蓹y蓹r orada n蓹 Biz n蓹 etm蓹k laz谋md谋r?
>> [Interposing S茝SL茝R陌]
>> T茝L茝B茝: s谋f谋r qay谋t.
>> JASON Hirschhorn: do臒ru qay谋d谋n.
>> T茝L茝B茝: do臒ru qay谋d谋n.
>> JASON Hirschhorn: Michael, Bu x蓹tt n蓹 edir?
>> T茝L茝B茝: [i艧itilemez] proqram run kurs ki, art谋q v蓹
Siz n蓹 etm蓹k laz谋md谋r var?
>> JASON Hirschhorn: Proqram v蓹 ya n蓹?
Bu halda?
>> T茝L茝B茝: funksiyas谋.
>> JASON Hirschhorn: funksiyas谋.
V蓹 bel蓹 ki, deyil蓹n n蓹 qay谋tmaq bu v蓹 do臒ru, bu d蓹y蓹r verir.
M蓹hz h眉ququ.
Main.
Qaytar谋lmas谋 n枚v眉 nedir 蓹sas, Michael?
>> T茝L茝B茝: int, tam?
>> JASON Hirschhorn: int, d蓹qiq.
Tam.
茝min etm蓹k 眉莽眉n yaln谋z bir sual idi Sizl蓹rin 眉st olmu艧dur.
Ad蓹t蓹n 蓹g蓹r, n蓹 qay谋tmaq deyil h蓹r 艧eyi yax艧谋 i艧l蓹yir?
>> T茝L茝B茝: Zero.
>> JASON Hirschhorn: Zero.
M蓹hz h眉ququ.
>> T茝L茝B茝: bu yaln谋z do臒ru qaytar谋r, verilir he莽 bir m蓹lumat yoxdur
haqq谋nda n蓹 -
Oh, bu, yaln谋z deyib ki, d蓹y蓹ri serial谋n i莽蓹risind蓹.
>> JASON Hirschhorn: Exactly.
Bu proqram m蓹lumat ver蓹n deyil d蓹y蓹ri oldu臒u d蓹qiq 眉zv眉.
Bu, yaln谋z b蓹li, biz a艧kar dey蓹r蓹k oldu Bu, ya xeyr, biz bunu tapa bilm蓹di.
Bel蓹 ki, say谋 a艧kar etdikd蓹, do臒ru geri.
Yax艧谋, h蓹qiq蓹t蓹n biz yaln谋z h蓹qiq蓹t蓹n tez kodu ki, bir x蓹tt il蓹.
M蓹n pseudocode ki line h蓹r蓹k蓹t ed蓹c蓹yik.
>> T茝L茝B茝: biz ehtiyac yoxdur array d蓹yi艧dirm蓹k 眉莽眉n nec蓹?
Bu do臒ru, d蓹y蓹rl蓹r deyil, d蓹y蓹ri olmal谋d谋r?
>> JASON Hirschhorn: Sorry.
T蓹艧蓹kk眉r edir蓹m.
>> T茝L茝B茝: B蓹li.
>> JASON Hirschhorn: Bu line d蓹y蓹rl蓹r olmal谋d谋r.
M蓹hz h眉ququ.
OK.
Bel蓹likl蓹, biz orta siyah谋s谋na baxd谋 etdik.
Say谋 a艧kar qaytar谋lmas谋 do臒ru 蓹g蓹r.
茝g蓹r, bizim pseudocode il蓹 davam orta b枚y眉kd眉r, axtar谋艧 ayr谋ld谋.
茝g蓹r m蓹n burada idi n枚mr蓹si ali, axtar谋艧 ayr谋ld谋.
Constantine, siz ver蓹 bil蓹r ox艧ar kodu bu x蓹tt?
>> T茝L茝B茝: orta 茝g蓹r d蓹y蓹ri -
>> JASON Hirschhorn: Bel蓹 d蓹y蓹r 蓹g蓹r -
a莽谋q paren bracket d蓹y蓹rl蓹r 蓹g蓹r orta yax谋n bracket -
>> T茝L茝B茝: d蓹y蓹rind蓹n daha ki莽ik deyilmi?
>> JASON Hirschhorn: azd谋r.
>> T茝L茝B茝: d蓹y蓹ri daha az.
>> JASON Hirschhorn: Value.
Yax艧谋, h蓹qiq蓹t蓹n, ist蓹diyiniz say谋 yoxlamaq -
脺zr ist蓹yirik.
Bu bir az confusing edir.
Amma ba艧qa 蓹g蓹r n枚mr蓹 siyah谋s谋 orta b枚y眉kd眉r.
>> T茝L茝B茝: OK, Oh.
>> JASON Hirschhorn: M蓹n bunu d蓹yi艧m蓹k laz谋md谋r.
Orta y眉ks蓹k Else 蓹g蓹r, biz OK, sol axtarmaq ist蓹yirsiniz?
V蓹 biz daxili n蓹 etm蓹liy蓹m Bu v蓹ziyy蓹td蓹 蓹g蓹r?
>> T茝L茝B茝: M蓹n ki莽ik bir d蓹yi艧iklik ed蓹 蓹g蓹r v蓹ziyy蓹t ba艧qa d蓹yi艧蓹?
>> JASON Hirschhorn: Else?
OK.
Bel蓹 ki, bu kodu icra ed蓹c蓹k eyni.
Lakin ba艧qa, 蓹g蓹r istifad蓹 haqq谋nda g枚z蓹l 艧ey , v蓹 ya 蓹g蓹r ba艧qa ba艧qa 蓹g蓹r, ba艧qa, 蓹g蓹r
o yaln谋z bir gedir o dem蓹kdir ki, yoxlan谋l谋r, onlar谋n h蓹r 眉莽,
potensial.
V蓹 bu bir az edir ki, komp眉ter g枚z蓹l
proqram 莽al谋艧an.
>> Bel蓹 ki, [? Constantine?]
biz, d蓹y蓹rl蓹r 蓹g蓹r ba艧qa, bu x蓹tti daxilind蓹 ist蓹yirik bracket orta yax谋n bracket
d蓹y蓹ri daha b枚y眉kd眉r.
Biz n蓹 眉莽眉n laz谋md谋r?
Biz sol axtarmaq laz谋md谋r.
Nec蓹 ki, biz etm蓹liy蓹m?
M蓹n siz蓹 bir ba艧lan臒谋c verm蓹k gedir蓹m.
>> Biz adl谋 bu iki 艧ey var ba艧layan v蓹 bit蓹n.
Bel蓹 ki, n蓹 etm蓹k laz谋md谋r 蓹vv蓹lin蓹?
Siz sol axtarmaq ist蓹yirsinizs蓹 siyah谋s谋, biz cari ba艧lan臒谋c谋 almaq.
N蓹 biz bunu etm蓹k laz谋md谋r?
>> STUDENT: Biz ba艧lan臒谋c谋n谋 m眉蓹yy蓹n orta plus 1.
>> JASON Hirschhorn: Bel蓹 ki, biz 蓹g蓹r sol axtar谋艧?
>> T茝L茝B茝: Ba臒谋艧lay谋n, orta minus -
bel蓹 sona orta olacaq minus 1 v蓹 ba艧lan臒谋c谋 -
>> JASON Hirschhorn: Hans谋 ba艧谋nda olur?
>> T茝L茝B茝: Bu eyni qal谋r.
>> JASON Hirschhorn: Bel蓹 ki, M蓹nas谋 eyni qal谋r.
Biz sol axtar谋艧 edirsinizs蓹, biz ist蓹yirik Eyni ba艧lan臒谋c谋 istifad蓹 -
do臒ru.
V蓹 bit蓹n?
脺zr ist蓹yirik, n蓹 d蓹 yen蓹 b蓹rab蓹r bit蓹n?
>> T茝L茝B茝: Orta minus 1.
>> JASON Hirschhorn: Orta minus 1.
陌ndi niy蓹 minus 1, orta yaln谋z?
>> T茝L茝B茝: The orta deyil biz idi, 莽眉nki, art谋q 艧蓹kil
h蓹yata ki yoxlan谋l谋r?
>> JASON Hirschhorn: var do臒ru.
Orta 艧蓹kil deyil.
Biz art谋q orta yoxlan谋l谋r.
Bel蓹likl蓹, biz ", orta" quote ist蓹mir蓹m d谋rna臒谋 ba臒lamaq, i莽ind蓹 olmaq davam
biz arad谋臒谋n谋z ki, array.
Bel蓹 ki, bu fantastik deyil.
>> Else d蓹y蓹rl蓹r bracket orta olarsa d蓹y蓹ri b蓹rab蓹rdir bit蓹n 莽ox
orta minus 1.
Jeff, n蓹 bu son x蓹tt haqq谋nda?
>> T茝L茝B茝: Else.
D蓹y蓹rl蓹r orta d蓹y蓹ri daha az?
>> JASON Hirschhorn: quraca臒谋q Ba艧qa m蓹n蓹 枚t眉r眉r.
茝g蓹r m蓹n蓹 vermir 蓹g蓹r -
>> T茝L茝B茝: Bel蓹likl蓹 ba艧layan orta plus 1 olard谋.
>> JASON Hirschhorn: ba艧layaraq b蓹rab蓹r orta plus 1, yen蓹 eyni
s蓹b蓹bi Constantine 蓹vv蓹ll蓹r biz蓹 verdi.
V蓹 sonunda, kim verm蓹yib h蓹l蓹 m蓹n蓹 kod line?
Yalan, Aleha, qay谋t n蓹 Biz burada yazmaq edirsiniz?
>> T茝L茝B茝: yalan qay谋t.
>> JASON Hirschhorn: yalan qay谋t.
V蓹 biz, bunu etm蓹k laz谋md谋r, 莽眉nki 蓹g蓹r biz tapm谋ram, biz dem蓹k laz谋md谋r
onu tapmad谋.
V蓹 biz geri olacaq bildirib bool, biz m眉tl蓹q qay谋tmaq
bir bool yerd蓹.
>> Bel蓹 ki, bu kodu run bildirin.
M蓹n, h蓹qiq蓹t蓹n, gedir蓹m -
bel蓹 ki, biz terminal ist蓹yirik.
Biz p蓹nc蓹r蓹 t蓹mizl蓹m蓹k laz谋md谋r.
B眉t眉n olun ed蓹k.
Biz bir s蓹hv var tap谋ld谋.
G枚zl蓹nil蓹n line 15-d蓹 bir s蓹hv var Bu sonunda n枚qt蓹li verg眉l
B蓹yannam蓹.
M蓹n n蓹 unutmaq idi?
>> T茝L茝B茝: N枚qt蓹li verg眉l.
>> JASON Hirschhorn: N枚qt蓹li verg眉l sa臒 burada.
M蓹n Tom kodu idi.
Bel蓹 ki, Tom, [i艧itilemez].
Yaln谋z s枚yl眉yorum.
All yenid蓹n ed蓹 bil蓹r蓹m ed蓹k.
>> T茝L茝B茝: N蓹 Dropbox directory biz bu olmal谋d谋r?
>> JASON Hirschhorn: Bel蓹 ki, siz yaln谋z bu bit 眉莽眉n bax谋n.
Ancaq yen蓹 d蓹, bu h蓹r蓹k蓹t etm蓹k ist蓹yirdi 蓹g蓹r c蓹hd 眉莽眉n pset3 dizine kod
h蓹yata ki, m蓹n n蓹 var.
Burada g枚r蓹c蓹ksiniz varsa - sorry, yax艧谋 suald谋r.
>> [? LS?]
M蓹n burada var find.c kodu bu h蓹ft蓹ki distro kodundan.
M蓹n helpers.h var.
M蓹n M蓹n, h蓹qiq蓹t蓹n, bir Make fayl var bu yeni daxil bir az redakt蓹
biz yaz谋l谋 etdiyiniz fayllar谋.
Ki, kodu, b眉t眉n m枚vcud olacaq b枚l眉艧d眉r眉lm蓹si kodu, lakin yeni
Fayl, yeni helpers.h fayl olacaq download 眉莽眉n online m枚vcuddur.
Yen蓹 bel蓹 o var 蓹lav蓹 kodlar谋 biz var.
>> Bel蓹 ki, b眉t眉n etm蓹k, bu sat谋ra, tapmaq edir ikili, bubble se莽imi - markalar
onlar谋n ham谋s谋 眉莽 v蓹 daxil t蓹rtib Bu y眉r眉t眉lebilir kodu tapa bil蓹rsiniz.
Bel蓹 ki, 眉mumiyy蓹tl蓹, biz ist蓹mirik d眉z check50 眉莽眉n.
Biz 枚z b蓹zi testl蓹r run etm蓹k ist蓹yir蓹m.
Amma yaln谋z biz, bu bir az s眉r蓹tl蓹ndirm蓹k bil蓹r check50 2013 pset3.find ke莽蓹c蓹k
m蓹nim pis - helpers.c-in.
>> 陌ndi ki, yoxdur.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, olacaq real 眉莽眉n kodu ax谋r.
Usage.find /, siz o dem蓹kdir ki, n蓹?
>> T茝L茝B茝: Siz ikinci laz谋md谋r bu command line.
>> JASON Hirschhorn: I laz谋md谋r ikinci command line.
V蓹 d蓹qiql蓹艧dirilm蓹si ba艧谋na, m蓹n laz谋m biz arad谋臒谋n谋z n蓹 daxil.
Bel蓹 ki, 42 baxaq.
Biz, sorted onu saxlamaq laz谋md谋r, 莽眉nki biz h蓹l蓹 bir sort funksiyas谋 yaz谋l谋 deyil -
42, 43, 44.
>> V蓹 Control D tapmad谋 ot tayas谋 ild蓹 iyn蓹.
Pis var.
Bu, m眉tl蓹q var.
Nin ba艧qa bir 艧ey c蓹hd ed蓹k.
M蓹n qoymaq 莽眉nki B蓹lk蓹 bu 蓹vv蓹lind蓹.
>> 41, 42, 43 n蓹 ed蓹k.
Orada getm蓹k.
Onu a艧kar.
Yaln谋z indi sonunda qoyaq bel蓹 ki, biz h蓹rt蓹r蓹fli ola bil蓹r -
40, 41, 42.
Iyn蓹 tapmad谋.
M蓹n bu qeyd.
T蓹蓹ss眉f ki, m蓹n bu bilirdi ba艧 ver蓹c蓹k.
>> Amma pedaqoji m蓹qs蓹dl蓹r 眉莽眉n, onu t蓹dqiq etm蓹k 眉莽眉n yax艧谋.
Bu i艧 deyil.
N蓹d蓹ns蓹, onu tapa bilmir蓹m.
Biz orada n蓹 bilirik, lakin biz bunu tapmaq deyil.
Bel蓹likl蓹, biz n蓹 ed蓹 bil蓹r bir 艧ey il蓹 getm蓹k edir Gdb, tapa, lakin he莽 yoxdur 眉莽眉n
gdb vasit蓹sil蓹 davam olmadan, bir biz q谋f谋llar harada m蓹nada?
[? Madu? ?]
>> T茝L茝B茝: M蓹n sona edil蓹 bil蓹r zaman edir蓹m 蓹vv蓹lin蓹 b蓹rab蓹rdir, v蓹 bu
yaln谋z bir element siyah谋s谋.
Sonra yaln谋z 蓹v蓹zin蓹 m蓹h蓹l qoymur 蓹slind蓹 yoxlan谋lmas谋.
>> JASON Hirschhorn: var do臒ru.
Sona ba艧lan臒谋c谋 b蓹rab蓹rdir zaman, biz bunu h蓹l蓹 bizim siyah谋s谋nda bir element var?
>> T茝L茝B茝: B蓹li.
>> JASON Hirschhorn: B蓹li, 蓹slind蓹, biz bir v蓹 yaln谋z bir element var.
V蓹 莽ox g眉man zaman n蓹 olacaq, biz test kodu ba艧谋na, biz var
ot tayas谋 v蓹 ya 枚n ot tayas谋 sonu.
Harada ba艧lan臒谋c谋 v蓹 ki sona b蓹rab蓹r gedir
Binar axtar谋艧 il蓹 bir.
Bel蓹 ki, h蓹min iki halda i艧 deyil, bit蓹n 莽眉nki 蓹vv蓹lin蓹 b蓹rab蓹r idi.
>> Amma ba艧a 蓹g蓹r, 蓹vv蓹lin蓹 b蓹rab蓹rdir bu is蓹 loop icra edir?
Bu, yoxdur.
V蓹 biz yoxlan谋l谋r bil蓹rdi bir daha gdb vasit蓹sil蓹.
Bel蓹 ki, nec蓹 biz bu kodu d眉zeltmek bil蓹r, 莽眉nki bit蓹n is蓹 b蓹rab蓹r olduqda
ba艧layan, biz d蓹 bunu ist蓹yirik loop run is蓹.
>> Bel蓹likl蓹, biz 18 s谋ralamaq n蓹 fix ed蓹 bil蓹r?
>> T茝L茝B茝: [i艧itilemez] b枚y眉kd眉r v蓹 ya b蓹rab蓹r.
>> JASON Hirschhorn: M蓹hz h眉ququ.
Sona daha 莽ox is蓹 v蓹 ya 蓹vv蓹lin蓹 b蓹rab蓹r.
Bel蓹 ki, indi, biz almaq 眉莽眉n 蓹min olun sonunda k眉nc halda.
V蓹 nin g枚r蓹k.
Bu bir d蓹f蓹 daha run ed蓹k.
>> B眉t眉n ed蓹k.
Yen蓹, siz laz谋md谋r yaln谋z burada boyunca edin.
41 bu d蓹f蓹 tap谋n.
Yaln谋z ard谋c谋l saxlamaq.
>> 42 tapa bil蓹rsiniz.
Nin ba艧谋nda qoymaq bildirin -
42, 43, 44.
Biz onu a艧kar.
Bel蓹 ki, h蓹qiq蓹t蓹n d蓹yi艧iklik oldu biz etm蓹k laz谋md谋r.
>> Y蓹ni biz kodla艧d谋rma bir 莽ox idi yaln谋z ikili axtar谋艧 etdi.
He莽 蓹vv蓹l h蓹r hans谋 sual谋n谋z varm谋 M蓹n biz yazd谋 x蓹tl蓹ri daxil h蓹r蓹k蓹t
ikili axtar谋艧 v蓹 ya nec蓹 fiqurlu biz anlamaq n蓹 h蓹yata?
Biz h蓹r蓹k蓹t 蓹vv蓹l, m蓹n d蓹 qeyd etm蓹k ist蓹yir蓹m ki, v蓹 b枚y眉k, biz e艧lenen
bizim yalan莽谋 kodu bir bizim kodu 眉z蓹rin蓹 bir.
>> Biz ki, 莽蓹tin 艧ey var idi il蓹 anlamaq 眉莽眉n
ba艧layan v蓹 bit蓹n.
Amma siz ki, fiqurlu deyil olduqca 莽ox yaz谋l谋 olard谋
eyni kodu, 眉莽眉n saxlamaq bu 眉st iki x蓹tl蓹ri.
V蓹 sonra h蓹yata olard谋 zaman 茝g蓹r 莽ek v蓹 hallarda bunu da etdi ki,
Siz ba艧qa bir 艧ey laz谋md谋r.
Siz t蓹qib Bel蓹 ki, h蓹tta bizim line yalan莽谋 code line, siz var ki,
iki x蓹tl蓹ri lakin b眉t眉n kazan谋lm谋艧 yazmaq 眉莽眉n laz谋m kod.
>> M蓹n bahis etm蓹k ist蓹y蓹n olard谋 ki, u艧aqlar b眉t眉n fiqurlu olard谋
olduqca tez, siz qoymaq 眉莽眉n laz谋m olan marker bir n枚v orada r蓹q蓹m
siz idi h蓹yata.
Bir daha, bunu g眉c deyil yalan莽谋 kodu vaxt谋ndan.
Bel蓹likl蓹, biz ilk sonra m蓹ntiq ed蓹 bil蓹r, v蓹 biz sintaksis haqq谋nda narahat ed蓹 bil蓹r.
>> Biz m蓹ntiqi haqq谋nda s蓹hv idi is蓹 C bu kodu yazmaq 眉莽眉n 莽al谋艧谋r谋q,
biz b眉t眉n messed kazan谋lm谋艧 olard谋.
V蓹 sonra biz haqq谋nda suallar olar谋q m蓹ntiq v蓹 sintaksis v蓹 meshing
birlikd蓹 onlara b眉t眉n.
V蓹 biz itirilmi艧 kazan谋lm谋艧 olard谋 tez bir ola bil蓹r n蓹
莽ox 莽蓹tin problem.
Bel蓹 ki, indi ke莽蓹k seleksiya sort 眉莽眉n.
>> Biz t蓹rk 20 d蓹qiq蓹 var.
Bel蓹 ki, biz ed蓹 bilm蓹y蓹c蓹k bir hiss var seleksiya sort b眉t眉n vasit蓹sil蓹 almaq
v蓹 bubble s谋rala.
Amma biz蓹 蓹n az谋 c蓹hd ed蓹k se莽ilm蓹si c眉r ba艧a 莽atd谋rmaq 眉莽眉n.
Bel蓹 ki, sort istifad蓹 se莽imi h蓹yata ke莽irilm蓹si funksiyas谋 b蓹yannam蓹 a艧a臒谋dak谋.
>> Yen蓹 bu g枚t眉r眉l眉b problem set d蓹qiql蓹艧dirilm蓹si.
Int d蓹y蓹rl蓹r m枚t蓹riz蓹d蓹 edir integers bir s谋ra.
V蓹 int.n ki, serial谋n 枚l莽眉s眉.
Se莽im sort gedir bu s谋ra sort.
>> Se莽ilm蓹si bizim ruhi model bel蓹 sort, biz 莽蓹kin -
ilk biz siyah谋s谋na vasit蓹sil蓹 ilk getm蓹k zaman, ki莽ik say谋 tapmaq,
ba艧谋nda qoyun, ikinci tapmaq ki莽ik say谋, qoyun
biz ist蓹yirsinizs蓹 ikinci m枚vqeyi artan sort.
M蓹n siz蓹 yazmaq m蓹cbur deyil蓹m yalan莽谋 kodu indi.
>> Amma biz bir sinif kimi kodu 蓹vv蓹l be艧 d蓹qiq蓹, biz yazmaq 眉莽眉n gedir
yalan莽谋 code biz b蓹zi hissi var harada gedirik.
Bel蓹 ki, yalan莽谋 kod yazmaq 眉莽眉n c蓹hd 枚z.
V蓹 sonra a莽maq 眉莽眉n c蓹hd kodu daxil yalan莽谋 kodu.
Biz bir qrup kimi ed蓹c蓹yik Be艧 d蓹qiq蓹.
>> V蓹 蓹lb蓹tt蓹, M蓹n蓹 bildirin 蓹g蓹r H蓹r hans谋 bir sual谋n谋z var.
>> T茝L茝B茝: bu ki?
>> JASON Hirschhorn: n蓹 q蓹d蓹r siz bax谋n daha iki d蓹qiq蓹 蓹ld蓹 ed蓹 bil蓹rsiniz.
M蓹n siz蓹 deyil anlamaq bitirm蓹k m眉mk眉n.
Amma biz bir qrup kimi bu art谋q getm蓹k olacaq.
>> Siz b眉t眉n [i艧itilemez] bel蓹 kodla艧d谋rma etdiyiniz, bel蓹 ki, m蓹n Siz i艧le fasil蓹 sorry.
Amma bir qrup kimi bu yolu ged蓹k.
V蓹 yen蓹, ikili axtar谋艧, b眉t眉n verm蓹k M蓹n蓹 bir kodu daha x蓹tl蓹ri 蓹g蓹r.
Bunun 眉莽眉n t蓹艧蓹kk眉r edir蓹m.
Biz eyni 艧ey olacaq burada, bir qrup olaraq birlikd蓹 kodu.
>> Bel蓹 ki, se莽im sort - nin yazmaq bildirin B蓹zi tez yalan莽谋 kodu.
Ruhi model, kims蓹 m蓹n蓹 ver蓹 bil蓹r yalan莽谋 kodu ilk line, xahi艧 edirik?
M蓹n n蓹 ist蓹yir蓹m?
>> T茝L茝B茝: baxmayaraq siyah谋s谋 qaydada h蓹yata edir.
>> JASON Hirschhorn: OK ed蓹rk蓹n siyah谋s谋 眉莽眉n 莽谋xd谋.
V蓹 "眉莽眉n h蓹yata?" N蓹 dem蓹kdir
>> T茝L茝B茝: baxmayaraq [i艧itilemez]
s谋ralan谋r deyil.
>> JASON Hirschhorn: baxmayaraq siyah谋s谋 qaydada h蓹yata edir, biz n蓹 ed蓹c蓹yik?
M蓹n蓹 ikinci x蓹tt ver, xahi艧 edirik, Marcus.
>> T茝L茝B茝: Bel蓹 ki, n枚vb蓹ti tapmaq ki莽ik say谋.
Bu bo艧luq olacaq.
>> JASON Hirschhorn: Bel蓹 tapmaq N枚vb蓹ti ki莽ik say谋.
V蓹 sonra ba艧qas谋?
Biz n枚vb蓹ti ki莽ik tapmaq say谋, biz n蓹 ed蓹c蓹yik?
M蓹n tapa dem蓹k gedir蓹m 蓹n ki莽ik say谋.
Y蓹ni etm蓹k ist蓹yir蓹m n蓹.
>> Bel蓹 ki, ki莽ik s谋ra tapa bil蓹rsiniz.
Sonra biz n蓹 etm蓹liy蓹m?
>> T茝L茝B茝: [i艧itilemez] 蓹vv蓹lin蓹.
>> JASON Hirschhorn: Ba臒谋艧lay谋n?
>> T茝L茝B茝: The onu qoyun siyah谋s谋 ba艧layan.
>> JASON Hirschhorn: Bel蓹 ki, onu yer Bu siyah谋n谋n ba艧谋nda.
V蓹 biz 艧ey n蓹 etm蓹liy蓹m ki, 蓹vv蓹ld蓹n idi
siyah谋s谋, sa臒?
Biz bir 艧ey yadda edirik.
Bel蓹 ki, burada biz qoymaq bil蓹r蓹m?
B蓹li, Anna?
>> T茝L茝B茝: Harada ki莽ik say谋 idi?
>> JASON HIRSHHORN: Bel蓹 ba艧lan臒谋c谋n谋 qoya siyah谋s谋 oldu臒u
ki莽ik n枚mr蓹 oldu.
Siyah谋s谋 眉莽眉n h蓹yata bel蓹 is蓹, tapmaq 蓹n ki莽ik say谋, qoyun
Bu siyah谋n谋n ba艧谋nda, qoydu siyah谋s谋 ba艧layan oldu臒u
ki莽ik n枚mr蓹 oldu.
Marcus, bu x蓹tt yeniden yaz谋n bil蓹r siyah谋s谋 qaydada h蓹yata is蓹?
>> T茝L茝B茝: olark蓹n 蓹d蓹d s谋ralan谋r olunmay谋b?
>> JASON HIRSHHORN: OK, bel蓹 ki 眉莽眉n etm蓹k 蓹d蓹d deyil ki, bilirik
s谋ralan谋r, biz n蓹 眉莽眉n laz谋md谋r?
Biz n蓹 q蓹d蓹r laz谋md谋r Bu siyah谋 il蓹 getm蓹k?
>> T茝L茝B茝: M蓹n loop 眉莽眉n bir tapmaq, v蓹 ya is蓹, 蓹d蓹d yoxlan谋l谋r zaman谋 az
siyah谋s谋 uzunlu臒u?
>> JASON HIRSHHORN: OK, yax艧谋.
M蓹n misphrased d眉艧眉n眉r蓹m m蓹nim sual z蓹if.
M蓹n yaln谋z almaq 眉莽眉n 莽al谋艧谋r谋q biz getm蓹k olacaq
b眉t眉n siyah谋s谋 il蓹.
Siyah谋s谋 眉莽眉n h蓹yata bel蓹 is蓹, m蓹nim 眉莽眉n, x蓹rit蓹si 莽蓹tindir.
Amma 蓹sas蓹n ki, nec蓹 M蓹n bu bar蓹d蓹 d眉艧眉n眉r蓹m.
Tapmaq, b眉t眉n siyah谋s谋na ke莽m蓹k ki莽ik say谋, qoyun
ba艧layan - h蓹qiq蓹t蓹n, siz do臒ru dan谋艧谋rs谋n谋zsa.
Onlar谋 h蓹m qoymaq ed蓹k.
>> Siyah谋s谋 qaydada h蓹yata Bel蓹 ki, biz b眉t眉n siyah谋 il蓹 getm蓹k laz谋md谋r
bir d蓹f蓹, 蓹n ki莽ik say谋, yer tapmaq bu siyah谋n谋n 蓹vv蓹lind蓹 qoymaq
Bu siyah谋n谋n ba艧谋nda oldu臒u ki莽ik say谋, v蓹 sonra 蓹g蓹r
siyah谋s谋 biz etdik, 眉莽眉n h蓹yata h蓹l蓹 d蓹 bu yolu getm蓹k 眉莽眉n var
prosesi yenid蓹n, sa臒?
Ona g枚r蓹 se莽im sort, Big-O zaman谋 var se莽im n枚v, h蓹r k蓹s?
>> T茝L茝B茝: n kvadrat.
>> JASON HIRSHHORN: n kvadrat.
Marcus v蓹 yaln谋z h蓹yata kimi, 莽眉nki burada, biz olacaq
siyah谋s谋 siyah谋s谋 il蓹 getm蓹k d蓹f蓹 say谋.
Bel蓹 ki, bir 艧ey ke莽ir uzunlu臒u n n d蓹f蓹 say谋
茝slind蓹 n kvadrat.
>> Bel蓹 ki, bu, bizim pseudocode edir.
Bu, 莽ox yax艧谋 g枚r眉n眉r.
He莽 bir sual谋n谋z varm谋 Bu pseudocode haqq谋nda?
H蓹qiq蓹t蓹n se莽im sort olmal谋d谋r, 莽眉nki y蓹qin ki, bir, kodu biri g蓹lib
pseudocode.
Haqq谋nda h蓹r hans谋 bir sual Bu pseudocode m蓹ntiq?
陌ndi xahi艧 edirik.
>> Se莽im sort - siyah谋s谋 h蓹yata is蓹 眉莽眉n, biz onun vasit蓹sil蓹 getm蓹k olacaq
v蓹 ki莽ik h蓹r zaman tapmaq v蓹 枚n qoyun.
Siyah谋s谋, bil蓹r 眉莽眉n h蓹yata bel蓹 is蓹 kims蓹 m蓹n蓹 kodu ki, x蓹tt ver蓹n
m蓹n蓹 bir x蓹tt verm蓹yib xahi艧 edirik, h蓹l蓹 kodu?
Bu n蓹 kimi s蓹sl蓹nir?
>> T茝L茝B茝: Bu loop 眉莽眉n var.
>> JASON HIRSHHORN: s蓹sl蓹nir loop 眉莽眉n kimi.
OK, siz m蓹n蓹 loop 眉莽眉n ver蓹 bil蓹r?
脺莽眉n -
>> T茝L茝B茝: i 0 B蓹rab蓹r.
>> JASON HIRSHHORN: i v蓹 ya -
biz n蓹 蓹skik?
N蓹 burada gedir?
>> T茝L茝B茝: Int.
>> JASON HIRSHHORN: Exactly.
- (I = 0 int
>> T茝L茝B茝: i n <; i + +).
>> JASON HIRSHHORN: Jeff, bu nailed.
Biz, siyah谋s谋n谋 olacaq?
Biz 蓹vv蓹l kodunu g枚rd眉m.
Perfect.
Bel蓹 ki, burada bizim q谋vr谋m a艧谋rma qoymaq bildirin.
M蓹n b蓹zi qoymaq gedir蓹m burada q谋vr谋m a艧谋rma.
>> Bu 0 var is蓹 Bel蓹likl蓹, biz getm蓹k laz谋md谋r b眉t眉n siyah谋s谋.
Bel蓹 ki, h蓹r d蓹f蓹 biz siyah谋s谋na ke莽m蓹k biz takip ist蓹yirsiniz?
>> T茝L茝B茝: h蓹r hans谋 bir svoplar谋 edilir 茝g蓹r.
>> JASON HIRSHHORN: tap 蓹n ki莽ik say谋.
Bel蓹likl蓹, biz y蓹qin ki, track saxlamaq laz谋md谋r 蓹n ki莽ik say谋 h蓹r d蓹f蓹.
Bel蓹 line I takip ed蓹 bil蓹rsiniz ki莽ik say谋?
Aleha, nec蓹 davam ed蓹 bil蓹rsiniz bir 艧ey track?
>> T茝L茝B茝: yeni bir d蓹yi艧蓹n ba艧lay谋n.
>> JASON HIRSHHORN: yeni bir d蓹yi艧蓹n ba艧lay谋n.
Bel蓹 ki, bir d蓹yi艧蓹n yaratmaq imkan verir.
Hans谋 n枚v眉?
>> T茝L茝B茝: Int.
>> JASON HIRSHHORN: Int.
Nin ki莽ik z蓹ng ed蓹k.
V蓹 n蓹 b蓹rab蓹r zaman yoxdur biz yaln谋z ba艧lan臒谋c etdiyiniz?
Biz h蓹l蓹 siyah谋s谋n谋 getdi deyil.
Biz birinci hiss蓹sind蓹 ist蓹yirik vasit蓹sil蓹 ilk d蓹f蓹 edin.
B蓹rab蓹r n蓹 edir, ki莽ik say谋?
>> T茝L茝B茝: D蓹y蓹rl蓹r i.
>> JASON HIRSHHORN D蓹y蓹rl蓹r i.
Bu do臒ru, do臒ru s蓹sl蓹nir?
Ba艧谋nda ki莽ik say谋 biz burada.
Bel蓹 ki, indi biz ki莽ik var v蓹 biz laz谋m b眉t眉n siyah谋 il蓹 getm蓹k v蓹
ki莽ik m眉qayis蓹 ba艧qa h蓹r 艧ey.
Y蓹ni biz yenid蓹n siyah谋s谋na getm蓹k yoxdur?
Michael?
>> T茝L茝B茝: Siz etm蓹k laz谋md谋r loop 眉莽眉n ba艧qa.
>> JASON HIRSHHORN: loop 眉莽眉n ba艧qa.
G蓹lin bunu.
M蓹n蓹 bir kod verin.
>> T茝L茝B茝: loop 眉莽眉n -
ki莽ik 眉莽眉n -
yaln谋z j int, siz dey蓹 bil蓹r?
= 0; bel蓹 ki, -
>> JASON HIRSHHORN: B蓹li, biz ist蓹yirsinizs蓹 b眉t眉n siyah谋 il蓹 getm蓹k 眉莽眉n -
>> T茝L茝B茝: j <n, j + +).
>> JASON HIRSHHORN: Fantastic.
Biz vasit蓹sil蓹 getm蓹k olacaq loop 眉莽眉n bir daha.
V蓹 nec蓹 tapa bil蓹r蓹m ki莽ik say谋?
Tom?
Biz cari ki莽ik say谋, bel蓹 nec蓹 biz yeni ki莽ik tapa bil蓹r蓹m?
>> STUDENT: Biz kontrol ed蓹 bil蓹rsiniz, 蓹g蓹r 蓹n ki莽ik biz say谋 daha b枚y眉kd眉r
bracket j qiym蓹tl蓹ndirir.
>> JASON HIRSHHORN: Bel蓹 ki莽ik olduqda d蓹y蓹rl蓹r bracket j daha 莽ox.
Bel蓹 ki, 蓹g蓹r bizim cari ki莽ik daha b枚y眉kd眉r -
M蓹n bu iki x蓹tl蓹ri h蓹r蓹k蓹t etm蓹k 眉莽眉n gedir蓹m ikinci orada kodu.
脟眉nki biz he莽 bir d蓹yi艧dirm蓹 蓹vv蓹l, biz b眉t眉n siyah谋 il蓹 getm蓹k laz谋md谋r.
Bel蓹 ki, bu pseudocode h蓹qiq蓹t蓹n olmal谋d谋r loop 眉莽眉n daxili xaricind蓹.
Bel蓹 ki, b眉t眉n siyah谋 il蓹 getm蓹k.
Ki莽ik-d蓹n 莽ox olduqda d蓹y蓹rl蓹r j sonra n蓹?
>> T茝L茝B茝: Sonra ki莽ik d蓹y蓹rl蓹r j b蓹rab蓹rdir.
>> JASON HIRSHHORN: Fantastic.
Bir s眉r蓹tli sual -
biz bu loop vasit蓹sil蓹 getm蓹k ilk d蓹f蓹, i 0 b蓹rab蓹r olacaq, j olacaq
biz burada almaq bir d蓹f蓹 0 b蓹rab蓹r.
Bel蓹likl蓹, biz m眉qayis蓹 etm蓹k olacaq 枚z眉 眉莽眉n bir s谋ra.
Ki, s蓹m蓹r蓹lidir?
Xeyr, bu, h蓹qiq蓹t蓹n s蓹m蓹r蓹li deyil.
Bel蓹 ki, bizim j getm蓹k laz谋m deyil 0-dan h蓹r zaman n 眉莽眉n?
Biz h蓹mi艧蓹 yoxlamaq laz谋md谋r b眉t眉n siyah谋s谋?
[I艧itilemez]?
>> T茝L茝B茝: 蓹v蓹zin蓹 i il蓹 ba艧lay谋n.
>> JASON HIRSHHORN: j bil蓹r n蓹 il蓹 ba艧lamaq?
>> T茝L茝B茝: i.
>> JASON HIRSHHORN: j i il蓹 ba艧laya bil蓹rsiniz.
Bel蓹 ki, indi biz ba艧layaraq m眉qayis蓹 etdiyiniz biri il蓹.
Lakin h蓹tta sonra, ki, kimi deyil m眉mk眉n q蓹d蓹r s蓹m蓹r蓹li?
>> T茝L茝B茝: i 1 +.
>> JASON HIRSHHORN: i + 1 g枚r眉n眉r 蓹n s蓹m蓹r蓹li, 莽眉nki biz
art谋q i var.
Biz ifad蓹 ed蓹n etdiyiniz line 15 ki莽ik.
Biz il蓹 ba艧lamaq olacaq N枚vb蓹ti bir avtomatik.
Bel蓹 ki, biz loop 眉莽眉n ke莽ir.
Biz h蓹r d蓹f蓹 ke莽m蓹k laz谋md谋r.
Biz bir ne莽蓹 d蓹f蓹 ke莽m蓹k laz谋md谋r.
陌ndi biz vasit蓹sil蓹 kazan谋lm谋艧 loop 眉莽眉n bu daxili.
Biz ki莽ik d蓹y蓹r saxlay谋r var.
Biz onu yerl蓹艧dirm蓹k laz谋md谋r siyah谋s谋 ba艧layan.
Bel蓹 ki, nec蓹 M蓹n onu yer yoxdur siyah谋s谋 ba艧layan?
Edir ki, d蓹yi艧蓹n n蓹dir siyah谋s谋 蓹vv蓹lin蓹?
Biz loop 眉莽眉n bu xaricd蓹n ist蓹yirik bel蓹 n蓹 aiddir
siyah谋s谋 ba艧layan?
>> T茝L茝B茝: D蓹y蓹rl蓹r i.
>> JASON HIRSHHORN: M蓹hz h眉ququ.
D蓹y蓹rl蓹r i ba艧lan臒谋c谋 -
v蓹 ya sorry, ba艧lan臒谋c谋 deyil.
Bu 莽a艧d谋r谋c谋 idi.
Biz 蓹vv蓹lind蓹 oldu臒u bu siyah谋s谋 莽e艧idl蓹nm蓹mi艧 hiss蓹si.
Bel蓹 ki, i qiym蓹tl蓹ndirir.
V蓹 n蓹 b蓹rab蓹r edir?
>> T茝L茝B茝: ki莽ik.
>> JASON HIRSHHORN D蓹y蓹rl蓹r i n蓹 b蓹rab蓹rdir?
>> T茝L茝B茝: ki莽ik.
>> JASON HIRSHHORN: ki莽ik.
M蓹hz h眉ququ.
Bel蓹likl蓹, biz ba艧谋nda yerl蓹艧dirilm蓹si edirik siyah谋s谋, v蓹 indi biz qoymaq laz谋md谋r
Bu siyah谋n谋n ba艧谋nda oldu臒u ki莽ik say谋.
Bel蓹 ki, nec蓹 yazmaq, burada ki莽ik say谋 idi?
N蓹 D蓹y蓹rl蓹r?
>> T茝L茝B茝: 0.
>> JASON HIRSHHORN: ki莽ik say谋 0 var?
>> T茝L茝B茝: B蓹li.
>> JASON HIRSHHORN: N蓹 蓹g蓹r ki莽ik say谋 sonunda idi
bu 莽e艧idl蓹nm蓹mi艧 siyah谋s谋?
>> T茝L茝B茝: Ba臒谋艧lay谋n, sual n蓹 idi?
>> JASON HIRSHHORN: harada 蓹n ki莽ik say谋?
Biz ki莽ik ald谋 v蓹 onu qoymaq burada bu x蓹tti il蓹, ba艧layan.
>> T茝L茝B茝: Bu olmal谋d谋r b蓹zi saxlan谋l谋r -
>> T茝L茝B茝: D蓹y蓹rl蓹r j.
>> JASON HIRSHHORN: B蓹li, bu m眉tl蓹q j qiym蓹tl蓹ndirir.
Bu da bu n枚qt蓹d蓹 yoxdur.
>> T茝L茝B茝: Siz elan var d蓹yi艧蓹n 蓹vv蓹l v蓹
sonra onu t蓹yin -
Siz ki莽ik say谋 tapmaq zaman, ki say谋 index t蓹yin
b蓹zi d蓹yi艧蓹n v蓹 ya kimi bir 艧ey.
>> JASON HIRSHHORN: Bel蓹 ki, Siz daha dem蓹k?
>> T茝L茝B茝: Bel蓹 ki, int b蓹yan ki莽ik, siz d蓹 int b蓹yan etm蓹lidir
ki莽ik index = i, v蓹 ya ki, kimi bir 艧ey.
>> JASON HIRSHHORN: M蓹n int haradan ki莽ik, m蓹n track saxlamaq laz谋md谋r yaln谋z
d蓹y蓹ri lakin yeri.
int smallest_location = bu halda, biz yaln谋z i ed蓹c蓹yik.
Biz harada bilm蓹k laz谋md谋r.
Biz kodu sonunda var v蓹 biz biz bu idi ki, he莽 bir fikir idi h蓹yata ke莽irilir.
V蓹 yen蓹, biz mapping var bu bir biri.
脰z irad蓹si il蓹 bu kodla艧d谋rma u艧aqlar y蓹qin ki, eyni problem almaq.
M蓹n nec蓹 heck bu tapa bil蓹r蓹m?
V蓹 sonra m蓹n, g枚zl蓹yin h蓹yata ki takip laz谋md谋r.
>> Bel蓹 ki, ki莽ik olarsa d蓹y蓹rl蓹r j daha.
Biz ki莽ik d蓹y蓹rl蓹r j b蓹rab蓹rdir se莽in.
Biz d蓹yi艧dirm蓹k ba艧qa n蓹 laz谋md谋r?
Constantin, ba艧qa n蓹 biz d蓹yi艧dirm蓹k laz谋md谋r?
>> T茝L茝B茝: The yer.
>> JASON HIRSHHORN: Exactly.
M蓹n蓹 kodu ki, x蓹tt verir.
>> T茝L茝B茝: smallest_location = j.
>> JASON HIRSHHORN: Exactly.
V蓹 sonra sonunda a艧a臒谋, biz ist蓹yirsinizs蓹 siyah谋s谋 ba艧lan臒谋c谋n谋 qoya yerl蓹艧ir
蓹n ki莽ik say谋, nec蓹 biz hara m眉raci蓹t edirsiniz
ki莽ik say谋 idi?
Marcus?
>> T茝L茝B茝: The ki莽ik say谋 ki莽ik yerd蓹 yerl蓹艧ir.
>> JASON HIRSHHORN: Bel蓹 d蓹y蓹rl蓹ri smallest_location.
V蓹 biz orada n蓹 qoymaq bil蓹r蓹m?
Ba艧谋ndan bu yana siyah谋s谋, n蓹 var?
>> T茝L茝B茝: B蓹li, biz h蓹qiq蓹t蓹n bilmir蓹m biz Yaz谋lmamas谋 art谋q 莽眉nki.
Bel蓹 ki, bir d蓹yi艧dirildikd蓹 locations var bu iki x蓹tl蓹ri?
茝g蓹r 蓹traf谋nda bu iki x蓹tl蓹ri ke莽id varsa.
>> JASON HIRSHHORN: OK, bel蓹 ki, biz bunu art谋q, 莽眉nki biz x蓹tti yenid蓹n etdik
d蓹y蓹rl蓹r蓹 i ki莽ik 蓹vv蓹l.
Bel蓹 ki, ilkin d蓹y蓹r itirdi.
Bel蓹 ki, svop bu iki x蓹tl蓹ri bildirib.
Bel蓹 ki, indi siyah谋s谋 ba艧lan臒谋c谋n谋 qoya burada ki莽ik say谋.
Bel蓹 ki, smallest_location i d蓹y蓹rl蓹r b蓹rab蓹rdir.
Bu ba艧lan臒谋c谋 h蓹r蓹k蓹t Bu 眉莽眉n siyah谋 莽e艧idl蓹nm蓹mi艧 hiss蓹si
ki莽ik yer.
V蓹 sonra d蓹y蓹rl蓹r n蓹z蓹r蓹 i h蓹r蓹k蓹t edirik ki, ki莽ik say谋.
>> Ki, m蓹nada, niy蓹 biz ki, m眉badil蓹 etm蓹k idi?
Biz ki, d蓹y蓹ri 眉zerine olard谋 - siz y蓹qin ki, olard谋 ba艧qa bir 艧ey
fiqurlu v蓹 脺DM tap谋ld谋.
Bel蓹likl蓹, biz qay臒谋 etdik b眉t眉n pseudocode.
Ba艧qa bir 艧ey biz burada yazmaq laz谋md谋r?
He莽 bir 艧ey hesab ed蓹 bil蓹r蓹mmi?
>> T茝L茝B茝: nec蓹 bilirs蓹n Bitirdi臒inizde?
>> JASON HIRSHHORN: nec蓹 etm蓹k biz g枚r眉l蓹n etdiyiniz zaman bilirik?
B枚y眉k sual.
Bel蓹 ki, nec蓹 biz g枚r眉l蓹n etdiyiniz zaman bilmir蓹m.
>> T茝L茝B茝: count saxlamaq 眉莽眉n bir d蓹yi艧蓹n yaratmaq yox bir swap v蓹 ya 蓹g蓹r
v蓹 bir ke莽id ke莽ir.
>> JASON HIRSHHORN: OK.
Ki, bubble s谋rala i艧l蓹m蓹k olard谋.
Amma se莽im sort 眉莽眉n, biz 蓹g蓹r m眉badil蓹 etm蓹k, ki, yaln谋z ola bil蓹r
ki莽ik d蓹y蓹r, 莽眉nki bu onun sa臒 yer.
Biz siyah谋s谋 1, 2, 4, 3 ola bil蓹r.
Vasit蓹sil蓹 biz ikinci d蓹f蓹 bir svop etm蓹k olmaz.
Biz 2 sayl谋 olacaq, lakin biz will h蓹l蓹 d蓹 davam saxlamaq laz谋md谋r.
Bel蓹likl蓹, biz zaman takip etm蓹k laz谋md谋r biz tamamlay谋n, v蓹 ya biz yaln谋z getm蓹k ist蓹yir蓹m
Bu ba艧a q蓹d蓹r?
>> STUDENT: Biz yaln谋z bil蓹rsiniz o ba艧a kadar.
>> JASON HIRSHHORN: Biz yaln谋z Bu ba艧a q蓹d蓹r getm蓹k.
Bubble sort, siz do臒ru dan谋艧谋rs谋n谋zsa Sizin h蓹lli il蓹 Jeff v蓹 Aleha, -
Bu takip b枚y眉k ne莽蓹 svoplar谋 Siz, 莽眉nki bubble
Siz 蓹slind蓹 蓹g蓹r sort, he莽 svoplar谋 etm蓹k g枚r眉l蓹n v蓹 siz b蓹lk蓹 sizin k蓹sm蓹k olar
problem bir az a艧a臒谋.
Amma se莽im sort 眉莽眉n, h蓹qiq蓹t蓹n var sonuna vasit蓹sil蓹 getm蓹k 眉莽眉n var
蓹traf谋nda h蓹r d蓹f蓹 edin.
>> Bel蓹 ki, bu deyil.
Biz sol iki d蓹qiq蓹 var.
B眉t眉n ed蓹k.
M蓹n蓹 yaln谋z a莽谋q burada tap ve ed蓹k 蓹min M蓹n 蓹slind蓹 up z蓹ng al谋ram -
M蓹n bubble n枚v z蓹ng deyil蓹m.
Se莽im sort bu d蓹yi艧iklik ed蓹k.
b眉t眉n edir. / tapa bil蓹rsiniz.
Nin 42 taps谋n.
Biz ke莽m蓹k olacaq bu d蓹f蓹 莽e艧idl蓹nm蓹mi艧 siyah谋s谋 d眉zm蓹k laz谋md谋r, 莽眉nki
ilk tapmaq kodu ba艧谋na - d眉zm蓹k laz谋md谋r ilk sonra sort funksiyas谋 istifad蓹 ed蓹r蓹k,
bir 艧ey axtarmaq.
Fingers h蓹r k蓹s ke莽di.
>> Allah m蓹nim Oh.
Whoa, 眉r蓹yim m蓹臒lub oldu.
Bel蓹 ki, do臒ru deyil.
茝slind蓹, biz bu daha qa莽d谋 蓹g蓹r q蓹d蓹r m蓹n kimi geni艧, kodu,
dem蓹k, m眉k蓹mm蓹l do臒ru deyil.
B蓹zi t蓹klifl蓹r var M蓹n sizin 眉莽眉n olard谋.
M蓹s蓹l蓹n, 15 v蓹 16 g枚r眉n眉r bir az laz谋ms谋z.
Siz m眉tl蓹q deyil kimi g枚r眉n眉r h蓹r iki saxlamaq laz谋md谋r.
Siz ki莽ik yer, siz蓹 varsa asanl谋qla ki莽ik d蓹y蓹r tapa bil蓹rsiniz
yaln谋z i d蓹y蓹rl蓹r yazaraq.
>> , M蓹n sizin kodu s谋n谋fland谋rma idi 蓹g蓹r M蓹n 蓹slind蓹, m蓹n olacaq
茝g蓹r y蓹qin ki, bir point off almaq , bu h蓹m daxil siz, 莽眉nki
Bu, h蓹m d蓹 ehtiyac yoxdur.
Siz yeri varsa, siz 莽ox asanl谋qla d蓹y蓹r almaq.
V蓹 bu bir az q蓹rib蓹 g枚r眉n眉r Onlar谋n h蓹m d蓹 saxlamaq 眉莽眉n.
B蓹lk蓹 h蓹tta bir point almaq, lakin 蓹lb蓹tt蓹 ki, b蓹lk蓹 oldu臒unu 艧蓹rh
bir 眉slub se莽imi etm蓹k laz谋md谋r.
茝lb蓹tt蓹 ki, kodu h蓹l蓹 yax艧谋 莽al谋艧谋r.
>> Bel蓹 ki, t蓹蓹ss眉f ki, biz etm蓹dik bubble s谋rala almaq.
M蓹n bu bar蓹d蓹 眉z眉ld眉m.
Biz Salonun se莽ilm蓹si c眉r etdi.
He莽 bir final sual谋n谋z varm谋 seleksiya sort haqq谋nda?
>> Biz r蓹hb蓹rlik 蓹vv蓹l OK, M蓹n siz蓹 ist蓹yir蓹m Chrome brauzeri a莽maq.
Ba臒谋艧lay谋n, yaln谋z a莽谋q-a艧kar plug idi internet browser bir n枚v眉 眉莽眉n.
Siz browser h蓹r hans谋 bir n枚v眉 a莽maq bil蓹r, lakin y蓹qin ki, Chrome olacaq.
Bu a艧a臒谋dak谋 veb s蓹hif蓹sin蓹 getm蓹k -
sayat.me/cs50.
Sizin komp眉ter yazaraq de臒ilseniz indi siz蓹 ayd谋n ist蓹yirik
Tom bunu deyil.
>> V蓹 sa臒 ya bunu edin indi v蓹 ya n枚vb蓹ti saat -
m蓹n蓹 bir geribildirim.
Bu yaln谋z b枚lm蓹 iki edir.
Biz birlikd蓹 bir 莽ox daha 莽ox var, bel蓹 ki, m蓹n yax艧谋la艧d谋r谋lmas谋 眉莽眉n otaq var.
M蓹n 眉mid d蓹 b蓹zi 艧eyl蓹r etdi.
Bel蓹 ki, m蓹n蓹 b眉t眉n pis hiss ed蓹 bil蓹r, lakin 蓹g蓹r siz d蓹 m蓹n蓹 smiley verm蓹k ist蓹yir蓹m
眉z, M蓹n d蓹 ki, t蓹艧蓹kk眉r edir.
Da ki doldurun
>> V蓹 sol bir d蓹qiq蓹, ki, h蓹ft蓹d蓹 眉莽 idi.
M蓹n bir az k蓹narda durmaq laz谋md谋r 茝g蓹r h蓹r hans谋 bir sual谋n谋z varsa.
M蓹n siz蓹 u艧aqlar g枚r蓹c蓹ksiniz sabah m眉hazir蓹.