[Powered by Google Translate] [வாரம் 3]
[டேவிட் ஜே Malan - ஹார்வர்ட் பல்கலைக்கழகம்]
[இந்த CS50 உள்ளது. - CS50.TV]
என்னை நாம் கடந்த கால இடைவெளி விட்டு எங்கு திசையில் நாம் விலகி விட,
இலக்கணத்தை பற்றி விட சற்று சிந்திக்க தொடங்கி இருந்தது
மற்றும் மிக சிறிய அனைத்து பற்றி ஒரு பிட் குறைந்த என்று முயற்சி
அந்த அரைக்காற்புள்ளிகள் அடிப்படையில் இதுவரை செய்ய acclimate நேரம் ஒரு பிட் எடுத்து
மற்றும் அடைப்புக்குறிக்குள் மற்றும் சுருள் ப்ரேஸ்,
அதிக கருத்து நிலை சிறிது எடுத்து தொடங்க
அதனால் நாம் இப்போது அடுத்த சில வாரங்களில் தீர்க்கும் தொடங்க பிரச்சினைகள்
அதிக அளவில் கருத்து பிரச்சினைகள் தொடர்பாக அதிக ஈடுபடுத்த போகிறோம்
உங்கள் கால்களை கிடைக்கும் உட்தொடாச்செயற் குறைவான ஒரு பிட் ஈரப்படுத்தலாம்
உங்கள் கைகளில் இந்த கடந்த சில வாரங்களில் இருந்து இலக்கணத்தை சில அழுக்கு.
>> கடந்த வாரம் நாம் ஒரு வரிசைக்கு இந்த கருத்தை அறிமுகப்படுத்தப்பட்டது என்று நினைவு.
ஆங்கிலம் ஒரு வரிசைக்கு என்ன விவரித்தார்? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்]
மன்னிக்கவும்?
ஒரு தொகுப்பு? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி, நல்ல.
பொருட்களின் தொகுப்பு. எனவே கீறல் உள்ள வரிசைகள் பார்த்தேன்.
நீங்கள் pset நீ விஷயங்களை இழுக்க முடியும் என்று கீறல் இன் பட்டியல்களில் 0 பயன்படுத்த நடந்தது என்றால்
வகையான ஒரு சரக்கு, ஒரு ஆரஞ்சு மற்றும் வாழை,
ஒரு வரிசைக்கு என்ன போன்ற வகையான தான்.
பின்னர் மேலும் தொழில்நுட்ப, ஒரு உண்மையான கணினி சூழலில்,
ஒரு வரிசைக்கு வெறுமனே நினைவகம் ஒரு தொடர்ச்சியான துண்டின் உள்ளது.
வேறுவிதமாக கூறினால், நீங்கள் பின்னர் மற்றொரு பைட், மற்றொரு பைட், மற்றொரு பைட், ஒரு பைட் இல்லை
நீங்கள் ஒரு படத்தில் அந்த பைட்டுகள் பெற என்றால்,
அவர்கள் மீண்டும் மீண்டும் மீண்டும் மீண்டும் வேண்டும். என்று நாம் தொடர்ச்சியான அர்த்தம் என்ன.
>> அது பின்னர் பைட் எண் 1, 2, 3 என்று.
அது, இங்கு, இங்கு, இங்கு இங்கு அர்த்தம் இல்லை.
ஒரு வரிசைக்கு 0 அல்லது அதற்கு மேற்பட்ட பைட்டுகள் ஒரு தொடர்ச்சியான துண்டின் உள்ளது.
அதனால் அவர்கள் என்ன பயனுள்ளதாக இருக்கும்?
நாம் ஒரு திட்டத்தை சேமிப்பது மக்கள் வினாடி வினா தரங்களாக என்ற திட்டமிடப்பட்டது எடுத்துக்காட்டாக இந்த வகையான இருந்தது
, சில நிச்சயமாக உங்கள் வினாடி வினா சராசரி கணக்கிடுவதற்கு
நாம் ஒரு மாறி quiz1 அறிவித்தார் என்று நிரல் எழுத தொடங்கலாம் என்று நினைவு.
நாம் quiz2 என்று மற்றொரு மாறி முடியும்.
ஆனால் பின்னர், இந்த வகுப்பில் வினாவிடை quiz4 3 இருந்திருந்தால்.
அல்லது ஒரு வாராந்திர வினாடி வினா இருந்தால், அதை, quiz7 quiz6 quiz5 வேண்டும்.
எனவே நீங்கள் இந்த மாறிகள் அனைத்து முக்கிய உள்ளே அறிவித்தார் வேண்டும்
அல்லது வேறு எங்காவது உங்கள் திட்டத்தில்,
அந்த அணுகுமுறை பிரச்சினை, அதை, நான் நகலெடுத்து ஒட்டவும் எளிதாக என்றாலும்
அது மிக விரைவில் கடினம் ஆகும்.
கடவுளே நீ உண்மையில் 30 வினாடி வினாக்கள் அல்லது 50 வினாவிடை வேண்டும்.
இது ஒரு உயர்நிலை பள்ளி பாணி தினசரி பாப் புதிர் போல, என்றால்
நீங்கள் தான், மாறிகள் அறிவித்தார் என்று ஒரு அபத்தமான நீண்ட பட்டியல் உண்டு
மற்றும் இது மிக விரைவில் கட்டுப்பாட்டில் இருந்து வருகிறது.
அது அசிங்கமான, அதை தக்க வைத்து கொள்ள கடினமாக உள்ளது, இது ஒரு எழுத்துப்பிழையா செய்ய மிகவும் சுலபம்
நீங்கள் என்றால் 1 எண்ணை உங்கள் திட்டத்தில் எங்காவது mistyped.
>> எனவே அதற்கு பதிலாக ஒரு வரிசைக்கு கருத்து அறிமுகப்படுத்தப்பட்டது.
நாம் இந்த மாதிரி ஒரு சிறிய ஏதாவது செய்து இந்த திட்டம் செயல்படுத்தப்படும் என்று நினைவு.
எனக்கு இன்றைய மூல 3 திங்கள் அடைவில் செல்லலாம்
நாம் கடந்த காலத்தில் கண்டோம் எந்த அணி, திறக்க.
புதிய சி தந்திரங்களை ஒரு ஜோடி இங்கே இருந்தன என்றாலும்,
அவர்கள் மத்தியில் ஒரு நிலையான கருத்து,
நாம் இந்த இலக்கணத்தை பயன்படுத்தி அடிப்படையில் பல மிதவைகள் அறிவித்தார் என்று நினைவு:
மிதவை, பின்னர் மாறி பெயரை, நாம், முதல் முறையாக உண்மையில் சதுர ப்ரேஸ் பயன்படுத்தப்படும்
நாம் அந்த சதுர ப்ரேஸ்களை உள்ளே என்ன திறம்பட பல வைக்கப்பட்டது.
ஆனால் அதற்கு பதிலாக பல போடுவதற்கு, நான் இந்த முதலீட்டை வார்த்தை, வினாவிடை வைத்து.
மற்றும் வினாவிடை போன்ற முதலீட்டை வார்த்தை வைப்பதற்கான நோக்கம் என்ன
பின்னர் வரி 17 இன் தந்திரம் பயன்படுத்தி இங்கே உண்மையில் ஒரு எண் கொடுக்க?
அங்கு உள்நோக்கம் என்ன? Yeah.
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரியாக.
நாம் மதிப்பு 2 மாற்ற வேண்டும் என்றால், நாம் மட்டும் 1 இடத்தில் அதை மாற்ற வேண்டும்
ஏனெனில் கருத்தில் - நான் கூட இந்த திட்டம் சரியாக என்ன நினைவில் இல்லை,
ஆனால் நீங்கள் அதை ஆடையெடு நீங்கள் வினாவிடை, வினாவிடை பார்க்க.
நீங்கள் வினாவிடை, கீழே இங்கே இன்னும் வினாவிடை பார்க்க.
இந்த மாறிலி இல்லை என்றால், தீவிர இந்த பயன்பாடு வரையறுத்து,
நாம் நன்றாக இருக்கும், பிறகு 2, பிறகு 2, பிறகு 2, 2 தட்டச்சு. அது போல் சரியாக இருக்க வேண்டும்.
ஆனால் நாம் CS50 உள்ள 3 வினாவிடை என்று அடுத்த ஆண்டு நினைக்கிறேன்.
நான் குறியீடு சென்று மேம்படுத்த வேண்டும், அதனால், நான், அதை மீள்தொகுப்பானது வேண்டும்
நான் முட்டாள் ஏதாவது செய்தால் நான் 2 1 பற்றி கவனிக்க போன்ற ஆனால் சிக்கல் உள்ளது
மற்றும் 3 செருகுநிரல் மறந்து, ஒட்டுமொத்த திட்டம் நன்றாக உடைக்க முடியும்.
எனவே தான் பிரச்சனை கேட்கிறாய்.
>> எனவே ஒரு நிலையான கருத்து, தரவு சில துண்டு அவுட் காரணமாகிறது பற்றி அனைத்து உள்ளது
அது, ஒரு சரம் அல்லது ஒரு கரி அல்லது ஒரு மிதவை அல்லது என்ன என்று
நீங்கள் உடனடியாக அதை மாற்ற முடியும் என்று அது 1 இடத்தில் அறிவித்தார்.
அது, நீங்கள் இப்போது இந்த நினைத்தால் ஏனெனில் வாசிக்க, வெளிப்படையாக, ஒரு பிட் எளிதாகவும்
இது வினாவிடை நேரம், அல்லது நாங்கள் NUMBER_OF_QUIZZES போன்ற ஏதாவது மறுபெயரிட முடியவில்லை
மேலும் வெளிப்படையான அல்லது ஏதாவது.
குறியீடு தான், அதை செய்து என்ன என்று இன்னும் கொஞ்சம் தெரிகிறது
நீங்கள் பல 2 அர்த்தம் என்ன நடக்கும் என்று கொஞ்சம் குறைவாக தெரியவில்லை.
வரிசைகள் கொண்ட அடிப்படையில் இல்லை என்று தொடர்ந்து பல.
வரிசை இந்த சதுர ப்ரேஸ் மூலம் அறிமுகப்படுத்தப்பட்டது.
>> எனவே வரி 23 இல் நாம் பயனர் ask என்று கவனிக்க, "உங்கள் வினாடி வினா மதிப்பெண்களை என்ன?"
நாம் இப்போது வெளிப்படையாக தங்கள் தரங்களாக பயனரிடம் இந்த வளைய வேண்டும். எப்படி?
அது 0 இருந்து 2 செயல்களை. அனைத்து தொப்பிகள் உள்ள வினாவிடை தற்போது 2 ஏனெனில் நான் 2 என்று.
அது வரை 0 இருந்து 2 செயல்களை மற்றும் அது அச்சிடுகிறது அவுட், # ஏதோ ஏதோ க்விஸ்
பின்னர் அது பயனர் ஒரு மதிப்பு பெற GetFloat பயன்படுத்துகிறது.
இந்த கடந்த புதனன்று இருந்து இலக்கணத்தை மட்டுமே மற்ற புதிய ஆகும் கவனிக்க.
நீங்கள், அந்த வரிசையில் ஒரு குறிப்பிட்ட இடத்தில் ஒன்று சேமிக்க விரும்பினால்
நீங்கள் மீண்டும் சதுர அடைப்புக்குறிக்குள் பயன்படுத்த.
>> எனவே இரட்டை ஒரு பிட் இங்கே இருக்கிறது.
நீங்கள் சதுர அடைப்புக்குறிக்குள் பயன்படுத்த முதல் முறையாக
நீங்கள் வரிசையில் இருக்க வேண்டும், எப்படி பெரிய குறிப்பிட பயன்படுத்தும்.
ஆனால் இங்கே இந்த அடுத்த சூழலில் நாம் மீண்டும் இந்த சதுர அடைப்புக்குறிக்குள் வேலை எங்கே
அந்த வரிசையில் சில மதிப்பு கொடுக்க வேண்டும் என்று எங்கு பொருள்?
மற்றும் இங்கே வேறுபாடு பின்னணியில் இருந்து உய்த்துணரலாம்.
நாம் ஒரு தரவு வகை உண்டு இங்கே கவனிக்க, நாம், ஒரு மாறி பெயர் இல்லை
நாம் அரைப்புள்ளி, உள்ளே ஒரு எண் எமது சதுர ப்ரேஸ் வேண்டும். அவ்வளவுதான்.
அதனால் ஒரு அறிவிப்பு தான்.
பங்குகளாக grade2; நாம் பங்குகளாக grade1 போன்ற ஏதாவது செய்து தான் போல இருக்கிறது;
ஆனால் மீண்டும், இந்த மிக விரைவில் வழி அதிகமாக நகல், பசை, ஒரு devolves
எனவே அதற்கு பதிலாக நாம் வெறும், போன்ற அது எளிதாக
இது இனிமேல் நாம், அடைப்புக்குறி 0 சேமிக்க முடியும் என்று ஒரு தரம் இல்லை என்றால்
நாம் அடைப்புக்குறி 1 சேமிக்க முடியும் என்று மற்றொரு தர வேண்டும்
ஆனால் என்ன நான் தவறு என்றால், உதாரணத்திற்கு, என் வளைய இதுவரை செல்கிறது -
உதாரணமாக, நான், இந்த குறைவாக அல்லது சமமாக செய்ய
இது திரும்ப முந்தைய பிழை ஆதாரமாக இருந்தது -
இது திறமையுடன் இந்த வட்டத்திற்கு சில மூன்றாம் தற்செயலான மறு செய்கை என்று அர்த்தம்
நான் அடைப்புக்குறி 2 பயன்படுத்தவும். இது, இங்கே என்ன நடக்கும்? மன்னிக்கவும்?
[மாணவர்] இது பதிலாக நடக்கிறது. >> அதை மாற்ற வேண்டும் என்று?
என்ன பதிலாக?
இந்த மொழியில் GetFloat திரும்ப மதிப்பு இடம் 2 என்ன பதிலாக சொல்கிறார்கள்.
ஆனால் சிக்கல் கதையில் இந்த வரிசை எப்படி பெரிய உள்ளது?
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> வரிசை மட்டுமே அளவு 2 இன்னும் உள்ளது
நாம் அது பயன்படுத்தப்படும் முன் வரிசை ஏனெனில், எந்த மாறி போல்,,, முதல் அறிவிக்கப்பட்டது
நாம் ஏனெனில் நான் போட போகிறேன் என்று 2 தரங்களாக வேண்டும் என்று இந்த மாறா இங்கு குறிப்பிடப்படவில்லை.
>> ஆனால் ஞாபகமிருக்கட்டும், கணினி விஞ்ஞானிகள் 0 இருந்து எண்ணிக்கை தொடங்கும்.
அந்த வரிசையில் முதல் இடம் அடைப்புக்குறி 0 ஆகும்.
அடுத்த இடம் 1. இந்த விஷயத்தை பக்க மேல் மிகவும் எப்போதும் மிகவும் சிறிதளவு உள்ளது.
எனவே வேறு வார்த்தைகளில், நான் உண்மையில் இந்த வரிசையில் இருந்தால் -
என்னை இந்த நமக்கு இங்கே ஒத்துழைத்து எவ்வாறு பார்க்கலாம் -
நான் ஒரு வரிசை இருந்தால் நான் வெறுமனே பின்வருமாறு வரையப்பட்ட என்று
நான் 2 உறுப்புகளுக்கும் இடம் ஒதுக்கீடு செய்து, நான் நினைவகத்தில் இப்படி வரைய வேண்டும்
இந்த பெரிய வெள்ளை கேன்வாஸ் எங்கே.
இது நான் என் கணினியில் ரேம், ரேம் ஒரு கிக், ரேம் 2 நிகழ்ச்சிகள், தான் என்ன,
ஆனால் இந்த 2 பெட்டிகள் இப்போது தனித்தனியாக ஒரு மிதவை, 32 பிட்களாக.
நான் 1.0 போல் இங்கே 1 எண்ணை வைத்து இருந்தால், நான் 3.2 போல் இங்கு மற்றொரு எண்ணை வைத்து
ஆனால் நான் இங்கே ஏதோ போல் அந்த அடைப்புக்குறி 2, செய்ய.
படம் ஆலோசனை மற்றும், ஒன்றும் இல்லை.
நான் இயங்கு கேட்கவில்லை ஏனெனில் அது மனிதனின் நிலம் போன்ற வகையான தான்
என்னை இந்த மூன்றாவது புதிர் கொடுக்க.
நான் அந்த மூன்றாவது புதிர் வேண்டும் என்றால், நான் forethought இருந்தது
அறிவித்து, அதை இயக்க அமைப்பு கேட்க கூடாது 2 இருக்கும் வினாவிடை
ஆனால் அதற்கு பதிலாக 3 சமமாக.
>> எனவே வேறு வார்த்தைகளில், நாம் திறமையாக கையில் இல்லை என்று படம் இங்கே இந்த தெரிகிறது.
மீண்டும் எந்த மனிதனின் நிலம் உள்ளது. நாம் நன்றாக இங்கே மதிப்புகள் எழுத முயற்சி இல்லை.
ஆனால் மீண்டும், கணினி விஞ்ஞானிகள் ஏனெனில், 0 இருந்து எண்ணுவதற்கு
நாம் வரிசையில் இந்த இடத்தை பற்றி பேசும் போது, அந்த, இடம் 0 இருக்க வேண்டும்
இந்த இடம் 1 இருக்க வேண்டும், மற்றும் இந்த கூட இல்லை
நாம் மட்டும் 2 போன்ற இடங்களை இயங்கு கேட்டு ஏனெனில்.
பிற மொழிகளில் இருந்து முன் நிரலாக்க அனுபவம் உங்களுக்கு அந்த எனவே
இந்த எப்போதும் வெக்டார்கள் என்று வரிசைகள் அல்லது பொருட்களை வழக்கு இல்லை என்று தெரியும்.
மாறாக, நீங்கள் மட்டும், சேர்த்து சேர்த்து மற்றும் வரிசைகள் விஷயங்களை சேர்க்க முடியும்
இது, வெளிப்படையாக, நாம் கீறல் என்று திறன் கொண்டிருந்ததாகவும் மற்றும் இன்னும் நாம் இங்கே இது வரை கொடுக்கப்பட்ட தெரிகிறது
சி உடன் ஏனெனில் நீங்கள் மிகவும் வெளிப்படையாக நிரலாக்க.
அதை இப்போது நீங்கள் மற்றும் கணினி மட்டும் தான், மற்றும் கணினி மட்டுமே செய்ய போகிறாள்
நீ என்ன செய்ய சொல்லுங்கள்.
நீங்கள் மட்டுமே இங்கே வரி 22 மூலம் நீங்கள் 2 மிதவைகள் கொடுக்க அதை சொல்ல அப்படி என்றால்,
2 இடைவெளி: நீங்கள் இயங்கு இருந்து திரும்ப பெற போகிறோம் அவ்வளவுதான்.
>> எனவே அதிக அளவில் உங்கள் திட்டங்கள் அவ்வப்போது வரிசைகள் குறித்து தரமற்ற போகிறீர்கள்.
இந்த நம்மை அனைத்து fallible இருக்கும் அதனால் விலங்கு தன்மை வெறும் மாதிரியான,
சில சமயத்தில் உங்கள் வரிசைக்கு எல்லை தாண்டி மிகவும் குறியீட்டு சாப்பிடுவேன்.
என்று நீங்கள் அடைப்புக்குறி ஒன்று சென்று சொல்லி ஒரு கற்பனை வழி
மற்றும் ஏதாவது ஒரு எண்ணை மட்டும் மிகவும் பெரியது. உங்கள் அணியின் எல்லைக்கு அப்பால்.
ஆனால் தலைகீழாக இப்போது இந்த.
இந்த திட்டத்தின் எஞ்சிய உண்மையில் வரிசைகள் செய்ய அடிப்படையில் இல்லை.
இது கணினி டிச சில எளிய கணித பற்றி தான்.
எனவே நாம் முதலில் இங்கே வளைய நாம் 0 துவக்க ஒரு மாறி என்று கூட்டுத்தொகையாக இங்கே இந்த வேண்டும்.
நாம் மீண்டும் 0 இருந்து 2 கூறு நாம் அந்த கூட்டுத்தொகை மாறி சேர்க்க
ith தர, அதனால் அடைப்புக்குறி 0 பின்னர் அடைப்புக்குறி 1.
பிறகு, சராசரி கணக்கிட தர பள்ளியில் போல்
நாம் வெறுமனே அந்த தொகையை எடுத்து, வினாவிடை எண்ணிக்கை அதை பிரித்து
பின்னர் நல்ல நடவடிக்கை நாம் சுற்றில் என்று இங்கே ஒரு விழா அழைப்பு.
>> இப்போது, ஒரு ஒதுக்கி என, வரி 34 இந்த parenthetical எண்ணாக கொண்ட ஒப்பந்தம் என்ன?
இது பகுதியில் ஏற்கனவே வந்திருப்பார்கள், உண்மையில், முறையாக இங்கே அதை பற்றி பேசவே இல்லை
ஆனால் parens அநேகமாக செய்து இந்த எண்ணாக என்ன? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்]
சரி, இந்த, நடிப்பதற்கு அல்லது typecasting குறிக்கிறது
இதில் 1 தரவு வகை எடுத்து மற்றொரு அதை மாற்றுவது என்பது.
சில நேரங்களில் அது ஒரு பிட் வித்தியாசமாக இருக்கும், ஏனெனில் நீங்கள் அனைத்து தரவு வகைகள் இந்த செய்ய முடியாது.
ஆனால் இந்த வழக்கில், நீங்கள் சுற்று திரும்ப மதிப்பு ஒரு மிதவை உள்ளது
ஏனெனில், 2 போன்ற அனைத்து பிறகு, நான் ஒரு மிதவை எடுத்து மற்றும் ஒரு எண் மூலம் பிளவு
நான் ஒரு மிதவை மீண்டும் கொண்டு வர போகிறேன்.
ஆனால் வகுப்பு பள்ளி மக்களின் சராசரி 93,4 என்று தெரிந்து கொள்ள மிகவும் பிடிக்காது
அவர்கள் எப்போதும் இருந்தது உணர்வார் ஏனெனில் அந்த 95 ரவுண்டிங் புள்ளி அருகில்.
>> எனவே, அதற்கு பதிலாக அருகில் உள்ள எண்ணாக அனைவரும் சுற்று எண்ணாக பயன்படுத்த வேண்டும்
அதை பிறகு எந்த இடத்திலிருந்து 94 ஆக போகிறது இந்த வழக்கில் இது.
அதனால் தான் ஒரு சிறிய கணித தந்திரம் தான்.
இது விளைவுகளை ஏற்படுத்தும் என்பதால் நாம், வார்ப்பு இந்த கருத்தை திரும்ப வருவேன்
நீங்கள் ஏற்கனவே கண்டுபிடிக்கப்பட்டது இல்லை என்றால், சிக்கல் 2 அமைந்தது.
ஒரு வரிசைக்கு பிறகு எனவே, நீங்கள் நினைக்க முடியாது - அது என்னை நாள் முழுவதும் சிரித்து செய்ய நடக்கிறது.
நீங்கள் ஒரு படத்தை வரைந்து அது, இந்த மாதிரி
ஆனால் முக்கிய அளவு கூட நீங்கள் தேர்வு செய்யும் என்று
நீங்கள் இயங்கு அதை கேட்டு போது.
பின்னர் எந்த கேள்விகளுக்கும் வரிசைகள் மீது? Yeah.
[செவிக்கு புலப்படாமல் மாணவர் கேள்வி]
ஓ, நல்ல கேள்வி.
கேள்வி வரிசையில் பூஜ்ய 0 நடந்தது என்ன? இந்த சூழலில் இல்லை.
என்று மட்டுமே நாம் ஒரு நொடியில் வந்து பற்றி நீங்கள் எந்த சரங்களை, பின்னணியில் உள்ளது.
ஆனால் ஒரு அணி, இந்த வழக்கில் என, நீங்கள் எல்லாம் உனக்காக இயங்கு கேட்கவேண்டும்.
>> மற்றும் ஒரு ஒதுக்கி, இந்த தெளிவாக இருக்க போகின்றீர், என
நான் இயங்கு கேட்க சொல்லி வைக்க, இயங்கு ask.
ஒரு இயங்கு, உங்களுக்கு தெரிந்திருக்கும் என, Mac OS, விண்டோஸ், லினக்ஸ் உள்ளது.
நீங்கள் GetFloat போன்ற செயல்பாடுகளை நினைத்தீர்கள் போது
அல்லது நீங்கள், தரங்களாக போன்ற மாறிகள் பிரகடனம்
நாள் முடிவில் நீங்கள் சிறப்பாக வேறு யாராவது அந்த நினைவு கொடுக்க கேட்கிறாய்
நாம் மென்பொருள் ஆர்வலர் ஏனெனில்
உண்மையில் நினைவக அணுகக்கூடிய பெற எப்படி தெரியாது.
ஆனால் யாராவது: இயங்கு.
எனவே தவிர அழகான சின்னங்கள் மற்றும் மெனுக்கள் மற்றும் கோப்புறைகள் எங்களுக்கு வழங்குகிறீர்கள் மற்றும் போன்ற
நீங்கள், ஒரு மேக் அல்லது பிசி என்பதை, உங்கள் டெஸ்க்டாப் பார்க்க என்று
இயக்க அமைப்புகள், குறைந்த அளவில் இவ்வுலகை பொருளின்
ஜிகாபைட் நிர்வகிக்கும் மிகவும் தொழில்நுட்ப விஷயங்கள்
அல்லது உங்களுக்கு என்று நினைவகம் 2 ஜிகாபைட், நீங்கள் அந்த CPU மேலாண்மை, மற்றும் முன்னும் பின்னுமாக.
நீங்கள் குறியீடு எழுதும் நீங்கள் மிகவும் போது,
நீங்கள் உண்மையிலேயே அந்த உணர்வு உங்கள் செயல்படும் கணினியில் hooking.
நான் அந்த குறைக்க வேண்டும் போகிறேன். எல்லாம் சரி.
>> அணிகளை பற்றி மற்ற கேள்விகள்?
இல்லை? சரி.
எனவே மாற்றம் இயல்பாகவே வரிசைகள் இருந்து ஒரு பிட் பழக்கமான என்று ஒரு தலைப்பு உண்மையில்.
மற்றும் நாம் இந்த கடைசி நேரத்தில் மிகவும் சுருக்கமாக இதுவரை பார்த்ததில்லை.
இந்த புதன் இருந்து ஒரு சரம் எடுத்துக்காட்டாக இருந்தது.
இந்த சரம் எடுத்துக்காட்டாக, ஒரு அழகான எளிமையான நிகழ்ச்சியாக
நான் உண்மையில் இன்று நோக்கங்களுக்காக வரிகளை ஒரு ஜோடி மூலம் எளிதாக.
அது வரி 19 செய்யும் அனைத்து, பயனர் ஒரு சரம் கிடைக்கும் என்பது கள் எனப்படும் ஒரு மாறுபடும் அதை சேமித்து.
பின்னர் வரி 22 முதல் அதை வெளிப்படையாக வரிக்கு என்று சரம் 1 எழுத்தை அச்சிடுகையில்.
ஆனால் எப்படி இதை செய்கிறாள்?
நாம், 0 சமமாக அதை அமைக்க, ஒரு மாறி நான் பிரகடனம்
இந்த இப்போது பழைய பழக்கம் வருகிறது.
நாம் புதன்கிழமை வரை இந்த பார்த்ததில்லை, ஆனால் நீங்கள் அதன் பெயர் இருந்து ஊகி என்ன செய்ய முடியும்
strlen தான் கள் கொடுக்கப்பட்ட போது என்ன கொடுக்கிறது? சரம் நீளம்.
நான் அதை ஒரு சரம், ஆனால்-மேற்கோள் டேவிட், கடந்து இருந்தால்
இது வட்டம் எனக்கு ஏனெனில் டேவிட் எண்ணிக்கை 5 திரும்ப நடக்கிறது.
அதனால் வாழ்க்கையை அதன் நோக்கம் கடின நீங்கள் குறியாக்கம் என்பதை, ஒரு சரம் எடுக்க தான்
அல்லது இந்த வழக்கில், ஒரு விவாதம், ஒரு மாறி என சொருகப்பட்டு
அது அந்த சரம் நீளம் என்ன அவுட் சித்தரிக்கப்படுகிறது.
>> எனவே இங்கே இப்போது நாங்கள் முன்னாடி வினாடி வினா எடுத்துக்காட்டாக சில குறியீடு கடனாக.
இந்த, மிதவைகள் எதுவும் இல்லை வினாவிடை எதுவும் இல்லை,
ஆனால் இது சிறிய வெள்ளை பொய் நாம் வாரம் 1 முதல் உன்னிடம் சொல்கிறேன் என்று மாறும்
சி ஒரு சரம் உண்மையில் இல்லை என்று
நாள் முடிவில் ஒரு சரம் உண்மையில் ஒரு வரிசை ஆகும்.
அது திரும்ப வெறும் 8 பிட்கள் பைட்டுகள் ஒரு வரிசை, அதனால் பைட், பைட், பைட், பைட், தான்
எனவே நினைவகத்தை துண்டின், நினைவகம் துண்டின், நினைவகம் துண்டின், நினைவகம் துண்டின்.
மற்றும் ஒரு சரம் செயல்படுத்தப்படும் ஒரு வழிமுறையாகும்
, இங்கே முதல் எழுத்தை வைத்து இருக்கிறது
பின்னர் இங்கே, பிறகு இங்கே, பிறகு இங்கே, மீண்டும் கணினி நினைவகத்தில் மீண்டும் மீண்டும்.
நீங்கள் வணக்கம் போன்ற ஒரு வார்த்தை கூற வேண்டும் என்றால், நீங்கள் 1 தன்மையை எச், ஏற்படும்
பின்னர் மின், பின்னர் எல் பின்னர் எல், பின்னர் ஓ - மொத்தம் 5 எழுத்துக்கள் - எங்காவது உங்கள் கணினியின் RAM இல்.
ஆனால் இங்கே முக்கிய விவரம், அவர்கள் திரும்பி செல்ல மீண்டும் மீண்டும் போகிறாய் என்று
ஒரு மற்றொரு பக்கத்தில்.
நான் சொல்ல போது கள் [நான்], ஆங்கிலம் என்ன இந்த என்னிடம் கொடுத்து இருக்கிறது?
கள் [நான்] இந்த விஷயத்தில் என்ன பிரதிநிதித்துவம்? Yeah.
>> [மாணவர்] சரம் இல் ith பாத்திரம். சரியாக >>. சரம் இல் ith பாத்திரம்.
இப்போது, நான், இங்கே லூப் என் படி 0 துவங்க போகிறது
எல்லாவற்றையும் 0 இருந்து எண்ணிக்கை தொடங்குகிறது ஏனெனில் ஆனால் நல்லது.
கள் மிகவும் [0] வணக்கம் போன்ற ஒரு வார்த்தையில் கடிதம் எச் பிரதிநிதித்துவம் போகிறது,
கள் [1] எனவே இனிமேல் வணக்கம் போன்ற ஒரு வார்த்தையில் மின் போன்ற ஒரு கடிதம் பிரதிநிதித்துவம் செய்ய, மற்றும்.
மற்றும் நாம் இந்த வளைய ஒவ்வொரு மறு செய்கை மீது என்ன தெரிகிறது
தற்காலிகமாக ஒரு கரி இது, கேட்ச் என்று மாறி ith தன்மையை சேமித்து உள்ளது,
மற்றும் நாம் கேட்ச் அச்சிடுகிறது
அதனால் இந்த திட்டம் என்ன நாள் முடிவில் பின்வரும் உள்ளது.
நான் மூல அடைவில் போய், நான் string1 செய்ய நான் போய் string1 இயக்க வேண்டும்
பின்னர் நான் வணக்கம், உள்ளிடவும் போன்ற ஒரு வார்த்தையை தட்டச்சு, அது ஒரு நேரத்தில் இந்த 1 தன்மையை அச்சிட உள்ளது.
>> எனவே செம்மை ஒரு வாய்ப்பு இங்கு உள்ளது.
இது தேவையான விட, ஒருவேளை இந்த வழியில் இன்னும் தெளிவு கூட நான், இன்னும் வேலை செய்து வகையான இருக்கிறேன்.
நான் அநேகமாக முற்றிலும் இது இங்கே குறியீடு வரிசையில் எறியுங்கள் முடியும்? Yeah.
வரி 24. வரி 24 நான் ஒரு மாறி கேட்ச் அறிவித்தார்.
நான் அதை வி ith தன்மையை சேமித்து, ஆனால் நான் இங்கே கேட்ச் பயன்படுத்தி வருகிறது.
நான் கேட்ச் பயன்படுத்தி, அதனால் நான் 24 விட்டு வரி எறிய முடியாது போல் நான் உணர்கிறேன்.
[செவிக்கு புலப்படாமல் மாணவர் கருத்து] >> சரியாக.
அது போது, நிரல்களின் வடிவமைப்பு பற்றி பேசி வருகிறார்
போல் படிக்க எந்த குறியீடு இந்த லேசான தெளிவுபடுத்தல்,, கவனிக்க
ஆனால் கள் ஒரு மாறி என்று உணர்ந்து, அதன் தரவு வகை, ஒரு வரிசை உள்ளது
கள் மிகவும் [நான்] நான் உடனடியாக அந்த சரம் இல் ith தன்மையை திரும்ப போகிறது.
நீங்கள் அச்சிட வேண்டும் என்றால், அது நல்லது.
நீங்கள், நீங்கள் ஒரு சரம் அச்சிடும் இருப்பதால்% கேட்ச் பயன்படுத்த வேண்டும்
நீங்கள் ஒரு சரம் ஒரு எழுத்தை அச்சிடுகையில், இந்த மிக ith எழுத்தை அச்சிடுகையில் விளைவு உண்டு.
மற்றும் printf பயன்படுத்தி கடந்த வாரம் இருந்து உண்மையில் மட்டுமே வேறுபாடு நினைவு
வாரங்களில் அதேசமயம் நாம் சூப்பர் எளிய ஏதாவது செய்ய வேண்டும் கடந்த என்று
% கள் ஒதுக்கிட போல் இங்கே ஒரு சரம் பெயர்,
இப்போது நாம் பேட்டை அடியில் ஒரு சிறிய ஆழமான உள்ள டைவிங் இருக்கிறீர்கள், என்று
சரம் அச்சிட கூடாது; அதில் ஒற்றை தன்மை அச்சிட.
>> 1 மற்ற இல்லை, ஏனெனில் நாங்கள் இங்கே வேறு ஒரு சிறிய ஏதாவது செய்ய முடியும் - இல்லை பிழை
இந்த திட்டம் சரியாக இருப்பதால், ஆனால் நான் முட்டாள் ஏதாவது செய்கிறேன்
நான் புதனன்று சுருக்கமாக குறிப்பிட்ட அந்த.
ஆனால் இந்த திட்டம் வடிவமைப்பு மேலும் மேம்படுத்தலாம் எப்படி, மீண்டும் நினைத்து? Yeah.
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> ஓ, நல்ல.
எனவே நாம் ஒரு எனப்படும் இரண்டாவது மாறி n கடந்த முறை அறிமுகப்படுத்தப்பட்டது என்று நினைவு,
இது என் இலக்கு இரண்டாவது முன்பு நம்மை முரணாக தெரிகிறது
, தேவையற்ற ஒரு மாறி எறியுங்கள் மட்டும் தான்
ஆனால் புதனன்று நாம் உண்மையில் இந்த என்று நினைவு.
நான், பிறகு n = strlen, உண்மையில் இங்கே ஒரு கமா வேண்டும் லூப் மாற்றம்
பின்னர் இங்கு நான் <n, நான் என் அதிகரிக்கும் செய்தாள்.
அடிப்படை gain நான் இந்த என் துவக்கும் மாற்றுவதன் மூலம் அடைய நான் என்ன ஆகும்
இந்த இப்போது என் நிலைமை? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரியாக.
நான் நினைவு ஏனெனில் மீண்டும் மீண்டும் மீண்டும் strlen அழைத்தல் மற்றும் எப்படி மடக்கி படைப்புகளுக்கான.
அவர்கள், மிகவும் சிக்கலான காணப்படும் பெற ஆரம்பிக்க கூட
முதல் அரைப்புள்ளி முன் தான் ஒரு முறை நடக்கும் இது தொடக்க, என்று நினைவு.
இந்த நிலையில், இருப்பினும், நடுத்தர உள்ளது
இந்த நீங்கள் வளையத்தின் வழியாக செல்லும் ஒவ்வொரு முறையும் சோதிக்கப்பட்டது.
>> அது முட்டாள் மாதிரி மீண்டும் மீண்டும் கணினி அதே கேள்வியை கேட்டு இருக்க வேண்டும் என்று -
ஹலோ நீளம் என்ன? ஹலோ நீளம் என்ன? ஹலோ நீளம் என்ன? -
இன்று நாம் பார்க்க வேண்டும் ஏனெனில் மற்றும் புதனன்று, இந்த நிச்சயமாக, நேரம் போகிறது
ஒரு சரம் நீளம் கண்டுபிடிக்க ஏனெனில் அது நேரம் நல்ல பயன் இல்லை
உண்மையில் முயற்சியின் ஒரு பிட் எடுக்கும்.
சில மொழிகளில் என்பதால், உடனடியாக இல்லை.
எனவே n இந்த மாற்றுவதன் மூலம், நான் செலுத்தும் நான் என்ன விலை?
நாம் இங்கே ஒரு வர்த்தக பரிமாற்றம் பார்க்கிறோம்.
நான், மீண்டும் மீண்டும் அதே மட்டமான கேள்வி கேட்கவில்லை நேரத்தை சேமிக்க முடியும்
ஆனால் அது என்னை என்ன இது ஏதோ, செலவு நடக்கிறது?
>> [மாணவர்] நீங்கள் நினைவகம் ஒரு குறிப்பிட்ட அளவு இழக்க. சரியாக >>. அது எனக்கு நினைவு செலவு நடக்கிறது.
இந்த வழக்கில் அது என்னை என்ன செலவாகும்?
மற்றொரு 32 பிட்கள் இங்கே வார்த்தை எண்ணாக மூலம் மறைமுகமாக, n, தான் ஒரு முழு எண்ணாக இருப்பதால்.
ஆனால் சரியா?
நீங்கள் அதை பற்றி நினைத்தால், ஏனெனில் வெளிப்படையாக, என்று, ஒருவேளை பரவாயில்லை
இனி சரம், நான் வீண் வேண்டும் போகிறேன் இன்னும் நேரம் இருக்கிறது
strlen மீண்டும் மீண்டும் மீண்டும் அழைத்து போகிறது ஏனென்றால்
வளைய ஒவ்வொரு மறு செய்கை க்கான.
இந்த நாட்களில், என் மேக் ரேம் 2 நிகழ்ச்சிகள், இந்த நாட்களில் சில ரேம் 4 நிகழ்ச்சிகள் உள்ளன.
நான் உண்மையில் விஷயங்களை வேகமாக அந்த பைட்டுகள் 4 முடியாது என்று.
ஆனால் இந்த நிரலாக்க மற்றும் கணினி அறிவியல் உண்மையில் ஒரு வர்த்தக பரிமாற்றம் மற்றும் ஒரு தீம் போகிறது
உண்மையில் இலவசமாக எதையும் பெற முடியாது என்ற.
நீங்கள் இங்கே ஏதாவது மேம்படுத்த விரும்பினால், நீங்கள் எப்படியோ மற்ற கையில் கொடுக்க வேண்டும்.
இந்த வழக்கில் விண்வெளி மற்றும் நேரம்.
>> இந்த அனைத்து, இந்த ரகசிய ஏதோ நோக்கி வரவிருந்த
இது, ஒருவேளை நீங்கள் இப்போது வெளியே வந்தார் என, உண்மையில் சொல்வது?
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி, அதனால் இந்த, உங்கள் Ovaltine குடிக்க உறுதிப்படுத்தவும்
உண்மையில் ROT13 என்று ஒரு படிமுறை, அழுகல் 1-3, பயன்படுத்தி
இது தான், கடிதங்கள் அனைத்தும் 13 இடங்களில் சுழலும் பொருள்
இது ஒரு எடுத்து பின்னர் அது 13 சேர்க்க மற்றும் டாட், டாட், டாட் போக பொருள்
விட்டு 13 கடிதத்தை அனைத்து வழி, அதனால் அடிக்கடி பி மற்றும் சி மற்றும் டி அதே காரியத்தை செய்ய.
நாம் உண்மையில் 13 இடங்களில் ஒரு மாற்றத்தை பயன்படுத்தி இங்கே இதை மாற்ற நீங்கள்,
நாம், கொஞ்சம் Ralphie என்ன வருகிறேன், உங்கள் Ovaltine குடிக்க என்பதை உறுதி செய்யப்பட்டது.
ஆனால் இப்போது சிக்கல், குறைந்த பட்சம் தரமான பதிப்பில், 2 அமைந்தது
நீங்கள், இந்த உங்களை enciphering என்ன மாதிரியான வேண்டும்
நாம் எப்படியாவது இந்த உள்ளீட்டில் எடுத்து அதை அல்லது டிக்ரிப்ட் அதை குறியாக்கம் வேண்டும்.
>> எனவே இந்த அடிப்படை வகையான அந்த வாய்ப்பு நமக்கு ஏற்படுகிறது?
அது இங்கே இந்த மூன்றாவது உதாரணமாக ஒரு பார்க்கலாம்.
முதலில், அது ஆஸ்கி என்று. ASCII திரும்ப என்ன பார்க்கவும்?
தகவல் பரிமாற்றம், அமெரிக்க ஸ்டாண்டர்ட் கோட்,
இது என்ன என்று ஒரு உண்மையில் நீண்ட வழி? ASCII என்ன?
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> என்று என்ன? >> [மாணவர்] ஒரு பாத்திரம் வரைபடத்தை. >> ஒரு பாத்திரம் வரைபடத்தை.
உலக தரப்படுத்தப்பட்ட ஏனெனில் அது கடிதங்கள் எண்களை வரைபடமாக்குகிறது
என்ன எண்கள் நம் அனைத்து கணினிகளிலும் பயன்படுத்த முடியும் என்று என்ன கடிதங்கள் குறிக்கும்
நமது திட்டங்கள் அனைத்தும் அதை திரையில் விஷயங்கள் வெளியே அச்சிடும் போது தான் இணக்கம்.
எனவே 65 ஒரு பிரதிநிதியாக நடக்கும் என்று நினைவு, 97 ஒரு சிற்றெழுத்து பிரதிநிதித்துவப்படுத்துவதாக நடக்கிறது.
அதனால் இங்கே இந்த எளிய நிரல் ASCII என்ற உண்மையை பயன்படுத்தி வருகிறது -
உலக மூலதன ஒரு 65 என்று தெரியும் - அது வெறும் மேப்பிங் அச்சிடும் தான்.
>> நாம் இந்த குறியீடு ஒரு டைவ் முன் அதனால், எனக்கு பதிலாக ஒரு முனை விண்டோவில் திறக்க அனுமதிக்க.
என்னை போய் ஆஸ்கி செய்ய, பின்னர் அது வெறுமனே வெளியீடு கெடுக்க இந்த விஷயம் ரன் விட்டு.
எனக்கு பல்வேறு குறியீடுகள் அனைத்து சொல்கிறது என்று ஒரு பெரிய விளக்கப்படம்: அது தான் இந்த பதிவு
பல்வேறு கடிதங்கள் எல்லாம்.
ஒரு சூப்பர் எளிய நிரல் எனவே, ஆனால் நான் கடுமையாக குறியீடு வெளியீட்டு அந்த 52 கோடுகள் இல்லை:
26 காபிடல், 26 ஸ்மால்.
அதற்கு பதிலாக, நான் சுழல்கள் ஒரு ஜோடிக்கு நிரலாக்கத்தின்படி இதை.
நான் இங்கே என்ன செய்து கவனிக்க.
நான் 26 கடிதங்கள் அவுட் அச்சிட வேண்டும், ஏனெனில் நான் 65 + 26 அன்று நான் 65 ஆகும் இருந்து iterated
ஆங்கிலம் எழுத்துக்களில், நான் + ஒவ்வொரு மறுசெய்கையும் மீது, இப்போது மீண்டும் இந்த அறிவிப்பு.
அது நம் நண்பர் typecasting மீண்டும் தான்
நீங்கள் மற்றொரு 1 தரவு வகை மாற்ற பணிகளில்
நான் என்ன இந்த குறிப்பிட்ட திட்டத்தில் செய்ய வேண்டும்? ஏனெனில்
எனவே இனிமேல் 65, 66, 67, மற்றும் - நான் என்று நான் எண்ணும் வளர்ந்தார் எப்படி எண்ணிக்கையில் எண்ண வேண்டும் -
ஆனால் நான் எண்கள் அச்சிட விரும்பவில்லை.
நான் பல தொடர்ந்து கடிதம் அச்சிட வேண்டும்.
எண், பி: நான் ஒரு அச்சிட வேண்டும் எண், ஆனால் நான் அதே துல்லியமான மாறி இந்த செய்ய முடியும்.
நான், ஒரு கதாபாத்திரம் ஒரு ஒதுக்கிடமாக% கேட்ச் அவுட் அச்சிட
ஒரு இலக்க ஐக்கிய அல்லது எண்ணை ஒரு ஒதுக்கிடமாக% d.
பிறகு நான் அந்த 2 பெட்டிகள் உள்ள என்ன அடைப்பை?
நான் தன்மையை சமமான முதல் ப்ளக், மற்றும் பின் நான் வெளியே தன்னை அச்சிட.
>> எனவே இது இயங்குகிறது கவனிக்க.
நான் ஒரு முழு எண்ணாக ஒரு கையிருப்பில் இருந்து நடிக்க முடியாது போல்
ஒரு உண்மையான எண்ணிக்கை ஒரு முழு சென்று பொருட்டு,
இங்கே நான் ஒரு முழு எண்ணாக இருந்து சற்றே ஒரு கரி செல்லலாம் -
மிகவும் உண்மையான உலக மீது வரைய முடியாது - ஆனால் கணினிகள்,
ஒரு கரி, தொப்பி கீழே ஒரு எண்
எனவே, என்று, கணினி இங்கே எப்போதும் மிகவும் வெளிப்படையாக இருப்பது
printf, நான், 65 என நாட் அவுட் அச்சிட அதன் எண் சமமானதாக அவுட் அச்சிட.
நான் தொழில்நுட்ப கூட இந்த தேவையில்லை அவுட் மற்றும் அது மாறிவிடும்.
நான் ஒரு கணம் முன்பு என்ன செய்து கொண்டிருந்தேன் என்று வெளிப்படையாக வார்ப்பு
நான் சென்று, என்ன தரவு வகை குறிப்பிடுவதன் மூலம்.
ஆனால் நான் ஏற்கனவே இந்த ஒதுக்கிட% கேட்ச் என்று அறிவிப்பு
இங்கே இந்த மற்ற% கேட்ச் ஒதுக்கிட.
இந்த எண்ணாக இல்லை என்றாலும், கணினி, ஒரு எரிப்பதை உணர்ந்துள்ளார்
அது தொப்பி கீழே ஒரு முழு எண்ணாக தான்.
>> நான் உண்மையில் இந்த மீள்தொகுப்பானது மற்றும் ASCII திட்டத்தை மீண்டும் இயக்கவும் இருந்தால்,
கணினி இந்த கடித இல்லை என்று உணர்ந்து, ஏனெனில் அது இன்னும் இயங்குகிறது கவனிக்க.
இப்போது, அது ints செய்ய மிதவைகள் உலகில் வெளிப்படையான நடிப்பதற்கு செய்ய மிகவும் அவசியம்
அங்கு, ஏனெனில் நீங்கள் உண்மையில் ஒரு கணக்கிடப்படுகிறது முடிவெடுக்கும்:
தசம புள்ளி பின்னர் எல்லாம் எறியுங்கள்.
இங்கே ஒரு பாத்திரம் ஒரு எண் என்பதால் எறியுங்கள் உண்மையில் ஒன்றும், அங்கு
மற்றும் ஒரு சரம் வெறும் எழுத்துக்கள் ஒரு வரிசை ஆகும்.
அது சில குறியாக்கம் அல்லது குறியீடு நீக்க செயல்படுத்த நேரம் வரும்போது,
நாம் உண்மையில் இந்த முட்டாள்தனத்தை போல, மொழிபெயர்க்க முடியும் என்று எப்படி இருக்கும்
உங்கள் Ovaltine குடிக்க வேண்டும்?
நாம் இப்போது தெரிந்தால் - இன் அனுமானம் என அழைத்து செல்லலாம் - முக்கிய,
நாம், இந்த கடிதங்கள் அனைத்தையும் சுழலும் என்று பல பல 13?
எனவே, கடிதம் பி இருந்து தண்டனை தொடக்கத்தில் ஓ அனைத்து வழி சென்றார்
நான் பி செய்தால் ஏனெனில், உங்கள் Ovaltine குடிக்க வேண்டும்
பின்னர் நான் சி, டி, இ, எப், ஜி, எச், ஜே, கே, எல், எம், என், ஓ, போக
கடிதம் பி குறியாக்க ஓ ஆகிறது அதனால் தான்
நான் அதை 13 சேர்க்க முடியாது.
>> நான் டிக்ரிப்ட் இந்த வேண்டும் என்றால், நான் அடிப்படையில் ஓ எடுத்து அது இருந்து 13 கழித்து வேண்டும்.
எழுத்துக்களில் 26 எழுத்துக்கள் இல்லை, ஏனெனில் அல்லது, வெளிப்படையாக, இந்த, பிரமாதமாக சமச்சீரான
நாங்கள் வெறும் 13 சேர்க்க முடியும் மற்றும் நாம் கடிதம் பி வருகிறேன்
ஆனால் நீங்கள் சீசர் இந்த மாதிரி ஏதாவது செயல்படுத்த பற்றி எப்படி போகிறீர்கள்
அல்லது உண்மையிலேயே பொதுவாக சரங்களை கையாள்வது?
கடிதம் பி என்ன எண் இருந்தால்?
கடிதம் பி என்ன? அது சரி, 66 தான்!
ஒரு கடிதம் 65 மற்றும் கடிதம் பி 66 ஆக இருந்தால்,
66 எனவே, நான் என்ன செய்ய வேண்டும் அனைத்து இது 13 சேர்க்க, மற்றும் இந்த என்னை 79 கொடுக்கிறது.
மற்றும் நாம் கொஞ்சம் ஏமாற்று பட்டியல், பெ மீது 79 உண்மையில் வரைபடங்கள் போனால்
>> ஆனால் ஒரு மூலையில் வழக்கில் ஒரு பிட் இங்கே உள்ளது.
என்ன,, கடிதம் Z சொல்ல?
நாம் எழுத்துக்களை இறுதியில் அனைத்து வழி பெற 66 + 25 செய்தால், நாங்கள் 91 மணிக்கு தான்.
91 + 13 எனக்கு 104 அளிக்கிறது, என்ன தெரியுமா?
104 ஒரு தொடரை கடிதம் சமமாக இல்லை.
அது இங்கே ஒரு சிறிய ஏமாற்று பட்டியல் மீண்டும் செல்லலாம்.
நான் சாதனம், அறிவிப்பு, இந்த திட்டத்தை மீண்டும் இயக்கவும் என்று 104, நான் முனைய சாளரத்தில் திரும்பி சென்றால்,
104 வெளிப்படையாக ஸ்மால் மணி ஆகும்.
எனவே நாம் Z மணிக்கு தொடங்கும் போது உறுதி செய்வதற்கு இங்கே சில முக்கிய தந்திரம் வேண்டும்
மற்றும் நாம் ஒரு பெரிய மற்றும் பெரிய எண்களுக்கு முன்னால் ராஜ்காட் வைக்க வேண்டாம் அது 13 சேர்க்க.
நாம் உண்மையில் என்ன செய்ய விரும்புகிறீர்கள்?
நீ சுற்றி வேண்டும்.
>> அதை நீங்கள் இப்போது பிரிவில் அல்லது பிரச்சனை தொகுப்பு ஸ்பெக் தன்னை ஒருவேளை பார்த்தேனே, மாறிவிடும்
ஒரு சதவீதம் அடையாளம் ஆகும் என்று சி மற்ற ஆபரேட்டர் உள்ளது என்று,
ஆனால் நாம் ஒரு தற்காலிக குறிப்பிட இங்கே% பயன்படுத்திய அதே சமயம்,
குறிப்பாக பிரச்சனை தொகுதி 2, இப்படி கூட இல்லை, என்று:
int x = y% z.
என்னை இந்த ஒரு மிகவும் பொதுவான வடிவமாக இந்த அறிமுகப்படுத்துகிறேன்.
சதவீதம் நிரலாக்க மொழியில் என்ன அர்த்தம்? >> [மாணவர்] மட்டு.
எஞ்சிய என்று ஒரு கற்பனை வழி இது மட்டு.
அங்கு வரையறை ஒரு சிறிய வேறுபாடு, அங்கு கூட
இதன் z மூலம் y பிரித்து ஆனால் அந்த பிரிவின் விளைவாக வர வில்லை;
அதற்கு பதிலாக, எஞ்சிய திருப்பி.
>> Y உண்மையில் 3 மற்றும் z, உண்மையில் 2 வகுக்க 3 2 ஆக இருந்தால், 1 ஒரு மீதம் உள்ள 1
அதனால் என்ன x இந்த சூழ்நிலையில் உண்மையில் சமமாக இல்லை? 1.
இது ஒரு எளிய, குறைந்த அளவு யோசனை.
அது உங்கள் மனதை அது சுற்றப்பட்டுள்ள பெற சிறிது நேரம் எடுக்கும்
நீங்கள் கூட ரிமைண்டர்ஸ் பற்றி கவலைப்பட வேண்டும் என்பதால் அது பெரும்பாலும் போது இருந்தது, ஏனெனில்
உண்மையில், அவசியமான ஒன்று அவர்களை பயன்படுத்த
ஆனால் இந்த விஷயத்தில் நீங்கள் 3 போன்ற ஒரு பெரிய எண் இருந்து போக முடியும் என்று எளிய உண்மையை
பின்னர் 2 மற்றும் ஒரு சிறிய எண்ணிக்கையிலான திறம்பட சுற்றி
1 ஒரு சிறிய மதிப்பு எஞ்சிய பயன்படுத்தி ஒரு விலைமதிப்பற்ற தந்திரம் போகிறது
நாம் சீசர் போல இந்த மற்ற ஒன்று வைஜெனேர் இரு பயன்படுத்தலாம் என்று
பிரச்சனை 2 அமைந்தது, ஆனால் இந்த செமஸ்டர் முழுவதும் தொடர்ச்சியான தந்திரம் போகிறது.
நான் பொதுவாக எஞ்சிய எடுத்து இந்த எளிய, எளிய யோசனை
நம்மை சுற்றி அனுமதிக்க வேண்டும்.
நாம் நினைவு தன்னை இன்னும் விளையாட ஆரம்பிக்க நாம், வரிசைகள் இன்னும் விளையாட தொடங்கும் என,
இந்த சக்திவாய்ந்த தந்திரம் பற்றி மேலும் போகிறாள்.
>> எனவே ஆஸ்கி மீது எந்த கேள்விகள் அல்லது வரிசைகள் போன்ற சரங்களின் பிரதிநிதித்துவம்?
நாம் 1 மீதோ மேலும் அதை எடுத்து வருகிறேன். Yeah.
[செவிக்கு புலப்படாமல் மாணவர் கேள்வி] >> நல்ல கேள்வி.
ஒரு மாறி அதை முன் நட்சத்திர போது என்ன அர்த்தம்?
என்னை தள்ளி விட்டு எந்த விவரம் என்று பதில்,
ஆனால் ஒரு சுட்டிக்காட்டி என்று ஒரு தலைப்பை குறிக்கிறது.
சுட்டிகள் நினைவக செய்ய வேண்டும், மற்றும் நாம் உண்மையில் இன்று தான்
அந்த விவாதம் நோக்கி முதல் அடியை எடுத்து,
ஆனால் இப்போது, எனக்கு நட்சத்திரம் இல்லை என்று பாசாங்கு செய்யலாம்
நாம், சரங்கள் சரங்கள் அழைப்பு பதிலாக எரிப்பதை * பயன்படுத்தி செய்வோம்
ஒருவேளை நீங்கள் முன்னர் பார்த்த நான் ஒரு டீஸர் போன்ற ஒரு நொடியில் திரையில் வைக்கிறேன் இது.
நாம் ஒருவேளை அப்படி நீங்கள் பல விட வழி இன்னும் விரிவாக என்று திரும்பி விடுவேன்.
இறுதியில், இன்று இல்லை. Yeah.
>> [செவிக்கு புலப்படாமல் மாணவர் கேள்வி]
என்ன பின்னணியில் நீங்கள் ஒரு கதாபாத்திரத்தை அடையாளம் வழங்க வேண்டும்? >> [மாணவர்] சரி.
எனவே இயல்பாக, நீங்கள் ஒரு + போடாதே போது, ஒரு நேர்மறை எண்கள் கருதப்படுகிறது.
வெறும் எண் 1 எழுத எனவே, அது ஒரு நேர்மறை 1 தான்.
நீங்கள் உண்மையில் ஒரு மதிப்பு எதிர்மறை குறிப்பிட வேண்டும் என்றால்,
நீங்கள் உண்மையில் உங்கள் விசைப்பலகை -1 செய்ய வேண்டும்.
ஆனால் இந்த ஒருவேளை உங்கள் பிரச்சினை அல்ல. >> [செவிக்கு புலப்படாமல் மாணவர் பதில்]
>> கேள்வி நல்ல. சரி.
இந்த பிழை சில வகையான, நான் சேகரிக்க, செய்ய வேண்டும் என்று நீங்கள் கடக்கும்
நீங்கள், ஒரு கதாபாத்திரம் ஒரு முழு எண்ணாக மாற்றும் ஏனெனில்
ஆனால் எப்படியோ எதிர்மறை, தொடர்பு கிடைத்தது
அதனால் தான் வெளியே வந்து தன்மை எப்படியோ munged.
எனவே இப்போது, நாம் தலைப்பில் இந்த வகையான திரும்பி வந்து வரை எனக்கு ஒரு பிட் oversimplify நாம்.
இப்போது, எல்லாம் இந்த வழி என்று - இந்த ஒரு மிகையாக எளிமைப்படுத்தப்பட்ட.
ஆனால் ஒரு முழு உலகில், நீங்கள் உங்கள் வசம் எத்தனை பிட்டும்?
நீங்கள் 32 பிட்கள் வேண்டும்.
மற்றும் இதுவரை, நாம் எனவே பிரதிநிதித்துவம் முடியும் முழு எண்ணிக்கை பற்றி பேசிவிட்டேன்
நீங்கள் 32 பிட்கள் ஏனெனில் சுமார் 4 பில்லியன் மொத்த உள்ளது,
அதனால் சுமார் 4 பில்லியன் அதனால், 32 2 தான்.
ஆனால் நீங்கள் உண்மையில் எண்கள் ஒரு வரம்பு இல்லை என்று ஒரு வாரம் அல்லது 2 முன்பு பார்த்தேன்
அப் 0 இருந்து 4 பில்லியன்.
எல்லை பதிலாக நேர்மறையான தோராயமாக எதிர்மறை 2 பில்லியன் 2 பில்லியன் செல்கிறது.
ஆனால் இந்த பிறகு நீங்கள் எதிர்மறை 2 பில்லியன் கருத்தை எப்படி பிரதிநிதித்துவம் இல்லை, கேள்வி கேட்கிறார்
தனியாக எதிர்மறை 1 நாம்?
இப்போது, நாம் oversimplify மற்றும் நாம் இடப்புறம் உள்ள ஒன்றே பிட் பயன்படுத்த போகிறோம் என்று சொல்ல முடியாது
இது ஒரு 1 இருந்தால் அந்த 32 பிட்கள், அது, ஒரு எதிர்மறை எண்
அது ஒரு 0 என்றால் அது ஒரு நேர்மறை எண்.
எதிர்மறை எண்கள் என்று எளிதாக பிரதிநிதித்துவம் சிக்கல்
என்று நீங்கள் வேண்டுமென்றே வீழ்வது இருப்பது மற்றும் ஒரு எண் ஒரு பாத்திரத்தில் இருந்து மாற்ற முயற்சி செய்தால்
அல்லது நேர்மாறாகவும், ஒரு எதிர்மறை தன்மை போன்ற விஷயம் எதுவும் இல்லை.
8 பிட்கள் பயன்படுத்துகிறது ASCII, அந்த பிட்கள் விஷயத்தில் அனைத்து 8, உலகில்
மற்றும் இடப்புறம் உள்ள ஒன்றே பிட் எதிர்மறை எதுவும் இல்லை.
மற்றும், நான் இடப்புறம் உள்ள ஒன்றே பிட்கள் என்று சொல்லும் போது, தெளிவாக இருக்க வேண்டும்
நினைவு என்று நாம் முதல் வாரத்தில் எங்கள் பிட் தொடர்பான உதாரணங்கள் செய்த பொழுது,
நாம் இந்த மாதிரி ஏதாவது, 1001101 போன்ற விஷயங்களை வரைந்தார் என்று நினைவு.
நான் இடப்புறம் உள்ள ஒன்றே பிட் என்று சொல்லும் போது, நான் உண்மையில் நீங்கள் இடது மேல் வழி எழுத என்று 1 அர்த்தம்.
எனவே எழுத்துக்கள் உலகில் எதிர்மறை எந்த கருத்து, இல்லை
அதனால் இடப்புறம் உள்ள ஒன்றே பிட் உண்மையில் ASCII, எதிர்மறை எதுவும் செய்ய ஒன்று உள்ளது.
>> எனவே இது போன்ற ஒலிகளை - மற்றும் சூழல் அதை சரியாக பதில் கடினம் -
ஆனால் எப்படியோ, உங்கள் குறியீடு ஒரு எதிர்மறை மதிப்பு குறிக்கும் என்று இடப்புறம் உள்ள ஒன்றே பிட் குழப்பம்
உண்மையில் கேள்வி தன்மையை பகுதியாக இருந்தது.
கணினிகள் உண்மையில் ஒரு சிறிய ஆர்வலராக ஏதாவது ஏனெனில், மீண்டும், நான் oversimplifying
ஒரு 0 எதிராக ஒரு எதிர்மறை அடையாளம் ஒரு 1 என்று இடப்புறம் உள்ள ஒன்றே பிட் மாறி விட.
நீங்கள் கூகிள் ஆர்வம் என்றால் அவர்கள் அதற்கு பதிலாக, பொதுவாக 2 நிரப்புக்கூறாகும் என்று ஏதாவது பயன்படுத்த
எந்த ஒரு அணுகுமுறை சற்று சிக்கலான உள்ளது
ஆனால் யோசனை இறுதியில் உள்ளது.
>> எனவே சுருக்கமாக, நீங்கள் ஒரு பாத்திரம் ஒரு எண் மசாஜ் என்று உண்மையில் செய்ய வேண்டும்
அல்லது நேர்மாறாகவும் ஆனால் உங்கள் குறியீடு உண்மை காக்னிசண்ட் இல்லை
அந்த பிட்கள் 1 எண் உலகின் முக்கியத்துவத்தை என்று.
அந்த கதாபாத்திரம் உலகில் வழக்கு அல்ல.
நீங்கள் இப்போது விவாதிக்கத்தக்க இதில், சரி போன்ற ஆனால் அது உள்ளது. மற்ற கேள்விகள்.
சரி.
அதனால் இதுவரை, நாம் எழுதி விட்டேன் திட்டங்கள் அனைத்து பயனர் இருந்து ஒருவேளை உள்ளீடு எடுத்து
GetInt, GetString, போன்ற செயல்பாடுகளை வடிவில்
அல்லது நீங்கள் பல புத்தகங்களை அல்லது ஆன்லைன் குறிப்புகள் முன்னேறி படித்து கொண்டிருக்கிறேன் என்றால்,
நீங்கள் உங்களை வெளிப்படையாக, நாம் CS50 நூலகத்தில் பயன்படுத்தும், scanf போன்ற செயல்பாடுகளை பயன்படுத்தப்படுகிறது.
ஆனால் ஒரு வாரம் அல்லது 2, நாம் உண்மையில் CS50 நூலகம் செயல்படுத்தப்படுகிறது எப்படி உனக்கு காண்பிக்கிறேன்
நாம் முற்றிலும் அந்த பயிற்சி சக்கரங்கள் எடுத்து முடியும்.
>> ஒரு பயனர் உள்ளீடு பெற வேறு வழி இல்லை அவுட் ஆனால் அது மாறிவிடும்.
உண்மையில், நாம் கட்டளை வரி அளவுருக்களை பயன்படுத்தி
இப்போது வாரங்களில் இரண்டு.
நாம் கணகண வென்ற சப்தம் இயக்க வேண்டும் அல்லது நாம் இயக்க வேண்டும் ஒவ்வொரு முறையும் செய்ய,
நாம் தான் கணகண வென்ற சப்தம் தட்டச்சு இல்லை, உள்ளிடவும், நாம் உள்ளிடவும், செய்ய தட்டச்சு இல்லை.
நாம் பொதுவாக நம் முனைய சாளரங்கள் வரியில் வார்த்தை கணகண வென்ற சப்தம் பிறகு என்ன எழுதியிருக்கிறது?
[மாணவர்] கோப்பு பெயர். >> கோப்பு பெயர், சரி?
Hello.c அல்லது mario.c அல்லது அதை தொடர்புடைய கோப்பு பெயர்.
நீங்கள் உண்மையில் செய்துவிட்டேன் என்ன என்ற அர்த்தத்தில் நீங்கள் கணகண வென்ற சப்தம் நடத்தை தாக்கம்
நிச்சயமாக கணகண வென்ற சப்தம் எழுதியது யார் என்று கொஞ்சம் பழைய தெரியாது நீங்கள் தான் காரணம்
mario.c ஆண்டுகளுக்கு பிறகு ஒரு நிரலை எழுத போகிறேன்.
எனவே, எப்படியாவது அந்த திட்டத்தின் நடத்தை தாக்கம் இருந்தது
அந்த திட்டம் கணகண வென்ற சப்தம் அதை நீங்கள் உள்ளீடு ஏற்க முடியாது என்று இப்படி எழுத வேண்டும்
உடனடியாக மீது வார்த்தைகள் மூலம் பயனர் வெற்றி உள்ளிடவும் முன்.
>> அது சில நேரம் நாங்கள் எல்லா எங்கள் திட்டங்களை அறிவித்தார் என்று மாறிவிடும்
இந்த துவக்க - எண்ணாக முக்கிய (வெற்றிடத்தை) - நாம் மேலே சென்று விட்டனர்
எங்கள் குறியீடு எழுத தொடங்கினார்.
நாம், கோப்பு மேலே உள்ளிட்ட சில கூர்மையான வேண்டும்
ஆனால் கிட்டத்தட்ட அனைத்து எங்கள் திட்டங்களை இதுவரை இந்த தொடங்கியது
நீங்கள் புத்தகங்களில், பிரிவில் பார்த்திருக்கிறேன் கூட, ஆன்லைன் குறிப்புகள்
இந்த உண்மையில் வெற்றிடத்தை இருக்க வேண்டும் என்று.
இந்த எடுத்து மற்றொரு முறையான வடிவம் argc எண்ணாக பின்னர் சரம் argv [] ஆகும்.
எனவே இப்போது இந்த என்ன உட்குறிப்பு?
அது ஒரு மனித மாநாட்டில் இது என்று argc, மாறிவிடும் - இந்த பெயர் foo அழைக்க முடியும்,
ஆனால் அது வாசகர்களுக்கு நிறைய குறைவாக தெளிவாக இருக்கும் -
argc தான் என்ன பிரதிபலிக்கிறது என்று முதன்மை என்று செயல்பாடு ஒரு வாதம் இருக்கிறது?
Argc பழக்கமான அந்த என்ன நிற்க?
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி, வாதங்கள் அல்லது வாதம் எண்ணிக்கை எண்ணிக்கை.
அது போலவே எளிது.
எப்படி பல வாதங்கள் இந்த திட்டம் நிறைவேற்றப்பட்டன?
இதற்கு என்ன அர்த்தம்?
கணகண வென்ற சப்தம் - நான் இந்த மாதிரி ஏதாவது இயக்க கட்டளை வரியில் இருந்து mario.c -
நான் Enter விசையை போது argc 2, சற்று குழப்பமாக, ஒரு மதிப்பை எடுத்து வருகிறது.
எனவே, argc வாதம் எண்ணிக்கை என்று மாறிவிடும்
ஆனால் வரலாற்று காரணங்களால், நிரலில் பெயர் என்று எண்ணிக்கை சேர்க்கப்பட்டுள்ளது.
எனவே argc நான் கணகண வென்ற சப்தம் mario.c எழுதிய போது 2.
Argv இருப்பது என்ன?
அனைத்து முதல், argv ஒரு சரம் போல் ஆனால் மிகவும்
ஏனெனில் கடந்த புதன் கிழமை வரை மற்றும் அனைத்து மேலும் இன்று,
இந்த சதுர அடைப்புக்குறிக்குள் என்ன குறிக்கிறது? ஒரு வரிசை தான்.
அங்கு வரிசையில் எந்த எண், மற்றும் அந்த உள்ளுணர்வாக உணர்வு வேண்டும்
கணகண வென்ற சப்தம் ஆண்டுகளுக்கு முன்பு எழுதிய மக்கள் நிச்சயமாக தெரியாது என்பதால்
எங்களை போன்ற பல சொற்களை மக்கள் உள்ளிடவும் தாக்கியதால் முன் வரியில் தட்டச்சு செய்யும்.
>> அதனால் இங்கே இந்த வழக்கில் அவர்கள், வாதங்கள் ஒரு வரிசை எடுத்து செயல்படுகின்றன முக்கிய அறிவித்தார்
0 அல்லது மேலும் வாதங்கள்.
அவர்கள், அங்கே எத்தனை முன்கூட்டியே தெரியாது
எனவே இந்த சதுர அடைப்புக்குறிக்குள் எந்த எண் உள்ளே வேண்டுமென்றே உள்ளது.
ஆனால் சதுர அடைப்புக்குறிக்குள் இருக்கும் என்ற உண்மையை, கணினி சொல்கிறாய்
ஒரு அணி எதிர்பார்க்கவில்லை.
Argv தான் வாதம் வெக்டாருக்குமான சுருக்கெழுத்து குறிமுறை ஆகும்.
ஒரு திசையன், வரிசை என்று ஒரு கற்பனை வழி
மற்றும் வரிசை பட்டியல் அல்லது தொகுப்பு என்று ஒரு கற்பனை வழி.
இது இந்த போன்ற முக்கிய எழுத வேண்டும் என்று ரொம்ப
பதிலாக நாம் வாரங்கள் கடந்த இரண்டு செய்து வருகிறோம் என்பதை போல,
உங்கள் திட்டம் இப்போது கட்டளை வரி அளவுருக்களை ஏற்க அதிகாரம்
இனி நீங்கள், Enter விசையை பின்னர் மரியோ எழுத வேண்டும் என்று
பின்னர், நீங்கள் பிரமிடு வேண்டும் எத்தனை தொகுதிகள் உயர் ஒரு எண்ணை தட்டச்சு
பின்னர் மீண்டும் Enter விசையை.
நாம் கூட அந்த விஷயத்தில் இனி அல்லது GetInt அல்லது GetFloat GetString பயன்படுத்த தேவையில்லை.
நாம் தான் பயனர் வரியில் தன்னை அந்த வார்த்தைகளை தட்டச்சு செய்ய எதிர்பார்க்க முடியும்
கணகண வென்ற சப்தம் ஆசிரியர்கள் இது ஒரு மிகவும் எரிச்சலூட்டும் திட்டம் என்று முடிவு போல்
நீங்கள் முதலில் தட்டச்சு செய்த கணகண வென்ற சப்தம் உங்கள் குறியீடு தொகுக்க என்றால், Enter விசையை
நாம் பயனர் கூறினார், நீங்கள் தொகுக்க வேண்டும் கோப்பு பெயரை தட்டச்சு செய்து
நாம் mario.c தட்டச்சு மற்றும் Enter விசையை.
ஆனால் நாம் செய்த வாரங்கள் கடந்த இரண்டு வேண்டும் பண்ணினீங்க சரியாக என்ன.
நாம் GetString பயன்படுத்தி நிரல் உள்ளீடு அவர்களை நிரல் இயங்கும் வரை நாம் காத்திருக்க.
வழக்கு வேண்டும் இனி அந்த.
>> அதனால் இங்கே இந்த எடுத்துக்காட்டில், நாம் இப்போது, சரம் argv வேண்டும்
இந்த மிக, ஒரு மிகையாக எளிமைப்படுத்தப்பட்ட
பயிற்சி சக்கரங்கள் என்று மிக விரைவில் தூக்கி வரும்.
இந்த முக்கிய இந்த மாற்று அறிவிப்பு எழுதும் இன்னும் சரியான வழி
அது என்ன சரம் அழை உண்மையில் ஒரு நட்சத்திரம் என்று மாறிவிடும் என்பதால்,
ஒரு அதன் உண்மையான வரையறை உள்ள நட்சத்திர, ஆனால் இந்த சிக்கலான தெரிகிறது,
அதை முதலில் குழப்பமாக இருக்கிறது, நாம் தான் வகையான ஒரு பொருள் உருவாக்கி எளிமைப்படுத்த
CS50 நூலகத்தில் இந்த மேலும் பயனர் நட்பு வார்த்தை சரத்திற்கு வரைபடங்கள் எரிப்பதை *.
>> எனவே உண்மையில் இந்த பின்னர் முயற்சி செய்வோம். என்னை போய் இங்கே gedit திறந்து விட.
என்னை போய் 1 argv திறப்போம்.
இந்த திட்டத்தை வெளிப்படையாக வாதங்கள் அச்சிடுகிறது, ஆனால் ஆங்கில வார்த்தைகளில்,
இந்த குறியீடு பார்த்து, இந்த மேலும் குறிப்பாக என்ன செய்ய?
கட்டளை a.out foo பட்டியில் நான் வகை, என் கருப்பு மற்றும் வெள்ளை சாளரத்தில் என்ன அச்சிடப்பட்ட என்றால்?
A.out foo பட்டியில், உள்ளிடவும்.
போ. Yeah. >> [செவிக்கு புலப்படாமல் மாணவர் பதில்]
நல்ல. எனவே a.out, புதிய வரி, foo, புதிய வரி, பட்டை, புதிய வரி.
ஏன் இது? நாம் நிச்சயமாக ஒரு நொடியில் உறுதிப்படுத்த முடியும்.
இந்த குறியீடு ஒரு பஞ்சுபோன்ற வரி வகையாக.
இது வெறுமனே திரையில் விஷயங்களை அழகாயிருக்கிறது செய்ய ஒரு புதிய வரி அச்சிடுகிறது.
இந்த, argc வரை 0 இருந்து தேடி என்று ஒரு சுழற்சி உள்ளது
இந்த ஒவ்வொரு மறுசெய்கையும் மீது உயர்த்துவதன் +.
இந்த இப்போது இந்த% கள் மூலம் மறைமுகமாக என, ஒரு சரம் அச்சிட சொல்கிறார்கள்.
Argv [நான்] அழகான மிகவும் முந்தைய உதாரணமாக அதே யோசனை.
நாம் மாறி கள் அழைக்க பயன்படுகிறது; இப்போது, தன்னிச்சையாக, argv என.
இந்த, கட்டளை வரியில் தட்டச்சு என்று ith வாதம் அச்சிட பொருள்
இந்த காரியத்தை பின் பின்னர், தான் நல்ல நடவடிக்கை மற்றொரு புதிய வரி அச்சிட.
>> எனவே இந்த பார்ப்போம். என்னை முனைய சாளரத்தில் திறக்க அனுமதிக்க.
எனக்கு 1 argv தொகுத்தல், இப்போது என்னை உள்ளிடவும், 1 argv ரன் விட்டு. ஹ்ம்ம். சரி.
இது foo பட்டியில் ஓடிப்போகட்டும். சுவாரசியமான. பஜ்.
நான், இந்த தட்டச்சு ஏன் எப்போதும் வியந்து என்றால்
இது ஒரு முட்டாள் கணினி அறிவியல் மாநாடு ஆகும்.
உலக அடிக்கடி வார்த்தைகள் வெறும் சொற்கள் பெட்டிகள் தேவைப்படுகிறது.
நீங்கள், சில பொதுவான சரம் பற்றி பேச வேண்டும் என்றால்
கணினி விஞ்ஞானிகள் தான், அவர்கள் ஒரு சீரற்ற வார்த்தை வேண்டும் போது foo என்று முனைகின்றன
அவர்கள் இரண்டாவது சீரற்ற வார்த்தை வேண்டும் என்றால், அவர்கள், பார் என்று
பின்னர் அவர்கள், அவர்கள் ஒரு மூன்றாவது வார்த்தை வேண்டும் என்றால் அவர்கள் ஒரு நான்காவது வார்த்தை வேண்டும் என்றால், அவர்கள் qux என்று பஜ் என்று
பின்னர் qux பிறகு வரும் என்ன ஒரு பெரிய மத விவாதம் ஆன்லைன், அங்கு
எனவே நீங்கள் வேறு ஏதேனும் வார்த்தை இருக்க வேண்டும் என்று கண்டுபிடிக்க கூகிள் முடியும்.
ஆனால் இந்த இல்லை, தேவையில்லை பொருள்
எனினும் foo பட்டியில், அதாவது வேண்டும் என்றால், நீங்கள் கூகிள் என்றால்,
இது இங்கே சொற்பிறப்பியல் பகுதியாக உள்ளது.
>> அதனால் இதெல்லாம் செய்து வரிக்கு இந்த சரங்களின் 1 அச்சிடுகிறது.
அதனால் நான் பதிலாக என்றால், எனினும், ஒரு சிறிய ஆர்வலராக பெற விரும்புகிறேன்
நான் வரிக்கு ஒவ்வொரு சரம் அச்சிட வேண்டும் என்று நினைக்கிறேன்;
நான் வரிக்கு ஒவ்வொரு சரம் ஒவ்வொரு தன்மையை அச்சிட வேண்டும்.
நான் அதற்கு பதிலாக எப்படி செய்ய முடியும்?
நான் ஒவ்வொரு வார்த்தை அச்சிட வேண்டும் என்றால் நான் இந்த திட்டத்தை பற்றி மாற்ற என்ன வேண்டும்
ஆனால் நான், கடிதம் மூலம் கடிதம் மூலம் ஒவ்வொரு வார்த்தையும் கடிதம் அச்சிட வேண்டும்
கடிதம் மூலம் கடிதம் மூலம் அடுத்த வார்த்தை கடிதம்?
எப்படி நாம் இதுவரை இந்த கருத்துக்களை சேர்த்து? Yeah.
[மாணவர்]% கேட்ச். >> சரி. அதனால் நாம் எங்கேயாவது ஒரு% கேட்ச் வேண்டும்.
நான் முழு சரங்களை அச்சிட விரும்பவில்லை, ஏனென்றால், நான் எழுத்துக்களை அச்சிட நல்ல வேண்டும். வேறு என்ன?
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> இல்லை.
நாம் இப்போது இங்கே ஒரு இரண்டாவது பரிமாணம் வகையான வேண்டும்
ஏனெனில் ஒரு வரிசை என argv என்று, ஆனால் அது சரங்களை ஒரு வரிசை தான்.
ஆனால், இந்த மாதிரி, 15 நிமிடங்கள் முன்பு, ஒரு சரம் என்ன? அது கதாபாத்திரங்கள் ஒரு வரிசை தான்.
எனவே உண்மையில், argv, கதாபாத்திரங்கள் ஒரு வரிசைக்கு வரிசை உள்ளது
எழுத்துக்கள் வரிசைகள் ஒரு வரிசை.
அதை நாம் தான் இன்னும் சதுர அடைப்புக்குறி குறியீடுகளையும் பயன்படுத்தலாம் என்று கூறினார். இந்த செய்வோம்.
வரி 19 இந்த சுழற்சியில் மேலே உள்ள, நான், மேலே நான் இருந்து argc என்று கூறு போகிறேன்
ஆனால் நான் இதை செய்ய போகிறேன்:
ஐந்து - நான் இப்போது நான் பயன்படுத்த முடியாது.
நான் வார்த்தைகள் மீது மீண்டும் கூறு வேண்டும், ஏனெனில் நான் மற்றொரு மாறி வேண்டும்
ஆனால் அந்த வார்த்தைகளில் கடிதங்கள் மீது
நான் அப்படி ஒரு செங்குத்து அச்சு மற்றும் ஒரு கிடைமட்ட அச்சு, கருத்தியல் வகையான வேண்டும்.
எனவே இண்ட் ஜே 0 பெறுகிறார், நான் j விட குறைவாக இருக்கும் வரை j செய்ய வேண்டும் - நான் ஒரு பிட் இந்த சுத்தம் செய்கிறேன்.
எப்படி நான் ஒரு சரம் இல் கடிதங்கள் மீது மீண்டும் கூறு? நாம் ஒரு கணம் முன்பு இதை.
Argv என்ற Strlen [நான்]. நல்ல.
மீண்டும், நான், n அல்லது அதை உருவாக்கும் மூலம் இங்கே ஒரு சிறிய திறமையின்மை செய்கிறேன்
ஆனால் நாம் என்று திரும்பி விடுவேன்.
>> எனவே இப்போது ஜே + +. இப்போது நான் இங்கே மேலும் உள்தள் வேண்டும்.
நான் இப்போது ஒவ்வொரு மறுசெய்கையும் மீது அச்சிட என்ன வேண்டும்?
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> எனவே [நான்] எனக்கு வார்த்தை கொடுப்பேன்.
[நான்] [j], வரிசையில் ஒரு அணி போன்ற.
கணித-y பின்னணியில் நீங்கள் அந்த,
நாம், வரிசைகள் இந்த அணி அல்லது இந்த வரிசையில் ஒரு திருப்பு வகையான இன்னும் இருக்கிறோம்
இந்த 2 பரிமாண கட்டமைப்பு.
அதனால் இப்போது இங்கே என்ன நடக்கிறது என்று பார்க்கலாம். என் பெரிய முனைய சாளரத்தில் திறக்க அனுமதிக்க.
எனக்கு 1 argv உருவாக்குவதே மீண்டும் இயக்கவும் நாம்.
நான் கூட இதை செய்ய மறந்துவிட்டேன் ஏனெனில் இது ஒரு நல்ல பாடம், இங்கு ஸ்க்ரீவ்டு.
உட்குறிப்பாக வகை 'கையொப்பமிடாத உடன் C நூலகத்திலிருந்து செயல்பாடு' strlen 'பிரகடனம் -
நான் கூட அந்த பொருள் என்ன ஓய்வு தெரியாது, ஆனால் நான் முன்பு இந்த பார்த்திருக்கிறேன்
உட்குறிப்பாக அறிவித்தார்.
இந்த பிழை பார்க்கும் போதெல்லாம், இந்த வழக்கமாக என்ன குறிக்கும்?
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> நான் மேலே ஒரு நூலகம் மறந்துவிட்டேன். ஆனால் ஒரு நிமிடம்.
நான் CS50 நூலகம் மறந்துவிட்டேன் ஏனெனில் பொதுவாக நான் ஸ்க்ரீவ்டு, ஆனால் அந்த உள்ளது.
நான் தரமான நான் த / பெ மறந்துவிட்டேன் ஏனெனில் பொதுவாக நான் ஸ்க்ரீவ்டு
மற்றும் வெளிப்படையாக, நான் கூட இந்த தேவையில்லை. நாம் இன்று GetString பயன்படுத்தி வருகிறோம்.
அதனால் என்ன நான் காணவில்லை?
இப்போது நாம் எப்போதாவது என்று string.h பயன்படுத்த வேண்டும் என்று மற்றொரு நூலகம், அங்கு
மற்றும் இது இன்னும் தரமான நான் த / பெ இல்லை என்று மேலும் செயல்பாடுகள் உள்ளன என்று மற்றொரு நூலகம் உள்ளது
>> எனவே என் பெரிய முனைய சாளரத்தில் திரும்பி செல்லலாம்.
சரி. இப்போது, டாமிட், நான் செய்தது தவறு என்று நினைக்கிறேன். நான் CS50 நூலகம் பயன்படுத்தி வந்தது.
எனவே 2 வழிகளில் ஒன்று இந்த சரிசெய்ய முடியும்.
நாம், இப்போது பயிற்சி சக்கரங்கள் எடுத்து மற்றும் இதை செய்ய முடியும்
அல்லது இப்போது அந்த தெளிவுபடுத்தல் வைத்து ஒரு நாம் வகையான, இந்த மீண்டும் ஒட்டவும்
அந்த பிரச்சினையை தீர்ப்பதற்கு, இப்போது முனைய சாளரத்தில் செல்ல.
எனவே CS50 நூலகத்தில், தெளிவாக இருக்க வேண்டும், வெறும் செயல்பாடுகளை அல்ல
இது பிழை தான் நடந்தது ஏன் திறவுசொல்லை சரம், தான்.
>> இங்கு நாம். நான் நூலகம் பிரச்சினைகள் இரு செய்யப்பட்டது. உள்ளிடவும். நல்ல.
1 Argv, foo பட்டியில், உள்ளிடவும். சிறந்த.
எனவே இப்போது நாம், வரிக்கு 1 அச்சிடப்பட்டு ஒவ்வொரு வார்த்தையின் ஒவ்வொரு கடிதத்தை வேண்டும்
, ஒரு சுவாரசியமான திட்டத்தை இல்லை இது
ஆனால் அறிவிப்பு இப்போது நாம் மட்டும் வார்த்தைகள் மீது தேடி இல்லை திறன்
ஆனால் awfully நன்கு தெரிகிறது வார்த்தைகள் தனிப்பட்ட கடிதங்கள், மேல்
இந்த மாதிரி ஒரு சரம் இல் நெரிசலில் கடிதங்கள் போன்ற பயன்பாடுகள் எளிய கூட.
தான் போய் இங்கே நம் 5 நிமிட இடைவெளி விட்டு.
நாங்கள் திரும்பி வரும் போது, நாம் திறன் பற்றி தொடங்க வேண்டும்
இதில் நாம் சிறப்பாக இந்த விஷயங்களை செய்ய முடியும்.
>> எல்லாம் சரி. நாம் திரும்பி உள்ளனர்.
Bananagrams நிறைய நடிக்கும் எங்கள் டிஎஃப்எஸ் ஒரு நன்றி,
நாம் உண்மையில் இன்று நம்மோடு எழுத்துகள் ஒரு மொத்தமாக வேண்டும்
உடல், இந்த சிறிய பிளாஸ்டிக் துண்டுகள் கொண்ட அவதாரம்
இந்த வெற்று வெள்ளை ஸ்லேட் இங்கே என் கணினி ரேம் பிரதிபலிக்கிறது என்று என்னை முன்மொழிய விரும்புகிறேன் -
லேப்டாப், டெஸ்க்டாப், என்ன - அங்கே நிறைய தெரிகிறது
ஏனெனில் நாம் சிறிய பைட் அளவு துண்டுகளாக இந்த ரேம் வரை நறுக்குவதில் ஆரம்பித்தால்,
நாம் தன்னிச்சையாக அளவு மற்றும் அந்த தடுமாறுவதும் பிரதிபலிக்கிறது என்று சொல்ல -
அங்கு நாம் போய், நாம் இங்கே கொஞ்சம் அவுட் பெரிதாக்கவும் -
அளவு ஒரு பைட் பிரதிபலிக்கிறது என்று ஒன்று சொல்கிறேன்.
நாம் உண்மையில், இந்த நினைவகம் உள்ளே பைட்டுகள் அல்லது எழுத்துக்கள் ஒரு மொத்தமாக பொருத்த முடியும்
இங்கு ஒப்பீட்டு அளவில் பரிந்துரைத்த.
>> எனவே இலக்கு ஒரு சரம் நினைவகம் ஒதுக்க வேண்டும் என்று இப்போது நினைக்கிறேன்.
எப்படி இந்த உண்மையில் வேலை?
நாம் எழுதும் வருகிறோம் திட்டங்களில், நாம் பொதுவாக, GetString பயன்படுத்தி
ஆனால் இப்போது, தெளிவாக, நாம் argv பயனர் உள்ளீடு பெறக்கூடிய வழியாக இந்த மற்ற சேனல் இல்லை
கட்டளை வரி அளவுருக்களை வழியாக.
ஆனால் என்ன உண்மையில் பேட்டை அடியில் நடக்கிறது?
நாம் அழைத்தால் அது மாறிவிடும் - GetString மீண்டும் உருட்டும் நாம் - செயல்பாடு GetString
CS50 நூலகத்தில், பயனர், ஒரு சரம் கேட்கும்
சில வார்த்தை பயனர் வகைகள் - இன் வணக்கம் அது அழைப்பு விடுங்கள்.
நாம் வாரங்கள் கடந்த இரண்டு பேசிட்டு என்று GetString திரும்ப மதிப்பு
ஹலோ வார்த்தை போன்ற, உண்மையில் ஒரு சரம்.
>> ஆனால் என்ன உண்மையில் செய்து GetString?
Enter, வணக்கம் பயனர் வகைகள், GetString, கண்டறிவதன்
சரி, இந்த எத்தனை எழுத்துக்கள் உள்ளது? இந்த H-E-L-L-ஓ இல்லை.
இந்த வழக்கில் லினக்ஸ் - அதை ஒதுக்க வேண்டும், அதை இயக்க அமைப்பு கேட்க வேண்டும் -
குறைந்தது 5 பைட்டுகள் ஒரு வணக்கம் சேமிக்க.
அது இயங்கு இருந்து மீண்டும் அந்த 5 பைட்டுகள் பெறும் முறை மற்றும் அது என்ன ஆராய்கிறார்
மீண்டும் மீண்டும் மீண்டும் வணக்கம் மீண்டும் வெளியே போட வேண்டும்.
அதனால் என்ன உண்மையில் GetString இருந்து திரும்பிய இந்த மாதிரி தரவு ஒரு துண்டின் உள்ளது.
இது போன்ற எளிமையான இல்லை என்று திருப்பி ஏனெனில் ஆனால் இந்த ஒரு பிட் தவறான உள்ளது
ஒரு கணினியின் நினைவகம் உள்ள ஹலோ சேமித்து என
ஏனெனில், நான் சி எழுதும் என்று என் திட்டம் மீண்டும் GetString அழைப்பு என்று நினைக்கிறேன்
மற்றும் பயனர் வகைகள் அடுத்த வார்த்தை வருகிறேன், வருகிறேன் என்று.
சரி, நான் நினைவகத்தில் எங்கோ வார்த்தை வருகிறேன் பொருந்தும் வேண்டும்.
நான் வணக்கம் மெழுகுதல் முடியாது.
உதாரணமாக, நான் கணினி இப்படியே மேற்சேர்க்கை தொடங்க விரும்பவில்லை
நான் இன்னும் ஒரு மாறி வணக்கம் வார்த்தையை பயன்படுத்தி இருக்க வேண்டும், ஏனெனில் உண்மையான வார்த்தை
வேறு எங்காவது என் திட்டத்தில்.
>> எனவே பி ஒய்-மின் வேறு நினைவக முடிவடைய வேண்டும்.
ஆனால் மாநாட்டு பொதுவாக என்று ஒதுக்கி அடுத்த சரம்
ஒருவேளை, ஆனால் எப்போதும், அடுத்த கிடைக்க நினைவக இடத்தில் முடிவுக்கு வருகிறது.
நான் எந்த நினைவகத்தை இயங்கு கேட்கவில்லை என்றால்
நான் GetString என்று கடந்த நாட்களாக, முரண்பாடுகள் வார்த்தை பை ஆகும்
ஹலோ நினைவகத்தில் வார்த்தை பிறகு சரியான முடிவுக்கு வருகிறது.
ஒரு முக்கிய பிரச்சனை எழுகிறது அங்கு ஆனால் இந்த கட்டத்தில் நீங்கள் ஒருவேளை பார்க்க முடியும்.
ஏனெனில் நினைவக அடுத்த துண்டுகளாக்கி, வெறும் இலவச என்று அடுத்த பைட்டுகள் -
வெள்ளை ஸ்லேட் சுத்தம் - கணினி நினைவகத்தில், வணக்கம் உரிமை அடுத்த இருந்தது
அதை நான் திடீரென்று இப்போது மாற்ற வேண்டும் என்று கேட்டு முதல் சரம் போல் உணர்கிறேன்
நான் அடிப்படையில் மாறிவிட்டேன் ஏனெனில் அது HELLOBYE வேண்டும்
பதிலாக எப்படியோ பை தொடக்கத்தில் மற்றும் ஹலோ இறுதியில் demarcing.
>> அதனால், என்ன உண்மையில் பேட்டை அடியில் நடக்கிறது என்று மாறும்
நீங்கள் ஆன்லைன் குறிப்புகள் அல்லது பகுதி அல்லது புத்தகங்களில் glimpsed இது
அல்லது இன்னும் அனைத்து வேண்டுமென்றே வரையறை உண்மையில் உள்ளது
ஒரு கணினியின் நினைவகம் வார்த்தைகளை இடையே.
மற்றும் உண்மையில், இங்கே இந்த வழக்கில், மாறாக தான், சரி அடுத்த வணக்கம் வருகிறேன் வைத்து
அதற்கு பதிலாக, கணினி ஒரு சிறப்பு தன்மை, சிறப்பு வெற்று தன்மை, அதனால் பேச, வைக்கிறது
இது பின்சாய்வுக்கோடானது 0 ஒரு மார்க்கர் கொண்டு குறிப்பிடப்படுகின்றன.
எனவே நீண்ட கதை குறுகிய, எழுத்துக்கள் ஆஸ்கி உள்ள குறிப்பிடப்படுகின்றன என்று நினைவு.
ASCII, வெறும் எண்கள் மற்றும் எழுத்துக்களை இடையே ஒரு ஒப்பீட்டை உள்ளது
அந்த கடிதங்கள் மிக, மூலதன ஒரு சுமார் 65 துவக்க
நீங்கள் நிச்சயமாக ஒரு முழு எண் அல்லது பைனரி உள்ள எண்ணை 0 பிரதிநிதித்துவம் முடியும் அவுட் ஆனால், திருப்பி
அது உலகின் நீண்ட முன்பு, நீண்ட முடிவு மாறிவிடும், "உனக்கு என்ன தெரியும்?"
விசைப்பலகை எந்த எழுத்துக்கள் குறிக்கும் என "நாம் இருப்பு எண் 0 -
"இல்லை கடிதங்கள், எந்த எண்கள், எந்த இலக்கண. 0 சிறப்பு ஆகும்."
"இது சிறப்பு வெற்று தன்மை இருக்க போகிறது, மற்றும் நாம் \ 0 என எழுத போகிறோம்."
நாம் மட்டும் 0, 0 எழுதினார் என்றால் வேறுபாடு ஒரு கதாபாத்திரம்.
3, 2, 1, 0 ASCII குறியீடுகள் உள்ளன என்று நினைவு
பாத்திரம் 0 எண் 0 வேறுபட்ட என்பதால்.
நீங்கள், நீங்கள் வாரம் 1 இருந்து திரும்பி வந்தால் நாம் முதலில் ASCII பற்றி பேசினார் என்று பார்க்கலாம்
9 வரை 0 மற்றும் 1 மற்றும் 2 மற்றும் 3 அனைத்து வழி, அவற்றின் சொந்த ASCII குறியீடுகள் இருந்தது.
அவர்கள், தற்செயலாக, 9 வழியாக 0 இல்லை. அவர்கள் மிகவும் வேறுபட்ட இருக்கும்.
அதனால் 0 தான் ", நான் சிறப்பு நான்" அதாவது \ 0 பொருள், உண்மையில், "நான் 0 தன்மை இல்லை."
"நான் இந்த சிறப்பு மதிப்பு, வெற்று தன்மையை நான்."
நான் இரண்டு முறை அதே தவறை செய்ய முடியாது என்பதால் நான் உண்மையில் இந்த மற்றொரு ஒன்று வேண்டும்.
>> எனவே வார்த்தை வருகிறேன் பிறகு நாம் இந்த வெற்று எழுத்துக்கள் மற்றொரு ஒன்று தேவை போகிறோம்.
என்னை இங்கே என் பேனா கைப்பற்றி என்னை விரைவில் மற்றொரு \ 0 வரைந்து விட்டு
அதனால் நான் 2 சரங்களை இயக்க அமைப்பு கேட்டு பின்
GetString மற்றொரு அழைப்பு தொடர்ந்து GetString வழியாக,
இந்த நினைவகத்தில் உண்மையில் என்ன ஆகும்.
அதனால் நான் ஒரு சரம் திரும்ப கிடைக்கும் போது, நான், மீண்டும் அந்த வருகிறது
நான் அடுத்த சரம் கிடைக்கும் போது, நான் திரும்பி பெற.
இந்த முதலில், strlen, கேள்வி கேட்கிறார், அது என்ன கொடுக்க வேண்டும்?
நான் சரம் கள் மீது strlen அழைத்து கள் வணக்கம் பயனர் தட்டச்சு அந்த வார்த்தை போது,
நாம் வெளிப்படையாக வணக்கம் நீளம் ஒரு சில நிமிடங்கள் முன்பு என்ன சொன்னார்?
அது சரி, 5 இருந்தது? H-E-L-L-ஓ. அந்த உண்மையில் எப்படி strlen வேலை.
இது ஒரு சாதாரண மனிதனாக இருக்க ஒரு சரம் நீளம் எதிர்ப்பார்ப்பது கொடுக்கிறது.
ஆனால் உண்மையில், ஹலோ சேமித்து அந்த பாத்திரங்களின் வரிசை எப்படி பெரிய?
இது உண்மையில் 6 தான்.
Strlen எனவே நீங்கள் உண்மையை பற்றி இல்லை.
ஆனால் தொப்பி கீழே கணினி உண்மையில், ஒரு 5 வார்த்தை சேமிக்க 6 பைட்டுகள் பயன்படுத்தி
இந்த வார்த்தை எவ்வளவு பெரிய விஷயம் இல்லை என்பது உண்மைதான்.
எப்போதும் சரம் இறுதியில் ஒரு சிறப்பு பூஜ்ய முடக்கப்படும் தன்மை இருக்க நடக்கிறது
அதன் மொத்த நீளம் demarc வேண்டும்.
>> இப்போது, 30 ஆண்டுகளுக்கு முன்பு, strlen 20 செயல்படுத்த நபர் மிகவும் பின்
நீங்கள் strlen தன்னை செயல்படுத்தி பற்றி எப்படி போவது?
வழங்கப்படும் printf உள்ளது என்று வழங்கப்பட்டது நாம் எடுத்து போல் நாம், அது உள்ளது என்று எடுத்து,
ஆனால் வணக்கம் கேள்வி வார்த்தை இருந்தால்
என்ன நான் நினைவில் இல்லை, இந்த மாதிரி என்று ஒன்று இல்லை
நீங்கள் கேட்டு ஏனெனில் நீங்கள் reimplement strlen வேண்டும் என்றால்
அல்லது ஏனெனில், வெளிப்படையாக, நீங்கள் strlen இருந்த தெரியாது -
நீங்கள் உங்கள் சொந்த இந்த ஒரு ரோல் வேண்டும் - எப்படி strlen செயல்படுத்த முடியவில்லை
இந்த மாதிரி என்று ஒன்று கொடுக்கப்பட்டுள்ளது?
இப்போது நாம் ஒரு சரம் ஒரு வரிசை என்று அறிய, நாம் தனிப்பட்ட கதாபாத்திரங்கள் ஒவ்வொரு கூறு முடியாது
இப்படி பயன்படுத்தி - நாம் பறக்க இந்த செய்ய முயற்சி.
>> என்னை சாதனம் கொண்டு செல்லலாம். எனக்கு ஒரு புதிய கோப்பு, strlen.c உருவாக்க வேண்டும்.
எனக்கு இப்போது போய் stdio.h நாம் printf அணுகல் என்று அடங்கும் செய்வோம்.
என்னை எண்ணாக முக்கிய (வெற்றிடத்தை) செய்வோம். ஓ. நான் பின்னர் இப்போது என் சொந்த இந்த செய்வேன். [Chuckles]
நன்றி.
இந்த நான் செய்து கொண்டிருக்கிறேன். எல்லாம் சரி.
நான் திரையில் திரும்பி எனவே முன், நான் என்று அனைத்து தட்டச்சு.
இப்போது நான் என்ன செய்ய போகிறேன் என்பதை பின்வரும் உள்ளது:
printf ("என்னை ஒரு சரம் கொடுங்கள்:")
என்று ஒரு பஞ்சுபோன்ற அறிவுறுத்தல்கள் தான்.
இப்போது என்னை சரம் கள் = GetString செய்வோம்.
நான் ஏற்கனவே இப்போது ஒரு மாற்றம் வேண்டும்.
நான் CS50 நூலகம் பயன்படுத்தி நான் திடீரென்று, என்னை போய் cs50.h. தட்டச்சு செய்யலாம்
-% D, strlen [கள்]: printf ("நீளம்: இப்போது இந்த செய்வோம்
நான் இன்னும் செய்யவில்லை. வேறு என்ன நான் இந்த திட்டத்தை சேர்க்க வேண்டும்?
>> [மாணவர்] string.h. >> String.h.
எனவே இப்போது, நாம் strlen பயன்படுத்தினால், அதனால், தான் என்று எங்கே தொகுப்பி தெரியும் உறுதி செய்யலாம்
சிறிது நல்லறிவு சரிபார்க்கவும்.
நான் வரி 8 ஒரு சரம் வருகிறது, மற்றும் வரி 9 ல் நான்% d அதன் நீளம் அச்சிடுகிறது நான்.
எனவே மேலே போய் இந்த திறந்து விட.
நாம் strlen செய்ய வேண்டும் - சரி, தொகுத்தெழுதுகிறது -
strlen - என்னை பெரிதாக்க நாம் - உள்ளிடவும், H-E-L-L-ஓ, உள்ளிடவும். நீளம் 5.
>> சரி, இவ்வளவு strlen வேலை தெரிகிறது, ஆனால் உலக தெரியும்.
எனவே இப்போது நம்மை பின்வருமாறு strlen செயல்படுத்த வேண்டும்.
என்னை விட்டு இந்த நூலகம் அழைத்து செல்லலாம்.
நாம் இனி நான் கூட இருந்த தெரியாது என்பதால் string.h அணுக வேண்டும்.
நான் strlen என்னை செயல்படுத்த முடியும் என்பதால், ஆனால் நல்லது
மற்றும் அதை, உள்ளீடு என்று ஒரு சரம் எடுக்க
இப்போது நான் இந்த சரம் நீளம் கண்டுபிடிக்க வேண்டும்.
அதனால் நான் எப்படி இதை செய்ய முடியும்?
நான் செய்தால் என்ன - நீங்கள் என்ன செய்ய விரும்புகிறீர்கள் - இந்த செய்ய எப்படி என்று பார்ப்போம்?
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி.
நாம் வழிகளில் ஒரு கொத்து இந்த செய்ய முடியும். என்னை இந்த அணுகுமுறை கொள்ள முயற்சி செய்வோம்.
என்னை நானே ஒரு முழு எண்ணாக மாறி நான் தருகிறேன், அதனால் நான் 0 தொடங்குகிறது.
என்னை இந்த சொல்கிறேன்: உள்ளீடு போது [நான்] என்ன சமமாக இல்லை? \ 0.
எனவே, ஒரு திட்டத்தில் உண்மையில் அவர்கள் எழுதும் போது அனைத்து எழுத்துகள் கொண்ட வழக்கு என்று, மாறிவிடும்
நீங்கள் ஒற்றை மேற்கோள், இல்லை இரட்டை மேற்கோளில் பயன்படுத்த வேண்டும்.
நான் ஒரு கடிதம் எழுதி இருந்தது என்றால், நான், கடிதம் ப செய்ய வேண்டும், நான் அதை செய்ய வேண்டும்.
இந்த, இதற்கு மாறாக, ஒரு தனி தன்மையை ஒரு சரம் வேண்டும்.
>> எனவே நான் உண்மையில் \ 0 வேண்டும். நான் இந்த வட்டத்திற்கு செய்ய என்ன தேவை?
உண்மையில், நான் வேறு மாறி வேண்டும், எனவே முழு எண்ணாக நீளம் 0 பெறுகிறார்.
நாம் போலவே தொடங்கியது ஏன் என்று கூட,
இந்த சாலை கீழே போகிறோம் இப்போது, நான் வரி 9 செய்ய என்ன தேவை?
நீளம் + பின்னர் கீழே இங்கே வரி 10, மீண்டும் நீளத்தை.
எனவே strlen எப்படி செயல்படுத்தப்படுகிறது?
உண்மையில் இந்த ஒருவேளை செயல்படுத்தப்படும்.
யாருக்கு தெரியும் - ஒருவேளை நபர் லூப் ஒரு பயன்படுத்தப்படும் வளைய போது, ஒருவேளை ஒரு என்ன?
நாம் உண்மையில் உண்மையான மூல குறியீடு உள்ள பேட்டை அடியில் இருக்கும் வேண்டும் என்று
சில கோப்பு அநேகமாக string.c என்று.
>> ஆனால் இங்கே தான் நான் செய்கிறேன் பற்றி யோசிப்போம்.
நான் 0 அது சமமாக அமைக்க, நான் எனப்படும் ஒரு மாறுபடும் அறிவித்தார்.
நான் 0 அது சமமாக அமைக்க, மற்றொரு மாறி என்று நீளம் அறிவித்தார்.
உள்ளீட்டில் ith தன்மையை சிறப்பு வெற்று தன்மை, \ 0 சமமாக இல்லை போது நான், சொல்கிறேன்
நீளம் அதிகப்படுத்த.
ஆனால் விரைவில் ith தன்மையை இந்த சிறப்பு தன்மை உள்ளது, என்ன சுழற்சி நடக்கிறது?
இது குறுகிய சுற்றுகள். அது நாம் உடனடியாக நீளம் திரும்பி அதாவது, நிறுத்தப்படும்.
>> நான் குழப்பிவிட்டோமா இல்லை என்றால், அது போய் என் முனைய சாளரத்தில் திரும்பி செல்லலாம்.
என்னை மீள்தொகுப்பானது நாம். மற்றும் நான் திருகு.
நூலக செயல்பாடு strlen ஒரு பொருந்தாத redeclaration.
அதனால் நான் இங்கே என் சொந்த நன்மைக்காக மிகவும் புத்திசாலி பெற முயற்சி.
தொகுப்பி உண்மையில் strlen என்று ஒரு செயல்பாடு இருக்கும் என்று தெரிகிறது
நாம் நூலகம் சேர்க்கப்படவில்லை கூட. அது நல்லது. என்ன.
நாங்கள் பின் ஒத்துழைக்க போகிறோம். இந்த நீளம் மறுபெயரிட வேண்டும்.
என்னை இங்கே நீளம் அதை பயன்படுத்தி மாற்ற நாம், இந்த கணகண வென்ற சப்தம் சந்தோஷப்படவைக்கும்.
- ஒரு ஒதுக்கி, இந்த செயல்பாடுகளில் சில எனவே தை பொதுவான ஏனெனில்
strlen, prinf - அவர்கள் உண்மையில் சிறப்பு நிலை வகையான வேண்டும்.
அதனால் கணகண வென்ற சப்தம் அவர்களை பற்றி சிறப்பு கொஞ்சம் ஏதாவது தெரியும்.
எப்போதும் மிக செயல்பாடுகளுடன் வழக்கு இல்லை என்று, நாம் திட்டுவதற்கு அதனால் தான் அப்படி.
>> என்னை மீண்டும் பார்க்கலாம். அதிர்ஷ்டவசமாக, அது அந்த காலம் பணியாற்றினார்.
எனவே இப்போது நான் என் சொந்த strlen நிரலை இயக்க அனுமதிக்க.
என்னை ஒரு சரம் கொடுக்க: H-E-L-L-ஓ, உள்ளிடவும். மற்றும் நான் ஸ்க்ரீவ்டு.
ஏன்? >> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரியாக.
அதனால் நான் இங்கே ஒரு மிக நல்ல காணப்படும் முடிவிலா சுழற்சி உள்ளது
நான் ஒவ்வொரு மறுசெய்கையும் நீள உயர்த்துவதன் நான் கூட காரணம்,
நான் தெளிவாக என்ன செய்ய வில்லை? நான் உயர்த்துவதன். சரி. எளிதாக சரி. ஆமாம்?
சரி. நான் அடைப்புக்குறிக்குள் வேண்டும் அங்கு இல்லை இப்போது நாம் வேறு சில பொதுவான தவறை ஒன்றில் இடக்கு முடக்காக சிக்கி இயக்க வேண்டும்.
மற்றும் வெளிப்படையாக, இந்த குறியீடு, அசிங்கமான பார்க்க தொடங்கி உள்ளது
எனவே நாம் ஒரு கணம் இந்த சுத்தம் ஒரு குத்துவதற்கு எடுக்க வேண்டும்.
ஆனால் இப்போது நான் நீளம் மற்றும் இரண்டு உயர்த்துவதன்.
வெளிப்படையாக, நான் ஏற்கனவே இங்கே முன்னேற்றம் ஒரு வாய்ப்பாக பார்க்க, ஆனால் நாம் என்று திரும்பி விடுவேன்.
>> எனவே இப்போது தான் நாம் முன்னேற்றம் செய்து குறைந்தபட்சம் நாங்கள் உறுதி செய்வோம்.
இந்த ஒரு சில நடந்தது, நான் முன்கூட்டியே இந்த குறிப்பிட நிராகரித்தார்கள்.
இந்த மாதிரி ஒரு காட்சியில் ஒரு துரதிர்ஷ்டம் வேண்டும், எப்போது, எப்படி இந்த சரிசெய்வது
பயன்பாட்டிற்கான அல்லது உங்கள் கணினியை மறுதொடக்கம் அல்லது சாளரத்தை மூடிவிட்டு குறுகிய?
அது உண்மையில் மிகவும் சுலபம்.
கட்டுப்பாடு சி இந்த சிறிய கேரட் சின்னமாக சி அனுப்ப, மற்றும் பெரும்பாலான திட்டங்கள் நிறுத்திவிட்டால் என்று.
நீங்கள் பொருள் எண்ணற்ற பல முறை அச்சிடும் என்று ஒரு மோசமான முடிவிலா சுழற்சி இருந்தால்,
சில நேரங்களில் நீங்கள் கட்டுப்பாடு சி உண்மையில் அது கேட்க செய்ய ஆயிரம் முறை அடிக்க வேண்டும்.
நான் மிகவும் எளிதாக இருந்தது என்று எதையும், அச்சிடுதல் இல்லை, ஏனெனில் அதனால் இப்போது உணர.
மற்றும் தொழில்நுட்ப முறை போதுமானதாக, ஆனால் நான் பொறுமையை இழந்து நான் வழக்கமாக இது பல முறை வெற்றி.
>> Strlen எனவே. என்னை ஒரு சரம் கொடுக்க: வணக்கம். இந்த நேரத்தில் வேலை செய்ய போகிறான்?
சரி. மற்றொரு பொதுவான தவறு. மீள்தொகுப்பானது வேண்டும்.
என்று, அந்த ஒரு திட்டமிட்ட இருந்தது. எல்லாம் சரி.
Strlen எனவே, H-E-L-L-ஓ, உள்ளிடவும். சிறந்த.
நாம் இப்போது ஒரு strlen 5 உள்ளது.
நாம் உண்மையில் அந்த சக்கர reimplemented.
எனவே இப்போது இந்த என்னை கவர்ந்தது இல்லை, ஏனெனில் இந்த சுத்தம் செய்யலாம்
என் குறியீடு வடிவமைப்பில்.
நாம் தெளிவாக இதை சுத்தம் இந்த திட்டம் என்ன அகற்ற முடியும்?
[செவிக்கு புலப்படாமல் மாணவர் பதில்] >> சரி. உண்மையில், நாம் அடையாளங்களையே நான் மற்றும் நீளம் சிகிச்சை.
அதனால் நாம் ஏன் ஸ்மார்ட் கிடைக்கும் நீளம் போது சொல்ல கூடாது?
மாறாக, அது தான், அதை தொடங்குவதற்கு நீளம் அழைப்பு 0 அது துவக்க அனுமதி
நாம் அது என்ன கண்டுபிடிக்க வரை இயல்பாக சரம் நீளம் உள்ளது, ஏனெனில்.
>> இப்போது நாம் செய்ய, மற்றும் தற்போது இந்த அழகான நேர்த்தியான திட்டம் ஆகும்.
ஒரு மாறி. நான், அதை சுத்தம் அது பலப்படுத்தியது.
எனவே இப்போது என் முனைய சாளரத்தில் திரும்பி செல்லலாம். அது மேலே சென்று இந்த ஓடிப்போகட்டும்.
Strlen செய்ய. நன்றாக இருக்கிறது. Enter, மீண்டும் strlen இயக்கவும்.
என்னை ஒரு சரம் கொடுக்க: வணக்கம், உள்ளிடவும். இது 5 தொழிலாள தோன்றுகிறது.
நான் எழுதவில்லை என்று இப்போது, வணக்கம் 1 சரம் இல், உதாரணமாக, தெளிவாக இருக்க வேண்டும்
பின்னர் இன்னொரு வருகிறேன், நாம் நிச்சயமாக பல சொற்கள் முடியும்.
நான் உண்மையில் தட்டச்சு செய்ய வேண்டும் வெளிப்பாடு ஹலோ ஆனால், உதாரணமாக, நீங்கள்
உலக, என்ன நாங்கள் இல்லை என்று இங்கே இந்த நிலைமை என்று அறிவிப்பு, சரியான ஹலோ?
அந்த 2 சரங்களை என்று கருத்து தெரிவிக்கிறார்கள்.
நீங்கள் நிச்சயமாக நாம் உண்மையில் ஒரு நீண்ட சொற்றொடரை தட்டச்சு நீங்கள், தட்டுப்பட்டை எழுத்துக்கள் முடியும்
Hello World போல், நாம் உண்மையில் நினைவக என்ன வேண்டும்
அங்கு அப்படி ஒரு சிறிய ஒன்று தெரிகிறது.
>> எல்லாம் சரி. எந்த கேள்விகள் பின்னர் சரங்களின் இங்கே பிரதிநிதித்துவம் பற்றி?
இல்லை? எல்லாம் சரி.
எனவே நான் மீண்டும் strlen அழைப்பு மீண்டும் வேண்டுமென்றே அப்படி என்று சொன்ன
நீங்கள் வேலை ஒரு முழு நிறைய செய்ய போகிறோம் என்பதால் நல்ல யோசனை அல்ல
மீண்டும் மீண்டும் மீண்டும்.
உண்மையில், என்ன வேலை வகையான வெளிப்படையாக, ஒரு சரம் நீளம் கண்டறிவதன் அவசியம்?
நீங்கள் ஆரம்பத்தில் தொடங்கி பிறகு பார், பார், பார், பார், பார் வேண்டும்
நீங்கள் இறுதியாக, சிறப்பு தன்மையை பார்க்க வரை எந்த புள்ளியில், ஹா, இப்போது நான் நீளம் தெரியும்.
எனவே முந்தைய நாம் strlen மீண்டும் மீண்டும் மீண்டும் அழைப்பு வரும் போது,
மீண்டும், அந்த சரம் என்று தெரிகிறது ஏனெனில் முட்டாள் இருந்தது என்று நான் முன்மொழிந்த காரணம்.
அது, சில சுழற்சிமூலம் நீ கூறு ஒவ்வொரு முறையும் மாற்ற போவதில்லை
அதனால் தேவையற்ற வேலை செய்கிறீர்கள்.
அதே நேரத்தில் நீங்கள் ஒரு ஒதுக்கி என, கணகண வென்ற சப்தம் போல் அந்த கம்பைலர்களை இந்த நாட்களில், எனக்கு வேண்டும்
பல ஆண்டுகளாக உருவாக்கப்பட்டு வருகின்றன,
மற்றும் தொகுப்பி எழுத்தாளர்கள், புரோகிராமர்கள், கெட்டிக்காரி இருக்கும்.
அதனால் அதை கணகண வென்ற சப்தம் மற்றும் பிற கம்பைலர்களை உண்மையில் கண்டுபிடிக்க முடியும் என்று மாறிவிடும்,
சரி, சரி, நீ, உன் நிலையில் strlen எழுதியது
இது தொழில்நுட்ப நாம் மீண்டும் மீண்டும் மீண்டும் அழைப்பு என்று பொருள்.
ஆனால் ஸ்மார்ட் கம்பைலர்களை உண்மையில் ஏழை பயனர் முடிவுகளை அந்த வகையான மேம்படுத்த முடியும்
விஷயங்களை தீர்ப்பதற்கான உங்கள் குறியீடு வெளியே.
>> எனவே தான் சில நேரங்களில் தொகுப்பி சிறந்த நம்மை விட என்று உணர
மற்றும் வகையான எங்கள் சொந்த தவறுகளை மறைக்கும்.
ஆனால், நிச்சயமாக அது, பிரச்சனை பெட்டிகள் போன்ற வரும்போது
அந்த அடிப்படையில் பிழையான வடிவமைப்பு முடிவுகள் பற்றி நினைத்து
சாத்தியமான வழியில் இன்னும் வேலை செய்து இருக்கும் என்று எளிய காரணம்
நாம் உண்மையில் செய்ய வேண்டும் விட. ஆனால், இன்னும் எவ்வளவு வேலை?
Hello World வழக்கில், இந்த சிக்கலை அளவு பொதுமைப்படுத்த ஆரம்பிப்போம்.
பிரச்சனை நீளம் அல்லது சிக்கல் அளவு என்ன
வார்த்தையானது தட்டச்சு பயனர் வணக்கம் ஆகும்?
அது ஒருவேளை, வெளிப்படையாக 6 5 தான். பிளஸ் அல்லது கழித்தல் 1. என்ன.
நாம் அது 5 அழைக்கிறேன் மிக அருகில்.
>> ஹலோ நீளம் கண்டுபிடிக்க முயற்சிக்கும் போது, அதனால் பிரச்சனை அளவு இங்கே என்ன?
கடந்த கதாபாத்திரத்தை ஒருவேளை 1, 2, 3, 4, 5, 6, ஆனால் பொதுமைப்படுத்த நாம் n என்று.
எனவே, n, வெறும் மாறி n, கணினி விஞ்ஞானிகள் பொதுவாக பயன்படுத்த வேண்டும் என்று
கையில் ஒரு சிக்கல் அளவு, மற்றும் சிக்கலை விவரிக்க ஹலோ எப்படி நீளமாக உள்ளது?
Strlen எவ்வளவு நேரம் ஆகும்?
ஒவ்வொரு அடியிலும் ஒரு பாத்திரம் பாருங்கள் என்பது தான்,,, n நடவடிக்கைகளை வரிசையில் எடுக்கும்
ஒரு பாத்திரத்தில் இருக்கும், ஒரு கதாபாத்திரம் இருக்கும்.
நாம் ஒரு போதும் மீண்டும் இந்த விவாதம் இருந்தது, நடவடிக்கைகள் எண்ணிக்கை ஒன்று ஆகும்.
வர்க்கம் முதல் நாள் நாம் அனைவரும் அசிங்கமாக, எழுந்திரு
பின்னர் அனைவரும் ஒருவருக்கொருவர் விட்டு இணைசேர்ப்பு தொடங்கியது
வரிசையில் உண்மையில் அறையில் வெறுமனே எத்தனை பேர் இருந்தனர் எண்ண.
மற்றும் நாம் இன்னொரு காரியம் செய்தாய் அதனால் நான் பதிலாக பழைய வழி செய்தால்
அவ்வளவு தான் இனிமேல் 1, 2, 3, 4, 5, 6 ஆரம்ப மற்றும்,
அதுவும், அந்த சிக்கல் அளவு அளவு n இருந்தது. அறையில் n மக்கள் இருந்தனர்.
ஆனால் நான், சரி என்று வேகமாக முடியும்? தரம் பள்ளி பாணி நான் 2s உள்ள எண்ணிக்கை தொடங்க முடியும்.
2, 4, 6, 8, 10, 12. அந்த இவ்வளவு வேகமாக, உண்மையில் அது உணர்கிறது.
மற்றொரு 400 பேர் இந்த அறைக்குள் நுழைந்த அது, மீண்டும் மொழியில் இருமுறை வேகமாக, ஆனால்
ஒரே நேரத்தில் அனைத்து, அந்த வழிமுறைகளை மற்றொரு 400 அல்லது ஒருவேளை 200 நடவடிக்கைகளை எடுக்க வேண்டும்.
>> நாம் உண்மையில் ஸ்மார்ட் பெற நாம் பதிலாக இருந்தால் ஆனால் இதற்கு மாறாக, நீங்கள் அனைவரும் உங்களை எண்ணி
அந்த வழிமுறையை வேலை என்பதை நான் நினைவுகூருகிறேன்.
நீங்கள் அனைத்து எழுந்துவிட்டோம். இந்த வேகமாக முன்னோக்கி என்னை விட.
நீங்கள், நீங்கள் பாதி அமர்ந்தோம் பின்னர், உங்களுக்கு ஜோடியாக, எழுந்துவிட்டோம்
நீங்கள் பாதி அமர்ந்தோம், நீங்கள் பாதி, அமர்ந்தோம்
மற்றும் வாரம் 0 இந்த சுழற்சியில் ஒவ்வொரு மறுசெய்கையும் மீது, நாம் கையில் பிரச்சனை பாதியாக
பின்னர் n / 8, பின்னர் n / 4, n / 2 சென்றார்.
மற்றும் அந்த உட்குறிப்பு என்று மற்றொரு 400 பேர் அறை, பெரிய விஷயமல்ல, சேர்வதற்கு என்றால்
அது, எங்களுக்கு இல்லை 400 மேற்பட்ட சுற்றுக்கள், இல்லை 200 மேற்பட்ட சுற்றுக்கள் 1 மேலும் சுற்று எடுக்கும்.
எனவே நாம் மீண்டும் ஒரு சொல்லிவிட்டார் கதை இந்த ஒரு சிறிய ஏதாவது செய்ய வேண்டியிருந்தது.
இந்த சிவப்பு கோடு இங்கே லீனியர், அது நேராக, அது n என தான்
ஒரு பிரச்சனை அளவு வளரும் ஏனெனில்,
உங்கள் வழிமுறை அல்லது நிரல் எந்த உங்களுக்கு தீர்க்கும் என்றால் அது, n படிகளில்
நாம் அது சிக்கலை பெரிய அளவு அதிக நேரம் எடுத்து, அங்கு ஒரு வரிசையில் இது திட்டமிடுவர் முடியும்.
மற்றும் கொஞ்சம் 2 எண்ணும் twosies அணுகுமுறை, 4, 6, 8, இன்னும் ஒரு வரிசையில்,.
இது ஒரு குறைவான நேரம் எடுத்து, மஞ்சள் கோடு புள்ளி சிவப்பு கோடு புள்ளி கீழே உள்ளது.
>> ஆனால் இன்னும் சிறப்பாக நாம் மடக்கை நேரம் என்று இந்த புனித புத்தகமாகும் இருந்தது
அங்கு மீண்டும் நாம் அறையில் மக்களின் எண்ணிக்கை இரண்டு மடங்காக இருந்தாலும்,
நாம், வர்க்கம் முதல் நாளில் இருந்து அந்த தொலைபேசி புத்தகத்தின் அளவு இருமடங்காக
பெரிய விஷயமல்ல, இது மேலும் 1 பக்கம் கண்ணீர் எடுத்து, 1 மேலும் உட்கார்ந்த கீழே செல்லும்
இருமடங்கு பெரிய என்று ஒரு பிரச்சினையை தீர்க்க வேண்டும்.
எனவே உரையாடலை நாம் இப்போது கொண்ட தொடங்க வேண்டும்
எப்படி நாம் உண்மையில் திறமையாக பிரச்சினைகளை தீர்த்து
நாம் இந்த மாதிரி பிரச்சனைகள் எளிய கருத்தில்? என்றால்
நாம் சில எண்கள் பின்னால் 8 கதவுகள் என்று நினைக்கிறேன்
இந்த எண்ணிக்கை ஒவ்வொரு, எந்த வழியில் சரியாகவில்லை
அவர்கள், இந்த கதவுகளுக்கு பின்னால் ஒரு சீரற்ற முழு இருக்கும்
யாருக்கு தெரியும் - நாம் எப்படி கண்டுபிடித்து பற்றி போக கேள்வி கேட்க -
இந்த கதவுகளுக்கு பின்னால் 7?
நீங்கள், ஒரு மனித, என்னை எண் 7 கண்டறிய என்ன செய்ய வேண்டும்
மீண்டும் இந்த ஒவ்வொரு கதவுகள் மற்றும் ஒரு மதிப்பு பார்க்க நீங்கள் ஒரு கதவை திறக்க வேண்டும்?
என்ன உங்கள் வழிமுறை ஒருவேளை வேண்டும்?
>> [செவிக்கு புலப்படாமல் மாணவர் பதில்] >> எனவே இடது தொடங்க ஒரு கதவை திறக்க, ஒரு கதவை திறக்க, ஒரு கதவை திறக்க.
மற்றும் மோசமான நிலையில், அது எவ்வளவு நேரம் எண்ணிக்கை 7 கண்டுபிடிக்க நாம் எடுத்து கொள்ள போகிறார்கள்?
மீண்டும், அவர்கள் சரியாகவில்லை, அது போன்ற எளிதல்ல என்பதை, நன்றாக, நான் 7 கதவை திறக்க போகிறேன்.
இது, அதிகபட்சம், 8 நடவடிக்கைகளை நாம் எடுக்க முடியும்.
மோசமான வழக்கில், 7, கதவுகள் வரி மிகவும் இறுதியில் குறிப்பில்லாமல் இருக்கும்
எனவே நாம் அனைத்து n கதவுகள் முயற்சி வேண்டும்.
எனவே மீண்டும் இங்கே, நாம் ஒரு நேர்கோட்டு வழிமுறை தெரிகிறது.
உண்மையில், நாம் ஆண்டுகளுக்கு ஒரு தம்பதி முன்பு இதை.
உங்கள் முந்தைய இந்த துல்லியமாக சவாலாக
நாம் ஒரு டிஜிட்டல் பதிப்பு இல்லை, அங்கு, நாம் அதற்கு பதிலாக ஒரு blackboard இருந்தது
அதை காகிதத்தில் சில துண்டுகளை சேர்த்து.
மற்றும் நான் என்ன செய்ய முடியும் என்று நினைத்தேன், இந்த சென்றது எப்படி மீண்டும் ஒரு விரைவு பாருங்கள் உள்ளது
மேடையில் சிறந்த மற்றும் மிகவும் மோசமான வாய்ப்புகளை ஒரு
சரி இங்கே சாண்டர்ஸ் ஒரு ஆர்ப்பாட்டத்தில் வேண்டும்.
நாம் எண்களை 2 வரிசைகள் இருந்தது.
நாம் இந்த வரிசைகளில் மிக சிறந்த ஒரு சீன் இங்கு என்ன நடக்கிறது என்று பார்க்க போகிறோம்.
தவிர, மீண்டும் எப்போதும் ஒரு CS50 உள்ள தொண்டர்கள்,
நாம், கேமரா இந்த வைத்து சீன் ஆசி பெற்றார்
எனவே அவர் நூற்றுக்கணக்கான மக்கள் பல ஆண்டுகளாக இந்த பார்த்து வருகின்றனர் என்று தெரியும்.
ஆனால் சீன் ஒரு நல்ல வேலை செய்யவில்லை - அல்லது அவர் -? உண்மையில் எங்களுக்கு ஒரு குறிப்பிட்ட எண்ணிக்கையிலான கண்டறிவதற்கு.
>> எனவே நீண்ட காலத்திற்கு முன்பே இந்த உரையாடலை மீண்டும் சொல்கிறேன் என்று அவர் இந்த வழிமுறை தீர்க்க எப்படி நாம் பார்ப்போம்
எப்படி நாம் திறமையாக விஷயங்கள்.
[வீடியோ Malan] நான், இந்த கதவுகளுக்கு பின்னால் எண் 7 மறைத்து
ஆனால் இந்த கதவுகள் சில விட்டு வச்சிட்டேன் அதே, அல்லாத பிற எதிர்மறை எண்கள்
மற்றும் உங்கள் இலக்கு ஒரு வரிசை எண்களை இந்த மேல் வரிசை என்று உள்ளது
அல்லது அவர்களுக்கு பின்னால் எண்கள் காகித துண்டுகளை மட்டும் ஒரு காட்சியில்,
மற்றும் உங்கள் இலக்கு மட்டுமே இங்கே மேல் வரிசை பயன்படுத்தி, தான், என்னை எண் 7 கண்டறிய.
மற்றும் நாம் அதை செய்ய போய் எப்படி விமர்சனம் செய்ய போகிறீர்கள். >> சரி.
[Malan] எங்களுக்கு எண் 7 அறிய, தயவு செய்து.
[சிரிப்பு]
[Malan] இல்லை [சிரிப்பு]
5, 19, 13, [சிரிப்பு]. இது ஒரு தந்திரம் பிரச்சினை அல்ல.
1.
[சிரிப்பு]
இந்த கட்டத்தில் உங்கள் ஸ்கோர் நல்ல அல்ல, எனவே நீங்கள் நன்றாக போகும் என்று. [சிரிப்பு]
3.
போ. வெளிப்படையாக, நான் உதவி ஆனால் நீங்கள் கூட நினைத்துக்கொண்டு என்ன முடியாது. [சிரிப்பு]
மேல் வரிசை, நீ 3 இடது கிடைத்துவிட்டது. என்னை 7 கண்டறிய.
[மாணவர்கள் முனுமுனுப்பு]
[Malan] 17.
[மாணவர்கள் முனுமுனுப்பு]
[Malan] 7! [கரவொலி]
>> எனவே புதன்கிழமை விஷயங்களை நாம் கண்டுபிடித்து இந்த மற்றும் அதிக சிக்கலான படிமுறைகளின் ஒரு டைவ்.
இப்போது நாம் சீன் நீ விட்டு புதனன்று நீங்கள் பார்க்க.
[CS50.TV]