SPEAKER 1: Parunāsim par ūdeni.
Ar šo problēmu, mēs lūdzam lietotājam pateikt mums, cik ilgi minūtēs viņu zāle bija
un tad mēs aprēķinām ekvivalents skaits ūdens pudeles
kas izmanto to duša.
>> Tātad, kādi ir mūsu to-do s par šo problēmu?
Pirmkārt, mēs esam gatavojas vēlaties lai ātri un pēc tam apstiprināt
ievades ka lietotājs dod mums.
Kad mēs nodrošinām, ka mēs ir derīgs lietotāja ievadi,
mēs ejam, lai aprēķinātu līdzvērtīgs skaits ūdens pudeles
ka lietotājs bija laikā to duša, un tad mēs esam
dodas, lai pastāstītu viņiem, ko izdrukāšana šo numuru.
>> Tātad, pieņemsim risināt mūsu pirmā uzdevums, pamudinot un apstiprināšanu
lietotāja ievadi.
Par to mēs esam uzrakstījis funkcija jūs sauc
get_int atrodas CS50 bibliotēkā.
get_int nodrošina, ka lietotājs ieejas vesels skaitlis, tāpēc jebkurš pozitīviem skaitļiem,
negatīvie skaitļi, vai nulle visi pieņemti.
Bet, ja lietotājs ievada kaut kas cits, tāpēc jebkurš no burtiem vai cipariem kombinācija
vai zīmēm aiz skaitļi, tad lietotājam tiks piedāvāts vēlreiz
un funkcija nepieņem neko līdz lietotājs dod viņiem vesels skaitlis.
>> Tātad, kā mēs izmantojam get_int?
Ja jūs atvērt savu darba vietu un izveidot failu ar nosaukumu integer.c pieņemsim
ierakstiet sekojošo.
Atsauce ietver cs50.h.
Tas ir nepieciešams, jo get_int ir CS50 bibliotēkas funkciju,
tāpēc mums ir kā atsauci ietvert tā deklarācija, lai
lai izmantotu funkciju.
Un tad mans galvenais funkcionēt es esmu tikai gatavojas
vienkārši zvanīt funkciju get_int.
>> Tātad, pieņemsim palaist šo un redzēt, kā tā darbojas.
Es jau esmu apkopojusi, tāpēc pieņemsim vienkārši iet uz priekšu un palaist šo programmu,
./vesels skaitlis.
Te man ir tūlītēja un lūk, kur es ievade vērtība.
Teikt Man tikai daži skaitlim, 50, programma excepts un aizveras
un tas, ka.
>> Bet teikt, es palaist to atkal un Es ievadi kaut kas cits.
Iespējams, sveiki pasaule.
Ka tas nav vesels skaitlis, tāpēc programma liks man vēlreiz.
Pamēģināsim vēlreiz ar varbūt decimālais šoreiz.
0.5, atkal, nav vesels skaitlis tik programma nepieņem
un tas būs man pateikt, lai mēģinātu vēlreiz.
Tātad, pieņemsim arī tā citu numuru.
Programmas pieņem to, aizveras, un mēs esam darījuši.
>> Tāpēc tagad mums ir funkcija kas ļauj mums, un nodrošina
ka lietotājs ievada skaitlis, bet kā mēs varam
faktiski sekot skaitlis ievadīts lietotājs?
Nu, viss, ko mēs darīsim, ir veikals šī vērtība mainīgo, teiksim n.
Tātad, ja es apliecinu vesels skaitlis N, un es noteikti šo vērtību get_int,
tad n tad uzglabāt neatkarīgi vērtējam lietotāju ievietoto vārdu.
>> Labi, tāpēc tagad mēs esam nodrošinājusi, ka lietotājs dos mums vesels skaitlis
un mēs zinām, kā izsekot no skaitlim, bet atcerēties,
veseli skaitļi ir gan pozitīvas, gan negatīvas.
Tātad, tas nav īsti jēgas saistībā ar šīs problēmas
ka lietotājs veic dušā no teikt negatīvas 12 minūtes.
Tāpēc mums ir nepieciešams, lai pārliecinātos, ka lietotājs faktiski dod mums pozitīvu skaitli.
Tagad mums nav tikai viena funkcija, kas,
tāpēc mēs esam nāksies lai radītu, ka mums pašiem.
>> Tāpēc mēs vēlamies, lai nepārtraukti nekavējoties lietotājam
kamēr tie dod mums pozitīvu skaitli.
Ja es esmu dara kaut ko nepārtraukti tad kas ir līdzīgi cilpu, atkārtošanās.
Tātad viens no konstrukcijas, ko mēs izmantojam c īstenot atkārtošanos un cilpas
ir kamēr cilpa.
Tātad, kamēr cilpa, kā Šeit redzams, veiks
kāds ir organismā no cilpas, kā kamēr dotajiem nosacījums novērtē
patiess.
Tiklīdz šis nosacījums novērtē to nepatiesa, tad
programma turpināsies, lai kāds nāk pēc tam, kad no ķermeņa cilpas.
>> Tāpēc, kamēr cilpas gatavojas būt patiesi noderīga CS50.
Bet šis konkrētais lieta, mēs zinām, ka mēs esam
gatavojas nekavējoties lietotājam vismaz vienreiz un pēc tam tikai cilpa, ja nepieciešams.
Tātad, šeit mēs nonākam pie īpaša konstrukcija un tas ir
ļoti līdzīgs, bet cilpa sauc do-kamēr cilpa.
>> So do-kamēr cilpa realizētu ķermenis no cilpas vismaz vienreiz
un tad tā pārbauda, ​​lai redzētu vai tas būtu izpildīt,
pretstatā kamēr cilpa, kas būs pārbaudīt stāvokli
un tad izpildīt ķermeni.
Tātad ar do-kamēr cilpa, ko mēs varētu darīt, ir nekavējoties lietotājam par skaitlim,
un pēc tam pārbaudiet, vai tas ir nederīgs vai nav.
Ja tas ir nederīgs, tad mēs atkārtojiet procesu lūdzot lietotājam
dot mums citu skaitli, un tad tikai tad, kad tas skaitlis ir derīgs,
mēs turpināsim kāds nāk pēc tam.
>> Tagad jūs pamanīsiet, ka deklarācija skaitlim n
ir nedaudz atšķirīgs, ko mēs did pirms iepriekšējā piemērā
un tas ir tāpēc, ka darbības jomas.
Ja mēs būtu pasludināja skaitlim n iekšā no ķermeņa do-kamēr cilpa,
tad mēs nespētu piekļūt ka vērtība n ārpus tiem cirtaini
breketes norādot ķermeņa cilpas.
Bet mēs patiesībā vēlas, lai piekļūtu n vērtība vēlāk par mūsu programmu.
>> Labi, tāpēc tagad parunāsim par ko šis nosacījums būtu.
Mēs vēlamies, lai tikai reprompt lietotājs tik ilgi, kamēr n ir derīgs.
Tāpēc domāju, ka, lai sev ko nederīgs vesels vērtība būtu jāizskatās
un pēc tam izveidot Būla izteiksme izteikt to.
>> Mēs gandrīz pabeigts ar mūsu apakšuzdevumu no pamudinot un lietotāja ievadi apstiprināšanu.
Tātad, pieņemsim padara šo maz nedaudz vairāk lietotājam draudzīgu
un sniedz lietotājam maz Nedaudz vairāk informācijas
par to, ko mēs esam pamudinot tos.
Tātad, pieņemsim ātru lietotājam, vienu spec, ar stīgu minūtes.
Tātad, izmantojot savu printf paziņojumus, veikt pārliecināts, ka jūs varat pielāgot to tieši.
>> Viss kārtībā.
Tāpēc tagad mums ir derīga lietotāju ievade, pozitīvs skaitlis
vērtība, cik minūtes viņi pavadīja dušā.
Tātad, kas ir blakus, ir aprēķināt ekvivalents pudeļu skaitu.
Ko mēs darīsim šeit varētu būt ļoti skaidrs jums sākumā,
un tas ir OK.
Ko mēs vēlamies darīt, ir mums vēlas sākt praktizēt
ideja atklāt modeļus un izstrādājot formulas problēmu.
>> Tātad mēs teicis vienu spec ka viena minūte dušā
ir vienāda ar apmēram 12 pudeles ūdens.
Tātad divas minūtes būtu ir līdzvērtīga 24,
un piecas minūtes būtu ir līdzvērtīga 60.
Tāpēc tagad, ja jūs domājat, ka tev, tad pieņemsim
redzēt, ja jūs varat nākt klajā ar rakstu vai formula
izteikt, ja mēs esam teikt, n minūtes, cik daudz pudeles ūdens
tas var būt izteikta ar n?
>> Atkal, lai gan tas varētu būt vienkāršs sākumā,
vēlāk, kad mēs nokļūt vairāk sarežģītas problēmas
mēs spēsim vēlaties nokļūt prakse identificēt
modeļus un jaunattīstības formulas izdomāt šīs lietas.
>> C jums ir piekļuve standarta aritmētiskās operācijas,
saskaitīšanu, atņemšanu, reizināšanu un dalīšanu.
Tāpēc es ņemšu atstāt to jūs tagad izdomāt
kā izteikt līdzvērtīgs skaits pudeļu
ka lietotājs patērē to dušu laikā.
>> Labi, mēs esam gandrīz pabeigts.
Mēs esam pamudināja lietotājam par viņu ieguldījumu, mēs esam nodrošināja, ka tas ir derīgs ievade,
un tad mēs esam izpētījuši, kā lai aprēķinātu ekvivalentu
pudeļu skaitu, ka viņi patērē.
Tātad pēdējā lieta, kas jādara, ir izejas ekvivalents pudeļu skaitu
un cerams, rosinās viņiem, lai saglabātu ūdeni.
>> Outputting vērtību būs būt printf paziņojums.
Ja es gribēju pateikt, ka es ir trīs mājdzīvnieki, piemēram,
Es varētu izmantot printf paziņojumu kas izskatās kaut kas līdzīgs šim.
Man ir trīs mājdzīvnieki, un jauna līnija jauku formatējumu.
>> Tagad mēs negribam vienkārši grūti kods lietas.
Informējiet skaitu mana pets laika gaitā mainās.
Tad es esmu gatavojas izmantot vietturi manā printf paziņojumu.
Tātad šeit mans numurs ir vesels skaitlis.
Tāpēc es esmu gatavojas veikt vietturi par skaitlim, izmantojot% i.
Es esmu gatavojas rakstīt virkni, un tad pēc virknes
Es rakstīt komatu un tad mainīgais, ka es gribu, lai drukātu.
Tā, ka vērtība tiks drukāts vietā šajā viettura,% i.
>> Jūs varat izmantot vietturus, kā labi, uz pludiņiem ar% f.
Jūs varat arī vairākas vietturus ar virkni.
Piemēram, ja man ir daži skaits Suņu un daži kaķu skaitu,
Man divas vietturus šeit un pēc tam mani divi mainīgie attiecīgajā secībā.
>> Tāpēc tagad, ka mēs zinām, kā drukāt vērtības glabājas mainīgo,
ļoti pēdējā lieta darīt, ir nodrošināt, ka mēs
izdrukāt vērtību precīzu formātā norādīts specifikācijā.
Ar to, ka mēs esam lika lietotāju un apstiprinājis savu ieguldījumu.
Tad mēs esam aprēķināts ekvivalentu skaits ūdens pudeles
ka tie patērē viņu dušu laikā, un mēs esam izvadīt šo vērtību uz tiem.
Un tā, mēs esam pabeiguši ūdeni.
>> Mani sauc [? Zamila,?] un tas ir CS50.