1 00:00:07,010 --> 00:00:09,640 [Powered by Google Translate] విధులు పెద్ద కార్యక్రమం ఉపయోగించారు కోడ్ విభాగాలు 2 00:00:09,640 --> 00:00:11,430 ఒక నిర్దిష్ట విధిని నిర్వహించడానికి. 3 00:00:11,430 --> 00:00:15,060 వారు కూడా, విధానాలు, subroutines, మరియు subprograms పిలుస్తారు 4 00:00:15,060 --> 00:00:18,320 వారు నిజంగా కార్యక్రమాలు పరిధిలో మినీ కార్యక్రమాలు ఉన్నాయి. 5 00:00:18,320 --> 00:00:20,340 మీరు గమనించి ఉండకపోవచ్చు ఉన్నప్పటికీ, 6 00:00:20,340 --> 00:00:24,090 మీరు C. లో ప్రోగ్రాం మేము మీకు చాలా ఖచ్చితంగా ఇప్పటికే విధులు ఉపయోగించారు 7 00:00:24,090 --> 00:00:26,770 మీరు printf ఉపయోగించి తెరపై అంశాన్ని వ్రాస్తున్నప్పుడు, 8 00:00:26,770 --> 00:00:29,380 మీరు నిజంగా printf అనే ఫంక్షన్ ఉపయోగిస్తున్నారు. 9 00:00:29,380 --> 00:00:33,760 అలాగే, GetInt మరియు GetString CS50 మీరు అందించే క్రియలు. 10 00:00:33,760 --> 00:00:37,750 ప్రోగ్రామర్లు, మేము అనేక కారణాల విధులు ఉపయోగించండి. 11 00:00:37,750 --> 00:00:41,240 >> కు అడగాలని సాధారణ పనులను విధులు ఉందా 12 00:00:41,240 --> 00:00:44,480 ప్రోగ్రామింగ్ ఉన్నప్పుడు మరియు ఇన్పుట్ కోసం వినియోగదారు ప్రాంప్ట్ మాకు సమయం ఆదా చేస్తుంది. 13 00:00:44,480 --> 00:00:47,510 ఇది ఆ అదే పనులు కోడ్ రాయడానికి అవసరమైన కాదు 14 00:00:47,510 --> 00:00:49,520 వారు ఇప్పటికే మాకు పూర్తి చేసిన తర్వాత. 15 00:00:49,520 --> 00:00:54,580 మాకు ఆ విధులు అంతర్గతంగా పని ఎలా అర్థం కోసం ఇది కూడా అవసరమైన కాదు. 16 00:00:54,580 --> 00:00:58,880 బదులుగా, మేము మా కార్యక్రమాలు వాటిని ఉపయోగించండి లేదా కాల్ ఎలా ఉన్నాయి. 17 00:00:58,880 --> 00:01:02,040 ఇది పెద్ద కార్యక్రమాలలో విధులు రాయడానికి కూడా ఉపయోగపడిందా ఉంది 18 00:01:02,040 --> 00:01:04,330 మీరు, ఇతరులు వాటిని ఉపయోగించే మీద ప్రణాళిక లేదు కూడా 19 00:01:04,330 --> 00:01:06,830 కేవలం చేతి వద్ద పెద్ద పనిని విభజించడానికి. 20 00:01:06,830 --> 00:01:11,910 మీరు ఒక వ్యాసం నిర్మాణం ఇవ్వాలని భావిస్తున్న అనే ఈ విధంగా, మీరు, మీ కోడ్ నిర్మాణం ఇవ్వాలని 21 00:01:11,910 --> 00:01:15,180 మరియు నిజంగా పెద్ద ప్రాజెక్టులను మీరు బహు వ్యక్తులను ఎనేబుల్ 22 00:01:15,180 --> 00:01:16,730 అదే సమయంలో వివిధ ప్రాంతాల పని 23 00:01:16,730 --> 00:01:20,480 ఒక వ్యక్తి యొక్క పని ముగుస్తుంది స్పష్టం మరియు మరొక ప్రారంభమవుతుంది ల నాటినుండి. 24 00:01:20,480 --> 00:01:26,530 >> విధులు సాధారణంగా వాదనలు లేదా పారామితులు అని పిలుస్తారు 1 లేదా మరిన్ని పెట్టుబడులు, అమలు 25 00:01:26,530 --> 00:01:30,520 అప్పుడు తిరిగి వచ్చిన ఫలితాన్ని విలువ లోకి ఆ ఇన్పుట్లను మార్చింది. 26 00:01:30,520 --> 00:01:34,950 అయితే, అది ఏ ఇన్పుట్ వాదనలు ఉపయోగించని విధులు కలిగి కూడా అవకాశం 27 00:01:34,950 --> 00:01:36,400 మరియు ఒక ఉత్పత్తి తిరిగి లేదు. 28 00:01:36,400 --> 00:01:38,790 సరే, తగినంత మెత్తటి విషయాలలో. 29 00:01:38,790 --> 00:01:41,790 యొక్క C. కొన్ని వాస్తవ విధులు పరిశీలించి లెట్ 30 00:01:41,790 --> 00:01:45,570 >> ఇక్కడ మేము, నమ్ముతారు లేదా ఆ చదరపు అనే చర్య 31 00:01:45,570 --> 00:01:47,570 ఇన్పుట్ చదరపు గణిస్తుంది. 32 00:01:47,570 --> 00:01:49,490 ఇది యొక్క సిన్టాక్స్ భాగాలుగా విడగొట్టు లెట్. 33 00:01:49,490 --> 00:01:51,860 మీరు ఫంక్షన్ లో చూడండి మొదటి పదం, Int, 34 00:01:51,860 --> 00:01:57,460 ఫంక్షన్ తిరిగి రకాన్ని; ఆ, ఫంక్షన్ యొక్క అవుట్పుట్ యొక్క సి రకం. 35 00:01:57,460 --> 00:02:00,370 ఈ ఫంక్షన్ రకం Int ఒక విలువ అవుట్పుట్ కనిపిస్తుంది. 36 00:02:00,370 --> 00:02:04,100 మీరు చూడండి తరువాతి పదాన్ని ఈ సందర్భంలో చదరపు చర్య యొక్క పేరును, ఉంది. 37 00:02:04,100 --> 00:02:07,390 సరిగ్గా విధులు నామకరణ ముఖ్యం 38 00:02:07,390 --> 00:02:11,260 అది బహుశా ఫంక్షన్ ఏమి ఎక్కువగా కన్పించేది డాక్యుమెంటేషన్ ల నాటినుండి. 39 00:02:11,260 --> 00:02:14,880 ఇది, ఈ చర్య shazam లేదా booyah పేరు చల్లని కావచ్చు 40 00:02:14,880 --> 00:02:18,340 కానీ మాకు ఫంక్షన్ ఏమి గురించి ఏదైనా చెప్పడం లేదు. 41 00:02:18,340 --> 00:02:23,470 >> పని పేరు ఫంక్షన్, వాదనలు కు ఇన్పుట్లను వచ్చి తరువాత. 42 00:02:23,470 --> 00:02:26,380 వారు కుండలీకరణాలు సమితి లోపల ఇవ్వబడ్డాయి 43 00:02:26,380 --> 00:02:30,160 వారి రకం మరియు పనితీరు శరీరం లోపల ఉపయోగించే ఒక పేరు రెండింటినీ. 44 00:02:30,160 --> 00:02:34,030 స్క్వేర్, చదరపు కేవలం 1 వాదన, Int పడుతుంది 45 00:02:34,030 --> 00:02:36,160 ఇది నేను పేరు x ఇవ్వాలని నిర్ణయం చేసేసాను. 46 00:02:36,160 --> 00:02:40,760 ఈ ఫంక్షన్ ప్రకటన లేదా నమూనా ముగుస్తుంది. 47 00:02:40,760 --> 00:02:43,320 ఫంక్షన్ మిగిలిన చుట్టూ వంకర జంట కలుపులు 48 00:02:43,320 --> 00:02:45,870 ప్రారంభంలో మరియు ఫంక్షన్ శరీరం యొక్క ముగింపు సూచిస్తుంది 49 00:02:45,870 --> 00:02:48,320 ఫంక్షన్ యొక్క నిర్వచనం. 50 00:02:48,320 --> 00:02:50,300 స్క్వేర్ ఒక అందమైన సాధారణ విధి. 51 00:02:50,300 --> 00:02:54,100 మేము అన్ని ద్వారా x గుణిస్తారు ఎందుకంటే ఇది మాత్రమే, 1 లైన్ కలిగియున్నారు. 52 00:02:54,100 --> 00:02:59,250 పదం తిరిగి ఉత్పత్తి విలువ పేర్కొంటుంది మరియు ఫంక్షన్ ముగింపు ప్రారంభిస్తుంది. 53 00:02:59,250 --> 00:03:03,430 చదరపు ఫంక్షన్ ఉపయోగించేందుకు, మేము తగిన ఇన్పుట్లను అందించాల్సి ఉంటుంది 54 00:03:03,430 --> 00:03:05,310 ఆపై అవుట్పుట్ పొందండి. 55 00:03:05,310 --> 00:03:08,140 ఇక్కడ, మీరు ఆ చేయడం వలన రెండు మార్గాలు చూడండి. 56 00:03:08,140 --> 00:03:13,600 మేము 6 ఉన్నట్లు ఒక ముడి Int లో పాస్ లేదా మేము ఒక వంటి ఒక వేరియబుల్ తరలిస్తారు. 57 00:03:13,600 --> 00:03:15,700 , ప్రతి సమయం మేము చదరపు కాల్ గమనించండి 58 00:03:15,700 --> 00:03:18,330 మేము ఒక వేరియబుల్ అవుట్పుట్ పట్టుకుని, అప్పుడు ప్రింట్. 59 00:03:18,330 --> 00:03:22,690 అయితే, మేము ఒక వేరియబుల్ తిరిగి విలువ నిల్వ చేసి, ప్రింట్ లేదు. 60 00:03:22,690 --> 00:03:27,090 మేము వంటి మేము printf నేరుగా పంపవచ్చు మేము చదరపు 10, 61 00:03:27,090 --> 00:03:30,580 కానీ ఈ మేము చదరపు 10 తిరిగి విలువ యాక్సెస్ లేదు అని లేదు 62 00:03:30,580 --> 00:03:32,230 మిగిలిన ప్రాంతాల్లో కోడ్. 63 00:03:32,230 --> 00:03:34,890 యొక్క మరొక చిన్న ఉదాహరణ చూద్దాం. 64 00:03:34,890 --> 00:03:38,750 >> ఈ సమయంలో, మేము కలిసి కాబట్టి మేము ఒక ఫంక్షన్ ఎలా చూడగలరు 2 తేలియాడుతున్న సంకలనం చేస్తాము 65 00:03:38,750 --> 00:03:41,220 అది బదులుగా కేవలం 1 యొక్క 2 ఇన్పుట్లను సంపాదించి ఉన్నప్పుడు. 66 00:03:41,220 --> 00:03:43,950 మీరు గమనిస్తే, ఇది వివిధ కాదు. 67 00:03:43,950 --> 00:03:47,330 మేము అన్ని, 2 వ వాదన, బి అనే ఫ్లోట్ లో చేర్చండి ఉంది 68 00:03:47,330 --> 00:03:51,820 మొదటి వాదన నుండి వేరు చేయడానికి ఒక కామా ఉపయోగించడం వాదన జాబితాకు, ఫ్లోట్. 69 00:03:51,820 --> 00:03:55,550 కాబట్టి, మా చదరపు మరియు మొత్తం విధులను అర్థం చేసుకోవటానికి చాలా సులభం 70 00:03:55,550 --> 00:03:58,930 వారు మీరు గణిత తరగతి లో ముందు చూసిన ఆ విధులు సమానం ఉన్నారు. 71 00:03:58,930 --> 00:04:01,610 ఇప్పుడు, యొక్క కొద్దిగా విభిన్నమైన ఒక ఫంక్షన్ చూద్దాం. 72 00:04:01,610 --> 00:04:04,620 బదులుగా ఒక విలువ తిరిగి, అది ఒక రాష్ట్రం సవరిస్తుంది. 73 00:04:04,620 --> 00:04:07,260 ఈ ఒక వైపు ప్రభావం కలిగి అంటారు. 74 00:04:07,260 --> 00:04:10,750 ఈ కార్యక్రమంలో, printf_fudd_style ఫంక్షన్ 75 00:04:10,750 --> 00:04:13,410 మేము ముందు, శూన్యమైన చూడని ఒక తిరిగి రకం లేదు. 76 00:04:13,410 --> 00:04:16,730 >> వాయిడ్ ఒక ఫంక్షన్ ఏదైనా తిరిగి లేదు అని ఉపయోగిస్తారు. 77 00:04:16,730 --> 00:04:19,410 రకం తప్ప సంఖ్య వేరియబుల్స్ ఉన్నాయి 78 00:04:19,410 --> 00:04:22,760 మీరు, printf_fudd_style వంటి ఫంక్షన్ ఏదో తిరిగి ప్రయత్నించండి అయితే 79 00:04:22,760 --> 00:04:24,290 కంపైలర్ మీరు అరుస్తుంటారు కనిపిస్తుంది. 80 00:04:24,290 --> 00:04:29,390 Printf_fudd_style ఇన్సైడ్, మేము, ఈ ఫంక్షన్ ఇప్పటికీ ఒక విధిని అమలు ఉన్నప్పుడు చూడండి 81 00:04:29,390 --> 00:04:31,890 అవి, WS అన్ని రూపాయలు మార్పిడి, 82 00:04:31,890 --> 00:04:36,380 పనితీరు పాయింట్, తెరపై స్ట్రింగ్ సవరించడానికి మరియు అప్పుడు అది ముద్రించాలా ఉంది 83 00:04:36,380 --> 00:04:39,400 ప్రోగ్రామ్ యొక్క స్థితి మారుతున్న బదులుగా ఫలితంగా తిరిగి. 84 00:04:39,400 --> 00:04:43,700 ఈ ఫంక్షన్ను ఉపయోగించి, చాలా మా చదరపు మరియు మొత్తం ఫంక్షన్లను ఉపయోగించి వంటిది 85 00:04:43,700 --> 00:04:46,950 మేము ఒక వేరియబుల్ ఫలితంగా నిల్వ లేదా మరొక కు ఇది ఆఫ్ అనుమతించబడవు తప్ప 86 00:04:46,950 --> 00:04:49,520 మాట్లాడేందుకు ఫలితం లేవు. 87 00:04:49,520 --> 00:04:53,180 అందుకే, ఈ సంకలనం మరియు మా ఎల్మర్ ఫడ్డ్ అమలు చేసేటప్పుడు, 88 00:04:53,180 --> 00:04:56,970 మీరు ఆ "మీరు rascally కుందేలు!" చూడండి కుడివైపు రూపాంతరం అవుతుంది 89 00:04:56,970 --> 00:04:58,730 "మీరు wascally wabbit!" 90 00:04:58,730 --> 00:05:02,250 >> చివరగా, చర్చించే విలువ 1 ఎక్కువగా పని లేదు 91 00:05:02,250 --> 00:05:06,810 నుండి మీరు, మీరు వ్రాసిన చేసిన ప్రతి సి ప్రోగ్రాం లో ప్రధాన అది ఉపయోగిస్తున్నాను. 92 00:05:06,810 --> 00:05:09,450 ప్రధాన చాలా ఇతర వంటి ఒక విధి. 93 00:05:09,450 --> 00:05:13,580 ఇది తిరిగి టైప్ పేరు, వాదనలు జాబితా, మరియు ఒక శరీరం కలిగియున్నారు. 94 00:05:13,580 --> 00:05:16,110 ప్రధాన తిరిగి టైప్, ఎల్లప్పుడూ ఒక పూర్ణాంకానికి ఉంది 95 00:05:16,110 --> 00:05:19,120 మరియు ఈ Int అది ముగుస్తుండగా కార్యక్రమం స్థాయి కమ్యూనికేట్ చేయడానికి ఉపయోగిస్తారు. 96 00:05:19,120 --> 00:05:23,360 >> ఇది విజయవంతంగా అమలు చేసింది, లేదా లోపం కారణంగా ప్రారంభ ముగింపు వచ్చింది? 97 00:05:23,360 --> 00:05:26,390 సున్నా తిరిగి, ఒక విజయవంతమైన రన్ సూచిస్తుంది 98 00:05:26,390 --> 00:05:29,510 మరియు ఏ కాని సున్నా విలువను తిరిగి లోపం సూచిస్తుంది. 99 00:05:29,510 --> 00:05:31,950 మీరు రాస్తున్నాం కార్యక్రమం యొక్క రకాన్ని బట్టి, 100 00:05:31,950 --> 00:05:34,960 వివిధ లోపాలు వివిధ సంకేతాలు తిరిగి సహాయపడతాయి 101 00:05:34,960 --> 00:05:37,210 తరువాత మీ ప్రోగ్రామ్ ఉపయోగించడానికి వ్యక్తులకు. 102 00:05:37,210 --> 00:05:40,220 మెయిన్స్ వాదనలు కొంచెం క్లిష్టంగా ఉంటాయి. 103 00:05:40,220 --> 00:05:42,150 >> వాదన జాబితా గాని, ఖాళీ ఉంటుంది 104 00:05:42,150 --> 00:05:45,330 ఇది మేము, వాక్యాల మధ్య లో తప్ప రాయడం ద్వారా సూచిస్తాయి 105 00:05:45,330 --> 00:05:50,220 ఒక Int మరియు చార్ * s యొక్క ఒక అమరిక: లేదా జాబితా 2 వాదనలు ఉన్నాయి. 106 00:05:50,220 --> 00:05:52,820 మీ ప్రోగ్రామ్ ఉపయోగించడానికి అనుకున్నట్లు ఈ ఉపయోగిస్తారు 107 00:05:52,820 --> 00:05:56,490 కార్యక్రమం ఉపయోగించబడింది ఉన్నప్పుడు వాదనలు కమాండ్ లైన్ లో ఆమోదించింది. 108 00:05:56,490 --> 00:05:59,690 Int వాదన సాధారణంగా, argc అంటారు 109 00:05:59,690 --> 00:06:03,300 మరియు అది argv అని పిలుస్తారు చార్ * శ్రేణి యొక్క సమాన పొడవు, ఉంది. 110 00:06:03,300 --> 00:06:07,080 Argv కార్యక్రమం జారీ ఆదేశ పంక్తి వాదనలు ఉన్నాయి. 111 00:06:07,080 --> 00:06:11,440 మరొక చిన్న లో, మేము మరింత వివరంగా అంశాలపై ఎలా ఉపయోగించాలో గురించి మాట్లాడదాము. 112 00:06:11,440 --> 00:06:15,220 ఇప్పుడు, మీరు ప్రధాన ఎలాగైనా ప్రకటించవచ్చు సంకోచించకండి చేయవచ్చు. 113 00:06:15,220 --> 00:06:19,410 నేను సాధారణంగా ఏ వాదనలు, సాధ్యమైతే తో, తక్కువ దానిని రాయడానికి ఎంచుకోండి. 114 00:06:19,410 --> 00:06:22,230 >> ఇప్పుడు మీరు విధులు రాయడానికి ఎలా తెలుసు, 115 00:06:22,230 --> 00:06:25,030 మీరు పెద్ద, సంక్లిష్ట కార్యక్రమాలు అభివృద్ధి మార్గంలో బాగా చేసారు. 116 00:06:25,030 --> 00:06:29,740 నా పేరు నేట్ Hardison ఉంది. ఈ CS50 ఉంది.