>> DAVID Malan: Ĉi tiu estas CS50, kaj ĉi estas la komenco de la semajno unu.
Kaj kion ni pensis ke ni volas fari estas tiri reen la kurteno de aparato kiun multaj
de vi probable piediris pasinteco nun dum jaroj, sed eble neniam sufiĉe
scias kion ĝi estas.
Do tiu mekanismo estos probable aspektas familiara al plej el vi per nun.
>> [VIDEO reprodukto]
>> -Al triumfo de matematikaj kaj mekanikan lertecon estas tiu granda nova
aŭtomata kalkulilo je Universitato Harvard.
Komplika problemoj en matematiko meti tra la maŝino en kodita formo sur
bendo estas precize solvitaj en minuto frakcio de la tempo bezonata por
homa kalkulo.
>> Desegnita por akceli ĉiujn formojn de matematika kaj scienca esplorado,
la giganto mekanikaj cerbo volas laboros por la Unuiĝintaj Ŝtatoj
Armita ĝis la milito finiĝis.
>> [FINO reprodukto de vídeo]
>> DAVID Malan: Do tio, kion vi vidas en la Science Center, kiu estas kie
tiu maŝino estas nun gastigis.
Vi fakte nur vidi parton de ĝi.
Nur porcio estas nuntempe en elmontrado, kaj tio estas nomita mekanismo
la Mark mi, kaj gxi estis esence vere grandega kalkulilo.
Ĝi okazis la Mark II, kaj ĝi estas de la Mark II ke ni efektive
akiri iom de leksiko.
>> Ĉi tiu estas la unua registrita petskribo de io, kion vi estas iĝonta ĉiuj
tro familiara kun super la kurson de la semestro -
nome, cimon.
Do ĝi rezultis je unu punkto la Mark II aparato ne funkcias
konvene kaj sur proksima inspektado, estis ja cimon - tineo -
ke tineo -
enen.
Kaj ekde tiam, ni raportis al erarojn en programoj kiel cimojn.
Do pli en la venonta.
>> Parolante pri video tiel, se vi ne jam, scias, ke CS50 estas
evidente filmado.
La prelegoj kutime iru tuj post klaso en ia antaŭ-versio
sen eldoni formato, kaj poste dum unu aux du poste, ni metas ĉe pli alta distingivo
kaj pli alta kvalito versio.
Vi eble memoras Vanessa, kiu havis la fortuno de ludi kun Google Pokalo,
kiun mi memoris ŝarĝi ĉi tiun fojon.
Do se vi volas veni post klaso kaj ludi, ili devus labori hodiaŭ.
Kaj se vi ŝatus vidi kion Vanessa vidis la alia tago, kion vi vidos
tie - lasu min levi la volumo ĉi tie en mia tekkomputilo.
>> [VIDEO reprodukto]
>> -Do mi vosto estas supre.
Ĉio bone.
Do tuŝi ĉi.
Ĉio bone.
OK, Pokalo.
Gravuri video.
>> Ĉio bone.
Vanessa?
>> [FINO reprodukto de vídeo]
>> DAVID Malan: Bone, do la kialo ke tio ne funkcias por la plimulto el vi en
la fino de klaso estis ĉar mi plue gravuri horo de tiu
bildoj indik mem post Mi metis la okulvitrojn malsupren.
Do hodiaŭ, mi lasos ilin, sed dankon vi Vanessa por esti tia
bona sporto.
>> Dume, paro de anoncoj antaŭ ol ni forĝi antaŭen hodiaŭ.
Do unu, CS50 havas tradicion de fari kion ni povas provi fari tre
granda klaso sentas pli malgranda.
Kaj al tiu celo, plej ĉiun vendredon, ni kunvenas en restoracio
la placo, Fajro kaj Glacio, kun 30 aŭ 40 de via samklasanoj, mi mem, kelkaj el
la instruistaro, kaj ni simple havas tre hazardaj lunĉo.
Ni ofte invitas geamikoj el industrio, lernantoj de la klaso, lernantoj de la
kolegio, vere nur babili ĉiu aliaj ĉe, paroli pri vivo post
kolegio, la vivo en la universitato, kaj similaj.
Do se vi ŝatus partopreni en ĉi tiu unuaj tiaj tagmanĝo tiun vendredon ĉe
1:15 PM, kapon por ke URL je iu punkto.
>> Spaco estas limigita, tiel ni faros veni antauxe unua utilas.
Sed ni tion faros ĉi denove sur _recurring_ bazo, do ne zorgu se vi ne
fari ĝin en tiu unua parto.
>> Nun, en terminoj de la rimedoj havigitaj curricularly de la kurso,
tie estas tuta mortigis, kaj se vi ne havas tiris supren la kurso de afiŝinto
Jam, en aparta, sub prelegoj, vi trovos, ke ĉio
ni faris pasintsemajne estas tie, ambaŭ en video kaj ia
de elektronika formo.
Sed transe de videoj, vi trovos ke nun estas plena teksto
transskriboj, ekzemple, de ĉiu prelego.
>> Do, se ni efektive reiros al tiu ekrano tie kun Vanessa, kaj navigi
al la fundo angulo de la ekrano, vi trovos, ke fakte, ne por
Vendreda prelego, sed se ni reiru al Merkredo, ekde tiu karakterizaĵo donas
malmultaj tagoj, vi trovos, ke vi povas fakte elsxiros, por pli bona aŭ por
malbona, ĉiun vorton, kiun mi aŭ volontulo en la scenejo diris.
Kaj pli ol nur tio.
Vi povas fakte esplorrigardi gxin, vi povas alklaku iun el tiuj frazoj, salti
al tiu punkto en la video, ĉiuj al kaj fino de farante la materialo ĉiuj
pli ŝipveturebla.
>> Sed se vi preferus ne sekvi ĝin en tia detalo, vi trovos, por
Ekzemple, tiu malgranda menuo tie por 1.5x rapido, 2x rapido, aŭ i f mi jam
parolu tro rapide por vi, 0.75x rapido.
Do realigi ĉiuj kiuj estas disponebla tie por vi.
>> Sed krome, por prelegoj, realigi ke ni ankaŭ faros tiuj rimedoj
disponebla ankaŭ.
Diapozitivoj, ekzemple kodon, ion kiun mi fari en la scenejo aŭ en antaŭeniras de klaso,
ni afiŝi tie por ke vi povas ludi kune hejme aŭ en Sanders.
Sed kion ni ankaŭ pensis ke ni volas fari ĉi jaro por la unua fojo ankaŭ
provizi vin per walkthroughs el tiuj ekzemploj.
Ĉiufoje, kiel mi meditis pri la valoro de CS50 de prelegoj, mi komencis
pridubi, kiom utila estas por you guys sidi tie, por mi staras
ĉi tie, kaj por mi paroli pri vi, aparte kiel la materialo, la
ekzemploj, akiru pli kompleksa.
Ĉar nevarie, post iu kvanto de minutoj, iu volo zono, kaj
tiam mankas al vi iuj ŝlosilaj sagaceco de iu ekzemple, kaj tiam vi estas esence
foriris por la cetera porcio de klaso, kiu ne estas la plej bona uzo de
vian tempon, aŭ, vere, nia kolektive kiel klaso.
>> Kaj do kion ni pensis ke ni provas fari, aparte por kelkaj pli
kompleksa ekzemplojn por ke mi ne faru justecon al la klaso, ke ni ne fariĝu
havas tempon por en klaso, aŭ vi povus nur zono ekster dum, estas ni produktas
serio de walkthroughs de tiuj ekzemploj tiel ke se vi iras al, por
Ekzemple, lasta vendreda video paĝon tie sub ekzemploj, vi vidos ke
por vendredo, estas nun ĉi ligi al walkthroughs.
Kaj la formaton de tiuj ŝanĝos la tempo.
Nun, ni uzas simplan YouTube playlist.
>> Sed kion Mi faris kun niaj teamo de produktado poste estis marŝi tra ĉiu
kaj ĉiu el tiuj ekzemploj denove, espereble markante en multe pli granda
klareco ĝuste kion la takeaways povus aŭ devus esti de ĉiu.
Do vi trovos, ekzemple, de la pasinta semajno, ĉiu el la nulo ekzemploj
Ni trapasis estas farata lineare en tiu modo.
Do bonvolu partopreni aŭ ne partopreni en ĉi tiu materialo.
Vere temo de ĉi tiu aparta kurson estas ke ekzistas probable pli
laŭ la vojo de rimedoj ol vi povus sorbi super
la paso de duonjaro.
>> Sed tio estas intenca.
Ĝi celas esti tiel ke vi kiel individuaj studentoj povas mem-unuaranga
surbaze de via lernado stilo.
Do se prelegoj funkcios por vi, granda.
Se sekcioj labori por vi, granda.
Se walkthroughs labori por vi pli bone, granda.
Ĝi vere estos ĝis vin elekti kio rimedoj funkcias plej bone por vi.
>> Fine, danke al lernanto de la Kompreneble, ni ankaŭ provizas kanona
aro de skribisto notoj.
Do anstataŭ havi you guys kapoj malsupren en prelegoj scribbling malsupren
aĵoj kiuj venis en la klaso, ni, la bastono, provizos vin per kio ni
sentas estas kanonaj aro de notoj liberigi vin de tiu distro, por ke
se vi estas tie kaj dediĉis, vi estas vere okupata pri kio okazas,
kun via samklasanoj faras sur etapo, kun kio estas supre sur la ekrano,
kaj ne simple notante verbatim kio okazis al ili diris.
Do realigi ĉiuj tiuj rimedoj estas disponebla por vi.
>> Sekciigo, en respondo al Oftaj Demandoj, komencos tiun merkredon.
Ni esence atendu ĝis post plej aliaj klasoj estas farita por ke ni povu
minimumigi la nombron de ŝanĝoj ke ni devas fari.
Sed venante al li ĉi tiun semajnfinon, komencante Dimanĉo, estos iam petskribo de
kion ni nomas super sekcioj.
Ĉi tiuj estos filmado por tiuj kiuj ne povas ĉeesti, kaj esence, la
Kompreneble la kapoj irados nin tra iuj de la C porcion de la kurso,
al la fino de problemo aro, kio tuj estos nia unua C bazita
problemo aro.
Kaj ĉi tiuj nur esti nedeviga sekcioj en antaŭvido de kio estos
fariĝis _recurring_ sekcioj kondukis por la paso de 50 plus
instruante uloj ĉiusemajne.
Dimanĉe aŭ lunde aŭ marde, ni havas 90 minutoj sekciojn en tre
tradicia senco, kiu estos ŝancojn por manojn sur kaj pli
intima revizio de la Kompreneble la materialo.
>> Sen pli enkonduko, lasu min enkonduki la kurson de kapoj, kiuj estas
malantaŭ la scenoj kun mi, fari ĉion okazi.
Se tiuj ĉi tien hodiaŭ povus akompani min, Rob kaj Lauren kaj Jozef kaj Lucas, ĉiuj
el kiuj estis kun la kurso por iu tempo.
RJ estas la tria tia membro de nia teamo.
Li ne povis esti ĉi tie hodiaŭ, sed li petis min montri foton de li.
Mi ne estas certa ke li volis tiun unu, sed li estas.
>> Kaj lasu min nur permesus la teamo diri saluton kaj enkonduki sin tiel ke
vi ekkoni ilin tiel kiel via propra instruado ulo ĉi tiu termino.
>> Lauren Carvalho: Hi.
Mia nomo estas Lauren Carvalho.
Mi estas loĝanto lingvohelpanto en Leverett Domo.
Mi ankaŭ Super ekscitita esti kapo TV por CS50 ĉi tiu jaro.
>> CS50 estas tre defia klaso tiel kiel tre granda klaso, do se vi
havas neniun maltrankviloj, se vi sentas kiel vi falas malantaŭen, sentu vin libera
alveni al iu el ni, heads@cs50.het aux al mi, se vi volas
ŝatas ludi kun mia ora Retriever ido.
Jen Lucas.
>> Lucas Freitas: Hej, knaboj.
Mia nomo estas Lucas Freitas.
Mi estas juna [inaudibles]
komputiko kaj lingvistiko.
Mi efektive el Brazilo, kaj mi ankaŭ realigi oriente aziaj studoj.
Do se vi havas demandojn pri komputiko aŭ lingvo aŭ
nenion, nur lasu min scii.
Aŭ CS50, speciale.
>> JOSEPH ONG: Hi.
Mi estas Jozef.
Mi estas altranga studi komputilo scienco en Elliott Domo.
Do, ni vidu.
Vi vidos min ĉirkaŭ portante unu el tiuj enormaj ĉambroj.
Mi estas la loĝanta bastonon fotisto por 50 tiel, kaj studentoj ofte
kelkfoje konfuzas min azia turisto.
>> Do, se vi vidos min, kun ĉambro, ne kuras for.
Nur ridetas kaj ne timema.
Kaj mi esperas ke vi ĝuos 50.
Mi ĝuis ĝin tre multe, kiam Mi prenis ĝin, kaj tial Mi estis TFing por
ĉi tiuj tri jaroj.
>> ROB Bowden: Hi.
Mi Rob.
Ĉi tio estas mia kvara semestro kun CS50.
Mi ĵus diplomiĝis en majo.
Mi estis en Kirkland.
Mi ekscitita por ĉi tiu semestro, kaj mi esperas ke vi estas tro.
>> DAVID Malan: Dankon por ĉi-jara kapoj, kaj al RJ tiel.
>> Do kelkaj fina notojn sur rimedoj.
Unu, p starigis 0 estas jam supre.
Ĉi tiu ekzistas nur en normo eldono, kiu estas intencita por la
tuteco de la klaso.
Komencante kun p aro 1, estos hacker eldonoj de plej problemo aroj,
kiu, denove, kovros la materialo kun iom pli de defio, dum
ankoraŭ tuŝante iuj de la sama temo.
Ĉu rigardi la kurson de afiŝinto por tiu specifo por p aro 0.
>> Oficejo horoj, tro, ili komencos tiu semajno, ĉi tiun nokton, morgaŭ, merkredon,
kaj Ĵaŭdo en diversaj manĝejo haloj en la campus.
Check out cs50.net/ohs por la oficejo horojn por la kurso, kaj realigi tiun
estos tre hazardaj ŝancoj, certe, en la komenco de la
semestro, veni por kun via portebla dum cerbo ripozon.
Alportu kelkajn amikojn kaj babilas ĉe la Kompreneble la TFS kaj CAS kun ajna
demandojn, ke vi povus havi.
>> Kaj mi ne povas elstari sufiĉas, eĉ por nulo kaj problemo aro 0,
vere estas neniu muta demando.
Ne estas studento tro malkomforta demandi demandojn.
Ne hezitu utiligi de ĉi tiu rimedo.
Ĝi estos tie recurringly tra la semestro,
kiel estos CS50 Diskutu.
Tio estas la kurso la retan diskuto forumoj en tiu adreso tie.
>> Kion ni ankaŭ fari dum prelegoj estas ankaŭ kontroli tion, danke al la
Kompreneble la instruado teamo.
Kaj do se vi havas demandon dum prelegi, ĉar mi diris ion
malbone aŭ tute ne, por supozita, petu ke en reala tempo se vi havas vian
portebla aŭ telefono en la retejo, kaj Ni faros nian eblon en proksimaj reala tempo al
respondi al tio.
>> Ĉu estas demandoj pri la CS 50?
Tiam unu lastaj notoj el mia.
Tiu temo de SAT UNSAT.
Kiel vi finos vian studon kartoj, se vi ne jam, rimarkas ke la
komunajn vidado de SAT UNSAT, disponebla por ĉiuj studentoj, estas vere
helpi preni la rando ekstere de kurso kiel tiu, por tiel diri, por ke, se vi
trovi mem malfrua nokto, 2am, 3AM, vere banging via kapo kontraŭ
la muro kie vi scias ke vi estas 99% de la vojo al finaĵon, sed vi
havas tiom da aliaj aferoj por fari, Mi kredas pli bonan uzon, ofte, de
studentoj 'tempo estas ja movi antaŭen al tiuj aliaj aĵoj por ke vi povas
optimumigi vian tempon cxirkauxe.
Kaj SAT UNSAT estas mekanismo per kiu vi povas preni komforto en la fakto
ke 99% de la vojo estas ankoraŭ sufiĉe Darn bona.
>> Simile, ankaŭ, se vi venos en la kurso kun neniu antaŭa fono aŭ
Ne preskaŭ tiel fono kiel vi pensas, ke via samklasanoj povus havi, vera
aŭ malvera, rimarkas ke ĉi tiu estas ŝanco atingi viajn manojn malpurajn
kun la kurso, metu viajn piedfingrojn en la akvo, por tiel diri, multe kiel mi mem
faris jarojn kun pass / malsukceso.
Kiel mi diris pasintsemajne, havis ĉi kurso, kiel aliaj, ne estis disponebla
pasi / malsukceso ĉe la momento, mi probable estus Ne iam elpaŝis piedon en
la klaso, kvankam mi faris, kvin semajnoj poste, ŝanĝi mian menson, kiujn vi
Eble tiel, kaj ŝanĝi super al aŭ el letero gradita statuso.
>> Ĉio bone.
Do ni rigardis tion kiel tiu en Vendredo, kaj ni tre rapide irante
por transiro al iu kiu aspektas pli kripta hodiaŭ.
Sed estas tamen la sama fundamenta ideo.
Kio estis la ĝenerala termino kiu ni uzata por priskribi puzlo peco
kiu aspektis tiel?
>> Do, komunikaĵo.
Kaj vi povas nomi ĉi ajna nombro de aĵoj.
Sed ni simple nomas ĝin deklaro, kaj deklaro
nur rakontas la programo -
aŭ en la kazo de Scratch, la sprite -
fari ion.
Diru saluton en ĉi tiu kazo.
>> Io tiamaniere ni anstataŭ nomi kion?
Jes, tiel Bulea esprimo.
Al Bulea esprimo estas nur io tio estas vera aŭ falsa, do nulo
altiras ilin per tiu formo, sed ankaŭ kun demandosigno transdoni la
ideo, ke la respondo al tiu demando estas ĉu vera aŭ malvera, jes aŭ ne
unu, 1 aŭ 0.
>> Kaj ni uzas tiujn Buleaj esprimoj ene de konstruoj kiel tiuj, kiuj
ni nomas kion?
Do, kondiĉo aŭ branĉo.
Kaj la kondiĉo vi vidas tie en Scratch havas iom lokokupilo por
enigmo peco de tiu formo, la celo el kiuj estas tiel ke vi povas
treni ĝin kaj faligis ĝin supren kaj poste dikti al la programo se tiu Bulea
esprimo estas vera, do ĉi tiu aro de instrukcioj, tiu aro de deklaroj,
alie fari ĉi tiu alia aro de instrukcioj.
>> Kaj memoru ke vi povas nesto tion.
Kvankam tie ne estas multe ĉambron vide en tiu enigmo peco, Scratch
kreskos kaj retiri por persvadi ajn enigmo pecoj vi treni kaj lasi en
tie tiel vi povas reale nesto tio kaj havas tri maniero forkon en la vojo.
Se, alie se, alia.
Kaj vi povas eĉ iri preter tiu de nestumado pli kaj pli kiel necesas.
>> Do fine, ni vidis konstruoj kiel ĉi, alie sciata kiel buklo.
Kaj tio estas nur iu kiu faras io denove kaj denove kaj denove.
En tiu kazo, ĝi okazas al esti finia nombro de fojoj, sed ni ankaŭ
vidis ekzemplon kie la nombro de fojoj venis de variablo, do
povis ŝanĝi.
Kaj ni ankaŭ vidis alian bloko aro nomata ĉiam bloko kiu
nin permesis buklo malfinie longa.
>> Do unu alia konstruo ke Scratch 2.0 havas - kaj la de vi pli
komforta kun antaŭaj fono estas jam bone konas ĉi tiun
konstrui -
tion ni nomas kion?
Do ni nomas tiujn funkciojn, alie konata kiel proceduroj.
Ekzistas malpeza semantika diferenco, sed ni nomas ilin simple funkcioj.
>> Kaj funkcio, en la kazo de Scratch, Estas kutimo puzlo peco kiu
vi mem povas krei tiel ke vi havas nova enigmo peco kiu, en tiu
kazo, nomus tuso, ke aperas inter ĉiuj aliaj
disponebla puzlo pecoj en Scratch.
Kvankam MIT ne inventis tiu enigmo pecon, vi faris.
>> Do funkcio permesas vin krei novan konduto, donu gxin funkcio nomo, kaj
tiam nomas ĝin, por tiel diri.
Vere uzi ĝin en programoj denove kaj ree kaj ree sen devi atendi
por iu kiel MIT laŭ la vojo al elpensi novajn funkciojn de nulo.
Vi mem povas konstrui tiujn puzlo pecoj vi mem, kaj poste reuzi ilin
en via propra programoj.
Kaj ni vidos _recurring_ ekzemplo de tiu hodiaŭ kaj pluen.
>> Do hodiaŭ, ni transiro nun al iu pli arkaikaj.
Sed je la fino de la tago, iu pli potenca kaj esprimplena kaj pli
reprezentanto de la vojo, ke ni estos en la tuta semestro tuta nombro
de lingvoj -
tiu de kodo aŭ kodo fonto.
Kaj fontkodo, rezultas, ne estas kion komputilo
tipe vere kuras.
Fontkodo aspektas iu kiel ĉi tio.
>> Do tiu estas, denove, eble la plej simpla programo povas skribi en
lingvo nomas C. Ni komencos turmentus tiu aparte post nelonge, kaj se
tiu ja aspektas kiel greka al vi nun, fidu min.
Ene nur unu-du semajnoj la tempo, ĉi Estos tro familiara kaj reale
sufiĉe reprezentaj de ĉiufoje kompleksa ekzemploj kun kiu vi instruos vin
ankaŭ akiri pli komforta.
>> Sed vi ne povas kuri ĉi speco de kodo kutime.
Vi devas igi ĝin iu kiu la propra komputilo komprenas.
Kaj tial por tio, ni bezonas iun Ni tuj voki kompililon.
Al kompililo estas programo kiu prenas fonta kodo, kiel vi ĵus vidis, kiel
eniro, kaj ĝi produktas nuloj kaj ones kiel eliro, alie
konata kiel objekto kodo.
Kaj estas tiuj nuloj kaj kiuj eble aspektas tute kiel ĉi tio
finfine komprenas per Mac aŭ via PC.
>> Se vi iam aŭdis la merkatiko esprimo Intel Ene, ke nur
signifas ke kompanio nomita Intel fabrikis la
cerboj de via komputilo -
alie sciata kiel la CPU, centra prilaborado unueco -
kaj tio estas ĝuste tio, kion komprenas ŝablonoj
de nuloj kaj aĵoj.
Kaj tiel per konvertado fontkodon en celkodo tra tiu procezo tie
ke ni faros kun paro da ordonoj en nur iom, vi estas
krei mastrojn de nuloj kaj aĵoj ke la oficistoj de Intel havas
decidis reprezenti iujn deklarojn.
>> Nun, mi ne tute scias kio estas kiu por nur rigardante
tiuj nuloj kaj aĵoj.
Plej homoj tiuj tagoj ne.
Sed ie en estas mastro de nuloj kaj kiuj reprezentas la
deklaro impreso.
Ie tie povus esti malsama aro de nuloj kaj kiuj
reprezentas la nocion de ĉiam aŭ ripetu 10 fojoj eĉ meow, se estas
fakte programo kiu povas inkluzivas iujn sonojn.
>> Do, en mallonga, homoj ĵus decidis, multe kiel ni faris por Askio -
por literoj de la alfabeto lasta semajno - homoj decidis, ke eĉ
pli kompleksaj modeloj de nuloj kaj aĵoj reprezenti pli kompleksajn konduto
kiel videbligi aŭ diri aŭ meowing.
Kaj tiel hodiaŭ, kaj plejparte antaŭen en la semestro, ni prenos por
koncedis ke iu figured el kiel fari ke surĵeto.
Sed ni, kohera kun tiu ideo de layering supre sur la laboro de homoj
kiuj jam venis antaŭ ni, prenos por donita la fakto ke ĉi tio okazas
sub la kapuĉo.
Sed ni estas multe pli interesiĝis konstruaĵo aĵoj kiuj estas pli
interesa sur supro de ĉio ĉi.
>> Kaj tiel efektive, la unua programo ni skribis en Scratch estis ĉi tiu super simpla
unu, Saluton Mondo.
Kaj vi povas pensi pri tio kiel la ĉefa programo kiu regas Scratch la
konduto ekde la pasinta vendredo.
>> Hodiaŭ, ni tuj komencos traduki Skrapi puzlo pecojn en
fonta kodo en tiu ĉi lingvo nomata C por ke kion similis tiun de
Vendredo, komencante hodiaŭ antaŭen, estas nun tuj aspekti kiel ĉi tio.
Certe pli kripta.
Ĝi estas bela distrante kaj varo de menso numbing vidi ĉiujn citaĵoj
kaj la punktokomojn kaj la parentezoj kaj tiel plu.
>> Sed se vi komencas ignori ion ajn ne komprenas, kaj vere aspektas
ĉe la esenco de la blanka teksto sur la ekrano, verŝajne vi vidas, kiel mi faras,
"Saluton, mondo." Tiu regiono kun la purpura deklaro ĝis supre, kaj ĝi rezultas
ke la ŝlosilvorto ĉefa tuj laŭliniigi koncepte kun kiam verda
flago klakis.
>> Do alivorte, dum kiu en Scratch, ni apliki ĉi Saluton Mondo programo
kun tiuj du puzlo pecoj, en C, Ni tuj apliki ĝin per tiuj
kvar iomete kripta linioj.
Sed kiel ni plonĝi profunden en tio, ke vi vidas, ke cxiu el tiuj
blanka karakteroj sur la ekrano fakte havas iujn signifajn signifo,
kaj la plimulto de niaj programoj tuj rigardi strukture tute la sama.
Do komunikaĵo, esti klara, kion rigardis kiel "diras saluton mondo" on
Vendredo tuj komencos serĉi ŝatas tiun lundon.
printf ("Saluton, mondo").
Kaj tie estas iuj strangaj backslash n, estas parentezoj, estas
punktokomojn.
>> Sed je la fino de la tago, la ŝlosilo takeaway hodiaŭ estas, ke ĉiuj ni faras
estas traduki tion for bildo formi al teksto formo.
Do loop kiu similis tiun lasta semajno tuj nun rigardu
iu kiel ĉi tio.
>> Kaj lasu min disclaim, ĝuste kiel en Nulo, ekzistas malsamaj manieroj
atingi la saman celon.
Sama en C. Mi ne montras al vi la sola maniero por fari tion, sed unu maniero
traduki ĉi ĉiam bloki al buklo en C.
>> Ĉi tiu tie, ripetu 10 fojoj.
Ĉi tiu vere speco de kurbiĝoj la gravas la unua fojo vi vidos.
Sed por apliki ke de nun, Ni tuj uzi
por ciklo, tiel diri.
Kaj klare ekzistas iuj sintakso tio iom kompleksa tie kun mi kaj
egalaj kaj 0, sed iam ni plonĝi en tiun hodiaŭ antaŭen, vi nur irante
vidi ke jen ĉio simple faras kelkajn baza aritmetiko por liberigi nin de 0
sur ĝis 9 aŭ 10 en tiu kazo.
>> Fine, kun variabloj, vi memoras ke variablo estas peco de stokado.
Nu, kion ni havis sur la maldekstra lasta semajno tuj serĉos iom
iu kiel ĉi tiu semajno.
Sed denove, pli en la venonta.
>> Ni havis Buleaj esprimoj, kiuj lasta semajno, aspektis kiel ĉi tio.
Ĉi tiu semajno antaŭen, ili tuj komencas aspekti iom tiel.
>> Kaj ĉi tiu estas efektive iom tranquilizadores.
Fakte preskaŭ same simpla kiel verdan blokoj.
Sed ĉi tie ni havas, denove, iu nova sintakso kun ampersands, sed vi povas
eble diveni dum en Scratch, vi diras Al-N-D, ŝajne en C, ni estas
dironta ampersand kaj-signo.
Sed ĉio ĉi iĝos naturaj antaŭ longe.
>> Kondiĉoj.
Pasintsemajne, ĝi aspektis kiel ĉi maldekstre.
Ĉi tiu semajno, en la dekstra, ĝi estas tuj serĉos tiel.
Sed denove, la ŝlosilo takeaway tie estas ke kiel vi vidas aĵojn kiel ke sur
dekstre, kaj precipe se malpli komforta, ĝi estas speco de super via
kapo, vi ricevas iom premita ke Mi vere ne havas ideon kiom mi povis
eble supreniru kun ke el nenio -
neniu pun intended -
nur rimarki ke ĝi estas vere la sama ideo kiu probable sentis tiom pli
natura la antaŭa semajno.
Kaj eĉ se vi ne plonĝis en problemo aro 0, mi daresay vi trovos
ke la enigmo pecoj estas sufiĉe intuicia, aŭ almenaŭ
tiom super tempo.
>> Do ni plonĝi in
Ni lasu nin manoj malpuraj tie kun tiu unua simpla programo.
Kaj simpla estas, kompreneble, relativa.
Por fari tion, mi tuj ŝanĝos ekranoj al tiu mekanismo Mi nomis la
CS50 aparaton.
La CS50 aparato estas peco de programaro kiu estas lancxi interne
fenestro sur mia Mac, kaj vi ankaŭ povas funkcii ĝin en fenestro ene de via PC, kiu
permesu al mi havi la sama ekzakta komputilo medio kiel ĉiu TF, kiel
ĉiun CA, kiel ĉiu studento en la klaso.
Ĉar la CS50 aparato estas laŭvorte alia mastruma sistemo
nomita Linukso -
specife Fedora Linux -
kaj ni, la dungitaro, agordis la instalado procezo por ĉi
mastruma sistemo en tia maniero, ke oni, tie estas iom CS50 logo en la
mezo, du, tie estas kutimo menuo la fundo, kaj tri, pedagogie,
ni simpligita la uzantinterfaco kiel kiel eble plej multe por ke, kiam vi
unua startigi tiun aferon sur via propra Mac aŭ PC, vi havas la saman
medio, kiel ĉiuj aliaj, kaj vi havas ĉiujn ilojn kiujn vi bezonos
por la kurso, sen devi kompreni el kiel instali ĉiu kaj
ĉiu ilo individue.
>> Do tio aspektas relative kiel Mac OS aŭ Vindozo.
En la fundo maldekstra angulo, vi esence havas Komenco menuo de
varojn, aŭ Apple menuo.
Kaj tiam vi havas, kion ni suspektas volo estu via tri plej komunaj ikonoj.
Unu estas Chrome.
Tie estas retumilo ene de la aparato.
>> Du estas programo nomata gedit, kiu ni vidis mallonge pasintsemajne, kiu estas
nur grafika redaktilo.
Kaj tri estas Terminal programo, kiu estas nigra kaj blanka fenestro de
pasintaj tempoj kiu nin permesas tajpi pli arkaikaj sed pli potencaj ordonoj
nia klavaro.
Do mi tuj iros antaŭen kaj klaku sur gedit, kaj estu certaj, ke problemo
aro 1, kiel eldonita en vendredo, volo marŝi vi tra ĉiuj ĉi tiuj samaj piedosignoj.
>> Rimarku, ke mi havas sufiĉe simpla uzantinterfaco kun tri partoj.
Sur la maldekstra, Mi havas grandan malplenan fenestro nomata fontkodo.
Tie estas kie mi iros vidi resumon de iu kodo kiu mi skribas.
Sur la dekstra flanko, mi havas grandan langeton, aktuale Ne konservitaj, kaj tio estas
kie mia kodo tuj foriri.
Kaj sur la fundo, mi enigita Terminal fenestro, nigra kaj blanka
instigas je kiu mi povas tajpi komandojn al kompili kaj kuri miaj programoj - tio
estas, por fari kaj kuri miaj programoj.
>> Do ni komencu simpla.
Permesu al mi iri al dosiero: Savu.
Mi tuj iros antaŭen kaj iru en jharvard.
Do la aparato, sendepende de kio via nomo estas, apartenas al ulo nomata
John Harvard, kiu havas jharvard hejmo katalogo ene de kiu ĉiuj de viaj
dosieroj iros.
Estas via propra kopio de sia konto, tial ni ne estas ĉiuj interŝanĝo
la sama malmola disko.
Vi nur havas la iluzion de John Harvard propra.
>> Anticipe, mi vere instalita Dropbox.
La aparato venas preprepared kun Dropbox tiel ke se iu iras malbone
dum la semestro, se vi havas agordi vian aparaton kun libera
Dropbox konton, ĉiuj de viaj dosieroj estos estos aŭtomate asist do vi
povas tre facile forprenis ilin.
Kaj mi tuj iros en mian Dropbox dosierujo, kaj tie estas jam tuj
esti paro aliaj aferoj.
>> Sed mi tuj iros antaŭen kaj iru al dosiero: Savu.
Mi tuj iros en jharvard, Dropbox, kaj ĝis ĉi tie, mi tuj
donas mian programon super simpla nomo, hello.c, kaj poste konservu.
Do mi havas la saman interfacon nun.
La sola afero, kiun oni ŝanĝis estas la langeton supre supro.
Do mi tre rapide tuj amuzi tiu programo de la
glitas antaŭ momento.
>> Do en main (void), kaj tiam printf, "Saluton, mondo," iom kamufla
backslash n, proksime citaĵo, fermi parentezo, punktokomo, kaj
tiam Ctrl S savi.
Kaj avizo kiel flanken kio ĵus aperis tie sur la supro maldekstro.
Kaj tio ne estas utila hodiaŭ, sed estos utila tempo.
Vi nur vidi, denove, resumo de la kodo kiun vi skribis.
Kaj ĉar mi skribis ion nomatan ĉefa, jen kial la vorto ĉefa pusxis
super tie.
Sed plejparte, ni Ne necesas, ke hodiaŭ.
>> Bone, do mi asertas ke ĉi tiu estas mia unua programo skribita en programado
lingvo nomas C. Ni scias de vendredo ke kion ĉi afero tuj faros
tre uninterestingly kiam mi kuri estas ĝuste montri -
en aliaj vortoj, presi, kiel komputilo sciencisto dirus -
saluton mondo sur la ekrano.
Do fari tion, vi rimarkos ke mi devas malsupreniri tien por mia fina stacio
fenestro, kaj nun mi havas oni palpebrumante prompto.
Sed tio estas nun klavaro versio de mia John Harvard hejma dosierujo.
Estas klavaro maniero per kiu por navigi mia malmola disko.
>> Do mi ne povas efektive tajpi kiel mi faris pasintsemajne fari saluton, ĉar estas
tuj diros neniu regulo por fari celo -
io estas malĝusta.
Mi ne tute scias, kion tiu mesaĝo rimedoj, sed ke estas ĉar implicite,
kiam tiu nigra-blanka fenestro estas malfermita, mi estas ene de John Harvard
hejma dosierujo.
Sed kien mi savos tiun programon?
En mia Dropbox dosierujo.
>> Nun, ni ĉiuj jam elkreskis kune kun komputiloj kie vi ĵus duobla klaku
sur dosierujo la ikono, ĝi malfermas, kaj voilà.
Tie estas kie la dosiero nomata hello.c estus.
Do fakte, ni faros.
>> Lasu min antaŭeniri kaj minimumigi gedit kiel vi tajpus ĝin
Windows aŭ Mac OS.
Permesu al mi iri en la Ĉefpaĝo dosierujo ĉe supro maldekstro.
Mi vidos tie faskon da dosierujoj.
Jen mia Dropbox dosierujo.
La checkmarks signifas ĝi estas estinta synced.
Kaj estas kelkaj aferoj en ĉi tie, sed rimarki ke hello.c estas
ja rajtas tie.
>> Kaj tiel en Mac OS aŭ Vindozo, kutime, Mi duoble klaku tio, malfermas en
kion ajn programon, kaj mi bone iri.
Sed nun, almenaŭ ekde hodiaŭ, ni bezonas paŝon malantaŭen nur por
doni al vi kelkajn bazajn ilojn por via ilo kit kun kiu fari pli
potenca aĵoj antaŭ longe.
>> Do en ĉi tiu invito, mi devas fari la ekvivalento de duobla alklako la
Dropbox dosierujo.
Kaj fari tion, mi tuj tajpi KD por ŝanĝi dosierujon, Dropbox, eniru.
Kaj nun rimarkas la parentezoj miaj tn prompto nun diras ke mi estas en
supersigno, la eta squiggly simbolon supre maldekstre de
plej klavaroj, / Dropbox.
Ĉi tio estas nur stenografio skribmaniero por dirante homa, vi nun ene de
la Dropbox dosierujo, same kiel se vi estis duobla klakis sur ĝi.
>> Do nun, se mi iras antaŭen kaj tajpu fari saluton, eniru, mi vidas tre kamufla
komando, sed ne erarmesagxon, ĝi similas, kaj poste
alia palpebrumante prompto.
Kaj se vi memoras, iam tiel rapide Vendredon, ni faris tion ĉi. . / Saluton.
>> Kio vi estas, por vidi estas la rezulto de miaj kurante tiun programon, aŭ, en Mac
VIN kaj PC terminoj, se mi estus normale duobligi alklaku programo - al. app
programo aŭ al. exe, ĝi malfermiĝas fenestro kaj kuras.
Tajpi. / Saluton estas ĝuste kiel duobla klakante programon por ruli ĝin, sed
uzante mia klavaro.
>> Enter, saluton mondo.
Kaj tio estas ĝi.
Do ni turmentus tiu sola, por tiel ne sentas tro kiel greko.
>> Do. / Signifas kion?
Ĉiu kiu estas iam kapturna klavaro medio kiel tiu, kio estas skalara
raportante al?
La nuna dosierujo.
>> Do la nuna dosierujo estas nur sinonimo por dosierujo.
Tiel dirante dot oblikvo, mi diras, serĉi programo nomata saluton en la
aktuala dosierujo -
en la aktuala dosierujo.
Alivorte, mia Dropbox dosierujo.
Kaj tio estas kial batoj Entajpu poste vere kuras tiu programo.
>> Se mi nun tipo LS, rimarki ke mi vidas ĉio en mia Dropbox dosierujo.
Ricevi Started.pdf, kiu Dropbox donas al vi libera, miaj fotoj
katalogo, publika dosierujo, Ne konservitaj Dokumento 1 kiujn mi faris por eraro estas
antaŭ momento, foo.c, kiujn mi faris antaŭe hodiaŭ, kaj poste du linioj -
hello.c kaj saluton.
>> Hello.c estas la programo mi skribis kun gedit, kaj kio estas saluton en verdo?
La saluton en verdo estas la plenumebla.
En aliaj vortoj, kiam mi kuris ĉi komando antaŭ momento - lasu min ruliĝi
reen al tempo -
kiam mi kuris fari saluton, jen la meza ŝtupo tie.
Kaj prenis hello.c kiel eniro -
AKA fontkodo - kaj produktis dosiero nomata saluton kiel eliro, kiu
enhavas ĉiujn de tiuj nuloj kaj.
Kaj tial, en la fino, mi povos fakte kuri ordonon. / saluton.
Pro Intel Inside, mia mastruma sistemo, Linukso, malfermas nulojn
kaj tiuj, nutras ilin en la cerbon de mia komputilo -
la CPU -
kaj tiu CPU scias, ho, tie estas ŝablono de nuloj kaj kiu diras
presi la sekva en la ekrano.
>> Kio estas la jena afero?
Citi unquote, "saluton mondo."
>> Bone, do rapida resumo de kelkaj tiujn ordonojn, por ke ni povas komenci
portante ilin por sentado.
Lasu min salti antaŭeniris kie ni lasis.
Kaj vi memoras ke ni havis KD en nia malantaŭa fini antaŭ momento.
Tio estas, mi kuraĝas diri, ĉar hodiaŭa celoj -
eble tiu semajno - la sola komandoj ni eble bezonas por tajpi en la komando
instigas krom fari.
>> Do KD staris por kio?
Ŝanĝi dosierujo.
Estas nur la ekvivalento de duobla klaki sur dosierujo.
Kaj kiel flanken, se vi ricevas perdis iam ene de via
aparato, tia ke Dropbox -
Mi volas reiri al mia jharvard directory -
kiam en dubo, KD, eniri, sen alia vortojn, kaj tio nur zips vin
al kie vi komencis, kiu Estas belan ŝparvojo.
>> Bone, do nun aliaj komandoj.
LS.
Mi tajpis, ke antaŭ momento.
Kion vi pensas LS signifas?
>> Do, lerta, ĉu ne?
Back en la tago, kiam homoj venis kun tiuj ordonoj, ili
estis klopodante esti efika, kaj sufiĉe tajpi el L-mi-S-T eniras, ili
decidis LS.
Tio estas bone.
Ĝi sonas sufiĉe kiel listo.
Ni simple tipo LS eniros, kaj ke listigas la dosierojn aŭ dosierujojn en mia
aktuala dosierujo.
>> mkdir, vi probable povas diveni.
Faru dosierujo.
Do vi ne iras al iu dosiero kaj menuo elekti novan dosierujon en tiu medio.
Pli ĝuste, vi tajpu la komandon mkdir spaco kaj tiam la nomo de la dosierujo
ke vi volas krei, kaj tio estos farita.
>> rm, vi probable povas diveni.
Forigi aŭ forigi.
Do se vi volas forigi dosieron, vi vidi en la problemo aro kiel vi
povas fari ĉi tion.
Kaj RMDIR, forigu dosierujo.
>> Do, denove, mi emas flugi tra iu de tiuj detaloj, unu, ĉar
ili ne estas ĉiuj kiuj multe amuze pasigi tiam, sed du, ni provizos vin en
multe pli detale en iu el la Kompreneble la problemo aroj, aparte
la normo eldonoj, neniun el la ŝtupoj ke vi eble bezonas tajpi tiel
ke vi ricevas pli kaj pli comfy kun tio.
>> Sed nun permesu al mi turmentus aparte unu alia afero.
Kiam ni tajpis fari saluton antaŭ momento, ni vidis kamufla sekvenco de ordonoj.
Ni vidis, denove, fari saluton.
Bone, ni faru tion.
Mi volis fari eraron, sed [Inaudibles] nun agnoskas mi volis
kaj agu intence.
>> Kion mi faras maljustecon ĝuste nun?
Jes, do mi ne estas en la Dropbox dosierujo, ĉar antaŭ momento mi
tajpitaj KD kaj ĝuste batis eniri.
Tio zomita min al kie mi komencis, kio ne estas kie mia dosieron
estas, do mi vere bezonas fari KD Dropbox eniri, kaj nun mi povas fari rm saluton
eniri, forigu regula dosiero saluton.
Mi ne scias kial estas tiel kamufla.
Tio simple signifas ĉu vi certas vi volas forigi saluton?
Vi povas tajpi y por jes, eniri, kaj nun ĝi estas for.
>> Kaj nun se mi tajpas fari saluton denove, ĝi estas tuj rekrei mia celkodo,
amuzi tiujn nuloj kaj.
Sed kio estas la interkonsento kun tiun tre longe ordonas?
Nu, ni turmentus tiu aparte antaŭ longe, sed fari -
Mi rakontis al iom de blanka kuŝas antaŭe -
ne estas tradukilo.
Make estas programo kiu aŭtomate figuroj, kiel eblas ekzekuti
tradukilo por vi.
>> Do la ordono, ke vi vere devus esti kurante por konverti hello.c
en saluton efektive aspektas iom pli kiel ĉi tio.
Kaj Dio gardu ni devas reale memori iam tajpi ke tutaj
vico de ordonoj eksteren.
La celo de fari en la vivo estas memoru, ke grado de komplekseco por
ni kaj aŭtomatigi kion farus alie esti tre teda paŝoj.
>> Sed mi povas proksimigi tio.
Do por tiu malgranda cheat folio ĉi tie, mi povas proksimigi kion tiu komando estas
faras per simple tajpante clang, kiu estas la nomo de la tradukilo ni estos
uzante ĉi semestro.
Se iu el vi iam ajn farita IOS disvolviĝo por la iPhone aŭ iPad,
Clang estas la programo vi uzis ene Xcode fari vian apps.
Clang, tamen, estas nur alia programo kies nomon oni povas tajpi la komandon
instigas, kaj por enkonduki ĉi nun, Mi povas prezenti iun kiu estas
iom reprezenta de komandoj venonta.
Do lasu min fari tion permane.
>> Do rm saluton, kaj nun rimarkas en kazo Mi, same kiel prudento kontroli -
. / Saluton, kion vi opinias min devus vidi se mi faras tion?
Ia eraro.
Neniu tia dosierujo.
Tiel ke oni fakte sufiĉe rekta.
>> Do nun lasu min liberigi la ekrano.
Kontrolo S apenaŭ tuŝetas la ekrano forigi iuj distroj.
Kaj nun mi tuj permane tipo clang-o saluton hello.c.
Do kio estas tio celas fari?
Ĝuste la samon kiuj faris por ni, sed mi ne forĵetu kelkaj el
la superfluaj vortoj.
>> Clang estas la programo kiu tuj preni. c dosiero enigo kaj produkti
nuloj kaj kiel eliro.
Sed-o plu nomos ŝaltilo aŭ flagon.
Ĉi tio estas nur techie slango por diri ĉi tiu estas vorto vi tajpas en prompto
ke iel influas la konduton de la programo, ke vi uzas.
Do ĉu iu volas diveni kio-o transdonas?
>> Eligo.
Estas nur ke iu decidis-o signifas eligo dosiero nomata saluton kaj preni kiel
enigo ajn estas la lasta vorto en la prompt estas, hello.c, tiel ke se mi batas
Eniru nun, nenio ŝajnas okazi.
Kaj strange sufiĉe, en ĉi tiu mondo de programado, se nenio okazas,
tio estas probable bona afero ĉar ne estas eraro
mesaĝo sur la ekrano.
Saluton, Enter.
Mia programo nun kuras.
>> Sed mi povas fari stulta iom aĵojn kiel ĉi. clang-o, hihihi, hello.c,
eniri, kaj nun mi havas identan programo nomata hihihi.
Ĝi kondutas la sama, sed la nomo estas malsama.
>> Do ĉi tiu estas nur diri ke se vi volas influi la konduton de
programo, ni tuj ĉiufoje vidi tion nomis
komandlinio argumentoj.
Tiu estas linio.
Vi tajpas komandojn.
Ergo, komandlinio.
Kaj komandlinio argumentoj estas nur vortoj aŭ malgrandaj pecoj de sintakso ke
iel influi la konduton de programoj kiuj ni kuras.
>> Bone, ke estas eble la plej enuiga programo ni povas skribi kaj vidu.
Ni nun faru ion pli interesa.
Lasu min antaŭeniri kaj krei novan dosieron.
Mi tuj iros antaŭen kaj savi tion en John Harvard hejma dosierujo kiel,
ni nomas ĝin custom.c, esti iom kutimo programo.
Mi tuj zomi ĉe mia supro de la langetoj tie kaj komenci denove.
>> Inkluzivi normo stdio.h.
Pli sur kiuj en momento.
int main (void), pli en kiu tre frue.
printf ("Saluton, Davido").
Multe pli interesa, ĉu ne?
>> Do nun se - ne pro mia nomo, nur ĉar ĝi estas malsamaj -
fari kutimo eniri.
Kutimo, saluton, David.
Sed eĉ tio, ankaŭ, estas blanka mensogo.
Ĉi tiu programo povus tiel nomi david.c, ĉar ĝi ne estas kutimo
konduto je ĉiu.
Vere, mi volas programo kiu demandas la uzanto por sia nomo.
>> Do kiel mi faru tion?
Nu, lasu min rulumi supren super tie.
Kaj antaŭ mi uzas deklaron en Nulo, antaŭ ol mi uzas printf,
alie sciata kiel funkcio, lasu min unue demandi la uzanto por iu enigo.
>> Do fari tion, mi bezonas fari kelkajn aferojn.
Unu, mi bezonas lokon por stoki la uzanto enoficigi post kiam mi petis lin aŭ
sxi por tio.
Kio konstruo mi bezonas uzi probable stoki valoro tiel?
Al variablo.
>> Do kontraste Scratch, kie vi ĵus ricevas bela puzlo peco, tie, ni devas
uzi, evidente, vortoj esprimi nin.
Kaj nun, iam ajn vi volas vorton aŭ frazon, en programado,
Ni tuj nomas ŝnureto.
Do cxeno estas vorto aŭ frazo.
Ĝi estas vico de nulo aŭ pli karakterojn, pli formale.
>> Kaj se vi volas tian variablon al ekzistas, vi devas diri al mi unu.
Kaj la vojo, per kiu vi faras tio estas diru string s punktokomo, kie s povas esti
kion ajn vi volas.
Fakte, s estas iom underwhelming.
Lasu min antaŭeniri kaj pli klare nomas ĝin nomo.
Donu al mi ŝnuro nomita nomo.
>> Sed nun, kio estas la persono nomo implicite?
Nu, se la homa ne tajpas ion en, evidente, ne okazas
esti neniu valoro en nomo.
Kaj rezultas en C, se vi ne donas variablo valoron, ĝi tuj
havi rubo valoro.
Ĝi havu iom hazarda nuloj kaj karaj, do vi nur tuj vidos
rubo, vere, sur la ekrano se vi provas vidigi ĝin.
>> Sed mi povas ripari tiun dirante, vere, vendejo ene de nomo de la
post valoro.
La vojo vi stoki valorojn en variabloj estas se vi havas variablo nomon sur la
lasis, vi devas iel meti kion vi volas konservi en ĝi en la dekstra, kaj
la sintakson por ke tuj esti kiel sekvas.
>> Ni ne vidis ĉi tion antaŭe, sed prenu sur fido dum momento, ke
Ekzistas alia aserto en la mondo ke mi tuj denove nomas funkcion,
kaj ĉi tiu funkcio estas vokis akiri kordo.
Kaj ĝi faras laŭvorte tio.
Ĝi iel ricevas vico de signoj de la homaj kaj poste
faras ion per ĝi.
>> Kaj ĉi tio aspektas kiel kamufla sintakso.
Kutime, se vi uzas egala signoj - vi estas en la mondo de, ekzemple,
algebro, kaj vi estas vere dirante x egalas 1.
Ĉi tie ni ne diras ke nomo egalas atingi ŝnuron.
Ni dirante vendejo en nomo kio estas ĉe la dekstra flanko
de tiu signo de egaleco.
La egala signo reprezentas la atribuo operatoro.
Ĝi estas la sintakso kiu diras metis kio estas sur la dekstra flanko ene kio estas
maldekstre.
Do get kordo estas nova peco de funkciojn kiuj ne nur faras
io -
demandas la uzanto por ĉenon -
ĝi ankaŭ revenas, por tiel diri.
>> Do ni vidu kio okazas okazi tie.
Mi tuj iros antaŭen nun kaj malzomi, kaj mi tuj alvenos kelkaj
erarojn en mia prompto.
Mi tuj tajpi fari kutimon, eniru.
Wow.
Tuta aro da eraroj.
>> Bone, do ĉi tiu estas speco de blindiga, verŝajne al la komenco, sed
rezultas ĉiuj tiuj tre Certe kamufla erarmesaĝoj estas
raportante al iuj ŝablonoj kiuj ni komencas vidi la tempo.
Do ĉi tiu mi desxiri for, ĉar ĝi estas unua.
Uzo de nedeklarita ensalutilo kordo.
>> Tio nur signifas ke gedit aux Clang, en ĉi tiu kazo, ne scias
kion mi celas per ŝnuro.
Kaj tio estas ĉar en C, la programado lingvo, ekzistas efektive
neniu variablo de tipo kordo.
C ne scias, ke kordoj ekzisti.
>> Sed ni, CS50 bastonon, faru.
Kaj tiel anticipe de klaso, ni kreis dosieron nomata CS50.h.
Kaj ene de ĉi tiu dosiero - kaj pli en la sintakso veni -
ene de ĉi tiu dosiero estas difino de kio mi nur difinis
parole kiel linio.
Do simple finante ĉi tiu linio de kodo en mia programo, mi jam
instruado gedit kaj faru kaj Clang ĉiuj laŭvice kion cxeno estas.
>> Mi ne scias, kiel ankoraŭ.
Post kelkaj semajnoj, ni instruos vin senŝeligi dorso kiu tavolo.
Sed nuntempe, scias ke tiu instruas la tradukilo kio
kordo reale estas.
>> Do nun lasu min klarigi mian fina stacio cxi tie.
Permesu al mi re-kuri fari kutimo, kaj mi solvis ĉiujn el tiuj problemoj.
Do tiu, tro, tuj esti _recurring_ temo.
Mi nur skribis 9 linio programo, kaj tamen mi havis 18 linioj de eraroj.
Tio estas speco de intimidándolos.
Sed komprenu ke ili ofte akvofalo tiaj ke unu malgranda eraro pafas
la konfuzon por la tradukilo, kaj ĝi aspektas multe pli malbone ol ĝi estas.
>> Do nun ruza observanto scios ke mi ricevas ĉenon de la
uzanto, sed mi ne vere fari kion kun ĝi?
Mi ne vere faras ion per ĝi.
Do, se mi efektive kuri kutimo denove, ĝi tuj nur sidas tie.
Kio okazas?
Mia programo ŝajnas esti algluis kio linio, vi dirus?
>> Do ĝi estas fakte metitaj en linion 7.
Kaj ni ne vidis tiun antaŭe, sed en linio 7, estas, denove, ĉi
deklaro, atingi ŝnuron.
Kaj ĝi faras kion ĝi diras.
Oni atendas nun por la homa preni la kordo.
Tio estas tute unintuitive al mi, la homo, ĉar mi ne rakontis
kion fari.
>> Sed permesu al mi iri antaŭen je kredo kaj lasu min ŝajnigi esti Rob.
Eniru.
Tio ne estas la programo mi intencis.
Do ni havas nian unuan blogo.
>> Sed ni provu rezoni tra kial tiu estas la kazo.
Unue, lasu min korekti tiun unuan problemon.
Mi aldonu linion tie kiu diras printf, kio estas via nomo?
Ni nur faru proksime citaĵo, fermi parentezo.
>> Nun mi denove ruli la programon.
Problemo.
Mi ne vidas tion.
>> Ĝuste.
Mi ne recompilar ĝin.
Do en lingvo kiel C, ĉar vi ŝanĝi la fontkodon ne signifas
ke vi ŝanĝis vian celon kodo por generi novan kodon kontestas,
nova nuloj kaj.
Vi devas recompilar.
Se mi nun re-kuri kutimo, eniri, ah, iom pli klara.
Mia nomo estas Rob.
Ankoraŭ kalesxo.
>> Kaj mi volas argumenti ekzistas paro erarojn nun.
Ĉi nur aspektas malbelega, sincere.
Kiel, minimume, mi devus havi spaco tie, aŭ movi la
kursoron al la nova linio.
>> Kaj vere, novan linion.
Tio estas speco de klavo frazo tie ni vidis sed ne difinita.
La maniero en kiu vi ricevas teksto movi sur la sekva linio,
vi ne faras tion.
Ĉi tio estas malklara al la komputilo.
Ĉi aspektas kiel du apartaj linioj de kodo, nek el kiuj
estas perfekte ĝustaj.
Vi anstataŭ esti pli eksplicita kaj diri, donu al mi novan linion, kiun ni
reprezenti en c kun backslash n.
>> Do tie estas kelkaj tiaj karakteroj.
Backslash n fiksos tiu estetiko.
Lasu min recompilar mia programo.
Permesu al mi re-kuros mia programo.
>> Ĉi aspektas pli bone.
Ĝi estas ankoraŭ sufiĉe primitiva, sed estas ankaŭ ankoraŭ kalesxo.
Do ekzistas unu -
eĉ se vi neniam planis antaŭ, vi versxajne povas preni konjekton
ĉe kial tiu programo estas ankoraŭ misa.
Kion mi devas fari tion Mi ne faris ankoraŭ?
>> Do mi devas efektive plenumi io kun nomo.
Same kiel en nulo, vi povus reale asigni variablo kiel n aŭ
kontraŭstari kiel ni faris lastan semajno - valoro.
Sed se vi ne faru ion kun ĝi, nenio okazos.
>> Bone, do ni ripari.
Permesu al mi tajpas mian variablo tie, kaj mi iros tien.
Lasu min recompilar, lasu min ripeto, Rob.
Nun mi estas nur idioto, ĉu ne?
>> Do tiu estas ne vere atingi min plu.
Sed tio estis tute natura instinkto, mi argumentas, ĉu ne?
Se la variablo estas nomita nomo, kaj mi volas iri tien, kial ne mi nur
tajpu ĝin tie?
>> Nu, kompreneble, ni havas distingi nun
inter kio estas kordo?
Rimarku, ke citaĵo unquote ĉi tie, saluton nomo?
Gxuste tio fakte mem estas ĉeno.
Ĝi estas malmola kodita.
Ĝi estas ne de la homo.
Ĝi estas de mi, la originala programisto, sed ankoraŭ ĉenon.
>> Do se vi laŭvorte skribi N-Al-M-Kaj ene de kordo, kio okazas al
akiri presita?
Nu, N-Al-M-E. Ni anstataŭ bezonas por diri al printf, ne presi
el laŭvorte enoficigi.
Elprinti la valoro de nomo.
>> Kaj fari tion, ni faros la sekvajn.
Kaj tio estas nur homa konvencio.
Ni anstataŭ diri% s, kaj ke staras por linio.
Kaj poste fine de miaj proksimaj citaĵoj, Mi tuj metos komon kaj
pasi dua argumento en tiu deklaro.
Mi tuj tajpi nomon.
>> Do nun rimarkas ke ni havas iomete nova sintakso.
Ni havas ankoraŭ du krampoj, kaj nun lasu min diri ke la aĵoj
inter krampoj reprezentas argumentoj en funkcio -
enigoj, kiuj estas iel tuj por influi lian konduton.
Do per tiu logiko, kiom da argumentoj ne printf ŝajnas esti
prenante en ĉi tiu momento?
>> Do ŝajnas esti prenante du, kaj tio ja implicis
per la komo ĉi tie.
Do tiu estas unu argumento en inter citiloj.
Kvankam ĝi havas komo en ĝi, ĉio estas en citiloj, kiu signifas
ĝi estas longa ĉeno.
Komo, nomo de la variablo.
>> Do nun mi malzomi.
Permesu al mi re-ruli ĝin.
Rob.
Damn it, kion mi faras malbone?
>> Bone, do vi devas recompilar.
Do denove, facila erarojn fari frue denove kaj denove.
Do nun denove kuri kutimo, Rob, eniros, kaj voilà.
Ni nun havas kutimon programo.
>> Do mi nun havas programon kiu uzante kelkajn trajtojn
ke estas interese observi.
Unu, Mi uzas CS50.h, alie konata kiel la CS50 biblioteko.
Kaj ene de la CS50 biblioteko estas funkcioj, ke aliaj homoj skribis -
nome la bastonon -
por vi uzi, kaj akiri linio estas unu el ili.
>> Ene de linio 2 estas stdio.h, kaj kial estas ĉi tie?
Prenu konjekton.
Kio ekzistas ene de norma IO patro?
Printf.
Do printf, vi ne vidas ĝin ie alie en la ekrano.
Ĝi devas veni kun la komputilo iel.
Kie ĝi venas?
Ĝi estas interne - ĝi estas deklarita, por tiel diri, interne de
dosiero nomata stdio.h.
>> Nun, cxar cxi materialon, ni revenos por eventuale, ĉar ĝi estas iom
distrante por nun.
Tiu raportas al nia reveno tipo.
Tiu raportas al argumento.
Sed por hodiaŭ, ni enfokusigis nur tie sur tiuj linioj.
>> Do string nomo, nur por recap, Kion tio do por mi?
Do ĝi deklaris variablo de tipo kordo.
Do ĝi estas signifis esti por vortoj, ne por nombroj.
Ĝuste kiel flanken, se mi faris volas ĝin esti nombro, mi dirus
iu kiel int.
Se mi volis esti glitpunktaj valoro, iun kun dekuma punkto,
Mi dirus flosas.
Sed por hodiaŭ, mi ĵus diris kordo.
>> Kaj Mi donos ĉi tiun variablon nomo de nomo, sed mi povis
nomis ĝin nenion.
Fakte, origine, mi nomis ĝin S.
>> Ĉi tie estas nur alia aserto.
Kiom da argumentoj estas ĉi deklaro prenante?
Do ĝi estas simple preni unu, kaj ke estas simple estetika detalo de
montri iun sur la ekrano al mi.
Kio estas tiu linio 8 faranta en lego la terminoj?
>> Ĝi estas prenanta valoron de la uzanto - nome, ŝnureto -
kaj kio ĝi faras per ĝi?
Ĝi estas esence cedi ŝin al la ulo sur la maldekstra flanko de la
egala signo tiel ke en tiu kazo, la nomo variabloj povas fakte stoki ĝin.
>> Kaj tiam printf estas alia Ekzemple de funkcio.
Kaj ni diras nomi funkcio.
Uzi funkcio estas nomi funkcio.
Tiu afero ŝajne prenas du argumentojn.
Ĉi tiu, komo, ĉi tiu.
>> Ĉi tiu mem estas nur ĉeno kiu enhavas lokokupilo.
% S per meti alian kordo tie.
Kaj tiel metante nomon post la komo, tio enmeto
ke afero por mi.
>> Do mi povas fari aliajn aferojn ankoraŭ.
Lasu min nun kaj faros iom de stulta programo, sed lasu min forigi tiun,
kaj lasu min krei buklon.
Dum vera.
La simbolo vera estas evidente ĉiam tuj estos vera.
Do kia buklo mi indukti per skribanta linion tiel?
>> Do senfina ciklo, ĉu ne?
Nur dum vera.
Ne estas maniero mi povas ŝanĝi la vorton vera esti io alia, do ĉi tiu estas
nur tuj kuri eterne.
Do, se vi iam vere havis programon en via Mac aŭ PC kiu ŝajnas
esti enfermita, aŭ ĝi estas faranta io kaj io, kaj vi nur
ne povas atingi la afero quit krom se vi restartu vian komputilon aŭ elsxiros
Taskoj Direktisto aŭ similaj, jen tia ekzemplo.
>> Mi povas diri, "I am a buggy programo." Fermi citaĵo, fermi
parentezo, punktokomo.
Do denove, rimarki la ŝablonoj.
Kvankam kelkaj el niaj sintakso estas nova, la ŝlosilvorto dum, la ŝlosilvorto vera,
Rimarku ke mi havas la saman speco de frizita krampoj.
Mi havas punktokomo kaj krampoj.
>> Do nun ni iru antaŭen kaj kompili ĉi.
Faru kutimo, kutimo.
Do, je tiu punkto, vi ne bezonas restartu vian aparaton, ĉiuj rajtas?
Do la facila leciono tie estas kun du fingroj, Kontrolo C,
ni quit tiu programo.
Sed vi povas vidi ĝuste kial tiu afero Estis ripetante denove kaj denove.
>> Mi povas fari iu iom pli kompleksa kiel teaser.
Mi tuj iros antaŭen kaj diri la sekvajn.
Por int, kiu estas entjero, i estas nur ĝenerala nomo ni donos al pli
variabloj en programado kiam vi estas nur rakonti, egalas 0.
Lasu min kaj diru dum i estas, diru, malpli ol 100, i plus plus.
Ni apogi al ĉi tiu sintakso, sed tiu nur signifas
pliigo i denove kaj denove.
>> Kaj kion mi volas fari tie?
Printf ", mi povas rakonti al i." Tio ĉi estas kalesxon programo.
Kion mi vere celas ĉi tie?
>> Elcento ne s, sed vi ne divenas ĉi. % D estas dekuma entjero.
Komo i.
Lasu min ruliĝi dorso.
>> Permesu al mi recompilar kun fari.
Permesu al mi rerun kun kutimo.
Mi povas kalkuli vere malbenita rapida kiam Mi skribos programon kiel ĉi tio.
>> Nun ni faru ion iom intenca.
Kion pri ni faru ĉi tion dum i estas pli granda ol aŭ egala al 0.
Kio ĉi tuj indukti?
Do logike, tiu ne estas tiel saĝa, ĉar nun, se mi rerun tio, rakonti,
Mi povas nun kalkuli vere, vere alta.
Bedaŭrinde, proksimume tiel alta kiel mi povas grafo estas 4 miliardoj, do ĉi tiu tuj
preni momenton.
>> Do kial ni ne lasi tion kiel nia cliffhanger, promesante ke sur
Merkredo, ni vidos se tiu programo estas farita.
Du, ni devos enkonduki kiel vi mem skribu vian propran funkcion tiel ke tre
rapide, por merkredon, ni instruos vin, kiel ni transiro de Scratch en C, starti
skribi iam pli kompleksa programoj kiuj faras multe,
multe pli ol tio.
Ni vidos vin tiam.
>> [Aplaŭdo]
>> Parolanto 1: En la sekvanta CS50, Puzlo Tago estis sukceso.