>> [MUSIC PLAYING]
DAVID Malan: B眉t眉n h眉ququ.
Bu CS50 v蓹 bu H蓹ft蓹 2 sonu.
M蓹n ola bilm蓹z 莽ox t蓹蓹ss眉f edir蓹m orada b眉t眉n g眉n sizinl蓹,
lakin 莽ox yax艧谋 蓹lind蓹 ist蓹yirik.
M蓹n蓹 t蓹qdim izin ver CS50 枚z Rob Bowden.
Rob Bowden: 茝lb蓹tt蓹, onda biz 蓹slind蓹 蓹yl蓹nc蓹 etm蓹k laz谋md谋r
o biz蓹 bir 艧aquli g枚nd蓹rdi video v蓹 bu g枚st蓹rir.
>> [Video playback]
>> [MUSIC PLAYING]
>> [Izi]
>> -Bu Video verm蓹di bu 艧蓹kild蓹 baxmaq laz谋md谋r.
Bu qar艧谋s谋 bil蓹rdi.
He莽 bir 艧aquli video s枚yl蓹yin.
>> -艦aquli Videos zaman ba艧 Sizin kamera yanl谋艧 yol saxlay谋n.
Sizin video sona 莽atacaq up crap kimi axtar谋r.
>> - [Xortultu]
>> As谋l谋l谋臒谋 daha 莽ox insanlar谋n, var h蓹r g眉n 艧aquli video edilm蓹si 眉莽眉n.
Bu 莽at v蓹 ya he莽 bir 艧ey deyil, lakin h蓹l蓹 d蓹 h蓹qiq蓹t蓹n pis.
Iki m眉xt蓹lif n枚v var VVS d蓹rdli insanlar.
Birinci qrup al谋r videos onlar 艧蓹kill蓹r kimi vur.
Onlar h蓹r hans谋 bir z蓹r蓹r dem蓹k deyil.
Onlar yaln谋z ba艧a d眉艧m眉rl蓹r ki, Bir 艧蓹kil 莽evirm蓹k bil蓹r,
Siz, h蓹qiq蓹t蓹n, bir video 莽evirm蓹k ed蓹 bilm蓹z.
>> [CRASH]
>> - [Monkey s蓹sl蓹nir]
>> -Bu Dig蓹r qrup insanlar kim [BLEEP] vermir.
>> -艦aquli Video Syndrome t蓹hl眉k蓹lidir.
Motion 艧蓹kill蓹r var h蓹mi艧蓹 眉f眉qi olmu艧dur.
Televiziyalarda 眉f眉qi var.
Komp眉ter ekranlar谋nda 眉f眉qi var.
Xalq g枚zl蓹ri 眉f眉qi var.
Biz in艧a deyil 艧aquli video.
>> M蓹n 艧aquli video sevir蓹m.
>> -Nobody 茝h蓹miyy蓹t verir.
>> -茝g蓹r Bu problem 眉zr蓹 kontrolsuz, siz d蓹 sol
D枚rd video g枚st蓹r蓹n ba艧layacaq bir d蓹f蓹 yaln谋z bant geni艧liyi saxlamaq 眉莽眉n.
>> -Letterboxed 艦aquli videos ki po莽t markas谋n谋n 枚l莽眉s眉.
>> -V蓹 H蓹r yerd蓹 yay谋lacaq.
Movie ekranlar var h蓹mi艧蓹 眉f眉qi olmu艧dur.
艦aquli videos olmaq q蓹bul, kinoteatr
h眉nd眉r v蓹 c谋l谋z olmal谋d谋r.
>> -V蓹 Kino v蓹 teatrlar b眉t眉n olard谋 y谋x谋l谋b yenid蓹n almaq laz谋md谋r.
V蓹 zaman onlar yenid蓹n in艧a edildi, Mila Kunis k枚hn蓹 v蓹 莽irkin olard谋.
>> -Qu艧lar Onlara daxil q蓹za v蓹 枚l蓹c蓹k.
>> -We'll B眉t眉n s蓹rt almaq ararken boyunlar谋na.
>> -V蓹 He莽 bir oturmaq olacaq 枚n s谋ra daha.
>> George Lucas yenid蓹n azad ed蓹c蓹k Star Wars c谋l谋z n蓹艧r again--.
>> -M蓹n Dem蓹k h蓹qiq蓹t蓹n ed蓹 he莽 vaxt M蓹n dem蓹k ist蓹yirdim hekay蓹.
Bu, m蓹nim 眉莽眉n b枚y眉k bir 艧ans idi yeni texnologiya il蓹 t蓹cr眉b蓹.
>> Bir qaxac -You're.
>> Bir mobil cihaz 眉莽眉n istifad蓹 olunur -H蓹r vaxt video, temptation var.
Just xeyr deyirik.
George Lucas xeyr deyirik.
K枚hn蓹 Mila Kunis xeyr deyirik.
He莽 bir 艧aquli video s枚yl蓹yin.
>> 茝g蓹r kims蓹 bunu g枚rm蓹k 蓹g蓹r -V蓹, dem蓹k "茝g蓹r do臒ru dummy at蓹艧 deyilik!"
>> [MUSIC PLAYING]
>> [END playback]
>> [Alq谋艧]
>> [AUDIO OUT]
Rob Bowden: Sad蓹 Kriptoqrafiya formas谋,
olan 蓹sas蓹n 艧ifreleme edir gizli mesajlar v蓹 parol 莽枚zme.
Bel蓹 ki, burada biz bir 莽ox sad蓹 oyuncaq var.
V蓹 fikir xarici ring edir daxili ring 蓹traf谋nda qaytar谋r.
V蓹 m蓹n zoom b蓹lk蓹 g枚r蓹 bil蓹rsiniz , bu g枚rm蓹k 莽蓹tindir that--.
Lakin, kimi, say谋 1 var yax艧谋 ki, k枚莽眉r眉l眉b.
>> say谋 1 m蓹ktub x蓹rit蓹l蓹r M蓹ktub X, 2 sayl谋 x蓹rit蓹l蓹r
J. 莽蓹tin 陌nan谋lmaz ir蓹li ke莽m蓹k deyil.
Letter 2 J. x蓹rit蓹l蓹r 3 Bel蓹likl蓹, D. x蓹rit蓹l蓹r
bu halqa il蓹 siz ver蓹 bil蓹r Kims蓹 bir mesaj 1, 2, 3.
N蓹d蓹ns蓹 siz onlara XJD dem蓹k ist蓹yir蓹m.
Amma onlara ver蓹 bil蓹r n枚mr蓹l蓹ri b蓹zi mesaj,
v蓹 onlar bu 眉z眉k kimi uzun kimi, onlar Siz dem蓹k 莽al谋艧d谋臒谋n谋z n蓹 decrypt bil蓹r.
>> Bel蓹 ki, g枚rm眉艧蓹m bil蓹r bu Kriptoqrafiya x眉susi n眉mun蓹
蓹vv蓹l Milad m枚vs眉m眉 蓹traf谋nda 蓹g蓹r A Christmas Story seyr etdik.
Siz g枚rm蓹mi艧蓹m varsa 蓹vv蓹l, sonra yaln谋z
sanki at TBS yand谋rmaq Milad arifesi he莽 bir zaman,
onlar yaln谋z geri geri g枚st蓹rm蓹k 莽眉nki b眉t眉n g眉n geri geri geri.
V蓹 m眉vafiq video bu.
[Video playback]
B眉t眉n v蓹 莽e艧itli m蓹lum olun Ralph Parker q蓹rara ki,
Little 眉zv眉 t蓹yin Yetim Annie Secret Circle
v蓹 b眉t眉n f蓹rql蓹nm蓹 h眉ququna malikdir v蓹 faydalar谋 ona ba艧.
Little Yetim Annie imzalay谋b.
M眉r蓹kk蓹bl蓹 Pierre Andre imzalanm谋艧!
Onur v蓹 faydalar谋 Art谋q doqquz ya艧谋nda!
>> [Radio b枚yle]
On-g蓹lir.
Bunun il蓹 蓹ld蓹 ed蓹k.
M蓹n b眉t眉n caz ehtiyac yoxdur qa莽aqmal莽谋lar谋 v蓹 quldurlar谋 haqq谋nda.
Il蓹 sabah gec蓹 dinl蓹 yekun mac蓹ra
Black Pirate g蓹mi.
陌ndi bunun 眉莽眉n vaxt Annie gizli mesaj
Secret Circle siz 眉zvl蓹ri 眉莽眉n.
U艧aq yaln谋z 眉zvl蓹ri saxla Annie Secret Circle
Annie gizli mesaj de艧ifre bil蓹r.
Unutmay谋n, Annie siz as谋l谋 olaraq.
B2 眉莽眉n sancaqlar se莽in.
Burada mesaj.
12.
11.
2.
-M蓹n Ilk gizli g枚r眉艧 edir蓹m.
>> -25.
14.
11.
18.
16.
>> -Oh, Pierre b枚y眉k s蓹s ax艧am edir.
Hesab edir蓹m ki, ax艧am dey蓹 bil蓹r Mesaj h蓹qiq蓹t蓹n 蓹h蓹miyy蓹tli idi.
-3.
25.
Ki, Annie 枚z眉 bir mesaj var.
H蓹r k蓹s dem蓹k deyil, unutmay谋n.
>> -Be艧 Saniy蓹 sonra, m蓹n yaln谋z deyil蓹m evd蓹 otaq oldu臒u doqquz bir o臒lan
gizlilik v蓹 decode oturmaq bil蓹r.
Aha!
B!
M蓹n n枚vb蓹ti getdi.
E. ilk s枚z眉 "ola" dir.
S. 陌ndi daha asan g蓹lirdi.
U. 25.
Ki, R. var
Hadi haqq谋nda, Ralphie!
I Gotta Go etdik!
Sa臒 a艧a臒谋 ola -I'll, Ma!
Gee v谋z谋lt谋.
N蓹 眉莽眉n 蓹min olun - T. O. "眉莽眉n 蓹min olun"
Little Yetim n蓹 idi Annie dem蓹k 莽al谋艧谋r?
N蓹 蓹min olun?
>> -Randy Getm蓹k 眉莽眉n var!
Siz 莽谋xmaq edin olacaq?
>> -B眉t眉n Sa臒, ana!
M蓹n do臒ru olacaq!
M蓹n indi daha yax谋n 蓹ld蓹 edilmi艧dir.
g蓹rginlik d蓹h艧蓹tli idi.
Bu n蓹 idi?
planetin taleyi balans谋nda asmaq bil蓹r!
>> -Ralphie, Randy getm蓹k 眉莽眉n var!
>> Y眉ks蓹k s蓹sl蓹 a臒layaraq 眉莽眉n do臒ru ola -I'll!
Dem蓹k olar ki, var!
M蓹nim barmaqlar谋 u莽du.
M蓹nim mind bir polad t蓹l蓹 idi.
H蓹r pore vibrasiyaya.
Dem蓹k olar ki, ayd谋n idi!
B蓹li.
Sizin Ovaltine i莽m蓹k 眉莽眉n 蓹min olun.
Ovaltine?
A crummy kommersiya?
艦蓹r蓹fsiz.
>> [END playback]
>> Rob Bowden: Bel蓹 ki, nec蓹 Ovaltine kriptoqrafiya il蓹 ba臒l谋d谋r.
茝sas蓹n CS50 yaln谋z reklam Ovaltine, bel蓹 ki, biz bil蓹r
Ovaltine 眉莽眉n crummy kommersiya olmaq.
Oldu.
Bel蓹 ki, indi faktiki informatika.
Bazar ert蓹si saxla biz off sol strings daxil d蓹rin dal谋艧.
Bel蓹likl蓹, biz il蓹 m蓹艧臒ul olan string "Zamyla."
V蓹 biz tan谋nmas谋 edildi biz m眉alic蓹 ed蓹 bil蓹r ki,
Simvol bir ard谋c谋ll谋qla kimi "Zamyla".
V蓹 biz 枚yr蓹ndik ki, unutmay谋n bracket notation.
Bu saxlan谋l谋r 蓹g蓹r, bel蓹 ki, sonra bir simli "nin,"
dedik 蓹g蓹r s bracket 0, ki, ki, m蓹ktub kapital Z. g枚st蓹rir
V蓹 biz s bracket 1, bildirib ki, 蓹g蓹r ilk ki莽ik bir g枚st蓹rir ki,
v蓹 s s bracket 5 q蓹d蓹r bu da 枚t蓹n a g枚st蓹rir ki.
>> 陌ndi xat谋rlay谋ram bu simli uzunlu臒u, 6
lakin simli daxil g枚st蓹ricil蓹ri var 0 5 vasit蓹sil蓹 vasit蓹sil蓹 Z davam.
Bel蓹 ki, bu, indi daha b枚y眉k 艧蓹kil uy臒un Sizin komp眉ter yadda艧, RAM.
Bel蓹 ki, haradasa proqram谋 Sizin komp眉ter 莽al谋艧t谋r谋yorsan谋z
ZAMYLA xat谋rlamaq laz谋md谋r yadda艧 haradasa.
M蓹n bir k枚n眉ll眉 ola bil蓹r?
B蓹li, z蓹hm蓹t olmasa.
V蓹 ad谋 n蓹dir?
>> DEAN: Dean.
>> Rob Bowden: Dean?
, Dean g枚r眉艧m蓹k Nice.
Bel蓹 ki, buraya g蓹lm蓹k, v蓹 biz siz蓹 莽蓹km蓹k olacaq
yadda艧 bizim g枚z蓹l uykusuz layout.
陌ndi yadda艧 d眉艧眉nm蓹k ist蓹yir蓹m bayt uzun zolaq kimi,
ancaq ekran m蓹qs蓹dl蓹r 眉莽眉n biz laz谋md谋r yaln谋z alt sa臒 眉st sol yoxdur.
OLDU?
>> M蓹n bir g枚st蓹rm蓹k 眉莽眉n gedir蓹m Getstrings.c program--.
V蓹 bel蓹 ki, b眉t眉n bu proqram bunu d枚rd strings t蓹l蓹b edir
il蓹 istifad蓹莽i GetString v蓹 sonra 莽ap
n蓹 ki, ilk simli daxil idi.
Biz d枚rd vasit蓹sil蓹 iki m蓹h蓹l edirik.
OLDU.
Bel蓹 ki, burada, indi zaman M蓹n ilk t蓹l蓹bi s1.
Bel蓹 ki, komp眉ter var.
V蓹 GetString h蓹yata ke莽iririk.
Bel蓹 ki, bir simli t蓹l蓹b M蓹n蓹 v蓹 m蓹n OK, Dekan谋 deyirl蓹r.
Simli ver "Dean".
>> Bel蓹 ki, haradasa yadda艧 siz xat谋rlamaq laz谋md谋r "Dean".
Bel蓹 ki, haradasa yadda艧 daxil yazmaq.
M眉k蓹mm蓹ldir.
OLDU.
Bel蓹 ki, indi biz S2 var.
V蓹 s2 olacaq GetString sor臒u.
M蓹n bir simli daxil gedir蓹m.
M蓹n daxil gedir蓹m "Hannah".
Bel蓹 ki, haradasa yadda艧 "Hannah" daxil edin.
B蓹li.
A-H.
>> OK, bel蓹 ki, indi s3.
V蓹 ba艧qa olacaq GetString t蓹l蓹b.
V蓹 indi "Maria." Daxil edin
Oldu.
V蓹 sonra son bir var GetString t蓹l蓹bi, s4.
Bel蓹 ki, m蓹n bilmir蓹m.
Nec蓹 ki, biz il蓹 getm蓹k haqq谋nda antidisestablishmentarianism.
Bel蓹 ki, yadda艧 daxil edin.
B蓹li.
Bel蓹 ki, yaln谋z "Rob." N蓹
>> OLDU.
Niy蓹 Bel蓹 ki, indi explain-- bu bo艧luq t蓹rk edirsiniz?
Bu bo艧 var Niy蓹 burada, burada v蓹 burada yer?
B蓹li.
M蓹n getm蓹k zaman qeyd 蓹g蓹r bel蓹 s1-- 莽ap biz
idi "Hannah" 莽al谋艧an sa臒 yan谋nda "Dean"
biz izl蓹 nec蓹 string "Dean" bitir?
Bel蓹 ki, simli S1 莽ap ola bil蓹r yaln谋z "DeanHannahMariaRob" 莽ap
h蓹r hans谋 bir ipucu yoxdur, 蓹g蓹r "Dean" h蓹qiq蓹t蓹n ba艧a bir zaman.
>> Oldu.
Bel蓹 ki, yadda艧 yol biz, h蓹qiq蓹t蓹n, simli bu son t蓹msil
backslash s谋f谋r il蓹.
Bel蓹 ki, bu kosmik biz n蓹 ist蓹diyini d蓹qiq deyil.
Bu backslash s谋f谋r olmal谋d谋r.
Bu, bir backslash s谋f谋r olacaq bu bir backslash s谋f谋r olacaq.
V蓹 siz bir fantastik m眉kafat ola bil蓹r m眉k蓹mm蓹l k枚n眉ll眉 olmaq 眉莽眉n.
Bir stress top almaq!
>> OLDU.
Bel蓹 ki, bu xarakter backslash s谋f谋r nec蓹 bir simli sonunda g枚st蓹rir.
Bu nec蓹 zaman h蓹r hans谋 bir proqram bir simli 莽ap etm蓹k ist蓹yir,
枚yr蓹ndik xat谋rlay谋ram how-- bu strlen funksiyas谋 枚t蓹n h蓹ft蓹?
String uzunlu臒u?
Bu string uzunlu臒u ed蓹 nec蓹 simli nec蓹 uzun m眉蓹yy蓹n edir.
Bu, yaln谋z iterating saxlay谋r simvol 眉z蓹rind蓹
tapd谋臒谋 q蓹d蓹r s谋f谋r xarakter backslash.
茝h蓹miyy蓹tli olan h蓹yata ke莽irm蓹k 眉莽眉n bel蓹 backslash s谋f谋r xarakteri haqq谋nda
Bu t蓹msil edir ki, bit b眉t眉n s谋f谋r.
Bel蓹 ki, bu f蓹rqli oldu臒unu qeyd s谋f谋r xarakteri.
Bel蓹 ki, s谋f谋r xarakteri, Yad谋n谋zdad谋rsa, 蓹g蓹r M蓹s蓹l蓹n o sonunda verdi ki,
m眉hazir蓹 simvol x蓹rit蓹si harada 65 kapital A x蓹rit蓹l蓹r kimi to--.
97 眉莽眉n x蓹rit蓹l蓹r ki莽ik.
Ki莽ik b 98 olacaq.
Bel蓹 ki, say谋 0 maps m蓹n deyil to-- m蓹nim ba艧 眉st off bilirik.
44 v蓹 ya 45.
Somewhere ki, regionda.
>> Bel蓹 ki, xarakter 0 faktiki say谋.
Amma backslash s谋f谋r b眉t眉n s谋f谋r bit maps.
Bel蓹 ki, bir f蓹rq var backslash s谋f谋r aras谋nda,
Hans谋 null terminator z蓹ng ed蓹c蓹yik.
Bir f蓹rq aras谋nda var backslash s谋f谋r v蓹 xarakter s谋f谋r.
>> Oldu.
Bel蓹 ki strings haqq谋nda bir az daha s枚hb蓹t.
Bel蓹likl蓹, biz bu nec蓹 burada bax Bu xatir蓹sin蓹 sal谋nm谋艧 olacaq.
Bel蓹 ki, bir ard谋c谋ll谋qla kimi strings bu fikir simvol r蓹smi komp眉ter bel蓹
ard谋c谋ll谋臒谋 眉莽眉n sciency m眉dd蓹tli bir s谋ra edir.
Bel蓹likl蓹, biz bir simli z蓹ng simvol bir s谋ra.
V蓹 h蓹qiq蓹t蓹n dig蓹r m蓹lumatlar var biz h蓹yata seriallar谋n ed蓹 bil蓹rsiniz n枚vl蓹ri.
>> Bel蓹 ki, bu motivasiya etm蓹k, n眉mun蓹 oldu.
Biz laz谋md谋r ages0.c z蓹ng ed蓹c蓹yik sur蓹ti v蓹 艧ablon yap谋艧d谋r谋b.
OLDU.
Bu proqram Bel蓹 ki, n蓹 biz etm蓹k ist蓹yir蓹m ya艧 qamarlamaq deyil
茝lb蓹tt蓹 眉莽 艧agird.
Bel蓹likl蓹, biz bilirik int age-- v蓹 indi 0 dem蓹k gedir蓹m.
Bel蓹 ki, age1 dem蓹k ist蓹yir蓹m, lakin bil蓹r m蓹qs蓹dl蓹ri 眉莽眉n biz 莽ox q谋sa g枚r蓹c蓹ksiniz,
M蓹n int age0 GetInt b蓹rab蓹rdir dem蓹k laz谋md谋r.
GetInt eyni z蓹ng bel蓹 Biz istifad蓹 etdik ki,
isteyen 眉莽眉n ba艧 deyil "M蓹n蓹 ya艧 verm蓹k." dey蓹r蓹k
Amma yaln谋z xahi艧 edir.
>> V蓹 age1 GetInt b蓹rab蓹rdir.
V蓹 int age2 GetInt b蓹rab蓹rdir.
Bel蓹 ki, daha 眉莽 t蓹l蓹b蓹l蓹r, amma n蓹tic蓹d蓹 d蓹yi艧蓹n g枚st蓹ricil蓹ri
age2 vasit蓹sil蓹 age0 var.
OLDU.
Bel蓹 ki, bu proqram n蓹 laz谋md谋rsa ed蓹c蓹yik biz age0, age1 v蓹 age2 il蓹 ist蓹diyiniz,
lakin bu proqram n蓹tic蓹d蓹 眉莽 t蓹l蓹b蓹 眉莽眉n 莽al谋艧谋r.
>> OLDU.
Bel蓹 ki, indi m蓹n d枚rd t蓹l蓹b蓹l蓹r ist蓹yirsinizs蓹?
B蓹li, m蓹n geri getm蓹k 眉莽眉n gedir蓹m m蓹nim kodu daxil 艦蓹rh d蓹yi艧dirm蓹k,
v蓹 indi biz bir int var age3 GetInt b蓹rab蓹rdir.
OLDU.
Bel蓹 ki, kim burada problem g枚rm眉r?
Problem n蓹dir qura艧d谋rma bu n枚v il蓹?
B蓹li.
Bel蓹likl蓹, biz bir yaratmaq edirik H蓹r bir t蓹l蓹b蓹 眉莽眉n d蓹yi艧蓹n.
陌ndi i艧l蓹yir, lakin n蓹tic蓹d蓹 n蓹 陌ndi 蓹g蓹r
M蓹n ya艧谋na qamarlamaq ist蓹yir蓹m ", dey蓹 S蓹kkiz t蓹l蓹b蓹l蓹r v蓹 ya 16 艧agird
v蓹 ya, lakin 莽ox t蓹l蓹b蓹l蓹r CS50 y眉zl蓹rl蓹 艧agird
v蓹 ya kamp眉s眉nde minl蓹rl蓹 艧agird v蓹 ya d眉nyan谋n milyardlarla insan?
Bel蓹 ki, son n蓹tic蓹d蓹 bu davaml谋 deyil.
脰z眉n眉z 莽谋xarmaq g枚rm蓹k ist蓹nil蓹n vaxt v蓹 bu kimi sovu艧durmaq indeksi,
眉mumiyy蓹tl蓹 hiss etm蓹lidir daha yax艧谋 bir yol yoxdur.
>> Biz t蓹qdim harada bu bel蓹dir bir s谋ra b蓹yanat.
Bel蓹 ki, bir s谋ra b蓹yan ed蓹rk蓹n, Bu n蓹 眉mumi format
kimi baxmaq gedir.
Biz n枚v眉 dem蓹k olacaq.
sonra biz olacaq ki, serial谋n ad谋n谋 verm蓹k,
yaln谋z biz h蓹r hans谋 bir d蓹yi艧蓹n m眉蓹yy蓹n kimi.
V蓹 sonra n蓹hay蓹t biz istifad蓹 Bu bracket notation yenid蓹n
lakin f蓹rqli bir kontekstind蓹 nec蓹 biz 蓹vv蓹ll蓹r istifad蓹 edilmi艧dir.
>> Bel蓹 ki, burada bu normal kimi g枚r眉n眉r biz g枚rd眉k d蓹yi艧蓹n elan.
Bel蓹 ki, biz 蓹vv蓹l int x yar谋 kolon g枚rd眉m.
Yax艧谋 indi biz bir 艧ey g枚r蓹 bil蓹rsiniz int x M枚t蓹riz蓹d蓹 5 kimi.
V蓹 bu ideya qoyulmas谋 Biz yax艧谋d谋r GetInt proqram
bel蓹 ki, biz h蓹yata ke莽ir蓹 bil蓹r eyni 艧蓹kild蓹 bu.
>> Biz istifad蓹 edirl蓹r CS deyirl蓹r bir 艧ey say谋 n.
Bel蓹 ki, burada biz gedirik D枚rd t蓹l蓹b蓹 saxlamay谋n.
陌ndi biz int ya艧 dem蓹k olar bracket olduqca onu yet-- almaq deyil n--
D枚rd t蓹l蓹b蓹 bir s谋ra elan.
Bel蓹 ki, bu baxmaq nec蓹 yadda艧 bu ox艧ar olacaq.
Bu sil.
V蓹 biz bir yerd蓹 olacaq yadda艧-M蓹n orada bu q蓹d蓹r qoymaq laz谋md谋r.
>> Bel蓹 ki, haradasa yadda艧.
Bir, iki, 眉莽, d枚rd.
Biz bir s谋ra d枚rd integers var d枚rd integers bu serial谋n 眉莽眉n.
Bel蓹 ki, haz谋rda n蓹 bu qutular谋 bir 枚l莽眉s眉?
B蓹li.
Bu d枚rd bytes var.
Bu 32 bit var.
Bel蓹 ki, indi bu f蓹rqli array ki, biz
simvol 蓹vv蓹ll蓹r array g枚rd眉m.
Simli h蓹r qutusu yaln谋z bir byte idi Bir xarakter yaln谋z bir byte, 莽眉nki.
Amma integers bir s谋ra il蓹, h蓹r box 眉莽眉n d枚rd bytes olmal谋d谋r
b眉t眉n tam uy臒un.
Bel蓹 ki, bu n蓹 bir s谋ra D枚rd ints kimi g枚r眉n眉r.
>> V蓹 sonra geri kodu.
陌ndi biz, h蓹qiq蓹t蓹n, ma臒aza ist蓹yir蓹m ki array daxil integers.
Bel蓹 ki, indi bu, 莽ox, 莽ox, 莽ox deyil bir n枚qt蓹d蓹 olacaq 眉mumi model
蓹z蓹l蓹 yadda艧 olur.
Bel蓹 ki, i 0 b蓹rab蓹rdir int.
i n azd谋r.
i plus plus.
Age bracket i GetInt b蓹rab蓹rdir.
>> Bel蓹 ki, bu loop 眉莽眉n, bu format, 莽ox istifad蓹 almaq laz谋md谋r.
Bel蓹 ki, bu, 眉mumiyy蓹tl蓹 nec蓹 alaca臒谋q dem蓹k olar ki, h蓹r hans谋 bir s谋ra 眉z蓹rind蓹 t蓹krarlamaq.
陌ndi bu c眉r qeyd 蓹vv蓹ld蓹n niy蓹 izah
biz loops int 眉莽眉n ged蓹n 眉莽眉n yox idi i i az v蓹 ya 10 b蓹rab蓹r, 1 b蓹rab蓹rdir.
ba艧layaraq ki, olan s蓹b蓹b s谋f谋r seriallar谋n il蓹 bu i艧 edir.
Bel蓹 ki, seriallarda dizine s谋f谋r var.
Bu array uzunlu臒u 4 varsa, g枚st蓹ricil蓹ri 3 vasit蓹sil蓹 0 var.
>> Ilk vasit蓹sil蓹 So loop 眉莽眉n bu iteration
biz ya艧 q蓹bulu olacaq GetInt z蓹ng b蓹rab蓹r bracket 0.
Bel蓹 ki, ba艧 n蓹 klaviatura daxil.
Ikinci pass, biz ist蓹yirik GetInt 眉莽眉n age1 b蓹rab蓹r q蓹bulu.
脺莽眉nc眉 pass, age2.
Final pass age3.
Loop ilk pass 蓹g蓹r Bel蓹 ki, M蓹n klaviatura say谋 4 daxil edin
sonra biz burada bir 4 daxil olacaq.
M蓹n daxil ikinci pass 茝g蓹r 50, biz burada bir 50 qoymaq laz谋md谋r.
脺莽眉nc眉 pass M蓹n bil蓹r daxil 1 M蓹nfi 1 m蓹nfi,
v蓹 sonra n蓹hay蓹t m蓹n 0- daxil edin v蓹 陌ndi bu g枚st蓹rici 眉莽 idi ki, xat谋rlay谋ram.
>> Biz loop geri sonra, i var ged蓹n 4 art谋r谋laca臒谋n谋 眉莽眉n.
i art谋q 4 n, azd谋r.
V蓹 biz loop 莽谋xmaq.
Bel蓹 ki, bu il蓹 yanl谋艧 n蓹 olard谋?
[I艧itilemez]?
Auditoriya: [i艧itilemez]
>> B蓹li.
Bel蓹 ki array yaln谋z d枚rd yerl蓹ri var, olan 3 vasit蓹sil蓹 indeksl蓹ri 0 kimi dem蓹kdir.
Bu halda olsayd谋, m蓹n bel蓹 bir anda d蓹y蓹ri 4 g枚t眉rm蓹k.
ya艧 bracket 4 m眉蓹yy蓹n olunacaq n蓹 burada olmaq olur
M蓹n dem蓹k n蓹 眉莽眉n, 6 daxil edin.
6 bu q蓹bulu olacaq.
>> Amma biz burada n蓹 bilmir蓹m.
Bu yadda艧 deyil ki, biz giri艧 idi.
Bel蓹 ki, xat谋rlay谋ram 蓹g蓹r 蓹vv蓹lki m眉hazir蓹,
O ZAMYLA d蓹y蓹rl蓹r 莽ap olunub v蓹 bir n枚qt蓹d蓹 o, bu seqmentasiya edib
g眉nah. Bel蓹 ki, siz y蓹qin ki, g枚r蓹n olunacaq Siz kimi bir 莽ox seqmentasiya 莽at谋艧mazl谋qlar
problem d蓹stl蓹ri b蓹zi h蓹yata ke莽irir.
Amma bu yollar谋ndan biridir olan Bir seqmentasiya qar艧谋la艧a bil蓹r
Siz daxil ba艧lamaq zaman, g眉nah Siz olmamal谋d谋r yollarla yadda艧.
Bel蓹likl蓹, biz 莽谋x谋艧谋 yox idi Bu yer, bu bir s蓹hv deyil.
>> Bel蓹 ki, bu yax艧谋d谋r.
陌ndi h蓹l蓹 ki莽ik var bu M蓹c蓹ll蓹 il蓹 m蓹s蓹l蓹.
V蓹 biz ist蓹yirik ki, 蓹sas蓹n h蓹l蓹 d枚rd 艧agird vurulmu艧.
陌ndi OK, s蓹kkiz t蓹l蓹b蓹 istifad蓹 etm蓹k ist蓹yirsinizs蓹.
Bu b枚y眉k bir 艧ey deyil.
M蓹n d蓹yi艧dirm蓹k getm蓹k olar 艧蓹rh v蓹 n d蓹yi艧ir.
陌ndi bu s蓹kkiz t蓹l蓹b蓹l蓹ri il蓹 i艧l蓹y蓹c蓹k.
M蓹n bu t蓹rtib v蓹 run 蓹g蓹r bu, me-- g枚st蓹r蓹c蓹k
Bu s蓹kkiz 眉莽眉n integers t蓹l蓹b ed蓹c蓹k t蓹l蓹b蓹l蓹r v蓹 yaln谋z i艧l蓹y蓹c蓹k.
Amma bu laz谋md谋r ideal az deyil proqram h蓹r zaman compile
M蓹n t蓹l蓹b蓹l蓹rin say谋 d蓹yi艧dirm蓹k ist蓹yir蓹m M蓹n ya艧 girm蓹k ist蓹yir蓹m.
>> Bel蓹 ki, final t蓹kmill蓹艧dirilm蓹si haqq谋nda biz burada g枚r蓹c蓹ksiniz kimi bu, biz ist蓹yirik
insanlar谋n say谋 t蓹l蓹b etm蓹k niyy蓹tind蓹dir.
Burada biz bir s谋ra var oda insanlar谋n
v蓹 ya oda insanlar谋n h蓹r hans谋 bir ya艧.
Amma biz say谋 t蓹l蓹b olacaq istifad蓹莽i oda insanlar谋n.
Bel蓹 ki, bu eyni do-is蓹 biz 蓹vv蓹l g枚rd眉m loop.
Bu d蓹qiq eyni do-is蓹 loop ki,
problem set h蓹yata ke莽iril蓹 bil蓹r.
Bel蓹 ki, kimi uzun onlar etdiyiniz kimi 1-d蓹n n az gir蓹n,
bel蓹 var var ota臒谋nda 蓹n az谋 bir 艧蓹xs.
Kimi uzun onlar kimi 1-d蓹n n az gir蓹n,
sonra biz yenid蓹n xahi艧 saxlamaq olacaq.
N枚mr蓹si daxil edin oda insanlar谋n.
陌ndi, bir d蓹f蓹 biz s谋ra var otaqda adam
m蓹n orada daxil ola bil蓹r bu otaqda 200 n蓹f蓹r var.
Sonra burada biz g蓹lib olacaq v蓹 枚l莽眉s眉 200 bir s谋ra b蓹yan.
Biz array elan edirik b枚y眉k kifay蓹t q蓹d蓹r 200 ya艧 ke莽iril蓹c蓹k.
Enir, bu loop 眉莽眉n var 莽ox istifad蓹 almaq olacaq.
Bel蓹 ki, bu serial谋n 眉z蓹rind蓹 iterating, h蓹r yeri t蓹yin
ki array bir tam v蓹 sonra n蓹tic蓹d蓹 burada biz ist蓹yirik
yaln谋z iterating n眉mun蓹 蓹ld蓹 ki array 眉z蓹rind蓹, d蓹y蓹rl蓹r t蓹yin etm蓹k deyil,
lakin d蓹y蓹rl蓹r daxil olmaq 眉莽眉n.
>> Burada Bel蓹likl蓹, biz g枚r眉r眉k ki, biz 陌ndi bir il, s枚yl蓹y蓹r蓹k,
艧蓹xs% i, i ya艧% olacaq ilk% i i plus 1 oldu臒u.
Bel蓹 ki, i bu g枚st蓹rici d蓹yi艧ir.
V蓹 ikinci% i olacaq ya艧 s谋ra plus 1 saxlan谋l谋r d蓹y蓹ri.
Bel蓹 ki, bu plus 1, biz etdiyiniz yaln谋z, 莽眉nki bu plus 1 saying-- ya艧 i plus 1.
Bu plus 1, biz etdiyiniz yaln谋z, 莽眉nki 陌ndi 艧蓹xs bir il dey蓹r蓹k
Bu k枚hn蓹 olacaq.
>> Bel蓹 ki, niy蓹 bu i plus 1?
Niy蓹 biz bir plus 1 var?
B蓹li.
Bel蓹 ki, seriallarda s谋f谋r endekslenir xat谋rlay谋ram.
Biz bu 莽ap 蓹g蓹r Bel蓹 ki, Kims蓹 yaln谋z 莽谋x谋艧 oxumaq,
sonra y蓹qin ki, onlar bir 艧ey g枚rm蓹k ist蓹yir蓹m 艧蓹xs bir 艧蓹xs bir n枚mr蓹li kimi,
20 ya艧 olacaq.
艦蓹xs say谋 iki 15 ya艧谋nda olacaq.
Onlar daha 莽ox adam g枚rm蓹k ist蓹mirsinizs蓹 say谋 s谋f谋r 15 ya艧谋 var.
>> Bel蓹 ki, bu t蓹rtib v蓹 yaln谋z g枚r蓹n n蓹 b蓹zi kosmik yarad谋n like-- g枚r眉n眉r.
Ya艧 t蓹rtib olun.
Ya艧 Running.
Biz oda insanlar谋n say谋 g枚r眉r眉k.
Bel蓹likl蓹, m蓹n var dem蓹k laz谋md谋r otaqda 眉莽 n蓹f蓹r.
艦蓹xs bir n枚mr蓹li ya艧, 15, 20, 25 dey蓹k.
陌ndi bir il dem蓹k laz谋md谋r indi onlar 16, 21, 26 olacaq.
Bu il蓹 i艧l蓹yir ki, g枚r蓹k 3 b蓹rab蓹r bir n.
Bel蓹 ki, m蓹n insanlar谋n say谋 bir 5 dem蓹k iki, 眉莽, iki, bir, indi bir il
Onlar, iki, 眉莽 olacaq d枚rd, 眉莽, iki ya艧谋nda.
M蓹n yaln谋z kimi ola bil蓹r asanl谋qla n 10.000 olmaq var.
陌ndi M蓹n burada oturan olacaq Bir m眉dd蓹t ya艧 daxil, lakin bu i艧l蓹yir.
>> Bel蓹 ki, indi yadda艧 yerd蓹 biz , 枚l莽眉s眉 10.000 bir s谋ra var
bel蓹 n蓹tic蓹d蓹 40,000 bytes var, 莽眉nki
bu integers h蓹r biri 眉莽眉n d枚rd bytes.
Bel蓹 ki, bir s谋ra var 枚l莽眉s眉 10,000 harada biz
o 10.000 insanlar谋n ya艧 saxlamay谋n.
Oldu.
Bu h蓹r hans谋 bir haqq谋nda suallar?
B蓹li.
N蓹 m蓹nfi s谋ra verdi?
N蓹 g枚rm蓹k ed蓹k.
Bu case-- say谋 So otaq, m蓹nfi bir insan.
Bu r蓹dd, burada biz ba艧, 莽眉nki
n, 蓹g蓹r ki, idar蓹 etm蓹k 眉莽眉n az bir 莽ox biz daha xahi艧 olacaq.
Bir b蓹yan c蓹hd edin m蓹nfi 枚l莽眉s眉 array,
眉mumiyy蓹tl蓹 i艧l蓹mir.
>> Bel蓹 ki, c蓹hd ed蓹k.
Nin ignore ed蓹k n蓹 n d蓹y蓹r giri艧
v蓹 yaln谋z int ya艧 m蓹nfi bir deyirl蓹r.
H蓹tta t蓹rtib 蓹g蓹r in n蓹z蓹r salaq.
茝min deyil蓹m.
Yox.
Bel蓹 ki, ya艧 bir elan m蓹nfi 枚l莽眉s眉 array.
Bel蓹 ki, upfront bir s谋ra bilm蓹z tan谋y谋r m蓹nfi 枚l莽眉s眉 v蓹 onu r蓹dd edir.
陌ndi biz idar蓹 olmasayd谋 bu do-is蓹 loop do臒ru,
biz yoxlan谋lmas谋 deyil, 蓹g蓹r n az 1 var, 蓹g蓹r
biz yaln谋z dey蓹k b眉t眉n bu yox idi
蓹v蓹zin蓹 biz yaln谋z bir tam qamarlamaq.
Olursa olsun ki, tam n蓹 ki, 枚l莽眉s眉 bir s谋ra b蓹yan.
>> Bel蓹 ki, compiler bilm蓹z b蓹lk蓹 indi 艧ikay蓹t.
M蓹n 艧eyl蓹rdir t蓹rtib 蓹g蓹r bel蓹 ki, 艧ikay蓹t ed蓹 bilm蓹z,
m蓹n deyil蓹m bilirik ki, bilm蓹z, 莽眉nki m蓹nfi n枚mr蓹sini daxil etm蓹k niyy蓹tind蓹dir,
olan etibars谋z ola bil蓹r.
B眉t眉n m蓹n bilir, m眉sb蓹t n枚mr蓹sini daxil edin,
olan m眉k蓹mm蓹l etibarl谋d谋r.
I 1 m蓹nfi daxil 蓹g蓹r m蓹n t蓹s蓹vv眉r oda insanlar Seqmentasiya g眉nah.
>> Bel蓹 ki, OK.
Bel蓹 ki, bu yaln谋z geri 蓹lav蓹 imkan Bu ilk n蓹 saxlamaq.
Bel蓹 ki, ya艧 olun.
陌ndi m蓹n bir c蓹hd etm蓹k ist蓹yirsinizs蓹, m蓹nfi bel蓹 ed蓹k age--
otaqda n蓹f蓹r var deyirl蓹r.
艦蓹xs bir n枚mr蓹li ya艧 艧蓹xs 眉莽 m蓹nfi 4
s谋f谋r 艧蓹xs OK three-- edir.
Bel蓹 ki, burada bir il art谋q 艧蓹xs say谋 bir 3 ya艧l谋 m蓹nfi olacaq.
Bel蓹 ki, y蓹qin ki, m蓹nada etmir.
Amma ki, yaln谋z axtar谋r, 莽眉nki kodu b眉t眉n edirik
GetInt t蓹l蓹b olunur.
>> 陌ndi biz idi 蓹g蓹r GetPositiveInt funksiyas谋
v蓹 ya biz sad蓹c蓹 bu etmi艧di orada eyni is蓹 loop sort,
onda bu m眉k蓹mm蓹l g枚z蓹l i艧 olard谋.
Amma bu da halda, biz yaln谋z deyil
m蓹nfi d蓹y蓹rl蓹r user olmaq 眉莽眉n n蓹.
Diziler haqq谋nda h蓹r hans谋 dig蓹r suallar?
OLDU.
>> Bel蓹likl蓹, biz indi seriallarda g枚rd眉k.
V蓹 biz istifad蓹 etm蓹k laz谋m olacaq command-line arqumentl蓹r bu.
Bel蓹 ki, problem da iki m眉蓹yy蓹n M蓹n siz蓹 bir 莽ox bilirik
h蓹l蓹 problem set i艧 ola bil蓹r bir, lakin problem iki g蓹lir qurmaq.
Problem iki set, siz olacaq strings, seriallar谋n il蓹 m蓹艧臒ul olmaq 眉莽眉n laz谋md谋r,
v蓹 komanda-line d蓹lill蓹ri.
>> Command line d蓹lill蓹ri bel蓹 n蓹 var?
陌ndi, burada a艧a臒谋 ed蓹 bil蓹rsiniz d蓹qiq n蓹 眉莽眉n az teaser
ged蓹n ba艧 olunacaq.
Biz int 蓹sas, inc argc g枚rm蓹k string argv m枚t蓹riz蓹d蓹.
Bel蓹 ki, ilk nin 艧蓹rh ed蓹k n蓹 dem蓹k 莽al谋艧谋r谋q.
OK, indi.
>> Bel蓹 ki, command line siz olmal谋d谋r Bu 蓹mrl蓹ri b蓹zi al谋艧ma
陌ndi, v蓹 y蓹qin ki, etdik 蓹vv蓹l terminal cd.
Bel蓹likl蓹, biz cd pset1 des蓹k, ki, olmal谋d谋r bilirik ki,
pset1 dizine d蓹yi艧蓹n ola bil蓹r.
>> 陌ndi he莽 etdik ki, g枚r眉rs眉n眉z 蓹vv蓹l bu kimi bir proqram yaz谋l谋.
Siz yazd谋q H蓹r bir proqram, Siz, dem蓹k, namiz蓹d olaca臒谋n谋 Mario do臒ramaq n枚qt蓹,
dot g枚rm蓹mi艧 do臒ramaq v蓹 sonra giri艧 眉莽眉n siz蓹 t蓹klif ed蓹 bil蓹r.
陌ndi ki, n蓹 var d蓹yi艧iklik kataloq edir.
CD 莽al谋艧t谋rd谋臒谋n谋zda, sonra dem蓹k deyil CD olan qovlu臒u daxil ist蓹yirsiniz?
Bunun 蓹v蓹zin蓹, yaln谋z dem蓹k, cd pset1, v蓹 yaln谋z pset1 dizine gedir.
>> Bel蓹 ki, eyni biz dig蓹r n眉mun蓹l蓹r var.
salam olun.
Etm蓹k 莽al谋艧t谋rd谋臒谋n谋zda, sonra dem蓹k deyil olan proqram etm蓹k ist蓹rdiniz?
Siz yaln谋z at, dem蓹k command line salam olun.
>> Move bir n眉mun蓹sidir.
Ir蓹lil蓹yirik Bu bir kataloq up fayl mario.c.
Bel蓹 ki, indi biz bu misal il蓹 ba艧a Biz, h蓹qiq蓹t蓹n, iki d蓹lill蓹ri ke莽蓹n edirik.
Ilk arqument kimi mario.c var, v蓹 dot dot ikinci d蓹lildir.
V蓹 sonra, siz 莽al谋艧t谋rd谋臒谋n谋zda ki, h蓹qiq蓹t蓹n uzun komanda g枚rm蓹k x蓹tti
ki, h蓹qiq蓹t蓹n uzun command command line 莽ap.
Bel蓹 ki, uzun bu funksiyan谋 bu yaln谋z q谋sa bir hiss蓹sidir,
Amma indi biz 眉莽 command-line d蓹lill蓹ri.
Dot dash s谋f谋r, salam, v蓹 hello.c.
>> Bel蓹 ki, bu command-line var arqumentl蓹r, arqumentl蓹r
Siz ke莽蓹n edirik ki, command line ki
istenir yoxdur Siz proqram 莽al谋艧t谋rd谋臒谋n谋zda.
Bu sinir bozucu olard谋 zaman, 蓹g蓹r Siz cingilti qa莽d谋 ki, OK ", dedi
program-- hans谋 fayl t蓹rtib olunur?
Hello.c.
N蓹 bayraqlar谋 siz ki daxil etm蓹k ist蓹yirsiniz? dash o.
N蓹 ist蓹yir蓹m Fayl adland谋rmaq 眉莽眉n nec蓹?
Salam.
Xeyr, yaln谋z cingilti run o salam hello.c dash.
>> Bel蓹 ki, bu geri axtar谋r.
陌ndi argc argc d蓹lil sayar edir.
Bu komanda-line say谋 arqumentl蓹r command line girdi.
Yax艧谋, texniki argv-- v, vektor t蓹r蓹fdard谋r
olan 蓹sas蓹n array dem蓹kdir.
Amma siz ki, iqnor ed蓹 bil蓹r.
Argv-- biz string argv var Bel蓹 ki, simli argv m枚t蓹riz蓹d蓹.
Bel蓹 ki, bu ba艧qa bir formas谋d谋r Siz 蓹vv蓹l g枚rm蓹mi艧蓹m M枚t蓹riz蓹d蓹.
Bel蓹likl蓹, biz g枚rd眉k bracket Biz sonra notation,
kimi, simli s Zamyla b蓹rab蓹rdir.
s bracket 0 xarakter Z. 莽atmaz
>> Biz d蓹 M枚t蓹riz蓹d蓹 zaman g枚rd眉m biz int ya艧 5 bracket bildirib.
Ki, 枚l莽眉s眉 5 bir s谋ra elan etdi.
Bel蓹 ki, burada bir versiyas谋 M枚t蓹riz蓹d蓹 biz 蓹vv蓹l g枚rm蓹dim.
String argv Bel蓹 ki, bu c眉r ki, tamamil蓹 tan谋艧 olacaq
yaln谋z bir string olard谋.
陌ndi m枚t蓹riz蓹d蓹 g枚st蓹rir bu bir s谋ra edir.
Bel蓹 ki, simli argv m枚t蓹riz蓹d蓹 vasit蓹l蓹ri ki, argv strings bir s谋ra edir.
陌ndi texniki bir string simvol bir s谋ra edir.
Bel蓹 ki, bu, indi bir s谋ra edir simvol bir s谋ra.
Amma bu bar蓹d蓹 d眉艧眉nm蓹k 眉莽眉n 莽ox asand谋r strings bu kimi bir s谋ra.
>> Bel蓹 ki, niy蓹 m枚t蓹riz蓹d蓹 bo艧 ola bil蓹r?
Kimi, niy蓹 biz, dey蓹 bilm蓹r蓹m bracket 5, bracket n?
B蓹li.
Biz nec蓹 莽ox bilmir蓹m giri艧 orada olacaq.
Bel蓹likl蓹, biz cingilti M蓹s蓹l蓹n baxsaq, biz salam hello.c o dash cingilti dem蓹k.
Bu halda, orada ba艧 眉莽 command-line d蓹lill蓹ri olmal谋d谋r.
V蓹 bel蓹 brackets-- g枚r蓹c蓹yik ikinci bu 眉莽 olmaz.
Texniki d枚rd olard谋.
Amma m枚t蓹riz蓹d蓹, biz dem蓹k, 眉莽 var.
Amma indi biz h蓹r蓹k蓹t baxd谋 蓹g蓹r mario.c dot dot, m枚t蓹riz蓹d蓹
Biz onlara iki qoymaq ist蓹yir蓹m.
>> V蓹 蓹mrl蓹ri bir 莽ox var ki, command line d蓹yi艧蓹n s谋ra var
d蓹lill蓹ri.
Bel蓹 ki, n蓹 bu versiyas谋 bracket notation g枚st蓹rir
argv strings bir s谋ra edir.
Amma biz n蓹 q蓹d蓹r bilmir蓹m strings ki array var.
V蓹 nec蓹 sonra nec蓹 bilirik 莽ox strings s谋ra var?
Ki, b眉t眉n point argc var.
argc argv nec蓹 uzun biz蓹 deyir.
>> Bel蓹 ki, son 艧ey saxlamaq 眉莽眉n mind, ki, texniki
komanda 枚z眉 kimi sayar command-line d蓹lill蓹ri.
Cd pset1 Bel蓹 ki, iki vard谋r command-line d蓹lill蓹ri.
枚zl眉y眉nd蓹 proqram, cd, sonra bu faktiki d蓹lil hiss蓹si pset1.
Siz indiy蓹 q蓹d蓹r yazd谋q h蓹r hans谋 bir proqram bir command-line d蓹lil dot etdi
Mario do臒ramaq.
Yaln谋z command-line d蓹lildir.
>> Bel蓹 ki, indi cingilti baxaraq o salam hello.c dash.
Bel蓹 ki, argc n蓹dir?
4.
Bel蓹 ki, argc 4.
Cingilti, bel蓹 ki, argv bracket 0 cingilti var.
argv bracket 1 dash 0.
argv bracket 2 salam v蓹 argv bracket 3 hello.c edir.
OK, bel蓹 ki, bu suallar, sonra biz will bir proqram n眉mun蓹l蓹ri baxmaq.
>> OLDU.
Bel蓹likl蓹, biz hello3.c n蓹z蓹r laz谋md谋r.
Bel蓹 ki, bu tan谋艧 olmal谋d谋r ilk c n眉mun蓹l蓹rind蓹n biri
biz yaln谋z dem蓹k olard谋 biz salam var idi d眉nya, lakin indi bu daha 眉mumi edir.
Bel蓹 ki, burada biz salam s枚yl蓹y蓹r蓹k % s backslash n argv bracket 1.
Bu bax谋mdan q蓹d蓹r q蓹d蓹r bel蓹 x蓹b蓹rdarl谋q, bu n蓹 m蓹nim 艧ablon fayl kimi baxd谋 edib.
M蓹n int 蓹sas (void) idi, v蓹 sonra m蓹n 蓹sas funksiyas谋 bir 艧ey yoxdur.
陌ndi 蓹v蓹zin蓹, bir d蓹f蓹 biz m蓹艧臒ul ba艧lamaq command-line d蓹lill蓹ri il蓹,
bir d枚vl蓹t laz谋md谋r 茝sas m眉xt蓹lif formas谋.
>> Bel蓹 ki, hello3 baxaraq yen蓹 蓹sas gedir
int argc, indi iki d蓹lill蓹ri almaq 眉莽眉n, command-line d蓹lill蓹ri say谋
v蓹 simli m枚t蓹riz蓹d蓹 argv faktiki strings command line girdi.
Bel蓹likl蓹, m蓹n d蓹yi艧dirm蓹k 眉莽眉n gedir蓹m 艧ablon ki, 蓹ks etdirm蓹k 眉莽眉n.
陌ndi zaman yazmaq bir proqram, yoxsa
h蓹r hans谋 bir komanda-line laz谋md谋r d蓹lill蓹ri, sonra yaln谋z int 蓹sas (void) istifad蓹 edin.
Amma indi yaz谋l谋 etdiyiniz zaman command-line arqument proqramlar谋 olan
problem 眉莽眉n bunu etm蓹k olacaq bel蓹 ki, indi yay谋nl谋yorsan谋z ki two-- m眉蓹yy蓹n
laz谋md谋r proqramlar谋 command-line d蓹lill蓹ri,
Bu forma 蓹sas laz谋md谋r.
>> Bel蓹 ki, burada bu b枚y眉k istifad蓹 edir command-line d蓹lil.
Bel蓹 ki, argv 1 莽ap.
OK, bel蓹 ki, t蓹rtib ed蓹k v蓹 bu proqram run.
Hello3 olun.
T蓹rtib edir.
Dot hello3 do臒ramaq.
V蓹, dey蓹k "Rob".
Hello Rob.
M蓹n, "salam Maria," salam Maria dem蓹k olarsa.
Maria Hello.
Hannah h蓹l蓹 salam "deyir Maria, "M蓹n deyil蓹m, 莽眉nki
Bizim argv 2 il蓹 bir 艧ey edir.
Argv 2 indi "Hannah." Olacaq
Argc 3 olard谋.
M蓹n bunu 蓹g蓹r?
Bel蓹 ki, salam null.
>> O, q谋sa Faktla ba臒l谋 toxundu ki, texniki, GetString
null qay谋tmaq bil蓹r, lakin biz bir almaq laz谋md谋r daha n蓹 null daxil 莽ox 蓹slind蓹.
Amma bir m蓹s蓹l蓹 kimi onu 眉mumiyy蓹tl蓹 pis olmas谋.
Biz 蓹g蓹r s蓹hv bir 艧ey etdi Bu "salam null." 莽ap
V蓹 s蓹b蓹bi etdik is-- d蓹 yanl谋艧 bir 艧ey,
M蓹n dot 莽izgi hello3 qa莽d谋 zaman, argc 1 idi.
Bel蓹 ki, argv uzunlu臒u 1 dem蓹kdir.
Bir s谋ra uzunlu臒u 1 deyils蓹, yaln谋z etibarl谋 index s谋f谋r.
V蓹 bel蓹 ki, burada 1 xaricind蓹 argv bu serial谋n 眉莽眉nd眉r.
M蓹n c蓹hd zaman 蓹vv蓹l ox艧ar idi Serial谋n sonunda xaricind蓹 6 saxlamaq 眉莽眉n.
Bel蓹 ki, bir 艧ey daxil olmaq 眉莽眉n 莽al谋艧谋ram argv sayar k蓹narda,
v蓹 biz null 蓹ld蓹 edirik.
>> Bel蓹 ki, daha yax艧谋 version Bu, bir inki艧af,
a莽谋q argc yoxlan谋lmas谋 olunur.
Argc 2 b蓹rab蓹rdir 蓹g蓹r Bel蓹 ki, biz qa莽d谋 dem蓹kdir dot 莽izgi hello3 Rob kimi bir 艧ey.
V蓹 bu "salam Rob." 脟ap ed蓹c蓹k
Argc b蓹rab蓹r deyil, 蓹g蓹r 2, o, yaln谋z gedir
Siz qoymaq n蓹 ignore command-line arqument at
command-line d蓹lill蓹ri kimi.
茝g蓹r h蓹r hans谋 bir qoymad谋 v蓹 ya, bu ki, yaln谋z ignore v蓹 yaln谋z dem蓹k gedir,
"Siz salam".
>> Bel蓹 ki, bu t蓹rtib.
Hello4 olun.
V蓹 hello4 莽al谋艧谋r.
Bu yolu Running, n蓹 莽ap etm蓹k laz谋md谋r?
"Siz Hello".
Siz Hello.
N蓹 hello4 Rob haqq谋nda?
"Hello Rob".
V蓹 n蓹hay蓹t, salam Rob Maria , "salam Siz" yenid蓹n yaln谋z
Siz, h蓹qiq蓹t蓹n, daxil deyil, 莽眉nki G枚zl蓹nildiyi bir 艧ey.
Daha 莽ox adlar谋 daxil Bu idar蓹 ed蓹 bil蓹r daha,
bel蓹 ki, yaln谋z 枚nde臒er salam siz davran谋艧.
Bu suallar bel蓹?
V蓹 ya command-line d蓹lill蓹ri?
>> OK, bel蓹 ki, bir n蓹z蓹r alaraq istifad蓹 ne莽蓹 daha n眉mun蓹l蓹ri
command-line ilk arqumentl蓹r biz dash 1 dot c argv var.
Bel蓹 ki, 艧蓹rhl蓹r 眉z verm蓹k n蓹 Bu proqram bunu etm蓹k laz谋md谋r.
Lakin, loop 眉莽眉n bu, indi qeyd bu d蓹qiq model oyunlar谋
M蓹n 蓹vv蓹l deyirdi.
Biz yaln谋z olmaq 眉莽眉n n蓹 n 蓹v蓹zin蓹 argc istifad蓹 ed蓹r蓹k.
陌ndi argc h蓹qiq蓹t蓹n n edir.
Bu argv serial谋n uzunlu臒u var.
Bel蓹 ki, argv 眉z蓹rind蓹 iterating olunur array printf-Ing h蓹r argv d蓹y蓹r.
>> Bu etm蓹k 蓹g蓹r bel蓹.
Argv 1 olun.
Bu t蓹rtib edir.
Dot argv 1 do臒ramaq.
M蓹hz bu 莽al谋艧an, onu izl蓹ri 莽izgi argv 1 dot
yaln谋z command-line idi proqram ad谋 d蓹lil.
H蓹mi艧蓹 l眉臒蓹td蓹 d蓹 olacaq argc, bir az ola bilm蓹z
ci ild蓹n h蓹mi艧蓹 蓹n az谋 莽al谋艧t谋rmak 眉莽眉n proqram ad谋 ola bil蓹r.
Bel蓹 ki, 1 Rob 1 argv 莽ap ed蓹c蓹k argv v蓹 sonra yeni x蓹tti "Rob".
>> Ilk iteration So Bu loop, i 0.
Argv 0 proqram ad谋d谋r.
Dot argv 1 do臒ramaq.
V蓹 sonra 1, m蓹nim ilk argv Rob command-line arqument.
Bu n枚qt蓹d蓹, biz argc b蓹rab蓹rdir.
Biz loop 莽谋xmaq v蓹 biz tamamlay谋n.
Bel蓹 ki, bu bir ixtiyari 眉莽眉n i艧l蓹y蓹c蓹k command-line d蓹lill蓹ri say谋.
Qeyd ed蓹k ki, argv 0, argv yazd谋ran 1, argv 2, argv 3, argv 4.
V蓹 he莽 bir argv 5 var.
argc 5 b蓹rab蓹rdir.
Bel蓹 ki, i 5 b蓹rab蓹rdir at argc da, biz loop 莽谋xmaq.
OLDU.
Biz 蓹vv蓹l suallar So daha m眉r蓹kk蓹b n眉mun蓹 baxmaq?
>> Bel蓹 ki, 2 argv.
Oldu.
Bel蓹 ki, biz h蓹l蓹 d蓹 莽ap edirik command-line d蓹lill蓹ri.
Amma indi biz qeyd bir loop 眉莽眉n i莽 i莽蓹.
Bel蓹 ki, n蓹 bu edir?
Bel蓹 ki, ilk loop edir d蓹qiq n蓹 蓹vv蓹l idi.
Biz h蓹l蓹 眉z蓹rind蓹 loop edirik H蓹r komanda-line d蓹lil,
lakin indi bu ikinci loop biz d蓹 蓹vv蓹l bu kimi bir 艧ey g枚r眉nd眉y眉.
O 眉z蓹rind蓹 iterating zaman Zamyla Z-A-M-Y-L-A 莽ap.
Bel蓹 ki, int j bu ikinci loop b蓹rab蓹rdir 0, n argv bracket i strlen b蓹rab蓹rdir.
>> Bel蓹 ki, ilk d眉艧眉n蓹k the-- vasit蓹sil蓹 g蓹zm蓹k ed蓹k.
Nin n蓹 komp眉ter olard谋 d眉艧眉nm蓹k ed蓹k yaln谋z dot kimi m蓹n bu proqram qa莽d谋 蓹g蓹r n蓹
argv Dash 2 do臒ramaq.
Bel蓹 ki, 蓹g蓹r M蓹n bu kodu qa莽d谋 argc 1 b蓹rab蓹r olacaq.
V蓹 simli yaln谋z var argv-- argv bir index olacaq,
ki, dot b蓹rab蓹r olacaq argv do臒ramaq 2-- proqram ad谋.
>> OK, bel蓹 ki, indi i daha i az, 0 b蓹rab蓹rdir 1, i plus plus int j 0 b蓹rab蓹rdir 眉莽眉n,
n, bel蓹 ki, argv bracket 0 strlen b蓹rab蓹rdir bu loop ilk iteration. argv
bracket 0 dot 莽izgi argv 2.
Bel蓹 ki, simli uzunlu臒u n蓹dir?
B蓹li, A-R-G-V tire 2 do臒ramaq n枚qt蓹.
Ki, strlen Bel蓹 8 olacaq.
Bel蓹 ki, j 0 b蓹rab蓹rdir, n 8 b蓹rab蓹rdir.
Kimi uzun j 8 j ++ az deyil.
V蓹 biz olacaq bir xarakter 莽ap olan
i j bracket argv bracket edir.
>> Bel蓹 ki, yaln谋z i s谋f谋r.
Biz h蓹l蓹 yaln谋z bir var command-line arqument.
Ki, ilk iteration loop 眉莽眉n, biz ist蓹yirik
莽ap olacaq argv bracket 0 bracket 0.
V蓹 sonra j artt谋rmay谋 gedir.
V蓹 biz 莽ap olacaq argv bracket 0 bracket 1.
V蓹 sonra bracket 0 bracket 2 argv.
>> Bel蓹 ki, bu bizim ilk qar艧谋la艧ma edir 莽ox 枚l莽眉l眉 Diziler.
M蓹n dedim ki, 蓹vv蓹ll蓹r saxla ki, argv texniki
simvol Diziler bir s谋ra.
Bel蓹 ki, burada bir 艧ey kimi dan谋艧d谋 string s, argv bracket i b蓹rab蓹rdir
v蓹 sonra m蓹n s, dedi bracket j, bu Eyni 艧ey h蓹yata olard谋.
陌ndi, siz 蓹vv蓹l s bracket j g枚rd眉m.
Bu yaln谋z j-ci daxil oldu Bu simli xarakterli.
Bu Bel蓹 ki, biz 蓹ld蓹 i-ci argv j-ci character.
>> Bel蓹 ki, n蓹 bu, son n蓹tic蓹d蓹 莽谋x谋艧 laz谋md谋r?
Argv 2 olun.
Bu t蓹rtib edir.
Dot argv 2 do臒ramaq.
"Rob Maria Hannah" v蓹 biz蓹 bir otaq verir.
Bel蓹likl蓹, biz bu tipi oldu臒unu g枚r眉r眉k 枚z x蓹tti v蓹 莽izgi dot
枚z x蓹tti il蓹 枚z x蓹tti v蓹 haqq谋nda.
Bu, h蓹r bir 莽ap f蓹rdi xarakter
H蓹r komanda-line d蓹lil.
V蓹 sonra onlar谋n aras谋nda, 脟眉nki bu yeni x蓹tt
biz, burada 莽ap edirik Onlar谋n aras谋nda yeni bir x蓹tt 莽ap ed蓹c蓹yik.
>> Bel蓹 ki, bu ox艧ar 茝vv蓹l argv dash 1,
H蓹r 莽ap hans谋 command-line d蓹lil,
Amma indi biz 莽ap edirik command-line d蓹lill蓹ri
v蓹 sonra h蓹r vasit蓹sil蓹 iterating H蓹r komanda-line arqument xarakteri
Bu 莽谋x谋艧 almaq 眉莽眉n.
OLDU?
Bu suallar bel蓹?
>> Qeyd bir 艧ey ki, command-line d蓹lill蓹ri
bel蓹 ki, onlar kimi bo艧luq ayr谋l谋r t蓹bii olmalar谋n谋 g枚zl蓹m蓹k olard谋.
Bel蓹 ki, bir string bu bo艧luq ola bil蓹r.
Bu super vacib deyil, amma 蓹g蓹r 眉莽眉nc眉 command-line d蓹lil ist蓹di
M蓹n sonra, bu bir yer var bu kimi bir 艧ey dey蓹 bil蓹r.
OLDU?
Bel蓹 ki, bu, indi h蓹l蓹 yaln谋z 眉莽 var command-line d蓹lill蓹ri d蓹 4.
Dot argv dash 2 do臒ramaq, Rob, Maria, v蓹 Hannah Bloomberg.
OLDU.
Bu suallar?
>> X眉susi bir 艧ey yoxdur kosmik xarakteri haqq谋nda.
Bu yaln谋z olmaq olur command-line space xarakter al谋r
nec蓹 h蓹r bir d蓹lil ayr谋.
Oldu.
Bel蓹likl蓹 Problem set Siz olacaq two--
gizli-key kriptoqrafiya baxaraq.
Ki, m蓹s蓹l蓹n Bel蓹 ki, ox艧ar biz A Christmas Story g枚rd眉m
B蓹zi h蓹yata olacaq bir mesaj verilmi艧 alqoritml蓹r,
ed蓹 olacaq ki, mesaj 艧ifrelemek 眉莽眉n
ki, gizli ki, yaln谋z kims蓹 蓹sas ki, decoder ring il蓹,
decrypt laz谋md谋r.
>> Bel蓹 ki, standart n蓹艧r olunur.
Siz h蓹yata olacaq iki m眉xt蓹lif versiyas谋n谋.
Bir n蓹z蓹r n蓹 varsa hacker indi edition-- da,
biz verm蓹k olacaq bu kimi bir string,
olan 艧ifreli parol t蓹msil edir.
Bel蓹 ki, sizin m蓹qs蓹di anlamaq 眉莽眉n de艧ifr parol n蓹.
陌ndi bu h蓹qiq蓹t蓹n nec蓹 parol komp眉ter bir 莽ox saxlan谋l谋r,
v蓹 yaln谋z bu saklar simvol t蓹sad眉fi string.
Siz almaq 眉莽眉n nec蓹 anlamaq 眉莽眉n var simvol bu t蓹sad眉fi simli
orijinal parol n蓹 眉莽眉n.
>> V蓹 n蓹hay蓹t, sonra bu problem set, siz olmal谋d谋r
Bu n蓹 dem蓹kdir ba艧a d眉艧m蓹k m眉mk眉n.
Bel蓹 ki, decrypt nec蓹 olacaq t蓹sad眉fi string bu c眉r.
Eynil蓹, siz h蓹ft蓹 xat谋rlay谋ram 0, bu URL g枚rm眉艧蓹m bil蓹r.
V蓹 laz谋md谋r n蓹tic蓹d蓹 bu decrypt.
Siz xo艧b蓹xt ola bil蓹r zaman decrypt v蓹 linki vurun.
Oldu.
Bu g眉n 眉莽眉n var.
Bel蓹 ki, n枚vb蓹ti h蓹ft蓹 siz bax谋n!
>> [ELECTRONIC MUSIC PLAYING]