>> LUCAS FREITAS: OK, ek dink nou is ons lewe.
Welkom by CS50 Supersection.
Ons is minder gemaklik.
My naam is Lucas Freitas.
Ek is een CS50 Hoof TFS.
Dit is Lauren.
>> LAUREN CARVALHO: Hi, ek is Lauren.
Ek is ook Hoof TF vir CS50.
>> LUCAS FREITAS: Vandag is ons net gaan 'n oorsig van wat alles wat jy te gee
ouens het in week een geleer het, hopelik gee julle 'n goeie
sin wat jy moet weet vir die probleem stel een.
>> Net 'n paar aankondigings.
Eerste van alles, kantoorure.
Kantoorure gebeur vanaf Maandag tot Donderdag in verskillende huise in
Annenberg elke dag.
Hulle is 'n baie goeie hulpbron vir jou ouens om te kom en om vrae te vra, en
praat TFS, en selfs ruil idees met ander studente.
So seker wees dat hulpbron te gebruik in jou guns.
>> Die tweede ding is die CS50 toestel.
Vir die laaste [onhoorbaar]
julle ouens het nie eintlik 'n toestel.
Jy het net alles in jou persoonlike rekenaar.
Maar vir hierdie probleem, kan jy eintlik 'n virtuele masjien te hê, so wees
Maak seker dat die CS50 te laai Toestel en dit stel.
>> En die derde ding is seker wees om te begin om die probleem so gou as moontlik stel net
want dit is baie makliker om te vind help wanneer jy in die
die begin van die week.
Omdat mense geneig is om te wag totdat die laaste sekonde van die probleem stel om te begin,
en dan gaan jy na kantoorure, en daar is 'n klomp mense.
Waar as jy gaan op Maandag, gaan jy om te sien dat jy kan praat TFS
pretty much vir die hele nag, en hulle gaan wees meer as
gelukkig om jou te help.
>> LAUREN CARVALHO: Kan ek net ophou jy vir net een sekonde?
Het almal in staat was om af te laai die CS50 toestel?
Het mense probeer?
>> LUCAS FREITAS: af te laai, deur die Sodoende kan jy die instruksies op
cs50.net/appliance.
>> LAUREN CARVALHO: Right.
En dit neem 'n rukkie vir ons sys bestuurders om jou te kry om 'n lisensie
sleutel, so teken vir die gratis verhoor eerste.
Op dié manier sal jy dit vir 30 dae, en dan wag vir jou lisensie sleutel
wat dit behoort te gee aan u vir 'n jaar.
>> LUCAS FREITAS: Eerste van alles, Kom ons praat 'n bietjie
oor die CS50 toestel.
Die CS50 toestel is eintlik 'n virtuele masjien wat jy gaan
hardloop in jou eie rekenaar wat basies hardloop 'n ander rekenaar
binne jou eie rekenaar.
Wat is pretty cool.
En eintlik is dit oral gebruik.
Mense wat aan tegnologie sou weet dat dit gebruik word om al die tyd.
jy?
Kan verskeie rekenaars in een toestel.
>> Kom ons eintlik 'n blik op die toestel.
Wanneer jy na die toestel na registreer, gaan jy te hê
sit jou naam en teken in by Harvard sodat ons dit kan jy al geregistreer.
Jy gaan basies sien net 'n agtergrond, en dan huis toe en asblik,
en dan hierdie klein ikone.
Hierdie drie ikone is eintlik die mees belangrike dinge wat jy kan hê in
jou toestel.
>> Die eerste een is gedit, wat is 'n teks redakteur, net soos Notepad of soos
enige vorm van teks editor.
Dit is net iets wat ons gebruik om te skryf kode en dan doen dinge met dit.
>> Die tweede ding wat ons hier is Chrome.
So as jy nodig het om die internet te gebruik in die toestel, wat
wat jy kan gebruik.
>> En die derde ding is die terminale, wat is eintlik baie soet.
Mense is gewoonlik soort van bang die terminale, want dit is hierdie baie
outydse aansoek waarin jy basies net tik alles met
u sleutelbord.
Daar is nie 'n baie interaksie met jou muis.
Maar eintlik die terminale doen baie goeie dinge.
>> Eerste van alles, laat ons gaan net deur sommige opdragte wat jy
kan gebruik in die terminale.
>> LAUREN CARVALHO: En voel vry om te stop ons as jy enige vrae het.
>> LUCAS FREITAS: Ja.
Dus is die eerste gebod dat ons vir die terminale is LS.
LS beteken basies lys alles, al die lêers en al die direkteure,
dat ek by die plek wat ek by.
So as ek dit doen LS hier, ek gaan om te sien dat ek 'n paar dopgehou.
Ek het die lessenaar, die downloads, die logs, en die vhosts.
Dit is blou omdat hulle is al dopgehou.
>> Dan moet jy nog 'n paar ander lêers.
Jy het soos 'hallo en hello.c, wat is net lêers, en hulle is in
verskillende kleure.
So, dit is 'n baie belangrike opdrag net jy kan sien wat is die lêers
en dopgehou wat jy in die gids wat
jy by die eindpunt.
Wanneer jy sien jharvard @ apparaat en dan die klein simbool daar, die
tilde, wat beteken net dat dit is die gids wat jy op die oomblik.
>> LAUREN CARVALHO: So tik LS is byna soos kliek op die gids
Dit is reg daar gelys is, in dit toon jy al die inhoud wat
in die gids.
>> Publiek: Is daar teks na die hello.c?
>> LAUREN CARVALHO: O, jy kan nie sien dat, want dit is blou.
>> LUCAS FREITAS: Dit sê stompe en vhosts.
>> LAUREN CARVALHO: Dit is net ander dopgehou.
Ek is jammer, dit is werklik moeilik om te sien.
Miskien as ons het die ligte af?
Colton, het jy nie wil om te probeer en vind die lig skakelaar?
Jammer oor dit.
Ek het nie gedink nie.
>> LUCAS FREITAS: Maar dit is basies -
ja, as jy kan -
>> LAUREN CARVALHO: Zoom in jou skerm.
>> LUCAS FREITAS: Ek hou nie het dat die funksie.
>> LAUREN CARVALHO [onhoorbaar].
OK.
Wel, daar is net 'n baie natuurlike lig in hierdie kamer so goed.
>> LUCAS FREITAS: Kom ons aanvaar dat Daar is twee ander dopgehou daar.
>> LAUREN CARVALHO: Slegs saam met ons.
Dit is die enigste deel wat jy sal kyk na die terminale.
>> LUCAS FREITAS: Die volgende opdrag is basies dalk wil jy te organiseer
jou lêers -
byvoorbeeld al jou C-lêers in een Gids-maar jy het nie 'n
Gids net vir die C-lêers nie.
Jy kan basies 'n gids gebruik van die terminale, asook, wat
dieselfde ding as regs te klik en gesê: New Folder.
Die opdrag is om gids, wat is mkdir, so basies "maak" en
"Gids."
>> En dan kan jy die naam van die gids.
Kom ons sê dat ek wou genoem word, Ek weet nie, kom ons sê pset1 Doen
hierdie, ek het net 'n gids.
Kom ons kyk net dat dit daar is.
So as ek dit doen LS, nou sien ek logs, en dan pset1, en dan vhosts.
So ek het die nuwe gids is daar.
>> En dan nadat jy 'n nuwe gids, Miskien het jy wil om te navigeer
in dit, sodat die volgende opdrag hierdie CD, wat net basies beteken gaan na 'n
spesifieke gids.
So as ek wil om te gaan na pset1, Ek kan net nie CD pset1.
>> LAUREN CARVALHO: CD staan ​​vir verandering gids, [onhoorbaar] in staat te
onthou dat.
>> LUCAS FREITAS: En nou is jy sien dat in plaas van net 'jharvard
toestel, het ek jharvard toestel, en dan pset1, want dit is wat
my waar ek in hierdie rekenaar.
>> Nou as ek wil om terug te gaan na die gids wat was voor hierdie een, ek
kan 'n CD dot dot, wat net beteken gaan doen na die gids wat ek was voor,
soos die ouer van hierdie Gids, basies.
En nou sien ek dat ek Terug na jharvard.
>> Die volgende ding wat ek dit kan doen RM, wat is verwyder 'n lêer.
Byvoorbeeld, laat ons eers LS om te sien wat ek het hier.
Ek het hallo en hello.c.
Kom ons sê dat ek wil dit te verwyder.
Ek kan RM hallo doen.
Dit gaan om te sê "verwyder gewone lêer hallo? "En ek sê:" Ja. "En as ek nou
doen LS, ek sien dat dit nie daar nie.
>> As ek probeer om RM te gebruik vir 'n gids al is, is dit nie gaan
om jou te laat niks doen nie.
Dit gaan om te sê, hey, jy kan nie 'n gids verwyder.
So ons het hierdie ander kom genoem rmdir, wat net basies beteken
verwyder gids.
Ek kan, byvoorbeeld, verwyder pset1.
En as ek doen LS, ek doen nie het dit nie meer nie.
>> Enige vrae oor hierdie?
Nee?
Ja?
>> Publiek: Is dit belangrik dat jy laat 'n ruimte na - wanneer jy
begin tik iets in?
>> LUCAS FREITAS: Ja.
As ek dit doen graag CD en die gids, Ek het 'n ruimte te sit.
Wat ruimte praat jy?
>> LAUREN CARVALHO: Die spasie tussen CD en [onhoorbaar].
>> LUCAS FREITAS: Ja, jy sal hê om te sit die spasies omdat CD is die
opdrag, en dan is die volgende string wat jy tik is basies die gids.
So dit is soos om 'n argument.
Ja?
>> Publiek: Wanneer jy 'n lys van al daardie verskillende dopgehou, reg?
>> LUCAS FREITAS: Ja, hulle is in die gids.
>> Publiek: Wat is die verskille onder die dopgehou?
>> LUCAS FREITAS: Hulle is net verskillende dopgehou.
Gids is 'n gids in jou rekenaar.
>> Publiek: Open die gids.
>> LUCAS FREITAS: Ja, dit is net 'n oop gids.
>> LAUREN CARVALHO: hier, die kinders wat in blou is werklike
dopgehou wat jy kan kry in en dan sien 'n klomp van die dinge wat
binne daardie, dit is jammer want jy kan nie eintlik lees die
kinders in blou.
En die kinders met wit is net lêers wat in die huidige gids.
>> LUCAS FREITAS: So dopgehou is dopgehou.
Die ander kinders is lêers.
>> Publiek: Wat is die opdrag om dit te herstel of dit skoon te maak?
LUCAS FREITAS: Om duidelik?
LAUREN CARVALHO: Om duidelik?
LUCAS FREITAS: Ek dink dit is "duidelik nie." Ja.
So tik jy net duidelik of jou skerm is te slordig.
Enige ander vrae?
En jy sal 'n klomp van die ander leer beveel natuurlik net gedurende die
semester, want hulle is baie handig.
>> So nou laat ons praat oor die samestelling.
Ons het gepraat oor pseudokode en bron-kode en voorwerp-kode.
En daar is 'n baie van kodes, en miskien julle ouens is verward oor wat.
Kom ons praat 'n bietjie oor wat gebeur wanneer jy 'n program skryf,
en jy stel, en dit word 'n uitvoerbare lêer.
Dit is al die woorde wat julle waarskynlik gehoor, en miskien is jy nie
seker wat aangaan.
>> Kom ons sê, byvoorbeeld, wat ek wil skryf 'n program wat sê: "Hello." Die
eerste ding wat kom in jou gedagtes is jy soort van probeer om te dink hoe jy
gaan om dit te doen in jou gedagtes, en is jy waarskynlik dink in Engels of
'n ander taal, soos natuurlike taal, waarskynlik.
En dan moet jy dink, goed, as Ek wil, byvoorbeeld, skryf 'n program wat
sê "hallo" Ek sou 'n program begin, Ek sal druk hallo, en dan sal ek
sluit die program.
Dit is pseudokode.
Dit is basies net wat jy probeer kom met 'n reeks van gebeure
wat jy gaan doen om te wees staat om 'n program te skryf.
>> Dan moet jy die bron-kode, en die bronkode nie hoef te
spesifiek in C. Ons praat oor die bronkode in C, want dit is
die taal wat ons leer nie, maar natuurlik kode kan pretty much enige wees
programmeertaal wat jy het.
Later in die semester, gaan jy ander tale aan te leer.
Dit is ook die bron-kode.
>> Byvoorbeeld, hier, dit is my bron kode, en dan is ek insluitende 'n
biblioteek, en dan begin ek hoof, en dan druk ek.
En Laura gaan 'n bietjie om te praat bietjie oor al hierdie dinge.
So dit is die bron-kode.
>> En wat is die voorwerp-kode?
Die doel is om 'n klomp van nulle en kinders, basies.
Wat gebeur is dat jy aanvanklik pseudokode, wat al in Engels.
En ek bedoel, jy verstaan ​​dit.
Waarskynlik vriende verstaan dit, en die meeste mense sal
verstaan ​​die idee.
Maar rekenaars is baie dom, en hulle nie Engels verstaan, sodat jy
het vertaal dat in iets, gewoonlik vertaal in 'n paar
programmeertaal.
>> En jy kan dink van 'n program taal as soort van soos 'n taal
wat jou vertel hoe om jou rekenaar te praat en te verstaan.
Jy is basies iets te skryf in 'n taal wat beide jou en jou
rekenaar verstaan.
Dit is die bron-kode.
So gaan vorm pseudokode om die bron kode, is dit aan jou.
Dit is basies wat jy doen jou program.
>> Maar die probleem is dat die rekenaar nie eens
programmeertaal te verstaan.
Dit beteken nie verstaan bron-kode nie.
Dit is eintlik net verstaan nulle en ene.
So ons het hierdie baie magic ding genoem 'n vertaler, wat basies is
gaan na die bron genoem raak dat jy geskryf in 'n taal wat die beide jy
en jou rekenaar te praat, en nou is jy gaan om dit te omskep in
nulle en ene.
So basies wat die opsteller doen, is dit raak bron-kode, in hierdie geval C,
dit gaan om dit te omskep in nulpunte en diegene wat die rekenaar
verstaan ​​en kan 'n uitvoerbare lêer uit.
>> Is wat sin maak?
Jy kan net dink aan die samesteller as 'n soort van vertaler wat
help jy aan die rekenaar te verduidelik presies wat dit veronderstel is om te doen.
>> Maar hoe stel ek doen.
Kom ons gaan terug na die toestel te gaan, en Kom ons sê dat ek doen wat program.
Eerste gaan ek 'n gids te skep hier, en ek gaan om dit te noem
"Praktyk." Nou gaan ek om te navigeer na die gids, so cd praktyk.
Nou is ek in die praktyk.
>> Nou wil ek gedit te begin, So, hoe doen ek dit?
Ek kan óf klik hier, of ek kan net tik letterlik "gedit", en dit gaan
oop te maak vir my.
>> Nou gaan ek my program om te tik, so presies wat ek geskryf het in die skyfie.
Ek is waarby 'n biblioteek.
Ek doen int hoof, nietig.
En nou is ek doen printf, hallo.
Nou gaan ek om dit te red.
Laat ek dit in die praktyk, en Ek gaan hierdie hello.c te bel.
Dus is dit nou gered.
>> As ek wil om dit te stel, het ek eintlik kan dit doen in twee verskillende plekke.
Ek kan nie doen dit in 'n terminaal venster sodat hierdie groot een, of jy kan
gebruik gedit wat eintlik 'n terminale venster reg hier.
So kan jy baie maklik net nie jou kode, en dan kan jy net tik
alles hier, en probeer om dit op te stel.
>> So, hoe stel ek nie 'n kode?
Die maklikste manier wat ons het, is deur die gebruik van maak, wat 'n funksie wat
is basies gaan stel jou kode.
Jy moet net om te sê hallo maak, sodat "Maak" en die naam van die program.
>> Oeps.
Dit is moeilik.
>> LAUREN CARVALHO: Kan jy [onhoorbaar]?
>> LUCAS FREITAS: Jammer.
Ek het dit nie red in die regte gids.
Kom om te oefen, en nou stoor dit as hello.c.
Ek is jammer.
Nou is dit gered.
>> Laat my net te doen LS en seker te maak dat dit is hier.
OK, nou is dit hier.
So as ek nou doen om hallo, dit spoeg 'n baie dinge, maar dan is dit net gee
my 'n ander lyn vir die terminale, wat beteken dat dit suksesvol was.
So nou as ek doen 'n LS weer, ek eintlik sien hierdie lêer in groen, wat is die
uitvoerbare lêer.
>> En dan as ek wil om dit te doen, al wat Ek het om te doen is dot streep hallo.
Dit gaan om te sê hallo reg hier, so dit is presies wat ek vra om dit te.
>> Daar is een manier om van die opstel, wat is die gebruik van klang.
Klang is net 'n samesteller wat ons het, en dit is 'n bietjie meer verbose te
stel nie.
Maar dit werk net so goed.
So as ek dit doen klang, en dan-o, en dan die naam wat ek wil om te gee
die uitvoerbare lêer, so kom ons sê "Hello." En dan is die lêer wat ek wil
saam te stel, hello.c.
Dit gaan ook saam te stel.
En jy het die lêer hier, en Ek kan net voer dit so goed.
So beide van hulle werk.
>> Is wat sin maak?
Enige vrae?
>> Publiek: Kan jy zoom in 'n bietjie?
>> LUCAS FREITAS: Jammer?
>> Publiek: Zoom in?
>> LAUREN CARVALHO: Ek dink jy kan net beveel plus.
>> LUCAS FREITAS: Gee bevel wat?
>> LAUREN CARVALHO: Command plus.
>> LUCAS FREITAS: No
>> LAUREN CARVALHO: O, dit is nie gaan werk, want -
dit is omdat ons die resolusie vir hierdie ding.
>> LUCAS FREITAS: Ek hou nie dink ons ​​kan zoom in
Ja, ons kan nie vergroot.
Het jy 'n vraag?
Jammer.
>> Publiek: Kan jy herhaal klang?
>> LUCAS FREITAS: Die klang?
Klang is dieselfde ding as maak nie, maar die verskil is dat die eerste gaan ek
klang, wat is die opdrag om te skryf, dan gaan ek te doen -0, alles, wat
net wat ons gaan leer later as 'n vlag.
So dink net dat jy altyd die-o te sit.
>> En dan die eerste, jy gaan te sit die naam van die uitvoerbare lêer,
basies die lêer wat jy gaan skep.
So ek kan sê, byvoorbeeld, hello2 en dan is die lêer wat ek wil stel,
wat is die. c lêer.
So dit is hello.c.
Is wat sin maak?
>> Publiek: Hallo wat?
Wat is dit?
>> LUCAS FREITAS: Hello.c.
En as ek stel dit, en indien Ek LS, ek het ook 'n
hello2 dat ek net saamgestel.
En as ek probeer om dit uit te voer, gaan dit doen presies dieselfde ding as hallo,
net druk hallo.
>> Publiek: Hoe kom vir die maak jy kan hello.c sit na?
>> LUCAS FREITAS: In maak, moet jy het nie die. c te sit.
In maak, moet jy net sê die naam van die program.
Jy hoef nie te sê nie. C.
Maar vir klang, jy moet.
>> Publiek: Met klang jy ook het die [onhoorbaar] te voeg
>> LAUREN CARVALHO: Ja.
So moet jy ook die biblioteek.
>> LUCAS FREITAS: Ja, dit is iets wat Ons gaan later gebruik.
Dit is genoem skakel, en ek dink ons ​​is gaan later daaroor praat.
Nog 'n vraag?
>> Publiek: Het jy sit 'n dot streep klang?
>> LUCAS FREITAS: No
Die dot streep is net oop te maak die uitvoerbare lêer.
So klang, jy moet net skryf "klang," en dan is die as jy wil oopmaak om die
uitvoerbare lêer wat jy net saamgestel is, dan is jy nie dot
streep en die naam.
Is wat sin maak?
>> Publiek: As jy net verandering [Onhoorbaar] hallo wêreld, het jy
het om dit te hercompileren?
>> LUCAS FREITAS: Ja.
As ek wil sê, byvoorbeeld, "hallo daar, "Ek kan net stoor dit nou, en ek
net stel dit weer.
So laat my nie 'n make hallo.
En as ek doen hallo, dit gaan "There." sê Sin maak?
Enige ander vrae?
>> Publiek: Het jy te sluit in die standaard I / O die werk te koördineer?
>> LUCAS FREITAS: Ja.
Die standaard I / O is basies die biblioteek wat 'n
implementering vir printf.
So die ding reg op die top sluit Streek Leuven B..
Dit is insluitend 'n biblioteek wat basies het 'n klomp van die verskillende
gereedskap wat jy kan gebruik.
een?
Van hulle is printf dit is 'n funksie wat basies afdrukke
boodskappe op die skerm.
>> Enige ander vrae?
Nee?
OK.
So nou laat ons praat oor -
>> LAUREN CARVALHO: Laat ons net gaan na die styl gids.
Wil jy net vind dit hier?
>> LUCAS FREITAS: So ons gaan om te praat oor styl.
>> LAUREN CARVALHO: Ag, David het nie voltooi nie.
OK.
Hoekom het ons nie terug te kom na styl aan die einde?
Dit is eintlik is opgedateer as ons praat.
>> LUCAS FREITAS: Ja.
Kom ons manier vir Dawid te voltooi.
>> LAUREN CARVALHO: Kan ons eintlik skakel?
>> So ek hoop dat almal was geniet krap.
Ongelukkig is dit tyd om te weg te beweeg van hierdie -
Ongelukkig is dit tyd om weg te beweeg van hierdie pragtige ontwikkeling blokke
aan C. Maar gelukkig, al die ontwikkeling stel dat jy het
is besig met in Scratch is direk vertaal na C, en ons is
gaan om te begin om te leer oor sommige nou van hulle.
Kom ons kyk eers praat oor toestande in Boolse uitdrukkings.
>> Dit loop op reserwe battery krag.
>> LUCAS FREITAS: Hoe is wat nie werk nie?
OK.
Jy gaan daar, ek gaan die te kry -
>> LAUREN CARVALHO: So toestande belangrik omdat hulle toelaat om ons te
stel logika in ons programme.
Hier is 'n voorbeeld van 'n voorwaarde binne 'n C program.
Kom ons kyk hoe dit -
So hierdie toestand blok reg hier, hierdie printf verklaring sal nie voer
tensy die toestand binne die hakies, n groter as 0,
evalueer om waar te.
>> Nou, almal van die omstandighede in f stellings Boole uitdrukkings,
wat beteken dat daar is slegs twee opsies.
Hulle kan óf evalueer waar, of hulle kan evalueer na vals.
So hier, so dit maak sin, reg? n groter as 0, beteken dit 'n positiewe
nommer, wat beteken dat dit sal druk out "jy opgetel 'n positiewe getal."
>> Daar is baie van Boole uitdrukkings dat die toestand kan vorm met 'n
init verklaring.
Ons het die minder as.
Dit is minder as of gelyk aan.
Dit is net 'n snaakse [onhoorbaar].
As jy wil hê dat die printf te voorkom indien dit groter as of gelyk aan 0, dan
sou jy hierdie kies.
So het die gelyke voeg net reg na die groter as teken.
>> Gelyk gelyk, wat verskil van net een gelyk teken, gelyke gelyke
eintlik beteken dat alles wat oor die linkerkant van hierdie is dieselfde as
Wat is op die regterkant van hierdie waar 'n mens gelyk teken is wat?
Wat is net een gelyk teken?
Opdrag.
>> LUCAS FREITAS: Wie het dit gesê?
Is dit lekkergoed?
O, nee.
Jammer.
Julle het albei kry lekkergoed.
O, OK!
Drie mense kry lekkergoed!
>> LAUREN CARVALHO: So hierdie een reg hier is die bang operateur voorafgaande
die gelyke teken, so dit is nie gelyk aan.
So as dit was in my toestand, die liggaam van die toestand sou
voer net as alles wat's in links is nie dieselfde as die
Wat is aan die regterkant.
>> Ek kan ook net die uitroepteken.
Eintlik sal ons sien in 'n funksie gly hoe dit gebruik word.
>> LUCAS FREITAS: Enige vrae?
Nee?
>> LAUREN CARVALHO: Ons kan kombineer hierdie Boolse uitdrukkings om meer te bou
ingewikkelde voorwaardelike state.
So hier, as alles wat se links kant van die dubbele bars of
alles wat op die regterkant van die dubbele bars evalueer waar,
dan sal ons druk ongeldig.
En dan hier, as net se op die linkerkant van die twee
-karakters en wat se op die regte kant van die twee-karakters
evalueer waar, sal ons sal druk geldig.
Die dubbel bars is die logiese genoem OR operateur die dubbel-karakters is
genoem as die logiese en operateur.
Ja?
>> Publiek: Is dit net laer geval l's?
>> LAUREN CARVALHO: No
Hulle is eintlik -
jy weet wat die teenreaksie, soos bo jou sleutel Return?
Sien jy dit?
>> LUCAS FREITAS: Dit is eintlik 'n bar.
>> LAUREN CARVALHO: Dit is eintlik net twee bars.
>> Publiek: Kan jy die gelyk gelyk vir Strykers?
>> LUCAS FREITAS: No
Ons gaan later leer iets oor dat.
>> LAUREN CARVALHO: Daar is 'n funksie wat jy kan gebruik.
Maar jy hoef nie te bekommerd dat net nog nie.
>> Wat as ek hierdie program die nommer 5?
Wat sal druk?
>> Publiek: [onhoorbaar]
geldig.
>> LAUREN CARVALHO: Valid?
Ja.
Ek weet nie wat dit het.
>> [Gelag]
>> LAUREN CARVALHO: Dit is soort scary [onhoorbaar].
>> Publiek: So het die dubbel en, wat net beteken en?
>> LAUREN CARVALHO: Ja.
So nommer 5 is beide groter as 0 en minder as 100.
>> Publiek: Hoekom sou dit wees een?
>> LAUREN CARVALHO: Een ampersand is eintlik iets anders, en dit is
'n bis operateur, wat jy sal leer oor later.
Maar dit is iets wat regtig werk met die stukkies van 'n gegewe aantal.
>> LUCAS FREITAS: Dink net wat hulle doen nie hoef te bekommer oor dit vir nou.
>> LAUREN CARVALHO: Ek dink dit is waarskynlik kom volgende week.
>> LUCAS FREITAS: Enige ander vrae?
Nee?
>> LAUREN CARVALHO: So het ons gesien dat 'n dit sluit alleen kan staan ​​nie, maar dit kan
ook gekoppel kan word met en anders blok.
So in hierdie geval, as n groter is as 0, ons gaan uit te druk "Jy
pluk 'n positiewe getal is. "anders, wat beteken As dit is 0, of as dit is minder
as 0, ons gaan uit te druk, "Jy pluk 'n negatiewe getal."
>> Die interessante ding hier is dat hierdie is eksklusief van mekaar.
Daar is nooit 'n geval te wees waarin dit en dit
kan beide druk.
>> Ek is seker dat jy saam met die as / anders boks in nuuts af, so dit behoort te wees
redelik vertroud.
Ja?
>> Publiek: Moet ons die ruimte tussen int n gelyk getint dan ruimte in die
As stelling?
Soos ons gebruik 'n lyn [onhoorbaar]
>> LAUREN CARVALHO: O, die ruimte hier?
>> Publiek: Hou dit nie, maar jy dubbel ruimte.
Nee, gaan.
Optrek.
>> LUCAS FREITAS: Slegs die lyn?
>> Publiek: Ja.
>> LUCAS FREITAS: Net die leë lyn?
>> Publiek: Ja.
>> LAUREN CARVALHO: Blank lyn?
No
Dit is net 'n stilistiese ding.
>> LUCAS FREITAS: Dit is net soos soms jy net slaan 'n paar lyne so
dat die kode nie, soos lyk 'n groot blok van die teks.
>> LAUREN CARVALHO: Ek dink wat gebeur was dat ons 'n kommentaar hier, maar ek
het dit uit sodat jy ouens wil hê na te dink oor die kode eerder
as net lees my kommentaar.
In die algemeen, spasiëring nie werklik beïnvloed die manier waarop jou program loop.
Dit is meer van 'n stilistiese ding.
En wanneer ons die styl gids opgedateer en gereed om te gaan teen die einde van
supersection, sal ons praat oor dat meer.
>> Daar is iets fout met hierdie program, reg?
Omdat 0 is nie regtig 'n negatiewe getal.
So kom ons kyk of ons kan dit regmaak.
>> Jy kan waarskynlik dink met hierdie sê, reg?
As n groter as 0, druk ons, "Jy pluk 'n positiewe getal is. "Toe anders
As n is minder as 0, "Jy pluk 'n negatiewe getal. "anders," het jy opgetel
0. "
>> Nou is die interessante ding is dat hierdie kan gaan vir ewig.
Jy kan 'n As blok, 'n ander het, indien blok, 'n ander anders as blok, anders as,
else if, anders as, anders, basies so lank as wat jy wil.
En toe gebou soos hierdie, hierdie is almal gaan wees
eksklusiewe van mekaar.
Ja?
>> Publiek: So hoekom kan jy nie net gebruik 'n ander as in plaas van [onhoorbaar]?
>> LAUREN CARVALHO: In hierdie geval, ja, ek 'n ander kan gebruik as, en dit sou wees
absoluut goed, want die voorwaardes self
eksklusiewe van mekaar.
Maar as die toestande was nie eksklusief van mekaar, sou dit
dwing om te nooit beide evalueer, as dit sin maak.
>> Publiek: In daardie geval, kan ons nes die tweede as in die eerste as?
>> LAUREN CARVALHO: As - wat bedoel jy?
>> Publiek: As die twee toestande is nie wedersyds uitsluitend?
>> LAUREN CARVALHO: As die voorwaardes is nie wedersyds uitsluitend?
Maar jy wil net een van hulle te laat loop?
>> Publiek: Jy wil net As in plaas van anders nie.
>> LAUREN CARVALHO: Ja.
Daar is altyd gaan baie wees maniere waarop jy dit kan doen.
Jy kan beslis nes hulle.
En jy sal sien in 'n toekomstige skyfie wat jy kan het veelvuldige ifs, net een
na die ander.
Maar dit is 'n manier om logies organisering van die vloei van die program.
>> LUCAS FREITAS: En daar is 'n meer ding, is dat jy gevra oor om
indien en dan 'n ander, indien.
Dit sou goed werk, maar dit is sleg ontwerp, want basies as jy
gaan die eerste as, en jy sien dat die getal groter as 0, het jy
kan net klaar is met die program.
Jy hoef nie te kyk of dit is minder as 0, reg?
>> Maar as jy nie as as dit gaan om seker te maak beide, terwyl as ek doen as die ander is,
dit gaan om te kyk of dit is groter as 0.
As dit is, is dit nie van plan om selfs kyk aan die ander lyne van die kode.
So jy basies monitor dit soos twee keer onnodig, so dit is hoekom ons
doen as anders as.
Enige ander vrae?
>> Publiek: So het die funksie van die anders as die dieselfde as
As dit was net as?
>> LAUREN CARVALHO: No
Jy is eintlik gaan om te sien in my volgende gly 'n voorbeeld in wat dit kan
wees anders.
In hierdie geval, dit is byna dieselfde.
>> So hier het ons 'n voorbeeld van veelvuldige indien state, en die
funksie is nie dieselfde asof ek het net gesê dat indien
anders as die ander, indien anders.
Kom ons dink net oor wat sou druk uit te vind of ek die nommer 95
in hierdie program.
>> Publiek: [onhoorbaar]
>> LAUREN CARVALHO: En dan?
>> Publiek: [onhoorbaar]
>> LAUREN CARVALHO: Ja.
So in hierdie geval, hierdie toestande nie onderling uitsluitend van mekaar.
En omdat daar is niks stop hierdie toestand te evalueer as dit
een reeds, hulle is net alles gaan om uit te druk.
So, hoe kan ek dit regmaak?
>> Publiek: anders ifs?
>> LAUREN CARVALHO: Jy kan gebruik anders ifs.
Ek kon die einde verander van hierdie, reg?
As ek het hierdie een eerste?
Wel, eintlik, no.
Dit sal nie werk vir 95.
>> LUCAS FREITAS: Nee, net die ander ifs.
>> LAUREN CARVALHO: Die anders ifs sou vasgestel het hierdie.
Is dit die verwarring tussen IFS en anders ifs?
>> Publiek: Ek wou net om jou te vra, indien jy gebruik het anders as sou dit stop?
>> LAUREN CARVALHO: Right.
So net die eerste een.
As ek in die nommer 95, net hierdie sou gedruk het nie, en dit het nooit
sou gevorder het om die anders.
>> LUCAS FREITAS: net soort van dink dit asof dit gebeur, doen dit.
Die ander is soos indien nie, tjek Vir hierdie, en dan doen.
Dus, net soos hulle is almal onderling eksklusiewe.
Jy kan nie in twee oor hulle.
>> Publiek: Kan jy 'n logiese EN vir die situasie?
>> LAUREN CARVALHO: Ja.
Dit is 'n ander manier wat ons kan het vasgestel die probleem.
Ons kan gedefinieer wissel, reg?
So ek kon gesê het as n groter as 90 en minder as -
Wel, ek dink hierdie een nie regtig saak, maar hier kan ek gesê het as
n groter as 80 en minder as 90.
Groter as 70, minder as 80.
Dit sou ook gewerk het.
>> [Gelag]
>> LUCAS FREITAS: Sy is bang.
>> LAUREN CARVALHO: Moenie bang wees nie.
>> LUCAS FREITAS: Dit is nie dat dit verkeerd sal wees.
Dit is net dat dit onnodig verbose.
Soos in Rekenaarwetenskap, moet 'n mens wees so eenvoudig as moontlik so lank as wat
jy het die funksie.
Wil jy die lekkergoed?
>> Publiek: Moenie dit nie nodig nie.
>> LAUREN CARVALHO: Jy bang almal, Lucas.
>> LUCAS FREITAS: Jammer.
>> LAUREN CARVALHO: David het ook genoem hierdie skakel verklaring in die klas.
Basies wat aangaan is die skakelaar verklaring neem 'n veranderlike.
In hierdie geval, ons neem 'n heelgetal.
>> As die heelgetal is 1, gaan ons druk, "Jy pluk 'n klein
nommer. "As die heelgetal is 1," Jy pluk 'n medium-nommer. "As die
heelgetal is 3, "Jy pluk 'n hoë nommer. "En ek het ook 'n standaard geval
hier, maar dit is nie wat up, wat is te sleg nie.
>> Eintlik is dit net 'n ander sintaks.
Ons kon hierdie presiese geïmplementeer dieselfde ding met as en anders as
state.
Maar toe daar is baie van die verskillende toestande en baie van die verskillende
variasies op wat jy wil te doen vir elke insette, dit is 'n opsie nie.
So dit is net 'n goeie sintaksis te leer ken.
Ja?
>> Publiek: Hoekom is daar nie 'n backslash N in die eerste een?
>> LAUREN CARVALHO: Vir daar?
Daar is geen backslash n daar omdat die getint -
As jy dit probeer, sal dit gee jou hierdie vinnige.
Gee my 'n heelgetal tussen 1 en 3.
En as ek die teenreaksie n, sou dit neem my na die volgende lyn, maar ek het net
wou hulle die heelgetal te tik reg na die kolon.
Jy kan sit het die teenreaksie n.
Dit is nie 'n groot deal.
Ja?
>> Publiek: Vir hierdie kode, is hierdie geval een, is dat omdat
dit is die eerste geval is?
Omdat -
>> LAUREN CARVALHO: Nee, nee, nee.
So dit is vir my 'n heelgetal tussen 1 en 3.
As n 1 is, ek druk dit.
As ek vir briewe gevra het, kon ek sê gee my 'n brief tussen 'n
en C. Dan sou dit die geval wees A.
>> Publiek: [onhoorbaar].
Die saak sou net [onhoorbaar]
>> LAUREN CARVALHO: Ja, reg.
Ja?
>> Publiek: Wat gebeur as jy wou hê meer van 'n relasionele uitdrukking?
So in plaas van sê n gelyk aan 1, [onhoorbaar]
n groter as 1 is in die eerste geval is?
>> LAUREN CARVALHO: Eintlik, as ek dit nie doen nie definieer sommige van hierdie gevalle, sou dit
word dra af.
So eintlik, miskien is dit nie wat jy vra.
>> LUCAS FREITAS: Ek dink sy vra of die geval was n groter as 0, geval
minder as 0.
>> LAUREN CARVALHO: Miskien is die skakelaar stelling is nie regtig wat jy wil hê
te gebruik in daardie geval.
>> LUCAS FREITAS: Die skakelaar stelling net vir die waarde, sodat jy die nagaan van
die waarde is soos dit of dat.
So jy kan nie eintlik sit voorwaardes.
>> Publiek: Wat as die persoon tipes met [onhoorbaar]?
>> LAUREN CARVALHO: Dit sou gewees het my standaard geval, wat ongelukkig
jy nie kan sien nie.
>> LUCAS FREITAS [onhoorbaar] maak hulle sien.
>> LAUREN CARVALHO: Eintlik, weet jy wat?
Kom ons gaan net om te studeer 50, en ek sal net zoom in op die skyfies op studie
50, want dit is net irriterende.
So laat my eintlik gaan toestand.
Dit is net gaan om te neem 'n kort rukkie.
>> Alle regte.
So, ek is jammer.
Ten minste nou het ons sal in staat wees om te sien alles sonder dit af te sny.
Alle regte.
>> So as hulle in 'n 10, sou ons die standaard hier om my standaard geval, en ek
wil net druk ongeldig omdat ek het hulle gevra om 'n heelgetal te betree
tussen 1 en 3.
Enige ander vrae?
Ja?
>> Publiek: Kom ons sê vir geval een geval drie, sê jy wou dit al die te wees
dieselfde ding, so jy opgetel 'n aantal dit is nie 'n medium-nommer.
In daardie geval, sou dit oorbodig?
Wil jy net die teks in beide verander van hulle, of sal daar 'n paar
ontslag?
Is daar enige manier te kombineer [Onhoorbaar]?
>> LAUREN CARVALHO: Daar is maniere om te kombineer hulle, maar ek dink jy kan
net langs dié kombineer.
So as ek nie iets te definieer vir geval twee, sou dit
van toepassing op beide gevalle.
O, as ek nie sit niks vir die geval een, sou dit van toepassing op beide
geval een en twee.
As dit sin maak.
>> Publiek: Kan jy herhaal dat 'n mens?
>> LUCAS FREITAS: OK.
As jy basies gedoen het, soos, jy het dieselfde ding, maar jy sit nie
enigiets hier, wil jy wees, hetsy vir geval een of twee geval, dit doen.
Reg?
En dit breek beteken dat as jy in hierdie geval, net verlaat.
So dit is wat die rem beteken.
So as ek net het dit gedoen, jy kyk, is dit geval een, en jy wil net dit doen.
As dit was die geval twee, sou dit ook net hier te kom en dit doen.
>> Publiek: Maar jy kan dit doen?
As daar is iets vir geval twee [onhoorbaar]
>> LAUREN CARVALHO: Ek glo nie jy kan dit doen.
Ek dink nie jy kan doen om oor te slaan.
Kan jy dit doen, Rob?
Ek dink nie so nie.
>> Publiek: Dit is net 'n nommer kan gaan na 'n geval, reg?
Daar kan nie geval een komma twee?
>> LUCAS FREITAS: Nee, jy kan nie.
Jy kan beslis nie.
>> LAUREN CARVALHO: Ek bedoel, die punt is dit is 'n opsie, en dit kan nie
pas by jou gebruik geval, so dan moet jy sou gebruik om die as toestande.
>> Publiek: So hoekom sou jy dit doen?
Die skakelaar?
>> LAUREN CARVALHO: Ek sou gebruik om hierdie As jy het baie omskryf -
Eintlik, Lucas, is jy blokkeer.
>> LUCAS FREITAS: Ag, jammer.
>> LAUREN CARVALHO: As jy 'n baie gedefinieer gedrag wat jy wil hê vir
elke insette, kan dit dalk 'n bietjie meer as bondige uitskryf
'n if-stelling vir elke een.
>> Publiek: Wat beteken die breek weer beteken?
>> LAUREN CARVALHO: Die onderbreking beteken stop.
Onthou, as ek het nie hierdie breek hier, ons sou net neergeval
in die volgende geval.
>> LUCAS FREITAS: Breek beteken te kry uit die skakelaar verklaring.
Want as dit is 1, ek wil om dit te druk en verlaat.
Ek wil nie iets anders om te gaan.
>> Publiek: Jy wil nie iets anders te druk.
>> LUCAS FREITAS: Ja.
Want dit is wedersyds uitsluitend.
>> Publiek: En nie net dit gaan na die volgende geval as die eerste geval
is nie waar nie?
Of is dit toets al die gevalle op dieselfde tyd?
>> LUCAS FREITAS: Nee, dit tjeks agtermekaar.
Agtermekaar, ja.
Nog 'n vraag, dan het ons gekry het om te beweeg sodat ons alles kan dek.
Ja?
>> Publiek: So vir die geval is, kan 'n iets gedoen behalwe net die een?
Kan jy gee dit 'n reeks?
>> LUCAS FREITAS: No
>> LAUREN CARVALHO: Ek dink nie jy kan dit gee 'n reeks.
>> LUCAS FREITAS: Jy kan jou nie kan nie gee dit 'n reeks.
>> Publiek: Die saak is spesifieke [Onhoorbaar].
>> LUCAS FREITAS: Skakel is 'n soort van waardes.
Jy doen verskillende dinge, afhangende op 'n waarde, 'n spesifieke waarde.
Jy kan nie verskeidenheid nie, kan jy nie doen iets anders.
Dit is net nog 'n instrument om te sien.
>> LAUREN CARVALHO: Die meeste mense gebruik nie skakel state baie in CS50,
maar dit is daar.
>> Alle regte.
So die volgende ding wat ons gaan om te praat oor die drieledige operateur.
Dit is net 'n ander soort van voorwaardelike.
Basies wat hier aangaan is ek vra vir 'n heelgetal is, en as n
groter as 100, ek gaan om uit te druk "Hoog." As dit is nie, ek gaan om te
druk "laag."
>> So wat dit doen, is die toestand reg hier in die hakies, en jy
kan soort van dink van die vraag as ek vra of
dit waar is of nie.
As dit waar is, ek gaan om dit te doen eers ding, en as dit is nie waar nie, ek is
gaan hierdie tweede ding om te doen.
>> Enige vrae oor die drieledige operateur?
>> LUCAS FREITAS: Ek wil net daarop uit David is dat wanneer jy 'n
toestand -
>> LAUREN CARVALHO: Ek dink David se kyk via die lewende stroom.
>> LUCAS FREITAS: Hy doen lewe stroom nou.
So wanneer jy 'n toestand is, is jy veronderstel krulhakies te sit,
net soos wat ons in 'n skakelaar verklaring hier.
Ons het krulhakies hier.
Vir watter omstandighede, is jy veronderstel om ook sit nie.
>> LAUREN CARVALHO: Jy sal sien dit in die styl gids.
Ons het eintlik nie die styl gids nou.
Ek dink David se werk nog steeds.
>> LUCAS FREITAS: Hy het gesê dat dit is net werk nou.
>> LAUREN CARVALHO: O, is dit nou werk?
OK.
So glo vanjaar in die styl lei, selfs as jy net een lyn,
jy het die te sit krulhakies in
Jy hoef nie te vir die funksie van die program.
En miskien moet ons net 'n break na die voorwaardes en gaan reguit
die styl gids te verwyder 'n paar van hierdie dinge?
>> LUCAS FREITAS: Ja.
Het jy 'n vraag?
>> Publiek: Nee, ek sal net wag totdat die styl gids.
>> Publiek: Kan jy terug te gaan aan die drieledige operateur?
>> LAUREN CARVALHO: drieledige, ja.
>> LUCAS FREITAS: drieledige operateur basies 'n as anders stelling nie, maar
in plaas van om die twee lyne te hê van kontrole 'n as en dan die
anders, jy moet net een reël.
So basies as ek wil 'n string te gee 'n waarde van 'n hoë of lae, en ek
wil 'n hoë om te doen as n groter is as 100 of 'n lae as dit is minder, wat ek kan doen
is hierdie [onhoorbaar]
die string gaan wees, en dan het ek vra die program is N groter as 100?
>> So dit is waarom ek het hierdie uitdrukking in hakies en dan
die vraagteken.
Ek vra, is dit groter as 100?
As dit is, gaan dit hoog wees.
As dit is nie, dit gaan om laag te wees.
>> So basies wat jy dink jy vra 'n vraag, so jy sit in hakies
die toestand.
Dan sit jy die vraagteken want jy vra nie.
En as dit waar is, is dit gaan wees in die eerste waarde [onhoorbaar] hier.
As dit is nie, ek gaan om te sit die waarde wat na die kolon.
Maak dit sin?
>> Dit is ook iets wat soos 'n instrument in C, maar jy hoef nie te
spesifiek gebruik.
Maar CS mense gewoonlik graag wat omdat dit net spaar lyne.
>> LAUREN CARVALHO: Dit is baie elegant.
Dit het 'n baie in net een verklaring.
>> Publiek: So het die persent teken net ongeag die resultate op
die vorige lyn?
>> LAUREN CARVALHO: O, ek is jammer.
Dit persent teken is eintlik 'n plekhouer vir hierdie s.
In 'n verklaring printf, jy het hierdie string hier, en dit is wat gaan
druk, maar jy kan nie net sit dit is daar.
Anders sou dit druk die s letterlik.
So het ons 'n persent hier om te bly hierdie plek gehou word vir alles wat
kom na die komma.
>> So vir 'n string, jy het persent s.
Vir 'n heelgetal, persent i.
Vir 'n vlot, persent f.
Jy sal sien die as ons sien meer voorbeelde.
Maar miskien moet jy praat oor die styl gids vir 'n kort rukkie, nou
dat dit daar is.
>> LUCAS FREITAS: As jy na cs50.net/style, jy gaan om te sien
die styl gids.
Vir probleem stelle, jou telling vir die probleem stel bestaan ​​uit omvang,
wat basies beteken dat as jy al gedoen die dele van die probleem stel of as jy
probeer iets.
Die tweede ding is korrektheid, wat middel is om jou program te doen wat dit
veronderstel was om te doen, of is dit het foute, of is dit nie te doen wat
dit veronderstel is om te doen.
>> Die derde ding is ontwerp, wat beteken is jy die implementering van hierdie goed, of is
gebruik jy onnodige stellings?
So byvoorbeeld, as jy wil om te herhaal 'n aantal 10 keer, jy skryf van 'n
lus of is jy net te doen 10 keer dieselfde verklaring, net doen
kopieer en plak.
So ontwerp is vir wat.
>> En uiteindelik, jy het styl.
Styl is net soos die beoordeling As jou kode lyk
leesbare en soort van mooi.
Dit beteken net basies is jou kode leesbaar?
Sal iemand anders wat op soek was na is jou kode in staat wees om te verstaan ​​wat
dit doen?
Het dit kommentaar en dies meer?
>> Kom ons praat oor die styl wat jy veronderstel is om te gebruik.
Die eerste ding is kommentaar.
Kommentaar is baie belangrik vir jou kode, want soms jy doen
jou program, en jy weet presies wat jy wil om dit te doen wat jy nou net begin
kodering, tik net 'n klomp van die C. Maar As iemand anders is op soek na is jy
kode, hulle is nie van plan om in staat wees om te verstaan ​​dit, want hulle weet nie
die dinge wat in jou kop, soos die pesudocode, so miskien sal hulle
het 'n harde tyd te verstaan wat die kode is om te doen.
>> So kommentaar is baie handig om te verduidelik aan iemand wat is op soek na
jou kode wat dit doen, en eintlik selfs vir jou,
hulle is baie handig.
As jy gaan om harder en harde Psets, jy gaan om te sien dat die kode kry
langer, en dan kommentaar is regtig belangrik sodat jy onthou wat elke
deel van jou program doen.
>> 'N opmerking te maak, kan jy net nie 'n streep streep en skryf dan 'n opmerking.
En die hele lyn is deel van 'n opmerking, en alles wat jy skryf,
dit gaan nie te wees gebruik vir jou kode.
Dit is basies soos die opsteller gaan om dit te ignoreer.
Is wat sin maak?
>> Publiek: Wat doen jy weer doen 'n opmerking te skryf?
>> LUCAS FREITAS: Dit?
Die streep streep?
Wanneer jy tik streep streep, wat ook al is in daardie lyn is nie van plan
oorweeg moet word C. te wees Ja?
>> Publiek: So na die kommentaar, jy net betree en begin 'n nuwe lyn?
>> LUCAS FREITAS: Ja, presies.
>> LAUREN CARVALHO: Die streep streep is vir 'n enkele lyn kommentaar.
>> LUCAS FREITAS: Byvoorbeeld, hier het ons -
laat my zoom in -
byvoorbeeld, hier ek waarby 'n vlot, maar miskien as jy net sit dit
in jou kode, soos jy het geen idee wat dit doen, soos eintlik
iemand wat kyk na die kode gaan wees, soos wat die
heck aan die gang is?
>> As jy 'n opmerking te sê "skakel Fahrenheit na Celsius, dit maak baie
meer sin.
Jy is, soos, OK, jy is doen 'n sukses.
Is wat sin maak?
So is dit net iets wat mense help gereed om jou kode en ook
jy in staat wees om te organiseer jou kode beter.
>> Die tweede ding is dat jy kan doen multi-line kommentaar, so het die een
kommentaar vir 'n klomp van die lyne.
In plaas van om streep streep te sit, die eerste reël kommentaar, streep streep
die tweede lyn, en so aan, jy kan gebruik om die streep ster.
Die manier waarop jy dit doen, is dat vir die eerste reël van die kommentaar, jy
gaan 'n streep star om te doen, sodat net soos dit.
Net soos hier het ons die begin van 'n program, moet jy gewoonlik sit wat jy
is, wat hierdie program nie, en dinge soos dat.
Dit is soort van soos 'n kop vir die program.
>> Weereens, dit is nie iets wat 'n samesteller gaan omgee nie, maar
dit is belangrik om te weet wat hierdie program doen of vir ander mense
om te weet wat jou program doen.
So jy streep star, en dan die laaste reël jy gaan ster te doen
streep in staat wees om af te sluit daardie kommentaar.
So basies vir al die ander lyne, jy kan net skryf wat ook al, en dit
is al wat gaan om geïgnoreer te word.
>> En ook, net soos styl, jy sien dat elk van die lyne het 'n ster, en al
die sterre is in lyn.
Dit is belangrik om dinge so dat jou kode lyk mooi.
Klink goed?
>> Nou, voorwaardes.
Wat Dawid het gesê dat ons moet eintlik sit in die skyfies, is dat
as jy 'n soort van if-stellings of enige vorm van toestande
jy moet krulhakies gebruik om te wys dat dit is wat gaan gebeur
wanneer jy die toestand.
Tegnies, wanneer jy 'n toestand En dan is die volgende lyn is net een
line, het jy nie tegnies het nie die krulhakies te sit.
>> Basies die opsteller sal verstaan dit in elk geval as implisiete.
Maar vir CS50, vra ons julle om te sit die krulhakies net sodat jou
kode is meer georganiseerde en meer leesbaar.
Omdat kode kry meer as jy het nie krulhakies en so.
Dit regtig slordig.
>> LAUREN CARVALHO: Dit is presies wat Dawid net daarop gewys
in my vorige skyfies.
Dit werk beslis sonder die krullerige draadjies, maar vir die stilistiese redes
ons gaan om dit te vra jy sit die in
>> En wanneer jy begin hardloop style50, wat is 'n soort van die tjek vir 50
styl, sal dit jou herinner om dit te doen.
>> LUCAS FREITAS: En 'n ander ding is onthou die krulhakies om saam te stel
in elke lyn.
So jy doen, byvoorbeeld, l's.
Gaan na die volgende lyn, maak die krullerige stut, dan gaan jy na die volgende lyn.
Inkeping, wat vier ruimtes.
Dan moet jy net skryf, en dan die ander lyn, en sluit die krullerige stut.
So seker wees dat beide die krullerige draadjies is in verskillende lyne.
>> Publiek: So as hierdie kode het soos 10 anders ifs, moet dit
wees 10 stelle hakies?
>> LUCAS FREITAS: Ja, vir elkeen van hulle.
Ja.
So as, anders as, en so aan.
>> Publiek: Kan jy nie Druk Tab ingekeep?
>> LUCAS FREITAS: Ons vra jou ouens vier ruimtes te gebruik.
Sommige teks editors vertaal blad as vier ruimtes outomaties.
gedit nie, so jy hoef te doen ruimte ruimte ruimte ruimte.
Dit is ook iets wat 'n programmeerders net oortjies, sommige
programmeerders net vier ruimtes, en 'n paar ander mense ook te doen
twee of drie ruimtes.
Dit is net dat hier vra ons julle ouens vier ruimtes te doen.
>> Publiek: Daar is byna beslis het op 'n manier vir gedit te wees
outomaties [onhoorbaar].
Soos geen [onhoorbaar] doen dit.
>> LUCAS FREITAS: Ja.
Ek dink jy kan gaan na Instellings.
>> Publiek: Dit maak al van daardie reeds.
>> LUCAS FREITAS: dit nie reeds?
OK.
Dus net seker wees dat jy het vier ruimtes.
>> Publiek: Het ons die krullerige te sit tussen hakies in vir loops, asook?
>> LUCAS FREITAS: Ja.
>> LAUREN CARVALHO: Wanneer jou vat 'n blok van die kode, net
gebruik asseblief die krullerige draadjies.
En voordat jy dink dat ons is net synde sticklers oor hierdie vir geen goeie
Daarom, as jy ouens gaan kry tegnologie internskappe by groot maatskappye,
hulle sal gee jou 'n styl gids, en hulle sal jou vertel dit is wat jou
kode moet lyk.
En selfs al het jy geleer om kode soos hierdie, miskien in jou internskap
jy het om iets te doen heeltemal anders.
Hulle het nie verwag dat jy om te voldoen om hul styl.
>> LUCAS FREITAS: En een ding is dat jy sien hoe ek het soos x,
ruimte, minder, ruimte, 0?
Wanneer jy 'n operateur -
dit kan wees soos plus, minus, maal, minus, groter, ongeag operateur -
jy het 'n ruimte wat aan die linkerkant en die reg van die operateur.
>> LAUREN CARVALHO: Dit is genoem binêre operande.
Maak net seker dat jy altyd ruimte jou binêre operande.
>> LUCAS FREITAS: Dit is nie 'n binêre operand.
>> LAUREN CARVALHO: Dit is want dit neem twee.
>> LUCAS FREITAS: O, ja.
>> OK, die skakelaars.
Eerstens, jy het om dit te sien, net soos in 'n as of anders verklaring, moet jy
die krullerige stut te sit op sy eie lyn en onder die krullerige stut hier.
Let daarop dat daar 'n enkele ruimte na skakelaar, net soos in as en anders
Ons het 'n enkele spasie tussen dat en die hakies.
So jy het om te sit.
>> En daar is geen ruimte reg na elke van die hakies of voor die einde
van die hakies.
So jy sien dat dit alles saam, en ook hier.
>> Ja?
>> LAUREN CARVALHO: Ek dink ons nodig het om aan te beweeg.
>> LUCAS FREITAS: So dit is deel van die styl gids wat jy vir CS50.
Maak seker om te gaan na cs50.net/style en neem 'n blik op hierdie.
Dit is alles baie belangrik vir jou styl telling.
>> Laat my terug na die verklaring gaan.
>> LAUREN CARVALHO: Ek wil eerder net gebruik style50.
Ons is net gaan om te gaan reguit na loops.
Alle regte.
>> So laat ons terug na die inhoud, nou dat ons het gegaan oor die styl gids.
Loops, het jy gesien dat hulle in nuuts af, en Ons gaan om te praat oor hulle in
C.
>> In 'n lus vir die, is daar drie gedeeltes aan die
verklaring van hierdie lus.
Jy het jou inisiëring in waar jy jou veranderlikes.
Jy het jou toestand, wat om te kyk of iets
ware of vals is en of die lus moet voortgaan.
En jy het jou werk, wat is die opdatering van jou veranderlikes.
>> Kom ons neem net 'n vinnige blik op sommige C-kode van hierdie lus in aksie.
Wat gaan aan hier in die inisialisering, ons die opstel van i na 0.
In die toestand Ons monitor of ek is minder as 10.
En in die werk ons verhoog van i.
So, wat sal die gevolg van dit vir lus?
>> LUCAS FREITAS: Eintlik, die eerste van alles, julle weet nie wat ek + + is?
>> Publiek: het met 1.
>> LUCAS FREITAS: toegeneem met 1, ja.
So, dit is dieselfde as doen ek gelyk i plus 1.
En agterkom dat ons nie 'n ruimte tussen die i en die + +.
>> So doen julle weet wat dit sal doen?
Kan iemand my vertel?
En miskien 'n paar lekkergoed as gevolg van wat?
>> Publiek: [onhoorbaar]
>> LUCAS FREITAS: OK.
[Onhoorbaar]
almal wys later [onhoorbaar].
Ja, dit gaan om te wys "Dit is CS50 "10 keer.
>> LAUREN CARVALHO: Ek dink dit was in die titel van die skyfie.
>> LUCAS FREITAS: O, ja.
>> [Gelag]
>> LUCAS FREITAS: dit help.
>> LAUREN CARVALHO: So diegene is vir loops.
Ons gaan 'n paar voorbeelde te sien van vir sirkelroetes later.
Maar laat ons eintlik 'n blik op die tweede tipe lus jy teëkom
in C, en dit is bekend as die lus.
>> In 'n rukkie lus, jy het net 'n toestand.
Die toestand word nagegaan in die begin, en as daardie toestand
evalueer waar, sal die kode in die liggaam van die blok, terwyl
sal voer.
En die kode sal voortgaan om te voer so lank as wat
toestand bly getrou.
>> Hier is 'n voorbeeld van 'n lus in C. Ons gaan telling in te stel na 10 tot
begin.
Solank as wat tel is groter as 0, ons gaan hou uit te druk hierdie
veranderlike hier.
Ons gaan tel te Trek 'en dan gaan die toestand weer.
Print, decrement, tjek die toestand weer.
>> Hier het ons 'n voorbeeld wat betrekking op jou vraag vroeër.
Ons het die persent s toe ons uit te druk 'n string, en nou dat
ons uit te druk 'n int, ons het 'n persent i as ons plekhouer plaas.
Die letters moet almal mooi intuïtief, is vir string, ek vir int.
>> So as hierdie kode voer, moet jy aftel 10-0, uit te druk
elke heelgetal.
>> LUCAS FREITAS: En jy kan dink van die persent as dit voel soos 'n leë
ruimte, en dan is jy om hierdie veranderlike hier in die leë ruimte.
So byvoorbeeld, hier sal ek net 'n leë, en dan is ek besig om die
tel net daar, die waarde van die telling.
Is wat sin maak?
>> Ek kon net nie daarvan hou printf en dan haal, tel?
Sal dit werk?
>> Publiek: No
>> LUCAS FREITAS: Nee, want dit sal die woord "tel" eintlik druk
in plaas van die druk van die waarde.
Dit is hoe jy maak dit die waardes druk na die veranderlike in plaas van
net die naam van die veranderlike.
Enige vrae?
>> Publiek: Hoekom het jy vir gebruik as 'n stryd met tydjie?
>> LAUREN CARVALHO: Ek sou gebruik om 'n vir lus as ek weet presies hoeveel
iterasies Ek wil my lus om te hardloop.
In hierdie geval, beteken dit nie saak nie, want, Ek bedoel, ek is net probeer om te
dink aan 'n baie eenvoudige voorbeeld vir hierdie skuif.
Maar kom ons sê dat jy iets wil die gang te hou terwyl -
>> LUCAS FREITAS: Byvoorbeeld, jy vra vir insette tot die persoon
gee jou die reg insette.
Dus, net soos terwyl die invoer is nie OK, bly vra vir dit.
Of soos terwyl jy ouers gee nie jou geld, hou vra vir dit.
>> [Gelag]
>> LAUREN CARVALHO: Jy weet nie hoe hoeveel keer jy sal hê om dit te doen.
>> LUCAS FREITAS: Omdat jy dit nie doen nie weet hoeveel keer dit is
gaan om voort te gaan.
>> LAUREN CARVALHO: Maar in 'n lus vir, wat jy nodig het om te weet hoeveel keer.
Ja?
>> Publiek: Net om te verduidelik, die persentasie sê dit is iets om oor te
gebeur nie, die i se vir die getal, en agteroorskuisstreep n -
>> LAUREN CARVALHO: Opdoen?
Wie weet wat die backslash n beteken?
Nuwe lyn, ja.
Presies.
>> LUCAS FREITAS: Jy kan dink N nuwe lyn.
>> LAUREN CARVALHO: Nice.
>> Publiek: Wat is wat tel Dash Dash [onhoorbaar]?
>> LUCAS FREITAS: Telling minus minus is dieselfde ding as plus plus, maar
in plaas van die verhoging, dit afneem met 1.
>> LAUREN CARVALHO: Enige meer while lus vrae?
Nee?
Ag, het ons veronderstel is om te het oorgeslaan.
>> Dit is 'n doen terwyl loop.
Baie soortgelyk aan 'n lus, behalwe in hierdie geval het ons die toestand na
die kode in die liggaam van die lus voer 'n keer.
So het ons die kode uit te voer eerste maak nie saak wat.
Toe het ons die toestand, uit te voer dit weer as die toestand is waar.
>> Jy sal jouself vind met wanneer jy vra vir die gebruiker insette.
Omdat jy altyd gaan hê om te vra een keer, en dan, afhangende van watter
die toevoer van die gebruiker is, kan jy dalk te reprompt en vra weer en weer as
die insette is nie wat jy verwag om dit te wees.
>> Publiek: So dit is soos 'n vorm vir mense om te vul.
>> LAUREN CARVALHO: Ja, presies.
Jy sal vind, dink ek, in jou heel eerste Pset, jy gaan te hê
gebruik om 'n goed doen lus in te samel toevoer van die gebruiker.
>> Publiek: Afhangende van die situasie, jou terwyl sirkelroetes sal meer geneig om te hardloop
dikwels as terwyl loops, soos deur een of iets?
>> LAUREN CARVALHO: As dit die presiese -
>> LUCAS FREITAS: Hulle moet altyd loop die presiese bedrag van tye wat jy
wil dit uit te voer.
Soos ons gebruik doen terwyl omdat ons regtig wou die insette ten minste een keer te kry.
In terwyl loops, soms jy wil nie dit uit te voer op alle indien dit nie
die geval uit te voer.
So dit hang af van die ontwerp.
Ek bedoel, kan jy óf gebruik doen terwyl of terwyl so lank as jou kode doen wat
dit veronderstel is om te doen.
>> LAUREN CARVALHO: Maar ek doen dink die antwoord op jou
vraag is waarskynlik ja.
Kom ons sê die toestand valse was.
In een geval sou dit een keer te hardloop, en 'n ander geval is dit sou loop nul tye.
So, ja.
>> Enige verdere vrae?
Ja?
>> Publiek: Kan die lus toestand wees om 'n lus in terme van 'n veranderlike ander
as [onhoorbaar].
>> LAUREN CARVALHO: Ja, dit kan enigiets wees.
Waarskynlik vir die begin Psets, jy sal nie so 'n geval te ontmoet nie, maar
beslis kan enigiets wees.
>> LUCAS FREITAS: Ek dink ons hier gedoen het.
>> LAUREN CARVALHO: Is ons?
Nee?
>> LUCAS FREITAS: Loops?
Ja.
>> LAUREN CARVALHO: Ons moet nie.
Ag, het ons klaar is met loops.
OK.
>> Eintlik, want ons het al so praat veel, laat ons eintlik al navigeer
oor te study.cs50.net/conditions.
En jy gaan om te navigeer af om die probleme widget.
Wel, eintlik, terwyl mense kry die opstel van die CS50 Studie is
gaan na 'n instrument wat jou TFS sal wees gebruik om voor te berei vir die afdelings en dat
julle kan gebruik as jy mis afdelings.
Dit gaan 'n klomp van die skyfies te bevat, 'n paar wenke en truuks vir elke
onderwerp, en 'n paar probleme praktyk met oplossings.
>> Hoekom nie almal net 'n blik op hierdie probleem reg hier.
>> Ek is jammer, moet ek daaraan herinner het mense skootrekenaars vandag te bring.
Maar as jy nie het nie 'n skootrekenaar, dit is OK.
Jy kan net stip dit neer op 'n stuk papier of kyk oor
jou naaste se skouer.
>> Kom ons probeer en skryf 'n program wat vra die gebruiker 'n raaiskoot te neem, die
gemiddelde aantal kinders per gesin eenheid in die Verenigde State.
Dat die getal is 2, by the way, as jy kan sien uit hierdie voorbeelde.
>> Ons wil uit te druk gemiddelde aantal kinders per gesin in die VSA, dan is ons
wil wat?
Ons wil insette in te samel van die gebruiker.
En dan, afhangende van wat die gebruiker se insette is, jy gaan om uit te druk
óf dit is korrek of dit is verkeerd.
>> En die heel eerste ding wat jy sal sien, as jy klik op die klein pyltjie
die kern van die probleem is 'n widget sien neerskryf paar pseudokode.
So jy is nie die programmering nie.
Jy is net om jou idees in orde is.
>> Is daar iemand wat wil Lucas te help kom met die regte
pseudokode vir hierdie probleem?
>> LUCAS FREITAS: Wat is die eerste ding wat dat ons waarskynlik hier moet doen?
Wat dink julle nie?
>> Publiek: [onhoorbaar]
>> LUCAS FREITAS: Ja, OK.
So, druk.
Net sê die druk as die gemiddelde aantal mense?
OK.
Print vraag, kom ons sê.
Nadat ek druk hierdie vraag, wat moet ek doen?
>> Publiek: Kry insette.
>> LUCAS FREITAS: Kry insette.
Enigiets anders?
>> Publiek: toestand.
>> LUCAS FREITAS: toestand.
>> LAUREN CARVALHO: Wat is dit toestand gaan wees?
>> Publiek: Die aantal [onhoorbaar].
>> LAUREN CARVALHO: Right.
>> LUCAS FREITAS: So wat gaan ek om te kyk in die toestand?
>> Publiek: As dit gelyk 2.
>> LAUREN CARVALHO: As dit gelyk 2.
Presies.
>> LUCAS FREITAS: Is daar enigiets anders wat ek moet doen?
>> Publiek: Tel.
>> LUCAS FREITAS: So as dit gelyk is aan 2, kom ons sê -
laat my net skryf as insette gelyk 2, dan is wat ek gaan
om te doen is om druk korrek is.
En dan anders, ek gaan druk verkeerd.
Enigiets anders?
Nee?
>> LAUREN CARVALHO: So jy - kan op die kliek
nie almal het dit neer?
>> LUCAS FREITAS: Maak dit sin?
So nou, laat ons probeer om dit te kode.
>> LAUREN CARVALHO: As jy kliek op die klein pyl, is dit eintlik spaar jou
pseudokode, wat is regtig opwindend.
En jy kan maak wat in kommentaar as jy wil net om jouself te herinner aan
wat om te doen.
>> LUCAS FREITAS: So byvoorbeeld, in die eerste Ek gaan om die vraag te druk, so
hoe gaan ek om dit te doen, nou eintlik?
printf.
So printf, en die vraag is gemiddeld aantal kinders per
familie in die VSA.
>> Toe ek gaan kry toevoer van die gebruiker.
So, hoe kan ek dit doen?
>> Publiek: Kry Int.
>> LAUREN CARVALHO: getint.
>> LUCAS FREITAS: OK.
So eerste verklaar, reg?
int, kom ons noem dit n gelyk getint.
>> En nou het die toestand.
So laat my sê dat ek gaan tjek antwoord tot hier.
So die eerste, indien insette, wat is n, gelyk te - hoe gaan ek dit skryf?
>> Publiek: Gelyke gelyk.
>> LUCAS FREITAS: Perfect.
So n.
En sien dat ek 'n ruimte, gelykes, gelyk, ruimte, waar is.
Maar nou, wat moet ek doen?
Iets baie belangrik vir styl.
Die krullerige draadjies.
>> En dan gaan ek te druk.
Hoe druk ek doen?
printf.
>> Publiek: Kan dit gekapitaliseer word?
>> LUCAS FREITAS: No
Dit is veronderstel om al die klein te wees.
So wat korrek is.
>> Sou dit nie genoeg vir die printf verklaring, of ek iets mis?
>> Publiek: New lyn.
>> LUCAS FREITAS: New lyn, ja.
En nou anders.
>> Publiek: Is daar 'n ruimte na die printf of nie?
>> LAUREN CARVALHO: Ons moet Gaan die styl gids.
>> Publiek: Dit behoort nie.
>> LUCAS FREITAS: Moet nie, OK.
So anders, printf, "Dit is verkeerd."
>> LAUREN CARVALHO: Oeps, jou lyne.
>> LUCAS FREITAS: OK.
Enigiets anders?
Is dit goed lyk?
>> LAUREN CARVALHO: Sal ons probeer om dit?
>> LUCAS FREITAS: Ja, laat dit loop.
So dit is die opstel, en dit blyk dat dit werk.
Kom ons probeer om twee kinders.
Dit is korrek.
En nou, laat ons weer hardloop, maar nou in plaas van die plaas van twee kinders, laat ons
sê dat ek gaan soos vyf te sit.
Dit is verkeerd.
Dus blyk dit dat dit werk.
>> LAUREN CARVALHO: Hoekom het jy nie wys hulle Wat gebeur as jy iets
vreemd, soos 'n paar letters.
>> LUCAS FREITAS: O, ja.
Kom ons maak ook seker dat.
Wat as die gebruiker probeer om te mors met jou program, en hulle het net
skryf, weet ek nie twee.
Dit gaan weer probeer om te sê.
>> LAUREN CARVALHO: So getint vra hulle om weer te probeer.
Ons het nie het om te sorg van daardie onsself.
>> LUCAS FREITAS: Ja.
Dus, tensy ek eintlik sit 'n nommer, dit is die gang te hou my vra om weer te probeer.
>> Publiek: Hoe het jy dit sal loop?
>> LUCAS FREITAS: Slegs kliek die ster-knoppie.
>> LAUREN CARVALHO: Jy moet optrek.
Daar gaan jy.
>> LUCAS FREITAS: Die ster knoppie reg daar.
Ja?
>> Publiek: Is dit vinnig [onhoorbaar] met desimale getalle te doen?
>> LAUREN CARVALHO: Ek glo dit sal.
>> LUCAS FREITAS: As dit doen wat?
>> LAUREN CARVALHO: As hulle tik in 'n desimale getal, dink ek
dit gaan te vinnig.
>> LUCAS FREITAS: Kom ons kyk.
>> LAUREN CARVALHO: Omdat dit is nie 'n int.
>> LUCAS FREITAS: Ja.
>> LAUREN CARVALHO: So dit is nie 'n int, Kry Int sal jou vra om weer te probeer.
>> Publiek: So waar in die kode sou wees die desimale plek wat vra die
gebruiker wat hulle het om te betree spesifiek 'n heelgetal?
>> LAUREN CARVALHO: getint is eintlik om dit te doen vir ons.
>> Publiek: Nee, ek bedoel as ons wou te betree [onhoorbaar]
>> LUCAS FREITAS: Jy kan sê soos gemiddelde aantal kinders in die VSA.
Ek weet nie.
Ons kan sê, byvoorbeeld, "asseblief insette 'n heelgetal. "
>> LAUREN CARVALHO: 'n heelgetal gelyk na die gemiddelde aantal.
Ek bedoel, dit is net hoe jy woord om dit, reg?
>> LUCAS FREITAS: Ja.
Dit is nie deel van die werklikheid kodering.
Dit is meer van soos watter jy gaan om te wil
skryf in jou program.
>> Publiek: Hoe sal ons hardloop dit as dit was eintlik in gedit [onhoorbaar].
In plaas van druk speel?
>> LUCAS FREITAS: Ons sal eerste stel nie.
Ons kan dit doen deur te doen make en die naam van die lêer.
En dan dit te doen, sal ons dot streep doen en die naam van die program.
>> Publiek: Ek dink wat ek bedoel was as wou ons die program om te reageer op
hulle verkeerd is, ongeldig inskrywing, jy moet nie sit in -
>> LUCAS FREITAS: Ons sal nie in staat wees om te doen nie omdat die kode van hierdie sê
Probeer kom uit Kry Int wat 'n funksie wat reeds geïmplementeer
vir ons via die CS50 biblioteek, en aangesien dit is reeds daar geïmplementeer is, het ons
kan nie net [onhoorbaar].
>> LAUREN CARVALHO: As jy nie gebruik nie Getint, dan kan jy dit doen.
>> LUCAS FREITAS: Ja.
Maar as jy met getint, jy kan nie.
Enige ander vrae?
>> Publiek: Kan jy gegaan het met soos GetFloat en dan in staat wees om te sit
dit in 'n desimale?
>> LUCAS FREITAS: Ja.
>> Publiek: OK.
Dan moet jy net kon insette dryf 'n leeftyd -
>> LAUREN CARVALHO: Ja.
Presies dieselfde, behalwe 'n dryf in plaas van 'n int.
>> LUCAS FREITAS: Sit dit hier en dan GetFloat daar.
>> Publiek: As jy wil sien of gesien het -
>> LAUREN CARVALHO: ons het nog nie daar gekry het.
>> Publiek: - ongelykheid met doen dryf nie [onhoorbaar]
>> Publiek: Wat beteken die kommapunte nie?
>> LAUREN CARVALHO: Die kommapunt net beteken dat hierdie stelling is voltooi,
en ons gaan om te gaan na die volgende skyfie.
>> Publiek: So is dit nodig elke keer?
>> LAUREN CARVALHO: Ja.
Wel, OK, so nie vir hierdie toestande, want hulle is
vat iets.
So basies as iets wat veroorsaak dat jy dan 'n krullerige stut
blok, sit nie 'n kommapunt aan die einde.
>> LUCAS FREITAS: Maar alles anders, ja.
Wanneer jy klaar is 'n verklaring, sit die kommapunt.
En as jy kommapunte vergeet nie, die samesteller gaan kwaad vir jou te kry,
en jy gaan te hê om te probeer om dit op te los.
>> LAUREN CARVALHO: As ek 'n kommapunt hier, sou dit stop, en ek
sou nooit uit te voer wat is binne, op die pad.
So dit is een van daardie algemene foute.
>> Publiek: Altyd uitvoering.
>> LAUREN CARVALHO: Ja.
In hierdie geval, sou ons altyd voer wat die binnekant.
>> Publiek: Jou styl [onhoorbaar] heg wat vir jou, gedink het.
>> LAUREN CARVALHO: O, dis waar.
>> Publiek: [onhoorbaar] enkele lyn ding [onhoorbaar]
>> Gehoor: Ja?
>> Publiek: Kan jy verskeie insette in een lyn?
Dus, net soos jy kan vra gebruikers twee dinge te druk?
>> LAUREN CARVALHO: Nie gebruik -
>> LUCAS FREITAS: No
Kom ons sê dat ek wil ook hierdie heelgetal m te kry.
Ek het om dit te doen in 'n ander lyn.
>> Publiek: As jy was om te hardloop dat hoe [onhoorbaar]?
Dit sou die vinnige druk daar [onhoorbaar]
en dan sal jy een tree en -
>> LAUREN CARVALHO: Wel, dit loop.
Ek bedoel, daar is niks stop ons van net loop dit en sien wat
sou gebeur.
>> LUCAS FREITAS: Ek dink dit is gaan kla by ons
omdat ons dit nie gebruik -
>> LAUREN CARVALHO: Oeps.
>> LUCAS FREITAS: Dit het gekla by ons reg nou, want ons is nie die gebruik van hierdie
veranderlike, maar as ek gedoen het, byvoorbeeld, n is gelyk gelyk aan, en m is gelyk aan
gelyk aan, wat sal dan gebeur in hierdie geval?
Wat sou hierdie program te doen?
>> Publiek: Ek is net wonder hoe dit sou -
>> LAUREN CARVALHO: Sy wil net om te weet hoe dit lyk
soos, dink ek, reg?
So het dit een van hulle, en dan dit het die tweede een.
>> Ek dink ons ​​moet beweeg, want ons het nog 'n
Skyfie vertoning om voor te gaan -
wil jy te trek wiskunde?
>> LUCAS FREITAS: Ja, wiskunde.
>> LAUREN CARVALHO: Gee my net 'n sekonde.
>> Daar is 'n paar verskillende numeriese veranderlikes in C. numeriese data in C
kan in verskillende tipes geklassifiseer word, en dit is die mense wat jy sal
sien die meeste.
>> En int is 'n hele aantal.
Jy kan nie 'n desimale.
In die toestel, neem dit 32 stukkies 'n int te stoor.
>> 'N float kan hê desimale.
Dit neem ook 32 stukkies te stoor 'n float in die toestel.
>> 'N dubbel is 'n getal met 'n desimale punt wat neem 64 stukkies om dit te stoor,
wat beteken dat jy net kan groter presisie omdat
nie meer kan hê -
wat noem jy dit?
>> LUCAS FREITAS: Ja, dis meer.
>> LAUREN CARVALHO: Meer plekke na die desimale punt.
En 'n lang lang is 'n hele aantal dit neem 64 stukkies
seer dit in die toestel.
>> LUCAS FREITAS: So dit kan wees groter as ints kan wees.
>> LAUREN CARVALHO: Die ding oor data tipes in C is dat hulle vertel wat
soort van data wat jy kan stoor in jou veranderlike.
Hulle vertel hoe jy kan gebruik om hierdie veranderlike in jou program.
Dit is baie belangrik om net dop te hou van wat data tipe wat jy gebruik, en indien
jy hoef te gooi van 'n data tipe na 'n ander, maak seker dat jy weet
presies wat gebeur wanneer daardie beslissende plaasvind.
En jy sal 'n voorbeeld later sien in hierdie skyfies van 'n
fout wat kan voorkom.
>> Kom ons neem 'n blik op 'n paar wiskunde in C en dink regtig versigtig, dink ek,
oor wat gaan aan toe hierdie wiskunde plaasvind.
In die heel eerste lyn, wat is gebeur wanneer ek verklaar x?
>> Publiek: Jy laat x iets te wees?
>> LAUREN CARVALHO: Ja.
Wel, ek is regtig vra die bedryfstelsel stelsel vir 32 stukkies van die geheue, reg?
In wat kan ek 'n int stoor, en Ek gaan dat int x te bel.
>> LUCAS FREITAS: Eintlik gaan in die geheue en die vind van 'n plek wat 32
stukkies en gesegde, hey, ek wil hierdie ruimte, en dit gaan x genoem te word.
So jy is net mooi veel bevinding 'n boks in jou geheue te
winkel waardes vir x.
>> LAUREN CARVALHO: En dan het ek inisialiseer x, wat beteken dat ek net die stoor van die
waarde van 2 in daardie plek, wat stuk geheue, dat ons bedryfstelsel gevra
stelsel vir.
En hier wat ons doen, is ons is eintlik verklaar en
initializing y in een lyn in plaas van in twee lyne soos ons gedoen het tot hier,
Dit is ook 'n heeltemal fyn, Ons is toevoeging van 1 tot x, en ons is die stoor wat
waarde in y.
>> LUCAS FREITAS: So basies wat hierdie lyn nie, is dit nou bevind 'n boks vir y,
en dan sy waarde, die ding wat jy gaan die binnekant van die boks te sit, is
gaan die waarde van x plus 1 te wees.
So het dit hierdie boks vir y.
Dit raak die waarde van x, lyk hier, en sien dat dit 2.
Sit dit daar, plus 1, so dit plaas 'n 3 daar.
Is wat sin maak?
So y sou wees 2 in hierdie geval.
>> LAUREN CARVALHO: Alle reg, cool.
Ons het 'n paar Daarbenewens, so laat ons nou dink verdeeldheid in C. Hier Ek is
verklaar en initializing n float genoem antwoord en deel 1 deur 10,
en dan is ek druk die antwoord tot twee desimale plekke.
En let hier, in my printf verklaring, wanneer ek wil iets te druk twee
desimale plekke,% 0,2 f wat ek wil gebruik.
So die punt 2 net sê Ek moet twee plekke na die
desimale gedruk.
>> Nou, wat gaan gebeur As ek loop hierdie kode?
Is daar iemand het 'n idee?
Wat sou druk?
>> LUCAS FREITAS: Wat is ons verwag om te kry.
>> LAUREN CARVALHO: Wat doen ons wil hê, eerste van almal?
>> LUCAS FREITAS [onhoorbaar]
>> LAUREN CARVALHO: 0,1, ja.
Maar wat sal druk?
>> Publiek: [onhoorbaar]
>> LAUREN CARVALHO: Wel, nee, eintlik.
Dit is wat ek praat oor die rede waarom jy moet baie versigtig om tred te hou
jou data tipes.
So, wat data tipe is dit?
Is 'n int, reg?
Daar is geen desimaal.
10 is ook 'n int.
Daar is geen desimaal.
>> As ek deel 'n int deur 'n int, ek kry 'n int wat nie 0,1 nie, want ints
kan nie 'desimale plekke, maar net 0.
Omdat 'n int net kapt van die desimale plekke.
>> LUCAS FREITAS: So wanneer jy dit doen bedrywighede met ints, gaan jy
kry 'n int as die antwoord.
So basies, wat die rekenaar doen, is dit verdeel 1 deur
10, en dit kry 0,1.
Maar dan is dit soos, wag, dit is veronderstel 'n heelgetal te wees, sodat jy net
ignoreer die 0,1, so dit is nou net 0.
>> LAUREN CARVALHO: So wanneer ek druk hierdie uit, ek kry 0,00 eerder as 0,10.
>> LUCAS FREITAS: Is wat sin maak?
>> LAUREN CARVALHO: Dit is soort ongelukkige, reg?
>> LUCAS FREITAS: So, hoe kan ons dit regmaak?
>> LAUREN CARVALHO: Kom probeer en op te los nie.
Hier is 'n voorbeeld van waar ek gooi selfs die 1
en die 10 tot dryf.
So nou, 1 is nie meer 'n int.
1 is 'n float.
By the way, dit is net die sintaksis vir wanneer jy wil gooi van die een
data tipe na 'n ander.
Jy kan net die data tipe in hakies en dat die net voorafgaan
die waarde wat jy gooi.
>> So hier, ek deel 'n float deur 'n float n float antwoord te kry.
En ja, dit sal in Trouens druk 0,10.
Is wat sin maak?
>> LUCAS FREITAS: So tipe beslissende is net omskakeling van een tipe na die ander.
So dryf 1 is eintlik 1,000.
Nie presies nie, maar dit is iets met desimale plekke
wat is eintlik 1.
Is wat sin maak?
Ja?
>> Publiek: Wat gebeur as jy het float antwoord gelyk 1,0 gedeel deur 10?
>> LAUREN CARVALHO: jy eintlik gaan om te sien dat in die volgende skyfie.
Dis eintlik ons ​​volgende skuif.
Dit is eintlik 'n mooier as tik gooi, dink ek.
So het hierdie twee dryf net deur aard van die feit dat hulle
het desimale plekke.
Ja?
>> Publiek: Wat gebeur as jy het [onhoorbaar]
gedeel deur 10?
>> LAUREN CARVALHO: Eintlik 'n float gedeel deur 'n int eintlik gee jou 'n
dryf, sodat fyn sal werk.
>> Wag, het almal verstaan ​​dit?
Omdat dit gaan om 'n werklik groot deal in Pset1, eintlik.
Ja?
>> Publiek: Kan jy net vinnig gaan oor die rooi deel?
>> LAUREN CARVALHO: Die rooi deel, ja.
Lucas, wil jy?
>> LUCAS FREITAS: OK.
So onthou dat die persentasie is 'n plekhouer.
Dit is soos 'n leë ruimte.
So laat ons probeer om alles te verstaan wat gaan hier aan.
Persent beteken dat dit 'n tydelike aanduiding.
Dan het jy die f, wat beteken dat hierdie plekhouer is vir 'n float.
Die laaste ding wat ons hier het is 'n 0,2, wat beteken dat ek wil twee te hê
desimale plekke vir die float.
>> As ek moes net% f, hulle sal sit 'n klomp van die desimale plekke.
So ek kan net 0,2 of 0,1 of 0,5, of wat ook al, en dit gaan om dit te sit
aantal desimale plekke.
Die enigste ding is dat as jy soos ' 0,100 of .1,000, dit is nie eintlik
gaan al daardie desimale plekke om te sit omdat dit nie genoeg geheue het
dat presisie te hê.
>> Enige ander vrae?
Ja?
>> Publiek: So dryf net toelaat om te gaan buite heelgetalle?
>> LUCAS FREITAS: Ja.
>> LAUREN CARVALHO: Wel, 'n float net kan jy desimale plekke te hê.
>> LUCAS FREITAS: Dit beteken net dat jy nou kan desimale getalle.
>> Publiek: Hoekom sal ons ooit gebruik heelgetalle?
>> LUCAS FREITAS: Hoekom sou jy heelgetalle gebruik?
Miskien as jy tel 0-10, jy wil om werklik te gebruik om 'n heelgetal.
Jy hoef nie 'n float te gebruik.
In sommige gevalle, kan jy dit nie doen nie moet eintlik -
>> LAUREN CARVALHO: Miskien is jy wil nie desimale.
>> LUCAS FREITAS: Miskien is jy dit nie doen nie wil 'n float te gebruik.
>> LAUREN CARVALHO: Die ander ding is, onthou, beide het 'n float en 'n int
Neem 32 stukkies om hulle te slaan, en miskien jy wil nie stukkies te mors op die
desimale plekke.
>> LUCAS FREITAS: Ja.
Dus, net soos, net dink oor hierdie.
Jy het 32 ​​stukkies vir beide 'n int en 'n float.
Vir 'n int, al daardie 32 stukkies gaan na die heeltallige deel.
As jy 'n float gebruik met 32 ​​stukkies, jy 'n deel van die geheue wat gebruik word
vir die aantal, vir die volle getal, en die ander deel wat gebruik word vir die
desimale plekke.
So dit beteken dat jy nie kan kry om te baie groot getalle met dryf omdat
die float is reeds met behulp van 'n baie geheue vir die desimale plekke.
Ja?
>> Publiek: Dit is die eerste antwoord, wat presies dit te doen?
Is dit die opstel van die waarde van float gelyke aan daardie plekhouer te wat jy kan
onthou dit in die volgende lyn?
Dit sê dryf antwoord.
>> LUCAS FREITAS: Ja.
So, float antwoord beteken jy kry nou 'n bietjie emmer in die geheue wat
het 'n vlot, en wat gaan genoem te word antwoord.
So dit is wat float antwoord nie.
>> En dan sê jy dat die binnekant van hierdie, gaan jy om te sit
Die gevolg van hierdie.
So jy gaan om te doen 1.0 gedeel deur 10.0, jy 0,1, en dan kan jy
wat binne antwoord.
>> LAUREN CARVALHO: So in een lyn, ons is verklaar en initializing hierdie float
genoem antwoord.
>> LUCAS FREITAS: Interessant genoeg, hoewel Dit is net een lyn, dit doen
verskeie operasies.
Dit is net 'n manier van C verhuring jy gebruik minder code.
Dit is dieselfde as die drieledige operateur, hoe jy kan net nie 'n
[Onhoorbaar] in een lyn.
Dit is eintlik dieselfde ding doen as doen float antwoord, kommapunt, en
beantwoord dan gelyk, maar in plaas van maak jy twee lyne vir wat,
dit is soos 'n kortpad.
Ja?
>> Publiek: So as jy hardloop het, dit sou 0,10 wees?
>> LUCAS FREITAS: Ja.
Ja?
>> Publiek: Is beantwoord eintlik kode, of is dit net die naam?
>> LAUREN CARVALHO: Dit is eintlik kode.
Dit is wat ons gaan ons veranderlike te noem.
>> Publiek: So dit is net 'n naam [onhoorbaar].
>> LAUREN CARVALHO: Ja.
Ek kon gesê het float x gelyk aan 1,0.
>> LUCAS FREITAS: Die ding is dat die naam van die veranderlike
iets wat jy gebruik.
Dit is belangrik vir jou.
Vir die werklike program, die enigste ding wat saak maak is die waarde wat jy
het binne-in die emmer.
Die rede waarom jy veranderlikes en name van veranderlikes is, sodat jy wil weet
wat jy doen het met, soos watter soort data wat jy
toegang op 'n tyd.
Maar vir die kode self, as jy bel dit beantwoord of 'n vraag of enigiets nie,
pretty much, beteken dit nie saak nie.
Dit maak nie saak nie.
Solank as wat jy konsekwent in elke voorkoms en dit sodat jy dit noem
iets anders.
Ja?
>> Publiek: Doen die veranderlikes verder gaan as die funksie?
Soos as jy 'n bracket te skep [Onhoorbaar], kan jy net
[Onhoorbaar] weer beantwoord?
>> LAUREN CARVALHO: No
>> Publiek: [onhoorbaar]
>> LAUREN CARVALHO: No
Dit sou buite die omvang wees van hierdie spesifieke veranderlike.
En eintlik, dit is soort van interessant, want wanneer ons
dinge soos lusse of hierdie as voorwaardes, as jy 'n veranderlike verklaar
in 'n ander stel van krullerige draadjies, Dit was regtig net bestaan
binne daardie krullerige draadjies.
>> Publiek: Een laaste opmerking oor die [onhoorbaar] dryf.
Hoekom sou jy ooit wil ints te gebruik?
Dit is meer van 'n kant nota as niks nie, maar jou rekenaar is
aansienlik beter hanteer ints as wat dit is vir die hantering van dryf.
Dit is soos 'n bevel van grootte vinniger.
So as ons net hanteer net dryf, dinge sou wees om 'n baie stadiger.
>> LAUREN CARVALHO: Eintlik, dit lyk asof daar 'n probleem met balle te wees.
>> LUCAS FREITAS: Kind van die rede vir dat jy kan dink, is hoe in binêre
jy heelgetalle kan verteenwoordig deur 0's en 1's.
>> LAUREN CARVALHO: Dis die volgende ding.
>> LUCAS FREITAS: OK.
Awesome.
>> LAUREN CARVALHO: Slegs hou dat denke.
>> LUCAS FREITAS: OK, ek sal vertel later.
>> LAUREN CARVALHO: Voor ons by watter Lucas is net sê, operateur
voorrang.
Dit is gesonde verstand.
Julle het dit gedoen genoeg nie.
So, net as iets is in hakies, dit sal eers gebeur nie.
Dit is vermenigvuldiging voorrang oor Daarbenewens,
aftrek, dinge soos dat.
So eintlik, net nie almal wil vertel my wat nommer een eintlik
evalueer aan?
>> Publiek: 27.
>> LAUREN CARVALHO: 27?
Ja.
>> LUCAS FREITAS: Kom ek gee kerse aan mense.
>> LAUREN CARVALHO: Alle reg.
Wat van nommer twee?
>> Publiek: 22.
>> LAUREN CARVALHO: 22, ja.
Ek weet nie wat dit het.
Nommer drie?
>> Publiek: 10.
>> LAUREN CARVALHO: 10, ja.
Cool.
So modulo.
Lucas, wil jy modulo te verduidelik?
>> LUCAS FREITAS: Modulo is dit operateur Dit is eintlik baie nuttig vir 'n
n klomp van die probleme.
As ek dit doen 55 modulo 10, wat dit doen hierdie kom ons sê wat ek wil
verdeel 55 deur 10.
Wat kry ek?
Dit voel net soos as ek eintlik net ' doen die afdeling, wat is die
eerste keer dat ek die heelgetal?
>> Publiek: 5.
>> LUCAS FREITAS: 5.
En dan is die res 5, reg?
So dit is soos 5 keer 10 plus 5.
Basies, wat modulo nie, dit probeer om hierdie getal deur hierdie een, en
dit sien wat die res van die afdeling.
>> LAUREN CARVALHO: So is dit net terugkeer van die res.
So nommer een is wat?
5.
Nommer twee?
>> Publiek: 3.
>> LAUREN CARVALHO: 3.
Nommer drie?
0.
En vier is 1.
Presies.
>> LUCAS FREITAS: eenvoudig, reg?
>> LAUREN CARVALHO: Hoekom het ons nie slaan hierdie net omdat ons het nie regtig
tyd, en mense lyk om te verstaan.
So hier is wat Lucas was net praat.
>> LUCAS FREITAS: Nog 'n rede hoekom ek ints plaas van dryf is sou gebruik
wat dryf is baie vaag.
En hoekom is hulle vaag?
David het gesê dat 'n heelgetal te verteenwoordig, Byvoorbeeld, ons gebruik 0's en
1's, reg?
En dan moet jy basies doen om die vermenigvuldiging, doen alles wat
bedrywighede te weet wat desimale getal jy het in plaas van die program nie.
>> Wat gebeur nou as ek probeer desimale punte te sit?
Eintlik, byvoorbeeld, as ek die nommer soos 3,33333?
Dit voel soos 10 meer as 3.
Hoe gaan ek te stoor al die 3 is dat ek na daardie?
Dit is regtig moeilik, reg?
Jy kan nie net vir die rekenaar, hey, ek het 'n 3 en
dan doen jy wat vir ewig.
Eintlik is die rekenaar is nie slim genoeg vir hierdie.
>> So basies al jou rekenaar doen, is dat dit probeer om soveel syfers te sit as
dit kan tot die geheue wat jy het.
So kom ons sê dat dit gaan sê 3,3333, en dit is dit.
So dit is nie in staat om werklik te druk presies wat dit float is.
>> LAUREN CARVALHO: Ons het 'n beperkte aantal van stukkies, wat beteken dat nie
elke desimale getal gaan wees kan word presies verteenwoordig.
En so in hierdie voorbeeld, as ons uit te druk 0.1, ons is nou druk
uit 20 plekke.
>> LUCAS FREITAS: Net soos ek is vertel julle ouens, kan jy enige aantal sit.
Maar as jy net het die twee plekke, jy kry 0,10, maar as jy sit 20
plekke, dit gaan jou te wys 'n klomp van 's, want dit is wat jy kan sit
in die geheue, reg?
>> Maar hier, tot die 0, en dan net sit dit 'n
klomp van ewekansige getalle.
Dit is soort van soos 'n paar -
>> LAUREN CARVALHO: Dit is omdat ons is nie in staat om hierdie desimale verteenwoordig
juis met die aantal van stukkies wat ons het.
>> LUCAS FREITAS: En dan is die rekenaar is basies
gee jou 'n asblik nommer.
Dit is nie eintlik die waarde van die getal.
>> Publiek: Dit is so na as dit kan kry [onhoorbaar]
gebruik van die [onhoorbaar].
>> LAUREN CARVALHO: So het die implikasie van hiervoor is dat kom ons sê dat in plaas van
synde 0.100014, wat ook al, Wat as dit was 0,0999 -
Wel, OK.
Kom ons maak dat die werklike antwoord hierdie was 0,9999999.
Dit is baie naby aan 1 nie, maar dit is nie presies 1.
Dit is 0,99999.
>> Dit beteken dat as ek daardie 0,999, En ek het dit aan 'n int, ek kry 0.
Ek kry nie 1.
>> LUCAS FREITAS: want onthou, beslissende van float te int, jy moet net
ignoreer al die desimale plekke.
Jy moet net ignoreer.
Daar is nie so iets soos afronding of loop af wanneer jy persoon geklassifiseer.
Eintlik is daar hierdie funksie wat doen afronding, wat baie
belangrik, maar jy dink net dat wanneer jy doen typecasting, dit is net
gaan alles te verwyder.
So selfs as jy het 0,99999, gaan dit om net te gee 0 as jy typeren
[Onhoorbaar] 'n heelgetal.
>> LAUREN CARVALHO: So net werklik bewus swaai punt in presisie,
veral wanneer jy begin dryf te gebruik in Pset1.
Maar die wandeling deur moet waarsku julle van wat as goed.
>> LUCAS FREITAS: En eintlik is dit regtig hard, byvoorbeeld, as ek dit gedoen
float antwoord 1 is gelyk aan 1,0 oor 10, en dan dryf antwoord 2
gelyk aan 10,0 oor 100.0.
Hulle is dieselfde nommer, reg?
0.1, reg?
1 meer as 10 of 10 meer as 100.
Maar nou as ek probeer om die gelykheid te sien, soos as antwoord 1 is gelyk te beantwoord 2,
miskien is dit nie eintlik gaan dieselfde ding wees.
So dryf is soort van soos dit.
Hulle is soos om gelykheid.