[Daqq tal-mużika] JASON Hirschhorn: OK, kulħadd. Merħba għas-Sezzjoni. Dan huwa CS50, ħafna tagħna ewwel taqsima super. As you know kollha, ġimgħa d-dieħla sezzjonijiet regolari se tibda, iżda din il-ġimgħa aħna qed kollha flimkien. Hemm myself. Jisimni Jason. Jien lecturer fil-Computer Science. Għandna Andi, li hija l-kap TA tat CS50. U Scaz, Professur Brian Scassellati, hu professur fil-Computer Science. Aħna l-CS50 kapijiet fil Yale. Inti tista 'dejjem email us heads@cs50.yale.edu. Aħna se jkun fil lectures. Aħna ser tkun fil-ħinijiet tal-uffiċċju. Jekk hemm qatt xi ħaġa li nistgħu jagħmel għalik, xejn għandek bżonn, tħossok liberu li jilħqu lilna. Allura dak li aħna se jagħmlu llum? Jew qabel dakinhar, x'hemm ġejjin up din il-ġimgħa? Allura ħinijiet tal-uffiċċju huma Tnejn, it-Tlieta, L-Erbgħa, il-Ħamis u, 8:00-11:00. Hemm skeda fuq il-websajt. Sezzjonijiet, bħal semmejt, qed jibdew il-ġimgħa d-dieħla. U inti ser issib din il-ġimgħa dak żmien l taqsima tiegħek, f'liema ġurnata huwa, u li AT tiegħek. Problema Set 1 huwa dovut fil nhar ta 'Ħamis nofsinhar, il-Ġimgħa f'nofsinhar bil-ġurnata tard. Iva, inti għandek disat ijiem tard. U hemm disa 'settijiet problema. U jistgħu jużaw waħda biss ġurnata tard kull sett problema. Iva, fil-fatt, kollha problema settijiet huma dovuti il-ġimgħa f'nofsinhar. Li hija kollha. Dak kollu li dettalji huma fuq il-sillabu. Kull Ġimgħa, għandna ikliet. Aħna nixtiequ li tagħmel dan kbar kors tħoss daqsxejn iżgħar. Allura inti qed jilqgħu biex RSVP. Ikla b'xejn ma 'sħabi klassi u l-persunal. cs50.yale.edu/rsvp. Kollha ta 'dawn l-affarijiet li I jkollhom fuq l-iskrin, u aktar, inti tista 'ssib cs50.yale.edu jew cs50.harvard.edu, jekk inti tmur biex Harvard u qed jaraw dan online. Wkoll fuq dawn il-websajts, hemm ton ta 'riżorsi għalik. Kull lecture mhux biss għandha l-video tal-lecture, iżda jinnota wkoll. Xi ħadd se tara l- lecture u jieħdu noti għalik. Allura inti tista 'sempliċiment iħallsu attenzjoni waqt lectures, jew tista 'tuża noti tagħhom / tagħna jinnota li jissupplimentaw noti tiegħek stess. Hemm slides online. Is-sors code-- kollox David tmur fuq fil lecture, jew Scaz tmur fuq lecture, li kodiċi ta 'sors disponibbli online kif ukoll, kif bħal I, videos imsemmi. Sezzjonijiet, bl-istess mod, kollha se jkunu iffilmjati. Kollha ta 'dawk slajds se jkunu disponibbli. Kollha ta 'dan il-kodiċi se jkun disponibbli għalik. Hemm xorts fuq il-websajt fejn Membri tal-persunal CS50 jonfqu ħames sa 10 minuti għaddejjin suġġetti għalik. Xi wħud minn dawk inti stajt diġà jiltaqgħu magħhom f'settijiet problema. Ħinijiet tal-uffiċċju, kif semmejt, Tnejn permezz Ħamis, 8:00 għal 11:00. Studju CS50 huwa riżorsa meraviljuż. Hemm problemi prattika, slides kampjun, bugs magħrufa li l-istudenti simili li jinżel fit- għal essenzjalment kull suġġett aħna se tkopri f'dan il-kors. U fl-aħħarnett, fuq dan slide għall-inqas, Reference50 li tagħtik informazzjoni fuq il-funzjonijiet kollha C inti tista 'qatt possibilment tama biex jintużaw u ħafna, ħafna aktar. Għal darb'oħra, li dot dot dot fil il-qiegħ tal-iskrin huwa li jindika li hemm anke aktar riżorsi fuq dawn iż-żewġ websajts: cs50.yale.edu, cs50.harvard.edu. Allura, dak li qed nagħmlu llum? Ukoll, qabel jien ser jagħti inti tħares lejn ir-riżorsi. Diġà għamlet dan wieħed. Ħares lejn us. Issa, aħna qed tmur biex jmorru fuq tipi ta 'data u operaturi C. Imbagħad Andi se toħroġ hawn u jmorru fuq libreriji fl C, printf (), funzjoni li magħhom inti diġà familjari jew se jsiru malajr ħafna familjari. U tkun taf ukoll tmur fuq conditionals u loops. U mbagħad finalment, Scaz se jmorru fuq il-ID CS50. Jekk int ma dove fil diġà Problem Set 1, kif ukoll kif tuża l- terminali u utli kmandi u mbagħad jagħtuk xi demos u prattika kodifikazzjoni fil-ID CS50. Qabel I Mur fil għal dan kontenut fuq din in-naħa, ma xi ħadd xi mistoqsijiet s'issa? Great. KOLLOX SEW. Nibdlu gerijiet. [JINBIDLU APPARAT] Dan kien me ċaqliq gearijiet karozza manwali. Allura tipi ta 'data fis-C, inti tista' mhux biss għandhom varjabbli x u li hija tkun fuq il-linja 10, integer, forsi in-numru 1, fuq il-linja 20, numru deċimali 10.5, u linji imbagħad koppja wara string, I imħabba CS50. Fil C, varjabbli tista 'tkun biss ħaġa waħda, u ħaġa waħda biss. U hekk ikollok biex jagħtuhom tipi. U fuq dan il-bord, aħna jkollhom lista ta 'tipi. Hemm Chars, li toqgħod għal karattri. Allura dak ittra waħda A, B, C, D. Dan jista 'jkun ukoll spazju, jew li jistgħu wkoll ikunu karattru linja ġdida. Hemm interi, li huma biss numri, numbers-- sħaħ jew interi rather-- iżda mhux deċimali. Għal deċimali, għandna f'wiċċ l-ilma punt numri. Floating punt numri huma numri bil deċimali. Imbagħad hemm twal, li huma interi essenzjalment itwal. Int ser ikollok avviż li fit huwa ta '8 billi int huwa 4. I ser jiksbu għal dak fit-tieni. Dak għax twal jista 'jaħżen saħansitra interi aktar minn int jista 'jaħżen. Double huwa float twil. U fl-aħħarnett, aħna għandna spag, li huwa tip li probabilment ikollok użati qabel. Jekk inti jinkludu hashtag # includeCS50.h fil-fajl sors tiegħek, allura inti tista 'tuża tip string. Mhuwiex effettivament mibnija fis C. Hemm koppja tipi oħrajn ukoll. Iżda dawn huma dawk prinċipali mal li int ser tuża u jiltaqgħu. C kif, għal darb'oħra semmejt, kull variable-- dan tista 'tkun biss tip wieħed u tip wieħed biss. Dan għaliex C hija statikament lingwa ttajpjata, għall-kuntrarju għal-lingwi dinamiku ittajpjat fejn jekk inti toħloq varjabbli tista 'tbiddel x'hemm maħżuna bħala inti tmur fuq fil-programm tiegħek. Minn hawn fuq il-lemin naħa, għandi l daqsijiet differenti ta 'dawn it-tipi ta' data fil bytes. Allura karattru huwa 1 byte. C'est 8 bits. U dan ifisser minħabba 8 bits hemm tmien 0s u 1s. Rajna dawk demos fl-ewwel ġimgħa ma 'dak basal binarja. Bil 8 bits jew 1 byte, nistgħu jirrappreżentaw numri 0-255. Dritt. Jekk bits kollha 8 huma 0 thats 0. Jekk l-ewwel ftit huwa 1, dak l-għadd waħda, u l-bqija, it-triq kollha sa 255. U hu għalhekk li għall-karattri inti tista għandhom essenzjalment sa 255 minnhom, iżda li ħafna biex ikopru l l-karattri għandna bżonn l-użu. Għal interi, inti jista 'jkollhom 0 u imbagħad inti għandek 2 għall-32 minus 1. Dawk huma kif ħafna għażliet għandek għall-interi. Għal twil, inti għandek 0 2 għall-64 minus 1. Allura inti għandek ħafna, ħafna, aktar għażliet għall twal. Kordi, li l-kwistjoni mark għaliex li l-cliffhanger għal aktar tard. Yeah. I setax jgħid kulħadd fuq it-tarf tas-sedil tagħhom, bħal dak li kwistjoni mark? Huwa cliffhanger. Aħna eventwalment se jkopri d-daqs tal kordi u jitkellmu aktar dwar kordi. Minħabba string huwa attwalment wieħed mill-roti ta 'taħriġ nitfgħu fuq f'dan Naturalment fil-bidu u mbagħad tluq aktar tard fuq, minħabba kordi fis-C huma attwalment pointers li arrays karattru. Iżda għal darb'oħra, li l- cliffhanger għal aktar tard. Qabel I jimxu fuq xi mistoqsijiet, kummenti, tħassib dwar din slide? KOLLOX SEW. I trid tkun spjegatur meraviljuż. Ukoll meta inti qed programmazzjoni, int ser tuża dawn l-operaturi. Sinjali verament sempliċi li tista 'tagħmel sempliċi operazzjonijiet, li magħhom int probabilment diġà familjari ħafna. Per eżempju, fuq il-lemin naħa tal-lemin, naraw żid. Biex iżżid, inti biss tagħmel sinjal Plus. U għalhekk inti jista 'jkollok żewġ varjabbli xuy. Tista 'tagħmel x + y fil-kodiċi tiegħek. Forsi inti tixtieq to-- tgħidli int jkollhom in-numru 7 u 3, inti tixtieq li taħżen li fil-varjabbli imsejjaħ somma. Tista 'tagħmel int għat-tip, l-ispazju somma, l-isem tal-varjabbli, = 7 + 3; Xi jkun li jaħżen fil somma? Kulħadd? Jekk kelli fil somma = 7 + 3. Dak li jkun maħżun fil somma? Tista 'biss shout out. UDJENZA: 10. JASON Hirschhorn: 10! Dan huwa eżattament id-dritt. What about fil somma = 7-3, I biss użu dan is-sinjal sing. X'inhu għaddej li jiġu maħżuna? UDJENZA: 4. JASON Hirschhorn: 4. Somma huwa probabbilment l-isem ħażin għall dak il-varjabbli, imma 4 tkun maħżuna. Li jimmultiplikaw fis-C, uża l-ftit Karattru Star, inti ma tuża x. Li jaqsam, uża Forward Slash mhux is-simbolu diviżjoni. U biex modulo, jintuża s-simbolu Perċentwali. Mela ejja ngħidu Irrid nara int z = 7% 3, dak li jkun maħżun fil z? Allura, dan huwa essenzjalment tistaqsi liema ma modulo do? Ħadd ma jaf liema modulo ma? Yeah. y 4. SPEAKER 1: Hu l-bqija. JASON Hirschhorn: Huwa l- bqija meta inti jaqsmu. Allura 7 diviż bl 3 hija ta '2 kumplament 1. Allura 1 tkun maħżuna. Inti ma tnaqqis, imma li kif taħdem. Dak hu l-operatur modulo ma. Huwa jieħu numru jaqsam lilha mill numru ieħor u prospetti lilek il-bqija. Għalhekk għal darb'oħra, 7% 3 tagħtik 1, minħabba 7 diviża bi 3 huwa 2 kumplament 1, u jirritorna l-bqija. What about ejja mmorru lura up pass wieħed biex dan is-sinjal diviżjoni. Jekk jien ma 7 / diviż bil 3 ma xi ħadd jaf liema dan se jerġa 'lura? SPEAKER 2: 2. JASON Hirschhorn: Għaliex 2 u mhux 2.333? SPEAKER 2: Naħseb li qatgħat off wara n-numru sħiħ. JASON Hirschhorn: So dan huwa eżattament id-dritt. Fil C, jekk inti tagħmel diviżjoni ta ' żewġ numri interi 7 diviż bi 3, jiġrilha-risposta li f'dan il-każ 2.3333 għal dejjem u issib li punt deċimali u Chops kollox off wara l-deċimali u jirritorna inti 2. Mela jekk jien għamilt 8 diviż bil 3. Li attwalment, nafu li jirritornaw 2.666, iżda Chops kollox off l-deċimali, taqta 'dan kollu, u jirritorna lilek 2. Allura 6 diviż bil 3, 7 maqsuma bi 3, 8 diviża bi 3, huma kollha ser jirritornaw lilek 2. Ħadd ma jaf, jew ikollhom raden, kif I jistgħu attwalment jiksbu ir-risposta sħiħa jekk irrid li deċimali? Yeah. Jimxi 'l quddiem. SPEAKER 3: Uża float? JASON Hirschhorn: X'tifhem? SPEAKER 3: Għaliex inti qal li l- float huwa għal numri [inaudible] JASON Hirschhorn: Dritt. Allura, dan huwa eżattament id-dritt. 7 huwa integer. Imma jekk jien ridt li tibdel din f'numru b'punt li jvarja, I jkollhom jaħżnu dik kif 7.0 minħabba li l-kompjuter huwa verament stupid-- rajna li mal-PB u J example-- se biss tagħmel eżattament dak li tgħid dan. Mela jekk inti tikteb 7, it jaħsbu li l integer. Jekk inti tikteb 7.0, anke jekk aħna taf dawk l-affarijiet huma ekwivalenti, tittratta li bħal punt numru f'wiċċ l-ilma. Mela jekk inti ma 7.0 maqsuma bi 3, jew diviż 3.0, dan ngħid, OK, issa aħna qed jittrattaw ma 'flowts. I se terġa 'lura lilek 2.333333 għal dejjem. Iżda mhux verament dejjem, għax kif rajna wkoll lecture, dawn in-numri punt f'wiċċ l-ilma mhumiex eżattament preċiżi. Mela jekk inti tagħmel tixtieq li deċimali, jew parti ta 'dak deċimali, imbagħad inti għandek use-- waħda minnhom għandu jkun hemm numru b'punt li jvarja u l-kompjuter irid jifhem li dan huwa punt floating int jittrattaw, mhux numru sħiħ. Kwalunkwe mistoqsijiet dwar dik it-tabella fuq il-lemin, s'issa? Jew in-naħa tiegħek naħa tax-xellug, tiegħek xellug, in-naħa tiegħek xellug. Yeah. SPEAKER 4: Dritt. Għal bħad regolari interi, inti write-- kieku inti għandek tikteb float? JASON Hirschhorn: Yeah hekk. Ukoll, jekk inti tixtieq li toħloq varjabbli li l-float, ikollok bżonn li jgħidu float z ugwali xi ħaġa. SPEAKER 4: OK. JASON Hirschhorn: Imma jekk jien ridt li do 7 diviż bil 3 u nikseb li deċimali, Jien kont nagħmel float z = 7.0 / bi 3.0; u li jagħti lili l-b'punt li jvarja Numru. SPEAKER 4: OK. JASON Hirschhorn: Jekk I ma xi ħaġa bħal int z = 7 / bi 3, li jagħti me numru sħiħ, għaliex dawn huma kollha interi. Does li jagħmel sens? SPEAKER 4: Iva. JASON Hirschhorn: OK. Great. Kwalunkwe mistoqsijiet oħra dwar dik it-tabella? Really? Jien hekk eċċitati. KOLLOX SEW. Allura xi affarijiet oħra li inti ser tuża, oftentimes f'kundizzjonijiet jew linji, huma dawn it-tipi ta 'operators-- dawn it-tipi ta 'espressjonijiet Boolean. U kif aħna tgħallimna, == huwa dak li inti jużaw biex jiċċekkjaw jekk żewġ affarijiet huma ugwali. So here I am verifika jekk y x ==, ejja għal darb'oħra jassumi li x hija ta '7 u y hija ta' 3. Mela jekk jien kiteb 7 == 3, dak kieku ritorn lejn lili? Hija li vera jew falza? UDJENZA: False. JASON Hirschhorn: OK. Inħoss bħal kulħadd jistgħu jiksbu dan wieħed. Allura kulħadd, dak li dak tirritorna? UDJENZA: False. JASON Hirschhorn: False. Great. 7 ma tkunx daqs 3. Allura 7 == 3 se jerġa 'lura falza. Inti għandek sinjal mhux ugwali, hekk jekk I ċċekkjati 7! = 3, dak li dak tirritorna? UDJENZA: True. JASON Hirschhorn: True. Eċċellenti. Xi ħadd kien enfatiku ħafna fil id-dahar u japprezzaw dak. Imbagħad għandek inqas minn operatur, inqas minn jew ugwali għal operatur, akbar minn operatur, akbar minn jew ugwali għal operatur. Allura wieħed aktar kontroll sanità. Jekk kelli 7 huwa akbar minn jew daqs 3. X'għandu li tirritorna? UDJENZA: True. JASON Hirschhorn: True. Iva. Dik il-kamra lura, ġenb ta 'wara tal-kamra, meraviljuż. Inti tista 'tgħaqqad dawn espressjonijiet jekk tixtieq, kif ukoll, bil-loġika u li hija && Jew loġika jew li jkun || ||. U hekk issa inti tista 'test tnejn affarijiet together-- Hija li umoristiċi? Għaliex huwa li umoristiċi? Mela jekk jien ridt, nista 'ngħid huwa 7 akbar minn 3 U 2 ikun anqas minn 4? Ukoll, jekk 7 huwa akbar minn 3, dan huwa veru. 2 ikun anqas minn 4, dan huwa veru. Allura dan ħaġa sħiħa se jerġa 'lura veru. Jekk I ttestjati 7 huwa akbar minn 3 and-- Jien biss picking numri bl-addoċċ here-- 4 huwa inqas minn 2, ukoll, li l-foloz. Allura vera u falza jagħmlu falza. U inti tista 'tmur fuq u inti jikkombinaw bħala ħafna kondizzjonijiet flimkien kif inti tixtieq. Ħadd ma jkollu xi mistoqsijiet, kummenti, tħassib s'issa? U nara xi wħud minnkom jieħdu stampi ta 'lili fil-iskrin, li Napprezza. Nisperaw, mhuwiex Snapchat. Nisperaw, huwa għall-karti tiegħek. Imma dawn kollha huma għaddejjin li tkun disponibbli onlajn. Allura inti ma għandekx jieħdu ritratti ta 'dan. Bħal semmejt, kollox se jkunu disponibbli online għalik. KOLLOX SEW. Jien wasalt biex tikseb offstage, sabiex ma xi ħadd trid tgħid xejn qabel ma dan iseħħ? Mistoqsijiet? [INTERPOSING VOICES] JASON Hirschhorn: Oh, stop. Inti guys huma wisq sbieħ. KOLLOX SEW. Jien ser tag out. Tlaqna. ANDI Peng: Aħna ser tagħmel bidla mic skomdi issa. JASON Hirschhorn: Ninsab ser jieħdu dan off. ANDI Peng: Japprezzaw l-appoġġ, guys. Inti tista 'tisma lili? Huwa li tajba? Perfect. Beautiful. Let me biss Tuck dik in. KOLLOX SEW. Allura, jien waslu biex jagħmlu bħal ġgant informazzjoni jifqgħu s inti guys dritt issa. U l-ebda inkwiet tkun xi tkun jekk int mhux wara kull linja ftit ta 'dak Li jien ser nuruk. Kif Jason qal, kollox huwa kompletament online. Just aħna qed tmur biex tipprova tintroduċi kulħadd għall-kunċetti koperti f'xi wħud minn dawn slides. Hekk biss isegwu flimkien. Nru inkwiet jekk inti ma tifhimx kollox; madankollu, jekk fi kwalunkwe punt tħossok mitluf, iqajmu tiegħek idejn, aħna ser tieqaf, l-ebda inkwiet. Kessaħ. Għalhekk naħseb xi ħaġa li David għandha diġà tip ta 'msemmi fil lecture u Jason tip ta 'allużjoni li llum huwa dak librerija hu. Allura fl-ipprogrammar, għandna dawn l-affarijiet imsejħa libreriji. Fejn, essenzjalment, kollha huma huwa biss sett ta 'funzjonijiet, jiġifieri essenzjalment biss kodiċi li s diġà ġie miktub minn xi ħadd ieħor li nistgħu kollha uża fi żmien programmi tagħna. Allura kif ma normali xogħol librerija, id-dritt? Inti tidħol fil-bieb librerija. Inti għandek dawn kollha kotba inti tista 'pull out u inti tista 'aċċess għall-informazzjoni fi ħdan dawk il-kotba. L-istess ħaġa fil-programmazzjoni. Inti għandek librerija li diġà ġew miktuba minn nies oħra. U l-mod li inti tista ', bħala programmer jew student, jistgħu jiksbu aċċess għal dik librerija huwa permezz #include hashtag. Per eżempju, fis-C aħna tliet C-- l-aktar komunement użati tlieta standard C libraries-- l-input / output librerija, l-librerija spag, u l-librerija matematika. Dan fi żmien l-ewwel tiegħek problema koppja settijiet, dawn se jkunu t-tliet li int primarjament tuża. Allura kif David diġà spjegat fil lecture, lI standard / librerija O, jew il- input standard / output librerija ma eżattament dan. Jippermetti li inti, fil-kodiċi tiegħek, li l-input xejn mill-utent u output li għall-iskrin, essenzjalment istampar lill-iskrin. U hekk kull darba li tuża kwalunkwe funzjoni, per eżempju l-printf funzjoni () li aħna qed tmur biex jmorru fuq il-pjastra jmiss, kun żgur li tinkludi l-istandard I / O librerija jew inkella int mhux ser tkun tista 'tuża l-printf () funzjoni. Għaliex inti, bħala l-programmer fatt qatt ma kiteb dik il-funzjoni, int biss tuża xi ħadd kodiċi ieħor taħt il-kodiċi tiegħek stess. Does li kulħadd jagħmel sens? Kessaħ. U allura aħna essenzjalment tikseb fuq il-librerija string.h u l math.h librerija, .h biss ifisser librerija, libreriji oħra li inti ser eventwalment tkun qed tuża fil-kodiċi tiegħek. Madankollu, għal skopijiet ta 'din il-librerija, aħna wkoll have-- ta 'dan class-- irridu wkoll dak li jissejjaħ il-librerija CS50, cs50.h, fejn aħna, għall perusal tiegħek ħolqu bosta funzjonijiet importanti u utli. Allura li inti bħala programmer jista piggyback off dak li aħna stajt diġà bil-miktub sabiex din il-funzjoni disponibbli lilek għall-użu tiegħek. I ser tkun tkopri ftit il-funzjonijiet komunement użati, imma jafu li dawn huma kollha online googleable. Ħossok liberu, pull up-librerija CS50 u imbagħad inti għandek l-funzjonijiet hemmhekk. Yeah. SPEAKER 5: Mela jekk inti ma kinux tuża s-software li hija pprovduta lilna mill il-klassi, ma li jfissirx li għandna d jkollhom biex tniżżel u jsibu dan header fajl nfusna u għid il-kompjuter fejn hu? ANDI Peng: mistoqsija Great. Eżattament. Allura huwa simili jekk int ma fiżikament preżenti fi librerija, hemm ebda mod biex inti fil-fatt imorru u jkollhom aċċess għaliha. Allura l-istess ħaġa ma programmazzjoni C, inti għandek taċċerta ruħek li qed tuża tagħna appliance minħabba li l-librerija diġà ġew inkorporati fih. U allura meta inti hashtag #include, tal-librerija hemmhekk. Yeah. Tajba kwistjoni. Kulħadd tajba? Kessaħ. Kull dritt. Allura aħna qed tmur biex hit, essenzjalment, dak li huwa l-ewwel funzjoni li Aħna bħala programmaturi huma se tkun qed tuża fil-kodiċi tagħna. Din tissejjaħ l-printf () funzjoni. Allura, printf () funzjoni, kif stajt diġà qal fl-aħħar slide, hija inkluża fl-istandard I / O, input standard / output, librerija. Sabiex tagħmel żgur li kwalunkwe int using-- oh, let me grab-laser Pointer kull meta inti qed tuża l printf () funzjoni, inti għandek jinkludi l-istandard I / O librerija jew inkella, meta inti tiġbor, int ser tikseb żball minħabba li l-kompjuter se jkun simili, oh I do not know fejn printf () huwa, int ma javżak me fejn printf () hu. Well printf () huwa inkluż fil- I standard / O, hekk meta inti tuża printf (), kun żgur li jkollhom dik linja ta 'hawn fuq kodiċi tiegħek. Hekk per eżempju, printf () hawnhekk hija funzjoni. Kull ma huwa print out xi ħaġa ġewwa l-parentesi għall-utent. Kieku xi ħadd tixtieq li tieħu stab lejn dak din il-linja tal-kodiċi dritt hawn se jistampa? Għalhekk, ir-risposta li hemm fuq l-iskrin. Kulħadd? VERDI: Il-qiegħ. ANDI Peng: Verdi, għaliex ma inti tmur quddiem u jgħidu l-istqarrija kollu? VERDI: Hello, jien jisimni Andi, u I am 20 sena qodma. ANDI Peng: Ah, sabiħ. Allura f'dan il-linja aħna qed tmur biex jistampa, Hello, jien jisimni Andi, u I am 20 sena qodma, li huwa fil-fatt dikjarazzjoni vera. Sintassi. Allura ftit kwistjonijiet sintattika li inti guys tixtieq li tagħmel żgur li int taf. Kwotazzjonijiet. Kwotazzjonijiet doppja tgħid il- kompjuter li kollox ġewwa se jiġu stampati. Kollox ġewwa jista biss ikunu eżattament kif inti tip, ħlief għal komunement fl-aħħar, aħna qed tmur jridu jinkludu a hash-- oh sorry-- a n sing. Allura n sing. Hawn xi ħadd li tixtieq li tieħu raden lejn dak li ma għall-kodiċi tagħna? Yeah. SPEAKER 6: tqiegħdu fuq linja ġdida. ANDI Peng: Eżattament. Allura dan kollu ma huwa jippermettu jiġri x'jiġri wara dan, wara din id-dikjarazzjoni, jiġu stampati għal linja ġdida. B'tali mod li meta int bil-miktub tiegħek kodiċi inti ma saltwarjament jkollhom affarijiet tacked fuq l-aħħar li ma tridu. Li kollox gets pulit stampati linja waħda u mbagħad nibdew fuq il-linja li ġejja. Hawn xi ħadd ftakar dak li punto virgola ma meta aħna qed kodifikazzjoni? Yeah. SPEAKER 7: Dikjarazzjoni. ANDI Peng: Jiddispjacini? SPEAKER 7: Ma jispiċċaw id-dikjarazzjoni? ANDI Peng: Yeah. Għalhekk fl C, jew kwalunkwe ipprogrammar lingwa, il-virgola tindika t-tmiem ta 'linja ta' programmazzjoni. Hekk per eżempju, bl-Ingliż aħna perjodu tuża ngħid, oh dan huwa l-aħħar sentenza. Fl-ipprogrammar, l-istess ħaġa, aħna għandna virgola biex juri l-aħħar ta 'linja. Oftentimes, meta int jibdew programm, inti ser tirrealizza int ninsewx li żżid punto virgola u allura inti tipprova tmexxi tiegħek kodiċi u ma jaħdimx. U int simili, Ah, I ma taf għaliex, għandu tkun qed taħdem. Ċansijiet huma inti probabilment nesa a virgola jew kategorija jew xi ħaġa x'imkien. Allura, li l-importanti li wieħed jiftakru. Kessaħ. Dritt kollox, turija tal-idejn, kemm ħafna nies hawn qatt meħuda AP Computer Science jew programmati Java qabel, qatt? KOLLOX SEW. Sabiħ. Li mhux se tkun applikabbli imbagħad, iżda fl Java, inti ikollhom xi ħaġa imsejħa println li ma jeżistix fil C. Għalhekk fl C, kull meta inti trid iżżid fil-varjabbli fis xi ħaġa li trid li jistampa, hemm sintassi speċifiku aħna qed tmur għall-użu. Li sejjaħ il- placeholding-- essenzjalment aħna żid placeholders fis-seħħ tal-numru sħiħ jew il-varjabbli li aħna tixtieq li jistampaw. Allura kif inti guys tista 'tara konna inklużi header librerija ġdida fajl hawn. Il-librerija CS50. U li jinsabu f'dak librerija CS50 hija funzjoni komuni aħna ser tkun qed tuża fil-kors tagħna imsejħa GetInt (). Ħadd ma tixtieq li tieħu stab fil dak GetInt () jistgħu possibilment tagħmel. UDJENZA: [inaudible] ANDI Peng: Jiddispjacini. Ma kellekx tisma int. Maddie, xi ħadd. Maddie: Oh, hi tinkoraġġixxi inti għal numru sħiħ. ANDI Peng: Eżattament. Allura din il-funzjoni, ieħor funzjoni li diġà ġie miktub minn xi ħadd ieħor li nistgħu jsejjaħ issa. Kollox huwa huwa fil-pront l-inti, l-utent, li l-input xi trid bħala l-kodiċi tkun qiegħda taħdem u huwa jaħżen whatever-- f'dan il-każ aħna qed GetInt () - Ing, sabiex ifisser aħna qed kisba integer. U aħna qed tmur biex jaħżnu li integer ieħor li konna biss magħmula imsejħa età. Li jagħmel sens għal kulħadd? Kessaħ. Allura issa li konna maħżuna dan integer, li konna wasslet mill-utent, f'dan varjabbli, konna maħluqa mill int tip imsejħa età, nistgħu jimxi 'l quddiem u l-post li fil printf tagħna () funzjoni. Allura l-sintassi normalment għal printf () huwa li kull fejn fil attwali fiżika tiegħek linja trid tinkludi li numru sħiħ, inti tagħmel dan is-simbolu hemm dritt, is-simbolu mija, bil- tip ta 'varjabbli li tixtieq. Allura f'dan il-età każ huwa integer. Allura int ser jinkludi % i għaliex dan huwa integer. U mbagħad wara tiegħek dikjarazzjoni, int ser biex jagħmlu comma u l isem tal-varjabbli. Allura hawnhekk, aħna qed tmur biex jistampaw out, Hello, jien jisimni Andi, u I am snin vojta qodma. Hashta-- jew, sorry--, età bi kwalunkwe input I. Mela jekk jien kellhom input 20 għall GetInt tiegħi () hawn, ikun jistampa l-istess ħaġa eżatt. Iżda, jekk jien ridt xi ħaġa input inkella, bħal forsi 40 jew 45, allura inti tara li jirrifletti għaldaqstant fil-kodiċi. Allura dan huwa eżempju ta 'xi ħaġa li fihom prints out u jistenna li inti kif jekk huwa l-istess ħaġa, iżda taħt il-barnuża ta il-kompjuter hemm attwalment affarijiet differenti ħafna jiġri. Kessaħ. Kull dritt. Allura dak jekk irridu varjabbli multipli? Pretty faċli. L-istess ħaġa. Għandna wkoll funzjoni ġdida hawn imsejjaħ GetString (), wkoll inklużi fil-librerija CS50, li kollox ma huwa l-utent fil-pront għal string, li hija biss sett ta 'karattri, hekk bħal sentenza jew bħal isem. Allura f'dan il-każ, rridu naraw żewġ placeholders% s għall spag u% i għall-eqreb numru sħiħ. U aħna qed tmur biex isegwu li miż-żewġ varjabbli Irridu inklużi, fl-ordni li jidhru fis-sentenza. Hekk per eżempju, jien jisimni vojt, nixtieq isem hemmhekk, hekk jien ser ikollhom l-isem ewwel. U mbagħad wara, nixtieq età, tixtieq li jkollok tieni età. U hekk jekk jien ridt li input, Hello, isem tiegħi Andi, u I am 20 sena qodma. Jekk I inputted Andi u 20, l- istess ħaġa eżatt se jistampaw; madankollu, issa konna ltqajna żewġ maħżuna varjabbli ta 'isem, kif ukoll int. Yeah. SPEAKER 8: Ikun kapaċi li jimxu jekk inti switched isem u l-età fl-aħħar ta 'dak? ANDI Peng: Yeah. Li kwistjoni verament tajba. Allura storja twila fil-qosor, l-ebda. Minħabba isem u age-- dak tip ta 'varjabbli huwa l-isem? SPEAKER 8: String. ANDI Peng: U dak tip ta 'varjabbli huwa l-età? SPEAKER 8: Integer. ANDI Peng: Allura hawnhekk għandna placeholder għall spag u numru sħiħ, id-dritt? Mela jekk ġejt biex jaqilbu dawn, il-kompjuter mhux se tkun taf. Huwa ser jiċċekkja għal string, u jekk inti tipprova tagħtiha int, li għaddej biex jkun simili stenna Jien konfuż, inti told me I għandhom ikunu allotting memorja għal int. U d-dritt hawn, meta huwa jistenna integer u inti tagħtiha isem u string minflok, huwa wkoll se jkunu ħafna konfużjoni, huwa mhux se jimxu eżattament il-mod inti bżonnha. Allura hawnhekk, ismijiet u s-sintassi hija importanti ħafna għat-tmexxija kodiċi. Kulħadd tajba? Yeah. Maddie. Maddie: Hawnhekk, I know stajt ħares we lejn eżempji fil-klassi, fejn dawn jistaqsu liema huwa l-età tiegħek, x'inhu l-isem tiegħek. Hawnhekk, kieku jkun it doesn't-- jekk konna biex imexxu dan il-kodiċi, ma jkunx titlob għal dan? Imma inti biss input żewġ numri u allura tmur bħal dik? ANDI Peng: Yeah, eżattament. Mela jekk int riedu biex din wiri, jekk jogħġbok niżżel l-età tiegħek, inti tista 'sempliċement żid printf () funzjoni li jgħid, Jekk jogħġbok ikteb l-età tiegħek, hawn fuq. Li l-mistoqsija tajba. Yeah. SPEAKER 9: Allura, ikun diġà inklużi fil GetInt () [inaudible]. ANDI Peng: Le, attwalment mhuwiex. Allura dan kollu ma huwa biss iqajjem skrin vojta lill-utent għal xi ħaġa input. Jekk inti tixtieq li, jekk inti tixtieq li jistampaw xi ħaġa li jirrakkonta l-utent simili, jekk jogħġbok agħti me età tiegħek, allura inti jkollhom printf () li yourself. Għaliex kulħadd juża din funzjoni għall-affarijiet differenti, inti tista 'tkun ħażna età, inti tista 'tkun indirizz ħażna, inti tista 'tkun ħażna numri tat-telefon. U dan huwa verament sa użi individwali guys tiegħek " għal dak li inti tixtieq li jgħidu. Yeah. SPEAKER 10: Allura, biss biex tiċċara, fejn do inti input l-isem u l-età b'tali mod li juri fil-post ta '% s? ANDI Peng: Bħal fil-utent? SPEAKER 10: Iva, bħal kif nista jagħmlu it-- fejn ma nressaq Andi, u fejn ma nressaq 20? ANDI Peng: Yeah. Mela jekk ġejt biex tmexxi effettivament dan il-kodiċi, Jien ma attwalment taħdem l kodiċi, dan huwa biss hawn dritt issa. I Jekk kellhom imexxu l-kodiċi, nixtieq jikkompilaw il-kodiċi, tagħmel il-fajl, imexxu l-kodiċi, u allura hemm kieku jkun biss żewġ spazji għalija id-dħul dan. Yeah. Inti guys se tara meta inti play madwar il-kodiċi yourself. Dritt Kollha aħna qed tmur biex jimxu fit-taqsima li jmiss ta 'dak aħna ser tkun tkopri llum. Aħna qed tmur biex jmorru fuq dak dikjarazzjonijiet kondizzjonali huma. Mela jekk inti guys tiftakar u jitlob lura mingħandhom lecture, dikjarazzjonijiet kondizzjonali, kollha huma huma sett tal istruzzjonijiet lill-kompjuter fl li jekk ċerta kondizzjoni hija vera, inti teżegwixxi l-kodiċi ġewwa ta 'din il-kundizzjoni. Għalhekk fl Scratch-- essenzjalment il big tema mil-lum hija li inti guys jkollhom diġà l raw il-loġika wara kollox li aħna qed jkopru. U kollha li aħna qed tagħmel huwa traduzzjoni xi ħaġa li kien ħafna intuwittivi fid Scratch, u hard kodifikazzjoni dan fil-sintassi aħna ser tkun qed tuża għall-klassi li C. Għalhekk loġikament, dan kollu blokk kien huwa li l-biċċa ta 'kodiċi hemm dritt. Yeah. KOLLOX SEW. Aħna wkoll jsibu rwieħhom jekk ... inkella dikjarazzjoni li huwa biss saff miżjud ta 'kumplessità għall-istqarrija jekk fejn il-kompjuter jieħu ħarsa lejn din u jara jekk din il-kundizzjoni huwa veru, do ikun x'ikun l ġewwa dawn iż-żewġ kategoriji, else-- tant tip ta bħall-default, jekk ma tissodisfax il condition-- tagħmel dan. Huwa simili furketta fit-triq. Jekk ix-xita barra, nressaq fuq ġakketta xita, kull ħaġ'oħra inkella I ma jitqiegħdu fuq ġakketta xita. Does li l-loġika jagħmel sens għal kulħadd? Kessaħ. Kull dritt. Allura bħal eżempju iebes ta ' dan li aħna se tara fil C hija jekk jien ridt li jinħoloq imsejħa sigħat huiswerk varjabbli. U jekk sigħat huiswerk huwa inqas minn ħamsa, I say Life hija kbira. Huwa wunderbare. Madankollu, jgħidu Il-ġlieda hija real-- li huwa dak li aħna kollha dwar din it-Tnejn wara nofsinhar up Xjenza Hill huma probabbilment tagħmel id-dritt now-- UDJENZA: [laughing] ANDI Peng: Huma mod aħna kieku, nirringrazzjak għal dak. Il-mod kif aħna hardcode B'dan C huwa if-- ejja nassumu aħna diġà għandhom varjabbli tat-tip int imsejħa sigħat huiswerk dritt hawn. Jekk is-sigħat huiswerk huwa inqas minn ħamsa printf (), Life hija kbira. Ftakar iżommu / n għaliex inti tixtieq linja ġdida wara. Print Else, Il-ġlieda huwa reali. Ma kulħadd jifhem kif I transitioned minn dan il-blokk fis dan blokk ta 'kodiċi? Kessaħ. Kull dritt. Allura issa aħna qed tmur biex tagħti ħarsa lejn dikjarazzjonijiet multipli Jekk kollox. Mela ejja nassumu l- iskop ta 'dan il-programm kien aħna l-utent għal grad fil-pront. Aħna Prompt użu GetInt () għal grad, u dawn input valur, u inti tixtieq li display liema tip ta 'grad li ltqajna. Mela jekk jien kellhom ifasslu programm, I jfissru tipikament fil kollha ta 'l-għajnejn tagħna, 90-100 huwa A, 80-90 hija B, u oħrajn u l-bqija. Dak li hu ħażin ma 'dan biċċa tal-kodiċi li mhuwiex tagħmel dak li nixtieq li tagħmel. Yeah. SPEAKER 11: Huma għandhom limiti aktar baxxi, iżda dawn ma jkollhomx limiti ta 'fuq. ANDI Peng: Eżattament. Did kulħadd jisma 'dak li qalet? Hemm għaddej li jkun ta 'fuq limiti, iżda l-ebda limiti aktar baxxi. Jiddispjacini, maqlub, limiti aktar baxxi, l-ogħla limiti. Allura kieku inti tixtieq li tieħu stab fil tgħid dak li jkun stampat fuq dan screen jekk I kellhom imexxu dan il-kodiċi. SPEAKER 11: Żball? ANDI Peng: Żball? Raden kbira, mhux tajba ħafna. Ħadd ma jkollu stab ieħor? Yeah, Aaron. AARON: Jekk inti tpoġġi fil xi ħaġa akbar minn 90, ikun juri l-gradi inti ltqajna. Ikun nuruk ltqajna A, inti ltqajna B, inti ltqajna C. ANDI Peng: Yeah. Dan huwa eżattament id-dritt. Allura, li d tkun isbaħ. Madankollu, huma reċiprokament esklussiva, I think. I Jekk kellhom imexxu din il-biċċa ta 'kodiċi. U mbagħad ejja biss jgħidu, I inputted-grad ta '95. Allura 95 issa hija maħżuna fil l-int imsejjaħ grad. U għalhekk C hija lingwa li tmur up fuq għal isfel, hekk li għaddej biex dejjem mixja lejn qiegħ. Allura li għaddej biex jiġu hawn, aqra jekk grad hija akbar minn jew ugwali għal 90, printf () inti ltqajna A. Great, I jkollhom 95, li iktar minn 90. Huwa ser jistampaw, I ltqajna A. Huwa ser li tagħti ħarsa lejn dan jekk, li għaddej jgħidu, ukoll 95 hija wkoll aktar minn 80, li għaddej biex jistampaw inti wkoll ltqajna ltqajna marka B exclamation, u hekk u hekk raba. Allura kif aħna kollha taraw, dan huwa bug komuni li jistgħu jseħħu meta nkunu miktub kodiċi li toqgħod attent għalihom. Kulħadd, kwalnkwe kwistjoni dwar għaliex dan kien qed jiġri? Great. KOLLOX SEW. Allura kif nistgħu jiffissaw dan, huwa ovvjament il-mistoqsija li jmiss loġiku. Well, aħna għandna dawn beautiful affarijiet imsejħa jekk inkella jekk inkella jekk id-dikjarazzjonijiet inkella. Allura tista 'tara, jekk int riedu għall-bidla li problema, inti riedu jagħmlu kull kundizzjonijiet li jeskludu lil xulxin, inti iżid ieħor ... jekk id-dikjarazzjoni. U dawn ta 'course-- jaħsbu minnhom bħala slielem, jew bħall-iskaluni fuq il ladder-- tista 'żżid peress li ħafna minn dawn kif inti tixtieq għal kemm kondizzjonijiet kif tixtieq. Allura hawnhekk, jekk I inputted grad li jkun 95. Jekk grad tkun akbar minn 95, printf (), I ltqajna A. Gran. Huwa ser tara inkella ... jekk u li għaddej biex tkun taf, Oh no, I diġà wettaq l-ewwel ħaġa oħra. I know-- jew l-ewwel if-- Naf li I ma jkollhomx biex tħares lejn xi wieħed minn dawn minħabba li wieħed minnhom diġà kien veru. Allura li għaddej jiddekorri mill top down. Hekk kif l-ewwel waħda hija vera, allura li għaddej biex skip fuq l-bqija mill-IfS ... inkella. Does li jagħmel sens? Allura, b'dan il-mod inti għandek livelli differenti ta 'kontroll u hekk kif wieħed minnhom huwa falz, il- bqija huma wkoll, dawn mhux se anki check. Kessaħ. Kull dritt. Allura dan huwa eżempju ta 'differenti tip ta 'dikjarazzjoni kondizzjonali naraw inqas ta 'spiss, imma Ser naraw minnhom u jużawhom. U dawn qed spiss aktar effiċjenti għal ċerti każijiet. Allura aħna għandna dak li sejjaħ dikjarazzjoni swiċċ. Allura qabel we koperti x'hemm xi ħaġa oħra dikjarazzjoni, l-jekk ... dikjarazzjoni ieħor. Hawnhekk, aħna għandna liema huma imsejħa dikjarazzjonijiet swiċċ. Allura meta nagħmlu nużaw swiċċ dikjarazzjonijiet hija ċ-ċavetta? Allura fi stqarrija swiċċ, inti normalment, tipikament, fil-fatt inti tista 'biss interi input għall tiegħek varjabbli li int iċċekkjar. Mela jekk jien ridt li tikkontrolla biex tara jekk ċertu number-- per eżempju grad, jekk sibt 90. I tixtieq li tara jekk dan huwa A, B, jew Ċ I jista 'jkollhom każ hawnhekk. Madankollu, il-każ għandu li jibqgħu kostanti ieħor. Allura f'dan is-sens, il- dikjarazzjoni swiċċ jista 'biss jikkontrolla għal ugwaljanza ta 'żewġ numri. Ma jiċċekkja għal xi ħaġa oħra. Allura li xi ħaġa li jkun ferm bir-reqqa ta meta inti qed tuża din. Allura hawnhekk, jekk jien ridt li tikkontrolla biex tara jekk grad tiegħi ta '90 hija ugwali għal 90 jew 80 jew 70 jew 60, u mbagħad print il-grad korrispondenti, I d tkun tista 'tikteb li fi stqarrija swiċċ. Allura li għaddej biex jiġu hawn, check huwa dan integer daqs dan kostanti? Jekk le, li għaddej biex skip. Huwa ugwali għal kostanti tnejn, u hekk u ibqa 'sejjer hekk, sakemm inti hit l-default, jekk ħadd minnhom huma ugwali. Hekk kif wieħed minnhom huwa mistenni li jkun ugwali, li għaddej biex tagħmel dan linja tal-kodiċi u jinkisru. Li jfisser li għaddej biex hit li run, break, u biss totalment skip għall-qiegħ tal-kodiċi. Allura f'dan is-sens it-tip ta 'funzjonijiet bħal jekk inkella jekk inkella jekk id-dikjarazzjoni. Allura hawnhekk konkret Eżempju għalik guys. Mela ejja nassumu li xtaqt li toħloq varjabbli imsejjaħ sena fondat. U nixtieq li fil-pront lill-utent biex input is-sena li l-iskola tagħhom ġiet imwaqqfa. So I tista 'toħloq dikjarazzjoni swiċċ hawn. U ejja biss jgħidu, I input 1636. Dan il-kodiċi hawn se tara bidla sena fondat li jkun ugwali għal 1,636. Li għaddej biex tara każ 1636, oh dawn huma ugwali, printf () mhux Jekk inti tkun f'dak iskola up tramuntana? Għaliex aħna nassumu li ma mur hawn jekk imorru lil Harvard, tinkiser u skip sa l-aħħar. I Jekk kellhom input 1701, li I jassumi lkoll input, ikun skip dan il-każ, come isfel għal każ tnejn li 1701, u tistampa Merħba għall Yale! Break, skip sa l-aħħar. Inkella inti probabilment qed tieħu dan il-kors online li fih case-- biża merħba li Yale-- li għaddej biex tmur fil- print default, Hello Internet! U break. Yeah. SPEAKER 12: Tista 'tuża inkella minflok ta 'nuqqas hemmhekk? ANDI Peng: Le, għaliex il- mod li din il-funzjoni sħiħa swiċċ hija mibnija, l-sintassi inti jeħtieġ li tintuża l-każ każ normali. Huwa bħall-jekk inkella jekk, dan wieħed huwa każ każ normali. Yeah. SPEAKER 13: Inti forsi diġà ngħad dan, imma inti jista 'jkollhom aktar minn żewġ każijiet? ANDI Peng: Yeah, inti tista ' jkollhom iktar każijiet trid. Jaħsbu li bħala bħad infinitament żżid fuq. SPEAKER 14: Jekk inti qalbu 1701 ma 1,636, ma verament tagħmel dritt differenza? Huwa biss se jiġi verifikat għal dan. ANDI Peng: Li l- kwistjoni verament tajba. U aħna ser tmissx dan aktar tard, iżda biss jafu li l-bidla id-dikjarazzjoni hija infinitely-- huwa aktar effiċjenti milli kieku u inkella jekk minħabba li topera jużaw tip differenti ta 'funzjoni li jippermettilek, li essenzjalment, għal ftit jaqbżu dritti għall- każ li għandek bżonn biex tkun fuq. Yeah. SPEAKER 14: Kessaħ. Grazzi. ANDI Peng: Yeah SPEAKER 14: U inti ma setgħux do każijiet simili u akbar minn. ANDI Peng: Le Allura, dan huwa dak li jillimitaha dwar il dikjarazzjoni swiċċ huwa li inti għandek li jkollhom kostanti biss, biss interi. Yeah. KOLLOX SEW. Allura din hija xi ħaġa li inti guys se jiltaqgħu inqas spiss minn, imma jien biss riedu jintroduċu fil-każ. Għandna hawnhekk x'hemm imsejħa operatur ternarji. Fejn essenzjalment, huwa biss bħal jekk id-dikjarazzjoni kkompilata konformi wieħed. Hawnhekk, I ser imorru fuq il-linja li jmiss, il- paġna li jmiss, għaliex huwa aktar faċli biex tara. Allura aħna ve kollha raw dan id-dritt? Dan huwa pjuttost faċli biex isegwu. Jekk jien ridt li jagħmlu varjabbli imsejjaħ spag jismu s, jekk ċertu numru ta I tagħtiha huwa inqas minn 100, I tixtieq li tassenja baxxa għall-string, inkella nixtieq li tassenja għolja. Dan hawnhekk qed tagħmel l-istess ħaġa eżatt dawk it-tmien linji ta 'kodiċi qed jagħmlu. So here I tixtieq li joħolqu string varjabbli. U dan huwa l-kundizzjoni jien verifika, jekk numru huwa inqas minn 100, allura inti tassenja l-valur tal baxx, inkella tassenja l-valur ta 'high. Dawn slides se jkun online, ebda inkwiet jekk inti guys ma jsibux dan isfel. Dan huwa biss mod sempliċi, aktar mod effiċjenti ta 'kitba kodiċi. KOLLOX SEW. Allura issa aħna qed tmur biex jidħol liema, għal ħafna nies huma bħal ħafna, konfużjoni ħafna ħaġa li wieħed jaħseb dwar fl-ewwel. Is-sezzjoni loop. Hekk illum, aħna qed tmur biex jitkellmu madwar tliet tipi ta 'linji. Aħna qed tmur biex tibda bil ftit żmien loop, allura jitkellmu dwar do filwaqt loop, u mbagħad jitkellmu dwar għal loops. Allura essenzjalment, għall-aktar studenti viżwali hemmhekk, għandna, essenzjalment, a grafika rappreżentazzjoni ta 'dak li loop waqt ma. Allura fil-programmazzjoni, inti tibda u jidħlu fil-loop f'ċertu punt. Inti tiċċekkja kundizzjoni. U jekk il-kundizzjoni hija vera, inti teżegwixxi l-kodiċi ġewwa. U inti terga 'lura madwar u inti tiċċekkja. Jekk huwa għadu veru inti żżomm taħdem dan il-kodiċi madwar u madwar fi loop. Madankollu, it-tieni li il-kundizzjoni isir falza, int ser tinkiser u tintemm il-linja. U dan huwa essenzjalment l- livell sintattiku int ser tuża. Filwaqt li ċerta kondizzjoni hija vera tagħmel dan, jekk mhuwiex veru, int ser skip sa l-aħħar u jimxu 'l quddiem mal-programm tiegħek. KOLLOX SEW. Ħadd ma jkollu eżempju fuq dak li jista 'potenzjalment jiġri jekk I tipprova tmexxi din il-biċċa tal-kodiċi? Mill-mod, SAJ-- li l-Scaz, Andi, Jason-- aħna ser jiffirma emails tagħna, Imħabba, SAJ. Li us. KOLLOX SEW. Kull min ikollu eżempju, jew ikollhom idea dwar dak li dan ikun istampar? Tip ta 'kwistjoni trick. Allura hawnhekk, ftakar il-kundizzjoni aħna qed verifika għall huwa waqt veru. Għalhekk, filwaqt li dan huwa minnu, huwa morna għall-istampa, I love SAJ! Hemm xi punt li fih aħna'd tbiddel dan li xejn inkella? Le, id-dritt? Allura fil hawn, aħna għandna jiltaqgħu magħhom dak probabbilment se tkun bugging ħafna programmi tiegħek, il-loop infinita. Inti ser issib li jekk inti run din il-biċċa ta 'kodiċi, huwa biss se żżomm istampar, I love SAJ! Filwaqt li napprezzaw l-appoġġ, ma rridux kompjuters tiegħek li jikkraxxja għaliex inti iżommu istampar I love SAJ! Allura jekk jogħġbok, jekk jogħġbok, jevitaw il-loop infinita għaliex dan huwa qatt ser biex tevalwa falza u int qatt ser li jħallu l-linja. U int ser jiġu miġbudin għal dejjem. Kessaħ. KOLLOX SEW. It-tieni tip ta 'linja aħna ser nitkellmu dwar llum huwa l-do filwaqt loop, tagħmel waqt loop. U huwa msejjaħ do filwaqt loop għax għandek do u waqt. Allura dan huwa pjuttost simili għal waqt loop, iżda xi ftit differenti. Hawnhekk, int ser tagħmel tkun xi tkun l ġewwa ta 'dan filwaqt ċerta kondizzjoni hija vera. Mela jekk jien kienu C u l-kompjuter jien running r din il-biċċa ta 'kodiċi, I tagħti ħarsa fil-quċċata. Mmur C, I say tagħmel dan ħaġa. U mbagħad I kontroll, filwaqt li dan huwa veru, ikolli jirrepetih. Iżda filwaqt li dan huwa falz, imbagħad I timxi 'l quddiem u jien qatt ma jmurx lura għal dak loop mill-ġdid. Jista 'xi ħadd jieħu stab fil x'inhi d-differenza bejn dan loop u l waħda aħna biss ħares lejn kienet prattikament. Yeah. SPEAKER 15: Il-kondizzjoni wasal wara minflok qabel? ANDI Peng: Eżattament. Hekk hi qalet l-kondizzjoni wasal wara, mhux qabel. Fl-aħħarnett, id-differenza bejn dan u l-loop filwaqt hija li int biss se jagħmlu ikun x'ikun l ġewwa dan irrispettivament minn jekk il-kondizzjoni tiegħek jew le vera, u mbagħad tiċċekkja l-kundizzjoni. Allura f'dan il-każ, int always-- b'dan il-mod, int dejjem jagħmlu ċert ikun x'ikun l ġewwa runs mill-inqas darba qabel verifika biex tara jekk inti tixtieq li jimxu mill-ġdid. U hawn huwa eżempju tal meta aħna se tużah. Għalhekk, per eżempju, jekk jien ridt li jkollhom varjabbli ta 'int tip jismu età, u nixtieq li fil-pront l-utent għall-età tagħhom, Jien ser tagħmel printf () Kemm ghandek zmien? età = GetInt (), li huwa suġġeriment l-utent. U xi nies se jkunu verament annoying. U inti ma tridx bugs fil tiegħek programm ta 'xi ħadd inputjar simili, oh jien negattiv 4 snin jew ikun x'ikun. F'liema każ jekk tagħmel dan, dan jevalwa li minnu, li jfisser li jien ser għandhom iżommu tmur lura u tagħmel dan. Allura dan se żżomm l-utent 'suġġeriment mill-ġdid li jtik bħal reali Numru età u huwa ser jibqgħu għaddejjin lura u redoing sakemm huma jagħtuk età reali akbar minn wieħed, jew le żero. Allura ħjiel, ħjiel. Dan se jkun ħafna, utli ħafna għal waħda mill-problemi PSet tiegħek. Yeah. SPEAKER 16: Whoops, sorry. ANDI Peng: Yep. SPEAKER 16: Hemm, mhux li jkun asshole, but-- ANDI Peng: Nru inkwiet. SPEAKER 16: --are hemm regoli differenti hawn, jew ma inti biss tinsa li jpoġġi l-kwotazzjoni? ANDI Peng: Oh Yeah. Jiddispjacini, li l-totalment ħżiena tiegħi. Dan kien definittivament suppost li tkun kwotazzjoni. Qabda tajba. Li ma run. KOLLOX SEW. Allura l-aħħar tip ta 'loop aħna ser nitkellmu dwar u, finalment, it-tip mill-aktar kumpless huwa l għall loop. Tinkwetax jekk inti ma jafu dak li tfisser. Huwa pretty konfuża għall-ewwel. Aħna ser jmorru fuq eżempju. Dak kollu li jiġri fil-loop għall huwa li inti għandek tliet dikjarazzjonijiet li int ser jinkludu. Allura għal ħaġa ċerta, int ser initialize varjabbli. Int ser iżżid l-kondizzjoni li li dan loop se jżomm taħdem. U mbagħad, fl-aħħar tal- loop, int ser taġġorna dan. Inti tista 'taġġorna l-varjabbli li inti tixtieq li jżommu rekord ta '. Allura aħna tipikament jużaw għal-linji ta 'meta aħna tixtieq li tmexxi linja għal ċertu ammont ta 'drabi u aħna diġà jafu, Oh nixtieq dan loop li jesegwixxi bħal 10 darbiet, allura inti do-- I ser jmorru fuq eżempju fuq il-paġna li jmiss. Allura hawnhekk per eżempju, fil Scratch, jekk inti riedu xi ħaġa li jirrepetu 10 darbiet, kull ma kellhom jgħidu kien, irrepeti 10 darbiet I imħabba SAJ! li hija aktar aċċettabbli juru ta 'appoġġ għalina aktar milli l-loop infinita. Hawnhekk, kif inti tranżizzjoni għal C u jiktbu li huwa għall int-- jien ser joħolqu jew tiddikjara varjabbli ta 'int tip jismu i. Jien ser initialize dan għal 0, hekk i = 0; u dan se jkun kundizzjoni tiegħi. Hekk i huwa inqas minn 10. U mbagħad fl-end-- l-aħħar dikjarazzjoni int ser ikollhom huwa l-aġġornament tal dak li jiġri għall-varjabbli i fl-aħħar tal tiegħek għall loop. Allura huwa tip ta 'konfużjoni, għaliex partijiet differenti ta 'din il-linja qed jiġri fil differenti tipi tal-linja. Imma jien ser imorru fuq Eżempju pseudocode ta 'dak u forsi jispjegaw dan biss daqsxejn aħjar. So here. Dik hija l-linja aħna biss raw. Essenzjalment fl pseudocode, liema qed jiġri f'dan il-programm, hija l-ewwel jien ħolqien i, initializing dan għal 0. Jien verifika biex tara jekk i huwa inqas minn 10, f'liema każ l-ewwel darba huwa minħabba 0 huwa inqas minn 10. Għalhekk il-linja se run. U allura jien ser Stampa din il-linja. U mbagħad fl-aħħar ta 'din il-linja, id-dritt hawn, jien ser tagħmel inkrement i, i ++, dak kollu li tfisser hija inkrementazzjoni minn waħda. Hekk i issa 1 hu. Minħabba li darba kien 0, jekk I inkrement huwa, huwa issa 1. U allura jien se jmorru lura għall-bidu tal-linja u I jivverifika l-kundizzjoni. Il-kundizzjoni għadu vera? Iva, 1 għadu inqas minn 10. Allura li għaddej biex tipprintja din darb'oħra, mur u mbagħad inkrement i, u jivverifikaw il-kondizzjoni kontinwament, kontinwament, sakemm inti eventwalment tikseb sal-punt fejn i hija 10. Inti qed tmur biex jistampaw dan 10 darbiet u mbagħad i se indaqs għall-10. Int ser jiċċekkja l-kondizzjoni. Hija 10 inqas minn 10? Le, dan huwa falz. Għalhekk, dan loop mhux se jiddekorri, li għaddej biex jinkiser, u int ser tkompli fuq il-kodiċi tiegħek. Allura kif inti guys tista 'tara, dan hija eżempju verament kbir ta 'loop inti tista' programm f'dak runs għal ammont speċifikat ta 'drabi. Kull wieħed ċar? Yeah. SPEAKER 17: Kif dwar inkrement b'mod esponenzjali, huwa kodifikazzjoni differenti? ANDI Peng: Int can-- aħna ser imorru matul dan fil-slide li jmiss. Tajba kwistjoni. Huwa anyone-- qabel nimxi on-- ħadd fil-livelli kollha konfuż, għaliex dan huwa kunċett verament iebsa. Nru inkwiet, jekk OK you're--. Kessaħ. Kull dritt. Just slide ġenerali. Dan loop filwaqt qed tagħmel l- istess ħaġa eżatt l għal loop kien. Huwa biss bil-miktub b'mod differenti. You guys tista jaqraw b'attenzjoni d-pjastri fil-konvenjenza tiegħek aktar tard. Iżda biss jafu li hemm multipli modi ta 'kitba l-istess ħaġa li jiġri ma 'linji differenti. KOLLOX SEW. Allura, issa irridu jiksbu fil-kwistjoni ta 'liema jekk ikollna loop ġewwa ta 'loop. Aħna jkollna fis reali Tip Bidu Jittieħed hawn. Meta inti tixtieq li tagħmel affarijiet multipli ħinijiet ġewwa ta 'affarijiet oħra li tagħmel affarijiet minn darba, inti tixtieq dak li sejjaħ nested għall loop. Għal dawk tal inti li l-ewwel tara dan u titħawwad ħafna, kollox aħna qed tagħmel hawn qed ikollu għall loop fejn għandna varjabbli ta 'ringiela. Iżda ġewwa ta 'dan, irridu wkoll ieħor għal loop ta 'kolonna varjabbli imsejħa. U I ħafna jissuġġerixxu lilkom kollha li huma konfużi li l-ewwel iżommu track-- tiġbed out, jiġbed dan out. Tippruvax biss raġuni permezz tagħha, tiġbed out. Fir-ras, fuq din il-biċċa ta ' karta, jew kwalunkwe, write ringiela, iżommu rekord ta 'dak ringiela hija ugwali għal. Ikteb kolonna, iżommu kont ta 'dak kolonna hija ugwali għal. U jżommu rekord ta 'dak li hu stampar ta 'kull iterazzjoni ma. Kull iterazzjoni ta 'dan loop, kull iterazzjoni ta 'dan loop akbar, biss iżommu wara l-loġika. And I garanzija li inti, inti ser imħabba dak li tara, għaliex dan huwa wkoll ferm applikabbli għal settijiet problema tiegħek. Kessaħ. Kull dritt. Allura l-iktar ħaġa importanti li inti guys huma probabbilment kollha ħsieb dwar id-dritt issa, huma Problema Set tiegħek 1s, li huma dovuti Ħamis / il-ġimgħa. Fil-programm water.c tiegħek, ħjiel int ser ikollhom biex tkun inkoraġġuta l-utent għal input. Fi ħdan il-programm mario.c tiegħek int ser ikollhom li jużaw nested għall loop, li huwa a għall loop ġewwa ta 'għall loop, għal stampar ta 'blokk ta' piramida, essenzjalment bħal dak Mario għandu tiżdied permezz. U mbagħad ġewwa greedy-- jew forsi tiegħek Nagħmlu Bidla, jekk kwalunkwe inti guys qatt semgħu that-- int se jkollhom jiġu ħafna bir-reqqa ta 'l-ewwel valuri tal-punti f'wiċċ l-ilma. Ftakar deċimali f'wiċċ l-ilma u interi mhumiex l-istess ħaġa. Żomm kont ta 'liema waħda hija li. U int ser tuża dikjarazzjonijiet kondizzjonali, kif ukoll. Kull dritt, l-aħħar ħaġa. Stajt ltqajna minuti koppja xellug. Style. Allura din hija xi ħaġa li ma fil-fatt effett l-effiċjenza, jew it-tmexxija attwali tal-kodiċi tiegħek. Madankollu, l-effetti lilna bħala graders tiegħek, kif qarrejja tiegħek. Hija effetti lilek innifsek, jekk int jippruvaw isibu problema. Hija effetti l-leġġibbiltà tal-kodiċi tiegħek. Allura stil, bħal meta inti qed tipprova stil esej għall-Ingliż, jekk inti ma kellux il-paragrafi, inti għandek kollox xorta tal jumbled flimkien fuq linja waħda, huwa jagħmilha verament diffiċli għal xi ħadd li jaqra essay tiegħek, anke jekk punti tiegħek huma loġikament ħoss. L-istess ħaġa fil-programmazzjoni. Inti jista 'jkollhom horribly joskuraw kodiċi li Scaz se jkopri, u xorta tista 'taħdem u l-funzjoni. Iżda għalina, bħala TAs sabiħ tiegħek, li se tkun qari u l-evalwazzjoni PSets tiegħek, li mhux sbieħ ħafna. Allura jekk jogħġbok, għall-fini minna u lilek innifsek, meta inti qed jippruvaw jiffissaw problema fil-kodiċi tiegħek, u int tipprova aqra kodiċi tiegħek stess, tagħmel żgur inti ssegwi xi konvenzjonijiet li aħna qed tmur biex jmorru fuq. Allura l-ewwel. Agħti varjabbli tiegħek ismijiet sinifikanti. Jekk inti tixtieq li taħżen numru sħiħ imsejħa età, jekk jogħġbok isem li bih età. Ma isem li bih għoli. Meta inti qed tipprova jaħżen età fl-għoli, jagħmel kollox ħafna konfużjoni għalina. Aħna ma simili li jiġu konfużi. Inti ma simili li jiġu konfużi. Ħadd ma jħobb jiġu konfużi. Jekk int ser tinħoloq xi ħaġa, isem li bih xi ħaġa sinifikanti. Madankollu, fl għal loop, wieħed varjabbli karattru huma normalment multa. U fl għal loop, jekk inti tixtieq biss i, u j, k, tħossok liberu li biss tagħmel dan. Inizjalizzazzjoni konsistenti. Allura dak li jfisser? Dan ifisser teknikament, teoretikament, inti tista 'tibda u joħolqu varjabbli multipli fuq l-istess linja. Hekk per eżempju, I tista 'toħloq integer imsejħa scaz_age, u numru sħiħ imsejħa andi_age = 20, u integer imsejħa jason_age fuq l-istess linja. U nista 'wkoll jassenja biss wieħed mill minnhom u mhux l-oħrajn għall-valuri. Aħna nitolbukom jekk jogħġbok ma tagħmel dan. Għaliex hawnhekk inti ħadthom essenzjalment maħluqa tliet fatturi varjabbli, iżda biss waħda minnhom fil-fatt għandu valur. U allura meta nkunu tipprova taqra kodiċi tiegħek, jew jekk inti qed jippruvaw jiffissaw problema fil-kodiċi tiegħek, huwa ħafna konfużjoni li jsegwu. Hekk biss minħabba li jistgħu jinqraw tiegħek, għall leġibbiltà tagħna, ma tagħmel dan. Ċingi kaboċċi konsistenti. Xi nies jixtiequ li jpoġġu tagħhom ċingi kaboċċi f'postijiet differenti. Hija ma verament kwistjoni. Just tagħmel żgur li int konsistenti fil tiegħek kodiċi proprja dwar fejn inti tixtieq li jpoġġuhom. Ispazjar konsistenti. Jekk inti tpoġġi spazju wara għall loop, dejjem tagħmel dan. Ma biss bħal tip ta 'tagħmel dan fid- F'xi postijiet, ma tagħmel dan f'oħrajn. Just ikunu konsistenti. It-tieni nett, jekk xi ħadd jixtieq jaqraw b'attenzjoni d-Style Gwida CS50, aħna uffiċjalment jkollhom Gwida tal-Istil li jgħidlek kollha ta 'dawn il-konvenzjonijiet, flimkien ma 'aktar. Huwa online. Huwa simili cs50.net/style jew xi ħaġa bħal dik. Tista google dan. Konsistenza hija essenzjali. Allura tinkwetax dak nies oħra qed jagħmlu, biss tagħmel żgur li int konsistenti fil-kodiċi tiegħek stess. Kull min ikollu xi mistoqsijiet dwar dak? Yeah. SPEAKER 18: Allura l-ħaġa xierqa li tagħmel ma 'inizjalizzazzjoni huwa biss jkollhom magħhom kollha f'post separat line, hija li dak li qed tgħid? ANDI Peng: So I rarament kienu dan iseħħ. Imma jekk int riedu, jekk int riedu li jkun simili iffrankar l-ispazju fil-kodiċi tiegħek, jew kwalunkwe, inti tista 'tagħmel dan. Aħna nitolbu li inti biss ma initialize ħaġa waħda u mhux l-oħrajn. Mela jekk inti tixtieq li tagħmel scaz_age int, int andi_age, jason_age int, li l-multa. Biss ma initialize wieħed u mhux l-oħrajn hija kollha. Mistoqsijiet? Kull dritt. Jien ser jgħaddu off l- mikrofonu, u l-pointer laser, u l-Baton biex Scaz f'dan il-punt. Dan huwa skomdi. Hawn hi. BRIAN SCASSELLATI: Grazzi. Kif jgħid li għall-ħoss? Sound hija tajba? . Eċċellenti. KOLLOX SEW. Allura, hi kulħadd. Jien ser tipprova taħdem permezz eżempju prattiku miegħek. U aħna qed tmur għall-użu ta CS50 ambjent għall-iżvilupp, dak li sejjaħ l-Ambjent għall-Iżvilupp Integrat. U inti stajt tidher dan murija fl lecture. U fil Problem Set 1, int se jkollhom l-opportunità jużawh, u play madwar dan, u jidraw lilha, għaliex aħna qed tmur biex tużah permezz tal-bqija tas-semestru. Allura f'dan il-IDE, għandek dak li jistenna bħal fajl browser tradizzjonali ħafna fuq fuq naħa waħda. You ħadthom ltqajna porzjon up top fejn inti qed tmur biex tara source code tiegħek, tiegħek Cfile, il-kodiċi li tikteb. U 'l isfel qiegħ, inti ser tieqa terminal li inti ser tkun qed tuża biex kemm jikkompilaw program tiegħek u biex imexxu jew iwettaq program tiegħek. KOLLOX SEW. Allura biss biex tagħtina xi ftit ta ' fondazzjoni, f'dak tieqa terminal, int ser tkun użu ta 'sett ta' kmandi li huma jikkmanda standard madwar ħafna mill-sistemi Unix jew Linux. U hekk jekk inti stajt qatt jintużaw kwalunkwe forma ta 'Unix, Ubuntu, jew kwalunkwe mill-togħmiet oħra, dawn ser tħares familjari. Jekk int ma, tinkwetax. M'hemm xejn kkumplikata dwarhom. Huma qed biss bl-użu ta 'differenti sintassi, a tismija differenti konvenzjoni milli inti stajt tidher qabel. Allura li lista l-fajls fi direttorju partikolari, dawn qed tmur għall-użu ta ' kmand imsejħa ls, jew lista. Jekk inti tixtieq li tara kollox bid-dettalji kollha, inti ser tuża kmand argument f'konformità ma 'ls -l. U li ser jurik kollox f'aktar dettall, inklużi l-permessi għal fajl. Biex jinbidlu direttorju, inti ser tuża l-kmand cd. U tkun taf tkun kapaċi li jibdlu direttorju kemm biex tmur direttorju dar tiegħek. Li jinsab biss cd kollha minnu innifsu, cd b'żewġ tikek se terġa 'lura lilek up wieħed livell biex direttorju preċedenti tiegħek. U inti tista 'ukoll cd għal subdirectory billi tittajpja cd u l-isem ta 'dik il subdirectory. Tista 'wkoll toħloq direttorji ġodda. U aħna qed tmur biex jimxu permezz ta 'dan fi ftit minuti. Iżda biss biex ipoġġihom kollox fuq l-iskrin. Allura inti tista 'tara minnhom. Int ser ikollok ukoll il-ħila li jimmanipulaw fajls li jolqtu direttament mill-linja ta 'kmand. Int ser tkun tista 'kopja minnhom, li mċaqalqa, jew li jitneħħew, jiġifieri, effettivament, li dawn ikunu mħassra. L-IDE CS50 jagħtik l-sħiħ qawwa ta 'argumenti kmand linja. U dan ifisser li inti tista 'ukoll tagħmel affarijiet perikolużi ħafna. KOLLOX SEW. Per eżempju, inti tista ' tneħħi, jew li hija tħassar, fajl mingħajr ma titlob għal konferma. U inti tista 'saħansitra tneħħi recursively-- li l- il-sing r flag-- l kollu subdirectory u kollha ta 'kontenut tiegħu. KOLLOX SEW. Huma qed elenkata fl-aħmar għax inti għandu jaħsibha "Periklu" kull darba tara dawk l-affarijiet. KOLLOX SEW. Kull dritt. Issa finalment, l-affarijiet li huma se tkun verament importanti għalik, huma hemm tricks ftit tajba li tkun taf kif int tan-navigazzjoni permezz ta 'dan tieqa terminal. L-ewwel, inti tista 'b'mod ċar l-iskrin fil kwalunkwe ħin mill ittajpjar biss b'tipa ċara. U int ser tara me tagħmel dan spiss. Tista 'wkoll biss display it-test ta 'fajl billi jittajpja aktar u allura l-isem ta 'fajl. Int ser ikollok mbagħad tkun kapaċi li tiskrollja lura u raba ma 'dak biss mal-spacebar u vleġġa keys. Jekk għandek, kif għamilna llum fil lecture, programm li tkun għaddejja kontinwament fil loop infinita, inti tista 'twaqqaf dak il-programm minn eżekuzzjoni billi jittajpja fil-kontroll, li huwa azjenda fl Control-C. U inti jista 'jkollhom jagħmlu dan darba. Il-kompjuter gets bogħod minnkom. U inti xi kultant bżonn tagħtiha ftit jipprova qabel ma jkun fil-fatt se jsir permezz. Int ser tkun tista 'wkoll sort permezz tal-kmandi li inti biss ittajpjat bl-użu up ewlenin, vleġġa ewlenin, u allura l-vleġġa ewlenin isfel. U x'hemm aktar utli hija minflok ta 'tajping out ismijiet fajl twil, inti ser tkun tista 'lużu Tab biex AutoComplete struzzjonijiet ftit. Issa aħna qed tmur biex juru kollha ta 'dawk fi ftit tieni. Mela jekk inti ma tiftakarx minnhom, tinkwetax. Dawn huma affarijiet li inti ser pick up u użu kif aħna jmorru flimkien. KOLLOX SEW. Għalhekk fl C-- b'differenza Scratch-- C hija lingwa ikkumpilata. Dan ifisser li aħna qed tmur biex tieħu sors file-- dak l--test li tikteb, l-kmandi li tikteb, l- printf () dikjarazzjonijiet, il-linji, kollox else-- u aħna qed tmur biex jieħdu dan il-fajl u jgħadduhom off għal programm imsejjaħ il-kompilatur. L-kompilatur mbagħad tieħu dak it-test li inti stajt bil-miktub u din tissarraf f'azzjoni l-istruzzjonijiet binarja li l-kompjuter tiegħek huwa attwalment għaddejjin użu. Li sejjaħ l-oġġett jew il-fajl eżekutibbli. Jekk inti tħares lejn dan il-fajl, int ser biex tara d-kodiċi li ħadthom bil-miktub. Jekk inti tħares lejn dan il-fajl, int ser biex tara sekwenza każwali ta 'karattri li jagħmel ebda sens tkun xi tkun. Dak għax dan huwa l-binarju. Mhuwiex maħsub biex inti tkun qari. Madankollu, kwalunkwe ħin li inti tixtieq li run xi ħaġa, dak li int ser li tkun qed taħdem huwa dan il-fajl oġġett. Allura meta aħna naħdmu ma 'dawn fajls, aħna ser jiktbu fajl C. Aħna ser imbagħad josservawha, bl-użu kmand bħal make li se tinvoka l clang kompilatur għall-lingwa C. U li se tipproduċi oġġett fajl, bħal, jew f'dan il-każ, l-isem, fajl tiegħi, li stajt tpoġġi fil. Kull dritt. Mela ejja fil-fatt jipprovaw dan. So I ħarāet bil eżempju ta 'dak I riedu jippruvaw. U waħda mill-affarijiet li fascinates me huwa animazzjoni. Allura aħna qed tmur biex jipprova jagħmel xi ftit ta 'animazzjoni użu biss karattri ASCII. Karattri nistgħu jistampa faċilment issa. Allura hawnhekk huwa tentattiv aħjar tiegħi li joħolqu għalik l-animazzjoni ta 'bunny taħdem permezz tal-ħaxix twil. Hemm hu. KOLLOX SEW. Allura huwa ma taħdem s'issa, iżda huwa permanenti hemmhekk fil-ħaxix twil. Issa jekk jien kienu animatur, fil-iskola antika verżjoni ta 'animazzjoni, dak I se tagħmel huwa nixtieq jipproduċi stampa ta 'dan bunny il-ħaxix. U allura nixtieq jipproduċu picture-- ieħor ieħor dak li jissejjaħ cell-- li kienu l-fenek biss ftit mċaqalqa. U mbagħad terz wieħed li kellu l- fenek mċaqalqa ftit aktar. U jien jipproduċi kollu sekwenza ta 'dawn iċ-ċelluli. Xi fejn il fenek huwa fuq fuq in-naħa tax-xellug. U mbagħad timxi bil-mod, wieħed billi wieħed lejn l-nofs. U mbagħad mill-nofs fuq il-lemin. U jekk jien kienu mbagħad, tassew xxurtjati, I tista 'tpoġġi flimkien u I tista tanimhom. U hemm bunny tiegħi taħdem permezz-ħaxix. C'est PowerPoint kbir tiegħi trick għall-jum. KOLLOX SEW. Allura dan huwa tajjeb daqs jiġrilha. KOLLOX SEW. Allura, hawn waħda aktar ħin, hawnhekk hija tagħna bunny taħdem permezz-ħaxix. SPEAKER 19: Għal darb'oħra. BRIAN SCASSELLATI: One aktar ħin, id-dritt. Hemm bunny tiegħek. KOLLOX SEW. Hekk illum dak li aħna qed tmur tagħmel hu aħna qed tmur biex tipprova awtomatizzat il-proċess ta 'dawn iċ-ċelluli li jipproduċu. Aħna mhux se pjuttost jasal sal-punt ta ' jkunu jistgħu jpoġġuhom kollha flimkien. Iżda, aħna qed tmur biex tipprova awtomatizzat il- proċess ta 'ġenerazzjoni din is-sekwenza. U dan huwa ħafna minn dak animazzjoni illum huwa simili. Jiġifieri, inti ma tagħmel affarijiet bilfors billi tinġibed kollox bl-idejn. Aħna nużaw kompjuter biex awtomat partijiet minn dak il-proċess. KOLLOX SEW. So let me jisswiċċja issa li IDE CS50 tagħna. U jien maħluqa għall us-- u ħalli me zoom hawn bit-- ftit stajt maħluqa għalina punt tat-tluq. Kull darba li aħna nitolbuk biex ipoġġu isfel u jiktbu biċċa tal-kodiċi, dak li aħna qed verament inti titlob sabiex tagħmel huwa aħna qed titlob biex isolvu problema. U l-mod li għandek jaħsbu dwar kif isir dan huwa billi tibda ma 'xi parti sempliċi ta 'din is-soluzzjoni. U mbagħad jinbnew barra mill dik il-parti. U dan huwa dak li aħna qed tmur biex tagħmel illum. Allura minflok jipprovaw kollha f'daqqa li jikteb l-għanqud kollu ta 'kodiċi li l- ser jipproduċu dawk 10 ċelluli animazzjoni, aħna qed tmur biex tibda minflok ma 'biċċa waħda li xogħlijiet. U allura aħna ser nibnu ftit madwar li u ftit aktar u ftit aktar. Issa l-ħaġa tajba dwar soluzzjoni ta 'problemi b'dan il-mod huwa li se jippermetti li inti tibda dejjem ma 'xi ħaġa li taf xogħlijiet u tintroduċi bidla waħda gradwali. U li l-mod tajjeb ħafna biex jitgħallmu kif kodiċi, għax kull darba li inti tagħmel bidla, tara x'impatt għandha. KOLLOX SEW. Allura hawnhekk punt tat-tluq tagħna. KOLLOX SEW. Allura fil-bidu tal-fajl tiegħi, Stajt stdio.h #included hash. Li hekk li nista 'nikseb il- printf () funzjoni biex jaħdmu. I imbagħad I jkollhom funzjoni prinċipali tiegħi. U dan għadu jistenna ftit arcane jew oskura li xi wħud minnkom. Li OK. Kull ma jgħid hu li il-funzjoni ewlenija jieħu mezzi ebda arguments-- null xejn C. U prospetti skont il-konvenzjoni integer. Main dejjem jirritorna numru sħiħ, normalment kodiċi qal affarijiet marru tajjeb jew li ma marx tajjeb. KOLLOX SEW. Iżda prinċipali għandu jkollhom dik forma għalina dritt issa. Stajt mbagħad titqiegħed fi tliet linji ta 'kodiċi. U flimkien ma 'kull linja ta' kodiċi, stajt jitqiegħdu kumment. Issa waħda mill-affarijiet li aħna se tinsisti li inti tagħmel, u huwa tali importanti prattika programmazzjoni, huwa li dejjem jikkummentaw kodiċi tiegħek. Dejjem ikteb fi Xi ħaġa kumment English li taħseb li l- kodiċi suppost tagħmel. B'dan il-mod, aktar tard meta inti terga 'lura għal dan, inti tista 'tħares lejn din u inti tista' tgħid, oh, I remember dak I kien tipprova tagħmel ma 'dan. Jew meta TA tiltaqa stabbiliti miegħek biex jippruvaw jgħinuk fil ħinijiet tal-uffiċċju, dawn tista 'tħares lejn dan u jmorru, I tara dak li kienu qegħdin jippruvaw jagħmlu, imma minflok dan huwa dak li verament jiġri. KOLLOX SEW. So I ħadthom ltqajna tliet partijiet għall-kodiċi tiegħi, Jien ser ewwel nett print xi tikek fil-bidu. I ser ikollok mbagħad jistampa tiegħi fenek estremament fancy. U mbagħad ftit ftit ta 'tikek fl-aħħar. U dawn it-tliet dikjarazzjonijiet istampar għandu ħarsa familjari għalik f'dan il-punt. Dak kollu li qed nagħmel fil kull wieħed minnhom huwa jien stampar ta 'sekwenza ta' karattri. M'hemm l-ebda fatturi varjabbli involuti. Kollox huwa biss ċatt. KOLLOX SEW. Mela jekk jien jinżlu issa biex terminal-- tiegħi ejja ara jekk nista 'nikseb dan lura out-- u jien ser jerġa tip ċara. SPEAKER 20: Do aħna nużaw l- linja mmejla doppja biex jikkummentaw? BRIAN SCASSELLATI: Jista uża l-iva double--. Hemm modi multipli lill jħallu l-kummenti fil C. Wieħed mod huwa li tuża l-mmejla doppja. L-ieħor huwa l-użu slash u stilla u mbagħad mill-qrib bi stilla u slash. Kull dritt. L-ewwelnett, jien ser tibda jinnavigaw madwar hawn. Mela jekk mmur direttorju dar tiegħi, Stajt direttorji inbidlet hemm, Jien ser tfittex u tara x'hemm f'dak direttorju, ls, lista out. Jien ser tara li stajt ltqajna żewġ subdirectories. Ejja jagħmlu dan ftit akbar hawn sabiex inkunu nistgħu kollha jarawha. I jista 'jara li stajt ltqajna żewġ subdirectories. I ser bidla direttorju li jmorru fis workspace. U jien ser biss tip out parti minnha, u mbagħad biss hit Tab. U inneħħu tikkompleta l-bqija għalija. Fancy. I ser tħares u ara fil workspace. U d-dritt issa, jien jaħdmu fuq il SuperSection li aħna qed tagħlim dritt issa. So I ser imorru f'dak direttorju. U fl-aħħarnett, ħarsa u ara. U stajt ltqajna dan il-fajl bunny.c. Kull dritt so let me ċar għal darba oħra. U jien ser now-- darb'oħra jien xorta joqogħdu f'dak direttorju u huwa javżak me jien fil li direttorju SuperSection. Jien ser jimxi 'l quddiem u tagħmel fenek programm tiegħi. U dak il-kmand, jagħmlu bunny, filwaqt rokits ftit fard, tinvoka wkoll l-kumpilatur clang. U huwa prodott għall me output li huwa AN li funny-- eżekutibbli fajl eżekutibbli imsejħa bunny. KOLLOX SEW. I jistgħu mbagħad, u dan ħsejjes saħansitra agħar, tesegwixxi bunny. KOLLOX SEW. U ejja ara dak li tagħmel. KOLLOX SEW. Li xi ftit ta ' dak Jien kont qed nistenna. Stajt ltqajna stampa fenek tiegħi fil hemm, imma jien tip ta 'ridt kollha minnu stess. What did I miss? SPEAKER 21: Slash l jew mmejla n. BRIAN SCASSELLATI: Slash n. KOLLOX SEW. Mela ejja jmorru lura out here. U jien ser tikseb minn dak. U jien ser imorru lura fis dan wieħed. U ejja tagħti ħarsa issa mill-funzjoni prinċipali tiegħi hawn. Allura x'għandi nagħmel? I tixtieq li ttemm il-linja. So I ser jitqiegħdu fi kumment. I ser jitqiegħdu fil-printf (). U dak li għandi biex tistabbilixxi? / n. KOLLOX SEW. What do I jkollhom biex tintemm bl? Virgola. Kull dritt. Issa, wieħed mill-verament affarijiet importanti huwa li tiżgura kull darba li inti tagħmel bidla fil-kodiċi tiegħek, li inti tiffranka. Jekk int ma ssejvjata kodiċi tiegħek, int ser avviż stilla ftit up hemm. U li star tgħid li inti ma salvat dan il-kodiċi. Jekk I josservawha dritt issa, mhuwiex ser jirriflettu kwalunkwe minn dawk il-bidliet, minħabba li l-kumpilatur iħares lejn il-file li fuq id-diska, mhux il-fajl li l- tiftaħ fl editur tiegħek. Kull dritt. Mela ejja ħlief u mbagħad aħna ser imorru dritt fuq l isfel hawn, terga 'lura out. Tinżel għal terminal tiegħi. U ejja ċar l-ispazju mill-ġdid. U aħna tista 'tmur quddiem u wieħed aktar ħin jagħmlu program bunny tagħna. U jesegwixxi l-fenek. Li ma ħadmux jew. Slash ħażin. Mela jekk inti tħares lejn dak li stajt ltqajna, nressaq / n fil hemm, imma kelli l-mmejla ħażin. Dak kollu li kompjuter tiegħek ma huwa espliċitu ħafna. KOLLOX SEW? Wieħed żball żgħir ta 'punteġġjatura, u f'daqqa waħda inti ma tieħux dak li trid. Kull dritt. Mela ejja zoom lura mill-ġdid. Aħna ser imorru lura. Ukoll tagħmel li t-tiswija malajr ħafna. Aħna ser tpoġġi l-mmejla dritt. Aħna ser tiffranka. Aħna ser zoom lura fil. Għal xi raġuni, li mhux jkunu kuntenti, imma ejja imorru quddiem u aħna ser imorru lura fit-terminals hawn. Ċar it up. Aħna ser zoom. U wieħed aktar ħin, aħna ser tagħmel fenek. U issa żgur biżżejjed, hija taħdem. Hooray. KOLLOX SEW. Mela ejja jippruvaw jagħmlu dan ftit aktar ġenerali. Ejja ara jekk minflok sempliċiment istampar frame wieħed partikolari, ejja ara jekk nistgħu nagħmlu dan sabiex inkunu nistgħu nikseb kollha 10 ta 'dawk frames animati li ridna li jkollhom. Għalhekk għal darb'oħra, ejja tagħti dan pass fi żmien. Ejja ewwel tiġġeneralizza dan, mhux hekk li nagħmel l-frejms, imma so I do xi wieħed qafas li I tista 'tixtieq. Allura x'inhu l-differenza bejn il-frejms? Huwa l-fenek l-istess? UDJENZA: Iva. BRIAN SCASSELLATI: Yeah. X'hemm differenza? UDJENZA: Pożizzjoni. BRIAN SCASSELLATI: Pożizzjoni tagħha, id-dritt? U kif nista tikkontrolla l-pożizzjoni tiegħu? Kif tikek ħafna jien tqegħid fil-bidu u kemm tikek jien tqegħid fl-aħħar. So I kellha ħamsa fil- bidu u ħamsa fl-aħħar. Ejja jissostitwixxi dik ħamsa ma 'għall loop. KOLLOX SEW. U jien ser toħloq għall loop issa li għaddej biex ngħid, Jien ser jistampaw xi numru ta 'tikek fil-bidu. Jien ser tuża varjabbli. Ejja ngħidu, kif madwar i kif l-counter fil-linja tiegħi. U jien ser tiddikjaraha top up. U mbagħad fil-linja għal I bżonn tagħmel tliet affarijiet. L-ewwel ħaġa I bżonn tagħmel huwa I bżonn initialize i. X'għandi I initialize li tibda tkun? 0. KOLLOX SEW. Imbagħad I bżonn li jgħidu, x'hemm il-kundizzjoni terminazzjoni? Meta għandi tieqaf? Well kemm tikek taħseb tixtieq li jistampaw fuq dan wieħed? UDJENZA: Five. BRIAN SCASSELLATI: ħames darb'oħra? Kif dwar ejja jagħmlu xi ħaġa differenti, għamilna ħamsa. Ejja juru li huwa differenti. SPEAKER 22: Żewġ. BRIAN SCASSELLATI: Żewġ. KOLLOX SEW. Mela jekk irrid żewġ tikek, x'għandi nressaq hawn? UDJENZA: Tliet. BRIAN SCASSELLATI: Tliet. KOLLOX SEW. Kif ħafna drabi hija li se jmorru permezz? Li għaddej biex jgħaddu tliet darbiet, 0, 1, u 2, Dritt? Kull dritt, ejja mur lura għal tnejn. Issa aħna ser tingħata żewġ tikek. U dak ma nixtieq li tagħmel kull darba li mmur permezz tal-linja? Liema għandha tinbidel kull darba li mmur permezz? SPEAKER 23: Żid dot. BRIAN SCASSELLATI: I għandhom jibqgħu għaddejjin. Jien ser iżżid dot. Jien ser jistampaw dot, kull darba permezz tal-linja. Imma kif jien iżżomm rekord ta 'kif ħafna drabi stajt kien permezz tal-linja? Jien jużaw i, li varjabbli, li counter. Allura kull darba permezz ta ', jien ser li inkrement-counter minn wieħed. Issa, dan huwa l-istess għall me kif qal i = i + 1. Li OK. I tista 'tagħmel dan that-- I bħall- tajpisti, hekk jien se ngħid i ++. KOLLOX SEW. Ejja jagħmlu l-istess ħaġa stabbiliti hawn fil-qiegħ. Biss I tip ta did li wieħed. Jien ser tavżak guys tagħmel dan wieħed kompletament. Kull dritt. Allura dak li nikteb hawn? Hawn tiegħi għal loop. Jien ser tagħmel printf () u jien ser biex tagħmel dan hekk li jien biss jistampaw wieħed dot fuq dik qiegħ. X'għandi I write ġewwa dan għal loop issa? Ukoll, qabel kollox dak varjabbli għandi nuża? SPEAKER 24: j. BRIAN SCASSELLATI: I jistgħu jużaw j. Nista 'nuża l-istess waħda? Nista 'nuża i mill-ġdid? Yeah. Dak OK, minħabba li l-Jinsab li jien jużaw up here, I m'għandhomx bżonn jerġgħu meta I nikseb stabbiliti għal dan il-punt. Allura dak li jien initialize i li? SPEAKER 25: 10. BRIAN SCASSELLATI: 0. X'għandi I check? Kemm tikek għandi bżonn issa fl-aħħar jekk Stajt ltqajna żewġ tikek fil-bidu? I bżonn tmien fl-aħħar, sabiex dak għandi jivverifikaw, i inqas than-- UDJENZA: Seba, tmienja, disgħa. BRIAN SCASSELLATI: Smajt sebgħa. Smajt tmienja. U smajt disa. KOLLOX SEW. Allura aħna qed kollha fid-dritt ball-- Jason jgħid 10. KOLLOX SEW. Jekk I meħtieġa żewġ tikek għal l-ewwel waħda, kemm do I-- u għandi bżonn tmien tikek għall- aħħar one-- Nressaq żewġ up hawn fuq, x'għandi nagħmel jħott hawn taħt? UDJENZA: Tmienja. BRIAN SCASSELLATI: Tmienja. Minħabba li għaddej biex għadd żero permezz sebgħa. U li tmien darbiet permezz tal-loop. KOLLOX SEW. U dak li nagħmel fl-aħħar? UDJENZA: i ++. BRIAN SCASSELLATI: i ++. Kull dritt. Allura li qed ifittxu pjuttost tajba hemmhekk. Ejja nippruvaw dan u ejja ara dak li tagħmel. KOLLOX SEW. Allura aħna qed tmur biex isalvawh. Nizza u salvati. Aħna ser zoom lura out. Aħna ser jippruvaw hawn fit-terminal. Aħna ser zoom. Oops. Aħna ser, wieħed aktar ħin, jagħmlu program fenek tagħna. U jimxi 'l quddiem u tesegwixxi bunny. U hemm hu. Allura hemm bunny tagħna. Fejn għandu żewġ tikek fil-bidu u tmien tikek barra fl-aħħar. Kulħadd għadu miegħi? KOLLOX SEW. Allura aħna mibnija it up. Aħna mibnija fenek waħda, frame wieħed partikolari. Issa aħna kont qed kapaċi tiġġeneralizza li biex jibnu aktar, tipi differenti ta 'frejmijiet. Issa ejja aqbad, u jkollhom dan jiġġenera mhux biss wieħed frame, imma ejja jiġġeneraw 10 frejms, fejn aħna bil-mod jagħmlu l-fenek jiċċaqalqu kollha il-mod madwar il-qasam. Kull dritt. Ejja ħa mmorru lura. U aħna ser nippruvaw issa. Mela xi do I really bżonn għall-bidla hawn? What do I bżonn għall-bidla? SPEAKER 26: Inti l-ewwel bżonn biex jibdlu l-għadd ta 'massimu tikek fil-bidu. Għaliex jekk aħna qed tagħmel 10 tikek, li għaddej biex bżonn sa iskala. BRIAN SCASSELLATI: Yeah. Allura issa dritt I jkollhom dan it-tip ta hardwired li dejjem tagħmel żewġ tikek fil-bidu u dejjem jagħmlu tmien tikek fl-aħħar. Irrid li jibnu linja ieħor, id-dritt? Minħabba I ma jridux jibnu biss stampa wieħed fenek, Irrid li jibnu 10 stampi bunny. So I bżonn li tinbena linja ieħor, u kif I jgħaddu dik loop, I trid tibdel kemm tikek I jistampaw fil-bidu u kemm tikek I jistampaw fl-aħħar, ibbażati fuqhom ċiklu permezz tal-linja Jien fil. Kull dritt. Mela ejja nikseb counter ieħor. Xi ħadd qabel qal j, hekk aħna ser tagħmel j ieħor. U issa, aħna qed tmur biex jibnu ieħor għall loop. Dak li jmur ġewwa li loop? Dan il-għalf irid imur ġewwa l-linja, id-dritt? Il-fenek jkollhom li jmorru ġewwa l-linja? Għandi bżonn fenek fl kull waħda minn dawn 10 frames? UDJENZA: Uh-huh. BRIAN SCASSELLATI: Yeah. Irrid fenek f'kull mill-10 frames, id-dritt? Kif dwar l-tikek fil l-aħħar, għandi bżonn dan? KOLLOX SEW. Hekk jien ser inċiż kull wieħed minnhom. Jien ser tenfasizza kollha dan, u jien ser jintlaqtu Tab. U li għaddej biex jimbuttaw lilhom kollha fuq ftit, b'tali mod li huwa faċli għalija biex tara x'hemm fil-linja. U mbagħad I ser jispiċċaw dan. Ejja ngħidu. KOLLOX SEW? Issa, f'dan il-loop li Jien Whoops building--, tagħmel li sabiex inti tista see-- Stajt ltqajna counter j tiegħi. I ser beda dan ta '0. Kif ħafna drabi ma nixtieq li jmorru permezz ta 'dan loop? UDJENZA: 10 darbiet. BRIAN SCASSELLATI: 10 darbiet. Allura dak in-numru għandu nressaq hawn? UDJENZA: 9, 10. BRIAN SCASSELLATI: 9, 10, xi ħadd ltqajna biex jgħidu 11, id-dritt? Jien ridt żewġ tikek qabel u mqiegħda i inqas minn 2. Jien ridt tmien tikek, Nressaq i inqas minn 8. Issa nixtieq li jmorru permezz 10 drabi, so I tpoġġi j inqas than-- UDJENZA: 10. BRIAN SCASSELLATI: 10. Hemm immorru. U x'għandi nagħmel fl-aħħar li j? ++, Inkrement dan. KOLLOX SEW. Issa, hawnhekk l-parti delikata, x'hemm jiġri dritt issa jekk nagħmel dan? Am I morna għall-istampa 10 frames? SPEAKER 27: Naħseb dawn kollha ser ikunu l-istess. BRIAN SCASSELLATI: Huma ser kollha jkunu l-istess, id-dritt? Minħabba li kull wieħed minnhom għadhom għaddejjin li tqiegħed żewġ tikek fil-bidu. Imma jien ma jriduhomx kollha li għandhom żewġ tikek-bidu. Kemm tikek do I tixtieq fil-bidu? UDJENZA: Nibdlu. BRIAN SCASSELLATI: I tixtieq għall-bidla, id-dritt? Mela xi do għandi hawn li l-jinbidlu kull darba li l-linja tmur permezz? UDJENZA: Numru ta 'tikek, j. BRIAN SCASSELLATI: j, in-numru ta 'tikek. So I jistgħu jbiddlu dan ikun j. L-ewwel darba permezz tal- loop, dak li li għaddej biex tkun? What do I sett j biex primarjament? UDJENZA: 0. BRIAN SCASSELLATI: Allura kif ħafna drabi am I se tagħmel dan? 0. It-tieni darba min-loop, j tal se tkun l-1 minħabba I inkrement fiha. Kemm tikek am I morna għall-istampa? 1. It-tielet darba permezz tal-linja, kemm tikek am I morna għall-istampa? UDJENZA: Tliet. BRIAN SCASSELLATI: j se jkun ta '3. Kemm tikek am I morna għall-istampa? Oh, sorry, j għaddej biex tkun ta '2. Kemm tikek am I morna għall-istampa? UDJENZA: 2. BRIAN SCASSELLATI: 2. OK, hekk jien ser iżommu inkrementazzjoni li kif aħna jmorru flimkien. Kif dwar stabbiliti hawn taħt? Liema jinżel hawn? Ma rridx 8 dejjem fl-aħħar jibqgħalu? SPEAKER 28: 10. BRIAN SCASSELLATI: Irrid 10 tikek? Irrid li jibdlu, wisq. Allura kif nixtieq li bidla? UDJENZA: [inaudible]. BRIAN SCASSELLATI: Well, jekk I għandhom ħames tikek fil-bidu, Kif jgħid dot ħafna nista 'nikseb fl-aħħar? UDJENZA: Five. BRIAN SCASSELLATI: Jekk ikolli sitt tikek fil-bidu, kemm nista 'nikseb fl-aħħar? UDJENZA: Erba. BRIAN SCASSELLATI: Jekk sibt seba tikek fil-bidu, kemm nista 'nikseb fl-aħħar? UDJENZA: Tliet. BRIAN SCASSELLATI: Jekk stajt ltqajna tikek j fil-bidu, kemm nista 'nikseb fl-aħħar? 10-j. KOLLOX SEW. Mela ejja jippruvaw li l-. Hekk jien ser jiffranka programm fenek tagħna. Għal darb'oħra aħna ser zoom out. Aħna ser jinżlu għal terminal tagħna. Aħna ser ċar dan. U zoom in. Aħna ser tagħmel programm bunny tagħna, għal darb'oħra. U aħna ser esegwit. Uh-oh. Żomm fuq, ejja zoom out. Did I nikseb 10 frames? Ukoll, kemm bunnies narax up hemm? 1, 2, 3, 4, 5, 6, 7, 8, 9, 10. Sibt 10 frames. Dawn huma kollha l-istess? UDJENZA: Yeah. No BRIAN SCASSELLATI: Le Li l-ewwel waħda, il- fenek huwa ħafna fuq ix-xellug. U hawn, il-fenek huwa ħafna fuq il- SPEAKER 29: Dritt. BRIAN SCASSELLATI: Allura, dak li ma ninsa li tagħmel? SPEAKER 30: Ibda linja ġdida. BRIAN SCASSELLATI: Insejt biex tibda linja ġdida, għal darb'oħra. Istess żball I magħmula qabel. Kull dritt, ejja go jiffissaw dak. Issa, stajt għadhom kisbu l-kodiċi fil hemm biex jagħmlu linja ġdida. Għaliex ma taħdem? SPEAKER 31: Mhuwiex ġewwa l-linja. BRIAN SCASSELLATI: Oh, mhuwiex ġewwa l-linja. Dak id-dritt. Huwa seduta barra hawn. U l-linja huwa kollox għal dan huwa ġewwa dak it-test. Hekk jien ser jiċċaqalqu dan ġewwa l-għar loop. U jien ser Tab quddiem ta 'dan lill juru li huwa fil-post it-tajjeb. U issa, aħna ser tiffranka mill-ġdid. Aħna ser zoom out. Aħna ser jisswiċċja għall terminal tagħna. Zoom. Aħna ser remake programm bunny tagħna. U issa, issa konna ltqajna 10 frejms tagħna. [Clapping] BRIAN SCASSELLATI: OK. So. Hawnhekk huwa tagħna nested għal-linji. Konna kapaċi jiġġeneraw fil- loop ġewwa kemm tikek jien ridt li jistampaw fil-bidu, fl-aħħar. U l-linja ta 'barra kkontrollata kif frames ħafna I kien bini. Bdejna bi ftit wieħed għadma tal-problema, u aħna mibnija barra mill-punt. Kull dritt. Ejja nagħmlu pass aktar. Inti lest? Hemm ħaġa waħda fil hawn fejn konna attwalment tip ta 'ltqajna aktar kumplessità milli għandna bżonn. Ejja tagħti ħarsa. Allura fil-programm bunny tagħna, jekk I zoom out hawn, I attwalment jagħmlu xi wħud mill-istess ħaġa aktar u aktar mill-ġdid. What do I do dan huwa tip ta ' l-istess ħaġa ripetuti darbtejn? SPEAKER 32: Stampa l-tikek. BRIAN SCASSELLATI: Yeah I jistampaw dawk tikek darbtejn. Really, I għandu jkollhom dan il-kumment stabbiliti hawn. I jistampaw xi tikek fil- bidu, id-dritt up here. U mbagħad I jistampaw xi tikek fl-aħħar. U jien tip ta 'eżattament l-istess ħaġa. Dak li aħna qed tmur biex tibda jaħdmu fuq fil-ġimgħat li ġejjin qed kapaċi li tieħu dawk il-blokki ta ' kodiċi li nużaw aktar u aktar mill-ġdid, u permezz ta 'proċess imsejħa estrazzjoni, aħna qed tmur biex tiġbed out u jiktbu għalihom ladarba sabiex inkunu nistgħu mbagħad jerġgħu jużawhom aktar u aktar mill-ġdid. Mela ejja jippruvaw dan. Lest? Aħna qed tmur biex tieħu din blokk ta 'kodiċi. U jien ser teħodha minn hemmhekk. U jien ser define-- stabbiliti fuq il-qiegħ, Jien ser jiktbu funzjoni ġdida. Mhuwiex ser jirritornaw xejn. U jien ser sejħa hija printDots. Huwa ser jieħu waħda argument, integer li jgħid howManyDots I għandhom jistampaw. U issa minflok ta 'stampar tikek j, I ser print tell howManyDots I għandhom jistampaw. U hemm problema waħda ftit hawn. Kulmin jafu għalxiex? What do I jkollhom li l-elenkat fil hawn li mhux definit? UDJENZA: [inaudible] BRIAN SCASSELLATI: Well kif ħafna tikek hija definita dritt up hawn, imma jien jużaw dak il-varjabbli i. Hekk jien ser jieħdu dik varjabbli i u jien ser jiddefinixxu l-isfel fil hawn minflok. Allura issa li għaddej biex stay-- oops, ltqajna l-limiti lock fuq somehow-- jien se jżomm i fl hawn. Allura issa hawnhekk funzjoni tiegħi ftit jew sub-rutina, u jgħid, kemm tikek am I morna għall-istampa? U inneħħu jmorru permezz ta 'dan loop u tipprintjahom fuq u aktar mill-ġdid. I jistgħu mbagħad emendat il-programm tiegħi up here. U dak li għamlet I-sejħa dik il-funzjoni? printDots. So I ser sejħa printDots. Kemm tikek ma nixtieq li jistampaw l-ewwel darba qabel il-fenek? UDJENZA: j. BRIAN SCASSELLATI: j. Kemm tikek ma nixtieq li jistampaw fl-aħħar, wara l-fenek? 10-j. U hemm ħaġa waħda jien nieqsa. Kif inti raw fil lecture llum, aħna qed tmur biex tiddikjara printDots up fuq imsemmi sabiex il-prototip. KOLLOX SEW. Allura dak I ghamilt hija stajt ppruvaw jiżolaw dik il-parti jerġgħu jintużaw mill-kodiċi li jien ghamilt fuq u aktar mill-ġdid. U stajt ppruvaw pull it out b'tali mod li kollha ta 'dak tinsab f'post wieħed. B'dan il-mod, jekk ikolli żball x'imkien, I biss ikollha tiffissa lilha fil-post wieħed. Kull dritt. Mela ejja isalvawh. U ejja kun żgur taħdem. Mela ejja jmorru barra. Aħna ser imorru għal darb'oħra biex terminal tagħna. Aħna ser zoom. Aħna ser tagħmel dak il-proċess bunny. Oh. U huwa tani twissija. X'inhu javżak me? Ukoll fi kwalunkwe minn dawn drabi, inti dejjem trid iscroll sal-ewwel error-- issa fuq dan wieħed, stajt biss ltqajna wieħed. Hija jgħidlekx me fil bunny.c, fuq il-linja 8, kolonna 9, hemm problema. Hija tgħid, inti ħadthom iddikjarat dan varjabbli iu inti ma jkunux użati. Issa normalment, li l- mhux l-agħar żball. Li wieħed faċli biex jiffissaw. U fil-fatt, nistgħu mmorru lura fl. Aħna tista 'tmur lura bunny. U f'dan il-każ, kollox aħna għandek tagħmel hu jeħles i, għaliex aħna ma tkunx qed tużah i fi ħdan prinċipali aktar. Aħna biss tużaha fi ħdan is-rutina tagħna. Mela ejja ħlief li. Aħna ser imorru lura. U zoom in. Aħna ser waħda aktar ħin tagħmel fenek. U hemmhekk mill-ġdid huma 10 frames tagħna. KOLLOX SEW. Kwalunkwe ħin li inti qed tingħata a procedure-- Yeah. SPEAKER 33: I jkollhom a-- jien konfuż. Inti tista 'tmur lura għall-kodiċi? BRIAN SCASSELLATI: Yep. SPEAKER 33: Allura, meta inti kiteb prototip tiegħek, l-argument inti kieku jismu kien jissejjaħ howMany? Iżda, below-- BRIAN SCASSELLATI: Oh yeah. SPEAKER 33: --called xi ħaġa differenti, ma nifhimx. BRIAN SCASSELLATI: Għaliex dawn huma differenti. Allura li l-kwistjoni kbira. Għalhekk il-kwistjoni kienet, sa hawn, I kiteb howMany, u 'l isfel hawn taħt, I kiteb howManyDots. Ir-raġuni hija li fil prototip tiegħek, huwa fil-fatt ma tingħata attenzjoni għal ismijiet li int tqegħid fil. Kollha li verament cares dwar hija li huwa integer. Hija trid tkun taf l-formola ta 'dak li qed tqegħid fil. Issa stylistically-- oops-- dak I għandhom do, huwa I simili li jagħmlu dawn jaqblu. KOLLOX SEW. Minħabba li ser tkun jżommha aktar faċli għalija li wieħed jiftakru. Iżda dan kien żball tiegħi Yeah. SPEAKER 34: U dan għall- prototip li jaħdmu, biss miktub li linja, kitba l prototip, tippermetti li l-funzjoni li jiġi dritt taħtha biex tmur fil-aħħar u jerġgħu jieħdu lura dak li tfisser? BRIAN SCASSELLATI: Li jfisser huwa meta l-kumpilatur tmur permezz, din tmur mill-quċċata tal kodiċi tiegħek mal-qiegħ. U dak li dan prototip hu, huwa bażikament wegħda. Hija tgħid, hemm għaddej li jkun funzjoni definita x'imkien. Huwa ser tkun imsejħa printDots. U li għaddej biex tieħu argument wieħed li għaddej biex tkun numru sħiħ u li għaddej biex jirritorna xejn, tip null. KOLLOX SEW. I wegħda inti li għaddej biex tkun definiti x'imkien fl-triq. Iżda kwalunkwe ħin li inti tara li, kif inti jinżlu permezz tal-bqija tal tiegħi funzjoni prinċipali, nixtieq inti biex jikkura li bħala funzjoni li jieħu input numru sħiħ wieħed. U hekk meta l-kumpilatur jinżel permezz ta 'dan, jara li jippromettu. U meta jiġrilha l isfel, jżomm għaddejjin, iżomm għaddej, issib l-ewwel darba printDots huwa msemmi. U jgħid, Oh, int tagħti me dan j. j s integer. Well inti wiegħed lili li jkun integer u li d-dritt. Li OK. U mbagħad finalment, down fil-qiegħ nett, qabel ma niġi sa l-aħħar ta 'tiegħi fajl, I jagħmlu tajjeb il-wegħda tiegħi u I jiddefinixxu dan. KOLLOX SEW? SPEAKER 35: Għalhekk, saves-- il programm se jiffrankaw spazji vojta li din tmur lura u jimla fl-aħħar? BRIAN SCASSELLATI: Mhuwiex dwar l-allokazzjoni memorja. Huwa fil-fatt biss dwar dak tip huma inti jistennew biex tara. Jekk dan ħaġa jkollhom waħda argument, jew ħames argumenti? Għandu jkollhom it interi jkun mogħti lilha, jew kordi? Li kollox huwa tfittex tagħmel huwa li jiċċekkja, huma inti tagħti me l- tip ġust ta 'argument. KOLLOX SEW? Kull dritt. Let me tħallik ma bit waħda oħra li tħares lejn. Art ASCII mhuwiex il-mudell kbir ta 'animazzjoni kif inhi llum. Imma xi nies ta 'kors jieħdu l-affarijiet u huma timbotta għall-estremitajiet tagħhom. Dan huwa, bħala David wera fi lecture, biċċa tal-kodiċi li inti fl-ebda ċirkustanza jippruvaw duplikat yourselves. Minħabba li huwa terribbli stylistically. Fil-fatt, hija mfassla biex tkun diffiċli kemm jista 'jkun biex jinqara. KOLLOX SEW. Allura, biex jagħmlu mill-ġdid, ejja zoom hawn. Jien se jmorru issa, direttorju bidla. Jien ser jitla 'wieħed livell, lura għall workspace tiegħi. I ser mbagħad bidla direttorju fis dan direttorju oħra li stajt maħluqa. U dan huwa l-International Obfuscated Programmazzjoni C Contest. Mezzi obfuscated bħala hard kemm jista 'jkun biex jifhmu. Allura jekk jogħġbok, ma jkun jibża jekk inti tħares f'dan u jmorru, I ma tista 'taqra dan. Dik hija l-punt ta 'dan. KOLLOX SEW? Iżda, aħna għandna dan programm isbaħ li jien ser tħares lejn bi ftit ittajpjar aktar. U ejja ara jekk I tista 'zoom out biss daqsxejn, sabiex inti tista 'tara U dan huwa l-programm. Huwa msemmi endo.c. U jidher qisu dan barmil ma ' tip ta 'l-ittri F-L-U-I-D fiha. Dan huwa attwalment program. Huwa bil-miktub fil-aktar joskuraw mod li l-awturi tista 'possibilment tiktibha. Imma hija biċċa ftit isbaħ li jiġġenera mudell ta 'dinamika ta' fluwidu. U hekk aħna qed tmur biex jagħtu li mudell input li tidher bħal dan, ta ' staired sett ta 'kontenituri ma 'xi fluwidu, xi likwidu, fil-quċċata. U aħna ser ikollhom it jissimulaw dak li qed jiġri lilu. So I ser sejħa dik il-funzjoni, endo. U jien ser tagħtiha l input fajl li I kellna. U hemm epitome tagħna ta 'arti ASCII. A simulatur full dinamiku fluwidu tmexxija fi ftit linji ta 'kodiċi. Issa x'hemm attwalment verament aqwa dwar dan il-programm ftit huwa li nixtieq li jitwaqqaf issa, hekk jien ser tuża dak kmand? UDJENZA: Kontroll-C. BRIAN SCASSELLATI: Kontroll-C. KOLLOX SEW. So I ser tuża Control-C. C Li ser jitwaqqaf. I ser ċar mill-ġdid. U issa jien ser tinvoka l- programm, teżegwixxi l-programm, użu ruħu bħala input. U aħna ser tara l-dinamika fluwidu simulazzjoni ta 'dan tidwib. KOLLOX SEW. Jekk jogħġbok ma let li programm jkun il-ħaġa li ma tfixkilx inti. Huwa biss hekk li nistgħu jispiċċaw fuq xi ħaġa jibred u interessanti. KOLLOX SEW. Aħjar ta 'xortih ma' settijiet problema tiegħek. Aħna ser jkunu kuntenti li tirrispondi mistoqsijiet wara klassi. Grazzi ħafna, guys.