డౌ LLOYD: అన్ని కుడి.
కాబట్టి ఇప్పుడు యొక్క పరిష్కరించడానికి వీలు నిజంగా పెద్ద టాపిక్, విధులు.
ఇప్పటివరకు కోర్సులో, అన్ని మేము రాయడం చేసిన కార్యక్రమాలు
ప్రధాన లోపలి వ్రాయడం జరిగింది.
వారు అందంగా సాధారణ కార్యక్రమాలను ఉన్నారు.
మీరు అన్ని ఈ కలిగి అవసరం లేదు శాఖలు మరియు విషయాలు జరగబోతోంది.
మేము దానిని అన్ని ఇముడుతుంది ప్రధాన లోపలి మరియు అది
భయంకరమైన అధిక పొందుటకు లేదు.
కానీ కోర్సు గడుస్తూ మరియు మీరు ప్రోగ్రామ్లను అభివృద్ధి ప్రారంభించగానే
స్వతంత్రంగా, వారు బహుశా చూడాలని 10 కంటే చాలా పొందడానికి ప్రారంభించడానికి
లేదా 15 పంక్తులు.
మీరు వందల లేదా వేల పొందండి ఉండవచ్చు లేదా పదుల లైన్స్ ఆఫ్ కోడ్ వేల.
అది నిజంగా కాదు ఒక ఆలోచన ఆ వెర్రి.
అందుకని, బహుశా అది మంచి ఆలోచన కాదు ప్రధాన లోపలి ప్రతిదీ ఉంచేందుకు.
ఇది కనుగొనేందుకు కొద్దిగా కష్టం పొందవచ్చు ఏమి మీరు అలా ఉంటే చూస్తున్న.
>> అదృష్టవశాత్తూ, సి, అయితే, మరియు అందంగా చాలా ప్రతి ఇతర ప్రోగ్రామింగ్ భాష అని
పనిచేయవచ్చు అనుమతిస్తుంది మాకు విధులు రాయడానికి.
నేను కేవలం వెళుతున్న పక్కన ఇక్కడ శీఘ్ర పడుతుంది
విధులు అని చెప్పలేదు కంప్యూటర్ సైన్స్ ఒక ప్రాంతం.
మరియు మీరు వాటిని అనేక మరింత చూస్తారు కోర్సు అంతటా వివిధ పాయింట్లు
మరియు మీరు కొనసాగించవచ్చు ఉంటే.
ఎక్కడ చాలా ఉంది అదే పదం కోసం పర్యాయపదాలు.
కాబట్టి మేము విధులు కాల్.
కానీ మీరు కూడా వాటిని వినడానికి ఉండవచ్చు విధానాలు గా సూచిస్తారు,
లేదా పద్ధతులు, ముఖ్యంగా, మీరు చేసిన ఉంటే ఎప్పుడూ ఏ ఆబ్జెక్ట్ ఓరియంటెడ్ ప్రోగ్రామింగ్ పూర్తి
ముందు మరియు ఆందోళన పడకండి మీరు లేదు, కాదు కలిగి ఉంటే
ఒక పెద్ద deal-- కాని ఆడిట్ ఆధారిత భాషలు
ఎక్కువగా పిలవబడిన పద్ధతులు ఉన్నాయి.
కొన్నిసార్లు వారు subroutines అని చేస్తున్నారు.
కానీ వారు నిజంగా అన్ని చూడండి అదే ప్రాథమిక ఆలోచన.
>> ఆ ఆలోచన ఏమిటి చూద్దాం.
ఒక ఫంక్షన్ ఏమిటి?
Well ఒక ఫంక్షన్ నిజంగా బ్లాక్ బాక్స్ కంటే ఎక్కువ ఏమీ.
సున్నా సమితి కలిగి ఒక బ్లాక్ బాక్స్ మరింత ఇన్పుట్లను మరియు ఒక సింగిల్ అవుట్పుట్ లేదా.
కాబట్టి ఉదాహరణకు, ఈ ఒక ఫంక్షన్ కావచ్చు.
ఈ func అనే ఫంక్షన్ ఉంది.
మరియు అది మూడు మదుపులు a, b మరియు c పడుతుంది.
మరియు ఆ బ్లాక్ బాక్స్ లోపల, మేము అది ఖచ్చితంగా ఏమి తెలియదు,
కానీ అది ఇన్పుట్లను ప్రాసెస్ కొన్ని విధంగా ఆపై అది
ఈ సందర్భంలో ఒకే అవుట్పుట్, z ఇస్తుంది.
ఇప్పుడు అది ఒక చిన్న చేయడానికి తక్కువ వియుక్త మేము
మేము ఆ బహుశా చెప్పగల్గినవి అనే చర్య
ఆ మూడు మదుపులు a, b పడుతుంది జోడించడానికి, మరియు సి మరియు కొన్ని విధంగా అవుట్పుట్ ప్రాసెస్
బ్లాక్ బాక్స్ లోపల ఒకే ఉత్పత్తి.
ఈ సందర్భంలో, చేస్తే జోడించండి 3, 6, 7 పడుతుంది.
ఎక్కడో లోపల ఫంక్షన్ జోడించడానికి, మేము చేస్తాను
ఆశించే వాటిని కలిసి జోడించాల్సిన అవుట్పుట్, ఉత్పత్తి ఇది
3 ప్లస్ 6 ప్లస్ 7 లేదా 16 ఉంది.
>> అదేవిధంగా, మీరు అనే చర్య రెండు ఇన్పుట్లను, a మరియు b పడుతుంది mult,
కొన్ని విధంగా అటువంటి వాటిని ప్రాసెస్ ఆ ఫంక్షన్ యొక్క అవుట్పుట్
రెండు ఇన్పుట్లను ఉత్పత్తి.
రెండు ఇన్పుట్లను కలిసి గుణించ.
4 మరియు 5, mult జారీ చేయబడిన ఏదో కాదనీ అవుట్పుట్ జరుగుతుంది
20 ఉంది.
ఎందుకు మేము అది ఒక బ్లాక్ బాక్స్ కాల్ చెయ్యాలి?
మనము రాయడం లేదు ఉంటే మమ్మల్ని పనిచేస్తుంది
మేము కొంచెం CS50 ఇప్పటివరకు చేసిన.
మేము, ఉదాహరణకు, ముద్రణ F చూసిన ఇది మేము రాయడానికి లేదు ఒక ఫంక్షన్ ఉంది
మమ్మల్ని, కానీ మేము అన్ని సమయం ఉపయోగించండి లేదు.
మేము రాయడం కాకపోతే విధులు మేమే
అంతే ఎలా మేము నిజంగా తెలుసుకోవాలి లేదు నిజానికి, హుడ్ కింద అమలు.
>> ఉదాహరణకు బ్లాక్ బాక్స్ నేను కేవలం గుణకారానికి మీరు చూపించారు
ఒక mult, బి కావచ్చు నిర్వచించిన మరియు ఈ కేవలం ఉంది
కొన్ని pseudocode-- కావచ్చు అవుట్పుట్ సార్లు బి వంటి నిర్వచించవచ్చు.
ఆ సమంజసం, కుడి.
మేము అనే ఫంక్షన్ ఉంటే రెండు ఇన్పుట్లను పడుతుంది mult.
మేము ఆలోచించే అవుట్పుట్ అని ఉంటుంది రెండు ఇన్పుట్లను, కలిసి గుణించ
ఒక సార్లు బి.
కానీ mult కూడా కావచ్చు ఈ వంటి అమలు,
మేము సమర్ధన వేరియబుల్ కలిగి 0 mult లోపల సెట్ చేసుకోగా.
మరియు తర్వాత మేము ఈ విధానాన్ని పునరుక్తి బి సార్లు కౌంటర్ జోడించండి.
ఉదాహరణకు, మేము ద్వారా 3A గుణిస్తారు ఉంటే 5B, మేము 0 కౌంటర్ సెట్ చెప్పగల్గినవి,
అయిదు సార్లు పునరావృతం కౌంటర్ 3 జోడించండి.
కాబట్టి మేము 0 వద్ద మొదలు మరియు అప్పుడు మేము ఈ ఐదు సార్లు 3, 6, 9, 12, 15.
ఇది అదే ఫలితం. మేము ఇప్పటికీ పొందుటకు 3 సార్లు 5 కేవలం
అమలు భిన్నంగా ఉంటుంది.
>> మేము ఉద్దేశ్యం ఏమిటి మేము ఒక బ్లాక్ బాక్స్ చెప్పినప్పుడు.
ఇది కేవలం మేము నిజంగా పట్టించుకోను అర్థం ఇది హుడ్ కింద అమలు ఎలా
కాలం అవుట్పుట్ కాదనీ ఏమిటి.
నిజానికి, ఆ ఒప్పందం భాగంగా ముఖ్యంగా, విధులు ఉపయోగించి
ఇతరులు వ్రాసే పనులను.
ప్రవర్తన ఎప్పుడూ అన్నారు అనూహ్యమైన విలక్షణ అని
చర్య యొక్క పేరును ఆధారంగా.
ఇది నిజంగా ఎందుకు మరియు ఆ ముఖ్యమైన మీరు విధులు రాయడానికి
లేదా తర్వాత ఇతర వ్యక్తులు రాయడానికి మీరు ఉపయోగించుకునే విధులు,
ఆ విధులు కలిగి స్పష్టమైన, సాపేక్షంగా స్పష్టమైన పేర్లు,
బాగా డాక్యుమెంట్ చెయ్యబడ్డాయి.
ఇది ఖచ్చితంగా సందర్భంలో ముద్రణ F వంటి ఫంక్షన్ కోసం.
>> సో ఎందుకు మేము విధులు ఉపయోగించగలను?
సరే నేను మేము వ్రాయడానికి ఉంటే, ముందు ఇలా ప్రధాన విషయాలు లోపల మా కోడ్ అన్ని
నిజంగా గజిబిజిగా పొందవచ్చు మరియు నిజంగా సంక్లిష్టంగా.
విధులు మాకు సామర్ధ్యానికి అనుమతిస్తాయి విషయాలు నిర్వహించడానికి మరియు విచ్ఛిన్నం
చాలా క్లిష్టమైన సమస్య చాలా ఎక్కువగా నిర్వహించటానికి ఉప భాగాలు.
విధులు కూడా మమ్మల్ని అనుమతించడం కోడింగ్ విధానాన్ని సులభం.
ఇది 10 డీబగ్ చాలా సులభం 100 లైన్ వర్సెస్ లైన్ ఫంక్షన్
ఫంక్షన్ లేదా ఒక 1,000 లైన్ ఫంక్షన్.
మేము మాత్రమే డీబగ్ కలిగి ఉంటే ఒక సమయంలో చిన్న ముక్కలు,
లేదా, సమయంలో చిన్న ముక్కలు రాయడానికి ఆ ప్రోగ్రామింగ్ అనుభవం చేస్తుంది
చాలా మంచి.
ఒక నన్ను నమ్మండి.
>> చివరగా, మేము విధులు వ్రాస్తే మేము ఆ వివిధ ప్రాంతాల్లో మళ్లీ మళ్లీ.
విధులు రీసైకిల్ చేయవచ్చు.
వారు ఉపయోగించవచ్చు ఒక ప్రోగ్రామ్ లేదా మరొక.
మీరు ఇప్పటికే వ్రాయలేదు ఫంక్షన్, అన్ని మీరు
ఆ కార్యక్రమం చెప్పడం చెయ్యాల్సిన పేరు ఆ ఫంక్షన్ కనుగొనేందుకు.
మేము రీసైక్లింగ్ మరియు ఉపయోగించి పరిష్కరించగలుగుతున్నాము కోసం 40 సంవత్సరాల f ప్రింట్.
కానీ అది ఒకే సమయం రాయబడింది.
ప్రెట్టీ ఉపయోగకరమైన, కుడి.
అయితే సరే.
సో విధులు గొప్ప ఉన్నాయి.
మేము తెలుసు.
ఇప్పుడు వాటిని రాయడం ప్రారంభిద్దాం.
యొక్క పొందడానికి ప్రారంభించడానికి లెట్ వాటిని మా కార్యక్రమాలుగా.
మొదటి క్రమంలో అలా మేము మీకు విషయం ఫంక్షన్ డిక్లేర్ ఉంది.
మీరు ఒక ఫంక్షన్ డిక్లేర్ చేసినప్పుడు ఏమి మీరు ప్రధానంగా చేస్తున్నా
కంపైలర్ చెప్తుంటాడు, హే, మీరు తెలిసిన,
నేను వ్రాసే వెళుతున్న చేస్తున్నాను తర్వాత ఒక ఫంక్షన్
మరియు ఇక్కడ అది లాగా జరగబోతోంది ఏమిటి.
ఈ కారణం కంపైలర్లు ఎందుకంటే
ఉంటే కొన్ని విచిత్రమైన పనులు వారు చిహ్నాలు సమితి చూడండి
వారు మీకు తెలియకపోతే ఆ.
కాబట్టి మేము కేవలం కంపైలర్ ఒక ఇవ్వాలని హెచ్చరిక, నేను ఒక ఫంక్షన్ సృష్టించడం నేను
మరియు దీన్ని జరగబోతోంది.
ఫంక్షన్ ప్రకటనలు సాధారణంగా ఉంటే మీరు ఒక మార్గం మీ కోడ్ ఆర్గనైజింగ్ చేస్తున్నారు
ఇతరులకు చెయ్యగలరు అర్థం మరియు ఉపయోగించుకుంటాయి,
మీరు సాధారణంగా అన్ని ఉంచాలి కావలసిన మీ ఫంక్షన్ ప్రకటనలు
మీ కోడ్ అగ్రభాగాన, కుడి మీరు కూడా ప్రధాన రాయటం మొదలుపెట్టాలని ముందు.
మరియు సౌకర్యవంతంగా ఉంది చాలా ప్రామాణిక రూపం
ప్రతి ఫంక్షన్ ప్రకటన అనుసరిస్తుంది.
వారు అన్ని చాలా చక్కని ఇలా.
మూడు భాగాలు ఒక ఫంక్షన్ ఉన్నాయి ప్రకటన తిరిగి రకం, పేరు,
మరియు వాదన జాబితా.
>> ఇప్పుడు తిరిగి టైప్ ఏ విధమైన వేరియబుల్ ఫంక్షన్ సంకల్పం అవుట్పుట్.
కాబట్టి ఉదాహరణకు, ఒకవేళ మేము తిరిగి అనుకుంటున్నాను రెండు గుణించడం క్రితం నిమిషం
సంఖ్యలు ఫంక్షన్, మేము చేస్తే ఆశించే లేదు మేము ఒక పూర్ణాంకం ద్వారా పూర్ణాంకం గుణిస్తారు
అవుట్పుట్ ఉంటుంది బహుశా పూర్ణాంకం, కుడి.
గుణిస్తే రెండు పూర్ణాంకాల కలిసి, మీరు పూర్ణాంకం పొందండి.
ఆ తిరిగి రకం కాబట్టి ఫంక్షన్ పూర్ణాంకానికి ఉంటుంది.
పేరు మీరు ఏమి ఉంది మీ ఫంక్షన్ కాల్.
ఈ బహుశా కనీసం ముఖ్యం ఫంక్షన్ ప్రకటన భాగంగా,
కార్యాచరణ పరంగా.
కానీ వాస్తవానికి బహుశా ఒకటి ముఖ్య భాగాలు
పరంగా ఫంక్షన్ ప్రకటన యొక్క తెలుసుకోవడం ఫంక్షన్ వాస్తవానికి ఏమి
లేదు.
మీ ఫంక్షన్ f ఆర్ g పేరు ఉంటే లేదా h లేదా రహస్య లేదా అలాంటిదే,
మీరు బహుశా పొందడానికి వెళుతున్న కొద్దిగా ప్రయత్నిస్తున్న జారారు
ఆ విధులు ఏమి గుర్తుంచుకోవడానికి.
కనుక ఇది ఇవ్వాలని ముఖ్యం మీ ఫంక్షన్ యొక్క అర్ధవంతమైన పేర్లు.
>> చివరగా, వాదన జాబితా కామాతో వేరుచేయబడిన
మీ ఫంక్షన్ అన్ని ఇన్పుట్లను, వీటిలో ఒక్కోటి రకం మరియు ఒక పేరు ఉంది.
సో మీరు మాత్రమే ఉన్నాయి వేరియబుల్ ఏ రకాన్ని పేర్కొనాలి
ఫంక్షన్ సంకల్పం అవుట్పుట్, మీరు కూడా తెలుపుటకు కావలసిన
ఏ రకం మరియు వేరియబుల్స్ రకాలు ఫంక్షన్ ఇన్పుట్లను వంటి అంగీకరించడం చేయబడుతుంది.
కాబట్టి యొక్క ఇక్కడ ఒక ఉదాహరణ తెలియజేసేలా.
యొక్క కేవలం పరిశీలించి లెట్ మరింత కాంక్రీటు ఒకటి వద్ద.
కాబట్టి ఇక్కడ ఒక చర్య యొక్క ఒక ఉదాహరణ వార్తలు ఒక ఫంక్షన్ కోసం ప్రకటన
కలిసి రెండు పూర్ణాంకాల చేర్చుతారు.
రెండు పూర్ణాంకాల మొత్తం అన్నారు పూర్ణాంకం, అలాగే మేము కేవలం
చర్చించారు.
కాబట్టి తిరిగి టైప్ ఇక్కడ గ్రీన్, Int ఉంటుంది.
కేవలం రెండు ints జోడించండి అని మాకు చెబుతుంది రోజు చివరిలో, అన్నారు,
అవుట్పుట్, లేదా తిరిగి ఉమ్మి మాకు ఎత్తి పూర్ణాంకాలు.
ఈ ఫంక్షన్ మేము ఏమి ఇచ్చిన అది ఒక అర్ధవంతమైన పేరు ఇవ్వాలని.
రెండు ints తెలుస్తోంది జోడించండి తగిన పరిగణనలోకి
మేము ఇన్పుట్లను వంటి రెండు పూర్ణాంకాల వేస్తున్నాము మరియు ఆశాజనక వాటిని కలిసి జోడించడం.
ఇది ఒక గజిబిజిగా ఒక బిట్ కావచ్చు పేరు మరియు స్పష్టముగా ఈ ఫంక్షన్
బహుశా అవసరం లేదు మేము అదనంగా నుండీ
ఆపరేటర్లు, మీరు నుండి గుర్తుకు ఉంటే మా గతంలో ఆపరేటర్ల చర్చ.
కానీ యొక్క కేవలం కొరకు అని పిలవబడు ఈ ఫంక్షన్ ఉపయోగపడుతుంది ఆ వాదన
అందువలన మేము అది రెండు ints జోడించండి పిలుస్తాను.
చివరగా, ఈ ఫంక్షన్ రెండు ఇన్పుట్లను పడుతుంది.
వీటిలో ప్రతి ఒక పూర్ణ సంఖ్య.
కాబట్టి మేము ఈ కామాతో కలిగి ప్రవేశాంశాల వేరు జాబితా.
ఇప్పుడు మేము సాధారణంగా కావలసిన వాటిని ప్రతి ఒక పేరు ఇచ్చి
వారు ఉపయోగించవచ్చు కాబట్టి ఫంక్షన్ లోపల.
పేర్లు భయంకరమైన ముఖ్యమైనది కాదు.
>> ఈ సందర్భంలో, మేము తప్పనిసరిగా లేదు వాటిని జత ఏ అర్థం.
కాబట్టి మేము కేవలం వాటిని ఒక అండ్ బి కాల్ చేయవచ్చు.
ఆ పూర్తిగా మంచిది.
అయితే, మీరు కనుగొనడానికి ఒక పరిస్థితిలో మీరే
పేరు వేరియబుల్స్ యొక్క పేర్లు నిజానికి ముఖ్యమైన కావచ్చు,
మీరు వాటిని కాల్ అనుకోవచ్చు a మరియు b కంటే ఇతర ఏదైనా
వాటిని మరింత ఏదో ఇవ్వాలని ప్రతీకాత్మకంగా అర్ధవంతమైన.
కానీ ఈ సందర్భంలో, మేము నిజంగా ఫంక్షన్ గురించి ఏదైనా తెలుసు.
మేము కేవలం రెండు పూర్ణాంకాల జోడించాలనుకుంటే.
కాబట్టి మేము కేవలం పిలుస్తాను ఆ పూర్ణాంకాల ఒక అండ్ బి.
ఒక ఉదాహరణ ఉంది.
>> మీరు రెండవ పడుతుంది లేదు ఎందుకు ఈ గురించి ఆలోచించడం,
ఎలా మీరు ఒక ఫంక్షన్ రాస్తుంది ఒక ఫంక్షన్ కోసం ప్రకటన
రెండు ఫ్లోటింగ్ పాయింట్ సంఖ్యల్లో గుణిస్తారు?
మీరు ఏమి ఒక గుర్తు లేదా ఫ్లోటింగ్ పాయింట్ సంఖ్య?
ఈ పనిచేస్తుంటాయి చేస్తాను ప్రకటన కనిపిస్తుంది?
నేను నిజానికి మీరు వీడియోకు విరామము సిఫార్సు ఇక్కడ మరియు మీరు అవసరం ఎంత సమయం పడుతుంది.
ఏమి ఈ గురించి ఆలోచించండి ఫంక్షన్ ప్రకటన ఉంటుంది?
తిరిగి టైప్ అంటే ఏమిటో?
ఒక అర్ధవంతమైన పేరు ఏమిటి?
ఇన్పుట్లను ఏమిటి?
ఎందుకు మీరు ఇక్కడ వీడియోకు విరామము లేదు మరియు వ్రాయడం అప్ ఒక ఫంక్షన్ ప్రకటన
గుణిస్తారు అని ఒక ఫంక్షన్ కోసం కలిసి రెండు ఫ్లోటింగ్ పాయింట్ సంఖ్యలు.
ఆశాజనక మీరు వీడియో పాజ్.
>> కాబట్టి యొక్క ఒక ఉదాహరణ పరిశీలించి లెట్ ఒక సాధ్యం ప్రకటన పట్ల వ్యక్తంచేసారు.
Mult రెండు reals, ఫ్లోట్ y, x తేలుతూ తీసుకువస్తారు.
రెండు ఉత్పత్తి ఫ్లోటింగ్ పాయింట్ సంఖ్యల్లో,
ఇది గుర్తుకు ఎలా ఉంటాయి మేము వాస్తవ సంఖ్యలు ప్రాతినిధ్యం
లేదా సి దశాంశ విలువలతో సంఖ్యలు, ఒక ఫ్లోటింగ్ పాయింట్ సంఖ్యలు అవతరిస్తుంది.
మీరు ఒక గుణిస్తారు చేసినప్పుడు ఒక దశాంశ ద్వారా దశాంశ,
మీరు బహుశా ఒక దశాంశ పొందడానికి వెళుతున్న.
మీరు ఒక సంబంధిత పేరు ఇవ్వాలని.
రెండు reals గుణకారం జరిమానా తెలుస్తోంది.
కానీ మీరు నిజంగా కాల్ కాలేదు mult రెండు తేలటం, లేదా mult తేలియాడే.
అది ఉన్నంత ఆ వంటి ఏదైనా, కొన్ని వాస్తవ అర్థాన్ని ఇచ్చింది ఏమి
ఈ బ్లాక్ బాక్స్ చేయబోవడం జరిగినది.
మరియు తిరిగి, ఈ సందర్భంలో, మేము లేదు ఏ అర్థం వాడడానికి కనిపిస్తుంది
పేర్ల వరకు మేము అక్కడ చేస్తున్నారు వేరియబుల్స్
కాబట్టి మేము కేవలం వాటిని x మరియు y కాల్.
మీరు ఏదో వాటిని కాల్ ఇప్పుడు ఉంటే వేరే, ఆ పూర్తిగా మంచిది.
నిజానికి, మీరు చేస్తే ఈ ప్రకటన బదులుగా
బదులుగా డబుల్స్ ఉపయోగించి మీరు గుర్తు ఉంటే యొక్క, తేలుతుంది
డబుల్స్ వేరే అని మార్గం మరింత ఖచ్చితంగా
వాస్తవ సంఖ్యలు పేర్కొనండి లేదా పాయింట్ వేరియబుల్స్ తేలు.
ఆ చాలా పూర్తిగా మంచిది.
గాని ఆ ఒకటి జరిమానా ఉంటుంది.
నిజానికి, అనేక ఉన్నాయి వివిధ కలయికలు
మార్గాలు ఈ ఫంక్షన్ ప్రకటించాలని.
కానీ ఈ రెండు అందమైన మంచి కావలి.
మేము ఆ గొప్ప, ఒక ఫంక్షన్ డిక్లేర్డ్ చేసిన.
మేము దానిని కంపైలర్ చెప్పారు చేసిన , మనం చేస్తున్న చూడాలని ఉంది.
ఇప్పుడు నిజంగా ఆ ఫంక్షన్ వ్రాయండి.
ఇది ఒక నిర్వచనం ఇవ్వాలని లెట్, తద్వారా బ్లాక్ బాక్స్ లోపల
ఊహాజనిత ప్రవర్తన జరిగింది.
నిజానికి, మేము రెండు వాస్తవ గుణించడం ఉంటాయి కలిసి సంఖ్యలు లేదా జోడించడం సంఖ్యలు
కలిసి, లేదా సంసార చేయడం ఆ మేము మా ఫంక్షన్ కోరారు.
>> కాబట్టి నిజానికి, యొక్క ప్రయత్నించండి మరియు నిర్వచించే తెలియజేయండి రెండు reals గుణిస్తారు ఇది మేము కేవలం
రెండవ క్రితం గురించి మాట్లాడారు.
ఇప్పుడు ప్రారంభంలో ఒక ఫంక్షన్ నిర్వచనం
దాదాపు అదే కనిపిస్తుంది ఒక ఫంక్షన్ ప్రకటన.
నేను ఇక్కడ వాటిని రెండు కలిగి.
ఎగువన ఫంక్షన్ ప్రకటన ఉంది, రకం, పేరు, కామాతో వేరుచేయబడిన వాదన
జాబితా సెమికోలన్.
సెమికోలన్ సూచిస్తుంది ఒక ఫంక్షన్ ప్రకటన.
విధి ప్రారంభంలో నిర్వచనం దాదాపు ఖచ్చితంగా ఉంది
అదే రకం, పేరు, కామాతో వేరుచేయబడిన వాదన జాబితా, ఏ సెమికోలన్,
వంకర కలుపు తెరవండి.
బహిరంగ వంకర జంట కలుపు, అంతే మేము ప్రధాన తో చేయడం పరిష్కరించగలుగుతున్నాము
మేము ఇప్పుడు అర్థం నిర్వచించే మొదలయ్యాయి
ఏమి బ్లాక్ బాక్స్ లోపల జరుగుతుంది మేము mult రెండు reals కాల్ నిర్ణయించుకుంది చేసిన.
ఇక్కడ అది అమలు ఒక మార్గం.
మేము ఒక కొత్త డిక్లేర్ కాలేదు చెప్పగల్గినవి రకం ఫ్లోట్ అని ఉత్పత్తి యొక్క వేరియబుల్
ఆ వేరియబుల్ కేటాయించి విలువ x సార్లు y కు.
ఆపై ఉత్పత్తి తిరిగి.
తిరిగి ఇక్కడ అర్థం ఏమిటి.
అలాగే తిరిగి మార్గం ఎలా మేము సూచిస్తూ
మేము అవుట్పుట్ వెనక్కి ప్రయాణిస్తున్న చేస్తున్నారు.
కాబట్టి అదే, ఏదో తిరిగి, ఈ బ్లాక్ బాక్స్ యొక్క అవుట్పుట్ ఉంది.
మీరు దీన్ని ఎలా కాబట్టి ఆ.
ఇక్కడ అది అమలు మరొక మార్గం.
మేము కేవలం y, x సార్లు తిరిగి చేరుకునేవారు.
x ఒక ఫ్లోట్ ఉంది.
y ఫ్లోట్ ఉంది.
సార్లు x సో y కూడా ఒక ఫ్లోట్ ఉంది.
మేము కూడా అవసరం లేదు మరొక వేరియబుల్ సృష్టించండి.
కాబట్టి ఆ వేరే మార్గం వార్తలు ఖచ్చితమైన అదే బ్లాక్ బాక్స్ అమలు.
>> ఇప్పుడు ఒక్క క్షణం ఆగి, మళ్ళీ వీడియో విరామం
మరియు, రెండు ints జోడించండి ప్రయత్నించండి మరియు నిర్వచించే ఇతర ఫంక్షన్ అని మేము
ఒక క్షణం క్రితం గురించి మాట్లాడారు.
మళ్ళీ ఇక్కడ, నేను ఫంక్షన్ ఉంచాము ప్రకటన, అందువలన సెమికోలన్,
మరియు ఒక ఓపెన్ వంకర కలుపు మరియు ఒక సంవృత గిరజాల
మేము పూరించడానికి పేరు కలుపు సూచించడానికి విషయాలు, రెండు ints జోడించండి
మేము ముఖ్యంగా నిర్వచించే కాబట్టి బ్లాక్ బాక్స్ లోపల ప్రవర్తన.
కాబట్టి వీడియోకు విరామము.
మరియు ఎక్కువ సమయం పడుతుంది మీరు ప్రయత్నించండి మరియు నిర్ణయించుకోవాలి
ఒక అమలును రెండు ints జోడించండి, ఇటువంటి ఆ ఫంక్షన్ క్రింది అందిస్తుంది ఉన్నప్పుడు,
నిజానికి, చేస్తుంది, తిరిగి రెండు ఇన్పుట్లను మొత్తం.
కాబట్టి కేవలం మునుపటి ఉదాహరణకు వంటి, అనేక వివిధ మార్గాలు ఉన్నాయి
మీరు అమలు చేయగల రెండు ints జోడించండి.
ఇక్కడ ఒకటి.
ఇక్కడ నారింజ లో నేను చేసిన కొన్ని comments-- కలిగి
నేను కొన్ని జోడించిన వ్యాఖ్యలు సూచించడానికి
ఏమి కోడ్ యొక్క ప్రతి లైన్ జరుగుతున్నది.
నేను ఒక వేరియబుల్ డిక్లేర్ రకం Int మొత్తం అని.
నేను మొత్తం కూడిక b సమానం చెప్పడానికి.
మేము నిజంగా చేస్తున్న పేర్కొంది పని జోడించడం మరియు కలిసి b.
మరియు నేను మొత్తం తిరిగి.
మరియు ఆ కోణంలో ఎందుకంటే చేస్తుంది మొత్తం రకం Int ఒక చరరాశి.
మరియు డేటాను ఈ టైప్ ఏమిటి ఫంక్షన్ అవుట్పుట్ జరగబోతోంది నాకు చెబుతుంది?
Int.
కాబట్టి నేను మొత్తం తిరిగి నేను ఇది పూర్ణాంకం వేరియబుల్ ఉంది.
మరియు ఆ కోణంలో మేము చేసిన ఏమి ఇచ్చిన చేస్తుంది డిక్లేర్డ్ మరియు మా ఫంక్షన్ నిర్వచించిన
చెయ్యవలసిన.
>> ఇప్పుడు మీరు కూడా నిర్వచించలేదు ఫంక్షన్ ఈ విధంగా,
Int మొత్తం ఆ skip b-- ఒక ప్లస్ సమానం step-- అప్పుడు మొదటి మరియు మొత్తం తిరిగి.
ఇప్పుడు మీరు కూడా కలిగి కాలేదు అది ఈ విధంగా అమలు
ఇది నేను అత్యంత సిఫార్సు లేదు.
ఈ ఒక చెడు శైలి విషయం మరియు నిజంగా చెడు డిజైన్,
కానీ అది వాస్తవం, పనిలో, చేస్తుంది.
మీరు Int ఇది ఈ కోడ్, తీసుకోకపోతే చెడు కట్లపాము డాట్ జోడించండి సి, మరియు అది ఉపయోగించడానికి.
ఇది నిజానికి జత చేస్తుంది కలిసి రెండు పూర్ణాంకాల.
ఇది ఒక చాలా పేద అమలు వార్తలు ఈ ప్రత్యేక ప్రవర్తన.
కానీ అది పని లేదు.
ఇది వర్ణించేందుకు కేవలం ఇక్కడ వార్తలు మేము నిజంగా ఆ పాయింట్
లోపల ఏమి పట్టించుకోను కాలం బ్లాక్ బాక్స్
అది కాదనీ ఆ అవుట్పుట్ ఉంది అని.
ఈ పేలవంగా రూపొందించిన బ్లాక్ బాక్స్.
కానీ చివరిలో రోజు, అది ఇప్పటికీ అవుట్పుట్ ఒక ప్లస్ బి మొత్తం.
అయితే సరే.
కాబట్టి మేము విధులు డిక్లేర్డ్ చేసిన.
మరియు మేము ఫంక్షన్ నిర్వచించిన చేసిన.
తద్వారా నిజంగా బావుంటుంది.
ఇప్పుడు విధులు ఉపయోగించడానికి ప్రారంభిద్దాం మేము డిక్లేర్డ్ చేసిన మరియు మేము నిర్వచించిన చేసిన.
వాస్తవానికి ఒక ఫంక్షన్ కాల్ మీరు చెయ్యాల్సిన అన్ని అందంగా easy--
తగిన వాదనలు దానిని పాస్ ఉంది, డేటా రకం వాదనలు
అది ఆశించటం, మరియు అప్పుడు తిరిగి కేటాయించి
ఆ ఫంక్షన్ యొక్క విలువ మరియు దీన్ని అవసరం లేదు నాకు
ఆ ఫంక్షన్ తిరిగి లెక్కించాల్సి సరైన పద్ధతి యొక్క ఏదో.
>> కాబట్టి యొక్క వద్ద ఒక లుక్ కలిగి తెలపండి ఒక ఫైల్ లో ఈ ఆచరణ
అని కట్లపాము 1 డాట్ సి, ఇది నేను నా CS50 IDE లో కలిగి.
కాబట్టి ఇక్కడ కట్లపాము 1 డాట్ సి ఉంది.
ప్రారంభంలో మీరు నేను చూడండి నా కలిగి, పౌండ్, ఉన్నాయి
ప్రామాణిక IO, మరియు CS50 డాట్ h.
అప్పుడు నేను నా ఫంక్షన్ ప్రకటన చేశారు.
నేను ఇక్కడ ఈ ఉంది నేను కంపైలర్ చెప్పడం
ఒక వ్రాయడం వెళుతున్న అనే రెండు ints జోడించండి.
ఇది ఫలితం ఒక జరగబోతోంది పూర్ణాంకం రకం వేరియబుల్.
ఈ భాగం ఇక్కడే ఏమిటి.
ఆపై నేను ఒక రెండు ఇన్పుట్లను కలిగి మరియు b ఇది ప్రతి పూర్ణాంకం ఉంది.
ప్రధాన లోపలి, నేను వినియోగదారుని అభ్యర్థించడం చెప్పి ఇన్పుట్ నాకు ఒక పూర్ణాంకం ఇస్తాయి.
మరియు వారు మర్చిపోతే ప్రాంప్ట్ ఒక ఫంక్షన్ ఇది Int,
CS50 లైబ్రరీ చేర్చారు.
మరియు ఆ లో నిల్వ కావాలి x, పూర్ణాంకం వేరియబుల్.
>> అప్పుడు మేము మరొక పూర్ణాంకం కోసం ప్రాంప్ట్.
మేము మరొక పూర్ణ సంఖ్య మరియు y అని నిల్వ.
ఆపై, ఇక్కడ లైన్ 28 న, ఇక్కడ మేము మా ఫంక్షన్ కాల్ చేయడానికి.
మేము, Int z సమానం అంటున్నారు 2 ints x కామా y జోడించండి.
ఈ అర్ధమే ఎందుకు మీరు చూస్తారు?
x పూర్ణాంకం రకం మారుతూ ఉంటుంది మరియు y పూర్ణాంకం రకం చరరాశి.
కాబట్టి ఆ బావుంటుంది.
ఏమి మా ఫంక్షన్ తో ఆ సమంజసం లైన్ 17 న డిక్లరేషన్ వలె కనిపిస్తుంది.
కామాతో వేరుచేయబడిన ఇన్పుట్ జాబితా రెండు పూర్ణాంకాల, a మరియు b ఆశించారు.
ఆ సందర్భంలో, మేము కాల్ చేయవచ్చు వాటిని సంసార మేము కావలసిన.
ఇది కేవలం రెండు పూర్ణాంకాల ఆశించారు.
మరియు x ఒక పూర్ణ సంఖ్య మరియు y పూర్ణాంకం ఉంది.
ఆ పనిచేస్తుంది.
>> మరియు మేము ఆ ఫంక్షన్ అవతరిస్తుంది తెలుసు అవుట్పుట్ ఒక పూర్ణాంకాల అలాగే.
కాబట్టి మేము నిల్వ ఉంటాయి పనితీరు అవుట్పుట్,
పూర్ణాంకం రకం, రెండు ints జోడించండి వేరియబుల్, మేము z కాల్ చేస్తున్నారు, ఇది.
మరియు తర్వాత మేము, మొత్తం చెప్పగలను శాతం నేను మరియు శాతం నేను శాతం ఉంది.
x, y మరియు z వరుసగా ఆ శాతం నేను యొక్క పూరించి.
యొక్క నిర్వచనం ఏమిటి రెండు ints వంటి చూడండి జోడించడానికి?
ఇది చాలా సులభం.
ఇది వాటిని ఒకటి మేము కేవలం రెండవ క్రితం చూసిన
Int మొత్తం కూడిక b తిరిగి మొత్తం సమానం.
ఈ పని చేస్తుంది?
ఫైలు సేవ్ చేసేలా.
ఆపై డౌన్ ఇక్కడ నా టెర్మినల్ నేను కట్లపాము 1 తయారు వెళుతున్న
మరియు నేను నా స్క్రీన్ క్లియర్.
నేను తెలుసు ఎందుకంటే దూరంగా వెళుతున్న అది చూడటానికి ఒక చిన్న కష్టం.
>> కాబట్టి మేము కట్లపాము 1 గా ఈ కార్యక్రమం కంపైల్.
కాబట్టి మేము డాట్ స్లాష్ కట్లపాము 1 చేయవచ్చు.
10 నాకు ఒక పూర్ణాంకం ఇవ్వండి.
20 నాకు మరొక పూర్ణాంకం ఇవ్వండి.
10 మరియు 20 మొత్తం 30 అవుతుంది.
కాబట్టి మేము ఒక విజయవంతమైన ఫంక్షన్ కాల్ చేసింది.
మీరు ప్రతికూల మళ్ళీ ఫంక్షన్ అమలు చెయ్యవచ్చు 10, ప్రతికూల 10 మరియు 17 యొక్క 17 మొత్తం 7.
ఈ ఫంక్షన్ పనిచేస్తుంది.
ఇది ప్రవర్తన కలిగి మేము అది ఆశించే.
కాబట్టి మేము ఒక విజయవంతమైన చేసిన ఫంక్షన్, నిర్వచనం డిక్లరేషన్,
మరియు ఒక విజయవంతమైన ఫంక్షన్ కాల్.
జంట ఇతరాలు విధులు గురించి పాయింట్లు
మేము ఈ విభాగంలో ముగించారు ముందు.
నుండి గుర్తు మా డేటా రకాల చర్చ,
గతంలో విధులు కొన్నిసార్లు ఏ ఇన్పుట్లను పడుతుంది.
ఒకవేళ, మేము ఫంక్షన్ ప్రకటించాలని
ఒక గర్జన వాదన జాబితా కలిగి ఉన్నట్లు.
మీరు ఏమి గుర్తు లేదు అత్యంత సాధారణ ఫంక్షన్
మేము ఇప్పటివరకు పడుతుంది చూసిన ఒక గర్జన వాదన జాబితా ఉంది?
ఇది ప్రధాన వార్తలు.
కొన్నిసార్లు ఆ ఫంక్షన్ గుర్తుచేసుకున్నారు నిజానికి ఒక అవుట్పుట్ లేదు.
ఆ సందర్భంలో, మేము ఫంక్షన్ ప్రకటించాలని ఒక గర్జన తిరిగి టైప్ కలిగి ఉన్నట్లు.
యొక్క ఈ విభాగం నిర్ధారించారు లెట్ ఒక సాధన సమస్య పరిష్కారంలో.
>> కాబట్టి ఇక్కడ వేశాడు సమస్య.
నేను మీరు ఒక ఫంక్షన్ రాయాలనుకుంటున్నాను చెల్లుబాటు అయ్యే త్రిభుజం అంటారు.
ఈ ఫంక్షన్ ఏమి చెయ్యాలి మూడు వాస్తవ సంఖ్యలు పడుతుంది
ఆ మూడు పొడవులను సూచిస్తాయి దాని పారామితులు ఒక త్రిభుజం భుజాల,
లేదా దాని వాదనలు, లేదా దాని పర్యాయపదాలు మరొక సెట్ ఇన్పుట్లను
మీరు ఎదుర్కొనే కొన్ని.
ఈ ఫంక్షన్ తప్పక అవుట్పుట్ గాని నిజమైన లేదా తప్పుడు
ఆధారపడి ఆ మూడు పొడవులు లేదో ఒక త్రిభుజం తయారు చేసే సామర్థ్యాన్ని కలిగి ఉంటాయి.
మీరు డేటా రకం గుర్తుపెట్టుకొవాలి మేము నిజమైన లేదా తప్పుడు సూచించడానికి ఉపయోగిస్తారు?
ఇప్పుడు మీరు ఈ ఎలా అమలు చెయ్యాలి?
Well ఒక జంట ఉన్నాయి తెలుసు త్రిభుజాలు సంబంధించిన నియమాలు
వాస్తవానికి తెలిసిన ఉపయోగకరంగా ఉంటాయి.
ఒక త్రిభుజం మాత్రమే కలిగి సానుకూల పొడవు వైపులా.
ఆ అర్ధమే.
మీరు బహుశా ప్చ్, చెబుతున్న.
ఇతర విషయం గమనించండి అయితే, మొత్తం ఉంది
ఏ పొడవుల త్రిభుజం యొక్క రెండు వైపులా
కంటే ఎక్కువ ఉండాలి మూడవ భుజం యొక్క పొడవు.
వాస్తవానికి నిజం.
మీరు వైపులా 1 త్రిభుజం ఉండకూడదు ఉదాహరణకు 2 మరియు 4, 1 ప్లస్ 2 ఎందుకంటే
4 కంటే ఎక్కువ కాదు.
ఆ కాబట్టి నియమాలు అని గుర్తించడానికి మూడు లేదో
ఇన్పుట్లను మందుల ఒక త్రిభుజం ఏర్పాటు చేయవచ్చు.
కాబట్టి నిమిషాల ఒక జంట పడుతుంది మరియు ప్రకటించి అప్పుడు నిర్వచించలేదు
చెల్లుబాటు అయ్యే అని ఈ ఫంక్షన్ త్రిభుజం అటువంటి వాస్తవానికి
ఇక్కడ పేర్కొన్న ప్రవర్తన కలిగి ఉంది.
>> ఇది అవుట్పుట్ నిజమైన ఆ మూడు వైపులా ఉంటే ఒక త్రిభుజం శ్రమజీవులు సామర్థ్యాన్ని కలిగి ఉంటాయి
మరియు తప్పుడు లేకపోతే మీరు చేసిన ఎలా చూడటానికి రెడీ?
ఇక్కడ ఒకటి అమలు వార్తలు లోపములను త్రిభుజం.
ఇది మాత్రమే ఒకటి కాదు.
యువర్స్ కొద్దిగా మారవచ్చును.
కానీ ఈ ఒక నిజానికి, కలిగి, చేస్తుంది మేము ఆశించిన ఆ ప్రవర్తన.
మేము వద్ద మా ఫంక్షన్ ప్రకటించాలని అగ్రభాగాన, చెల్లుబాటు అయ్యే త్రిభుజం bool
x ఫ్లోట్ y ఫ్లోట్ z తీసుకువస్తారు.
మరలా, ఈ ఫంక్షన్ మూడు వాస్తవ సంఖ్యలు పడుతుంది
దాని వాదనలు, ఫ్లోటింగ్ పాయింట్ విలువ వేరియబుల్స్
మరియు నిజమైన లేదా తప్పుడు అందిస్తుంది బూలియన్, రీకాల్ ఇది విలువ.
తిరిగి టైప్ bool ఎందుకు కాబట్టి ఆ.
అప్పుడు మేము ఫంక్షన్ వివరిస్తాయి.
మేము మొదటి విషయం నిర్ధారించుకోండి ఉంది ఆ భుజాల అన్ని సానుకూల ఉన్నాయి.
X కంటే తక్కువ లేదా సమానంగా ఉంటే 0, y లేదా 0 సమానంగా ఉంటే,
లేదా z కంటే తక్కువ లేదా 0 సమానంగా ఉంటే ఆ బహుశా ఒక త్రిభుజం ఉండకూడదు.
వారు అనుకూల వైపులా లేదు.
కాబట్టి మేము తిరిగి చేయవచ్చు ఆ పరిస్థితిలో తప్పుడు.
తరువాత, మేము నిర్ధారించుకోండి ఇన్పుట్లను ప్రతి జత
మూడవ ఒకటి కంటే ఎక్కువ ఉంటుంది.
>> కాబట్టి x ప్లస్ y తక్కువ ఉంటే z కంటే లేదా సమానం,
లేదా x ప్లస్ z తక్కువ ఉంటే y కంటే లేదా సమానం,
లేదా y ప్లస్ z ఉంటే కంటే తక్కువ లేదా సమానం x, కూడా ఒక చెల్లుబాటు అయ్యే త్రిభుజం ఉండకూడదు.
కనుక మనం మళ్ళీ తప్పుడు తిరిగి.
ఊహిస్తే మేము తనిఖీలు రెండు ఆమోదించింది అయితే, అప్పుడు మేము నిజమైన తిరిగి.
ఆ మూడు వైపులా ఎందుకంటే returning-- సామర్థ్యాన్ని కలిగి ఉంటాయి
ఒక చెల్లుబాటు అయ్యే త్రిభుజం సృష్టించే.
అంతే.
మీరు ఇప్పుడు ప్రకటించారు మరియు నిర్వచించిన చేసిన.
మరియు మీరు ఇప్పుడు సామర్థ్యం ఉండవచ్చు ఉపయోగించడానికి మరియు ఈ ఫంక్షన్ కాల్.
గొప్ప పని.
నేను డౌ లాయిడ్ ఉన్నాను.
ఈ CS50 ఉంది.