1 00:00:00,000 --> 00:00:00,500 2 00:00:00,500 --> 00:00:02,640 ZAMYLA சான்: அது ஒரு-என்னை,, Zamyla. 3 00:00:02,640 --> 00:00:06,950 இன்று, நாம் செயல்படுத்த போகிறோம் மரியோ, நாங்கள் மரியோ வரைய முடியும் 4 00:00:06,950 --> 00:00:10,730 அவரை ஒரு முழு பிரமிடு மீது குதிக்க. 5 00:00:10,730 --> 00:00:14,430 தான் உடைந்து போகலாம் இந்த பிரச்சனைக்கு துணை செயல்களுடன். 6 00:00:14,430 --> 00:00:17,930 >> முதல், நாம் பயனர் கேட்கும் வேண்டும் பிரமிடு உயரம். 7 00:00:17,930 --> 00:00:20,510 பின்னர் நாம் உறுதி செய்ய வேண்டும் என்று அந்த உள்ளீடு செல்லுபடியாகும். 8 00:00:20,510 --> 00:00:23,280 பின்னர் நாம் என்ன செய்ய போகிறோம் பிரமிடு வரைய வேண்டும். 9 00:00:23,280 --> 00:00:26,850 >> எனவே கேட்கும் பற்றி பேசுகிறேன் மற்றும் பயனர் உள்ளீடு உறுதிப்படுத்திய. 10 00:00:26,850 --> 00:00:29,920 அது போல் ஏதாவது இருக்கும் என்று இந்த, ஒரு செய்யும் போது வளைய என்று 11 00:00:29,920 --> 00:00:33,250 ஒரு பயனர் கேட்கிறது முழு பின்னர் மட்டுமே மீளல்கள் 12 00:00:33,250 --> 00:00:35,700 என்று முழு தவறானது. 13 00:00:35,700 --> 00:00:38,220 இந்த நிலையில் என்ன இருக்க வேண்டும்? 14 00:00:38,220 --> 00:00:40,630 >> இந்த, நாம் திரும்பி போகலாம் விவரக்குறிப்பு. 15 00:00:40,630 --> 00:00:46,240 சரி, ஸ்பெக் எந்த செல்லுபடியான என்று நமக்கு சொல்கிறது உயரம், 0 மற்றும் 23 இடையே இருக்க போகிறது 16 00:00:46,240 --> 00:00:47,350 உள்ளடக்கிய. 17 00:00:47,350 --> 00:00:51,400 எனவே, அந்த எந்த தவறான என்று அர்த்தம் உயரம் குறைவாக 0 இருக்க போகிறது 18 00:00:51,400 --> 00:00:53,840 அல்லது 23 க்கும் மேற்பட்ட. 19 00:00:53,840 --> 00:00:57,220 >> எனவே இப்போது நாம் இந்த தகவல் இல்லை என்று, நமது நிலை வடிவமைப்பு நாம். 20 00:00:57,220 --> 00:00:59,230 ஆனால் நாம் கவனமாக இருக்க வேண்டும், இப்போது நாம் ஏனெனில் 21 00:00:59,230 --> 00:01:02,130 நாங்கள் மதிப்பீடு செய்ய வேண்டும், என்று இரண்டு Booleans. 22 00:01:02,130 --> 00:01:04,150 >> இங்கே நான் உங்களுக்கு வழங்கப்படும் ஒரு உண்மை அட்டவணையின் மூலம். 23 00:01:04,150 --> 00:01:07,520 இது எங்களுக்கு இரண்டு எடுக்க அனுமதிக்கிறது Booleans, பூலியன் ஒன்று மற்றும் இரண்டு. 24 00:01:07,520 --> 00:01:13,600 நாம் ஒன்று bool1 மதிப்பிட முடியாது மற்றும் bool2 அல்லது bool1 அல்லது bool2. 25 00:01:13,600 --> 00:01:17,390 >> எனவே வேறுபாடு என்ன இடையே மற்றும் மற்றும் அல்லது? 26 00:01:17,390 --> 00:01:21,810 சரி, bool1 மற்றும் bool2 சாப்பிடுவேன் மதிப்பீடு உண்மையாக இருந்தால் மட்டுமே 27 00:01:21,810 --> 00:01:25,680 இருவரும், Booleans உண்மை என்றால், அல்லது அறுவை சிகிச்சை அதேசமயம் 28 00:01:25,680 --> 00:01:30,190 உண்மை இருக்கும் ஒன்று என்றால் Booleans அல்லது இரண்டு உண்மை. 29 00:01:30,190 --> 00:01:33,110 இதை மனதில் கொண்டு, நீங்கள் கண்டுபிடிக்க முடியும் என்றால் பார்க்க 30 00:01:33,110 --> 00:01:37,460 என்ன பொருத்தமான நிலை ஒரு தவறான N உங்கள் செய்யும் போது வளைய 31 00:01:37,460 --> 00:01:38,850 அது இப்படி போகும் போல. 32 00:01:38,850 --> 00:01:43,540 >> என்று நாங்கள் தூண்டியது மற்றும் மதிப்பாய்வு செய்தவுடன் பிரமிடு உயரம் பயனர் 33 00:01:43,540 --> 00:01:44,550 அவர்கள் விரும்பும். 34 00:01:44,550 --> 00:01:47,740 அதனால் இப்போது, அது எங்களுக்கு தான் பிரமிடு வரைய. 35 00:01:47,740 --> 00:01:50,520 இந்த முழு பிரமிடு சிக்கல் சிறிது இருக்கும் 36 00:01:50,520 --> 00:01:56,340 இது போன்ற, நாம் ஒரு இடது பிரமிடு வேண்டும், அங்கு, சில இடைவெளி, பின்னர் ஒரு சரியான பிரமிடு. 37 00:01:56,340 --> 00:01:58,630 எனவே கொஞ்சம் கீழே இந்த உடைக்க அனுமதிக்க. 38 00:01:58,630 --> 00:02:03,510 >> நான் என் உரை ஆசிரியர் சென்றால், இங்கே நான் எங்களுக்கு ஒரு இடது-பிரமிடு வரையப்பட்ட. 39 00:02:03,510 --> 00:02:05,160 ஆனால் அதை செய்ய மாட்டேன். 40 00:02:05,160 --> 00:02:10,139 நாம் என்ன செய்ய வேண்டும் நாம் செய்ய வேண்டும் என்று முதல் ஒரு வலது சீரமைக்கப்பட்டது பிரமிடு உருவாக்க. 41 00:02:10,139 --> 00:02:13,580 அதனால் தான் தள்ள, இதை செய்ய பக்க சேர்த்து என் ஹாஷ்கள், 42 00:02:13,580 --> 00:02:18,240 நான் சில கதாபாத்திரங்களின் வைக்க போகிறேன் , இடையே தான் இந்த புள்ளிகள். 43 00:02:18,240 --> 00:02:22,560 அப்பொழுது நான் இரண்டு வைக்க போகிறேன் அடுத்த வரி, மற்றும் என்று வரியில். 44 00:02:22,560 --> 00:02:26,070 எனவே இங்கு நான் ஒரு வேண்டும் வலது சீரமைக்கப்பட்டது பிரமிடு. 45 00:02:26,070 --> 00:02:28,540 >> பின்னர், நான் போகிறேன் மேல் வரிசையில் திரும்பி போக 46 00:02:28,540 --> 00:02:33,930 மற்றும் இடைவெளி, வைக்கலாம் பின் ஸ்பெக் இரண்டு இடங்கள் ஒன்றுக்கு, உள்ளது. 47 00:02:33,930 --> 00:02:37,680 பிறகு நான் நிரப்ப போகிறேன் பிரமிடு மற்ற பக்கத்தில். 48 00:02:37,680 --> 00:02:42,030 நான் இரண்டாவது வரிசையில் செல்ல போகிறேன், எழுத இடைவெளி இரண்டு இடங்கள் மற்றும் பிறகு இரண்டு 49 00:02:42,030 --> 00:02:42,920 hashes. 50 00:02:42,920 --> 00:02:47,020 மீண்டும் மூன்றாவது வரிசையில் இரண்டு இடங்கள் இடைவெளி மற்றும் மூன்று ஹாஷ்கள் ஐந்து. 51 00:02:47,020 --> 00:02:51,480 இறுதியில், இரண்டு இடங்கள் இடைவெளி மற்றும் நான்கு ஹாஷ்கள் ஐந்து. 52 00:02:51,480 --> 00:02:54,400 அதனால் தான் என்ன ஒரு முழு பிரமிடு போல இருக்கும். 53 00:02:54,400 --> 00:02:57,260 >> நிச்சயமாக, நாம் விரும்பவில்லை வழியில் இந்த புள்ளிகள். 54 00:02:57,260 --> 00:03:01,220 எனவே நாம் இந்த பதிலாக போகிறோம் சில இடைவெளிகள் செலுத்துவதன் மூலம் புள்ளிகள். 55 00:03:01,220 --> 00:03:03,720 ஒன்று, இரண்டு, முதல் வரியில் மூன்று. 56 00:03:03,720 --> 00:03:05,650 ஒன்று, இரண்டு இரண்டாவது. 57 00:03:05,650 --> 00:03:08,200 மூன்றாம் வரியில். 58 00:03:08,200 --> 00:03:12,060 எனவே இந்த நாம் என்ன செய்ய வேண்டும் என்பது தான் ஒரு முழு பிரமிடு செய்ய வேண்டும், 59 00:03:12,060 --> 00:03:13,700 எங்கள் உரை ஆசிரியர், சொல்ல. 60 00:03:13,700 --> 00:03:15,860 >> எனவே இந்த அழைத்து செல்லலாம், முறைகள் புரிந்து 61 00:03:15,860 --> 00:03:19,870 மற்றும் சில சூடோகுறியீடு அதை மாற்ற. 62 00:03:19,870 --> 00:03:24,500 பிரமிடு ஒவ்வொரு வரியிலும், நாம் விரும்பும் விட்டு பிரமிடு அச்சிட பின்னர் 63 00:03:24,500 --> 00:03:26,580 இடைவெளி பின்னர் வலது பிரமிடு. 64 00:03:26,580 --> 00:03:30,260 இடது பிரமிடு, நாம் அச்சிட இடைவெளிகள் தேவையான அளவு, 65 00:03:30,260 --> 00:03:31,740 ஹாஷ்கள் தொடர்ந்து. 66 00:03:31,740 --> 00:03:35,030 பின்னர் நாம் இடைவெளி, அச்சிட இது வெறும் இரண்டு இடங்கள் ஒவ்வொரு முறையும் உள்ளது. 67 00:03:35,030 --> 00:03:38,080 மற்றும் வலது பிரமிடு, நாம் அச்சிட ஹாஷ்கள் தேவையான எண்ணிக்கையில். 68 00:03:38,080 --> 00:03:41,410 >> இரண்டாவது வரிசையில், நாம் நடத்திய இடமுள்ள. 69 00:03:41,410 --> 00:03:44,510 நாம் இடது இடைவெளிகள் அச்சிட பிரமிடு, தேவையான அளவு 70 00:03:44,510 --> 00:03:49,930 ஹாஷ்கள், இடைவெளி, இரண்டு இடங்கள், மற்றும் பின்னர் வலது பிரமிடு ஒரு hashes. 71 00:03:49,930 --> 00:03:52,490 >> மாதிரியை சமாளிக்க வேண்டும் இடது பிரமிடு ஐந்து. 72 00:03:52,490 --> 00:03:55,660 நோக்கங்களுக்காக நான் இருந்தால், இந்த உதாரணம், ஒரு உயரம் 73 00:03:55,660 --> 00:03:58,790 எட்டு கோரிய பயனர், பின்னர் என் முதல் வரிசையில் 74 00:03:58,790 --> 00:04:01,020 ஒரு ஹாஷ் மற்றும் ஏழு இடங்கள் வேண்டும். 75 00:04:01,020 --> 00:04:03,860 என் இரண்டாவது வரிசையில் வேண்டும் இரண்டு hashes, ஆறு இடங்கள். 76 00:04:03,860 --> 00:04:06,749 மூன்றாவது வரிசையில், மூன்று ஹாஷ்கள், ஐந்து இடைவெளிகள். 77 00:04:06,749 --> 00:04:09,040 ஒருவேளை நீங்கள் இதை செய்ய முடியும் எட்டு ஒரு உயரம் உங்களை 78 00:04:09,040 --> 00:04:13,470 எத்தனை பேர், ஒவ்வொரு வரிசையில் தீர்மானிக்க hashes எப்படி பல இடங்களில் நீங்கள் வேண்டும். 79 00:04:13,470 --> 00:04:16,209 ஆனால் நாம் என்ன செய்ய வேண்டும் என்று நாம் அது சுருக்க வேண்டும். 80 00:04:16,209 --> 00:04:22,660 எனவே நான் எந்த N வது ஒன்றின் வரிசையில், எத்தனை நீங்கள் கேட்க ஹாஷ்கள் நாம் எத்தனை இடங்கள் தேவை? 81 00:04:22,660 --> 00:04:25,410 >> இப்போது, நீங்கள் தீர்மானிக்க என எத்தனை hashes மாதிரியைக் 82 00:04:25,410 --> 00:04:29,920 மற்றும் நீங்கள் தேவை எத்தனை இடங்கள் ஒரு குறிப்பிட்ட உயரம் எந்த N வது ஒன்றின் வரிசையில், 83 00:04:29,920 --> 00:04:32,910 கவனமாக இருக்க வேண்டும் நினைவில் எப்படி நீங்கள் அதுவொரு வருகிறோம். 84 00:04:32,910 --> 00:04:37,160 என்ன நான் இந்த அர்த்தம் தினமும் என்று வாழ்க்கை எங்களுக்கு மிகவும் ஒன்று எண்ணிக்கை தொடங்கும். 85 00:04:37,160 --> 00:04:39,680 எனவே முதல் வரிசையில் முதலிடத்தை இருக்க வேண்டும். 86 00:04:39,680 --> 00:04:43,620 மற்றும் இரண்டாவது வரிசையில் வரிசையில் இருக்கும் எண் இரண்டு, அதனால் மற்றும் முன்னும் பின்னுமாக. 87 00:04:43,620 --> 00:04:47,620 >> ஆனால் கணினி அறிவியல் மற்றும் , CS50, நாம் பூச்சிய உள்ளடக்கிய இருக்கும். 88 00:04:47,620 --> 00:04:50,750 எனவே நாம் உண்மையில் பூஜ்ஜியத்தில் எண்ணிக்கை தொடங்க. 89 00:04:50,750 --> 00:04:54,020 எனவே முதல் வரிசையில் என்று வரிசை எண் பூஜ்யம் இருக்க. 90 00:04:54,020 --> 00:04:56,640 மற்றும் இரண்டாவது வரிசையில் வரிசை எண் ஒன்று இருக்கும். 91 00:04:56,640 --> 00:05:02,510 எனவே நான் ஒரு எட்டு ஒரு உயரம் இருந்தது என் பிரமிடு, n, பின்னர் கடந்த மதிப்பு 92 00:05:02,510 --> 00:05:05,850 உண்மையில் ஏழு மற்றும் எட்டு இருக்கும். 93 00:05:05,850 --> 00:05:07,010 >> எனவே இதை பற்றி கவனமாக இருக்க. 94 00:05:07,010 --> 00:05:10,750 நீங்கள் நிர்ணயிக்கும் போது எச்சரிக்கையாக இருக்க வேண்டும் உங்கள் பூச்சிய உள்ளடக்கிய என்பதை உங்கள் முறை 95 00:05:10,750 --> 00:05:12,360 அல்லது ஒரு சட்டிகளை 96 00:05:12,360 --> 00:05:13,070 >> சரி. 97 00:05:13,070 --> 00:05:15,380 எனவே இப்போது நாம் என்று இடது பிரமிடு அமைப்பு, 98 00:05:15,380 --> 00:05:18,650 நாங்கள் தீர்மானிக்க வேண்டும் இடைவெளி முறை. 99 00:05:18,650 --> 00:05:20,480 அதிர்ஷ்டவசமாக, இந்த மிகவும் எளிது. 100 00:05:20,480 --> 00:05:22,690 அது எப்போதும் இரண்டு இடங்கள் தான். 101 00:05:22,690 --> 00:05:25,240 >> எனவே இப்போது நாம் சரியான முறை தொடர. 102 00:05:25,240 --> 00:05:27,220 முதல் வரிசையில் ஒரு ஹாஷ் வேண்டும். 103 00:05:27,220 --> 00:05:28,640 இரண்டாவது வரிசையில், இரண்டு. 104 00:05:28,640 --> 00:05:29,530 மூன்றாவது வரிசையில், மூன்று. 105 00:05:29,530 --> 00:05:30,790 எனவே மற்றும் முன்னும் பின்னுமாக. 106 00:05:30,790 --> 00:05:35,540 எனவே மீண்டும், எந்த சுருக்க தீர்மானிக்க n மற்றும் எத்தனை hashes எந்த உயரம் 107 00:05:35,540 --> 00:05:38,810 மற்றும் எத்தனை இடங்கள் ஒவ்வொரு வரிசையில் வேண்டும். 108 00:05:38,810 --> 00:05:39,700 >> சரி. 109 00:05:39,700 --> 00:05:45,050 எனவே நாம் என்று ஒவ்வொரு வரிசையில் நாம் சில செயல்முறை நடத்த வேண்டும். 110 00:05:45,050 --> 00:05:46,600 எப்படி என்று நாம் செய்வது? 111 00:05:46,600 --> 00:05:50,440 சரி, நாம் வளைய கட்டமைப்பு பயன்படுத்த, ஒரு துவக்க கொண்டது, 112 00:05:50,440 --> 00:05:52,310 ஒரு நிலையில், ஒரு மேம்படுத்தல். 113 00:05:52,310 --> 00:05:54,830 சுழல்கள் பயன்படுத்த முடியும் செயல்முறைகள் மீண்டும். 114 00:05:54,830 --> 00:05:59,610 >> எனவே, நான் அதை ஹலோ சொல்ல விரும்புகிறேன் பின்னர் என் வட்டத்திற்கு உலக 50 முறை, 115 00:05:59,610 --> 00:06:03,510 இந்த மாதிரி ஏதாவது இருக்கும் என்று, எங்கே நான் பூஜ்யம் என் மாறி துவக்க. 116 00:06:03,510 --> 00:06:06,200 நிலையில் நான் 50 குறைவாக உள்ளது என்று. 117 00:06:06,200 --> 00:06:09,670 பின்னர் மேம்படுத்தல் அது என்று ஒவ்வொரு முறையும் மூலம் அதிகரிப்பில். 118 00:06:09,670 --> 00:06:14,700 அதனால் என்ன இந்த வேண்டும் செய்ய வேண்டும் ஒரு வரிசையில் ஹலோ அச்சிட, உலக 50 மடங்கு. 119 00:06:14,700 --> 00:06:18,080 >> இப்போது, நான் மீண்டும் கூறு வேண்டும் என்று பிரமிடு உயரம் மீது. 120 00:06:18,080 --> 00:06:21,560 பின்னர் அதற்கு பதிலாக கடினமாக கோடிங் நிலையில் சில மதிப்பு, 121 00:06:21,560 --> 00:06:23,280 நான் மாறி உயரம் பயன்படுத்த. 122 00:06:23,280 --> 00:06:27,180 எனவே இதை செய்ய என்ன கூறு இல்லை உயரம் ஒவ்வொரு வரிசையில். 123 00:06:27,180 --> 00:06:30,280 நான் உள்ளே ஏதாவது செய்ய முடியும் என்று வளைய உடல். 124 00:06:30,280 --> 00:06:32,710 >> நாம் என்ன செய்ய வேண்டும் என்ன வளைய உடல் உள்ளே? 125 00:06:32,710 --> 00:06:36,550 சரி, நாம் முன்னர் குறிப்பிட்டது போல, நாம் விரும்பும் இடைவெளிகள் மற்றும் ஹாஷ்கள் அச்சிட 126 00:06:36,550 --> 00:06:40,730 இடது பிரமிடு பின்னர் அச்சு இரண்டு இடங்கள் மற்றும் பிறகு ஹாஷ்கள் அச்சிட. 127 00:06:40,730 --> 00:06:42,500 எனவே, நாம் ஏற்கனவே வெளியே வந்தார். 128 00:06:42,500 --> 00:06:45,670 எனவே நாம் பூர்த்தி செய்ய தொடங்க முடியும் இன்னும் நிறைய எங்கள் திட்டத்தில். 129 00:06:45,670 --> 00:06:49,850 >> இங்கே நான் வளைய ஒரு வெளி வேண்டும் என்று பிரமிடு ஒவ்வொரு வரிசை மீது செயல்களை. 130 00:06:49,850 --> 00:06:53,340 அந்த உடலின் உள்ளே நான் போகிறேன் மீண்டும் மீண்டும் இடைவெளிகள் அச்சிட, 131 00:06:53,340 --> 00:06:56,860 மீண்டும் மீண்டும் hashes, பின்னர் இடைவெளி, பின்னர் வலது பிரமிடு ஒரு hashes, 132 00:06:56,860 --> 00:07:00,440 பின்னர், இறுதியாக, ஒரு புதிய வரி அடுத்த வரிசையில் தொடங்க. 133 00:07:00,440 --> 00:07:02,860 >> என்று நாங்கள் கேட்கும் நீங்கள் உள்ளீடு பயனர். 134 00:07:02,860 --> 00:07:04,510 நாம் அது ஒரு செல்லுபடியாகும் என்று உறுதி செய்து விட்டேன். 135 00:07:04,510 --> 00:07:06,280 பின்னர் நாம் பிரமிடு வரையப்பட்ட. 136 00:07:06,280 --> 00:07:09,540 எனவே மரியோ வெற்றிகரமாக முடியும் பிரமிடு ஏற. 137 00:07:09,540 --> 00:07:10,970 >> என் பெயர் Zamyla உள்ளது. 138 00:07:10,970 --> 00:07:13,840 மற்றும் இந்த CS50 உள்ளது. 139 00:07:13,840 --> 00:07:15,419