GARSIAKALBIS 1: Pakalbėkime apie vandens.
Be šią problemą, prašome, kad vartotojas galėtų pasakyti mums, kaip ilgai minutėmis jų dušas buvo
ir tada mes Apskaičiuojant lygiavertį skaičius butelių vandens
kad naudojami jų dušas.
>> Taigi, kas yra mūsų iki Darbas šią problemą?
Pirma, mes ketiname norite kad tai paskatins ir tada patvirtinti
įėjimo, kad vartotojas suteikia mums.
Kai mes užtikriname, kad mes turi galiojantį naudotojo įvesties,
mes ketiname apskaičiuoti lygiavertis numeris butelių vandens
, kad vartotojo turėjo per jų dušas, ir tada mes
ketina pasakyti jiems spausdinti šį skaičių.
>> Taigi leiskite spręsti pirmasis mūsų užduotis, paskatino ir patvirtinti
, naudotojo įvestis.
Dėl to mes parašiau funkcija skambinote
get_int įsikūręs CS50 bibliotekoje.
get_int užtikrina, kad vartotojas įėjimai sveikasis skaičius, todėl jokių teigiamų skaičių,
neigiami skaičiai, arba nulis yra patenkinti visi.
Tačiau jei vartotojas įveda nieko kita, taip bet raidžių arba skaičių kombinacija
arba dešimtainiais numeriai, tada vartotojas bus raginami bandykite dar kartą
ir funkcija nebus priimti nieko tol, kol vartotojas suteikia jiems sveikasis skaičius.
>> Taigi, kaip mes naudojame get_int?
Jei atidarote savo darbo sritį ir sukurti failą pavadinimu integer.c tegul
įrašykite šiuos.
Grotelėmis yra cs50.h.
Tai būtina, nes get_int yra CS50 biblioteka funkcija,
todėl mes turime grotelėmis yra jo deklaracija, kad
naudoti funkciją.
Ir tada mano pagrindinis veikti aš tiesiog vyksta
tiesiog paskambinkite funkcija get_int.
>> Taigi leiskite veikti tai ir pamatyti, kaip ji veikia.
Aš jau parengė ją, tad tiesiog eiti į priekį ir paleisti šią programą,
./integer.
Čia aš turiu greitai ir čia, kur aš įvesties vertė.
Pasakyti, kad aš įdėti tik kai sveikasis skaičius 50, programa excepts ir atsiteisti
ir tai, kad.
>> Bet pasakyti, kad aš paleisti jį dar kartą ir Aš įvesties kažkas.
Galbūt, Hello world.
Tai ne sveikasis skaičius, todėl Programa bus greitai man bandykite dar kartą.
Pabandykime vėl su gal dešimtainis šį kartą.
0,5, dar kartą, o ne sveikas skaičius taip Programa nebus priimti jį
ir ji jums pasakys man, kad bandykite dar kartą.
Taigi leiskite suteikti jai kitą numerį.
Programa priima jį, meta, ir mes padaryti.
>> Taigi dabar mes turime funkciją kad leidžia mums ir užtikrina,
, kad vartotojo įėjimai sveikas, bet kaip mes galime
realiai sekti sveikas įvestas vartotojas?
Na, visi mes padaryti, tai parduotuvė ši vertė į kintamąjį, sako n.
Taigi, jei aš paskelbti sveikasis skaičius n, ir nustatyti, kad vertę get_int,
tai n bus tada laikyti kokia Vertiname vartotojas įvedęs.
>> Gerai, kad dabar mes užtikrinti, kad vartotojas duos mums sveikasis skaičius
ir mes žinome, kaip sekti iš sveikojo skaičiaus, tačiau nepamirškite,
sveikieji skaičiai yra teigiamą ir neigiamą.
Taigi nėra prasmės šio problemos kontekste
kad vartotojas priima dušas nuo pasakyti neigiamą 12 minučių.
Taigi, mes turime įsitikinti, kad vartotojas iš tikrųjų mums suteikia teigiamas sveikasis skaičius.
Dabar mes neturime tik vieno funkcija, kad
todėl mes ketiname turėti sukurti, kad sau.
>> Taigi norime nuolat paskatinti vartotoją
kol jie suteikia mums teigiamas sveikasis skaičius.
Jei darau kažką nuolat tada tai panašu į kilpą, pakartojimas.
Taip, kad vienas iš konstruoja, kad mes naudoti C įgyvendinti pasikartojimo kilpos
yra while cikle.
Taigi, o kilpa, kaip Čia parodyta, atliks
nepriklausomai yra kilpos kūno kaip tol, kol atsižvelgiant būklės įvertina
true.
Kaip tik ši sąlyga įvertina false, tada
Programa vyks kokia ateina po to, kai į kilpą kūno.
>> Taigi, nors kilpos ketinate tikrai naudinga CS50.
Bet šiuo konkrečiu atveju, mes žinome, kad mes
ketina bent paskatinti vartotoją vieną kartą ir tada tik kilpa, jei reikia.
Taigi čia mes ateiti į ypatingą konstruktas ir tai
labai panašus į laiką kilpa vadinama do-while cikle.
>> Taigi do-while cikle vykdo organas linijos ne mažiau kaip vieną kartą
ir tada ji patikrina, ar jis turėtų vykdyti,
o ne į while cikle, kuri bus patikrinti būklę
ir atlikite kūną.
Taigi do-while cikle, ką mes galime padaryti, tai raginimas vartotojui už sveikąjį skaičių
ir tada patikrinkite, ar tai negalioja, ar ne.
Jei tai negalioja, tada mes pakartokite šį procesą prašydamas vartotoją
mums dar vieną sveikąjį skaičių, o tada tik tada, kai, kad sveikas, yra galiojanti,
mes ir toliau kokia ateina vėliau.
>> Dabar jūs pastebėsite, kad deklaracija sveikasis skaičius n
yra šiek tiek kitoks, ką mes padarė prieš ankstesniame pavyzdyje
ir tai yra dėl to taikymo sritį.
Jei būtume paskelbė sveikasis skaičius n viduje apie do-while cikle kūno,
tada mes negalėtų prieiti prie kad n vertė ne iš tų Curly
petnešos nurodant kilpą kūną.
Bet mes iš tiesų norime prieiti prie vertė n vėliau mūsų programoje.
>> Gerai, kad dabar pakalbėkime apie ką ši sąlyga turėtų būti.
Mes norime, kad tik reprompt vartotojas tol, kol n yra negaliojantis.
Taigi galvoti, ką invalidu sveikas vertė atrodys
ir tada sukurti Būlio išraiška išreikšti tai.
>> Mes beveik baigtas mūsų subtask skatinus ir patvirtinti vartotojo įvestį.
Taigi padarykime tai šiek tiek tiek daugiau patogi
ir suteikti vartotojui šiek tiek šiek tiek daugiau informacijos
ką mes paskatino juos.
Taigi leiskite raginimas vartotojui, vienam spec, su styginių minučių.
Taigi, naudojant savo printf pareiškimus, padaryti Įsitikinkite, kad jūs rungtynės tai tiksliai.
>> Gerai.
Taigi dabar mes turime galiojančią vartotoją įėjimas, teigiamas sveikasis skaičius
Vertė kiek minučių jie praleido po dušu.
Taigi, kas toliau yra apskaičiuoti ekvivalentinis skaičius butelius.
Ką mes ketiname padaryti čia gali būti labai akivaizdu jums ne pirmas,
ir kad viskas OK.
Ką mes norime padaryti, tai mes norite pradėti praktikuojančių
iš aptikti modelius idėja ir kurti formules problemos.
>> Taigi mes papasakojo vienam spec kad viena minutė duše
yra lygi apie 12 butelių vandens.
Taigi dvi minutes būtų lygiavertė 24
ir penkias minutes būtų būti lygi 60.
Taigi dabar, jei jūs manote jūs turite jį, tada tegul
pamatyti, jei jūs galite sugalvoti su modelio ar formulę
išreikšti, jei mes pasakyti, n minučių Kiek butelių vandens
būtų, kad būtų išreikštas n?
>> Vėl, nors tai gali būti paprasta per pirmąjį,
vėliau, kai mes gauname daugiau sudėtingų problemų
mes ketiname norite patekti į , nustatymo praktika
modeliai ir besivystančios formulės išsiaiškinti šiuos dalykus.
>> C turite prieigą prie standartiniai aritmetinės operacijos,
Be to, atimtis, daugyba ir dalyba.
Taigi, aš paliksiu jį dabar išsiaiškinti
kaip išreikšti lygiavertis numeris butelių
kad vartotojo sunaudotos per jų dušas.
>> Gerai, mes beveik jau padaryta.
Mes paskatino už jų indėlį vartotoją, mes užtikrinti, kad tai galioja įėjimas,
ir tada mes suprato, kaip Apskaičiuojant lygiavertį
skaičius butelius, kad jie suvartotų.
Taigi paskutinis dalykas, reikia padaryti, tai produkcija ekvivalentinis skaičius butelius
ir tikiuosi, paskatins juos išsaugoti šiek tiek vandens.
>> vertę Outputting bus būti printf.
Jei aš norėjau pasakyti, kad aš turi tris leidžiama, pavyzdžiui,
Galiu naudoti printf kad atrodo kažkas panašaus į tai.
Turiu tris augintiniai ir nauja linija gražus formatavimą.
>> Dabar mes nenorime tiesiog sunku kodas dalykai.
Pasakykite skaičių mano augintiniai laikui bėgant kinta.
Tada aš ruošiuosi pasinaudoti pamainymai mano printf.
Taigi čia mano numeris yra sveikasis skaičius.
Taigi, aš ruošiuosi padaryti vietos rezervavimo ženklą už sveikasis skaičius, naudojant% i.
Aš ruošiuosi parašyti eilutę, ir tada po to, kai eilutę
Rašau kablelį ir tada kintamasis, noriu spausdinti.
Taigi ši vertė bus spausdinamas vietoj to imituojančiu,% i.
>> Jūs galite naudoti pamainymų, kaip Na, plūdės, kurių% f.
Jūs taip pat gali turėti keletą rezervuotos vietos eilutę.
Pavyzdžiui, jei turiu tam tikrą skaičių šunis ir kai kurių kačių skaičių,
Aš įdėti du pamainymų čia ir tada mano du kintamieji atitinkamos tvarka.
>> Taigi dabar, kad mes žinome, kaip spausdinti saugomi kintamųjų vertes,
labai paskutinis dalykas padaryti, tai užtikrinti, kad mes
spausdinti vertę tikslią formatu nurodyta specifikacijoje.
Su tuo, mes paskatino vartotojas ir patvirtinti jų indėlį.
Mes tada apskaičiuojamas ekvivalentas skaičius butelių vandens
kad jie suvartoja per savo dušu, ir mes išvesti šią vertę į juos.
Ir taip, mes baigė vandens.
>> Mano vardas yra [? Zamila,?] ir tai yra CS50.