[Powered by Google Translate] Lexi ROSS: U redu, hi, svima.
Dobrodošli na prvi CS50 supersection.
To će biti samo tjedan supersections.
Nakon toga, vi ćete biti idući u regularnom dijelu sa svojim
dodijeljen TF.
Ali ovaj tjedan, mi smo to radili u malo drugačiji
formatu, iako stvarni oblik, kako će to ići
za sljedeći sat i pol ili tako, će biti prilično
slično onome što ćete se gledajući za
ostatak semestra.
>> Dakle, ono što ćemo učiniti je početi prelaženju
dio dio vašeg problema setu.
Dakle, ako ste pročitali preko p setu, koji će, nadamo imate,
vidjet ćete da postoji dio pod nazivom "Odjel za
Pitanja ", a to značilo da se nestali
više u svojim dijelovima.
Tako ćete imati prednost time što je ovdje u da ste dobili
ići preko tih više konceptualni-based pitanja.
I nakon što smo to učinili, mi ćemo ići preko zadnje dvije
sekcija pitanja, koja su više roniti
u kodiranje tipa pitanja.
Tako smo zapravo ćeš imati vi uzeti nekoliko
minuta za svako pitanje, pokušati ih riješiti sami, a
onda ćemo doći zajedno koristiti novu CS50
Prostori alat i ići preko odgovore, tako da svi imaju
ispravan kod za pregled.
>> Dakle, par najavama.
Nemojte zaboraviti da je radno vrijeme svake noći to
Tjedan u Annenberg 8-11, tako da ne uzeti
Prednost onima.
I također, ne početi p postavljen prekasno u tjednu.
Početak večeras ili sutra navečer najkasnije.
Vi ćete požaliti ako predugo čekati za početak
i pokrenuti u pitanjima.
Tako se naše savjete i definitivno početi rano.
Ovo će biti dobar način da započnete s
ove sekcije pitanja.
Tako sam Lexi, usput.
Ja sam TF.
I ovo je Dan, koji je također TF.
DAN BRADLEY: Hej, dečki.
Lexi ROSS: I on će dobiti
počeo s pitanjima.
>> DAN BRADLEY: U redu.
Dakle, ja ću samo uvesti par malo prevodilac
pitanja koja ćemo razgovarati o tome i samo proći kroz
neka vrsta konceptualnih ideja da trebamo zapravo pokrenuti
koda, bilo u aparatu ili s našim vrste lažni
aparati, Run CS50 i prostora.
Dakle, neka je vidjeti samo ako netko u publici ima kakvu ideju
o tome što mi govorimo.
>> Dakle, ono što je knjižnica u kontekstu koda?
Svatko imati bilo koji ideja?
Ok.
Sweet.
PUBLIKA: Poput zaliha funkcija koje je netko drugi
već programiran da možemo izgraditi?
DAN BRADLEY: Točno.
Dakle, knjižnica je dionica od funkcija koje netko drugi
već je programiran da nemamo na
se ponovno provesti.
Dakle, imamo stvari kao standardni I / O knjižnici,
cs50.h knjižnica, da su stvari koje je svijet,
Internet, osoblje su napravili čini da naše
živi lakše jer kodera.
Pa kako ste ispisali stvari na ekranu?
Nemam pojma, printf to radi za mene.
To je nešto što je netko drugi već napravio da je
strašan i radi sasvim dobro.
>> Ok.
Dakle, za korištenje biblioteke, s druge strane, međutim, imate
zapravo napraviti neke dodatne stvari s vašim kodom.
Dakle, morate koristiti stvari kao što je to # uključiti.
Što to učiniti?
Koja je uloga da igraju kad imate to u programu?
PUBLIKA: To vam omogućuje iskoristiti bilo funkcija koje su
[Nečujan]
Knjižnica jednostavno pomoću definicije koje su već
[Nečujan]
knjižnica.
DAN BRADLEY: Ok.
To vam omogućuje da povucite knjižnica funkcije u kodu, ali
to čini na način koji nije točno isto kao kao
-Lcs50, koje ćemo dobiti u minuti.
To samo omogućuje prevodilac znati da hej, postoje oni
Funkcije koje će se u svom kodu.
Budite svjesni da, ako nisu u potpunosti opisano u kodu
koji je ispred vas, ima nekih knjižnica funkcija
koji će se brinuti o njoj.
>> Dakle, u slučaju printf, što ćemo ići preko nekoliko
puta danas, je standard I / O biblioteka.
Dakle, dok sam ne definiraju printf nigdje u mom kodu ikad,
standardni I / O brine se o njemu za mene, a ja ću učiniti # include
stdio.h, a to će se povući u tim funkcijama koje sam
nisu sve definirano.
Dakle, ono što je razlika, zatim, između ova # include
i-lcs50?
Što-lcs50 učiniti kad sam ga prenijeti na
prevodilac, kao što su jeka?
Svatko imati bilo koji ideja?
Ok.
Da?
PUBLIKA: To vam omogućuje pristup CS50 knjižnicu?
DAN BRADLEY: To vam omogućuje pristup CS50 knjižnica u
da govori prevodilac, zveka, da hej, ovo je mjesto gdje
vi ste zapravo ići da biste dobili ove funkcije.
Dakle # include kaže da postoje
ove funkcije negdje.
-Lcs50 kaže, ići na tom mjestu u računalu -
to je cs50 knjižnica -
i podići stvarni broj tih funkcija.
Ima li to smisla, svima?
>> Dakle, to su sve stvari koje su za pomoć svoj kompajler
uz stvaranje koda zapravo pokrenuti.
Brzo pitanje.
Nemojte ljudi znaju što je prevodilac?
Dobar osjećaj?
To je u osnovi je uzimanje pisani kôd koji imate,
ga pretvoriti u binarni, pretvoriti u strojnom kodu,
tako da vaše računalo zapravo može razumjeti.
I bez dodatnih teškoća, mi smo idući u ići u više
stvarni kodiranje vježbe koje vi ćete imati neki zabava
potonuće zube u, a Lexi će ići preko toga.
>> Lexi ROSS: Ok.
Strašan.
Tako da ćemo ići preko dva pitanja ovdje.
Dakle, prvi je zapravo, što možete vidjeti, to je malo
mali ovdje, ali u suštini to je vas traži da
napisati program da se neke korisničkog unosa.
Nisam siguran zašto je crni kvadrat tamo.
To je tajanstveno.
To bi trebao biti u redu, iako.
Tako da želi da se korisničkog unosa u Celzija, pretvoriti da
na Fahrenheit, a zatim korisniku reći što je temperatura
će biti u Fahrenheit.
Tako možete vidjeti primjer ulazni / izlazni slijed ovdje.
Korisnički ulazi - nakon Celzija, podebljano se odnosi na
sfaust.
Dakle, korisnik ulazi 100, a program izlazi
Celzijusa, 212,0.
A važna razlika u ovom programu je da smo
će imati samo jednog decimalnog mjesta, pa ćemo vidjeti kako to učiniti
da je kao dobro.
I tako još jedna stvar na umu je da smo koristeći a.out
jer jeka, prevodilac, automatski imenuje svoje binarni
slika a.out ako ga navesti s određenom zastavu dati
to svoje ime, ali za sada smo samo će koristiti
zadana, a.out.
>> Dakle, neka je zapravo potrajati nekoliko minuta i pokušajte napisati
neki kod za ovaj sebe.
Dakle, to je 04:15.
Tako je na 04:20, da ćemo se vratiti i - oh, desno.
Prostorima.
Cool.
To je nešto kao ono što mi zovemo kostur kôd koji
to je kostur, ali morate ispuniti u mesu
Program zapravo čine ga pokrenuti.
Tako možete vidjeti # include direktive tamo se uključuju
cs50 i stdio.
Zapisao sam u komentaru stvarnu formulu za pretvaranje
Celzija Fahrenheit, u slučaju da se ne sjećam od velike
Škola znanost ili sitnica.
I onda je to samo kostur za
stvarna glavna funkcija.
Dakle, sve što ste napisali će ići tamo.
I kako bi zapravo doći do tog prostora -
tako CS50 Prostori se može pristupiti koristeći ovaj URL, koji je Dan
će pisati na brodu, a ja ću diktirati kao dobro.
DAN BRADLEY: cs50.net/spaces--
Lexi ROSS: / qWLc -
Žao mi je, y.
DAN BRADLEY: Y?.
Lexi ROSS: Ne, ne, ne, ne.
To je u redu.
qYLcYWfg.
Tako sam trebao vidjeti svačiju imena vrste iskakanje gore.
>> Strašan.
Ovo izgleda odlično.
To znači da ljudi se pridružio prostor.
Dakle, ako niste dobili priliku igrati okolo u
Prostori gostiju, to je zapravo ono što će se koristiti
sa svojim TFS u dijelu sve semestru.
Kako to radi je vrsta svima piše vlastitu
broj, a nitko ne može vidjeti dok ne pritisnete Save
gumb, koji sam pokazujući upravo sada.
Tako ću pritisnite Spremi, a ako sve ide na moje ime,
koji bi trebali biti u mogućnosti vidjeti ga u ljudi u ovoj
Prostor, koji je Lexis Beryl Ross.
Pa kako će to izgledati je kliknete na moje ime, a
ćeš vidjeti revizija 5, koji
je najnoviji rebalans.
Kopiranje samo revizija 5 u svoj prostor klikom na njega.
>> U redu.
Dakle, idemo kroz ovaj problem zajedno, a ja sam
zapravo ide pisati kod ovdje na zaslonu.
Možete zumirati malo.
I onda kada sam učinio, možete kopirati moj najnoviji reviziju
u svom prostoru, ako želite vidjeti konačno rješenje.
Sada, mjesta ima sposobnost za mene da ide u i vidjeti bilo
kod koje su ti dečki napisan, ali samo zato što je
kao velik dio, a mi ne stvarno imati isti
vrsta raspravu sposobnosti kao manji
poglavlje, mi smo samo ići kroz, a ja samo idem
pisati kod.
Ali definitivno me zaustavi s pitanjima u bilo kojem trenutku.
Mi ćemo proći kroz to vrsta korak po korak kako bi
sigurni smo razumjeli svaki dio onoga što se ovdje događa.
Može svatko vidi ovaj tekst ovdje?
Zar itko želi to veći?
>> Dakle, što je prva stvar koju ćemo učiniti ovdje?
Pa bitno, jer želimo da se ulaz iz
Korisnik i želimo da to bude neka vrsta dobro iskustvo za
korisnik, zapravo želimo im reći ono što tražimo.
Tako ćemo ispisati točno ono što želimo formirati korisnika.
Dakle, samo ne smetaju podizanje ruku, samo ga brzo izgovoriti.
Što je naredba za ispis nešto na ekranu?
PUBLIKA: printf.
Lexi ROSS: Strašan.
Ok, tako da printf.
>> PUBLIKA: Hej, Lexi?
[Nečujan]?
Lexi ROSS: Naravno.
Dakle printf, kao što smo vidjeli često u predavanju, je
naredbu za ispis nešto na standardni izlaz potoka.
Dakle, želimo pitati korisnika na ulazu u
temperatura u Celzija.
I sada, zapravo želimo da se ulaz koji su dati
nas i pohraniti ga u varijablu.
Dakle, naučili smo malo o vrstama.
Može li netko sjetiti što tip bismo željeli da varijable
s decimalnom mjestu u njemu?
PUBLIKA: Float.
Lexi ROSS: Float.
Da, strašan.
To je float.
Dakle.
A kako ćemo - veliki savjet - dobiti
plutaju od korisnika?
PUBLIKA: GetFloat.
Lexi ROSS: Da.
Cool.
I korisnik potencijalno mogao biti značiti i pokušati dati nam
Negativan broj, ali nemojmo brinuti o tome za to
Problem je sada.
Ti ćeš brinuti o tome malo više o vašem
zadaća na setu problema.
>> Dakle, pretpostavimo da nam daju dobar broj, a sada smo
zapravo morati pretvoriti taj plovak od Celzija
Celzijusa.
Tako ćemo konzultirati našu formulu ovdje, i neka je stvoriti
nova varijabla i to nazvati celzijusa.
Proučavao sam pravopis.
To je ludo, znam.
I neka je računati na redu operacija na vrste učiniti
njegov posao ovdje, ali mi ćemo koristiti zagrade samo da bude
potpuno preopširan i jasno.
Dakle Celzija puta devet podijeljeno pet.
Idem na smanjivanje samo malo tako da to može stati na
jedna linija, ali ja ću povećavanje opet za one koji ne mogu vidjeti,
dalje u leđa.
Žao mi je zbog toga.
Čudne pokazivač pitanja.
Plus 32.
Ok, ne bilo tko imati bilo kakvih pitanja o tome kako sam stavio u
formula, ili bilo kakvih problema s tim?
Da.
>> PUBLIKA: Trebamo staviti printf prije plovak
celzijusovih, plutaju Fahrenheit linije skripte?
Je li važno što bi oni u?
Lexi ROSS: Dakle, pitanje je, trebamo printf
prije nego što smo zapravo pitati za float?
Odgovor je da to moramo učiniti.
Na taj način, da se kursor da korisnik dobiva na ulaz njihove
float će se dogoditi nakon tiskanom c, zar ne?
I to ima smisla ako mislite o tome logično, kao što je
pitate korisniku pitanje, a zatim si
prima odgovor.
Tako da ispisuje c, a zatim tu je pokazivač, a zatim
Korisnik može upisati u vrijednosti, kao što ćemo vidjeti
kasnije kada smo Demo.
Da?
>> PUBLIKA: Zašto smo koristiti plovak, a ne dvostruki?
Lexi ROSS: Dakle, bračni, u suštini, kao i ime
podrazumijeva, daje nam udvostručiti količinu
preciznost kao float.
Ali obično u C, u ovom Naravno, za broj
razlozi, idemo koristiti pliva.
I to je zapravo sve što je preciznost trebamo samo za
vrsta osnovnih temperature pretvorbi.
Tipično, parovi su više koristi u Java jeziku,
plovci su češći u C. U redu, strašan.
>> DAN BRADLEY: Jedna više.
Lexi ROSS: Jedna više.
Da?
PUBLIKA: Gdje ste stavili razmak?
Sviđa mi se, [nečujno] razmak [nečujan]?
Je li to važno?
Lexi ROSS: Oh, ne.
Dakle, to ne smeta.
Ja sam zapravo trebao staviti još jedan prostor ovdje.
Ali što god da ste dosljedni
tijekom svog koda.
Dakle, ako ste se odlučili koristiti jedan stil razmaka, pobrinite se da
ga zadržati tijekom cijele svoje koda, ili ste svibanj dobiti stil
bodovi oduzeti.
Dakle, dosljednost je ključ.
DAN BRADLEY: Mislim da je riječ o tom prostoru.
Lexi ROSS: Oh, ti govoriš o tom prostoru?
Do stvarnog C?
PUBLIKA: Da.
Lexi ROSS: Oh, pa to je samo za izgled, zar ne?
Dakle, na taj način, kada smo pokrenuli kôd, ako nismo imali ovu
prostor ovdje, ako je to izgledalo ovako, korisnik će početi
upisivanjem u broju i da će to biti zgažena gore desno
Protiv debelo nakon C, a to bi izgledalo malo
bolje ako je bilo prostora.
A možete vidjeti da je malo bolje nakon što smo zapravo
pokrenuti ovaj kod, kad smo ga dobili završio.
Strašan.
Da, još jedno pitanje.
>> PUBLIKA: Moram li staviti decimalnu točku nakon jednog od
[Nečujan]?
Lexi ROSS: Pa ne, jer od reda
operacije.
Dakle, jer celzijusa već plovak, kao što je
Celzija, ne morate se eksplicitno baci bilo koji od ovih
drugi brojevi kao plovaka, iako se u drugim
okolnosti, kada ste se bave Ints, možda ćete
morate staviti točku na izričito ga baci kao float.
Da?
PUBLIKA: Upravo sam bio izvjedljiv ako kapitalizacija pitanja u
ove naredbe poput GetFloat?
Lexi ROSS: Da, dobro pitanje.
Dakle, pitanje je, čini kapitalizacija obzira na
naredbe poput GetFloat?
Odgovor je da, to radi.
Dakle GetFloat je, kao Dan opisivao ranije, knjižnica
funkcija u CS50 knjižnici, i to je bio napisan kao kapital
G, kapital F. Dakle, ako vam se ne pisati s tim metropolama
postoji, prevodilac se neće razumjeti što
funkcionirati ste se odnosi na.
Ok.
Da?
>> PUBLIKA: Je li argument za glavnu uvijek praznini?
Lexi ROSS: Da, to je još jedan veliki pitanje.
Dakle, kod koji ste kopirali iz mog prostora pogrešno je
neke više argumenata.
Dakle, pitanje je, je argument da je glavna funkcija
Uvijek praznina, koja u osnovi znači ništa?
Odgovor je ne.
Možda ćete primijetiti da kod vas kopiran iz moje ranije
Revizija je ono što može izgledati kao da se ništa da se stvarno čini
osjećaj upravo sada, neki char *, argv, argc.
Ne brinite o tome za sada, ali ćete saznati kasnije
na oni čine razliku.
Ali ako ne koristite tu vrstu dodatnu funkcionalnost
što ćete naučiti o kasnije, praznina
je potpuno u redu.
>> U redu.
I mi smo još jedan korak, a to je da želimo
zapravo pokazati korisniku ono pretvaraju temperatura je.
Pa opet, idemo koristiti printf, a recimo f, samo
za dosljednost miloga.
A sada idemo napraviti nešto malo lukav.
Tako ćemo koristiti zastavu, ili posebna vrsta notacije,
reći printf samo ispisati jednu decimalno mjesto.
A ne tko se dogoditi da znate što se događa izgledati
sviđa, prije nego što sam ga upisati se?
Da?
PUBLIKA: 0.2% f?
Lexi ROSS: Da, da.
Tako zapravo, to je stvarno blizu.
0.01f za 0,01% f, a onda ćemo imati na umu da su
drugi argument za printf, što je varijabla sama,
što je n.
>> Jedan posljednji korak.
Može li netko sjetiti što je to u našem glavnom funkciji?
Da, tamo gore.
PUBLIKA: Povratak?
Lexi ROSS: Točno.
Dakle, budući da je to glavni vraća u int, želimo
Također se vratiti u int.
DAN BRADLEY: Postotak treba biti na drugoj strani.
Lexi ROSS: Ok.
Žao nam je, dečki.
To je bila pogreška.
Dakle posto dolazi prije 0,01.
Dakle, to je 0,01% f.
Oni su vrsta teško zapamtiti.
Mnogi ljudi, poput mene, samo ih pogledati
kad smo ih koristiti.
Da, tamo gore.
PUBLIKA: Zašto je 0,01 a ne 0,2 ili 0,1?
Lexi ROSS: Ne znam, zapravo.
Znate li?
DAN BRADLEY: Razlog je 0,01, za razliku od 0,02, ili
0,2, ili 0,1, je prilično proizvoljna na način na koji je
programer izvorno dizajniran.
PUBLIKA: To nije ono što sam htio reći.
Ja ne tražim razlog.
[Nečujno] Razlog zašto.
Imam to zapisano kao 0,2, a to donosi dva -
DAN BRADLEY: Da.
Tako smo samo bili želeći jedan.
PUBLIKA: Oh, OK.
Tako da bi onda 0,01.
DAN BRADLEY: 0.1 vjerojatno će također raditi.
0,01 radi kao dobro.
Lexi ROSS: Oh, 0 možda pokazati nulu, ako
to je manje od jedne.
DAN BRADLEY: Da, mislim da je u pravu.
Dakle 0,01 bi pokazati nulu ako to ne mora ništa
da će ići tamo, naravno.
Dakle, ako ste bili, recimo, stavljajući u 100 za Celzija, to bi
izaći na 212 normalno u Fahrenheit, kao i 212 točno.
Ako imate 0,01, to će pokazati 212,0, kao
za razliku od samo 212.
Lexi ROSS: To je točno.
Dakle, čitajući ga zapravo govori printf, print decimalnu točku,
i ispisati 0 ako je potrebno.
Ako ne, ispis prve decimalni poziciju.
DAN BRADLEY: I mi ćemo istražiti neke od toga kad smo
zapravo radi kod.
Lexi ROSS: Da.
PUBLIKA: Pa sam stavio 0,1.
To još uvijek ispisuje svoju nulu.
DAN BRADLEY: Još uvijek ispisuje svoju nulu?
PUBLIKA: Da.
DAN BRADLEY: Hm, ok.
Lexi ROSS: Cool.
>> U redu.
Više pitanja o ovom kodeksu prije nego što sam sastaviti i pokrenuti?
Da li itko vidi nikakve greške ovdje, prije svega?
Svatko vidi nešto što bi trebao biti ovdje?
Ako je ovo vaš problem su skup, što bi bilo da se ovdje ne
postoji upravo sada?
Da, super.
Dakle, nisam uključuje komentare, jer sam ih dostave
usmeno, ali ako ja ovo pišem u problematičnim set, ja bih
Definitivno želim staviti komentare naznačiti što sam
radi, u suštini, u programu.
A vi ćete nekako dobili osjećaj za njega, kao što kretati kroz
semestar, pravo iznos od komentiranja.
Vi ne želite biti previše rječit i staviti linije i
linije komentare za svaku od vaših linija koda, ali vi
Također, ne želim da se ne preopširan dovoljno i ostaviti
Čitatelj pokušati odgonetnuti što pakao
vaš kod radi.
>> Ok, cool.
Pokušajmo trčanje ovaj kod.
Ok, idem na smanjivanje malo.
Cool.
Tako ćete primijetiti da je predstava gumb ovdje.
Ajmo kliknite Play.
Dakle, primijetit ćete ovdje, baš kao u spec. na problem
postaviti, tu je. / a.out.
a.out je ime binarnom izvršnom, što je
dugo riječ za samo datoteku koja se sastoji od binarnog koda koji
vaše računalo se zapravo radi.
Dakle, kao što smo i očekivali, imamo C ovdje.
Dakle pozvati broj.
PUBLIKA: 23.
Lexi ROSS: 23.
DAN BRADLEY: Vaš program je predugo za pokretanje.
Samo ga ponovno pokrenuti.
Lexi ROSS: Oh, my bad.
Ok.
Prostori je izbirljiva ponekad.
Ona želi da mislite na svoje noge.
Ok, 23.
Strašan.
Da li su svi vjeruju?
Cool, jer se radi.
>> Ok.
Pokušajmo par više.
Idemo pokušati rub slučaj ovdje.
U računalnoj znanosti, kada govorimo o rubnim slučajevima, mislimo
slučajevi za svoj program pokrenuti da su vrsta na vrlo
Rubovi razumnim ulaza ili da je test određenim uglovima
Logika u svom programu, a to ima više smisla kada smo
učiniti više komplicirane programe.
Pokušajmo 0.
Strašan.
Mi svi to znaju.
Cool.
Bilo više pitanja na ovu prije nego što sam se kreću
na sljedeći program?
U redu, strašan.
Tako sada, idemo na -
želite samo koristiti moje računalo?
DAN BRADLEY: Da, to je jednostavno dovoljno.
>> U redu, tako da će otići i razgovarati o tome postotke.
Dakle, mi smo u osnovi, u ovom sljedećem malo vježbe, odlazak na
uzeti dvije cjelobrojne ulaza od korisnika, nadajući
ne-negativni brojnik i pozitivan nazivnik, a
osnovi ih dijeli i izlaza što izlazi kao
postotak.
Dakle, želimo samo prihvatiti ne-negativne brojnik i
prihvatiti samo pozitivne nazivnika, i držati molba
za novima ako to nije izašlo ono što želi.
Sve u redu?
Dakle, dati da ide.
Lexi ROSS: Oh yeah, ne želite učiniti -
oh, možda bi ljudi trebali kopirati moj broj.
DAN BRADLEY: Da.
Lexi ROSS: [nečujan]
Prostorima.
>> PUBLIKA: Imam pitanje.
Ako sam koristeći prostore i želim spasiti [nečujan]
Celzijusa pretvorbe, moram ga spasiti, a zatim napraviti novi -
Lexi ROSS: Mi smo samo mogli napraviti novi prostor, ili se može samo
želite kopirati i zalijepiti na tekstualnu datoteku ili
nešto tako da ga imaju.
DAN BRADLEY: samo ću promijeniti moje ime.
Lexi ROSS: Tako sam spasio najnoviju reviziju
tofahrenheit.c, pa ako idete u AAAA leksika Beryl
Ross, možete otići i kopirati taj najnoviji kôd, a zatim
početi na ovom novom, što mislim da je Dan će pružiti
neki kostur kod za kao dobro.
Ok.
DAN BRADLEY: najnoviji rebalans imam na moje, pa
to je na samom vrhu tog vremena, je Inačica 4, a
to ćete imati ono što je potrebno za početak.
Lexi ROSS: U redu, a ja ću kopirati da u rudniku kao dobro.
>> DAN BRADLEY: U redu.
Mislim da ćemo tek početak ide preko toga, ako
tko je zainteresiran.
Lexi ROSS: Mi smo svi zainteresirani.
DAN BRADLEY: Mi ćemo započeti tek objavom
neke varijable. Dakle, imamo brojnik, a radi
Sada, ja ću samo ga pokrenuti s vrijednošću -1,
i onda ću postaviti do-while petlja. Dok -
pa kad ne želim da petlje?
Kad želim to zadržati pitate -
Da?
PUBLIKA: Kada je manji ili jednak nuli.
DAN BRADLEY: Zašto ne može biti jednaka nuli?
PUBLIKA: [nečujan].
DAN BRADLEY: Da.
Dakle, za brojniku, to je samo dok brojnik
manji od nule.
Ima li to smisla da ljudi?
Mi zadržati petlje dok je brojnik manji od nula,
držimo traži novog ulaza, i držati zahtijevajući da im
ulaz nove stvari.
Dakle, ja ću samo morati malo printf ovdje, ne-negativna
broj -.
I onda smo napraviti istu stvar kao i prije, osim što radimo
GetInt, samo zato što smo htjeli učiniti ga kao
postoci Ints.
Dakle brojnik = GetInt.
>> Ok, sada nekoliko stvari.
Trebam to -1 ovdje?
PUBLIKA: [nečujan].
DAN BRADLEY: Ne
Zašto ne?
PUBLIKA: Budući da ste dobivanje slučajnih vrijednosti od korisnika.
DAN BRADLEY: Točno.
Ali ne želim imati deklaraciju ovdje?
Da.
Zašto?
PUBLIKA: Morate pronaći izvan petlje.
Inače, nećeš imati varijablu za ostatak
programa.
DAN BRADLEY: Točno.
Djelokrug.
Sweet.
Ima li to smisla svima?
Publika: Može li se reći da je još jedan put?
DAN BRADLEY: Ok.
Dakle, ako sam bilo da se proglasi ovaj brojnik unutar petlje, ako
Imao sam ovo umjesto brojniku bude int brojnik,
i ja je dobio osloboditi od ovaj cijelosti,
brojnik će nestati.
To ne bi bilo izvan tog kruga, jer je sve
je u okviru ovih vitičastih zagrada.
Smisla?
Ok.
>> Dakle, za nazivnik, možemo učiniti nešto prilično slično, int
nazivnik = -
i ne trebam jednaka -
učiniti, i za vrijeme u ovom slučaju, ono što želim?
Što uvjet ne želim to još petlju na?
PUBLIKA: Manje od ili jednak 0.
DAN BRADLEY: Manje od ili jednak 0.
Nazivnik <= 0.
Nemojte zaboraviti svoje zarezom, djeca.
Dakle, mi radimo istu stvar kao i prije, printf pozitivno
nazivnik, a mi smo dobili int odavde.
Tu ćemo ići.
GetInt.
Ok.
I onda na kraju, želimo ispisati neki postotak.
Tako da to učinite, što bi naš niz izgledati?
printf.
Bilo koja druga ideja o tome što mogu učiniti ovdje?
Da?
PUBLIKA: Možda% 0,2 [nečujan].
DAN BRADLEY: Yep.
Ok.
Ja ću početi s prvim malo,% 0,02%%,
citati, zarez.
I ja ću baciti novu liniju ovdje, samo zato što sam
kao nove linije kad radim stvari.
Kakav matematičkim izrazom treba imam ovdje?
PUBLIKA: Zagrade i float.
DAN BRADLEY: Dobro.
Zašto želim imati u float?
PUBLIKA: [nečujan].
DAN BRADLEY: Dobro, dobro.
Float.
PUBLIKA: brojnik.
DAN BRADLEY: brojač?
Ok, tako da sam to float brojnik.
PUBLIKA: Podijeljen -
DAN BRADLEY: Podijeljen?
PUBLIKA: Nazivnik.
DAN BRADLEY: Ne znam samo nazivnik, ili da radim plovak
nazivnik?
PUBLIKA: Samo nazivnik.
DAN BRADLEY: Ok.
PUBLIKA: I vi možete pomnožite to sto.
DAN BRADLEY: I ja pomnožite to sto.
PUBLIKA: I onda zagrade oko cijelog izraza.
DAN BRADLEY: Yep.
>> Ok.
Pogledajte dobro?
Pokušajmo.
-50.
Dobro, 50.
0, i 100, 50%.
To razrađen baš kao što smo željeli.
Da li se to kod smisla za ljude?
Ja ću ga spasiti tako da možete dobiti kopiju.
Da?
PUBLIKA: Zašto ne morate staviti [nečujan]?
DAN BRADLEY: Gdje?
PUBLIKA: Kao, kada kažeš nazivnik jednak
[Nečujan].
DAN BRADLEY: Kad sam ga imamo ovdje?
Zašto bih imati int prije njega?
PUBLIKA: Zbog drugi ima int prije njega.
DAN BRADLEY: Pa, tako da nije bio u petlji, zar ne?
Dakle Izjavljujem ovu int nazivnik iznad petlje,
a ja ga nemam u petlji, jer bih se
proglašavanje hrpu puta, i to ne bi zapravo nositi
preko bilo gdje drugdje u programu.
Lexi ROSS: Da, važna stvar za zapamtiti je da
varijable samo treba biti proglašena jednom.
Pa zamislite to je kao uvodi novu varijablu
u svijetu po nazvavši ga int ili float ili sitnica, a
nakon što je proglašen, sve što trebate učiniti kako bi ga promijeniti je
Jednostavno ga zovu po imenu: nazivnik, ili X, ili y.
Vi samo trebate da se zapravo zovu int samo jednom.
>> DAN BRADLEY: Da.
PUBLIKA: Možete li objasniti razliku između% d
i% f i ako ikada izjavljujem
varijabla kao decimalni?
DAN BRADLEY: Pa% d i% f ovdje?
Lexi ROSS: Pa d. zapravo odnosi samo znamenke, ne
decimalni, koja je vrsta zbunjujuće.
Nema stvarni podaci vrsta zove decimalni, a kad
želite ispisati int, što se odnosi na njega kao% d, ili
%-God-d. F je za plovak, koje bi ga misle
bi ja, ali to je zapravo d za int.
>> DAN BRADLEY: Yep?
PUBLIKA: Dakle, u drugom programu, zašto ne bismo jednostavno napraviti
Ista stvar kad si rekao celzijusa?
Zašto nismo stavili, sviđa -?
DAN BRADLEY: U dnu ovdje?
Ti bi mogao imati.
To bi bilo sasvim legitimno.
Sviđa mi se čini da na ovaj način, drugi ljudi vole odvajanje
to se u različitim linija koda.
Bilo kako bilo fino radi.
Što ti je?
>> PUBLIKA: Možete li objasniti što%%
[Nečujan]?
DAN BRADLEY: Ok, pa posto, posto.
Točno, bio sam ići preko toga.
Prvi posto se zove bijeg karakter, i to samo
kaže stvar iza toga zapravo nije kod.
Dakle, ovaj prvi posto, desno,% 0,02 f, sve one% 0,02 f
znači nešto kao printf funkciji.
%%, Samo sam htio to zapravo samo ispisati
posto znak.
Dakle, ja ne govorim da je nešto važno iza njega.
Ja samo govorim da je znak postotka iza njega.
Molimo ispisati znak za postotak.
Dakle posto, zatim još jedan posto.
Publika: Mogu vam pokazati ono što će izgledati ako imate
plutaju temelji na drugoj liniji?
DAN BRADLEY: Oh yeah, svakako.
Tako sam se pitao pokazati ono što će izgledati ako sam
Imali float brojnik, a sve to iz matematike, na drugoj liniji.
Dakle plovak posto = -
i ja bi dobili osloboditi od ovaj i samo staviti u posto.
I to radi točno istu stvar, samo sam
imati još varijablu.
>> PUBLIKA: [nečujan].
DAN BRADLEY: Spustite se do čega?
PUBLIKA: Tako da ja mogu vidjeti [nečujan].
DAN BRADLEY: Što ne možete vidjeti?
PUBLIKA: Žao mi je, bio sam [nečujan].
DAN BRADLEY: Da.
PUBLIKA: Dakle, ako smo zamjene escape karakter,
Pretpostavljam da smo htjeli imati znak za dolar umjesto toga, samo za
Na primjer, znak dolara iza posto?
DAN BRADLEY: Nope.
To je samo jedan dolar, samo jedan dolar znak, jer dolar
znak ne znači ništa printf.
Pitanje je, moram imati escape karakter za
simboli poput znakove dolara?
PUBLIKA: Pa kakve odnose, postoje li i drugi slučajevi da
trebali bismo znati kada je nešto poput posto
Znak može značiti nešto [nečujan]?
Lexi ROSS: Da.
Ne nužno znak za postotak, ali backslash, vidi
kako imamo zazor kraj ovdje?
Ajmo reći da smo zapravo htjeli ispisati reakciju, da ćemo imati
pobjeći da -
i ovo će zvučati zbunjujuće -
s drugom kose crtice.
Dakle, ako želimo ispisati \ \, mi bi
samo morati upisati da, ili za dodatne
backslash, drugi bijeg.
I još jednom, ako želimo ispisati citat - tako
u osnovi, ništa da vrsta označava nešto posebno
u nizu, želimo pobjeći.
Pa recimo da zapravo želimo imati citat ovdje, mi bi
želite učiniti \ ".
PUBLIKA: Dakle, to je obično backslash?
DAN BRADLEY: To je obično backslash.
Lexi ROSS: Da.
Iz nekog razloga u ovdje, to je znak postotka.
>> PUBLIKA: [nečujan]?
DAN BRADLEY: Ovaj tip?
Ovo je samo reći, stvar koja se dijeli ovdje
će biti tretirani kao float radi podjele.
Dakle, u slučaju 50 podijeljeno 100, ako nisam imala
plutaju tamo, to bi samo biti 0.
To je sve što će izaći, jer je 50 podijeljeno
100, ako ne uključujući bilo decimale, je 0. -
a sve nakon decimale samo je skraćen off.
PUBLIKA: Hm,
zašto ne bismo ga stavili pred nazivnik kao dobro?
DAN BRADLEY: Dakle, razlog zbog kojeg smo ne stavi ga ispred
nazivnik, jer kad ste dijeljenjem nešto po
cijeli, to radi sasvim u redu.
Što veći broj na dnu
ne mijenja ništa.
Možete podijeliti cijelih samo fine.
To jednostavno nije važno.
Ti bi mogao, to neće promijeniti ništa.
PUBLIKA: Dakle, ako ste htjeli tri decimalna mjesta, bi
stavite posto 0,03?
DAN BRADLEY: Yep.
Ti bi stavio% 0,03 ako ste htjeli
tri decimale.
>> Publika: i učiniti naredbe, što je razlika između
da i samo radi, dok je na vrhu?
DAN BRADLEY: Dakle, učiniti-a u odnosu na while petlje su dvije
prilično slične naredbe.
Jedina razlika je što pokrenete kod jednom, pokrenuti
Kod unutar petlje jednom trenutku prije
donošenja bilo kakve stvarne ček.
Dakle, to je također razlog zašto sam mogu reći nazivnik bez davanja
to broj.
Dakle, ako sam rekao int nazivnik, a zatim, dok (nazivnik <=
0), to nikada ne bi mogao ni
pokrenuti iznutra koda.
To ću učiniti da ček prije -
pa ovdje.
Dakle, ako sam imao taj while petlja ovdje, ja bih imati
nazivnik jednak, recimo, -2 ili neki broj manji
od ili jednak 0, tako da bi zapravo probati trčanje kod
unutar prve.
Dakle, općenito govoreći, želite koristiti ne-while petlja
umjesto while petlje, kada pitate za unos korisnika
jer radi kod jednom, tražeći nešto korisniku
će vam dati je općenito najbolje rješenje, za razliku od
samo vjerujući što god stavite u za početak sa.
PUBLIKA: I to uvijek slijedi neko vrijeme.
DAN BRADLEY: Da li slijedi neki komad koda koji
želite izvršiti, a zatim, dok neki uvjet.
Lexi ROSS: Razmislite o tome kao jedan naredbeni vrsta razišla
u dva dijela.
To je ne-a, a ne kao ovdje je to, a onda sam
će dodati neko vrijeme, to je samo do-a.
>> PUBLIKA: Ja razumijem razlog zašto ste koristeći
dva znakovi posto, ali možete li mi objasniti zašto moramo
imaju [nečujan]?
DAN BRADLEY: Ok, tako da jedan postotni znak samo govori
printf, ovdje je naredba da želim da
popuniti s nekim brojem.
Dakle, želim vam da ispunite ga s dva decimalna mjesta i
plutaju, a vi ćete pronaći plutaju na kraju
naredba, to je to posto.
Ima li to smisla?
PUBLIKA: Yep.
DAN BRADLEY: Ok.
>> PUBLIKA: Ima li nešto o ne-while petlje toj
ako uvjet nije ispunjen, ako ste dobili
Negativan broj za brojniku, to ću samo držati
traži i da će zadržati to traži?
DAN BRADLEY: Da.
Dakle, ako je stanje dok nije ispunjena na kraju
DO-a, to će pokrenuti natrag na početak.
To je samo petlja.
Dakle, to je kao while petlje da stanje nije bilo
ispunjeni dalje.
To samo traje jedan više vremena.
Da.
PUBLIKA: Dakle, ako radite ovo, možete li, za svoje vrijeme,
staviti dva uvjeta?
DAN BRADLEY: Možete.
To ovisi o tome što tražiš.
Tako možete staviti dva uvjeta u while petlji ako ga imate
sve u nekoj vrsti Boolean operatora, što zvuči
ružna, ali to je u osnovi to je nazivnik manji od ili
jednak nuli, ili se vraća true ili false, zar ne?
To je bilo manje od ili jednak nuli ili ne.
Dakle, što možete učiniti druge Boolean operatorima da ću reći dok
to je također istina ili dok je to također lažna.
Dakle, to je stvari poput i brojnik veći od
nula, zar ne?
To je molba, to će samo petlja, dok je nazivnik manje
od nule i da imaju pozitivan brojnik.
PUBLIKA: I vi dva ands, zar ne?
DAN BRADLEY: Dvije ands.
Lexi ROSS: Mi ćemo pokriti da više kasnije.
>> PUBLIKA: Što ako netko ne stavi u pozitivan
nazivnik?
Ako su stavili u negativnom brojniku, možete ih zatražiti
da, recimo, staviti u ne-negativne brojniku i imaju
naredba za to?
DAN BRADLEY: Vi mogli.
PUBLIKA: Upravo sada ona samo kaže ne-negativna brojnik.
Što će se koristiti za to?
DAN BRADLEY: Dakle, želite imati ako stanje, pa bih, ako
brojnik manji od nule.
Lexi ROSS: Vjerojatno bih samo želim da ga razbiti u više
koraka, zar ne?
Dakle, prvi put su stavili na ulazu, mi samo bih rekao dati
nas brojnik ili sitnica.
A onda, ako oni nešto pogrešno, to može biti slučaj
za while petlje, nego učiniti-a, jer imamo
prvi put imamo GetInt, a zatim dok je ulaz
je loše, držimo moleći ih za daljnje ulaz s
drukčiji teksta, kao što to nije uspjelo ili nam dati
ne-negativni brojnik umjesto toga, takve stvari.
>> DAN BRADLEY: Da?
PUBLIKA: Kako ste očistili stvari koje [nečujan]
terminala?
Lexi ROSS: Jasno.
DAN BRADLEY: Da, ne možete upisati u njega.
Lexi ROSS: Zapravo, ovo nije pravi terminal.
Pitanje je bilo kako ti jasno da se stvari tamo dolje?
Odgovor je da to nije pravi terminal, ali ajmo reći vam
su u stvarnom terminalu.
Vedro.
Oh, to je mačka.
DAN BRADLEY: [nečujan]?
To je da je jedan, zar ne?
Lexi ROSS: Ne, to je sve moje stvari.
DAN BRADLEY: [nečujan].
Lexi ROSS: Tamo idemo.
DAN BRADLEY: Da?
>> PUBLIKA: Da li jasnu posao ako imate -
sviđa, reći ćete pokrenuti program [nečujno] i to je molba
ti za nešto, a vi ne želite.
Kako ste -
DAN BRADLEY: Kontrola + C?
Lexi ROSS: Da.
Dakle, ako radite program i nešto ne ide
onako kako vi to želite, a vi samo želite izaći cijela
Program Control + C. Čak i ako ste na Mac, a ne Apple + C,
Control + C.
PUBLIKA: Jeste li imali ispravnu verziju
revizija u svom profilu?
DAN BRADLEY: Mislim da je spašen, zar ne?
Da.
Lexi ROSS: Ovo je prostor.
Da.
Mislim da je revizija 11.
>> DAN BRADLEY: Da?
PUBLIKA: Da li C napraviti nikakve pretpostavke o tome što je
varijabla ako definirati varijablu, ali ne dodijeliti
ništa na to odmah?
DAN BRADLEY: Dakle, to je samo ćete prihvatiti Ints u tom mjestu.
Dakle, ako ste ga proglasiti -
PUBLIKA: Ako sam učinio int nazivnik zarez, zar ne
Pretpostavljamo da je jednaka nuli ili bilo koji broj -?
DAN BRADLEY: Nope.
Dakle, ako vam se ne dodijeliti, recimo, int nazivnik na bilo koju vrijednost,
to bi mogao biti ništa.
To je stara memorija koja je bila na tom mjestu.
Dakle, to bi mogao biti negativan 2000000000, to bi mogao biti pozitivan
2000000000, a to bi mogao biti bilo gdje u između.
Dakle, ako ste zapravo radi stvari, pobrinite se da
dodijeliti vrijednost varijabli.
To, to ne smeta jer smo odmah
dodjeljivanje vrijednosti, ali općenito govoreći, da.
Bilo koja druga pitanja?
>> Lexi ROSS: Mi također mogu uzeti samo općenita pitanja u ovom
točka na predavanje materijala, str skup materijal, sve što ste
su pitali, to je dobro vrijeme za pitati one.
PUBLIKA: Dakle, u Walkthroughs, Zamyla
spomenuo okrugli funkciju.
Biste li razrade o tome kako implementirati to?
Lexi ROSS: Naravno, kako to provesti to?
PUBLIKA: Rekla je da je okrugla.
Lexi ROSS: Oh yeah.
Dakle, samo tako svi imamo isti Vocab i stvari,
implementirati općenito znači zapravo pisanje od nule.
I tako ja ne mislim da je riječ o vrsti pisanja
okrugli funkcija.
Ona je vjerojatno samo značilo kako ga koristiti.
Provesti znači nešto kao stvaranje.
Dakle, općenito, vrijeme kada želimo koristiti okrugli funkciju je sam
znači, sortirati od, na primjer,
ako želite zaokružiti.
Možete li mi dati malo više konteksta kao što
Problem je bio?
PUBLIKA: Da biste izbjegli nepreciznosti u decimala
čineći ih plovak.
Lexi ROSS: Da.
Dakle, problem s plovcima da smo vrsta aludirala je
da je zbog načina na koji oni pohranjene u stroju,
oni nisu 100% precizan u način na koji možda misle
Kalkulator će ih pohraniti.
Teško mi je pokazati primjer ne znajući što
kontekst bio od.
Ne znam, možete li se sjetiti nečega, Dan?
>> DAN BRADLEY: Dakle, ako pitate za, recimo, brojevima
veći od 10, a vi koristite pluta, a ti si dodao jedan
na plovak svaki put, ponekad će čekati dok ste
dobivši 12 prije nego što ću reći da je ovo zapravo broj
veća od 10.
Pluta imati neke ozbiljne probleme samo između 32.
i 33. decimalno mjesto da ću ići, pa bi to moglo 9,9999999, ili
to bi moglo biti 10.0000001, zar ne?
To zapravo ne pravi razliku između dva, pa ako ste
čeka stvarima većim od ili jednak 10, možda ćete
ne doći na ono što mislite da je 10. iteracija.
Možda bi tamo u 11..
Lexi ROSS: U osnovi, da.
Kada ste petlje preko puno pliva, to je kad
nepreciznosti dogoditi.
PUBLIKA: Mislim, pa u osnovi, to je kao da na p
postaviti, ona želi da oko realan, a ako ste stavili u
4,24 za iznos promjene morate vratiti, ako baš ne
puta 100, to zapravo će se promijeniti u 423 -
DAN BRADLEY: Ponekad, da.
PUBLIKA: Pa mislim da je baš kao i, kako vi koristite krug
funkcija u stvarnom kodu da bi ga tako da ne to učiniti?
DAN BRADLEY: Dakle, ako ste zaokruživanje 424 ga množenjem
po 100 i čineći ga u cijeli broj, to će se ponekad
čine ga 423 zbog tog nepreciznosti.
I tako stvari koje možete učiniti samo dodati 0,0000003.
PUBLIKA: Ali mislim, zapravo, oni žele
da koristimo krug.
DAN BRADLEY: okrugli funkcija?
Tu je vjerojatno matematika funkcija, nešto u
matematike knjižnica.
PUBLIKA: # include matematiku.
DAN BRADLEY: # include , a tu je
Vjerojatno okrugli funkcija.
PUBLIKA: Baš kao krug () -?
Lexi ROSS: U osnovi, jer želite zaokružiti na
Najbliža posto.
DAN BRADLEY: Idemo podići man stranice.
Dakle, praktičan alat, ako ne znate -
ti podići terminal -
je, ako idete na čovjeka matematici.
Lexi ROSS: Cool.
>> Dakle, što možete vidjeti, pa čovjek je kratko za priručniku, a ne čovjek, i
to vam omogućuje da pogledati više informacija o bilo kojem
Funkcija ili biblioteka da bi moglo biti bave.
Tako sam upisali u čovjeku matematici.
Dopustite mi povećali u.
DAN BRADLEY: Možemo pokušati čovjek rundu, previše.
Lexi ROSS: Naravno.
DAN BRADLEY: I to će se popis -
Čovjek iz matematike će se popis sve što je u math knjižnici,
koje ćemo uključiti.
Da, mi također imaju okrugli.
Lexi ROSS: Tako sam učinio čovjek rundu.
Možete vidjeti ovdje u sinopsisu, kaže # include
, tako da je vrsta kao cs50.h, stdio.h.
I to izgleda kao da je zapravo preopterećena, što znači
to traje različite vrste argumenata, tako da mogu nadopuniti
parovi ili plovci.
DAN BRADLEY: Okrugli odnosu roundf.
Lexi ROSS: Roundf.
Jeste Zamyla spomenuti roundf odnosu krug?
PUBLIKA: U prohod, to je bio samo krug ().
DAN BRADLEY: Ok, tako da se vjerojatno koristi dvojnika,
onda, za razliku plovak.
Ok, tako da bi pomnožiti 100, a zatim ga zaokružiti, a
želite dobiti na broj koji je najbliži tome, mislim.
>> Lexi ROSS: Dakle, okrugli funkcija vraća sastavni
Vrijednost najbliže x zaokruživanje pola slučajeva daleko od 0,
bez obzira na trenutnu zaokruživanje smjeru.
Dakle, u suštini, da bi želio samo zaokružiti kada ste na
cjelobrojna vrijednost, tako da pomnožite
100 i zatim okrugli.
Znači li to da ima više smisla?
PUBLIKA: Da biste koristili tu funkciju u C datoteci, ne trebate
staviti okrugli plovak, kao i ako vaš varijabla se zove q, ti
staviti krug (float) q, a zatim zagradama, ili može
samo stavi okrugla, a zatim Q u zagradama?
DAN BRADLEY: Dakle, ako ste bili pokušava koristiti ovu funkciju
zapravo, ti bi se da je q, q je plovak,
ili kako je to izjavio?
PUBLIKA: Q je plovak.
DAN BRADLEY: Dakle, ako q je proglašen kao float, što bi
samo se krug, a onda ga dati q.
Možda ćete morati da ga proglasiti kao kontre u ovom slučaju.
Lexi ROSS: Da, osim ako ne želite koristiti roundf.
PUBLIKA: Ja samo mogu koristiti roundf, a zatim q u navodnike?
DAN BRADLEY: Ne, ne u navodnike, samo q.
PUBLIKA: Nažalost, ne u navodnicima, u zagradama.
DAN BRADLEY: U zagradama, da.
Lexi ROSS: Žao mi je da je malo zbunjujuće.
Svaki više pitanja?
>> DAN BRADLEY: Da?
PUBLIKA: Dakle, okrugle samo kola do brojeva?
Lexi ROSS: Da.
DAN BRADLEY: Da, okrugle samo kola do brojeva.
PUBLIKA: Dakle, ako ste željeli imati nešto točno da
trebao biti [nečujno] pomnožen 100, a zatim
podijeljeno 100 opet, ako ste htjeli -?
Lexi ROSS: Dakle, ako ste htjeli da ga se u decimalnom obliku?
PUBLIKA: Pa, na primjer, na primjer, [nečujan] vi
imaju 1.25, a zatim [nečujan]
1,24, ako ste htjeli držati da je kao 1,25, što bi
pomnožite to sto ga oko, a zatim ga podijeliti 100
opet dobiti 1,25?
Lexi ROSS: Da.
Dakle, pitanje je, budući zaokruživanja, kao čovjeka stranici
kaže, zaokružuje na najbliži sastavni vrijednosti, to znači
da bi netko želite pomnožiti 100, učinite
zaokruživanje, i podijeliti sa 100 opet, kažu, dobiti točne
dolara i centi vrijednosti?
A odgovor je -?
DAN BRADLEY: Ne
Mislim, ako ste samo dobivanje realan, ako počnete
s plovkom vrijednosti 1,25, to je kako će to biti
tumačiti.
Dakle, ako ga pomnožimo 100, a zatim ga podijeliti sa 100,
još uvijek će se tumačiti kao 1,25, ili
eventualno 1,249 ...
.. 999.
Lexi ROSS: Mislim da je pitanje bilo, što bi
množe, a zatim koristiti okrugli, zatim podijeliti, pa to je kao -
DAN BRADLEY: Da.
Ja još uvijek ne vjerujem da to mijenja ništa, iako.
Mislim da je to još uvijek.
Lexi ROSS: Zbog okrugli radi - koristi prirodna broja.
Dakle, ako vam pokušati zaokružiti 1,25, samo se jednom.
Dakle, mislim da bi se kao dodatni preciznosti,
ako je to ono što pričaš.
>> PUBLIKA: Pa u čemu instance ne koristite okrugli, onda?
DAN BRADLEY: Dakle, u ovom slučaju, ako želite, recimo, broj
od centa od 1,25 dolara, što bi pomnožiti 100, okrugli, dobiti
125, i ostaviti ga kao da je, kao centi, za razliku pokušava
pretvoriti ga natrag u dolarima i centi.
Lexi ROSS: Oh yeah, yeah, to je sigurno.
PUBLIKA: Zašto trebate zaokružiti da [nečujan]?
DAN BRADLEY: Pa ako ga pomnožimo 100, a zatim
odmah pretvoriti da cijeli broj, koji je više
koristan oblik, to je kad se nositi s tim
nepreciznost, zar ne?
Dakle, to bi moglo biti 124.999999, pa ako onda pretvoriti to da
cijeli broj, to je samo kapi sve off koji je ispod
decimalno.
PUBLIKA: Dakle, to će vam dati [nečujan].
DAN BRADLEY: Točno, umjesto 125, koja je
zašto želite zaokružiti.
>> PUBLIKA: Žao nam je, možete li ponoviti ono što je rekao da
treba kao ne protivi ono što ne bi trebao učiniti?
DAN BRADLEY: Ok.
Dakle, ono što trebate učiniti je da počnete sa 1,25, pomnožite
to sa 100, a zatim oko taj cijeli broj, da 125 ili
124.9999, i dobiti da na najbliži cijeli broj.
PUBLIKA: Dakle, ako ste zaokružiti, da ga stavlja
na najbliži cijeli broj?
DAN BRADLEY: Da.
PUBLIKA: Da li postoji način da se ograniči, ako vas pitati za plovak
biti unesene, postoji način da se ograniči koliko decimala
mjesta možete unijeti plutaju na?
Lexi ROSS: ne koristite CS50 je provedbu.
Mislim, možete računati koliko je velika ulaz je dao
korisnik, ali to bi zahtijevalo novi provedbu
od GetFloat, pa ne morate brinuti o tome.
DAN BRADLEY: Dakle, ako se, recimo, ulaz 1,256, što bi samo
koristite 1,25, ili ste mogli napraviti 1,26.
Bilo kako bilo, mislim da provedba kaže da može -
PUBLIKA: Možete samo su ga zaokružuju -
DAN BRADLEY: Bez obzira na to želi, da, koliko god to
nekakva zaokruživanja.
Sve drugo?
Ne mora biti oko zaokruživanja.
Lexi ROSS: Da?
>> PUBLIKA: Ako želimo provjeriti da li stil naše
kod je prikladno ili najbolji stil
da to može biti, da je vrsta stvar ćemo donijeti u
odjeljak, ili na uredovnog vremena, ili je to vrsta stvar
možemo postavljati privatno na stvar, na raspravi, a zatim
pitati za savjet o?
Lexi ROSS: Dakle, mi ne, u uredovno vrijeme ili na CS50
Raspravljajte, nećemo zapravo grade svoj p skup unaprijed
za stil, ali mislim da je vjerojatno najkorisnija
stvar koju možete učiniti da bi se gledati na primjere, a vi
bi trebao biti u mogućnosti da otkrijete da u području koda, koji bi trebao biti
distribuira online, kao i predavanje slajdovi, postoji
trebali bi biti primjeri koda.
No, ako imate pitanja o individualnim određeni
stil problem, svakako slobodno pitajte da na CS50
Raspravljajte, a radno vrijeme, ili u svoje slobodno vrijeme.
Ali ako je to više opće pogled na moj broj, to je najbolje
vrsta uporabe primjera i pokušati stati svoj kod za to.
I vjerujem da je stil vodič o -
DAN BRADLEY: Tu je stil vodič.
Stil vodič je super.
Ona uči sve što vam je potrebno, a to obuhvaća prilično
koliko svaki primjer poznat čovjek, ili barem zna za mene.
>> Sve drugo?
U redu.
Cool, dečki.
Lexi ROSS: Imati velik dan.
DAN BRADLEY: Hvala što ste došli.