1 00:00:00,000 --> 00:00:05,140 2 00:00:05,140 --> 00:00:05,640 Tout dwa. 3 00:00:05,640 --> 00:00:08,330 Se konsa, kounye a kite a pale sou yon bagay reyèlman itil nan Programming 4 00:00:08,330 --> 00:00:09,914 deklarasyon kondisyonèl. 5 00:00:09,914 --> 00:00:11,830 Ekspresyon Se konsa, kondisyonèl pèmèt pwogram ou 6 00:00:11,830 --> 00:00:14,538 pou pran desizyon pou ak pran diferan fouchèt nan wout, yon bagay nan 7 00:00:14,538 --> 00:00:17,670 Mwen mansyone ti kras pi bonè, tou depann de valè yo nan varyab, 8 00:00:17,670 --> 00:00:20,990 oswa ki baze sou sa entrain yo itilizatè a pwogramè a, nan liy la bay lòd, 9 00:00:20,990 --> 00:00:23,130 oswa si w gen yon èd memwa oswa yon bagay tankou sa. 10 00:00:23,130 --> 00:00:26,690 C gen yon koup nan diferan fason yo eksprime ekspresyon kondisyonèl, ki 11 00:00:26,690 --> 00:00:29,911 nou menm tou nou pafwa pral rele yon branch kondisyonèl nan pwogram ou yo. 12 00:00:29,911 --> 00:00:32,910 Se konsa, kèk nan sa yo yo ale nan gade bèl abitye nan ou nan grate, 13 00:00:32,910 --> 00:00:35,190 se konsa nou pral menm rale yo moute kòt a kòt, jis 14 00:00:35,190 --> 00:00:38,170 ou ka fè ki analoji nan tèt ou. 15 00:00:38,170 --> 00:00:41,250 >> Se konsa, si se yon if-- bèl senp kondisyonèl. 16 00:00:41,250 --> 00:00:43,560 Si ou sonje soti nan grate sou bò dwat la isit la 17 00:00:43,560 --> 00:00:50,000 ou te kapab ranpli nan se sa ki egzagòn ak yon espresyon ble si sourit desann 18 00:00:50,000 --> 00:00:53,010 oswa si x se mwens pase 10, oswa yon bagay tankou sa. 19 00:00:53,010 --> 00:00:57,390 Lè sa a,, si x te mwens pase 10, oswa si sourit la te an reyalite, desann, 20 00:00:57,390 --> 00:01:01,140 tout nan kòd la andedan nan la moso devinèt ta egzekite. 21 00:01:01,140 --> 00:01:03,720 Tout bagay sa yo ki anfòm andedan ki fòm C. 22 00:01:03,720 --> 00:01:07,200 >> Menm jan an tou, èske nou gen si sou bò gòch la a. 23 00:01:07,200 --> 00:01:09,210 Si ekspresyon Boolean, ki mwen jis lè l sèvi avèk 24 00:01:09,210 --> 00:01:13,010 kòm yon ranplasan pou youn nan Boolean a ekspresyon nou deja diskite, 25 00:01:13,010 --> 00:01:15,240 louvri atèl Curly, fèmen atèl Curly. 26 00:01:15,240 --> 00:01:17,720 Se konsa, panse a louvri Curly atèl ak fèmen atèl Curly 27 00:01:17,720 --> 00:01:22,720 kòm sòt de analoji nan sandwich a efè nan si blòk la sou bò dwat la 28 00:01:22,720 --> 00:01:24,070 nan grate. 29 00:01:24,070 --> 00:01:28,680 >> Si ekspresyon ki Boolean nan si deklarasyon an se vre, 30 00:01:28,680 --> 00:01:30,900 lè sa a tout liy ki nan kòd ant aparèy òtopedik yo Curly 31 00:01:30,900 --> 00:01:33,870 ap egzekite yo nan lòd depi anwo jouk anba. 32 00:01:33,870 --> 00:01:35,700 Si ekspresyon ki Boolean se fo, nou pral 33 00:01:35,700 --> 00:01:38,610 sote sou tout bagay nan ant aparèy òtopedik yo Curly, paske nou sèlman 34 00:01:38,610 --> 00:01:44,570 vle ale desann sou menm fouchèt nan wout la si ekspresyon ki Boolean se verite. 35 00:01:44,570 --> 00:01:48,540 >> Nou ka pran etap sa a yon sèl pi lwen ak si lòt bagay. 36 00:01:48,540 --> 00:01:50,820 Se konsa, sa blòk Grafouyen se bèl menm jan ak yon sèl nan 37 00:01:50,820 --> 00:01:55,884 nou te wè jis yon dezyèm de sa, eksepte li pran de chemen diferan ki baze 38 00:01:55,884 --> 00:01:56,550 sou sa ki rive. 39 00:01:56,550 --> 00:02:00,420 Se konsa, si sourit la te desann, oswa si x te mwens pase 10, 40 00:02:00,420 --> 00:02:04,780 nou pral fè tout sa ki sa a, se nan ant ki premye fouchèt, ke premye C., 41 00:02:04,780 --> 00:02:08,430 >> Sinon, si sourit la se moute, oswa x se pa pi piti pase 10, 42 00:02:08,430 --> 00:02:10,460 nou pwal fè tout bagay nan mete nan dezyèm fwa. 43 00:02:10,460 --> 00:02:15,010 Epi sa a, analoji nan sa ou wè isit la pou C. Si Boolean ekspresyon, 44 00:02:15,010 --> 00:02:17,910 fè bagay ki genyen ant a premye mete nan aparèy òtopedik Curly. 45 00:02:17,910 --> 00:02:20,550 Lòt Bagay, fè bagay ki genyen ant a dezyèm mete nan aparèy òtopedik Curly. 46 00:02:20,550 --> 00:02:22,080 Se konsa, si Boolean a ekspresyon se vre, nou pral 47 00:02:22,080 --> 00:02:23,580 fè tout sa a ant seri a an premye. 48 00:02:23,580 --> 00:02:27,480 Si ekspresyon ki Boolean se fo, ki ta deklanche lòt bagay la, 49 00:02:27,480 --> 00:02:30,100 e nou ta fè tout sa a nan seri an dezyèm nan aparèy òtopedik Curly. 50 00:02:30,100 --> 00:02:34,190 Yon fwa ankò, anwo jouk anba, tout liy nan ant aparèy òtopedik yo. 51 00:02:34,190 --> 00:02:38,130 >> Nan C, li posib yo kreye yon si-lòt bagay si-chèn lòt bagay. 52 00:02:38,130 --> 00:02:42,000 An reyalite ou ka gen si-lòt bagay si-lòt bagay si-lòt bagay, si, ak sou sa ak sou sa ak pou 53 00:02:42,000 --> 00:02:42,720 sou. 54 00:02:42,720 --> 00:02:44,660 Nan grafouyen, sa a egzije nidifikasyon blòk yo. 55 00:02:44,660 --> 00:02:48,280 Ou ajoute yon lòt bagay si-, epi ou te gen nan mete yon lòt yon sèl andedan nan lòt la, 56 00:02:48,280 --> 00:02:51,110 ak sou sa, epi li te resevwa kalite a enbrike ak konplike. 57 00:02:51,110 --> 00:02:52,450 Men, C, nou pa gen fè sa. 58 00:02:52,450 --> 00:02:55,300 Nou ka aktyèlman jis gen li gen yon chèn tankou sa a. 59 00:02:55,300 --> 00:02:58,350 Yon fwa ankò, jan ou ta ka atann yo, tout nan branch sa yo, se mityèlman eksklizif. 60 00:02:58,350 --> 00:03:00,750 Ou kapab sèlman janm ale desann yon sèl nan branch la. 61 00:03:00,750 --> 00:03:02,270 Si sa a se vre. 62 00:03:02,270 --> 00:03:03,930 Sinon, si sa a se vre. 63 00:03:03,930 --> 00:03:05,700 Sinon, si sa a se vre. 64 00:03:05,700 --> 00:03:07,120 Sinon, fè sa. 65 00:03:07,120 --> 00:03:11,010 Se konsa, tout kat nan branch yo nan sa a egzanp yo se mityèlman eksklizif. 66 00:03:11,010 --> 00:03:14,900 Se yon chèn si-lòt bagay si-lòt bagay. 67 00:03:14,900 --> 00:03:17,580 >> Li se posib menm si, epi pafwa trè itil, 68 00:03:17,580 --> 00:03:20,950 yo kreye yon chèn nan pa branch mityèlman eksklizif. 69 00:03:20,950 --> 00:03:24,600 Nan egzanp sa a, se sèlman twazyèm ak nan branch katriyèm se mityèlman eksklizif. 70 00:03:24,600 --> 00:03:27,450 Li ta ka ke ou te kapab satisfè kondisyon an premye, 71 00:03:27,450 --> 00:03:29,396 epi ou ka satisfè kondisyon, dezyèm lan, 72 00:03:29,396 --> 00:03:31,770 epi ou ka satisfè nan twazyèm condition-- nan ka sa a 73 00:03:31,770 --> 00:03:35,270 ou ta desann branch lan premye, Lè sa a, ou ale desann yon branch dezyèm lan, 74 00:03:35,270 --> 00:03:37,000 Lè sa a, ou ta desann branch lan twazyèm. 75 00:03:37,000 --> 00:03:40,450 Oswa petèt ou satisfè premye a kondisyon, ak kondisyon, dezyèm lan, 76 00:03:40,450 --> 00:03:42,770 men ou pa ka plen vant kondisyon an twazyèm. 77 00:03:42,770 --> 00:03:46,230 Nan ka sa a ou ale desann premye a branch ak branch, dezyèm lan, 78 00:03:46,230 --> 00:03:48,040 ak Lè sa a branch lan katriyèm, 79 00:03:48,040 --> 00:03:51,392 >> Rezon ki fè la pou sa a se ke lòt moun nan pral sèlman mare ki pi pre a si. 80 00:03:51,392 --> 00:03:53,100 Se konsa, menm si gen nan yon lòt bagay isit la, ki 81 00:03:53,100 --> 00:03:56,490 pa nesesèman kreye yon mityèlman san konte chèn nan tout bagay. 82 00:03:56,490 --> 00:04:00,890 Li nan sèlman ekspresyon an la ansanm ak Boolean 83 00:04:00,890 --> 00:04:05,040 ekspresyon sa a, se nan 3-- mityèlman eksklizif ak lòt moun nan. 84 00:04:05,040 --> 00:04:07,580 Se konsa, li posib, epi pafwa byen itil, 85 00:04:07,580 --> 00:04:11,772 jan mwen te di, yo kreye yon chèn nan branch pa mityèlman eksklizif. 86 00:04:11,772 --> 00:04:14,230 Se pou nou pran yon gade nan yon diferan kalite kondisyonèl, ki 87 00:04:14,230 --> 00:04:17,392 nou pa te wè anvan nan grafonyen moun. 88 00:04:17,392 --> 00:04:19,369 Genyen yon bagay yo rele deklarasyon an switch. 89 00:04:19,369 --> 00:04:21,410 Deklarasyon an switch se kalite pwòp paske li nan 90 00:04:21,410 --> 00:04:25,930 yon deklarasyon kondisyonèl ki pèmèt ou presize ka distenk, 91 00:04:25,930 --> 00:04:28,926 olye pou yo repoze sou Boolean ekspresyon pou pran desizyon pou pou ou. 92 00:04:28,926 --> 00:04:31,050 Se konsa, pou egzanp, kite a di ke mwen gen pwogram sa a, 93 00:04:31,050 --> 00:04:34,110 ak mwen mande itilizatè a bay opinyon m '. 94 00:04:34,110 --> 00:04:37,170 Se konsa, mwen di, int x = Jwenn Int (), epi si w ap pa abitye ankò, 95 00:04:37,170 --> 00:04:40,190 jwenn int se yon fonksyon ki se tou te gen ladann nan bibliyotèk la CS50, 96 00:04:40,190 --> 00:04:44,610 kidonk si w # enkli CS50.H ou pral gen aksè nan Jwenn Int () ak tout nan li yo 97 00:04:44,610 --> 00:04:46,840 cousins-- GetFloat, GetString, ak sou sa. 98 00:04:46,840 --> 00:04:52,590 Fondamantalman yon sèl Jwenn fonksyon pou chak kalite done ke nou te deja diskite. 99 00:04:52,590 --> 00:04:53,970 >> Se konsa, Int x egal GetInt. 100 00:04:53,970 --> 00:04:56,390 Fondamantalman sa k ap pase se mwen se nan tèminal la. 101 00:04:56,390 --> 00:04:58,790 Mwen mande itilizatè a tape nan yon nimewo. 102 00:04:58,790 --> 00:05:02,300 >> Ak isit la mwen oblije chanje sa m ap fè, tou depann 103 00:05:02,300 --> 00:05:05,060 sou sa ki itilizatè a tape nan èd memwa a. 104 00:05:05,060 --> 00:05:09,147 Se konsa, si yo tape yon sèl, Mwen enprime soti yon sèl. 105 00:05:09,147 --> 00:05:09,855 Lè sa a, mwen kraze. 106 00:05:09,855 --> 00:05:12,590 107 00:05:12,590 --> 00:05:15,510 Si yo tape de, mwen enprime soti de. 108 00:05:15,510 --> 00:05:16,690 Lè sa a, mwen kraze. 109 00:05:16,690 --> 00:05:19,060 Li enpòtan kraze ant chak ka 110 00:05:19,060 --> 00:05:20,890 paske otreman ou pral tonbe nan. 111 00:05:20,890 --> 00:05:23,380 Se konsa, si mwen pa t 'gen nenpòt repo a, ak itilizatè a 112 00:05:23,380 --> 00:05:31,380 youn tape, sa ki ta rive se li ta enprime yon sèl, de, twa, regrèt. 113 00:05:31,380 --> 00:05:33,099 Sa a kalite konpòtman etranj, dwa? 114 00:05:33,099 --> 00:05:33,890 Ou ta ka panse sa. 115 00:05:33,890 --> 00:05:36,480 Men, gen aktyèlman kèk ka kote sa a ta ka yon bagay trè itil. 116 00:05:36,480 --> 00:05:39,730 Se konsa, isit la nan yon lòt egzanp nan yon switch deklarasyon kote mwen oblije repo yo. 117 00:05:39,730 --> 00:05:42,030 Men, mwen fè l 'sou rezon. 118 00:05:42,030 --> 00:05:43,030 >> Se konsa, sa k ap pase isit la? 119 00:05:43,030 --> 00:05:43,821 Panse pou yon dezyèm fwa. 120 00:05:43,821 --> 00:05:45,960 Ou ka menm vle pran yon poz videyo a. 121 00:05:45,960 --> 00:05:48,230 >> Kisa k ap pase isit la si kalite yo itilizatè kat? 122 00:05:48,230 --> 00:05:51,190 123 00:05:51,190 --> 00:05:53,860 Se konsa, mwen te mande itilizatè a pou D '. 124 00:05:53,860 --> 00:05:56,560 Apre sa, yo bay valè a 4. 125 00:05:56,560 --> 00:05:59,545 Ki sa ki vin enprime lè m 'fè sa? 126 00:05:59,545 --> 00:06:02,170 Sou glise nan anvan yo, te gen repo ant tout ka yo. 127 00:06:02,170 --> 00:06:04,750 Se konsa, li ta jis enprime kat ak Lè sa a sispann. 128 00:06:04,750 --> 00:06:06,610 Men, nan ka sa a, li pa pral. 129 00:06:06,610 --> 00:06:10,700 Kisa ki pral rive se ou pral tonbe nan chak ka. 130 00:06:10,700 --> 00:06:14,890 >> Se konsa, nan ka sa a mwen te òganize ka mwen nan yon fason ke si kalite mouvman yo itilizatè 4, 131 00:06:14,890 --> 00:06:20,070 Mwen pral enprime kat, twa, de, yon sèl, eksplozyon an. 132 00:06:20,070 --> 00:06:22,780 Men, si yo tape 5, mwen ta kòmanse nan senk ak fè menm bagay la. 133 00:06:22,780 --> 00:06:26,410 Si yo tape 1, mwen ta jis fè yon sèl, eksplozyon an. 134 00:06:26,410 --> 00:06:28,715 >> Se konsa, nan ka sa a, mwen lè l sèvi avèk yon switch kalite malen se konsa 135 00:06:28,715 --> 00:06:30,804 ke mwen gen entansyon tonbe nan tout ka yo. 136 00:06:30,804 --> 00:06:33,720 Men, jeneralman w ap pwobableman pral vle kraze ant tout nan yo, 137 00:06:33,720 --> 00:06:36,090 sof si ou gen yon sitiyasyon tankou yon sèl sa a kote w ap 138 00:06:36,090 --> 00:06:40,081 kalite swe lefèt ke ou pral tonbe nan ka yo san yo pa yon ti repo. 139 00:06:40,081 --> 00:06:42,830 Se konsa, sa a, se dezyèm lan nan gwo nan kalite deklarasyon kondisyonèl. 140 00:06:42,830 --> 00:06:47,139 Dènye a nan yo ki se: Se konsa, mwen gen de koupe nan C Kòd isit la. 141 00:06:47,139 --> 00:06:48,680 Youn sou bò gòch la, yonn sou bò dwat la. 142 00:06:48,680 --> 00:06:52,330 Yon sèl nan sou bò gòch la ta dwe pwobableman dwe trè abitye nan ou. 143 00:06:52,330 --> 00:06:55,110 >> Mwen gen Int x. 144 00:06:55,110 --> 00:06:57,167 Apre sa, mwen pwobableman ta dwe te mande itilizatè a 145 00:06:57,167 --> 00:07:00,250 pou- sa a ta dwe pwobableman ap Int x egal GetInt, oswa yon bagay tankou sa. 146 00:07:00,250 --> 00:07:03,030 147 00:07:03,030 --> 00:07:05,240 Lè sa a, m ap fè yon desizyon. 148 00:07:05,240 --> 00:07:11,700 Si gen kèk ekspresyon Boolean se vre, bay x valè nan 5. 149 00:07:11,700 --> 00:07:13,590 Sinon, bay x valè a 6. 150 00:07:13,590 --> 00:07:16,548 >> Sa sou bò gòch la ta dwe pwobableman dwe bèl abitye soti nan diskisyon nou an 151 00:07:16,548 --> 00:07:18,160 a Si Lòt Bagay jis yon ti moman de sa. 152 00:07:18,160 --> 00:07:20,535 Èske ou ta dwe etone yo konnen ke liy lan sou bò dwat la 153 00:07:20,535 --> 00:07:22,310 fè menm bagay la egzak? 154 00:07:22,310 --> 00:07:26,140 >> Se konsa, sa yo rele: oswa pafwa rele operatè a tèrsyèr. 155 00:07:26,140 --> 00:07:27,450 Apre sa, li a trè fre. 156 00:07:27,450 --> 00:07:29,110 Li nan anjeneral itilize kòm yon Trick bèl. 157 00:07:29,110 --> 00:07:35,777 >> Men, sa ki li pèmèt ou fè se simulation yon Si Lòt Bagay ak reyèlman piti, 158 00:07:35,777 --> 00:07:37,610 reyèlman trivyalman kout branch kondisyonèl. 159 00:07:37,610 --> 00:07:41,470 Ou jeneralman yo pa ta sèvi ak: si ou te gen sis liy nan Kòd ant chak mete 160 00:07:41,470 --> 00:07:42,569 aparèy òtopedik a Curly. 161 00:07:42,569 --> 00:07:44,360 Men, si w ap jis fè yon desizyon rapid, 162 00:07:44,360 --> 00:07:47,520 si w ap ale nan fè yon bagay oswa lòt la epi li trè senp, 163 00:07:47,520 --> 00:07:52,240 sa a ta kapab yon egzanp pou konnen kijan pou fè l 'ak: operatè a tèrsyèr. 164 00:07:52,240 --> 00:07:56,940 Se konsa, Int x egal ekspresyon? 165 00:07:56,940 --> 00:07:59,470 Bagay la apre kesyon an make se valè sa a x 166 00:07:59,470 --> 00:08:02,690 yo pral si ekspresyon se verite. 167 00:08:02,690 --> 00:08:05,330 >> Bagay la apre a kolon se sa ki valè x nan 168 00:08:05,330 --> 00:08:07,990 ta ye si ekspresyon an te fo. 169 00:08:07,990 --> 00:08:11,510 Se konsa, mwen mande tèt mwen, se ekspresyon ki vre? 170 00:08:11,510 --> 00:08:13,870 Si li se, bay x valè nan 5. 171 00:08:13,870 --> 00:08:16,619 Si li nan pa, bay x valè a 6. 172 00:08:16,619 --> 00:08:17,410 Yon fwa ankò, tankou mwen te di. 173 00:08:17,410 --> 00:08:18,670 Sa a se anjeneral jis yon Trick bèl. 174 00:08:18,670 --> 00:08:20,430 Epi pafwa si ou vin reyèlman konfòtab ak li, 175 00:08:20,430 --> 00:08:22,820 ou pral fè sa a paske li sanble kalite fre nan pwogram ou yo. 176 00:08:22,820 --> 00:08:25,710 Anjeneral mwen prezante l 'bay ou koulye a se konsa w ap abitye ak li 177 00:08:25,710 --> 00:08:26,990 si ou wè li. 178 00:08:26,990 --> 00:08:30,080 Men, sètènman konnen ou pa gen yo ekri l 'nan nenpòt nan kòd ou a. 179 00:08:30,080 --> 00:08:33,246 Men, li se yon bagay yo dwe abitye avèk, paske ou pral definitivman rankontre 180 00:08:33,246 --> 00:08:36,130 koupe nan kòd isit la ak gen kote sa a:? sentaks, 181 00:08:36,130 --> 00:08:39,120 AKA operatè a tèrsyèr, se itilize. 182 00:08:39,120 --> 00:08:40,960 >> Rezime Se konsa, rapid sou sa kondisyonal ye, 183 00:08:40,960 --> 00:08:44,210 ak sa ki opsyon ki disponib nan yo disponib jwenn ou nan C. Ou gen Si epi si-lòt bagay, 184 00:08:44,210 --> 00:08:46,860 epi si lòt moun si, et setra. 185 00:08:46,860 --> 00:08:50,880 Ou kapab sèvi ak ekspresyon Boolean pou moun pou pran desizyon pou. 186 00:08:50,880 --> 00:08:53,720 >> Avèk deklarasyon switch ou itilize ka disrè pou pran desizyon pou. 187 00:08:53,720 --> 00:08:57,540 Ou ta espesyalman di, si li la yon sèl, oswa si li nan de, oswa si li nan twa, 188 00:08:57,540 --> 00:09:00,870 Mwen pral fè bagay sa a, oswa bagay sa a, oswa bagay sa a. 189 00:09:00,870 --> 00:09:04,660 Epi: ka yo dwe itilize ranplase branch si-lòt bagay trè senp, 190 00:09:04,660 --> 00:09:08,490 oswa si-lòt bagay chenn fè kòd ou a gade yon ti kras anpenpan. 191 00:09:08,490 --> 00:09:09,250 >> Mwen se Doug Lloyd. 192 00:09:09,250 --> 00:09:11,410 Lè sa a se CS50. 193 00:09:11,410 --> 00:09:12,959