>> JASON Hirschhorn: Xo艧 g蓹lmisiniz, H蓹ft蓹nin 6 h蓹r k蓹s.
M蓹n d蓹 diri b眉t眉n g枚rm蓹k 眉莽眉n xo艧b蓹xt蓹m v蓹 Quiz 0 sonra, 莽眉nki bilirik ki,
bir az kobud idi.
Amma 艧眉k眉rl蓹r olsun ki, b眉t眉n olduqca yax艧谋 idi.
V蓹 bel蓹 ki, g枚z蓹ldir.
Siz m蓹nim b枚lm蓹sind蓹 edirsinizs蓹, m蓹n 蓹n t蓹qdim etdik Siz art谋q s谋navlar geri.
>> Siz bir ne莽蓹, M蓹n cavab al谋ram sinif sonra.
V蓹 uzad谋lmas谋 t蓹l蓹b蓹 v蓹 蓹g蓹r geri viktorina almad谋n谋zsa
h蓹l蓹, sizin TF y蓹qin ki, onun 眉z蓹rind蓹 i艧l蓹yir v蓹 grading v蓹 onu geri almaq olacaq
siz蓹 q谋sa.
Olan Bel蓹 ki, m蓹nim m蓹sl蓹h蓹t t蓹l蓹b蓹l蓹r indi seyr - 眉mid ya艧ay谋r -
M蓹n sizin viktorina olacaq q谋sa h蓹m莽inin.
>> A艧a臒谋dak谋 kimi bizim bu g眉n 眉莽眉n g眉nd蓹md蓹.
Birincisi, biz bir art谋q getm蓹k olacaq CS50 siz蓹 verir ki, resurslar谋.
Biz n枚vb蓹ti Quiz 0 art谋q getm蓹k, v蓹 edirik M蓹n h蓹r hans谋 bir sual he莽 cavab olacaq
x眉susi probleml蓹ri haqq谋nda var.
V蓹 sonra, biz art谋q davam ed蓹c蓹k fayl I / O v蓹 problem 5 se莽in.
Bu son iki m枚vzu olacaq hiss蓹sinin toplu bu g眉n.
>> M蓹n kimi h蓹r h蓹ft蓹 bu siyah谋s谋n谋 qoymaq b眉t眉n, lakin 蓹sas xat谋rlatma
b枚l眉m眉nde, biz yaln谋z 90 d蓹qiq蓹 var - biz h蓹r 艧eyi 蓹hat蓹 etm蓹k m眉mk眉n deyil ki, m蓹n
Siz u艧aqlar 眉莽眉n 蓹hat蓹 眉莽眉n sevgi olard谋.
Amma biz 眉莽眉n ehtiyatlar谋n bir ton var Bildiyiniz almaq kimi siz蓹 c蓹lb etm蓹k
vasit蓹sil蓹 material v蓹 i艧 Sizin problem edir.
>> M蓹n online bir m蓹tn var ki, 枚y眉d-n蓹sih蓹t 茝g蓹r doldurmaq 眉莽眉n sizin 眉莽眉n qurmaq qutusu,
M蓹nim 眉莽眉n h蓹r hans谋 bir 茝laq蓹 var, m眉sb蓹t v蓹 h蓹m d蓹
b枚lm蓹 haqq谋nda, konstruktiv.
Bu URL sa臒 a艧a臒谋 burada yerl蓹艧ir.
茝g蓹r h蓹r hans谋 bir varsa, bir an edin 茝laq蓹, olub b枚lm蓹 zaman谋,
v蓹 ya sonra, v蓹 ya sonra video izl蓹m蓹k online, m蓹n蓹 geribildirim.
M蓹n, h蓹qiq蓹t蓹n, h蓹r hans谋 bir v蓹 b眉t眉n 眉莽眉n t蓹艧蓹kk眉r edirik.
>> M蓹n ki莽ik s枚hb蓹t malik oldu臒unuz m蓹nim bir 莽ox
h蓹ft蓹 蓹rzind蓹 t蓹l蓹b蓹l蓹ri - I 蓹l kimi geri s谋navlar, haqq谋nda s枚hb蓹t
茝lb蓹tt蓹 ki, siz yap媒yorsun nec蓹 g枚r眉b.
V蓹 bir m枚vzu 眉z蓹rind蓹 g蓹lm蓹k v蓹 眉z蓹rind蓹 s枚hb蓹t in -
x眉susi -
problem edir.
M蓹n ki, m枚vzu 艧蓹kilind蓹 var indi board.
>> 茝sas蓹n, bir f蓹rq var ki, bir 艧ey d枚n眉艧 aras谋nda
d眉zg眉n v蓹 bir 艧ey ki, yax艧谋 edilir.
脟oxu fantastik bunu edilmi艧dir d眉zg眉nl眉y眉n蓹 bax谋m谋ndan -
B眉t眉n psets 5 v蓹 ya 4-.
脟oxu al谋r o zaman b眉t眉n.
>> Lakin, yaln谋z, 莽眉nki siz etdiyiniz bir 艧ey do臒ru var dem蓹k deyil
kimi z蓹rif bir 艧ey, v蓹 ya s蓹m蓹r蓹li, v蓹 ya cleanly sizin kimi
onu ed蓹 bil蓹rdi.
V蓹 n蓹 dizayn -
v蓹 bir az d蓹r蓹c蓹si, stil -
baltalar 眉莽眉n.
M蓹n siz蓹 b眉t眉n basmaqla, v蓹 dig蓹r TFS edir蓹m yaln谋z n枚vb蓹sind蓹, siz u艧aqlar basmaqla olunur
do臒ru, lakin 莽evirm蓹k ki, h蓹r 艧eyi yax艧谋 kodlu olan 艧eyl蓹r.
>> Loops 脺脟脺N laz谋ms谋z edir, d蓹yi艧蓹nl蓹rin 蓹g蓹r recalculating deyil
Siz yoxdur.
M蓹s蓹l蓹n, m眉蓹yy蓹n geri problem axtar谋r 4, haqq谋nda k蓹rpic yerl蓹艧dirilm蓹si
ekran, h蓹r sat谋r - bir h蓹r k蓹rpic verilmi艧 s谋ra eyni y-koordinat var -
Eyni h眉nd眉rl眉y眉 蓹laq蓹l蓹ndirm蓹k.
>> Y-koordinasiya etm蓹k laz谋m deyil ki, bel蓹 Daxili daxili hesablan谋r
莽ox g眉man ki, istifad蓹 ki, loop 脺脟脺N i莽 i莽蓹 ekranda h蓹min k蓹rpic qoymaq.
Bu, yaln谋z h蓹r hesablan谋r laz谋md谋r zaman bir s谋ra i艧蓹, v蓹 ya
bir s谋ra a艧a臒谋 k枚莽眉r眉l眉b.
10 k蓹rpic bir var 蓹g蓹r bel蓹 dem蓹k sat谋r, h蓹r bir k蓹rpic eyni ola bil蓹r
y-koordinat谋n谋 v蓹 y-蓹laq蓹l蓹ndirm蓹k yaln谋z hesablan谋r bil蓹r
o b眉t眉n bir d蓹f蓹.
>> Bu 10 hesablan谋r laz谋m deyil d蓹f蓹, n蓹 d蓹 ki, hesablama ehtiyac
faktiki ba艧 funksiyas谋 z蓹ng -
yeni gracked funksiyas谋 z蓹ng.
Bel蓹 ki, bir az 莽a艧d谋r谋c谋 idi 蓹g蓹r Daha 莽ox 眉mumi, h蓹r 艧eyi ki,
h蓹r bir zaman ba艧 ehtiyac yoxdur siz olmamal谋d谋r bir 脺ZR茝 loop ke莽m蓹k
Bu 脺脟脺N loop daxilind蓹 qoymaq v蓹 olmamal谋 Siz getm蓹k h蓹r zaman ba艧
Bu 脺脟脺N loop vasit蓹sil蓹.
>> G枚rd眉k yax艧谋 bir dizayn n眉mun蓹sidir 15 h蓹ft蓹 3, siz saxlamaq bil蓹r
s谋f谋r track.
Bel蓹 ki, siz board ba艧lamaq zaman saxlamaq - qlobal d蓹yi艧蓹n, b蓹lk蓹 -
x v蓹 s谋f谋r y-蓹laq蓹l蓹ndirm蓹k.
V蓹 sonra zaman -
Sizin h蓹r蓹k蓹t funksiyas谋, zaman etm蓹k u臒urlu bir add谋m, siz yenil蓹m蓹
s谋f谋r yeri.
>> Ki, n蓹 malik sizi xilas ed蓹c蓹k vasit蓹sil蓹 baxmaq 眉莽眉n loops 眉莽眉n i莽 i莽蓹
Sizin h蓹r蓹k蓹t funksiyas谋 h蓹r zaman board v蓹 s谋f谋r tapmaq, v蓹 ya kafel tapmaq
v蓹 sonra onun yan谋nda n蓹 yoxlamaq.
Bunun yerine, yeri var s谋f谋r, yaln谋z a艧a臒谋da, yuxar谋da baxmaq olar
v蓹 sol v蓹 sa臒 tapmaq 眉莽眉n arad谋臒谋n谋z kafel.
>> Bel蓹 ki, biz proqramlar谋 bax谋m谋ndan yaz谋, onlar kifay蓹t q蓹d蓹r b枚y眉k he莽 ist蓹yirik
ki, bu dizayn q蓹rarlar谋 b蓹zi h蓹qiq蓹t蓹n mane gedir sizin
proqram, v蓹 ya, daha yava艧 run etm蓹k v蓹 ya b蓹lk蓹 h蓹tta yadda艧 t枚k眉lm蓹k.
Amma biz h蓹l蓹 d蓹 u艧aqlar m蓹cbur edirik yazmaq kimi z蓹rif v蓹
m眉mk眉n q蓹d蓹r s蓹m蓹r蓹li kodu.
>> Bel蓹 ki, 蓹g蓹r 艧eyi yaz谋l谋 ba艧a 蓹h蓹miyy蓹tli d蓹r蓹c蓹d蓹 daha b枚y眉k var ki,
daxilind蓹, onlar yax艧谋 il蓹 yaz谋l谋 olacaq do臒ru olmaqla yana艧谋 dizayn.
Bel蓹likl蓹, siz bir s谋ra ki, 莽谋xard谋q.
Y蓹ni biz arad谋臒谋n谋z bir 艧ey var - biz davam edirik bir 艧ey
siz蓹 u艧aqlar bas谋n.
>> 茝g蓹r haqq谋nda h蓹r hans谋 bir sual谋n谋z varsa, Proqram dizayn, 莽ekinmeyin
m蓹n蓹 莽atmaq, m蓹n xo艧b蓹xt oldum sizin proqram vasit蓹sil蓹 g蓹zm蓹k,
v蓹 dizayn b蓹zi qeyd siz etdi v蓹 b蓹zi verm蓹k q蓹rarlar
etm蓹k 眉莽眉n nec蓹 t蓹klifl蓹r h蓹tta yax艧谋 dizayn q蓹rarlar谋.
>> Bel蓹 ki, biz h蓹r蓹k蓹t olacaq Quiz 0 s枚hb蓹t.
Biz bunu 蓹vv蓹l, he莽 yoxdur haqq谋nda h蓹r hans谋 bir sual谋n谋z n蓹
M蓹n bu g眉n蓹 q蓹d蓹r 蓹hat蓹 etdik?
>> [X谋艧谋lt谋 K脺Y]
>> JASON Hirschhorn: Seven seconds.
OK.
Bir az Quiz 0 dan谋艧aq.
Siz 蓹n Quiz 0 geri var.
Siz, in艧allah deyils蓹 Siz bir az xat谋rlay谋ram.
Amma sonra Quiz 0, siz q蓹bul etdiyiniz 蓹g蓹r da online PDF etm蓹k imkan谋 var
N眉mun蓹 h蓹ll蓹r.
>> He莽 蓹vv蓹l h蓹r hans谋 sual谋n谋z varm谋 biz h蓹ft蓹 material daxil jump
Quiz 0 x眉susi problem -
niy蓹 cavab n蓹 edir?
He莽 bir 艧ey haqq谋nda s蓹hv edir?
Sa臒 problem var, h蓹tta 蓹g蓹r yaln谋z m蓹n蓹 bir az izah etm蓹k ist蓹yir蓹m
daha, m蓹n indi bunu xo艧b蓹xt蓹m.
>> M蓹n siz蓹 u艧aqlar xahi艧 b蓹zi il蓹 haz谋rlanm谋艧 g蓹lir
Quiz 0 蓹laq蓹dar d眉艧眉nc蓹l蓹rini.
Bel蓹 ki, kim biz蓹 almaq ist蓹yir蓹m bir sual v蓹 ya ba艧lad谋
Quiz 0 haqq谋nda comment?
>> [Ka臒谋z x谋艧谋lt谋]
>> JASON Hirschhorn: Not ham谋 m眉k蓹mm蓹l idi.
M蓹n bilir蓹m [g眉l眉r]
b蓹zi suallar olmaq var Quiz 0 haqq谋nda.
OK.
B蓹li.
Ompica.
>> OMPICA: say谋 10.
>> JASON Hirschhorn: say谋 10.
Hans谋 say谋 10 oldu?
>> OMPICA: The -
>> JASON Hirschhorn: I haven't -
>> OMPICA: The daxildir -
>> JASON Hirschhorn: say谋 10 s蓹kkiz idi i - i s蓹kkiz yaz谋l谋?
>> OMPICA: B蓹li.
>> JASON Hirschhorn: OK.
Bel蓹 ki, ba艧qa bir sual siz ola bil蓹r M蓹n Uzaqg枚r蓹n edir蓹m idi ist蓹di?
Cavab yes deyil.
Viktorina 蓹vv蓹l b枚lm蓹sind蓹, m蓹n soru艧dum Sizl蓹rin Sterlinq h蓹m kod v蓹
s蓹kkiz i 眉莽眉n.
陌kisi d蓹 ba艧 viktorina g枚r眉n眉r.
Bel蓹 ki, 眉mid edir蓹m ki, siz 枚d蓹nilmi艧 ki, diqq蓹t.
>> Idi, onda siz olard谋 y蓹qin ki, o iki yax艧谋.
Amma s蓹kkiz i 眉莽眉n, biz h蓹qiq蓹t蓹n kodu Bu sinif, lakin bu, t蓹krar
viktorina ist蓹di.
Bel蓹 ki, almaq 艧eyi bir ne莽蓹 i s蓹kkiz kodla艧d谋rma zaman qeyd.
Ilk 艧ey, sual ba艧谋na idi yoxlamaq 眉莽眉n laz谋m ki, 蓹g蓹r string
null b蓹rab蓹r idi.
>> Bir ne莽蓹 adam sonra yoxlamaq 眉莽眉n 莽al谋艧d谋 Proqramda s 蓹g蓹r bracket i idi -
ki, bel蓹 bir x眉susi xarakter string - null b蓹rab蓹r olmu艧dur.
Amma null mahiyy蓹tc蓹, unutmay谋n - bu d眉艧眉nm蓹k yax艧谋
s谋f谋r g枚st蓹rici kimi null - s谋f谋r bir g枚st蓹rici -
yadda艧谋nda yerde yerl蓹艧ir daxil bilm蓹z.
>> Bel蓹 ki, 蓹g蓹r bir 艧ey, null b蓹rab蓹rdir bu ba艧lat谋lmad谋 deyil bilirik ki,
v蓹 ya orada he莽 bir 艧ey yoxdur.
Bel蓹 ki, s, bir char ulduz S bracket i char.
Bel蓹 ki, null s m眉qayis蓹 anlaml谋 lakin s bracket i null.
Amma yen蓹 - bel蓹 ki, ilk 艧ey idi Siz idi ki, -
蓹min olun siz h蓹qiq蓹t蓹n bir real simli var.
>> Next, siz vasit蓹sil蓹 getm蓹k ist蓹di simli h蓹r bir xarakter.
V蓹 bel蓹 ki, bir s bracket kimi olacaq i, misal 眉莽眉n, i sizin iterator edir.
V蓹 xarakter almaq, v蓹 onun faktiki d蓹y蓹r almaq.
Siz bir char kimi saxlan谋l谋r, lakin s谋f谋r 眉莽眉n ASCII d蓹y蓹ri -
bir xarakter kimi s谋f谋r -
蓹slind蓹 tam s谋f谋r deyil.
Bu siz ki, b蓹zi dig蓹r sayda var ASCII masa bakma.
>> Bel蓹 bir yolu d眉z蓹ltm蓹k 眉莽眉n - d眉z蓹ltm蓹k 眉莽眉n y蓹qin ki, 蓹n yax艧谋 yol
ki, - bu 莽谋xmaq edir karakter d蓹y蓹ri -
bir xarakter kimi s谋f谋r.
Bel蓹 ki, minus bir quote, s谋f谋r, ba艧qa bir quote.
Y蓹ni siz n蓹 n枚mr蓹si olacaq bir char kimi v蓹 b蓹rab蓹r almaq
faktiki tam kimi say谋.
>> V蓹 bu yana艧ma 莽ox ox艧ard谋r insanlar谋n bir 莽ox ald谋
problem Sezar il蓹, set 2 v蓹 Viginere -
o ciphers, zaman onlara f谋rlanan edilmi艧dir.
Siz bir s谋ra kimi bel蓹 sonra s谋f谋r doqquz, sonra - as谋l谋 olaraq
Bu son say谋nda gedir harada - Siz 莽oxaltmaq laz谋md谋r
10 bir g眉c t蓹r蓹find蓹n.
>> B蓹zi insanlar 眉莽眉n geri k枚莽眉r眉l眉b 枚n v蓹 f蓹rdi vurulur
10 bir g眉c t蓹r蓹find蓹n n枚mr蓹si.
B蓹zi insanlar k枚莽眉r眉l眉b geri 枚n -
v蓹 蓹n y眉ks蓹k ald谋 ilk n枚mr蓹l蓹ri sifari艧 -
v蓹 bu saxlamaq olard谋 qlobal counter d蓹yi艧蓹n.
V蓹 sonra vasit蓹sil蓹 h蓹r d蓹f蓹 loop, 莽oxaltmaq ki, d眉nya n蓹h蓹ngi
etm蓹k 眉莽眉n 10 d蓹yi艧蓹n counter n枚vb蓹ti char 眉莽眉n yer.
>> Bel蓹 ki, bir az 莽a艧d谋r谋c谋 idi M蓹n蓹 board onu yaz谋l谋.
Amma n眉mun蓹 h蓹ll sizin 眉莽眉n m枚vcuddur.
Lakin h蓹min b枚y眉k 艧eyl蓹r idi biz arad谋臒谋n谋z.
H蓹m莽inin 蓹min h蓹r etm蓹k 眉莽眉n bir 莽ek f蓹rdi xarakter h蓹qiq蓹t蓹n idi
s谋f谋r v蓹 doqquz, v蓹 aras谋nda xarakter A kimi b蓹zi dig蓹r xarakterli,
m蓹s蓹l蓹n.
>> O biz arad谋臒谋n谋z 艧eyl蓹r idi ki, s枚z m枚vzusu.
Ki, sual cavab verirmi?
>> OMPICA: B蓹li.
>> JASON Hirschhorn: OK.
H蓹r hans谋 dig蓹r suallar var Quiz 0 haqq谋nda?
N蓹 t蓹rtib haqq谋nda?
H蓹r k蓹s do臒ru t蓹rtib?
No
Bir var idi -
[G眉l眉r]
Haqq谋nda h蓹r hans谋 bir sual谋n谋z t蓹rtibi prosesi?
Wow.
>> [Ka臒谋z x谋艧谋lt谋]
>> JASON Hirschhorn: B蓹li.
Michael.
>> MICHAEL: - t蓹sad眉fi say谋 7 m谋?
>> JASON Hirschhorn: say谋 7.
Say谋 7 t蓹sad眉fi tam almaq idi.
茝la.
Bel蓹 ki, bir tam bir v蓹 edirik tam b, v蓹 bir t蓹sad眉fi ist蓹yir蓹m
a v蓹 b aras谋nda tam.
Biz, h蓹qiq蓹t蓹n, bu bar蓹d蓹 yaza bil蓹rsiniz board, 莽眉nki bu bir
kodu bir line idi -
bunu etm蓹k 眉莽眉n bir yol.
>> Bel蓹likl蓹, biz bir kimi drand sunulur funksiyas谋 istifad蓹 ed蓹 bil蓹r.
V蓹 n蓹 drand etmir -
Bu seeded edilmi艧dir f蓹rz -
n蓹 qay谋tmaq drand edir?
>> MICHAEL: 0.0 il蓹 1.0 aras谋ndak谋 A float.
>> JASON Hirschhorn: A n枚mr蓹si - B蓹li.
0 v蓹 1 aras谋nda bir s谋ra.
V蓹 bel蓹 ki, biz b v蓹 bir var.
V蓹 sonra biz t蓹sad眉fi s谋ra 0 v蓹 1 aras谋nda drand biz蓹 verdiyi.
B蓹zi insanlar b qoymaq 眉莽眉n c蓹hd, v蓹 ya b minus i莽蓹rid蓹 bir, v蓹 ya bir 艧ey
parantez.
Y蓹ni onlar o dem蓹kdir ki, Bu funksiya arqumentl蓹r.
>> drand hans谋 arqumentl蓹r etmir - getString n蓹 kimi
hans谋 arqumentl蓹r deyil.
Bel蓹 ki, yax谋n, yaln谋z a莽谋q paren var paren - v蓹 ki, 枚z眉 deyil,
funksiyas谋 z蓹ng.
V蓹 bir s谋ra verir 0 v蓹 1 aras谋nda.
茝lb蓹tt蓹 ki, biz bir s谋ra var 蓹d蓹d daxil ola bil蓹r ki,
>> B 10 v蓹 5 蓹g蓹r, biz, h蓹qiq蓹t蓹n, dem蓹k 5 bir s谋ra il蓹 bir s谋ra ist蓹yir蓹m.
Bel蓹likl蓹, biz n蓹 etm蓹k laz谋md谋r n枚vb蓹ti 艧ey s谋ra b minus a bu 莽oxaltmaq.
Bel蓹 ki vurulur var h蓹rfinin.
V蓹 biz蓹 bir s谋ra ver蓹c蓹yik bir s谋ra daxilind蓹.
V蓹 x眉susi s谋ra olan b minus a aras谋ndak谋 f蓹rq.
>> V蓹 n蓹hay蓹t, yaln谋z onu verm蓹k laz谋md谋r - b minus a aras谋nda 眉莽眉nd眉r dem蓹k
5, biz蓹 bir ver蓹c蓹yik olunur 0-dan 5 n枚mr蓹si.
Bir fakt 5 olsa, biz art谋rmaq laz谋md谋r bu oldu臒u 眉莽眉n bu s谋ra up
蓹slind蓹 bir 蓹lav蓹, ehtimal.
Bel蓹 ki, m蓹ntiq h眉ququ 蓹ld蓹 edir.
V蓹 sonra, siz var ki, ba艧qa bir sual?
>> MICHAEL: Xeyr
M蓹n yaln谋z indi h蓹qiq蓹t蓹n lal hiss.
[G眉l眉r]
>> JASON Hirschhorn: Xeyr
H蓹qiq蓹t蓹n lal hiss etm蓹yin.
Bir s谋ra insanlar m眉bariz蓹 Bu m蓹s蓹l蓹 il蓹.
V蓹 sonra, dig蓹r sual, drand, Siz dedi bir float verir -
bir float qaytar谋r.
Amma bu funksiyas谋 h蓹qiq蓹t蓹n ist蓹di bir tam geri etm蓹k 眉莽眉n.
>> Siz a莽谋q-a艧kar bu salmaq laz谋m deyil bir tam, bu, 莽眉nki
蓹m蓹liyyatlar谋 b眉t眉n a kimi m眉alic蓹 ed蓹c蓹k float - bir 眉z蓹n point say谋.
Bu irad蓹 kimi - h蓹tta bu halda bir tam, bu irad蓹
do臒ru vurulur.
B眉t眉n vurma i艧l蓹y蓹c蓹k.
Siz burada salmaq laz谋m deyil.
茝slind蓹, siz onu t枚km蓹 olmamal谋d谋r.
>> Y蓹ni ki -
Bir s谋ra t枚km蓹 蓹g蓹r ki, 0 v蓹 1 aras谋nda var -
bir t蓹sad眉fi say谋 bir 眉z蓹n point -
o zaman da bel蓹, yaln谋z 0 v蓹 ya 1 olacaq ki, d蓹qiq b眉t眉n itirm蓹k laz谋md谋r.
Amma sonunda, siz geri zaman, avtomatik olaraq al谋r
bir tam kimi geri g枚nd蓹rdi.
Bel蓹likl蓹, siz n蓹 etm蓹k laz谋m deyil ki, 枚z眉n眉z眉 t枚km蓹.
>> Bel蓹 ki, bu cavab idi ki, sual, say谋 7.
Quiz 0 h蓹r hans谋 dig蓹r suallar?
B蓹li, Annie.
>> ANNIE: biz recursive istifad蓹 edirsiniz -
zaman biz iterative loops istifad蓹 edirsiniz?
>> JASON Hirschhorn: zaman istifad蓹 edirsiniz recursive - daha 莽ox 眉mumiyy蓹tl蓹,
recursion qar艧谋 Pros v蓹 Eksiler tskrar yana艧ma.
He莽 bir pro v蓹 ya bir con t蓹klif ed蓹 bil蓹r?
Xahi艧 edirik?
He莽 bilm蓹z.
Kim bir pro v蓹 ya bir con t蓹klif ed蓹 bil蓹r?
>> [Ka臒谋z x谋艧谋lt谋]
>> T茝L茝B茝 1: Recursive az kodla艧d谋rma - az yazaraq?
>> JASON Hirschhorn: Bel蓹 ki, 眉mumiyy蓹tl蓹, recursion x眉susil蓹, bir funksiyas谋 -
v蓹 ya birl蓹艧m蓹 kimi alqoritm sort - hans谋 枚z眉 verir
bir recursive yana艧ma -
daha sad蓹 ola bil蓹r recursively kod.
V蓹 daha 莽ox m蓹nada recursively bunu.
Bel蓹 ki, recursion bir pro olacaq.
Dig蓹r?
B蓹li?
>> STUDENT 2: recursion Con -
Daha 莽ox yadda艧 istifad蓹 edir.
>> JASON Hirschhorn: Bel蓹 ki, m蓹hz sa臒.
A recursive funksiyas谋 蓹lav蓹 davam ed蓹c蓹k y谋臒谋n谋 y谋臒谋n谋 莽蓹r莽iv蓹sind蓹.
Siz bir 莽ox f蓹aliyy蓹t edirik ki, 蓹g蓹r n枚mr蓹l蓹ri, v蓹 bu z蓹ng etm蓹k
bir 莽ox f蓹aliyy蓹t, o zaman 蓹lb蓹tt蓹 olacaq is蓹, daha 莽ox yadda艧 tutur
tskrar yana艧ma yaln谋z bir qoyacaq , y谋臒谋n谋 莽蓹r莽iv蓹sind蓹 y谋臒谋n谋 莽眉nki
b眉t眉n bir funksiyas谋 莽蓹r莽iv蓹sind蓹 olur.
>> H蓹r hans谋 dig蓹r lehte ve eksiklikleri?
B蓹li.
>> STUDENT 3: recursion 眉莽眉n Pros.
Siz m眉蓹yy蓹n yoxdur inki艧af ne莽蓹 d蓹f蓹
kodu t蓹krar etm蓹k.
Siz m眉蓹yy蓹n bir s谋ra ola bil蓹r 茝g蓹r t蓹krarlamaq laz谋md谋r ki d蓹f蓹
recursion, daha yax艧谋d谋r, 莽眉nki ki, n蓹tic蓹 edir.
>> JASON Hirschhorn: M蓹n do臒ru oldu臒unu d眉艧眉n眉r蓹m.
Amma h蓹r iki halda hesab edir蓹m ki, Siz he莽 vaxt -
y蓹qin ki, b蓹zi almaq olard谋 istifad蓹莽i daxil.
V蓹 ya bu funksiya b蓹zi daxil olard谋 ki, m眉蓹yy蓹n nec蓹 bir 莽ox d蓹f蓹
run laz谋md谋r.
Bel蓹 ki, 眉mumiyy蓹tl蓹, siz a臒谋r kodu verm蓹y蓹c蓹kl蓹rini - h蓹tta bir yana艧ma iterativ - nec蓹
莽ox d蓹f蓹 loop run laz谋md谋r.
>> Siz idi dig蓹r var m谋 Annie, d眉艧眉n眉r?
OK.
Bel蓹 ki, o y蓹qin ki, iki -
蓹n b枚y眉k pro v蓹 蓹n b枚y眉k qar艧谋 bir recursive 眉莽眉n con
tskrar yana艧ma.
OK.
Quiz 0 ba艧qa bir 艧ey?
>> 脺zr蓹 h蓹r蓹k蓹t ed蓹k.
Fayl I / O. G枚z蓹l q谋sa var Bu h蓹ft蓹 fayl I / O 眉mid edir蓹m
Siz 莽ox seyr etdik d蓹f蓹, v蓹 heyran.
I艧 bir 莽ox ki, daxil getdi v蓹 m蓹n var Bu insanely faydal谋 e艧itdim.
M蓹n d蓹, bu slide linki daxil halda idi bir
bunu 10 d蓹f蓹 izl蓹m蓹k 艧ans谋.
>> Bel蓹 ki, biz q谋sa 眉z蓹rind蓹 getm蓹k 眉莽眉n gedir a莽谋lmas谋 v蓹 i艧 眉莽眉n b枚y眉k t蓹dbirl蓹r
fayllar谋, v蓹 sonra biz gedir 蓹vv蓹l bir kodla艧d谋rma problem dal谋艧
Bu problem set ara艧d谋raraq.
Bel蓹 ki, yen蓹, m蓹n bu q蓹d蓹r qoymaq gedir蓹m ekran, amma dan谋艧maq 眉莽眉n gedir蓹m
biz ist蓹yirik n蓹 haqq谋nda bir d蓹qiq蓹 fayl il蓹 burada edirik I/O--
ki, n蓹 dem蓹kdir?
>> Y蓹ni biz yarada dem蓹kdir bizim proqramlar谋, v蓹 sonra proqramlar谋 var
exit, v蓹 he莽 bir t蓹sir etdik Bizim proqram d眉nya xaricind蓹.
Amma biz fayllar谋 il蓹 i艧 ba艧lamaq zaman - h蓹m d蓹 onlar谋 oxu v蓹 yarad谋lmas谋
onlara - biz b蓹zi t蓹sir ed蓹 bil蓹r Bizim proqram xaricind蓹 d眉nya.
>> Just kimi Microsoft Word m眉mk眉n deyil, 蓹g蓹r sonra, h蓹r hans谋 bir Word s蓹n蓹dl蓹ri etm蓹k
Microsoft Word, sizin b眉t眉n 莽谋xmaq d蓹f蓹 i艧 getdi ki, v蓹 bu ki,
h蓹qiq蓹t蓹n faydas谋z ola bil蓹r.
Biz n蓹tic蓹d蓹 etm蓹k ist蓹yir蓹m t蓹sir g枚st蓹r蓹 bil蓹r ki, proqramlar谋 yazmaq
onlar谋n 蓹traf谋nda d眉nya, h蓹m d蓹 alaraq fayllar谋 bax谋m谋ndan v蓹 - kompleks giri艧
fayllar谋 vasit蓹sil蓹, h蓹m莽inin maraql谋 yarad谋lmas谋 v蓹 m蓹cburedici n蓹tic蓹l蓹ri -
fayllar谋 m眉xt蓹lif n枚v bax谋m谋ndan.
>> Biz ba艧lay谋r n蓹 q蓹d蓹r ki, fayllar谋 il蓹 i艧l蓹m蓹k 眉莽眉n nec蓹 枚yr蓹nm蓹k.
Daha konkret des蓹k, n蓹 biz a艧a臒谋dak谋 kimi edirik.
Bu, 莽ox sad蓹.
Orada add谋mlar yaln谋z bir ne莽蓹 v蓹 onlar bu kodu burada verilmi艧dir.
Bel蓹 ki, biz vasit蓹sil蓹 getm蓹k olacaq x蓹tti il蓹 bu kodu line.
>> Birincisi, qeyd bax -
bir fayl il蓹 i艧, etdiyiniz zaman as谋l谋 olmayaraq fayl n枚v眉 bu,
Siz onu a莽maq laz谋md谋r.
V蓹 fopen z蓹ng il蓹 -
burada.
Siz fayl ad谋 daxildir.
Fayl, sizin kataloq deyils蓹 v蓹 ya qovluq bu proqram
h蓹yat谋n谋, sonra da daxil etm蓹k laz谋md谋r ki, fayl oldu臒u 眉莽眉n bir yol.
>> Biz g眉man edirik ki, bu "text.txt" adl谋 fayl -
bir sad蓹 m蓹tn s蓹n蓹d - edir Bu proqram kimi eyni qovluq deyil.
Bel蓹 ki, saxlamaq ba艧qa bir 艧ey mind - siz fayl谋 a莽maq ist蓹yirsinizs蓹
ba艧qa bir yerd蓹, siz h蓹qiq蓹t蓹n ehtiyac onun yeri daxil.
>> 陌kincisi, siz bir d蓹lil ke莽蓹 bil蓹r fopen, v蓹 siz ist蓹diyiniz n蓹 var
fayl il蓹.
脺莽 蓹sas arqumentl蓹r var ki Siz fopen ke莽m蓹k olacaq.
Kim m蓹n蓹 o 眉莽 ver蓹 bil蓹r?
Kim m蓹n蓹 onlardan biri ver蓹 bil蓹r?
B蓹li.
>> T茝L茝B茝 4: Fayl ad谋?
>> JASON Hirschhorn: Sorry.
Ke莽蓹 bil蓹r 眉莽 蓹sas arqumentl蓹r 陌kinci arqument fopen kimi.
Hakl媒s媒n - fayl ad谋 ilk d蓹lildir.
Amma fopen ikinci d蓹lil var ad蓹t蓹n 眉莽 strings, v蓹 - b蓹li.
Aleja.
>> Aleja: a 蓹lav蓹 etm蓹k 眉莽眉n A.
>> JASON Hirschhorn: A, siz ist蓹yirsinizs蓹 art谋q m枚vcud olan bir fayl 蓹lav蓹.
>> T茝L茝B茝 5: oxumaq 眉莽眉n R.
>> JASON Hirschhorn: R, 蓹g蓹r bir fayl oxumaq ist蓹yir蓹m.
>> T茝L茝B茝 6: yazmaq 眉莽眉n W.
>> JASON Hirschhorn: V蓹 w 蓹g蓹r bir fayl yazmaq ist蓹yir蓹m.
Bel蓹 ki, bu halda, biz yaz谋l谋 edirik fayl, biz w var.
Siz onu a莽maq, siz d蓹 saxlamaq 眉莽眉n var haradasa fayl, v蓹 ki var
sol t蓹r蓹find蓹 kodu tap艧谋r谋q operator -
M蓹n bir fayl 眉莽眉n bir g枚st蓹rici yarad谋lmas谋 al谋ram Bu halda, fayl 莽a臒谋r谋b.
>> Biz narahat etm蓹k niyy蓹tind蓹 deyil n蓹 Bu b眉t眉n caps FILE 艧eydir.
Dem蓹k kifay蓹tdir ki, bu uzun adet s谋f谋r v蓹 olanlar谋 stream.
V蓹 biz gedir nec蓹 f蓹aliyy蓹t v蓹 onu anlamaq.
>> Biz n蓹 etm蓹k laz谋md谋r n枚vb蓹ti 艧ey - v蓹 Bu olduqca vacibdir -
Bir fayl谋 a莽maq zaman -
茝slind蓹, siz malloc z蓹ng zaman, 眉莽眉n M蓹s蓹l蓹n, b蓹zi yadda艧 almaq v蓹 c蓹hd
siz h蓹mi艧蓹 bir pointer saxlamaq 蓹min olun ki, yoxlamaq ist蓹yir蓹m ki,
funksiyas谋 null d枚nm蓹di.
>> Bel蓹 ki, bu halda, biz etm蓹k yoxlan谋lmas谋 olunur Biz, h蓹qiq蓹t蓹n, a莽谋lan 蓹min olun
d眉zg眉n fayl, v蓹 var idi Bizim proqram he莽 bir s蓹hv.
Next, bir d蓹f蓹 biz 蓹min i艧aretledi臒inizden biz 蓹limizd蓹n bir i艧 fayl var ki,
, yazmaq, v蓹 ya oxumaq v蓹 ya fayl 蓹lav蓹.
Bu halda, m蓹n sad蓹c蓹 莽ap edir蓹m Bu fayl bir x蓹tt.
>> Nec蓹 ki, bilirik?
B蓹li, m蓹n bu funksiyan谋 istifad蓹 edir蓹m fprintf 莽a臒谋r谋b.
Istifad蓹 olunacaq funksiyalar谋 b眉t眉n , yaz谋l谋 v蓹 ya, v蓹 ya oxuyark蓹n
fayllar谋 manipulyasiya ox艧ar olacaq siz 蓹vv蓹l g枚r眉ld眉 etdik, ancaq funksiyalar谋
F h蓹rfi il蓹 ba艧lamaq, fayl 眉莽眉n daimi.
V蓹 fprintf, bizim normal 莽ap f蓹rqli app, bir 蓹lav蓹 m眉bahis蓹 edir,
v蓹 fayl oldu臒u bu x蓹tt 莽ap etm蓹k ist蓹yir蓹m.
>> M蓹n he莽 bir 艧ey yoxdur Ohai h眉ququ.
M蓹n 眉莽眉nc眉 yoxdur printf arqument -
v蓹 ya ikinci arqument printf 眉莽眉n, 脺莽眉nc眉 d蓹lil fprintf 眉莽眉n, 莽眉nki m蓹n
burada h蓹r hans谋 bir placeholders yoxdur.
M蓹n he莽 bir d蓹yi艧蓹nl蓹rin deyil蓹m.
Ancaq yen蓹 d蓹, fprintf v蓹 bu fayl b眉t眉n fayllar谋 il蓹 f蓹aliyy蓹t funksiyalar谋
眉mumiyy蓹tl蓹 fayl laz谋md谋r gedir olan onlar f蓹aliyy蓹t edirik.
>> N蓹hay蓹t, son m眉h眉m 艧ey n蓹 kimi, fayl谋 ba臒lamaq 眉莽眉n
il蓹 - biz bir 艧ey malloc zaman, biz biz dey蓹 bir 艧ey pulsuz ist蓹yir蓹m
bir yadda艧 s谋z谋nt谋s谋 var - biz ist蓹yirik fayl yax谋n.
Bu proqram ba臒lanmas谋 olmadan ayr谋ld谋臒谋 varsa fayl, odds bir 艧ey getm蓹k olard谋 var
yanl谋艧, x眉susil蓹 d蓹 蓹g蓹r bu ki莽ik bir fayl idi.
>> Amma 蓹lb蓹tt蓹 yax艧谋 coding stili v蓹 h蓹mi艧蓹 fayl谋 ba臒lamaq t蓹cr眉b蓹
siz onu istifad蓹 bitti臒inde.
Bel蓹 ki, fayl 蓹saslar谋 I / O. edir Siz y蓹qin ki, 蓹vv蓹l g枚r眉ld眉, v蓹 ya sonra
ki, fantastik q谋sa onu izl蓹di.
He莽 蓹vv蓹l, h蓹r hans谋 bir sual谋n谋z varm谋 biz b蓹zi t蓹cr眉b蓹 kodla艧d谋rma daxil
fayl haqq谋nda probleml蓹ri, I / O v蓹 ya add谋mlar M蓹n art谋q getdi?
>> [Yazaraq Sesler]
>> JASON Hirschhorn: g蓹lirmi Bir sual, AVI var?
>> AVI: Xeyr
>> JASON Hirschhorn: OK.
M蓹n ba艧qa g枚zl蓹m蓹k gedir蓹m yeddi saniy蓹.
[G眉l眉r]
Ki, h蓹qiq蓹t蓹n yax艧谋 ipucu.
Siz u艧aqlar yaln谋z sevmir蓹m suallar.
Ki, g枚z蓹l.
OK.
Bel蓹 ki, bizim ilk t蓹cr眉b蓹 problem biz deyil, funksiyas谋 dublikat gedir
bir command line vasit蓹dir ki, y蓹qin ki, sur蓹ti - 蓹vv蓹l istifad蓹 -
sur蓹ti vasit蓹dir.
Siz cp yaz谋n v蓹 sonra ke莽ir iki terminal d蓹lill蓹ri, siz
bir fayl sur蓹ti.
V蓹 biz gedir n蓹 indi yazmaq 眉莽眉n.
>> Bel蓹 ki, yen蓹 bu slayd off oxu, m蓹n olsam Siz edir ki, bir proqram yazmaq
iki v蓹 iki command-line yaln谋z arqumentl蓹ri -
m蓹nb蓹 fayl v蓹 bir hedef fayl -
v蓹 n眉sx蓹 m蓹nb蓹yi m蓹zmunu hedef fayl fayl
bir-bir byte.
Bel蓹 ki soru艧maq 眉莽眉n bir 莽ox var.
>> Yen蓹 d蓹, bu yax艧谋 bir yana艧ma deyil C kodu d眉z getm蓹k deyil,
add谋mlar bir ne莽蓹 onu q谋rmaq.
Birincisi, d眉艧眉nm蓹k m蓹ntiq - d蓹qiq n蓹 m蓹n bunu xahi艧 edir蓹m -
v蓹 b眉t眉n anlamaq Bu problemin add谋mlar.
Not C, yaln谋z b蓹zi pseudocode, v蓹 ya h蓹tta bir ruhi model
n蓹 olacaq.
>> Next, siz pseudocode a艧a臒谋 bir d蓹f蓹, anlamaq nec蓹 pseudocode
al蓹tl蓹ri v蓹 biz etdik 蓹艧yalar 眉z蓹rind蓹 x蓹rit蓹l蓹r C. istifad蓹 枚yr蓹ndim
>> V蓹 n蓹hay蓹t, bir d蓹f蓹 b眉t眉n var birlikd蓹, siz problem kod bil蓹r.
5 10 d蓹qiq蓹 bu problem 眉z蓹rind蓹 i艧.
M蓹n g枚st蓹ri艧 qoymaq laz谋md谋r geri ikinci up.
V蓹 sonra biz art谋q getm蓹k olacaq Bu pseudocode, v蓹 kodu
bir qrup kimi ya艧ay谋r.
>> Siz bile siz h蓹r hans谋 bir sual谋n谋z varsa, Bu i艧 qald谋rmaq 莽ekinmeyin
Sizin t蓹r蓹fd蓹n, v蓹 m蓹n g蓹l蓹c蓹k 蓹traf谋nda v蓹 onlara cavab.
>> T茝L茝B茝 7: I 莽almak bil蓹r ka臒谋z par莽as谋?
>> JASON Hirschhorn: N蓹 oldu?
>> [Yazaraq Sesler]
>> JASON Hirschhorn: OK.
Ilk pseudocode 眉z蓹rind蓹 ged蓹k, v蓹 sonra m蓹n siz蓹 bir ne莽蓹 daha 莽ox ver蓹c蓹yik
d蓹qiq蓹 kodla艧d谋rma ba艧a 莽atd谋rmaq 眉莽眉n.
>> Kim m蓹n蓹 ba艧lamaq ist蓹yir蓹m ilk x蓹tti il蓹
bu funksiya 眉莽眉n pseudocode?
>> T茝L茝B茝 8: 蓹min etm蓹k yoxlay谋n Siz iki fayllar谋 verilmi艧dir.
>> JASON Hirschhorn: OK.
V蓹 biz deyilik, 蓹g蓹r?
>> T茝L茝B茝 8: I 0 qay谋tmaq ist蓹yir蓹m.
>> JASON Hirschhorn: biz 0 qay谋tmaq laz谋md谋r?
>> T茝L茝B茝 8: a qay谋t -
blanking.
脺zr ist蓹yirik.
>> JASON Hirschhorn: B蓹li.
Y蓹qin ki, deyil 0.
0 h蓹r 艧ey yax艧谋 idi dem蓹kdir.
OK.
Bel蓹 ki, ilk x蓹tt var pseudocode.
Kim pseudocode ikinci x蓹tti var?
>> T茝L茝B茝 9: fayllar谋 h蓹m Open?
>> JASON Hirschhorn: h蓹m fayllar谋 a莽谋n.
OK?
>> STUDENT 10: yoxlay谋n fayl NULL 蓹g蓹r?
>> JASON Hirschhorn: olun 蓹min NULL var n蓹.
Bir k蓹nara kimi -
0 z蓹rb蓹 -
ki, NULL edir?
>> STUDENT 11: Xeyr
>> JASON Hirschhorn: Bu NULL deyil.
Bu NULL terminator adlan谋r.
Bu, h蓹qiq蓹t蓹n, yaln谋z bir l il蓹 yaz谋ld谋臒谋na var.
Bel蓹 ki, qar艧谋 bir 艧ey yoxlan谋lmas谋 - ki, 蓹slind蓹 bir xarakter var -
bel蓹 ki, qar艧谋 bir 艧ey yoxlan谋lmas谋 g枚rm蓹k yoxlan谋lmas谋 kimi eyni deyil, 蓹g蓹r
NULL b蓹rab蓹rdir.
>> V蓹 b蓹zi insanlar -
onlar谋n Quizzes v蓹 onlar谋n problemi il蓹 ba臒l谋 d蓹stl蓹ri - burada var
s蓹hv o iki.
Amma o iki m眉xt蓹lif 蓹slind蓹.
Bir string ba艧a 莽at谋b -
bir 0 bir g枚st蓹ricisidir.
>> STUDENT 12: Niy蓹 yoxlamaq olmaz fayllar谋 NULL deyil ki, 蓹min olun
茝g蓹r siz onlar谋 a莽maq 蓹vv蓹l?
>> JASON Hirschhorn: Bel蓹 a莽谋q saxlay谋r ki, fayl bir 艧ey.
V蓹 burada geri getm蓹k 蓹g蓹r -
bu line - fopen -
bir 眉nvan谋 v蓹 ma臒aza ver蓹c蓹k Bu i艧l蓹ri fayl ki 眉nvan谋.
Bu i艧 deyil, bu, NULL saxlamaq olacaq -
>> STUDENT 12: Oh.
OK.
Siz var.
>> JASON Hirschhorn: fayl谋nda.
Bel蓹likl蓹, siz NULL kontrol ed蓹 bilm蓹z 茝g蓹r siz onlar谋 a莽d谋 etdik 蓹vv蓹l.
NULL bir 艧ey verm蓹di dem蓹kdir d眉zg眉n i艧.
OK.
Bel蓹 ki, 蓹min n蓹 etm蓹k yoxlamaq?
V蓹 ya?
Biz n蓹 d眉艧眉n眉rs眉n眉z?
Biz ki, il蓹 getm蓹k laz谋md谋r.
>> STUDENT 13: m谋.
>> JASON Hirschhorn: m谋?
N蓹?
>> STUDENT 13: m谋.
>> JASON Hirschhorn: OK.
Biz b蓹zi g枚r眉n眉r ki konsensus.
NULL n蓹.
OK, pseudocode n枚vb蓹ti line.
H蓹l蓹 m蓹n蓹 bir x蓹tt verm蓹yib?
Biz sizin 眉莽眉n g枚zl蓹yin.
B蓹li.
>> STUDENT 14: Siz oxumaq laz谋md谋r ilk fayl?
>> JASON Hirschhorn: OK.
>> STUDENT 14: V蓹 ya biz fscanf istifad蓹 v蓹 ya ilk fayl kimi bir 艧ey?
>> JASON Hirschhorn: Biz ist蓹yirik ilk fayl谋 oxumaq v蓹 -
sa臒 burada qoymaq bildirin.
M蓹nb蓹 fayl谋 oxuyun.
V蓹 sonra, biz sonra n蓹 etm蓹liy蓹m m蓹nb蓹 fayl谋 oxumaq?
Ba艧qas谋?
>> STUDENT 15: yaz daxil hedef fayl?
>> JASON Hirschhorn: Biz yaz谋n hedef fayl, v蓹 -
OK.
Biz n蓹 蓹skik?
M蓹n蓹 bir olmayan ba艧qas谋 h蓹l蓹 kodu x蓹tt - pseudocode.
B蓹li.
>> STUDENT 16: B蓹lk蓹 h蓹mi艧蓹 kontrol ed蓹 bil蓹rsiniz olub oxumaq 眉莽眉n bir 艧ey var,
n枚vb蓹ti line kimi?
N枚vb蓹ti line kimi ki, m枚vcud oldu.
>> [ELECTRONIC BEEP]
>> JASON Hirschhorn: Oops.
Y蓹ni m蓹nim journaling proqram.
B蓹li?
>> STUDENT 16: B蓹li.
>> JASON Hirschhorn: Bel蓹 verm蓹k m蓹n蓹 bir d蓹f蓹 daha.
>> STUDENT 16: var yoxlay谋n Bu h蓹l蓹 n枚vb蓹ti line
oxumaq 眉莽眉n m蓹nb蓹 fayl.
>> JASON Hirschhorn: OK.
Bel蓹likl蓹, biz x蓹tl蓹ri oxu deyilik - burada bytes oxu -
lakin do臒ru dan谋艧谋rs谋n谋zsa.
Biz q蓹d蓹r oxumaq v蓹 yazmaq ist蓹yir蓹m he莽 bir daha 莽ox bytes var.
OK.
V蓹 bu h蓹qiq蓹t蓹n indented olmal谋d谋r bir bit, onlar orada alt谋nda ist蓹yirik, 莽眉nki.
Sa臒?
Biz bytes bitti q蓹d蓹r, biz olacaq m蓹nb蓹 fayl谋 oxumaq v蓹 yazmaq
hedef fayl.
>> V蓹 sonra, son n蓹 pseudocode line?
Verilmi艧 deyil kims蓹 M蓹n蓹 bir 艧ey yoxdur.
>> STUDENT 17: fayllar谋 ba臒lay谋n?
>> JASON Hirschhorn: Exactly.
Fayllar谋 ba臒lay谋n.
Bel蓹 ki, bizim pseudocode var.
M蓹n daxil pseudocode qoymaq gedir蓹m gedit, v蓹 bir ne莽蓹 d蓹qiq蓹 biz
birlikd蓹 bu kod olacaq.
>> OK.
Biz蓹 bir qrup kimi ba艧lamaq bildirin.
Nishant, m蓹n yeni fayl var.
M蓹n yaln谋z bu q蓹d蓹r a莽d谋 etdik.
Untitled s蓹n蓹d 1.
M蓹n n蓹 laz谋md谋r ilk 艧ey n蓹dir?
>> Nishant: kitabxana 蓹lav蓹?
>> JASON Hirschhorn: OK.
N蓹 kitabxana?
>> Nishant: stdio.h, stdlib.h inan谋ram?
>> JASON Hirschhorn: OK.
脺莽眉n stdlib n蓹dir?
>> Nishant: I unuttum.
>> JASON Hirschhorn: OK.
Bel蓹 ki, stdio daxildir.
M蓹n h蓹tta 蓹vv蓹l n蓹 etm蓹liy蓹m M蓹n kodla艧d谋rma ba艧lamaq?
>> Nishant: bir m枚vzu yaz?
>> JASON Hirschhorn nec蓹 r蓹ngli I Qiy
>> [Interposing S茝SL茝R陌]
>> Nishant: Nec蓹 r蓹ngli al谋ram?
>> JASON Hirschhorn nec蓹 M蓹n kodla艧d谋rma r蓹ng edirsiniz?
>> Nishant: Bilmir蓹m.
Oh.
Edin.
>> JASON Hirschhorn: edin.
B蓹li.
M蓹n. C kimi saxlamaq laz谋md谋r.
Bel蓹 ki, cp.c. kimi masa眉st眉n眉zden qeyd edin
Sweet.
V蓹 m蓹n tam stil almaq ist蓹yirsinizs蓹 bal, n蓹 olmal谋d谋r m蓹n
眉st daxildir?
>> Nishant: Siz ad谋, ad谋 yazmaq bil蓹r proqram, v蓹 m蓹qs蓹di
el蓹c蓹 d蓹 proqram谋n?
>> JASON Hirschhorn: yax艧谋 g枚r眉n眉r.
茝la.
Bel蓹 ki, bizi off a莽谋lm谋艧 etdik.
# Daxildir -
biz d蓹 yazmaq laz谋md谋r -
OK.
M蓹n b眉t眉n getm蓹k 眉莽眉n m眉蓹yy蓹n edir蓹m.
Kim m蓹nim 眉莽眉n kodu ilk x蓹tt var - v蓹 kodu ilk x蓹tl蓹ri ki,
bu, bizim ilk t蓹min ed蓹c蓹k pseudocode 艧蓹rh?
Siz.
>> STUDENT 18: Bu int olmamal谋d谋r argc, sonra char * argv?
>> JASON Hirschhorn: d眉艧眉n眉r蓹m hakl媒s媒n.
Nin 蓹sas, a莽谋q paren int d蓹yi艧dirm蓹k ed蓹k, int argc, verg眉l, char * argv?
Ki, kimi?
>> STUDENT 18: Brackets.
>> JASON Hirschhorn: Brackets.
Open bracket, yax谋n bracket, yax谋n valideyn.
Perfect.
陌ndi komanda-line d蓹lill蓹ri bil蓹r.
OK.
Biz iki fayllar谋 sunulur olun.
Siz h蓹m莽inin m蓹n蓹 ver蓹 bil蓹r.
>> STUDENT 18: argc varsa -
bu bir 3 b蓹rab蓹r deyil.
>> JASON Hirschhorn: 茝g蓹r a莽谋q paren 3 argc b蓹rab蓹r deyil?
>> STUDENT 18: B蓹li, siz qay谋tmaq 1 v蓹 ya bir 艧ey.
>> JASON Hirschhorn: Sorry.
>> STUDENT 18: Return 1 v蓹 ya bir 艧ey.
>> JASON Hirschhorn: 1 qay谋t.
OK?
B枚y眉k.
H蓹m fayllar谋 a莽谋n.
Kim m蓹n蓹 iki fayllar谋 a莽maq k枚m蓹k ed蓹 bil蓹r?
H蓹l蓹 m蓹n蓹 kodu verilir deyil?
Kurt?
>> KURT: Bel蓹 ki, b眉t眉n caps F-I-L-E star m蓹nb蓹.
>> JASON Hirschhorn: M蓹n gedir蓹m sait almaq 眉莽眉n.
H蓹min s蓹rin var.
Bu Tumblr kimi.
>> STUDENT 18: fopen B蓹rab蓹r -
>> JASON Hirschhorn: fopen B蓹rab蓹r?
>> STUDENT 18: Open paren, argv, a莽谋q bracket.
>> JASON Hirschhorn: g枚zl蓹yin.
脺zr ist蓹yirik.
Open paren.
OK.
>> STUDENT 18: B蓹li.
Argv sub 1.
>> JASON Hirschhorn: Sub 1?
>> STUDENT 18: B蓹li.
Argv a莽谋q bracket 1 -
b蓹li.
V蓹 sonra verg眉l, sonra a莽谋q ikiqat quote, r, ikiqat quote,
yax谋n paren, n枚qt蓹li verg眉l.
>> JASON Hirschhorn: Sweet.
V蓹 n蓹 dig蓹r biri haqq谋nda?
>> STUDENT 18: 莽ox ox艧ar, lakin 蓹v蓹zin蓹 S-R-C, D-S-T z蓹ng ediyorum.
>> JASON Hirschhorn: OO!
M蓹n ki, ist蓹yir蓹m.
>> STUDENT 18: Just D-S-T. B蓹li.
V蓹 sonra, 2 a莽谋q bracket argv.
B蓹li.
V蓹 sonra w 蓹v蓹zin蓹 r.
B蓹li.
>> JASON Hirschhorn: Great.
X蓹tl蓹ri Next ne莽蓹.
H蓹m莽inin, he莽 蓹lav蓹 etm蓹k 艧eyi var biz etdik ki, x蓹tl蓹ri, 莽ekinmeyin
el蓹c蓹 d蓹 h蓹min 蓹lav蓹 edin.
茝min n蓹 NULL etm蓹k yoxlay谋n.
Kim m蓹n蓹 laz谋m olan kodu ver蓹 bil蓹r pseudocode ki line t蓹min?
Archer.
>> ARCHER: src b蓹rab蓹rdir b蓹rab蓹rdir varsa NULL v蓹 ya DST b蓹rab蓹rdir b蓹rab蓹rdir
NULL, sonra geri -
>> JASON Hirschhorn: N蓹?
>> ARCHER: 2 qay谋t?
>> JASON Hirschhorn: 2 qay谋t.
Bel蓹 ki, a莽谋q paren src b蓹rab蓹rdir 蓹g蓹r NULL b蓹rab蓹rdir, v蓹 ya -
ki thing's n蓹 - boru?
Boru?
Biz boru z蓹ng ed蓹c蓹yik.
Boru, boru, DST b蓹rab蓹rdir b蓹rab蓹rdir NULL, 2 qay谋tmaq.
OK?
Biz bytes bitti q蓹d蓹r -
biz n枚v bu add谋m 眉z蓹rind蓹 atland谋 burada gedi艧 pseudocode hiss蓹sidir.
>> Amma q蓹d蓹r biz bytes bitti - ki, s蓹s kimi n蓹 edir?
C hans谋 n枚v struktur -
amma s枚z strukturu istifad蓹 etm蓹yin, biz istifad蓹 ed蓹r蓹k ba艧lamaq 眉莽眉n olacaq, 莽眉nki
dig蓹r hallarda -
lakin C al蓹t kimi ki, s蓹s edir?
>> STUDENT 19: A loop.
>> JASON Hirschhorn: A loop.
Bir loop kimi s蓹sl蓹nir.
Bel蓹 ki, M蓹n蓹 ilk x蓹tt ver蓹 bil蓹r burada loop kodu?
Siz h蓹m莽inin se莽蓹 bil蓹rsiniz hans谋 n枚v Siz m蓹n蓹 verm蓹k 蓹g蓹r loop, ist蓹diyiniz
kodu bu x蓹tt.
脺莽 n枚v var.
Siz almaq.
M蓹n o biri g蓹lir ki,.
Avi.
Hans谋 biri ist蓹yirsiniz?
>> AVI: 脺脟脺N.
>> JASON Hirschhorn: 脺脟脺N.
>> AVI: i s谋f谋r b蓹rab蓹rdir Int.
>> JASON Hirschhorn: OK.
>> AVI: M蓹n 蓹min deyil蓹m bu hiss蓹si.
Amma 枚l莽眉s眉 azd谋r star m蓹nb蓹yi?
M蓹n 蓹min deyil蓹m.
>> JASON Hirschhorn: OK.
>> Ist蓹diyiniz 脟眉nki: AVI bir fayl 枚l莽眉s眉, sa臒?
>> JASON Hirschhorn: Bel蓹 ki, bu, y蓹qin ki, deyil biz蓹 faktiki 枚l莽眉s眉 verm蓹k
bytes fayl.
Bel蓹likl蓹, biz ba艧qa n蓹 ed蓹 bil蓹r?
Loop bir n枚v眉 n蓹dir?
Yoxsa biz 脺脟脺N loop il蓹 qalmaq laz谋md谋r?
>> STUDENT 20: Bir m眉dd蓹t loop ed蓹 bil蓹rmi?
V蓹 sonra, n蓹 ist蓹diyiniz you'd edir -
biz fayl 眉莽眉n bir char * var.
Biz yaln谋z incrementing saxlamaq bel蓹 ki, 蓹g蓹r biz NULL xarakter tapa ist蓹diyiniz q蓹d蓹r
bunun sonu?
V蓹 ya he莽, fayllar谋 nec蓹 i艧 deyil ki?
>> JASON Hirschhorn: Biz saxlaya bil蓹rsiniz char * incrementing
biz NULL tapmaq q蓹d蓹r -
>> STUDENT 20: 茝sas蓹n davam xarakteri il蓹 xarakter hit q蓹d蓹r
fayl sonu.
>> JASON Hirschhorn: B蓹li.
Bel蓹 ki, biz bunu ist蓹yir蓹m n蓹.
Biz oxu, xarakter saxlamaq ist蓹yir蓹m xarakteri il蓹, biz almaq q蓹d蓹r
fayl sonu.
>> STUDENT 20: B蓹li.
Tap -
sonu v蓹 ya stop i艧ar蓹si n蓹dir Bir m蓹tn fayl谋 sonunda.
>> JASON Hirschhorn: OK.
Bel蓹 ki, biz fayl sonuna almaq zaman - nec蓹 biz 蓹ld蓹 etdik bilirik
bir fayl sonu?
M蓹n z蓹ng al谋ram varsa -
bel蓹 ki, geri add谋m ed蓹k.
Bir funksiyas谋 n蓹dir?
Sa臒, burada bu istiqam蓹td蓹 ged蓹k.
M蓹nb蓹 fayl谋 oxuyun.
Kim m蓹n蓹 kodu ki, x蓹tt ver蓹 bil蓹r?
>> STUDENT 21: fscanf?
>> JASON Hirschhorn: fscanf.
OK.
M蓹n oxumaq ist蓹yirsinizs蓹, 莽ox x眉susi bir byte?
>> STUDENT 21: M蓹n bilmir蓹m.
>> JASON Hirschhorn: OK.
Fscanf daha sad蓹 - bir n蓹 -
M蓹n bir m蓹nb蓹 fayl谋 oxumaq ist蓹yirsiniz?
Bir m蓹nb蓹 fayl谋 oxuyun.
Bir funksiyas谋 n蓹dir - B蓹li.
>> STUDENT 22: Bu fread var?
>> JASON Hirschhorn: fread.
M蓹n il蓹 qalmaq olaq indi ki, bir.
D蓹lill蓹ri hans谋 fread edir?
>> STUDENT 22: Y蓹qin ki, fayl n枚v眉, v蓹 sonra fayl yeri?
>> JASON Hirschhorn: M蓹n burada n蓹 yaz谋n anlamaq d蓹lill蓹ri hans谋 n枚v眉
fread edir?
>> Birden T茝L茝B茝L茝R: Man fread.
>> JASON Hirschhorn: Man fread v蓹 fwrite.
Onlar birlikd蓹 asmaq kimi g枚r眉n眉r.
Bel蓹 ki, fread ne莽蓹 d蓹lill蓹r edir?
>> STUDENT 23: Four.
>> JASON Hirschhorn: Bu edir d枚rd d蓹lill蓹ri.
Bu g枚st蓹rici, bir 枚l莽眉s眉 edir ki, q蓹rib蓹 olan 艧ey, v蓹 b蓹zi fayl.
OK?
Sa臒 burada bu bar蓹d蓹 oxumaq ed蓹k.
"Funksiyas谋 fread n important oxuyur m蓹lumatlar谋n elementl蓹ri, h蓹r 枚l莽眉s眉 bytes
uzun, d蓹r蓹d蓹n il蓹 i艧ar蓹 yeri onlar谋 saxlan谋lmas谋 sel
pointer t蓹r蓹find蓹n verilir. "
>> Bel蓹 ki, d枚rd d蓹lill蓹ri.
Niy蓹 yaln谋z bu sur蓹ti yoxdur, v蓹 burada yap谋艧d谋r谋b.
OK.
Bel蓹 olan doldurulmas谋 ba艧laya bil蓹rsiniz M蓹nim 眉莽眉n bu arqumentl蓹r?
Avi.
>> AVI: bo艧lu臒u edin.
Yaln谋z src qoyun.
G枚st蓹rici v蓹 ulduz almaq.
Src qoyun.
Sonra -
>> JASON Hirschhorn: M蓹n dayand谋rmaq 眉莽眉n gedir蓹m orada ki, yanl谋艧 莽眉nki.
Siz src il蓹 sa臒 ist蓹yirik, lakin src harada getm蓹k laz谋md谋r?
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: Bu olmal谋d谋r burada art谋q getm蓹k.
Bu src - Bizim src bir n枚v眉d眉r.
Burada baxaq.
Bu type Resim * 眉莽眉n xahi艧 olunur, biz h蓹qiq蓹t蓹n ad蓹t蓹n bel蓹 onlar谋 g枚rm蓹k.
Bel蓹 ki, bu bir arqument 眉莽眉n xahi艧 olunur * src ki, adl谋 stream fayl n枚v眉.
OK?
>> 艦eyl蓹r hans谋 枚l莽眉s眉 biz oxumaq ist蓹yirsiniz?
M蓹n siz蓹 bu verdi problem t蓹sviri.
>> STUDENT 24: Bir zaman bir byte.
>> JASON Hirschhorn: One byte.
Bir byte nec蓹?
Onun 枚l莽眉s眉 bayt edir, bel蓹 ki, n蓹 M蓹n orada qoymaq olar?
>> STUDENT 25: One.
>> JASON Hirschhorn: One.
Sa臒.
Onun 枚l莽眉s眉 vahid byte edir, bel蓹 1 1 byte edir.
M蓹n bir zaman oxumaq nec蓹 莽ox ist蓹yir蓹m.
>> STUDENT 26: One?
>> JASON Hirschhorn: Bir 艧ey.
M蓹n 枚l莽眉s眉 bir 艧ey oxumaq ist蓹yir蓹m 1, bir-bir bite.
M蓹n bunu bir d蓹f蓹 oxuyun v蓹 harada onu qoymaq bil蓹r蓹m?
>> STUDENT 27: Destination?
>> JASON Hirschhorn: M蓹n qoymaq bilm蓹z d眉z t蓹yinat.
>> STUDENT 28: Siz m媒 put ist蓹yirik bir 眉莽眉nc眉 g枚st蓹rici daxil?
>> STUDENT 27: t蓹yinat 眉莽眉n.
>> JASON Hirschhorn: OK.
B蓹li.
>> STUDENT 29: Siz bir 艧ey elan ed蓹 bil蓹r m眉v蓹qq蓹ti saxlama 蓹vv蓹lki kimi f蓹aliyy蓹t g枚st蓹rir.
>> JASON Hirschhorn: OK.
M蓹n蓹 verin.
>> STUDENT 29: Ba艧qa bir fayl pointer, b蓹lk蓹?
>> JASON Hirschhorn: OK.
Bel蓹 ki, bu etibars谋z ulduz -
bu bir n枚v眉 etibars谋z ulduz var, bel蓹 ki, deyil bir fayl pointer olmal谋d谋r.
M蓹n bir byte oxuyuram 蓹g蓹r, yax艧谋 bir yer olard谋
bir byte saxlamaq 眉莽眉n?
>> STUDENT 29: An array?
>> JASON Hirschhorn: An array.
OK.
V蓹 ki, bir 艧ey ba艧qa n蓹 yaln谋z bir byte 枚l莽眉s眉?
>> STUDENT 30: A char *?
>> STUDENT 29: B蓹li.
>> JASON Hirschhorn: A char * bir byte deyil.
>> STUDENT 29: A char.
>> JASON Hirschhorn: A char bir byte edir.
Sa臒?
Bel蓹 ki, bu bufer z蓹ng ed蓹k 眉mumi edir saxlamaq 眉莽眉n bu 艧eyl蓹r 眉莽眉n istifad蓹 ad谋n谋
bir 艧ey m眉v蓹qq蓹ti.
M蓹n bir bufer yaratmaq.
Sa臒?
Amma bu * bir bo艧luq g枚r眉r.
Bel蓹 ki, b蓹lk蓹, do臒ru ki, 枚l莽眉s眉 0 bufer olmal谋d谋r.
Bel蓹 ki, bir ma臒azalar -
sa臒.
>> 脟眉nki burada bu h眉ququ - char bufer bir xarakter, lakin
Bu * bo艧luq edir -
bir g枚st蓹rici.
M蓹n indi bunu ed蓹 bil蓹r bufer bir g枚st蓹ricisidir.
M蓹n ba艧qa n蓹 ed蓹 bil蓹r?
>> STUDENT 31: char yan谋nda bir ulduz qoyun.
>> JASON Hirschhorn: M蓹n ola bil蓹r Bu * char yaratm谋艧d谋r.
OK.
M蓹n bil蓹r bir 艧ey var?
V蓹 ya bu biri il蓹 ged蓹k.
Char * bufer, n蓹 M蓹n burada qoymaq bil蓹r蓹m?
>> STUDENT 31: Buffer.
>> JASON Hirschhorn: Buffer.
Buffer bir char bir g枚st蓹ricisidir.
V蓹 yeri, biz qoyulmas谋 edirik biz oxumaq etdik 艧ey biri byte.
B蓹li.
Avi.
>> AVI: Just tez sual.
Siz bufer malloc ist蓹yirsiniz?
>> JASON Hirschhorn: Kim bil蓹r Bu suala cavab?
>> STUDENT 32: Yax艧谋, Bu, h蓹qiq蓹t蓹n indi bir 艧ey point, bel蓹 ki, -
>> JASON Hirschhorn: Amma bunu biz bunu malloc ist蓹yirsiniz?
>> STUDENT 32: siz bunu olsayd谋 ki, siz蓹 laz谋m ist蓹diyiniz 莽眉nki, m蓹n, evet, tapmaq
Bu qeyd etm蓹k 眉莽眉n bir yer.
>> JASON Hirschhorn: biz malloc var?
>> STUDENT 33: siz davam edirsinizs蓹 loop k蓹narda istifad蓹 edin.
>> JASON Hirschhorn: biz gedir loop k蓹narda istifad蓹?
>> STUDENT 34: B蓹li.
>> STUDENT 35: g枚zl蓹yin.
Biz bunu b蓹yan etm蓹k ist蓹yir蓹m etm蓹yin k蓹narda loop?
>> JASON Hirschhorn: M蓹n biz tapmaq burada biz ist蓹yirik ki, b蓹zi yalan莽谋 APARARK茝N loop
, anlama臒a 莽al谋艧谋r谋q ki, Biz h蓹l蓹 kazan谋lm谋艧 deyil.
Biz bunu malloc ehtiyac yoxdur.
Biz 蓹sas f蓹aliyy蓹t edirik, yaln谋z gedir Bu loop daxilind蓹 istifad蓹 edil蓹c蓹k.
Bu m枚vcud laz谋m deyil Bu xaricind蓹.
>> Bel蓹 ki, yerli d蓹yi艧蓹n ola bil蓹r.
Siz bir g枚st蓹rici var yerli d蓹yi艧蓹n.
>> STUDENT 36: Lakin bu deyil bir 艧ey i艧ar蓹.
>> JASON Hirschhorn: Xeyr, deyil bir 艧ey ba艧lat谋lm谋艧.
Amma biz d蓹 istifad蓹 etm蓹k fikrind蓹 deyilik.
Biz bir 艧ey qoymaq olacaq ilk d蓹f蓹 biz istifad蓹 edin.
Bel蓹 ki, OK g枚r眉n眉r.
Bel蓹likl蓹, biz burada malloc ehtiyac yoxdur.
V蓹 m蓹n kimi OK hesab edir蓹m.
OK.
Biz fread x蓹tt var.
Nin n枚vb蓹ti line ed蓹k.
>> Biz bir fayl yazmaq ist蓹yirsinizs蓹, n蓹 bunu istifad蓹 etm蓹k yax艧谋 bir funksiyas谋?
>> STUDENT 37: Fwrite?
>> STUDENT 38: fprintf?
>> JASON Hirschhorn: fprintf biridir.
Ba艧qa bir n蓹dir?
>> STUDENT 39: Fwrite.
>> JASON Hirschhorn: Fwrite.
V蓹 bizim 眉莽眉n, fwrite, biz burada g枚rd眉m ki, edir
y蓹qin ki, daha yax艧谋 se莽im.
Bu h蓹m莽inin d枚rd d蓹lill蓹ri.
Nishant, siz ver蓹 bil蓹r d蓹lill蓹ri me?
>> Nishant: 陌lk bir davam yaln谋z bufer olmal谋d谋r.
>> JASON Hirschhorn: OK.
>> Nishant: 陌kinci 眉zr蓹 yaln谋z 1 olacaq.
脺莽眉nc眉 bir 1 olacaq.
V蓹 d枚rd眉nc眉 bir dst olacaq.
>> JASON Hirschhorn: He莽 varm谋 ki, x蓹tti haqq谋nda h蓹r hans谋 bir sual谋n谋z?
Bu yax艧谋 g枚r眉n眉r.
OK.
Bel蓹 ki, indi biz ist蓹yirik bir 艧ey kimi g枚r眉n眉r itkin - h蓹qiq蓹t蓹n, yazmaq bildirin
bu son line.
Fayllar谋 ba臒lay谋n.
Kim yaz谋l谋 biz蓹 bitirm蓹k bil蓹r Bu son iki x蓹tl蓹ri?
B蓹li.
Ba臒谋艧lay谋n, sizin ad谋n谋z n蓹dir?
>> LUCY: Lucy.
>> JASON Hirschhorn: Lucy.
>> LUCY: sonra fclose src v蓹 fclose t蓹yinat.
>> JASON Hirschhorn: fclose, a莽谋q paren, src, yax谋n paren, n枚qt蓹li verg眉l.
V蓹 fclose -
yeah?
>> LUCY: Open parantez, DST v蓹 sonra n枚qt蓹li verg眉l.
>> JASON Hirschhorn: Great.
M蓹n sonunda n蓹 daxil olmal谋d谋r?
>> LUCY: 0 qay谋t.
>> JASON Hirschhorn: 0 qay谋t.
M蓹n var?
Bir sual.
Biz qaytar谋lmas谋 0 daxil var?
>> Birden T茝L茝B茝L茝R: Xeyr
>> JASON Hirschhorn: Xeyr
Main avtomatik olaraq bunu edir siz sonuna almaq 蓹g蓹r.
Amma bu g枚z蓹l hesab edir蓹m ayd谋n 艧蓹kild蓹 onu daxildir.
Biz dig蓹r qaytar谋lmas谋 etdiyiniz x眉susil蓹 proqram boyunca 艧eyl蓹r.
OK.
Bu 蓹skik etdiyiniz n蓹 -
N蓹 APARARK茝N?
Olan b蓹zi hesab ed蓹 bil蓹r -
b蓹zi hissi var h蓹r 艧eyi orada getm蓹k bil蓹r?
Bu yaln谋z bir pseudocode bel蓹 dil kimi?
>> Biz, h蓹qiq蓹t蓹n, hans谋lard谋r - n蓹 biz q蓹d蓹r getm蓹k ist蓹yirsiniz?
B蓹li, Lucy.
>> LUCY: fayl sonu.
>> JASON Hirschhorn: Fayl谋n sonu.
Bel蓹 ki, fayl sonuna n蓹 dem蓹kdir?
>> LUCY: Siz 莽atmaq fayl sonu dayand谋rmaq.
>> JASON Hirschhorn: OK.
Bel蓹 ki, bir d蓹f蓹 biz fayl sonuna 莽atmaq.
Biz 蓹ld蓹 etdiyiniz zaman nec蓹 bilirik fayl sonu?
>> STUDENT 40: I bufer hesab Null m眉蓹yy蓹n olunacaq.
>> STUDENT 41: Buffer elan edilir loop daxilind蓹.
>> JASON Hirschhorn: Bel蓹 d眉艧眉n眉rs眉n眉z bufer null m眉蓹yy蓹n olunacaq.
Niy蓹 null m眉蓹yy蓹n edil蓹 bufer olard谋?
>> STUDENT 40: zaman 脟眉nki fread, siz qoymaq 莽al谋艧d谋臒谋n谋z
bufer daxil he莽 bir 艧ey.
>> JASON Hirschhorn: OK.
Bel蓹likl蓹, siz fread d眉艧眉nc蓹 etdiyiniz -
biz sonunda 蓹ld蓹 etdiyiniz zaman fayl, n蓹 fread n蓹 olacaq?
M蓹n sual edir蓹m biz anlamaq laz谋md谋r.
Fread n蓹 edir?
Bu bufer NULL qoymaq, v蓹 ya etmir Bu ba艧qa bir 艧ey deyil?
Biz nec蓹 n蓹 anlamaq olar?
>> STUDENT 42: Man.
>> JASON Hirschhorn: Man.
Bel蓹 ki, burada baxaq.
D蓹y蓹r qay谋t.
U臒urlar, fread v蓹 qay谋tmaq fwrite burada oxumaq v蓹 ya yaz谋l谋 madd蓹l蓹rin say谋.
Bu say谋 bayt say谋 b蓹rab蓹rdir 枚l莽眉s眉 1 yaln谋z k枚莽眉r眉l眉r.
Bir s蓹hv ba艧, v蓹 ya sonu 蓹g蓹r fayl 蓹ld蓹, qaytar谋lmas谋 d蓹y蓹ri edir
q谋sa madd蓹 count ya 0.
>> Bel蓹 ki, bizim 眉莽眉n, 蓹g蓹r fread 莽at谋r fayl sonu v蓹 oxuyur
fayl sonu, sol he莽 bir 艧ey var oxumaq, n蓹 geri olacaq?
>> STUDENT 43: Zero?
>> JASON Hirschhorn: N蓹?
>> STUDENT 43: Zero?
>> JASON Hirschhorn: Zero.
Bu s谋f谋r geri olacaq.
Bel蓹 ki, biz etdik ki fread bilirik fayl sona g蓹lindi gedir
s谋f谋r qay谋tmaq 眉莽眉n.
Nec蓹 biz 眉st眉nl眉y眉 眉莽眉n istifad蓹 ed蓹 bil蓹rsiniz?
>> AVI: Siz xaricind蓹 bir d蓹yi艧蓹n elan ed蓹 bil蓹r check adl谋 loop.
脟ek b蓹rab蓹rdir varsa -
indi - bir.
>> JASON Hirschhorn: OK.
>> AVI: V蓹 sonra bir qoymaq bil蓹r sa臒 fread dedikd蓹n sonra b蓹yanat 蓹g蓹r
fread s谋f谋r b蓹rab蓹rdir -
no.
>> JASON Hirschhorn: Kim avi h蓹yata k枚m蓹k ed蓹 bil蓹r?
>> AVI: n蓹 d蓹y蓹ri var fread geri?
>> JASON Hirschhorn: Biz yaln谋z 眉z蓹rind蓹 getdi.
>> AVI: Nec蓹 t蓹msil edir?
>> JASON Hirschhorn: Bel蓹 ki, qaytar谋r - ed蓹k burada baxmaq - bir qaytar谋r
mahiyy蓹tc蓹 olan size_t, tam.
Bel蓹 ki, bir tam qaytar谋r.
V蓹 bizim halda, o, 1 v蓹 ya 0 qay谋tmaq -
1 bir 艧ey oxumaq - bir byte, 0 biz sonunda 蓹ld蓹 etdiyiniz 蓹g蓹r.
Bel蓹 ki, fread 蓹g蓹r -
yeah?
>> STUDENT 45: yaln谋z tam qoymaq bilm蓹z daxil fread (bufer, 1, 1, src)
loop is蓹?
>> JASON Hirschhorn: Bel蓹 ki, t蓹klif orada bu edir?
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: tutun.
Bel蓹likl蓹, biz ki ridding edirik.
Bel蓹likl蓹, siz qoyulmas谋 t蓹klif edirik fread orada daxil?
Biz d蓹 h蓹r蓹k蓹t etm蓹lidir Bunu etm蓹k ist蓹yirsinizs蓹?
>> STUDENT 45: xaricind蓹 bufer.
>> JASON Hirschhorn: Biz olmal谋d谋r d蓹 burada bu h蓹r蓹k蓹t.
>> STUDENT 45: Amma ki, daim ir蓹li h蓹r蓹k蓹t?
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: OK.
Bel蓹 ki, bu Okshar t蓹klif edir.
Biz bufer yaratmaq.
Biz APARARK茝N fread, sonra biz fwrite.
Bu fikir?
>> STUDENT 46: M蓹nim yaln谋z sual, onda edir 蓹slind蓹 komanda fread icra?
>> JASON Hirschhorn: B枚y眉k sual.
Bir funksiyas谋 z蓹ng qoyulmas谋 oldu臒unuz zaman bir 艧蓹rt daxilind蓹, edir
funksiyas谋 z蓹ng icra?
Biz 蓹vv蓹l bu n眉mun蓹l蓹r g枚rd眉k.
Sa臒?
>> STUDENT 46: OK.
B蓹li.
Bel蓹 ki, icra edir.
>> JASON Hirschhorn: Biz 艧eyl蓹r g枚rd眉m bundan 蓹vv蓹l biz oldu臒u kimi bir
bir 艧蓹rt daxilind蓹 funksiyas谋 z蓹ng.
Ki, funksiyas谋 z蓹ng icra varm谋?
B蓹li.
Bel蓹 ki, cavab yes deyil.
Bu funksiya z蓹ng icra ed蓹c蓹k.
Ancaq yen蓹 d蓹, biz ist蓹diyiniz n蓹 deyil?
>> Biz anlamaq bil蓹r bir yolu n蓹dir biz ist蓹diyiniz n蓹, 蓹g蓹r?
>> Birden T茝L茝B茝L茝R: Run?
>> JASON Hirschhorn: Biz run bil蓹r.
Biz bunu 蓹vv蓹l Lakin, biz bil蓹r bu vasit蓹sil蓹 s蓹b蓹b.
Varsa -
biz bir byte dem蓹k bizim Biz burada almaq laz谋md谋r, fayl,
biz bu kodu almaq laz谋md谋r.
Bu davam ed蓹c蓹k.
fread bir byte qay谋dacaqlar Bu bufer saxlamay谋n.
Bu, 1 qiym蓹tl蓹ndir蓹c蓹k sa臒, sonra 1 qaytar谋r.
>> Bel蓹 ki, APARARK茝N 1.
Ki, daxilind蓹 kodu dem蓹kdir is蓹 loop icra ed蓹c蓹k?
>> STUDENT 47: B蓹li.
Do臒rudur.
>> JASON Hirschhorn: B蓹li.
1 do臒rudur.
Bu 0 deyil.
Bel蓹 ki, burada daxili kodu icra ed蓹c蓹k.
Bel蓹 ki, yazmaq laz谋md谋r.
Biz bu geri h蓹r蓹k蓹t ed蓹c蓹yik line bir daha.
陌ndi biz var -
biz fayl sonunda ist蓹yirik.
Biz fayl sonunda oxumaq, biz yaln谋z bir byte idi.
>> Fread 0, ma臒azalar qaytar谋r bufer bir 艧ey.
M蓹n vicdanla bilmir蓹m Bu bufer saklar.
Biz y蓹qin ki, baxmaq bil蓹r n蓹 g枚rm蓹k.
M蓹n vicdanla bilmir蓹m.
Biz n蓹 umurunda bilmir蓹m Bu bufer ma臒azalar?
Amma bu 0 qay谋tmaq deyil.
0 icra 陌K茝N olacaq?
>> 0 icra ed蓹c蓹k.
Bel蓹likl蓹 biz burada h蓹r蓹k蓹t ed蓹c蓹yik.
Bel蓹 ki, 蓹lind蓹 bir 艧ou almaq qoy 蓹g蓹r biz run, v蓹 ya 蓹g蓹r biz olmal谋d谋r kodu
ilk d蓹yi艧iklikl蓹r etm蓹lidir.
Sizc蓹 蓹g蓹r - siz s蓹s var.
茝g蓹r biz bu kodu run laz谋md谋r d眉艧眉n眉yorsan谋z kimi, sizin 蓹l qald谋rmaq edin.
>> OK.
Bir var -
Bir sual, narahatl谋q var?
B蓹li.
>> STUDENT 48: biz tampon h蓹r蓹k蓹t sonra loop k蓹narda, biz
malloc var?
>> JASON Hirschhorn: B枚y眉k sual.
Biz k蓹narda bufer h蓹r蓹k蓹t sonra loop, biz bunu malloc var?
Bu h蓹cmi m蓹s蓹l蓹dir.
Biz k蓹narda bufer ba艧lamaq 蓹g蓹r Bu loop, bu m枚vcud olacaq
loop daxilind蓹?
>> Birden T茝L茝B茝L茝R: B蓹li.
>> JASON Hirschhorn: B蓹li.
Onun h蓹cmi, loop daxilind蓹 蓹hat蓹 edir v蓹, h蓹qiq蓹t蓹n, bir 艧ey daxili a艧a臒谋da
o c眉ml蓹d蓹n bu kodu ki, burada daxili 艧eyl蓹r.
Bel蓹 ki, biz bunu malloc ehtiyac yoxdur.
Bu yerli d蓹yi艧蓹n, v蓹 onun 蓹hat蓹 dair蓹si h蓹l蓹 loop daxildir.
>> STUDENT 49: biz onu azad etm蓹k laz谋md谋r?
>> JASON Hirschhorn: biz pulsuz bufer laz谋md谋r?
>> STUDENT 49: B蓹li, biz malloc deyils蓹.
>> JASON Hirschhorn: biz pulsuz bufer laz谋md谋r?
Biz bunu etmirik.
Yen蓹 d蓹, bu yerli d蓹yi艧蓹n, bel蓹 ki, biz onu azad etm蓹k laz谋m deyil.
OK.
N蓹 g枚rm蓹k ed蓹k.
Bel蓹 ki, uninitialized edir.
Ki, n蓹 bir 艧ey idi ki, Marcus 蓹vv蓹ll蓹r t蓹klif.
Bel蓹 ki, s蓹hv, d蓹yi艧蓹n bufer var Burada istifad蓹 uninitialized edir.
>> Biz bu nec蓹 d眉z蓹ltm蓹k olar?
>> STUDENT 50: malloc?
>> STUDENT 51: NULL B蓹rab蓹r?
>> STUDENT 52: bufer NULL b蓹rab蓹rdir s枚yl蓹yin.
>> JASON Hirschhorn: OK.
Yax艧谋 g枚r眉n眉r.
Biz indi var.
Nin 莽谋xarmaq c蓹hd bir 艧ey yaratmaq ed蓹k.
Bel蓹 ki, biz m蓹tn fayl谋 var.
Biz bu proqram run bil蓹r?
B蓹li.
>> STUDENT 53: Siz dot ed蓹 bil蓹rsiniz cp, test.txt do臒ramaq.
V蓹 sonra ba艧qa bir fayl olar onu saxlamaq olacaq.
>> JASON Hirschhorn: OK.
Biz bunu out.txt z蓹ng ed蓹c蓹yik.
Cool?
Seg g眉nah.
Seqmentl蓹rin g眉nah haqq谋nda d眉艧眉nc蓹l蓹r
Bu, b枚y眉k deyil.
Nec蓹 tapa bil蓹rsiniz seqmentl蓹rin g眉nah?
N蓹?
>> STUDENT 54: gdb.
>> JASON Hirschhorn: gdb.
Biz gdb dot 莽izgi yazmaqla gdb run Bizim proqram ad谋.
He莽 bir command line d蓹lill蓹ri.
Biz m眉蓹yy蓹n olacaq 蓹sas da breakpoint.
M蓹n gdb ba艧lamaq ist蓹yirsinizs蓹, m蓹n n蓹 etm蓹liy蓹m?
>> STUDENT 55: R.
>> Sonra R. V蓹 n蓹: JASON Hirschhorn?
>> STUDENT 55: The arqumentl蓹r?
>> JASON Hirschhorn: Sonra command-line d蓹lill蓹ri.
Vasit蓹sil蓹 g蓹zm蓹k ed蓹k.
N yaln谋z x蓹tti il蓹 m蓹n蓹 line edir.
M蓹n getm蓹k 眉莽眉n gedir蓹m q蓹d蓹r M蓹n seg g眉nah almaq.
M蓹nim seg g眉nah var.
Fread s蓹b蓹b kimi g枚r眉n眉r m蓹nim g眉nah seg.
M蓹n fread m蓹nim seg g眉nah s蓹b蓹b bilirik ki, idi, 莽眉nki
line biz yaln谋z icra.
>> Idi ki, yaln谋z bir 艧ey ki, x蓹tt ba艧 -
iki 艧eyl蓹r ba艧 idi.
Fread gedirdi, sonra biz idi b蓹zi APARARK茝N yoxlan谋lmas谋 edir.
M蓹n bahis ist蓹y蓹n Ben ki APARARK茝N yoxlan谋lmas谋 m蓹nim seg g眉nah s蓹b蓹b deyil.
脟ox g眉man ki, fread idi M蓹nim San g眉nah s蓹b蓹b olur.
M蓹n d蓹 burada bir 艧ey Memcopy g枚r眉r眉k.
>> Yadda艧 sur蓹ti.
Olan yadda艧 h蓹r蓹k蓹t kimi s蓹sl蓹nir ba艧qa bir yer.
Ba艧 ki, bir 艧ey kimi s蓹sl蓹nir fread, b蓹lk蓹, b蓹zi yadda艧
burada buradan h蓹r蓹k蓹t.
Yen蓹 bu yolu ged蓹k.
Nas谋l art谋q ba艧lamaq yoxdur v蓹 yenid蓹n run?
B蓹li.
>> STUDENT 56: Siz qoymaq laz谋md谋r Bufer 蓹vv蓹l ampersand?
>> JASON Hirschhorn: 茝vv蓹l i艧areti bufer m蓹n蓹 脺nvan ver蓹c蓹k
* Bir char olan bufer.
Bu bir daha vaxt vasit蓹sil蓹 run ed蓹k.
M蓹n bir d蓹f蓹 daha ke莽ir edirsiniz?
>> STUDENT 57: Can yaln谋z yenid蓹n run yaz谋n?
>> JASON Hirschhorn: Just yenid蓹n run yaz谋n.
Bel蓹likl蓹, biz fikrind蓹 deyilik bu x蓹tti h蓹yata.
Bel蓹 ki, bufer bir NULL pointer edir.
D眉z蓹ltm蓹k?
Bu i艧ar蓹 edir - nin g枚r蓹k.
Biz varsa, bizim -
Bu tez 艧蓹kil 莽蓹km蓹k.
茝g蓹r ham谋 bil蓹rsiniz M蓹n burada yazmaq?
>> Bel蓹 ki, y谋臒谋n谋, biz yerli var d蓹yi艧蓹n v蓹 bufer adlan谋r v蓹
bu bir char bir g枚st蓹rici var.
N蓹 眉nvan谋 bu char edir?
>> STUDENT 58: 0x0.
>> JASON Hirschhorn: Right.
Y蓹ni bu n蓹.
Burada, bufer daxilind蓹, 0x0 saxlan谋l谋r.
Ki, biz n蓹 var - biz indi qura艧d谋rma.
Bel蓹 ki, bu x蓹tt, fread, bir 艧ey qoyur harada m蓹nb蓹yi?
Bu qutu v蓹 ya bu qutusuna?
Hans谋 qutusu?
Qutusu v蓹 ya sa臒 qutusu sol?
Bu sa臒 qutusu.
>> Bu g枚st蓹rici a艧a臒谋dak谋 v蓹 burada onu qoyur.
Biz c蓹hd v蓹 touch yadda艧 zaman yeri 0, biz n蓹 蓹ld蓹 edirsiniz?
A seqmentasiya g眉nah.
Y蓹ni biz indi hata var.
B蓹li.
>> STUDENT 59: siz yoxdur star bufer qoymaq?
He莽 bir v蓹 ya?
Fread 眉莽眉n?
>> JASON Hirschhorn: Bel蓹 fread bir pointer edir.
Bel蓹 ki, bufer ke莽ir.
V蓹 sonra laz谋md谋r de-aray谋艧 haradasa fread i莽蓹risind蓹.
Ancaq yen蓹 d蓹, g枚rd眉k, bu bir pointer edir.
Biz onu star bufer ke莽m蓹k laz谋m deyil.
Ki, ke莽蓹n olunacaq burada var n蓹.
V蓹 y蓹qin ki, biz蓹 bir s蓹hv ver蓹c蓹k biz bunu de-sened edirik, 莽眉nki.
>> Sa臒?
Biz bu g枚st蓹rici istinad de zaman, zaman biz bu yer daxil olmaq 眉莽眉n c蓹hd edin,
biz s蓹hv al谋yorsan谋z - bizim seqmentasiya g眉nah.
Bel蓹 ki, -
oops.
Biz gdb h蓹yata 莽谋xmaq olacaq.
Bizim line -
Bizim problem - do臒ru Burada bu x蓹tt 眉zr蓹.
V蓹 bir problem 莽眉nki Bu x蓹ttin.
>> Nec蓹 bir qutusu yaratmaq bil蓹r ki, fread eri艧ilebilir.
Sa臒?
Biz bir ki, bir qutusu yaratmaq laz谋md谋r byte b枚y眉k, bir char 枚l莽眉s眉.
Amma biz qutusu 蓹l莽atan olmaq laz谋md谋r bu funksiya icra zaman.
Bel蓹 ki, burada -
B蓹li.
H蓹r hans谋 bir fikir?
>> STUDENT 60: Just kimi m眉蓹yy蓹n h蓹r hans谋 bir t蓹sad眉fi xarakter.
Just char bufer B蓹rab蓹r etm蓹k karakter.
V蓹 sonra, orada bufer zaman -
>> JASON Hirschhorn: g枚zl蓹yin.
Char bufer?
Bel蓹 ki, he莽 bir ulduz?
>> STUDENT 60: B蓹li.
Ulduz almaq.
Bir t蓹sad眉fi xarakter b蓹rab蓹rdir.
>> JASON Hirschhorn: OK.
Bel蓹 ki, m蓹n蓹 bir verir.
>> STUDENT 60: Like a v蓹 ya bir 艧ey.
V蓹 sonra bufer zaman orada, bir istifad蓹 -
>> STUDENT 61: Star?
He莽 bir Oh, i艧areti.
>> STUDENT 60: i艧areti istifad蓹 edin.
>> JASON Hirschhorn: OK.
V蓹 n蓹 fwrite haqq谋nda?
>> STUDENT 60: yenid蓹n i艧areti istifad蓹 edin.
>> JASON Hirschhorn: B眉t眉n h眉ququ.
Bel蓹 ki, fikir, biz bir char yaratmaq v蓹 o, bir 艧ey qoymaq v蓹
ki, char yaz谋n.
>> STUDENT 60: B蓹li.
>> JASON Hirschhorn n蓹 insanlar d眉艧眉n眉rs眉n眉z?
>> STUDENT 62: Bu convoluted edir.
>> JASON Hirschhorn: OK.
Onu c蓹lb ed蓹k.
Bel蓹 ki, bu d蓹f蓹 m蓹n bu 莽蓹km蓹k gedir蓹m biz sonra burada y谋臒谋n谋 q谋rm谋z谋, v蓹
olacaq -
Ooh!
脺zr ist蓹yirik.
Bu zaman biz deyil蓹n bir 艧ey var bufer v蓹 bu y谋臒谋n谋 var.
D眉z蓹ltm蓹k?
V蓹 biz ilkin, onu q蓹na蓹t edirik.
>> Sonra biz fread 眉莽眉n z蓹ng var.
N蓹 fread bu bir byte edir etmir Bizim fayl v蓹 yerd蓹 qoyur.
Bu n蓹 qoyur 艧ey i艧ar蓹 edir.
B蓹li, biz bu 眉nvan谋 蓹vv蓹l -
0x0.
陌ndi biz n蓹 眉nvan谋 var?
>> STUDENT 63: N蓹 olursa olsun 眉nvan谋 bufer.
>> JASON Hirschhorn: N蓹 olursa olsun 眉nvan谋 bufer.
Bu y蓹qin ki, olacaq ki, kimi bir 艧ey.
Y蓹qin ki, bir b il蓹 ba艧lamaq niyy蓹tind蓹yik v蓹 sonra bir f, v蓹 dig蓹r alt谋 var
hexadecimal r蓹q蓹m.
F蓹rqi yoxdur.
B蓹zi 眉nvan谋.
V蓹 biz daxil ki, 眉nvan谋n谋 ke莽蓹n edirik
>> V蓹 biz bir qoymaq olacaq bu 眉nvanda byte 艧ey.
Bel蓹 ki, biz bir qoymaq olacaq byte 艧ey burada daxili.
V蓹 sonra biz yazmaq olacaq daxilind蓹 burada he莽 n蓹.
He莽 bir sual谋n谋z varm谋 ki, haqq谋nda?
Kim bu kodu i艧l蓹y蓹c蓹k d眉艧眉n眉r?
>> Sizc蓹 sizin 蓹l qald谋rmaq Bu kodu i艧l蓹y蓹c蓹k.
Bir m眉nasib蓹t var.
V蓹 kim bu kodu i艧l蓹m蓹y蓹c蓹k d眉艧眉n眉r?
茝l qald谋rmaq.
Ba艧qa ham谋 olmal谋d谋r 蓹l qald谋rmaq.
OK.
Michael, siz daimi olunur?
>> MICHAEL: M蓹n q蓹rar ver蓹 bil蓹r.
Kind ortas谋nda.
>> JASON Hirschhorn: Siz ist蓹yirik ortada.
Birini se莽in.
>> MICHAEL: I iman laz谋md谋r v蓹 bu i艧 olacaq deyirl蓹r.
>> JASON Hirschhorn: OK.
Siz iman v蓹 i艧l蓹yir dem蓹k laz谋md谋r?
N蓹 oldu?
>> [Interposing S茝SL茝R陌]
>> JASON Hirschhorn: No seg g眉nah.
Nec蓹 kontrol ed蓹 bil蓹rsiniz 蓹g蓹r iki 艧eyi b蓹rab蓹r?
Iki fayllar谋 b蓹rab蓹rdir.
>> T茝L茝B茝 64: F蓹rql蓹ri.
>> JASON Hirschhorn: F蓹rql蓹ri.
Aras谋ndak谋 f蓹rql蓹rin F蓹rql蓹ri 莽ek qaytar谋r iki fayllar谋, v蓹 蓹g蓹r
he莽 bir 艧ey, onlar eyni ist蓹yirik.
Biz a莽maq 蓹g蓹r, biz fayl almaq.
Bel蓹 ki, do臒ru h蓹ll idi.
Bunun bir daha geri n蓹z蓹r salaq.
Biz, h蓹qiq蓹t蓹n, bel蓹 g蓹lm蓹mi艧di ba艧lamaq laz谋md谋r.
>> Bu y蓹qin ki, bir az baxmaq Siz qoymaq olmasayd谋 t蓹miz
orada t蓹sad眉fi bir 艧ey.
Bu point olan, yaratmaq 眉莽眉n laz谋m bir 艧ey saxlamaq 眉莽眉n b蓹zi kosmik
fread v蓹 bir 艧ey almaq fwrite h蓹yata.
V蓹 艧ey idi yerli ya olmaq y谋臒谋n谋 d蓹yi艧蓹n - Siz
b蓹zi kosmik malloc'd etdik bil蓹r.
>> Bel蓹 ki, biz, h蓹qiq蓹t蓹n, ola bil蓹r yaz谋l谋 burada malloc v蓹
ki, 莽al谋艧谋b olard谋.
V蓹 sonra biz saxlan谋lmas谋 olard谋 haradasa y谋臒谋n bizim 艧eyl蓹r.
Amma bu, y蓹qin ki, 蓹slind蓹 蓹n z蓹rif h蓹ll.
Yaln谋z y谋臒谋n谋 bir yer yaratmaq bunlar getm蓹k 眉莽眉n.
>> M蓹n iki 艧蓹rh olard谋.
Siz bu n枚vb蓹sind蓹 almaq, olsayd谋 sonra m蓹nim 艧蓹rh, bu vurdu almaq
a艧a臒谋dak谋 kimi olard谋.
Bu 1 burada, m蓹n蓹 baxmaq sehrli n枚mr蓹l蓹ri kimi.
Bu 1, fread bax谋m谋ndan, 蓹h蓹miyy蓹t k蓹sb edir.
Ki, h蓹r 艧eyi say谋 var oxumaq v蓹 ya yazmaq 眉莽眉n.
>> Amma burada bu bir olmal谋d谋r y蓹qin ki, ba艧qa bir 艧ey ola.
Bel蓹 ki, bir h蓹ll n蓹dir?
>> STUDENT 65: byte 枚l莽眉s眉.
>> JASON Hirschhorn ki kimi?
>> STUDENT 65: char 枚l莽眉s眉.
>> JASON Hirschhorn: char 枚l莽眉s眉.
B蓹li, byte bir n枚v眉 deyil.
Char i艧l蓹rin Bel蓹likl蓹 枚l莽眉s眉.
Biz 眉st ola bil蓹r bizim kodu # ki, m眉蓹yy蓹n.
Bir 艧ey BYTE adl谋 bu, h蓹qiq蓹t蓹n bir char var.
茝slind蓹, daha yax艧谋 yana艧ma Bu ola bil蓹r -
uint.
Kims蓹 Yox Mu ki, n蓹?
>> 脺zr ist蓹yirik.
M蓹n geri var.
He莽 bir, g枚zl蓹yin.
Hans谋 yol getm蓹k edir?
Kims蓹 Yox Mu ki, n蓹?
B蓹li.
>> STUDENT 67: standartla艧d谋rmaq k枚m蓹k alaca臒谋m谋 sisteml蓹ri 艧ey蓹 rast ki,
var - imzalanmam谋艧 integers kimi 8 bayt var ki?
>> JASON Hirschhorn: var do臒ru.
M眉xt蓹lif ma艧谋nlar, bir char 枚l莽眉s眉 -
ad蓹t蓹n bir char.
Chars ad蓹t蓹n bir byte var.
Amma dig蓹r m蓹lumatlar n枚vl蓹ri 枚l莽眉s眉 var 32-bit ma艧谋n m眉xt蓹lif 枚l莽眉l眉
64-bit ma艧谋n qar艧谋.
A uint8_t h蓹mi艧蓹 8 bit edir -
h蓹mi艧蓹 bir byte.
>> M蓹n daxil etm蓹k laz谋md谋r ki, standart int header file.
Bel蓹 ki, indi, bu, y蓹qin ki olard谋 Bu kodu yazmaq 眉莽眉n 蓹n yax艧谋 yoldur.
M蓹n sehrli n枚mr蓹l蓹ri qurtarmaq.
V蓹 m蓹n d蓹 bir daha m蓹ntiqi var bufer 眉莽眉n yaz谋n.
Bu, bir byte, sad蓹c蓹 bir char deyil biz onu g枚zl蓹yirik n蓹.
>> V蓹 burada, biz, h蓹qiq蓹t蓹n var bir az daha m枚hk蓹m olmu艧dur.
Biz, bir char z蓹ng deyilik -
b蓹lk蓹, kim bilir - m眉xt蓹lif ola bil蓹r m眉xt蓹lif ma艧谋nlar 枚l莽眉s眉.
Biz, h蓹qiq蓹t蓹n bu d蓹qiq dey蓹r蓹k edirik bir byte, h蓹mi艧蓹, n蓹 olursa olsun.
Biz burada baxmaq 蓹g蓹r, biz cp etm蓹k.
Ah-oh.
N蓹 oldu?
>> STUDENT 68: Bu i艧蓹 bil蓹r.
>> JASON Hirschhorn: N蓹?
>> STUDENT 69: mi?
>> STUDENT 70: Siz etm蓹di bir n枚v眉 kimi m眉蓹yy蓹n edir.
>> STUDENT 71: Amma olmal谋d谋r standart m眉蓹yy蓹n edil蓹.
>> STUDENT 72: N蓹 olub?
>> STUDENT 73: m眉蓹yy蓹n laz谋md谋r b眉t眉n caps olacaq?
>> JASON Hirschhorn: Bel蓹 ki, deyil # m眉蓹yy蓹n edir.
茝slind蓹, bu halda, m蓹n typedef istifad蓹 etm蓹k olacaq.
Biz kimi istifad蓹 edirik, 莽眉nki bir yeri bir n枚v眉.
Bel蓹 ki, bu halda, biz, h蓹qiq蓹t蓹n ist蓹yir蓹m biz yeni bir n枚v眉 莽ap etdiyiniz kimi typedef
byte, v蓹 bu, mahiyy蓹tc蓹 edir.
Bu # m眉蓹yy蓹n bir az f蓹rqli.
>> 陌ndi, bizim kodu m眉k蓹mm蓹l i艧l蓹yir.
Bel蓹 ki, daha, # bir 艧ey edir m眉蓹yy蓹n, h蓹r yerd蓹 蓹v蓹z
dig蓹r 艧ey il蓹.
Bu, sad蓹c蓹 bir makro var -
stenoqrafiya sehrli n枚mr蓹l蓹ri qurtarmaq 眉莽眉n.
Lakin bu halda, 莽眉nki biz ist蓹yirik bir n枚v眉 kimi istifad蓹 -
burada -
ki, i艧l蓹m蓹k 眉莽眉n, biz laz谋m n蓹 byte typedef 眉莽眉n.
>> V蓹 biz burada m眉蓹yy蓹n edirik.
Bu h蓹qiq蓹t蓹n, bir struct deyil yaln谋z bir imzas谋z tam.
Bu, bir byte uzun.
Bu kodu online m枚vcud ola bil蓹r, v蓹 b眉t眉n indi olmal谋d谋r.
>> Bel蓹 ki, biz -
m眉k蓹mm蓹l -
13 d蓹qiq蓹 getm蓹k 眉莽眉n sol 眉z蓹rind蓹 problem 5 se莽in.
M蓹n birlikd蓹 copy.c vasit蓹sil蓹 g蓹zm蓹k ist蓹yir蓹m sonra biz q谋sa dan谋艧maq laz谋md谋r
dig蓹r hiss蓹l蓹ri haqq谋nda problemin m眉蓹yy蓹n.
M蓹n蓹 copy.c. qoparmaq imkan
V蓹 s蓹rin 艧ey biz, h蓹qiq蓹t蓹n var ki, art谋q bu kodu bir 莽ox yaz谋l谋.
>> Biz s枚z眉n yazd谋 kodu yaln谋z M蓹n zaman burada 莽谋xd谋
枚z Bu yaz谋.
Amma bu, copy.c edir 蓹sas谋n谋 t蓹艧kil ilk iki hiss蓹l蓹ri
whodunit.c 眉莽眉n m眉蓹yy蓹n problem olan yazmaq laz谋md谋r, v蓹 resize.c.
脺莽眉nc眉 v蓹 son olan Recover.c, Bu problem set hiss蓹si deyil,
bu fayl谋 off 蓹saslan谋r.
>> Siz fayl yazmaq laz谋md谋r olacaq, biz ki, bir 艧ablon verm蓹k
fayl, lakin bir 艧ey var copy.c. il蓹
Amma copy.c t蓹艧kil edir, 莽眉nki 陌lk iki hiss蓹l蓹ri, gedirik
陌ndi onun vasit蓹sil蓹 g蓹zm蓹k, bel蓹 ki, var n蓹 yax艧谋 m蓹nada.
>> V蓹 comments b蓹zi 眉z verm蓹k.
Biz art谋q bu b蓹zi yazd谋q.
Birincisi, biz 蓹min edirik biz 眉莽 d蓹lill蓹ri almaq.
Sonra, biz fayl ad谋n谋 xat谋rlayaraq edirik.
Bel蓹likl蓹, biz bu add谋m谋 atm谋艧 zaman biz 艧ey kodlu -
zaman bizim cp.
Amma burada, onlar edirik bir az t蓹miz bu.
>> Onlar 蓹min kontrol edirik h蓹m d蓹 fayllar谋, yax艧谋
onlar谋n a莽谋lmas谋 眉莽眉n 蓹lav蓹.
Biz yaln谋z indi b眉t眉n bu kodu yaz谋b, m蓹n deyil蓹m bu kodu dayanmaq niyy蓹tind蓹 deyil.
Next x眉susi var ki, b蓹zi stuff deyil biz, istifad蓹 etdiyiniz fayllar谋 n枚vl蓹ri olan
bitmap fayllar谋 var.
Bitmap fayllar谋 b蓹zi metadata onlarla ba臒l谋.
>> Bel蓹 ki, bayt ilk bir ne莽蓹 fayl haqq谋nda siz蓹.
Onlar r蓹ng deyil image piksel.
Onlar fayl haqq谋nda siz蓹.
V蓹 siz problem d蓹sti vasit蓹sil蓹 oxumaq 蓹g蓹r, daha 莽ox m蓹lumat laz谋md谋r
metadata strukturlar谋n谋n hans谋 n枚v bitmaps il蓹 daxil edilir.
>> Biz bu ilk niy蓹 Amma ki burada bu kodu - m眉蓹yy蓹n.
Biz metadata oxu -
metadata iki 蓹d蓹d - fayl header v蓹 info header.
V蓹 biz onun b蓹zi hiss蓹l蓹rini yoxlan谋lmas谋 olunur 蓹min 蓹sl bitmap fayl etm蓹k
davam 蓹vv蓹l.
>> V蓹 yen蓹 bu detallar biz 陌ndi getm蓹k laz谋m deyil.
Siz problem d蓹sti vasit蓹sil蓹 oxumaq 蓹g蓹r, Bu ba艧a d眉艧蓹c蓹kl蓹r.
Uzun hekay蓹 q谋sa, bu, yaln谋z s枚yl蓹y蓹r蓹k, bu bir bitmap fayl v蓹
t蓹sdiq.
>> Next, biz bu yaz谋yoruz h蓹yata fayl.
Biz burada g枚r眉r眉k.
Biz h蓹yata g枚st蓹rici yaz谋l谋 edirik.
Sonra, biz padding m眉蓹yy蓹n edirik.
Bel蓹 ki, yen蓹 kimi x眉susiyy蓹tl蓹ri il蓹 bir bitmap fayl, b蓹zi x蓹tl蓹ri daxildir
sonunda padding.
V蓹 siz problem d蓹sti vasit蓹sil蓹 oxumaq 蓹g蓹r, Siz padding haqq谋nda daha 莽ox 枚yr蓹nm蓹k laz谋md谋r.
Bu padding tapmaq 眉莽眉n formula edir.
>> Xat谋rlamaq vacibdir -
Bir bitmap 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k zaman , padding d蓹yi艧iklikl蓹r fayl.
Bir 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k zaman , padding d蓹yi艧iklikl蓹r fayl.
Bu olacaq he莽 3 daha 莽ox -
Bu, 3 daxil 0 olacaq.
Amma 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k zaman bir 艧ey, padding d蓹yi艧iklikl蓹r.
>> M蓹n yaln谋z s谋ra bir pixel varsa, m蓹n , padding 眉莽 bayt laz谋md谋r, 莽眉nki
h蓹r bir sat谋r d枚rd Multiples var bir bitmap fayl uzun bayt.
Amma m蓹n bunu ikiqat 蓹g蓹r, bir pixel getm蓹k 眉莽眉n iki pixel, h蓹r biri,
dey蓹k, bir byte, sonra ehtiyac etm蓹k 眉莽眉n padding iki bytes
d枚rd b蓹rab蓹r.
>> M蓹n bir 艧ey 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k zaman, M蓹n m蓹bl蓹臒i d蓹yi艧dirm蓹k laz谋md谋r
padding M蓹n.
H蓹r k蓹s蓹 m蓹nada edirmi?
Sonra, biz h蓹r c蓹rg蓹 眉z蓹rind蓹 t蓹krarlamaq, v蓹 ya b眉t眉n sat谋r vasit蓹sil蓹.
V蓹 sonra biz vasit蓹sil蓹 t蓹krarlamaq H蓹r bir s谋ra h蓹r s眉tun.
Biz kimi bu bitmap m眉alic蓹 edirik bir grid kimi biz m眉alic蓹 etdik
15 board.
>> Kimi biz k蓹rpic m眉alic蓹 zaman Biz ekranda onlar谋 莽ap.
Sat谋r ve s眉tun A grid.
Sonra - biz bu g枚rd眉m.
Biz, h蓹qiq蓹t蓹n, yaln谋z bu kodlu.
Biz b蓹zi m眉v蓹qq蓹ti saxlama yarad谋lm谋艧d谋r.
Biz sonra oxumaq, v蓹 biz onu yazmaq.
Bu biz yaln谋z n蓹 d蓹qiq deyil.
>> Dedim Next, 莽眉nki h蓹r bir line b蓹zi padding ba艧a 莽at谋r, biz
ki, padding 眉z蓹rind蓹 ke莽m蓹k -
k枚hn蓹 padding.
V蓹 sonra biz onu geri 蓹lav蓹 edin.
Bu halda, biz yaratmaq edirik eyni d蓹qiq file.
Biz yaln谋z bunu 莽谋xarmaq edirik.
Bel蓹 ki, bu x蓹tt c眉r silly edir.
Biz bil蓹r s枚z眉n yaln谋z daxil padding qoymaq
>> Amma fayl谋n谋n 枚l莽眉s眉 d蓹yi艧dirm蓹k 蓹g蓹r, Siz h蓹l蓹 bu x蓹tt ist蓹yirsiniz?
Biz bir fayl 枚l莽眉s眉n眉 d蓹yi艧dirm蓹k 蓹g蓹r, biz h蓹l蓹 ke莽m蓹k ist蓹yir蓹m
k枚hn蓹 padding 眉z蓹rind蓹?
>> STUDENT 74: B蓹li.
>> JASON Hirschhorn: B蓹s biz n蓹.
Bu, yen蓹, s枚vd蓹l蓹艧m蓹 脟眉nki m蓹nb蓹 fayl谋.
Biz padding haqq谋nda qay臒谋 yoxdur m蓹nb蓹 fayl谋.
Biz n枚vb蓹ti line getm蓹k ist蓹yir蓹m.
Amma biz sad蓹c蓹 geri qoymaq deyil padding k枚hn蓹 m蓹bl蓹臒i.
Biz geri qoymaq laz谋md谋r padding yeni m蓹bl蓹臒i.
>> Bel蓹likl蓹, biz bir 枚l莽眉s眉 d蓹yi艧dirilm蓹si oldu臒unuz zaman fayl, biz h蓹l蓹 眉z蓹rind蓹 ke莽m蓹k ist蓹yir蓹m
k枚hn蓹 fayl padding - n蓹 biz oxuyursunuz.
Amma biz yaz谋l谋 ne biz gedirik B蓹zi m眉xt蓹lif geri qoymaq laz谋md谋r
padding say谋 ki, biz m眉蓹yy蓹n etdik.
B蓹li.
>> STUDENT 75: bu iki qaydas谋 x蓹tl蓹ri sa臒, f蓹rqi yoxdur?
Siz user edirik, 莽眉nki m眉xt蓹lif fayllar谋.
>> JASON Hirschhorn: Exactly.
Bu iki x蓹tl蓹ri qaydas谋 f蓹rqi yoxdur.
Biz bu x蓹tti yaz谋n.
Bu fayl 眉莽眉n burada biz yaz谋l谋 edirik.
Ki, vacibdir, bel蓹 ki, biz almaq padding h眉ququ m蓹bl蓹臒i.
Bu fayl il蓹 m蓹艧臒ul var.
Biz ke莽m蓹k ist蓹yir蓹m padding 眉z蓹rind蓹.
>> Biz oxumaq ist蓹mir蓹m -
biz bir d蓹f蓹 bir byte oxu edirsinizs蓹, biz o padding bayt haqq谋nda qay臒谋 yoxdur.
Biz n枚vb蓹ti line h蓹r蓹k蓹t etm蓹k ist蓹yir蓹m.
N蓹hay蓹t Lucy bizim 眉莽眉n verdi kimi, biz fayllar谋 yax谋n v蓹 0 qay谋tmaq.
Bel蓹 ki, bu copy.c. edir
V蓹 biz h蓹qiq蓹t蓹n yazd谋 - biz 蓹n s蓹rf mahiyy蓹tc蓹, bu yaz谋 b枚lm蓹.
>> Siz bu etmi艧dir.
Bel蓹 ki, in艧allah yax艧谋 bir hissi var Burada neler edir.
B枚y眉k f蓹rq, vicdanla, yaln谋z il蓹 m蓹艧臒ul ki, bu ilk hiss蓹si
bitmap fayllar谋 x眉susiyy蓹tl蓹ri.
M蓹n, m蓹nim n枚vb蓹ti slayd kimi var biz n蓹 眉莽眉n laz谋md谋r?
Yax艧谋, whodunit d眉艧眉nm蓹y蓹 imkan verir.
>> V蓹 kims蓹 眉莽眉n olan vasit蓹sil蓹 oxumaq Problem set, biz n蓹
whodunit n蓹 etm蓹k laz谋md谋r?
Sad蓹c蓹.
Aleja.
>> Aleja: Siz i艧tirak ed蓹 bil蓹r q谋rm谋z谋 bildirir ki, h蓹r piksel.
V蓹 sonra -
c眉r?
>> JASON Hirschhorn: OK.
Bel蓹 ki, h蓹r hiss蓹si 莽谋xarmaq q谋rm谋z谋 bildirir ki, pixel.
Ki, b眉t眉n yax谋n, lakin deyil.
>> STUDENT 76: B蓹li, var bunu m眉xt蓹lif yollarla.
>> JASON Hirschhorn: OK.
M蓹n蓹 bir yol verir.
>> STUDENT 76: b眉t眉n q谋rm谋z谋 almaq v蓹 sonra vur臒ulamaq mavi v蓹 ya艧谋l.
>> JASON Hirschhorn: OK.
Bel蓹 ki, bu yollar谋, h蓹m d蓹 verilir -
biz bir pixel verm蓹k kimi, s蓹sl蓹nir, bu a, q谋rm谋z谋, mavi, ya艧谋l s蓹viyy蓹sind蓹 var.
Biz nisbi s蓹viyy蓹si d蓹yi艧dirm蓹k ist蓹diyiniz Bu as谋l谋 olaraq, q谋rm谋z谋, mavi, ya艧谋l
ki, pixel haqq谋nda.
Bu kodu biz d蓹yi艧dirm蓹k laz谋md谋r nisbi q谋rm谋z谋, mavi, ya艧谋l
bir pixel s蓹viyy蓹si.
Biz oxumaq sonra -
biz onu yazmaq 蓹vv蓹l?
M蓹n蓹 line s谋ra verir.
>> Birden T茝L茝B茝L茝R: 83.
>> JASON Hirschhorn: 83.
Bel蓹 ki, burada.
Whodunit 眉莽眉n, kodu siz蓹 laz谋m write b眉t眉n orada getm蓹k laz谋md谋r.
V蓹 yaln谋z kod yazmaq laz谋md谋r.
Biz e艧itdim kimi, b眉t眉n etm蓹k laz谋md谋r, 莽眉nki etm蓹k, bu nisbi mavi d蓹yi艧dirm蓹k
h蓹r pixel q谋rm谋z谋, ya艧谋l s蓹viyy蓹si.
>> Siz oxumaq etdik v蓹 indi ist蓹yirik onu yazmaq 眉莽眉n gedir.
Nec蓹 蓹ld蓹 edirsiniz - M蓹n bu 艧ey varsa burada, 眉莽 adlan谋r v蓹 bu, var
RGBTRIPLE yaz谋n -
yax艧谋, biz bmp.h baxd谋 蓹g蓹r, RGBTRIPLE n蓹dir?
>> STUDENT 77: Bu struct var.
>> JASON Hirschhorn: RGBTRIPLE yap谋'n.
Biz a艧a臒谋 burada g枚r眉r眉k.
V蓹 m蓹n, dem蓹k, 莽谋x谋艧 etm蓹k ist蓹diyini, 蓹g蓹r struct q谋rm谋z谋 s蓹viyy蓹si, nec蓹 M蓹n
bu struct q谋rm谋z谋 s蓹viyy蓹si daxil olmaq?
>> [CLASS Murmurs]
>> STUDENT 78: RGBTRIPLE.rgbtred?
>> JASON Hirschhorn: El蓹dir?
>> STUDENT 79: Bu 眉莽 olmal谋d谋r 蓹v蓹zin蓹 RGBTRIPLE dot dot?
>> JASON Hirschhorn: Triple.
Triple yerli d蓹yi艧蓹n, bel蓹 ki, burada, burada he莽 bir g枚st蓹ricil蓹r var.
Bel蓹likl蓹, biz yaln谋z dot notation istifad蓹 edin.
Bu m蓹n蓹 q谋rm谋z谋 s蓹viyy蓹d蓹 ver蓹c蓹k.
M蓹n bunu d蓹yi艧m蓹k ist蓹yirsinizs蓹, m蓹n yaln谋z m眉蓹yy蓹n m眉xt蓹lif bir 艧ey b蓹rab蓹rdir.
Bel蓹 ki, yen蓹 kodu bu x蓹tt 莽atmaz bu struct daxilind蓹 d蓹yi艧蓹n, v蓹
biz yeni bir 艧ey 眉莽眉n qura bil蓹rsiniz.
>> Bel蓹 ki whodunit 眉莽眉n, yenid蓹n, bu, 蓹slind蓹, biz n蓹 etm蓹k laz谋md谋r.
脟ox sad蓹.
Yaln谋z b蓹zi nisbi s蓹viyy蓹si d蓹yi艧dirm蓹k v蓹 kod gedir bu deyil.
Dig蓹r t蓹r蓹fd蓹n, 枚l莽眉s眉n眉, bir az trickier edir.
茝slind蓹, 枚l莽眉s眉n眉 y蓹qin ki, Bu problemin trickiest hiss蓹si se莽in.
Biz art谋q getm蓹k 眉莽眉n 眉莽 d蓹qiq蓹 var.
>> Ancaq yen蓹 d蓹, biz art谋q yazd谋q Bu kodu 莽ox, bel蓹 ki, biz
olduqca tan谋艧 olmal谋d谋r.
Biz n蓹 ist蓹diyim b蓹zi 艧eyl蓹r hans谋lard谋r Siz art谋q oxumaq sonra 蓹g蓹r, 枚l莽眉s眉n眉
Problem set?
S蓹n onlar谋 m蓹n蓹 vers蓹l蓹r, biz onlar haqq谋nda dan谋艧maq olar.
Biz n蓹 ist蓹yirik b蓹zi 艧eyl蓹r hans谋lard谋r?
>> STUDENT 80: 艦aquli -
bel蓹 ki, 眉f眉qi 枚l莽眉s眉n眉 var lakin 艧aquli el蓹c蓹 枚l莽眉s眉n眉?
>> JASON Hirschhorn: Biz sunulur 蓹g蓹r pixel, v蓹 biz bir t蓹r蓹find蓹n 枚l莽眉s眉n眉 ist蓹yir蓹m
iki amil, indi olmal谋d谋r 眉f眉qi boyutland谋r谋l谋r v蓹 boyutland谋r谋l谋r
艧aquli.
Ki, hissi edirmi?
B蓹li.
Bel蓹 ki, y蓹qin ki, var b枚y眉k problem.
V蓹 biz bir Saniy蓹 ki, haqq谋nda dan谋艧maq laz谋md谋r.
B蓹li.
>> STUDENT 81: M蓹n bu fikir yolu Siz 莽ap h蓹yata laz谋m idi -
>> JASON Hirschhorn: g枚zl蓹yin.
Siz n蓹 biz蓹 deyil.
Biz m蓹ntiq dan谋艧maq olacaq.
>> STUDENT 81: OK.
Sual n蓹 idi?
>> JASON Hirschhorn: Siz yaln谋z Sizin 蓹l qald谋rd谋.
He莽 bir sual var idi.
M蓹n蓹 t蓹qdim ed蓹k.
M蓹n蓹 yaln谋z bu q谋sa m眉zakir蓹 ed蓹k.
Bel蓹 ki, biz, biz bir pixel ist蓹yir蓹m h蓹m 眉f眉qi, onu kopya v蓹
艧aquli.
Bel蓹 ki, ideal n蓹 biz burada, biz Bizim pixel oxumaq, biz onu yazmaq
d蓹f蓹 lakin 莽ox.
>> Amma sonra biz, burada oyun var, 莽眉nki sonra biz ke莽m蓹k ist蓹yir蓹m
n枚vb蓹ti line v蓹 yazmaq n枚vb蓹ti x蓹tti ba艧layan.
Bel蓹likl蓹, biz h蓹m kopya etm蓹k ist蓹yirsinizs蓹 眉f眉qi v蓹 艧aquli, n蓹
Bunu etm蓹k 眉莽眉n yax艧谋 bir yol -
yax艧谋 bir olsa bunu?
Bel蓹likl蓹, biz daim axtarmaq laz谋m deyil Bizim fayl 蓹traf谋nda 艧eyi yerl蓹艧dirm蓹k.
>> Bu sual ola bil蓹r m蓹nada, amma d眉艧眉n眉r蓹m
ona cavab k枚m蓹k ed蓹c蓹k.
>> STUDENT 82: bir s谋ra yarad谋n?
>> JASON Hirschhorn: Bel蓹 ed蓹k edir蓹m bir s谋ra kimi h蓹r bir fayl.
Nin sat谋r bax谋m谋ndan hesab ed蓹k.
Biz ki莽ik bizim ilk s谋raya varsa 艧蓹kil, biz ki, s谋ra ed蓹 bil蓹rsiniz
b枚y眉k bir 艧蓹kil bir b枚y眉k s谋ra daxil, v蓹 sonra Lakin ki, s谋ra kopya
bu t蓹krar etm蓹k laz谋md谋r bir 莽ox d蓹f蓹, daha pixel pixel t蓹r蓹find蓹n ged蓹n daha,
zaman confusing olur fayllar谋 il蓹 m蓹艧臒ul.
>> Biz 蓹g蓹r 莽眉nki -
I yer h蓹yata 莽al谋艧an al谋ram.
Bu, bizim fayl v蓹 biz var ki, 蓹g蓹r orada bir pixel, v蓹 biz bunu qoymaq ist蓹yir蓹m
orada, biz h蓹l蓹 d蓹 b蓹zi 艧eyl蓹r var orada biz oldu臒unuzda getm蓹k laz谋md谋r ki,
yaz谋l谋 v蓹 yeni fayl yaratmaq -
Bizim fayl ki, iki d蓹f蓹 b枚y眉k.
>> Amma bu fayl funksiyalar谋 il蓹 h蓹qiq蓹t蓹n 莽蓹tindir yeni x蓹tl蓹rin 蓹traf谋nda ke莽m蓹k
kimi, sonra burada geri v蓹 orada 艧eyi qoymaq.
Bu 艧ey 眉莽眉n dem蓹k olar ki, m眉mk眉n deyil ki, kimi ki, anlaml谋 蓹g蓹r.
Biz sat谋r bax谋m谋ndan hesab edir蓹m ki, bel蓹 ki, biz bizim s谋ra almaq v蓹 sonra qoyun -
艧aquli sat谋r kopya.
>> V蓹 biz boyutland谋rma il蓹 m蓹艧臒ul nec蓹 艧aquli 眉f眉qi deyil.
Bu c眉r s眉r蓹tli idi v蓹 bir az confusing.
T蓹蓹ss眉f ki, bizim vaxt q蓹d蓹r.
M蓹n sizin 眉莽眉n k蓹narda durmaq ed蓹c蓹k burada haqq谋nda suallar谋n谋z olan
b蓹rpa, o c眉ml蓹d蓹n problem set.
>> Bel蓹 ki, indi 眉莽眉n t蓹xir蓹 bildirin.
V蓹 yen蓹, H蓹r hans谋 bir sual谋n谋z varsa, Biz k蓹narda sohbet ed蓹 bil蓹rsiniz.