>> [Muzikos grojimo]
JASON Hirschhorn: Gerai, visi.
Sveiki atvykę į skyrių.
Tai CS50, mūsų labai Pirmasis Super skyriuje.
Kaip jūs visi žinote, kitą savaitę reguliariai skyriai pradės,
bet šią savaitę mes visi kartu.
>> Yra save.
Mano vardas Jason.
Aš kompiuterių mokslo dėstytojas.
Mes turime Andi, Kas yra vadovas TA iš CS50.
Ir Scaz, profesorius Brianas Scassellati, jis yra Kompiuterių mokslo profesorius.
>> Mes esame CS50 vadovai Jeilio.
Jūs visada galite elektroniniu paštu mums heads@cs50.yale.edu.
Mes bus paskaitas.
Mes bus ne darbo valandomis.
Jei kada nors ką mes galime padaryti už jus, viską, ką reikia,
nedvejodami pasiekti mums.
>> Taigi, ką mes ketiname daryti šiandien?
Arba iki to, kas artėja šią savaitę?
Taigi darbo valandos yra pirmadieniais, antradieniais, Trečiadienis, ir ketvirtadienį, 08:00 į 11:00.
Yra interneto svetainėje tvarkaraštis.
>> Skyriai, kaip jau minėjau, pradeda kitą savaitę.
Ir jūs pamatysite, šią savaitę ką Laikas jūsų skyriuje yra, kas dieną ji yra,
ir kas yra jūsų TA.
>> Problema Set 1 yra dėl ne ketvirtadienį vidurdienį, penktadienis vidurdienį su pavėluotu dieną.
Taip, jūs turite devyni vėlai dienas.
Ir yra devyni problema rinkinių.
Ir gali naudoti tik vieną vėlai dieną per problemą, rinkinį.
Taip, iš tikrųjų, viskas, problema rinkiniai yra dėl penktadienį vidurdienį.
Tai viskas.
Visa tai informacija yra mokymo programą.
>> Kiekvieną penktadienį, mes turime pietūs.
Mes norėtume, kad šis didelis Žinoma jaustis šiek tiek mažesnis.
Taigi kviečiame Jus atsakyti.
Nemokami pietūs su kolegomis KLASIOKAI ir darbuotojai.
cs50.yale.edu/rsvp.
>> Visi šie dalykai, kad Aš ekrane,
ir daugiau, galite rasti cs50.yale.edu arba cs50.harvard.edu, jei jūs einate į Harvardo
ir žiūrite šį internete.
>> Taip pat šių svetainių, ten Yra išteklių jums tonų.
Kiekvienas paskaita ne tik video Paskaitos, tačiau taip pat pažymi.
Kažkas bus žiūrėti paskaita ir užsirašinėti už jus.
Taigi, galite tiesiog mokėti Dėmesio paskaitų metu,
arba galite naudoti savo pastabas / DUK pažymi, papildyti savo pastabas.
>> Yra skaidres internete.
Šaltinis code-- viską Davidas eina per į paskaitą,
arba Scaz eina per paskaitą, kad kodo yra prieinami internete
taip pat, kaip pavyzdžiui, I, minėta vaizdo įrašus.
>> Skyriai, taip pat, visi bus filmuojami.
Visų šių skaidres bus galima gauti.
Visa tai kodas bus būti prieinamas jums.
Yra šortai dėl svetainė, kurioje CS50 darbuotojai praleidžia nuo penkių iki 10
min išgyvena pranešimus jums.
Kai kurie iš jų jau ve susidūrė probleminėse rinkinių.
>> Darbo laikas, kaip jau minėjau, nuo pirmadienio per ketvirtadieniais, 8:00 iki 11:00.
CS50 tyrimas yra fantastinis išteklių.
Yra praktikos problemas, Imties skaidres, žinomas klaidas
kad studentai norėtų paleisti į, už kiekvieną iš esmės temoje
apims šiame kurse.
>> Ir galiausiai, dėl šio šliaužiklio bent Reference50
kuri suteikia jums informaciją dėl visų C ​​funkcijų
jūs kada nors galėtų galbūt tikiuosi naudoti ir daug, daug daugiau.
>> Vėlgi, kad dot dot dot metu iš ekrano apačioje
tai rodo, kad net daugiau išteklių šių dviejų interneto svetainėse:
cs50.yale.edu, cs50.harvard.edu.
>> Taigi, ką mes darome šiandien?
Na, visų pirma aš ruošiuosi duoti peržvelgsite išteklius.
Jau padariau, kad vienas.
Pažvelkite į mus.
>> Dabar mes ketiname eiti per duomenų tipai ir operatoriai C
Tada Ieva ateis čia ir eiti per bibliotekų C, printf ()
funkcija, su kuria jau esate žinomomis ar greitai taps labai
pažįstamas.
Ir jūs taip pat eiti per Conditionals ir kilpas.
>> Ir tada, pagaliau, Scaz eis per CS50 ID.
Jei turite ne dove į jau probleminėse Set 1,
o taip pat, kaip naudoti terminalo ir naudingų komandų
ir tada duoti jums keletą demo ir praktika kodavimas į CS50 ID.
>> Prieš šokinėti tai turinys šioje pusėje,
Ar kas nors turite kokių klausimų iki šiol?
Didysis.
GERAI.
Keisdamas pavaras.
>> [Keisdamas pavaras]
>> Tai buvo man perkeliant pavaras rankiniu automobilį.
Taigi duomenų tipai C, jūs galite ne tik turi kintamasis x ir turi būti, on-line 10
sveikas skaičius, gal skaičius 1, on-line 20, dešimtainis skaičius 10.5,
ir tada pora linijos vėliau seka, aš myliu CS50.
>> C, kintamieji gali būti tik vienas dalykas, ir tik vienas dalykas.
Ir todėl jūs turite suteikti jiems tipus.
Ir šioje diskusijų lentoje, mes turėti tipų sąrašą.
Yra simbolių, kurie pastovėti simbolių.
Taigi, kad viena raidė A, B, C, D. Tai taip pat gali būti erdvė,
arba, kad taip pat gali būti nauja eilutė simbolių.
>> Yra yra sveikieji skaičiai, kurie yra tiesiog numeriai, sveiki numbers-- ar sveikieji skaičiai
rather-- bet ne po kablelio.
>> Dėl kablelio, mes turime slankiojo kablelio skaičių.
Slankiojo kablelio skaičių yra numeriai su kablelio.
>> Tada yra ilgi, kuris yra esmės ilgiau sveikieji skaičiai.
Jūs pastebėsite, kad ilgas yra 8 o int yra 4.
Aš gausiu, kad per sekundę.
Tai todėl, kad ilgisi gali saugoti net daugiau sveikieji kaip int gali saugoti.
Dvivietis yra ilgas plūdė.
>> Ir, galiausiai, turime seka, kuri yra tipo
kad jūs tikriausiai naudojamas iki šiol.
Jei įtraukti hashtag # includeCS50.h savo šaltinio failo,
tada galite naudoti string tipo.
Tai ne iš tikrųjų pastatyta į C.
>> Yra pora kitų rūšių, taip pat.
Bet tai yra pagrindinė jų su kurį naudosime ir susidurti.
C, kaip vėl jau minėjau, kas variable-- ją
gali būti tik vienas tipo ir tik vienas tipo.
Tai todėl, kad C yra statiškai įvestos kalba, o ne
dinamiškai įvedėte kalbomis kur, jei jums sukurti kintamąjį
Jūs galite pakeisti tai, kas laikoma tai kaip jūs einate į savo programą.
Čionai dešinėje pusėje, turiu įvairių dydžių
Šių duomenų baitų tipų.
Taigi charakteris yra 1 baitas.
Štai 8 bitai.
Ir tai reiškia, kad dėl 8 bitai yra aštuonių 0s ir 1s.
Mes matėme tuos demo į pirmą savaitę kad dvejetainiai lempučių.
>> Su 8 bitai arba 1 baitas, mes galime atstovauti skaitmenys nuo 0 iki 255.
Teisė.
Jei visi 8 bitai yra 0 tai 0.
Jei pirmasis bitų yra 1, tai skaičius viena, ir tt, visą kelią iki 255.
Ir štai kodėl simbolių galite turi iš esmės iki 255 iš jų,
bet tai daug padengti visas simbolių turime naudoti.
>> Dėl sveikieji skaičiai, jūs galite turėti 0 ir tada jūs turite 2 iki 32 minus 1.
Tie, kurie, kaip daug variantų jūs turite už sveikieji skaičiai.
>> Dėl ilgas, Jūs turite 0 nuo 2 iki 64 minus 1.
Taigi jūs turite daug, daug, daugiau galimybių long.
>> Stygos, tai klaustukas nes tai už vėliau Įspūdingos filmą.
Taip.
Galėčiau pasakyti, visi yra remiantis jų sėdynės krašto,
kaip kas tai klaustukas?
Tai Įspūdingos filmą.
Mes ilgainiui padengti dydį įsipareigojimų ir kalbėti daugiau apie stygos.
Kadangi eilutė yra iš tikrųjų vienas iš mokymo ratų
mes įdėti į šį Žinoma pradžioje
ir tada nuimkite vėliau ant, nes styginiams C
yra iš tikrųjų Pointeriai Simbolių masyvai.
Bet vėl, tai yra Įspūdingos filmą vėliau.
Prieš pereiti visus klausimus, komentarai, susijęs apie šią skaidrę?
>> GERAI.
Aš turi būti fantastinis explainer.
Taip pat, kai jūs programavimas, jūs ketinate naudoti šiuos operatorius.
Really Simple požymių, kad gali padaryti paprasta operacijos, su kuria jūs tikriausiai
jau labai gerai susipažinęs.
>> Pavyzdžiui, į dešinę pusėje, matome pridėti.
Norėdami pridėti, jūs tiesiog padaryti pliuso ženklu.
Ir todėl jūs galėtų turėti dviejų kintamųjų x ir y.
Jūs galite tai padaryti x + y savo kodą.
Gal norite to-- Pasakykite turėti skaičių 7 ir 3,
norite saugoti, kad kintamu vadinamas suma.
Jūs galite tai padaryti int tipui, erdvės suma, kintamojo vardas, = 7 + 3;
>> Kas būtų, kad parduotuvė suma?
Kiekvienas?
Jeigu aš turėjo suma = 7 + 3.
Ką būtų saugomi suma?
Jūs galite tiesiog šaukti jį.
Auditorija: 10.
>> JASON Hirschhorn: 10!
Būtent dešinėje.
Ką apie sumoje = 7 - 3. Aš tiesiog naudoti šią brūkšnys ženklas.
Kas bus saugomi?
Auditorija: 4.
JASON Hirschhorn: 4.
Suma yra turbūt negerai pavadinimas kad kintamasis, bet 4 būtų saugomi.
>> Daugintis C, naudokite šiek tiek Zodiako simbolis, jums nereikia naudoti x.
Norėdami padalinti, naudokite Forward Slash nėra nesutariančių simbolis.
Ir modulį, naudokite proc simbolis.
>> Taigi leiskite pasakyti, kad aš noriu pamatyti int z = 7% 3, kas būtų saugomi z?
Taigi, tai iš esmės klausia ką modulį daryti?
Ar kas nors žino, ką daro modulį?
Taip.
Y 4.
GARSIAKALBIS 1: Tai likusioji dalis.
JASON Hirschhorn: Tai likusi, kai jūs padalinti.
Taigi 7, padalytą iš 3 yra 2 likusi 1.
Taigi 1 būtų saugomi.
>> Jūs padarė atimties, bet tai, kaip ji veikia.
Štai ką modulį operatorius daro.
Tai užtrunka šiek skaičius dalina jį kitas numeris ir grįžta pas jus
likusioji dalis.
Taigi dar kartą, 7% 3 suteikia 1, nes 7, padalytą iš 3 yra 2 likusi 1,
ir grąžina likusią dalį.
>> Ką apie grįžkime iki vienas žingsnis tame kvadrate ženklas.
Jei aš padariau 7 / padalytą iš 3 ar kas nors žino, ką tai galėtų grįžti?
>> SPEAKER 2: 2.
>> JASON Hirschhorn: Kodėl 2 ir ne 2.333?
>> SPEAKER 2: Manau, kad jis pjauna išsijungia po sveiko skaičiaus.
JASON Hirschhorn: Taigi Būtent dešinėje.
C, jei jūs darote pasidalijimą du sveikieji skaičiai 7, padalytas iš 3,
jis gauna atsakymą, kuris šiuo atveju 2.3333 amžinai
ir ji nustato, kad kablelio ir pjausnių viską išjungti po dešimtainio
ir ji tiesiog grįžta jums 2.
>> Taigi, jei aš padariau 8, padalytą iš 3.
Tai iš tikrųjų, mes žinome, kad grįžti 2.666,
bet jis pjausnių viską išjungti dešimtainis, nukerta visa tai,
ir tiesiog grįžta į jus 2.
Taigi 6, padalytą iš 3, 7 padalintas 3, 8, padalytą iš 3,
visi ketinate grįžti pas jus 2.
>> Ar kas nors žino, ar turite atspėti, kaip aš iš tikrųjų galėtų gauti
pilnas atsakymas, jei noriu, kad dešimtosios dalies?
Taip.
Pirmyn.
GARSIAKALBIS 3: naudokite plūdę?
JASON Hirschhorn: Ką tai reiškia?
GARSIAKALBIS 3: Kadangi jūs sakė plūdė yra numerių [nesigirdi]
JASON Hirschhorn: Teisė.
Taigi, tai visiškai teisus.
7 yra sveikasis skaičius.
Bet jei aš norėjau pasukti, kad į zmiennoprzecinkową,
Aš turiu saugoti, kad kaip 7,0, nes kompiuteris
tikrai stupid-- pamatėme, kad su PB ir J example--
jis darys tik tiksliai ką galite pasakyti ją.
>> Taigi, jei jums reikia parašyti 7, tai manau, kad sveikas.
Jeigu jums reikia parašyti 7.0, nors mes žinau, tie dalykai yra lygiaverčiai,
ji elgiasi, kad tarsi slankiojo kablelio skaičių.
Taigi, jei jums padarė 7.0 padalintas 3, arba, padalytą iš 3,0,
tai sakyčiau, gerai, dabar mes susiduriame su plūdės.
Aš sugrįšiu pas tave 2.333333 amžinai.
Bet tikrai ne amžinai, nes kaip matėme taip pat paskaitos,
Šie slankaus kablelio skaičiai nėra tiksliai tiksliai.
>> Taigi, jei jūs norite, kad dešimtosios dalies, arba tos dešimtosios dalis,
tada jūs turite use-- vieną iš jų turi būti zmiennoprzecinkową
ir kompiuteris turi suprasti kad tai yra slankiojo kablelio esate
susijusius su, o ne sveikasis skaičius.
Bet kokie tos lentelės klausimai dešinė pusė iki šiol?
Arba jūsų kairėje pusėje, jūsų į kairę, tavo kairėje pusėje.
Taip.
GARSIAKALBIS 4: Teisė.
Dėl kaip reguliariai sveikieji skaičiai, tai darytumėte
write-- jūs turite parašyti plaukti?
>> JASON Hirschhorn: Taip taip.
Na, jei norite sukurti kintamasis kad tai plūdė,
jums reikia pasakyti plūdę Z lygus kažką.
>> GARSIAKALBIS 4: Gerai.
>> JASON Hirschhorn: Bet jei aš norėjau padaryti 7 padalinta iš 3 ir gauti, kad dešimtosios dalies,
Norėčiau padaryti float z = 7,0 / 3,0; ir kad man duotų slankiojo kablelio
skaičius.
>> GARSIAKALBIS 4: Gerai.
>> JASON Hirschhorn: Jei aš padariau kažkas panašaus int z = 7/3,
kad man duotų sveikasis skaičius, nes tie visi sveikieji skaičiai.
Ar tai prasminga?
>> GARSIAKALBIS 4: Taip.
>> JASON Hirschhorn: Gerai.
Didysis.
Visi kiti klausimai apie tos lentelės?
Tikrai?
Aš taip susijaudinęs.
GERAI.
>> Taigi keletas kitų dalykų, jūs naudojate, Neretai sąlygomis arba kilpų,
yra šie operators-- tipai Šie Būlio išraiškos rūšys.
Ir kaip mes sužinojome, == yra tai, ką naudoti siekiant patikrinti, ar du dalykai yra lygūs.
>> Taigi čia aš patikrinti, jei x == y tegul vėl manyti, kad x yra 7 ir y yra nuo 3.
Taigi, jei aš parašiau 7 == 3, kas norėčiau, kad grįžti į mane?
Ar tai tiesa ar melas?
>> Auditorija: klaidinga.
JASON Hirschhorn: Gerai.
Jaučiu, kaip kiekvienas gali gauti šį vieną.
Taigi visi, kas būtų, kad grįžti?
Auditorija: klaidinga.
JASON Hirschhorn: klaidinga.
Didysis.
7 nėra lygi 3.
Taigi 7 == 3 sugrįš klaidinga.
Jūs turite ne lygybės ženklą, todėl, jei aš apžiūra 7! = 3, kas būtų, kad grįžti?
Auditorija: Tiesa.
JASON Hirschhorn: Tiesa.
Puikus.
Kažkas buvo labai kategoriška ir atgal ir vertiname.
Tada jūs turite mažiau nei operatorius, mažiau nei arba lygus operatoriui,
didesnis nei operatoriaus, yra didesnis nei arba lygus operatoriui.
>> Taigi dar vienas normalumas patikrinti.
Jeigu aš turėjo 7 yra didesnis nei arba lygus 3.
Ką tai galėtų grįžti?
>> Auditorija: Tiesa.
JASON Hirschhorn: Tiesa.
Taip.
Tai atgal kambarys, nugaros pusėje kambario, fantastinis.
Jūs galite sujungti šias išraiškas, jei norite, taip pat,
su logiškas ir kuris yra && Ar logiška arba kuri ||
||.
Ir todėl dabar galite išbandyti du viskas together-- Ar tai juokinga?
Kodėl tai juokinga?
>> Taigi, jei aš norėjau, aš galiu pasakyti, yra 7 didesnis nei 3 ir 2 yra mažesnis nei 4?
Na, jei yra didesnis 7 nei 3, tai tiesa.
2 yra mažesnis nei 4, tai tiesa.
Taigi visa tai, ką būtų grąžinti tiesa.
>> Jei aš išbandyti 7 yra didesnis nei 3 and-- Aš tiesiog skinti atsitiktinius numerius here--
4 yra mažesnis kaip 2, gerai, kad yra klaidinga.
Taigi true ir false makiažo klaidinga.
Ir jūs galite eiti ir jūs derinti, kaip daug sąlygų, kartu, kaip jūs norite.
>> Ar kas nors turite kokių nors klausimų, Skundai, atsiliepimai, problemos iki šiol?
Ir aš matau kai fotografuojate mane ekrane, kurį aš vertinu.
Tikimės, kad tai ne Snapchat.
Tikimės, kad tai jūsų pastabas.
Bet visa tai vyksta būti prieinami internete.
Taigi jūs neturite fotografuoti tai.
Kaip jau minėjau, viskas bus galima rasti internete už jus.
GERAI.
Aš apie gauti Offstage, todėl nėra nieko
noriu pasakyti nieko Prieš tai atsitiks?
Klausimai?
>> [Tarpines BALSAS]
>> JASON Hirschhorn: Oi, sustoti.
Jūs vaikinai yra pernelyg gražus.
GERAI.
Aš ruošiuosi pažymėti out.
Eime.
>> ANDI Peng: Mes ketiname daryti keblus MILC kaita dabar.
>> JASON Hirschhorn: Aš ketina imtis šią funkciją.
ANDI Peng: Įvertink paramą, vaikinai.
Ar tu mane girdi?
Ar tai gerai?
Tobula.
Gražus.
Leiskite man tiesiog Tuck kad.
GERAI.
Taigi, aš apie tai kaip milžinas informacija sąvartynas jums vaikinai dabar.
Ir jokių rūpesčių kokia jei esate ne po kiekvieno mažai liniją, kas
Aš apie jums parodyti.
Kaip sakė Jasonas viskas yra visiškai internete.
Tiesiog mes ketiname bandyti pristatyti kiekvienas sąvokas taikoma
kai kuriose iš šių skaidres.
Taigi tiesiog sekti kartu.
Nesijaudinkite, jei jūs nesuprantate viskas; tačiau, jei bet kuriame taške
manote, prarastas, pakelti savo vertus, mes sustoti, jokių rūpesčių.
Saunus.
>> Taigi, manau, kažką, kad Dovydas jau rūšies paminėta paskaitos
ir Jasonas rūšies užsiminė šiandien yra tai, ką biblioteka yra.
Taigi programavimas, mes turime šie dalykai vadinami bibliotekas.
Tais atvejais, kai iš esmės visa jie yra tik rinkinys
funkcijų, tai yra iš esmės tik tai kodas
jau buvo parašyta kažkas, kad mes visi galime
naudoti per mūsų programas.
>> Taigi, kaip normalus bibliotekos darbas, tiesa?
Jūs įvedėte bibliotekos duris.
Jūs turite visus šiuos knygų galite ištraukti
ir jūs galite gauti informaciją tose knygose.
Tas pats dalykas programavimą.
>> Turite biblioteka, kuri jau buvo parašyta kitų žmonių.
Ir taip, kad jūs galite, kaip programuotojas ar studentas,
gali gauti prieigą prie šios bibliotekos yra per hashtag # include.
>> Pavyzdžiui, C mes turi tris C-- labiausiai
dažniausiai naudojami trys C standartą libraries-- įvesties / išvesties biblioteką,
styginių biblioteka, ir matematikos biblioteka.
>> Taigi per savo pirmąjį pora problema nustato,
tie, bus trijų kad jūs pirmiausia naudojant.
Taigi, kaip Dovydo jau paaiškinta paskaitos
standartinis I / O biblioteka, arba standartinis įvesties / išvesties biblioteka
daro būtent tai.
Tai leidžia jums jūsų kodas, įvesti nieko iš vartotojo ir išvesties, kad
prie ekrano, iš esmės spausdinimas jį į ekraną.
>> Ir taip kiekvieną kartą naudojate kokias nors savo funkcijas, Pavyzdžiui funkcija printf (), kuris
mes ketiname eiti per kitą skaidrę, įsitikinkite, kad įtraukti į standartą I / O
bibliotekos ar dar nesiruošia galės naudotis printf () funkcija.
Nes jūs, kaip programuotojas niekada iš tikrųjų parašė, kad funkcijos,
jūs tik naudojant kažkas Else kodas per savo kodą.
>> Ar tai prasminga visi?
Saunus.
>> Ir tada mes iš esmės gauti į string.h biblioteka ir math.h
biblioteka, .h tiesiog reiškia, biblioteka, kitas bibliotekas, kad jūs galų gale
būti naudojant jūsų kodu.
>> Tačiau, tikslais Šio bibliotekoje, mes taip pat
have-- šio class-- mes taip pat turime tai, kas vadinama CS50 biblioteką,
cs50.h, kur mes, už Jūsų perskaitymas sukūrė
daug svarbių ir naudingų funkcijų.
Taigi, kad jūs, kaip programuotojas gali prisišlieti išjungtas
ką mes jau parašyta, kad Ši funkcija galima,
Jūsų naudojimui.
>> Aš būsiu apimantis porą funkcijos paprastai naudojamas,
bet žinome, kad tai yra visi googleable internete.
Nesivaržykite, atsigriebti CS50 biblioteką ir tada jūs turite visas funkcijas ten.
Taip.
>> GARSIAKALBIS 5: Taigi, jei jums buvo ne naudojant programinę įrangą, kad
yra numatyta, kad mums klasė, ar tai
reiškia, kad mes norime turėti atsisiųsti ir rasite Šioje antraštėje pateikti save ir pasakyti
kompiuteris, kur ji yra?
>> ANDI Peng: Didžioji klausimas.
Būtent.
Taigi, tai, pavyzdžiui, jei nesate fiziškai bibliotekoje,
nėra už jus būdas iš tikrųjų eiti ir jį pasiekti.
Taigi tas pats su programavimas C, jums
turite įsitikinti, kad jūs naudojate mūsų Prietaisas, nes bibliotekos jau
buvo įtrauktas į jį.
Ir tada, kai jūs hashtag #include, biblioteka-aisiais.
Taip.
Geras klausimas.
Kiekvienas geras?
Saunus.
Gerai.
Taigi mes ketiname nukentėjo, iš esmės, kas yra
pirmasis funkcija, Mes, kaip programuotojai
ketinate naudoti per mūsų kodą.
Tai vadinama printf () funkcija.
Taigi, printf () funkcija, kaip aš jau sakė paskutinės skaidrės,
yra įtraukti į standartinį I / O, standartinis įvesties / išvesties, biblioteka.
>> Todėl įsitikinkite, kad ką jūs using-- oh, leiskite paimti lazeriu pointer--
kai jūs naudojate printf () funkcija,
jūs turite įtraukti šį standartą I / O bibliotekoje ar kitur, kai jūs surinkti,
jūs ketinate gauti klaidą nes kompiuteris bus kaip,
O aš nežinau, kur printf () yra Jūs neprisijungęs pasakoja man, kur printf ()
yra.
Na printf () yra įtrauktas į standartas I / O, todėl, kai jūs naudojate printf ()
įsitikinkite, kad turite, kad linija virš jūsų kodu.
>> Taigi, pavyzdžiui, printf () čia yra funkcija.
Visa tai daro, yra spausdinti kažką viduje naudotojui skliausteliuose.
Ar kas nors norėtų imtis Pabandyti kokia šio kodo dešinėje linija
Čia vyksta atsispausdinti?
Taigi, atsakymas yra ekrane.
Kiekvienas?
>> VERDI: apačioje.
>> ANDI Peng: Verdi, kodėl gi ne jums eiti į priekį ir pasakyti visą pareiškimą?
>> VERDI: Sveiki, mano vardas yra Ieva, ir aš esu 20 metų amžiaus.
ANDI Peng: Ak, mielas.
Taigi šioje eilutėje mes ketiname atsispausdinti, Sveiki, mano vardas yra Ieva,
ir aš esu 20 metų, kurie iš tiesų yra tiesa teiginys.
>> Sintaksė.
Taigi pora sintaksės klausimais, Jūs vaikinai nori įsitikinkite, kad žinote.
Kabučių.
Kabutes pasakys kompiuteris, viskas viduje
bus spausdinami.
>> Viskas viduje skardinę tiesiog, kaip tiksliai
rašote, kad, išskyrus paprastai pabaigoje,
mes ketiname norite įtraukti hash-- oh sorry-- brūkšnelis n.
Taigi brūkšnys n.
>> Ar kas nors nori imtis atspėti tuo, ką daro, kad mūsų kodą?
Taip.
GARSIAKALBIS 6: įdėkite jį į naują eilutę.
ANDI Peng: Būtent.
Taigi visa tai daro, yra leisti kas beatsitiktų
Po to, po šio pareiškimo, kurios bus spausdinama, į naują linija.
Taigi, kad kai rašote savo kodas nenorite atsitiktinai turi daiktų
priduriamas pabaigoje kad jūs nenorite.
Tai viskas, gauna tvarkingai atspausdinti vieną eilutę
ir tada mes pradėti kitame linija.
>> Ar kas nors prisiminti, kas tai kabliataškis daro kai mes kodavimo?
Taip.
>> GARSIAKALBIS 7: pareiškimas.
>> ANDI Peng: Atsiprašome?
>> GARSIAKALBIS 7: Ar tai baigti pareiškimą?
>> ANDI Peng: Taip.
Taigi, C, arba bet kokia programavimo kalba, kabliataškis
žymi programavimo linija galą.
Taigi, pavyzdžiui, anglų kalba, mes naudojame terminą pasakyti, oi tai yra galutinis nuosprendis.
Be programavimo, tą patį, mes turime kabliataškis, žymintis eilutės pabaigoje.
Dažnai, kai esate pradedant programuoti,
jūs suprantate, jūs pamiršote pridėti kabliataškį
ir tada bandote paleisti kodas ir jis neveikia.
Ir jūs kaip, Ak, aš ne baudinys, jis turėtų dirbti.
>> Šansai yra jūs tikriausiai pamiršo kabliataškis ar laikiklis ar kažkas
kažkur.
Taigi, tai svarbu prisiminti.
Saunus.
Gerai, rankos pakėlimu, kaip daug žmonių čia kada nors
imtasi AP Computer Science arba užprogramuotas Java anksčiau, kada?
GERAI.
Gražus.
Tai nebus taikoma tada, bet Java, galite
turi kažką vadinama System.out.println kurioje neegzistuoja C
>> Taigi C, kai jums norite pridėti kintamųjų
į ką nors norite atsispausdinti, ten
konkreti sintaksė mes ketiname naudoti.
Tai vadinama placeholding-- esmės
mes pridėti rezervuotų vietoje iš sveikojo skaičiaus arba kintamojo
kad mes norime spausdinti.
>> Taigi, kaip jūs vaikinai galite pamatyti mes įtraukti nauja biblioteka antraštės faile čia.
CS50 biblioteka.
Ir esančius toje CS50 bibliotekoje yra bendra funkcija mes naudojate
Mūsų žinoma vadinamas GetInt ().
>> Ar kas nors nori imtis Pabandyti Ką GetInt () galbūt gali daryti.
>> Auditorija: [nesigirdi]
>> ANDI Peng: Atsiprašau.
Nepavyko girdėti.
Maddie, kas.
Maddie: Oi, ji paragina Jums už sveikojo skaičiaus.
ANDI Peng: Būtent.
Taigi ši funkcija, kitas funkcija, kuri yra jau
buvo parašyta kažkas kitas kad mes galime paraginti dabar.
Visa tai yra greitas ir jums, naudotojui, įvesti ką nori, kaip kodas
veikia ir ji saugo whatever-- Šiuo atveju mes GetInt () - Inga,
todėl tai reiškia, mes gauti sveikąjį skaičių.
>> Ir mes ketiname saugoti kad kitoje sveikasis skaičius
kad mes tiesiog padarė vadinamą amžių.
Tai prasminga visiems?
Saunus.
>> Taigi dabar, kad mes laikomi šį sveikasis skaičius, kad mes užklausia iš naudotojo,
į šį kintamąjį rodiklį, mes sukurta tipas int vadinamas amžius,
mes galime eiti į priekį ir vieta kad mūsų printf () funkcija.
Taigi sintaksė paprastai printf () yra kad ir kur jūsų faktinis fizinis
linija norite įtraukti, kad sveikasis skaičius, jums padaryti, kad simbolį tiesiai ten,
procentas simbolis, su tipo kintamasis, kurį norite.
>> Taigi, šiuo atveju amžiaus yra sveikasis skaičius.
Taigi, jūs ketinate būti % i, nes tai yra sveikasis skaičius.
Ir tada po savo pareiškimą, kad jūs ketinate
daryti kableliu, o Pavadinimas kintamąjį.
>> Taigi čia mes ketiname spausdinti out, Sveiki, mano vardas yra Ieva,
ir aš esu tuščias metai.
Hashta-- arba sorry--, amžiaus su ką aš įėjimo.
Taigi, jei aš buvo įvesti 20 mano GetInt () čia
tai atsispausdinti tą patį dalyką.
Tačiau, jei aš norėjau įvesties kažką kita, kaip galbūt 40 ar 45,
tada jums pamatyti, kad atspindi atitinkamai kodą.
>> Taigi, šis yra pavyzdys kažko, kurioje
jis spausdina ir tikisi, kad jūs, kaip jei tai tas pats,
bet prispaudžia gaubtu kompiuteris nėra iš tikrųjų
labai skirtingi dalykai vyksta.
Saunus.
Gerai.
Taigi ką daryti, jei norime kelis kintamuosius?
Gana lengva.
Tas pats.
Mes taip pat turime naują funkciją čia vadinamas GetString ()
Taip pat įskaičiuotos į CS50 bibliotekoje, kad visa tai daro, yra raginimas vartotojui
už eilutę, kuri yra tik simbolių rinkinys,
taip kaip sakinio arba kaip vardo.
>> Taigi, šiuo atveju, mes turėtų du pamainymai% s eilutės ir% i
už sveikojo skaičiaus.
Ir mes ketiname laikytis kad dviejų kintamųjų
Mes norime, kad įtraukė į tam kad jie atrodo sakinyje.
Taigi, pavyzdžiui, mano vardas yra tuščias, noriu pavadinimą ten,
todėl aš ruošiuosi turėti vardą pirmą kartą.
Ir tada po to noriu amžiaus, nori turėti amžiaus sekundę.
Ir todėl, jei aš norėjau įvesties Sveiki, mano vardas Ieva, ir aš esu 20 metų amžiaus.
Jei aš įvestas Andi ir 20 straipsnių, lygiai toks pats dalykas būtų spausdinti;
Tačiau dabar mes turime du saugomos kintamieji vardas, taip pat INT.
Taip.
>> GARSIAKALBIS 8: Ar tai būtų galima paleisti, jei įjungtas
vardas ir amžius ne iš Tuo tikslu?
>> ANDI Peng: Taip.
Tai tikrai geras klausimas.
Taigi ilga istorija trumpa, ne.
Kadangi vardas ir age-- ką tipo kintamasis yra vardas?
>> GARSIAKALBIS 8: Styginių.
>> ANDI Peng: Ir kas tipo kintamasis yra amžius?
>> GARSIAKALBIS 8: sveikasis skaičius.
ANDI Peng: Taigi čia mes turime rezervuotą vietą už eilutę ir sveikasis skaičius, tiesa?
Taigi, jei jums buvo pereiti tai, kompiuteris nesiruošia žinoti.
Jis ketina patikrinti eilutę, ir jei bandote suteikti jai int,
tai bus kaip Palaukite Aš supainioti, jums
man pasakė, aš turėtų būti išskirdamas už int atmintį.
Ir čia, kai ji tikisi sveikasis skaičius
ir jums suteikti jai pavadinimą ir styginių vietoj to,
jis taip pat ketina būti labai paini, ją neveiks tiksliai taip, kaip jums reikia.
Taigi čia, pavadinimų ir sintaksė labai svarbu, kad veikia kodą.
Kiekvienas geras?
Taip.
Maddie.
>> Maddie: Čia, aš žinau, mes pažvelgė ne pavyzdžių klasėje, kurioje jie prašo
Koks Jūsų amžius, koks tavo vardas.
Čia norėčiau, kad tai būtų doesn't-- jei mes paleisti šį kodą,
tai ne prašyti, kad?
Bet jūs tiesiog įvesti du numerius ir tada jis būtų paleisti, kaip kad?
>> ANDI Peng: Taip, tiksliai.
Taigi, jei norite, kad jis ekranas, prašome įvesti savo amžių,
galite tiesiog pridėti printf () funkciją kuris sako, prašome įvesti savo amžių,
virš jos.
Tai geras klausimas.
Taip.
>> GARSIAKALBIS 9: Taigi, jau būtų įtraukti į GetInt () [nesigirdi].
ANDI Peng: Ne, tai iš tikrųjų taip nėra.
Taigi visa tai daro, yra tiesiog paragina tuščią ekraną
į įvesties kažką vartotojui.
Jei norite padaryti, jei norite, kad ji spausdinti kažką, pasakoja vartotojui patinka,
prašom duoti man savo amžių, tada jūs tektų printf (), kad sau.
Kadangi visi naudoja tai funkcija įvairių dalykų,
jums gali būti saugoti amžių, jums gali būti saugoti adresą,
jums gali būti saugoti telefono numerius.
Ir taip, tai tikrai iki Jūsų vaikinų individualūs naudojimas
už tai, ką jūs norite pasakyti.
Taip.
>> SPEAKER 10: Taigi, tiesiog paaiškinti, kur padaryti įvedate vardą ir amžių
taip, kad jis rodo vietoj% s?
>> ANDI Peng: Kaip vartotojas?
>> SPEAKER 10: Taip, kaip ir, kaip man padaryti it-- kur aš įdėti Andi,
ir kur aš įdėti 20?
>> ANDI Peng: Taip.
Taigi, jei jums buvo iš tikrųjų paleisti šį kodą,
Aš ne iš tikrųjų veikia kodas, tai tik čia dabar.
Jei aš būčiau paleisti kodą, aš norėčiau kompiliuoti kodą, kad failą,
paleisti kodą, tada nebūtų tik du tarpai man įėjimui.
Taip.
Jūs vaikinai pamatys, kai tu žaidi aplink su kodu sau.
>> Visos teisės mes ketiname pereiti į kitą skyrių, kas
mes būti apimantis šiandien.
Mes ketiname eiti per ką sąlyginiai teiginiai.
Taigi, jei jus vaikinai prisiminti ir atšaukia iš paskaitos
sąlyginiai teiginiai, visi jie yra rinkinys
Nurodymų, į kompiuterį kuri, jei tam tikra sąlyga yra teisinga,
Jūs vykdyti kodą viduje šią sąlygą.
>> Taigi Scratch-- esmės didelis tema nuo šiandien
yra tai, kad vaikinai jau visi mačiau už viską logika
kad mes danga.
Ir visa, ką mes darome, yra vertimo kažką
kad buvo labai intuityvus Nulio, ir sunku kodavimo ją
į sintaksę mes naudojate už klasės, kurios yra C.
Taigi logiška, kad visa tai blokas buvo yra tai, kad kodo gabalas tiesiai ten.
Taip.
GERAI.
>> Mes taip pat patekti į IF ... kitur teiginys yra tik papildoma sluoksnis
sudėtingumo, jei pareiškimas , kai kompiuteris užima Šiuo išvaizdą
ir mato, jei ši sąlyga yra teisinga, tai kokia viduje šių dviejų skliausteliuose,
else-- tiek rūšies kaip jei nutylėjimą jis neatitinka condition-- tai padaryti.
Tai tarsi kelio šakute.
Jei lyja lauke, aš įdėti nuo lietaus striukė, kitur nieko
kitur nemanau, įdėti lietaus striukė.
>> Ar tai logika prasmės visiems?
Saunus.
Gerai.
Taigi, kaip kieto pavyzdys tai, kad mes norėtume pamatyti C
yra, jei aš norėjau sukurti kintamųjų vadinamas namų darbus valandos.
O jei namų darbus valandos mažiau kaip penki, sakau gyvenimas yra puikus.
Nuostabu.
Tačiau sako, kad kova real-- o tai, ką mes visi apie šį pirmadienį
popietę iki Mokslas Hill tikriausiai darote now--
Auditorija: [juokiasi]
ANDI Peng: jie, kaip mes būtų, ačiū už tai.
Tai, kaip mes būtų hardcode tai C yra if-- tarkime
mes jau turime tipo kintamąjį, INT vadinamas namų darbų valandas čia.
Jei namų darbai valandos yra mažesnis nei penkių printf (), Gyvenimas yra puikus.
Įsiminti išlaikyti / n, nes norite naują eilutę po.
Kita spausdinimo, kova yra reali.
>> Ar visi suprasti, kaip Aš perkėlėte iš šio bloko
į šio kodo bloką?
Saunus.
Gerai.
>> Taigi dabar mes ketiname pažvelgti daug if apskritai.
Taigi leiskite prisiimti šios programos tikslas
buvo mes greitai už rangui vartotoją.
Mes eilutę naudojant GetInt () dėl klasė, ir jie įvesties vertės,
ir norite, kad būtų rodomas kokio tipo klasėje jie gavo.
>> Taigi, jei aš buvo sukurti programą, aš reiškia paprastai visi mūsų akis,
90-100 yra A, 80-90 yra B, ir taip toliau, ir taip toliau.
Kas yra negerai su šiuo kodo fragmentą, kad tai ne
daryti tai, ką noriu daryti.
Taip.
>> SPEAKER 11: Jie turi mažesnes ribas, bet jie neturi viršutinių ribų.
>> ANDI Peng: Būtent.
Ar visi girdi, ką ji sako?
Ten bus viršutinė ribos, bet ne mažesnę ribos.
Atsiprašome, atvirkščiai, apatinės ribos, nėra viršutinės ribos.
Taigi norėtumėte imtis Pabandyti sakydamas
kas bus spausdinama tai ekranas, jei aš buvo paleisti šį kodą.
SPEAKER 11: klaida?
ANDI Peng: klaida?
Didžiosios spėjimas, ne visai teisus.
Ar kas nors turite kitą Pabandyti?
Taip, Aaronas.
>> AARON: Jei jūs įtraukėte kažkas didesnis nei 90,
tai rodytų visus pažymius turite.
Būtų parodyti jums turiu A, jūs turite B, jūs turite labai C.
>> ANDI Peng: Taip.
Būtent dešinėje.
Taigi, kad būčiau nuostabus.
Tačiau jie yra tarpusavyje išskirtinis, manau.
Jei aš būčiau paleisti šį kodo fragmentą.
Ir tada tegul tiesiog pasakyti, aš įvestas 95 klasės.
Taigi 95 dabar yra saugomas INT vadinamas laipsnio.
>> Ir taip, C yra kalba kad veikia iki viršaus į apačią,
todėl ketina visada paleisti iki dugno.
Taigi jis ketina ateiti čia, skaityti, jei įvertinimas yra didesnis negu arba lygus 90,
printf () jums gavau A. Didysis, aš turi 95, tai didesnis nei 90.
Tai vyksta spausdinti, Gavau A. ji vyksta
pažvelgti į tai pažvelgti, jei ji ketina pasakyti, gerai 95 taip pat yra didesnis nei 80,
jis ketina spausdinti jūs taip pat gavo Got B šauktukas, ir taip toliau ir taip
pirmyn.
>> Taigi, kaip mes visi galime pamatyti, tai yra bendras klaidą
kurie gali atsirasti, kai mes rašyti kodą, kad atkreipti dėmesį.
Kiekvienas, nors klausimų apie kodėl tai vyksta?
Didysis.
GERAI.
>> Taigi, kaip mes išspręsti šią problemą, yra akivaizdžiai kitas logiškas klausimas.
Na, mes turime tai gražus dalykai vadinami jei kitur, jei kitur
jei kitur ataskaitose.
Taigi matote, jei jūs norėjo pakeisti šią problemą,
jūs norėjote, kad kiekvienas iš sąlygos nesuderinami,
jums būtų pridėti dar ... jei pareiškimas.
>> Ir šitie course-- galvoti apie juos kaip kopėčios, arba kaip skersiniai ant ladder--
Jūs galite pridėti kaip daugelis iš jų, kaip jūs noriu tiek daug sąlygų, kaip jūs norite.
Taigi čia, jei aš įvestas kokybės, kad būtų 95.
Jei įvertinimas yra didesnis nei 95, printf (), gavau A. Didysis.
Tai vyksta, jei norite pamatyti dar ... jei ir tai vyksta žinoti, O ne,
Aš jau įvykdyta pirmoji kitur.
Aš know-- arba pirmą if-- Žinau, kad Aš neturiu pažvelgti nors iš šių
nes vienas iš jų jau tiesa.
Taigi jis ketina paleisti iš viršaus į apačią.
Kaip tik pirmasis yra tiesa, tuomet jis ketina praleisti visa kita
iš kitur ... IF.
Ar tai prasminga?
Taigi, tokiu būdu jūs turite skirtingų lygių tikrinimas
ir kuo greičiau vienas iš jų yra negalioja, likusi dalis yra taip pat, jie nebus net patikrinti.
Saunus.
Gerai.
>> Taigi, tai yra iš skirtingos pavyzdys Rūšiuoti sąlyginio pareiškimą
matome rečiau, tačiau matysime juos ir juos naudoti.
Ir jie dažnai efektyvus tam tikrais atvejais.
Taigi, mes turime tai, kas vadinama jungiklis pareiškimas.
Taigi, kol mes apėmė Kas yra kitur pareiškimas, IF ... else.
Čia mes turime tai, ką yra vadinamas switch ataskaitos.
>> Taigi, kai mes naudojame jungiklį atskaitomybė yra svarbiausias?
Taigi jungiklis pareiškimą, jums paprastai, paprastai, iš tikrųjų jums
gali tik įvesties sveikieji jūsų kintamasis, kad jūs patikrinti.
Taigi, jei aš norėjau patikrinti, jei tam tikras number-- pavyzdžiui
A kategorijos, jei gavau 90.
Aš noriu, kad pamatyti, jei tai A, B arba C. galėčiau turėti atveju.
Tačiau, byla turi būti dar vienas pastovus.
>> Taigi, šiame prasme, jungiklis pareiškimas gali tik
Tikrinti lygybės dviejų skaičių.
Tai netikrina kam nors kitam.
Taigi, kad kažkas būtų labai atsargūs, kai jūs naudojate tai.
Taigi čia, jei aš norėjau patikrinti, jei mano klasė 90 yra lygus 90 arba 80
arba 70, arba 60, ir tada spausdinti atitinkama kokybės,
Norėčiau turėti galimybę parašyti, kad į jungiklio ataskaitoje.
>> Taigi jis ketina ateiti čia, patikrinimas tai sveikas skaičius, lygus šio konstanta?
Jei ne, jis ketina praleisti.
Ar tai lygūs pastovus du, ir taip toliau, ir taip toliau,
kol paspausite nutylėjimą, jei nei vienas iš jų yra lygūs.
Kai tik vienas iš jų yra nustatyta, kad lygūs,
jis ketina tai padaryti linija kodą ir pertraukos.
Tai reiškia, kad vyksta smūgį paleisti, pertrauka, ir tik visiškai praleisti
su kodu apačioje.
Taigi šia prasme funkcijų natūra kaip jei kitur, jei kitas, jei pareiškimas.
>> Taigi čia konkretus pavyzdys jums vaikinai.
Taigi tarkime, kad aš norėjau sukurti kintamąjį vadinamą metais įkurta.
Ir aš noriu, kad tai paskatins į įvesties vartotoją metų, kad jų mokykla buvo įkurta.
Taigi aš galiu sukurti jungiklis pareiškimą čia.
Ir tegul tiesiog pasakyti, aš įvesties 1636.
>> Šis kodas čia ketiname pamatyti jungiklį metų įkurta kuris lygus 1636.
Tai ketiname pamatyti bylą 1636, OH tie yra lygūs,
printf () Jei ne jūs toje mokykloje iki šiaurę?
Nes mes manome, jie neturi eiti čia, jei jie eiti į Harvardo,
pertrauka ir pereiti prie pabaigos.
>> Jei aš būčiau įvesties 1701, kurioje Aš manau, kad mums visiems būtų įvesties,
tai praleiskite šią bylą, ateik iki atveju dviejų kuri yra 1701,
ir spausdinti Sveiki Yale!
Break, pereiti prie pabaigos.
Kita tikriausiai vartojate šį kursą internete, kuri case-- nuostabus Sveiki atvykę
į Yale-- jis ketina eiti į numatytoji spausdinimo Hello internete!
Ir pertrauka.
Taip.
>> SPEAKER 12: Ar galima naudoti kitas vietoj nutylėjimą ten?
>> ANDI Peng: Ne, nes taip, kad visa ši funkcija
jungiklis yra pastatytas, sintaksė Jums reikia naudoti yra, atveju pagal nutylėjimą.
Tai kaip, jei kitur, jei tai viena tai, atveju pagal nutylėjimą. Taip.
SPEAKER 13: Jūs gal jau sakė, kad tai, bet jūs galite turėti daugiau nei dviem atvejais?
ANDI Peng: Taip, galima turėti daug atvejų, kaip jūs norite.
Pagalvokite apie tai, kaip tik patinka galo pridedant.
>> SPEAKER 14: Jeigu jums perėjo 1701 1636,
tai tikrai ne skirtumas tiesa?
Tai tiesiog bus patikrinti jį.
>> ANDI Peng: Tai šiek tikrai geras klausimas.
Ir mes paliesti tai vėliau, bet tik
žinau, kad jungiklis pareiškimas yra infinitely-- tai
efektyviau, nei ji, ir jei else if, nes ji veikia
naudojant įvairus funkcija, leidžia jums iš esmės, tiesiog
peršokti tiesiai į Tokiu atveju jums reikia būti.
Taip.
SPEAKER 14: cool.
Ačiū.
ANDI Peng: Taip
>> SPEAKER 14: Ir tu negali daryti tokiais atvejais, kaip ir didesnis nei.
ANDI Peng: Ne
Taigi, tai, kas riboja apie jungiklis teiginys yra, kad jūs turite
turėti konstantas tik, tik sveikieji skaičiai.
Taip.
GERAI.
>> Taigi tai yra kažkas, kad jūs vaikinai susiduria su mažiau dažnai,
bet aš tik norėjau pristatyti jį į bylą.
Mes čia turime tai, kas vadinamas trijų komponentų operatorius.
Kur esmės, tai tik kaip if surinkti į vieną eilutę.
Čia aš eisiu į kitą liniją, tolimesnis puslapis, nes tai lengviau matyti.
>> Taigi, mes visi matėme šią teisę?
Tai gana lengva laikytis.
Jei aš norėjau padaryti kintamasis vadinamas string pavadintas S, jei tam tikras skaičius
I, kad tai yra mažesnis nei 100, I norite priskirti mažo į eilutę,
dar noriu priskirti didelės.
>> Tai čia daro tą patį dalyką tie aštuoni eilučių kodo darai.
Taigi čia aš noriu sukurti kintamasis eilutė.
Ir tai yra sąlyga Aš tikrinimo, jei skaičius yra mažesnis negu 100,
tada jums priskirti mažos vertės, kitur priskirti didelės vertės.
>> Šios skaidrės bus internete, be rūpesčių jei jus vaikinai negauna tai žemyn.
Tai tik paprastesnis būdas, labiau efektyvus būdas rašyti kodą.
GERAI.
>> Taigi dabar mes ketiname įvesti, ką dauguma žmonių
yra kaip labai, labai painu dalykas galvoti apie ne pirmas.
Kilpa skyriuje.
Taigi, šiandien, mes ketiname kalbėti apie trijų rūšių kilpų.
Mes ketiname pradėti tikrą laiką kilpa, tada kalbėti apie tai, o kilpos,
ir tada kalbėti apie už kilpomis.
>> Taigi, iš esmės, nes daugiau regėjimo mokiniai ten,
mes turime iš esmės grafinę vaizdavimas ką nors kilpa daro.
Taigi programavimo, jūs pradėsite ir įvesti kilpa tam tikru.
Jūs patikrinti jo būklę.
Ir jei sąlyga yra teisinga, Jūs vykdyti kodą viduje.
Ir jūs grįžti aplink ir jums patikrinti.
Jei jis vis dar tiesa, jūs nuolat veikia šis kodas aplink ir aplink kilpą.
>> Tačiau, antra, kad sąlyga tampa klaidinga,
jūs ketinate išeiti ir baigti kilpą.
Ir tai yra iš esmės sintaksės jūs ketinate naudoti.
Nors tam tikra sąlyga yra tiesa tai padaryti, jei tai ne tiesa,
jūs ketinate pereiti prie pabaigos ir judėti į priekį su savo programa.
GERAI.
>> Ar kas nors turite pavyzdį apie tai, kas potencialiai gali nutikti
jei bandau paleisti šį kodo fragmentą?
Beje, SAJ-- tai Scaz Andi, Jason-- mes pasirašyti mūsų laiškus,
Meilė, saj.
Štai mumis.
GERAI.
>> Kiekvienas turi pavyzdį, arba turi on ką tai galėtų reikšti spausdinti idėja?
Rūšis triukas klausimą.
Taigi čia, nepamirškite būklę mes tikrinant yra, o tiesa.
Taigi, nors tai tiesa, tai ketina spausdinti, aš myliu SAJ!
Ar yra kokia nors vieta, kurioje mes norime pakeisti tai nieko kitaip?
Ne, tiesa?
>> Taigi čia mes turime susidūrė, ko tikriausiai
bus bugging daug jūsų programas, begalinis kilpa.
Jūs pamatysite, kad jei jūs paleisti šį kodo fragmentą,
tai tik ketina išlaikyti spausdinimas, Aš myliu SAJ!
Nors mes vertiname paramą, mes nenorime savo kompiuterius
į avariją, nes jus išlaikyti spausdinimo Aš myliu SAJ!
>> Taigi prašom, prašom, išvengti begalinis ciklas
nes jis niekada įvertinti false
ir jūs niekada palikti kilpą.
Ir jūs ketinate būti čiulpti amžinai.
Saunus.
GERAI.
Antrojo tipo kilpa mes kalbame apie šiandien
yra daryti, o kilpos, padaryti, o kilpa.
Ir tai vadinama kilpa, o Do nes jūs turite daryti ir ilgai.
Taigi, tai yra gana panašus į laiką kilpa, bet šiek tiek skiriasi.
Čia, jūs ketinate daryti kokia viduje tai
o tam tikra sąlyga yra teisinga.
Taigi, jei aš būčiau C ir kompiuterį Aš tikiu Bėgantis žemyn šį kodo fragmentą,
Aš imtis viršuje išvaizdą.
Aš einu į C, sakau tai padarys.
Ir tada aš patikrinti, o tai Tiesa, turiu kartoti.
Tačiau, nors tai yra klaidinga, tada aš judėti į priekį
ir aš niekada grįžti į tą kilpą dar kartą.
>> Ar kas nors imtis Pabandyti ne kas skirtumas
tarp šios linijos ir viena mes tik pažvelgė buvo praktiškai.
Taip.
SPEAKER 15: Sąlyga ateina po vietoj anksčiau?
ANDI Peng: Būtent.
Taigi ji sakė būklė ateina po, o ne prieš.
Galų gale, skirtumas tarp šio ir while cikle
yra ta, kad jūs tiesiog ketinate daryti kokia viduje tai nepriklausomai nuo to,
ar Jūsų būklė yra teisinga, ir tada patikrinti būklę.
Taigi šiuo atveju, jūs esate always-- šiuo būdu,
jūs visada įsitikinkite, kokia viduje veikia bent
prieš tikrindami pamatyti jei norite jį paleisti iš naujo.
>> Ir čia yra pavyzdys kada mes jį naudoti.
Taigi, pavyzdžiui, jei aš norėjau turėti iš tipo int kintamasis pavadintas amžius,
ir aš noriu, kad tai paskatins už jų amžių vartotojas,
Aš ruošiuosi daryti printf () Kiek tau metų?
amžius = GetInt (), kuri yra raginimo vartotoją.
>> Ir kai kurie žmonės bus tikrai erzina.
Ir jūs nenorite klaidas savo programa kažkam įvedusi patinka,
O aš tikiu, neigiama 4 metai ar whatever.
Tokiu atveju, jei jie padaryti, kad tai įvertina
tiesa, o tai reiškia, kad aš ruošiuosi turi nuolat grįžta ir daro tai.
Taigi tai vyksta nuolat Re-paskatino vartotoją
duoti jums patinka realus Amžius numeris ir tai
ketina nuolat grįžta ir redoing tai kol jie jums tikrą amžių
didesnis nei vienas, ar ne nulis.
>> Taigi užuomina, užuomina.
Tai bus labai, labai naudinga vienam iš jūsų PSet problemų.
Taip.
>> SPEAKER 16: Oi, atsiprašau.
>> ANDI Peng: Yep.
>> SPEAKER 16: Ar yra, o ne būti asile, but--
ANDI Peng: Jokių rūpesčių.
SPEAKER 16: --are ten skirtingos taisyklės čia,
ar tu tiesiog pamiršti įdėti citatos?
>> ANDI Peng: Oh yeah.
Atsiprašome, kad tai visiškai mano blogas.
Tai buvo tikrai turėtų būti citatos.
Geras laimikis.
Tai būtų ne paleisti.
GERAI.
>> Taigi paskutinis tipo kilpa kalbėsimės apie ir, galiausiai, kokios labiausiai
kompleksas yra už kilpos.
Nesijaudinkite, jei jūs neturite žinau, ką tai reiškia.
Tai gana paini ne pirmas.
Mes eiti per pavyzdys.
>> Viskas, kas vyksta už kilpos yra tai, kad jūs turite tris pareiškimus
kad jūs ketinate įtraukti.
Taigi tam tikrą dalyką, jūs ketina inicijuoti kintamąjį.
Jūs ketinate pridėti sąlygą, šios linijos bus nuolat veikia.
Ir tada, bent tuo, pabaigoje kilpa, jūs ketinate jį atnaujinti.
Jūs galite atnaujinti kintamąjį kad norite sekti.
Taigi, mes paprastai naudoti už kilpos, kai mes
norite paleisti kilpa tam tikrą laiką
ir mes jau žinome, O aš noriu Šis ciklas vykdyti kaip 10 kartų,
tada jūs do-- aš eisiu per pavyzdys kitame puslapyje.
>> Taigi čia pavyzdžiui, nulio, jeigu Jūs norėjau kažką Pakartokite 10 kartų
viskas, ko jums turėjo pasakyti buvo, Pakartokite 10 kartų Man patinka SAJ!
kuris yra labiau priimtinas Rodyti paramos mus
o ne begalinės kilpos.
Čia, kaip tai darytumėte perėjimas prie C ir rašyti
kad yra int-- aš ruošiuosi jam sukurti ar paskelbti tipas int kintamasis pavadintas i.
Aš ruošiuosi inicijuoti ji iki 0, kad i = 0;
ir tai bus mano būklė.
Taigi, i yra mažesnis nei 10.
Ir tada ne end-- paskutinis teiginys esate
teks yra atnaujinimas kas atsitinka su kintamojo i
ne iš jūsų už kilpa pabaigoje.
Taigi tai tipo paini, nes skirtingų dalių šioje eilutėje
vyksta ne kitoks tipų kilpą.
Bet aš eisiu Daugiau nei Pseudocode pavyzdys, kad
o gal tai paaiškinti tik šiek tiek geriau.
>> Taigi čia.
Štai kilpa mes tik pamačiau.
Iš esmės Pseudocode, ką vyksta šioje programoje,
pirmiausia aš sukurti Aš, inicijuojant ją iki 0.
Aš patikrinti, pamatyti, jei i mažesnis negu 10, ir tokiu atveju
pirmą kartą jis yra nes 0 yra mažesnis nei 10.
Taigi kilpa ketina paleisti.
Ir tada aš ruošiuosi spausdinti šią eilutę.
Ir tada šio linijos pabaigoje, į dešinę čia aš ruošiuosi daryti prieaugį I ++
visi, kad priemonės yra incrementing jį vieną.
>> Taigi aš dabar 1.
Nes ji kažkada buvo 0, jei aš prieaugio tai, tai dabar 1.
Ir tada aš ruošiuosi grįžti į kilpą pradžioje
ir aš patikrinti būklę.
Ar būklė vis dar tiesa?
Taip, 1 vis dar mažesnis nei 10.
Taigi jis ketina spausdinti šį kartą, eiti ir tada prieaugio aš ir patikrinti
sąlyga nuolat, nuolat,
kol galų gale gauti iki taško, kur i yra 10.
>> Jūs ketinate spausdinti šį 10 kartus ir tada aš ketina lygus 10.
Jūs ketinate patikrinti būklę.
Ar 10 mažiau nei 10?
Ne, tai yra klaidinga.
Taigi, šis ciklas vyksta ne paleisti, jis ketina sulaužyti,
ir jūs ketinate toliau su savo kodą.
>> Taigi, kaip jūs vaikinai matote, tai yra tikrai puikus pavyzdys
iš kilpos galite užprogramuoti, kad veikia tam tikrą kiekį kartų.
Kiekvienas aišku?
Taip.
>> SPEAKER 17: Kaip apie prieaugio eksponentiškai, tai skirtingi kodai?
>> ANDI Peng: Jūs can-- mes pereiti Per šį į kitą skaidrę.
Geras klausimas.
Ar anyone-- kol aš judėti on-- kas ne visi sutrikę,
nes tai yra tikrai sunku sąvoka.
Nesijaudinkite, jei you're-- Gerai.
Saunus.
>> Gerai.
Tiesiog bendras skaidrių.
Tai o kilpa daro lygiai toks pats dalykas, for ciklas buvo.
Tai tiesiog parašyta kitaip.
Vaikinai gali žiūrinėti skaidres Jūsų patogumui vėliau.
Bet tiesiog žinau, kad ten daug rašymo būdus tą patį
atsitikti su įvairių kilpų.
GERAI.
>> Taigi, dabar mes gauname į klausimas, ką jei mes turime viduje kilpa kilpos.
Mes patekti į nekilnojamojo Veiklos rūšis dalykų čia.
Jei norite padaryti kažką keletą kartų viduje kitų dalykų
kad daryti tai, ko kelis kartus, jums noriu kas vadinama for ciklas įdėtos.
Tiems iš jūsų, kurie pirmą kartą pamatyti tai ir Gaukite labai sutrikę, visi mes darome čia
daro už kilpos kur turime eilės kintamąjį.
Tačiau viduje ji, mes taip pat turime kitu už kilpos kintamojo vadinamas kolonėlę.
Ir aš labai rekomenduojame jums visiems kurie trikdo pirmiausia išlaikyti
track-- atkreipia į tai dėmesį, atkreipti this out.
Nesistenkite tik priežasties per jį, jį semia.
>> Savo galva, dėl šio kūrinio popierius, ar kas, rašyti eilutėje,
sekti, kas eilutė yra lygus.
Rašyti stulpelį, sekti kas stulpelis yra lygus.
Ir sekti, kas yra spausdinti su kiekvienu iteracijos.
Kiekvienas šio ciklo iteracijos, kiekvienas pasikartojančių kad didesni kilpa,
tiesiog laikyti po logika.
Ir aš jums garantuoti, jums patinka tai, ką matote,
nes tai taip pat labai taikomos jūsų problema rinkinių.
Saunus.
Gerai.
Taigi svarbiausias dalykas kad vaikinai yra tikriausiai visi
galvoti apie dabar, yra jūsų problema Nustatykite 1s,
kurios dėl ketvirtadienis / penktadienis.
>> Savo water.c programos, užuomina jūs ketinate turėti
kad tai paskatins už indėlio vartotoją.
Per savo mario.c programos jūs ketinate turėti
naudoti lizdinė už kilpos, kuris yra už kilpos viduje už kilpos,
spausdinti piramidės blokas, iš esmės Patinka tai, ką Mario turi peršokti per.
Ir tada viduje greedy-- arba galbūt Padaryti pasikeisti, jeigu kas nors iš jūsų vaikinai
kada nors girdėjote apie that-- jūs ketinate turi būti labai
atsargūs pirmuosius slankaus kablelio vertybes.
Įsiminti plaukiojantieji kablelio ir sveikieji skaičiai yra ne tas pats dalykas.
Sekite iš kurių vienas yra kuris.
Ir jūs ketinate naudoti sąlyginiai teiginiai, taip pat.
>> Gerai, paskutinis dalykas.
Aš turiu porą minučių liko.
Stilius.
Taigi, tai yra kažkas, kad ne faktiškai poveikio efektyvumą,
arba realų kodą.
Tačiau ji poveikį mums, kaip Jūsų greideriai, kaip ir jūsų skaitytojams.
Jis atlieka patys, jei esate bando rasti problemą.
Tai poveikis kodą aiškumą.
>> Taigi stiliaus, pavyzdžiui, kai jūs bandote stiliaus esė anglų, jei
neturėjo pastraipas, jūs turite viską natūra
iš kartu sumaišytų vienoje eilutėje, ją daro tai tikrai sunku visiems
skaityti jūsų esė, net jei Jūsų taškai yra logiškas.
Tas pats dalykas programavimą.
Jūs galite turėti siaubingai miglota kodas, kuris Scaz apims,
ir ji vis dar gali paleisti ir funkcijos.
Bet mums, kaip jūsų mielas Tas, kuris skaityti ir vertinti savo PSets,
tai nėra labai gražus.
>> Taigi, prašome, už labui mums ir sau,
kai bandote nustatyti tavo kodas problema,
ir jūs bandote skaityti savo kodą, kad
Būtinai laikykitės tam tikrų konvencijų kad mes ketiname eiti per.
>> Taigi pirmas.
Duoti savo kintamiesiems prasmingus vardus.
Jei norite išsaugoti sveikasis skaičius vadinamas metų, prašome name it amžių.
Negalima name it aukštį.
Kai bandote saugoti amžių aukščio,
ji daro viską, labai paini už mus.
Mums nepatinka būti painiojama.
Jums nepatinka būti painiojama.
Niekas mėgsta būti painiojama.
Jei jūs ketinate sukurti kažką, Vardas jis kažką prasmingo.
>> Tačiau, už kilpos, vieno charakterio kintamieji paprastai gerai.
Ir už kilpos, jei norite tiesiog i ir j, k, nedvejodami tiesiog daryti.
>> Nuoseklus iniciacijos.
Taigi, ką tai reiškia?
Tai reiškia, kad techniškai, teoriškai, Jums gali inicijuoti ir kurti
keli kintamieji tos pačios linijos.
Taigi, pavyzdžiui, galiu sukurti sveikasis skaičius vadinamas scaz_age,
ir sveikas vadinamas andi_age = 20, ir sveikas vadinamas jason_age
ant tos pačios linijos.
Ir aš taip pat galima priskirti tik vieną juos, o ne į vertybes kt.
Mes prašome, prašome nedaryk to.
Kadangi čia jūs sukurdavo trys kintamieji, tačiau tik vienas iš jų
tikrųjų turi vertę.
Ir tada, kai mes bando skaityti savo kodą,
arba, jei jūs bandote nustatyti tavo kodas problema,
tai labai paini sekti.
Taigi tik savo aiškumo, už Mūsų skaitomumas, nedaryk to.
>> Nuoseklios garbanotas petnešos.
Kai kurie žmonės mėgsta išreikšti savo garbanotas petnešos skirtingose ​​vietose.
Jis tikrai ne klausimas.
Tiesiog įsitikinkite, kad esate atitinka jūsų savo kodą, kur norite juos.
>> Nuoseklus tarpai.
Jei padėkite tarpą po už kilpos, visada tai padaryti.
Negalima tiesiog patinka rūšies padaryti jį Kai kuriose vietose, nereikia daryti kiti.
Tiesiog būti nuoseklūs.
>> Antra, jei kas nors norėtų žiūrinėti į CS50 stiliaus vadove,
mes oficialiai turėti stiliaus vadovas, jums pasakys visas šias konvencijas,
plius dar daugiau.
Tai internete.
Tai tarsi cs50.net/style~~pobj ar kažkas panašaus.
Galite google ją.
>> Derėjimas yra raktas.
Taigi nesijaudinkite, ką kiti žmonės daro,
tiesiog įsitikinkite, kad jūs esate nuosekliai per savo kodą.
Kiekvienas turite kokių nors klausimų apie tai?
Taip.
>> SPEAKER 18: Taigi tinkamas dalykas daryti su iniciacijos yra tik
turi juos visus atskirai linija, kad tai, ką jūs sakote?
>> ANDI Peng: Taigi, aš retai tai įvyktų.
Bet jei jūs norėjo, jei norite būti kaip sutaupyti vietos jūsų kodas,
ar kas, galite tai padaryti.
Mes prašome, kad jūs tiesiog neturite inicijuoti vienas dalykas, o ne kiti.
Taigi, jei jūs norite daryti int scaz_age, int andi_age, int jason_age, tai gerai.
Tiesiog nereikia inicijuoti vieną o ne kiti yra viskas.
>> Klausimai?
Gerai.
Aš ruošiuosi perduoti išjungti mikrofonas, ir lazerinė rodyklė,
ir estafetę Scaz šiuo klausimu.
Tai nepatogu.
Štai.
>> BRIAN SCASSELLATI: Ačiū.
Kaip tai garsui?
Garsas yra gerai? ,
Puikus.
GERAI.
Taigi, hi everyone.
>> Aš ruošiuosi pabandyti dirbti per praktinis pavyzdys su jumis.
Ir mes ketiname naudoti CS50 s kūrimo aplinka, kas vadinama
Integruota kūrimo aplinka.
Ir jūs mačiau tai įrodytas paskaita.
Ir probleminėse Set 1, esate ketina turėti galimybę
jį naudoti, ir pažaisti su tai ir priprasti prie jo,
nes mes ketiname jį naudoti per semestrą poilsio.
>> Taigi šiuo IDE, turite kas atrodo kaip labai tradicinis failų naršyklę
per vienoje pusėje.
Jūs turite porciją iki Top kur einat
pamatyti savo kodą, jūsų Cfile, kodas, kad rašote.
Ir žemyn apačioje, jūs turi terminalo langą
kuris jums bus naudojate tiek kaupia savo programą
ir paleisti arba vykdyti savo programą.
GERAI.
>> Taigi tiesiog duoti mums šiek tiek pamatai, tame galiniame lange,
jūs ketinate būti naudojant komandų rinkinį
kad yra standartiniai komandų visoje dauguma Unix ar Linux sistemose.
Ir todėl, jei jūs kada nors naudoti bet Unix, Ubuntu forma,
arba bet kuris iš kitų skonio, jie ketina ieškoti pažįstamas.
>> Jei neturite, nesijaudinkite.
Nėra nieko sudėtinga apie juos.
Jie tiesiog naudojant skirtingas sintaksė, kitoks įvardijimas
Konvencija, nei jūs matėte anksčiau.
>> Taigi, norint sąrašą iš failus per tam tikrą katalogą,
jie ketina naudoti komanda vadinama LS, ar sąrašą.
Jei norite pamatyti viską su visomis detalėmis,
jums naudoti komandą linija argumentas su ls -l.
Ir tai jums parodysiu viską išsamiau, įskaitant
už failo leidimus.
>> Norėdami pakeisti katalogas, jums naudoti cd komandą.
Ir jūs galėsite pakeisti katalogą tiek eiti į savo namų katalogą.
Tai tiesiog cd visi pati, CD su dviem
taškų grįš jus vieną lygio į ankstesnį katalogą.
Ir jūs taip pat galite cd iki A pakatalogį įvesdami cd
ir tos pakatalogį pavadinimą.
>> Jūs taip pat galite sukurti naujus katalogus.
Ir mes ketiname eiti per tai vos per minutę.
Bet tik įdėti viskas ekrane.
Taigi, kad jūs galite pamatyti juos.
>> Jūs taip pat turite galimybę manipuliuoti failus tiesiai
iš komandinės eilutės.
Galėsite nukopijuoti juos, kad perkelti juos arba juos pašalinti,
tai yra, efektyviai, juos ištrinti.
>> CS50 IDE suteikia jums visiškai galia komandinės eilutės argumentus.
Ir tai reiškia, kad jūs taip pat gali padaryti labai pavojingų dalykų.
GERAI.
Pavyzdžiui, galite pašalinti, arba kad yra ištrinti
failas neklausiant už patvirtinimo.
Ir jūs netgi galite pašalinti recursively-- tai
brūkšnys r flag-- visą pakatalogis ir visos jos turinį.
GERAI.
Jie išvardyti raudona, nes jus reikia galvoti "pavojus", kiekvieną kartą
matai tuos dalykus.
GERAI.
Gerai.
>> Pagaliau, ką, kad yra bus tikrai vertinga jums,
ten yra keletas gerų triukų žinoti, kaip jūs naršyti
per šį terminalo lange.
Pirma, jūs galite išvalyti ekraną bet tiesiog įvesdami aišku laikas.
Ir jūs ketinate pamatyti man padaryti, kad gana dažnai.
Jūs taip pat galite tiesiog parodyti iš failo tekstas
įvesdami daugiau ir tada failo vardą.
Tada galėsite slinkti atgal ir pirmyn, kad tik su tarpo
ir rodyklių klavišus.
>> Jei turite, kaip mes padarėme šiandien paskaitos programa, kuri veikia nuolat
į begalinis ciklas, jums gali sustabdyti šią programą
iš vykdančiosios įvesdami kontrolės, kad yra laikydami nuspaudę Control-C.
Ir jums gali tekti padaryti tai kelis kartus.
Kompiuteris gauna gerokai prieš jus.
Ir jūs kartais reikia suteikti jai apie pora bando
kol ji bus iš tikrųjų ateiti per.
>> Jūs taip pat galės Rūšiuoti pagal komandas
kad jūs tiesiog atspausdinti naudojant aukštyn klavišą, rodyklės klavišą, o tada žemyn rodyklės klavišą.
Ir kas naudingiausia yra vietoj įvedę ilgų failų vardų,
Galėsite į naudojimo klavišą "Tab" automatiškai užbaigs keletą instrukcijų.
Dabar mes ketiname parodyti visi tie vos sekundę.
Taigi, jei jūs neturite prisiminti juos, nesijaudinkite.
Tai yra dalykai, kurie jums pasiimti ir naudoti, kaip mes einame kartu.
GERAI.
>> Taigi C-- skirtingai Scratch-- C yra kaupiami kalba.
Tai reiškia, kad mes ketiname imtis šaltinį file-- tai tekstas, rašote,
komandas, kad rašote, The printf () pareiškimai, kilpos,
viskas else-- ir mes ketiname imtis, kad bylą ir perduoti ją išjungti
programai vadinamas kompiliatorių.
>> Kompiliatorius bus tada kad tekstas, kurį parašiau
ir jį išversti į dvejetainiai instrukcijos
, kad jūsų kompiuteris yra tikrųjų vyksta naudojimą.
Tai vadinama objektas arba vykdomąjį failą.
Jei pažvelgti į šį failą, jūs ketinate pamatyti kodą, kad jūs parašėte.
Jei pažvelgti į šį failą, jūs ketinate pamatyti atsitiktinių seką simbolių
kad prasmės apskritai.
Tai todėl, kad tai yra dvejetainis.
Jis nėra skirtas jums skaityti.
>> Tačiau, bet kuriuo metu norite paleisti kažką, ką jūs ketinate
būti paleistas yra šis objektas failą.
Taigi, kai mes dirbame su šiomis failai, mes parašyti C failą
Mes tada kaupia jį, naudojant komanda kaip markė, kuri bus pasitelkti
kompiliatorius žvangėjimas už C kalba.
Ir kad gamins objektą paduoti, kaip, arba kad šiuo atveju,
pavadinimas, mano byla, kad aš įdėti.
Gerai.
>> Tad tikrai pabandyti tai.
Taigi aš atėjo su, pavyzdžiui ką aš norėjau pabandyti.
Ir vienas iš dalykų, kad žavi mane yra animacija.
Taigi mes ketiname pabandyti padaryti šiek tiek animacijos
naudojant tik ASCII simbolius.
Veikėjai galime atspausdinti lengvai dabar.
>> Taigi čia yra mano geriausias bandymas sukurti už jus
iš triušelis animacija veikia per užaugusi aukšta žole.
Štai kur jis.
GERAI.
Taigi jis neveikia, bet jis stovi ten užaugusi aukšta žole.
>> Dabar, jei aš būčiau animatorius, senosios mokyklos
versija animacija, ką aš būtų padaryti, tai aš norėčiau gaminti
iš Šis Bunny žolės nuotrauka.
Ir tada aš norėčiau gaminti kitas picture--
kita, ką jie vadino cell-- kad buvo Bunny tik šiek tiek svyruoti.
Ir tada trečioji vienas, kad turėjo Bunny persikėlė šiek tiek toliau.
>> Ir aš norėčiau pagaminti visą seka iš šių ląstelių.
Kai kur zuikis yra daugiau ant kairės pusės.
Ir tada lėtai juda, vienas vienas link vidurio.
Ir tada nuo vidurio perkelti į dešinę.
Ir jei aš būčiau tada, tikrai sekasi, galėčiau įdėti jį kartu
ir aš galėjau animuoti juos.
Ir ten mano zuikis veikia per žolę.
>> Štai mano didysis "PowerPoint" apgauti dieną.
GERAI.
Taigi tai yra tokia gera, kaip ji pasireiškia.
GERAI.
Taigi, čia daugiau vienu metu, čia yra mūsų bunny veikia per žolę.
>> SPEAKER 19: Vėlgi.
BRIAN SCASSELLATI: Vienas daugiau laiko, viskas gerai.
Yra jūsų Bunny.
GERAI.
>> Taigi, šiandien, ką mes ketiname padaryti, tai mes ketiname
bandyti automatizuoti procesą gaminti šias ląsteles.
Mes ne visai gauti į tašką kad galėtų juos visus kartu.
Tačiau, mes ketiname bandyti automatizuoti procesas generuoti šią seką.
>> Ir tai daug ką Animacijos šiandien yra kaip.
Tai reiškia, kad jums nereikia daryti dalykus, nebūtinai piešimo viską ranka.
Mes naudojame kompiuterį automatizuoti dalys šio proceso metu.
GERAI.
>> Taigi leiskite man pereiti per dabar mūsų CS50 IDE.
Ir aš sukūriau us-- ir tegul man priartinti čia truputį bit-- aš
sukurta mūsų atspirties taškas.
>> Kiekvieną kartą, kai mes prašome jus sėdėti žemyn ir parašyti kodo fragmentą,
ką mes iš tikrųjų klausia jums padaryti yra mes prašome išspręsti problemą.
Ir taip, kad jums reikia manau, apie tai, kad
yra pradėti nuo kai paprastas dalis šio tirpalo.
Ir tada statyti iš tos dalies.
Ir tai, ką mes ketiname daryti šiandien.
>> Taigi, o ne bandyti visus iš karto į rašyti visą krūva kodo, kad yra
ketiname gaminti tiems, 10 animacija ląstelės,
mes ketiname pradėti vietoj su vieno gabalo, kuris dirba.
Ir tada mes statyti šiek tiek aplink, kad
ir šiek tiek daugiau ir šiek tiek daugiau.
>> Dabar geras dalykas apie sprendžiant problemas tokiu būdu
yra tai, kad jis leis jums pradėti visada su kažkuo, kad jūs žinote,
veikia ir pristatyti vieną palaipsniui keisti.
Ir tai puikus būdas išmokti kodas,
nes kiekvieną kartą, kai jūs padarote kaita, matote, kokią įtaką jis turi.
GERAI.
>> Taigi čia mūsų atspirties taškas.
GERAI.
Būdamas savo failo pradžioje, Aš maišos #included stdio.h.
Štai taip, kad aš galiu gauti printf () funkcija dirbti.
>> Tada aš turiu pagrindinę funkciją.
Ir tai vis dar atrodo šiek tiek Arcane arba neaiškios kai kurie iš jūsų.
Tai gerai.
Visa tai sako yra tai, kad pagrindinė funkcija trunka
ne arguments-- void priemonės nieko C ir IT
Grąžinimas pagal susitarimą sveikasis skaičius.
Pagrindinė visada grąžina sveikąjį skaičių, paprastai kodas sakydamas kažką
buvo gerai ar nėjo gerai.
GERAI.
Tačiau pagrindinis turi turėti, kad suformuoti mums dabar.
>> Aš tada įdėti į trijų eilučių kodo.
Ir kartu su kiekvienos linija kodas, Aš įdėti komentarą.
Dabar vienas iš dalykų, kad mes reikalaujame, kad jūs darote,
ir tai toks svarbus programavimo praktika,
yra visada pakomentuoti savo kodą.
Visada užsirašyti nurodytame Anglų komentaras kažką
kad jūs manote, kad kodas turėtų daryti.
Tokiu būdu, vėliau, kai jūs grįžti į IT, galite pažvelgti į jį, ir jūs galite pasakyti,
Oh, aš atsimenu, ką buvau bando daryti su šiuo klausimu.
Arba kai TA atsisėda su jumis bandyti padėti jums ne darbo valandomis,
jie gali pažvelgti į tai ir eik, aš pamatyti, ką jūs bandėte daryti,
bet vietoj tai yra kas iš tikrųjų vyksta.
GERAI.
>> Taigi aš turiu tris dalis, mano kodas, Aš ruošiuosi pirmiausia spausdinti
iš kai kurių pradžioje taškais.
Tada aš atsispausdinti Mano labai išgalvotas Bunny.
Ir tada kai taškais gale tiek.
>> Ir šie trys Spausdinti atskaitomybę, turi atrodo pažįstamas šiuo klausimu.
Visa tai darau į kiekvienas iš jų aš
spausdinti simbolių seką.
Nėra jokių kintamųjų.
Viskas yra tik butas.
GERAI.
>> Taigi, jei aš nusileisiu į mano terminal-- pažiūrėkime, jei aš galiu gauti šią nugarą out--
ir aš ruošiuosi dar kartą įveskite aišku.
>> SPEAKER 20: Ar mes naudojame dvigubas pasviras brūkšnys komentarą?
BRIAN SCASSELLATI: Ar naudoti double-- Taip.
Yra daug būdų palikti komentarus C. Vienas
būdas yra naudoti dvigubas įstrižas brūkšnys.
Kitas yra naudoti velniop ir žvaigždė ir uždarykite su žvaigžde ir velniop.
Gerai.
>> Pirmiausia, aš ruošiuosi pradėti žvalgyti maždaug čia.
Taigi, jei aš einu į savo namų katalogą, Aš pasikeitė katalogus ten,
Aš ruošiuosi ieškoti ir pamatyti, kas yra tame kataloge, ls, sąrašą iš.
Aš ruošiuosi pamatyti, kad aš turiu du pakatalogius.
Padarykime tai šiek tiek didesnis čia taip, kad mes visi galime jį pamatyti.
>> Matau, kad aš turiu du pakatalogius.
Aš pakeisti katalogą eiti į darbo vietos.
Ir aš ruošiuosi tik tipo iš dalis, ir tada tiesiog paspauskite Tab.
Ir jis bus užbaigti likusią už mane.
Išgalvotas.
>> Aš atrodo ir pamatyti darbo vietos.
Ir dabar, aš dirbu ant SuperSection
kad mes mokyti dabar.
Taigi, aš eisiu į tą katalogą.
Ir, pagaliau, atrodo ir pamatyti.
Ir aš turiu tą failą bunny.c.
>> Visos teisės todėl leiskite man aišku dar kartą.
Ir aš ruošiuosi now-- vėl aš vis dar gyvena tame kataloge
ir jis man sako, aš kad SuperSection katalogas.
Aš ruošiuosi eiti į priekį ir kad mano programa Bunny.
Ir tai komanda, padaryti bunny, o skamba šiek tiek keistai,
Taip pat remiasi klingsėti kompiliatorių.
>> Ir tai pagaminta man ta produkcija, kurią
vykdomąjį funny-- vykdomąjį failą vadinamas triušelis.
GERAI.
Galiu tada, ir šis sounds dar blogiau, vykdyti Bunny.
GERAI.
Ir pažiūrėkime, ką ji daro.
GERAI.
Štai šiek tiek ką aš tikėjausi.
Aš gavau mano Bunny nuotrauką ten, bet aš rūšies norėjo visa tai savaime.
Ką aš praleidau?
>> SPEAKER 21: Slash l arba velniop n.
BRIAN SCASSELLATI: Slash n.
GERAI.
Taigi grįžkime čia.
Ir aš gausiu iš to.
Ir aš eisiu atgal į šį vieną.
Ir tegul pažvelgti dabar mano pagrindinė funkcija čia.
>> Taigi, ką turėčiau daryti?
Noriu baigti liniją.
Taigi aš įdėti komentarą.
Aš įdėti į printf ().
Ir ką aš turiu įdėti?
/ n.
GERAI.
Ką aš turiu ją baigtis?
Kabliataškiais.
Gerai.
>> Dabar, vienas iš tikrųjų svarbių dalykų, tai įsitikinkite, kad
kiekvieną kartą jums padaryti pakeitimą Jūsų kodas, kad jūs išsaugokite jį.
Jei neišsaugojote kodą, jūs ketina pranešimas truputį žvaigždė ten.
Ir tai žvaigždė sako, kad jūs neišsaugojote šį kodą.
>> Jei aš kaupia jį dabar, tai ne ketina apsvarstyti bet kurį iš šių pokyčių,
nes kompiliatorius žiūri į failą tai ant disko, o ne failo tai
atidaryti savo redaktoriumi.
Gerai.
>> Taigi leiskite išsaugokite jį ir tada mes eiti teisę žemyn čia grįžti iš.
Nusileiskite į mano terminalo.
Ir tegul išvalyti erdvę vėl.
>> Ir mes galime eiti į priekį ir dar vienas laikas padaryti mūsų Bunny programą.
Ir vykdyti Bunny.
Tai neveikia arba.
Neteisinga velniop.
Taigi, jei jums pažvelgti į tai, ką aš turiu, aš įdėti / n ten, bet aš turėjau klaidingą velniop.
>> Viskas, kad jūsų kompiuteris Ar yra labai aiškus.
GERAI?
Vienas mažai klaida skyrybos ir Staiga jūs neturite gauti tai, ko norite.
Gerai.
Taigi leiskite padidinti atgal dar kartą.
Mes grįžti atgal.
Na padaryti, kad labai greitas remontas.
Mes įdėti tinkamą velniop vietą.
Mes išsaugokite jį.
Mes priartinti atgal.
>> Dėl tam tikrų priežasčių, tai ne yra laimingi, bet eikime į priekį
ir mes grįžti į terminalą čia.
Išvalyti jį.
Mes priartinti.
Ir dar kartą, mes padaryti bunny.
Ir dabar tikrai pakankamai, jis veikia.
Valio.
GERAI.
>> Taigi pabandykime, kad šis šiek tiek daugiau apskritai.
Leiskite pamatyti, jei, o ne tik spausdinti vieną konkrečią rėmas,
tegul pamatyti, jei mes galime padaryti tai taip, kad mes galime gauti visą 10
tų animacinių rėmeliai kad mes norėjome turėti.
Taigi dar kartą, galime imtis tai taptų tuo metu, žingsnis.
>> Tegul pirmasis apibendrinti ją, o ne taip, kad aš galiu padaryti visus kadrus,
bet taip darau bet kokį vieną rėmas, kad aš galbūt norėsite.
Taigi koks skirtumas tarp kadrų?
Ar zuikis tas pats?
Auditorija: Taip.
BRIAN SCASSELLATI: Taip.
Koks skirtumas?
>> AUDITORIJA: Pareigos.
BRIAN SCASSELLATI: Jo pozicija, tiesa?
Ir Kaip galiu kontroliuoti savo poziciją?
Kiek taškų aš išleisti pradžioje
ir kiek taškų aš išleidimą pabaigoje.
Taigi turėjau penkis ne prasidedanti ir penkių pabaigoje.
>> Leiskite pakeisti, kad penki su už kilpa.
GERAI.
Ir aš ruošiuosi sukurti kilpa, kad dabar vyksta pasakyti,
Aš ruošiuosi spausdinti tam tikrą skaičių taškų pradžioje.
Aš ruošiuosi naudoti kintamąjį.
Tarkime, kaip apie I Į mano kilpa skaitiklis.
Ir aš ruošiuosi paskelbti jį iš viršaus.
>> Ir tada už kilpos Man reikia padaryti tris dalykus.
Pirmas dalykas, man reikia padaryti yra man reikia inicijuoti i.
Ką turėčiau inicijuoti ji pradeda būti?
0.
GERAI.
>> Tada man reikia pasakyti, kas nutraukimas būklė?
Kada turėčiau nustoti?
Na, kiek taškų padaryti jums norite spausdinti šį vieną?
>> Auditorija: Penki.
BRIAN SCASSELLATI: Penki naujo?
Kaip apie darykime kažką skirtingi, mes padarėme penki.
Leiskite parodyti, kad jis kitoks.
SPEAKER 22: Du.
BRIAN SCASSELLATI: Du.
GERAI.
Taigi, jei aš noriu du taškus, ką turėčiau įdėti čia?
>> Auditorija: Trys.
>> BRIAN SCASSELLATI: Trys.
GERAI.
Kiek kartų yra tai, kad ketinate eiti per?
Štai ketinate eiti per tris kartus, 0, 1, 2 ir, dešinė?
Gerai, grįžkime iki dviejų.
Dabar mes gauti du taškus.
Ir ką aš noriu padaryti kiekvienas kartą aš einu per kilpą?
Kas turi keistis kiekvieną kartą, aš einu per?
>> SPEAKER 23: Pridėti tašką.
>> BRIAN SCASSELLATI: Turiu nesustoti.
Aš ruošiuosi pridėti tašką.
Aš ruošiuosi spausdinti tašką, kiekvieną kartą per kilpą.
Bet kaip aš sekti, kaip daug kartų buvau per kilpą?
Aš naudoju aš toks, kad kintamasis, kad skaitiklis.
>> Taigi kiekvieną kartą, per, aš ruošiuosi prieaugio skaitiklis vieną.
Dabar, tai už tą patį man, kaip sakoma i = i + 1.
Tai gerai.
Galėčiau padaryti that-- man patinka sutrumpinimas, todėl aš ruošiuosi pasakyti, kad aš ++.
GERAI.
>> Darom tą patį žemyn čia apačioje.
Tik I rūšies padarė, kad vienas.
Aš ruošiuosi leisti jums, vaikinai padaryti šį vieną visiškai.
Gerai.
>> Taigi, ką aš turėčiau rašyti čia?
Štai mano ir kilpa.
Aš ruošiuosi daryti printf () ir aš ruošiuosi padaryti taip, kad aš spausdinti tik vieną tašką
tą apačioje.
>> Ką turėčiau rašyti viduje šis for ciklas dabar?
Na, visų pirma tai, ką kintamieji turėčiau naudoti?
>> SPEAKER 24: j.
>> BRIAN SCASSELLATI: aš galėtų naudoti j.
Ar galiu naudoti tą patį vieną?
Ar galiu naudoti i naujo?
Taip.
Tai gerai, nes IS kad aš naudoju čia,
Man nereikia juos dar kartą, kai Aš kibti į šį punktą.
>> Taigi, ką turėčiau inicijuoti i?
SPEAKER 25: 10.
BRIAN SCASSELLATI: 0.
Ką turėčiau patikrinti?
Kiek taškų man reikia dabar pabaigoje jei aš turiu du taškus pradžioje?
Man reikia aštuoni pabaigoje, todėl tai, ką Aš reikėtų patikrinti, aš mažiau than--
>> Auditorija: septyni, aštuoni, devyni.
BRIAN SCASSELLATI: Aš girdėjau septyni.
Girdėjau aštuoni.
Ir aš išgirdau devyni.
GERAI.
Taigi mes visi į dešinę ball-- Jasonas sako 10.
GERAI.
>> Jei man reikia du taškus už pirmasis, kiek tai
I-- ir man reikia aštuonis taškus už paskutinis one-- aš įdėti du iki pirmiau,
ką turėčiau pribaigti toliau?
>> Auditorija: aštuonių.
>> BRIAN SCASSELLATI: aštuoni.
Nes tai vyksta tikėtis nulio per septynių.
Ir tai aštuonis kartus per kilpą.
GERAI.
Ir ką aš turiu daryti pabaigoje?
>> Auditorija: i ++.
>> BRIAN SCASSELLATI: i ++.
Gerai.
Taigi, kad žiūri gana gera ten.
Pabandykime tai ir pažiūrėkime, ką ji daro.
GERAI.
Taigi mes ketiname išsaugokite jį.
Nicos ir išgelbėti.
>> Mes priartinti atgal.
Bandysime čia terminalą.
Mes priartinti.
Oi.
Mes jums, dar kartą, kad mūsų Bunny programą.
Ir eiti į priekį ir vykdyti Bunny.
Ir ten yra.
>> Taigi mūsų Kiškis.
Kur ji turi du taškus pradžioje ir aštuoni taškai iš pabaigoje.
Visi vis dar su manimi?
GERAI.
>> Taigi mes sukūrėme jį.
Mes pastatėme vieną zuikį, vieno konkretaus rėmo.
Dabar mes galėjome apibendrinti, kad statyti
daugiau skirtingų rūšių rėmai.
>> Dabar galime eiti į priekį, ir turi jis sukuria ne tik vieną kadrą,
bet tegul generuoja 10 rėmai, kur mes lėtai
padaryti bunny perkelti visus būdas visoje srityje.
Gerai.
>> Grįžkime.
Ir mes pasistengsime dabar.
Taigi, ką aš tikrai reikia pakeisti čia?
Ką reikia pakeisti?
>> SPEAKER 26: Jūs pirmiausia reikia pakeisti taškais didžiausias skaičius
pradžioje.
Nes jei mes darome 10 taškus, jis ketina reikia iki mastelį.
BRIAN SCASSELLATI: Taip.
Taigi dabar turiu tai tarsi hardwired visada padaryti du taškus pradžioje
ir visada daryti aštuonis taškus pabaigoje.
>> Noriu sukurti dar vieną kilpą, tiesa?
Nes aš nenoriu statyti tik vieną Bunny nuotrauką
Noriu sukurti 10 triušiuko nuotraukas.
Taigi man reikia statyti dar vieną kilpą, ir, kaip aš einu per tą kilpą,
Noriu pakeisti, kiek Aš taškų spausdinti pradžioje
ir kiek taškų atspausdinti pabaigoje, remiantis kuri ciklas per kilpą
Aš sutinku.
Gerai.
>> Taigi galime gauti kitą skaitiklį.
Kažkieno prieš sakė j, duomenis todėl mes padaryti kitą j.
Ir dabar, mes ketiname statyti kitą kilpą.
>> Kas vyksta viduje, kad kilpa?
Ši medžiaga turi eiti viduje linijos, tiesa?
Ar Bunny turi eiti viduje linijos?
Ar man reikia į Bunny kiekviena iš šių 10 kadrų?
>> Auditorija: Uh-huh.
BRIAN SCASSELLATI: Taip.
Noriu kiekvienoje Bunny iš 10 kadrų, tiesa?
Kaip apie ne taškeliais pabaiga, man reikia, kad?
GERAI.
>> Taigi, aš ruošiuosi įtrauka juos visus.
Aš ruošiuosi pabrėžti visus tai, ir aš ruošiuosi nukentėjo Tab.
Ir tai vyksta stumti juos visame šiek tiek, kad tai lengva man
pamatyti, kas į kilpą.
Ir tada aš ją baigti.
Tarkim.
GERAI?
>> Dabar, šiuo kilpa, kad Aš stato oi,
padaryti, kad būtų galima see-- Aš gavau mano kovos j.
Aš pradėjau jį 0.
Kiek kartų aš noriu eiti per šį kilpa?
Auditorija: 10 kartų.
BRIAN SCASSELLATI: 10 kartų.
Taigi, ką numeris turėčiau įdėti čia?
>> Auditorija: 9, 10.
>> BRIAN SCASSELLATI: 9, 10, kieno nors turiu pasakyti 11, tiesa?
Norėjau du taškus prieš ir įdėti i mažiau nei 2.
Norėjau aštuonis taškus, Aš įdėti i mažiau nei 8.
Dabar aš noriu eiti per 10 kartų, todėl aš įdėti j mažiau than--
>> Auditorija: 10.
>> BRIAN SCASSELLATI: 10.
Čia mes eiti.
Ir ką man daryti pabaigoje J?
++ Prieaugio ją.
GERAI.
Dabar čia keblus dalis, kas nutiks dabar, jei aš tai padaryti?
Ar aš spausdinti 10 kadrų?
SPEAKER 27: Manau jie visi bus tas pats.
BRIAN SCASSELLATI: jie visi bus tas pats, tiesa?
Nes visi jie yra vis dar vyksta įdėti du taškus pradžioje.
Bet aš nenoriu juos visus turi du taškus pradžioje.
Kiek taškų padaryti I noriu pradžioje?
>> Auditorija: keitimas.
>> BRIAN SCASSELLATI: Aš noriu, kad ji pakeisti, tiesa?
Taigi, ką aš čia, kad keičiasi kiekvieną kartą, kai kilpa eina per?
>> Auditorija: Taškų taškais, J.
BRIAN SCASSELLATI: j, duomenis iš taškų skaičius.
Taigi aš galiu tai pakeisti, kad būtų j.
Pirmą kartą per kilpa, kas tai bus?
Ką man nustatyti j ne pirmas?
>> AUDITORIJA: 0.
>> BRIAN SCASSELLATI: Taigi, kiek kartų aš ketinu tai padaryti?
0.
Antrą kartą per kilpą, J s bus 1, nes aš prieaugio ją.
Kiek taškų I am going spausdinti?
1.
Trečią kartą per kilpą, kiek taškų I am going spausdinti?
>> Auditorija: Trys.
BRIAN SCASSELLATI: j bus 3.
Kiek taškų I am going spausdinti?
Oi, atsiprašau, j tai bus 2.
Kiek taškų I am going spausdinti?
>> Auditorija: 2.
>> BRIAN SCASSELLATI: 2.
Gerai, kad aš ruošiuosi laikyti incrementing, kad mes einame kartu.
Kaip apie apačioje?
Kas krinta čia?
Aš nenoriu 8 visada pabaigoje nebėra?
>> SPEAKER 28: 10.
BRIAN SCASSELLATI: Noriu 10 taškus?
Noriu, kad ji pakeisti, taip pat.
Taigi, kaip aš noriu tai pakeisti?
>> Auditorija: [nesigirdi].
BRIAN SCASSELLATI: Na, jei aš turi penkis taškus pradžioje,
kiek taškų s gausiu pabaigoje?
>> Auditorija: Penki.
>> BRIAN SCASSELLATI: Jeigu aš turiu šešių taškų pradžioje,
kiek gausiu pabaigoje?
Auditorija: Keturi.
BRIAN SCASSELLATI: Jeigu aš turiu septyni taškai pradžioje,
kiek gausiu pabaigoje?
Auditorija: Trys.
BRIAN SCASSELLATI: Jei aš gavo j taškus pradžioje,
kiek gausiu pabaigoje?
10-j.
GERAI.
Taigi pabandykime, kad iš.
>> Taigi, aš ruošiuosi išsaugoti mūsų Bunny programą.
Dar kartą mes nutolinti.
Mes eiti į mūsų terminalą.
Mes jį išvalyti.
Ir priartinti.
Mes, kad mūsų Bunny programą, dar kartą.
Ir mes jį vykdyti.
Uh Oh.
>> Laikykis, tegul nutolinti.
Ar aš gausiu 10 kadrų?
Na, kaip daugelis zuikučiai matau ten?
1, 2, 3, 4, 5, 6, 7, 8, 9, 10.
Gavau 10 kadrų.
Ar jie visi vienodi?
Auditorija: Taip.
Ne.
>> BRIAN SCASSELLATI: Ne
Tai Pirmasis iš jų, Bunny yra toli kairėje.
Ir štai čia, Bunny yra toli dėl
SPEAKER 29: Teisė.
BRIAN SCASSELLATI: Taigi, Ką aš pamiršti daryti?
SPEAKER 30: Pradėti naują eilutę.
BRIAN SCASSELLATI: Aš pamiršau pradėti naują liniją, dar kartą.
Tą pačią klaidą, aš padariau anksčiau.
Gerai, eikime nustatyti, kad.
Dabar, aš vis dar turiu kodą ten padaryti naują eilutę.
Kodėl ne jis veikia?
SPEAKER 31: Tai ne viduje linijos.
BRIAN SCASSELLATI: Oi, tai ne viduje linijos.
Teisingai.
Ji sėdi už čia.
Ir už kilpa yra viskas tai viduje, kad tekste.
>> Taigi, aš ruošiuosi judėti šis viduje už kilpos.
Ir aš Tab priešais jį rodo, kad jis yra reikiamoje vietoje.
Ir dabar, mes išsaugokite jį dar kartą.
Mes nutolinti.
Mes pereiti per mūsų terminalą.
Priartinti.
Mes perdaryti mūsų Bunny programą.
O dabar, o dabar mes turime mūsų 10 kadrų.
>> [Plojimai]
>> BRIAN SCASSELLATI: Gerai.
So.
Čia yra mūsų įdėtos į kilpas.
Mes galėjome sukurti į vidinis kilpa, kiek taškų norėjau
spausdinti pradžioje, pabaigoje.
Ir išorinis kontūras kontroliuojama kiek rėmai buvau pastate.
Mes pradėjome su vienas mažas branduolio problemos,
ir mes pastatėme iš to taško.
Gerai.
>> Padarykim dar vieną žingsnį.
Jūs pasiruošę?
Yra vienas dalykas čia, kur mes iš tikrųjų rūšies gavo
daugiau sudėtingumo, nei mums reikia.
Leiskite pažvelgti.
Taigi mūsų Bunny programos, jei aš nutolinti čia
Aš iš tikrųjų kai tas pats dalykas, vėl ir vėl.
Ką daryti, kad tarsi tas pats kartojama du kartus?
>> SPEAKER 32: Spausdinti taškus.
>> BRIAN SCASSELLATI: Taip Aš spausdinti tuos taškus du kartus.
Tikrai, aš turėtų turėti Šis komentaras žemyn čia.
Aš spausdinti keletą taškus ne pradeda, tiesa čia.
Ir tada aš spausdinti keletą taškų pabaigoje.
Ir aš rūšies lygiai tą patį.
Ką mes ketiname pradėti darbo per ateinančius keletą savaičių
yra galimybė imtis šių blokų kodas, kad mes naudojame, vėl ir vėl,
ir per procesą vadinama abstrakcija,
mes ketiname juos ištraukite ir rašyti juos vieną kartą, kad mes galėtume tada
pakartotinai juos vėl ir vėl.
Taigi pabandykime tai.
Pasiruošę?
>> Mes ketiname imtis šio kodo bloką.
Ir aš ruošiuosi jį iš ten.
Ir aš ruošiuosi define-- žemyn apačioje,
Aš ruošiuosi rašyti naują funkciją.
Jis nesiruošia grįžti nieko.
Ir aš ruošiuosi jį vadiname printDots.
>> Ji ketina imtis vieną argumentas, sveikasis skaičius, kad
sako howManyDots turėčiau spausdinti.
Ir dabar, užuot spausdinant j taškus, aš Spausdinti Pranešk howManyDots turėčiau spausdinti.
>> Ir ten vienas mažas problema čia.
Žinote, kas tai yra?
Ką turiu, kad manimi išvardyti čia, kad manimi nėra apibrėžta?
>> Auditorija: [nesigirdi]
>> BRIAN SCASSELLATI: Na, kaip daugiau taškų apibrėžiama teisę iki
čia, bet aš naudoju, kad kintamasis i.
Taigi, aš ruošiuosi imtis, kad kintamasis i ir aš ruošiuosi ją apibrėžti nustatytų čia
vietoj.
>> Taigi dabar jis ketina stay-- Oi, gavo kepurės užrakinti somehow-- aš
ketina išlaikyti i žemyn čia.
>> Taigi, dabar čia mano mažai funkcija arba sub-rutinos, ir ji sako,
kiek taškų I am going spausdinti?
Ir jis bus eiti per šį kilpos ir spausdinti juos vėl ir vėl.
>> Tada aš galiu pakeisti savo programą čia.
Ir ką aš vadinu, kad funkcijos?
printDots.
Taigi aš kviesiu printDots.
Kiek taškų aš noriu spausdinti pirmą kartą prieš bunny?
Auditorija: j.
BRIAN SCASSELLATI: j.
Kiek taškų aš noriu spausdinti pabaigoje po zuikiais?
10-j.
>> Ir yra vienas dalykas, aš trūksta.
Kaip matėte paskaitą šiandien mes ketiname paskelbti printDots
iki pirmiau duoti prototipą.
GERAI.
>> Taigi, ką aš padariau tai aš bandžiau izoliuoti, kad pakartotinai naudojamas dalį kodo
kad aš padariau vėl ir vėl.
Ir aš bandžiau jį ištraukti, kad visi, kad yra pateiktas vienoje vietoje.
Tokiu būdu, jei turiu klaidą kažkur, Aš turiu tik ją išspręsti vienoje vietoje.
Gerai.
>> Taigi leiskite išsaugokite jį.
Ir tegul įsitikinkite, kad ji veikia.
Taigi leiskite išeiti.
Mes eisiu vėl į mūsų terminalą.
Mes priartinti.
Mes padaryti, kad Bunny procesą.
>> Oh.
Ir tai davė man įspėjimas.
Kas tai pasakojo?
Na bet kuriuo iš šių kartų, jūs visada nori
slinkite iki pirmųjų error-- dabar dėl šio vieno, aš tik gavau vieną.
>> Jis pasakoja man bunny.c, on-line 8, 9 stulpelis, ten problema.
Ji sako, jūs pareiškė šį kintamasis i, o jūs nesate jį naudojo.
>> Dabar normaliai, tai nėra blogiausia klaida.
Štai lengva nustatyti.
Ir iš tiesų, mes galime grįžti.
Mes galime grįžti prie bunny.
Ir šiuo atveju, visi mes tereikia atsikratyti i,
nes mes juo nesinaudojate Aš per Pagrindinis nebėra.
Užtenka tik naudojant jį per mūsų sub-rutinos.
>> Taigi leiskite išskyrus tai, kad.
Mes grįžti atgal.
Ir priartinti.
Mes dar kartą padaryti bunny.
Ir vėl mūsų 10 kadrų.
GERAI.
>> Bet koks laikas jums suteikta procedure-- Taip.
SPEAKER 33: Turiu a-- Aš supainioti.
Ar galite grįžti į kodą?
BRIAN SCASSELLATI: Yep.
>> SPEAKER 33: Taigi, kai rašėte Jūsų prototipas, argumentas jums
jei ji būtų pavadinta buvo vadinamas howMany?
Bet below--
>> BRIAN SCASSELLATI: Oh yeah.
>> SPEAKER 33: --called jiems kažką skirtingi, aš nesuprantu.
>> BRIAN SCASSELLATI: Kodėl jie skirtingi.
Štai puikus klausimas.
Taigi klausimas buvo, iki čia parašiau howMany,
ir apačioje, aš parašiau howManyDots.
>> Priežastis yra ta, kad į jūsų prototipas, tai tikrai ne atkreipti dėmesį
su pavadinimais, kad esate išleidimą.
Visa tai tikrai rūpi yra tai, kad sveikasis skaičius.
Jis nori žinoti formą ką jūs išleidimą.
>> Dabar stylistically-- oops-- ką turėčiau do, yra Man patinka, kad šias rungtynes.
GERAI.
Nes tai bus laikyti jį lengviau man prisiminti.
Bet tai buvo mano klaida Taip.
>> SPEAKER 34: Ir taip už prototipas dirbti, tiesiog
Rašydamas, kad linija, raštu prototipą,
leidžia šią funkciją, kad ateina tiesiai po juo eiti iki galo
ir gauti, ką tai reiškia?
>> BRIAN SCASSELLATI: Ką tai reiškia yra tada, kai kompiliatorius eina per,
jis eina iš viršaus Jūsų kodas apačioje.
Ir ką tai prototipas yra, tai iš esmės pažadas.
>> Ji sako, ten bus funkcija apibrėžta kažkur.
Jis bus vadinamas printDots.
Ir ji ketina imtis vienas argumentas kad ketina būti sveikasis skaičius
ir jis ketina grįžti nieko, tuščia tipo.
GERAI.
Aš jums pažadu, kad tai bus kažkur apibrėžta žemyn kelio.
Bet kuriuo metu jūs matote kad, kaip jūs einate žemyn
per likusį savo pagrindinė funkcija, noriu
Jums gydyti, kad funkcijos kad mano vienas sveikasis skaičius įvestį.
>> Ir todėl, kai kompiliatorius krinta per tai, jo manymu, šį pažadą.
Ir kai jis pasireiškia žemyn, išlaiko vyksta, išlaiko vyksta,
ji nustato pirmą kartą printDots paminėta.
Ir ji sako: "O, jūs suteikiant man tai j. J yra sveikas skaičius.
>> Na, man pažadėjo, kad būtų būti sveikasis skaičius, ir tai tiesa.
Tai gerai.
Ir tada, pagaliau, žemyn pačioje apačioje,
kol aš gauti į pabaigos mano failą, aš padaryti gera savo pažadą
ir aš ją apibrėžti.
GERAI?
>> SPEAKER 35: Taigi, tai saves-- Programa leis sutaupyti tarpų
kad ji nueina ir užpildo pabaigoje?
>> BRIAN SCASSELLATI: Tai ne apie atminties paskirstymas.
Tai tikrai tik apie tai, ką tipas tikitės pamatyti.
Jei šis dalykas turi vieną Argumentų, arba penki argumentai?
Jei turite tai yra sveiki skaičiai būti jai suteiktas, ar stygos?
Tai viskas, jis ieško padaryti, tai patikrinti,
jūs suteikėte man teisę natūra argumentas.
GERAI?
Gerai.
>> Leiskite man palikti jus su vienas kitas šiek tiek pažvelgti.
ASCII menas yra ne puikus modelis animacijos, nes ji yra šiandien.
Tačiau kai kurie, žinoma, žmonės imasi dalykų ir jie stumti jį į savo kraštutinumų.
>> Tai, kaip Davidas parodė į paskaitą, kodo fragmentą
kad jūs jokiu būdu negali bandyti dubliuoti save.
Nes ji yra baisi stilistiškai.
Iš tiesų, ji yra skirta būti kaip sunku, kaip įmanoma skaityti.
GERAI.
>> Taigi, norint padaryti ir vėl, tegul padidinti čia.
Aš ruošiuosi eiti, keisti katalogą.
Aš ruošiuosi eiti vieną lygis, grįžti į savo darbo vietą.
Aš tada pakeisti katalogą į tai kita katalogas kad aš sukūriau.
>> Ir tai yra Tarptautinis Užtamsinto C programavimo konkursas.
Užtamsinto priemonėmis, kaip sunku kaip įmanoma suprasti.
Taigi, prašome, nereikia bijoti jei peržvelgsite ne tai ir eik, aš negaliu skaityti, kad.
Štai apie tai taškas.
GERAI?
>> Tačiau, mes turime tai nuostabus programa, kad aš
ketiname ieškoti tiesiog įvesdami daugiau.
Ir tegul pamatyti, jei aš galiu nutolinti tik šiek tiek, todėl jūs galite pamatyti,
>> Ir tai yra programa.
Jis pavadintas endo.c.
Ir atrodo, kad šį kibirą su rūšies raidėmis F-L-U-I-D, kai jį.
>> Tai iš tikrųjų programa.
Tai parašyta labiausiai miglota taip, kad autoriai galėtų galbūt
rašyti.
Tačiau tai puikus dalelę, kad generuoja skysčio dinamika modelis.
>> Ir taip mes ketiname suteikti kad modelis įvesties kad
atrodo taip, Kurių staired nustatyti konteinerių
su tam tikru skysčio, kai skystis, iki viršuje.
Ir mes turime tai imituoti kas vyksta su juo.
>> Taigi aš kviesiu šią funkciją, endo.
Ir aš duosiu ją, kad įvesties failą, kad aš turėjo.
Ir ten yra mūsų konspektas ASCII menas.
Visą skysčio dinaminė simuliatorius veikia tik keletą eilučių kodo.
>> Dabar, kas tikrai tikrai Nuostabi apie šį maža programa
yra tai, kad aš noriu jį sustabdyti dabar todėl aš ruošiuosi panaudoti tai, ką komandą?
>> Auditorija: Control-C.
>> BRIAN SCASSELLATI: Control-C. GERAI.
Taigi aš naudoju Control-C. C Tai bus jį sustabdyti.
Aš vėl išvalyti.
Ir dabar aš ruošiuosi pasinaudoti išlaidų programa, įvykdykite programą,
naudojant save kaip įėjimo.
>> Ir mes pamatysime skysčio dinamika modeliavimas juo tirpsta.
GERAI.
Prašome neleiskite, kad programa Būk dalykas, kad painioja jums.
Tai tiesiog, kad galėtume baigiasi kažkas kietas ir įdomus.
GERAI.
>> Geriausios kloties su jūsų problema rinkinių.
Mes mielai atsakysime į klausimai po klasę.
Ačiū daug, vaikinai.