Speaker 1: Ejja nitkellmu dwar l-ilma. F'dan il-problema, aħna nistaqsu lill-utent li tgħid us kemm fil-minuti doċċa tagħhom kienet u allura aħna jikkalkulaw l-ekwivalenti numru ta 'fliexken ta' ilma li doċċa tagħhom jintużaw. Allura x'inhuma s tagħna li-do għal din il-problema? L-ewwel, aħna qed tmur jridu biex tkun inkoraġġuta u mbagħad jivvalidaw l-input li l-utent tagħtina. Ladarba irridu nassiguraw li għandhom jintuza mill-utent validu, aħna qed tmur biex tikkalkula l- għadd ekwivalenti ta 'fliexken ta' ilma li l-utent kellha matul doċċa tagħhom, u allura aħna qed ser jgħidulhom mill istampar ta 'din in-numru. Mela ejja tindirizza tagħna ewwel kompitu, tinċita u l-validazzjoni l-input utent. Għal dan aħna ve miktub funzjoni għalik imsejħa get_int jinsabu fil-Librerija CS50. get_int jiżgura li l-inputs utent integer, sabiex kwalunkwe numri pożittivi, numri negattivi, jew żero huma kollha aċċettati. Iżda jekk l-utent inputs xi ħaġa oħra, sabiex kwalunkwe kombinazzjoni ta 'ittri jew numri jew numri deċimali, allura l- utent se tkun imħeġġa biex retry u l-funzjoni mhux se taċċetta xejn sakemm l-utent tagħtihom numru sħiħ. Allura kif do nużaw get_int? Jekk inti tiftaħ workspace tiegħek u toħloq fajl imsemmi integer.c ejja tip li ġej. Hashtag jinkludu cs50.h. Dan huwa meħtieġ għaliex get_int hija funzjoni librerija CS50, għalhekk irridu hashtag tinkludi dikjarazzjoni tiegħu bil-għan li tuża l-funzjoni. U mbagħad fl prinċipali tiegħi funzjoni Jien biss se li sempliċiment sejħa tal-get_int funzjoni. Mela ejja run dan u tara kif taħdem. Stajt diġà kkompilata dan, hekk ejja biss jimxi 'l quddiem u run dan il-programm, ./integer. Hawnhekk għandi pront u hawn fejn jien kontribut il-valur. Say I jitqiegħdu biss ftit numru sħiħ, 50, il excepts-programm u quits u li li. Imma ngħid jien run mill-ġdid u I input xi ħaġa oħra. Forsi, bonjour dinja. Li mhux integer hekk il programm se pront lili biex retry. Ejja erġa 'pprova ma' forsi deċimali dan iż-żmien. 0.5, għal darb'oħra, mhux numru sħiħ hekk il-programm mhux se taċċetta dan u dan ser tell me retry. Mela ejja tagħtiha numru ieħor. Il-programm taċċetta dan, quits, u aħna qed isir. Allura issa għandna funzjoni li jippermetti u jassigura, li l-utent inputs ta ' numru sħiħ, imma kif nistgħu fil-fatt jżommu rekord tal- numru sħiħ inputted mill-utent? Ukoll, kollox aħna ser tagħmel hu maħżen dan il-valur fil-varjabbli, jiġifieri n. Mela jekk jien niddikjara integer n, u I stabbiliti l-valur għall get_int, allura n mbagħad aħżen x'ikun valur l-utent inputted. Kull dritt, hekk issa konna assigurat li l-utent se tagħtina numru sħiħ u nafu kif biex iżommu kont tal-eqreb numru sħiħ, iżda tiftakar, interi huma kemm pożittivi u negattivi. Allura ma verament jagħmel sens fil-kuntest ta 'din il-problema li l-utent jieħu doċċa tal jgħidu negattivi 12 minuta. Għalhekk għandna bżonn li jiġi żgurat li l-utent fil-fatt tagħtina numru sħiħ pożittiv. Issa aħna ma jkollhomx biss funzjoni waħda għal dan, hekk aħna qed tmur biex ikollhom biex joħolqu dak nfusna. Allura aħna rridu li kontinwament pront l-utent sakemm tagħtina numru sħiħ pożittiv. Jekk qed nagħmel xi ħaġa kontinwament allura li l jixbhu lil loop, ripetizzjoni. Allura wieħed mill-constructs li nużaw fil ċ biex jimplimentaw ripetizzjoni u loops huwa loop waqt. Allura loop filwaqt li, kif muri hawn, se tesegwixxi kollu li hu fil-ġisem tal-linja kif Sakemm il-jevalwa kundizzjoni mogħtija li veru. Hekk kif dik il-kundizzjoni tevalwa sa falz, imbagħad il-programm se tipproċedi għal dak kollu jiġi wara l-korp tal-linja. Għalhekk, filwaqt li loops huma ser jkun verament utli fil CS50. Iżda f'dan il-partikolari każ, nafu li aħna qed ser pront lill-utent mill-inqas darba u mbagħad biss ħolqa jekk ikun meħtieġ. Allura hawnhekk għandna jaslu għal jibnu speċjali u li l- simili ħafna għall-waqt linja imsejħa linja do-waqt. Allura loop do-waqt tesegwixxi l- korp tal-linja mill-inqas darba u mbagħad hija għandha tivverifika biex tara jekk għandhiex jesegwixxi, bħala kuntrarju għal loop waqt, li ser jiċċekkja l-kondizzjoni u mbagħad tesegwixxi l-korp. Allura fil-linja do-waqt li dak li aħna jista tagħmel hu pront l-utent għal integer, u mbagħad tiċċekkja jekk huwa invalidu jew le. Jekk huwa invalidu, allura aħna ser irrepeti l-proċess titlob lill-utent biex tagħtina numru sħiħ ieħor, u mbagħad biss meta dik integer hija valida, aħna ser tkompli tkun xi tkun taqa wara. Issa inti ser ikollok avviż li l- Dikjarazzjoni tal-numru sħiħ n hija kemmxejn differenti għal dak li aħna għamlet quddiem fl-eżempju preċedenti u dan huwa minħabba l-ambitu. Jekk kellna iddikjara n-numru sħiħ n ġewwa tal-korp tal-linja do-waqt, allura aħna mhux se tkun tista 'aċċess li l-valur ta 'n barra minn dawk kaboċċi ċingi jindika l-entità tal-linja. Iżda aħna ma fil-fatt tixtieq li aċċess għall- valur ta 'n aktar tard fil-programm tagħna. OK, hekk issa ejja nitkellmu dwar dak li din il-kundizzjoni għandu jkun. Aħna rridu li biss reprompt l utent sakemm n huwa invalidu. Allura taħseb li inti stess liema invalidu valur intier look like u mbagħad toħloq Boolean espressjoni li jesprimu dan. Aħna qed kważi lest bl subtask tagħna li tinkoraġġixxi u l-validazzjoni jintuza mill-utent. Mela ejja jagħmlu din ftit ftit aktar faċli għall-utent u jagħti lill-utent ftit daqsxejn aktar informazzjoni ta 'dak li aħna qed suġġeriment minnhom għall. Mela ejja pront lill-utent, kull l- spec, mal-minuti string. Allura jintużaw id-dikjarazzjonijiet printf tiegħek, jagħmlu żgur li tqabbel din il eżattament. Kull dritt. Allura issa għandna utent validu input, numru sħiħ pożittiv valur għall kemm-il minuta qattgħu fil-doċċa. Allura dak li jmiss hu li jkunu kalkolati l-għadd ekwivalenti ta 'fliexken. Dak li aħna qed tmur biex tagħmel hawnhekk jistgħu jkun ovvju ħafna għalik fl-ewwel, u li OK. Dak li rridu nagħmlu huwa aħna tixtieq li tibda tipprattika l-idea tal-kxif mudelli u jiżviluppaw formuli għall-problema. Allura aħna qed told kull l-spec li wieħed minuta fil-doċċa huwa ekwivalenti għal madwar 12 fliexken ta 'ilma. Mela allura żewġ minuti kieku tkun ekwivalenti għal 24, u ħames minuti kieku tkun ekwivalenti għal 60. Mela issa jekk taħseb inti stajt ltqajna, allura ejja ara jekk inti tista 'toħroġ bil-mudell jew il-formula li jesprimu jekk aħna ngħidu, n minuti, kemm-fliexken ta 'ilma kieku tkun espressa f'termini ta 'n? Għal darb'oħra, anke jekk din jista 'jkun sempliċi fl-ewwel, aktar tard meta nikbru biex problemi aktar ikkumplikati aħna qed tmur jridu jsibu rwieħhom il-prattika li jiġu identifikati mudelli u formuli jiżviluppaw biex insemmu dawn l-affarijiet out. Fil ć ikollok aċċess għall Operazzjonijiet aritmetika standard, Barra minn hekk, tnaqqis, multiplikazzjoni, u d-diviżjoni. So I ser tħalli f'idejn l inti issa biex insemmu kif jesprimu l- għadd ekwivalenti ta 'fliexken li l-utent ikkunsmat waqt doċċa tagħhom. Kull dritt, aħna qed kważi isir. Imxejna wassal lill-utent għall-kontribut tagħhom, konna assigurat li huwa input valida, u mbagħad konna dehret kif biex jikkalkolaw l-ekwivalenti numru ta 'fliexken li huma kkunsmati. Allura l-aħħar ħaġa li tagħmel hi li l-output l-għadd ekwivalenti ta 'fliexken u nittamaw li jinkoraġġixxi biex jikkonservaw ftit ilma. Outputting il-valur se jkun hemm dikjarazzjoni printf. Jekk jien ridt li jgħidlek li jien għandhom tliet annimali domestiċi, per eżempju, I jistgħu jużaw stqarrija printf li tidher xi ħaġa bħal din. Għandi tliet annimali domestiċi, u ġdid linja għall-ifformattjar sbieħ. Issa aħna ma rridux li sempliċiment kodiċi iebsa affarijiet. Jiġifieri l-għadd ta 'tiegħi annimali domestiċi bidliet maż-żmien. Imbagħad Jien ser jagħmlu użu ta ' placeholders fid-dikjarazzjoni printf tiegħi. Allura hawnhekk numru tiegħi huwa integer. Hekk jien ser tagħmel placeholder għal integer jużaw% i. Jien ser jikteb l-sekwenza, u mbagħad wara l-sekwenza Nikteb virgola u allura l- varjabbli li nixtieq li jistampaw. Sabiex il-valur għandu jkun stampat minflok dik placeholder,% i. Tista 'tuża placeholders, kif ukoll, għal floats ta '% f. Tista 'wkoll ikollhom multipli placeholders fil string. Per eżempju, jekk ikolli xi numru ta 'klieb u xi numru ta' qtates, Nressaq żewġ placeholders hawn u mbagħad żewġ varjabbli tiegħi sabiex rispettiv. Allura issa li nafu kif print il-valuri maħżuna fil-varjabbli, l-aħħar ħaġa li tagħmel huwa li jiġi żgurat li aħna jistampaw il-valur fil-format eżatt indikat fl-ispeċifikazzjoni. Ma 'dak, konna wassal lill- utent u validati kontribut tagħhom. Imxejna mbagħad ikkalkolat l-ekwivalenti numru ta 'fliexken ta' ilma li dawn jikkunsmaw matul doċċa tagħhom, u konna outputted dan il-valur għalihom. U hekk, aħna ve kompletati ilma. Jien jisimni [? Zamila,] u dan huwa CS50.