>> DAVID J Malan: B眉t眉n sa臒, bel蓹 ki, bu CS50 edir.
Bu ayd谋n C眉m蓹.
Bu h蓹ft蓹 bir sonu.
Bel蓹 ki, biz off t蓹rk geri bil蓹r, n枚v bir cliffhanger il蓹 son d蓹f蓹.
Vasit蓹si biz bu yalan if艧a yoxdur ki, m蓹s蓹l蓹 artan t蓹dris oldu臒unuz n蓹
q蓹d蓹r 10 b枚l眉n眉r 1 deyil 茝slind蓹 0.1 v蓹 ya 0.100 v蓹 ya 0,10000.
茝slind蓹, 蓹g蓹r biz bu t蓹rtib proqram, biz d眉n蓹n, kimi,
qeyri-d蓹qiqlik etm蓹k, sonra dot etm蓹k, 莽izgi, qeyri-d蓹qiqlik,
bu n蓹 oldu臒u 枚yr蓹nildi 1 蓹slind蓹 10 b枚l眉n眉r.
Bel蓹 ki, h蓹qiq蓹t蓹n, olduqca i艧i deyil.
Amma bu b蓹zi i艧ar蓹 edir komp眉ter fundamental m蓹hdudiyy蓹t.
H蓹qiq蓹t蓹n, aras谋nda 艧eyl蓹r n蓹 olacaq
Bu g眉n niy蓹 n蓹z蓹r var oldu, bu n蓹 t蓹siri,
insanl谋q u臒ursuz nec蓹 bir 莽ox bu tutmaq 眉莽眉n
ciddi situations-- n蓹tic蓹sind蓹
olduqca faci蓹li olmu艧dur v蓹 h蓹m莽inin expensive-- v蓹
Biz nec蓹 n蓹z蓹r h蓹qiq蓹t蓹n m眉dafi蓹 ed蓹 bil蓹r
m蓹hdudiyy蓹tl蓹r bu c眉r qar艧谋.
Bel蓹 ki, daxil蓹n, b蓹lk蓹, niy蓹 1 10 b枚l眉n眉r,
M蓹nim komp眉ter g枚r蓹 Burada yaln谋z 1/10, 0.10?
B蓹li.
Siz n蓹 d眉艧眉n眉rs眉n眉z?
>> Tama艧a莽谋 陌stifad蓹莽i: radix f蓹rqlidir?
>> DAVID J Malan: n蓹dir?
Oh, radix f蓹rqlidir?
Bel蓹 ki, olduqca.
Bu, h蓹qiq蓹t蓹n 莽ox var hardware fundamental.
Dig蓹r fikir?
B蓹li.
Auditoriya 脺ZV: Onlar f蓹rqli n枚mr蓹l蓹ri t蓹msil?
DAVID J Malan: Bel蓹 ki, they-- Right.
Onlar f蓹rqli n枚mr蓹l蓹ri t蓹msil edir.
Qeyri-d蓹qiq, y蓹qin.
Yax艧谋 is-- Bel蓹 ki, f蓹rqli n蓹 olan?
V蓹 ya kim蓹?
Bizd蓹n?
Tama艧a莽谋 陌stifad蓹莽i: B蓹li.
Onlar decimal istifad蓹 etm蓹yin [I艧itilemez] sistem.
DAVID J Malan: OK.
Bir m蓹nada, bel蓹 ki, onlar bunu bu sistemi istifad蓹.
Ba艧l谋q alt谋nda, h蓹r 艧ey, h蓹qiq蓹t蓹n, ikili edir
ki, 蓹slind蓹, 蓹laq蓹dar var.
Amma h蓹tta sad蓹 deyil daha izahat.
B蓹li.
>> Auditoriya 脺ZV: Onlar yaln谋z 莽ox bit var.
Onlar yaln谋z m眉蓹yy蓹n saxlaya bil蓹rsiniz d蓹r蓹c蓹d蓹, ondal谋k kimi.
>> DAVID J Malan: B蓹li.
Bu, h蓹qiq蓹t蓹n, ona 蓹ld蓹 edir.
Bu komp眉ter 莽谋x谋r ad蓹t蓹n, h蓹mi艧蓹 yaln谋z
m蓹lumat m蓹hdud miqdarda istifad蓹 bir 艧ey t蓹msil etm蓹k.
Sa臒?
B眉t眉n sonra, biz yaln谋z bir sabit var sabit disk m蓹bl蓹臒i.
Biz yaln谋z bir sabit m蓹bl蓹臒 var RAM, v蓹 ya komp眉ter yadda艧.
V蓹 yaln谋z bir varsa bir 艧ey sabit m蓹bl蓹臒i,
艧眉bh蓹siz ki, siz h蓹qiq蓹t蓹n saymaq bilm蓹z daimi v蓹 ya ist蓹diyiniz h蓹r hans谋 bir say谋.
Siz c眉r, var se莽in v蓹 n蓹 眉莽眉nd眉r se莽in
siz d蓹st蓹k olacaq qiym蓹tl蓹ndirir.
>> V蓹 bel蓹, m蓹s蓹l蓹n, bir h蓹ft蓹 v蓹 ya iki bundan 蓹vv蓹l biz ASCII haqq谋nda s枚hb蓹t zaman,
v蓹 biz 8 bit s枚hb蓹t, v蓹 ya bir byte, bel蓹 ki, dan谋艧maq
蓹n b枚y眉k say谋 biz bil蓹r 8 bit il蓹 n蓹 idi etdirir?
255.
V蓹 biz 256 眉mumi d蓹y蓹rl蓹r t蓹msil ed蓹 bil蓹r lakin biz onlardan biri s蓹rf 蓹g蓹r
Yax艧谋 0-, lakin biz 蓹g蓹r 0 onlar谋n biri s蓹rf,
sonra 蓹n b枚y眉k say谋 255, 蓹lb蓹tt蓹, var.
>> Bel蓹 ki, bu ki, 莽谋x谋r bu 莽蓹r莽iv蓹d蓹 d蓹 i艧i.
Biz s枚hb蓹t, son d蓹f蓹 ba艧lad谋 眉z蓹n-point n枚mr蓹l蓹ri, haqq谋nda olan
da, integers f蓹rqli Onlar decimal n枚qt蓹si var ki,
v蓹 眉mid edir蓹m ki, b蓹zi n枚mr蓹l蓹ri bundan sonra, lakin onlar da var.
A komp眉ter yaln谋z ad蓹t蓹n gedir 32 bit, b蓹lk蓹 64 bit istifad蓹 etm蓹k
bir 眉z蓹n point d蓹y蓹r t蓹msil etm蓹k.
Baxmayaraq ki, bel蓹 ki, biz b枚y眉y眉b etdik riyaziyyat 枚yr蓹nm蓹k v蓹 bilm蓹d蓹n
Siz tamamil蓹 ola bil蓹r ki, n枚mr蓹l蓹ri sonsuz sayda
bu k蓹sir, sonra Siz m蓹hdud yadda艧 var.
Siz c眉r, d蓹yirmi var, v蓹 ya se莽in v蓹 se莽diyiniz
n枚mr蓹l蓹ri t蓹msil olacaq.
V蓹 bel蓹 ki, bir m蓹nada, hesab ed蓹 bil蓹r, Bu olan komp眉ter yax谋n
d蓹y蓹ri 1/10 眉莽眉n uy臒unla艧d谋r谋lmas谋 ki, yaln谋z 32 v蓹 ya bel蓹 bit il蓹 蓹ld蓹 ed蓹 bil蓹rsiniz.
V蓹 yaln谋z 1/10 deyil.
>> M蓹s蓹l蓹n, m蓹n bu d蓹yi艧dirm蓹k 蓹g蓹r Biz hesab edirik ki 1/3, daha asand谋r.
Bel蓹 ki, 1 3 b枚l眉n眉r.
M蓹n蓹 fayl谋 ed蓹k.
M蓹n蓹 davam v蓹 derleyece臒iz ed蓹k.
V蓹 m蓹n蓹 yenid蓹n run ed蓹k.
Burada da, g枚r眉n眉r, 1/3 0.3 deyil v蓹 sonra 3-nin sonsuz sayda
sonra.
Siz sonunda bu qeyri-d蓹qiqlik var.
Bel蓹 ki, biz insanlar do臒ru v蓹 n蓹 Siz, 蓹slind蓹, d眉zg眉n 枚yr蓹ndim
lakin biz bumping edirik b蓹zi m蓹hdudiyy蓹tl蓹r qar艧谋.
>> M蓹n fikir n蓹 Bu g眉n ist蓹diyiniz, ba艧layacaq
s蓹mimi, baxaraq Bu faci蓹li n蓹tic蓹l蓹ri
b蓹z蓹n, zaman insanlar olduqca t蓹tbiq etmir
Bu reall谋q bu m蓹hdudiyy蓹tl蓹r 眉莽眉n.
V蓹 biz vignettes bir s谋ra g枚r蓹c蓹ksiniz edir Tarix Kanal
Nec蓹 艧eyi bir g枚z yanl谋艧 getdi.
Bu, t蓹xmin蓹n 8 d蓹qiq蓹 davam edir v蓹 biz bu sonra geri g蓹lm蓹k laz谋md谋r
v蓹 d蓹qiq n蓹z蓹r n蓹 yanl谋艧 getm蓹k bil蓹r.
Biz i艧谋qlar谋 dim bil蓹r
>> [Video playback]
>> -Komp眉ter, Biz b眉t眉n q蓹bul g蓹ldiniz tez-tez sinir bozucu probleml蓹ri ki,
onlara getm蓹k.
Bugs, virus v蓹 proqram t蓹minat谋 glitches ki莽ik qiym蓹tl蓹ri
rahatl谋臒谋 眉莽眉n 枚d蓹y蓹c蓹k.
Lakin y眉ks蓹k texnologiyal谋 v蓹 y眉ks蓹k s眉r蓹tli h蓹rbi v蓹 kosmik proqram proqramlar谋,
ki莽ik problem bil蓹rsiniz f蓹lak蓹t daxil b枚y眉d眉l蓹c蓹k.
4 iyun 1996-c谋 il, aliml蓹r haz谋rlanm谋艧 insans谋z Ariane 5 raket ba艧lamaq 眉莽眉n.
Elmi da艧谋yan peykl蓹r n蓹z蓹rd蓹
d蓹qiq nec蓹 yaratmaq Yer 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 Qvianas谋nda sahilind蓹.
>> -V蓹 30 saniy蓹 daxil u莽u艧, onlar ilk
qeyd bir 艧ey yanl谋艧 gedirdi.
Nozzle d枚ner ki, bir 艧蓹kild蓹 h蓹qiq蓹t蓹n olmamal谋d谋r.
U莽u艧 daxil 40 saniy蓹 蓹traf谋nda, ayd谋n vasit蓹, problem idi
Onlar zaman v蓹 ki q蓹rar onu m蓹hv etm蓹k.
A Range T蓹hl眉k蓹sizlik 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蓹 olmaq.
>> -Bu Q谋z idi Ariane 5 s蓹yah蓹t,
v蓹 onun m蓹hv etdi 莽眉nki bir q眉sur yerl蓹艧dirm蓹k
raket proqram daxil.
On -Bu problem Ariane idi ki, orada
t蓹l蓹b olunan say谋 64 bit, ifad蓹 etm蓹k
v蓹 o 莽evirm蓹k ist蓹yirdi bir 16 bit say谋.
Onlar s谋ra g眉man 莽ox b枚y眉k olacaq he莽 vaxt,
ki, h蓹min r蓹q蓹m 蓹n 64 bit say谋 0-nin 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 olmu艧 yeni texnologiya 莽ox bahal谋 hiss蓹sidir.
Ariane 4 raket 莽ox olmu艧dur proqram u臒urlu q蓹d蓹r
bu da oldu yarad谋lm谋艧d谋r Ariane 5 istifad蓹.
>> -Bu 茝sas problem Ariane idi 5, s眉r蓹tli idi s眉r蓹tli s眉r蓹tl蓹ndirdi.
V蓹 proqram idi ki pay谋na d眉艧眉r.
>> Raket -Bu m蓹hv b枚y眉k bir maliyy蓹 f蓹lak蓹t idi
b眉t眉n 枚t蓹ri bir d蓹qiq蓹 proqram s蓹hv.
Amma bu ilk deyil vaxt data conversion probleml蓹ri
m眉asir raket texnologiyas谋 m眉r蓹kk蓹bl蓹艧dirilir etmi艧dir.
>> Ba艧lamas谋 il蓹 1991-ci il -In Birinci K枚rf蓹z D枚y眉艧眉n眉n,
Patriot raket ox艧ar c眉r ya艧ad谋
say谋 d枚n眉艧眉m problem.
N蓹tic蓹d蓹, 28 n蓹f蓹r, 28 Amerika 蓹sg蓹ri
枚l蓹n v蓹 haqq谋nda edildi 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 s蓹thi-hava sistemi
Raytheon 艧irk蓹ti t蓹r蓹find蓹n istehsal.
>> Patriot kesen -Bu 枚l莽眉s眉, 枚z眉, t蓹xmin蓹n 20 ayaqlar谋 uzun, edir.
V蓹 2000 funt a臒谋rl谋臒谋nda.
V蓹 bu about-- bir d枚y眉艧 ba艧l谋臒谋 ke莽irir M蓹n t蓹xmin蓹n 150 lir蓹 hesab edir蓹m.
V蓹 d枚y眉艧 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 var 4 konteyner ba艧谋na ke莽irilir,
v蓹 yar谋-trailer il蓹 n蓹ql olunur.
>> -Bu Patriot raket 蓹leyhin蓹 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蓹 g眉ll蓹boran etm蓹k.
First Gulf 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 Force idi bir problem q蓹d蓹r,
lakin Army scuds narahat idi.
V蓹 onlar 眉莽眉n c蓹hd Patriot y眉kseltin.
>> D眉艧m蓹n -Intercepting raket Mach be艧 s蓹yah蓹t
kifay蓹t q蓹d蓹r 莽蓹tin olacaq oldu.
Amma Patriot xidm蓹t soxulmu艧 idi,
Ordu bir x蓹b蓹ri olmad谋臒谋n谋 Edil蓹n 陌raq modifikasiyas谋
onlar谋n scuds hit 眉莽眉n t蓹xmin蓹n m眉mk眉n.
>> -N蓹 Oldu, scuds ki g蓹l蓹n idi, qeyri-sabit idi
Onlar wobbling edilmi艧dir.
Bunun s蓹b蓹bi, 眉莽眉n, 陌raql谋lar idi
h蓹yata 600 kilometr almaq 眉莽眉n 300 kilometr m蓹nzilli m蓹rmi,
枚n d枚y眉艧 ba艧l谋臒谋 h蓹yata 莽蓹ki etdi v蓹 ba艧l谋臒谋 y眉ng眉l etdi.
Bel蓹 ki, indi Patriot nin g蓹lm蓹k 眉莽眉n 莽al谋艧谋r谋q Scud, v蓹 莽ox vaxt,
b枚y眉k 蓹ks蓹riyy蓹ti vaxt, yaln谋z Scud u莽maq olard谋.
>> Patriot sistemi operatorlar谋 -Bir , Patriot onun h蓹d蓹f burax谋lm谋艧 h蓹yata
onlar Patriot d枚y眉艧 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谋臒谋 tutdu臒unu.
Gec蓹 Baxmayaraq ki, g枚y, V蓹t蓹np蓹rv蓹rl蓹r ortaya 莽谋xd谋
u臒urla olmaq Dhahran da scuds m蓹hv
he莽 bir s蓹hv ola bil蓹r 枚z f蓹aliyy蓹ti bar蓹d蓹.
Orada Patriot radar sistemi Daxil olan Scud itirib,
v蓹 ba艧lad谋lan he莽 bir proqram q眉sur g枚r蓹.
Bu ilk k蓹艧f 陌srail oldu Art谋q sistem oldu臒unu,
daha 莽ox vaxt uy臒unsuzluq g枚r蓹 蓹laq蓹dar bir saat oldu
sistemin komp眉ter.
>> -Haqq谋nda 2 h蓹ft蓹 蓹vv蓹l Dhahran faci蓹si,
陌sraillil蓹r m蓹lumat M眉dafi蓹 Nazirliyi,
sistem vaxt itirirdi ki, ki, 莽al谋艧an t蓹xmin蓹n 8 saat sonra,
onlar sistem oldu臒unu qeyd xeyli az d蓹qiq olmaq.
M眉dafi蓹 Nazirliyi cavab verdi Patriot batareyalar谋 b眉t眉n izah
sisteml蓹ri t蓹rk etm蓹k Uzun m眉dd蓹t 眉莽眉n.
Onlar uzun m眉dd蓹t idi n蓹 dedi he莽.
8 saat?
10 saat?
1000 saat?
He莽 k蓹s bilirdi.
-Bu Patriot batareya Q谋艧la konu艧lu
Dhahran v蓹 onun flawed daxili at 100 saat 蓹rzind蓹 saat olmu艧dur
Fevral谋n 25-n蓹 ke莽蓹n gec蓹.
>> -Bu Bir d蓹qiqliyi 眉莽眉n vaxt izlenir haqq谋nda 1/10 ikinci edir.
陌ndi ikinci 1/10 var maraql谋 say谋
ola bilm蓹z, 莽眉nki d蓹qiq, ikili dil蓹 g蓹tirdi.
Hans谋 bilm蓹z dem蓹kdir ifad蓹, d蓹qiq,
h蓹r hans谋 bir m眉asir digital komp眉ter.
Bu, inanmaq 莽蓹tindir, lakin n眉mun蓹 kimi istifad蓹.
N枚mr蓹si, 1/3 ed蓹k.
1/3 ifad蓹 edil蓹 bilm蓹z ondal谋k da, d蓹qiq.
1/3 daimi davam 0.333 edir.
Bunu etm蓹k 眉莽眉n he莽 bir yol il蓹 var, ondal谋k m眉tl蓹q d蓹qiqlik.
Ki, eyni c眉r Patriot ba艧 problem.
Art谋q sistemi qa莽d谋, pis vaxt s蓹hv oldu.
>> 茝m蓹liyyat 100 saat sonra, s蓹hv vaxt yaln谋z 1/3 ikinci idi.
Amma hedefleme 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谋 Dhahran da 蓹sg蓹rl蓹r 眉莽眉n.
>> Ba艧 hans谋 bir Scud ba艧lamaq idi erk蓹n x蓹b蓹rdarl谋q peykl蓹r a艧kar,
v蓹 onlar Scud idi ki, yeni onlar谋n 眉mumi istiqam蓹td蓹 g蓹lir.
Bu g蓹l蓹n onlar bilmirdim.
>> -Bu Radar q蓹d蓹r art谋q idi Patriot sisteminin komponenti
tapmaq v蓹 saxlamaq 眉莽眉n, Dhahran m眉dafi蓹 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 proqnozla艧d谋rmaq Bu, y蓹qin ki, olacaq
N枚vb蓹ti d蓹f蓹, radar bir z蓹rb蓹 g枚nd蓹rdi.
Bu 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.
Daxil olan Scud yox radar ekran,
v蓹 saniy蓹 sonra, onu Q谋艧la 莽arpd谋.
Scud 28 艧蓹hid v蓹 son bir ilk K枚rf蓹z m眉harib蓹si zaman谋 at蓹艧 etdi.
Faci蓹li, yenil蓹nmi艧 proqram t蓹minat谋 A艧a臒谋dak谋 g眉n Dhahran g蓹ldi.
proqram q眉sur var idi olmu艧dur sabit, yekun
莽蓹tinlikli bir f蓹sil Patriot raket tarixi.
>> [END playback]
>> DAVID J Malan: Bel蓹 ki, biz bir n蓹z蓹r laz谋md谋r Yaln谋z bir az b蓹zi ox艧ar m蓹hdudiyy蓹tl蓹r.
Lakin ilk, ed蓹k bir ne莽蓹 ke莽id FYI var.
Bu h蓹ft蓹 sonu one-- Bel蓹 ki, orada super b枚lm蓹l蓹r olacaq,
supplant 眉莽眉n n蓹z蓹rd蓹 tutulub ki, m眉nt蓹z蓹m t蓹yin b枚lm蓹l蓹r olan
bel蓹likl蓹 bir h蓹ft蓹 ba艧layacaq.
CS50 veb bir g枚z at谋n o haqq谋nda daha 蓹trafl谋 m蓹lumat 眉莽眉n.
Onlar h蓹m莽inin lent蓹 v蓹 ax谋n ed蓹c蓹k i艧tirak etm蓹k iqtidar谋nda olanlar 眉莽眉n ya艧ay谋r.
Problem 1 set art谋q kurs haqqinda,
v蓹 biz bir n蓹z蓹r laz谋md谋r yaln谋z bir az ki.
V蓹 ofis saat da ke莽iril蓹c蓹k C眉m蓹 ax艧am谋 vasit蓹sil蓹 bu Bazar ert蓹si yer.
>> Bel蓹 ki, bu 蓹n canonical idi proqram谋 son d蓹f蓹 baxd谋.
Bu sad蓹 kimi C yaza bil蓹rsiniz proqram,
v蓹 h蓹tta bir qal谋n iddia bir az var.
Sa臒?
Bir 莽ox var, 莽眉nki bu m眉r蓹kk蓹bliyi zahiri.
Bel蓹 ki, bir s眉r蓹tli n蓹z蓹r salaq n蓹 bu elementl蓹rinin b蓹zi
idi v蓹 sonra t蓹min etm蓹y蓹 莽al谋艧谋r谋q nec蓹 bir ruhi model
proqramlar谋n bu sad蓹 i艧, sonra biz ba艧lamaq laz谋md谋r
daha m眉r蓹kk蓹b 艧eyl蓹r axtar谋r.
Bel蓹 ki, bu x蓹tt burada, indi qeyd sar谋, biz dem蓹k n蓹, son d蓹f蓹,
Bu, bizim 眉莽眉n ki?
Bu xidm蓹t m蓹qs蓹di n蓹dir?
Bu uzaq geri h蓹r k蓹s?
B蓹li.
>> Auditoriya 脺ZV: [i艧itilemez]
DAVID J Malan: Yax艧谋.
Bel蓹 ki, bu imkan谋 verir 蓹mrl蓹ri, v蓹 ya ed蓹k
onlara z蓹ng funksiyalar谋, kims蓹 ba艧qa elan olunur ki, yazd谋
bel蓹 ki, b蓹zi dig蓹r fayl dan谋艧maq.
Bel蓹likl蓹, biz d蓹qiq n蓹 bir h fayl g枚r眉rs眉n眉z n蓹hay蓹t, bir C fayl qar艧谋 deyil.
Amma indi 眉莽眉n, yaln谋z bilirik ki printf, m蓹s蓹l蓹n,
olmu艧dur funksiyalar谋 aras谋nda haradasa, b蓹zi dig蓹r fayl elan
Buludun sabit ba艧qa Biz蓹 printf daxil olmaq v蓹 istifad蓹 etm蓹y蓹 imkan verir
yenid蓹n k蓹艧f olmadan 枚z眉m眉z眉 t蓹k蓹r ki.
Eyni zamanda, 蓹sas.
茝sas, ke莽蓹n h蓹ft蓹 analog n蓹 idi?
B蓹li.
>> Auditoriya 脺ZV: Green bayraq t谋kland谋臒谋nda.
>> DAVID J Malan: B蓹li.
Scratch-nin, ya艧谋l bayraq t谋kland谋臒谋nda.
Bu puzzle par莽a kimi ki, h蓹r 艧eyi ba艧lay谋b.
V蓹 eyni, d眉nya etdi , C bir ne莽蓹 il 蓹vv蓹l q蓹rara ald谋 ki,
v蓹 dig蓹r dill蓹rd蓹 bir d蓹st蓹, Siz bir proqram yazmaq ist蓹yirsinizs蓹,
ilk funksiyas谋 茝sas adl谋 edilm蓹lidir.
V蓹 bu kimi baxmaq var.
Amma biz, geri g蓹lm蓹k laz谋md谋r ba艧qa vaxt, n蓹 眉莽眉n, int,
v蓹, etibars谋z, bu kontekstd蓹 dem蓹kdir.
陌ndi, q谋vr谋m a艧谋rma n枚v bir Not puzzle par莽a forma kimi
ki x蓹tl蓹rinin b蓹zi say谋 kaps眉ller.
V蓹 x蓹tl蓹ri 眉zr蓹 aras谋nda burada, burada bu biridir.
printf onun m蓹qs蓹di bir funksiyas谋 var H蓹yat bir bi莽imlendirilmi艧 string 莽ap edir.
V蓹 bi莽imlendirilmi艧, m蓹n siz蓹 dem蓹k tutucu d蓹y蓹rl蓹r plug bil蓹r,
v蓹 nec蓹 bir 莽ox decimal belirtebilirsiniz bal, ne莽蓹 蓹d蓹d 莽ap
bir bu k蓹sir v蓹 kimi sonra.
V蓹 printf, 蓹lb蓹tt蓹, birini tutur v蓹 ya d蓹lill蓹ri v蓹 ya parametrl蓹ri daha 莽ox,
ba艧qa daha 莽ox sad蓹c蓹, giri艧 kimi tan谋n谋r.
>> Bir 莽ox kimi, Bel蓹 ki, printf funksiyalar谋, giri艧 edir.
V蓹 bu giri艧 蓹hat蓹 edir burada iki parantez t蓹r蓹find蓹n.
V蓹 o daxilind蓹 bir giri艧 var.
Biz adland谋r谋b etdiyiniz kimi, bir simli var, olan simvol yaln谋z bir ard谋c谋ll谋qla deyil,
Bir s枚zl蓹, v蓹 ya bir s枚z, v蓹 ya b眉t枚vl眉kd蓹 kimi in艧a h蓹tta ikiqat quotes aras谋nda.
V蓹 t蓹sir neler var printf davran谋艧, 莽眉nki, 蓹lb蓹tt蓹,
yaln谋z 眉mumi bir 莽ap funksiyas谋 var.
N蓹 bilm蓹k niyy蓹tind蓹 deyil Siz onu dem蓹k halda, 莽ap.
V蓹 sonra, b蓹zi minutiae.
Bu q蓹rib蓹 n蓹 demi艧di r蓹mzl蓹ri ard谋c谋ll谋臒谋?
B蓹li.
>> Tama艧a莽谋 陌stifad蓹莽i: New line.
>> DAVID J Malan: New line.
Bel蓹 ki, yaln谋z hit bilm蓹z, 莽谋x谋r, proqram yaz谋l谋 etdiyiniz zaman, daxil edin.
脺mumiyy蓹tl蓹, compiler almaq 眉莽眉n gedir Siz dem蓹k n蓹 kimi bir az qar谋艧谋q.
茝ksin蓹, siz s枚z眉n var Burada m蓹n蓹 yeni bir x蓹tt verir, deyirl蓹r.
V蓹 bel蓹 / n n蓹 biz 眉mumiyy蓹tl蓹 bir escape xarakter z蓹ng.
Bel蓹 ki, n, yeni x蓹tt 眉莽眉n.
V蓹 compiler bilir ki, / n g枚rd眉y眉 zaman,
Bu, h蓹qiq蓹t蓹n komp眉ter vadar etm蓹lidir, n蓹tic蓹d蓹, v蓹 ya printf, bu halda,
faktiki Yeni 莽ap line vuru艧 kimi, daxil
Klavyenizdeki d眉ym蓹sini bas谋n.
V蓹 n蓹hay蓹t, biz dem蓹k idi sintaksis bu par莽a 眉莽眉n?
Bu n蓹yi t蓹msil edir?
B蓹li.
>> Auditoriya 脺ZV: [i艧itilemez]
>> DAVID J Malan: Bu, yaln谋z var x蓹ttinin sonu.
Bu b蓹yanat谋n sonunda var.
V蓹 biz deyil ki, h蓹yata h蓹r yerd蓹 onlar谋 qoydu.
Biz 蓹lb蓹tt蓹 ki, onlar谋 qoymaq deyil h蓹r x蓹tti ucunda.
M蓹s蓹l蓹n, he莽 biri var ilk line, he莽 x蓹ttind蓹 var
蓹sas il蓹, he莽 biri yoxdur q谋vr谋m a艧谋rma sonra,
lakin g枚rm蓹k v蓹 almaq 眉莽眉n ba艧lamaq laz谋md谋r Bu 莽a臒谋r谋艧谋 harada il蓹 tan谋艧.
V蓹 bir funksiyas谋 sonra dem蓹k olar ki, h蓹mi艧蓹 var b蓹zi f蓹aliyy蓹t, z蓹ng v蓹 ya bir b蓹yanat
ki, h蓹qiq蓹t蓹n q蓹bul edirik.
>> V蓹 x眉susil蓹 d蓹 蓹g蓹r indi bilir蓹m az rahat aras谋nda,
bu axmaq 艧eyl蓹r n枚v Siz t蓹sad眉f蓹n tarp谋lt谋 ba艧a laz谋md谋r ki,
眉z蓹rind蓹 divar qar艧谋 ba艧.
Siz m蓹ntiqi olacaq, 莽眉nki bir problem 蓹min
Bir problem 眉莽眉n h蓹ll etdik set v蓹 yaln谋z l蓹n蓹tl蓹m蓹k 艧ey
t蓹rtib v蓹 ya h蓹tta 莽al谋艧maz.
V蓹 tez-tez, erk蓹n, bu olacaq Bir m枚t蓹riz蓹 burax谋lm谋艧 莽眉nki,
v蓹 ya bir n枚qt蓹li verg眉l qa莽谋rd谋.
V蓹 bel蓹 ki, yaln谋z n蓹z蓹r蓹 艧eyi bu c眉r,
v蓹 il蓹 incidir almaq 眉莽眉n c蓹hd edin onlara 莽ox tez bu 莽眉nki
k枚hn蓹 papaq olur.
Amma bu almaq 眉莽眉n 莽ox asand谋r n蓹tic蓹sind蓹 erk蓹n incidir.
>> Bel蓹 ki, indi, bu nec蓹 bir n蓹z蓹r ed蓹k bu x蓹tt h蓹qiq蓹t蓹n i艧l蓹yir
v蓹 sonra bir az baxmaq daha m眉r蓹kk蓹b bir.
Bel蓹likl蓹, biz burada, 眉z蓹rind蓹 Bu ekranda 莽蓹km蓹k imkan谋.
V蓹 g眉man ed蓹k Bu, m蓹nim komp眉ter ekran
amma, salam proqram yaz谋ram v蓹 m蓹n printf h蓹yata deyil.
Ba艧qas谋, printf h蓹yata ke莽irmi艧dir.
Kim iddia ist蓹yir蓹m , printf h蓹yata var?
Biz bil蓹r, 蓹g蓹r?
B眉t眉n h眉quqlar, ad谋n谋z n蓹dir?
>> T茝L茝B茝 1: [? Copal. ?]
>> DAVID J Malan: Copal q蓹d蓹r g蓹lib.
Q蓹d蓹r g蓹lib.
B眉t眉n h眉quqlar.
Bel蓹likl蓹, biz burada var, b蓹zi ad谋 tags, bu bir az oyun etm蓹k laz谋md谋r ild蓹n.
V蓹 biz printf, siz蓹 z蓹ng ed蓹c蓹k.
V蓹 buraya g蓹lm蓹k ist蓹yirsinizs蓹, n蓹, yaln谋z ekranda t蓹rtib etdik,
Bu, m蓹n蓹 var, sad蓹c蓹 bu var.
>> B眉t眉n h眉quqlar, bel蓹 ki, salam m蓹nim ad谋, printf, o qoymaq ist蓹yirsinizs蓹.
B眉t眉n h眉quqlar.
V蓹 durmaq getm蓹k bil蓹r Komp眉ter ekran
sanki funksiyas谋 var ki, Bu komp眉ter sistemi il蓹 g蓹ldi.
V蓹 h蓹yat sizin m蓹qs蓹di h蓹qiq蓹t蓹n, bir 艧ey 莽ap.
Lakin proqram kimi 莽ox biz Yaln谋z burada, ekranda idi,
biz olacaq h蓹qiq蓹t蓹n b蓹zi giri艧 verir.
>> Bel蓹 ki, m蓹nim giri艧, 蓹g蓹r burada var y蓹qin, n蓹 printf q蓹bul edilir,
c眉r bu kimi onu istehza imkan verir.
M蓹n s枚z眉n yazmaq 眉莽眉n gedir蓹m ka臒谋z par莽as谋, "Salam, d眉nya"
backslash N. V蓹 ayd谋n olmaq n蓹 M蓹n yaln谋z ka臒谋z bu par莽a t蓹rtib etdik
bu kimi g枚r眉n眉r.
M蓹n bu proqram run, v蓹 bu zaman kod sar谋 x蓹tt icra olur,
M蓹n, salam proqram谋 sanki var funksiyaya off b蓹zi giri艧 verilm蓹si edir蓹m
ba艧qas谋n谋n yazd谋.
>> V蓹 蓹g蓹r, sizin barmaq il蓹, h蓹qiq蓹t蓹n bil蓹r, sizin barmaq il蓹,
ekranda 莽蓹km蓹k n蓹 bu t蓹qdim edilmi艧dir,
t蓹siri, n蓹tic蓹d蓹, edir m蓹hz, ekranda g枚rm蓹k.
V蓹 burada bir az k眉nc halda.
V蓹 yax艧谋 ki, biz g枚rm蓹k laz谋md谋r Bu n枚qt蓹d蓹 yeni x蓹tt.
Bu sizin 眉莽眉n d眉zg眉n olard谋 a莽谋q newline c蓹lb etm蓹k.
Amma biz saxlan谋l谋r 蓹g蓹r s枚zl蓹ri yazmaq ekran, onlar a艧a臒谋dak谋 sona 莽ataca臒谋n谋.
>> Bel蓹 ki, 莽ox t蓹艧蓹kk眉r edir蓹m, amma qalmaq Buralarda yaln谋z bir an 眉莽眉n.
Biz indi ba艧qa bir ehtiyac k枚n眉ll眉, biz bil蓹r, 蓹g蓹r,
bu rolu oynamaq laz谋md谋r olacaq of-- Bu orkestr yaln谋z insanlar var
indi.
Nec蓹 OK about--.
Burada.
Q蓹d蓹r g蓹lib.
Sizin ad谋n谋z n蓹dir?
>> STUDENT 2: [? Ivay. ?]
DAVID J Malan: Sorry?
STUDENT 2: [? Ivay. ?]
DAVID J Malan: Ethan q蓹d蓹r g蓹lib.
No?
M蓹n h蓹tta yanl谋艧 almaq idi Siz iki d蓹f蓹 s枚yl蓹di?
Q蓹d蓹r g蓹lib.
Bu burada e艧itm蓹k 莽蓹tindir.
OK.
M蓹n t蓹蓹ss眉f edir蓹m, ad谋n谋z n蓹dir?
>> STUDENT 2: [? Ivay. ?]
>> [? DAVID J Malan: Ivay. ?] OK.
陌ndi, 蓹g蓹r deyil mind, siz GetString olunur.
>> STUDENT 2: OK.
Cool.
DAVID J Malan: Siz ist蓹yirsinizs蓹 Bel蓹 ki, yaln谋z bir an 眉莽眉n burada durmaq,
Bir az n蓹z蓹r salaq daha m眉r蓹kk蓹b proqram ki,
陌ndi kodu 眉莽 x蓹tl蓹ri var.
Bel蓹likl蓹, biz bir var istifad蓹 ed蓹r蓹k, d枚vl蓹tin ad谋 printf; iki, GetString z蓹ng,
bir bir tap艧谋r谋q izl蓹di d蓹yi艧蓹n string s adl谋, v蓹 ya s adl谋;
v蓹 sonra printf, ba艧qa bir z蓹ng, lakin iki giri艧 il蓹 bu d蓹f蓹.
>> Bel蓹 ki, biz art谋q etdik d枚vl蓹t ad谋, daha do臒rusu, biz
art谋q printf z蓹ng edilir.
Bel蓹likl蓹, m蓹n ad谋n谋z谋 d枚vl蓹t, yazmaq 眉莽眉n gedir蓹m.
Bel蓹likl蓹, m蓹n n蓹 gedir蓹m yaln谋z bir anda, printf, 枚t眉rm蓹k,
Bu, kifay蓹t q蓹d蓹r sad蓹c蓹 deyil.
Siz ir蓹li getm蓹k v蓹 bu 莽蓹km蓹k ist蓹yirsinizs蓹 Bel蓹 ki, Ekranda ki, sizin giri艧 indi.
B眉t眉n h眉quqlar.
V蓹 biz indi, simli unutmaq burada kodu 枚z x蓹tti.
Bel蓹 ki, GetString, biz laz谋m h蓹qiq蓹t蓹n, GetString z蓹ng etm蓹k 眉莽眉n.
Bel蓹 ki, h蓹yat sizin m蓹qs蓹di yaln谋z g蓹zm蓹k edir orkestr daxil, siz ola bil蓹r, 蓹g蓹r,
v蓹 kimins蓹 ad谋 almaq.
Amma siz蓹 ver蓹k bir 艧ey qoymaq.
Siz ist蓹yirsinizs蓹, getm蓹k ir蓹li v蓹 bir string almaq,
ki, kimins蓹 ad谋n谋 almaq ka臒谋z par莽as谋, siz ola bil蓹r, 蓹g蓹r.
>> B眉t眉n h眉quqlar.
V蓹 biz yaln谋z bir anda, g枚r蓹c蓹ksiniz Onun ad谋 al谋r谋q.
Eyni zamanda, m蓹n n蓹 gedir蓹m haz谋r, bo艧 par莽a
ka臒谋z, olan, m蓹n gedir蓹m saxlamaq 眉莽眉n n蓹 d蓹y蓹r
GetString m蓹n蓹 qay谋d谋r ki, M蓹n adl谋 simli d蓹yi艧蓹n, s olan.
B眉t眉n h眉quqlar.
Bel蓹 ki, burada n蓹 var?
Nik.
B眉t眉n h眉quqlar.
Bel蓹likl蓹, biz burada Nik ad谋 var.
Bel蓹 ki, bu n蓹 s枚z眉n deyil qaytar谋l谋b
M蓹n蓹, bel蓹 ki, GetString il蓹 dan谋艧maq.
>> M蓹n gedir, indi edir蓹m sol t蓹r蓹find蓹 icra
M蓹n sad蓹c蓹 ifad蓹 ed蓹r蓹k, Bug眉nk眉 m蓹qs蓹dl蓹ri Nik 眉莽眉n kopyalay谋n.
Bel蓹 ki, indi m蓹n bir d蓹yi艧蓹n var adl谋 Nik ad谋 saxlan谋lmas谋, s.
M蓹n art谋q t蓹slim etdik printf, bir 蓹vv蓹lki d蓹lil.
Amma 眉莽眉nc眉 v蓹 son x蓹tt indeksi, M蓹n, h蓹qiq蓹t蓹n, 蓹l printf var
bir az different-- 艧ey "Salam,% s" backslash n.
>> V蓹 bel蓹 ki, son line M蓹n gedir蓹m M蓹n son 艧ey send-- 眉莽眉n
陌ndi yazmaq 眉莽眉n gedir, bu.
Bel蓹 kodu iki x蓹tl蓹ri, v蓹 ya Kodu son x蓹ttin daha do臒rusu,
iki inputs-- 眉莽眉n z蓹ngl蓹r bir, bu, iki, bu.
Bizim printf funksiyas谋 Bel蓹 ki 陌ndi giri艧 kimi bu ed蓹 bil蓹r,
M蓹n蓹 sizin 眉莽眉n ekran sil imkan verir.
茝slind蓹 he莽, siz davam ed蓹 bil蓹r.
Biz-ci ild蓹n, onu t蓹rk ed蓹c蓹yik eyni proqram var.
Biz, hello, L蓹q蓹b g枚rm蓹k laz谋md谋r.
B眉t眉n h眉quqlar.
Bel蓹 ki, bu bir ne莽蓹 idi hoops yaln谋z vasit蓹sil蓹 jump
yazmaq, d枚vl蓹t sizin , hello, L蓹q蓹b ad谋 v蓹.
Ancaq mesaj ke莽蓹n bu sad蓹 fikir, giri艧 ke莽蓹n v蓹 莽谋x谋艧 ald谋臒谋,
biz olacaq model d蓹qiq deyil h蓹tta 蓹n m眉r蓹kk蓹b funksiyalar谋 眉莽眉n.
Bel蓹 ki, h蓹m d蓹 莽ox t蓹艧蓹kk眉r edir蓹m.
Biz bir sevimli stress var sizin 眉莽眉n top.
V蓹 GetString t蓹艧蓹kk眉r edir蓹m eyni v蓹 printf k枚n眉ll眉.
T蓹艧蓹kk眉r edir蓹m.
B眉t眉n h眉quqlar.
Siz d蓹 t蓹艧蓹kk眉r edir蓹m.
>> Bel蓹likl蓹, biz s枚hb蓹t etdik indiy蓹d蓹k, 蓹sas蓹n strings haqq谋nda.
V蓹 bu C, h蓹qiq蓹t蓹n bil蓹r 莽谋x谋r bir ne莽蓹 m眉xt蓹lif data n枚vl蓹ri ba艧a d眉艧眉r眉k.
茝slind蓹, g枚t眉r蓹k Burada bu oldu.
Bel蓹 ki, C, v蓹 dil bir 莽ox, chars adl谋 艧eyi ba艧a d眉艧眉r眉k.
A char 眉mumiyy蓹tl蓹 deyil bir byte, v蓹 ya s蓹kkiz bit.
V蓹 bir xarakter t蓹msil, A h蓹rfi, v蓹 ya kapital kimi
m蓹ktub A, v蓹 ya ki莽ik m蓹ktub A, v蓹 ya bir nida point,
v蓹 ya h蓹r hans谋 xarakter yaz谋n bil蓹r ki, Sizin klaviatura, b蓹z蓹n h蓹tta daha 莽ox.
Biz d蓹 眉z眉b gedirdi g枚rm蓹k 眉莽眉n ba艧 verir.
A float, 眉mumiyy蓹tl蓹, bir 32-bit d蓹y蓹ri, v蓹 ya d枚rd bytes
yenid蓹n, 莽眉nki bir byte s蓹kkiz bit edir.
>> Bel蓹 ki, bir float 眉z蓹n point d蓹y蓹ri, bir bu k蓹sir il蓹 bir 艧ey.
And olsun ki, n蓹 var Film s枚hb蓹t
Onlar 眉z蓹n bar蓹d蓹 dan谋艧ark蓹n haqq谋nda point d蓹y蓹rl蓹ri, bit b蓹zi sabit say谋
bir real say谋 t蓹msil etm蓹k 眉莽眉n istifad蓹 olunur.
Lakin ikiqat adl谋 艧ey var.
Bu, Java m枚vcud Siz APCS q蓹bul etdiyiniz 蓹g蓹r,
v蓹 bir c眉t kimi ad谋 t蓹艧蓹kk眉rl蓹 t蓹klif iki d蓹f蓹 bir float kimi b枚y眉k.
Bu h蓹l蓹 bir real say谋, Bu daha 莽ox bit var
olan, daha d蓹qiq des蓹k v蓹 ya daha n枚mr蓹l蓹ri saxlamaq 眉莽眉n.
int asand谋r.
Biz bu son d蓹f蓹 dan谋艧谋b.
Bu, sad蓹c蓹 bir tam var.
V蓹 眉mumiyy蓹tl蓹, 32 var bit, v蓹 ya d枚rd bytes.
>> Bel蓹 ki, siz varsa, indi g枚r蓹k 32 bits-- v蓹 biz h蓹ft蓹 0 bunu,
varsa he莽 bel蓹 briefly-- 32 bit, b枚y眉k n蓹 var
Bir tam kimi t蓹msil ed蓹 bil蓹r say谋?
Verm蓹k v蓹 ya almaq?
Bu 4 milyard kimi v蓹 biz etdiyiniz yaln谋z var
m眉sb蓹t n枚mr蓹l蓹ri yaln谋z t蓹msil.
32 bit var v蓹 siz ist蓹yirsinizs蓹 el蓹c蓹 d蓹 m蓹nfi n枚mr蓹l蓹ri t蓹msil,
Range mahiyy蓹tc蓹, m蓹nfi 2 milyard m眉sb蓹t 2 milyard.
Amma 眉mumiyy蓹tl蓹, biz ba艧lamaq laz谋md谋r 0 4 milyard q蓹d蓹r getm蓹k.
>> Siz d蓹qiq bilm蓹k laz谋md谋r, lakin yaln谋z m蓹n 蓹g蓹r biz, 蓹slind蓹, bu g枚r蓹 bil蓹rsiniz
Burada bir az kalkulyator a莽maq.
M蓹n 32 2 ed蓹 bil蓹r, v蓹 ki, tam olaraq nec蓹 b枚y眉k var,
ne莽蓹 d蓹y蓹rl蓹r bil蓹rsiniz 32 bit il蓹 t蓹msil edir.
V蓹 t蓹xmin蓹n 4 milyard var.
Bel蓹likl蓹, biz ki say谋 g枚r蓹n davam ed蓹c蓹yik bir ne莽蓹 m眉xt蓹lif yerl蓹rd蓹.
Ancaq art谋q laz谋md谋r, 蓹g蓹r daha n枚mr蓹l蓹ri,
orada 莽谋x谋r bir 艧ey uzun uzun 莽a臒谋r谋b.
V蓹 uzun uzun 眉mumiyy蓹tl蓹 64 bit olan
Bu g眉c眉nd蓹 bir sifari艧 dem蓹kdir bir int daha b枚y眉k.
>> Bel蓹 ki, h蓹tta 蓹n b枚y眉k t蓹l蓹ff眉z ed蓹 bilm蓹z Siz t蓹msil ed蓹 bil蓹r say谋,
lakin bu d蓹r蓹c蓹d蓹 b枚y眉kd眉r.
陌ndi bir k蓹nara, tarix蓹n, bir int 32 bit 蓹g蓹r,
v蓹 uzun uzun 64 bit, nec蓹 b枚y眉k bir uzun deyil, uzun uzun edir?
Siz bir int art谋q hesab edir蓹m ediyorum amma b蓹lk蓹 az uzun daha uzun uzun,
lakin bu, h蓹qiq蓹t蓹n as谋l谋d谋r.
>> V蓹 bel蓹 ki, bir 莽谋x谋r 莽ox frustrations,
M眉蓹yy蓹n sistemi kod yaz谋 il蓹, ki, bu veri n枚vl蓹ri b眉t眉n
蓹vv蓹lc蓹d蓹n m眉蓹yy蓹n d蓹y蓹rl蓹r var.
B蓹z蓹n bu 莽ox bit var.
B蓹z蓹n 莽ox bit var.
Bel蓹likl蓹, siz h蓹qiq蓹t蓹n bilm蓹k laz谋md谋r, b蓹z蓹n, n蓹 hardware
Siz proqram 莽al谋艧an edirik.
T蓹艧蓹kk眉rl蓹, dig蓹r dill蓹rd蓹 v蓹 陌ndi m枚vcud olan dig蓹r m蓹lumatlar n枚vl蓹ri
Siz daha d蓹qiq olmaq 眉莽眉n imkan verir.
Yax艧谋, biz, simli g枚rd眉m v蓹 biz d蓹 bool g枚rd眉m
lakin bu g蓹lm蓹k 莽谋x谋r yaln谋z CS50 kitabxana il蓹.
Bel蓹 ki, h蓹min in艧a deyil C. o 蓹v蓹zin蓹,
adl谋 fayl g蓹lib CS50.h ki, biz n蓹hay蓹t laz谋md谋r
qat geri soymaq.
Amma indi 眉莽眉n, onlar yaln谋z ist蓹yirik 蓹lav蓹 m蓹lumat n枚vl蓹ri.
A bool bir do臒ru v蓹 ya yalan v蓹 var string simvol bir ard谋c谋ll谋qla deyil,
bir s枚z kimi.
陌ndi printf, biz g枚rd眉k var placeholders,% s biridir.
V蓹, indi, ola bil蓹r bu dig蓹r n眉mun蓹l蓹ri, nec蓹 n蓹tic蓹 莽谋xarmaq
Bir tutucu ola bil蓹r m眉xt蓹lif data n枚vl蓹ri 眉莽眉n.
M蓹s蓹l蓹n, bir tahmin almaq 蓹g蓹r istifad蓹 ed蓹r蓹k, bir char 莽ap etm蓹k ist蓹di
printf, tutucu y蓹qin% c.
V蓹 bir 莽ap ist蓹yirsinizs蓹 tutucu,% i il蓹 tam.
% LLD, uzun uzun decimal d蓹y蓹ri lakin uzun uzun ki, x蓹rit蓹l蓹r bel蓹.
脺z蓹n v蓹 sonra% f point d蓹y蓹ri v蓹 ya ikiqat 眉莽眉n,
bel蓹 ki, b蓹z蓹n onlar yenid蓹n istifad蓹 etdiyiniz m眉xt蓹lif kontekstl蓹rd蓹.
Bel蓹likl蓹, biz g枚r眉r眉k v蓹 istifad蓹 ed蓹c蓹yik zamanla o b蓹zi.
Printf v蓹 dig蓹r funksiyalar谋 v蓹 d蓹st蓹k ba艧qalar谋n谋n escape ard谋c谋ll谋臒谋,
v蓹 b蓹z蓹n bu laz谋md谋r.
Bel蓹 ki, backslash n yeni bir x蓹ttidir.
Backslash t, h蓹r k蓹s yoxdur bir z蓹rb蓹 almaq ist蓹yirsiniz?
Tama艧a莽谋 陌stifad蓹莽i: Tab.
DAVID J Malan: Tab.
Siz, h蓹qiq蓹t蓹n, ist蓹yir蓹m 蓹g蓹r , ni艧an谋 deyil 莽ap
f蓹zalarda bir sabit say谋 lakin faktiki tab xarakter, sizin basmay谋n
klaviatura ni艧an谋, 蓹sas, 眉mumiyy蓹tl蓹, Siz, h蓹qiq蓹t蓹n, backslash t yoxdur.
Backslash ikiqat quote, niy蓹 he莽 ki ist蓹yirsiniz?
Sa臒?
Niy蓹 yaln谋z bir yaz谋n bilm蓹z m蓹nim klaviatura ikiqat quote?
Tama艧a莽谋 陌stifad蓹莽i: Ba艧qa, bu, 莽眉nki
Bu son hesab gedir sizin 莽ap [ist蓹yirsiniz? m蓹tn. ?]
>> DAVID J Malan: M蓹hz.
Il蓹 Unutmay谋n, bizim printf n眉mun蓹l蓹ri, zaman biz
girdi printf ke莽蓹n, giri艧 simli sol,
ki, giri艧 sa臒 yaz, 蓹lb蓹tt蓹, ikiqat quote idi.
脰z giri艧 ikiqat varsa ki, ortas谋nda quote,
komp眉ter potensial bil蓹r kimi, qar谋艧谋q almaq,
Bu ikiqat quote yoxdur ortada aid?
Sol biri il蓹 m蓹xsusdur?
Bu do臒ru bir il蓹 m蓹xsusdur?
Bel蓹 ki, siz super bunu etm蓹k ist蓹yirsinizs蓹 ayd谋n, siz ikiqat quote backslash yoxdur,
Bu xilas oldu ki, bel蓹 dan谋艧maq, v蓹 Bu ba艧qa bir 艧ey 眉莽眉n conflated deyil.
V蓹 burada bir ne莽蓹 ba艧qalar谋 var backslash r, bir quotes, 0,
ki, biz d蓹, zamanla g枚r蓹 bil蓹rsiniz.
陌ndi n蓹 funksiyalar谋 haqq谋nda?
>> Biz bel蓹 uzaq ed蓹 bil蓹rsiniz h蓹r蓹k蓹tl蓹ri bel蓹 bu dild蓹, C, yax艧谋, biz g枚rd眉k,
printf, 蓹lb蓹tt蓹, v蓹 b眉t眉n Ekranda dig蓹r,
Burada biz istifad蓹 ed蓹c蓹yik ki, yaln谋z Kursun ilk bir ne莽蓹 h蓹ft蓹,
zaman CS50 kitabxana g蓹lib.
V蓹 onlar, bu, 莽ox asan C, h蓹qiq蓹t蓹n, istifad蓹莽i daxil almaq 眉莽眉n.
Bu C 莽谋x谋r ki, v蓹 s蓹mimi bir ne莽蓹 dild蓹,
bunu boyun bir real a臒r谋 var tez istifad蓹莽i kimi sad蓹 bir 艧ey,
onun giri艧 眉莽眉n klaviatura 眉莽眉n.
V蓹 bel蓹 bu funksiyalar谋 daha asan.
>> V蓹 bu da s蓹hv var 蓹rzind蓹 yoxlan谋lmas谋,
bel蓹 zaman ki, 脟蓹r艧蓹nb蓹 biz d蓹 geri
, yeniden, x蓹b蓹rdarl谋q g枚rd眉m M蓹n 蓹m蓹kda艧l谋q etm蓹yib zaman,
M蓹n bir s枚z 蓹v蓹zin蓹 bir s谋ra tipli?
Biz erk蓹n a臒谋r atletika etdik istifad蓹莽i 蓹m蓹kda艧l谋q 蓹min olun.
Amma bu yaln谋z t蓹lim ki, biz n蓹hay蓹t olacaq diskl蓹r,
v蓹 tez 莽谋xarmaq.
>> Recap Bel蓹 ki, sonra, nin tez n蓹z蓹r salaq,
biz Not da il蓹 n蓹 莽ox kimi C. b蓹zi canonical konstruksiyalar谋n
Bu sort, 眉莽眉n n蓹z蓹rd蓹 tutulmu艧dur ki, bir qas谋r臒a tur olmaq,
ki, yaln谋z bel蓹 bir aray谋艧 var v蓹 ilk 艧eyi g枚rd眉m ki.
Amma sonra biz faktiki kodla艧d谋rma baxmaq laz谋md谋r Bu bloklar b蓹zi istifad蓹.
Bel蓹 ki, 莽ox Not kimi, biz hesabatlar谋 kimi zaman,
C, biz var, g枚zl蓹yin, dem蓹k v蓹 ya printf kimi d蓹 f蓹aliyy蓹t g枚st蓹rir.
>> Biz v蓹ziyy蓹ti ifad蓹 etm蓹k ist蓹yirsinizs蓹, C, bu ruhu, ox艧ar,
ki, puzzle par莽a ki, Not bu kimi baxd谋.
Ancaq 蓹v蓹zin蓹, biz s枚z眉n yaln谋z 蓹g蓹r yaz谋n.
V蓹 sonra, parantez, biz bir 艧蓹rt qoymaq,
ki, v蓹ziyy蓹ti oldu臒u n蓹 biz laz谋md谋r bir boolean ifad蓹, yen蓹 z蓹ng.
V蓹 yen蓹 bu pseudocode sortudur.
V蓹 蓹slind蓹, // 艦蓹rh var.
Bu 枚z眉m 眉莽眉n yaln谋z 陌ngilis dili s枚zl蓹r var.
Amma bu 眉mumi deyil bir, 蓹g蓹r, v蓹ziyy蓹ti strukturu.
Amma biz konkret g枚r蓹c蓹ksiniz yaln谋z bir anda n眉mun蓹l蓹ri.
>> Bir ist蓹yirsinizs蓹 yol iki yol 莽蓹ng蓹l,
莽ox kimi biz bizim k枚n眉ll眉 il蓹 etdi 脟蓹r艧蓹nb蓹, ba艧qa, 蓹g蓹r bir ola bil蓹r.
V蓹 眉莽眉nc眉 etm蓹k ist蓹yirsinizs蓹 v蓹 son v蓹ziyy蓹ti, v蓹 ya default v蓹ziyy蓹t,
Orada yaln谋z bir ba艧qa blok ola bil蓹r.
V蓹 eyni, boolean ifad蓹l蓹ri il蓹, 茝g蓹r siz onlar谋 birlikd蓹 ed蓹 bil蓹rsiniz, v蓹.
V蓹 biz 脟蓹r艧蓹nb蓹 g眉n眉 g枚rd眉m ki, bu bir i艧areti deyil,
a艧a臒谋 s蓹viyy蓹d蓹 s蓹b蓹bl蓹r蓹 g枚r蓹, iki ki, biz n蓹hay蓹t g枚rm蓹k v蓹 oynamaq laz谋md谋r.
艦eyi birlikd蓹 Or-Ing 2 艧aquli bar edir.
AB艦 klaviatura, bu 蓹sas 眉mumiyy蓹tl蓹
Yuxar谋da Shift d眉ym蓹si il蓹 Sizin 蓹sas daxil edin v蓹 ya d眉ym蓹sini qay谋t.
>> Sonra bu 艧eyl蓹r var ki, bir d蓹f蓹 v蓹 ya iki d蓹f蓹, b蓹lk蓹 istifad蓹 ed蓹c蓹yik.
Onlar funksional ekvivalent 蓹g蓹r n蓹 蓹g蓹r bir il蓹 ed蓹 bil蓹rsiniz,
ba艧qa ba艧qa 蓹g蓹r, tikintisi, lakin onlar bir ke莽id adl谋 edirik.
Onlar 莽ox m眉xt蓹lif baxmaq, lakin biz laz谋md谋r Bizim b枚l眉艧d眉r眉lm蓹si kodu b蓹zi g枚rm蓹k,
g蓹l蓹c蓹k problem set, 莽ox g眉man ki, yaln谋z b蓹z蓹n bir g枚z蓹ll蓹艧ir ki,
bir b眉t眉n ifad蓹 yolu 艧蓹rait d蓹st蓹,
q谋vr谋m a艧谋rma bir 莽ox olmadan v蓹 parantez v蓹 abzas bir 莽ox.
Amma onlar biz蓹 he莽 bir daha 莽ox verm蓹k elektrik biz art谋q daha.
陌ndi ilm蓹.
V蓹 bu, biz baxmaq laz谋md谋r daha yava艧 bir az.
Amma sonra, biz bu istifad蓹 etm蓹k ba艧lamaq laz谋md谋r, x眉susil蓹 art谋q tan谋艧 olanlar 眉莽眉n.
Bu halda inan谋lmaz, canonical yoludur gizli 艧蓹kild蓹, C. bir loop yazmaq
>> 陌ndi Not bir loop idi olduqca sad蓹.
Siz 蓹b蓹di, blok var.
Siz, t蓹krar, blok il蓹 var yaln谋z bir say谋 yaz谋n var.
V蓹 眉莽眉n loop, siz , h蓹min ideyalar谋n, h蓹m d蓹 h蓹yata ke莽irilm蓹si
lakin bir az daha texniki var.
Amma s蓹mimi, bu da var nisb蓹t蓹n sad蓹.
Siz sifari艧 bilirik sonra 蓹m蓹liyyatlar, s枚z眉n
yaln谋z d蓹y蓹rl蓹r plug gedir v蓹 n蓹 komp眉ter dem蓹k.
Bel蓹 ki, burada bir misal var.
Bu loop ki, olduqca sad蓹c蓹, bir s谋ra q蓹d蓹r sayar
ba艧qa vasit蓹sil蓹.
V蓹 yaln谋z salan il蓹 Siz olsa bel蓹, bu,
he莽 bir t蓹cr眉b蓹si Bu dil, n蓹 say谋
Bu y蓹qin ki, hesablanmas谋 ba艧lay谋r?
OK, 0.
M蓹n ki, 莽眉nki t蓹xmin edir蓹m bir int v蓹 i var ki, g枚r蓹c蓹ksiniz
olan d蓹yi艧ir.
Bu 0 ba艧lat谋lm谋艧 edir.
>> V蓹 sonra, bu kimi g枚r眉n眉r Biz bir d蓹y蓹r printf ke莽蓹n edirik.
V蓹 蓹slind蓹, m蓹n burada bir az typo etdi.
Amma ki, asanl谋qla m眉蓹yy蓹n edir.
M蓹n蓹 Burada 蓹lav蓹 ed蓹k.
Biz indi printf m枚vc眉ds蓹n ki, tutucu d蓹y蓹r ke莽di.
V蓹 vasit蓹sil蓹 saymaq neler?
Auditoriya: 50.
50.
49.
DAVID J Malan: 49.
Bel蓹 ki, 50 ilk bax谋艧da do臒ru g枚r眉n眉r.
Amma ki, bu 莽谋x谋r, olacaq Biz yoxlan谋lmas谋 saxlamaq bizim 艧蓹rt.
V蓹 biz bir d蓹f蓹 dayand谋rmaq olacaq i art谋q 50-d蓹n azd谋r.
Bel蓹 ki, bu loop, 蓹ksin蓹, olmal谋d谋r bel蓹 uzun i 50-d蓹n az oldu臒u kimi, icra.
Amma bu 50 v蓹 ya 51 olur kimi tezlikl蓹, v蓹 ya pis, avtomatik olaraq dayand谋rmaq laz谋md谋r.
B眉t眉n h眉quqlar.
>> Bel蓹 ki, n蓹 h蓹qiq蓹t蓹n burada olur?
Bel蓹 ki, bu sifari艧 edir bir loop 眉莽眉n 蓹m蓹liyyatlar谋.
One, siz ba艧latma qondarma.
Bu sar谋 qeyd y谋臒谋n kodu ilk icra edilir
v蓹 bu t蓹siri ba艧谋na var 脟蓹r艧蓹nb蓹, y蓹qin ki, t蓹s蓹vv眉r.
Bu d蓹yi艧蓹n i v蓹 adland谋r谋b yarad谋r ki, d蓹yi艧蓹n ma臒azalar d蓹y蓹ri 0.
Bel蓹 ki, i hekay蓹 bu n枚qt蓹d蓹 0 edir.
>> n枚vb蓹ti 艧ey ki, bu tikintisi olur,
v蓹ziyy蓹ti yoxlan谋l谋r olur ki.
Bel蓹likl蓹, m蓹n d蓹rhal yoxlamaq i 50-d蓹n az?
V蓹 蓹lb蓹tt蓹, cavab 陌ndi b蓹li, 艧眉bh蓹siz ki, var.
B蓹li i, 0, 莽眉nki ki, 艧眉bh蓹siz ki, 50-d蓹n az var.
Sonra n蓹 olar, bu ki, kod line edam olur.
V蓹 蓹slind蓹, 蓹g蓹r 莽ox var bu q谋vr谋m a艧谋rma kodu x蓹tl蓹ri,
onlar b眉t眉n bir-bir edam almaq.
>> V蓹 burada t蓹siri var y蓹qin, 莽ap
gedir say谋 i, 0, sonra 1, sonra 2 ola bil蓹r.
Amma niy蓹?
N蓹 art谋r谋laca臒谋n谋 almaq deyil?
Yax艧谋, d枚rd眉nc眉 艧ey ba艧, bu sintaksis ki,
n枚qt蓹li verg眉l sonra edam edilir.
i dey蓹r蓹k bir steno yoldur ++; i d蓹y蓹ri almaq v蓹 ona 1 蓹lav蓹;
v蓹 sonra 蓹traf谋nda n枚vb蓹ti d蓹f蓹 蓹lav蓹 Bu 1; v蓹 蓹traf谋nda n枚vb蓹ti d蓹f蓹,
bu 1 蓹lav蓹 edin.
>> Bel蓹likl蓹, biz davam 蓹g蓹r, n蓹 ba艧 ver蓹c蓹k
n枚vb蓹ti I fikrind蓹 deyil蓹m ki, daha i ba艧lamaq.
M蓹n ba艧lat谋l谋yor saxlan谋l谋r 蓹g蓹r i 0, bu n眉mun蓹
脟眉nki son he莽 vaxt i 0 vurulmu艧 olunacaq.
Amma ba艧 ver蓹nl蓹ri deyil v蓹ziyy蓹ti yoxlan谋lacaq ki,
kod line edam olacaq, i, incremented olunacaq
v蓹ziyy蓹ti yoxlan谋lacaq, code icra ed蓹c蓹k.
V蓹 yen蓹 velosiped saxlan谋l谋r v蓹 yenid蓹n v蓹 yenid蓹n,
i q蓹d蓹r ++ 50 bir d蓹y蓹r truces.
>> v蓹ziyy蓹ti daha sonra deyir 50-d蓹n 50-az?
Cavab, 蓹lb蓹tt蓹, he莽 bir, v蓹 bel蓹 ki, b眉t眉n code icra dayan谋r.
V蓹 ekranda daha kodunu varsa a艧a臒谋, ki, n枚vb蓹ti olur.
Bu q谋vr谋m a艧谋rma h蓹yata pops v蓹 bundan sonra daha 莽ox 莽ap davam edir.
>> Bel蓹 ki, Foxtrot art谋q bir zarafat, ki, b蓹lk蓹 indi anlamaq laz谋md谋r.
O, h蓹mi艧蓹 komik.
Bu chuckles kimi c眉r, s谋zmaq
v蓹 sonra h蓹yata olmamal谋d谋r ox艧ar yumor da laughing olacaq.
Lakin b蓹zi paket var burada pedaqoji da.
Bel蓹 ki, m蓹n 莽谋x谋r ki, sintaksis bir par莽a itkin,
v蓹 ya Foxtrot nin itkin burada sintaksis par莽a.
Biz etdik ki, itkin h蓹r M蓹s蓹l蓹n, indiy蓹 q蓹d蓹r?
Return, bel蓹 ki, var ki, ba艧qa bir 艧ey
biz uzun 蓹vv蓹l geri g蓹lm蓹k laz谋md谋r ki,.
N蓹 itkin, baxmayaraq ki?
B蓹li.
>> Tama艧a莽谋 陌stifad蓹莽i: [I艧itilemez] ba艧latma.
>> DAVID J Malan: OK.
Bel蓹 ki, B蓹li.
Bel蓹 ki, 蓹slind蓹, bu Well is--, v蓹 count ba艧lat谋lm谋艧 olunur
yuxar谋da, daha do臒rusu, yuxar谋da elan etdi.
Bel蓹 ki, bu bunu bir yoldur.
Amma bir x蓹tt baxmayaraq etibarl谋 deyil.
Nec蓹 burada?
>> Auditoriya 脺ZV: Bu q谋vr谋m a艧谋rma deyilmi?
>> DAVID J Malan: B蓹li.
Bel蓹 ki, q谋vr谋m a艧谋rma yoxdur.
Amma bu kodu, m蓹n onlar谋n kredit, dem蓹k, h蓹qiq蓹t蓹n, syntactically etibarl谋d谋r.
Bu 莽谋x谋r, siz deyil q谋vr谋m a艧谋rma laz谋md谋r
Yaln谋z kod bir x蓹tt var ki, 蓹g蓹r Siz loop daxilind蓹 icra etm蓹k ist蓹yir蓹m.
陌ndi biz h蓹mi艧蓹 sinif v蓹 Bizim distribution kodu b眉t眉n,
q谋vr谋m a艧谋rma daxildir h蓹r halda, yaln谋z ayd谋nl谋q xatirin蓹.
Amma d蓹rslikl蓹rd蓹 ki, h蓹yata v蓹 online n眉mun蓹l蓹ri,
Siz 莽ox yax艧谋 buruq ola bil蓹r vaxtsa itkin a艧谋rma.
V蓹, OK n蓹 蓹g蓹r girintili v蓹 n蓹z蓹rd蓹 tutulan var
kod yaln谋z bir x蓹tt deyil, potensial kodu 莽ox x蓹tl蓹ri.
B眉t眉n h眉quqlar.
M蓹s蓹l蓹sin蓹 bel蓹 蓹laq蓹dar qeyri-d蓹qiqlik, da艧q谋n bir m蓹s蓹l蓹dir
m蓹nada ki, eyni, integers onlara m蓹hdudiyy蓹tl蓹r var
yaln谋z point d蓹y蓹rl蓹ri 眉z蓹n kimi?
D眉nyan谋n 眉z蓹n Point d蓹y蓹rl蓹r, biz yaln谋z, bel蓹 ki, d蓹qiq ola bil蓹r
b蓹z蓹n, sonra pis 艧eyl蓹r ola bil蓹r,
v蓹 proqramlar谋 arabas谋 v蓹 s蓹hv ola bil蓹r.
陌ndi h蓹tta integers il蓹, 茝g蓹r problem daxil ed蓹 bil蓹rsiniz.
陌ndi bir tam bir yoxdur decimal point v蓹 ya sonra n枚mr蓹l蓹ri.
Bu ad蓹t蓹n yaln谋z bir t蓹bii say谋 var.
Bel蓹 ki, bir int il蓹 yanl谋艧 n蓹 getm蓹k bil蓹r?
M蓹n int istifad蓹 edir蓹m , yanl谋艧 n蓹 getm蓹k bil蓹r count?
Bir 莽ox sad蓹 g枚r眉n眉r.
B蓹li.
>> Tama艧a莽谋 陌stifad蓹莽i: 茝g蓹r say谋 olur [i艧itilemez]
>> DAVID J Malan: B蓹li.
Siz, bel蓹 ki, y眉ks蓹k saymaq siz蓹 ki, 蓹g蓹r n蓹 ki, h蓹qiq蓹t蓹n, b枚y眉k say谋 ifad蓹 ed蓹 bilm蓹z.
Sa臒?
Bir n枚qt蓹d蓹, siz olacaq s蓹rh蓹dl蓹ri art谋q
32-bit d蓹y蓹ri v蓹 ya 64-bit d蓹y蓹r.
陌ndi yen蓹 nec蓹 蓹min deyil蓹m 64-bit d蓹y蓹r t蓹l蓹ff眉z,
amma 32-bit tam bilirik, ola bil蓹r 蓹n b枚y眉k d蓹y蓹ri,
yaln谋z m眉sb蓹t 蓹g蓹r d蓹y蓹rl蓹r, t蓹xmin蓹n 4 mlrd.
M蓹n 5 milyard saymaq 眉莽眉n c蓹hd edin, bel蓹 ki, bir 艧ey ba艧 ver蓹c蓹k.
Amma 蓹slind蓹, ola bil蓹r n蓹 g枚rm蓹k ed蓹k.
Tam d眉nya da艧q谋n, harada, bir m蓹nada,
Bir potensial谋n谋n da艧q谋n tam, n蓹 ba艧 ver蓹 bil蓹r?
>> Bel蓹 ki, burada bir ikili say谋, Bu 0 throwback var.
Bu, b眉t眉n 1-in v蓹 placeholders var orada 2 s蓹lahiyy蓹tl蓹ri,
bu ikili edir.
Bel蓹 ki, bu ekranda 8, 1 bit var.
V蓹 geri v蓹 ya tez riyaziyyat etm蓹k,
n蓹 d蓹y蓹ri t蓹msil olunur Burada bu s蓹kkiz 1 bit il蓹?
255.
V蓹 kifay蓹t q蓹d蓹r 蓹min deyil, h蓹tta 蓹g蓹r riyaziyyat, siz onu ed蓹 bil蓹r.
V蓹 ya yaln谋z c眉r ola bil蓹r s蓹b蓹bi onun vasit蓹sil蓹,
M蓹n 蓹g蓹r, bir d蓹qiq蓹 g枚zl蓹yin 8 bit 蓹h蓹miyy蓹t k蓹sb ed蓹n,
M蓹n 256 m眉mk眉n d蓹y蓹rl蓹r var, lakin ilk, 0
M蓹n bilir蓹m ki, 蓹n b枚y眉k 255 olacaq
v蓹 bu biri ola bil蓹r n蓹.
>> M蓹n bu d蓹y蓹r 1 蓹lav蓹 etm蓹k 眉莽眉n 莽al谋艧谋r谋q g眉man edirl蓹r.
Siz sinifd蓹 n蓹 ed蓹rdiniz m蓹kt蓹b 1 蓹lav蓹 v蓹 bu zaman
h蓹qiq蓹t蓹n, 莽眉nki uy臒un deyil Siz 1 ke莽irm蓹k?
Ged蓹n bu r蓹q蓹m n蓹dir Siz 1 蓹lav蓹 olmaq 眉莽眉n?
Bu 0 olmaq olacaq.
Sa臒?
Daha 莽ox bits-- idi v蓹 蓹g蓹r, 莽眉nki m蓹n laz谋md谋r c眉r, c蓹hd burada onu yaz谋n
daha 莽ox bit olsa biz 1 蓹lav蓹 burada ed蓹 bil蓹r,
v蓹 sonra biz bu almaq istiyorum.
Whoops.
Biz burada bir 1 az b眉t眉n yol var ediyorum.
>> Amma bu m蓹hdud 蓹g蓹r d蓹y蓹ri, yaln谋z 8 bit var,
ki, pre-m眉蓹yy蓹n var komp眉ter t蓹r蓹find蓹n,
1 s蓹m蓹r蓹li deyil.
Bu, sad蓹c蓹 c眉r bir u莽urum off d眉艧眉r.
V蓹 bel蓹 ki, 255 1 蓹lav蓹, n蓹 Siz y蓹qin d蓹y蓹ri al谋ram?
0.
V蓹 t蓹sad眉f蓹n n枚mr蓹l蓹ri, bel蓹 ki, v蓹 b蓹lk蓹 d蓹, bilm蓹d蓹n,
ox艧ar 蓹traf谋nda wrapping son.
Bel蓹 ki, n蓹 bu dolay谋s谋 ola bil蓹r?
Yax艧谋, bir ne莽蓹 m眉xt蓹lif 艧eyl蓹r var.
Bel蓹 ki, bir, bu axtar谋r ba艧a etmir 0 kimi, bilm蓹d蓹n,
ancaq c眉r g枚r蓹 bil蓹rsiniz h蓹tta real d眉nyada,
yax艧谋 v蓹 ya pis 眉莽眉n, bir limit bu ideyan谋n t蓹zah眉rl蓹ri.
M蓹s蓹l蓹n, siz h蓹r hans谋 kim He莽 Lego Star Wars oynam谋艧d谋r,
h蓹r k蓹s bilm蓹k ba艧 verir pul maksimum say谋
Siz Lego Star Wars toplamaq olar?
茝sas谋nda tahmin edin bu g眉n apar谋c谋 suallar.
Bu 256 v蓹 ya 255-d蓹n 莽ox b枚y眉kd眉r.
Bu 4 milyard var.
Bel蓹 莽谋x谋r v蓹 b蓹zi insanlar var
b蓹zi googling t蓹sdiq son Gec蓹nin 4 milyard q谋z谋l sikk蓹l蓹r kazan谋lm谋艧,
v蓹 ya Lego Star Wars etajer.
Y蓹qin olsa da, var bir yol oyun bezemek,
bir s蓹hv v蓹 ya x眉susiyy蓹t var ki, siz蓹 imkan verir yaln谋z 莽ox v蓹 bal 莽ox hesablan谋r.
Amma 蓹n b枚y眉k m眉mk眉n d蓹y蓹ri g枚r蓹
Kims蓹 I bu ekran shot online a艧kar, h蓹qiq蓹t蓹n 4 mlrd.
>> 陌ndi niy蓹 ki?
Bu, d蓹qiq 4 milyard var y蓹qin ki, kims蓹 q蓹rar, 莽眉nki,
Kim bu oyun yaz谋rd谋m, onlar 4 milyard ed蓹 bil蓹r ki,
bir 艧ey, bir 艧ey, bir 艧ey, d蓹y蓹ri kimi m蓹n qabla艧d谋r谋lm谋艧
kalkulyator il蓹 蓹vv蓹ll蓹r, lakin Bu insanlar 眉莽眉n bir az t蓹miz
maksimum dem蓹k sikk蓹l蓹r v蓹 ya studs,
Onlar siz蓹 ki, Odur z蓹ng kimi toplamaq bil蓹r 4 mlrd.
Bel蓹 ki, bu n蓹?
Nec蓹 LEGO oyun Counter h蓹yata
ki takip saxlan谋lmas谋 siz sikk蓹l蓹r say谋?
Onlar n蓹 istifad蓹 edirik?
Auditoriya 脺ZV: Bu vermir 4 milyard sonra hesablanmas谋.
DAVID J Malan: Bu vermir 4 milyard sonra hesablanmas谋,
siz ed蓹 bil蓹rsiniz dem蓹kdir bir proqram莽谋 kimi, n蓹tic蓹 莽谋xarmaq,
Onlar y蓹qin edirik ki, 32 bit tam istifad蓹 ed蓹r蓹k.
Proqram莽谋 kimi s枚z眉n yaln谋z tipli, int, onun kodu,
ki, d蓹yi艧蓹n n枚v眉 var ki, Onlar kimins蓹 kodu saxlamaq 眉莽眉n istifad蓹 edirik.
Bel蓹 ki, dig蓹r t蓹zah眉rl蓹ri var m蓹hdudiyy蓹tl蓹r bu c眉r.
>> M蓹n bu OYUN Q茝NA茝T ifa deyil v蓹 m蓹n tarixi q蓹d蓹r oxuyurdum
much-- lakin t蓹sdiq etm蓹k Sivilizasiya, orijinal versiyas谋
Siz y蓹qin h蓹r il蓹 qar艧谋l谋ql谋 dig蓹r v蓹 m眉harib蓹 v蓹 ya s眉lh ola bil蓹r,
Gandhi biri olmaq idi 蓹n dinc simvol kimi
ilk, onu ba艧a d眉艧m蓹k Sivilizasiya versiyas谋.
V蓹 蓹slind蓹, 1-d蓹n 10 miqyas谋nda, onun t蓹cav眉zkarl谋q yaln谋z 1 idi.
Bel蓹 ki, he莽 bel蓹 yum艧aq aqressiv, y蓹qin.
>> Amma bir anda, siz y蓹qin ed蓹 bil蓹rsiniz Sizin co臒rafiyada demokratiya b蓹rpa edin.
V蓹 demokratiya y眉klerseniz oyun sizin versiyas谋,
sonra t蓹cav眉z s蓹viyy蓹si enir.
Bu yax艧谋 bir 艧ey deyil.
陌nsanlar daha sakit var y蓹qin ki, v蓹ziyy蓹t.
Amma y蓹qin, kims蓹 etdi bir, 蓹g蓹r v蓹ziyy蓹t deyil
kod orijinal versiyas谋.
>> Bel蓹 ki, Qandinin t蓹cav眉z s蓹viyy蓹si getdi 1 m眉sb蓹t m蓹nfi 2, 1 m蓹nfi,
lakin oyun deyil m蓹nfi n枚mr蓹l蓹ri ba艧a d眉艧眉r眉k.
Bel蓹 ki, n蓹 ba艧 Qandinin t蓹cav眉z etdi level 1 m蓹nfi, 0, 1-d蓹n getdi
t蓹siri olan olan 蓹traf谋nda wrapping
蓹n aqressiv xarakter oyun, 255 bir d蓹y蓹ri il蓹,
10 1 miqyas谋nda.
V蓹 sonra, olub Bu oyun daha 莽ox incarnations,
v蓹 onlar kimi saxlan谋l谋r etdik Pasxa yumurta bir n枚v,
Gandhi y蓹qin ki, bel蓹 olduqca aqressiv.
Amma bir n蓹tic蓹si idi 莽ox sad蓹 proqramla艧d谋rma s蓹hv
Oyun 莽ox erk蓹n versiyas谋.
>> 陌ndi daha disturbingly, daha yax谋nlarda Boeing 787
bir olan kimi s蓹n蓹dl蓹艧dirilmi艧dir cihaz bug deyil, mehriban
Siz x眉susil蓹 bir s蓹hv olsun.
V蓹 simptomlar, m蓹n oxumaq laz谋md谋r Burada online bir m蓹qal蓹,
bu bir model 787 t蓹yyar蓹 idi ki, davaml谋 powered edilmi艧dir
248 g眉n b眉t眉n itir蓹 bil蓹r c蓹r蓹yan, AC,
s蓹b蓹biyl蓹 elektrik, generator n蓹zar蓹t 蓹d蓹d,
GCUs, eyni zamanda Fail-t蓹hl眉k蓹siz rejimi gedir.
Bel蓹 ki, bu verilmi艧 x蓹b蓹rdarl谋q idi Bu problem a艧kar zaman.
Bu v蓹ziyy蓹t s蓹b蓹b olur bir proqram counter il蓹,
, GCUs daxili bel蓹 bir tam v蓹 ya d蓹yi艧蓹n,
248 sonra irad蓹 da艧q谋n davaml谋 g眉c g眉n.
Boeing prosesi bir GCU proqram yenil蓹nm蓹si inki艧af ki,
t蓹hl眉k蓹li v蓹ziyy蓹ti d眉z蓹ltm蓹k olacaq.
>> Raket kimi Bel蓹 ki, 莽ox ssenari, buradak谋
Onlar d蓹yi艧蓹n bir n枚v idi ki, hesablanmas谋, v蓹 hesablanmas谋 oldu
v蓹 hesablama, lakin t蓹dric蓹n co艧臒un onun qabiliyy蓹ti s蓹rh蓹dl蓹ri,
eyni l蓹n蓹tl蓹m蓹k t蓹yyar蓹 etdi d蓹yi艧蓹n da艧q谋n var
莽al谋艧an kifay蓹t q蓹d蓹r vaxt sonra.
V蓹 bel蓹 dil-in-yanaq yol Bu m蓹s蓹l蓹 蓹traf谋nda i艧
H蓹qiq蓹t蓹n, reboot, t蓹yyar蓹 h蓹r edir Yadda艧 m蓹hv olur, bel蓹 ki, 247 g眉n,
v蓹 d蓹yi艧蓹n 0 geri gedir.
Lakin h蓹yata, bu, 莽ox deyil proqram b枚y眉k t蓹c蓹ss眉m,
lakin biz Apple haqq谋nda e艧itm蓹k x眉susil蓹 avtomobil ged蓹n 蓹m蓹liyyat sisteml蓹ri,
v蓹 Google avtomobil 枚z眉n眉 idar蓹 v蓹 proqram incarnations h蓹r hans谋 bir say谋
G眉nd蓹lik h蓹yat谋m谋z谋n, televizorlarda v蓹 saatlar, v蓹 daha 莽ox,
proqram il蓹 蓹hat蓹 olunmu艧dur h蓹yata, olan b眉t眉n us insanlar t蓹r蓹find蓹n yaz谋lm谋艧d谋r.
>> V蓹 biz b眉t眉n tezlikl蓹 tapmaq laz谋md谋r kimi, 莽ox asan v蓹 莽ox tipik var
proqram yazark蓹n s蓹hv etm蓹k.
V蓹 onlar谋 tutmaq yoxsa, b蓹zi pis 艧eyl蓹r ola bil蓹r.
陌ndi b蓹z蓹n, b蓹zi g眉lm蓹li 艧eyl蓹r ola bil蓹r,
v蓹 ya 蓹n az谋 b蓹z蓹n biz bir pisliyi g枚zl蓹m蓹k bilirik.
Bel蓹 ki, 0 sinifd蓹n 0 b枚l眉n眉r m蓹kt蓹b, 眉mumiyy蓹tl蓹 pis bir 艧ey deyil.
Bu undefined var.
V蓹 莽谋x谋r v蓹 蓹g蓹r g枚r蓹k bu se莽蓹 bil蓹rsiniz, m蓹nim mic ki, Apple g眉nd蓹m蓹
bu yax谋nlarda bu b蓹zi 蓹yl蓹nc蓹 var idi.
M蓹n burada bir iPhone var.
M蓹n Siri dan谋艧maq v蓹 onun xahi艧 gedir蓹m M蓹n蓹 0 b枚l眉n眉r 0 cavab verm蓹k 眉莽眉n.
0 0 n蓹 b枚l眉n眉r?
>> SIRI: Siz 0 var T蓹s蓹vv眉r edin ki, cookies, v蓹 b蓹rab蓹r onlara split
0 dostlar谋 aras谋nda.
H蓹r bir 艧蓹xs ne莽蓹 cookies almaq deyil?
Bax?
Bu m蓹nada etmir.
V蓹 Cookie Monster k蓹d蓹rli he莽 bir cookies var ki.
V蓹 bu k蓹d蓹rli Siz he莽 bir dostlar谋 var.
DAVID J Malan: Bu obnoxious n枚v眉 var.
Bel蓹 ki, bu yaln谋z orada bildirib budur.
Bu m眉蓹yy蓹n deyil, qeyri-m眉蓹yy蓹n deyil, H蓹qiq蓹t蓹n, bir 莽ox proqramla艧d谋rma dill蓹ri
v蓹 ya, h蓹qiq蓹t蓹n, derleyiciler olacaq zaman bir proqramda, a艧kar,
0 0 b枚lm蓹k 眉莽眉n c蓹hd edin.
Bu baxmayaraq daha 莽ox 蓹yl蓹nc蓹 edir ki, y蓹qin, Cookie Monster
bu g眉n Twitter edir.
O, bu il蓹, bu cavab, olan tamamil蓹 sitayi艧蓹 layiq deyil.
Amma bir s眉r蓹tli n蓹z蓹r salaq dig蓹r Constructs bir ne莽蓹
v蓹 sonra bu b蓹zi qoymaq code yax艧谋 yollarla, istifad蓹 etm蓹k.
Bel蓹 ki, ba艧qa 莽谋x谋r loops 眉莽眉n var
bir 艧ey ki, bir m眉dd蓹t loop deyil蓹n f蓹rqli g枚r眉n眉r v蓹 h蓹yata ke莽irilir
bir az differently-- v蓹 biz n蓹hay蓹t n眉mun蓹l蓹r g枚r蓹c蓹ksiniz
lakin b蓹zi m蓹nada, Bu, 莽眉nki sad蓹 deyil
Siz ba艧lamaq 眉莽眉n imkan vermir v蓹 loop s蓹rh蓹dl蓹ri daxilind蓹 yenil蓹m蓹.
Siz h蓹l蓹 d蓹 h蓹yata ke莽ir蓹 bil蓹r.
Bel蓹 ki, eyni 艧eyi ed蓹 bil蓹rsiniz Bir m眉dd蓹t loop il蓹 loop 眉莽眉n kimi,
ancaq sintaksis, ultimately-- biz n蓹hay蓹t laz谋md谋r kimi
see-- m眉xt蓹lif olacaq.
Bir do, loop is蓹 da var ki, 蓹slind蓹 bir az f蓹rqli
ki, halbuki 眉莽眉n loop v蓹 h蓹mi艧蓹 bir m眉dd蓹t loop
蓹g蓹r, ilk onlar谋n v蓹ziyy蓹tini yoxlamaq Siz alt bu 艧ey 眉st oxumaq
Bu olacaq kimi bu c眉r g枚r眉n眉r bu son, 莽眉nki bu v蓹ziyy蓹ti yoxlamaq
kod h蓹qiq蓹t蓹n son x蓹tt.
And olsun ki, faydal谋 olacaq biz yazmaq b蓹zi proqramlara,
Siz yaln谋z kor-koran蓹 bir 艧ey etm蓹k ist蓹yirsinizs蓹, v蓹 n蓹tic蓹d蓹 v蓹ziyy蓹ti yoxlamaq.
Ki, m眉tl蓹q pis bir 艧ey deyil.
Biz d蓹yi艧蓹nl蓹r ist蓹yirsinizs蓹, biz n蓹 ed蓹 bil蓹r Bu m眉xt蓹lif yollarla bir ne莽蓹.
V蓹 biz Foxtrot g枚rd眉m cizgi filmi, bunu bir yolu,
burada sizin d蓹yi艧蓹n elan, int counter n枚qt蓹li verg眉l kimi,
v蓹 sonra b蓹lk蓹 n枚vb蓹ti later-- x蓹tti, b蓹lk蓹 10 x蓹tl蓹ri later--
Siz, h蓹qiq蓹t蓹n, onu ba艧lamaq.
Kod Bel蓹 ki, bu 2 x蓹tl蓹ri n枚v眉 int d蓹yi艧蓹n elan
Bu verir bel蓹, 蓹ks z蓹ng M蓹n蓹 kifay蓹t q蓹d蓹r bit bir int ke莽iril蓹c蓹k.
V蓹 sonra n蓹hay蓹t, bu qoyur ki, d蓹yi艧蓹n d蓹y蓹ri 0.
Bu 0 v蓹 1-nin t蓹艧kil model, biz 枚t蓹n h蓹ft蓹 bilirik ki,
biz 0 kimi bilirik say谋n谋 g枚st蓹rir.
V蓹 ya s蓹mimi, bu 莽ox ed蓹 bil蓹rsiniz daha m眉f蓹ss蓹l 艧蓹kild蓹, yaln谋z bu kimi.
>> 陌ndi biz d蓹 var funksiyalar谋 z蓹ng etm蓹k imkan谋.
V蓹 蓹slind蓹, burada 2 line var proqram v蓹 ya onun bir pasaj,
ki, h蓹qiq蓹t蓹n biz蓹 imkan verir ki, b蓹zi kodu yazmaq
user-- bir string olur q蓹d蓹r Bizim k枚n眉ll眉 bir an kimi ago--
n蓹tic蓹 saxlan谋lmas谋 ad谋n谋 d蓹yi艧蓹n,
v蓹 then-- 莽ox bizim k枚n眉ll眉 kimi o d蓹y蓹rl蓹ri h蓹yata printf izl蓹ri il蓹
iki d蓹lill蓹ri ke莽蓹r蓹k, simli, d蓹yi艧蓹n izl蓹di
, ad谋, 枚z眉 莽a臒谋r谋b.
Bel蓹 ki, 蓹vv蓹l, bir n蓹z蓹r ed蓹k biz orada geri Mario g蓹lib
bu indi, n眉mun蓹l蓹ri bir ne莽蓹.
>> M蓹n ir蓹li v蓹 a莽谋q getm蓹k 眉莽眉n gedir蓹m q蓹d蓹r funksiyas谋-0.c, dey蓹k.
V蓹 h蓹mi艧蓹 oldu臒u kimi, bu kodu kurs sayt谋nda m枚vcuddur,
bel蓹 ki, birlikd蓹 oynaya bil蓹r ev v蓹 sonra baxmaq.
Bu Amma burada proqram谋 x蓹tti 17 22 mahiyy蓹ti.
茝sas proqram oldu臒u proqram h蓹mi艧蓹 ba艧lamaq niyy蓹tind蓹dir.
Bu proqram, g枚r眉n眉r, gedir , kolon ad谋n谋z谋 莽ap.
O, GetString z蓹ng ed蓹c蓹k kimi biz k枚n眉ll眉l蓹ri il蓹 etdi.
V蓹 sonra, bu, maraql谋 Bu PrintName z蓹ng ed蓹c蓹k.
Orada, b眉t眉n bu vaxt 莽谋x谋r PrintName adl谋 bir funksiyas谋 kimi g枚r眉n眉r.
Ki, kimins蓹 ad谋n谋 yazd谋ran.
Biz printf istifad蓹 etm蓹k laz谋m deyil yesteryear, PrintName var.
>> Amma ki, yanl谋艧 var PrintName deyil, 莽眉nki
C. People etm蓹di il蓹 g蓹lib 40 v蓹 ya 50 il bundan 蓹vv蓹l icad,
M蓹n 蓹v蓹zin蓹 etdi.
V蓹 蓹slind蓹, m蓹n diyirl蓹yin 蓹g蓹r daha x蓹b蓹rdarl谋q a艧a臒谋
M蓹n 枚z yaza bil蓹rsiniz nec蓹 C. funksiyalar谋 Biz n蓹hay蓹t laz谋md谋r
biz dey蓹r蓹k saxlamaq izah, etibars谋z, bir ne莽蓹 yerl蓹rd蓹,
lakin bu g眉n 眉莽眉n, ed蓹k yaln谋z ad谋 oldu.
>> Line 24-d蓹, siz ist蓹yirsinizs蓹 枚z funksiyas谋n谋 yaratmaq
s枚z眉n yazmaq funksiyas谋 ad谋.
M蓹n PrintName se莽di.
Parantez, siz sonra m眉蓹yy蓹n n蓹 c眉r
giri艧, v蓹 n蓹 q蓹d蓹r siz bu funksiya etm蓹k ist蓹yir蓹m.
Bu halda, m蓹n etm蓹k ist蓹yir蓹m Adl谋 1 d蓹yi艧蓹n, ad谋,
v蓹 o olacaq n枚v眉, simli, bel蓹 ki, gedir
simvol b蓹zi ard谋c谋ll谋qla olmal谋d谋r.
V蓹 sonra, bu proqram Not kimi 莽ox,
x眉susi puzzle ola bil蓹r pieces-- Bu x眉susi davran谋艧 眉莽眉n gedir.
Bu printf z蓹ng ed蓹c蓹k ke莽蓹n, hello, tutucu,
v蓹 sonra plug olacaq n蓹 istifad蓹莽i 莽a臒谋r谋b.
>> Bel蓹 ki, bu bir n眉mun蓹sidir n蓹 komp眉ter alim olard谋
z蓹ng abstraksiya v蓹 ya funksional 蓹dal蓹tli par莽alanma,
saying-- 蓹g蓹r x眉lya yollar谋 Siz bu y眉ks蓹k s蓹viyy蓹d蓹 fikir kimi
M蓹n funksionall谋臒谋 ist蓹yir蓹m ki, Siz tamamil蓹 kimins蓹 ad谋n谋 yazd谋ran
s枚z眉n sonra printf yazmaq v蓹 bil蓹rsiniz ist蓹diyiniz d蓹lill蓹ri ke莽m蓹k,
v蓹 proqram i艧l蓹y蓹c蓹k, Bu 莽蓹r艧蓹nb蓹 ild蓹n var.
Amma 眉z m眉c蓹rr蓹d ba艧laya bil蓹rsiniz bir ad 莽ap anlay谋艧谋.
Siz bir ad ver蓹 bil蓹r, PrintName, v蓹 bu kimi
H蓹ft蓹 0 layering bu fikirdir.
>> Bundan sonra, m蓹n v蓹 bilm蓹k yoxdur v蓹 ya PrintName h蓹yata nec蓹 qay臒谋.
B蓹li b蓹lk蓹, printf istifad蓹 edir kim istifad蓹 edir n蓹 bilir, deyil?
Kim qay臒谋lar谋?
陌ndi burada s枚hb蓹t al谋ram, 蓹v蓹zin蓹 a艧a臒谋 burada.
艦眉bh蓹siz ki, bizim proqramlar谋 almaq kimi daha inki艧af etmi艧 v蓹 inki艧af etmi艧,
veril蓹n at谋r谋q saxlamaq olacaq a艧a臒谋 s蓹viyy蓹d蓹 puzzle 蓹d蓹d m枚vcud.
Biz onlara yazd谋 莽眉nki v蓹 ya ba艧qas谋na bel蓹 etdi
biz sonra onlar谋n 眉st in艧a ed蓹 bil蓹r.
Bu n蓹z蓹r salaq variant, bir f蓹aliyy蓹t g枚st蓹rir.
>> Bel蓹 ki, bu bir az daha 莽ox inki艧af etmi艧, lakin bu 莽谋x谋r
CS50 kitabxana ki, yaln谋z GetInt funksiyas谋 var.
Biz, il 蓹vv蓹l hesab etm蓹yib bir GetPositiveInt funksiyas谋 h蓹yata.
V蓹 bir az annoying var, 莽眉nki Sizl蓹rin bir proqram orada yaz谋l谋
Bir m眉sb蓹t almaq ist蓹yir蓹m istifad蓹莽i tam,
Siz tamamil蓹 GetInt istifad蓹 ed蓹 bil蓹rsiniz.
V蓹 tamamil蓹 il蓹 kontrol ed蓹 bil蓹rsiniz v蓹ziyy蓹ti v蓹 b蓹lk蓹 bir loop
ki, int b枚y眉kd眉r 蓹g蓹r v蓹 0-d蓹n istifad蓹莽i f蓹臒an
o verm蓹s蓹 Bir m眉sb蓹t say谋.
Amma bu in艧a ed蓹k bina, 枚z眉m眉z眉 blok,
x眉susi Scratch par莽a, siz 蓹g蓹r.
M蓹n bir proqram 眉莽眉n gedir蓹m burada n蓹tic蓹d蓹, m蓹n
z蓹ng etm蓹k ist蓹yir蓹m GetPositiveInt v蓹 m蓹n olmaq ist蓹yir蓹m
ki, int n蓹 莽ap ed蓹.
Amma bu indi 眉z Abstrak olunur.
Bu, sad蓹c蓹 y眉ks蓹k s蓹viyy蓹d蓹 verilmi艧dir ki, Bu n蓹 deyir ad谋,
Bu, 莽眉nki g枚z蓹l olan oxumaq 眉莽眉n indi 莽ox asan.
M蓹n qay臒谋 yoxdur, 蓹g蓹r n蓹 alt谋nda var ba艧l谋q, m蓹n蓹 a艧a臒谋 diyirl蓹yin bildirin.
V蓹 bu bir az qorxuducu deyil ilk, x眉susil蓹
Bu Sizin foruma ilk proqram varsa, lakin bir n蓹z蓹r salaq.
>> M蓹n art谋q, etibars谋z, deyir蓹m Bu funksiyalar谋 yerin蓹 莽evrilir, 莽眉nki,
莽ox GetString kimi, bil蓹rsiniz M蓹n蓹 bir d蓹y蓹r qay谋tmaq.
Onlar yaln谋z yoxdur ekran 莽ap,
onlar h蓹qiq蓹t蓹n 蓹l bil蓹r geri m蓹n蓹 bir 艧ey.
V蓹 PrintName 蓹vv蓹l is蓹, M蓹n bir 艧ey geri laz谋m deyildi.
M蓹n yan t蓹siri laz谋m bir 艧ey, ekranda g枚st蓹r蓹n
amma bir insan laz谋m deyil m蓹n蓹 bir 艧ey geri 蓹l.
Burada GetPositiveInt il蓹, GetInt il蓹 kimi,
M蓹n bir 艧ey t蓹qdim etm蓹k ist蓹yir蓹m.
M蓹n, etibars谋z deyil dedi al谋ram line 23, lakin int haqq谋nda,
olan deyir, bu funksiya M蓹n yaz谋ram ki,
GetPositiveInt gedir 莽a臒谋r谋b bir tam deyil, he莽 bir 艧ey m蓹ni geri 蓹l,
etibars谋z deyil.
>> Eyni zamanda, bu he莽 almaq olacaq giri艧, m蓹n c眉r, onu l蓹臒v etdik.
M蓹n GetPositiveInt h蓹r hans谋 ver蓹n deyil蓹m giri艧, m蓹n m蓹n蓹 onun 莽谋x谋艧 verm蓹k ist蓹yir蓹m.
V蓹 sonra n蓹 indi ba艧 verir?
Bel蓹 ki, burada m蓹n bir d蓹yi艧蓹n elan ed蓹 bil蓹rsiniz.
M蓹n loop k蓹narda bunu etdik biz n蓹hay蓹t g枚r眉rs眉n眉z s蓹b蓹bl蓹r蓹 g枚r蓹,
lakin bu, yaln谋z verir M蓹n蓹 32 bit adlanan n,
v蓹 m蓹n pre-m眉蓹yy蓹n etdik Onlara tam saxlamaq 眉莽眉n.
V蓹 burada, tikintisi is蓹 n蓹 ki Bu faydal谋 niy蓹 bu.
S枚z眉n bunu, n 1 az is蓹.
Bel蓹 ki, n蓹 g枚rm蓹k ed蓹k.
M蓹n, xahi艧 edirik 莽ap M蓹n蓹 bir m眉sb蓹t int verir.
M蓹n CS50 istifad蓹 ed蓹r蓹k, bir int almaq f蓹aliyy蓹t v蓹 n saxlan谋l谋r.
>> V蓹 sonra, kodu n蓹 line y蓹qin ki, m蓹ntiqi n枚vb蓹ti edam olur?
Hans谋 line say谋?
B蓹li, bel蓹 31.
Siz var q蓹d蓹r bu bilmir蓹m bildirib v蓹 ya sort onu 莽谋xarmaq edilmi艧dir,
lakin do臒ru.
Bu a艧a臒谋 top gedir v蓹 sonra t蓹krar saxlay谋r.
M蓹n say谋, dem蓹k 莽ap 蓹g蓹r Bel蓹 ki, 1 M蓹nfi 1 m蓹nfi daha n az?
B蓹li.
1 M蓹nfi 1 az deyil.
Bel蓹 ki, n蓹 ba艧 verm蓹lidir?
M蓹n bunu gedir蓹m n az 1 is蓹,
m蓹n geri line 28 getm蓹k 眉莽眉n gedir蓹m.
>> V蓹 h蓹r s媒rada v蓹 bir 艧eyl蓹rdir run bildirin funksiyas谋 1 t蓹rtib etm蓹k,
v蓹 indi funksiyas谋 1 do臒ramaq n枚qt蓹.
M蓹n m蓹nfi 1 yaz谋n 蓹g蓹r, bu m蓹n蓹 b枚yle saxlamaq niyy蓹tind蓹dir
M蓹n h蓹r 莽眉nki 蓹m蓹kda艧l谋q q蓹d蓹r M蓹nim v蓹saitl蓹rin az 1
v蓹 az 1 ed蓹rk蓹n, 蓹g蓹r, M蓹n bunu saxlamaq 眉莽眉n gedir蓹m.
M蓹n n蓹hay蓹t 50 kimi bir s谋ra vers蓹l蓹r, t蓹艧蓹kk眉rl蓹, bu 50 thanks, deyir.
Niy蓹?
N az deyil, 莽眉nki q谋sa m眉dd蓹td蓹 1, m蓹n bu loop vurulmu艧 蓹ld蓹 dayand谋rmaq
v蓹 bu yeni s枚z, bu g眉n, qaytar谋lmas谋, s枚z眉n ki, yoxdur.
Bel蓹 ki, yaln谋z bir olan, h蓹yata etdik m蓹nada, GetString b蓹rab蓹r,
M蓹n geri t蓹hvil al谋ram kim, b蓹zi d蓹y蓹ri m蓹n蓹 istifad蓹 edir.
Bu olmaq 眉莽眉n yoxdur simli, bir int var.
S眉r蓹tli, bel蓹 bir sad蓹 M蓹s蓹l蓹n, biz tezlikl蓹 laz谋md谋r
B蓹zi daha m眉r蓹kk蓹b g枚rm蓹k h蓹l蓹 versiyas谋n谋.
茝slind蓹, bir n蓹z蓹r ed蓹k return.c adlan谋r r蓹q蓹mli bir.
V蓹 bu h蓹qiq蓹t蓹n bir az sad蓹.
Bel蓹 ki, bu proqram谋n m蓹qs蓹di M蓹nd蓹n 眉st眉n tutsa t蓹rtib v蓹 run bildirin,
bel蓹 dot, geri etm蓹k 莽izgi, return-- bildiri艧
proqram sad蓹c蓹 d蓹y蓹r 2 kublar.
Bu, 莽蓹tin, olduqca axmaq var kodu h蓹r hans谋 bir giri艧 deyil,
lakin ba艧qa bir n眉mayi艧 yoxdur M蓹n 枚z眉m眉 yazd谋q f蓹aliyy蓹t g枚st蓹rir.
Bel蓹 ki, burada, m蓹n b蓹yan etdik ki, d蓹yi艧蓹n, n枚v眉 int, x adl谋
2 sayl谋 b蓹rab蓹r, tamamil蓹 蓹sass谋z.
Bu yaln谋z bir t眉kl眉 莽ap edir.
Bu x deyir indi bel蓹 v蓹 Bel蓹 ki, cubing dot dot dot.
V蓹 sehrli line 21 y蓹qin edir.
M蓹n kub adl谋 funksiyas谋 z蓹ng edir蓹m, M蓹n ka臒谋z bir hesabat谋 verilm蓹si al谋ram
yaz谋lm谋艧 say谋 2, v蓹 n蓹 d蓹y蓹ri, riyazi,
M蓹n bu 莽谋xmaq ist蓹yirsiniz?
Yaln谋z bir a臒l谋 ba艧谋nda olma 莽ek kimi?
8.
Sa臒?
I 2 2, geri Cubed ist蓹yir蓹m 3 g眉c, bel蓹 ki, 8 geri.
>> Bel蓹 ki, burada kub h蓹yata ke莽irilir?
B蓹li, bu burada h蓹yata bildiri艧.
V蓹 yaln谋z 蓹vv蓹l kimi, m蓹ntiqi, h蓹tta syntax y蓹qin ki, baxmayaraq ki,
bir 莽ox 眉莽眉n 莽ox yeni, M蓹n bu funksiyas谋 ist蓹yir蓹m
bir hesabat谋 m蓹ni geri 蓹l bu bir int il蓹 ka臒谋z.
Bel蓹likl蓹, m蓹n int var ad谋, 枚zba艧谋na deyil
lakin rahat kub 莽a臒谋r谋b.
bu giri艧, n var ki, bel蓹 ki, tam yaz谋n
M蓹n say谋 ke莽蓹 bil蓹r nec蓹 Ka臒谋z hesabat谋nda 2.
V蓹 sonra C d蓹st蓹kl蓹yir 莽谋x谋r riyaziyyat, bel蓹 ki, d蓹f蓹 X yoxdur
Yaln谋z ulduz istifad蓹 vurma 眉莽眉n.
Bu n d蓹f蓹 n d蓹f蓹 qaytar谋r sad蓹c蓹 bir Cubed d蓹y蓹ri n.
>> Bel蓹likl蓹, biz b眉t眉n bu il蓹 gedir?
Bu m眉tl蓹q bir deyil qas谋r臒a tur, arxay谋n,
ki, super b枚lm蓹l蓹rd蓹 v蓹 problem, 1 set
Siz vasit蓹sil蓹 g蓹zmi艧 olacaq B眉t眉n bu b眉t眉n daha 莽ox.
V蓹 problem 1 d蓹st, biz ke莽id laz谋md谋r Not qrafik d眉nya
bir 艧ey daha command line C. Amma biz ilham 莽蓹km蓹k laz谋md谋r
burada oyun yesteryear, orada olan
C v蓹 standart n蓹艧r istifad蓹 p set Mario piramida h蓹yata olacaq.
V蓹 hacker redaksiyada p set, bel蓹 se莽m蓹k se莽erseniz,
Bir az daha h蓹yata ke莽ir蓹c蓹k iki zirv蓹l蓹ri il蓹 piramida 莽蓹tin.
Siz h蓹m莽inin h蓹yata olacaq alqoritm, bir g枚rm蓹mi艧 alqoritmi.
Bu var 莽谋x谋r b蓹zi maraql谋 m蓹ntiq
prosesi arxas谋nda bir kassir stansiyas谋 莽al谋艧an
v蓹 h蓹qiq蓹t蓹n t蓹hvil kims蓹 geri d蓹yi艧iklik.
Kifay蓹t q蓹d蓹r ki, bir alqoritm var sad蓹 ki, siz h蓹tta bil蓹r
Siz ilk oxumaq zaman daxil蓹n tutmaq pseudocode ki, m蓹n h蓹mi艧蓹 var n蓹 var h蓹yata
M蓹n kims蓹 b蓹zi verilmi艧 etdiyiniz h蓹r hans谋 bir vaxt h蓹yata Siz h蓹mi艧蓹 imkan verir pul back--
say谋 minimuma endirm蓹k ka臒谋z qeydl蓹r v蓹 ya metal sikk蓹l蓹r
geri istifad蓹莽i verilm蓹si edirik ki.
Bu, 蓹lb蓹tt蓹, 莽ekici Siz CVS v蓹 ya etajer getm蓹k 蓹g蓹r, 莽眉nki,
Siz 蓹lli olmaq ist蓹mir蓹m is蓹 b眉t眉n d蓹st蓹
v蓹 ya pennies b眉t眉n d蓹st蓹.
Siz az ist蓹yir蓹m pul, y蓹qin ki, m眉mk眉n.
>> N蓹hay蓹t, siz d蓹 etiraz olacaq su d眉nyada dabble
v蓹 h蓹qiq蓹t蓹n t蓹艧蓹kk眉r almaq ax谋n谋 d蓹r蓹c蓹l蓹ri aras谋nda X蓹rit蓹莽蓹km蓹 眉莽眉n,
bir du艧, su kimi, yaln谋z n蓹 q蓹d蓹r su istifad蓹 olunur.
V蓹 orada i艧ar蓹, Burada bu clip olacaq,
biz d蓹 ba艧a laz谋md谋r ki, yaln谋z 60 saniy蓹 ki,
bir 艧蓹kil boyalar a艧a臒谋 ax谋n谋 du艧 r蓹hb蓹rl蓹ri.
>> [Video playback]
-B眉t眉n H眉ququ.
Burada h蓹r 艧ey var.
M蓹n Cyclone F Series var Hydra, Jetflow, Stockholm
Supersteam, siz bu ad谋.
>> -V蓹 N蓹 t枚vsiy蓹 edirsiniz?
>> -Ne Arad谋臒谋n谋z?
>> -Power Man.
Power.
-Kimi Silkwood.
-Bu Radiasiya 眉莽眉n.
-Bu Do臒ru.
Bu n蓹dir -陌ndi?
-Bu Commando 450 var.
M蓹n bir satm谋r谋q.
>> -Amma Biz ist蓹diyiniz n蓹 deyil.
Bu komando 450 var.
>> -No Inan谋n.
Bu, yaln谋z sirk istifad蓹 olunur.
Bu filler 眉莽眉n.
>> Bir 艧ey 枚d蓹m蓹k b蓹simdi.
>> Jerry haqq谋nda hans谋?
>> O ki, idar蓹 ed蓹 bilm蓹di.
O inc蓹 var.
B蓹li Oh.
[END playback]
DAVID J Malan: B眉t眉n h眉ququ.
Bu CS50 蓹g蓹r var.
Biz g蓹l蓹n h蓹ft蓹 g枚r蓹c蓹ksiniz.
>> HOPARL脰R 1: [? Scully?], [? Ian?] q蓹d蓹r bu yere layih蓹si kimi,
u艧aqlar n蓹 il蓹 g蓹lmi艧蓹m?
>> HOPARL脰R 2: B蓹li, biz t蓹qdim etdik Bu fikir bir s谋ra,
v蓹 biz 蓹n yax艧谋 yolu hesab edir蓹m ki, to--
>> HOPARL脰R 3: M蓹n May?
>> HOPARL脰R 2: B蓹li.
B眉t眉n vasit蓹l蓹rl蓹, h蓹qiq蓹t蓹n.
>> HOPARL脰R 3: M蓹n hesab edir蓹m ki, Biz fikir yekunla艧d谋rmaq olar
bir word-- he莽 n蓹 il蓹 Di臒er 眉莽眉n.
>> DAVID J Malan: He莽 bir 艧ey?
HOPARL脰R 3: He莽 bir 艧ey.
DAVID J MALAN: Bu n蓹 dem蓹kdir?
HOPARL脰R 3: Di臒er he莽 bir 艧ey haqq谋nda.
HOPARL脰R 2: B蓹li, m蓹n dem蓹k, f蓹ls蓹f蓹, M蓹n dem蓹k, he莽 bir 艧ey h蓹mi艧蓹 bir 艧eydir.
HOPARL脰R 1: Bel蓹 what's-- premise var?
HOPARL脰R 3: Bel蓹 ki, h蓹yat kimi.
OK.
Bu g眉n n蓹 idi?
>> DAVID J MALAN: M蓹n qalx谋b idi s蓹h蓹r yem蓹yi, v蓹 i艧l蓹m蓹k 眉莽眉n g蓹ldi.
>> HOPARL脰R 3: Bu bir yere var.
HOPARL脰R 2: M蓹n dem蓹k Lakin, olmamal谋d谋r bir 艧ey the-- ona ba艧
HOPARL脰R 3: Yox, yox, yox, yox.
He莽 bir 艧ey ba艧 verir.
>> HOPARL脰R 1: Bel蓹 ki, niy蓹 biz izl蓹yir?
>> HOPARL脰R 3: 脟眉nki Bu CS50 眉莽眉n yere var.
>> DAVID J Malan: Not yet.