1 00:00:07,010 --> 00:00:09,640 [Powered by Google Translate] Kazi ni sehemu ya maadili ya kutumika ndani ya mpango kubwa 2 00:00:09,640 --> 00:00:11,430 kufanya kazi fulani. 3 00:00:11,430 --> 00:00:15,060 Wao pia inajulikana kama taratibu, subroutines, na subprograms, 4 00:00:15,060 --> 00:00:18,320 tangu wao kweli ni tu mipango ndani ya mini mipango. 5 00:00:18,320 --> 00:00:20,340 Hata ingawa unaweza kuwa niliona, 6 00:00:20,340 --> 00:00:24,090 wewe dhahiri zaidi na kutumika kazi tayari kama umefanya iliyowekwa katika C. 7 00:00:24,090 --> 00:00:26,770 Wakati kuandika mambo kwa kutumia screen printf, 8 00:00:26,770 --> 00:00:29,380 wewe ni kweli kutumia kazi kuitwa printf. 9 00:00:29,380 --> 00:00:33,760 Kadhalika, GetInt na GetString ni kazi ambayo CS50 hutoa kwa ajili yenu. 10 00:00:33,760 --> 00:00:37,750 Kama programmers, sisi kutumia kazi kwa sababu kadhaa. 11 00:00:37,750 --> 00:00:41,240 >> Kuwa na kazi ya kufanya kazi ya kawaida kama kuandika kwa screen 12 00:00:41,240 --> 00:00:44,480 na kusababisha mtumiaji kwa ajili ya pembejeo anaokoa yetu wakati programu. 13 00:00:44,480 --> 00:00:47,510 Ni si lazima kuandika code kufanya mambo wale sawa 14 00:00:47,510 --> 00:00:49,520 tangu wao uko tayari amefanya kwa ajili yetu. 15 00:00:49,520 --> 00:00:54,580 Si hata muhimu kwetu kuelewa hasa jinsi wale utendaji kazi wa ndani. 16 00:00:54,580 --> 00:00:58,880 Badala yake, sisi tu kujua jinsi ya kutumia au kuwaita katika mipango yetu. 17 00:00:58,880 --> 00:01:02,040 Ni pia kusaidia kuandika kazi katika programu kubwa 18 00:01:02,040 --> 00:01:04,330 hata kama wewe si mipango juu ya kuwa na wengine kuzitumia, 19 00:01:04,330 --> 00:01:06,830 tu ya kugawanya kazi kubwa katika mkono. 20 00:01:06,830 --> 00:01:11,910 Kwa njia hii, kutoa muundo kwa code yako kiasi kama wewe d kutoa muundo kwa insha, 21 00:01:11,910 --> 00:01:15,180 na kwa kweli kubwa miradi wewe kuwawezesha watu mbalimbali 22 00:01:15,180 --> 00:01:16,730 kufanya kazi katika sehemu mbalimbali kwa wakati mmoja 23 00:01:16,730 --> 00:01:20,480 tangu ni wazi ambapo kazi ya mtu mmoja unamalizika na mwingine huanza. 24 00:01:20,480 --> 00:01:26,530 >> Kazi kawaida kazi ya pembejeo 1 au zaidi, inayojulikana kama hoja au vigezo, 25 00:01:26,530 --> 00:01:30,520 kubadilisha pembejeo wale katika thamani ya pato kwamba ni kisha akarudi. 26 00:01:30,520 --> 00:01:34,950 Hata hivyo, pia inawezekana kuwa na kazi ambazo si kutumia hoja yoyote ya pembejeo 27 00:01:34,950 --> 00:01:36,400 na wala kurudi pato. 28 00:01:36,400 --> 00:01:38,790 Okay, ya kutosha pamoja na mambo fluffy. 29 00:01:38,790 --> 00:01:41,790 Hebu tuangalie baadhi ya majukumu ya kweli katika C. 30 00:01:41,790 --> 00:01:45,570 >> Hapa tuna kazi kuitwa mraba kwamba, amini au siyo, 31 00:01:45,570 --> 00:01:47,570 computes mraba ya pembejeo. 32 00:01:47,570 --> 00:01:49,490 Hebu mchambue syntax ya hiyo. 33 00:01:49,490 --> 00:01:51,860 neno ya kwanza unaweza kuona katika kazi, int, 34 00:01:51,860 --> 00:01:57,460 bayana aina ya kurudi kwa kazi, yaani, aina C ya pato kazi ya. 35 00:01:57,460 --> 00:02:00,370 Kazi hii pato thamani kwa int aina. 36 00:02:00,370 --> 00:02:04,100 neno ijayo unaweza kuona ni jina la kazi, mraba katika kesi hii. 37 00:02:04,100 --> 00:02:07,390 Kumtaja kazi ipasavyo ni muhimu hasa 38 00:02:07,390 --> 00:02:11,260 tangu pengine nyaraka linaloonekana zaidi ya kile kazi gani. 39 00:02:11,260 --> 00:02:14,880 Inaweza kuwa ya baridi hili jina Shazam kazi au booyah, 40 00:02:14,880 --> 00:02:18,340 lakini kwamba itakuwa si kutuambia chochote kuhusu nini kazi gani. 41 00:02:18,340 --> 00:02:23,470 >> Kufuatia jina kazi kuja pembejeo ili kufanya kazi, hoja. 42 00:02:23,470 --> 00:02:26,380 Wao ni waliotajwa ndani ya seti ya mabano 43 00:02:26,380 --> 00:02:30,160 na wote aina yao na kutumia jina kwa ajili yao ndani ya mwili wa kazi. 44 00:02:30,160 --> 00:02:34,030 Square inachukua 1 tu hoja, int ya mraba, 45 00:02:34,030 --> 00:02:36,160 ambayo nimepata aliamua kumpa jina x. 46 00:02:36,160 --> 00:02:40,760 Hii mwisho tamko kazi au mfano. 47 00:02:40,760 --> 00:02:43,320 braces curly jirani ya mapumziko ya kazi 48 00:02:43,320 --> 00:02:45,870 kuashiria mwanzo na mwisho wa mwili kazi, 49 00:02:45,870 --> 00:02:48,320 ufafanuzi wa kazi yenyewe. 50 00:02:48,320 --> 00:02:50,300 Square ni kazi pretty rahisi. 51 00:02:50,300 --> 00:02:54,100 Ni tu got 1 line, tangu wote sisi kufanya ni kuzidisha x kwa yenyewe. 52 00:02:54,100 --> 00:02:59,250 kurudi neno bayana thamani ya pato na kuchochea mwisho wa kazi. 53 00:02:59,250 --> 00:03:03,430 Kutumia kazi za mraba, tunahitaji ugavi pembejeo sahihi 54 00:03:03,430 --> 00:03:05,310 na kisha kukamata pato. 55 00:03:05,310 --> 00:03:08,140 Hapa, unaweza kuona michache ya njia ya kufanya hivyo. 56 00:03:08,140 --> 00:03:13,600 Tunaweza kupita katika int ghafi, kama 6, au tunaweza kupita katika variable kama. 57 00:03:13,600 --> 00:03:15,700 Kumbuka kwamba kila wakati sisi kuwaita mraba, 58 00:03:15,700 --> 00:03:18,330 sisi kukamata pato katika kutofautiana na kisha magazeti hayo. 59 00:03:18,330 --> 00:03:22,690 Hata hivyo, hatuna kuhifadhi thamani ya kurudi katika kutofautiana na kisha magazeti. 60 00:03:22,690 --> 00:03:27,090 Tunaweza tu kutuma moja kwa moja kwa printf kama sisi kufanya wakati sisi mraba 10, 61 00:03:27,090 --> 00:03:30,580 lakini hii haina maana kwamba hatuna upatikanaji wa thamani ya kurudi kwa mraba 10 62 00:03:30,580 --> 00:03:32,230 mahali pengine katika code. 63 00:03:32,230 --> 00:03:34,890 Hebu tuangalie mfano mwingine rahisi. 64 00:03:34,890 --> 00:03:38,750 >> Hii wakati, tutaweza sum ikifungwa 2 pamoja ili tuweze kuona nini kazi inaonekana kama 65 00:03:38,750 --> 00:03:41,220 wakati ni got pembejeo 2 badala ya 1 tu. 66 00:03:41,220 --> 00:03:43,950 Kama unaweza kuona, si tofauti sana. 67 00:03:43,950 --> 00:03:47,330 Wote sisi kufanya ni kuongeza katika hoja 2, kuelea aitwaye b, 68 00:03:47,330 --> 00:03:51,820 kwa orodha hoja kutumia comma ili kujitenga na hoja ya kwanza, kuelea. 69 00:03:51,820 --> 00:03:55,550 Hivyo, mraba yetu na kazi Jumla ni pretty rahisi kuelewa 70 00:03:55,550 --> 00:03:58,930 kwa sababu wao ni sawa na kazi ambayo umefanya kuona mbele katika darasa math. 71 00:03:58,930 --> 00:04:01,610 Sasa, hebu tuangalie kazi ambayo ni tofauti kidogo. 72 00:04:01,610 --> 00:04:04,620 Badala ya kurejea thamani, ni hugeuza serikali. 73 00:04:04,620 --> 00:04:07,260 Hii inajulikana kama kuwa na athari upande. 74 00:04:07,260 --> 00:04:10,750 Katika mpango huu, printf_fudd_style kazi 75 00:04:10,750 --> 00:04:13,410 ina aina ya kurudi kwamba hatujaona kabla, utupu. 76 00:04:13,410 --> 00:04:16,730 >> Tupu ni kutumika kwa kusema kwamba kazi haina kurudi chochote. 77 00:04:16,730 --> 00:04:19,410 Hakuna vigezo ya utupu aina, 78 00:04:19,410 --> 00:04:22,760 hivyo kama wewe kujaribu kurudi kitu kutoka kazi kama printf_fudd_style, 79 00:04:22,760 --> 00:04:24,290 compiler itakuwa yell saa wewe. 80 00:04:24,290 --> 00:04:29,390 Ndani ya printf_fudd_style, tunaona kwamba wakati kazi bado anafanya kazi, 81 00:04:29,390 --> 00:04:31,890 yaani, byte wote Rupia kwa WS, 82 00:04:31,890 --> 00:04:36,380 uhakika wa kazi ni kurekebisha kamba na kisha magazeti nje juu ya screen, 83 00:04:36,380 --> 00:04:39,400 kubadilisha hali ya mpango badala ya kurudi matokeo. 84 00:04:39,400 --> 00:04:43,700 Kutumia kazi hii ni mengi sana kama vile kutumia mraba yetu na kazi jumla, 85 00:04:43,700 --> 00:04:46,950 ila hatuna kuhifadhi matokeo katika variable au kupita ni mbali na kazi nyingine 86 00:04:46,950 --> 00:04:49,520 tangu hakuna matokeo kuyataja. 87 00:04:49,520 --> 00:04:53,180 Hivyo, wakati sisi kukusanya na kukimbia wetu Elmer Fudd mpango, 88 00:04:53,180 --> 00:04:56,970 unaweza kuona kwamba "Wewe rascally sungura!" anapata haki ya kubadilishwa 89 00:04:56,970 --> 00:04:58,730 "Wewe wascally wabbit!" 90 00:04:58,730 --> 00:05:02,250 >> Hatimaye, kuna 1 zaidi kazi yenye thamani ya kujadili 91 00:05:02,250 --> 00:05:06,810 tangu tumekuwa kutumia katika kila mpango C ve milele imeandikwa, kuu. 92 00:05:06,810 --> 00:05:09,450 Kuu ni kazi sana kama mtu mwingine yeyote. 93 00:05:09,450 --> 00:05:13,580 Ni got aina kurudi, jina, orodha ya hoja, na mwili. 94 00:05:13,580 --> 00:05:16,110 aina ya kurudi kuu ni daima int, 95 00:05:16,110 --> 00:05:19,120 na int hii ni kutumika kwa kuwasiliana hadhi ya mpango wakati finishes. 96 00:05:19,120 --> 00:05:23,360 >> Je, ni kukimbia kwa mafanikio, au alifanya hivyo kumaliza mapema kwa sababu ya makosa? 97 00:05:23,360 --> 00:05:26,390 Kurudi kwa sifuri inaonyesha kukimbia mafanikio, 98 00:05:26,390 --> 00:05:29,510 na kurudi thamani yoyote yasiyo ya sifuri inaonyesha makosa. 99 00:05:29,510 --> 00:05:31,950 Kutegemea aina ya mpango wewe ni kuandika, 100 00:05:31,950 --> 00:05:34,960 kurudi codes mbalimbali kwa makosa mbalimbali inaweza kusaidia 101 00:05:34,960 --> 00:05:37,210 kwa watu ambao wanatumia programu yako ya baadaye. 102 00:05:37,210 --> 00:05:40,220 Mains hoja ni ngumu zaidi kidogo. 103 00:05:40,220 --> 00:05:42,150 >> orodha hoja yanaweza ama kuwa tupu, 104 00:05:42,150 --> 00:05:45,330 ambayo sisi zinaonyesha kwa kuandika katika utupu kati ya mabano, 105 00:05:45,330 --> 00:05:50,220 au orodha inaweza kuwa na hoja 2: int na safu ya Char * s. 106 00:05:50,220 --> 00:05:52,820 Hizi ni kutumika wakati mpango wako inatarajia kutumia 107 00:05:52,820 --> 00:05:56,490 hoja kupita katika juu ya mstari amri wakati mpango ni kutenguliwa. 108 00:05:56,490 --> 00:05:59,690 hoja int ni kawaida kuitwa argc, 109 00:05:59,690 --> 00:06:03,300 na ni sawa na urefu wa safu Char *, unaojulikana kama argv. 110 00:06:03,300 --> 00:06:07,080 Argv ina hoja mstari amri kupita katika mpango. 111 00:06:07,080 --> 00:06:11,440 Katika mwingine mfupi, tutaweza kuzungumzia jinsi ya kutumia vigezo haya kwa undani zaidi. 112 00:06:11,440 --> 00:06:15,220 Kwa sasa, unaweza kujisikia huru kutangaza kuu ama njia. 113 00:06:15,220 --> 00:06:19,410 Mimi kawaida kuchagua kuandika ni nje ya njia mfupi, na hoja hakuna, wakati iwezekanavyo. 114 00:06:19,410 --> 00:06:22,230 >> Sasa kwa kuwa wewe kujua jinsi ya kuandika kazi, 115 00:06:22,230 --> 00:06:25,030 wewe ni vizuri njia yako kwa kuendeleza kubwa, programu ngumu zaidi. 116 00:06:25,030 --> 00:06:29,740 Jina langu ni Nate Hardison. Hii ni CS50.