[Powered by Google Translate] Lexi ROSS: Dobre, ahoj, všetci.
Vitajte na prvej CS50 supersection.
To bude iba týždeň supersections.
Po tomto, budete chodiť do pravidelného oddielu s vaším
priradená TF.
Ale tento týždeň, robíme to v trochu inej
formát, aj keď skutočný formát, ako to pôjde
ďalšiu hodinu a pol, alebo tak, bude dosť
podobné tomu, čo budete vidieť na
zvyšok semestra.
>> Takže to, čo budeme robiť, je začať tým, že ide cez
časť časť vášho problému sady.
Takže ak ste si cez súbor p, ktorý snáď máte,
uvidíte, že tam je časť nazvaná "Sekcia
Otázky ", a tieto sú určené na preč
cez vo vašich oddieloch.
Takže máte výhodu tým, že tu v tom, že sa dostanete do
ísť cez tieto viac koncepčný báze otázok.
A potom, čo sme urobiť, budeme chodiť v posledných dvoch desaťročiach
sekcie otázky, ktoré sú viac ponoriť
do kódovania typu otázky.
Takže sme vlastne bude mať vy trvať niekoľko minút,
minút pre každú otázku, skúste ich riešiť na vlastnú päsť, a
potom budeme schádzať pomocou novej CS50
Priestory náradie a ísť cez odpovede, takže si všetci
správny kód preskúmať.
>> Takže pár oznámenia.
Nezabudnite, že je to úradné hodiny každý večer tento
týždeň v Annenberg 8-11, takže sa vziať
Výhodou tých.
A tiež, že nemožno spustiť p nastavená príliš neskoro do týždňa.
Začnite dnes večer alebo zajtra večer, najneskôr.
Budete ľutovať, ak budete čakať príliš dlho
a naraziť na problémy.
Tak sa naše odporúčania a rozhodne začať čoskoro.
To bude dobrý spôsob, ako začať s
Tieto sekcie otázky.
Takže som Lexi, mimochodom.
Som TF.
A to je Dan, ktorý je tiež TF.
DAN BRADLEY: Ahoj, chlapci.
Lexi ROSS: A on dostane
začal s otázkami.
>> DAN BRADLEY: Dobre.
Takže budem len predstaviť pár trochu kompilátor
problémy, ktoré budeme hovoriť o, a len prejsť
nejaký koncepčných nápadov, ktoré musíme skutočne spustiť
kód, a to buď v zariadení alebo s našou druhom fake
spotrebiče, na príkaz Spustiť CS50 a medzery.
Takže povedzme, či niekto v publiku nemá poňatia
o tom, čo to hovoríš.
>> Takže, čo je knižnica v súvislosti s kódom?
Každý, kto má nejaký nápad?
Dobre.
Sweet.
PUBLIKUM: Ako ilustrácie funkcií, ktoré niekto iný
už naprogramovaný, že môžeme vybudovať?
DAN BRADLEY: Presne tak.
Takže knižnica je legálne funkcií, ktoré niekto iný
už naprogramovaný že nemusí
re-implementovať sami.
Takže máme veci ako štandardné I / O knižnice,
cs50.h knižnica, že sú veci, ktoré svet,
Internet, zamestnanci robili, že je naša
žije ľahšie as kódery.
Tak ako sa vám tlačiť veci na obrazovke?
Nemám tušenie, printf to urobí za mňa.
Je to niečo, čo niekto iný už stanovené, že je
úžasné a funguje celkom dobre.
>> Dobre.
Takže použitie knižnice, na druhej strane sa však mať
skutočne urobiť nejaké ďalšie veci s vaším kódom.
Takže budete musieť použiť také veci # include.
Čo to má robiť?
Akú úlohu tu hru, keď máte to v programe?
PUBLIKUM: To vám umožní využiť všetky funkcie, ktoré sú
[Nepočuteľné]
Knižnica jednoducho pomocou definícií, ktoré majú už
[Nepočuteľné]
knižnica.
DAN BRADLEY: Dobre.
To vám umožní vytiahnuť knižničný funkcie do kódu, ale
robí to takým spôsobom, že ich nemožno presne rovnaké ako ako
-Lcs50, ktoré sa dostaneme za chvíľu.
Je to len nechá kompilátor vedieť, že hej, sú tieto
funkcie, ktoré sa chystáte prísť do vášho kódu.
Buďte si vedomí, že v prípade, že nie sú úplne popísané v kóde
že je pred vami, je tu nejaký knižničný funkcie
, Ktorý sa chystá postarať sa o to.
>> Takže v prípade printf, ktorý pôjdeme cez niekoľko
časy dnes, je štandardné I / O knižnice.
Takže keď som nevymedzujú printf nikde v mojom kóde vôbec,
Štandardné I / O sa stará o to pre mňa, a ja urobím # include
stdio.h, a to bude ťahať v týchto funkciách, ktoré som
neboli nikdy definované.
Takže aký je rozdiel, potom medzi tieto # include
a-lcs50?
Čo-lcs50 robiť, keď som ho odovzdávali
kompilátor, ako Clang?
Každý, kto má nejaký nápad?
Dobre.
Jo?
PUBLIKUM: To vám umožní prístup k CS50 knižnice?
DAN BRADLEY: To vám umožní prístup k CS50 knižnice v
že to hovorí kompilátora, rinčať, že hej, to je miesto, kde
ste vlastne ísť, ako sa tieto funkcie.
Takže # include hovorí, že sú
tieto funkcie niekde.
-Lcs50 hovorí, prejdite na tomto mieste vo vašom počítači -
to cs50 knižnica -
a vytiahnuť skutočný kód týchto funkcií.
Dáva to zmysel, všetci?
>> Takže to všetko sú veci, ktoré sú na pomoc svojho kompilátora
spolu s výrobou kód vlastne beží.
Rýchly dotaz.
Ľudia vedia, čo kompilátor je?
Dobrý zmysel?
Je to v podstate brať písomný kód, ktorý máte,
prevod na binárne, prevod do strojového kódu,
takže váš počítač môže skutočne pochopiť.
A bez ďalších okolkov, budeme ísť do viac
skutočné kódovanie cvičenia, ktoré ste sa pobaviť
potopenie svoje zuby do, a Lexi pôjde cez to.
>> Lexi ROSS: Dobre.
Awesome.
Takže sme ísť cez dve otázky.
Takže prvý je skutočne, môžete vidieť, že je to trochu
malá tu, ale v podstate je to s výzvou na
napísať program, ktorý trvá určitú užívateľský vstup.
Nie som si istý, prečo je čierny štvorec tam.
Je to tajomné.
To by malo byť v poriadku, ale.
Tak to chce, aby ste sa užívateľský vstup v stupňoch Celzia, previesť, že
na stupne Fahrenheita, a potom povedať užívateľovi, čo teplota
by byť v Celzia.
Takže môžete vidieť ukážkový vstup / výstup sekvencie tu.
V užívateľské vstupy - po Celzia, tučne odkazuje na
užívateľský vstup.
Takže užívateľské vstupy 100, a program výstupy
Fahrenheit, 212,0.
A významný rozdiel v tomto programe je to, že sme
bude mať iba jedno desatinné miesto, takže uvidíme, ako to urobiť
že rovnako.
A tak ďalšia vec k poznámke je, že sme pomocou a.out
pretože zvonenie, kompilátor, automaticky pomenuje jeho binárne
Súbory a.out neurčíte s určitou vlajkou dať
to jeho vlastné meno, ale teraz sme len tak použiť
Predvolená hodnota, a.out.
>> Takže poďme vlastne trvať niekoľko minút a pokúste sa zapísať
nejaký kód pre tento seba.
Takže je to 04:15.
Takže v 04:20, budeme sa vrátiť a - oh, správne.
Priestory.
Cool.
To je niečo ako to, čo nazývame kostru kódu v tom, že
je to kostra, ale musíte vyplniť v mäse
program vlastne urobiť to bežať.
Takže môžete vidieť direktívy # include až tam patrí
cs50 a štádiách.
Všimol som si v komentári aktuálne vzorec pre prevod
Celzia na stupne Fahrenheita, v prípade, že si nepamätáte z vysoko
školu vedy alebo ktovie čo ešte.
A potom je to len kostra
aktuálne hlavné funkcie.
Takže všetko, čo napíšete sa ísť sem.
A, aby sa skutočne dostať do tohto priestoru -
takže CS50 Priestory je možné pristupovať pomocou tohto URL, ktoré Dan je
bude písať na tabuľu, a ja diktovať rovnako.
DAN BRADLEY: cs50.net/spaces--
Lexi ROSS: / qWLc -
Je mi ľúto, y.
DAN BRADLEY: Y?.
Lexi ROSS: Nie, nie, nie, nie.
To je v poriadku.
qYLcYWfg.
Tak som mal vidieť každý má mená druh objavovať tu.
>> Awesome.
To vyzerá skvele.
To znamená, že ľudia sa pripája k priestoru.
Takže ak ste nedostal šancu hrať okolo
Priestory zatiaľ, to je vlastne to, čo budete používať
so svojimi TFS v časti všetkých semestrálnych.
Ako to funguje je druh každého píše vlastné
kód, a nikto nemôže vidieť, kým nestlačíte Save
Tlačidlo, ktoré som ukázal práve teraz.
Takže budem stlačte Uložiť, a keď všetci idú k môjmu menu,
ktoré by ste mali byť schopní vidieť do ľudí v tejto
Priestor, ktorý je Lexis Beryl Ross.
Tak, ako to bude vyzerať sa môžete kliknutím na moje meno, a
budete vidieť Revízia 5, ktoré
je najnovšia revízia.
Kopírovať len Revízia 5 do vášho priestoru kliknutím na neho.
>> Dobrá.
Takže poďme prejsť tento problém spoločne, a ja som
vlastne bude písať kód tu na obrazovke.
Môžete priblížiť trochu.
A potom raz som urobil, môžete skopírovať môj posledný revízie
do priestoru, ak chcete vidieť konečné riešenie.
Teraz, priestory má schopnosť pre mňa ísť a vidieť niektoré z
kód, ktorý ste písali, ale len preto, že je to
tak veľká časť a my naozaj nemajú rovnaký
druh diskusných schopností ako menšie
sekcie, sme len tak prejsť a ja idem
písať kód.
Ale rozhodne ma zastaviť s otázkami na každom mieste.
Budeme prechádzať docela to krok za krokom, aby sa
istí, že sme pochopili každú časť o tom, čo sa tu deje.
Môže každý vidieť tento text tu?
Má niekto chcieť to väčšie?
>> Takže to, čo je prvá vec, ktorú budeme robiť?
No v podstate, pretože chceme, aby sa vstup z
užívateľ a chceme, aby to bolo trochu dobré skúsenosti pre
užívateľ, vlastne chceme povedať im, čo sme hľadali.
Takže poďme vytlačiť presne to, čo chceme vytvoriť užívateľa.
Takže jednoducho nevadí zvýšiť svoju ruku, len hrkálku ho.
Čo je príkaz pre tlač niečo na obrazovke?
Divákov: printf.
Lexi ROSS: Awesome.
Dobre, tak printf.
>> PUBLIKUM: Ahoj, Lexi?
[Nepočuteľné]?
Lexi ROSS: Iste.
Takže printf, ako sme videli často v prednáške, je
príkaz k tlači niečo do štandardného výstupného prúdu.
Takže chceme požiadať užívateľa o vstup do
Teplota v stupňoch Celzia.
A teraz, vlastne chceme, aby vstup, ktorý sa dá
nám a uložiť ho do premennej.
Takže sme sa dozvedeli niečo o typoch.
Môže mi niekto spomenúť, aký typ by sme chceli pre premennú
s desatinné miesto v ňom?
Divákov: Float.
Lexi ROSS: Float.
Jo, úžasné.
Je to float.
Tak.
A ako budeme - big nápoveda - sa
plávať od užívateľa?
Divákov: GetFloat.
Lexi ROSS: Jo.
Cool.
A užívateľ by mohli byť potenciálne znamenať a pokúsiť sa dať nám
záporné číslo, ale poďme si s tým starosti, že pre tento
problém teraz.
Budeš sa báť, že trochu viac na vašom
Riešenie problému z oblasti problémového súboru.
>> Takže predpokladajme, že nám dobré číslo, a teraz sme
skutočne previesť, že plavák C do
Fahrenheit.
Takže poďme nahliadnuť do nášho vzorca sem, a poďme vytvoriť
Nová premenná a nazývať to Fahrenheit.
Študoval som pravopis.
Je to trochu šialené, ja viem.
A poďme počítať poradí operácií na druhu robiť
jeho práca tu, ale my budeme používať zátvorky len pre
úplne verbose a jasné.
Takže Celzia časoch 9 deleno 5.
Chystám sa vzdialite len trochu, takže to môže vošiel na
jeden riadok, ale budem priblížiť opäť pre tých, ktorí nemôžu vidieť,
ďalej v chrbte.
Ospravedlňujem sa za to.
Podivné kurzor otázky.
Plus 32.
Dobre, má niekto nejaké otázky o tom, ako som si v
vzorec, alebo nejaké problémy s, že?
Jo.
>> PUBLIKUM: Potrebujeme dať printf pred plaváku
celzia, float Fahrenheit skript linky?
Záleží na tom, aké poradie sú v?
Lexi ROSS: Takže otázka je, že musíme printf
predtým, než sme skutočne požiadať o plaváku?
Odpoveď je, že robíme.
Tak, že kurzor, že užívateľ dostane na vstup ich
float dôjde po tlačenej c, nie?
A to dáva zmysel, ak si myslíte, že o tom logicky, rovnako ako
Pýtaš sa užívateľovi dotaz, a potom ste
obdržaní odpovede.
Tak to vytlačí c, a potom je tu kurzor, potom
môže užívateľ zadať hodnotu, ako uvidíme
Neskôr, keď sme demo.
Áno?
>> PUBLIKUM: Prečo používať float a nie dvojitú?
Lexi ROSS: Tak dvojité, v podstate, ako názov
znamená, nám dáva dvojnásobné množstvo
presnosť ako float.
Ale typicky v C, v tomto predmete, pre rad
dôvodov, budeme používať plaváky.
A to je skutočne všetko presnosť potrebujeme len pre
druh základných teplotných konverzií.
Obvykle sa zdvojnásobí byť viac používa v jazyku Java,
plaváky sú častejšie u C. Dobre, úžasné.
>> DAN BRADLEY: Ešte jedna.
Lexi ROSS: Ešte jedna.
Áno?
PUBLIKUM: Kde si dať medzerníka?
Rovnako ako, [nepočuteľný] Space Bar [nepočuteľné]?
Záleží na tom?
Lexi ROSS: Oh, nie.
Takže nezáleží na tom,.
Vlastne som mal dať ďalší priestor tu.
Ale čo na tom, že ste v súlade
v celom kóde.
Takže ak sa rozhodnete použiť jeden štýl medzier, uistite sa, že
udržiavať ju v celom celom kódu, alebo môžete získať štýl
body odpočítané.
Takže konzistencia je kľúčom.
DAN BRADLEY: Myslím, že sa hovorí o tom priestore.
Lexi ROSS: Oh, vy hovoríte o tom priestore?
Skutočným C?
Divákov: Jo.
Lexi ROSS: Aha, tak to je len pre vzhľad, nie?
Takže tak, keď sme sa spustiť kód, ak by sme nemali tento
priestor tu, ak to vyzeral, by sa užívateľ začať
zadaním počtu a bolo by pomliaždenie až priamo
proti hrubého čreva po C, a to bude vyzerať trochu
lepšie, keby tam bol priestor.
A je vidieť, že trochu lepšie, akonáhle sa vlastne
Tento kód spustiť, keď sme si to skončilo.
Awesome.
Jo, ešte jedna otázka.
>> PUBLIKUM: Musím dať desatinnú čiarku po jednom
[Nepočuteľné]?
Lexi ROSS: Takže nie, pretože v poriadku
operácie.
Takže, pretože Fahrenheit je už plavák, ako je
Celzia, nemusíte explicitne přetypovat niektorý z nich
ďalšie čísla ako plaváky, aj keď v iných
okolnosti, keď máte čo do činenia s ints, môžete
dať bod explicitne přetypovat ako float.
Jo?
PUBLIKUM: Len som sa opýtať, či kapitalizačné záležitosti v
Tieto príkazy ako GetFloat?
Lexi ROSS: Jo, dobrá otázka.
Takže otázka bola, sa kapitalizácie záležitosť v
príkazy ako GetFloat?
Odpoveď je áno, to robí.
Takže GetFloat je, ako Dan popisoval skôr, knižnica
funkcie v CS50 knižnici, a to bolo napísané ako kapitál
G, kapitál F. Takže ak nechcete písať to s tými veľkými písmenami
tam, kompilátor nebude rozumieť tomu, čo
funkcie máte na mysli.
Dobre.
Jo?
>> PUBLIKUM: Je argument pre hlavné vždy neplatné?
Lexi ROSS: Jo, to je ďalšia veľká otázka.
Takže kód, ktorý ste skopírovali z môjho vesmíru omylom mal
niektoré ďalšie argumenty.
Takže otázka bola, je argument, s hlavnou funkciou
vždy void, čo v podstate znamená nič?
Odpoveď znie nie.
Môžete si všimnúť, že kód, ktorý ste skopírovali z mojej predchádzajúcej
revízie mal čo môže vyzerať ako nič, že naozaj robí
zmysel teraz, nejaký char *, ArGV, argc.
Nerobte si starosti, že teraz, ale budete neskôr zistíte,
o robia niečo zmeniť.
Ale ak nie ste používate tento druh pridanej funkcie
ktoré sa dozviete o neskôr, void
je úplne v poriadku.
>> Dobrá.
A máme ešte jeden krok, ktorý je, že chceme
skutočne ukazujú užívateľovi, čo konvertoval je teplota.
Takže znova, budeme používať printf, a povedzme f, práve
za účelom udržania súladu.
A teraz budeme robiť niečo trochu zložitejšie.
Takže budeme používať vlajku, alebo špeciálny druh zápisu,
povedať printf sa vytlačí iba jedno desatinné miesto.
A niekto náhodou vedieť, čo to bude vyzerať
ako predtým, než som typ to?
Jo?
PUBLIKUM: 0,2% f?
Lexi ROSS: Jo, jo.
Takže vlastne, je to naozaj blízko.
0.01f pre 0,01% f, a potom musíme mať na pamäti, aby zahŕňala
ďalší argument printf, ktorý je sám o sebe variabilný,
ktorý je n
>> Posledný krok.
Môže mi niekto si spomenúť, čo to je v našom hlavnom funkciu?
Jo, tam.
PUBLIKUM: Návrat?
Lexi ROSS: Presne tak.
Takže pretože je to hlavné sa vracia do int, chceme
tiež vráti v int.
DAN BRADLEY: Percento musí byť na druhej strane.
Lexi ROSS: Dobre.
Je nám ľúto, chlapci.
To bola chyba.
Takže percent je pred 0.01.
Takže je to% 0,01 f
Tí sú trochu ťažké si spomenúť.
Mnoho ľudí, rovnako ako ja, stačí ich vyhľadať
kedykoľvek sme ich používať.
Jo, tam.
PUBLIKUM: Prečo je to 0,01 a nie 0,2 alebo 0,1?
Lexi ROSS: Ja neviem, vlastne.
Viete, že?
DAN BRADLEY: Dôvodom je to 0,01 oproti 0,02, alebo
0,2, alebo 0,1, je pomerne arbitrárny tak, že na
programátor pôvodne navrhnutý.
PUBLIKUM: To nie je to, čo som mal na mysli.
Nepýtam sa prečo.
[Nepočuteľné] Dôvodom, prečo.
Mám je napísané ako 0,2, a to prináša dva -
DAN BRADLEY: Jo.
Takže sme boli len chcel jeden.
PUBLIKUM: Oh, áno.
Takže by ste mohol 0.01 potom.
DAN BRADLEY: 0.1 pravdepodobne aj pracovať.
0,01 funguje rovnako.
Lexi ROSS: Oh, môže byť 0 pre zobrazenie nulu, ak
je to menej ako jeden.
DAN BRADLEY: Jo, myslím, že má pravdu.
Takže 0,01 ukáže nulu, ak to nemá nič
že by tam prirodzene.
Takže ak ste boli, povedzme, uvedenie do 100 pre Celzia, by to
vyjde na 212 normálne v stupňoch Fahrenheita, ako 212 presne.
Ak sa majú 0,01, zobrazí sa 212,0, ako
na rozdiel od púhych 212.
Lexi ROSS: To je pravda.
Takže čítanie v podstate hovorí, printf, tlač desatinnú čiarku,
a vytlačiť 0 v prípade potreby.
Ak nie, vytlačte prvé desatinné miesto.
DAN BRADLEY: A budeme skúmať niektoré z týchto, keď sme
v skutočnosti spustený kód.
Lexi ROSS: Jo.
PUBLIKUM: Tak som dal 0,1.
Je stále tlačí svoju nulu.
DAN BRADLEY: Je stále tlačí svoju nulu?
Divákov: Jo.
DAN BRADLEY: Hm, dobre.
Lexi ROSS: Cool.
>> Dobrá.
Ďalšie otázky týkajúce sa tohto kódu, než som kompilovať a spúšťať?
Má niekto vidieť žiadne chyby tu, v prvom rade?
Niekto vidieť niečo, čo by malo byť tu?
Ak by sa jednalo váš problém set, čo by tú, ktorá nie je
tam teraz?
Jo, skvelý.
Tak som sa zahrnúť komentáre, pretože som ich poskytovanie
ústne, ale keď som písal to v probléme sade, by som
Rozhodne chcem, aby pripomienky na označenie toho, čo som
Pritom v podstate v programe.
A budete trochu získať pocit, pre to, ako sa budete pohybovať prostredníctvom
semester, správne množstvo komentovanie.
Vy nechcete byť príliš veľavravní a vložte linky a
línie komentáre pre každú z vašich riadkov kódu, ale vy
tiež nechcú byť ani verbose dosť a nechajte
Čitateľ sa snaží prísť na to, čo sa sakra
Váš kód je robí.
>> Dobre, v pohode.
Skúsme spustením tohto kódu.
Dobre, budem vzdialite trochu.
Cool.
Takže si všimnete, že je tlačidlo Prehrať tu.
Poďme kliknite Play.
Takže ste si všimli tu, rovnako ako v špec na problém
nastaviť, je. / a.out.
a.out je meno binárneho spustiteľného súboru, ktorý je
dlhé slovo len na súbor sa skladá z binárneho kódu, ktorý
počítač je v skutočnosti beží.
Tak, ako sme očakávali, máme C tu.
Takže zavolať na číslo.
Divákov: 23.
Lexi ROSS: 23.
DAN BRADLEY: Váš program trvalo príliš dlho bežať.
Stačí ho spustiť znova.
Lexi ROSS: Oh, môj zlý.
Dobre.
Priestory je vyberavá niekedy.
Chce, aby ste si mysleli na nohách.
Dobre, 23.
Awesome.
Má každý veriť?
V pohode, pretože to funguje.
>> Dobre.
Skúsme ešte pár.
Skúsme hranu prípad tu.
Vo vede o počítačoch, keď hovoríme o hrany prípadoch, máme na mysli
púzdra na vašom programe, ktorý by, že sú druh na veľmi
Hrany rozumné vstupov alebo zo skúšok niektorých rohov
logika v programe, a to dáva väčší zmysel, keď sme
náročnejšieho programov.
Poďme skúsiť 0.
Awesome.
Všetci to vieme.
Cool.
Nejaké ďalšie otázky týkajúce sa tohto predtým, než som sa pohybujú
na ďalší program?
Dobre, úžasné.
Takže teraz, budeme -
chceš len využiť svoj počítač?
DAN BRADLEY: Jo, to je jednoduché.
>> Dobre, tak ísť a porozprávať o tom, percenta.
Takže sme v podstate, v ďalšie malé cvičenie, bude
trvať dva celočíselné vstupy od užívateľa a dúfal, že
non-negatívne čitateľ a menovateľ kladný, a
v podstate ich rozdelením a výstup, čo vyjde ako
úspešnosť.
Takže chceme, aby prijať len non-negatívne čitateľa a
prijímať iba pozitívne menovateľa, a stále pýtajú
za nové, ak nedostal to, čo chce.
Všetko v poriadku?
Takže dať, že ísť.
Lexi ROSS: Ach jo, to chcete urobiť -
oh, možno by ľudia mali kopírovať môj kód.
DAN BRADLEY: Jo.
Lexi ROSS: [Nepočuteľné]
Priestory.
>> PUBLIKUM: Mám dotaz.
Ak som pomocou medzery a chcem zachrániť [nepočuteľné]
Fahrenheit konverzie, mám ju uložiť a potom sa nová -
Lexi ROSS: Mohli by sme urobiť nový priestor, alebo môžete len
ktoré chcete skopírovať a vložiť ho do textového súboru alebo
niečo tak to máte.
DAN BRADLEY: budem meniť moje meno.
Lexi ROSS: Tak som ti zachránil poslednej revízii
tofahrenheit.c, takže ak idete do AAAA Lexis Beryl
Ross, môžete ísť a skopírujte najnovšie kód, a potom
kto v tomto novom, čo myslím, že Dan bude poskytovať
niektoré kostra kód pre rovnako.
Dobre.
DAN BRADLEY: Posledná revízia mám na mne, tak
je to na veľmi hornej tejto doby, je revízia 4, a
to bude mať to, čo potrebujete, aby ste mohli začať.
Lexi ROSS: Dobre, a ja rozumiem do môjho rovnako.
>> DAN BRADLEY: Dobre.
Myslím, že budeme len začať chodiť cez to, ak
niekto má záujem.
Lexi ROSS: Všetci sme záujem.
DAN BRADLEY: Chystáme sa začať len tým, že prehlasuje,
niektoré premenné. Takže máme čitateľa, a v záujme
teraz, budem len začať s hodnotou -1,
a potom budem nastaviť do-while. Kým -
takže keď chcem, aby slučky?
Keď chcem, aby stále pýtajú -
jo?
PUBLIKUM: Keď to je menej alebo rovné nule.
DAN BRADLEY: Prečo to nemôže byť rovná nule?
PUBLIKUM: [nepočuteľnú].
DAN BRADLEY: Jo.
Takže pre čitateľa, je to len, keď čitateľ
je menšia ako nula.
Dáva to zmysel, aby ľudí?
Držíme opakovanie, zatiaľ čo v čitateli je menší ako nula,
držíme žiadať o nové vstupné a udržať náročný, že
vstup nové veci.
Tak som si len trochu printf tu, non-negatívne
num -.
A potom sme to isté ako predtým, s výnimkou my
GetInt, len preto, že sme chceli, aby to ako
percento ints.
Takže čitateľ = GetInt.
>> Dobre, teraz pár vecí.
Musím to -1 tu?
PUBLIKUM: [nepočuteľnú].
DAN BRADLEY: Nie
Prečo nie?
PUBLIKUM: Vzhľadom k tomu, že ste stále náhodnú hodnotu od užívateľa.
DAN BRADLEY: Presne tak.
Ale nechcem, aby vyhlásenie tu?
Áno.
Prečo?
PUBLIKUM: Musíte nájsť vonkajšej slučky.
V opačnom prípade to nebude mať premennú pre zvyšok
programu.
DAN BRADLEY: Presne tak.
Rozsah.
Sweet.
Dáva to zmysel pre každého?
Divákov: Môžete povedať, že ešte raz?
DAN BRADLEY: Dobre.
Takže ak by som mal vyhlásiť túto čitateľa vnútri slučky, ak
Mal som to miesto čitateľa bytia int čitateľ,
a zbavil som sa toho úplne,
čitateľ zmizne.
To by existovať mimo tento slučky, pretože všetko, čo
je v rámci týchto zložených zátvoriek.
Zmysel?
Dobre.
>> Takže pre menovateľa, robíme niečo celkom podobné, int
menovateľ = -
a nepotrebujem sa rovná -
to, a pre chvíľu v tomto prípade, čo chcem?
V akom stave to chcem, aby to ešte slučku na?
PUBLIKUM: Menej alebo rovné 0.
DAN BRADLEY: Menšie alebo rovné 0.
Menovateľ <= 0.
Nezabudnite na svoje bodkočiarkou, deti.
Tak sme to isté ako predtým, printf pozitívne
menovateľa, a dostaneme int odtiaľto.
Tam ideme.
GetInt.
Dobre.
A potom na konci, chceme vytlačiť určité percento.
Takže k tomu, ako by mala naša reťazec vyzerať?
printf.
Akékoľvek ďalšie nápady na to, čo môžem robiť?
Jo?
PUBLIKUM: Možno% 0,2 [nepočuteľnú].
DAN BRADLEY: Jo.
Dobre.
Začnem s prvým bitom,% 0,02%%,
citácie, čiarka.
A ja idem hodiť nový riadok sem, len preto, že som
ako nových tratí, keď robím veci.
Aký matematický výraz by som mal mať tú?
PUBLIKUM: Zátvorky a plavákové.
DAN BRADLEY: Dobrý.
Prečo chcem, aby sa to v plaváku?
PUBLIKUM: [nepočuteľnú].
DAN BRADLEY: Dobre, dobre.
Float.
Divákov: Čitateľ.
DAN BRADLEY: Čitateľ?
Dobre, tak som to float čitateľa.
PUBLIKUM: Divided by -
DAN BRADLEY: Divided by?
Divákov: Menovateľ.
DAN BRADLEY: Musím robiť len menovateľ, alebo mám urobiť float
menovateľ?
Divákov: Len menovateľ.
DAN BRADLEY: Dobre.
PUBLIKUM: A môžete znásobiť, že 100.
DAN BRADLEY: A ja násobiť to 100.
PUBLIKUM: A potom zátvorky okolo celého výrazu.
DAN BRADLEY: Jo.
>> Dobre.
Vyzerať dobre?
Poďme to skúsiť.
-50.
Dobré, 50.
0, a 100, 50%.
Fungovalo to rovnako ako sme chceli.
Má tento kód zmysel ľuďom?
Idem ju uložiť, takže sa môžete dostať kópiu.
Jo?
PUBLIKUM: Prečo je potrebné, aby [nepočuteľné]?
DAN BRADLEY: Kde?
PUBLIKUM: Ako, keď hovoríte, menovateľ sa rovná
[Nepočuteľné].
DAN BRADLEY: Keď som ho tu?
Prečo by som mal int pred ňou?
PUBLIKUM: Vzhľadom k tomu, druhý má int pred ním.
DAN BRADLEY: No, tak, aby nebol v slučke, nie?
Tak som určil, že tento int menovateľ nad slučky,
a ja to nemám v slučke, pretože by som sa
vyhlásil, že veľa časov, a to by nebolo skutočne vykonávať
cez kdekoľvek inde v programe.
Lexi ROSS: Jo, dôležité mať na pamäti, je, že
premenné stačí hlásiť raz.
Tak si predstavte, že to ako zavedenie novej premenné
do sveta tým, že ju int alebo float alebo ktovie čo ešte, a
akonáhle je to vyhlásil, všetko, čo potrebujete urobiť, zmeniť, je
stačí zavolať ju svojim menom: menovateľa, alebo x, alebo y.
Jediné, čo potrebujete, aby skutočne nazvať int len ​​raz.
>> DAN BRADLEY: Jo.
PUBLIKUM: Môžete vysvetliť rozdiel medzi% d
a% f, a ak ste niekedy vyhlásiť
premenné ako desatinné?
DAN BRADLEY: Takže% d, a% f tu?
Lexi ROSS: Tak d v skutočnosti odkazuje len číslice a nie
desatinné, ktorý je tak trochu mätúci.
Tam je žiadny skutočný dátový typ nazvaný desiatkovej, a keď
Ak chcete vytlačiť int, môžete odkazovať sa na to ako% d, alebo
%-Čo-d. F je pre float, ktoré by ste si myslím, že
by aj, ale je to vlastne d pre int.
>> DAN BRADLEY: Jo?
PUBLIKUM: Takže v inom programe, prečo sme to jednoducho urobiť
to isté, keď hovoríš Fahrenheit?
Prečo sme dať, ako -?
DAN BRADLEY: V spodnej časti tu?
Tie by mohli mať.
Bolo by úplne legitímne.
Páči sa mi robiť to takto, ostatní ľudia radi oddelenie
to sa do rôznych riadkov kódu.
Či tak alebo onak funguje.
Čo sa deje?
>> PUBLIKUM: Môžete vysvetliť, čo%%
[Nepočuteľné]?
DAN BRADLEY: Dobre, takže percent, percento.
Jasne, som chcel ísť cez tento.
Prvý percent sa nazýva riadiaci znak, a to len
hovorí, že vec za tým nie je vlastne kód.
Takže tento prvý percent, P,% 0,02 f, všetky tie% 0,02 f
niečo znamenať printf ako funkcia.
%%, Len som chcel, aby to skutočne len vytlačiť
percent znamenie.
Takže Nehovorím, že tam je niečo dôležité, za ním.
Len hovorím, že je to znak percenta za ním.
Prosím vytlačiť znak percenta.
Takže percent, potom ďalšie percentá.
Divákov: Môžete ukázať, čo by to vyzeralo, ak máte
vznáša na základe inej linke?
DAN BRADLEY: No jo, jasne.
Takže ja som bol požiadaný, aby ukázať, ako by to vyzeralo, ako keby som
mal tento float čitateľa, to všetko matematiky, na inej linke.
Takže float percent = -
a ja by som sa zbaviť tohto a len dať v percentách.
A to robí presne to isté, len som
majú ďalšie premenné.
>> PUBLIKUM: [nepočuteľnú].
DAN BRADLEY: Prejdite dole k čomu?
PUBLIKUM: Takže vidím [nepočuteľnú].
DAN BRADLEY: Čo nie je vidieť?
PUBLIKUM: Je nám ľúto, bol som [nepočuteľnú].
DAN BRADLEY: Jo.
PUBLIKUM: Takže ak sme nahradiť znak escape,
Predpokladám, že sme chceli mať znak dolára miesto, len pre
Napríklad znak dolára za percent?
DAN BRADLEY: Nie.
Je to len dolár, len jeden znak dolára, pretože dolár
označenie neznamená nič printf.
Otázkou bolo, musím mať znak escape pre
symboly, ako znaky dolára?
PUBLIKUM: Tak trochu súvisiace, sú nejaké ďalšie prípady, ktoré
by sme mali vedieť o tom, kedy niečo ako percentá
označenie môže znamenať niečo [nepočuteľné]?
Lexi ROSS: Áno.
Nie nutne znak percenta, ale spätné lomítko, pozri
ako máme Backlash koniec tu?
Povedzme, že sme vlastne chceli vytlačiť odpor, mali by sme
uniknúť, že -
a to bude znieť mätúce -
s iným spätné lomítko.
Takže ak by sme chceli tlačiť \ \, že by sme
stačí typu, ktoré, alebo pre ďalšie
Spätné lomítko, ďalší útek.
A ešte jeden, ak chceme vytlačiť ponuku - tak
v podstate čokoľvek, čo druh označuje niečo zvláštneho
v rámci reťazca, chceme uniknúť.
Takže povedzme, že vlastne chceme mať citovať tú, že by sme
Chcem robiť \ ".
PUBLIKUM: Takže je to zvyčajne spätné lomítko?
DAN BRADLEY: Je to zvyčajne spätné lomítko.
Lexi ROSS: Jo.
Z nejakého dôvodu v tu, je to znak percenta.
>> PUBLIKUM: [Nepočuteľné]?
DAN BRADLEY: Tento chlap?
To je len povedať, čo to je byť rozdelený tu
bude zaobchádzať ako s plavákom v záujme divízie.
Takže v prípade 50 delená 100, keď nemal
float tam, by to byť len 0.
To je všetko, čo príde von, pretože 50 deleno
100, ak nie sú uvedené žiadne desatiny je 0. -
a všetko, čo po desatinné práve skrátený off.
PUBLIKUM: Um,
prečo by sme dať pred menovateľom rovnako?
DAN BRADLEY: Takže dôvod, prečo nemáme dať pred
menovateľ je, že keď ste delenie niečo od
integer, to funguje v pohode.
S väčší počet na dne
nič nemení.
Môžete rozdeliť celé čísla v pohode.
Je to proste nezáleží.
Dalo by sa, nebolo by to nič meniť.
PUBLIKUM: Takže ak by ste chceli tri desatinné miesta, by
dáte percenta 0.03?
DAN BRADLEY: Jo.
Tie by dal% 0,03, ak ste chceli
tri desatinné miesta.
>> Divákov: A príkazy, aký je rozdiel medzi
že a len robí, keď na vrchole?
DAN BRADLEY: Takže do-while versus while sú dva
docela podobné príkazy.
Jediný rozdiel je v tom spustiť kód raz, spustenie
Kód vnútri slučky raz pred
vykonaním akejkoľvek skutočnej kontroly.
Tak je to aj dôvod, prečo som si povedať, menovateľ, bez
to číslo.
Takže ak som povedala int menovateľ, a potom, keď (menovateľ <=
0), možno to nikdy ani
spustiť kód vnútri.
Bude to ten šek pred -
tak tu.
Takže keby som mal tento while tu, musel by som mať
menovateľ rovná, povedzme, -2 alebo nejaké číslo menšie
alebo rovné 0, takže by sa skutočne snaží spustenie kódu
vnútri prvý.
Takže všeobecne povedané, budete chcieť použiť do-while
miesto while, keď sa pýtate na vstup od používateľa
pretože spustenie kódu raz, žiadať o niečo užívateľa
vám dá všeobecne najlepšie riešenie, na rozdiel od
len veriť, čo ste vložili do začať.
PUBLIKUM: A to je vždy nasleduje chvíľu.
DAN BRADLEY: Do nasleduje nejaký kus kódu, ktorý ste
chcete vykonať, a potom zatiaľ čo niektorí je podmienka.
Lexi ROSS: Myslite na to, ako jeden príkaz druh rozišli
na dve časti.
Je to do-while, nie ako tu robiť, a potom som
bude k dispozícii na chvíľu, je to len do-while.
>> PUBLIKUM: Chápem, že dôvod, prečo používate
Dve percentá znaky, ale môžeš mi vysvetliť, prečo musíme
majú [nepočuteľné]?
DAN BRADLEY: Dobre, tak jedno percento znamienko len hovorí
printf, tu je príkaz, ktorý chcem, aby ste
vyplniť s nejakým číslom.
Takže chcem, aby ste vyplniť na dve desatinné miesta a
float, a nájdete plavák na konci
príkaz, že je to percent.
Dáva to zmysel?
Divákov: Jo.
DAN BRADLEY: Dobre.
>> PUBLIKUM: Je tu niečo o do-while tejto
ak podmienka nie je splnená, ak sa dostanete
záporné číslo pre čitateľa, bude to len udržiavať
pýtať a bude stále pýtajú užívateľa?
DAN BRADLEY: Jo.
Takže, ak je podmienka splnená chvíľu na konci
do-while, bude to bežať späť na začiatok.
Je to len slučka.
Takže je to ako while, že podmienka nebola
splnená.
Je to proste beží ešte raz.
Jo.
PUBLIKUM: Takže ak to robíš, môžete, pre chvíľu,
dal dve podmienky?
DAN BRADLEY: Môžete.
Záleží na tom, na čo sa pýtate.
Takže si môžete dať dve podmienky v cykle while, ak ju máte
všetko v rámci akejsi logický operátor, ktorý znie
škaredé, ale je to v podstate to menovateľom je menší ako alebo
rovná nule, a to buď vráti true alebo false, nie?
Je to buď menšie alebo rovná nule, alebo nie.
Takže si môžete urobiť ďalšie logické operátory, ktoré vám hovoria, zatiaľ čo
To je tiež pravda, alebo keď je to tiež falošný.
Takže je to také veci, a čitateľ je väčší ako
nula, nie?
To sa pýta, bude to len slučka, zatiaľ čo menovateľ je menší
ako nula a máte pozitívny čitateľa.
PUBLIKUM: A vy dvaja And, že jo?
DAN BRADLEY: Dve And.
Lexi ROSS: Budeme pokrývať, že viac neskôr.
>> PUBLIKUM: Čo keď sa niekto neupravené v pozitívnom
menovateľ?
Ak sa dať do negatívnej čitateli, môžete vyzvať je
na, povedzme, dať do non-negatívne čitateľa a majú
príkaz, že?
DAN BRADLEY: Dalo by sa.
PUBLIKUM: Práve teraz to len hovorí, non-negatívne čitateľ.
Čo by byť používaný pre to?
DAN BRADLEY: Takže budeš mať, ak podmienka, tak ako v prípade
čitateľ je menšia ako nula.
Lexi ROSS: Vy by ste asi len chcete s tým skonči do viac
kroky, nie?
Takže prvýkrát dali do vstupu, tak povieme dať
nám čitateľ alebo ktovie čo ešte.
A potom, keď robia zlú vec, môže to byť prípad
pre sláčiky while, skôr než do-while, pretože máme
prvýkrát máme GetInt, a potom kým vstup
je zlá, sme stále pýtajú je pre ďalší vstup s
iný druh textu, rovnako ako to nefungovalo, alebo nám
non-negatívne čitateľ namiesto toho, že takéto veci.
>> DAN BRADLEY: Jo?
PUBLIKUM: Ako vymazať veci, ktoré [nepočuteľné]
terminál?
Lexi ROSS: Clear.
DAN BRADLEY: Jo, nemožno zadať do neho.
Lexi ROSS: Vlastne, to nie je skutočný terminál.
Otázkou bolo, ako sa vám jasne najavo, že veci tam dole?
Odpoveď je, že to nie je skutočný terminál, ale povedzme, že vám
sú v reálnom termináli.
Vymazať.
Oh, je to mačka.
DAN BRADLEY: [INAUDIBLE]?
Je to, že jeden, nie?
Lexi ROSS: Nie, to je všetko moje veci.
DAN BRADLEY: [INAUDIBLE].
Lexi ROSS: Tu to je.
DAN BRADLEY: Jo?
>> PUBLIKUM: Má jasnú prácu, ak máte -
ako, povedzme spustení programu [INAUDIBLE] a to s otázkou,
ste na niečo, a vy nechcete.
Ako sa vám -
DAN BRADLEY: Control + C?
Lexi ROSS: Jo.
Takže ak používate program a niečo nie je v chode
ako chcete, to a si len chcete ukončiť celý
program, Control + C. Dokonca aj keď ste na Mac, nie Apple + C,
Control + C.
PUBLIKUM: Vedeli ste správnu verziu v
revízie vo vašom profile?
DAN BRADLEY: Myslím, že to zachránil, je to tak?
Jo.
Lexi ROSS: Toto je priestor.
Jo.
Myslím, že je to revízia 11.
>> DAN BRADLEY: Jo?
PUBLIKUM: Má C žiadne predpoklady o tom, čo
Premenná je, ak môžete definovať premennú, ale nechcete priradiť
niečo na neho okamžite?
DAN BRADLEY: Tak to bude akceptovať iba ints do tohto miesta.
Takže ak ste vyhlásiť ju -
PUBLIKUM: Keby som to urobil int menovateľ bodkočiarku, robí to
Predpokladám, že je to rovná nule alebo akéhokoľvek množstva -?
DAN BRADLEY: Nie.
Takže ak nechcete priradiť, povedzme, int menovateľ na hodnotu,
to môže byť čokoľvek.
Je to stará spomienka, ktorá bola v danom mieste.
Takže by to mohlo byť negatívne 2000000000, mohlo by to byť pozitívne
2000000000, a to môže byť kdekoľvek medzi tým.
Takže ak ste v skutočnosti beží veci, uistite sa, že ste
priradiť hodnotu premennej.
To, že nevadí, pretože sme okamžite
priradením hodnoty, ale všeobecne povedané, jo.
Nejaké ďalšie otázky?
>> Lexi ROSS: Môžeme tiež len sa všeobecných otázok na to
bod na prebranej látky, s set materiál, že ste nič také
Premýšľal o tom, že je to dobrý čas sa opýtať ty.
PUBLIKUM: Takže v návodoch, Zamyla
zmienil o koleso funkcie.
Vadilo by vám, vysvetľoval, ako sa realizovať, že?
Lexi ROSS: Iste, ako implementovať, že?
PUBLIKUM: Hovorila, že to bolo okolo.
Lexi ROSS: Ach jo.
Takže len tak máme všetci rovnaký Vocab a podobne,
implementovať všeobecne znamená vlastne písať od nuly.
A tak som si nemyslím, že sa hovorí o akési písanie
kolo funkcie.
Ona zrejme len chcel, ako ju používať.
Vykonávať opatrenia niečo ako vytvoriť.
Takže všeobecne, kedy chceme použiť na guľaté funkcie je I
znamená, nejako, napríklad,
Ak chcete zaokrúhliť.
Môžete mi dať trochu viac kontext k tomu, čo
Problém bol?
PUBLIKUM: Ak sa chcete vyhnúť nepresností na desatinné miesta
tým, že je plavák.
Lexi ROSS: Jo.
Takže problém s plavákmi, ktoré sme trochu spomínal, je
že v dôsledku toho, ako sú uložené v stroji,
že to nie je 100% presné tak, že by ste si mohli myslieť
kalkulačky by ukladať.
Je to pre mňa ťažké ukázať príklad, bez toho, aby vedel, čo
kontexte bola od.
Neviem, môžete myslieť na niečo, Dane?
>> DAN BRADLEY: Takže ak sa pýtate, povedzme, čísel
väčší ako 10 a používate plaváky, a vy pridáte jednu
na plaváku zakaždým, bude to niekedy čakať, kým ste
sa dostali do 12 pred tým, než poviem je to vlastne číslo
väčší ako 10.
Plaváky majú niektoré vážne problémy len medzi 32.
a 33. desatinné miesto, ktoré pôjde, tak to by mohlo 9,9999999, alebo
to by mohlo byť 10.0000001, že jo?
To naozaj nie je rozdiel medzi týmito dvoma, takže ak ste
čakanie na veci väčšie alebo rovné 10, môžete
sa tam dostať na to, čo si myslíte, že je 10. iterácie.
Môžete sa tam dostať v 11..
Lexi ROSS: V podstate, jo.
Keď ste looping po mnoho plavákov, to je, keď
nepresnosti sa stalo.
PUBLIKUM: Myslím, že to v podstate, je to ako na p
nastaviť, chce, aby ste okolo hodnotu float, a keď dáte do
4,24 pre vyššie zmeny, ktoré potrebujete vrátiť, ak ste práve robiť
Časy 100, bude to skutočne zmeniť na 423 -
DAN BRADLEY: Niekedy jo.
PUBLIKUM: Takže si myslím, že je to len ako, ako použiť koleso
funkcie v skutočnom kódu, aby to tak nerobí, že?
DAN BRADLEY: Takže ak ste zaokrúhlení 424 vynásobením
100 a robiť to na celé číslo, bude to niekedy
robiť to 423 kvôli tomu nepresnosť.
A tak veci, ktoré môžete urobiť, je len pridať 0,0000003.
PUBLIKUM: Ale myslím, vlastne, oni chcú
nám používať bicykel.
DAN BRADLEY: okrúhle funkcie?
Je to asi matematická funkcia, niečo v
matematická knižnica.
PUBLIKUM: # include matematiku.
DAN BRADLEY: # include , a tam je
Pravdepodobne koleso funkcie.
PUBLIKUM: Rovnako ako round () -?
Lexi ROSS: V podstate, pretože chcete zaokrúhliť na
najbližší cent.
DAN BRADLEY: Poďme vytiahnuť manuálových stránok.
Takže je šikovný nástroj, ak neviete, -
môžete vytiahnuť terminálu -
je, ak idete na človeka matematiky.
Lexi ROSS: Cool.
>> Takže môžete vidieť, takže človek je skratka pre ručné, a nie človek, a
to vám umožní pozrieť sa viac informácií o akejkoľvek rovnako
funkcie alebo knižnice, ktoré by vás mohli zaoberať.
Tak som napísal v man matematiky.
Dovoľte mi, aby som Zoom
DAN BRADLEY: Môžeme to skúsiť man koleso, taky.
Lexi ROSS: Iste.
DAN BRADLEY: A to bude zoznam z -
Muž matematika bude zoznam všetko, čo je v matematickej knižnici,
ktoré budeme patrí.
Jo, máme aj koleso.
Lexi ROSS: Tak som to urobil človek koleso.
Môžete tu v synopse, hovorí # include
, tak to je niečo ako cs50.h, stdio.h.
A vyzerá to, že je to vlastne preťaženie, čo znamená,
trvá rôzne typy argumentov, takže si môžete koleso
dvojlôžkové alebo plaváky.
DAN BRADLEY: Kolo proti roundf.
Lexi ROSS: Roundf.
Bolo Zamyla zmienil roundf oproti dokola?
PUBLIKUM: V návode, bol to len round ().
DAN BRADLEY: Dobre, takže pravdepodobne bolo použitie dvojnásobok,
potom, ako protichodný k plaváku.
Dobre, takže by vynásobte 100 a potom okolo neho, a
by ste si číslo najbližšie k nemu, myslím.
>> Lexi ROSS: Takže koleso vráti funkcia integrál
Hodnota blízko zaokrúhľovania x polceste prípadoch ďaleko od 0,
bez ohľadu na aktuálnu zaokrúhlenie smerom.
Takže v podstate, že chcete iba zaokrúhliť, akonáhle ste na
celočíselná hodnota, takže vynásobiť
100 a potom koleso.
Znamená to, že väčší zmysel?
PUBLIKUM: Ak chcete použiť túto funkciu v súbore C, potrebujete
dať koleso float, ako keď vaše premenná sa nazýva q, potom
dať koleso (float) q, a potom zátvorky alebo môže
stačí dať bicykel, a potom q v zátvorke?
DAN BRADLEY: Takže ak ste sa snažili použiť túto funkciu
vlastne, by ste sa, že q je q plaváka,
alebo ako je to vyhlásil?
PUBLIKUM: Q je float.
DAN BRADLEY: Takže ak je q deklarovaný ako float, že nie
vezmite koleso, a potom dať q.
Možno budete musieť vyhlásiť ju ako dvojníka v tomto prípade.
Lexi ROSS: Jo, ak chcete použiť roundf.
PUBLIKUM: Mohol by som použiť roundf, a potom q v úvodzovkách?
DAN BRADLEY: Nie, v úvodzovkách, len q.
PUBLIKUM: Je nám ľúto, nie je v úvodzovkách, v zátvorkách.
DAN BRADLEY: V zátvorke, jo.
Lexi ROSS: Ospravedlňujem sa, že je trochu mätúce.
Nejaké ďalšie otázky?
>> DAN BRADLEY: Jo?
PUBLIKUM: Takže koleso len koleso na celé čísla?
Lexi ROSS: Áno.
DAN BRADLEY: Jo, okrúhle iba sa zaokrúhli na celé čísla.
PUBLIKUM: Takže ak by ste chceli niečo presné, že
potreboval byť [nepočuteľné] vynásobí 100 a potom
delené 100 znova, ak ste chcel -?
Lexi ROSS: Takže ak by ste chceli, aby si to do desiatkovej sústave?
PUBLIKUM: No príklad, napríklad, [nepočuteľný] môžete
majú 1,25, a potom [nepočuteľné]
1,24, ak by ste chceli, aby, že 1,25, by si
násobiť, že by 100, okolo neho, a potom sa rozdelí ju 100
znovu získať 1,25?
Lexi ROSS: Jo.
Takže otázka je, pretože zaokrúhľovanie, ako manuálové stránky
hovorí, sa zaokrúhli na najbližší integrálne hodnoty, znamená to, že
že nikto nebude chcieť vynásobiť 100, vykonajte
zaokrúhľovania, a vydeľte 100 znova, povedzme, so správnou
dolárov a centov hodnota?
A odpoveď je -?
DAN BRADLEY: Nie
Chcem povedať, ak ste len dostať hodnotu float, ak začnete
s plavákovým hodnotou 1,25, to je, ako to bude
interpretovaný.
Takže ak ste vynásobte ho 100 a potom rozdeliť ju 100,
je to stále bude vykladať ako 1,25, alebo
prípadne 1.249 ...
.. 999.
Lexi ROSS: Myslím, že táto otázka bola, ako, že nie
násobenie, potom použite koleso, potom sa rozdelí, takže je to ako -
DAN BRADLEY: Jo.
Stále si myslím, že to zmení niečo, hoci.
Myslím, že je to stále.
Lexi ROSS: Vzhľadom k tomu, koleso sa - používa celé čísla.
Takže ak sa pokúsite okolo 1,25, stačí si 1.
Takže si myslím, aby sa dostal ako dodatočné presnosti,
ak je to to, čo hovoríš.
>> PUBLIKUM: Takže čo inštancií sa používa bicykel, potom?
DAN BRADLEY: Takže v tomto prípade, ak chcete, povedzme, číslo
zo dňa centov z 1,25 dolárov, mali by ste vynásobte 100, koleso, sa
125, a nechať to, ako to, ako centov, na rozdiel od pokusu o
previesť späť na doláre a centy.
Lexi ROSS: Ach jo, jo, určite.
PUBLIKUM: Prečo treba zaokrúhliť, že [nepočuteľné]?
DAN BRADLEY: Takže ak ste vynásobte ho 100 a potom
ihneď previesť na celé číslo, ktoré je väčšie
vhodný spôsob, to je, keď ste sa s tým vysporiadať
nepresnosť, nie?
Takže by to mohlo byť 124.999999, a tak ak si potom previesť, že k
integer, to proste klesne všetko preč, že je pod
desatinné.
PUBLIKUM: Tak to ti dám [nepočuteľnú].
DAN BRADLEY: Presne tak, namiesto toho, aby 125, čo je
prečo chcete zaokrúhliť.
>> PUBLIKUM: Je nám ľúto, mohol by ste zopakovať, čo ste hovoril, že ste
by sa na rozdiel od toho, čo by ste nemali robiť?
DAN BRADLEY: Dobre.
Takže to, čo by ste mali urobiť, je, ak začnete s 1,25, násobenie
to o 100, a potom sa okolo, že celé číslo, že 125 alebo
124.9999, a dostať, že na najbližšie celé číslo.
PUBLIKUM: Takže ak máte okolo, že to hovorí
na najbližšie celé číslo?
DAN BRADLEY: Jo.
PUBLIKUM: Existuje spôsob, ako obmedziť, ak sa spýtate na plaváku
byť vložené, je tam spôsob, ako obmedziť, koľko desiatkovej
miesta môžete zadať vznášať?
Lexi ROSS: Nie je pomocou CS50 vykonávané.
Myslím, môžete počítať, aký veľký je vstup daná
užívateľ, ale to by si vyžadovalo novú vykonávanie
z GetFloat, a tak si nemusíte robiť starosti, že.
DAN BRADLEY: Takže v prípade, že, povedzme, vstup 1.256, mohol by si
použitie 1,25, alebo by ste mohli urobiť 1,26.
Či tak alebo onak, myslím, že vykonávanie hovorí, že môžete -
PUBLIKUM: Stačí si ju zaokrúhliť -
DAN BRADLEY: Nech je to čokoľvek chce, jo, ako dlho budete robiť
nejaký zaokrúhľovania.
Ešte niečo?
Nemusí byť o zaokrúhľovaní.
Lexi ROSS: Jo?
>> PUBLIKUM: Ak chceme skontrolovať, či štýl nášho
Kód je vhodné, alebo najlepšie štýl
, Že to môže byť, je to, že takéto veci by sme priviesť do
časť, alebo na pracovnej dobe, alebo je to, že takéto veci
môžeme písať súkromne na vec, na diskusiu, a potom
požiadať o radu na?
Lexi ROSS: Takže nie, v úradných hodinách, alebo na CS50
Diskutujte, nebudeme vlastne grade vaše p set vopred
pre štýl, ale myslím, že asi najviac užitočné
vec, ktorú by ste mohli urobiť, by bolo pozrieť sa na príklady, a tie
by mal byť schopný zistiť, že v úseku, ktorý by mal byť
distribuované on-line, rovnako ako prednáška sklíčka, tam
by mali byť príklady kódu.
Ale ak máte individuálne otázky týkajúce sa určitej
style problém, rozhodne neváhajte a opýtajte sa, že na CS50
Diskutujte, a úradné hodiny, alebo vo svojom voľnom čase.
Ale či je to viac celkový vzhľad v mojom kóde, je najlepší
druh použitia príkladov a pokúsiť sa zmestili váš kód, ktorý.
A ja verím, že je v štýle sprievodca na -
DAN BRADLEY: Je to v štýle sprievodca.
Sprievodca štýlu je úžasné.
To vás naučí všetko, čo potrebujete, a to zahŕňa veľa
oveľa každý príklad známe, že muži, alebo aspoň známy mi.
>> Ešte niečo?
Dobrá.
Pohodový, chlapci.
Lexi ROSS: Prajem krásny deň.
DAN BRADLEY: Vďaka, že ste prišli.