1 00:00:07,370 --> 00:00:09,760 [Powered by Google Translate] Tommy MACWILLIAM: Hebu majadiliano kuhusu tanzi, moja ya kawaida 2 00:00:09,760 --> 00:00:13,380 programu constructs tutaweza kuona katika CS50. 3 00:00:13,380 --> 00:00:15,570 Tutaweza kutumia loops wakati tunataka kufanya 4 00:00:15,570 --> 00:00:17,200 kazi zaidi ya mara moja. 5 00:00:17,200 --> 00:00:20,700 Kwa mfano, sisi kutaka magazeti "hi" mara 100 au magazeti 6 00:00:20,700 --> 00:00:22,700 nje barua zote za alfabeti. 7 00:00:22,700 --> 00:00:26,030 Katika wote wa kesi hizi, tuna jambo moja tunataka kufanya 8 00:00:26,030 --> 00:00:28,700 mara nyingi, magazeti kitu nje. 9 00:00:28,700 --> 00:00:31,970 Hata hivyo, nini sisi magazeti nje kila wakati wanaweza kutofautiana. 10 00:00:31,970 --> 00:00:34,530 Hivyo tunaweza kufanya kitu tofauti kidogo juu ya kila 11 00:00:34,530 --> 00:00:37,820 iteration, au kukimbia kwa njia ya kitanzi. 12 00:00:37,820 --> 00:00:41,280 Tutaweza kuona aina tatu tofauti za matanzi katika C, wakati 13 00:00:41,280 --> 00:00:44,700 tanzi, kwa tanzi, na kufanya wakati matanzi. 14 00:00:44,700 --> 00:00:47,850 Ingawa haya matatu aina ya matanzi kuwa syntax tofauti, 15 00:00:47,850 --> 00:00:50,630 mawazo nyuma yao ni sawa. 16 00:00:50,630 --> 00:00:53,930 Tutaweza kufafanua baadhi block ya maadili ndani ya braces curly, 17 00:00:53,930 --> 00:00:57,810 linaitwa mwili wa kitanzi, kwamba tunataka wauawe 18 00:00:57,810 --> 00:00:59,790 baadhi idadi ya nyakati. 19 00:00:59,790 --> 00:01:03,370 Kwa kubadilisha maadili ya vigezo kutumika katika mwili, sisi 20 00:01:03,370 --> 00:01:07,570 wanaweza kufanya kitanzi wetu kufanya kitu tofauti kila wakati ni kukimbia. 21 00:01:07,570 --> 00:01:10,750 Kwa yoyote kitanzi sisi kuandika, tutaweza pia haja ya kuamua wakati 22 00:01:10,750 --> 00:01:12,400 kitanzi kuacha mbio. 23 00:01:12,400 --> 00:01:15,650 Kama hatuwezi kufanya hivyo, basi trusty wetu kompyuta itaendelea 24 00:01:15,650 --> 00:01:19,040 kuendesha kwamba kitanzi mpaka sisi kuua mpango. 25 00:01:19,040 --> 00:01:22,490 Katika Scratch, tunaweza kutumia kurudia n mara 26 00:01:22,490 --> 00:01:24,600 kuzuia kuunda kitanzi. 27 00:01:24,600 --> 00:01:28,200 Wote wa vipande ndani ya kuzuia kwamba alisema kurudia 10 28 00:01:28,200 --> 00:01:30,130 itakuwa kukimbia mara 10. 29 00:01:30,130 --> 00:01:34,160 Na kisha, tunatarajia kuendelea na vipande baada ya kitanzi kwamba. 30 00:01:34,160 --> 00:01:38,140 Hivyo kuacha yetu hali ilikuwa tu, block hii imekuwa 31 00:01:38,140 --> 00:01:39,830 kukimbia mara 10. 32 00:01:39,830 --> 00:01:43,900 Basi hebu recreate hii katika C. Ili Scratch kuhakikisha 33 00:01:43,900 --> 00:01:46,920 kwamba vipande ndani ya kuzuia kurudia ni kunyongwa 34 00:01:46,920 --> 00:01:51,180 hasa mara 10, Scratch inahitaji kuweka wimbo wa kila 35 00:01:51,180 --> 00:01:53,750 utekelezaji wa kuzuia kurudia. 36 00:01:53,750 --> 00:01:56,790 Ili kuweka wimbo wa jinsi mara nyingi kitanzi yetu mwili imekuwa 37 00:01:56,790 --> 00:02:00,360 kunyongwa, hebu kuunda variable kuitwa i. 38 00:02:00,360 --> 00:02:03,400 Tutaweza kuanza i mbali katika sifuri, tangu kitanzi wetu 39 00:02:03,400 --> 00:02:04,650 haijawahi kuendesha bado. 40 00:02:10,009 --> 00:02:10,949 OK 41 00:02:10,949 --> 00:02:15,560 Sasa tutaweza kutumia Keyword wakati kuanza mbali kitanzi yetu. 42 00:02:20,100 --> 00:02:24,180 Sasa tutaweza haja ya kufikiri wakati kitanzi wetu kuacha, lakini 43 00:02:24,180 --> 00:02:26,730 hebu kuondoka hii kwa sasa na kisha kuja nyuma yake. 44 00:02:30,970 --> 00:02:32,150 Wote haki. 45 00:02:32,150 --> 00:02:35,260 Ndani ya kitanzi wetu, wacha tu magazeti ujumbe nje, kama 46 00:02:35,260 --> 00:02:38,535 "Hi." Tunaweza kutumia kazi printf kwa hili. 47 00:02:48,400 --> 00:02:49,230 Wote haki. 48 00:02:49,230 --> 00:02:54,210 Hivyo sasa tutaweza kurekodi kwamba iteration ya mwili kitanzi ina 49 00:02:54,210 --> 00:02:55,750 alinyongwa. 50 00:02:55,750 --> 00:03:00,320 Tunaweza kufanya hivyo kwa kuongeza 1, au incrementing, counter wetu 51 00:03:00,320 --> 00:03:01,740 variable, i. 52 00:03:01,740 --> 00:03:09,180 Ili kufanya hivyo, tunaweza kusema i ni sawa na i plus 1, au zaidi 53 00:03:09,180 --> 00:03:16,520 tu, i plus plus. 54 00:03:16,520 --> 00:03:17,320 Mkuu. 55 00:03:17,320 --> 00:03:21,810 Hivyo sasa tunaweza kuona kwamba kila wakati kitanzi yetu ni kukimbia, yetu 56 00:03:21,810 --> 00:03:24,500 variable counter huenda juu kwa moja. 57 00:03:24,500 --> 00:03:29,410 Hivyo sisi kujua hasa jinsi wengi iterations tumekuwa kukimbia hadi sasa. 58 00:03:29,410 --> 00:03:31,630 Baada ya mmoja iteration ya kitanzi, thamani yetu 59 00:03:31,630 --> 00:03:34,270 ya i itakuwa 1. 60 00:03:34,270 --> 00:03:37,460 Baada iterations mbili, i itakuwa 2. 61 00:03:37,460 --> 00:03:42,640 Na baada ya iterations 10, i itakuwa 10. 62 00:03:42,640 --> 00:03:46,780 Hivyo, kama tunataka kukimbia hii kitanzi hasa mara 10, basi 63 00:03:46,780 --> 00:03:49,240 hii ni wakati tunataka kuacha. 64 00:03:49,240 --> 00:03:53,860 Hivyo tunataka kukimbia hii kitanzi wakati i ni chini ya 10, na 65 00:03:53,860 --> 00:03:57,630 hiyo ni sawa kabisa tutaweza kuandika, wakati i 66 00:03:57,630 --> 00:04:02,450 ni chini ya 10. 67 00:04:02,450 --> 00:04:06,380 Hali hii inaonekana tu kama hali ya sisi kutumika katika iwapo 68 00:04:06,380 --> 00:04:07,830 mwingine vitalu. 69 00:04:07,830 --> 00:04:11,690 Baada ya mwili wa kitanzi yetu imekuwa kunyongwa, mpango wetu 70 00:04:11,690 --> 00:04:14,690 utaongezeka nyuma hadi hali matanzi. 71 00:04:14,690 --> 00:04:17,290 Kama hali ni kweli, basi mwili wa 72 00:04:17,290 --> 00:04:18,990 kitanzi utaendeshwa tena. 73 00:04:18,990 --> 00:04:22,190 Kama hali ni tena kweli, basi kitanzi wetu hautakuwa 74 00:04:22,190 --> 00:04:25,700 kukimbia tena na hoja juu ya line ya pili ya code 75 00:04:25,700 --> 00:04:27,876 chini ya kitanzi yetu. 76 00:04:27,876 --> 00:04:28,550 Wote haki. 77 00:04:28,550 --> 00:04:30,740 Basi hebu tuangalie aina ya pili ya 78 00:04:30,740 --> 00:04:33,000 kitanzi, kwa kitanzi. 79 00:04:33,000 --> 00:04:37,310 Next Keyword wakati, katika mabano, tulikuwa na jambo moja, 80 00:04:37,310 --> 00:04:39,840 hali ambayo inahitajika kuwa ni kweli kwa 81 00:04:39,840 --> 00:04:42,010 mwili kitanzi kwa kuwa na kukimbia. 82 00:04:42,010 --> 00:04:45,440 Hiyo ina maana tulikuwa na kujenga variable yetu counter nje 83 00:04:45,440 --> 00:04:48,760 ya kitanzi na kumbuka increment ni wakati fulani 84 00:04:48,760 --> 00:04:51,050 ndani ya kitanzi. 85 00:04:51,050 --> 00:04:54,320 header kwa wetu kwa kitanzi, kwa upande mwingine, ina tatu 86 00:04:54,320 --> 00:04:58,510 sehemu, ambayo kila mmoja itakuwa waliojitenga semicolon. 87 00:04:58,510 --> 00:05:01,950 Katika tatu yetu ya kwanza, tunaweza kutangaza yoyote counter au msaidizi 88 00:05:01,950 --> 00:05:05,000 vigezo tunatarajia kutumia katika kitanzi yetu. 89 00:05:05,000 --> 00:05:07,350 Katika mazoezi, hii inaweza kuwa kweli kusaidia. 90 00:05:07,350 --> 00:05:10,590 Sisi kwa kweli hawana haja ya kuwa kutofautiana, i, baada ya wakati wetu 91 00:05:10,590 --> 00:05:13,650 kitanzi ina kukimbia, hivyo sisi kweli haipaswi kuyatangaza 92 00:05:13,650 --> 00:05:15,810 nje ya kitanzi. 93 00:05:15,810 --> 00:05:19,080 tatu ya pili itakuwa hali ya kuwa lazima kuwa kweli 94 00:05:19,080 --> 00:05:21,850 kwa ajili ya mwili kuuawa tena, kama tu 95 00:05:21,850 --> 00:05:23,330 katika wakati kitanzi yetu. 96 00:05:23,330 --> 00:05:26,350 Katika tatu ya mwisho mwisho, tunaweza kuendesha taarifa kwamba itakuwa 97 00:05:26,350 --> 00:05:30,270 kunyongwa baada ya kila iteration ya kitanzi, hivyo hatuna 98 00:05:30,270 --> 00:05:32,710 kujenga ndani ya mwili kitanzi. 99 00:05:32,710 --> 00:05:38,390 Basi hebu andika kwa kitanzi kwamba makosa chini 5-1. 100 00:05:38,390 --> 00:05:41,790 Tutaweza kuanza na keyword kwa. 101 00:05:41,790 --> 00:05:44,680 Tunaweza kujenga variable counter ya kwanza, ambayo tutaweza 102 00:05:44,680 --> 00:05:47,840 kuweka 5 wakati huu tangu tuko kuhesabu chini, 103 00:05:47,840 --> 00:05:50,110 ikifuatiwa na semicolon. 104 00:05:50,110 --> 00:05:53,660 Next ni hali yetu, ambayo tutaweza kurudi. 105 00:05:53,660 --> 00:05:57,540 Tatu, tunatarajia pungufu variable yetu counter baada ya 106 00:05:57,540 --> 00:05:59,620 kila iteration ya kitanzi. 107 00:05:59,620 --> 00:06:04,740 Hivyo badala ya kusema i plus plus, tutaweza kusema i bala bala. 108 00:06:04,740 --> 00:06:05,300 Wote haki. 109 00:06:05,300 --> 00:06:09,490 Hivyo tunataka mwili kitanzi kukimbia wakati i bado ni 110 00:06:09,490 --> 00:06:11,960 kubwa kuliko 0. 111 00:06:11,960 --> 00:06:16,160 Katika mwili wa kitanzi, hebu magazeti nje thamani ya i. 112 00:06:16,160 --> 00:06:20,480 Kwa kufanya hivyo, tutaweza kutumia kazi printf, kwa kutumia d% 113 00:06:20,480 --> 00:06:21,650 placeholder. 114 00:06:21,650 --> 00:06:24,820 Kumbuka, placeholder kwamba itakuwa kubadilishwa kwa 115 00:06:24,820 --> 00:06:27,040 thamani ya i. 116 00:06:27,040 --> 00:06:32,060 Hatimaye, hebu kuongeza taarifa baada yetu kwa kitanzi. 117 00:06:32,060 --> 00:06:35,850 Wakati sisi kukimbia hii kitanzi, i kuanza mbali katika 5, 118 00:06:35,850 --> 00:06:38,070 hivyo 5 itakuwa printed. 119 00:06:38,070 --> 00:06:42,000 Mara moja i anapata 0, hali muendelezo, i ni 120 00:06:42,000 --> 00:06:44,450 kubwa kuliko 0, tena kushikilia. 121 00:06:44,450 --> 00:06:47,330 Hivyo kitanzi wetu kuacha utekelezaji, na tutaweza kuona 122 00:06:47,330 --> 00:06:49,850 Taarifa baada ya kitanzi. 123 00:06:49,850 --> 00:06:51,340 Basi hebu kukimbia hii code. 124 00:06:51,340 --> 00:06:52,700 Kwanza, tutaweza kukusanya 125 00:06:52,700 --> 00:06:56,460 countdown.c na kufanya Countdown. 126 00:06:56,460 --> 00:06:59,320 Sasa, tunaweza kukimbia hii kificho na. Countdown /. 127 00:07:02,340 --> 00:07:06,040 Katika matanzi wakati wote na kwa tanzi, yetu muendelezo 128 00:07:06,040 --> 00:07:09,010 sharti kuwa checked kabla ya mwili 129 00:07:09,010 --> 00:07:10,960 ya kitanzi ni kunyongwa. 130 00:07:10,960 --> 00:07:13,840 Hiyo ina maana kuwa, kama hali yetu si ya awali 131 00:07:13,840 --> 00:07:18,100 kweli, basi mwili wa kitanzi wetu kamwe kuwa na kukimbia. 132 00:07:18,100 --> 00:07:22,060 Hivyo ni wakati mwingine muhimu ya kuangalia hali ya baada ya 133 00:07:22,060 --> 00:07:25,150 mwili wa kitanzi badala ya kabla yake. 134 00:07:25,150 --> 00:07:28,270 Basi hebu kuandika kitanzi kuchochea mtumiaji kwa idadi 135 00:07:28,270 --> 00:07:30,990 mpaka idadi chanya ni hutolewa. 136 00:07:30,990 --> 00:07:34,740 Kama mtumiaji pembejeo idadi hasi, tutaweza nataka kuwauliza 137 00:07:34,740 --> 00:07:36,260 kwa idadi mwingine. 138 00:07:36,260 --> 00:07:38,940 Hivyo tutaweza unataka hii haraka kuwa ndani ya 139 00:07:38,940 --> 00:07:41,050 mwili mbali kitanzi. 140 00:07:41,050 --> 00:07:44,730 Hata hivyo, wakati kitanzi ni kukimbia kwa mara ya kwanza, user 141 00:07:44,730 --> 00:07:46,750 hakutupa idadi bado. 142 00:07:46,750 --> 00:07:49,640 Hivyo haina mantiki kwa kuangalia kama ni chanya. 143 00:07:49,640 --> 00:07:54,020 Badala yake, tutaweza wanataka kuangalia idadi baada ya mwili wa 144 00:07:54,020 --> 00:07:55,720 kitanzi ni kukimbia. 145 00:07:55,720 --> 00:08:00,310 Tunaweza kufanya hili kwa do wakati kitanzi. 146 00:08:00,310 --> 00:08:03,560 Kwanza, tutaweza kujenga variable, n, kwamba itafanya 147 00:08:03,560 --> 00:08:05,230 mtumiaji pembejeo. 148 00:08:05,230 --> 00:08:09,960 Sasa tutaweza kutumia Keyword do, ikifuatiwa na braces curly kwamba 149 00:08:09,960 --> 00:08:12,930 itaanza mbali mwili wa kitanzi yetu. 150 00:08:12,930 --> 00:08:16,230 Katika mwili, tunaweza kuchochea mtumiaji kwa idadi na 151 00:08:16,230 --> 00:08:18,480 GetInt kazi. 152 00:08:18,480 --> 00:08:23,230 Sasa, sisi utasikia wanataka mwili wa kitanzi hii nitafanya tena kama 153 00:08:23,230 --> 00:08:28,370 user typed idadi hasi, hivyo tutaweza kusema wakati n 154 00:08:28,370 --> 00:08:30,420 ni chini ya 0. 155 00:08:30,420 --> 00:08:33,140 Notice semicolon hapa baada ya taarifa ya muda. 156 00:08:38,909 --> 00:08:40,679 Basi hebu kukimbia hii code. 157 00:08:40,679 --> 00:08:44,780 Kwanza, tutaweza kukusanya hii na kufanya mazuri. 158 00:08:44,780 --> 00:08:49,340 Sasa tunaweza kuendesha programu na / chanya.. 159 00:08:49,340 --> 00:08:52,660 Kama sisi kutoa mpango huu idadi hasi, kama hasi 160 00:08:52,660 --> 00:08:56,560 4, basi tutaweza hutaulizwa tena kwa idadi tangu 161 00:08:56,560 --> 00:09:00,490 hali ya do wetu wakati kitanzi ilikuwa kweli. 162 00:09:00,490 --> 00:09:04,690 Mara sisi kutoa idadi chanya, kama 8, kisha 163 00:09:04,690 --> 00:09:08,560 hali ya do wetu wakati kitanzi tena kuwa kweli. 164 00:09:08,560 --> 00:09:12,080 Hivyo kitanzi si lazima ifanyike tena. 165 00:09:12,080 --> 00:09:15,290 Na hiyo ni kwa aina tatu za matanzi tutaweza kutumia katika C. 166 00:09:15,290 --> 00:09:18,840 Jina langu ni Tommy, na hii ni CS50.