ZAMYLA சான்: அது ஒரு-என்னை,, Zamyla. இன்று, நாம் செயல்படுத்த போகிறோம் மரியோ, நாங்கள் மரியோ வரைய முடியும் அவரை ஒரு முழு பிரமிடு மீது குதிக்க. தான் உடைந்து போகலாம் இந்த பிரச்சனைக்கு துணை செயல்களுடன். முதல், நாம் பயனர் கேட்கும் வேண்டும் பிரமிடு உயரம். பின்னர் நாம் உறுதி செய்ய வேண்டும் என்று அந்த உள்ளீடு செல்லுபடியாகும். பின்னர் நாம் என்ன செய்ய போகிறோம் பிரமிடு வரைய வேண்டும். எனவே கேட்கும் பற்றி பேசுகிறேன் மற்றும் பயனர் உள்ளீடு உறுதிப்படுத்திய. அது போல் ஏதாவது இருக்கும் என்று இந்த, ஒரு செய்யும் போது வளைய என்று ஒரு பயனர் கேட்கிறது முழு பின்னர் மட்டுமே மீளல்கள் என்று முழு தவறானது. இந்த நிலையில் என்ன இருக்க வேண்டும்? இந்த, நாம் திரும்பி போகலாம் விவரக்குறிப்பு. சரி, ஸ்பெக் எந்த செல்லுபடியான என்று நமக்கு சொல்கிறது உயரம், 0 மற்றும் 23 இடையே இருக்க போகிறது உள்ளடக்கிய. எனவே, அந்த எந்த தவறான என்று அர்த்தம் உயரம் குறைவாக 0 இருக்க போகிறது அல்லது 23 க்கும் மேற்பட்ட. எனவே இப்போது நாம் இந்த தகவல் இல்லை என்று, நமது நிலை வடிவமைப்பு நாம். ஆனால் நாம் கவனமாக இருக்க வேண்டும், இப்போது நாம் ஏனெனில் நாங்கள் மதிப்பீடு செய்ய வேண்டும், என்று இரண்டு Booleans. இங்கே நான் உங்களுக்கு வழங்கப்படும் ஒரு உண்மை அட்டவணையின் மூலம். இது எங்களுக்கு இரண்டு எடுக்க அனுமதிக்கிறது Booleans, பூலியன் ஒன்று மற்றும் இரண்டு. நாம் ஒன்று bool1 மதிப்பிட முடியாது மற்றும் bool2 அல்லது bool1 அல்லது bool2. எனவே வேறுபாடு என்ன இடையே மற்றும் மற்றும் அல்லது? சரி, bool1 மற்றும் bool2 சாப்பிடுவேன் மதிப்பீடு உண்மையாக இருந்தால் மட்டுமே இருவரும், Booleans உண்மை என்றால், அல்லது அறுவை சிகிச்சை அதேசமயம் உண்மை இருக்கும் ஒன்று என்றால் Booleans அல்லது இரண்டு உண்மை. இதை மனதில் கொண்டு, நீங்கள் கண்டுபிடிக்க முடியும் என்றால் பார்க்க என்ன பொருத்தமான நிலை ஒரு தவறான N உங்கள் செய்யும் போது வளைய அது இப்படி போகும் போல. என்று நாங்கள் தூண்டியது மற்றும் மதிப்பாய்வு செய்தவுடன் பிரமிடு உயரம் பயனர் அவர்கள் விரும்பும். அதனால் இப்போது, அது எங்களுக்கு தான் பிரமிடு வரைய. இந்த முழு பிரமிடு சிக்கல் சிறிது இருக்கும் இது போன்ற, நாம் ஒரு இடது பிரமிடு வேண்டும், அங்கு, சில இடைவெளி, பின்னர் ஒரு சரியான பிரமிடு. எனவே கொஞ்சம் கீழே இந்த உடைக்க அனுமதிக்க. நான் என் உரை ஆசிரியர் சென்றால், இங்கே நான் எங்களுக்கு ஒரு இடது-பிரமிடு வரையப்பட்ட. ஆனால் அதை செய்ய மாட்டேன். நாம் என்ன செய்ய வேண்டும் நாம் செய்ய வேண்டும் என்று முதல் ஒரு வலது சீரமைக்கப்பட்டது பிரமிடு உருவாக்க. அதனால் தான் தள்ள, இதை செய்ய பக்க சேர்த்து என் ஹாஷ்கள், நான் சில கதாபாத்திரங்களின் வைக்க போகிறேன் , இடையே தான் இந்த புள்ளிகள். அப்பொழுது நான் இரண்டு வைக்க போகிறேன் அடுத்த வரி, மற்றும் என்று வரியில். எனவே இங்கு நான் ஒரு வேண்டும் வலது சீரமைக்கப்பட்டது பிரமிடு. பின்னர், நான் போகிறேன் மேல் வரிசையில் திரும்பி போக மற்றும் இடைவெளி, வைக்கலாம் பின் ஸ்பெக் இரண்டு இடங்கள் ஒன்றுக்கு, உள்ளது. பிறகு நான் நிரப்ப போகிறேன் பிரமிடு மற்ற பக்கத்தில். நான் இரண்டாவது வரிசையில் செல்ல போகிறேன், எழுத இடைவெளி இரண்டு இடங்கள் மற்றும் பிறகு இரண்டு hashes. மீண்டும் மூன்றாவது வரிசையில் இரண்டு இடங்கள் இடைவெளி மற்றும் மூன்று ஹாஷ்கள் ஐந்து. இறுதியில், இரண்டு இடங்கள் இடைவெளி மற்றும் நான்கு ஹாஷ்கள் ஐந்து. அதனால் தான் என்ன ஒரு முழு பிரமிடு போல இருக்கும். நிச்சயமாக, நாம் விரும்பவில்லை வழியில் இந்த புள்ளிகள். எனவே நாம் இந்த பதிலாக போகிறோம் சில இடைவெளிகள் செலுத்துவதன் மூலம் புள்ளிகள். ஒன்று, இரண்டு, முதல் வரியில் மூன்று. ஒன்று, இரண்டு இரண்டாவது. மூன்றாம் வரியில். எனவே இந்த நாம் என்ன செய்ய வேண்டும் என்பது தான் ஒரு முழு பிரமிடு செய்ய வேண்டும், எங்கள் உரை ஆசிரியர், சொல்ல. எனவே இந்த அழைத்து செல்லலாம், முறைகள் புரிந்து மற்றும் சில சூடோகுறியீடு அதை மாற்ற. பிரமிடு ஒவ்வொரு வரியிலும், நாம் விரும்பும் விட்டு பிரமிடு அச்சிட பின்னர் இடைவெளி பின்னர் வலது பிரமிடு. இடது பிரமிடு, நாம் அச்சிட இடைவெளிகள் தேவையான அளவு, ஹாஷ்கள் தொடர்ந்து. பின்னர் நாம் இடைவெளி, அச்சிட இது வெறும் இரண்டு இடங்கள் ஒவ்வொரு முறையும் உள்ளது. மற்றும் வலது பிரமிடு, நாம் அச்சிட ஹாஷ்கள் தேவையான எண்ணிக்கையில். இரண்டாவது வரிசையில், நாம் நடத்திய இடமுள்ள. நாம் இடது இடைவெளிகள் அச்சிட பிரமிடு, தேவையான அளவு ஹாஷ்கள், இடைவெளி, இரண்டு இடங்கள், மற்றும் பின்னர் வலது பிரமிடு ஒரு hashes. மாதிரியை சமாளிக்க வேண்டும் இடது பிரமிடு ஐந்து. நோக்கங்களுக்காக நான் இருந்தால், இந்த உதாரணம், ஒரு உயரம் எட்டு கோரிய பயனர், பின்னர் என் முதல் வரிசையில் ஒரு ஹாஷ் மற்றும் ஏழு இடங்கள் வேண்டும். என் இரண்டாவது வரிசையில் வேண்டும் இரண்டு hashes, ஆறு இடங்கள். மூன்றாவது வரிசையில், மூன்று ஹாஷ்கள், ஐந்து இடைவெளிகள். ஒருவேளை நீங்கள் இதை செய்ய முடியும் எட்டு ஒரு உயரம் உங்களை எத்தனை பேர், ஒவ்வொரு வரிசையில் தீர்மானிக்க hashes எப்படி பல இடங்களில் நீங்கள் வேண்டும். ஆனால் நாம் என்ன செய்ய வேண்டும் என்று நாம் அது சுருக்க வேண்டும். எனவே நான் எந்த N வது ஒன்றின் வரிசையில், எத்தனை நீங்கள் கேட்க ஹாஷ்கள் நாம் எத்தனை இடங்கள் தேவை? இப்போது, நீங்கள் தீர்மானிக்க என எத்தனை hashes மாதிரியைக் மற்றும் நீங்கள் தேவை எத்தனை இடங்கள் ஒரு குறிப்பிட்ட உயரம் எந்த N வது ஒன்றின் வரிசையில், கவனமாக இருக்க வேண்டும் நினைவில் எப்படி நீங்கள் அதுவொரு வருகிறோம். என்ன நான் இந்த அர்த்தம் தினமும் என்று வாழ்க்கை எங்களுக்கு மிகவும் ஒன்று எண்ணிக்கை தொடங்கும். எனவே முதல் வரிசையில் முதலிடத்தை இருக்க வேண்டும். மற்றும் இரண்டாவது வரிசையில் வரிசையில் இருக்கும் எண் இரண்டு, அதனால் மற்றும் முன்னும் பின்னுமாக. ஆனால் கணினி அறிவியல் மற்றும் , CS50, நாம் பூச்சிய உள்ளடக்கிய இருக்கும். எனவே நாம் உண்மையில் பூஜ்ஜியத்தில் எண்ணிக்கை தொடங்க. எனவே முதல் வரிசையில் என்று வரிசை எண் பூஜ்யம் இருக்க. மற்றும் இரண்டாவது வரிசையில் வரிசை எண் ஒன்று இருக்கும். எனவே நான் ஒரு எட்டு ஒரு உயரம் இருந்தது என் பிரமிடு, n, பின்னர் கடந்த மதிப்பு உண்மையில் ஏழு மற்றும் எட்டு இருக்கும். எனவே இதை பற்றி கவனமாக இருக்க. நீங்கள் நிர்ணயிக்கும் போது எச்சரிக்கையாக இருக்க வேண்டும் உங்கள் பூச்சிய உள்ளடக்கிய என்பதை உங்கள் முறை அல்லது ஒரு சட்டிகளை சரி. எனவே இப்போது நாம் என்று இடது பிரமிடு அமைப்பு, நாங்கள் தீர்மானிக்க வேண்டும் இடைவெளி முறை. அதிர்ஷ்டவசமாக, இந்த மிகவும் எளிது. அது எப்போதும் இரண்டு இடங்கள் தான். எனவே இப்போது நாம் சரியான முறை தொடர. முதல் வரிசையில் ஒரு ஹாஷ் வேண்டும். இரண்டாவது வரிசையில், இரண்டு. மூன்றாவது வரிசையில், மூன்று. எனவே மற்றும் முன்னும் பின்னுமாக. எனவே மீண்டும், எந்த சுருக்க தீர்மானிக்க n மற்றும் எத்தனை hashes எந்த உயரம் மற்றும் எத்தனை இடங்கள் ஒவ்வொரு வரிசையில் வேண்டும். சரி. எனவே நாம் என்று ஒவ்வொரு வரிசையில் நாம் சில செயல்முறை நடத்த வேண்டும். எப்படி என்று நாம் செய்வது? சரி, நாம் வளைய கட்டமைப்பு பயன்படுத்த, ஒரு துவக்க கொண்டது, ஒரு நிலையில், ஒரு மேம்படுத்தல். சுழல்கள் பயன்படுத்த முடியும் செயல்முறைகள் மீண்டும். எனவே, நான் அதை ஹலோ சொல்ல விரும்புகிறேன் பின்னர் என் வட்டத்திற்கு உலக 50 முறை, இந்த மாதிரி ஏதாவது இருக்கும் என்று, எங்கே நான் பூஜ்யம் என் மாறி துவக்க. நிலையில் நான் 50 குறைவாக உள்ளது என்று. பின்னர் மேம்படுத்தல் அது என்று ஒவ்வொரு முறையும் மூலம் அதிகரிப்பில். அதனால் என்ன இந்த வேண்டும் செய்ய வேண்டும் ஒரு வரிசையில் ஹலோ அச்சிட, உலக 50 மடங்கு. இப்போது, நான் மீண்டும் கூறு வேண்டும் என்று பிரமிடு உயரம் மீது. பின்னர் அதற்கு பதிலாக கடினமாக கோடிங் நிலையில் சில மதிப்பு, நான் மாறி உயரம் பயன்படுத்த. எனவே இதை செய்ய என்ன கூறு இல்லை உயரம் ஒவ்வொரு வரிசையில். நான் உள்ளே ஏதாவது செய்ய முடியும் என்று வளைய உடல். நாம் என்ன செய்ய வேண்டும் என்ன வளைய உடல் உள்ளே? சரி, நாம் முன்னர் குறிப்பிட்டது போல, நாம் விரும்பும் இடைவெளிகள் மற்றும் ஹாஷ்கள் அச்சிட இடது பிரமிடு பின்னர் அச்சு இரண்டு இடங்கள் மற்றும் பிறகு ஹாஷ்கள் அச்சிட. எனவே, நாம் ஏற்கனவே வெளியே வந்தார். எனவே நாம் பூர்த்தி செய்ய தொடங்க முடியும் இன்னும் நிறைய எங்கள் திட்டத்தில். இங்கே நான் வளைய ஒரு வெளி வேண்டும் என்று பிரமிடு ஒவ்வொரு வரிசை மீது செயல்களை. அந்த உடலின் உள்ளே நான் போகிறேன் மீண்டும் மீண்டும் இடைவெளிகள் அச்சிட, மீண்டும் மீண்டும் hashes, பின்னர் இடைவெளி, பின்னர் வலது பிரமிடு ஒரு hashes, பின்னர், இறுதியாக, ஒரு புதிய வரி அடுத்த வரிசையில் தொடங்க. என்று நாங்கள் கேட்கும் நீங்கள் உள்ளீடு பயனர். நாம் அது ஒரு செல்லுபடியாகும் என்று உறுதி செய்து விட்டேன். பின்னர் நாம் பிரமிடு வரையப்பட்ட. எனவே மரியோ வெற்றிகரமாக முடியும் பிரமிடு ஏற. என் பெயர் Zamyla உள்ளது. மற்றும் இந்த CS50 உள்ளது.