1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:01,960 Oratè 1: Se pou nou pale sou dlo. 3 00:00:01,960 --> 00:00:07,280 Nan pwoblèm sa a, nou mande itilizatè a di nou konbyen tan nan kèk minit douch yo te 4 00:00:07,280 --> 00:00:11,040 ak Lè sa a nou kalkile ekivalan a kantite boutèy dlo 5 00:00:11,040 --> 00:00:12,970 ki douch yo itilize. 6 00:00:12,970 --> 00:00:16,379 >> Se konsa, ki sa yo nou an a-fè a pou pwoblèm sa a? 7 00:00:16,379 --> 00:00:20,050 Premyèman, nou ap ale nan vle de motive-ak Lè sa a valide 8 00:00:20,050 --> 00:00:22,100 D 'a ki itilizatè a ba nou. 9 00:00:22,100 --> 00:00:24,790 Yon fwa nou asire ke nou gen opinyon itilizatè ki valab, 10 00:00:24,790 --> 00:00:28,230 nou ap ale nan kalkile nan Nimewo ekivalan nan boutèy dlo 11 00:00:28,230 --> 00:00:30,770 ki itilizatè a te gen pandan douch yo, ak Lè sa a nou ap 12 00:00:30,770 --> 00:00:33,720 pral di yo pa enprime soti ki kantite. 13 00:00:33,720 --> 00:00:37,230 >> Se konsa nou atake premye nou an travay, sa ki pouse ak validation 14 00:00:37,230 --> 00:00:38,550 D 'a itilizatè. 15 00:00:38,550 --> 00:00:40,910 Pou sa nou te ekri yon fonksyon pou ou rele 16 00:00:40,910 --> 00:00:43,950 get_int sitiye nan bibliyotèk la CS50. 17 00:00:43,950 --> 00:00:48,710 get_int asire ke entrain yo itilizatè yon nonb antye relatif, se konsa nenpòt nimewo pozitif, 18 00:00:48,710 --> 00:00:51,700 nimewo negatif, oswa zewo, yo tout aksepte. 19 00:00:51,700 --> 00:00:55,900 Men, si itilizatè a entrain nenpòt lòt bagay, se konsa nenpòt konbinezon de lèt oswa nimewo 20 00:00:55,900 --> 00:00:59,710 oswa nimewo desimal, lè sa a nan pral itilizatè dwe pouse yo rekoumanse 21 00:00:59,710 --> 00:01:04,319 ak fonksyon an yo p ap aksepte anyen jouk itilizatè a ba yo yon nonb antye relatif. 22 00:01:04,319 --> 00:01:06,410 >> Se konsa, kouman fè nou itilize get_int? 23 00:01:06,410 --> 00:01:10,830 Si ou louvri vorkspas ou ak kreye yon dosye yo te rele integer.c kite nan 24 00:01:10,830 --> 00:01:12,110 tape sa ki annapre yo. 25 00:01:12,110 --> 00:01:14,760 Hashtag gen ladan cs50.h. 26 00:01:14,760 --> 00:01:18,480 Sa a se nesesè paske get_int se yon fonksyon cs50 bibliyotèk, 27 00:01:18,480 --> 00:01:21,890 se konsa nou dwe hashtag gen ladan deklarasyon li yo nan lòd 28 00:01:21,890 --> 00:01:23,370 yo sèvi ak fonksyon an. 29 00:01:23,370 --> 00:01:26,570 Lè sa a, nan prensipal mwen an fonksyone mwen jis ale 30 00:01:26,570 --> 00:01:29,560 tou senpleman rele get_int nan fonksyon. 31 00:01:29,560 --> 00:01:31,750 >> Se konsa, kite a kouri sa a ak wè kijan li fonksyone. 32 00:01:31,750 --> 00:01:35,092 Mwen te deja konpile li, kidonk kite a jis ale pi devan epi kouri pwogram sa a, 33 00:01:35,092 --> 00:01:36,480 ./integer. 34 00:01:36,480 --> 00:01:39,880 Men mwen gen yon èd memwa redaksyon ak isit la nan kote mwen D 'valè an. 35 00:01:39,880 --> 00:01:44,880 Di mwen mete nan sèlman kèk nonb antye relatif, 50, excepts yo pwogram yo epi demisyon 36 00:01:44,880 --> 00:01:45,960 e ke sa a sa. 37 00:01:45,960 --> 00:01:49,350 >> Men, di mwen kouri l 'ankò ak Mwen D 'yon lòt bagay. 38 00:01:49,350 --> 00:01:51,350 Petèt, alo nan lemonn. 39 00:01:51,350 --> 00:01:55,660 Sa a pa yon nonb antye relatif se konsa nan pwogram pral fè m 'rekoumanse. 40 00:01:55,660 --> 00:01:59,160 Ann eseye ankò ak petèt yon desimal moman sa a. 41 00:01:59,160 --> 00:02:03,450 0.5, ankò, se pa yon nonb antye relatif se konsa pwogram nan p ap aksepte li 42 00:02:03,450 --> 00:02:05,290 epi li pral di m 'rekoumanse. 43 00:02:05,290 --> 00:02:07,070 Se konsa nou bay li yon lòt kantite. 44 00:02:07,070 --> 00:02:09,830 Pwogram nan aksepte li, kit, epi nou ap fè. 45 00:02:09,830 --> 00:02:13,520 >> Se konsa, kounye a nou gen yon fonksyon ki pèmèt nou, epi ki asire 46 00:02:13,520 --> 00:02:16,790 ki itilizatè a entrain yon nonb antye relatif, men ki jan nou kapab 47 00:02:16,790 --> 00:02:20,330 aktyèlman kenbe tras nan la nonb antye relatif antre pa itilizatè a? 48 00:02:20,330 --> 00:02:25,260 Oke, tout sa nou pral fè se magazen valè sa a nan yon varyab, di n. 49 00:02:25,260 --> 00:02:30,580 Se konsa, si mwen deklare yon n nonb antye relatif, ak mwen mete ke valè nan get_int, 50 00:02:30,580 --> 00:02:34,700 Lè sa a, n pral Lè sa a magazen tou sa valè itilizatè a antre. 51 00:02:34,700 --> 00:02:38,620 >> Tout dwa, se konsa kounye a nou te asire ke itilizatè a pral ban nou yon nonb antye relatif 52 00:02:38,620 --> 00:02:42,550 epi nou konnen ki jan yo kenbe tras nan nonb antye relatif la, men sonje, 53 00:02:42,550 --> 00:02:45,610 nonm antye relatif, yo toulède yo pozitif ak negatif. 54 00:02:45,610 --> 00:02:49,110 Se konsa, li pa reyèlman fè sans nan yon kontèks la nan pwoblèm sa a 55 00:02:49,110 --> 00:02:53,570 ki itilizatè a pran yon douch nan di negatif 12 minit. 56 00:02:53,570 --> 00:02:59,310 Se konsa, nou bezwen asire w ke itilizatè a aktyèlman ba nou yon nonb antye relatif pozitif. 57 00:02:59,310 --> 00:03:02,130 Koulye a, nou pa gen jis yon sèl fonksyon pou sa, 58 00:03:02,130 --> 00:03:04,620 se konsa nou ap ale nan gen yo kreye ki tèt nou. 59 00:03:04,620 --> 00:03:07,190 >> Se konsa, nou vle toujou pouse itilizatè a 60 00:03:07,190 --> 00:03:09,730 jiskaske yo ban nou yon nonb antye relatif pozitif. 61 00:03:09,730 --> 00:03:14,300 Si mwen fè yon bagay kontinyèlman Lè sa a, sa a, se analogue nan yon riban, yon repetisyon. 62 00:03:14,300 --> 00:03:19,130 Se konsa yonn nan konstwi yo ke nou itilize nan c aplike repetisyon ak pasan 63 00:03:19,130 --> 00:03:20,410 se yon riban pandan y ap. 64 00:03:20,410 --> 00:03:23,020 Se konsa, yon riban pandan y ap, kòm montre la a, ap egzekite 65 00:03:23,020 --> 00:03:27,030 tou sa ki nan kò a nan riban an kòm lontan ke bay evalye yo kondisyon 66 00:03:27,030 --> 00:03:27,900 nan vrè. 67 00:03:27,900 --> 00:03:30,640 Le pli vit ke ke kondisyon evalye ak fo, lè sa a 68 00:03:30,640 --> 00:03:34,830 pwogram lan pral kontinye nan tou sa vin apre kò a nan riban an. 69 00:03:34,830 --> 00:03:39,400 >> Se konsa, pandan y ap pasan yo ale nan dwe reyèlman itil nan CS50. 70 00:03:39,400 --> 00:03:42,590 Men, nan sa a an patikilye ka, nou konnen ke nou ap 71 00:03:42,590 --> 00:03:48,140 pral vit itilizatè a omwen yon fwa ak Lè sa a sèlman bouk si sa nesesè. 72 00:03:48,140 --> 00:03:51,080 Se konsa, isit la nou vini nan yon espesyal konstwi e ke sa a 73 00:03:51,080 --> 00:03:55,020 trè menm jan ak pandan y ap nan bouk rele yon riban fè-pandan y ap. 74 00:03:55,020 --> 00:03:58,840 >> Se konsa, yon bouk fè-pandan y ap ègzekutra nan kò a riban an omwen yon fwa 75 00:03:58,840 --> 00:04:01,750 ak Lè sa a li tcheke yo wè si wi ou non li ta dwe egzekite, 76 00:04:01,750 --> 00:04:05,310 kòm opoze a yon riban pandan y ap, ki pral tcheke kondisyon an 77 00:04:05,310 --> 00:04:07,200 ak Lè sa a egzekite kò a. 78 00:04:07,200 --> 00:04:11,880 Se konsa, nan yon bouk fè-pandan y ap sa nou ta ka fè se pouse itilizatè a pou yon nonb antye relatif, 79 00:04:11,880 --> 00:04:14,450 ak Lè sa a tcheke si li nan valab oswa ou pa. 80 00:04:14,450 --> 00:04:18,130 Si li nan valab, lè sa a nou pral repete pwosesis la mande itilizatè a 81 00:04:18,130 --> 00:04:22,290 bay nou yon lòt nonb antye relatif, ak Lè sa a sèlman lè ki nonb antye ki pè a valab, 82 00:04:22,290 --> 00:04:25,060 nou pral kontinye kèlkeswa sa ki vini apre sa. 83 00:04:25,060 --> 00:04:28,030 >> Koulye a, ou pral avi ke nan deklarasyon nan n nan nonb antye relatif 84 00:04:28,030 --> 00:04:31,670 se yon ti kras diferan nan sa nou te fè anvan nan egzanp lan anvan 85 00:04:31,670 --> 00:04:33,640 ak sa a se paske nan sijè ki abòde. 86 00:04:33,640 --> 00:04:37,920 Si nou te deklare n nan nonb antye relatif andedan nan kò a nan riban an fè-pandan y ap, 87 00:04:37,920 --> 00:04:42,640 lè sa a nou pa ta dwe kapab jwenn aksè nan ke valè nan n deyò nan tout sa yo Curly 88 00:04:42,640 --> 00:04:45,050 aparèy òtopedik ki endike kò a nan riban an. 89 00:04:45,050 --> 00:04:51,080 Men, nou nan reyalite vle jwenn aksè nan la valè nan n pita sou nan pwogram nou an. 90 00:04:51,080 --> 00:04:55,730 >> OK, se konsa kounye a kite a pale sou sa kondisyon sa a ta dwe. 91 00:04:55,730 --> 00:05:00,400 Nou vle sèlman reprompt la itilizatè osi lontan ke n se valab. 92 00:05:00,400 --> 00:05:04,640 Se konsa, panse nan tèt ou ki sa yon valab valè nonb antye relatif ta sanble 93 00:05:04,640 --> 00:05:08,060 ak Lè sa a kreye yon Boolean ekspresyon eksprime sa yo panse sa. 94 00:05:08,060 --> 00:05:13,070 >> Nou ap prèske fini ak subtask nou an nan direksyon ak validation opinyon itilizatè. 95 00:05:13,070 --> 00:05:16,010 Se konsa nou fè sa-a yon ti kras ti jan pi plis itilizatè zanmitay 96 00:05:16,010 --> 00:05:18,390 epi bay itilizatè a yon ti kras ti jan pi plis enfòmasyon 97 00:05:18,390 --> 00:05:20,510 nan ki sa nou ap pouse yo pou. 98 00:05:20,510 --> 00:05:24,500 Se konsa an n èd memwa itilizatè a, pou chak nan espèk, ak minit yo fisèl. 99 00:05:24,500 --> 00:05:28,935 Se konsa, lè l sèvi avèk deklarasyon printf ou a, fè asire w ke ou matche ak sa a egzakteman. 100 00:05:28,935 --> 00:05:30,230 >> Tout dwa. 101 00:05:30,230 --> 00:05:33,840 Se konsa, kounye a nou gen yon itilizatè ki valab D ', yon nonb antye relatif pozitif 102 00:05:33,840 --> 00:05:37,400 valè pou konbyen minit yo te depanse nan douch la. 103 00:05:37,400 --> 00:05:41,300 Se konsa, sa ki nan pwochen se kalkile nimewo a ekivalan nan boutèy. 104 00:05:41,300 --> 00:05:45,250 Ki sa nou ap ale nan fè isit la ta ka dwe pran anpil evidan ak ou an premye, 105 00:05:45,250 --> 00:05:46,640 e ke sa a OK. 106 00:05:46,640 --> 00:05:49,320 Ki sa nou vle fè se nou vle kòmanse pratike 107 00:05:49,320 --> 00:05:53,810 lide a nan detekte menm modèl yo epi devlope fòmil pou pwoblèm nan. 108 00:05:53,810 --> 00:05:57,200 >> Se konsa, nou ap di pou chak espèk a ki minit yon sèl nan douch la 109 00:05:57,200 --> 00:05:59,960 ki ekivalan a sou 12 boutèy nan dlo. 110 00:05:59,960 --> 00:06:03,020 Se konsa, Lè sa a, de minit ta dwe ekivalan a 24, 111 00:06:03,020 --> 00:06:05,850 ak senk minit ta dwe ekivalan a 60. 112 00:06:05,850 --> 00:06:08,390 Se konsa, kounye si ou panse ou te gen li, lè sa a se pou yo 113 00:06:08,390 --> 00:06:10,390 wè si ou ka vini ak yon modèl oswa fòmil 114 00:06:10,390 --> 00:06:14,990 eksprime sa yo panse si nou te di, n minit, konbyen boutèy dlo 115 00:06:14,990 --> 00:06:17,930 ta pou yo eksprime an tèm de n? 116 00:06:17,930 --> 00:06:20,680 >> Yon fwa ankò, menm si sa a ta ka senp nan premye, 117 00:06:20,680 --> 00:06:23,240 pita sou lè nou ale nan pwoblèm pi konplike 118 00:06:23,240 --> 00:06:26,360 nou ap ale nan vle jwenn nan pratik la pou idantifye 119 00:06:26,360 --> 00:06:30,120 menm modèl yo epi devlope fòmil eseye figi bagay sa yo deyò. 120 00:06:30,120 --> 00:06:33,450 >> Nan c ou gen aksè a estanda operasyon aritmetik, 121 00:06:33,450 --> 00:06:36,520 adisyon, soustraksyon, miltiplikasyon, ak divizyon. 122 00:06:36,520 --> 00:06:38,420 Se konsa, mwen pral kite li nan ou koulye a eseye figi konnen 123 00:06:38,420 --> 00:06:41,300 Ki jan yo eksprime nan Nimewo ekivalan nan boutèy 124 00:06:41,300 --> 00:06:43,990 ki itilizatè a boule pandan douch yo. 125 00:06:43,990 --> 00:06:45,700 >> Tout dwa, nou ap prèske fè. 126 00:06:45,700 --> 00:06:50,650 Nou te pouse itilizatè a pou D 'yo, nou te asire ke li nan D 'ki valab, 127 00:06:50,650 --> 00:06:53,330 ak Lè sa a nou te kalkile konnen kouman yo kalkile ekivalan a 128 00:06:53,330 --> 00:06:55,480 kantite boutèy ke yo boule. 129 00:06:55,480 --> 00:06:59,430 Se konsa, bagay la pase fè se pwodiksyon nimewo a ekivalan nan boutèy 130 00:06:59,430 --> 00:07:02,410 ak èspere ke ankouraje yo konsève kèk dlo. 131 00:07:02,410 --> 00:07:06,270 >> Sorti valè a ap gen yon deklarasyon printf. 132 00:07:06,270 --> 00:07:09,720 Si mwen te vle di ou ke mwen gen twa bèt kay, pou egzanp, 133 00:07:09,720 --> 00:07:13,090 Mwen ta ka sèvi ak yon deklarasyon printf ki sanble yon bagay konsa. 134 00:07:13,090 --> 00:07:15,880 Mwen gen twa bèt kay, ak yon nouvo liy pou bèl fòma. 135 00:07:15,880 --> 00:07:17,880 >> Koulye a, nou pa vle tou senpleman difisil Kòd bagay sa yo. 136 00:07:17,880 --> 00:07:20,740 Di ki kantite mwen bèt kay chanje sou tan. 137 00:07:20,740 --> 00:07:25,080 Lè sa a, mwen pral fè pou sèvi ak placeholders nan deklarasyon printf m 'yo. 138 00:07:25,080 --> 00:07:27,350 Se konsa, isit nimewo mwen an se yon nonb antye relatif. 139 00:07:27,350 --> 00:07:31,480 Se konsa, mwen pral fè yon kontneur pou yon nonb antye relatif lè l sèvi avèk% m. 140 00:07:31,480 --> 00:07:33,930 Mwen pral ekri fisèl la, ak Lè sa a apre fisèl la 141 00:07:33,930 --> 00:07:38,000 Mwen ekri yon vigil ak Lè sa a nan varyab ke mwen vle enprime. 142 00:07:38,000 --> 00:07:42,730 Se konsa, pral ke valè ap enprime nan plas ki kontneur,% mwen. 143 00:07:42,730 --> 00:07:47,630 >> Ou kapab sèvi ak placeholders, kòm byen, pou flote ak yon% f. 144 00:07:47,630 --> 00:07:50,420 Ou ka gen tou plizyè placeholders nan yon fisèl. 145 00:07:50,420 --> 00:07:53,950 Pou egzanp, si mwen gen kèk nimewo nan chen ak kèk nimewo nan chat, 146 00:07:53,950 --> 00:07:59,210 Mwen mete de placeholders isit la ak Lè sa a de varyab m 'ki nan lòd respektif. 147 00:07:59,210 --> 00:08:03,130 >> Se konsa, kounye a ke nou konnen ki jan yo enprime valè yo ki estoke nan varyab, 148 00:08:03,130 --> 00:08:06,030 bagay la trè dènye an a fè se asire ke nou 149 00:08:06,030 --> 00:08:10,920 enprime valè a nan fòma an egzak endike nan spesifikasyon la. 150 00:08:10,920 --> 00:08:14,990 Avèk sa, nou te pouse nan itilizatè yo ak valide opinyon yo. 151 00:08:14,990 --> 00:08:17,920 Nou te Lè sa a, kalkile ekivalan a kantite boutèy dlo 152 00:08:17,920 --> 00:08:22,100 yo ke yo konsome pandan douch yo, e nou te outputted ke valè yo. 153 00:08:22,100 --> 00:08:24,440 Se konsa, nou te ranpli dlo. 154 00:08:24,440 --> 00:08:28,730 >> Non mwen se [? Zamila,?] e sa se CS50. 155 00:08:28,730 --> 00:08:29,909