[இசை] டக் LLOYD: சரி. ஒரு விசித்திரமான தலைப்பு என்ன, சரியான? மந்திரம் எண்கள். அவர் தான் போது அவர் என்ன பெண்மான் மாய எண்கள் பற்றி பேசுகிறீர்கள்? சரி, திட்டங்கள் சில நாம் CS50 எழுதப்பட்ட அந்த இதுவரை சில வித்தியாசமான இருந்தது எண்கள் வகையான அவர்களை வீசப்பட்டன. ஒருவேளை காரணங்களுக்காக நாம் செய்ய முற்றிலும் இப்போது புரிந்து கொள்ள. உதாரணமாக, மரியோ பிரச்சனையில், நாம் 23 பிரமிடு உயரம் மூடியதாக. நாங்கள் வெளிப்படையாக நீங்கள் கூறியது அதிக விட 23 போக முடியாது. ஆனால் 23 என்ன அர்த்தம்? சரி, நீங்கள் படிக்க வேண்டும் , கவனமாக நீங்கள் ஸ்பெக் என்று பார்த்தேன் காரணம், நாம் 23 அதை வரம்பிடப்படுத்தோம் ஆகிறது நிலையான உயரம் ஏனெனில் ஒரு முனை சாளரத்தின் 24 ஆகிறது. நாம் இருந்தால் அதனால் பிரமிடு என்று விட உயரமாக இருக்கக்கூடாது, இந்த வித்தியாசமான விஷயம் செய்ய வேண்டும் அங்கு அதை திரையில் ஆஃப் இயங்கும். உங்களுக்கு தெரியும், என்ன செய்கிறது அந்த உரிமையை, பின்னணியில் அர்த்தம்? 23 உடனடியாக வெளிப்படையாக அர்த்தம் உள்ளது யாரோ யார் உங்கள் நிகழ்ச்சியில் தெரிகிறது மற்றும் ஒருவேளை ஒரு மாறுபட்ட அளவு முனைய சாளரத்தில்? அநேகமாக இல்லை. அது சரி, இப்படி தெரிகிறது. சரி, ஏன், அது குறைவாக 23 விட உள்ளது? பொதுவாக, இது மாதிரி தான் ஒரு கெட்ட பழக்கம் உண்மையில் உங்கள் குறியீடு, மாறிலிகள் எழுத. நீங்கள் உண்மையில் செய்யும் போது, அவ்வாறு செய்வதன் உங்கள் குறியீடு ஒரு நிலையான எழுத, அதை பயன்படுத்தி என குறிப்பிடப்படுகிறது மாய எண்கள், ஒன்று இது நாம் பொதுவாக முயற்சி மற்றும் தவிர்க்க வேண்டும். உதாரணமாக, பாருங்கள் நாம் இங்கே இந்த எளிய விழாவில். வெளிப்படையாக எந்த தரவு இருக்கிறது சி வகை அட்டை அல்லது டெக் என்று. அதனால் தான் எனக்கு தாங்க. அது ஒரு சிறிய துண்டு சூடோகுறியீடு இங்கே கலந்து. இந்த என்று ஒரு செயல்பாடு இருக்கும் என்று வெளிப்படையாக அட்டை சமாளிக்க அதன் அளவுரு என ஒரு தளம் எடுக்கிறது, மற்றும் எனக்கு விருப்பத்திற்கு வெளியீடு ஒரு அட்டை. நான் இங்கே எங்கே நான் ஏதாவது செய்கிறேன் நான் 0 இருந்து 52 வரை இயங்கும் என்று ஒரு வட்டத்திற்கு வேண்டும் நான் ஒரு அட்டை சமாளிக்கிறேன். சரி, நாம் ஒரு மாய கிடைத்துவிட்டது இங்கே உள்ள எண், சரி. நீங்கள் மாய எண் என்ன பார்க்கிறீர்கள்? அல்லது மேலும் முக்கியமாக, நீங்கள் செய்கிறது பிரச்சனை இங்கே என்ன பார்க்க? குறிப்பாக இந்த என்றால் ஒரு செயல்பாடு உள்ளது ஒரு அதன் சொந்த கோப்பு உள்ளது என்று கோப்புறையை வெவ்வேறு ஒரு கொத்து கோப்புகளை ஒவ்வொரு அதில், சீட்டுக்கட்டு மற்றொரு விஷயம் இல்லை. ஒருவேளை அது அவர்களுக்கு shuffles, அல்லது ஒரு கை மேற்கொள்கின்றன ஐந்து அட்டைகள் பதிலாக ஒரு ஒற்றை அட்டை. நீங்கள் என்ன பார்க்கிறீர்கள் பிரச்சனை இங்கு இருக்க முடியும்? நீங்கள் மேஜிக் எண் பார்க்கிறீர்கள் நான் குறியீடு உட்செலுத்தப்படும்? அது சரி, 52 தான். போலவே, உள்ளுணர்வாக உங்களுக்கு தெரிந்திருக்கும், சரி. ஒரு நிலையான சீட்டுக்கட்டு போன்ற அட்டைகள் 52 அட்டைகள் உள்ளன. ஆனால் எங்கள் திட்டம் குறித்து, அது தான் வகையான அங்கு சுற்றி மிதந்து. திடீரென்று ஒரு 52 இருக்கிறது போல் தான். இந்த தீர்க்க ஒரு வழி பிரச்சனை இந்த செய்ய உள்ளது. நாம் இப்போது மிகவும் வெளிப்படையாக இருக்கிறோம் 52 டெக் அளவு வெளியே அழைத்து. அது இன்னும் சிறிது உள்ளுணர்வு கொடுக்கிறது போது லூப் பொருள் நாம், நான் சொல்ல பின்னர் டெக் அளவு குறைவாக உள்ளது. அது 52 என்று கூறி விட நன்றாக தெரிகிறது. இப்போது இந்த உண்மையில் பிரச்சினையை தீர்க்க முடியாது. அது சில அடையாள கொடுக்கிறது நிலையான என்பதாகும். ஆனால், எந்த விதமான உண்மையில் என்ன மற்றொரு பிரச்சினை அறிமுகப்படுத்த என்று உடனடியாக வெளிப்படையாக இருக்க வேண்டும். கூட இந்த மாறி என்றால் globally-- அறிவித்தார் நீங்கள் அதை என்ன நினைவு நாங்கள் அறிவிக்க போது பொருள் உலகளவில் உள்நாட்டில் எதிராக ஒரு மாறி? நாம் ஒரு மாறி அறிவிக்க கூட உலகளவில், என்ன இருக்கிறது என்றால் மற்றொரு செயல்பாடு செயல்பாடுகளை எங்கள் தொகுப்பு அட்டை கையாளுதல் அந்த ஒப்பந்தம் என்று கவனக்குறைவாக, டெக் அளவு மாற்றுகிறது அல்லது அது அது அதிகரிக்கிறது 1 அல்லது 1 அது குறைக்கிறது. அந்த உரிமை, பிரச்சனையில் கூற முடியும்? நாம் ஒரு கணம் கையாள்வதில் குறிப்பாக அட்டைகளின் டெக் உரசிக்கொண்டு அங்கு தேவைப்படுகிறது. டெக் அளவு குறைந்து என்றால் 1, எடுத்துக்காட்டாக, 51, நாம் உண்மையில் உரசிக்கொண்டு சாத்தியமான அனைத்து அட்டைகள். நாம் அவர்களை ஒன்று வெளியே விட்டு. மற்றும் அந்த உள்ளது மதிப்பு ஒருவேளை இருக்க முடியும் கணித்து அல்லது ஒரு கெட்ட நடிகர் சுரண்டப்பட்டு. சி ஒரு என்று என்ன வழங்குகிறது என்பதன் உத்தரவு, இது ஒரு மேக்ரோ அழைப்பித்து அடையாள மாறிலிகள் உருவாக்கும். உண்மையில், நீங்கள் ஏற்கனவே போயிருக்கிறீர்கள் ஒரு என்பதன் உத்தரவு பார்த்திருக்கிறேன், நீங்கள் அதைக் கேட்டு இல்லை என்றால் கூட # அடங்கும் என்று அழைக்கப்படும். அது ஒரு மேக்ரோ மற்றொரு எடுத்துக்காட்டு அல்லது என்பதன் உத்தரவு. வழி அடையாள மாறிலிகள் உருவாக்க, அல்லது ஒரு நிலையான ஒரு பெயர் கொடுத்து அது இன்னும் உள்ளது என்று அதாவது, பின்வருமாறு உள்ளது. # வரையறுக்க, பெயர், மாற்று. ஒதுக்கி உண்மையில் முக்கியமான இங்கே மிகவும் விரைவான. ஒரு அரைப்புள்ளி வைத்து உங்கள் # வரையறுக்கிறது இறுதியில். எனவே அது வரையறுத்து, பெயர், மாற்றாக உள்ளது. உங்கள் நிரல் கம்பைல் போது, என்ன உண்மையில் நடக்கிறது போகிறோம் என்றால் தொகுப்பி ஆகும் உங்கள் குறியீடு மூலம் செல்ல மற்றும் ஒவ்வொரு உதாரணமாக பதிலாக என்ன வார்த்தை "பெயர்" நீங்கள் மாற்றாக வைத்து. Analogously, # அடங்கும் என்றால் வகையான இன் நகல் மற்றும் பேஸ்ட் ஒத்த, பின்னர் வரையறுத்து வகையான ஆகிறது கண்டுபிடிக்க மற்றும் பதிலாக ஒத்த, நீங்கள் எப்போதாவது ஒரு என்று அம்சம் இருந்தால், பயன்படுத்தப்படும் சொல் செயலாக்க உதாரணமாக வேலைத்திட்டம். உதாரணமாக, என்றால் நான் 3.14159265 என பை வரையறுக்க, நீங்கள் நன்றாக கணித என்றால் பாராட்டுவதில்லை நீங்கள் திடீரென்று 3.14159265 பறக்கும் பார்க்க சுற்றி உங்கள் குறியீடு, ஒருவேளை நீங்கள் அதை பை பற்றி பேசி தெரியும். ஆனால் நாம் அதை ஒரு கொடுக்க முடியும் இன்னும் கொஞ்சம் குறியீட்டு பொருள். நாங்கள் உங்களுக்கு பதிலாக வரையறுத்து சொல்ல முடியும் எண்கள் என்று சொட்டு போன்ற பை நான் வைக்க போவதில்லை என்று மேல் படித்து. என்ன இருந்தாலும், பின்னர் என்ன நடக்க போகிறது திட்டம் போது தொகுக்க நேரம் தொகுக்கப்பட்ட, முதல் விஷயம், என்று நடக்கும் அது வழியாக செல்ல வேண்டும் என்பது தான் மற்றும் அதை ஒவ்வொரு முறையும் இடமாற்றும் அது, மூலதன பி, மூலதன நான் பார்க்கிறது அது உண்மையில் அதற்கு பதிலாக வேண்டும் 3.14 மற்றும் பல, என்று நீங்கள் அது ஒவ்வொரு தட்டச்சு செய்ய வேண்டும் இன்னும் நேரம் உங்கள் நிரல் போது செயல்பாடு உள்ளது என்று நீங்கள் நீங்கள் வேலை ஏனெனில், எதிர்பார்க்க கையாளுவதில், பெருக்கி, அது பை மூலம் என்ன, பிளவு. இந்த மட்டுமே அல்ல மட்டுமே எண்கள் மாற்று. உதாரணமாக, நான் வரையறுக்க முடியும் சரம் CS50 நிச்சயமாக. இந்த வழக்கில், போது திட்டம் தொகுக்கப்பட்ட, # வரையறை மூலம் செல்வோம் குறியீடு, ஒவ்வொரு முறை பதிலாக அது சரம், CS50 "நிச்சயமாக" காண்கிறது. நீங்கள் இங்கே கவனிக்க வேண்டும் நான் என்று அடிக்கடி # வரையறுக்க என் அடையாள வரையறுக்கப்பட்ட மாறிலிகள், மிகவும் பேச, அனைத்து தொப்பிகள் எப்போதும் இருக்கும். இது ஒரு மாநாடு தான். அது தேவையில்லை. காரணம் பொதுவாக மக்கள் பயன்படுத்தும் அனைத்து தலைநகரங்களில் அவர்கள் #defining போது அதை ஒரு உண்மையில் தெளிவாக செய்ய என் குறியீடு இந்த குறிப்பிட்ட உறுப்பு ஒரு வரையறுக்கப்பட்ட மாறிலி. இது ஸ்மால் இருந்தால், அது என்று சாத்தியம் அது ஒரு மாறி குழப்பி. அந்த ஒருவேளை தான் ஒரு நல்ல காரியத்தைச் செய்ய அவன். எனவே இந்த குறிப்பிட்ட தீர்வு நன்றாக உள்ளது முந்தைய ஒன்றை அல்லது விட. நான் முதல் வரையறுத்து டெக் அளவு 52, பின்னர் என்றால் இப்போது இங்கே 52, அல்லது டெக் அளவு என் பயன்படுத்த, மிகவும் உள்ளுணர்வு மற்றும் நிறைய பாதுகாப்பானது. நீங்கள் ஒரு நிலையான கையாள முடியாது. நீங்கள் 52 பிளஸ் பிளஸ் சொல்ல முடியாது. 53 அதை மாற்ற போவதில்லை. நீங்கள் ஏதாவது 52 மாற்ற முடியாது. நீங்கள் ஒரு மாறி மாற்ற முடியும் அதன் மதிப்பு 52 ஆகும், இது நாம் முன்னர் இருந்தது முதல் பிழைத்திருத்தம் இருந்தது. நீங்கள் அதிகரிக்க முடியும் 53 என்று மாறி. ஆனால் நீங்கள் 52 பிளஸ் பிளஸ் மற்றும் சொல்ல முடியாது திடீரென்று 53 ஒரு 52 திரும்ப அந்த வேண்டும். 52 எப்போதும் 52 ஆகிறது. அதனால் நீங்கள் கவனக்குறைவாக மாற்ற முடியாது இங்கே அதை கையாள்வதன் மூலம் டெக் அளவு, மற்றொரு நல்ல பக்க இந்த போதிலும் விளைவு என்று நீங்கள் தெரியும் என்று இல்லை உலகம் முழுவதும் அனைத்து நாடுகளும் அளவு 52 சீட்டுக்கட்டு பயன்படுத்த? உதாரணமாக, இது உண்மையில் சாதாரணம் ஜெர்மனி, 32 ஒரு தளம் அளவு பயன்படுத்த அவர்கள் சில அகற்றும் அங்கு குறைந்த மதிப்பு அட்டைகள். இந்த வழக்கில், நான் துறைமுக என் சூட் வேண்டும் சமாளிக்க என்று செயல்பாடுகளை ஜெர்மனி அட்டை கையாளுதல். நான் முதல் நிகழ்வில் முடிந்த நாங்கள் காட்டியது, சென்று பதிலாக வேண்டும் 32 என் குறியீடு 52 அனைத்து நிகழ்வுகளையும். ஆனால் இங்கே, நான் வரையறுக்க என்றால் டெக் அளவு என் குறியீடு மிக சிறந்த 32, நான் அதை மாற்ற வேண்டும் என்றால், என்னால் முடியும் சென்று என்று ஒன்று மாற்ற. என் குறியீடு தொகுக்க அனைத்து திடீரென்று அது வழியாக. உண்மையில், நாம் டெக் மாற்ற முடியும் நாம் விரும்பும் எந்த மதிப்பு அளவு. நான் ஒரு நீங்கள் ஆர்வமுடன் டெக் அளவு இடும் விளையாட்டு? நான் டக் லாயிட் இருக்கிறேன். மற்றும் இந்த CS50 உள்ளது.