[MUSIC PLAYING]
>> DAVID J. MALAN: B眉t眉n sa臒, bu CS50 edir.
Bu h蓹ft蓹 biridir.
Bel蓹 ki, h蓹ft蓹 s谋f谋r ki, son d蓹f蓹 xat谋rlay谋ram, biz hesablama d眉艧眉nc蓹 diqq蓹t.
V蓹 biz ki transitioned Scratch, qrafik proqramla艧d谋rma
Bizim dostlar谋n dil M陌T-in Media Lab.
>> V蓹 Scratch il蓹, biz ara艧d谋rmaq idi funksiyalar谋 kimi fikir v蓹 艧蓹rtl蓹ri,
v蓹 loops v蓹 d蓹yi艧蓹nl蓹rin v蓹 h蓹tta hadis蓹l蓹r v蓹 m枚vzular谋, v蓹 daha 莽ox.
Bu g眉n biz olacaq h蓹min ideyalar谋 istifad蓹 ed蓹r蓹k, davam,
v蓹 h蓹qiq蓹t蓹n onlar谋 alaraq verilmi艧, lakin onlara t蓹rc眉m蓹
C. 陌ndi kimi tan谋nan ba艧qa bir dil, C daha 蓹n蓹n蓹vi dilidir.
Bu a艧a臒谋 s蓹viyy蓹d蓹 var dil, siz olacaq.
>> Bu s谋rf m蓹tn var.
V蓹 bel蓹 ki, ilk bax谋艧dan, bu b眉t眉n olduqca sirli baxmaq olacaq
蓹vv蓹l proqramla艧d谋r谋lm谋艧 he莽 varsa.
Biz olacaq yar谋 colons v蓹 parantez,
q谋vr谋m a艧谋rma, v蓹 daha.
Amma h蓹tta h蓹yata syntax olsa
tan谋mad谋臒谋 bir az baxmaq haqq谋nda Siz 蓹n ki, ke莽mi艧 oldu.
V蓹 ideyalar谋 g枚rm蓹k 眉莽眉n c蓹hd ki, h蓹qiq蓹t蓹n, tan谋艧,
Burada h蓹ft蓹d蓹 bir 莽眉nki biz m眉qayis蓹 etm蓹k n蓹 ba艧lamaq laz谋md谋r
ilkin C. qar艧谋 Scratch
>> Bel蓹 ki, m蓹s蓹l蓹n, geri zaman ki, Bizim proqramlar谋n ilk t蓹tbiq
Sonuncu d蓹f蓹 biz baxd谋 bir blok idi 艧eyl蓹rdir zaman kimi bir az bir 艧ey
ya艧谋l bayraq t谋klayan v蓹 sonra ke莽irdik a艧a臒谋dak谋 bir v蓹 ya daha puzzle 蓹d蓹d,
bu halda, salam d眉nya, deyirl蓹r.
Bel蓹 ki, h蓹qiq蓹t蓹n, Not, Hesab edir蓹m ki, ya艧谋l bayra臒谋 bas谋n
Bel蓹 ki, m蓹nim proqram run bunlar dan谋艧maq
edam almaq bloklar谋, v蓹 ya run.
V蓹 x眉susil蓹, Scratch hello, d眉nya bildirib.
>> 陌ndi m眉蓹yy蓹n ola bil蓹r burada m眉xt蓹lif s枚zl蓹ri.
Amma biz, h蓹qiq蓹t蓹n, ki, bir 莽ox g枚r蓹c蓹ksiniz H蓹qiq蓹t蓹n, bu blocks-- v蓹,
C 莽ox funksiyalar谋 ola bil蓹r parametrized v蓹 ya 枚zelle艧tirilmi艧
f蓹rqli 艧eyl蓹r etm蓹k.
茝slind蓹, C biz 蓹g蓹r indi 莽evirm蓹k ist蓹yirsinizs蓹,
Bu Scratch proqram bu dig蓹r dil,
biz yazmaq olacaq bu kimi ki莽ik bir 艧ey.
>> D眉zd眉r, b蓹zi tan谋mad谋臒谋 var orada syntax 莽ox g眉man ki, int,
v蓹 parantez, v蓹 etibars谋z.
Siz baxmayaraq Lakin h蓹tta printf yaln谋z 莽ap olard谋.
Amma 莽ap 莽ap dem蓹kdir biz tezlikl蓹 g枚r蓹c蓹ksiniz kimi, bi莽imlendirilmi艧.
Bu s枚z眉n 莽ap ed蓹c蓹k ekran n蓹
O parantez daxilind蓹 olan 茝lb蓹tt蓹, bu halda, salam d眉nya.
>> Amma b蓹zi dig蓹r g枚r蓹c蓹ksiniz syntax b蓹zi double quotes,
ki, sonunda parantez, yar谋 kolon kimi.
Bel蓹 ki, yer眉st眉 bir az var, bel蓹 ki, dan谋艧maq, h蓹m cognitively 眉莽眉n
v蓹 syntactically, biz olacaq ki, uzun 蓹vv蓹l xat谋rlamaq laz谋md谋r.
Lakin, t蓹cr眉b蓹 il蓹 d蓹rk Bu siz蓹 s谋莽ramaq ba艧layacaq.
>> 茝slind蓹, ki bir diqq蓹t ed蓹k funksiyas谋, bu halda specifically--
salam d眉nya dem蓹k.
Bel蓹 ki, funksiyas谋 dem蓹k.
Hello d眉nya onun parametri, v蓹 ya d蓹lil onun 枚zelle艧tirme.
>> V蓹 C ekvivalentlik yaln谋z Burada bu bir x蓹tt olacaq,
printf b蓹rab蓹r oldu臒u, dem蓹k double sitat string, salam
d眉nya, 蓹lb蓹tt蓹, b蓹rab蓹rdir orada a臒 qutusuna n蓹 眉莽眉n.
V蓹 backslash n, bir az olsa q蓹rib蓹 v蓹 s谋f谋rdan yox,
sad蓹c蓹 biz laz谋md谋r t蓹sir gedir komp眉ter g枚rm蓹k m蓹nim Mac v蓹 ya PC kimi,
yaln谋z h蓹r蓹k蓹t n枚vb蓹ti line kursor.
Bu vuru艧 kimi Klavyenizdeki daxil edin.
>> Bel蓹 ki, biz uzun 蓹vv蓹l daha g枚r蓹c蓹ksiniz.
Lakin ilk, bu n蓹z蓹r salaq loops halda dig蓹r n眉mun蓹sidir.
Biz son d蓹f蓹 bu 蓹b蓹di loop idi puzzle 蓹d蓹d bir s谋ra idi
ki, sanki bir 艧ey etdi bu halda 蓹b蓹di,
dem蓹k, salam d眉nya, salam d眉nya, salam d眉nya, salam d眉nya.
Bel蓹 ki, dizayn sonsuz loop var.
>> C, biz bu h蓹yata ke莽irm蓹k ist蓹yirsinizs蓹 Eyni fikir, biz sad蓹c蓹 bunu ed蓹 bil蓹r.
do臒ru olsa da, salam printf indi v眉cuda is蓹 yaln谋z semantically c眉r
bunu fikir q蓹d蓹r conjures bir 艧ey yenid蓹n v蓹 yenid蓹n v蓹 yenid蓹n,
v蓹 n蓹 q蓹d蓹r?
Yax艧谋, true-- geri ki, 蓹sl yaln谋z v蓹 ya biridir.
>> V蓹 蓹sl h蓹mi艧蓹, 蓹lb蓹tt蓹, do臒rudur.
Bel蓹 ki, m蓹nas谋z c眉r b蓹yanat yaln谋z do臒ru dem蓹k.
艦眉bh蓹siz ki, bu, q蓹sd蓹n 蓹sl yaln谋z h蓹mi艧蓹 do臒ru, 莽眉nki,
蓹sl yaln谋z n蓹z蓹rd蓹 tutur is蓹 daha dolay谋 bir az 蓹g蓹r,
kod a艧a臒谋dak谋 x蓹tt ki, bu q谋vr谋m a艧谋rma aras谋nda
yaln谋z yenid蓹n v蓹 yenid蓹n icra etm蓹lidir, v蓹 yenid蓹n v蓹 h蓹qiq蓹t蓹n dayand谋rmaq he莽 vaxt.
>> Amma ist蓹yir蓹m 蓹g蓹r sizin loop biz kimi, dayand谋rmaq 眉莽眉n
kimi bir 艧ey il蓹 son d蓹f蓹 idi Bu, a艧a臒谋dak谋 50 d蓹f蓹 t蓹krar
C, biz n蓹 il蓹 eyni ed蓹 bil蓹rsiniz s枚z loop 眉莽眉n 莽a臒谋r谋b
is蓹, lakin olmayan.
V蓹 sonra biz burada b蓹zi yeni sintaksis var int i, i az 50 0 b蓹rab蓹rdir
i ++.
V蓹 biz geri g蓹lm蓹k laz谋md谋r.
Amma bu sad蓹c蓹 nec蓹 biz Scratch bloklar谋n谋n s谋ra t蓹rc眉m蓹
kod C x蓹tl蓹ri bir s谋ra.
>> Eyni zamanda, d蓹yi艧蓹nl蓹r hesab edir.
V蓹 蓹slind蓹, biz yaln谋z bir an 蓹vv蓹l bir g枚rd眉m.
V蓹 Not halda, biz 蓹g蓹r i adl谋 d蓹yi艧蓹n elan ist蓹di
i tam oldu臒u 眉莽眉n, yaln谋z bir s谋ra v蓹 biz bir d蓹y蓹ri m眉蓹yy蓹n etm蓹k ist蓹yirsinizs蓹,
Biz bu nar谋nc谋 istifad蓹 edir blok burada i 0 se莽in.
>> V蓹 biz bu g眉n g枚r蓹c蓹ksiniz v蓹 k蓹narda, yaln谋z son h蓹ft蓹 kimi,
proqram莽谋lar dem蓹k olar ki, h蓹mi艧蓹 h蓹qiq蓹t蓹n, s谋f谋rdan hesablanmas谋 ba艧lamaq
Konvensiya t蓹r蓹find蓹n.
Lakin geri 莽眉nki ikili bizim m眉zakir蓹,
ki莽ik say谋 bil蓹rsiniz bit h蓹r hans谋 bir say谋 t蓹msil edir
yaln谋z 0 枚z眉 olacaq.
V蓹 bel蓹 ki, biz 眉mumiyy蓹tl蓹 ba艧lamaq laz谋md谋r 0 h蓹tta d蓹yi艧蓹nl蓹rin ba艧lat谋l谋yor.
>> V蓹 C, eyni etm蓹k biz int dem蓹k olacaq
tam 眉莽眉n, yaln谋z Konvensiyan谋n edir.
M蓹n bu d蓹yi艧蓹n 莽a臒谋r谋b bil蓹r bir 艧ey M蓹n yaln谋z Not kimi, ist蓹yir蓹m.
V蓹 sonra 0 yaln谋z verir b蓹rab蓹rdir sa臒 d蓹y蓹r 0
v蓹 d蓹yi艧蓹n onu qoyur, ya sol, orada storage konteyner.
V蓹 yar谋 kolon biz see-- laz谋md谋r v蓹 bu already-- bir ne莽蓹 g枚rd眉m
Yaln谋z fikir sonu dem蓹kdir.
ba艧qa bir 艧ey davam t蓹qib x蓹tl蓹ri 眉zr蓹.
>> 陌ndi n蓹 Boolean ifad蓹l蓹r haqq谋nda?
Not Xat谋rladaq ki, bu ifad蓹l蓹r idi
ya do臒ru oldu臒unu v蓹 ya yalan suallar
h蓹qiq蓹t蓹n, do臒ru v蓹 ya yalan ya var ki.
Bel蓹 Not halda, biz bil蓹r ox艧ar sad蓹 sual,
i 50-d蓹n az?
M蓹n yen蓹 bir tam deyil.
B蓹lk蓹 biz istifad蓹 etdiyiniz Not proqram谋
bir hesab takip v蓹 ya kimi bir 艧ey.
Not burada Bel蓹 ki, bu syntax Yaln谋z i 50-d蓹n az dem蓹kdir?
Yax艧谋, t蓹艧蓹kk眉rl蓹, bir 艧ey deyil C. v蓹 t蓹rc眉m蓹 眉莽眉n sad蓹,
bu sad蓹c蓹 az m蓹n dey蓹rdim 50-d蓹n 莽ox tan谋艧 d眉ym蓹sini istifad蓹
Klavyenizdeki.
>> Eyni zamanda, 蓹g蓹r ist蓹yirdi bir 艧ey daha 眉mumi dem蓹k,
kimi, yax艧谋, y h蓹r bir daha x az x v蓹 y 枚zl蓹ri d蓹yi艧蓹nl蓹r var?
Biz eyni 艧ey ed蓹 bil蓹rsiniz C, bel蓹 uzun biz sizin kimi
art谋q bu d蓹yi艧蓹nl蓹rin yaratm谋艧d谋r.
V蓹 biz nec蓹 g枚r眉rs眉n眉z uzun 蓹vv蓹l bunu.
Biz sad蓹c蓹 y daha x az dem蓹k olard谋.
>> Bel蓹 ki, 眉莽眉n ba艧lan臒谋c edirik b蓹zi ox艧arl谋qlar g枚rm蓹k.
etdi v蓹 o insanlar Scratch 蓹lb蓹tt蓹 idi
Bu 蓹sas ideyalar谋 b蓹zi ilham.
V蓹 bu c眉r g枚r蓹c蓹ksiniz 莽ox dill蓹rd蓹 sintaksis
yaln谋z deyil, Scratch yaln谋z C, lakin Python,
v蓹 JavaScript, v蓹 h蓹l蓹 dig蓹r dill蓹rd蓹.
>> Ba艧qa bir tikintinin n蓹z蓹rd蓹n ke莽ir蓹k C, v蓹ziyy蓹ti anlay谋艧谋,
艧蓹rti bir 艧ey bunu.
Bir 艧ey do臒ru deyil, bunu.
ba艧qa bir 艧ey do臒ru deyil, bunu.
Bu proqramla艧d谋rma sort yolun bir 莽蓹ng蓹l b蓹rab蓹r.
B蓹lk蓹 iki yol 莽蓹ng蓹l var, 眉莽 yol 莽蓹ng蓹l, v蓹 ya daha 莽ox.
V蓹 Not, biz ola bil蓹r bu kimi bir 艧ey g枚r眉nd眉y眉.
>> Bel蓹 ki, bu bir b枚y眉k biridir.
Lakin nisbi hesab m蓹ntiq sad蓹lik.
x y azd谋rsa, onda x az dem蓹k y daha x y daha b枚y眉k ba艧qa 蓹g蓹r,
sonra x y daha 莽ox oldu臒unu s枚yl蓹yirl蓹r.
V蓹 sonra, m蓹ntiqi, 蓹g蓹r Siz Not geri edir蓹m
v蓹 ya yaln谋z 枚z insan intuisiya, yax艧谋, x y 眉st眉n deyil, 蓹g蓹r, v蓹 x
茝lb蓹tt蓹, sonra y az deyil x y b蓹rab蓹r olacaq.
bu halda, qu艧 balas谋 il蓹 So o Scratch bloklar谋,
biz 眉莽 nail ola bil蓹r yol yol fork?
>> Eyni zamanda, biz ist蓹yirsinizs蓹 Bu arguably, C bunu
蓹n az谋 bir az simpler-- g枚r眉n眉r Siz sintaksis il蓹 tan谋艧 d蓹f蓹.
x y azd谋rsa, printf x y azd谋r.
x y daha b枚y眉k olduqda Else, printf x y daha b枚y眉kd眉r.
Else printf x, y-- v蓹 b蓹rab蓹rdir yen蓹 olanlar backslash yaln谋z bitir
bu yeni x蓹tl蓹ri 眉莽眉n ki, 蓹g蓹r bel蓹 h蓹qiq蓹t蓹n proqram bu c眉r qa莽d谋
yaln谋z h蓹r蓹k蓹t olard谋 Sizin kursor n蓹tic蓹d蓹
Ekran谋n n枚vb蓹ti line.
>> 陌ndi is蓹 Scratch dig蓹r idi daha m眉r蓹kk蓹b x眉susiyy蓹tl蓹ri, yaln谋z
olan b蓹zi biz olacaq ilkin C. d眉nya 眉z蓹rind蓹 h蓹r蓹k蓹t
Onlar谋n biri idi Not siyah谋s谋 莽a臒谋r谋b.
V蓹 bu x眉susi idi d蓹yi艧蓹n n枚v眉 ki,
Bir ne莽蓹 艧eyi saxlamaq 眉莽眉n icaz蓹 geri bu, geri, geri, geri.
>> C, bu yoxdur siyah谋lar谋, 枚zl眉y眉nd蓹, lakin bir 艧ey
眉mumiyy蓹tl蓹 ki, , Seriallarda baxmayaraq ki, biz laz谋md谋r 莽a臒谋r谋b
sonra bu d枚vr geri qay谋tmaq bir 艧ey axtar谋r
bir siyah谋s谋, v蓹 ya, h蓹qiq蓹t蓹n, bir ba臒l谋 siyah谋 莽a臒谋r谋b.
Amma yax谋n indi bizim 眉莽眉n C ekvivalent
bir 艧ey olacaq bir s谋ra 莽a臒谋r谋b.
V蓹 bir s谋ra sad蓹c蓹 bir deyil d蓹yi艧蓹n x眉susi n枚v眉
ki, m蓹lumat saxlamaq 眉莽眉n imkan verir geri geri, geri, geri.
>> V蓹 h蓹qiq蓹t蓹n, Not, biz daxil olmaq ist蓹yirdi
bir s谋ra ilk element v蓹 ya bir list-- v蓹 m蓹n onu z蓹ng etm蓹k 眉莽眉n gedir蓹m
Konvensiya, argv, d蓹lil il蓹 vektor, lakin daha uzun 蓹vv蓹l.
M蓹n ilk element almaq ist蓹yirsinizs蓹 of Not d眉nyada, argv
Siz, h蓹qiq蓹t蓹n, ad蓹t蓹n n蓹 1-d蓹n hesablanmas谋 ba艧lamaq.
>> V蓹 m蓹n argv 1-ci b蓹ndi 蓹ld蓹 ed蓹 bil蓹r.
Bu MIT h蓹yata nec蓹 var siyah谋lar谋 anlay谋艧谋.
Lakin C, m蓹n gedir蓹m daha 莽ox sad蓹c蓹 dem蓹k, argv,
yen蓹 ad谋 m蓹nim list-- v蓹 ya ayd谋n olmaq, bir s谋ra.
M蓹n ilk ist蓹yirsinizs蓹 elementl蓹ri, m蓹n gedir蓹m
, Kvadrat m枚t蓹riz蓹d蓹 istifad蓹 眉莽眉n t蓹艧蓹kk眉r tez-tez klaviatura il蓹 istifad蓹 ed蓹 bil蓹r.
>> Amma 0 yaln谋z o dem蓹kdir ki, m蓹n蓹 ilk almaq.
Bel蓹 ki, m眉nasib蓹til蓹 v蓹 vaxt gedirik edir
Bu dichotomies g枚rm蓹k 眉莽眉n ba艧lamaq 眉莽眉n Not v蓹 C aras谋nda,
vasit蓹si Scratch istifad蓹 edir.
C Biz burada 0 istifad蓹 edin.
Amma tez g枚r眉rs眉n眉z Sonra ba艧a d眉艧眉r蓹m
H蓹r dil t蓹m蓹ll蓹ri ki, bunlar daha almaq 眉莽眉n ba艧lamaq
t蓹cr眉b蓹 v蓹 t蓹cr眉b蓹 vasit蓹sil蓹 tan谋艧.
>> Bel蓹 ki, h蓹qiq蓹t蓹n bir proqram indi baxaq.
Burada C ilk olacaq tam proqramlar谋 眉莽眉n m蓹nb蓹 kodu.
V蓹 proqram gedirik bax谋lmas谋 眉莽眉n t蓹klif
ekvivalent var bir ki, 蓹vv蓹ll蓹r Scratch par莽a.
>> burada Bel蓹 ki, biz n蓹 var arguably sad蓹 C proqram
ki, yaza bil蓹rsiniz h蓹qiq蓹t蓹n bir 艧ey yoxdur.
陌ndi biz ke莽mi艧 baxmaq laz谋md谋r, 陌ndi daxildir ki,
standart io.h v蓹 bu bucaq m枚t蓹riz蓹d蓹, v蓹 int v蓹 etibars谋z,
v蓹 q谋vr谋m a艧谋rma, v蓹 s.
>> V蓹 yaln谋z diqq蓹t ed蓹k 蓹n az谋 daxil蓹n n蓹,
art谋q siz蓹 s谋莽ramaq bil蓹r.
茝slind蓹, 蓹sas, m蓹n deyil m眉tl蓹q bu n蓹,
lakin Not kimi 莽ox idi ki, ya艧谋l bayraq, puzzle par莽a t谋klayan
bel蓹 bir proqramla艧d谋rma dili C yoxdur kod 蓹sas par莽a var ki,
ismar谋clar谋 icra olur. V蓹 h蓹qiq蓹t蓹n, bu s枚z眉n 蓹sas adland谋rmaq olacaq.
>> Bel蓹 ki, 蓹sas bir funksiyas谋 var.
V蓹 m枚vcud x眉susi funksiyas谋 var C bir proqram 莽al谋艧t谋rd谋臒谋n谋zda ki,
Bu t蓹r蓹find蓹n olur ki, 蓹sas deyil default. Not d眉nyada,
Bu zaman ya艧谋l bayraq ad蓹t蓹n idi t谋klayan default t蓹r蓹find蓹n oldu ki.
>> Eyni zamanda, biz 蓹vv蓹l bu g枚rd眉m, printf ya 莽ap bi莽imlendirilmi艧, ki
il蓹 g蓹lir bir funksiyas谋 olacaq C, dig蓹r b眉t眉n d蓹st蓹 il蓹 yana艧谋,
vaxt v蓹 zaman ki, irad蓹 yen蓹 qaydada d蓹qiq n蓹
Onun ad谋 t蓹klif kimi, bir 艧ey 莽ap.
Biz 莽ap ist蓹yirsiniz?
Yax艧谋, biz ki, g枚r眉rs眉n眉z enclosing simvol
these-- salam d眉nya kimi, ikiqat quotes backslash n,
biz m蓹hz printf dem蓹k olar Ekranda n蓹 莽ap.
>> Amma n蓹 etm蓹k ki, biz t蓹蓹ss眉f ki,
ki, bir 艧ey etm蓹k laz谋md谋r Biz蓹 insanlar art谋q sirli,
lakin 蓹n az谋 bu q蓹d蓹r oxunaql谋 deyil k蓹skin daxildir standart io.h, int,
蓹sas, etibars谋z, printf, sehrli b眉t眉n incantations biz yaln谋z ekranda g枚rd眉m.
Amma biz, h蓹qiq蓹t蓹n, var daha gizli gedin.
Biz ilk kodu t蓹rc眉m蓹 etm蓹k laz谋md谋r Biz ma艧谋n kodu daxil yazmaq.
V蓹 son h蓹ft蓹 geri ma艧谋nlar谋 ki, 蓹n az谋 is蓹 biz burada bilirik,
G眉n眉n sonunda yaln谋z adet s谋f谋r v蓹 olanlar谋 ba艧a d眉艧眉r眉k.
>> ke莽irdik 蓹g蓹r Allah谋m, bu yazmaq h蓹qiq蓹t蓹n proqram adet s谋f谋r v蓹 olanlar谋,
bu, 莽ox, 莽ox tez olard谋 bir 艧ey fun h蓹yata edir.
Amma bu, son h蓹ft蓹d蓹 莽谋x谋r ki, adet s谋f谋r v蓹 olanlar谋 bu n眉mun蓹l蓹ri
yaln谋z x眉susi m蓹nas谋 var.
m眉蓹yy蓹n kontekstl蓹rd蓹, Onlar n枚mr蓹l蓹ri dem蓹k bil蓹r.
>> B蓹zi kontekstl蓹rd蓹, onlar dem蓹k bil蓹r m蓹ktublar, v蓹 ya r蓹ng, v蓹 ya h蓹r hans谋 bir say谋
orada sonra dig蓹r 莽谋kar谋ld谋臒谋n谋n.
Lakin komp眉ter var kimi bir CPU, Central Processing Unit,
v蓹 ya komp眉ter daxilind蓹 beyin.
Bu ad蓹t蓹n Intel var daxili, ki, 莽眉nki
蓹n b枚y眉k 艧irk蓹tl蓹rind蓹n biri ki komp眉terl蓹r 眉莽眉n CPU'lar edir.
>> Yax艧谋, Intel CPU'lar v蓹 ba艧qalar谋 sad蓹c蓹 蓹vv蓹lc蓹d蓹n q蓹rar谋na g蓹ldik
ki, adet s谋f谋r m眉蓹yy蓹n n眉mun蓹l蓹ri v蓹 olanlar谋 x眉susi 艧eyi ba艧a d眉艧眉l眉r.
adet s谋f谋r v蓹 olanlar谋 m眉蓹yy蓹n n眉mun蓹l蓹ri dem蓹k, ekran bu 莽ap ed蓹c蓹k,
v蓹 ya bu iki 蓹d蓹d 蓹lav蓹 v蓹 ya Bu iki 蓹d蓹d 莽谋xmaq
v蓹 ya m蓹lumatlar谋n bu par莽a h蓹r蓹k蓹t m蓹nim komp眉ter yadda艧 burada,
v蓹 ya dig蓹r 莽ox a艧a臒谋 s蓹viyy蓹d蓹 h蓹r hans谋 bir say谋, amma n蓹tic蓹d蓹 faydal谋, 蓹m蓹liyyatlar谋.
Amma 艧眉k眉rl蓹r olsun ki, biz insanlar niyy蓹tind蓹 deyil detal bu s蓹viyy蓹d蓹 bilm蓹k laz谋md谋r.
H蓹qiq蓹t蓹n, yaln谋z burada, son d蓹f蓹 kimi biz yenid蓹n v蓹 yenid蓹n v蓹 yenid蓹n Abstrak,
莽ox a艧a臒谋 s蓹viyy蓹d蓹 bina adet s谋f谋r v蓹 olanlar谋 kimi primitives
y眉ks蓹k s蓹viyy蓹d蓹 anlay谋艧lar n枚mr蓹l蓹ri, v蓹 m蓹ktublar kimi,
v蓹 r蓹ng, v蓹 daha 莽ox, Bel蓹 ki, biz proqram莽谋lar kimi bil蓹rsiniz
莽iyinl蓹rind蓹 durmaq bizd蓹n 蓹vv蓹l g蓹lib ba艧qalar谋
v蓹 dig蓹r ki, proqram istifad蓹 insanlar us-- 蓹vv蓹l yaz谋l谋
y蓹ni proqramlar谋 derleyicileri 莽a臒谋r谋b.
>> C bir dil oldu臒unu ad蓹t蓹n t蓹rtib,
olan konvertasiya dem蓹kdir ma艧谋n kodu m蓹nb蓹 kodu.
X眉susil蓹, n蓹 dem蓹kdir ki, sizin m蓹nb蓹 var, 蓹g蓹r
脰z眉n眉z tezlikl蓹 biz kimi yazmaq kodu Ekranda yaln谋z bir anda olacaq,
v蓹 siz 莽evirm蓹k ist蓹diyiniz n蓹tic蓹d蓹 ma艧谋n kod
o adet s谋f谋r v蓹 olanlar谋 ki, yaln谋z Mac v蓹 ya PC
understands-- Siz ilk var kimi ki, m蓹nb蓹 kodu yem
x眉susi giri艧 proqram compiler adl谋
莽谋x谋艧 ed蓹n biz g枚r蓹c蓹ks蓹n ma艧谋n kodu.
V蓹 h蓹qiq蓹t蓹n, son d蓹f蓹 dan谋艧d谋q haqq谋nda, h蓹qiq蓹t蓹n, g眉n眉n sonunda,
problem h蓹ll.
Siz giri艧 var.
V蓹 n蓹tic蓹l蓹r var.
V蓹 bir n枚v var ortada alqoritm.
>> Alqoritml蓹r, 艧眉bh蓹siz ki, ola bil蓹r proqram t蓹tbiq,
biz pseudocode 枚t蓹n h蓹ft蓹 g枚rd眉m kimi v蓹 biz faktiki kodu il蓹 g枚r蓹c蓹ksiniz kimi
bu h蓹ft蓹.
V蓹 bel蓹 bir compiler h蓹qiq蓹t蓹n yaln谋z daxili alqoritml蓹r bir s谋ra var
Bunun bilirik ki, nec蓹 x眉susi a莽ar s枚zl蓹r 莽evirm蓹k,
蓹sas v蓹 printf kimi, v蓹 ba艧qalar谋 ki, biz yaln谋z
adet s谋f谋r n眉mun蓹l蓹ri g枚rd眉m v蓹 olanlar谋 ki Intel daxilind蓹 v蓹 dig蓹r CPU'lar
h蓹qiq蓹t蓹n anlay谋r.
Bel蓹 ki, nec蓹 biz bu etm蓹liy蓹m?
Harada biz compiler al谋ram?
>> Bizim 蓹n burada Mac v蓹 ya PC var.
V蓹 Mac OS 莽al谋艧an, v蓹 ya edirik Windows v蓹 ya Linux, v蓹 ya Solaris,
v蓹 ya dig蓹r h蓹r hans谋 bir say谋 蓹m蓹liyyat sisteml蓹ri.
V蓹 h蓹qiq蓹t蓹n, biz bil蓹r internet 眉z蓹rind蓹 莽谋xmaq
v蓹 compiler yukle Mac v蓹 ya PC 眉莽眉n
x眉susi 蓹m蓹liyyat sistemi 眉莽眉n.
Amma biz b眉t眉n olacaq m眉xt蓹lif pages, bel蓹 dan谋艧maq.
Biz bir az var ediyorum m眉xt蓹lif konfiqurasiyalar谋.
V蓹 h蓹r 艧eyi eyni i艧l蓹m蓹y蓹c蓹k.
V蓹 h蓹qiq蓹t蓹n, bu g眉n istifad蓹 etm蓹yin biz蓹 bir 莽ox
yaln谋z bizim noutbuk 莽al谋艧谋r proqram.
茝ksin蓹, biz bir 艧ey istifad蓹 Bir brauzer kimi ki,
Biz蓹 daxil olmaq 眉莽眉n imkan verir web-based bulud applications.
V蓹 sonra bu d枚vr, biz m蓹hz bunu ed蓹c蓹yik.
Biz 蓹riz蓹 yazacaq v蓹 ya software, C kod deyil istifad蓹
lakin Python kimi dig蓹r dill蓹r v蓹 bulud run JavaScript.
>> V蓹 biz 枚z眉m眉z眉 bunu semestr 蓹rzind蓹
h蓹qiq蓹t蓹n bir bulud-based istifad蓹 ed蓹c蓹k CS50 IDE kimi tan谋nan m眉hit.
Bu web-based proqramla艧d谋rma var 蓹traf m眉hit, v蓹 ya entegre inki艧af
蓹traf m眉hit, IDE, b蓹zi 眉st眉n in艧a Cloud 9 adl谋 a莽谋q m蓹nb蓹 proqram.
V蓹 biz b蓹zi pedaqoji etdik bu simplifications
m眉蓹yy蓹n x眉susiyy蓹tl蓹ri gizl蓹tm蓹k kimi biz ehtiyac yoxdur ilk h蓹ft蓹,
sonra siz onlar谋 a艧kar v蓹 bunu 蓹n
bir 艧ey 蓹traf m眉hit il蓹 ist蓹diyiniz.
>> V蓹 bu, 莽ox, biz蓹 imkan verir m眉蓹yy蓹n proqram pre-qura艧d谋rma.
qondarma CS50 kimi 艧eyl蓹r biz tezlikl蓹 g枚r蓹c蓹ksiniz kitabxana,
b蓹zi C bizi t蓹min edir 蓹lav蓹 funksionall谋q.
Bel蓹 ki, siz getm蓹k 蓹g蓹r, n蓹tic蓹 etibaril蓹, CS50.io, Siz daxil istenir
v蓹 n蓹 yaratmaq d蓹f蓹 Pulsuz 眉莽眉n bir haqq-hesab,
Bir daxil olacaq 莽ox bu kimi g枚r眉n眉r m眉hit.
>> 陌ndi bu default rejimind蓹dir.
H蓹r 艧ey g枚z蓹l v蓹 Ekranda parlaq.
Bizim bir 莽ox bir v蓹rdi艧 var var CS50 par莽a 眉z蓹rind蓹 i艧l蓹yir
莽ox gec gec蓹.
V蓹 bel蓹 ki, b蓹zi tercih ed蓹 bel蓹 dan谋艧maq, gec蓹 rejimi 莽evirm蓹k.
>> Lakin, n蓹tic蓹d蓹, siz n蓹 ist蓹yirik CS50 IDE 蓹rzind蓹 g枚rm蓹k olacaq
眉莽 f蓹rqli areas-- edir sol harada sah蓹si
Sizin fayllar谋 olacaq bulud, sa臒 眉st sah蓹si
harada code d眉zenlenebilir olacaq.
Siz a莽maq ed蓹 bil蓹rsiniz h蓹r hans谋 bir proqram 眉莽眉n f蓹rdi Ni艧anlar
Siz daxilind蓹 bu d枚vr yazmaq ki, sa臒 眉st k眉nc眉nd蓹 edir.
V蓹 sonra 蓹n arcanely, v蓹 h蓹l蓹 g眉cl眉,
bu 艧ey olacaq bir terminal p蓹nc蓹r蓹 kimi tan谋nan a艧a臒谋.
>> Bu k枚hn蓹 m蓹kt蓹b Command Line Interface,
v蓹 ya CLI ki, imkan verir Siz 蓹mrl蓹ri icra etm蓹k
Bu halda komp眉ter 眉莽眉n d蓹, bulud komp眉ter
kodu t蓹rtib kimi 艧eyl蓹r m蓹nb蓹 kodu ma艧谋n kodu,
Sizin proqramlar谋 莽al谋艧t谋rmak v蓹 ya ba艧lamaq 眉莽眉n web server, v蓹 ya veril蓹nl蓹r bazas谋 daxil olmaq 眉莽眉n,
v蓹 dig蓹r texnika h蓹r hans谋 bir say谋 biz uzun 蓹vv蓹l istifad蓹 ba艧lamaq laz谋md谋r ki.
Amma orada almaq 眉莽眉n, biz ist蓹yirik h蓹qiq蓹t蓹n gedir
online getm蓹k v蓹 oynayan ba艧lamaq 眉莽眉n.
V蓹 bunu, ilk ed蓹k 蓹sas il蓹 kustarl谋q ba艧lamaq,
v蓹 proqram谋n 蓹sas hiss蓹sini yaz谋n.
V蓹 ki, funksiyas谋 istifad蓹 ed蓹k Biz 蓹vv蓹ll蓹r istifad蓹 printf,
sad蓹c蓹 bir 艧ey dem蓹k.
>> Bel蓹 ki, burada m蓹n CS50 IDE daxilind蓹 art谋q deyil蓹m.
M蓹n 蓹vv蓹lc蓹d蓹n daxil etdik.
M蓹n tam p蓹nc蓹r蓹 n眉mayi艧.
Bel蓹 ki, son n蓹tic蓹d蓹, siz 莽ox 枚n眉m眉zd蓹ki probleml蓹ri
ox艧ar ad谋mlar谋 ki online s蓹n蓹dl蓹ri t蓹min ed蓹c蓹k.
Bel蓹 ki, narahat ehtiyac yoxdur h蓹r ki莽ik texniki add谋m udma
M蓹n bu g眉n burada ki.
>> Amma bu kimi bir ekran almaq laz谋md谋r.
M蓹n gec蓹 rejimi olmaq n蓹.
V蓹 h蓹r 艧ey 艧adlanmaq bil蓹r gec蓹 rejimi aradan t蓹r蓹find蓹n.
V蓹 sonunda g眉n, siz g枚rm蓹k olacaq
fayl areas-- bu 眉莽 蓹sas sol browser, 眉st q蓹d蓹r code Ni艧anlar,
v蓹 alt谋ndak谋 terminal p蓹nc蓹r蓹.
>> M蓹n蓹 davam ed蓹k m蓹nim ilk proqram yazmaq.
M蓹n preemptively Fayl getm蓹k 眉莽眉n gedir蓹m Edin v蓹 hello.c kimi qeyd edin.
H蓹qiq蓹t蓹n, Konvensiya t蓹r蓹find蓹n, h蓹r hans谋 bir proqram biz C dilind蓹 yaz谋l谋 yazmaq
bir 艧ey ad谋na olmal谋d谋r Konvensiya t蓹r蓹find蓹n dot c.
M蓹n, 莽眉nki hello.c ad gedir蓹m M蓹n d眉nyaya salam dem蓹k ist蓹yir蓹m.
陌ndi zoom gedir蓹m h蓹yata v蓹 Saxla bas谋n.
M蓹n indi burada b眉t眉n bir ni艧an谋 var olan I kodu yaz谋l谋 ba艧laya bil蓹rsiniz.
>> Bu t蓹rtib etm蓹k niyy蓹tind蓹 deyil.
Bu he莽 bir 艧ey dem蓹kdir.
M蓹n 莽evrilir h蓹tta 蓹g蓹r adet s谋f谋r v蓹 olanlar谋 bu,
CPU he莽 bir gedir fikir 蓹traf谋nda neler.
M蓹n x蓹tl蓹ri yazmaq 蓹g蓹r Amma uy臒un yoxdur C conventions-- C olan il蓹,
Yen蓹 d蓹, bu kimi sintaksis il蓹 language-- M蓹n var v蓹 bu, salam printf v眉cuda
rahat kazan谋lm谋艧 zamanla bunu.
M蓹n M蓹n d眉艧眉nm眉r蓹m h蓹r hans谋 bir m蓹tb蓹蓹 s蓹hvl蓹r.
>> Amma daim, ilk d蓹f蓹 bunu, siz olacaq.
M蓹n n蓹 haqq谋nda am n蓹 莽ox bil蓹r d蓹 sizin 眉莽眉n ilk d蓹f蓹 i艧 deyil.
V蓹 m眉k蓹mm蓹l OK 陌ndi, 莽眉nki siz
Yaln谋z yenilik bir 莽ox g枚r蓹 bil蓹rsiniz, lakin zaman ke莽dikc蓹 tan谋艧 d蓹f蓹
bu 蓹traf m眉hit il蓹 v蓹 Bu dil, v蓹 ba艧qalar谋
h蓹r 艧eyi g枚rm蓹k 眉莽眉n ba艧lamaq laz谋md谋r ki, do臒ru v蓹 ya yanl谋艧 ya var.
>> Bu n蓹dir t蓹dris yolda艧lar谋 v蓹 蓹lb蓹tt蓹
k枚m蓹k莽il蓹ri art谋q vaxt bel蓹 yax艧谋 almaq Sizin kodu s蓹hvl蓹r v蓹 ya hatalar谋 tespit.
Amma ki, iddia var Bu kodu he莽 bir bugs var.
M蓹n indi bu proqram run etm蓹k ist蓹yir蓹m.
>> 陌ndi 枚z Mac v蓹 ya PC, m蓹n deyil蓹m ikiqat t谋klayarak ni艧anlar v蓹rdi艧
M蓹n b蓹zi proqram 莽al谋艧t谋rmak 眉莽眉n ist蓹diyiniz zaman.
Amma burada model deyil.
CS50 IDE Bu m眉hitd蓹, edir.
Biz bir 蓹m蓹liyyat istifad蓹 olunur Linux adl谋 sistemi.
Linux ba艧qa xat谋rladan 蓹m蓹liyyat sistemi, 眉mumiyy蓹tl蓹, m蓹lum
Unix kimi.
V蓹 Linux x眉susil蓹 tan谋n谋r bir Command Line Environment, CLI olan.
陌ndi biz bir x眉susi istifad蓹 etdiyiniz Linux l蓹zz蓹t Ubuntu 莽a臒谋r谋b.
V蓹 Ubuntu sad蓹c蓹 deyil Linux m眉蓹yy蓹n versiyas谋.
>> Lakin bu Linux-nin bu g眉n h蓹qiq蓹t蓹n qrafik istifad蓹莽i interfeys il蓹 g蓹lir.
V蓹 biz ba艧谋na bir Burada istifad蓹 web-based.
Bel蓹 ki, bu h蓹tta ola bil蓹r bir 艧ey az f蓹rqli
脰z眉n眉z ola bil蓹r g枚r眉ld眉 v蓹 ya ke莽mi艧d蓹 ax谋r.
>> M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m indi v蓹 a艧a臒谋dak谋.
M蓹n hello.c kimi bu fayl谋 xilas etdik.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 n枚v眉 clanghello.c cingilti So
C dili 眉莽眉n bir compiler edir.
Bu 蓹vv蓹lc蓹d蓹n qura艧d谋r谋lm谋艧 var CS50 IDE.
V蓹 tamamil蓹 download v蓹 脰z Mac v蓹 ya PC bu edin.
>> Amma, yen蓹 d蓹, siz b眉t眉n olmazd谋 pre-konfiqurasiya sizin 眉莽眉n h蓹yata.
陌ndi Bel蓹 ki, m蓹n yaln谋z deyil蓹m clanghello.c 莽al谋艧t谋rmak 眉莽眉n gedir.
V蓹 indi bu sintaksis qeyd burada n蓹hay蓹t olacaq
M蓹n bir Ben o dem蓹kdir ki, h蓹yata qovluq v蓹 ya kataloq 陌艧 莽a臒谋r谋b.
Bu dollar i艧ar蓹si yaln谋z konvensiya deyil m蓹nas谋, burada komutlar谋 yaz谋n.
>> Bu, sad蓹c蓹, bir tez deyirl蓹r n蓹 Konvensiyan谋n dollar 蓹lam蓹tidir.
V蓹 m蓹n indi ir蓹li getm蓹k v蓹 蓹g蓹r bas谋n Daxil edin, he莽 bir 艧ey ba艧 g枚r眉n眉r.
Amma h蓹qiq蓹t蓹n yax艧谋 bir 艧ey deyil.
az olur ekran, daha 莽ox
Sizin indeksi do臒ru olmaq, 蓹n az谋 syntactically.
>> M蓹n bu almaq ist蓹yirsinizs蓹 Bel蓹 ki proqram, m蓹n n蓹 etm蓹liy蓹m?
B蓹li, bu 莽谋x谋r ki, Konvensiya t蓹r蓹find蓹n default ad谋
Bir m眉蓹yy蓹n deyil zaman proqramlar谋 Proqram yaln谋z a.out 眉莽眉n ad.
d蓹 bu sintaksis, siz laz谋md谋r uzun 蓹vv蓹l il蓹 tan谋艧.
>> Dot yaln谋z hey, CS50 dem蓹kdir do臒ramaq IDE, a.out adl谋 proqram run
ki, m蓹nim cari kataloq daxilind蓹 var.
Bu dot cari kataloq dem蓹kdir.
V蓹 biz n蓹 kimi dig蓹r ard谋c谋ll谋臒谋 g枚r蓹c蓹ksiniz simvol uzun 蓹vv蓹l dem蓹kdir.
>> Bel蓹 ki, burada biz salam d眉nya daxil edin, getm蓹k.
V蓹 n蓹 oldu ki, g枚r蓹c蓹ksiniz?
Bu salam d眉nya 莽ap etm蓹di yaln谋z.
O, h蓹m莽inin k枚莽眉r眉l眉b n枚vb蓹ti line kursor.
>> V蓹 niy蓹 n蓹 idi?
biz 蓹vv蓹l yazd谋臒谋 kodu n蓹 idi ki, t蓹min kursor ver蓹c蓹kl蓹rini ifad蓹
n枚vb蓹ti line getm蓹k?
t蓹xmin蓹n Funny 艧ey komp眉ter yaln谋z olacaq edir
s枚z眉n n蓹 siz bunu dem蓹k n蓹.
>> Bel蓹 ki, salam printf dem蓹k 蓹g蓹r, verg眉l, m蓹kan, d眉nya, yax谋n quote,
bu s枚z眉n yaln谋z olacaq bu simvol 莽ap.
Amma bu x眉susi xarakter idi sonunda, geri, backslash n.
V蓹 t蓹min budur xarakter getdi ki,
Ekran谋n n枚vb蓹ti line.
>> 茝slind蓹, m蓹n蓹 getm蓹k v蓹 bunu bildirin.
M蓹n蓹 ir蓹li getm蓹k v蓹 bu silm蓹k ed蓹k.
陌ndi ki, qeyd M蓹nim ekran谋n 眉st var
bir az q谋rm谋z谋 i艧谋q da ifad蓹 tab,
hey, sizin fayl xilas etdik.
M蓹n n蓹zar蓹t davam gedir蓹m S v蓹 ya command S, fayl谋 qeyd edin.
陌ndi an ya艧谋l getdi goes--.
V蓹 indi geri var yaln谋z yax谋n icon olan.
>> 陌ndi yenid蓹n clanghello.c varsa, , Dot 莽izgi, a.out, daxil edin,
Siz h蓹l蓹 d蓹 i艧l蓹yib ki, g枚r眉rs眉n眉z.
Amma arguably bir az arabas谋 var.
Hal-haz谋rda, m蓹nim prompt-- i艧, v蓹 sonra dollar i艧ar蓹si,
v蓹 sonra m蓹nim faktiki prompt-- b眉t眉n eyni x蓹tt edir.
Bel蓹 ki, bu, 蓹lb蓹tt蓹, bir estetik bug, h蓹tta bu, h蓹qiq蓹t蓹n m蓹ntiqi s蓹hv deyil.
>> Bel蓹 ki, m蓹n yaln谋z n蓹 geri gedir蓹m.
M蓹n a.out t蓹krar gedir蓹m.
M蓹n 蓹lav蓹 etdik ed蓹k newline xarakter geri.
M蓹n fayl xilas etdik.
>> M蓹n a.out t蓹krar gedir蓹m and-- dammit, bir s蓹hv, s蓹hv, y蓹ni bir s蓹hv.
Bel蓹 bug ki, h蓹tta baxmayaraq ki M蓹n n orada backslash 蓹lav蓹
yenid蓹n xilas proqram yenid蓹n qa莽d谋 davran谋艧 eyni idi.
N蓹 ola bil蓹r?
>> M蓹n, bir add谋m itkin al谋ram?
Bu m眉h眉m add谋m daha 蓹vv蓹l var idi ki, Siz m蓹nb蓹 kodu d蓹yi艧dirm蓹k zaman to--,
bu da ax谋r 莽谋x谋r compiler vasit蓹sil蓹
daha yeni ma艧谋n kodunu bel蓹.
V蓹 ma艧谋n indeksi, adet s谋f谋r v蓹 olanlar谋,
Dem蓹k olar ki, eyni olacaq, lakin m眉k蓹mm蓹l, bel蓹 ki, biz laz谋md谋r, 莽眉nki,
蓹lb蓹tt蓹 ki, yeni x蓹tt.
>> M蓹n ehtiyac gedir蓹m, bu d眉zeltmek 眉莽眉n Daxil, dot clanghello.c t蓹krar etm蓹k
, A.out do臒ramaq.
陌ndi, salam d眉nya geri M蓹n g枚zl蓹m蓹k harada olmaq.
Bel蓹 ki, bu b眉t眉n g枚z蓹l v蓹 yax艧谋.
Amma a.out bir 眉莽眉n olduqca axmaq ad谋 proqram, bu olur, baxmayaraq ki,
tarixi s蓹b蓹bl蓹r蓹 g枚r蓹, montaj n蓹tic蓹l蓹r dem蓹kdir ismar谋clar谋.
>> Amma m蓹n蓹 burada ir蓹li ged蓹k v蓹 f蓹rqli bunu.
M蓹n salam d眉nya proqram谋 ist蓹yir蓹m h蓹qiq蓹t蓹n salam adlan谋r.
Bel蓹 ki, bir icon idi m蓹nim desktop, bu a.out olmaz.
Bu salam adland谋rmaq olard谋.
>> Bel蓹 ki, bunu 莽谋x谋r Cingilti ki, bir 莽ox proqramlar kimi,
, Command line d蓹lill蓹ri d蓹st蓹kl蓹yir v蓹 ya bayraqlar谋, v蓹 ya a莽arlar谋,
sad蓹c蓹 onun davran谋艧 t蓹sir edir.
X眉susil蓹, cingilti bir dash o d蓹st蓹kl蓹yir sonra ikinci s枚z edir bayraq.
Bu halda, m蓹n 枚zba艧谋na laz谋md谋r, lakin 蓹sasl谋, salam 莽a臒谋r谋r谋q.
Amma bir 艧ey z蓹ng ed蓹 bil蓹r M蓹n a.out istisna olmaqla, ist蓹diyiniz
daha n枚qt蓹sind蓹 ba艧qa olard谋.
>> V蓹 sonra yaln谋z ad谋n谋 daxil fayl I t蓹rtib etm蓹k ist蓹yir蓹m.
Bel蓹 ki, indi h蓹tta 蓹vv蓹lind蓹 baxmayaraq M蓹n h蓹l蓹 cingilti var komanda,
komanda sonunda M蓹n h蓹l蓹 fayl var,
陌ndi bu command line var d蓹lill蓹r dey蓹r蓹k bu bayraqlar谋,
oh, yolu il蓹, 莽谋x谋艧-o, bir fayl Biz default a.out, salam 莽a臒谋r谋b.
>> M蓹n hit 蓹g蓹r, he莽 bir 艧ey indi daxil edin ba艧 g枚r眉n眉r.
V蓹 h蓹l蓹, indi salam dot 莽izgi ed蓹 bil蓹rsiniz.
Bel蓹 ki, eyni proqram.
adet s谋f谋r v蓹 olanlar谋 g眉n眉n sonunda eyni.
>> Lakin onlar iki ist蓹yirik m眉xt蓹lif fayllar var a.out,
ilk versiyas谋 v蓹 yaln谋z gic-gic adl谋
v蓹 indi salam olan bir 莽ox bir proqram 眉莽眉n daha 莽ekici ad谋.
Amma vicdanla, m蓹n he莽 vaxt am yen蓹 bu xat谋rlay谋ram gedir,
v蓹 yenid蓹n v蓹 yenid蓹n.
V蓹 h蓹qiq蓹t蓹n, biz yazmaq daha m眉r蓹kk蓹b proqramlar谋,
sen 蓹mrl蓹ri yazmaq 眉莽眉n gedir
h蓹tta almaq 眉莽眉n gedir daha h蓹l蓹 m眉r蓹kk蓹b.
>> V蓹 bel蓹 narahat deyil.
Bel蓹 莽谋x谋r ki, insanlar 蓹vv蓹l Biz蓹 莽ox onlar h蓹yata
Bu eyni problem var idi.
Onlar da olan z枚vq verm蓹di , Kifay蓹t q蓹d蓹r uzun, gizli komutlar谋 yaz谋n
Dursun onlar谋 xat谋rlay谋ram.
V蓹 bizd蓹n 蓹vv蓹l insanlar etdik daha asan dig蓹r proqramlar谋
proqram t蓹rtib etm蓹k.
>> V蓹 h蓹qiq蓹t蓹n, bel蓹 bir proqram Make adlan谋r.
M蓹n ir蓹li getm蓹k v蓹 bunu gedir蓹m.
M蓹n h蓹r 艧eyi geri gedir蓹m m蓹n Yaln谋z bu 艧蓹kild蓹 idi.
M蓹n蓹 LS yaz谋n ed蓹k.
V蓹 眉莽 g枚r蓹c蓹ksiniz h蓹r 艧ey蓹 a.out, v蓹 bir ulduz, salam
bir ulduz, v蓹 hello.c v蓹.
脺mid edir蓹m ki, bu olmal谋d谋r Bir az intuitiv olmaq
kimi 蓹vv蓹ll蓹r var idi insofar Bu i艧 he莽 bir 艧ey.
M蓹n he莽 bir 艧ey yox idi biz sinif a莽谋lm谋艧 q蓹d蓹r yaratm谋艧d谋r.
>> M蓹n hello.c yaratm谋艧d谋r.
M蓹n onu t蓹rtib v蓹 a.out 莽a臒谋r谋b.
V蓹 sonra m蓹n bir az yenid蓹n t蓹rtib f蓹rqli v蓹 salam adland谋r谋b.
M蓹n bu kataloq 眉莽 fayllar谋, 陌艧 adlanan bu qovluqda.
陌ndi m蓹n d蓹 g枚r蓹 bil蓹rsiniz M蓹n, h蓹qiq蓹t蓹n, zoom 蓹g蓹r.
>> M蓹n burada ki莽iltm蓹k 茝g蓹r ki, sa臒 眉st t蓹r蓹fd蓹n baxmaq
k眉nc v蓹d kimi sol Ekran谋n t蓹r蓹fd蓹n
h蓹mi艧蓹 g枚st蓹rm蓹k niyy蓹tind蓹dir Sizin hesab var, n蓹 var
CS50 IDE daxilind蓹.
V蓹 眉莽 fayllar谋 var.
>> M蓹n salam v蓹 a.out xilas olmaq ist蓹yir蓹m.
V蓹 siz bil蓹r , Daxil蓹n siz t蓹s蓹vv眉r
n蓹zar蓹t klik sort bil蓹r v蓹 ya sa臒 bu bas谋n.
Bu ki莽ik menyu a莽谋l谋r.
Siz fayl y眉kl蓹y蓹 bil蓹rsiniz, run Bu, 枚nizleme, yenileyin, ad谋n谋 d蓹yi艧m蓹k,
v蓹 ya n蓹 deyil.
>> M蓹n yaln谋z silm蓹k bil蓹r, v蓹 getm蓹k olard谋.
Amma bir komanda il蓹 h蓹r 艧eyi ed蓹k 陌ndi line, bel蓹 ki, rahat almaq 眉莽眉n
Bu v蓹 a艧a臒谋dak谋.
M蓹n ir蓹li getm蓹k v蓹 aradan qald谋r谋lmas谋 眉莽眉n gedir蓹m sanki rma.out yazaraq a.out.
Bu komanda 眉莽眉n 莽谋x谋r aradan qald谋r谋lmas谋 v蓹 ya bir 艧ey silm蓹
aradan qald谋r谋lmas谋 v蓹 ya silm蓹k deyil.
>> Bu, sad蓹c蓹 saxlamaq 眉莽眉n daha m眉f蓹ss蓹l RM var B蓹zi tu艧 vuru艧lar谋n谋 v蓹 Enter d眉ym蓹sini bas谋n.
陌ndi biz bir q蓹d蓹r olacaq cryptically m眉nt蓹z蓹m fayl a.out 莽谋xar谋n.
M蓹n, h蓹qiq蓹t蓹n, n蓹 bilmir蓹m qeyri-fayl h蓹l蓹 olacaq.
Amma aradan qald谋r谋lmas谋 眉莽眉n ist蓹yir蓹m.
>> M蓹n yes 眉莽眉n y yaz谋n gedir蓹m.
Yoxsa m蓹n onu yaz谋n v蓹 Enter d眉ym蓹sini bas谋n bil蓹r.
V蓹 yen蓹, he莽 bir 艧ey g枚r眉n眉r.
Amma, 眉mumiyy蓹tl蓹, yax艧谋 bir 艧ey deyil.
>> M蓹n bu d蓹f蓹 LS yaz谋n, M蓹n n蓹 g枚rm蓹k laz谋md谋r?
脺mid edir蓹m ki, yaln谋z salam v蓹 hello.c.
陌ndi kimi k蓹nara, siz laz谋md谋r , Ulduz bu ulduz qeyd,
ki, m蓹nim proqramlar谋 sonunda var.
V蓹 onlar da ya艧谋l q蓹d蓹r g枚st蓹rir.
Bu yaln谋z CS50 IDE yoldur 茝slind蓹 sizi cluing of
ki, m蓹nb蓹 kodu deyil.
Ki, bir runnable bir y眉r眉t眉lebilir deyil Siz, h蓹qiq蓹t蓹n, 莽al谋艧t谋rabilirsiniz proqram谋
sonra dot 莽izgi bunu, v蓹 bu ad谋 var.
>> 陌ndi m蓹n蓹 ir蓹li getm蓹k v蓹 aradan qald谋r谋lmas谋 imkan Bu, salam rm daxil edin m眉nt蓹z蓹m aradan qald谋r谋lmas谋
B蓹li, salam fayl.
陌ndi, LS yaz谋n 蓹g蓹r geri hello.c ist蓹yirik.
silm蓹k 眉莽眉n c蓹hd edin, sizin faktiki m蓹nb蓹 kodu.
x眉susiyy蓹tl蓹ri var baxmayaraq CS50 IDE harada daxil
Siz revision tarixi il蓹 getm蓹k olar v蓹 vaxt谋nda 蓹g蓹r t蓹sad眉f蓹n geri
bir 艧ey silm蓹k, n蓹z蓹r蓹 n蓹 bu komutlar谋 b蓹li v蓹 ya xeyr uy臒un olaraq,
Siz, h蓹qiq蓹t蓹n, n蓹 etm蓹k ist蓹yir蓹m n蓹.
M蓹n 眉st q蓹d蓹r getm蓹k 蓹g蓹r burada k眉nc眉nd蓹 sol,
hello.c b眉t眉n qal谋r.
Bel蓹 d蓹st蓹l蓹ri var dig蓹r 蓹mrl蓹ri ki,
Linux d眉nyada h蓹yata ke莽ir蓹 bil蓹r, biri yen蓹 olun edir.
V蓹 biz etm蓹k olacaq M蓹nim proqram谋 kimi edir.
>> 茝v蓹zind蓹 cingilti bunu, 蓹v蓹zin蓹 cingilti-o bunu,
M蓹n sad蓹c蓹 gedir蓹m sanki salam etm蓹k yaz谋n.
陌ndi m蓹n, qeyd hello.c etm蓹k yazaraq deyil.
M蓹n salam etm蓹k yazaraq edir蓹m.
>> Bu proqram 蓹min olun CS50 IDE, v蓹 daha 莽ox il蓹 g蓹lir
眉mumiyy蓹tl蓹 Linux, bir proqram
Hello adl谋 proqram etm蓹k niyy蓹tind蓹dir.
Bu, Konvensiyan谋n, g眉man olacaq Bu proqram edil蓹 bil蓹r ki,
bir m蓹nb蓹d蓹n edil蓹c蓹k olacaq dot c bit蓹n kodu fayl hello.c.
>> M蓹n hit 蓹g蓹r indi bildiri艧 daxil edin icra olur komanda
h蓹tta art谋q 蓹slind蓹 daha 蓹vv蓹l.
biz sizin, 莽眉nki ki 枚nceden CS50 IDE 眉莽眉n
ki, in艧a b蓹zi 蓹lav蓹 funksiyalar biz yaln谋z h蓹l蓹 laz谋md谋r, lakin tezlikl蓹 olacaq yoxdur.
Amma 蓹sas odur ki, h蓹yata ke莽irm蓹k 眉莽眉n M蓹n Hello proqram var indi.
>> M蓹n yen蓹 LS yaz谋n, m蓹n Bir salam proqram谋m谋z var.
M蓹n onu 莽al谋艧t谋rabilirsiniz dot, yox, a.out do臒ramaq
Bu b眉t眉n point, 莽眉nki h蓹yata dot 莽izgi salam idi.
陌ndi m蓹n salam d眉nya proqram谋.
Bel蓹 ki, ir蓹li h蓹r蓹k蓹t, biz yaln谋z dem蓹k olar ki, her zaman
Bizim proqramlar谋 t蓹rtib gedir komanda Make istifad蓹 ed蓹r蓹k.
V蓹 sonra biz onlar谋 run olacaq dot 莽izgi v蓹 proqram谋n ad谋.
Amma bunu etm蓹k n蓹 d蓹rk Siz, bir compiler 枚z眉 deyil.
Bu, sad蓹c蓹 bir rahatl谋臒谋 proqram ki, compiler tetiklemek 眉莽眉n nec蓹 bilir
脰z眉n眉z istifad蓹 ed蓹 bil蓹rsiniz, bel蓹 ki, 莽al谋艧t谋rmak 眉莽眉n.
>> Hans谋 蓹mrl蓹ri m枚vcuddur Linux, v蓹 枚z n枚vb蓹sind蓹 CS50 IDE var?
Biz tezlikl蓹 var ki, g枚r蓹c蓹ksiniz CD komanda, Change Directory.
Bu 蓹rzind蓹 siz蓹 imkan verir Sizin command line interface
geri ir蓹li h蓹r蓹k蓹t, v蓹, v蓹 m眉xt蓹lif qovluq a莽maq
si莽an istifad蓹 etm蓹d蓹n.
>> siyah谋s谋 眉莽眉n dayan谋r g枚rd眉k LS, cari kataloq fayllar谋.
Dir olun, siz y蓹qin ki, n蓹tic蓹 莽谋xarmaq ba艧lamaq
Bu kataloq etm蓹k now-- dem蓹k n蓹, Bir qovluq yaratmaq ist蓹yirsinizs蓹.
aradan qald谋r谋lmas谋 眉莽眉n RM, RM Dir 眉莽眉n , Qovlu臒u daxil v蓹 bu aradan qald谋r谋lmas谋
yen蓹 command line var Siz n蓹 ekvivalentl蓹ri
Si莽an il蓹 CS50 IDE ed蓹 bil蓹r.
Amma tezlikl蓹 tapa bil蓹rsiniz ki, b蓹z蓹n yaln谋z var
s眉r蓹tli bir 莽ox etm蓹k bir klaviatura il蓹 h蓹r 艧eyi,
v蓹 n蓹tic蓹d蓹 bir 莽ox daha g眉cl眉.
>> Amma ki, m眉bahis蓹 etm蓹k 莽蓹tindir bir 艧ey bu g眉n蓹 q蓹d蓹r bunu etdik
zaman b眉t眉n ki, b眉t眉n g眉cl眉 biz salam d眉nya, IS dey蓹r蓹k etdik.
V蓹 蓹slind蓹, m蓹n hardcoded M蓹nim proqram salam d眉nya s枚zl蓹r.
he莽 bir dinamizm h蓹l蓹 yoxdur.
Scratch g眉c眉nd蓹 bir sifari艧 idi daha maraql谋 ke莽蓹n h蓹ft蓹.
>> V蓹 bel蓹 ki, orada almaq imkan verir.
t蓹r蓹find蓹n oldu臒unu do臒ru bir add谋m ed蓹k Bu funksiyalar谋n b蓹zi yol.
Bel蓹 ki, yaln谋z C printf il蓹 gelir, dig蓹r funksiyalar谋 v蓹 d蓹st蓹l蓹ri
olan b蓹zi g枚r蓹c蓹yik Zamanla, bu deyil
do臒ru ki, b眉t眉n asan istifad蓹莽i daxil 蓹ld蓹 qap谋s谋.
>> z蓹if 茝slind蓹, bir C kimi dil,
v蓹 h蓹tta Java v蓹 h蓹l蓹 dig蓹r bu deyil ki,
kimi 艧eyl蓹r almaq 眉莽眉n asan istifad蓹莽il蓹r, v蓹 ya strings, s枚zl蓹ri integers,
v蓹 ifad蓹l蓹r, kimi t蓹k 艧eyl蓹r ed蓹k point d蓹y蓹rl蓹ri, v蓹 ya real n枚mr蓹l蓹ri 眉z蓹n
h蓹qiq蓹t蓹n decimal bal, v蓹 biz tezlikl蓹 g枚r蓹c蓹ksiniz kimi uzun n枚mr蓹l蓹ri.
Bel蓹 ki, burada funksiyalar谋 bu siyah谋, bu dig蓹r Scratch puzzle 蓹d蓹d kimi
biz CS50 蓹vv蓹lc蓹d蓹n qura艧d谋r谋lm谋艧 ki, biz bir ne莽蓹 h蓹ft蓹 istifad蓹 ed蓹c蓹yik IDE
t蓹lim n枚v t蓹k蓹rl蓹r, v蓹 n蓹tic蓹d蓹 onlar谋 almaq, v蓹 baxmaq
ba艧l谋q, b蓹lk蓹 d蓹, at alt谋nda bunlar nec蓹 h蓹yata ke莽irilir.
>> Amma bunu, ed蓹k h蓹qiq蓹t蓹n bir proqram yazmaq.
m蓹n蓹 indi davam ed蓹k.
M蓹n yeni bir yaratmaq 眉莽眉n gedir蓹m Bu ki莽ik plus t谋klayarak fayl,
v蓹 yeni fayl t谋klayarak.
>> M蓹n bu n枚vb蓹ti saxlamaq 眉莽眉n gedir蓹m , Dey蓹k kimi bir string.c,
M蓹n strings il蓹 oynamaq ist蓹yir蓹m, 莽眉nki.
V蓹 C string yaln谋z simvol bir ard谋c谋ll谋qla.
Bel蓹 ki, indi davam ed蓹k v蓹 a艧a臒谋dak谋.
>> 茝lav蓹 standart IO.h-- v蓹 Bu standart IO 莽谋x谋r
IO yaln谋z giri艧 v蓹 莽谋x谋艧 dem蓹kdir.
Bel蓹 ki, 莽谋x谋r ki, Burada bu x蓹tt n蓹dir
printf istifad蓹 biz蓹 qon艧u olunur.
Printf, 蓹lb蓹tt蓹, 莽谋x谋艧 istehsal edir.
Bel蓹 ki, printf istifad蓹 etm蓹k 眉莽眉n, bu 莽evrilir out kodu bu x蓹tt var
Sizin fayl 眉st.
>> V蓹 biz geri g蓹lm蓹k laz谋md谋r n蓹 ki, h蓹qiq蓹t蓹n uzun 蓹vv蓹l dem蓹kdir.
Bu ki, 莽谋x谋r M蓹n yazmaq h蓹r hans谋 bir C proqram,
M蓹n ba艧lamaq 眉莽眉n var bu kimi g枚r眉n眉r kodu.
V蓹 CS50 IDE bildiri艧 v蓹 laz谋md谋r dig蓹r inteqrasiya inki艧af
bu kimi m眉hit, 蓹n yax艧谋 c蓹hd edir
onlar sizin fikir ba艧a bil蓹r.
茝slind蓹, bir an 蓹vv蓹l geri 蓹g蓹r M蓹n n蓹, m蓹n Enter d眉ym蓹sini bas谋n.
>> M蓹n a莽谋q buruq edib brace yenid蓹n Enter d眉ym蓹sini bas谋n.
V蓹 bu, m蓹nim fikir tamamlad谋.
Bu, m蓹n蓹 yeni x蓹tt verdi az girintili g枚z蓹l 眉slub s蓹b蓹bl蓹rd蓹n g枚r蓹c蓹yik.
V蓹 sonra avtomatik olaraq m蓹n蓹 verdi ki, buruq brace m蓹nim fikir ba艧a 莽atd谋rmaq 眉莽眉n.
陌ndi, bu h蓹mi艧蓹 deyil Siz ist蓹diyiniz n蓹 dan谋艧arlar.
Amma b枚y眉k bir hiss蓹si, yoxdur b蓹zi tu艧 vuru艧lar谋n谋 edin.
Bel蓹 ki, bir an 蓹vv蓹l biz bu proqram qa莽d谋 hello, d眉nya, v蓹 sonra t蓹rtib,
v蓹 sonra qa莽d谋.
Amma he莽 bir dinamizm burada var.
biz ist蓹yirdi n蓹 f蓹rqli bir 艧ey?
B蓹li, M蓹n, h蓹qiq蓹t蓹n, n蓹 ist蓹yirdi istifad蓹莽i bir string almaq?
M蓹n puzzle par莽a istifad蓹 gedir蓹m string almaq that-- d蓹qiq 莽a臒谋r谋b.
>> C 莽谋x谋r ist蓹mir蓹m zaman bir puzzle par莽a daxil t蓹min etm蓹k,
v蓹 ya daha d眉zg眉n bir funksiyas谋, siz s枚z眉n yaln谋z a莽谋q m枚t蓹riz蓹 etm蓹k
yax谋n m枚t蓹riz蓹.
var sanki Bel蓹 ki, var a臒 qutusuna yaz谋n.
dem蓹k blok 蓹vv蓹l bir az a臒 qutusu idi.
Biz indi a臒 qutusu yoxdur.
>> Amma get simli z蓹ng zaman, m蓹n haradasa n蓹tic蓹 qoymaq ist蓹yirik.
Bel蓹 ki, C bir 莽ox 眉mumi paradiqma edir Burada get string kimi bir funksiyas谋 z蓹ng,
v蓹 sonra onun qaytar谋lmas谋 d蓹y蓹ri saxlamaq.
Bu n蓹tic蓹si onun bir 艧ey s蓹y.
>> V蓹 n蓹 proqramla艧d谋rma tikintisi,
C indi Not ya olsun, biz ki, h蓹qiq蓹t蓹n, bir 艧ey saxlamaq 眉莽眉n istifad蓹 ed蓹 bil蓹rsiniz?
sa臒, bir d蓹yi艧蓹n adlan谋r?
V蓹 Not, biz, h蓹qiq蓹t蓹n deyil d蓹yi艧蓹nl蓹rin gedirdi n蓹 qay臒谋.
>> Amma bu halda, biz, h蓹qiq蓹t蓹n, yoxdur.
M蓹n simli dem蓹k gedir蓹m.
V蓹 sonra m蓹n z蓹ng ed蓹 bil蓹r M蓹n ist蓹yir蓹m bu bir 艧ey.
M蓹n z蓹ng etm蓹k 眉莽眉n gedir蓹m ad谋, string almaq olur.
>> 陌ndi etdiyiniz h蓹tta 蓹g蓹r bu bir az yeni,
M蓹n b蓹zi detal yoxdur edir蓹m ki, g枚r眉rs眉n眉z.
M蓹n yar谋 kolon unutmadan al谋ram.
M蓹n bu fikir bitirm蓹k laz谋md谋r.
M蓹n m蓹nim kursor h蓹r蓹k蓹t etm蓹k 眉莽眉n gedir蓹m v蓹 orada yar谋 kolon edib.
M蓹n yaln谋z n蓹 etmi艧蓹m?
kodu bu x蓹tti, haz谋rda say谋 5,
M蓹n he莽 bir giri艧 il蓹 get simli z蓹ng edir蓹m.
Bel蓹 ki, he莽 ki莽ik a臒 var Save blok var kimi qutusu.
>> M蓹n yaln谋z hey, deyir蓹m komp眉ter, m蓹n蓹 bir string almaq.
b蓹rab蓹r i艧ar蓹si h蓹qiq蓹t蓹n deyil b蓹rab蓹r i艧ar蓹si, per se.
Bu tap艧谋r谋q var dem蓹kdir operator,
hey, komp眉ter, d蓹y蓹ri h蓹r蓹k蓹t sol 眉z蓹rind蓹 sa臒.
Sol, m蓹n a艧a臒谋dak谋 var.
>> Hey, komp眉ter, m蓹n蓹 string verm蓹k simvol bir ard谋c谋ll谋qla.
V蓹 string ad谋 莽a臒谋r谋r谋q.
M蓹n h蓹tta Ad谋 z蓹ng yoxdur.
>> M蓹n 艧蓹rti, z蓹ng ed蓹 bil蓹r, S kimi bir 艧ey,
biz M蓹n istifad蓹 莽ox kimi d蓹yi艧蓹n i z蓹ng.
Amma indi bu bir 艧ey etm蓹k laz谋md谋r.
Bu olduqca axmaq olard谋 莽al谋艧an, bu kodu t蓹rtib c蓹hd
bu proqram olsa M蓹n bir simli al谋ram,
yaln谋z h蓹l蓹, 莽眉nki salam d眉nya dem蓹k gedir.
>> Amma bu d蓹yi艧蓹 n蓹 ist蓹yir蓹m 蓹g蓹r.
Niy蓹 bu yoxdur?
Y眉zd蓹 s, verg眉l s.
Bu h蓹l蓹 bir az sirli edir.
>> Bel蓹 ki, m蓹nim d蓹yi艧蓹nl蓹rin daha ayd谋n ed蓹k.
ox艧ar d蓹yi艧蓹n ad ed蓹k.
V蓹 biz sata艧maq ed蓹 bilm蓹z, 蓹g蓹r nin g枚r蓹k ayr谋 burada neler.
>> Bel蓹 ki, x蓹tt be艧, M蓹n bir simli al谋ram.
M蓹n ki, simli saxlan谋lmas谋 al谋ram, n蓹 istifad蓹莽i tipli
onun klaviatura, Ad谋 adl谋 d蓹yi艧蓹n.
V蓹 bu 莽谋x谋r ki, printf yaln谋z deyil
ikiqat bir m眉bahis蓹 edirl蓹r quotes, ikiqat quotes bir giri艧.
>> Bu iki v蓹 ya 眉莽 v蓹 ya daha 莽ox, bel蓹 ed蓹 bil蓹rsiniz ikinci v蓹 ya 眉莽眉nc眉, ya d枚rd眉nc眉 ki,
d蓹yi艧蓹nl蓹rin b眉t眉n adlar谋, v蓹 ya x眉susi, d蓹y蓹rl蓹r
Siz daxil plug ist蓹yir蓹m ki, dinamik quotes ki, simli.
Ba艧qa s枚zl蓹, n蓹 bu yanl谋艧 ola bil蓹r?
M蓹n yaln谋z etdi salam ad谋, backslash n, m蓹nim fayl xilas m蓹nim kodu t蓹rtib
v蓹 bu qa莽d谋, n蓹 olard谋?
>> Bu, sad蓹c蓹 salam dem蓹k olacaq sanki N-A-M-E, ad谋,
hans谋 n枚v axmaq, 莽眉nki d眉nyan谋n he莽 bir f蓹rqli.
Bel蓹 ki, quotes bir 艧ey deyil n蓹 s枚z眉n 莽ap olur.
M蓹n ist蓹yir蓹m 蓹g蓹r bir tutucu,
M蓹n, h蓹qiq蓹t蓹n, istifad蓹 etm蓹k laz谋md谋r b蓹zi x眉susi syntax.
茝g蓹r oxumaq 蓹g蓹r 莽谋x谋r printf funksiyas谋 眉莽眉n s蓹n蓹dl蓹艧dirm蓹,
bu siz蓹 x蓹b蓹r ver蓹c蓹kdir Siz faiz s istifad蓹 蓹g蓹r,
a艧a臒谋dak谋 kimi bir d蓹y蓹r 蓹v蓹z ed蓹 bil蓹rsiniz.
>> sonra bir verg眉l sonra ikiqat quote, sad蓹c蓹
ad谋n谋 yazmaq Ist蓹diyiniz d蓹yi艧蓹n
ki, format谋nda plug kodu v蓹 ya format belirteci,
faiz s strings 眉莽眉n.
陌ndi, m蓹nim fayl xilas etdik 蓹g蓹r M蓹n terminal a艧a臒谋 geri.
M蓹n String olun yaz谋n, 莽眉nki bu yenid蓹n ad谋
M蓹n 蓹vv蓹l se莽di fayl string.c edir.
>> M蓹n daxil String etm蓹k dem蓹k gedir蓹m.
yax艧谋l谋q m蓹nim Oh, b眉t眉n baxmaq s蓹hvl蓹r biz art谋q etdik.
V蓹 bu h蓹qiq蓹t蓹n n蓹, is-- alt谋, yeddi line proqram kimi?
Bel蓹 ki, bu harada 莽ox can var tez b枚y眉k 蓹ld蓹.
>> Bu terminal p蓹nc蓹r蓹 var 陌ndi yaln谋z m蓹d蓹sind蓹n geri qaytard谋
s蓹hv bir 莽ox.
艦眉bh蓹siz ki, m蓹n daha 莽ox s蓹hv yoxdur M蓹nd蓹n messages kodu x蓹tl蓹ri var.
Bel蓹 ki, n蓹 ba艧 verir?
>> Yax艧谋, 蓹n yax艧谋 strategiya ist蓹diyiniz zaman n蓹
b枚y眉k qar艧谋la艧a yoxdur kimi s蓹hvl蓹rin siyah谋s谋
geri h蓹r蓹k蓹t edir, komanda axtarmaq yaln谋z qa莽d谋 m蓹nim halda olan
simli olun.
etdi etm蓹k n蓹 bax谋n ki, ki uzun cingilti komanda, he莽 bir b枚y眉k.
>> Amma q谋rm谋z谋 pis.
Green olma臒a 莽al谋艧谋r inc蓹 v蓹 faydal谋.
Amma bu halda, h蓹l蓹 d蓹 pis.
Amma pis deyil?
>> String.c, line be艧, karakter be艧.
Bel蓹 ki, bu yaln谋z 眉mumi konvensiya var.
Something colon 艧ey dem蓹kdir line say谋 v蓹 xarakteri n枚mr蓹si.
Error, qeydiyyatdan k蓹nar xarici istifad蓹 identifikatoru string.
Siz standart dem蓹k mi?
>> Bel蓹 ki, t蓹蓹ss眉f ki, cingilti faydal谋 olma臒a 莽al谋艧谋r.
Amma bu halda, yanl谋艧.
Xeyr, cingilti, m蓹n standart IO dem蓹k deyil.
B蓹li, x蓹tti biri idi.
>> Amma line be艧 burada bu biridir.
V蓹 cingilti deyil S-T-R-I-N-G ba艧a d眉艧眉r眉k.
Bu elan olunmam谋艧 identifikator, bir var bu, yaln谋z 蓹vv蓹l g枚r眉ld眉 he莽 vaxt s枚z.
V蓹 C, 莽眉nki, dil var biz indi kodu yaz谋yoruz
strings adl谋 d蓹yi艧蓹nl蓹r yoxdur.
>> Bu default, d蓹st蓹yi il蓹 deyil bir 艧ey bir simli 莽a臒谋r谋b.
Bu bir CS50 par莽a var jargon, lakin 莽ox 艧蓹rti.
A艧a臒谋dak谋 kimi Amma bu d眉zeltebilirsiniz.
>> M蓹n kodu bir line 蓹lav蓹 edin Bu proqram 眉st,
ba艧qa fayl CS50.h daxildir haradasa CS50 IDE daxilind蓹 haradasa
sabit, bel蓹 dan谋艧maq, Ubuntu 蓹m蓹liyyat sistemi
M蓹n 莽al谋艧an al谋ram ki, ki, fayl var
蓹m蓹liyyat 枚yr蓹tm蓹k 眉莽眉n gedir simli n蓹 sistem yaln谋z
standart io.h kimi fayl 蓹m蓹liyyat sistemi
n蓹 printf onu 枚yr蓹tm蓹k 眉莽眉n gedir.
>> H蓹qiq蓹t蓹n, biz kazan谋lm谋艧 olard谋 bir 莽ox ox艧ar mesaj
IO standart q蓹bul 蓹g蓹r Io.h v蓹 printf istifad蓹 etm蓹y蓹 c蓹hd.
M蓹n ir蓹li v蓹 yaln谋z getm蓹k 眉莽眉n gedir蓹m M蓹nim ekran sil Control L almaq.
Yoxsa ayd谋n yaz谋n v蓹 olacaq yaln谋z terminal p蓹nc蓹r蓹 sil.
Amma siz h蓹l蓹 vaxt geri h蓹r蓹k蓹t ed蓹 bil蓹r.
>> M蓹n String olun t蓹krar gedir蓹m.
Daxil edin m蓹nim barmaqlar谋n谋 bu d蓹f蓹 ke莽ir.
Allah谋m Oh, o, i艧l蓹yib.
m蓹n蓹 uzun sirli komanda g枚st蓹rir ki, n蓹 cingilti vasit蓹sil蓹 yarad谋lan olun
lakin he莽 bir s蓹hv messages.
Bel蓹 ki, baxmayaraq ki, h蓹yata Siz tamamil蓹 蓹ld蓹 ed蓹 bil蓹r
il蓹 overwhelmed s蓹hv say谋
yaln谋z bu annoying Cascading ola bil蓹r Cingilti anlam谋r t蓹siri
sonra onu dem蓹kdir ki, bir 艧ey, N枚vb蓹ti s枚z眉 d蓹rk etmir,
v蓹 ya n枚vb蓹ti line.
V蓹 bel蓹 ki, yaln谋z kodunu 艧oklar.
Amma fix sad蓹 ola bil蓹r.
V蓹 bel蓹 ki, h蓹mi艧蓹 diqq蓹t 莽谋xd谋 ilk line.
V蓹 siz 蓹g蓹r onu anlamaq, yaln谋z baxmaq
a莽ar s枚zl蓹r, 眉莽眉n ola bil蓹r ipu莽lar谋 v蓹 line say谋,
v蓹 xarakteri, harada ki, s蓹hv ola bil蓹r.
>> 陌ndi m蓹n蓹 ir蓹li getm蓹k v蓹 yaz谋n imkan dot daxil edin, simli do臒ramaq.
Hm, bu salam bir 艧ey dey蓹n deyil.
Niy蓹?
Yax艧谋, harada 莽al谋艧an, geri?
>> Bu y蓹qin ki, haz谋rda vurulmu艧 oldu bir loop, x蓹tti alt谋 on, Siz,
dizayn String al谋n, 莽眉nki, CS50 hey蓹ti t蓹r蓹find蓹n yaz谋l谋,
s枚z眉n yaln谋z oturmaq 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur orada g枚zl蓹yir, v蓹 g枚zl蓹m蓹,
v蓹 simli g枚zl蓹yir.
biz simli dem蓹k b眉t眉n insan daxil edir.
Bel蓹 ki, n蓹?
M蓹n蓹 davam ed蓹k.
V蓹 yaln谋z bir 艧谋ltaql谋q, m蓹n蓹 imkan M蓹nim ad谋, David yaz谋n daxil edin.
陌ndi bir daha dinamik proqram var.
Bu salam David bildirib.
>> M蓹n ir蓹li getm蓹k v蓹 yen蓹 bu 莽al谋艧t谋r谋yorsan谋z, M蓹n蓹 daxil edin Zamila ad谋n谋 dem蓹k ed蓹k.
陌ndi biz dinamik proqram var.
M蓹n a臒谋r d眉nyaya kodlu deyil.
M蓹n a臒谋r kodlu deyil ad谋, v蓹 ya David, ya Zamila.
>> 陌ndi proqramlar谋 kimi daha 莽ox var Bu giri艧 蓹g蓹r biz burada bilirik
Bu q蓹d蓹r m眉xt蓹lif 莽谋x谋艧 istehsal edir.
陌ndi bu yax艧谋 deyil istifad蓹莽i t蓹cr眉b蓹si, v蓹 ya UX.
M蓹n proqram谋.
>> M蓹n g眉man edir蓹m n蓹 bilmir蓹m M蓹n, h蓹qiq蓹t蓹n, baxmaq halda, n蓹 眉莽眉n
v蓹 ya kodunu xat谋rlay谋ram.
Bel蓹 ki, istifad蓹莽i ed蓹k bir az daha yax艧谋 t蓹cr眉b蓹
艧eyi sad蓹 il蓹.
ox艧ar geri ged蓹k proqram, v蓹 sad蓹c蓹 printf dem蓹k.
>> V蓹 m蓹n蓹 ir蓹li getm蓹k v蓹 ad谋, kolon dey蓹k v蓹 yer, v蓹 sonra yar谋 kolon.
V蓹 yaln谋z kicks 眉莽眉n, he莽 bir bo艧luq n.
V蓹, q蓹sd蓹n deyil M蓹n ist蓹mir蓹m, 莽眉nki
tez n枚vb蓹ti line h蓹r蓹k蓹t etm蓹k.
>> M蓹n simli etm蓹k 蓹v蓹zin蓹, bunu ist蓹yir蓹m yeni ma艧谋n m蓹nim kodu compile
code dot simli do臒ramaq.
Ah, bu q蓹d蓹r cazib蓹dar v蓹 g枚z蓹l edir.
陌ndi h蓹qiq蓹t蓹n n蓹 komp眉ter bilm蓹k M蓹n蓹 n蓹 bir ad verm蓹k ist蓹yir.
>> M蓹n ir蓹li getm蓹k v蓹 yaz谋n gedir蓹m Rob da, salam Rob daxil edin v蓹.
Bel蓹 ki, bu ilin sonunda, h蓹l蓹 d蓹, h蓹yata g眉n, yaln谋z bir doqquz line proqram.
Amma biz bu k枚rp蓹 add谋mlar etdik.
>> Biz bir x蓹tt yazd谋臒谋 biz tan谋艧, printf, salam d眉nya idi.
Sonra biz bir az undid.
V蓹 biz, h蓹qiq蓹t蓹n, get string istifad蓹 olunur.
V蓹 biz bir d蓹yi艧蓹n ki, d蓹y蓹ri atd谋.
V蓹 sonra biz 枚n蓹 ke莽di v蓹 t蓹kmill蓹艧dirilmi艧 Bu 眉莽眉nc眉 x蓹tti il蓹 daha.
V蓹 bu iterativ proses proqram yaz谋l谋 h蓹qiq蓹t蓹n vacibdir.
CS50, v蓹 眉mumiyy蓹tl蓹 h蓹yat, 眉mumiyy蓹tl蓹, a艧a臒谋 oturmaq laz谋m deyil
n蓹z蓹r蓹 bir proqram var v蓹 yaz谋 c蓹hd b眉t眉n bir d蓹f蓹 b眉t眉n l蓹n蓹tl蓹m蓹k 艧ey.
>> Bu, ist蓹r-ist蓹m蓹z, yol s蓹b蓹b olacaq 枚z眉m眉z burada g枚rd眉m biz daha 莽ox s蓹hvl蓹r.
H蓹tta m蓹n bu g眉n蓹 q蓹d蓹r daim dig蓹r axmaq s蓹hvl蓹r,
h蓹qiq蓹t蓹n 莽蓹tindir s蓹hvl蓹r var anlamaq 莽蓹tindir ki.
Amma daha 莽ox s蓹hvl蓹r daha 莽ox olacaq kod x蓹tl蓹ri bir d蓹f蓹 b眉t眉n yaz谋n.
V蓹 bu t蓹cr眉b蓹 kod bir az yazmaq
Siz rahat ist蓹yirik ki, t蓹rtib Bu, run 眉mumiyy蓹tl蓹 test
sonra biz saxlan谋l谋r, bel蓹 ki, kimi Us h蓹r蓹k蓹t layering v蓹 son h蓹ft蓹 layering,
bir 艧ey bina 莽ox daha m眉r蓹kk蓹b bir 艧ey sad蓹,
Burada eyni.
a艧a臒谋 oturmaq v蓹 c蓹hd etm蓹yin b眉t眉n problem yaz谋n.
茝slind蓹 bu k枚rp蓹 add谋mlar.
>> 陌ndi strings b眉t眉n deyil 枚zl蓹ri yan谋na faydal谋.
Biz kimi, ideal, h蓹qiq蓹t蓹n ist蓹diyiniz Bizim Toolbar ba艧qa bir 艧ey var.
Bel蓹 ki, h蓹qiq蓹t蓹n m蓹hz bunu ed蓹k.
>> M蓹n蓹 indi ir蓹li getm蓹k v蓹 q谋z谋艧d谋rmaq ed蓹k bir az f蓹rqli proqram.
V蓹 biz tam 眉莽眉n, bu int.c z蓹ng ed蓹c蓹yik.
M蓹n eyni, gedir蓹m, CS550.h daxildir.
M蓹n standart IO daxil gedir蓹m.
V蓹 olduqca 眉mumi olacaq sinif bu ilk bir ne莽蓹 g眉n.
>> M蓹n haz谋r gedir蓹m 枚z眉m眉 蓹sas funksiyas谋 il蓹.
陌ndi 蓹v蓹zin蓹 simli almaq, Nin ir蓹li getm蓹k v蓹 bir int 蓹ld蓹 ed蓹k.
nin i z蓹ng ed蓹k v蓹 bu almaq z蓹ng int yax谋n parens yar谋 kolon.
陌ndi n蓹 ed蓹k bu bir 艧ey, printf.
>> nin kimi bir 艧ey dem蓹k ed蓹k salam, backslash n, verg眉l i.
M蓹n olduqca 莽ox imitasiya al谋ram M蓹n yaln谋z bir an 蓹vv蓹l n蓹.
M蓹n burada bir tutucu var.
M蓹n ist蓹yir蓹m, 莽眉nki m蓹n, burada verg眉l var ki, tutucu i yerl蓹艧dirin.
>> Bel蓹 ki, ir蓹li getm蓹k v蓹 c蓹hd ed蓹k Bu proqram t蓹rtib.
Fayl int.c. adlan谋r
M蓹n daxil int etm蓹k, dem蓹k gedir蓹m.
P蓹rv蓹rdigara, lakin he莽 bir b枚y眉k, sa臒?
bir s蓹hv var.
>> bir sintaktik s蓹hv var Burada bel蓹 ki, proqram bilm蓹z
int.c x蓹tti daxilind蓹 t蓹rtib yeddi, karakter 27, s蓹hv format
n枚v眉 char m眉蓹yy蓹n ki, n蓹, ulduz.
Amma d蓹lil n枚v眉 int edir.
>> Da biz Bel蓹 ki, burada to-- fikrind蓹 deyilik Bu g眉n maddi bir 莽ox olsa da,
Biz siz蓹 qorxudaraq olacaq tamamil蓹 C h蓹r bir x眉susiyy蓹t,
v蓹 daha 莽ox, 眉mumiyy蓹tl蓹 proqramla艧d谋rma yaln谋z bu ilk bir ne莽蓹 h蓹ft蓹.
Bel蓹 ki, tez-tez jargon var olacaq hans谋 il蓹 tan谋艧 deyilik.
V蓹 蓹slind蓹, char ulduz bir 艧ey deyil biz geri g蓹lm蓹k olacaq
bir h蓹ft蓹 v蓹 ya iki vaxt.
>> Amma indi, biz 蓹g蓹r nin g枚r蓹k tan谋艧 s枚zl蓹ri analiz.
Formats-- biz format e艧itdim belirteci, format kodu 蓹vv蓹l.
Bu tan谋艧 deyil.
Tipli lakin d蓹lil n枚v眉 int var.
Bir d蓹qiq蓹 g枚zl蓹yin, i bir int edir.
>> h蓹qiq蓹t蓹n B蓹lk蓹 faiz s b蓹zi m眉蓹yy蓹n m蓹nas谋 var.
V蓹 h蓹qiq蓹t蓹n, yoxdur.
Bir tam, 蓹g蓹r siz onu 蓹v蓹z etm蓹k 眉莽眉n printf,
Siz, h蓹qiq蓹t蓹n, bir istifad蓹 etm蓹k m眉xt蓹lif format belirteci.
V蓹 bu bilmir蓹m halda kims蓹 siz蓹 dedim
v蓹 ya 蓹vv蓹l etmi艧di.
Amma faiz m蓹n n蓹 莽ox istifad蓹 edil蓹 bil蓹r
bir tam sayede 眉莽眉n printf edir.
Siz h蓹m莽inin faiz istifad蓹 ed蓹 bil蓹rsiniz bir bu tam 眉莽眉n d.
Amma burada g枚z蓹l v蓹 sad蓹dir.
Bel蓹likl蓹, biz ki, getm蓹k laz谋md谋r.
>> 陌ndi m蓹n蓹 ir蓹li ged蓹k v蓹 t蓹krar etm蓹k int daxil edin.
Bu, he莽 bir s蓹hvl蓹r yax艧谋.
Dot, int OK, pis user experience do臒ramaq M蓹n 枚z眉m眉 bildirib, 莽眉nki
n蓹.
Amma ki, g枚z蓹l var.
M蓹n tez tutmaq al谋ram.
>> 陌ndi m蓹n蓹 ir蓹li getm蓹k v蓹 David, OK, Zamila, Rob yaz谋n.
OK, bel蓹 ki, bu yax艧谋 bir 艧ey deyil.
Bu d蓹f蓹 m蓹n bir funksiyas谋 istifad蓹 edir蓹m get int adl谋 puzzle par莽a.
V蓹 莽谋x谋r v蓹 biz laz谋md谋r term-- bu sonra g枚r蓹c蓹ksiniz
CS50 hey蓹ti h蓹yata ke莽irdi bel蓹 bir 艧蓹kild蓹 simli almaq
ki, yaln谋z fiziki ed蓹c蓹k Sizin 眉莽眉n bir string almaq.
>> Bu, get int h蓹yata ke莽irdi Bel蓹 bir yol ki, yaln谋z ed蓹c蓹k
sizin 眉莽眉n bir tam almaq.
V蓹 蓹g蓹r, insan, 蓹m蓹kda艧l谋q deyil, bu,
s枚z眉n yaln谋z gedir , Yeniden, yeniden yeniden dem蓹k
sanki q蓹d蓹r loop orada oturan B蓹zi sehrli say谋 m蓹cbur,
50 v蓹 50 salam kimi.
>> Yoxsa biz yen蓹 bu run 蓹g蓹r v蓹 n枚v眉 42, 42 salam.
V蓹 get int funksiyas谋 ki, puzzle par莽a daxili
kifay蓹t q蓹d蓹r m蓹ntiq, kifay蓹t q蓹d蓹r fikir, anlamaq 眉莽眉n, bir s枚z n蓹dir?
V蓹 bir s谋ra n蓹dir?
Yaln谋z n蓹tic蓹d蓹, n枚mr蓹l蓹ri, q蓹bul.
>> Bel蓹 ki, bu 莽谋x谋r ki, b眉t眉n ifad蓹li deyil.
indiy蓹 q蓹d蓹r.
Bel蓹 ki, yay, son d蓹f蓹 biz olduqca tez getdi
h蓹yata oyunlar v蓹 animasiya, Not v蓹 b蓹dii 蓹s蓹rl蓹ri.
V蓹 burada, biz content olunur salam d眉nya v蓹 50 salam il蓹.
>> Bu b眉t眉n ruhland谋r谋c谋 deyil.
V蓹 h蓹qiq蓹t蓹n, bu ilk bir ne莽蓹 n眉mun蓹l蓹ri bir az zaman alacaq
h蓹y蓹can ramp.
Amma biz 莽ox daha 莽ox var 茝slind蓹, indi n蓹zar蓹t.
V蓹 biz olacaq 莽ox tez layering ba艧lamaq
Bu 蓹sas primitives 眉st.
>> Lakin ilk, bu anlamaq imkan m蓹hdudiyy蓹tl蓹r var n蓹.
艧eyi 茝slind蓹, bir Scratch asanl谋qla deyil
baxmaq, h蓹qiq蓹t蓹n, biz蓹 n蓹 ed蓹k ba艧l谋q alt谋nda,
v蓹 n蓹 anlamaq komp眉ter, bunu ed蓹 bil蓹r n蓹 var
v蓹 m蓹hdudiyy蓹tl蓹r n蓹 var.
V蓹 h蓹qiq蓹t蓹n, 莽at谋艧mazl谋臒谋 anla艧ma, potensial uzunm眉dd蓹tli
枚z s蓹hvl蓹r yaz谋l谋 g蓹tirib 莽谋xara bil蓹r etibars谋z proqram yaz谋l谋 bugs ki,
bir 艧蓹kild蓹 Hesab谋ma girildi olur.
>> Bel蓹 ki, do臒ru b蓹zi add谋mlar imkan bu bir az daha yax艧谋 d蓹rk
, Yolu a艧a臒谋dak谋 n眉mun蓹 deyirl蓹r.
M蓹n ir蓹li getm蓹k v蓹 h蓹yata ke莽irilm蓹si 眉莽眉n gedir蓹m G眉rz蓹 adl谋 proqram real s眉r蓹tli.
Kimi, birlikd蓹 bir 蓹d蓹d 蓹lav蓹 ed蓹k.
M蓹n b蓹zi gu艧蓹l蓹rind蓹n kod gedir蓹m burada v蓹 yaln谋z sur蓹ti v蓹 yap谋艧d谋r谋b
M蓹n yaln谋z 蓹vv蓹l idi bel蓹 ki, biz tez gedir 蓹ld蓹 ed蓹 bil蓹rsiniz.
陌ndi M蓹n 蓹sas yaranma var G眉rz蓹 adl谋 proqram.
>> V蓹 ir蓹li getm蓹k v蓹 bunu bildirin.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 dem蓹k, intx int almaq olur.
V蓹 n蓹 bilirik?
nin daha yax艧谋 bir istifad蓹莽i experience ed蓹k.
>> Bel蓹 ki, yaln谋z x v蓹 s蓹m蓹r蓹li dey蓹k istifad蓹莽i t蓹klif biz蓹 x verm蓹k.
V蓹 sonra m蓹n蓹 printf, ir蓹li getm蓹k v蓹 dey蓹k nec蓹 y haqq谋nda, bu d蓹f蓹 g枚zl蓹yirik
istifad蓹莽i iki d蓹y蓹rl蓹r.
V蓹 sonra, yaln谋z ir蓹li getm蓹k v蓹 dem蓹k, printf, x v蓹 y c蓹midir.
陌ndi y眉zd蓹 s etm蓹k ist蓹mir蓹m.
M蓹n faiz etm蓹k ist蓹yir蓹m, backslash n, sonra m蓹bl蓹臒i d蓹y蓹r yerl蓹艧dirin.
>> Bel蓹 ki, nec蓹 bunu bar蓹d蓹 getm蓹k olar?
Siz n蓹 bilirik?
M蓹n d蓹yi艧蓹nl蓹rin nec蓹 istifad蓹 bilirik.
M蓹n蓹 yaln谋z yeni bir, int z elan ed蓹k.
>> M蓹n burada bir tahmin etm蓹k gedir蓹m.
Bu b蓹rab蓹r 蓹lam蓹tl蓹ri varsa dil, b蓹lk蓹 m蓹n x plus y ed蓹 yaln谋z bil蓹r,
bel蓹 uzun m蓹nim son olaraq yar谋-n枚qt蓹 il蓹 fikir?
陌ndi, a艧a臒谋 burada geri z plug bil蓹r, yar谋-n枚qt蓹 il蓹 bu fikir tamamlay谋n.
V蓹 bu halda, indi g枚r蓹k x蓹tl蓹ri X ard谋c谋ll谋臒谋 int almaq.
Y int almaq.
>> , X v蓹 y 蓹lav蓹 d蓹y蓹r saxlamaq z-- Bel蓹 ki, daha b蓹rab蓹r i艧ar蓹si xat谋rlay谋ram
b蓹rab蓹r deyil.
Bu sa臒dan sola tap艧谋r谋q var.
V蓹 m蓹bl蓹臒 ki, 莽ap ed蓹k x v蓹 y, s枚z眉n z deyil
lakin z daxilind蓹 n蓹 var.
Bel蓹 ki, g眉rz蓹 ed蓹k - g枚z蓹l, s蓹hvsiz bu d蓹f蓹.
Dot, g眉rz蓹 daxil do臒ramaq x 1 olacaq.
>> Y 2 olacaq.
V蓹 x v蓹 y m蓹bl蓹臒i 3.
Bel蓹 ki, b眉t眉n g枚z蓹l v蓹 yax艧谋.
>> Bel蓹 ki, riyaziyyat t蓹s蓹vv眉r bu kimi bir proqram i艧l蓹m蓹lidir.
Amma n蓹 bilirik?
Bu d蓹yi艧蓹n line edir 12, h蓹tta laz谋m?
Siz v蓹rdi艧 almaq 眉莽眉n ehtiyac yoxdur yaln谋z d蓹yi艧蓹nl蓹rin 艧eyi saxlan谋lmas谋
yaln谋z 莽眉nki.
V蓹 蓹slind蓹, bu, 眉mumiyy蓹tl蓹, var hesab pis dizayn
Bir d蓹yi艧蓹n yaratmaq varsa, adl谋 Bu halda z, bu bir 艧ey saxlan谋lmas谋,
v蓹 sonra d蓹rhal lakin he莽 vaxt yenid蓹n istifad蓹.
Niy蓹 bir 艧ey bir ad verm蓹k z kimi s枚z眉n 蓹g蓹r
ki, istifad蓹 etm蓹k niyy蓹tind蓹 艧ey yaln谋z bir d蓹f蓹, v蓹
Yaratd谋臒谋n谋z harada proksimal ilk n枚vb蓹d蓹 bu,
kodu x蓹tl蓹ri bax谋m谋ndan 莽ox yax谋n?
Bel蓹 ki, n蓹?
Bu C olduqca 莽evik 莽谋x谋r.
M蓹n, h蓹qiq蓹t蓹n, ist蓹yirsinizs蓹 plug-in d蓹y蓹rl蓹r burada,
M蓹n yeni d蓹yi艧蓹n elan etm蓹k laz谋m deyil.
M蓹n yaln谋z plug-in bil蓹r x plus y, C anlay谋r, 莽眉nki
hesab v蓹 riyazi operatorlar谋.
>> M蓹n sad蓹c蓹, bu math ed蓹, dem蓹k olar x plus y, o d蓹y蓹rl蓹r n蓹 olursa olsun,
n蓹tic蓹sind蓹 plug ki, simli daxil tam.
Bel蓹 ki, bu, baxmayaraq ki, ola bil蓹r, yaln谋z bir x蓹tt q谋sa,
Daha yax艧谋 dizayn, daha yax艧谋 proqram, az code Buna g枚r蓹 d蓹, var, 莽眉nki
M蓹n蓹 anlamaq 眉莽眉n azd谋r.
V蓹 bu da yaln谋z t蓹miz biz deyilik insofar kimi
yeni s枚zl蓹r t蓹qdim, yeni simvollar, z kimi,
baxmayaraq ki, onlar h蓹qiq蓹t蓹n deyil m蓹qs蓹di 莽ox xidm蓹t edir.
>> T蓹蓹ss眉f ki, riyaziyyat deyil b眉t眉n etibarl谋 b蓹z蓹n.
Nin ir蓹li getm蓹k v蓹 bunu ed蓹k.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m indi v蓹 a艧a臒谋dak谋.
>> printf, y眉zd蓹 i, plus faiz ed蓹k i, y眉zd蓹 i, backslash n olacaq.
M蓹n 艧eyl蓹rdir xyx plus y gedir蓹m.
M蓹n yaln谋z yeniden yazmaq 眉莽眉n gedir蓹m bu bir az f蓹rqli burada.
M蓹n蓹 yaln谋z tez a臒l谋 ba艧谋nda olma 莽ek ed蓹k.
Yen蓹 nin ir蓹lid蓹 枚z眉m眉z almaq deyil bildirin.
g眉rz蓹, dot 莽izgi g眉rz蓹 olun.
x 1, y 2, 1 plus 2 3 edir.
Bel蓹 ki, yax艧谋.
Amma indi bu m眉r蓹kk蓹bl蓹艧dirm蓹k imkan bir az, v蓹 yeni bir fayl yaratmaq.
>> M蓹n bu bir z蓹ng etm蓹k 眉莽眉n gedir蓹m, ints, integers 眉莽眉n c蓹m, deyirl蓹r.
M蓹n bir an 蓹vv蓹l oldu臒u m蓹n蓹 ba艧lamaq ed蓹k.
Amma indi bir ne莽蓹 dig蓹r x蓹tl蓹ri ed蓹k.
M蓹n蓹 ir蓹li getm蓹k v蓹 a艧a臒谋dak谋 ed蓹k printf, y眉zd蓹 i, minus faiz i,
faiz i, verg眉l x, verg眉l YX minus y edir.
M蓹n bir az edir蓹m orada m眉xt蓹lif math.
nin ba艧qa bir ed蓹k.
Bel蓹 ki, faiz i d蓹f蓹 faiz i faiz i, backslash n.
nin plug-in X, v蓹 y, v蓹 x d蓹f蓹 y ed蓹k.
Biz ulduz istifad蓹 ed蓹c蓹yik d蓹f蓹 komp眉ter.
>> Siz X istifad蓹 etm蓹yin. x Burada d蓹yi艧蓹n ad谋.
Siz vurma 眉莽眉n ulduz istifad蓹 edin.
daha bir ed蓹k.
Printf faiz M蓹n b枚l眉n眉r faiz I, faiz i
backslash n. xy y-- b枚l眉n眉r bel蓹 ki, C ir蓹li 莽izgi istifad蓹
b枚lg眉s眉 yoxdur.
V蓹 dig蓹r bir n蓹 ed蓹k.
faiz i qalan b枚l眉n眉r faiz I, y眉zd蓹 i.
xy-- v蓹 indi qalan 眉z蓹rind蓹 sol n蓹 edir.
Bir b枚l眉nm蓹si 莽al谋艧t谋臒谋n谋zda bir sur蓹t daxil m蓹xr蓹c,
ki, art谋q qal谋b n蓹 q蓹d蓹r Siz b枚lm蓹k bilm蓹z?
>> Bel蓹 ki, h蓹qiq蓹t蓹n yoxdur m眉tl蓹q simvolu
biz bu grade m蓹kt蓹b istifad蓹 etdik.
Amma C. Siz dem蓹k x modulo y, harada
Bu kontekstd蓹 bu faiz i艧ar蓹si dola艧谋q daxili oldu臒unuzda
ikiqat quotes, printf ki, faiz daxili
format belirteci kimi istifad蓹 olunur.
>> Siz k蓹narda faizini istifad蓹 ed蓹rk蓹n riyazi ifad蓹 ki,
Bu modul 眉莽眉n modulo operator var bizim 眉莽眉n arithmetic--
Burada yaln谋z o dem蓹kdir ki, n蓹 x qalan y b枚l眉n眉r?
y b枚l眉n眉r x So x 莽izgi y edir.
y b枚l眉n眉r x qalan n蓹dir?
bir proqram莽谋 dey蓹rdim ki, mod y x var.
>> M蓹n burada he莽 bir s蓹hvl蓹r Bel蓹 ki, m蓹n蓹 imkan ir蓹li getm蓹k v蓹 c蓹m ints, g枚z蓹l etm蓹k,
v蓹 dot 莽izgi ints.
V蓹 ir蓹li getm蓹k v蓹 Bunu, bu, 1, 10 dey蓹k.
B眉t眉n sa臒, 1 plus 10 莽ek 11.
1 minus 10 yoxlamaq, m蓹nfi 9.
>> 1 d蓹f蓹 10 莽ek 10.
1 10 is-- b枚l眉n眉r OK, biz bir ke莽m蓹k laz谋md谋r.
10 b枚l眉n眉r 1 qalan 1.
Bu do臒ru deyil.
Amma burada bir s蓹hv var.
>> Bel蓹 ki, bir m蓹n qoymaq m蓹nim do臒ru deyil, t蓹hvil.
Hesab edir蓹m ki, 0 yax谋n dem蓹kdir.
biz 蓹g蓹r 10 b枚l眉n眉r 1, bilirsiniz, b蓹zi gu艧蓹l蓹rind蓹n k蓹sici, 蓹min, bu s谋f谋r var.
Amma h蓹qiq蓹t蓹n, 1/10 olmal谋d谋r 0.1 v蓹 ya 0.10, 0,1000 v蓹 ya s.
>> Bu, h蓹qiq蓹t蓹n s谋f谋r olmamal谋d谋r.
B蓹li, bu komp眉ter 莽谋x谋r ki, sanki bunu biz bunu izah.
Biz y b枚l眉n眉r x kimi riyaziyyat edirik.
V蓹 x蓹tl蓹ri h蓹r iki x v蓹 y, kodu 蓹vv蓹ll蓹r tam 蓹d蓹dl蓹rdir.
>> Bundan 蓹lav蓹, x蓹tt 15-d蓹 biz izah printf, hey, printf plug-in
tam, plug-in bir tam, plug-in bir integer-- x眉susi
x, v蓹 sonra y, v蓹 sonra x y b枚l眉n眉r. x v蓹 y ints var.
Biz orada yax艧谋 deyilik.
>> Amma x x n蓹 b枚l眉n眉r?
x y olmal谋d谋r b枚l眉n眉r, riyazi, 1/10 v蓹 ya 0,1,
hans谋 bir real say谋, bir real say谋 Potensial, bir decimal point olan.
Bu tam deyil.
>> Amma yax谋n n蓹 1/10, v蓹 ya 0.1 眉莽眉n tam?
B蓹li, bu c眉r s谋f谋r.
0.1 bu q蓹d蓹r kimi.
V蓹 1 Bu q蓹d蓹r.
Bel蓹 ki, 1/10 yax谋n 0 Bu bir daha.
>> V蓹 C us-- 眉莽眉n n蓹 c眉r biz bunu to-- bildirib, 莽眉nki
ki, tam truncating edir.
Bu yenid蓹n d蓹y蓹r alaraq 0.1000 kimi bir 艧ey olmas谋 ehtimal,
0 v蓹 s.
V蓹 h蓹r 艧eyi truncating oldu bu k蓹sir sonra
Bu ki, b眉t眉n bel蓹 stuff, bu deyil, 莽眉nki
, Bir tam anlay谋艧谋 uy臒un olan 1, 0, 1 m蓹nfi kimi yaln谋z bir s谋ra deyil
yuxar谋 v蓹 a艧a臒谋, h蓹r 艧ey 眉z sal谋r 莽眉nki bu k蓹sir sonra
decimal point uy臒un bilm蓹z m眉蓹yy蓹n bir tam.
>> Bel蓹 ki, burada cavab s谋f谋r.
Bel蓹 ki, nec蓹 biz bu d眉zeltmek 眉莽眉n n蓹 etm蓹liy蓹m?
Biz b眉t眉n birlikd蓹 ba艧qa bir h蓹ll laz谋md谋r.
a艧a臒谋dak谋 V蓹 biz bunu ed蓹 bil蓹rsiniz.
>> M蓹n蓹 davam ed蓹k v蓹 yeni yaratmaq fayl, bu floats.c 莽a臒谋r谋b.
V蓹 burada qeyd edin Eyni directory, float.c.
V蓹 m蓹n蓹 ir蓹li getm蓹k v蓹 sur蓹ti imkan 蓹vv蓹lki kod b蓹zi.
>> Amma 蓹ld蓹 bir int, bunu ed蓹k.
M蓹n蓹 bir 眉z蓹n point d蓹y蓹r verin x 莽a臒谋r谋b. harada 眉z蓹n point
d蓹y蓹ri yaln谋z s枚z眉n 眉z蓹n n枚qt蓹 il蓹 bir 艧ey.
Bu sa臒, sol h蓹r蓹k蓹t ed蓹 bil蓹r.
Bu real say谋 var.
>> V蓹 m蓹n蓹 deyil z蓹ng ed蓹k int almaq, ancaq float almaq,
h蓹m莽inin menyu aras谋nda idi C250 kitabxana variantlar谋.
Bir float y d蓹yi艧dirm蓹k ed蓹k.
Bel蓹 ki, bu float almaq olur.
>> 陌ndi, biz ints plug ist蓹mir蓹m.
Bu faiz istifad蓹 etm蓹k laz谋md谋r 莽谋x谋r float 眉莽眉n f, float 眉莽眉n faiz f,
v蓹 indi edin.
陌ndi, barmaqlar谋n谋 ke莽ib etm蓹k 眉z眉b gedirdi, g枚z蓹l, dot 莽izgi 眉z眉b gedirdi.
x bir 1. y olacaq yen蓹 10 olacaq.
>> V蓹 g枚z蓹l, OK m蓹nim 蓹lav蓹 do臒ru deyil.
M蓹n daha 莽ox 眉mid oldu ancaq yazmaq unuttum.
Bel蓹 ki, getm蓹k v蓹 bu m蓹ntiqi s蓹hv d眉zeltmek bildirin.
>> Nin ir蓹li getm蓹k v蓹 a艧a臒谋dak谋 qamarlamaq ed蓹k.
Biz yaln谋z bir az sur蓹ti v蓹 yap谋艧d谋r谋b ed蓹c蓹yik.
M蓹n minus dem蓹k gedir蓹m.
>> M蓹n d蓹f蓹 dem蓹k gedir蓹m.
M蓹n b枚l眉n眉r dem蓹k gedir蓹m.
M蓹n modulo etm蓹k niyy蓹tind蓹 deyil蓹m ki, burada kimi ilgili deyil
f b枚l眉n眉r, v蓹 d蓹f蓹 plus OK, Bunu yenid蓹n ed蓹k.
>> Olun 眉z眉b gedirdi, dot 莽izgi 眉z眉b gedirdi, 1, 10, and-- g枚z蓹l, yox, OK.
M蓹n bir idiot deyil蓹m.
Bel蓹 ki, bu 莽ox 眉mumi komp眉ter
ox艧ar axmaq s蓹hvl蓹r etm蓹k.
>> pedaqoji m蓹qs蓹dl蓹ri 眉莽眉n, n蓹 m蓹n, h蓹qiq蓹t蓹n etm蓹k ist蓹yirdi
Burada elm d蓹yi艧iklik idi Plus, m蓹nfi, d蓹f蓹,
v蓹 in艧allah sizin kimi, b枚lm蓹k Bu Manevr zaman谋 g枚rd眉k.
Bel蓹 ki, indi bu yenid蓹n t蓹rtib ed蓹k proqram, dot 莽izgi 眉z眉b gedirdi yoxdur.
>> V蓹 眉莽眉nc眉 d蓹f蓹, ed蓹k m蓹nim g枚zl蓹ntil蓹ri cavab oldu.
1, 10, 1000, OK, b蓹li, daxil, 10.000 b枚l眉n眉r, 0,100000 edir.
V蓹 biz n蓹zar蓹t ed蓹 bil蓹rsiniz 莽谋x谋r ne莽蓹 n枚mr蓹l蓹ri h蓹min decimal bal sonra.
Biz, h蓹qiq蓹t蓹n, olacaq.
Biz geri g蓹lm蓹k laz谋md谋r.
>> Amma indi, 蓹slind蓹, riyaziyyat do臒rudur.
Bel蓹 ki, daha, paket burada n蓹 var?
Bu C var 莽谋x谋r ki, Biz yaln谋z 蓹slind蓹 strings-- v蓹
H蓹qiq蓹t蓹n yoxdur, 莽眉nki biz CS50 kitabxana olanlar 蓹lav蓹 edin.
Amma yaln谋z ints yoxdur.
>> d蓹 眉z眉b gedirdi var.
V蓹 dig蓹r m蓹lumatlar bir d蓹st蓹 莽谋x谋r n枚vl蓹ri d蓹 biz uzun 蓹vv蓹l istifad蓹 ed蓹c蓹yik ki.
Bir ist蓹yirsinizs蓹 莽谋x谋r simvol xarakteri deyil, simli,
Yaln谋z bir char istifad蓹 ed蓹 bil蓹rsiniz.
>> Bir bool ist蓹yirsinizs蓹 莽谋x谋r ki, yaln谋z do臒ru v蓹 ya yalan bir Boolean d蓹y蓹ri,
CS50 kitabxana say蓹sind蓹, biz sizin el蓹c蓹 d蓹 C bool data n枚v眉 蓹lav蓹 edib.
Lakin bu da t蓹qdim edir bir 莽ox dig蓹r dill蓹rd蓹 h蓹m莽inin.
V蓹 b蓹z蓹n siz蓹 莽谋x谋r sonra default g蓹lm蓹k b枚y眉k n枚mr蓹l蓹ri laz谋md谋r
ints v蓹 眉z眉b gedirdi il蓹.
>> V蓹 蓹slind蓹, ikiqat bir s谋ra ki 32 bit, lakin 64 bit istifad蓹 edir.
V蓹 uzun uzun bir s谋ra ki, Deyil, 32 bit lakin 64 bit istifad蓹 edir
m眉vafiq olaraq, 眉z蓹n point m眉vafiq d蓹y蓹rl蓹r v蓹 integers.
Bel蓹 ki, indi h蓹qiq蓹t蓹n ed蓹k f蓹aliyy蓹t g枚r眉r眉k.
>> M蓹n burada ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 ba艧qa bir proqram q谋z谋艧d谋rmaq.
Burada m蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 cs50.h. daxildir yoxdur
V蓹 m蓹n蓹 ged蓹k, daxildir Standart io.h.
>> V蓹 bir 艧ey g枚r蓹c蓹ksiniz funky burada ba艧 verir.
Bu 艧eyi kodla艧d谋rma r蓹ng deyil 蓹vv蓹l oldu臒u kimi eyni 艧蓹kild蓹.
V蓹 bu m蓹n var, 莽谋x谋r 艧ey bir fayl ad谋 verilmi艧 deyil.
>> M蓹n bu bir z蓹ng etm蓹k 眉莽眉n gedir蓹m sizeof.c v蓹 Saxla edib.
V蓹 m蓹nim 莽ox n蓹 g枚r眉rs眉n眉z qara fonunda a臒 kodu.
陌ndi 蓹n az谋 var b蓹zi orada b蓹n枚v艧蓹yi.
Bu syntax vurgulan谋r.
>> , Sad蓹c蓹, m蓹n var ki, var fayl n枚v眉 IDE bildirib
Bu bir ad ver蓹r蓹k v蓹 x眉susi bir fayl uzant谋s谋.
陌ndi ir蓹li getm蓹k v蓹 bunu bildirin.
M蓹n ir蓹li v蓹 莽ox getm蓹k 眉莽眉n gedir蓹m sad蓹c蓹 a艧a臒谋dak谋 kimidir bool 莽ap
faiz LU edir.
>> Biz geri g蓹lm蓹k laz谋md谋r yaln谋z bir anda ki.
V蓹 sonra m蓹n gedir蓹m bool 莽ap 枚l莽眉s眉.
陌ndi, yaln谋z saxlamaq 眉莽眉n 枚z眉m bir m眉dd蓹t, m蓹n
bir b眉t眉n ed蓹c蓹yimiz bir d蓹f蓹 bu d蓹st蓹.
V蓹 x眉susil蓹, m蓹n gedir蓹m bir char v蓹 char bu d蓹yi艧ir.
Bu, m蓹n d蓹yi艧dirm蓹k 眉莽眉n gedir蓹m ikiqat v蓹 ikiqat.
>> Bu, m蓹n d蓹yi艧dirm蓹k 眉莽眉n gedir蓹m bir float v蓹 bir float.
Bu, m蓹n gedir蓹m bir int v蓹 bir int d蓹yi艧dirm蓹k.
V蓹 bu, m蓹n gedir蓹m uzun uzun d蓹yi艧dirm蓹k 眉莽眉n.
V蓹 h蓹l蓹 d蓹 alaraq Uzun m眉dd蓹t, uzun uzun.
>> V蓹 sonra, n蓹hay蓹t, verdim 枚z眉m眉 bir 莽ox, simli.
Bu C var 莽谋x谋r ki, adl谋 x眉susi operator
ki, 枚l莽眉s眉 s枚z眉n var Zaman 莽al谋艧t谋rmak 眉莽眉n gedir,
biz蓹 枚l莽眉s眉 dem蓹k bu d蓹yi艧蓹nl蓹rin h蓹r.
Bu, indi bir yoldur Biz geri qo艧ula bil蓹r
Ke莽蓹n h蓹ft蓹 m眉zakir蓹 m蓹lumat v蓹 n眉may蓹nd蓹liyinin.
>> M蓹n蓹 davam v蓹 t蓹rtib ed蓹k dot 莽izgi 枚l莽眉s眉 枚l莽眉s眉.
V蓹 nin g枚r蓹k.
Bu C 莽谋x谋r ki, x眉susi CS50 IDE haqq谋nda,
x眉susi on 蓹m蓹liyyat sistemi Ubuntu,
64-bit 蓹m蓹liyyat olan bu halda sistem,
bir bool gedir yer bir byte istifad蓹 edin.
脰l莽眉s眉 枚l莽眉l眉r nec蓹, Biz bit, lakin bayt.
V蓹 bir byte s蓹kkiz bit oldu臒unu xat谋rlay谋ram.
Bel蓹 ki, bir bool, h蓹tta baxmayaraq texniki laz谋md谋r bir 0 v蓹 ya 1,
bir az israf莽谋 var nec蓹 biz bunu h蓹yata etdik.
Bu, h蓹qiq蓹t蓹n bir b眉t眉n istifad蓹 etm蓹k olacaq byte-- b眉t眉n adet s谋f谋r, b蓹lk蓹 var
kimi b眉t眉n olanlar谋, v蓹 ya bir 艧ey, v蓹 ya yaln谋z bir 1 s蓹kkiz bit aras谋nda.
>> A char, eyni zamanda, bir xarakter 眉莽眉n istifad蓹 son h蓹ft蓹d蓹 bir Ascii xarakter kimi,
bir xarakter olacaq.
V蓹 bizim anlay谋艧谋 il蓹 synchs Bu, daha 莽ox 256 bits-- olan
Bu, he莽 bir olan synchs up art谋q 8 bit olan
Biz蓹 bir 莽ox 256 kimi d蓹y蓹rl蓹r verir.
A ikiqat gedir 8 bayt v蓹 ya 64 bit ola bil蓹r.
>> A float 4.
Bir int 4.
A uzun, uzun 8.
V蓹 simli 8.
Amma bu bar蓹d蓹 narahat olmay谋n.
Biz bu qat geri soymaq olacaq.
Bu strings bil蓹rsiniz 莽谋x谋r 8 bayt art谋q ola bil蓹r.
>> V蓹 h蓹qiq蓹t蓹n, biz yazd谋q art谋q strings, salam d眉nya,
8 bayt art谋q.
Amma biz geri g蓹lm蓹k laz谋md谋r yaln谋z bir anda ki.
Amma 眉z burada a艧a臒谋dak谋lardan edir.
>> H蓹r hans谋 bir komp眉ter yaln谋z m蓹hdud var yadda艧 v蓹 m蓹kan m蓹bl蓹臒i.
Siz yaln谋z bir 莽ox saxlaya bil蓹rsiniz Mac v蓹 ya PC fayllar谋.
Siz yaln谋z 莽ox proqramlar bil蓹rsiniz RAM h蓹tta m眉tl蓹q bir d蓹f蓹 莽al谋艧an
virtual yadda艧, 莽眉nki Siz RAM m蓹hdud miqdar谋 var.
>> V蓹 yaln谋z 蓹g蓹r picture-- 眉莽眉n Bir laptop a莽谋ld谋 he莽 etdik
v蓹 ya 蓹lav蓹 yadda艧 sifari艧 bir komp眉ter 眉莽眉n,
ki, bilmir蓹m bil蓹r Sizin komp眉ter daxilind蓹
g枚r眉n眉r ki, bir 艧ey bu kimi bir az.
Bel蓹 ki, bu adl谋 yaln谋z 眉mumi 艧irk蓹t M眉h眉m ki komp眉terl蓹r 眉莽眉n RAM edir.
V蓹 RAM burada proqramlar谋 onlar 莽al谋艧an etdiyiniz zaman ya艧ay谋r.
>> Bel蓹 ki, iki d蓹f蓹 h蓹r Mac v蓹 ya PC-d蓹 bir proqram bas谋n v蓹 a莽谋l谋r,
v蓹 b蓹zi Word s蓹n蓹d a莽谋r v蓹 ya kimi bir 艧ey,
m眉v蓹qq蓹ti olaraq onu ma臒azalar RAM, RAM s眉r蓹tli, 莽眉nki
sabit disk daha, v蓹 ya Sizin b蓹rk d枚vl蓹t disk.
proqramlar谋 getm蓹k harada Bel蓹 ki, yaln谋z var onlar 莽al谋艧an etdiyiniz zaman ya艧amaq,
v蓹 ya fayllar谋 istifad蓹 olunur zaman.
>> Bel蓹 ki, baxmaq 艧eyl蓹r Sizin laptop bu daxilind蓹 kimi,
v蓹 ya az daha b枚y眉k 艧eyl蓹r masa 眉st眉 daxilind蓹.
Amma 蓹sas yaln谋z bir var ki, bunlar m蓹hdud say谋.
V蓹 yaln谋z bir m蓹hdud m蓹bl蓹臒i var hardware bu masas谋 眉z蓹rind蓹 oturan sa臒
burada.
>> Bel蓹 ki, 艧眉bh蓹siz ki, biz saxlamaq olmaz sonsuz uzun n枚mr蓹l蓹ri.
V蓹 h蓹l蓹, siz geri d眉艧眉n眉yorsan谋z grade m蓹kt蓹b, ne莽蓹 r蓹q蓹m bil蓹r
Siz sa臒 var bir bu k蓹sir?
ki, m蓹s蓹l蓹 眉莽眉n, ne莽蓹 r蓹q蓹m bil蓹r Bir bu k蓹sir sol var?
H蓹qiq蓹t蓹n, sonsuz bir 莽ox.
>> 陌ndi biz insanlar yaln谋z bil蓹r milyon t蓹l蓹ff眉z nec蓹,
v蓹 milyard trilyon, v蓹 katrilyon v蓹 quintillion.
M蓹n s蓹rh蓹dl蓹rini m蓹cbur edir蓹m m蓹nim understanding-- ya my-- m蓹n ba艧a
n枚mr蓹l蓹ri, lakin m蓹nim n枚mr蓹l蓹ri t蓹l蓹ff眉z.
Lakin onlar il蓹 sonsuz b枚y眉k 蓹ld蓹 ed蓹 bil蓹rsiniz sol sonsuz bir 莽ox r蓹q蓹m
v蓹 ya bu k蓹sir sa臒 眉莽眉n.
>> Amma komp眉ter yaln谋z bir var yadda艧 m蓹hdud m蓹bl蓹臒i
tranzistorlar m蓹hdud say谋, bir daxili y眉ng眉l amp眉ller m蓹hdud say谋.
Bel蓹 ki, n蓹 olur 茝g蓹r yer t枚k眉lm蓹k?
Ba艧qa s枚zl蓹, 蓹g蓹r geri ke莽蓹n h蓹ft蓹 d眉艧眉nm蓹k
biz n枚mr蓹l蓹ri haqq谋nda s枚hb蓹t zaman 枚zl蓹ri ikili t蓹msil olunur
biz var G眉man Burada bu 8-bit d蓹y蓹r.
>> V蓹 biz yeddi 1 v蓹 bir 0 var.
V蓹 biz ist蓹yirik ki, g眉man Bu d蓹y蓹r 1 蓹lav蓹 edin.
Bu indi, h蓹qiq蓹t蓹n, b枚y眉k r蓹q蓹mdir.
>> M蓹n xat谋rlay谋ram, bu, 254 deyil Ke莽蓹n h蓹ft蓹 sa臒 riyaziyyat.
Amma n蓹 d蓹yi艧dirm蓹k 蓹g蓹r rightmost 0 1 ki?
tam 蓹d蓹d olan 茝lb蓹tt蓹 ki, s蓹kkiz 1-in olur.
Bel蓹 ki, biz h蓹l蓹 yax艧谋 deyilik.
>> V蓹 y蓹qin ki, t蓹msil 255, baxmayaraq m蓹zmunundan as谋l谋 olaraq
Bu, h蓹qiq蓹t蓹n t蓹msil ed蓹 bil蓹r m蓹nfi n枚mr蓹si.
Amma ba艧qa bir zaman daha 莽ox.
bu bar蓹d蓹 kimi bu hiss M蓹n arxalana bil蓹r kimi y眉ks蓹k.
>> 陌ndi, yaln谋z 8 bit var.
V蓹 m蓹nim Mac, 艧眉bh蓹siz ki, yolu var yadda艧 art谋q 8 bit.
Amma m蓹hdud yoxdur.
Bel蓹 ki, eyni arqument bel蓹, t蓹tbiq biz ekranda bu olanlar谋 daha 莽ox var.
>> Amma n蓹 edirsinizs蓹 olur bu say谋 255 saxlan谋lmas谋,
v蓹 1 bit y眉ks蓹k saymaq ist蓹yirsiniz?
Siz 255-d蓹n 256 getm蓹k ist蓹yir蓹m.
problem, 蓹lb蓹tt蓹, ki, 蓹g蓹r Ke莽蓹n h蓹ft蓹 kimi s谋f谋r hesablanmas谋 ba艧lamaq,
Siz kimi y眉ks蓹k saymaq bilm蓹z 256 kimi, t蓹k 257 ili
T蓹k 258 ili m n蓹 莽眉nki Bir 1 蓹lav蓹 ne olur?
Siz k枚hn蓹 grade m蓹kt蓹b varsa yana艧ma, siz burada bir 1 qoymaq
v蓹 sonra 1 plus 1 2, lakin ki h蓹qiq蓹t蓹n s谋f谋r, 1 aparmaq,
1 aparmaq 1 da艧谋y谋r.
Bunlar ham谋s谋, Bu 1-in s谋f谋ra gedin.
V蓹 kims蓹 kimi, b蓹li, qurmaq sol t蓹r蓹find蓹, 1 diqq蓹t 莽蓹kdi.
Amma h蓹r 艧ey ed蓹 bil蓹rsiniz h蓹qiq蓹t蓹n g枚rm蓹k v蓹 yadda艧 uy臒un
dem蓹k yaln谋z s蓹kkiz 0 nin edir bir anda 蓹g蓹r, komp眉ter,
kifay蓹t q蓹d蓹r y眉ks蓹k hesablanmas谋 c蓹hd, sen 蓹traf谋nda kesmek gedir ki, g枚r眉n眉r
b蓹lk蓹 s谋f谋r, h蓹tta m蓹nfi s谋f谋r daha a艧a臒谋 n枚mr蓹l蓹ri.
>> V蓹 biz n枚v bu ed蓹 bil蓹rsiniz.
M蓹n蓹 davam v蓹 yazmaq ed蓹k burada real s眉r蓹tli proqram.
M蓹n蓹 davam v蓹 yazmaq ed蓹k Overflow adl谋 proqram.
daxildir, cs50.h daxildir standart IO.h-- oh,
M蓹n, h蓹qiq蓹t蓹n, m蓹nim sintaksis i艧谋qland谋r谋lmas谋 qa莽谋rd谋.
Bel蓹 ki, overflow.c bu xilas ed蓹k.
>> 陌ndi int 蓹sas void-- v蓹 uzun 蓹vv蓹l alaca臒谋q
niy蓹 izah qay谋tmaq biz int 蓹sas etibars谋z yaz谋l谋 saxlamaq.
Amma indi 眉莽眉n, yaln谋z n蓹 ed蓹k veril蓹n bu alaraq.
nin 枚z眉m眉 bir int verim, v蓹 0 onu ba艧lamaq.
>> ard谋ndan int ed蓹k i s谋f谋r almaq h蓹qiq蓹t蓹n, bu sonsuz loop ed蓹k
v蓹 n蓹 g枚rm蓹k.
do臒ru olsa da, sonra n 莽ap imkan faiz i, backslash n, plug-in n.
Amma indi, bu n n plus 1 olur n蓹 ed蓹k.
>> ba艧qa s枚zl蓹, h蓹r So Bu sonsuz loop iteration,
nin N d蓹y蓹ri g枚t眉r蓹k, v蓹 sonra 1 蓹lav蓹 v蓹
sol geri n n蓹tic蓹 saxlamay谋n.
V蓹 蓹slind蓹, biz sintaksis g枚rd眉m q蓹d蓹r bu kimi q谋sa.
A cool oyun 蓹v蓹zin蓹 b眉t眉n bu yaz谋,
Siz, h蓹qiq蓹t蓹n, bir n plus 1 b蓹rab蓹rdir dem蓹k olar.
>> Yoxsa h蓹qiq蓹t蓹n fantezi olmaq ist蓹yirsinizs蓹, Siz n plus plus yar谋 kolon dem蓹k olar.
Lakin bu sonuncu iki yaln谋z var biz sintaktik 艧蓹k蓹r z蓹ng ist蓹diyiniz n蓹
ilk 艧ey 眉莽眉n.
>> ilk 艧ey, daha ayd谋n edir tamamil蓹 g枚z蓹l, tamamil蓹 do臒ru.
Amma bu daha 莽ox, m蓹n dem蓹k laz谋md谋r.
Bel蓹likl蓹, biz yaln谋z bir an 眉莽眉n bu ed蓹c蓹yik.
>> s蓹sl蓹ri indi ed蓹k da艧q谋n, daha u臒ursuz, dot 莽izgi da艧q谋n.
nin n olduqca b枚y眉k 蓹ld蓹, g枚rm蓹k ed蓹k.
Amma hesab edir蓹m ki, qoy, n nec蓹 b枚y眉k 蓹ld蓹 ed蓹 bil蓹rsiniz?
>> n bir int edir.
Biz 枚l莽眉s眉 il蓹 bir an 蓹vv蓹l g枚rd眉m misal bir int d枚rd bytes edir.
Biz 枚t蓹n h蓹ft蓹 bilirik, d枚rd bytes edir 32 bit, 莽眉nki 8 d蓹f蓹 4 32 var.
4 milyard olacaq.
>> V蓹 biz 800.000 q蓹d蓹r.
Bu, 蓹b蓹di etm蓹k niyy蓹tind蓹dir M蓹n b蓹lk蓹 kimi y眉ks蓹k saymaq.
M蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m kimi, uzun 蓹vv蓹l bil蓹r
v蓹 s蓹mimi n蓹zar蓹t Control ace edib C, bir 莽ox harada Control C 眉mumiyy蓹tl蓹
dem蓹kdir l蓹臒v.
T蓹蓹ss眉f ki, bu, 莽眉nki bulud 莽al谋艧an,
b蓹z蓹n bulud q蓹d蓹r stuff h蓹yata spitting,
q蓹d蓹r 莽谋xd谋, bu olacaq M蓹nim giri艧 眉莽眉n bir az m眉dd蓹t
bulud almaq 眉莽眉n.
M蓹n hit olsa da Bir ne莽蓹 saniy蓹 蓹vv蓹l Control C,
bu m眉tl蓹q t蓹r蓹fi sonsuz loop t蓹siri.
>> V蓹 bel蓹 hallarda, biz ist蓹yirik ola t蓹rk.
V蓹 biz bir 蓹lav蓹 olacaq burada terminal p蓹nc蓹r蓹
茝lb蓹tt蓹 deyil plus il蓹 kimi, h蓹l蓹 d蓹 d眉艧眉n眉r etibar蓹n.
V蓹 ir蓹li getm蓹k v蓹 olsun bir az daha m蓹qbul.
>> M蓹n ir蓹li getm蓹k v蓹 bunu gedir蓹m Bu yaln谋z finitely d蓹f蓹l蓹rl蓹.
Nin loop 眉莽眉n istifad蓹 ed蓹k M蓹n 蓹vv蓹ll蓹r alluded.
G蓹l bunu ed蓹k.
m蓹n蓹 0 olur bir d蓹yi艧蓹n int verin.
i, bu, i ++ 64 dey蓹k azd谋r.
陌ndi m蓹n蓹 ir蓹li v蓹 莽ap ged蓹k n faiz i h蓹yata n verg眉l.
V蓹 bu h蓹l蓹 sonra n-- 蓹b蓹di etm蓹k niyy蓹tind蓹dir.
G蓹l bunu ed蓹k.
>> n olur n d蓹f蓹 2.
Yoxsa biz x眉lya ola bil蓹r d蓹f蓹 2 b蓹rab蓹rdir yoxdur.
Amma yaln谋z n dey蓹k d蓹f蓹 2, 枚z眉 b蓹rab蓹rdir.
Ba艧qa s枚zl蓹, bu Proqram谋n yeni versiyas谋
M蓹n 蓹b蓹di g枚zl蓹yin ist蓹mir蓹m kimi 800,000 4 milyard olan.
Yaln谋z bu a艧maq ed蓹k.
>> h蓹qiq蓹t蓹n n h蓹r d蓹f蓹 ikiqat ed蓹k.
Hans谋, geri, iki qat谋na 莽谋xar谋r 蓹lb蓹tt蓹, olan 蓹ks.
V蓹 son h蓹ft蓹 is蓹 biz bir 艧ey yenid蓹n v蓹 yenid蓹n,
v蓹 yen蓹 super s眉r蓹tli, misli m眉tl蓹q olacaq
蓹n b枚y眉k m眉mk眉n 1 bizi almaq biz bir int il蓹 saymaq olar d蓹y蓹ri.
>> Bel蓹 ki, m蓹hz bu n蓹 ed蓹k.
Biz uzun 蓹vv蓹l geri bu g蓹lm蓹k laz谋md谋r.
Amma bu, yen蓹 yaln谋z kimi Not t蓹krar blok.
V蓹 uzun 蓹vv蓹l bu istifad蓹 ed蓹c蓹yik.
>> Bu yaln谋z s谋f谋rdan say谋 dem蓹kdir 64, lakin b蓹rab蓹r q蓹d蓹r.
Bu h蓹r iteration loop, yaln谋z i incrementing saxlamaq.
Bel蓹 ki, i ++ - v蓹 bu 眉mumi tikinti line 7 yaln谋z bir super 眉mumi bir yoldur
of b蓹zi x蓹tl蓹ri t蓹krar Kodu d蓹f蓹 b蓹zi n枚mr蓹si.
Hans谋 kodu x蓹tl蓹ri?
Bu q谋vr谋m a艧谋rma, sizin kimi 陌ndi gleaned ola bil蓹r,
, A艧a臒谋dak谋 etm蓹k dem蓹kdir.
>> Bu kimi Not var zaman sar谋 bloklar谋 var
v蓹 dig蓹r r蓹ngl蓹r bu c眉r 蓹hat蓹 v蓹 ya dig蓹r bloklar tebrik.
Bu n蓹 o buruq var a艧谋rma burada edirik.
Bel蓹likl蓹, m蓹n sintaksis var, 蓹g蓹r right-- siz蓹 C vasit蓹l蓹ri k枚k simvolu g枚r蓹 bil蓹rsiniz
ki, m蓹n ne莽蓹 d蓹f蓹 var bu problemi h蓹ll etm蓹y蓹 莽al谋艧谋r谋q.
Bel蓹 ki, bir xilas ed蓹k tamamil蓹 ki, p蓹nc蓹r蓹 ba臒lay谋n.
V蓹 biz yeni bir istifad蓹 ed蓹c蓹yik.
da艧q谋n, dot 莽izgi olun da艧q谋n daxil edin, b眉t眉n sa臒,
Bu ilk pis g枚r眉n眉r.
Amma vaxt geri h蓹r蓹k蓹t ed蓹k, Bu 64 d蓹f蓹, 莽眉nki.
>> V蓹 ilk d蓹f蓹 qeyd n 1.
陌kinci d蓹f蓹, n, 2 sonra 4, sonra 8, sonra 16.
V蓹 bu q谋sa m眉dd蓹td蓹 ki, g枚r眉n眉r M蓹n t蓹xmin蓹n 1 milyard almaq
M蓹n yenid蓹n ikiqat ki, 蓹g蓹r M蓹n蓹 2 milyard verm蓹lidir.
Amma bu, 莽谋x谋r zirve h眉ququ.
>> V蓹 bel蓹 ki, h蓹qiq蓹t蓹n da艧q谋nlar 1 milyard bir int
2 t蓹xmin蓹n m蓹nfi milyard, bir tam 莽眉nki,
n枚mr蓹l蓹ri biz f蓹rqli Ke莽蓹n h蓹ft蓹 f蓹rz edilmi艧dir,
m眉sb蓹t v蓹 m蓹nfi d蓹 ola bil蓹r 蓹slind蓹 bir komp眉ter.
V蓹 bu bel蓹 蓹n az谋 bir bit s蓹m蓹r蓹li o臒urlanmas谋.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, yaln谋z 31 bit var v蓹 ya 2 milyard m眉mk眉n d蓹y蓹rl蓹r.
>> Amma indi, paket olduqca sad蓹c蓹, n蓹 bu n枚mr蓹l蓹ri
v蓹 riyaziyyat, n蓹 pis bir 艧ey, n蓹tic蓹d蓹 ba艧
n蓹tic蓹d蓹 眉莽眉n 莽al谋艧谋r谋q, 莽眉nki bit bir 莽ox d蓹f蓹 permute.
V蓹 s蓹m蓹r蓹li b眉t眉n getm蓹k 1-in b蓹lk蓹 b眉t眉n 0, v蓹 ya b蓹lk蓹
yaln谋z b蓹zi dig蓹r model bu ki, ayd谋n, kontekstd蓹n as谋l谋 olaraq,
m蓹nfi s谋ra kimi t蓹fsir edil蓹 bil蓹r.
V蓹 bel蓹 ki, 蓹n y眉ks蓹k I g枚r眉n眉r bu proqramda arxalana bil蓹r
yaln谋z t蓹xmin蓹n 1 mlrd.
Amma burada qism蓹n h蓹ll var.
Siz n蓹 bilirik?
>> M蓹n蓹 bir d蓹yi艧m蓹y蓹 ed蓹k uzun uzun int.
V蓹 m蓹n蓹 burada ir蓹li ged蓹k M蓹n gedir蓹m dem蓹k
bir imzas谋z uzun bu d蓹yi艧dirm蓹k 眉莽眉n.
V蓹 ya, 枚z眉m眉 xat谋rlay谋ram he莽 vaxt g枚r蓹k.
>> Nin ir蓹li getm蓹k v蓹 da艧q谋n ed蓹k.
Xeyr, bu deyil, LLD t蓹艧蓹kk眉r edir蓹m.
Bel蓹 ki, b蓹z蓹n cingilti faydal谋 ola bil蓹r.
M蓹n n蓹 format yadda etm蓹yib belirteci uzun uzun idi.
>> Lakin, h蓹qiq蓹t蓹n, cingilti m蓹n蓹.
Green, yax艧谋 bir n枚v h蓹l蓹 bir s蓹hv蓹 yol dem蓹kdir.
M蓹n LLD dem蓹k ki guessing edir.
>> Bel蓹 ki, m蓹n蓹 m蓹sl蓹h蓹t almaq uzun ed蓹k uzun decimal say谋 ki, edin.
V蓹 n枚qt蓹, m蓹n蓹 t蓹krar ed蓹k Daxil edin da艧q谋n do臒ramaq.
陌ndi n蓹 s蓹rin var bu.
>> M蓹n vaxt谋nda deyils蓹, biz h蓹l蓹 ba艧lay谋n eyni place-- hesablanmas谋 1, 2, 4,
8, 16.
Notice, biz almaq b眉t眉n yol 1 milyard.
Amma sonra biz t蓹hl眉k蓹siz 2 milyard almaq.
>> Sonra 4 milyard almaq, sonra 8 milyard 17 milyard.
V蓹 biz ali getm蓹k v蓹 ali v蓹 ali.
N蓹hay蓹t, bu da pozur.
>> N蓹hay蓹t, uzun uzun, 64-bit d蓹y蓹r deyil, olan
32-bit d蓹y蓹ri, siz saymaq 蓹g蓹r 莽ox y眉ks蓹k, siz 蓹traf谋nda 0 kesmek.
V蓹 bu halda, biz ba艧 m蓹nfi s谋ra il蓹 ba艧a.
>> Bel蓹 ki, bu bir problem deyil.
V蓹 bu 莽谋x谋r ki, problem b眉t眉n gizli deyil.
M蓹n q蓹sd蓹n var olsa Bu s蓹hvl蓹r il蓹 ba臒l谋,
biz b眉t眉n n枚v g枚rm蓹k 莽谋x谋r biz蓹, v蓹 ya biz蓹 蓹n az谋 bir 蓹traf谋nda yoxdur.
>> Lego Star Wars, Bel蓹 ki 茝g蓹r oyun ifa etdiyiniz,
茝g蓹r 蓹traf谋nda getm蓹k bil蓹r 莽谋x谋r LEGO d眉nyada 艧eyi q谋r谋lma,
v蓹 mahiyy蓹tc蓹, sikk蓹l蓹r toplanmas谋.
V蓹 he莽 ifa etdiyiniz 蓹g蓹r Bu oyun yol 莽ox vaxt,
bu ads谋z f蓹rdi kimi Burada 眉mumi say谋 etdi
Siz toplamaq bil蓹r ki, pul Bu, 4 milyard g枚r眉n眉r edir.
>> 陌ndi il蓹 h蓹qiq蓹t蓹n dair蓹vi var.
Bel蓹 ki, LEGO 莽al谋艧谋r dostluq 艧eyl蓹r istifad蓹莽i saxlamaq.
Onlar m蓹hz 2 etm蓹dim Ke莽蓹n h蓹ft蓹d蓹 32 g眉c.
Amma 4 milyard s蓹b蓹b olur.
Bu m蓹lumatlar 蓹sas谋nda, g枚r眉n眉r, ki LEGO v蓹 艧irk蓹tin ki,
Bu faktiki proqram edil蓹n q蓹rar ki, pul maksimum say谋
istifad蓹莽i toplamaq bil蓹r deyil, h蓹qiq蓹t蓹n, 4 milyard
Onlar谋n kodu se莽di y蓹qin, uzun uzun istifad蓹 etm蓹k,
lakin yaln谋z bir tam bir imzas谋z Onun tam, yaln谋z bir m眉sb蓹t tam,
max d蓹y蓹ri ki, t蓹xmin蓹n edir.
Yax艧谋, burada ba艧qa funny biri.
Oyun Civilization Bel蓹 ki, hans谋 Siz b蓹zi tan谋艧 ola bil蓹r,
Bu il orada 莽谋x谋r ki, Bu oyun vasit蓹si bir s蓹hv idi
Siz rol oynam谋艧d谋r 蓹g蓹r Oyun Qandi,
Onun yerin蓹, 莽ox pasifist olan 蓹v蓹zin蓹 inan谋lmaz, inan谋lmaz idi
t蓹cav眉zkar, b蓹zi hallarda.
X眉susil蓹, yolu Civilization i艧l蓹r ki, 蓹g蓹r, player,
, Demokratiya q蓹bul sizin t蓹cav眉zkarl谋q hesab olur
iki bel蓹 m蓹nfi t蓹r蓹find蓹n endirildiyi minus, sonra minus minus.
>> Bel蓹 ki, 2 莽谋xmaq faktiki iterating.
T蓹蓹ss眉f ki, sizin iterating 蓹g蓹r ilkin 1, siz 2 莽谋xmaq
demokratiya q蓹bul sonra Burada g眉c Qandi kimi
O, 莽ox passive-- idi, 莽眉nki, g枚rm眉艧眉k t蓹cav眉zkarl谋q miqyas谋nda 1.
Lakin o, demokratiyan谋 q蓹bul 蓹g蓹r o 1-d蓹n m蓹nfi 1 gedir.
>> T蓹蓹ss眉f ki, onlar imzas谋z n枚mr蓹l蓹ri istifad蓹 ed蓹r蓹k,
dem蓹kdir h蓹tta m蓹nfi m眉alic蓹 sanki n枚mr蓹l蓹ri onlar m眉sb蓹t idi.
V蓹 bu 莽谋x谋r ki, 1 M蓹nfi m眉sb蓹t ekvivalent,
tipik komp眉ter proqramlar谋, 255 edir.
Gandhi q蓹bul Bel蓹 ki, 蓹g蓹r demokratiya v蓹 buna g枚r蓹 d蓹 var
onun t蓹cav眉zkarl谋q hesab azal谋b, Bu, h蓹qiq蓹t蓹n 255 蓹traf谋nda rulonlarda
v蓹 onu 蓹n edir Oyun aqressiv xarakter.
Bel蓹 ki, bu q蓹d蓹r Google bil蓹r.
V蓹 bu, h蓹qiq蓹t蓹n, oldu t蓹sad眉fi proqramla艧d谋rma bug,
lakin kifay蓹t q蓹d蓹r daxil oldu beri irfan.
>> B眉t眉n fun v蓹 cute edir.
Daha qorxulu zaman aktuald谋r real d眉nya cihazlar, v蓹 oyunlar,
bu eyni hatalar var.
茝slind蓹, yaln谋z bir il 蓹vv蓹l bir madd蓹 莽谋xd谋 Boeing 787 Dreamliner haqq谋nda.
>> V蓹 ilk m蓹qal蓹 n蓹z蓹r bir az gizli deyilir.
Amma bel蓹 bu, bir proqram Boeing-nin a莽谋臒谋
yeni 787 Dreamliner t蓹yyar蓹si var potensial pilot s蓹b蓹b
n蓹zar蓹t itirm蓹k t蓹yyar蓹, b蓹lk蓹
Mid-u莽u艧, FAA r蓹smil蓹ri Bu yax谋nlarda x蓹b蓹rdarl谋q Avia艧irk蓹tl蓹r.
Bu m眉蓹yy蓹n oldu ki, model 787
powered edilmi艧dir t蓹yyar蓹 davaml谋 眉莽眉n 248 g眉n
b眉t眉n alternativ cari itir蓹 bil蓹r, AC, generator s蓹b蓹biyl蓹 elektrik
n蓹zar蓹t 蓹d蓹d, GCUs, eyni zamanda ged蓹n t蓹hl眉k蓹siz rejimi bilmir.
M蓹n蓹 itirm蓹k n枚v眉 var.
Amma memo OK, indi ki var, ifad蓹, v蓹ziyy蓹ti bir proqram s蓹b蓹b oldu
daxili qar艧谋 generator n蓹zar蓹t
sonra da艧q谋n ed蓹c蓹k b枚lm蓹l蓹ri davaml谋 g眉c 248 g眉n.
Biz bu verilm蓹si itkisinin qar艧谋s谋n谋 almaq 眉莽眉n qeyd
b眉t眉n AC elektrik n蓹tic蓹l蓹n蓹 bil蓹r enerji,
t蓹yyar蓹 n蓹zar蓹t z蓹r蓹r.
>> Bel蓹 ki, sanki, bir tam var, v蓹 ya ekvivalent data type,
proqram istifad蓹 olunur faktiki t蓹yyar蓹
Siz t蓹yyar蓹 saxlamaq ki, 蓹g蓹r hans谋 y蓹qin, kifay蓹t q蓹d蓹r uzun
Yaln谋z yay谋nl谋yorsan谋z halda ola bil蓹r Onlara daim v蓹 he莽 unplugging
Sizin t蓹yyar蓹, g枚r眉n眉r, v蓹 ya Onun batareyalar谋 枚lm蓹k imkan
n蓹hay蓹t q蓹d蓹r saymaq, v蓹, v蓹, v蓹, v蓹, v蓹.
>> V蓹 t蓹bi蓹t, bir yadda艧 m蓹hdud m蓹bl蓹臒i
, Da艧q谋n geri yayma olacaq s谋f谋r v蓹 ya bir m蓹nfi d蓹y蓹r,
bir yan t蓹siri var frighteningly real reall谋q
t蓹yyar蓹 laz谋m ola bil蓹r ki, rebooted etm蓹k, s蓹m蓹r蓹li,
v蓹 ya pis d眉艧m蓹k bil蓹r, bu u莽ur kimi.
m蓹s蓹l蓹l蓹r Bel蓹 ki, bu c眉r biz蓹 h蓹l蓹 d蓹,
even-- bu, 2015 m蓹qal蓹 idi daha qorxulu
Siz m眉tl蓹q n蓹 zaman Anlamaq 眉莽眉n t蓹艧蓹kk眉r edirik, v蓹 ya tahmin
s蓹hvl蓹rin bu c眉r.
>> Bel蓹 ki, dig蓹r bir var 莽谋x谋r data t蓹msil haqq谋nda pis bir 艧ey.
Bu da 眉z眉b gedirdi 莽谋x谋r ki c眉r flawed, 眉z眉b gedirdi, 莽眉nki 莽ox,
M蓹n 32 bit var t蓹klif, v蓹 ya b蓹lk蓹 64 Bir c眉t istifad蓹 edin.
Amma h蓹l蓹 m蓹hdud deyil.
>> V蓹 tutmaq 蓹g蓹r ki, n枚mr蓹l蓹ri sonsuz sayda qoymaq
bu k蓹sir sonra, he莽 bir yol yoxdur
b眉t眉n m眉mk眉n t蓹msil ed蓹 bil蓹r biz t蓹dris edilmi艧dir n枚mr蓹l蓹ri
sinifd蓹 m蓹kt蓹b d眉nyada m枚vcud ola bil蓹r.
Komp眉ter, mahiyy蓹tc蓹, var bu 蓹d蓹d alt se莽in
d蓹qiq t蓹msil etm蓹k.
>> 陌ndi, komp眉ter bil蓹rsiniz d蓹yirmi b蓹lk蓹 bir az bit,
v蓹 t蓹xmin蓹n ma臒aza imkan bil蓹r B蓹lk蓹 ist蓹diyiniz bil蓹r h蓹r hans谋 bir say谋.
Amma daxil蓹n, 蓹g蓹r bit m蓹hdud sayda var,
yaln谋z onlara permute bil蓹r bir 莽ox m蓹hdud yollarla.
Bel蓹 ki, b蓹lk蓹 bilm蓹z m蓹hdud sayda istifad蓹
bit permutation ki, adet s谋f谋r v蓹 olanlar谋 n眉mun蓹l蓹ri,
sonsuz t蓹msil etm蓹k 蓹d蓹d say谋,
hans谋 komp眉ter bil蓹r ki, t蓹klif 莽ox yax艧谋 b蓹z蓹n biz蓹 yalan ola bil蓹r.
>> 茝slind蓹, bunu ed蓹k.
M蓹n蓹 CS50 IDE geri getm蓹k ed蓹k.
M蓹n蓹 davam ed蓹k bir az proqram yaratmaq
g枚st蓹rir ki, qeyri-d蓹qiqlik deyil蓹n komp眉ter, h蓹qiq蓹t蓹n, qeyri-d蓹qiq olur.
>> V蓹 m蓹n蓹 ir蓹li getm蓹k v蓹 il蓹 ba艧lamaq ed蓹k 蓹vv蓹l kod b蓹zi
v蓹 indi yaln谋z a艧a臒谋dak谋.
M蓹n蓹 davam v蓹 printf, faiz ed蓹k f, 10 b枚l眉n眉r backslash n, 1.
Ba艧qa s枚zl蓹, bu d蓹rin dal谋艧 imkan 1/10 kimi 1 v蓹 10 b枚l眉n眉r 眉莽眉n.
H蓹qiq蓹t蓹n, komp眉ter 1/10 t蓹msil ed蓹 bil蓹r.
>> Bel蓹 ki, ir蓹li getm蓹k v蓹 qeyri-d蓹qiqlik ed蓹k.
G枚r蓹k.
Format ikiqat n枚v眉 m眉蓹yy蓹n edir.
Amma d蓹lil n枚v眉 int var.
N蓹 ba艧 verir?
>> Oh, maraql谋, bel蓹 ki, bir var d蓹rs 蓹vv蓹l 枚yr蓹ndim.
M蓹n hey, komp眉ter show, deyir蓹m M蓹n蓹 faiz f bir float.
Amma bu 2 ints verir蓹m.
O 莽谋x谋r ki, m蓹n d眉zeltebilirsiniz yollar谋 bir ne莽蓹 bu.
>> M蓹n yaln谋z 1.0 daxil bir n枚vb蓹sind蓹 bil蓹r v蓹 10.0 10 olan ki, h蓹qiq蓹t蓹n,
konvertasiya t蓹siri var floats-- daxil onlara h蓹l蓹 眉mid
Eyni n枚mr蓹si.
bir 艧ey var h蓹yata Yoxsa 莽谋x谋r Biz uzun 蓹vv蓹l yen蓹 g枚r蓹c蓹ksiniz.
Siz 蓹d蓹d t枚km蓹 bil蓹r.
>> Siz bu ara istifad蓹 ed蓹 bil蓹rsiniz ifad蓹, siz dey蓹 bil蓹rsiniz
hey, komp眉ter, bu almaq M蓹n bilir蓹m 10 bir int edir.
Lakin, xahi艧 edirik m眉alic蓹 sanki bir float var.
Amma bu laz谋ms谋z kompleks hiss edir.
>> Bizim m蓹qs蓹dl蓹ri 眉莽眉n, bu g眉n yaln谋z s枚z眉n ed蓹k
onlara 眉z蓹n point d蓹y蓹rl蓹ri etm蓹k ox艧ar bu k蓹sir il蓹.
M蓹n蓹 davam ed蓹k v蓹 t蓹krar etm蓹k qeyri-d蓹qiqlik, yax艧谋, dot 莽izgi
qeyri-d蓹qiqlik, daxil edin.
OK, yax艧谋 bax谋r谋q.
>> 1 m蓹lumat谋na g枚r蓹, 10 b枚l眉n眉r m蓹nim Burada Mac, h蓹qiq蓹t蓹n, 0.100000 edir.
陌ndi orada grade m蓹kt蓹b oxuduldu 0 nin sonsuz sayda olmal谋d谋r.
Bel蓹 ki, 蓹n az谋 c蓹hd ed蓹k o b蓹zi g枚rm蓹k.
Bu printf bir az 莽谋x谋r ki Biz istifad蓹 etdiyiniz daha merakl谋s谋 h蓹l蓹.
Bu belirtti臒iniz yoxdur 莽谋x谋r yaln谋z faiz f, v蓹 ya yaln谋z faiz i.
Siz, h蓹qiq蓹t蓹n, daxil ed蓹 bil蓹rsiniz burada b蓹zi n蓹zar蓹t variantlar谋.
>> X眉susil蓹, m蓹n gedir蓹m dem蓹k, hey, printf,
h蓹qiq蓹t蓹n m蓹n蓹 10 d蓹n xal g枚st蓹rir.
Bel蓹 ki, bir az q蓹rib蓹 g枚r眉n眉r.
Amma faiz dem蓹k, dot, ne莽蓹 蓹d蓹d
sonra g枚rm蓹k ist蓹yir蓹m decimal point, v蓹 sonra f
M蓹nzil, ki, yaln谋z 莽眉nki s蓹n蓹dl蓹rin deyir.
M蓹n蓹 ir蓹li getm蓹k v蓹 xilas ed蓹k.
>> M蓹n al谋ram, 莽ox hiss 艧eyi retyping yor臒un.
M蓹n yaln谋z Ayarlama edir蓹m v蓹 a艧a臒谋 burada m蓹nim d眉ym蓹l蓹ri arrow.
V蓹 m蓹n vuru艧 saxlamaq, siz 蓹mrl蓹ri b眉t眉n bil蓹rsiniz
M蓹n, v蓹 ya s蓹hv etdi.
>> V蓹 m蓹n indi ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 h蓹qiq蓹t蓹n y蓹qin ki, istifad蓹 edin.
qeyri-d蓹qiqlik, dot etm蓹k bel蓹 imprecision-- z蓹rb蓹
m蓹n t蓹dris edilmi艧dir Bu sinif m蓹kt蓹b h蓹yata yoxlay谋r.
10 ondal谋k 眉莽眉n 莽ap olsa bel蓹 onu verir, h蓹qiq蓹t蓹n, 0,10000 edir.
Amma n蓹 bilirik?
>> Bir az g枚rm蓹mi艧 蓹ld蓹 ed蓹k.
M蓹n蓹 55 g枚st蓹rir nin kimi, deyirl蓹r ondal谋k sonra g枚st蓹rir.
h蓹qiq蓹t蓹n bu salaq Bir spin 眉莽眉n proqram.
M蓹n蓹 il蓹 yeniden yapmak ed蓹k qeyri-d蓹qiqlik, dot 莽izgi, qeyri-d蓹qiqlik.
>> V蓹 burada biz gedin.
Sizin u艧aql谋q bir yalan idi.
G枚r眉n眉r, 10 b枚l眉n眉r 1 h蓹qiq蓹t蓹n 0.100000000000000005551115123--
>> N蓹 ba艧 verir?
B蓹li, bu, 蓹g蓹r c眉r 莽谋x谋r 蓹sas h蓹yata uzaq kifay蓹t q蓹d蓹r baxmaq
Bu n眉may蓹nd蓹liyi say谋, bu, h蓹qiq蓹t蓹n
tam 1/10 v蓹 ya 0,1 v蓹 adet s谋f谋r sonsuz say谋.
陌ndi ki, niy蓹?
>> B蓹li, bu sad蓹 olsa Biz蓹 insanlar say谋 1, 10 b枚l眉n眉r
h蓹l蓹 d蓹 sonsuz bir 莽ox biri n枚mr蓹l蓹ri biz hesab ed蓹 bil蓹r ki.
Amma bir komp眉ter yaln谋z t蓹msil ed蓹 bil蓹r finitely 莽ox bel蓹 n枚mr蓹l蓹ri.
Bel蓹 ki, s蓹m蓹r蓹li, n蓹 komp眉ter, AB艦 onun yax谋n g枚st蓹r蓹n
n枚mr蓹sin蓹 uy臒unla艧d谋r谋lmas谋 biz 1/10 hesab ist蓹yir蓹m
v蓹 ya h蓹qiq蓹t蓹n 0,10000 reklam infinitum.
>> 茝ksin蓹, baxmayaraq ki, bu Bu 蓹ld蓹 ed蓹 bil蓹rsiniz kimi kimi yax谋n.
V蓹 h蓹qiq蓹t蓹n, siz baxmaq 蓹g蓹r ba艧l谋q alt谋nda,
biz baxaraq burada kimi ondal谋k sonra 55 r蓹q蓹m,
biz, h蓹qiq蓹t蓹n ki, reall谋臒谋 g枚rm蓹k.
陌ndi var bir k蓹nara kimi, 蓹g蓹r He莽 movie-- g枚r眉ld眉
Siz 莽ox g眉man ki, have not lakin Superman 3 bir ne莽蓹 il 蓹vv蓹l,
Richard Pryor mahiyy蓹tc蓹 bu leveraged onun 艧irk蓹ti reall谋q bir 莽ox o臒urlamaq
pennies fraksiyalar谋 v蓹 fraksiyalar谋, , M蓹n xat谋rlay谋ram kimi company-- 莽眉nki
Bu mahiyy蓹tc蓹 idi while-- bir oldu bir 艧ey atmaq uy臒un deyil ki,
q蓹pik anlay谋艧谋 daxil.
>> Amma 蓹lav蓹 蓹g蓹r b眉t眉n bu daha ki莽ik, ki莽ik, ki莽ik n枚mr蓹l蓹ri,
v蓹 yenid蓹n v蓹 yenid蓹n, siz kimi, can onun i艧i, pul yax艧谋 m蓹bl蓹臒i etm蓹k.
>> H蓹min ideya il蓹 doland谋r谋ld谋 陌ndi k枚hn蓹 h蓹l蓹 daha yeni, lakin
Office Space adl谋 film, harada film u艧aqlar,
, Eyni 艧ey idi bu q蓹d蓹r berbat tamamil蓹 莽ox yolu il蓹 sona 莽atd谋
Onlar谋n bank hesab谋na pul.
Bu, b眉t眉n 莽ox 艧眉bh蓹li idi.
Lakin g眉n眉n sonunda, qeyri-d蓹qiqlik ham谋m谋z 蓹traf谋nda edir.
>> V蓹 ki, bu da ola bil蓹r i艧i frighteningly.
Bel蓹 莽谋x谋r ki, Superman 3 v蓹 Office Space k蓹nara, orada
bir 莽ox real ola bil蓹r d眉nya ramifications
d枚vr眉 q蓹ti olmayan h蓹qiq蓹tl蓹ri m蓹lumatlar谋n n眉may蓹nd蓹liyi
ki, h蓹tta biz insanlar 眉莽眉n Bu g眉n m眉tl蓹q bunu
h蓹m d蓹 oldu臒u kimi anlamaq, v蓹 ya tez-tez biz olmal谋d谋r kimi xat谋rlay谋ram.
V蓹 h蓹qiq蓹t蓹n, a艧a臒谋dak谋 clip edir bir 莽ox real d眉nya bir g枚z
蓹g蓹r olur n蓹 ramifications qeyri-d蓹qiqlik qiym蓹tl蓹ndiririk yoxdur ki,
n枚mr蓹l蓹ri t蓹msil ba艧 ver蓹 bil蓹r.
>> [Video playback]
>> -Komp眉ter, Biz b眉t眉n q蓹bul g蓹ldiniz tez-tez sinir bozucu probleml蓹ri ki,
, Odur hatalar il蓹 viruslar getm蓹k, v蓹 proqram glitches,
ki莽ik qiym蓹tl蓹ri 枚d蓹m蓹k 眉莽眉n rahatl谋臒谋 眉莽眉n.
Lakin y眉ks蓹k texnologiyal谋 v蓹 y眉ks蓹k s眉r蓹tli h蓹rbi v蓹 kosmik proqram applications,
ki莽ik problem ola bil蓹r f蓹lak蓹t daxil b枚y眉d眉l蓹c蓹k.
>> June 4, 1996-d蓹, aliml蓹r haz谋rlan谋r insans谋z Ariane 5 raket ba艧lamaq 眉莽眉n.
Bu elmi da艧谋yan peykl蓹r n蓹z蓹rd蓹
d蓹qiq nec蓹 yaratmaq Yerin maqnit sah蓹sind蓹 qar艧谋l谋ql谋
G眉n蓹艧 k眉l蓹kl蓹ri il蓹.
raket 眉莽眉n in艧a edilmi艧dir Avropa Kosmik Agentliyi,
v蓹 onun harada off qald谋rd谋 Frans谋z Quyanas谋 sahilind蓹.
>> t蓹xmin蓹n 37 saniy蓹 -Haz谋rda u莽u艧, onlar ilk
f蓹rq bir 艧ey yanl谋艧 gedirdi.
nozzle il蓹 d枚ner edildi bir yol h蓹qiq蓹t蓹n olmamal谋d谋r.
u莽u艧 daxil 40 saniy蓹 蓹traf谋nda, ayd谋n, vasit蓹 problem idi.
>> onlar zaman ki q蓹rar onu m蓹hv etm蓹k 眉莽眉n.
Range t蓹hl眉k蓹sizlik zabit il蓹 b枚y眉k i莽alat, d眉ym蓹ni basd谋,
bu ola bil蓹r 蓹vv蓹l, raket partlad谋l谋b ictimai t蓹hl眉k蓹sizlik 眉莽眉n t蓹hl眉k蓹 olur.
>> -Bu Q谋z idi Ariane 5 s蓹yah蓹t.
V蓹 onun m蓹hv etdi 莽眉nki q眉sur yerl蓹艧dirm蓹k
raket proqram daxil.
Ariane on -Bu problem idi bir s谋ra var idi ki,
ifad蓹 etm蓹k 64 bit t蓹l蓹b olunur.
Onlar 莽evirm蓹k ist蓹yirdi 16-bit say谋 bu.
Onlar g眉man ki, say谋 he莽 gedirdi
脟ox b枚y眉k olmas谋 o 蓹n 莽ox 64-bit say谋 r蓹q蓹m zeroes idi.
Onlar yanl谋艧 idi.
>> bir -Bu bilm蓹m蓹si proqram q蓹bul
t蓹r蓹find蓹n s谋ra c眉r ba艧qa u臒ursuzluq k枚k idi.
Software inki艧af oldu bir yeni texnologiya 莽ox bahal谋 hiss蓹sidir.
Ariane raket 莽ox olmu艧dur proqram u臒urlu, 莽ox
bu da idi yarad谋lm谋艧d谋r Ariane 5 istifad蓹 olunur.
>> -Bu 茝sas problem Ariane idi 5, s眉r蓹tli idi s眉r蓹tli s眉r蓹tl蓹ndirdi.
V蓹 proqram idi ki, d眉艧眉r.
>> raket -Bu m蓹hv b枚y眉k bir maliyy蓹 f蓹lak蓹t idi
b眉t眉n s蓹b蓹biyl蓹 d蓹qiq蓹 proqram s蓹hv.
Amma bu ilk deyildi time data conversion probleml蓹r
m眉asir raket texnologiyas谋 m眉r蓹kk蓹bl蓹艧dirilir idi.
>> ba艧lamas谋 il蓹 1991-ci il -In ilk K枚rf蓹z m眉harib蓹si,
Patriot raket b蓹nz蓹r bir n枚v t蓹cr眉b蓹li
say谋 d枚n眉艧眉m problem.
V蓹 n蓹tic蓹 olaraq, 28 n蓹f蓹r, 28 Amerika 蓹sg蓹ri,
艧蓹hid, haqq谋nda idi 100 n蓹f蓹r yaralan谋b,
zaman idi Patriot, G蓹l蓹n scuds qar艧谋 qorumaq 眉莽眉n,
bir raket yan臒谋n bilm蓹di.
>> -Zaman 陌raq K眉veyt v蓹 Amerika i艧臒al erk蓹n 1991-ci ild蓹 Desert Storm ba艧lay谋b
Patriot raket batareyalar谋n谋n da臒谋td谋lar S蓹udiyy蓹 茝r蓹bistan谋 v蓹 陌sraili qorumaq 眉莽眉n
陌raq Scud raket h眉cumlar谋ndan.
Patriot AB艦 orta m蓹nzilli edir hava sistemi s蓹thi istehsal
Raytheon 艧irk蓹ti t蓹r蓹find蓹n.
>> Patriot kesen -Bu 枚l莽眉s眉 枚z眉 haqq谋nda t蓹xmin蓹n 20 fut uzun.
V蓹 2000 funt a臒谋rl谋臒谋nda.
V蓹 bu bar蓹d蓹 bir d枚y眉艧 ba艧l谋臒谋 da艧谋yan Hesab edir蓹m ki, t蓹xmin蓹n 150 lir蓹 hesab edir蓹m.
V蓹 ba艧l谋臒谋 枚z眉 y眉ks蓹k partlay谋c谋 olan
蓹traf谋nda fraqmentl蓹ri var.
d枚y眉艧 ba艧l谋臒谋 casing edir buckshot kimi h蓹r蓹k蓹t 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur.
>> -Bu Raketl蓹r ke莽irilir konteyner ba艧谋na d枚rd,
v蓹 yar谋 trailer il蓹 n蓹ql olunur.
>> -Bu Patriot f眉zesavar sistemi indi 蓹n az谋 20 il geri gedir.
Bu, ilk n蓹z蓹rd蓹 tutulmu艧dur hava m眉dafi蓹 raket kimi
d眉艧m蓹n t蓹yyar蓹l蓹r g眉ll蓹boran etm蓹k.
ilk K枚rf蓹z m眉harib蓹si, ki, m眉harib蓹 boyunca g蓹l蓹nd蓹,
Ordu 眉莽眉n istifad蓹 etm蓹k ist蓹yirdi scuds deyil t蓹yyar蓹l蓹r g眉ll蓹boran etm蓹k.
>> 陌raq Air Force idi bir problem 莽ox deyil.
Amma Army scuds narahat idi.
V蓹 onlar 眉莽眉n c蓹hd Patriot y眉kseltin.
>> d眉艧m蓹n -Intercepting raket Mach 5 s蓹yah蓹t
kifay蓹t q蓹d蓹r 莽蓹tin olacaq idi.
Amma Patriot xidm蓹t蓹 qa莽d谋 edilib
Ordu bir x蓹b蓹ri olmad谋臒谋n谋 edil蓹n 陌raq modifikasiya
Onlar谋n scuds hit 眉莽眉n t蓹xmin蓹n m眉mk眉n.
>> -N蓹 Ba艧 scuds ki da g蓹lirdi qeyri-sabit idi.
Onlar wobbling edildi.
Bunun s蓹b蓹bi idi 眉莽眉n 陌raql谋lar,
600 kilometr almaq 眉莽眉n 300 kilometr h蓹yata
m蓹nzilli m蓹rmi 莽蓹ki etdi 枚n d枚y眉艧 ba艧l谋臒谋 h蓹yata.
Onlar ba艧l谋臒谋 y眉ng眉l etdi.
>> Bel蓹 ki, indi Patriot edir Scud g蓹lm蓹k 眉莽眉n 莽al谋艧谋r谋q.
V蓹 莽ox vaxt, zaman b枚y眉k 蓹ks蓹riyy蓹ti,
yaln谋z Scud il蓹 u莽maq olar.
Patriot sistemi operatorlar谋 bir , Patriot onun h蓹d蓹f burax谋lm谋艧 h蓹yata
Onlar Patriot'un ba艧l谋臒谋 partlatd谋 bu m眉mk眉n itki qar艧谋s谋n谋 almaq 眉莽眉n
da臒谋lmaq icaz蓹 verildi.
>> insanlar谋n 莽oxu g枚rd眉m n蓹 -Bu idi g枚y o b枚y眉k fireballs,
v蓹 s蓹hv Scud ba艧l谋臒谋 k蓹sir.
>> gec蓹-baxmayaraq g枚y, Patriots 莽谋xd谋
u臒urla olmaq Dhahran da Scuds m蓹hv
he莽 bir s蓹hv ola bil蓹r 枚z f蓹aliyy蓹ti bar蓹d蓹.
Orada Patriot'un radar sistemi Daxil olan Scud itirib,
s蓹b蓹biyl蓹 ba艧lad谋lan he莽 bir proqram q眉sur.
Bu ilk k蓹艧f 陌srail oldu Art谋q sistem oldu臒unu,
b枚y眉k vaxt uy臒unsuzluq g枚r蓹 蓹laq蓹dar bir saat oldu
sisteminin komp眉ter.
>> -Haqq谋nda Iki h蓹ft蓹 蓹vv蓹l Dhahran faci蓹si,
陌srail bildirildi M眉dafi蓹 Nazirliyi
ki, sistem vaxt itirirdi.
s蓹kkiz saat v蓹 ya 莽al谋艧an sonra, onlar sistemi fark
xeyli az d蓹qiq olmaq edilib.
M眉dafi蓹 Nazirliyi cavab verdi Patriot batareyalar谋 b眉t眉n izah
sisteml蓹ri t蓹rk etm蓹k Uzun m眉dd蓹t 眉莽眉n.
Onlar n蓹 uzun m眉dd蓹t he莽 vaxt Idi S蓹kkiz saat, 10 saat, 1000 saat.
He莽 kim bilirdi.
>> -Bu Patriot batareyas谋 Q谋艧la konu艧lu
Dhahran v蓹 flawed daxili at 100 saat 蓹rzind蓹 saat olmu艧dur
Fevral 25 gec蓹.
>> -Bu Bir d蓹qiqliyi 眉莽眉n vaxt izlenir ikinci bir onuncu haqq谋nda.
ikinci 陌ndi onuncu maraql谋 say谋,
Bu ifad蓹 edil蓹 bilm蓹z, 莽眉nki Tam ikili olan
tam ifad蓹 edil蓹 bilm蓹z dem蓹kdir h蓹r hans谋 bir m眉asir digital komp眉ter.
Bu inanmaq 莽蓹tindir.
>> Amma n眉mun蓹 kimi istifad蓹.
bir n枚mr蓹li 眉莽d蓹 ed蓹k.
脺莽d蓹 biri ola bilm蓹z tam ondal谋k dil蓹 g蓹tirdi.
脺莽d蓹 biri 0.333 edir daimi davam.
>> il蓹 he莽 bir yol yoxdur ondal谋k m眉tl蓹q d蓹qiqlik.
Ki, problem tam c眉r ki, Patriot ba艧 verib.
Art谋q sistemi qa莽d谋, pis vaxt s蓹hv oldu.
>> 茝m蓹liyyat 100 saat sonra, vaxt s蓹hv yaln谋z bir 眉莽眉nc眉 oldu
ikinci.
Amma h蓹d蓹f bax谋m谋ndan raket Mach 5 s蓹yah蓹t
bir izleme n蓹tic蓹l蓹ndi 600-d蓹n 莽ox metr s蓹hv.
Bu 枚l眉mc眉l s蓹hv olard谋 n蓹 蓹sg蓹rl蓹r 眉莽眉n
ba艧 ver蓹n Scud launch idi erk蓹n Warning peykl蓹r a艧kar
v蓹 onlar Scud bilirdi ki onlar谋n 眉mumi istiqam蓹td蓹 g蓹lir.
Bu g蓹l蓹n Onlar bilmirdim.
>> -Bu Radar q蓹d蓹r art谋q idi Patriot sisteminin komponenti
Dhahran m眉dafi蓹 tapmaq v蓹 saxlamaq 眉莽眉n daxil olan d眉艧m蓹n raket track.
>> -Bu Radar 莽ox a臒谋ll谋 idi.
Bu, h蓹qiq蓹t蓹n, track olard谋 Scud m枚vqeyi,
v蓹 sonra burada y蓹qin ki, proqnozla艧d谋rmaq radar g枚nd蓹ril蓹n n枚vb蓹ti d蓹f蓹 olacaq
h蓹yata pulse.
Bu bir s谋ra qap谋s谋 adlan谋rd谋.
>> -Sonra, Patriot d蓹f蓹 kifay蓹t q蓹d蓹r vaxt var q蓹rar
geri getm蓹k v蓹 n枚vb蓹ti yoxlamaq ke莽di bu a艧kar obyekt 眉莽眉n yer,
geri gedir.
Bel蓹 ki, yanl谋艧 geri getdi zaman yer, sonra he莽 bir obyekt g枚r眉r.
V蓹 he莽 bir var idi ki, q蓹rar obyekt, bir yalan a艧kar idi,
v蓹 track d眉艧蓹r.
>> -Bu G蓹l蓹n Scud yox radar ekran.
V蓹 saniy蓹 sonra, onu Q谋艧la 莽arpd谋.
Scud 28 n蓹f蓹r 枚l眉b, v蓹 son idi bir ilk K枚rf蓹z m眉harib蓹si zaman谋 at蓹艧 etdi.
>> Faci蓹vi yenil蓹nir software A艧a臒谋dak谋 g眉n Dhahran g蓹ldi.
proqram q眉sur var idi olmu艧dur sabit ba臒lan谋艧
莽蓹tinlikli bir f蓹sil Patriot raket tarixi.
>> [Video playback]
DAVID J. MALAN: Bel蓹 ki, bu b眉t眉n var dem蓹k da艧mas谋 bu m蓹s蓹l蓹l蓹r蓹 ki
v蓹 qeyri-d蓹qiqlik b眉t眉n 莽ox real edir.
Bel蓹 ki, nec蓹 biz burada 蓹ld蓹 etdiniz?
Biz yaln谋z printf s枚hb蓹t ba艧lad谋.
Yen蓹 d蓹, bu funksiyas谋 Ekran谋n bir 艧ey yazd谋ran
v蓹 biz bundan sonra t蓹qdim bir ne莽蓹 dig蓹r funksiyalar谋
s枚zd蓹 CS50 kitabxana.
V蓹 biz davam ed蓹c蓹yik vaxt谋nda bu g枚r眉r眉k.
V蓹 biz, x眉susil蓹, get simli istifad蓹 v蓹 int almaq v蓹 indi d蓹 float almaq,
v蓹 h蓹l蓹 ba艧qalar谋 h蓹l蓹 d蓹 qar艧谋la艧acaq v蓹 uzun 蓹vv蓹l 枚z眉m眉z istifad蓹 edin.
>> Amma m眉nasib蓹til蓹 var Biz art谋q ehtiyac g枚r眉ld眉
geri n蓹 bu funksiyalar谋 蓹l saxlamaq 眉莽眉n?
Bizi geri string 蓹l, bir int v蓹 ya float v蓹 ya.
V蓹 b蓹z蓹n biz qoymaq laz谋md谋r yerd蓹 simli, v蓹 ya int v蓹 ya float.
>> V蓹 o 艧eyi saxlamaq 眉莽眉n, yaln谋z geri Not kimi, biz d蓹yi艧蓹nl蓹r var.
Amma Not f蓹rqli olaraq, C biz faktiki n枚vl蓹ri var
d蓹yi艧蓹nl蓹r m蓹lumatlar谋n n枚vl蓹ri, daha 眉mumi
Onlar谋n aras谋nda, simli, bir int, bir float v蓹 h蓹l蓹 d蓹 bu ba艧qalar谋.
>> V蓹 bel蓹 ki, biz C d蓹yi艧蓹nl蓹rin elan zaman, biz data n枚vl蓹ri elan etm蓹k laz谋md谋r.
Bu laz谋md谋r bir 艧ey deyil d枚vr sonra n蓹 etm蓹k laz谋md谋r
biz dig蓹r dill蓹r蓹 ke莽id.
Amma indi, biz laz谋md谋r 蓹vv蓹lc蓹d蓹n a priori 眉莽眉n,
Komp眉ter n枚v眉 izah d蓹yi艧蓹n biz biz蓹 verm蓹k ist蓹yir蓹m.
>> 陌ndi, eyni zamanda, 莽ap data n枚vl蓹ri bu c眉r,
biz dem蓹k g枚zl蓹m蓹k n蓹 printf var.
Biz strings 眉莽眉n y眉zd蓹 s g枚rd眉m v蓹 integers 眉莽眉n faiz i,
art谋q v蓹 bir ne莽蓹 ba艧qalar谋.
V蓹 bu sad蓹c蓹 t蓹l蓹bl蓹r vizual t蓹qdimat
ki, informasiya.
>> V蓹 bu h蓹r h蓹qiq蓹t蓹n ola bil蓹r parametrized v蓹 ya bir 艧蓹kild蓹 tweaked,
Siz n蓹zar蓹t daha ist蓹yirsinizs蓹 Siz almaq 莽谋xd谋 n枚v眉.
V蓹 蓹slind蓹, bu yaln谋z 莽谋x谋r yeni x蓹tt 眉莽眉n backslash n var.
ba艧qa backslash deyil蓹n bir 艧ey var bir vaqon qaytar谋lmas谋 眉莽眉n r olan
bir daha yax谋n edir k枚hn蓹 m蓹kt蓹b makina,
h蓹m莽inin Windows bir 莽ox ill蓹r 眉莽眉n istifad蓹 olunur.
>> Ni艧anlar 眉莽眉n backslash t var.
茝g蓹r ist蓹yirsinizs蓹 ki, 莽谋x谋r simli daxilind蓹 ikiqat quote,
Biz istifad蓹 etdiyiniz geri double quote double
sol v蓹 sa臒 quote bu g眉n蓹 q蓹d蓹r bizim strings bitir.
Bu 艧eyi 莽a艧d谋rmaq g枚r眉n眉r.
>> Siz ikiqat quote qoymaq ist蓹yirsinizs蓹 h蓹qiq蓹t蓹n, bir simli v蓹 orta,
g枚rm蓹k qar谋艧谋qd谋r.
V蓹 bel蓹 ki, bel蓹 ki, qa莽ma臒a var , Bir 艧ey il蓹 ikiqat quote dan谋艧maq
kimi, sanki, double quote backslash.
V蓹 h蓹l蓹 bir ne莽蓹 dig蓹r var.
V蓹 biz o daha 莽ox laz谋md谋r uzun 蓹vv蓹l faktiki istifad蓹.
>> Bel蓹 ki, indi ke莽id imkan m蓹lumat v蓹 n眉may蓹nd蓹liyi,
v蓹 hesab operatorlar谋, b眉t眉n olan biz蓹 b蓹zi bina verdi
il蓹 bloklar谋 oynamaq.
Amma indi h蓹qiq蓹t蓹n ver蓹k Biz蓹 s枚z qalan
biz art谋q idi ki, Scratch il蓹 枚t蓹n h蓹ft蓹
b蓹zi dig蓹r n蓹z蓹r alaraq , C il蓹 konstruksiyalar谋n onlar谋n b眉t眉n.
Amma fikir biz ist蓹yirik h蓹qiq蓹t蓹n, yaln谋z g枚rm蓹k haqq谋nda
olan t蓹rc眉m蓹 vur臒ulamaq bir dil, Scratch, ba艧qa, C.
>> V蓹 zaman ke莽dikc蓹, biz ala bil蓹rsiniz Bizim arac谋 眉莽眉n daha tools,
bel蓹 syntactically dan谋艧maq.
V蓹 h蓹qiq蓹t蓹n, siz fikir ki, g枚r眉rs眉n眉z art谋q son h蓹ft蓹 olduqca tan谋艧d谋r.
Bel蓹 ki, bunu ed蓹k.
>> Nin ir蓹li getm蓹k v蓹 bir proqram q谋z谋艧d谋rmaq ed蓹k h蓹qiq蓹t蓹n b蓹zi ifad蓹l蓹r istifad蓹 edir,
bir Boolean ifad蓹.
M蓹n蓹 burada ir蓹li ged蓹k v蓹 yeni bir fayl yaratmaq.
M蓹n bu condition.c z蓹ng ed蓹c蓹yik.
>> M蓹n蓹 davam ed蓹k CS50 kitabxana daxildir.
V蓹 m蓹n蓹 ir蓹li getm蓹k v蓹 daxil imkan Bizim funksiyalar谋 眉莽眉n standart io.h,
v蓹 printf, v蓹 daha 莽ox olaraq t蓹yin olundu.
M蓹n蓹 枚z眉m眉 o boilerplate ver蓹k Onun 艧蓹rh alaca臒谋q int 蓹sas etibars谋z,
geri g蓹l蓹c蓹kd蓹 g蓹lir.
>> 陌ndi m蓹n蓹 ir蓹li getm蓹k v蓹 ver蓹k 枚z眉m get int vasit蓹sil蓹 int.
Sonra m蓹n蓹 ir蓹li getm蓹k v蓹 bunu bildirin.
i ed蓹k less--, m蓹n dem蓹k ist蓹yir蓹m m蓹nfi, m眉sb蓹t ay谋rmaq,
v蓹 ya s谋f谋r d蓹y蓹rl蓹r.
>> i s谋f谋r az Bel蓹 ki, m蓹n蓹 imkan yaln谋z bu proqram sad蓹c蓹 dem蓹k ki,
m蓹nfi, backslash n ba艧qa i s谋f谋rdan b枚y眉k olduqda.
陌ndi, 蓹lb蓹tt蓹, dem蓹k gedir蓹m m眉sb蓹t, backslash n printf.
V蓹 sonra ba艧qa m蓹n bunu ed蓹 bil蓹r Varsa.
>> i 0 b蓹rab蓹rdir 蓹g蓹r m蓹n n蓹 ed蓹 bil蓹r.
Amma m蓹n q蓹bul olar谋q art谋q 蓹n az谋 bir s蓹hv.
b蓹rab蓹r i艧ar蓹si Xat谋rladaq ki b蓹rab蓹r, biz insanlar bunu bildiyiniz kimi.
>> Amma bu tap艧谋r谋q operator var.
V蓹 biz 0 etm蓹k ist蓹mir蓹m sa臒 v蓹 sol i qoyun.
Bel蓹 ki, bu qar谋艧谋ql谋q qar艧谋s谋n谋 almaq, v蓹 ya b蓹lk蓹 b蓹rab蓹r sui-istifad蓹 imzalamaq,
insanlar bir ne莽蓹 il 蓹vv蓹l q蓹rar ki, bir 莽ox proqramla艧d谋rma dill蓹ri
Siz b蓹rab蓹rlik yoxlamaq 眉莽眉n ist蓹diyiniz zaman sol v蓹 sa臒 aras谋nda
Siz, h蓹qiq蓹t蓹n, b蓹rab蓹rdir istifad蓹 edin.
Bel蓹 ki, b蓹rab蓹r iki d蓹f蓹 imza edib.
Siz sa臒 t蓹yin etm蓹k ist蓹diyiniz zaman sol, bir b蓹rab蓹r i艧ar蓹si istifad蓹 edin.
Bel蓹 ki, biz 艧eyl蓹rdir ba艧qa n蓹 ed蓹 bil蓹r i b蓹rab蓹rdir 蓹g蓹r s谋f谋r b蓹rab蓹rdir.
>> M蓹n getm蓹k bil蓹r M蓹nim q谋vr谋m a艧谋rma a莽maq
v蓹 printf 0, backslash n, h蓹yata, deyirl蓹r.
Amma nec蓹 bu xat谋rlay谋ram yol 莽蓹ng蓹ll蓹r i艧l蓹y蓹 bil蓹r.
V蓹 h蓹qiq蓹t蓹n, yaln谋z m蓹ntiqi d眉艧眉nm蓹k.
i bir say谋.
Bu x眉susi bir tam var.
V蓹 az olacaq dem蓹kdir 0, ya 0-d蓹n 0 v蓹 ya daha 莽ox.
Bel蓹 ki, bu c眉r var 枚rt眉k default halda.
>> V蓹 bel蓹 ki, biz yaln谋z kimi ola bil蓹r Scratch, ba艧qa, 蓹g蓹r il蓹 paylamaq
v蓹 yaln谋z ba艧qa deyirl蓹r.
M蓹ntiqi, 蓹g蓹r proqram莽谋 orada yaln谋z bilirik
眉莽 buketler olan daxil ssenari ilk fall-- bil蓹r
ikinci, ya 眉莽眉nc眉 bu yoxdur case-- da
蓹lav蓹 d蓹qiq 蓹lav蓹 narahat orada 蓹lav蓹 m蓹ntiq.
Just davam Burada ba艧qa default halda.
>> 陌ndi ir蓹li ged蓹k Bu q蓹na蓹t sonra etm蓹k
艧蓹rait conditions-- do臒ramaq n枚qt蓹 Biz b枚y眉k bir istifad蓹莽i interfeysi,
M蓹n isteyen deyil蓹m, 莽眉nki istifad蓹莽i Bayaq qeyd etdiyim kimi.
Amma ki, g枚z蓹l var.
Biz sad蓹 saxlamaq laz谋md谋r.
n枚mr蓹si 42 c蓹hd ed蓹k.
V蓹 m眉sb蓹t var.
n枚mr蓹sini c蓹hd ed蓹k m蓹nfi, 42 m蓹nfi.
>> d蓹y蓹ri 0 c蓹hd ed蓹k.
V蓹 h蓹qiq蓹t蓹n, i艧l蓹yir.
陌ndi, 蓹vv蓹l probleml蓹ri il蓹 g枚r眉rs眉n眉z uzun, test 艧eyi 眉莽 d蓹f蓹
y蓹qin ki, kifay蓹t deyil.
Siz y蓹qin ki, bir test etm蓹k ist蓹yir蓹m b枚y眉k n枚mr蓹l蓹ri, b蓹zi ki莽ik
n枚mr蓹l蓹ri, b蓹zi k眉nc hallarda, kimi biz onlar谋 t蓹svir etm蓹k 眉莽眉n g蓹lm蓹k laz谋md谋r.
>> Amma indi, bu bir olduqca sad蓹 proqram.
M蓹n, m蓹ntiqi, olduqca 蓹min蓹m 眉莽 hallarda d眉艧眉r ki.
V蓹 h蓹qiq蓹t蓹n, h蓹tta baxmayaraq ki, yaln谋z Potensial downsides diqq蓹t
qeyri-d蓹qiqlik v蓹 da艧mas谋 ild蓹 CS50 bir 莽ox problemi reall谋q oldu臒u,
biz narahat niyy蓹tind蓹 deyil B眉t眉n vaxt haqq谋nda,
da艧mas谋 o m蓹s蓹l蓹l蓹ri v蓹 qeyri-d蓹qiqlik, 莽眉nki, 蓹slind蓹, C,
Bu, h蓹qiq蓹t蓹n, b眉t眉n deyil ki, o 艧eyi qar艧谋s谋n谋 almaq 眉莽眉n asan.
Siz saymaq ist蓹yirsinizs蓹 b枚y眉k v蓹 daha b枚y眉k v蓹 daha b枚y眉k,
Bu texnika var 莽谋x谋r tez-tez deyil蓹n 艧eyl蓹r c蓹lb istifad蓹 ed蓹 bil蓹rsiniz
kitabxana, kodu kolleksiyalar ki, istifad蓹 ed蓹 bil蓹rsiniz ki, dig蓹r insanlar yazd谋
kimi dig蓹r dill蓹rd蓹 h蓹qiq蓹t蓹n Java v蓹 dig蓹r
Bu 莽ox asan etm蓹k daha y眉ks蓹k saymaq.
Bel蓹 ki, h蓹qiq蓹t蓹n bu t蓹hl眉k蓹l蓹r b蓹zi istifad蓹 dili funksiyas谋.
V蓹 g蓹l蓹n h蓹ft蓹 alaca臒谋q h蓹qiq蓹t蓹n nec蓹 t蓹hl眉k蓹li C g枚rm蓹k
Siz d眉zg眉n istifad蓹 etm蓹yin, 蓹g蓹r ola bil蓹r.
Amma oradan, v蓹 Python, v蓹 JavaScript ed蓹c蓹k
biz b蓹zi 蓹lav蓹 m眉dafi蓹 on qat, v蓹 h蓹min riskl蓹rin az ax谋r.
>> Bel蓹 ki, ed蓹k bir az daha Bizim proqram maraql谋 m蓹ntiq.
M蓹n蓹 ir蓹li getm蓹k v蓹 yaratmaq imkan M蓹ntiqi adl谋 proqram
yaln谋z m蓹n bir il蓹 oynaya bil蓹r faktiki m蓹ntiq, logical.c.
M蓹n yaln谋z sur蓹ti v蓹 b蓹zi yap谋艧d谋r谋b laz谋md谋r 蓹vv蓹ll蓹r bel蓹 kod m蓹n geri almaq
Bu g枚z蓹l ba艧lan臒谋c n枚qt蓹si.
>> M蓹n char C. n蓹 m蓹n蓹 bu d蓹f蓹 ed蓹k bu C bir ad ver蓹c蓹y蓹m
Bu 艧蓹rti yaln谋z 莽眉nki, istifad蓹莽i bir xarakter almaq.
V蓹 kimi iddia ed蓹k M蓹n i艧tirak h蓹yata al谋ram
ki, Rm proqram aradan qald谋r谋lmas谋 蓹vv蓹l proqram istifad蓹莽i t蓹hrik
Bir fayl aradan qald谋r谋lmas谋 眉莽眉n.
Bunu nec蓹 ed蓹 bil蓹r?
>> C b蓹rab蓹rdir, m蓹n dem蓹k ist蓹yir蓹m , Quote d谋rna臒谋 ba臒lamaq, b蓹rab蓹rdir
y, sonra g眉man gedir蓹m istifad蓹莽i yes se莽di ki.
M蓹n yaln谋z yes 莽ap gedir蓹m.
Bu, h蓹qiq蓹t蓹n yaz谋l谋 idi aradan qald谋r谋lmas谋 proqram谋,
biz fayl aradan qald谋r谋lmas谋 bil蓹r kod daha x蓹tl蓹ri il蓹.
Amma biz sad蓹 saxlamaq laz谋md谋r.
>> Else c b蓹rab蓹rdir 蓹g蓹r n-- b蓹rab蓹rdir v蓹 indi burada, m蓹n dem蓹k gedir蓹m
istifad蓹莽i n蓹z蓹rd蓹 olmal谋d谋r.
V蓹 sonra ba艧qa, siz n蓹 bilirik?
M蓹n ba艧qa bilmir蓹m istifad蓹莽i yaz谋n gedir.
Bel蓹likl蓹, m蓹n yaln谋z dem蓹k gedir蓹m ki, bir s蓹hv, n蓹
o, h蓹qiq蓹t蓹n, 莽ap.
>> Bel蓹 ki, n蓹 burada olub?
bir fundamental f蓹rq var M蓹n ke莽mi艧d蓹 etdiyiniz n蓹 qar艧谋.
Double quotes, ikiqat quotes, ikiqat quotes, v蓹 h蓹l蓹, bir quotes,
t蓹k quotes.
Bu zaman, C 莽谋x谋r Bir simli yazmaq ist蓹yir蓹m,
Siz biz sizin kimi, ikiqat quotes istifad蓹 etm蓹k printf il蓹 b眉t眉n bu vaxt istifad蓹.
>> Amma yaln谋z bir il蓹 m蓹艧臒ul olmaq ist蓹yirsinizs蓹, bir xarakter, bir qondarma char,
sonra h蓹qiq蓹t蓹n bir quotes istifad蓹 edin.
proqramla艧d谋r谋lm谋艧 etdik siz蓹 o 蓹vv蓹l, ola bil蓹r
bu bar蓹d蓹 narahat idi m眉蓹yy蓹n dild蓹 da艧谋y谋r.
C, bu m蓹s蓹l蓹 yoxdur.
M蓹n char almaq v蓹 zaman m蓹n ist蓹yir蓹m b蓹rab蓹r istifad蓹 ed蓹r蓹k char m眉qayis蓹 etm蓹k
y v蓹 ya n kimi m蓹ktub b蓹rab蓹rdir, m蓹n, h蓹qiq蓹t蓹n, bir quotes laz谋md谋r.
>> 陌ndi ir蓹li getm蓹k v蓹 bunu bildirin.
Nin ir蓹li getm蓹k v蓹 etm蓹k ed蓹k M蓹ntiqi dot m蓹ntiqi do臒ramaq.
陌ndi istenir al谋ram.
Bel蓹 ki, g眉man, daha yax艧谋 bir istifad蓹莽i experience h蓹qiq蓹t蓹n m蓹n蓹 n蓹 burada.
Amma yaln谋z kor-koran蓹 gedir蓹m g枚z蓹l, OK, b蓹li 眉莽眉n y deyirl蓹r.
>> yenid蓹n run ed蓹k n he莽 bir 眉莽眉n g枚z蓹l.
M蓹n bilir蓹m ki, m眉蓹yy蓹n insanlar kimi d眉艧眉n蓹k, M蓹nim caps 蓹sas 莽ox tez-tez b眉t眉n edir kilidi.
M蓹n kapital Y daxil s蓹hv yoxdur.
OK, m蓹n g枚zl蓹yir蓹m d蓹qiq n蓹 deyil.
H蓹qiq蓹t蓹n, komp眉ter s枚z眉n n蓹 edir
M蓹n kontrol do-- bu bildirib ki莽ik y v蓹 ki莽ik n.
Bu yax艧谋 kimi hiss etmir istifad蓹莽i t蓹cr眉b蓹si, baxmayaraq ki.
M蓹n蓹 xahi艧 ed蓹k v蓹 q蓹bul a艧a臒谋 halda v蓹 ya yuxar谋 halda bil蓹rsiniz.
bu 莽谋x谋r ki, ist蓹diyiniz bil蓹r Not kimi bir 艧ey dem蓹k,
kimi s枚z眉n v蓹 ya C b蓹rab蓹rdir kapital bir sitat y b蓹rab蓹rdir.
脟谋x谋r, C yoxdur bu h蓹rfi s枚z v蓹 ya.
>> Amma iki 艧aquli bar var.
Siz ad蓹t蓹n Shift ke莽irilm蓹si 眉莽眉n var Bir AB艦 klaviatura istifad蓹 edirsinizs蓹,
v蓹 艧aquli bar hit qay谋dacaqs谋n谋z 蓹sas yuxar谋da d眉ym蓹sini bas谋n.
Amma bu 艧aquli bar 艧aquli bar dem蓹kdir v蓹 ya.
>> 茝g蓹r, 蓹ksin蓹, biz ist蓹dik Not kimi, dem蓹k v蓹,
biz i艧areti i艧areti ed蓹 bil蓹r.
Ki, burada he莽 bir m蓹ntiqi 蓹h蓹miyy蓹t k蓹sb edir 脟眉nki bir insan b蓹lk蓹 bilm蓹di
yazd谋臒谋n谋z h蓹m y v蓹 ki莽ik y v蓹 eyni xarakter kimi kapital Y.
Bel蓹 ki, ya biz burada n蓹 niyy蓹tind蓹yik.
>> M蓹n h蓹m yerl蓹rd蓹 bunu 蓹g蓹r, v蓹 ya c So Paytaxt N, indi t蓹krar b蓹rab蓹rdir b蓹rab蓹rdir
M蓹ntiqi m蓹ntiqi t蓹krar etm蓹k.
陌ndi y ed蓹bil蓹rsiniz.
V蓹 m蓹n yen蓹 bunu ed蓹 bil蓹rsiniz kapital Y, v蓹 ya kapital N.
M蓹n 蓹lav蓹 蓹lav蓹 ed蓹 bil蓹r h蓹l蓹 birl蓹艧m蓹si.
>> Bel蓹 ki, bu bir m蓹ntiqi 陌ndi insofar proqram
M蓹n m蓹ntiqi yoxlan谋lmas谋 al谋ram Bu d蓹y蓹ri v蓹 ya bu d蓹y蓹r.
M蓹n m眉tl蓹q yoxdur iki IFS v蓹 ya ba艧qa ifs il蓹 g蓹lib.
M蓹n, h蓹qiq蓹t蓹n, b蓹zi birl蓹艧dir蓹 bil蓹r Bu 艧蓹kild蓹 bir araya m蓹ntiq ba臒l谋.
Bel蓹 ki, bu daha yax艧谋 olard谋 sad蓹c蓹 莽ox dizayn
C a艧a臒谋 halda y b蓹rab蓹rdir 蓹g蓹r s枚yl蓹y蓹r蓹k, c paytaxt谋 Y b蓹rab蓹rdir 蓹g蓹r ba艧qa, b蓹li 莽ap
c b蓹rab蓹rdir 蓹g蓹r ba艧qa, b蓹li 莽ap ba艧qa s枚zl蓹 lower--,
siz yoxdur daha 莽ox filiallar谋.
Siz ekvivalenti b蓹zi birl蓹艧dir蓹 bil蓹r bu yolu kimi m蓹ntiqi filiallar谋.
>> Bel蓹 ki, yaln谋z bir n蓹z蓹r ed蓹k son t蓹rkib hiss蓹si, bir final tikinti,
ki, C imkan verir.
V蓹 biz geri g蓹lm蓹k laz谋md谋r h蓹l蓹 ba艧qalar谋 g蓹l蓹c蓹k.
V蓹 sonra biz baxaraq ba臒lamaq laz谋md谋r kod deyil d眉zg眉nl眉y眉n蓹 at
Kodu 蓹ld蓹 work-- lakin dizayn kodu v蓹 erk蓹n h蓹min toxum 蓹km蓹k.
>> M蓹n蓹 ir蓹li getm蓹k v蓹 Burada yeni bir fayl a莽maq.
Siz n蓹 bilirik?
M蓹n yenid蓹n h蓹yata gedir蓹m eyni proqram,
lakin m眉xt蓹lif tikintinin istifad蓹 ed蓹r蓹k.
>> Bel蓹 ki, 枚z眉m眉 verm蓹k tez m蓹n蓹 imkan giri艧 CS50.h daxil
CS50 kitabxana 眉莽眉n, printf 眉莽眉n standart io.h.
M蓹n蓹 int 蓹sas etibars谋z verin.
V蓹 sonra burada, qoy M蓹n蓹 ir蓹li getm蓹k v蓹 bunu.
>> Char c 蓹vv蓹l kimi, char almaq olur.
M蓹n yeni tikintinin istifad蓹 gedir蓹m n蓹 xarakter, ke莽id now--?
Bel蓹 ki, ke莽id n枚v kimi Bir qatar par莽alar谋 ke莽id.
V蓹 ya, h蓹qiq蓹t蓹n, bu c眉r deyil bir ba艧qa 蓹g蓹r, 蓹g蓹r ba艧qa 蓹g蓹r,
lakin bir q蓹d蓹r f蓹rqli yaz谋l谋.
>> A switch bu kimi g枚r眉n眉r.
Siz ke莽id, v蓹 sonra n蓹 xarakter v蓹 ya siz baxmaq ist蓹yir蓹m say谋,
sonra b蓹zi buruq a艧谋rma kimi Scratch, yaln谋z bu m蓹hsullar谋 n蓹 dem蓹k.
V蓹 sonra m眉xt蓹lif hallarda var.
>> Siz 蓹g蓹r ba艧qa istifad蓹 etm蓹yin.
Siz s枚z眉n s枚z halda istifad蓹.
V蓹 bu kimi bir 艧ey dem蓹k olard谋.
>> Bel蓹 ki, bir ki莽ik y halda, v蓹 ya kapital谋n Y halda,
ir蓹li getm蓹k v蓹 b蓹li 莽ap.
V蓹 sonra ke莽id 莽谋xmaq.
Bu bel蓹dir.
Biz tamamlay谋n.
>> bel蓹 dan谋艧maq, 蓹g蓹r Else, a艧a臒谋 halda n, v蓹 ya kapital N,
sonra ir蓹li getm蓹k v蓹 莽ap H蓹yata he莽 bir, sonra pozub.
Else-- v蓹 bu c眉r default halda indeed-- printf s蓹hv,
v蓹 yaln谋z baxmayaraq, yax艧谋 t蓹dbir 眉莽眉n m蓹ntiqi bu fasil蓹 laz谋m deyil
biz sonunda ist蓹yirik, 莽眉nki h蓹r halda ke莽id,
陌ndi ke莽id h蓹yata q谋r谋lma al谋ram.
Bel蓹 ki, bu bir az f蓹rqli g枚r眉n眉r.
>> Lakin, m蓹ntiqi, bu h蓹qiq蓹t蓹n ekvivalent.
V蓹 niy蓹 istifad蓹 edir dig蓹r 眉z蓹rind蓹 bir?
B蓹z蓹n, yaln谋z 艧蓹xsi 眉st眉nl眉k, b蓹z蓹n estetik,
Bu n蓹z蓹r 蓹g蓹r indi bir 艧ey var
眉莽眉n bel蓹 bu M蓹c蓹ll蓹nin okunabilirlik.
M蓹n dem蓹k, bu ki, a臒la he莽 vaxt code ota臒谋nda biz蓹 莽ox yeni.
>> Amma bu yaln谋z c眉r olduqca.
Siz ki莽ik y, paytaxt Y g枚rm蓹k a艧a臒谋 halda n paytaxt N default,
yaln谋z c眉r jumps bir 艧蓹kild蓹 siz h蓹yata
arguably, b蓹lk蓹 ki, 蓹vv蓹lki misal
IFS v蓹 艧aquli bar il蓹, v蓹 ba艧qa ifs, ola bil蓹r.
Bel蓹 ki, bu 艧蓹xsi h蓹qiq蓹t蓹n m蓹s蓹l蓹sidir se莽im, h蓹qiq蓹t蓹n, v蓹 ya okunabilirlik,
kodu.
>> Amma funksionall谋q bax谋m谋ndan, m蓹n蓹 imkan ir蓹li getm蓹k v蓹 ke莽id, dot 莽izgi etm蓹k
switch, indi, ki莽ik y yaz谋n Paytaxt Y, ki莽ik n, kapital N,
ki, 莽眉nki David, yeniden he莽 bir xarakter.
g枚zl蓹nildiyi kimi ki, x, s蓹hv ed蓹k.
V蓹 logically-- v蓹 bu bir 艧ey deyil M蓹n, 眉mumiyy蓹tl蓹 bel蓹 tavsiye ederim
biz yaln谋z c谋zma etdiyiniz Bu x眉susiyy蓹tl蓹ri b蓹zi s蓹thi.
>> Bu ayd谋n ola bil蓹r zaman 脰z眉n眉z眉, klaviatura a艧a臒谋 oturmaq
nec蓹 i艧l蓹yir?
Bu n蓹 ed蓹rdiniz?
olmamas谋 haqq谋nda g枚z蓹l 艧ey bir laptop v蓹 ya masa 眉st眉, v蓹 ya giri艧
bir compiler il蓹 komp眉ter, v蓹 bu kimi bir kod redaktoru il蓹,
dem蓹k olar ki, h蓹mi艧蓹 bu cavab bil蓹r yaln谋z 莽al谋艧谋r 枚z眉n眉z 眉莽眉n suallar.
>> M蓹s蓹l蓹n, ritorik 蓹g蓹r 蓹l sual idi,
Siz unutmaq 蓹g蓹r n蓹 olur Sizin break hesabatlar谋?
Hans谋 h蓹qiq蓹t蓹n, Bunu 艧ey 莽ox 眉mumi,
baxmaq deyil, 莽眉nki kimi, h蓹qiq蓹t蓹n, onlara laz谋md谋r.
Onlar, h蓹qiq蓹t蓹n, tam olmayan bir m枚t蓹riz蓹 v蓹 ya buruq kimi fikir
brace edir.
Nin ir蓹li ged蓹k v蓹 Kodu compile v蓹 g枚r眉r眉k.
Bel蓹 ke莽id, dot 莽izgi ke莽id etm蓹k.
a艧a臒谋 halda yaz谋n ed蓹k y, top halda, daxil edin.
M蓹n y yaz谋lm谋艧.
>> proqram yox, b蓹li dedi, s蓹hv, sanki onun mind d蓹yi艧ir edildi.
n蓹 olar, 莽眉nki bu c眉r idi bir ke莽id il蓹 ilk hald谋r ki,
mat莽谋nda mahiyy蓹tc蓹 dem蓹kdir hey komp眉ter, alt谋nda b眉t眉n kodu icra.
V蓹 dem蓹k yoxsa break, v蓹 ya fasil蓹 dem蓹k deyil, v蓹 ya fasil蓹 dem蓹k deyil,
komp眉ter 蓹s蓹c蓹k gedir o x蓹tl蓹ri b眉t眉n vasit蓹sil蓹
q蓹d蓹r onlar谋n ham谋s谋 icra bu buruq brace olur.
Bel蓹 ki frenler, h蓹qiq蓹t蓹n, vacibdir.
Amma burada bir paket, zaman 艦眉bh蓹, bir 艧ey ke莽ir.
B蓹lk蓹 ilk kodu saxlamaq, v蓹 ya 蓹lav蓹 fayl saxlamaq
Siz h蓹qiq蓹t蓹n narahat oldu臒unuz halda q蓹d蓹r messing v蓹 b蓹rpa olan
Bildiyiniz i艧 莽al谋艧谋r.
>> Amma h蓹r 艧eyi c蓹hd edin.
V蓹 b蓹lk蓹 d蓹, kimi qorxma komp眉ter ed蓹 bil蓹r n蓹,
v蓹 ya bir 艧ey q谋rmaq bil蓹r ki.
Siz h蓹mi艧蓹 geri d枚nmek bil蓹r bir 蓹vv蓹lki versiyas谋.
>> Bel蓹 ki, baxaraq son qoy kod dizayn.
Biz yazmaq 眉莽眉n bu imkan谋 var 艧蓹rait v蓹 yazmaq loops,
v蓹 d蓹yi艧蓹nl蓹rin v蓹 z蓹ng funksiyalar谋.
Bel蓹 ki, s蓹mimi, biz geri g枚zl蓹yirik biz, Not il蓹 bir h蓹ft蓹 蓹vv蓹l idi
bir az 莽ekici m蓹tn il蓹 d蓹 olsa Not art谋q m眉hit imkan verir.
>> Amma biz 蓹ld蓹 etdik nec蓹 tez hiss Bu bel蓹 ki, l眉臒蓹t,
in endirm蓹k 眉莽眉n bir az gedir, Biz indi bu s枚z istifad蓹 ed蓹 bil蓹rsiniz ki
daha maraql谋 proqramlar谋 yazmaq 眉莽眉n.
V蓹 bir k枚rp蓹 add谋m g枚t眉r蓹k ki do臒ru olaraq bel蓹.
M蓹n蓹 davam ed蓹k Burada yeni bir fayl yaratmaq.
>> M蓹n bu z蓹ng etm蓹k 眉莽眉n gedir蓹m prototype.c v蓹 t蓹qdim
ilk d蓹f蓹, qabiliyy蓹ti 脰z funksiyalar谋n谋 etm蓹k.
茝g蓹r b蓹zil蓹ri ola bil蓹r Scratch il蓹 bunu,
vasit蓹si yaratmaq bil蓹rsiniz Not 枚z x眉susi bloklar谋,
v蓹 sonra yer onlar谋 s眉r眉kleyin yerd蓹 C. ist蓹diyiniz
V蓹 蓹n proqramla艧d谋rma dil, tam ed蓹 bil蓹rsiniz
that-- 枚z funksiyalar谋n谋 etm蓹k Onlar art谋q yoxdur, 蓹g蓹r.
>> Bel蓹 ki, m蓹s蓹l蓹n, m蓹n蓹 ir蓹li ged蓹k v蓹 cs50.h daxildir, v蓹 daxildir
standart io.h, int 蓹sas etibars谋z.
陌ndi biz bir var getm蓹k 眉莽眉n haz谋r tutucu.
M蓹n 莽ap 艧eyi saxlamaq insanlar谋n adlar谋 bu g眉n kimi.
V蓹 like-- hiss g枚z蓹l ola bilm蓹z, 蓹g蓹r orada
print ad谋n谋 funksiyas谋 idi?
M蓹n printf istifad蓹 etm蓹k yoxdur.
M蓹n xat谋rlay谋ram yoxdur b眉t眉n format kodlar谋.
N蓹 m蓹n, ya n蓹 , M蓹nd蓹n 蓹vv蓹l kims蓹 etm蓹di
bir funksiyas谋 adlan谋r 莽ap yaratmaq ad谋 bir ad谋 verilmi艧dir ki,
sad蓹c蓹 莽ap?
>> Ba艧qa s枚zl蓹, m蓹n, hey, dem蓹k komp眉ter, m蓹n蓹 bir string verm蓹k
Bel蓹 istifad蓹莽i xahi艧, CS50 get string funksiyas谋 vasit蓹sil蓹.
Hey, komp眉ter, ki, simli qoymaq sol t蓹r蓹find蓹 d蓹yi艧蓹n,
v蓹 bu s z蓹ng.
V蓹 sonra, komp眉ter hey, davam v蓹 艧蓹xsin ad谋, g枚r眉l蓹n ki, 莽ap.
>> 陌ndi, bu, g枚z蓹l 莽眉nki olard谋 Bu proqram, tutarl谋 adl谋
bunu ehtimal n蓹 m蓹n蓹 deyir o funksiyas谋n谋n adlar谋 yolu il蓹.
M蓹n蓹 getm蓹k v蓹 prototip etm蓹k daxil edin ed蓹k.
V蓹 t蓹蓹ss眉f ki, Bu u莽maq niyy蓹tind蓹 deyil.
>> Prototype.c, line 7, karakter 5, s蓹hv, gizli b蓹yannam蓹
funksiyas谋 print ad谋 C99, C99 yanl谋艧d谋r
C versiyas谋 dem蓹kdir ki, 1999-cu ild蓹 莽谋xd谋.
Bu ham谋s谋d谋r.
>> M蓹n bilmir蓹m n蓹 B眉t眉n bu h蓹l蓹 dem蓹kdir.
Amma q谋rm谋z谋 s蓹hv tan谋maq yoxdur.
Bu olduqca ayd谋n deyil.
>> V蓹 bu il蓹 g枚r眉n眉r Burada ya艧谋l xarakteri,
m蓹s蓹l蓹 print ad谋 il蓹 a莽谋q paren s, yax谋n paren, yar谋 kolon.
Amma gizli b蓹yannam蓹 funksiyas谋 biz q谋sa 蓹vv蓹ll蓹r g枚rd眉n眉z.
Bu ki, sad蓹c蓹 dem蓹kdir cingilti M蓹n dem蓹k n蓹 bilmir.
>> bu ki, m蓹n bir s枚z s枚z istifad蓹 etdiyiniz g枚r眉ld眉 v蓹 ya 蓹vv蓹l t蓹dris he莽 vaxt.
V蓹 m蓹n onu 枚yr蓹tm蓹k laz谋md谋r bu funksiya n蓹 dem蓹kdir.
M蓹n ir蓹li getm蓹k v蓹 bunu gedir蓹m.
>> M蓹n ir蓹li getm蓹k v蓹 h蓹yata ke莽irilm蓹si 眉莽眉n gedir蓹m Print ad谋n谋 枚z funksiyas谋.
A艧a臒谋dak谋 kimi M蓹n ki, dem蓹k gedir蓹m Bu, printf, salam, y眉zd蓹 yoxdur
s, backslash n, ad谋, yar谋 kolon.
M蓹n yaln谋z n蓹 idi?
>> Bel蓹 ki, 莽谋x谋r 脰z funksiyas谋n谋 h蓹yata
biz n枚v b蓹zi borc 茝sas eyni strukturu
biz yaln谋z oldum ki, q蓹bul 眉莽眉n veril蓹n v蓹 m蓹n
bilirsiniz 莽谋xarmaq v蓹 olduqca 莽ox n蓹 sovu艧durmaq
M蓹n ke莽mi艧d蓹 yaz谋l谋 etdik.
Amma burada model bil蓹rsiniz.
Int, Main, L蓹臒v, biz ayr谋 tease laz谋md谋r uzun 蓹vv蓹l h蓹qiq蓹t蓹n n蓹 dem蓹kdir.
>> Amma bu g眉n 眉莽眉n, yaln谋z paralellik bil蓹rsiniz.
Void, 莽ap ad谋, string ad谋, bel蓹 ki, var
b蓹n枚v艧蓹yi s枚z olan biz ba艧lamaq olacaq
bir qaytar谋lmas谋 n枚v眉 z蓹ng ad谋 funksiyas谋, v蓹 sonra daxil.
Bel蓹 ki, h蓹qiq蓹t蓹n, biz 莽蓹km蓹k bil蓹r kimi 枚t蓹n h蓹ft蓹 bu c眉r
Bu ad谋 v蓹 ya kimi biz ist蓹yirik kodu alqoritm
yazma gedir 蓹sas alqoritm
code biz yazmaq olacaq.
>> Bu giri艧 edir.
Bu, onun 莽谋x谋艧 edir.
Bu funksiya, 莽ap ad谋, ad谋n谋 bir simli almaq 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur
v蓹 ya n蓹 olursa olsun, giri艧 kimi, sonra etibars谋z.
Bu he莽 bir 艧ey geri deyil kimi simli almaq v蓹 ya int deyil almaq.
Bel蓹 ki, geri m蓹n蓹 bir 艧ey 蓹ld蓹n olacaq.
Bu, sad蓹c蓹 bir var olacaq yan t蓹siri, bel蓹 dan谋艧maq,
bir 艧蓹xsin ad谋 莽ap.
M蓹n line 7, qeyd print ad谋 z蓹ng ed蓹 bil蓹rsiniz.
Line 10, m蓹n m眉蓹yy蓹n ed蓹 bil蓹rsiniz v蓹 ya 莽ap ad谋n谋 h蓹yata ke莽irir.
Amma t蓹蓹ss眉f ki, ki, kifay蓹t q蓹d蓹r deyil.
>> M蓹n蓹 davam ed蓹k q蓹na蓹t sonra bu compile.
Whoa, indi m蓹n bunu etdik pis g枚r眉n眉r.
Bel蓹 ki, gizli b蓹yannam蓹 funksiyas谋 print s蓹hvdir.
V蓹 yen蓹, daha s蓹hvl蓹r var.
Amma h蓹tta 蓹vv蓹ll蓹r x蓹b蓹rdarl谋q kimi il蓹 overwhelmed almaq,
v蓹 ya bir az k蓹d蓹rli bir 莽ox g枚rm蓹k s蓹hvl蓹r, ilk yaln谋z diqq蓹t
ilkin 莽眉nki g眉c yaln谋z kaskad t蓹siri var.
, Daha 莽ox x眉susi C, v蓹 ya cingilti So h蓹l蓹 print ad谋 tan谋m谋r.
>> V蓹 莽眉nki cingilti var dizayn c眉r lal edir.
Bu, yaln谋z n蓹 dem蓹k n蓹.
V蓹 yaln谋z 眉莽眉n bel蓹 yoxdur Siz n蓹 dem蓹k.
>> M蓹n x蓹tt d枚rd 蓹sas m眉蓹yy蓹n etmi艧ik kimi biz olduqca tez-tez bunu etdik.
M蓹n line 10 print ad谋 m眉蓹yy蓹n etdik.
Amma istifad蓹 莽al谋艧谋ram line yeddi 莽ap ad谋.
>> Bu da tezlikl蓹 h蓹l蓹 m枚vcud deyil ki.
M蓹n a臒谋ll谋 ola bil蓹r, v蓹 kimi ola bil蓹r, OK, bel蓹 ki, yaln谋z birlikd蓹 oynamaq imkan,
v蓹 莽ap ad谋n谋 h蓹r蓹k蓹t burada v蓹 yenid蓹n t蓹rtib edir.
Aman Tanr谋m.
Bu 莽al谋艧m谋艧d谋r.
Bu kimi sad蓹 idi.
>> Amma m蓹ntiq m蓹hz edir.
Siz cingilti 枚yr蓹tm蓹k laz谋md谋r n蓹 ilk funksiyas谋 m眉蓹yy蓹n edir.
Sonra istifad蓹 ed蓹 bil蓹rsiniz.
Amma s蓹mimi, bu hiss s眉r眉艧k蓹n yamac谋nda kimi.
>> Bel蓹 ki, h蓹r d蓹f蓹 run bir problem daxil, m蓹n yaln谋z deyil蓹m
vur臒ulamaq v蓹 kodu kopyalay谋n gedir M蓹n onu k蓹sm蓹k v蓹 burada onu yap谋艧d谋r谋b yazd谋.
V蓹 艧眉bh蓹siz ki, biz bil蓹r b蓹zi ssenaril蓹r contrive
burada bir funksiyas谋 bil蓹r ba艧qa z蓹ng etm蓹k laz谋md谋r.
V蓹 yaln谋z h蓹r qoymaq bilm蓹z h蓹r yuxar谋da funksiyas谋.
>> Bel蓹 ki, orada 莽谋x谋r Daha yax艧谋 h蓹lli.
Biz bu ola bil蓹r.
V蓹 s蓹mimi, bu, 眉mumiyy蓹tl蓹, g枚z蓹l v蓹 rahat v蓹 yax艧谋 dizayn
脟眉nki, yen蓹 ilk 蓹sas qoymaq, Yaln谋z ya艧谋l bayraq t谋kland谋臒谋nda kimi 蓹sas,
ki, funksiyas谋 ki, ismar谋clar谋 icra olur.
Bel蓹 ki, h蓹m莽inin qoymaq bil蓹r fayl 眉st bu
ki, siz v蓹 ya h蓹r hans谋 zaman dig蓹r insan fayl bax谋r
Siz neler bilirik yaln谋z 蓹sas ilk oxuyaraq.
O 莽谋x谋r ki, biz cingilti dey蓹 bil蓹rsiniz f蓹al, hey, cingilti, x蓹tti d枚rd,
M蓹n h蓹yata ke莽irilm蓹si 眉莽眉n s枚z bir funksiyas谋 adlan谋r Print
simli adl谋 ad谋n谋 al谋r Ad谋 giri艧, v蓹 g蓹lirl蓹r he莽 bir 艧ey, etibars谋z kimi.
M蓹n 蓹traf谋nda almaq laz谋md谋r sonra h蓹yata.
>> Burada 蓹sas g蓹lir.
陌ndi line 9 istifad蓹 ed蓹 bil蓹rsiniz Main Print Ad谋 莽眉nki cingilti
n蓹hay蓹t ki, iman谋n, Bu m眉蓹yy蓹n qar艧谋la艧acaq
Print ad谋 h蓹yata ke莽irilm蓹si.
Bel蓹 ki, m蓹nim fayl q蓹na蓹t sonra, imkan M蓹n蓹 davam v蓹 prototip etm蓹k,
bu d蓹f蓹 yax艧谋 g枚r眉n眉r.
Dot prototip, m蓹n蓹 bildirin, 莽izgi ir蓹li getm蓹k v蓹 bir ad yaz谋n.
David, hello David, Zamila, salam Zamila v蓹 h蓹qiq蓹t蓹n, indi i艧l蓹yir.
>> Bel蓹 ki, burada t蓹rkib hiss蓹si biz etdik ki x眉susi kimi, x眉susi funksiyas谋 etdi
Scratch blok biz z蓹ng edirik.
Amma Not f蓹rqli olaraq burada siz yaln谋z yaratmaq v蓹 istifad蓹 ba艧lamaq,
陌ndi biz bir olmal谋d谋r Daha x谋rda莽谋 az
v蓹 h蓹qiq蓹t蓹n cingilti m蓹艧q istifad蓹 etm蓹k, v蓹 ya g枚zl蓹m蓹k.
陌ndi bir k蓹nara, b眉t眉n bu d蓹f蓹 niy蓹 biz, o c眉ml蓹d蓹n iman yaln谋z kor-koran蓹 olmu艧dur
standart io.h o c眉ml蓹d蓹n CS50.h v蓹?
>> B蓹li, bu 莽谋x谋r, bir ne莽蓹 dig蓹r 艧eyl蓹r aras谋nda,
b眉t眉n bu dot saat var ba艧 fayllar谋, fayllar谋 olmaq.
Onlar dan谋艧maq fayllar谋 header edirik.
Onlar h蓹l蓹 d蓹 C. yaz谋l谋 ama onlar fayl m眉xt蓹lif n枚v眉 ist蓹yirik.
>> 陌ndi, siz olduqca 莽ox k蓹sb ed蓹 bil蓹r Cs50.h daxilind蓹 deyil ki, b眉t眉n
bu kimi b蓹zi bir-liners deyil Print ad谋n谋 funksiyalar谋 眉莽眉n,
lakin string almaq 眉莽眉n al谋n Float v蓹 bir ne莽蓹 ba艧qalar谋.
V蓹 ox艧ar prototipl蓹ri var, standart io.h daxilind蓹 bir liners,
indi printf 眉莽眉n 脰z Print ad谋 funksiyas谋.
Bel蓹 ki, ba艧qa s枚zl蓹, bu b眉t眉n vaxt biz sizin yaln谋z kor-koran蓹 莽谋xarmaq v蓹 sovu艧durmaq edilmi艧dir
daxildir, bu daxildir ki, n蓹 olub?
H蓹min ipu莽lar谋 yaln谋z c眉r n蓹 funksiyalar谋 kimi cingilti etm蓹k
, H蓹qiq蓹t蓹n, yaln谋z h蓹yata ke莽irilir ba艧qa m眉xt蓹lif fayllar
ba艧qa sistemi.
>> Bel蓹likl蓹, biz print ad谋n谋 h蓹yata etdik.
Bu bu yan t蓹siri yoxdur ekranda bir 艧ey 莽ap.
Amma bu, h蓹qiq蓹t蓹n deyil geri m蓹n蓹 bir 艧ey 蓹l.
biz getm蓹k nec蓹 bir proqram h蓹yata ki,
geri m蓹n蓹 bir 艧ey 蓹l edir?
>> Yax艧谋, bu c蓹hd ed蓹k.
M蓹n蓹 davam v蓹 h蓹yata ke莽irilm蓹si ed蓹k bir fayl deyil蓹n return.c
bel蓹 ki, biz nec蓹 bir 艧ey n眉mayi艧 ed蓹 bil蓹r kimi string almaq, v蓹 ya int almaq,
h蓹qiq蓹t蓹n qaytar谋lmas谋 deyil istifad蓹莽i geri bir 艧ey.
Nin ir蓹li getm蓹k v蓹 int 蓹sas etibars谋z m眉蓹yy蓹n ed蓹k.
>> V蓹 yen蓹, g蓹l蓹c蓹kd蓹 alaca臒谋q ki, int ki bo艧lu臒u izah
h蓹qiq蓹t蓹n edir.
Amma bu g眉n, biz laz谋md谋r veril蓹n 眉莽眉n almaq.
M蓹n ir蓹li v蓹 printf getm蓹k 眉莽眉n gedir蓹m yax艧谋 bir istifad蓹莽i experience 眉莽眉n, x.
V蓹 sonra m蓹n g枚zl蓹m蓹k gedir蓹m istifad蓹莽i get int x m蓹n蓹 verm蓹k.
>> V蓹 sonra m蓹n ir蓹li getm蓹k 眉莽眉n gedir蓹m v蓹 kvadrat x 莽ap.
Bel蓹 ki, yaln谋z bir zaman ad蓹t蓹n klaviatura, insanlar
az k枚k istifad蓹 klaviatura simvolu
hakimiyy蓹t蓹 t蓹msil etm蓹k of, v蓹 ya eksponent.
Bel蓹 ki, kvadrat x i edir.
>> 陌ndi m蓹n bunu gedir蓹m.
M蓹n x n蓹 do-- bil蓹r kvadrat? x kvadrat x d蓹f蓹 x.
>> V蓹 biz etdik bu bir m眉dd蓹t 蓹vv蓹l art谋q bu g眉n.
Bu kimi hiss etmir b眉t眉n 莽ox ir蓹lil蓹yi艧.
Siz n蓹 bilirik?
ki fikir b蓹zi leverage ed蓹k abstraksiya son d蓹f蓹.
>> 蓹g蓹r g枚z蓹l olmazd谋 adl谋 bir funksiyas谋 var
d蓹qiq ki, yoxdur kvadrat?
sonunda h蓹l蓹 ki, g眉n, eyni riyaziyyat yoxdur.
Amma m眉c蓹rr蓹d ed蓹k alaraq 眉z fikir
bir s谋ra vurulur ba艧qa, yaln谋z bir ad verm蓹k,
kimi bu d蓹y蓹r kvadrat.
>> V蓹 ba艧qa s枚zl蓹, da C, bir funksiyas谋 yaratmaq imkan
d蓹qiq ki, yoxdur adl谋 kvadrat.
Bu kvadrat adland谋rmaq olacaq.
Bu int almaq olacaq.
V蓹 biz laz谋md谋r yaln谋z olacaq M蓹nim cari olaraq, n z蓹ng.
>> Amma biz ist蓹yirik bir 艧ey z蓹ng ed蓹 bil蓹r.
V蓹 b眉t眉n bu olacaq ki, sanki d枚n眉艧眉, n蓹
n d蓹f蓹 n n蓹tic蓹sidir.
Amma, 莽眉nki Bir 艧ey qaytar谋lmas谋 olan
biz sizin b蓹n枚v艧蓹yi s枚z deyil he莽 m蓹n line 11, 蓹vv蓹l g枚r眉ld眉,
yaln谋z bu zaman bo艧luq dey蓹 bilm蓹r蓹m.
>> Void M蓹s蓹l蓹n biz yaln谋z g枚rd眉m print ad谋 deyil, yaln谋z dem蓹kdir
n蓹s蓹 et.
Amma geri m蓹n蓹 bir 艧ey 蓹l deyil.
Bu halda, m蓹n ist蓹yir蓹m n d蓹f蓹 n qay谋tmaq 眉莽眉n,
v蓹 ya n蓹, ki say谋.
>> M蓹n dey蓹 bilm蓹r蓹m, hey, komp眉ter, M蓹n etibars谋z, he莽 bir 艧ey qay谋tmaq.
Bu t蓹bi蓹t, bir int geri olacaq.
V蓹 bel蓹 ki, burada davam ki, b眉t眉n var.
>> input kvadrat bir int olacaq.
biz bunu istifad蓹 ed蓹 bil蓹rsiniz ki, bu var bir ad谋 var, N. 莽谋x谋艧 olacaq
bir ad laz谋m deyil ki, bir int.
Biz 蓹sas onu t蓹rk ed蓹 bil蓹r, v蓹 ya kim var M蓹ni istifad蓹 ed蓹r蓹k biz bu d蓹y蓹r yadda
枚z d蓹yi艧蓹n il蓹 ist蓹diyiniz.
>> V蓹 yen蓹 yaln谋z yeni burada s枚z Return edir.
M蓹n yaln谋z bir riyaziyyat edir蓹m.
M蓹n, h蓹qiq蓹t蓹n, laz谋ms谋z olmaq ist蓹yirdi, M蓹n int m蓹hsul n d蓹f蓹 n olur dey蓹 bil蓹r.
>> V蓹 sonra m蓹n m蓹hsul qay谋tmaq, dey蓹 bil蓹r.
Ancaq yen蓹 m蓹nim 蓹vv蓹lki Bu yaln谋z olmayan yax艧谋 design--
kimi, niy蓹 bir ad t蓹qdim, simvolu, m蓹hsul kimi,
yaln谋z d蓹rhal qay谋tmaq?
Bu, bir az t蓹miz bir az daha m枚hk蓹m, bel蓹 ki,
yaln谋z geri n d蓹f蓹 dem蓹k, dan谋艧maq n, tamamil蓹 bu x蓹ttin xilas.
>> Bu oxumaq 眉莽眉n yaln谋z az code var s蓹hvl蓹r az imkan谋.
V蓹 bu halda g枚r蓹k h蓹qiq蓹t蓹n indi i艧l蓹yir.
陌ndi getm蓹k 眉莽眉n gedir蓹m ir蓹li v蓹 geri edir.
>> Uh-oh, funksiyas谋 gizli b蓹yannam蓹.
M蓹n 蓹vv蓹l he莽 bir b枚y眉k, bu s蓹hv etdi.
M蓹n蓹 yaln谋z yaz谋n ed蓹k, v蓹 ya qeyd v蓹 sur蓹ti, eyni funksiyas谋 prototip,
v蓹 ya imza, burada funksiyas谋.
V蓹 ya b眉t眉n funksiyas谋 h蓹r蓹k蓹t ed蓹 bil蓹r.
>> Amma bir az t蓹nb蓹l var.
Bel蓹 ki, n蓹 olacaq.
陌ndi m蓹n蓹 geri ed蓹k yen蓹 莽izgi geri n枚qt蓹.
>> x 2. x kvadrat 4 edir. x 3. x kvadrat 9 edir.
V蓹 funksiyas谋 g枚r眉n眉r indi i艧 眉莽眉n.
Bel蓹 ki, f蓹rq burada n蓹 var?
M蓹n kvadrat deyirl蓹r bir funksiyas谋 var M蓹n giri艧 qoymaq bu halda.
M蓹n bir 莽谋x谋艧 geri almaq.
V蓹 h蓹l蓹, 蓹vv蓹ll蓹r, 蓹g蓹r M蓹n dig蓹r n眉mun蓹 a莽maq
茝vv蓹ll蓹r yaranan , Prototype.c adl谋 idi
M蓹n print ad谋, olan bel蓹 dan谋艧maq, etibars谋z d枚nd眉
Yoxsa he莽 bir 艧ey geri, v蓹 sad蓹c蓹 bir yan t蓹siri var idi.
>> Bel蓹 ki, n蓹 burada olub?
Yax艧谋, funksiyas谋 hesab yaln谋z bir an 眉莽眉n simli almaq.
Biz funksiyas谋 istifad蓹 etdik a艧a臒谋dak谋 艧蓹kild蓹 string almaq.
>> Biz bir funksiyas谋 almaq etdik string kimi, cs50.h daxildir
standart io.h, int, 蓹sas, etibars谋z daxildir.
V蓹 sonra h蓹r d蓹f蓹 m蓹n var indiy蓹 q蓹d蓹r get string adlan谋r
Dedim bir 艧ey string s, kimi get simli, 莽眉nki simli almaq olur
Bu get.c-- almaq simli z蓹ng ed蓹k 枚z眉 ki, m蓹n bundan sonra simli qaytar谋r
verg眉l istifad蓹 v蓹 salam dem蓹k, faiz s, backslash n, s.
>> Bel蓹 ki, bu eyni n眉mun蓹, H蓹qiq蓹t蓹n, biz 蓹vv蓹ll蓹r idi.
Bel蓹 ki, simli bir d蓹y蓹r qaytar谋r almaq.
Amma bir an 蓹vv蓹l 莽ap string bir d蓹y蓹r qay谋tmaq deyil.
Bu, sad蓹c蓹 bir yan t蓹siri var.
Bel蓹 ki, bu bir fundamental f蓹rqdir.
Biz m眉xt蓹lif g枚rd眉m 陌ndi funksiyalar谋 n枚vl蓹ri,
olan b蓹zi qay谋d谋b d蓹y蓹rl蓹r, olan b蓹zi yoxdur.
Bel蓹 ki, b蓹lk蓹 string v蓹 ya int v蓹 ya float var.
V蓹 ya b蓹lk蓹 yaln谋z etibars谋z var.
>> V蓹 f蓹rq bu funksiyalar谋 ki,
m蓹lumat almaq v蓹 bir d蓹y蓹r qay谋tmaq h蓹qiq蓹t蓹n masa geri bir 艧ey g蓹tirilm蓹si,
bel蓹 dan谋艧maq.
Bel蓹 ki, ir蓹li getm蓹k v蓹 bir final set baxmaq
, indi, hissi verir n眉mun蓹l蓹ri nec蓹 biz bil蓹r, h蓹qiq蓹t蓹n, m眉c蓹rr蓹d daha yax艧谋,
v蓹 daha yax艧谋 v蓹 daha yax艧谋 v蓹 ya daha 莽ox, 眉莽眉n, v蓹 daha 莽ox, v蓹 daha 莽ox
, N蓹tic蓹d蓹, daha yax艧谋 kod yazmaq 眉莽眉n.
Nin ir蓹li getm蓹k v蓹 ruh ed蓹k Not, a艧a臒谋dak谋.
>> M蓹n蓹 davam v蓹 daxil ed蓹k CS50.h v蓹 standart io.h.
M蓹n蓹 davam v蓹 ver蓹k 蓹sas 枚z眉m bir int, etibars谋z.
V蓹 m蓹n蓹 ir蓹li getm蓹k bu cough.c z蓹ng ed蓹k.
>> V蓹 m蓹n蓹 ir蓹li v蓹 yaln谋z ged蓹k Not kimi, 枚sk眉r蓹k / n 莽ap.
M蓹n bu 眉莽 d蓹f蓹 etm蓹k ist蓹yir蓹m.
M蓹n, 蓹lb蓹tt蓹, yaln谋z gedir蓹m sur蓹ti v蓹 眉莽 d蓹f蓹 yap谋艧d谋r谋b.
陌ndi etm蓹k gidiyorum dot 莽izgi 枚sk眉r蓹k 枚sk眉r蓹k.
nin 枚z眉m眉 bir az daha 莽ox otaq ver蓹k Burada, 枚sk眉r蓹k, 枚sk眉r蓹k, 枚sk眉r蓹k, daxil edin.
>> art谋q a莽谋q-ayd谋n var bir yax艧谋la艧d谋r谋lmas谋 眉莽眉n imkan.
M蓹n kopyalanamaz v蓹 yap谋艧d谋r谋l谋r sonra bir ne莽蓹 d蓹f蓹 bu g眉n.
M蓹n n蓹 q蓹d蓹r Amma bu yaln谋z idi kimi bir 莽ox simvol yaz谋n var.
M蓹n h蓹l蓹 d蓹yi艧ib n蓹 Kodu o x蓹tl蓹ri var.
>> Bu 眉莽 x蓹tl蓹ri, eynidir olan t蓹nb蓹l hiss v蓹 h蓹qiq蓹t蓹n,
v蓹 y蓹qin ki, do臒ru bir yana艧ma deyil.
n蓹 t蓹rkib hiss蓹si il蓹 So biz bu kodu yax艧谋la艧d谋r谋lmas谋 bil蓹r?
Biz sur蓹ti v蓹 yap谋艧d谋r谋b code yoxdur.
>> V蓹 h蓹qiq蓹t蓹n, he莽 bir zaman hiss 脰z眉n眉z眉 莽谋xarmaq v蓹 sovu艧durmaq,
v蓹 h蓹tta kodu d蓹yi艧蓹n deyil odds daha yax艧谋 bir yol var var.
V蓹 h蓹qiq蓹t蓹n, var.
M蓹n蓹 davam ed蓹k loop 眉莽眉n etm蓹k, baxmayaraq ki, syntax deyil bil蓹r
h蓹l蓹 t蓹bii g蓹lir.
>> sad蓹c蓹, bu 眉莽 d蓹f蓹 n蓹 a艧a臒谋dak谋 kimidir etm蓹kl蓹
M蓹n t蓹cr眉b蓹 bu bilm蓹k ba艧 verir.
Amma biz indi n眉mun蓹l蓹ri bir s谋ra var.
V蓹 siz online g枚r眉rs眉n眉z daha istinadlar.
>> Bu ki, x蓹tt 6 sintaksis t蓹krar Not kimi 莽ox
blok, a艧a臒谋dak谋 眉莽 d蓹f蓹 t蓹krar edin.
陌ndi bir az sehrli var.
Amma bu daha 莽ox olacaq, v蓹 daha 莽ox tan谋艧.
>> V蓹 t蓹krar olacaq line s蓹kkiz 眉莽 d蓹f蓹
M蓹n 蓹g蓹r etm蓹k 枚sk眉r蓹k yenid蓹n t蓹rtib ki, dot 枚sk眉r蓹k, 枚sk眉r蓹k, 枚sk眉r蓹k, 枚sk眉r蓹k do臒ramaq.
Bu h蓹l蓹 eyni 艧蓹kild蓹 i艧l蓹yir.
Bel蓹 ki, b眉t眉n g枚z蓹l v蓹 yax艧谋.
Amma 莽ox Abstrak deyil.
>> Bu m眉k蓹mm蓹l do臒ru deyil.
Amma orada kimi hiss bir f眉rs蓹t ola bil蓹r
d眉nya kimi start c眉r Scratch,
ki, burada semantika 蓹lav蓹 etm蓹k M蓹n yaln谋z loop 眉莽眉n yoxdur
v蓹 bir funksiyas谋 oldu臒unu deyir 枚sk眉r蓹k, v蓹 ya 枚sk眉r蓹k etmir.
Siz n蓹 bilirik?
M蓹n蓹 bir olmaq 眉莽眉n c蓹hd ed蓹k daha az soyuq,
v蓹 h蓹qiq蓹t蓹n bir funksiyas谋 yazmaq bir yan t蓹siri var, bu 枚sk眉r蓹k z蓹ng.
>> V蓹 he莽 bir daxil edir v蓹 莽谋x谋艧 kimi he莽 bir d蓹y蓹r qaytar谋r.
Amma bunu n蓹 bilirik?
Bu 艧eyl蓹rdir printf edir d谋rna臒谋 ba臒lamaq quote, 枚sk眉r蓹k.
>> 陌ndi burada m蓹n gedir蓹m ir蓹li v蓹 int 眉莽眉n getm蓹k 眉莽眉n,
i, i plus plus, s谋f谋r olur i az 3.
M蓹n olan printf n蓹 gedir蓹m arguably a艧a臒谋 s蓹viyy蓹d蓹 h蓹yata ke莽irilm蓹si
detal.
M蓹n 枚sk眉r蓹k nec蓹 qay臒谋 yoxdur.
M蓹n yaln谋z 枚sk眉r蓹k funksiyas谋 istifad蓹 etm蓹k ist蓹yirik.
M蓹n yaln谋z 枚sk眉r蓹k z蓹ng etm蓹k 眉莽眉n gedir蓹m.
>> 陌ndi dichotomy bil蓹rsiniz.
茝g蓹r deyils蓹, siz bir funksiyas谋 z蓹ng zaman Bu tamamil蓹 g枚z蓹l, giri艧 verm蓹k ist蓹yir蓹m.
Yaln谋z a莽谋q paren, yax谋n etm蓹k paren, v蓹 siz tamamlay谋n.
>> Bir funksiyas谋 m眉蓹yy蓹n, v蓹 ya Bir funksiyas谋n谋n prototip elan
Siz 蓹vv蓹lc蓹d蓹n bilirsinizs蓹 bu deyil h蓹r hans谋 arqumentl蓹r etm蓹k niyy蓹tind蓹dir,
orada o m枚t蓹riz蓹d蓹 etibars谋z deyirl蓹r.
V蓹 m眉蓹yy蓹n edir ki, siz t蓹sad眉f蓹n sui-istifad蓹 ed蓹c蓹k.
M蓹n蓹 davam v蓹 枚sk眉r蓹k ed蓹k.
V蓹, 蓹lb蓹tt蓹, m蓹n s蓹hv etdik.
>> Dammit, ki, var gizli b蓹yannam蓹.
Amma ki, g枚z蓹l var.
Bu, asan fix var.
M蓹n yaln谋z prototip ali laz谋md谋r M蓹nim fayl M蓹n, h蓹qiq蓹t蓹n, istifad蓹 edir蓹m 莽ox.
>> Bel蓹 ki, indi m蓹n蓹 枚sk眉r蓹k yen蓹 g枚z蓹l etm蓹k ed蓹k.
陌ndi i艧l蓹yir.
枚sk眉r蓹k, 枚sk眉r蓹k, 枚sk眉r蓹k, 枚sk眉r蓹k olun.
Bel蓹 ki, biz, h蓹qiq蓹t蓹n, oldu臒unu hesab ed蓹 bil蓹r art谋q bu problem m眉h蓹ndislik.
V蓹 h蓹qiq蓹t蓹n, biz.
Bu yax艧谋 deyil bir proqram namiz蓹di
眉莽眉n haz谋rda refactoring v蓹 n蓹 etdiyini
iyerarxik par莽alanma adlan谋r harada b蓹zi kodu almaq v蓹 sonra
bel蓹 ki, siz c眉r amil 艧eyi, onlara daha semantika isnad etm蓹k,
v蓹 n蓹tic蓹d蓹 uzun m眉dd蓹t t蓹krar.
Amma do臒ru bir bina blok var daha m眉r蓹kk蓹b proqramlar谋
biz ba艧layacaq uzun 蓹vv蓹l yaz谋l谋
Biz蓹 s枚z 眉莽眉n imkan verir hans谋 il蓹 daha yax艧谋 kod yazmaq 眉莽眉n.
V蓹 h蓹qiq蓹t蓹n, 蓹g蓹r g枚r蓹k biz daha bu 眉mumil蓹艧dirm蓹k bilm蓹z.
>> Bu bir az Topal g枚r眉n眉r ki, m蓹n, 蓹sas, loop 眉莽眉n bu l蓹n蓹tl蓹m蓹k haqq谋nda narahat ehtiyac,
v蓹 t蓹krar 枚sk眉r蓹k z蓹ng.
Niy蓹 yaln谋z 枚sk眉r蓹k dey蓹 bilm蓹z 眉莽 d蓹f蓹 枚sk眉r蓹k edin
Ba艧qa s枚zl蓹, niy蓹 bilm蓹z yaln谋z 枚sk眉r蓹k v蓹 bunu giri艧 verir?
>> Niy蓹 yaln谋z, dey蓹 bilm蓹r蓹m 茝sas 枚sk眉r蓹k 眉莽 d蓹f蓹.
陌ndi, bu c眉r sehrli edir.
Burada 莽ox iterativ var.
V蓹 bu, h蓹qiq蓹t蓹n, bir k枚rp蓹 add谋m var.
>> Lakin qabiliyy蓹ti dem蓹k line s蓹kkiz 眉莽 d蓹f蓹 枚sk眉r蓹k,
yaln谋z 莽ox daha 莽ox oxunaql谋 edir.
V蓹 plus, m蓹n bilm蓹k yoxdur v蓹 ya 枚sk眉r蓹k h蓹yata nec蓹 qay臒谋.
V蓹 h蓹qiq蓹t蓹n, daha sonra m眉dd蓹tli v蓹 final layih蓹l蓹r 眉莽眉n,
Bir layih蓹 il蓹 h蓹ll 蓹g蓹r bir sinif yolda艧谋 v蓹 ya iki sinif yolda艧lar谋,
Siz olacaq ki, h蓹yata laz谋md谋r var, v蓹 ya i艧 b枚lm蓹k ist蓹yir蓹m.
>> V蓹 q蓹rar ist蓹yir蓹m olacaq 蓹vv蓹lc蓹d蓹n, kim n蓹 olacaq,
v蓹 hans谋 蓹d蓹d?
V蓹 bu g枚z蓹l ola bilm蓹z 蓹g蓹r, m蓹s蓹l蓹n,
yaz谋 MAIN pulsuz, g枚r眉l蓹n almaq.
V蓹 roommate v蓹 ya ortaq 眉mumiyy蓹tl蓹,
枚sk眉r蓹k h蓹yata qay臒谋s谋na qal谋r.
>> Bu b枚lm蓹, bu abstraksiya divarlar谋,
abstraksiya v蓹 ya qat 蓹g蓹r siz super g眉cl眉 olacaq
, X眉susil蓹 b枚y眉k 莽眉nki daha m眉r蓹kk蓹b proqramlar谋 v蓹 sisteml蓹ri,
Bir 莽ox insanlar yaratmaq 眉莽眉n imkan verir 艧eyi birlikd蓹 v蓹 n蓹tic蓹d蓹
bu 艧蓹kild蓹 birlikd蓹 i艧l蓹rini stitch.
Lakin, 蓹lb蓹tt蓹, biz 陌ndi 枚sk眉r蓹k d眉zeltmek laz谋md谋r.
Biz 枚sk眉r蓹k dem蓹k laz谋md谋r ki, hey, siz n蓹 bilirik?
Siz laz谋md谋r olacaq input-- bel蓹 etibars谋z, lakin int v蓹 indi.
Nin ir蓹li getm蓹k v蓹 daxil ed蓹k int 枚sk眉r蓹k. i s谋f谋r olur.
>> i ne莽蓹 d蓹f蓹 azd谋r.
M蓹n 眉莽 蓹vv蓹l bildirib.
Amma m蓹n ist蓹yir蓹m n蓹 deyil.
M蓹n 眉mumil蓹艧dirilmi艧 edil蓹c蓹k 枚sk眉r蓹k ist蓹yir蓹m tekrarlamalar bir s谋ra d蓹st蓹kl蓹yir.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, M蓹n ist蓹yir蓹m n var, n蓹 user m蓹n蓹 deyir.
陌ndi ir蓹li getm蓹k v蓹 莽ap 枚sk眉r蓹k dem蓹k olar.
V蓹 n蓹 olursa olsun say谋 istifad蓹莽i ke莽ir
Hesab edir蓹m ki, bir ne莽蓹 d蓹f蓹 t蓹krarlamaq olacaq.
>> G眉n眉n sonunda So proqram eynidir.
Amma bu m蓹hsullar谋 b眉t眉n qeyd h蓹tta ba艧qa fayl ola bil蓹r.
H蓹qiq蓹t蓹n, M蓹n bilmir蓹m an nec蓹 printf h蓹yata ke莽irilir.
>> M蓹n almaq nec蓹 bu anda bilmir蓹m simli, v蓹 ya int almaq, v蓹 ya float almaq
h蓹yata ke莽irilir.
M蓹n ist蓹mir蓹m M蓹nim ekranda onlar谋 g枚rm蓹k.
Oldu臒u kimi, m蓹n diqq蓹t ba艧layan al谋ram M蓹nim proqram deyil, bu funksiyalar谋.
>> Bel蓹 ki, h蓹qiq蓹t蓹n, tezlikl蓹 sizin kimi ox艧ar kodunu faktoring ba艧lamaq,
biz h蓹tta 枚sk眉r蓹k h蓹r蓹k蓹t ed蓹 bil蓹r ayr谋 fayl?
Ba艧qas谋 bunu t蓹tbiq ed蓹 bil蓹r.
V蓹 sizin v蓹 proqram olmaq 莽ox g枚z蓹l v蓹 莽ox oxunaql谋,
arguably, h蓹qiq蓹t蓹n d枚rd orada line proqram谋.
>> Bel蓹 ki, indi ir蓹li ged蓹k v蓹 daha bir d蓹yi艧iklik.
Qeyd ki, m蓹nim prototip 眉st q蓹d蓹r d蓹yi艧dirm蓹k 眉莽眉n var.
M蓹n蓹 bel蓹 ki, d眉zeltmek bildirin M蓹n yelled almaq deyil.
>> 枚sk眉r蓹k olun, m蓹n蓹 bir d蓹f蓹 枚sk眉r蓹k run ed蓹k daha 莽ox h蓹l蓹 d蓹 eyni 艧ey bunu.
Amma indi, biz bir var fark bir final versiyas谋 眉莽眉n t蓹rkib hiss蓹si.
Siz n蓹 bilirik?
M蓹n m眉tl蓹q yaln谋z 枚sk眉r蓹k ist蓹mir蓹m.
M蓹n daha 莽ox 眉mumi bir 艧ey etm蓹k ist蓹yir蓹m.
Bel蓹 ki, n蓹?
M蓹n bunu ist蓹yir蓹m.
M蓹n 莽ox Not kimi etm蓹k ist蓹yir蓹m , G枚r蓹n bir dem蓹k blok, lakin yaln谋z
bir 艧ey d蓹f蓹 b蓹zi say谋n谋 deyirl蓹r.
M蓹n bir 莽ox x眉susi simli dem蓹k ist蓹yir蓹m.
V蓹 buna g枚r蓹 d蓹, m蓹n deyil yaln谋z 枚sk眉r蓹k dem蓹k ist蓹yir蓹m.
M蓹n dem蓹k ist蓹yir蓹m n蓹 string q蓹bul edilir.
>> Bel蓹 ki, qeyd, m蓹n 眉mumil蓹艧dirilmi艧 sonra bu indi
dem蓹k yax艧谋 ad kimi hiss Bunun 眉莽眉n 枚d蓹ni艧 kimi,
Not f蓹rqli olaraq, iki d蓹lill蓹ri edir.
Bir simli edir.
One bir int edir.
>> M蓹n onlara ke莽id ed蓹 bil蓹r.
M蓹n yaln谋z c眉r ideyas谋 kimi ilk simli dem蓹k v蓹 sonra
ne莽蓹 sonra d蓹f蓹.
Void h蓹l蓹 dem蓹kdir he莽 bir 艧ey geri deyil.
Bu yaln谋z vizual yan [kimi t蓹siri? Jordan?]
b枚yle bir 艧ifahi yan t蓹siri.
Bu h蓹l蓹 bir 艧ey n d蓹f蓹 deyil q蓹d蓹r 0, lakin n b蓹rab蓹r deyil.
Bu n 眉mumi d蓹f蓹 dem蓹kdir.
V蓹 sonra yaln谋z 莽ap n蓹 ki, simli edir.
M蓹n, h蓹qiq蓹t蓹n, 眉mumil蓹艧dirilmi艧 etdik kodu bu x蓹tt.
Bel蓹 ki, indi, nec蓹 h蓹yata yoxdur 枚sk眉r蓹k funksiyas谋?
>> M蓹n etibars谋z 枚sk眉r蓹k ed蓹 bil蓹rsiniz.
V蓹 m蓹n h蓹l蓹 nec蓹 ed蓹 bil蓹r ne莽蓹 d蓹f蓹 枚sk眉r蓹k ist蓹yir蓹m.
Amma n蓹 bilirik?
陌ndi dem蓹k ayaqla z蓹rb蓹 olar.
>> M蓹n dem蓹k z蓹ng ed蓹 bil蓹rsiniz s枚z 枚sk眉r蓹k, n ke莽蓹n.
M蓹n d蓹 h蓹yata ke莽irm蓹k ist蓹yirsinizs蓹, yaln谋z 蓹yl蓹nc蓹 眉莽眉n, bir asq谋rmaq funksiyas谋,
M蓹n d蓹f蓹 bir s谋ra asq谋rmaq bil蓹rsiniz.
M蓹n, 莽眉nki n yeniden ed蓹 bil蓹rsiniz Bu 莽蓹r莽iv蓹d蓹 v蓹 ya 蓹hat蓹 dair蓹si ki, m qeyd
yaln谋z bu funksiya daxilind蓹 m枚vcuddur.
>> V蓹 n bu 莽蓹r莽iv蓹d蓹 yaln谋z burada bu funksiya daxilind蓹 m枚vcuddur.
Bel蓹 ki, biz geri g蓹lm蓹k laz谋md谋r 莽蓹r莽iv蓹sind蓹 bu m蓹s蓹l蓹l蓹r.
V蓹 burada, yaln谋z, dem蓹k gedir蓹m achoo, sonra n d蓹f蓹 yar谋 kolon.
>> 陌ndi, yaln谋z borc laz谋md谋r Bu funksiya burada imza.
Bel蓹 ki, 枚sk眉r蓹k do臒ru deyil.
Void asq谋rmaq indi do臒ru deyil.
>> V蓹 m蓹n h蓹l蓹 dem蓹k laz谋md谋r.
M蓹n dem蓹k, dem蓹k gedir蓹m string s, int n, yar谋 kolon.
M蓹n art谋q engineering etdik Bu proqram谋n h蓹yata heck.
>> Bu deyil m眉tl蓹q bu dem蓹k
yaz谋l谋 zaman n蓹 etm蓹li proqramlar谋n h蓹tta sad蓹.
ki, a莽谋q-ayd谋n bir 艧ey edin h蓹qiq蓹t蓹n q谋sa, h蓹qiq蓹t蓹n sad蓹,
v蓹 yenid蓹n h蓹yata yol 莽ox kodu istifad蓹 ed蓹r蓹k.
Amma h蓹qiq蓹t蓹n g枚rm蓹k v蓹 laz谋md谋r vaxt bu n眉mun蓹l蓹r geri baxmaq
v蓹 h蓹yata, oh, bu add谋mlar Biz, h蓹qiq蓹t蓹n, 眉mumil蓹艧dirm蓹k etdi
bir 艧ey amil, G眉n眉n sonunda q蓹d蓹r
M蓹nim code h蓹qiq蓹t蓹n olduqca a臒labatan deyil.
M蓹n 眉莽 枚sk眉r蓹k ist蓹yirsinizs蓹, 莽眉nki d蓹f蓹 sonra, 眉莽 d蓹f蓹 asq谋rmaq
M蓹n sad蓹c蓹, bu t蓹krar gedir蓹m proqram 枚sk眉r蓹k etm蓹k v蓹 枚sk眉r蓹k ax谋r.
M蓹n 眉莽 枚sk眉r蓹k var v蓹 眉莽 asq谋rarkn.
>> V蓹 bu 蓹sas paradiqma, Siz,
biz getm蓹k bil蓹r nec蓹 h蓹qiq蓹t蓹n bir proqram h蓹yata ke莽irir.
Amma yaln谋z indi n蓹 ed蓹k biz bu zaman b眉t眉n bunu etdik
v蓹 n蓹 final 蓹d蓹d b蓹zi Bu sad蓹 蓹mri arxas谋nda.
G眉n眉n sonunda, biz sizin Bizim compiler kimi cingilti istifad蓹 edilmi艧dir.
Biz m蓹nb蓹 yaz谋l谋 oldu臒unuz Kodu onu konvertasiya
ma艧谋n kodu daxil cingilti vasit蓹sil蓹.
>> V蓹 biz yaln谋z olun istifad蓹 etdik bel蓹 ki, bizim tu艧 vuru艧lar谋n谋 asanla艧d谋rmaq 眉莽眉n
biz yadda yoxdur ki, Cingilti 枚z眉 o incantations.
Amma 蓹slind蓹, Marka bunu n蓹dir?
V蓹 枚z n枚vb蓹sind蓹, n蓹 Cingilti h蓹qiq蓹t蓹n bunu?
>> biz sad蓹l蓹艧dirilmi艧 var, baxmayaraq ki, 莽谋x谋r dey蓹r蓹k bu g眉n m眉zakir蓹
Siz m蓹nb蓹 kodu almaq kimi ke莽m蓹k verir bir compiler, giri艧
ma艧谋n 莽谋xd谋 kodu var 莽谋x谋r
orada bir ne莽蓹 m眉xt蓹lif add谋mlar.
V蓹 t蓹rtib 莽蓹tir olur add谋mlar b眉t眉n d蓹st蓹 m眉dd蓹ti.
Amma yaln谋z tease bildirin bu h蓹qiq蓹t蓹n tez.
>> Bu bunu etdik 莽谋x谋r ki, daha 莽ox 艧ey bir proqram run h蓹r d蓹f蓹,
v蓹 ya h蓹r d蓹f蓹 m蓹n bu g眉n bir proqram t蓹rtib edir.
Bel蓹 ki, preprocessing aiddir C proqram bir 艧ey 艧eyl蓹rdir,
biz t蓹krar g枚r蓹c蓹ksiniz kimi, ki, bu hash simvolu il蓹 ba艧lay谋r
v蓹 ya burada hashtag simvolu dem蓹kdir bir preprocessor direktiv var.
Bu hey, bu halda, o dem蓹kdir komp眉ter, bu fayl il蓹 bir 艧ey
Siz, h蓹qiq蓹t蓹n, 枚z kodu t蓹rtib 蓹vv蓹l.
>> Bu halda, hash daxildir, mahiyy蓹tc蓹, dey蓹r蓹k C yolu,
hey komp眉ter, m蓹zmunu almaq getm蓹k v蓹 cs50.h burada yap谋艧d谋r谋n.
Hey komp眉ter, almaq getm蓹k standart io.h m蓹zmunu,
ki, h蓹r yerd蓹 sabit, burada yap谋艧d谋r谋b.
Bel蓹 ki, h蓹min 艧eyl蓹r ilkin emal谋 zaman谋 ilk.
>> V蓹 cingilti bizim 眉莽眉n b眉t眉n bu yoxdur.
V蓹 bel蓹 darn yoxdur s眉r蓹tli, h蓹tta deyil
ba艧 d枚rd f蓹rqli 艧eyl蓹r g枚r眉r眉k.
Amma ilk add谋md谋r.
>> N蓹 h蓹qiq蓹t蓹n g蓹l蓹n olur?
Yax艧谋, n枚vb蓹ti r蓹smi add谋m t蓹rtib olunur.
V蓹 bu 莽谋x谋r ki, bir proqram t蓹rtib
texniki ged蓹n dem蓹kdir m蓹nb蓹 kodu, biz sizin stuff
bir 艧ey, bu g眉n yaz谋l谋 edilmi艧dir bir 艧ey, montaj kodu 莽a臒谋r谋b
ki, bir az f蓹rqli g枚r眉n眉r.
>> V蓹 蓹slind蓹, biz real s眉r蓹tli g枚r蓹 bil蓹rsiniz.
M蓹n蓹, h蓹qiq蓹t蓹n, m蓹nim IDE daxil ed蓹k.
M蓹n蓹 ir蓹li v蓹 a莽谋q hello.c ged蓹k ki, ilk proqram olan biz
bu g眉n ba艧lad谋.
V蓹 m蓹n蓹 ir蓹li getm蓹k v蓹 cingilti bir run ed蓹k f蓹rqli az, cingilti-s, hello.c,
h蓹qiq蓹t蓹n olan gedir m蓹n蓹 bir fayl hello.s verir.
>> V蓹 biz he莽 vaxt y蓹qin ki, olacaq yen蓹 kodu bu c眉r g枚r眉r眉k.
Bir a艧a臒谋 s蓹viyy蓹d蓹 alsaq CS61 kimi sisteml蓹ri sinif,
bir 莽ox daha 莽ox olacaq kodu bu c眉r.
Amma bu topla艧maq dilidir.
Bu X86 montaj dili ki, yatan olunur CPU
CS50 IDE h蓹qiq蓹t蓹n anlay谋r.
>> Bu sirli kimi bu bir 艧eydir baxmaq
komp眉ter olduqca yax艧谋 anlay谋r.
Sub q, bu 莽谋xmaq deyil.
h蓹r蓹k蓹ti var.
>> Burada funksiyalar谋 var z蓹ng x ORing, bir h蓹r蓹k蓹t, bir eklenti, bir pop,
geri.
Bel蓹 ki, orada b蓹zi 莽ox a艧a臒谋 s蓹viyy蓹d蓹 t蓹limat
CPU'lar ba艧a d眉艧眉r眉k ki, ki, M蓹n 蓹vv蓹ll蓹r alluded.
Bu n蓹 Intel Inside edir.
>> n眉mun蓹l蓹ri var adet s谋f谋r v蓹 olanlar谋 ki,
Bu arcanely m蓹tni x蓹rit蓹si, lakin q蓹d蓹r yax艧谋 ad谋na t蓹limat,
bel蓹 dan谋艧maq.
Bu zaman n蓹 ba艧 verir Siz kodu t蓹rtib edir.
Siz montaj almaq h蓹yata dil olan
脺莽眉nc眉 add谋m topla艧maq dem蓹kdir ki, montaj kodu daxil n蓹tic蓹d蓹,
ma艧谋n kod adet s谋f谋r v蓹 olanlar谋 deyil, biz yaln谋z bir an 蓹vv蓹l g枚rd眉m m蓹tn.
>> Bel蓹 ki, pre-emal ki, tapa bil蓹rsiniz edir 蓹v蓹z v蓹 bir ne莽蓹 ba艧qa 艧eyl蓹r edir.
T蓹rtib m蓹nb蓹 edir C indeksi, m蓹nb蓹 kodu
biz topla艧maq, yaz谋rd谋 ki, biz yaln谋z n蓹z蓹r kodu.
Montaj谋 ki topla艧maq edir zeroes v蓹 olanlar谋 kodu
CPU h蓹qiq蓹t蓹n olacaq ki, g眉n眉n sonunda ba艧a d眉艧眉r眉k.
V蓹 ba臒layan son add谋m ki, yen蓹 us-- olur
bel蓹 s眉r蓹tli biz h蓹tta deyil Deyir ki, x蓹b蓹rdarl谋q
hey komp眉ter, b眉t眉n almaq adet s谋f谋r v蓹 olanlar谋 ki,
Davudun kodu t蓹rtib n蓹tic蓹sind蓹 v蓹 bu halda onun 蓹sas funksiyas谋.
>> V蓹 komp眉ter hey, almaq getm蓹k adet s谋f谋r v蓹 olanlar谋 b眉t眉n
CS50 hey蓹ti yaz谋rd谋 ki, CS50 kitabxana daxili.
David il蓹 olanlarda qar谋艧d谋r谋l谋r.
V蓹 hey komp眉ter, b眉t眉n adet s谋f谋r almaq getm蓹k v蓹 ba艧qas谋n谋n il yaz谋rd谋 olanlar谋 ki,
bundan printf 眉莽眉n.
V蓹 o 蓹lav蓹 b眉t眉n 艧ey, biz sizin ki
M蓹nim adet s谋f谋r v蓹 olanlar谋 var CS50 hey蓹tinin adet s谋f谋r v蓹 olanlar谋,
printf adet s谋f谋r v蓹 olanlar谋, v蓹 ba艧qa bir 艧ey biz istifad蓹 edirik.
>> Onlar bir araya almaq proqram Salam, bu halda, 莽a臒谋r谋b.
Bel蓹 ki bundan sonra, biz yaln谋z s枚z t蓹rtib istifad蓹 edin.
V蓹 biz veril蓹n olacaq zaman Biz bu o dem蓹kdir ki, sizin proqram t蓹rtib, dem蓹k
hey pre-emal etm蓹k, montaj v蓹 birl蓹艧dir蓹n.
Amma 蓹slind蓹 bir 艧ir蓹li stuff var ba艧l谋q alt谋nda orada gedir.
V蓹 x眉susil蓹 蓹g蓹r , Maraql谋 bir vaxt almaq
Siz poking ba艧laya bil蓹rsiniz 蓹traf谋nda bu a艧a臒谋 s蓹viyy蓹d蓹.
Amma indi, ki, h蓹yata Bu g眉n 眉莽眉n takeaways aras谋nda
olduqca sad蓹c蓹 bir prosesin ba艧lan臒谋c谋,
rahat 蓹ld蓹 salam d眉nya kimi bir 艧ey.
H蓹qiq蓹t蓹n, biz bu g眉n n蓹 莽ox 蓹lb蓹tt蓹 super s眉r蓹tli endirm蓹k deyil.
V蓹 b蓹zi olacaq vaxt v蓹 b蓹zi t蓹cr眉b蓹.
V蓹 odds, siz sort ed蓹c蓹k sizin klaviatura hit ist蓹diyiniz
v蓹 ya ekran f蓹臒an.
V蓹 b眉t眉n OK.
Baxmayaraq ki, b蓹lk蓹 眉莽眉n c蓹hd edin q蓹d蓹r kitabxana bunu.
>> V蓹 n蓹tic蓹d蓹, will Olsa qadir ba艧lamaq edil蓹
yax艧谋 kodu, h蓹m d蓹 n眉mun蓹l蓹ri g枚r蓹n Siz yazd谋q ki, s蓹hvl蓹r
Siz etdik ki.
V蓹 proses kimi 莽ox bir TF olmaq v蓹 ya CA kimi,
daha yax艧谋 almaq 眉莽眉n ba艧lamaq laz谋md谋r v蓹 o n眉mun蓹l蓹ri g枚r蓹n daha yax艧谋,
v蓹 yaln谋z h蓹ll n蓹tic蓹d蓹 枚z probleml蓹ri.
Bu vaxt, 莽ox olacaq Biz蓹 d蓹st蓹k borc v蓹 siz almaq 眉莽眉n
bu yolu.
V蓹 yazmaq-up probleml蓹rin b眉t眉n
Siz vasit蓹sil蓹 do臒ru yola olunacaq 蓹mrl蓹ri b眉t眉n
M蓹n, 蓹lb蓹tt蓹, bilirik ki, art谋q t蓹cr眉b蓹 bir 莽ox
lakin oldu ola bil蓹r 陌ndi bir ba艧 眉z蓹rind蓹.
V蓹 tamamil蓹 g枚z蓹l var.
>> Lakin, n蓹tic蓹d蓹, siz olacaq n眉mun蓹l蓹ri ortaya g枚rm蓹k 眉莽眉n ba艧lamaq 眉莽眉n.
V蓹 b眉t眉n ke莽mi艧 olsun d蓹f蓹 axmaq m蓹lumat, parantez kimi,
v蓹 q谋vr谋m a艧谋rma, v蓹 yar谋-colons, v蓹 stuff, s蓹mimi,
ki, b眉t眉n deyil intellektual maraql谋.
Bu m蓹qs蓹di deyil H蓹r hans谋 bir giri艧 sinif alaraq.
F蓹rq gedir fikir var.
>> Bu loops, v蓹 艧蓹rait v蓹 funksiyalar谋,
v蓹 daha g眉cl眉 abstraksiya, v蓹 kodu faktorinq,
v蓹 yax艧谋 dizayn v蓹 yax艧谋 stil v蓹 n蓹tic蓹d蓹 d眉zg眉n
Sizin kodu ki, n蓹tic蓹d蓹 var 蓹n 蓹h蓹miyy蓹tli olacaq.
Bel蓹 ki, n枚vb蓹ti h蓹ft蓹, bu olacaq biz ilk Not g枚rd眉m fikir
v蓹 indi t蓹rc眉m蓹 var C. Biz ba艧lamaq laz谋md谋r
ilk t蓹qdim etm蓹k Kursun real d眉nya domains.
>> Biz t蓹hl眉k蓹sizlik d眉nyan谋n diqq蓹t laz谋md谋r v蓹 daha 莽ox x眉susi, kriptoqrafiya
m蓹lumat Scrambling s蓹n蓹tidir.
陌lk aras谋nda probleml蓹r 枚z眉n眉z
k蓹narda yazmaq olacaq sintaksis b蓹zi oynayan
v蓹 b蓹zi m蓹ntiqi h蓹ll probleml蓹r, n蓹tic蓹d蓹 uzun 蓹vv蓹l,
h蓹qiq蓹t蓹n d谋rma艧ma, v蓹 ya 艧ifrelemek ki, v蓹 n蓹tic蓹d蓹 m蓹lumat decrypt.
V蓹 h蓹r 艧ey etdik bu g眉n olacaq kifay蓹t q蓹d蓹r a艧a臒谋
s蓹viyy蓹si, yaln谋z imkan gedir AB艦, bir v蓹 bir almaq
v蓹 yuxar谋da do臒ru daha bir add谋m h蓹l蓹 蓹n maraql谋 kodu yazmaq.
>> ki, g蓹l蓹n h蓹ft蓹 daha 莽ox.
>> [Video playback]
>> -Ne Haqq谋nda m蓹n蓹 dey蓹 bil蓹rsiniz Siz onu g枚rd眉m son d蓹f蓹 idi?
-N蓹 M蓹n, h蓹qiq蓹t蓹n, dem蓹k olar?
M蓹n dem蓹k, h蓹r hans谋 dig蓹r kimi idi pre-istehsal m蓹艧q,
bir 艧ey var idi istisna olmaqla, dedi m蓹n蓹 vurulmu艧 莽ox sonunda.
>> -Bu CS50 idi.
>> -Bu, Bir cut h蓹r k蓹s m蓹艧q b枚y眉k i艧.
>> -Bu Nahar?
>> -B蓹li, Siz v蓹 m蓹n bir az bir sendvi莽 qamarlamaq.
M蓹n蓹 yaln谋z il蓹 debrief ed蓹k David h蓹qiq蓹t蓹n tez.
David?
>> [END playback]