1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:01,960 Speaker 1: Ejja nitkellmu dwar l-ilma. 3 00:00:01,960 --> 00:00:07,280 F'dan il-problema, aħna nistaqsu lill-utent li tgħid us kemm fil-minuti doċċa tagħhom kienet 4 00:00:07,280 --> 00:00:11,040 u allura aħna jikkalkulaw l-ekwivalenti numru ta 'fliexken ta' ilma 5 00:00:11,040 --> 00:00:12,970 li doċċa tagħhom jintużaw. 6 00:00:12,970 --> 00:00:16,379 >> Allura x'inhuma s tagħna li-do għal din il-problema? 7 00:00:16,379 --> 00:00:20,050 L-ewwel, aħna qed tmur jridu biex tkun inkoraġġuta u mbagħad jivvalidaw 8 00:00:20,050 --> 00:00:22,100 l-input li l-utent tagħtina. 9 00:00:22,100 --> 00:00:24,790 Ladarba irridu nassiguraw li għandhom jintuza mill-utent validu, 10 00:00:24,790 --> 00:00:28,230 aħna qed tmur biex tikkalkula l- għadd ekwivalenti ta 'fliexken ta' ilma 11 00:00:28,230 --> 00:00:30,770 li l-utent kellha matul doċċa tagħhom, u allura aħna qed 12 00:00:30,770 --> 00:00:33,720 ser jgħidulhom mill istampar ta 'din in-numru. 13 00:00:33,720 --> 00:00:37,230 >> Mela ejja tindirizza tagħna ewwel kompitu, tinċita u l-validazzjoni 14 00:00:37,230 --> 00:00:38,550 l-input utent. 15 00:00:38,550 --> 00:00:40,910 Għal dan aħna ve miktub funzjoni għalik imsejħa 16 00:00:40,910 --> 00:00:43,950 get_int jinsabu fil-Librerija CS50. 17 00:00:43,950 --> 00:00:48,710 get_int jiżgura li l-inputs utent integer, sabiex kwalunkwe numri pożittivi, 18 00:00:48,710 --> 00:00:51,700 numri negattivi, jew żero huma kollha aċċettati. 19 00:00:51,700 --> 00:00:55,900 Iżda jekk l-utent inputs xi ħaġa oħra, sabiex kwalunkwe kombinazzjoni ta 'ittri jew numri 20 00:00:55,900 --> 00:00:59,710 jew numri deċimali, allura l- utent se tkun imħeġġa biex retry 21 00:00:59,710 --> 00:01:04,319 u l-funzjoni mhux se taċċetta xejn sakemm l-utent tagħtihom numru sħiħ. 22 00:01:04,319 --> 00:01:06,410 >> Allura kif do nużaw get_int? 23 00:01:06,410 --> 00:01:10,830 Jekk inti tiftaħ workspace tiegħek u toħloq fajl imsemmi integer.c ejja 24 00:01:10,830 --> 00:01:12,110 tip li ġej. 25 00:01:12,110 --> 00:01:14,760 Hashtag jinkludu cs50.h. 26 00:01:14,760 --> 00:01:18,480 Dan huwa meħtieġ għaliex get_int hija funzjoni librerija CS50, 27 00:01:18,480 --> 00:01:21,890 għalhekk irridu hashtag tinkludi dikjarazzjoni tiegħu bil-għan 28 00:01:21,890 --> 00:01:23,370 li tuża l-funzjoni. 29 00:01:23,370 --> 00:01:26,570 U mbagħad fl prinċipali tiegħi funzjoni Jien biss se 30 00:01:26,570 --> 00:01:29,560 li sempliċiment sejħa tal-get_int funzjoni. 31 00:01:29,560 --> 00:01:31,750 >> Mela ejja run dan u tara kif taħdem. 32 00:01:31,750 --> 00:01:35,092 Stajt diġà kkompilata dan, hekk ejja biss jimxi 'l quddiem u run dan il-programm, 33 00:01:35,092 --> 00:01:36,480 ./integer. 34 00:01:36,480 --> 00:01:39,880 Hawnhekk għandi pront u hawn fejn jien kontribut il-valur. 35 00:01:39,880 --> 00:01:44,880 Say I jitqiegħdu biss ftit numru sħiħ, 50, il excepts-programm u quits 36 00:01:44,880 --> 00:01:45,960 u li li. 37 00:01:45,960 --> 00:01:49,350 >> Imma ngħid jien run mill-ġdid u I input xi ħaġa oħra. 38 00:01:49,350 --> 00:01:51,350 Forsi, bonjour dinja. 39 00:01:51,350 --> 00:01:55,660 Li mhux integer hekk il programm se pront lili biex retry. 40 00:01:55,660 --> 00:01:59,160 Ejja erġa 'pprova ma' forsi deċimali dan iż-żmien. 41 00:01:59,160 --> 00:02:03,450 0.5, għal darb'oħra, mhux numru sħiħ hekk il-programm mhux se taċċetta dan 42 00:02:03,450 --> 00:02:05,290 u dan ser tell me retry. 43 00:02:05,290 --> 00:02:07,070 Mela ejja tagħtiha numru ieħor. 44 00:02:07,070 --> 00:02:09,830 Il-programm taċċetta dan, quits, u aħna qed isir. 45 00:02:09,830 --> 00:02:13,520 >> Allura issa għandna funzjoni li jippermetti u jassigura, 46 00:02:13,520 --> 00:02:16,790 li l-utent inputs ta ' numru sħiħ, imma kif nistgħu 47 00:02:16,790 --> 00:02:20,330 fil-fatt jżommu rekord tal- numru sħiħ inputted mill-utent? 48 00:02:20,330 --> 00:02:25,260 Ukoll, kollox aħna ser tagħmel hu maħżen dan il-valur fil-varjabbli, jiġifieri n. 49 00:02:25,260 --> 00:02:30,580 Mela jekk jien niddikjara integer n, u I stabbiliti l-valur għall get_int, 50 00:02:30,580 --> 00:02:34,700 allura n mbagħad aħżen x'ikun valur l-utent inputted. 51 00:02:34,700 --> 00:02:38,620 >> Kull dritt, hekk issa konna assigurat li l-utent se tagħtina numru sħiħ 52 00:02:38,620 --> 00:02:42,550 u nafu kif biex iżommu kont tal-eqreb numru sħiħ, iżda tiftakar, 53 00:02:42,550 --> 00:02:45,610 interi huma kemm pożittivi u negattivi. 54 00:02:45,610 --> 00:02:49,110 Allura ma verament jagħmel sens fil-kuntest ta 'din il-problema 55 00:02:49,110 --> 00:02:53,570 li l-utent jieħu doċċa tal jgħidu negattivi 12 minuta. 56 00:02:53,570 --> 00:02:59,310 Għalhekk għandna bżonn li jiġi żgurat li l-utent fil-fatt tagħtina numru sħiħ pożittiv. 57 00:02:59,310 --> 00:03:02,130 Issa aħna ma jkollhomx biss funzjoni waħda għal dan, 58 00:03:02,130 --> 00:03:04,620 hekk aħna qed tmur biex ikollhom biex joħolqu dak nfusna. 59 00:03:04,620 --> 00:03:07,190 >> Allura aħna rridu li kontinwament pront l-utent 60 00:03:07,190 --> 00:03:09,730 sakemm tagħtina numru sħiħ pożittiv. 61 00:03:09,730 --> 00:03:14,300 Jekk qed nagħmel xi ħaġa kontinwament allura li l jixbhu lil loop, ripetizzjoni. 62 00:03:14,300 --> 00:03:19,130 Allura wieħed mill-constructs li nużaw fil ċ biex jimplimentaw ripetizzjoni u loops 63 00:03:19,130 --> 00:03:20,410 huwa loop waqt. 64 00:03:20,410 --> 00:03:23,020 Allura loop filwaqt li, kif muri hawn, se tesegwixxi 65 00:03:23,020 --> 00:03:27,030 kollu li hu fil-ġisem tal-linja kif Sakemm il-jevalwa kundizzjoni mogħtija 66 00:03:27,030 --> 00:03:27,900 li veru. 67 00:03:27,900 --> 00:03:30,640 Hekk kif dik il-kundizzjoni tevalwa sa falz, imbagħad 68 00:03:30,640 --> 00:03:34,830 il-programm se tipproċedi għal dak kollu jiġi wara l-korp tal-linja. 69 00:03:34,830 --> 00:03:39,400 >> Għalhekk, filwaqt li loops huma ser jkun verament utli fil CS50. 70 00:03:39,400 --> 00:03:42,590 Iżda f'dan il-partikolari każ, nafu li aħna qed 71 00:03:42,590 --> 00:03:48,140 ser pront lill-utent mill-inqas darba u mbagħad biss ħolqa jekk ikun meħtieġ. 72 00:03:48,140 --> 00:03:51,080 Allura hawnhekk għandna jaslu għal jibnu speċjali u li l- 73 00:03:51,080 --> 00:03:55,020 simili ħafna għall-waqt linja imsejħa linja do-waqt. 74 00:03:55,020 --> 00:03:58,840 >> Allura loop do-waqt tesegwixxi l- korp tal-linja mill-inqas darba 75 00:03:58,840 --> 00:04:01,750 u mbagħad hija għandha tivverifika biex tara jekk għandhiex jesegwixxi, 76 00:04:01,750 --> 00:04:05,310 bħala kuntrarju għal loop waqt, li ser jiċċekkja l-kondizzjoni 77 00:04:05,310 --> 00:04:07,200 u mbagħad tesegwixxi l-korp. 78 00:04:07,200 --> 00:04:11,880 Allura fil-linja do-waqt li dak li aħna jista tagħmel hu pront l-utent għal integer, 79 00:04:11,880 --> 00:04:14,450 u mbagħad tiċċekkja jekk huwa invalidu jew le. 80 00:04:14,450 --> 00:04:18,130 Jekk huwa invalidu, allura aħna ser irrepeti l-proċess titlob lill-utent 81 00:04:18,130 --> 00:04:22,290 biex tagħtina numru sħiħ ieħor, u mbagħad biss meta dik integer hija valida, 82 00:04:22,290 --> 00:04:25,060 aħna ser tkompli tkun xi tkun taqa wara. 83 00:04:25,060 --> 00:04:28,030 >> Issa inti ser ikollok avviż li l- Dikjarazzjoni tal-numru sħiħ n 84 00:04:28,030 --> 00:04:31,670 hija kemmxejn differenti għal dak li aħna għamlet quddiem fl-eżempju preċedenti 85 00:04:31,670 --> 00:04:33,640 u dan huwa minħabba l-ambitu. 86 00:04:33,640 --> 00:04:37,920 Jekk kellna iddikjara n-numru sħiħ n ġewwa tal-korp tal-linja do-waqt, 87 00:04:37,920 --> 00:04:42,640 allura aħna mhux se tkun tista 'aċċess li l-valur ta 'n barra minn dawk kaboċċi 88 00:04:42,640 --> 00:04:45,050 ċingi jindika l-entità tal-linja. 89 00:04:45,050 --> 00:04:51,080 Iżda aħna ma fil-fatt tixtieq li aċċess għall- valur ta 'n aktar tard fil-programm tagħna. 90 00:04:51,080 --> 00:04:55,730 >> OK, hekk issa ejja nitkellmu dwar dak li din il-kundizzjoni għandu jkun. 91 00:04:55,730 --> 00:05:00,400 Aħna rridu li biss reprompt l utent sakemm n huwa invalidu. 92 00:05:00,400 --> 00:05:04,640 Allura taħseb li inti stess liema invalidu valur intier look like 93 00:05:04,640 --> 00:05:08,060 u mbagħad toħloq Boolean espressjoni li jesprimu dan. 94 00:05:08,060 --> 00:05:13,070 >> Aħna qed kważi lest bl subtask tagħna li tinkoraġġixxi u l-validazzjoni jintuza mill-utent. 95 00:05:13,070 --> 00:05:16,010 Mela ejja jagħmlu din ftit ftit aktar faċli għall-utent 96 00:05:16,010 --> 00:05:18,390 u jagħti lill-utent ftit daqsxejn aktar informazzjoni 97 00:05:18,390 --> 00:05:20,510 ta 'dak li aħna qed suġġeriment minnhom għall. 98 00:05:20,510 --> 00:05:24,500 Mela ejja pront lill-utent, kull l- spec, mal-minuti string. 99 00:05:24,500 --> 00:05:28,935 Allura jintużaw id-dikjarazzjonijiet printf tiegħek, jagħmlu żgur li tqabbel din il eżattament. 100 00:05:28,935 --> 00:05:30,230 >> Kull dritt. 101 00:05:30,230 --> 00:05:33,840 Allura issa għandna utent validu input, numru sħiħ pożittiv 102 00:05:33,840 --> 00:05:37,400 valur għall kemm-il minuta qattgħu fil-doċċa. 103 00:05:37,400 --> 00:05:41,300 Allura dak li jmiss hu li jkunu kalkolati l-għadd ekwivalenti ta 'fliexken. 104 00:05:41,300 --> 00:05:45,250 Dak li aħna qed tmur biex tagħmel hawnhekk jistgħu jkun ovvju ħafna għalik fl-ewwel, 105 00:05:45,250 --> 00:05:46,640 u li OK. 106 00:05:46,640 --> 00:05:49,320 Dak li rridu nagħmlu huwa aħna tixtieq li tibda tipprattika 107 00:05:49,320 --> 00:05:53,810 l-idea tal-kxif mudelli u jiżviluppaw formuli għall-problema. 108 00:05:53,810 --> 00:05:57,200 >> Allura aħna qed told kull l-spec li wieħed minuta fil-doċċa 109 00:05:57,200 --> 00:05:59,960 huwa ekwivalenti għal madwar 12 fliexken ta 'ilma. 110 00:05:59,960 --> 00:06:03,020 Mela allura żewġ minuti kieku tkun ekwivalenti għal 24, 111 00:06:03,020 --> 00:06:05,850 u ħames minuti kieku tkun ekwivalenti għal 60. 112 00:06:05,850 --> 00:06:08,390 Mela issa jekk taħseb inti stajt ltqajna, allura ejja 113 00:06:08,390 --> 00:06:10,390 ara jekk inti tista 'toħroġ bil-mudell jew il-formula 114 00:06:10,390 --> 00:06:14,990 li jesprimu jekk aħna ngħidu, n minuti, kemm-fliexken ta 'ilma 115 00:06:14,990 --> 00:06:17,930 kieku tkun espressa f'termini ta 'n? 116 00:06:17,930 --> 00:06:20,680 >> Għal darb'oħra, anke jekk din jista 'jkun sempliċi fl-ewwel, 117 00:06:20,680 --> 00:06:23,240 aktar tard meta nikbru biex problemi aktar ikkumplikati 118 00:06:23,240 --> 00:06:26,360 aħna qed tmur jridu jsibu rwieħhom il-prattika li jiġu identifikati 119 00:06:26,360 --> 00:06:30,120 mudelli u formuli jiżviluppaw biex insemmu dawn l-affarijiet out. 120 00:06:30,120 --> 00:06:33,450 >> Fil ć ikollok aċċess għall Operazzjonijiet aritmetika standard, 121 00:06:33,450 --> 00:06:36,520 Barra minn hekk, tnaqqis, multiplikazzjoni, u d-diviżjoni. 122 00:06:36,520 --> 00:06:38,420 So I ser tħalli f'idejn l inti issa biex insemmu 123 00:06:38,420 --> 00:06:41,300 kif jesprimu l- għadd ekwivalenti ta 'fliexken 124 00:06:41,300 --> 00:06:43,990 li l-utent ikkunsmat waqt doċċa tagħhom. 125 00:06:43,990 --> 00:06:45,700 >> Kull dritt, aħna qed kważi isir. 126 00:06:45,700 --> 00:06:50,650 Imxejna wassal lill-utent għall-kontribut tagħhom, konna assigurat li huwa input valida, 127 00:06:50,650 --> 00:06:53,330 u mbagħad konna dehret kif biex jikkalkolaw l-ekwivalenti 128 00:06:53,330 --> 00:06:55,480 numru ta 'fliexken li huma kkunsmati. 129 00:06:55,480 --> 00:06:59,430 Allura l-aħħar ħaġa li tagħmel hi li l-output l-għadd ekwivalenti ta 'fliexken 130 00:06:59,430 --> 00:07:02,410 u nittamaw li jinkoraġġixxi biex jikkonservaw ftit ilma. 131 00:07:02,410 --> 00:07:06,270 >> Outputting il-valur se jkun hemm dikjarazzjoni printf. 132 00:07:06,270 --> 00:07:09,720 Jekk jien ridt li jgħidlek li jien għandhom tliet annimali domestiċi, per eżempju, 133 00:07:09,720 --> 00:07:13,090 I jistgħu jużaw stqarrija printf li tidher xi ħaġa bħal din. 134 00:07:13,090 --> 00:07:15,880 Għandi tliet annimali domestiċi, u ġdid linja għall-ifformattjar sbieħ. 135 00:07:15,880 --> 00:07:17,880 >> Issa aħna ma rridux li sempliċiment kodiċi iebsa affarijiet. 136 00:07:17,880 --> 00:07:20,740 Jiġifieri l-għadd ta 'tiegħi annimali domestiċi bidliet maż-żmien. 137 00:07:20,740 --> 00:07:25,080 Imbagħad Jien ser jagħmlu użu ta ' placeholders fid-dikjarazzjoni printf tiegħi. 138 00:07:25,080 --> 00:07:27,350 Allura hawnhekk numru tiegħi huwa integer. 139 00:07:27,350 --> 00:07:31,480 Hekk jien ser tagħmel placeholder għal integer jużaw% i. 140 00:07:31,480 --> 00:07:33,930 Jien ser jikteb l-sekwenza, u mbagħad wara l-sekwenza 141 00:07:33,930 --> 00:07:38,000 Nikteb virgola u allura l- varjabbli li nixtieq li jistampaw. 142 00:07:38,000 --> 00:07:42,730 Sabiex il-valur għandu jkun stampat minflok dik placeholder,% i. 143 00:07:42,730 --> 00:07:47,630 >> Tista 'tuża placeholders, kif ukoll, għal floats ta '% f. 144 00:07:47,630 --> 00:07:50,420 Tista 'wkoll ikollhom multipli placeholders fil string. 145 00:07:50,420 --> 00:07:53,950 Per eżempju, jekk ikolli xi numru ta 'klieb u xi numru ta' qtates, 146 00:07:53,950 --> 00:07:59,210 Nressaq żewġ placeholders hawn u mbagħad żewġ varjabbli tiegħi sabiex rispettiv. 147 00:07:59,210 --> 00:08:03,130 >> Allura issa li nafu kif print il-valuri maħżuna fil-varjabbli, 148 00:08:03,130 --> 00:08:06,030 l-aħħar ħaġa li tagħmel huwa li jiġi żgurat li aħna 149 00:08:06,030 --> 00:08:10,920 jistampaw il-valur fil-format eżatt indikat fl-ispeċifikazzjoni. 150 00:08:10,920 --> 00:08:14,990 Ma 'dak, konna wassal lill- utent u validati kontribut tagħhom. 151 00:08:14,990 --> 00:08:17,920 Imxejna mbagħad ikkalkolat l-ekwivalenti numru ta 'fliexken ta' ilma 152 00:08:17,920 --> 00:08:22,100 li dawn jikkunsmaw matul doċċa tagħhom, u konna outputted dan il-valur għalihom. 153 00:08:22,100 --> 00:08:24,440 U hekk, aħna ve kompletati ilma. 154 00:08:24,440 --> 00:08:28,730 >> Jien jisimni [? Zamila,] u dan huwa CS50. 155 00:08:28,730 --> 00:08:29,909