>> DAVID Malan: To je CS50, in to je začetek en teden.
In kaj smo mislili storiti je, potegnite nazaj zavesa napravo, da mnogi
o ste verjetno šel zdaj mimo za let, vendar morda nikoli povsem
znano, kaj je to.
Tako da bo ta naprava verjetno iskati seznanjeni, da večina od vas, ki jih zdaj.
>> [Predvajanje videa]
>> -Zmagoslavje matematične in mehanična spretnost je to velik nov
samodejna kalkulator na Harvard University.
Zapletene težave pri matematiki dal skozi stroj v kodirani obliki na
Trak so natančno rešiti na minuto del časa, potrebnega za
človeški izračun.
>> Zasnovan tako, da pospeši vse oblike matematične in znanstvene raziskave,
velikan mehanska možgani delo za Združene države Amerike
Navy dokler koncu vojne.
>> [END predvajanje videa]
>> DAVID Malan: Torej, to je tisto, kar vidite v Science Center, ki je, če
da stroj je zdaj nastanjena.
Ste dejansko videli le del tega.
Samo del je trenutno na ogled, in da je naprava, imenovana
Mark I, in to je v bistvu res ogromen kalkulator.
To je nasledil Mark II, in to je od Mark II, ki smo dejansko
dobili malo leksikon.
>> To je prvi zabeleženi primer kaj si o tem, da postanejo vsi
preveč seznanjeni z več kot Potek semestra -
sicer bug.
Tako se je izkazalo v eni točki oznake Naprava II ni deloval
pravilno, in po podrobnejšem pregledu, je bil res bug - vešča -
da molj -
notranjosti.
In odkar smo iz napake v programih, kot so žuželke.
Torej, več o tem, da pridejo.
>> Ko že govorimo o video, kot tudi, če tega še ne veš, da je CS50
seveda posnet.
Predavanja ponavadi gredo gor takoj po razred na vrsto pred-različici
neobdelana format, potem dan ali dva kasneje smo postavili višjo resolucijo
in kakovost različica višje.
Morda se spomnite Vanesso, ki je imel fortune igranja z Google Glass,
kar sem se spomnil, da zaračunati ta čas.
Torej, če želite, da bi prišli do po pouku in igrati, bi morali delovati danes.
In če bi radi videli, kaj Vanessa Videl drugi dan, kar boste videli
tukaj - mi dvigniti obseg tukaj na moj laptop.
>> [Predvajanje videa]
>> -Naj čakalna vrsta je to gor.
Vse je v redu.
Torej se tega dotaknila.
Vse je v redu.
OK, Glass.
Snemanje videa.
>> Vse je v redu.
Vanessa?
>> [END predvajanje videa]
>> DAVID Malan: V redu, tako da razlog da to ni delo za večino od vas na
konec razredu je bil, ker sem izhajal posneti eno uro, da
Posnetek kaže na sebi po Sem dal očala dol.
Torej, danes, jih bom pustil off, ampak hvala vam Vanessa za tak
dober šport.
>> Medtem, nekaj objav preden smo korak naprej danes.
Torej ena, CS50 ima tradicijo početje kar smo lahko, da bi poskušali narediti zelo
Velik razred počutijo manjši.
In proti ta namen najbolj vsak petek, smo zbrali v restavraciji v
kvadrat, Fire and Ice, s 30 ali 40 svojih sošolcev, sam, nekateri
učno osebje, in smo pravkar imajo zelo priložnostno kosilo.
Pogosto smo povabili prijatelje iz industrije, alumni za ta razred, alumni iz
kolegij, res samo za klepet vsakega drugo gor, pogovarjala o življenju po
kolegij, življenje v šoli, in podobno.
Torej, če bi želeli, da sodelujejo v tem Prvi tak kosilo v petek ob
13:15, glava, ki URL na neki točki.
>> Vesolje je omejeno, zato bomo vse kdor prej pride, prej melje.
Vendar bomo to spet na ponavljajoče podlago, tako da ne skrbi, če ne
ga bo v tej prvi seriji.
>> Sedaj glede na sredstva, ki curricularly jih seveda
tam je cel kup, in če še niste potegnil spletno stran tečaja je
že, zlasti iz predavanj boste ugotovili, da je vse
nismo prejšnji teden je tam, tako V videu in neke vrste
v elektronski obliki.
Ampak preko video posnetkov, boste našli da so zdaj Celotno besedilo
transkriptov, na primer vsakega predavanja.
>> Torej, če bi dejansko šel nazaj na tem zaslonu tukaj z Vanesso in smer
na spodnjem kotu zaslona boste ugotovili, da dejansko, ne pa za
Petkovo predavanje, če pa gremo nazaj Sreda, saj ta funkcija traja
Nekaj ​​dni, boste ugotovili, da lahko dejansko potegnite navzgor, za boljše ali
še huje, vsaka beseda, ki sem ali prostovoljec na odru dejal.
In več kot samo to.
Lahko dejansko iskanje, lahko kliknite na katero koli od teh stavkih, skok
do te točke v videu, vse v smeri in konec izdelavo materiala za vse
bolj plovna.
>> Ampak, če bi ga raje ne sledijo tako podrobno, boste ugotovili, za
na primer, ta mali meni tukaj za 1.5x hitrost, 2x hitrost, ali i f sem že
govorim prehitro zate, 0.75x hitrost.
Torej zavedaš, vse to je ni na voljo za vas.
>> Toda po tem, za predavanja, zavedati da smo tudi te vire
Na voljo so tudi.
Diapozitivi, na primer koda, karkoli, da sem storite na odru ali pred razredom,
bomo pa objavili, tako da lahko igrate skupaj doma ali v Sandersa.
Toda kaj smo menili, da bi to letos prvič tudi
vam nudijo walkthroughs teh primerov.
Bolj, kot sem se odraža na Vrednost predavanj CS50 je, da sem začel
na vprašanje, kako koristno je za vidva sedeti tam, mi stati
tukaj, in da bi jaz govoril na vas, zlasti kot material,
Primeri, dobili bolj zapleten.
Zaradi vedno po nekaj več minut nekdo območje ven, in
potem ste zamudili nekaj ključnih vpogled v nekatere Na primer, in potem ste v bistvu
odšla za preostali del razreda, ki ni najboljša uporaba
svoj čas, ali pa, res, naša skupaj kot razred.
>> Pa kaj smo mislili, da bi poskušali narediti, zlasti za nekaj več
kompleksni primeri, da ne bi naredil pravice v razredu, da morda ne bo
imeti čas za v razredu, ali pa morda samo območje v času, je, da bomo proizvodnjo
serija walkthroughs le-teh primeri, tako da če greš v za
primer, video stran Prejšnji petek je tu na podlagi primerov, boste videli, da
petek, tam je zdaj to povezati walkthroughs.
In oblika te se bo sčasoma spremenilo.
Za zdaj smo z uporabo preprost YouTube igrica.
>> Ampak, kaj sem naredil z našo ekipo proizvodnje potem je bil sprehod skozi vsak
in vsak od teh primerov še enkrat, upajmo kaže v veliko večji
jasnost, kaj je takeaways lahko ali pa mora biti od vsakega.
Tako boste ugotovili, na primer, od zadnje teden vse primere praske
smo šli skozi, so naredili linearno na tak način.
Zato vas prosimo, da se vključijo ali ne Vključitev v ta material.
Res tema tega posebnega predmeta je, da je verjetno bolj
na način virov kot vi bi lahko terjali več
potek semestra.
>> Ampak to je namerno.
To je pomenilo, da je tako, da so Posamezni učenci lahko sami izberete
na podlagi vašega stil učenja.
Torej, če predavanja delo za vas, super.
Če odseki delajo za vas, super.
Če walkthroughs delo za bolje, super.
Res bo do vas, da izberete kakšna sredstva delajo za vas najbolje.
>> Končno, hvala na alumnus leta Seveda smo tudi kanonska
komplet Scribe not.
Torej, namesto da vidva glave dol na predavanjih praskanje navzdol
stvari, ki pridejo v razredu, mi, Osebje, vam bo s tem, kar smo
počutim se cerkvenih niz pojasnilih vas osvobodi tega odvračanja pozornosti, tako da
če ste tukaj in se ukvarjajo, ste Resnično se ukvarjajo s tem, kaj se dogaja,
pri vaši sošolci delajo gor na faza, s tem, kar se dogaja na zaslonu,
in ne zgolj zapisala dobesedno kaj se je zgodilo, da so bili omenjeni.
Torej, zavedati vseh teh virov so vam na voljo.
>> Sekcijo, v odgovor na pogosta vprašanja, se bo začelo v sredo.
Mi v bistvu počakati do najbolj drugi razredi so storili tako, da smo lahko
zmanjšanje števila sprememb da moramo storiti.
Ampak prihaja ta vikend, začenši Nedelja, bo enkrat primerek
kar imenujemo super odseke.
Ti bodo snemali za tiste, ki ne morejo udeležijo, in v bistvu,
Vodje Seveda se nam bo sprehod skozi nekatere za C dela seveda
proti odpravi problematičnega niza enega, ki se bo naša prva C, ki temelji
Problem set.
In to bo zgolj izbirni oddelki v pričakovanju, kaj se bo
postanejo ponavljajoči se odseki so privedli s tekom na 50 plus
poučevanje tovariši tedensko.
Ob nedeljah in ponedeljkih in torkih, smo imajo 90 minutne odseke v zelo
običajnem smislu, ki bo možnosti za roke na bolj
intimno pregled tečajnega na gradivo.
>> Brez odlašanja, dovolite mi, da uvede Vodje tečaja je, ki so
zakulisju z mano, zaradi česar je vse zgodilo.
Če bi tisti, danes mi, Rob pridružiti Lauren in Joseph Lucas, vse
od katerih so bili z Tečaj za nekaj časa.
RJ je tretji tak član naše ekipe.
On ne more biti danes tukaj, vendar je me je prosil, da pokažejo fotografijo njim.
Nisem prepričan, da je želel to en, vendar pa je.
>> In povej mi samo dovolite ekipa reči zdravo in predstavijo tako, da
boste dobili, da jih poznam, kot tudi vaše lastno poučevanje kolegi ta izraz.
>> Lauren CARVALHO: Pozdravljeni.
Moje ime je Lauren Carvalho.
Sem mentor rezident V Leverett House.
Jaz sem tudi super navdušena, da bo glava TV for CS50 letos.
>> CS50 je zelo zahtevna razredu ter kot zelo velikega razreda, tako da, če ste
imeli nobenih pomislekov, če se počutite, kot ste zaostali, vas prosimo, da
doseči, da vsak od nas v heads@cs50.het, ali z mano, če bi
radi igrajo z mojo zlato prinašalca mladička.
Tukaj je Lucas.
>> LUCAS FREITAS: Hej, fantje.
Moje ime je Lucas Freitas.
Jaz sem junior [neslišno]
računalništvo in jezikoslovje.
Pravzaprav sem iz Brazilije, in sem tudi zavedaš vzhodnoazijskih študij.
Torej, če imate kakršnakoli vprašanja o računalništva ali jezik ali
karkoli, samo povej mi.
Ali CS50, še posebej.
>> JOSEPH Nevladna organizacija: Pozdravljeni.
Sem Joseph.
Jaz sem višji študij računalnik znanost Elliott House.
Torej, poglejmo.
Me boš videla knjigovodska ena od teh ogromnih fotoaparatov.
Sem rezident fotograf osebje za 50 let, kot tudi, in študenti pogosto
včasih me zamenjali za Azijski turist.
>> Torej, če ste me videli s kamero, ne pobegne.
Samo nasmeh in ne bodite sramežljivi.
In upam, da boste uživali 50.
Užival sem zelo veliko, ko sem ga vzel, in to je razlog, zakaj sem bil TFing za
ta tri leta.
>> ROB Bowden: Pozdravljeni.
Jaz sem Rob.
To je moj četrti semester z CS50.
Pravkar sem diplomiral v maju.
Bil sem v Kirkland.
Jaz sem navdušena nad tem polletju, in upam, da ste preveč.
>> DAVID Malan: Hvala za letošnje glave, ter za RJ kot dobro.
>> Torej nekaj končni pojasnila virov.
Ena, str nastavite 0, je že pripravljen.
Tale obstaja samo v standardni izdaja, ki je namenjen
celota razredu.
Začenši s p 1 setu, ne bo hacker izdaje večini problematičnih sklopov,
ki je, spet, bo zajemal gradivo z malo več izziv, medtem
Še vedno dotika na nekaterih istih temah.
Naredi si oglejte na spletni strani predmeta je za to specifikacijo za p set 0.
>> Govorilne ure, preveč, se bo začela ta teden, danes, jutri, v sredo,
in četrtek v različnih jedilnico Dvorane na kampusu.
Odjaviti cs50.net/ohs za pisarno ur tečaja, in zavedaš tega
bo zelo priložnostne priložnosti, Vsekakor, na začetku
semester, priti s svojim laptop med premorom možganov.
Prinesite nekaj prijateljev in klepet gor Seveda je TFS in CAS katere koli
Vprašanja, ki ste morda.
>> In ne morem dovolj poudariti, tudi za praske in problem set 0, obstaja
res ni neumno vprašanje.
Ni študent preveč neprijetno da postavljajo vprašanja.
Prosim, vas prosimo, da izkoristijo tega vira.
Tam bo recurringly skozi semester,
saj bo CS50 Razprava.
To je proga spletna razprava forumi tam na tem naslovu.
>> Kaj bomo v času predavanja je naredil tudi spremljati tudi to, zahvaljujoč
tečajnega je poučevanje ekipa.
In tako, če imate vprašanje v času predavanje, ker sem rekel nekaj
slabo ali pa sploh ne, z vsemi sredstvi, vprašajte , ki v realnem času, če imate
ali prenosni telefon, na spletni strani, in mi se bomo potrudili v bližnji realnem času
odzovejo na to.
>> Ali obstajajo vprašanja o CS 50?
Nekega zadnje note rudnika.
To vprašanje SAT UNSAT.
Kot ste dokončati svoje študijske kartice, če niso že zavedajo, da
Poglavitni vizija SAT UNSAT, na voljo za vse učence, je res
za pomoč pri rob off tečaja tako, tako rekoč, tako da, če
znajdete pozno ponoči, 02:00, 03:00, res razbijati glavo gor proti
stena, kjer veš, da si 99% Tako je v zaključku, vendar pa
še toliko drugih stvari za početi, Mislim, da je bolje izkoristiti, pogosto pa tudi od
Čas učencev je dejansko premakniti na tiste druge stvari, tako da lahko
optimizirati svoj čas vsem.
In SAT UNSAT je en mehanizem, prek katerega si lahko zadovoljen, saj
da se 99% poti obstaja še vedno precej darn dobro.
>> Podobno je tudi, če ste prišli v Tečaj brez predhodnega ozadju ali
ni skoraj toliko ozadje kot ti mislim, vaši sošolci morda, res
ali neresnična, spoznala, da je to priložnost, da bi dobili vaše roke umazane
s tekom, dal prste v voda, tako rekoč, podobno kot jaz sam
je pred leti z opravil / ni opravil.
Kot sem dejal prejšnji teden, je to pot, kot drugi, ni bilo na voljo
opravil / ni opravil v času, bi verjetno ne bi nikoli stopil nogo
razred, čeprav sem delal, pet tednov kasneje premislim, ki jo
lahko tudi, in preklopi na ali črko stopenjskim statusa.
>> Vse je v redu.
Tako smo pogledal na stvari, kot je ta na Petek, in smo zelo hitro dogaja
prehod na nekaj, kar izgleda bolj skrivnosten danes.
Vendar je kljub temu Enako temeljna ideja.
Kaj je splošni izraz, ki smo uporablja za opis kos sestavljanke
da je videti, kot to?
>> Torej, izjavo.
In lahko to imenujemo koli število stvari.
Vendar bomo to izjavo klic, in izjavo
samo pove program -
ali v primeru nič, Sprite -
nekaj storiti.
Pozdravi v tem primeru.
>> Nekaj ​​takega smo namesto tega pozval kaj?
Ja, tako logični izraz.
Logični izraz je le nekaj da je resničen ali neresničen, in tako Scratch
jih želi s to obliko, temveč tudi z vprašajem posredovati
Ideja, da je odgovor na to vprašanje je bodisi resničen ali neresničen, da ali ne
ena, 1 ali 0.
>> In smo uporabo teh logičnih izrazov Notranjost konstruktov, kot ti, ki
smo ti kaj?
Torej, stanje ali podružnico.
In pogoj vidite tukaj Scratch je malo ogrado za
puzzle kos iz te oblike, namen , ki je tako, da lahko
povlecite in ga spustite na vrhu in potem narekujejo programa, če je to logično
Izraz je res, to storijo niz navodila, ta sklop izjav,
pa to storijo drugi niz navodil.
>> In opozarjajo, da lahko Gnezdo te stvari.
Čeprav ni veliko sobo Vizualno v tem koščka sestavljanke, Scratch
bo rasla in skrči, da ustreza karkoli puzzle kosov povlečete in spustite v
tam, tako da lahko dejansko to gnezdo in je tripotni odcepu.
Če pa če drugega.
In lahko celo preseči, da z gnezda dlje kot je potrebno.
>> Torej, na koncu smo videli, konstrukte, kot so to, znane tudi kot zanka.
In to je samo nekaj, kar počne nekaj, kar znova in znova in znova.
V tem primeru, se zgodi, da se končna Kolikokrat pa smo tudi
videli primer, kjer je število krat prišel iz spremenljivke, tako da
lahko spremeni.
In smo tudi videli drug blok v celoti imenovano večno blok, ki
nam lahko zanke neskončno dolgo.
>> Torej še en konstrukt, ki Scratch 2.0 ima - in tiste, ki ste bolj
zadovoljni s predhodnim ozadju že dobro seznanjeni s tem
konstrukt -
Te stvari smo poklicali kaj?
Tako smo poklicali te funkcije, drugače znan kot postopkov.
Obstaja rahla pomenska razlika, ampak jih bomo le nekaj funkcij pokličite.
>> In funkcijo, pri nič, je po meri puzzle kos, ki
lahko sami ustvarite tako, da imate Novi sestavljanke kos, ki je v ta
tako, bi se imenuje kašelj, ki pojavi med vsemi drugimi
na voljo puzzle kosov v nič.
Čeprav MIT ni izumil to puzzle piece, si.
>> Torej funkcija vam omogoča, da ustvarite novo vedenje, ji dati ime funkcije, in
potem rečejo, da se tako izrazim.
Res ga uporabljate v programih znova in znova brez čakanja
Za nekoga, kot je MIT, po cesti do izumiti novo funkcionalnost iz nič.
Sami lahko gradijo te uganke kosov sebe, in jih nato ponovno
v svojih programih.
In bomo videli ponavljajoče primer tega danes in naprej.
>> Torej, danes smo prehod zdaj v nekaj bolj prikrite.
Toda ob koncu dneva, nekaj močnejši in izrazit in bolj
Predstavnik poti, da bomo na vseh semestru skozi številne
jezikov -
da kode ali izvorne kode.
In izvorno kodo, se je izkazalo, ni tisto, kar računalnik
tipično dejansko deluje.
Izvorna koda izgleda nekako takole.
>> Torej, to je, spet, morda najpreprostejši Program lahko napišemo v
jezik se imenuje C. Začeli bomo Zbadanje to narazen, preden dolgo, in če
to res ne izgleda kot grški za tabo, verjemi mi.
V samo enem tednu ali dveh, je čas, te bo vse preveč seznanjeni in dejansko
kar predstavlja bolj kompleksnih primerov, s katerimi boste
tudi dobili bolj udobno.
>> Ampak ne moreš kar tako to vrsta kode običajno.
Moraš ga spremeniti v nekaj te Računalnik sam razume.
In tako za to pa potrebujemo nekaj bomo klic prevajalnik.
Prevajalnik je program, ki traja izvorna koda, kot da si pravkar videl, kot
Vhod, in ga proizvaja ničel in tisti, kot so proizvodnja, sicer
znan kot objektni kodi.
In to je tiste ničle in enice, da lahko videti prav takšen, da
na koncu se razume vaš Mac ali PC-jem.
>> Če ste kdaj slišali za promet izraz Intel Inside, ki so pravkar
pomeni, da podjetje, imenovano Intel je izdelalo
možgani računalnika -
sicer znan kot CPU, centralna procesna enota -
in to je samo stvar, ki razume vzorcev
ničel in enic.
In tako s pretvorbo izvorne kode v objektni kodi skozi ta proces tukaj
da bomo storili z nekaj ukazov v samo nekaj, ste
ustvarjajo vzorci ničel in enic da imajo zaposleni v podjetju Intel
odločila predstavljajo določene izjave.
>> Zdaj pa mi ni čisto vedo, kateri je, ki jih samo pogledal na
Te ničle in enice.
Večina ljudi v teh dneh ne.
Toda nekje je vzorec ničle in enice, ki prikazujejo
Izjava tisk.
Nekje lahko obstaja drugačna nastavite ničel in enic, ki
predstavlja pojem za vedno ali ponovite 10-krat ali celo mijav, če je
dejansko program, ki lahko vključujejo nekatere zvoke.
>> Torej na kratko, ljudje so le odločil, podobno kot smo storili za ASCII -
za črke abecede prejšnji teden - Ljudje so se odločili, da tudi
bolj kompleksne vzorce ničel in enic predstavljajo bolj zapleteno vedenje
kot tiskanje ali rekel ali meowing.
In tako za danes, in v veliki meri naprej v semestru, bomo vzeli za
samoumevno, da je nekdo pogruntal izvedeti, kako narediti, da se preslikave.
Vendar pa smo, v skladu s tem idejo layering na vrhu dela ljudi
ki so prišli pred nami, bo za odobrena na dejstvo, da se ta dogaja
Pod pokrovom.
Ampak smo veliko bolj zanima gradbene stvari, ki so bolj
zanimivo, na vrhu vsega tega.
>> In tako res, Prvi program smo je zapisal v Scratch je to zelo preprost
ena, Hello World.
In lahko si misliš to kot Glavni program, ki ureja Scratch je
vedenje od prejšnjega petka.
>> Danes bomo začeli prevajati Scratch koščke sestavljanke v
Izvorna koda v tem jeziku imenuje C, tako da Izgledalo je ta na
Petek, od danes dalje, je Zdaj bo izgledala takole.
Res je bolj skrivnosten.
To je precej moteča in nekako uma omrtvičenje videti vse narekovajev
in podpičja in oklepaje in tako naprej.
>> Ampak, če ste začeli ignorirati vse, kar Ne razumem, in res poglej
v bistvu belega besedila na zaslon, zagotovo veste, tako kot jaz,
"Zdravo, svet". Da poravna z vijolična izjavo up vrhu, in se izkaže
, da je ključna beseda glavna bo line up konceptualno s ko zelena
kliknili zastava.
>> Torej, z drugimi besedami, medtem ko je v nič, moramo izvajati ta Hello World programa
s tema dvema koščke, v C, bomo njeno izvajanje z njimi
Štiri nekoliko kriptirni linije.
Toda, kot smo se potopite globlje v to, boste vidimo, da vsak od teh
beli znaki na zaslonu dejansko ima nekaj poseben pomen,
in večina naših programov se bodo poglej strukturno povsem enako.
Tako izjavo, mora biti jasno, kaj izgledala "Say Hello" na svetu
Petek se bo začela išče všeč v ponedeljek.
printf ("Zdravo, svet").
In tam je nek čuden backslash n, tam je oklepaje, tam je
podpičji.
>> Toda na koncu dneva, ključ takeaway danes je, da vsi delamo
prevaja stvari s slike tvorijo v besedilni obliki.
Torej zanka, ki je izgledal kot to Prejšnji teden se bo zdaj izgledal
kaj takega.
>> In mi zavračamo, tako kot v Praske, tam je več načinov
doseganje istega cilja.
Enako v C. Ne bom vam prikazuje le način narediti stvari, ampak na en način
prevesti to večno blokirati v zanko C.
>> Ta tukaj, ponovite 10-krat.
To mi je res vrsta zavojev misel, ko ste prvič videli.
Ampak za izvajanje, da odslej bomo uporabo
za zanke, tako rekoč.
In očitno obstaja nekaj sintakse, ki je malo kompleksu z I in
enaka in 0, ko pa smo se potopite v to danes naprej, greš samo
videti, da to je vse samo delaš nekaj osnovna aritmetika, da nas dobili od 0
na do 9 ali 10, v tem primeru.
>> Nazadnje, s spremenljivkami, se spomnite da je spremenljivka kos skladiščenja.
No, kaj smo imeli na levi pa zadnja teden bo pogledati malo
kaj takega ta teden.
Ampak še enkrat, več o tem, da pridejo.
>> Imeli smo logičnih izrazov, ki prejšnji teden, videti takole.
Ta teden naprej, da si bo začeli iskati nekaj takega.
>> In ta je dejansko malo pomiriti.
To je pravzaprav skoraj tako enostavno kot zeleni bloki.
Ampak tukaj imamo spet nekaj novih sintakso z ampersands, lahko pa
Morda veš ker nič, si pravijo A-N-D, očitno v C, smo
reči 'znak' znak.
Vendar bo vse to postane naravna kmalu.
>> Pogoji.
Prejšnji teden je kazalo, da ta na levi strani.
Ta teden, na desni strani, je bo videti tako.
Ampak še enkrat, ključno takeaway tukaj je, da kot vidite stvari, kot da je na
pravica, in še posebej, če manj udobna, to je nekako nad vašimi
glava, boste dobili malo preobremenjeni, da Jaz res ne vem, kako sem lahko
morda prišli do da iz nič -
no pun namenjena -
samo zavedati, da je to res enako Ideja, da je verjetno počutil toliko bolj
naravna prejšnji teden.
In tudi če niste vrgli Problem set 0, upam si reči, boste našli
da so koščki sestavljanke dokaj intuitivna, ali vsaj
postala tako sčasoma.
>> Torej, da se potopite noter
Pojdimo naše roke umazane tukaj z ta prva preprost program.
In preprosto je seveda relativna.
Če želite to narediti, da bom spremenila zaslone za to napravo sem klicala
CS50 aparat.
CS50 aparat kos programsko opremo, ki teče v notranjosti
Okno na mojem Mac, prav tako pa lahko vodijo je v oknu znotraj vašega računalnika, ki
mi omogoča, da imajo enako natančni računalniško okolje, kot vsak TF, kot
vsak CA, kot vsak študent v razredu.
Ker CS50 Aparat je dobesedno drug operacijski sistem
imenovano Linux -
posebej Fedora Linux -
in smo, osebje, nastavljen Postopek namestitve tega
operacijskega sistema na tak način, da ena, tam je malo CS50 logotip
srednji, dva, tam je meni meri na dno, in tri, pedagoško,
smo poenostavljen uporabniški vmesnik, kot kolikor je mogoče, tako da, ko
Prvi škorenj to stvar na svoje Mac ali PC, imate enake
okolja, kot vsi ostali, in si imajo vsa orodja, ki jih potrebujete
za seveda, ne da ugotoviti izvedeti, kako namestiti vsakega in
vsak instrument posebej.
>> Tako to izgleda dokaj kot Mac OS ali Windows.
V spodnjem levem kotu, si v bistvu ima zagonski meni
razpoloženje, ali meni Apple.
In potem imate kar sumimo bo so vaše tri najbolj pogoste ikone.
Ena je Chrome.
Tam notri brskalnik od aparata.
>> Dve je program, imenovan gedit, ki Na kratko smo videli prejšnji teden, ki je
samo grafični urednik.
In tri je Terminal Program, ki je črno-bela okna iz
minulih dni, ki nam omogoča, da tip več Skrivnosten vendar močnejši ukazi na
naša tipkovnico.
Tako da sem šel naprej in kliknite na gedit, in prepričani, da je problem
set 1, ki se sprosti v petek, bo sprehod skozi vseh teh istih korakih.
>> Opazil, da imam zelo preprost uporabniški vmesnik s treh delov.
Na levi imam velik prazen okno imenovano izvorno kodo.
To je, če grem za ogled povzetka v nobeni kodo, da pišem.
Na desni strani, imam velik Kartica, ki je trenutno shranili, in to je
kje je moja koda bo šlo.
In na dnu, sem vgrajeni Terminal okno, črna in bela
poziv, na katerem sem lahko vnesete ukaze pripravijo in teči moje programe - da
je narediti in teči moje programe.
>> Torej, začnimo preprosta.
Naj grem gor na File, Save.
Jaz grem naprej in gredo v jharvard.
Torej naprave, ne glede na to kaj vaše ime, spada v fanta z imenom
John Harvard, ki ima jharvard dom Imenik znotraj katerega vse vaše
slik bo šel.
To je tvoja kopija njegovega računa tako da nismo vsi delitev
Enako trdi disk.
Moraš iluzijo od John Harvard lastne.
>> Vnaprej, sem dejansko nameščen Dropbox.
Aparat je opremljen z polpripravljena Dropbox, tako da gre, če bo kaj narobe
med semestrom, če ste nastavili napravo z brezplačno
Dropbox račun, bodo vse datoteke se samodejno varnostno kopirajo, tako da
lahko zelo hitro obnavlja.
In jaz grem v moj Dropbox imenik, in tam se že dogaja
da se nekaj drugih stvari tam.
>> Ampak jaz grem naprej in pojdite na File, Save.
Jaz grem v jharvard, Dropbox, in tu gor, bom
da moj program super preprostih ime, hello.c in nato shranite.
Torej imam enak vmesnik zdaj.
Edina stvar, ki se je spremenila je zavihek do vrha.
Tako da sem zelo hitro dogaja, da ponovno ta program iz
drsi pred nekaj trenutki.
>> Torej v main (void), nato pa printf, "Zdravo, svet," je nekoliko skrivnostno
Nagibnica n, blizu citiram, zaprite oklepaj, podpičje, in
nato Ctrl S, da shranite.
In obvestilo kot kaj prahi samo pojavil tu na zgornjem levem kotu.
In to ni koristno danes, ampak bo uporabna skozi čas.
Ti samo glej, spet, povzetek kodo, ki ste jih napisali.
In ker sem napisal nekaj, kar ti Glavno, da je, zakaj beseda glavna izstrelil
do tja.
Toda za večino del, smo ni treba, da je danes.
>> Vse je v redu, zato trdim, da je to moja Prvi program napisan v programiranju
jezik se imenuje C. Vemo, od petka da je tisto, kar ta stvar bo naredil
Zelo uninterestingly ko sem teči to je samo prikaz -
z drugimi besedami, tiskanje z računalnikom Znanstvenik bi rekli -
zdravo svet na zaslonu.
Torej, da bi to naredili, boste opazili, da imam iti dol na mojo terminal
okno, zdaj pa imam utripa hitro.
Toda to je sedaj različica tipkovnico moj John Harvard domači imenik.
To je tipkovnica način, prek katerega krmariti svoj trdi disk.
>> Tako da ne morem dejansko tipa kot sem jaz Prejšnji teden se pozdravi, ker je to
reči nobenega pravila, da bi cilj -
nekaj je narobe.
Ne razumem kaj to sporočilo sredstvo, ampak to je zato, ker je privzeto,
kadar je to črno-belo okno odprl, sem znotraj John Harvard
domači imenik.
Ampak kje sem rešiti ta program?
V moji mapi Dropbox.
>> Zdaj so vsi odraščali računalnikov, kjer boste samo dvojno kliknite
na ikono mape je, da odpira, in voila.
To je, če datoteka z imenom hello.c bi bilo.
Torej, v bistvu, kaj je to.
>> Dovolite mi, da gredo naprej in čim Gedit tako, kot bi na
Windows ali Mac OS.
Dovolite mi, da gre v dom Mapa v zgornjem levem kotu.
Jaz bom tukaj videli kup map.
Tukaj je moja mapa Dropbox.
Checkmarks pomeni, da so se sinhronizirajo.
In tu je nekaj stvari tukaj, ampak obvestilo, da je hello.c
res tam.
>> In tako v Mac OS ali Windows, običajno Želel dvokliknite, da se odpre v
ne glede na program, in sem na dobri poti.
Toda zdaj, vsaj začne danes, smo treba narediti korak nazaj, samo da
vam nekaj osnovnih orodij za vaš Komplet za orodje, s katerim naj storijo več
močne stvari pred dolgo.
>> Torej, na ta poziv, moram narediti enakovredno dvojnim klikom
Dropbox mapo.
In za to, da bom na vrsto CD-ja za spremenite imenik, Dropbox, vnesite.
In zdaj opazili oklepaje na mojem tako imenovane hitre zdaj pravi, da sem v
Tilda, malo vijugasto Simbol na zgornjem levem
večina klaviature, / Dropbox.
To je le okrajšava za zapis pravi človek, sedaj ste v notranjosti
Dropbox mapo, tako, kot da si imel dvojno kliknili na njej.
>> Torej, zdaj, če grem naprej in napišete make Pozdravljeni, vnesite vidim zelo skrivnosten
ukaz, ne pa sporočilo o napaki, zdi se, nato
drugo utripa hitro.
In če se spomnite, kdaj tako hitro v petek, smo to naredili. . / Zdravo.
>> Kar boste videli, je rezultat za moje teče ta program, ali v Mac
OS in PC pogoji, če sem ponavadi dvakrat kliknite na programu - v app.
Program ali. exe, da se odpre okno in teče.
Tipkanje. / Zdravo, je tako kot dvojna klikom na program, da ga zaženete, vendar
z mojo tipkovnico.
>> Vstopiti, zdravo svet.
In to je to.
Torej, kaj je to draži narazen, tako da ne počutim preveč všeč grška.
>> Torej. / Pomeni kaj?
Vsakdo, ki je kdaj navigirali tipkovnico okolju, kot je ta, kaj je dot
nanaša?
Trenutni imenik.
>> Torej trenutni imenik je samo sinonim za mapo.
Torej z besedami dot poševnica, sem rekel, poglej za program, imenovan zdravo v
trenutni imenik -
v trenutni mapi.
Z drugimi besedami, moj mapo Nabiralnik.
In to je razlog, zakaj udarcev Vpišite zatem dejansko teče ta program.
>> Če bom zdaj Tip LS, opazil, da vidim vse, kar je v moji mapi Dropbox.
Kako Started.pdf, ki Dropbox vam daje brezplačno, mojih fotografij
imenik, javni imenik, Neshranjen Dokument 1, ki sem ga pomotoma a
pred nekaj trenutki, Datoteka foo.c, kar sem naredila prej danes, in nato dve vrstici -
hello.c in zdravo.
>> Hello.c je program sem napisal z gedit, in kaj je zdravo zeleno?
Pozdravljeni v zeleni barvi, je izvršljiv.
Z drugimi besedami, ko sem tekel ta ukaz pred nekaj trenutki - Naj roll
nazaj v čas -
ko sem tekel, da hello, da je srednji korak tukaj.
In to je hello.c kot vhod -
AKA izvorno kodo - in se proizvaja Datoteka se imenuje zdravo kot proizvodnja, ki
Vsebuje vse od teh ničel in enic.
In to je, zakaj na koncu ne morem dejansko vozijo z ukazom. / zdravo.
Zaradi Intel Inside moj operacijski sistem Linux, odpira tiste ničle
in tisti, ki jih napaja možgani mojem računalniku -
CPU -
in da CPU ve, oh, tukaj je vzorec ničel in enic, ki pravi
tiskanje naslednjo stvar na zaslonu.
>> Kaj je naslednja stvar?
Citiraj navednicah, "zdravo svet".
>> Vse je v redu, tako da hitro povzetek nekaterih ti ukazi, tako da lahko začnemo
jih vzeli za samoumevno.
Dovolite mi, da preskočite , kjer smo končali.
In boste spomnim, da smo imeli CD na hrbtu končal pred nekaj trenutki.
To so, upam si reči, za Današnje namene -
Mogoče je ta teden - le ukaze smo morda morali vnesti v ukazni
poziv poleg narediti.
>> Torej CD stal za kaj?
Spremenite imenik.
To je samo ekvivalent dvojni klikom na mapo.
In kot prahi, če dobiš izgubila vse znotraj vašega
naprave, tako da Dropbox -
Želim, da se vrnem k moji jharvard imenik -
ko ste v dvomih, CD, vnesite z nobeno drugo besede, in to šele zadrge si nazaj
, kjer ste začeli, ki je lepo bližnjico.
>> V redu, tako da zdaj drugi ukazi.
LS.
Sem tipkal, da je pred nekaj trenutki.
Kaj menite LS pomeni?
>> Torej, seznam, kajne?
Nazaj na dan, ko so prihajali ljudje s temi ukazi, ki jih
so poskušali biti učinkoviti in ne tip iz L-I-S-T Enter, da
odločil LS.
To je v redu.
Sliši se kot dovolj seznama.
Reciva tipa LS začne, in da seznam datotek ali map v mojem
trenutna mapa.
>> mkdir, si verjetno lahko uganiti.
Ustvariti imenika.
Torej ne gre za neke meni File in izberite Nova mapa v tem okolju.
Namesto, vnesete ukaz mkdir prostor in nato ime mape
, ki ga želite ustvariti, in bo narejen.
>> rm, si verjetno lahko uganiti.
Odstranjevanje ali brisanje.
Torej, če želite izbrisati datoteko, boste glej na problem niz kako
To lahko storimo.
In rmdir, odstranitev imenika.
>> Torej, še enkrat, jaz sem se nagibajo k letenje skozi nekatere teh informacij, enega, ker
oni ne vse, da zabavno preživeti čas, a dva, vam bomo podali v
veliko podrobneje koli Problem tečajnega so zastavljeni, zlasti
standardne različice, vse od korakov da boste morda morali to vrsto
da boste dobili več in več udoben s temi stvarmi.
>> Ampak zdaj mi draži narazen še ena stvar.
Ko smo vnesli, da zdravo pred nekaj trenutki, smo videli Grobni zaporedje ukazov.
Videli smo, še enkrat, da zdravo.
OK, kaj je to.
Ravno sem naredil napako, vendar [Neslišno] zdaj priznati, da sem bil na tem, da
in to namenoma.
>> Kaj sem naredil narobe šele zdaj?
Ja, tako da nisem v Dropbox imenik, saj je pred nekaj trenutki sem
tipkal CD in šele zadeti nastopiti.
To me povečani nazaj, kjer sem začel, ki ni kje je moja slika
je, tako da sem res morate storiti, CD Dropbox vstop, in zdaj ne morem storiti rm Pozdravljeni
vnesite odstranite redno datoteko zdravo.
Ne vem, zakaj je tako skrivnosten.
To samo pomeni, da ste prepričani, želite izbrisati zdravo?
Lahko vnesete y za odgovor pritrdilen, vnesite, in zdaj ga ni več.
>> In zdaj, če mi napišete make Pozdravljeni še enkrat, to je bo ponovno moj predmetne kode,
poustvariti tistih ničel in enic.
Toda kaj je posel s To zelo dolgo ukaz?
No, bomo to draži narazen Pred dolgo, vendar se -
Povedal sem malo belo laž pred -
ni prevajalnik.
Da je program, ki samodejno Številke, kako zagnati
prevajalnik za vas.
>> Torej ukaz, da si res morajo biti teče za pretvorbo hello.c
v zdravo dejansko izgleda malo več, kot je ta.
In Bog ne daj, da imamo dejansko ne pozabite, da nikoli tip, ki cele
zaporedje ukazov ven.
Namen bi v življenju je ne pozabite, da stopnjo zahtevnosti za
nas in avtomatizacijo, kar bi sicer biti zelo utrujajoča korakov.
>> Vendar sem lahko približno to.
Torej po tej mali goljufija stanja tukaj, sem lahko približno kaj to ukaz
početje, ki ga preprosto vnesete Zvoka, ki je Ime prevajalnik bomo
uporabo tega semestra.
Če je kdo od vas kdaj naredil iOS Razvoj za iPhone ali iPad,
Jek je program, ki ste jo uporabili v Xcode, da bo vaše aplikacije.
Jek, čeprav je samo še en program, čigar ime lahko vnesete v ukazno
hitro in z uvajanjem tega zdaj, Lahko predstavim nekaj, kar je
Malo zastopnik ukazov, ki prihajajo.
Torej, kaj mi to storiti ročno.
>> Torej rm zdravo, in zdaj opazili v primeru Sem, tako kot preverjanje sanity -
. / Hello, kaj misliš, da sem bi videli, če to naredim?
Nekatere vrste napake.
No takšno datoteko imenik.
Torej, ta je pravzaprav zelo neposredna.
>> Torej, zdaj mi počistite zaslon.
Nadzor S samo izklopi zaslon odstraniti nekaj motečih dejavnikov.
In zdaj bom ročno Tip Jek-o zdravo hello.c.
Torej, kaj se gre, da naredim?
Natanko isto stvar, da bi naredil nas, vendar nisem vrgel proč nekaj
odvečnih besed.
>> Jek je program, ki bo vzemite c. datoteke kot vhod in proizvodnjo
ničle in enice kot izhod.
Ampak-o odslej pokličite stikalo ali zastave.
To je samo techie žargonu za povedati to je beseda, ki jo vnesete na poziv
ki kakorkoli vpliva na vedenje programa, ki ga vodiš.
Torej, ali kdo želel ugibati kaj-o sporoča?
>> Izhod.
To je samo nekdo odločil-o pomeni izhodna datoteka z imenom zdravo in se kot
vhod karkoli zadnja beseda poziv je, hello.c, tako da če sem udaril
Vpišite zdaj, nič ne zgodi.
In čudno dovolj, v tem svetu, v programiranje, če se nič ne zgodi,
to je verjetno dobra stvar ker ni napaka
Sporočilo na zaslonu.
Pozdravljeni, Enter.
Moj program je zdaj teče.
>> Ampak lahko naredim neumne male stvari, kot so to. Jek-o, hihihi, hello.c,
vnesti, in zdaj imam enake Program z imenom hihihi.
To se obnaša enako, vendar ime je drugačna.
>> Torej je to samo pomeni, da če hočeš vplivati ​​na vedenje
Program, bomo bolj vidi stvari, imenovane
argumenti v ukazni vrstici.
To je linija.
Tipkate ukaze.
Ergo, v ukazni vrstici.
In argumenti v ukazni vrstici so le besede ali majhne koščke sintakse tem
nekako vplivajo na obnašanje Programi, ki smo jih izvajajo.
>> Vse je v redu, da je morda najbolj dolgočasno Program lahko napišemo in videti.
Poglejmo zdaj nekaj storiti bolj zanimivo.
Dovolite mi, da gredo naprej in ustvariti novo datoteko.
Jaz grem naprej in shranite to Domači imenik John Harvard, kot je,
recimo, da custom.c, da je Malo programa po meri.
Grem, da povečate na moji vrhu zavihki tukaj in začeti znova.
>> Vključujejo standardno stdio.h.
Več o tem pa v trenutku.
int main (void), več o tem da v trenutku.
printf ("hello, David").
Veliko bolj zanimivo, kajne?
>> Torej, zdaj, če - ne zaradi mojega imena, samo zato, ker je drugačen -
narediti po meri vstopiti.
Po meri zdravo, David.
Toda tudi to, kar je prav laž.
Ta program lahko tudi imenuje david.c, ker to ni po meri
vedenje sploh.
Res bi rad program, ki zahteva uporabnik za svoje ime.
>> Torej, kako naj to naredim?
No, naj se pomaknite navzgor tukaj.
In preden sem uporabo izjavo, v Praske, preden sem uporabo printf,
sicer znan kot funkcijo, naj me najprej vprašati uporabnik kaj vhoda.
>> Torej za to, da moram naredite nekaj stvari.
Ena, rabim prostor za shranjevanje uporabnika naštejemo ko sem ga vprašal, ali
ji za to.
Kaj konstrukt moram verjetno uporabljate shraniti vrednost takega?
Spremenljivka.
>> Torej za razliko od nič, če si dobil lepo puzzle piece, tukaj moramo
uporabiti, seveda, besede izraziti sebe.
In odslej, kadarkoli želite beseda ali fraza, načrtovanja,
bomo poklical, da niz.
Torej niz je beseda ali fraza.
To je zaporedje nič ali več liki, bolj formalno.
>> In če hočeš takšno spremenljivko obstajajo, moraš reči, dajte mi eno.
In način, s katerim to, da je pravijo String s podpičjem, kjer je mogoče biti
karkoli želite.
Dejansko je je malo underwhelming.
Dovolite mi, da gredo naprej in več jasno je ime poklicati.
Daj mi niz z imenom ime.
>> Toda zdaj, kaj je oseba, ki je Ime privzeto?
Torej, če človek ne tipa nič in, seveda, tam se dogaja
da ni vrednost imena.
In izkazalo se je v C, če ne bi spremenljivka vrednost, da se bo
imajo smeti vrednost.
Morda imate nekaj naključnih ničle in tisti, tako da greš samo da vidim
smeti, resnično, se na zaslonu Če boste poskušali prikazati.
>> Vendar pa lahko to popravimo, da z besedami, dejansko, trgovina znotraj imena na
po vrednosti.
Tako boste shranjevanje vrednosti v spremenljivkah če imate ime spremenljivke na
levo, moraš nekako dati tisto, kar želite shraniti v njem na desni strani, in
sintaksa, da se dogaja da je, kot sledi.
>> Nismo videli že prej, vendar se o veri, za trenutek, da
Obstaja še eno izjavo, v svetu da bom funkcije spet poklical,
in je ta funkcija imenovano dobili niz.
In to dobesedno.
To nekako dobi zaporedje znakov od ljudi in nato
naredi nekaj z njo.
>> In to ne izgledal Grobni sintakso.
Običajno, če ste z uporabo enakih znakov - ste v svetu, pravijo,
algebra, in ste dejansko Mnenja x enak 1.
Tukaj ne bomo pravi, da Ime je enako dobili niz.
Mi praviš trgovino v imenu kaj je še na desni strani
tega enačaj.
Enačaj predstavlja Operater naloga.
To je sintaksa, ki pravi, da mu kaj je na stranska desno roko notri, kaj je
na levi strani.
Torej se niz je nov del funkcionalnost, ki ne samo, da
nekaj -
vpraša uporabnika za vrvico -
to tudi vrne, če se tako izrazim.
>> Torej, da vidimo, kaj se dogaja da se zgodi tukaj.
Jaz grem naprej zdaj in pomanjšanje, in jaz bom dobil nekaj
Napake na moj poziv.
Jaz grem s tipom narediti po meri, vnesite.
Wow.
Cel kup napak.
>> Vse je v redu, tako da je to neke vrste velika, vsekakor na prvi, ampak
Izkazalo se je vse to zelo sicer kriptirni sporočil o napakah so
se nanaša na nekatere vzorce, ki bomo začeli videti v daljšem časovnem obdobju.
Tako da to bom odtrgal dol, ker je prvi.
Uporabite črno identifikator niza.
>> To samo pomeni, da gedit, ali Jek, v tem primeru, ne ve
kaj mislim s niza.
In to zato, ker v C programskem jezik, je dejansko
Ne spremenljivka tipa niza.
C ne ve, da obstajajo strune.
>> Toda mi, CS50 osebje, storiti.
In tako vnaprej razredu, smo ustvaril datoteko z imenom CS50.h.
In znotraj tega spisa - in Več o skladnji, da pridejo -
znotraj te datoteke je definicija tega, kar sem pravkar opredeljen
verbalno kot niz.
Tako preprosto s sklenitvijo tega eno vrstico kode v mojem programu, zdaj sem
poučevanje gedit in klicanje in Jek vse po vrsti, kaj je niz.
>> Ne vem še, kako.
V nekaj tednih bomo lupine nazaj, da je plast.
Ampak za zdaj, vedo, da je to uči prevajalnik kaj
Niz dejansko je.
>> Torej, zdaj mi jasno, moja terminal tukaj.
Dovolite mi, da ponovno zagnati narediti po meri, in jaz rešiti vseh teh težav.
Torej tudi to bo je ponavljajoča se tema.
Napisal sem samo 9 vrstic programa je, in vendar sem imel 18 vrstic napak.
To je nekako zastrašujoče.
Ampak zavedati, da pogosto kaskade, kot da je ena majhna napaka sproži
zmedenost za prevajalnik, in je videti veliko slabše kot je.
>> Torej, zdaj bo prebrisan opazovalec vedeti da grem niz iz
uporabnik, vendar nisem dejansko kaj delaš z njim?
Nisem pravzaprav počne kaj z njim.
Torej, če sem dejansko teči znova po meri, to se dogaja samo sedeti tam.
Kaj se dogaja?
Moj program se zdi, da je zaljubljen v kaj linija, bi rekli?
>> Torej je dejansko obtičal na liniji 7.
In smo nismo videli že prej, vendar on line 7, tam je, spet, to
Izjava, dobil niz.
In to ne, kaj piše.
To je zdaj čaka na človeka da sprejme niz.
To je popolnoma unintuitive z mano, človek, ker sem ni povedal,
kaj naj naredim.
>> Ampak naj gredo naprej v veri in Naj se pretvarjamo, da je Rob.
Enter.
To ni program, sem nameraval.
Torej imamo prvi blog.
>> Ampak poskusimo utemeljila z zakaj je temu tako.
Prvič, dovolite mi najprej popravili to težavo.
Naj dodam črto tukaj, ki pravi: printf, kako ti je ime?
Reciva storiti tesno ponudbo, blizu oklepajev.
>> Zdaj pa me ponovno zagnali.
Problem.
Jaz ne vidim tega.
>> Prav.
Nisem ga prevedem.
Torej, v jeziku, kot je C, ker ste spremenite izvorno kodo ne pomeni,
da ste spremenili svoj predmetne kode za ustvarjanje novega predmeta kodo
nove ničle in enice.
Boste morali ponovno prevesti.
Če bi sedaj ponovno zagnati po meri, vnesite, ah, malo bolj jasno.
Moje ime je Rob.
Še vedno buggy.
>> In sem trdijo, da je nekaj hroščev zdaj.
To samo izgleda grozno, odkrito povedano.
Všeč, minimalno, bi moral imeti prostor tam, ali premaknite
kazalec na novi liniji.
>> In dejansko, nova linija.
To je nekako ključni stavek tukaj, da smo videli, vendar ni opredeljen.
Način, na katerega boste dobili besedilo , da se premaknete na naslednjo vrstico,
ne naredite tega.
To povzroča zmedo na računalnik.
To izgleda kot dveh ločenih prog kode, ki nista
je popolnoma pravilna.
Namesto tega morali biti jasnejši in pravijo, daj mi novo linijo, ki smo jo
predstavljajo vc z backslash n.
>> Torej je nekaj takih znakov.
Nagibnica n bo popraviti to estetiko.
Naj ti prevedem program.
Dovolite mi, da ponovno zagnati svoj program.
>> To izgleda bolje.
To je še vedno precej primitivna, vendar je še vedno buggy.
Torej je eden -
tudi če ste nikoli programirana prej, lahko verjetno ugibati
, zakaj je ta program še vedno pomanjkljiv.
Kaj moram storiti, da Nisem še naredil?
>> Torej imam dejansko storiti nekaj z imenom.
Tako kot v nič, morda ste dejansko določite spremenljivke, kot so N ali
taktiko kot smo zadnja teden - vrednost.
Ampak, če ne boste storili ničesar, s je, nič ne bo zgodilo.
>> Vse je v redu, tako da popraviti.
Dovolite mi, da vnesete svojo spremenljivko tam, in pusti me tukaj.
Naj ti prevedem, mi re-run, Rob.
Zdaj sem samo idiot, kajne?
>> Tako da to ni res dobili me še naprej.
Toda to je popolnoma naravno instinkt, sem trdijo, kajne?
Če je spremenljivka imenuje ime, in sem želim, da bi šel tja, zakaj ne sem
tip je tam?
>> No, seveda, imamo razlikovati zdaj
med tem, kar je niz?
Opazili, da citiram konec citata Tukaj, zdravo ime?
To je dejansko sam niz.
To je težko kodirane.
To ni od človeka.
To je od mene, prvotni programer, vendar je še vedno niz.
>> Torej, če ste dobesedno pisati N-A-m-E v notranjosti v nizu, kar se dogaja, da
dobili natisnjen?
No, N-M-E. Mi namesto tega morali da printf povem, ne natisnejo
ven dobesedno poimenovati.
Natisnite vrednost imenom.
>> In za to, da naredite naslednje.
In to je samo človek konvencije.
Mi namesto pravijo% s, in da stojala za niz.
In potem na koncu mojih bližnjih narekovajih, Bom dal vejico in
mimo drugega argumenta v tej izjavi.
Grem vnesite ime tam.
>> Torej sedaj opazili, imamo nekoliko Nova skladnja.
Še vedno imamo dve oklepaje, in odslej naj povem, da stvari
oklepaju predstavlja argumenti v funkciji -
vložki, ki so nekako gredo vplivati ​​na njegovo vedenje.
Torej po tej logiki, koliko argumentov printf ne zdi, da je
pri čemer v tem trenutku?
>> Tako se zdi, da se ob dveh, in da je dejansko pomenilo
z vejico tukaj.
Torej je to en argument med narekovaje.
Čeprav ima vejico v njej, vse, kar je v narekovajih, kar pomeni,
to je en dolg niz.
Vejica, ime spremenljivke.
>> Torej, zdaj mi pomanjšati.
Dovolite mi, da ponovno zagnati.
Rob.
Prekleto, kaj sem naredil narobe?
>> Vse je v redu, tako da boste morali ponovno prevesti.
Torej še enkrat, enostavno napak, da bi že spet in spet naprej.
Torej, zdaj znova zagnati po meri, Rob, enter in voila.
Zdaj imamo program po meri.
>> Torej sem zdaj program, ki uporabo nekaj značilnosti
, ki jih je vredno omeniti.
Ena, sem z CS50.h, drugače znan kot knjižnice CS50.
In znotraj knjižnice CS50 so funkcije, ki jih drugi ljudje pisali -
sicer osebje -
ki ga boste uporabljali, in dobili Niz je eden izmed njih.
>> Notranjost 2. vrstici je stdio.h, in zakaj je to tam?
Ugibati.
Kar obstaja znotraj Standard IO staršev?
Printf.
Torej printf, ga ne vidim nikjer drugje na zaslonu.
To mora priti z računalnik nekako.
Od kod prihaja?
To je notranjost - to je izjavil: tako rekoč znotraj
datoteka z imenom stdio.h.
>> Zdaj, za te stvari, se bomo vrnili na koncu, ker je malo
moteča za zdaj.
To se nanaša na našo vrsto vračanja.
To se nanaša na trditev.
Ampak za danes, smo osredotočeni samo tukaj, na teh progah.
>> Torej niz imena, samo da Rekapitulacija, kaj je to za mene?
Torej je razglasila spremenljivko tipa niza.
Tako je bilo mišljeno, da se za besedami, ne za številke.
Tako kot prahi, če sem rad da je to število, bi rekel,
nekaj podobnega notr.
Če bi želel biti s plavajočo vejico vrednost, nekaj z decimalno vejico,
Rekel bi, da plovec.
Ampak za danes, sem pravkar rekel niz.
>> In sem dal to spremenljivko naziv imena, vendar sem lahko
so jo imenovali ničesar.
V bistvu prvotno, ga imenujemo I S.
>> To tukaj je le še ena izjava.
Koliko argumentov je to Izjava ob?
Torej to je samo ob eno, in da je zgolj estetski detajl
prikazuje nekaj na zaslon z mano.
Kaj je ta linija 8 početje v smislu navadnega je?
>> To je pridobivanje vrednosti iz Uporabnik - sicer niz -
in kaj počne z njo?
To je v bistvu ga izroči tip na levi strani
enak predznak, tako da v tem primeru Ime spremenljivke lahko dejansko shranite.
>> In potem je še en printf primerek funkcije.
In smo rekli, da pokličete funkcijo.
Če želite uporabiti funkcijo je poklicati funkcijo.
Ta stvar navidezno traja dva argumenta.
Tale, vejica, tole.
>> Tale je sama le niz , ki vsebuje ogrado.
% S sredstvi dal še eno vrvico tukaj.
In tako z vzpostavitvijo ime po vejica, da je vstavljanje
ta stvar zame.
>> Da bom lahko druge stvari še vedno.
Dovolite mi, da gredo naprej in zdaj narediti nekaj neumno program, ampak mi izbrisati to,
in mi ustvari zanko.
Medtem ko je res.
Simbol res je očitno vedno tekoč, da bi bilo res.
Torej, kakšne zanke sem indukcijo s pisanjem črto, kot je ta?
>> Tako neskončno zanko, kajne?
Samo ob res.
Tukaj nikakor ne morem spremeniti besedo Res, da je kaj drugega, tako da je to
šele tekoč teči večno.
Torej, če ste že kdaj imeli program V vašem Mac ali PC, ki se zdi
da so zaprli, ali pa to počne kaj in kaj, in si
ne morejo dobiti stvar, da se je odpovedal, če vas zagnati računalnik ali potegnite navzgor
Task Manager ali podobno, tukaj je tak primer.
>> Lahko rečem: "Jaz sem vozičkom programa." Zapri citiram, zaprite
oklepaj, podpičje.
Torej še enkrat, opazili vzorce.
Čeprav nekatere naše sintakse je nov, ključne besede, medtem ko ključne besede resnične,
Opažam, imajo enake nekako zavite oklepaje.
Imam podpičjem in oklepaje.
>> Torej, zdaj gremo naprej in pripravijo to.
Narediti po meri, po meri.
Torej, na tej točki, da vam ni treba znova zagnati napravo, v redu?
Tako enostavno Lekcija tukaj je, s dva prsta, Control C,
bomo nehal ta program.
Vendar pa lahko vidite točno, zakaj je ta stvar je vedno znova ponavlja.
>> Jaz lahko naredim nekaj, malo bolj zapleten, kot teaser.
Jaz grem naprej in povem naslednje.
Za int, ki je celo število, i samo generično ime, ki ga dajemo najbolj
spremenljivke v programiranju, ko ste samo štetje, enaka 0.
Dovolite mi, da gredo naprej in reči, medtem ko je i, recimo, manj kot 100, i plus plus.
Bomo podprli te sintakse, vendar to samo pomeni,
spet in spet prirastek i.
>> In kaj hočem narediti tukaj?
Printf, "da se lahko zanesem na i." To je buggy programa.
Kaj sem pravzaprav nameravam tu?
>> Odstotkov ne govorite, ampak si ne bi uganiti to. % D je decimalno število.
Vejica i.
Dovolite mi, da roll nazaj.
>> Dovolite mi, da sedaj prevesti z make.
Naj se sedaj ponovi z običaji.
Lahko računate res prekleto hitro, ko Pišem program, kot je ta.
>> Zdaj pa naredimo nekaj za malo nenamerno.
Kako pa kaj je to, ko sem je večje ali enako 0.
Kaj se bo to povzroči?
Torej logično, to ni tako pametno, ker zdaj, če sem to ponovi, pripovedujejo,
Sedaj lahko računate zelo, zelo visoka.
Na žalost, približno tako visoka kot sem lahko Število je 4 milijarde evrov, tako da to se dogaja
da bo trajalo nekaj časa.
>> Torej, zakaj ne pustimo, da je to naše Alpinista, ko je obljubil, da se na
Sreda, bomo videli, če ta program se izvaja.
Dva, bomo uvesti kako si sami napišete svoje funkcije tako, da zelo
hitro, da bomo do srede, kot smo Prehod iz nič v C, začnite
pisanje vedno bolj zapletena programi, ki veliko naredijo,
veliko več kot to.
Vam bomo videli potem.
>> [APLAVZ]
>> SPEAKER 1: Na naslednjem CS50, Puzzle Dan je bil uspešen.