1 00:00:00,000 --> 00:00:00,493 2 00:00:00,493 --> 00:00:09,860 >> [இசை] 3 00:00:09,860 --> 00:00:13,520 >> ZAMYLA சான்: நீங்கள் பதிலாக பெறும் $ 10 மில்லியன் இப்போது பெறவோ 4 00:00:13,520 --> 00:00:17,460 சில்லறைகள் மாதம் ஒவ்வொரு நாளும், அங்கு ஒவ்வொரு அடுத்தடுத்த நாள், நீங்கள் பெற 5 00:00:17,460 --> 00:00:21,280 நீங்கள் சில்லறைகள் அளவு இரட்டை முன் நாள் பெற்றார்? 6 00:00:21,280 --> 00:00:24,010 சில்லறைகள், நாம் போகிறோம் நிரூபிக்க ஏன் வேண்டும் 7 00:00:24,010 --> 00:00:27,000 நிச்சயமாக சில்லறைகள் எடுக்க. 8 00:00:27,000 --> 00:00:29,130 - Pennies.c-உங்கள் வேலை எழுத உள்ளது 9 00:00:29,130 --> 00:00:33,330 முதல் எவ்வாறு பயனர் கேட்கும் என்று ஒரு திட்டம் அங்கு பல நாட்கள் மாதம் மற்றும் 10 00:00:33,330 --> 00:00:38,780 பின்னர் பயனர் எத்தனை சில்லறைகள் கேட்கிறது முதல் நாள் பெறும். 11 00:00:38,780 --> 00:00:41,780 நிரல் பின்னர் கணக்கிட வேண்டும் பயனர் வேண்டும் என்று அளவு 12 00:00:41,780 --> 00:00:46,530 முடிவில் திரட்டப்பட்ட மாத மற்றும் அதை காட்ட. 13 00:00:46,530 --> 00:00:49,670 >> நாம் இந்த திட்டத்தை முறியடிக்க முடியும் பணிகளை ஒரு ஜோடி சேர்த்து. 14 00:00:49,670 --> 00:00:52,830 நாங்கள் கேட்கும் வேண்டும் பல பயனர் உள்ளீடுகள் - 15 00:00:52,830 --> 00:00:55,510 நாட்கள் மாதங்கள், மற்றும் சில்லறைகள் முதல் நாள். 16 00:00:55,510 --> 00:00:59,390 நாம் கண்காணிக்க வேண்டும், எவ்வளவு பணம் பயனர் ஒவ்வொரு மற்றும் புதுப்பிக்க 17 00:00:59,390 --> 00:01:03,060 நாள், அளவு இரட்டிப்பாக்க அவர்கள் பெறும் என்று சில்லறைகள். 18 00:01:03,060 --> 00:01:06,710 இறுதியாக, நாம் அச்சிட அவர்கள் டாலர்கள் இறுதி மொத்த. 19 00:01:06,710 --> 00:01:08,570 >> முதல் தடுப்பாட்டம் பயனர் உள்ளீடு செய்யலாம். 20 00:01:08,570 --> 00:01:11,560 நான், apples.c திறந்து போகிறேன் கையாள்கிறது என்று குறுகிய திட்டம் 21 00:01:11,560 --> 00:01:13,840 உள்ளீடுகள் மற்றும் வெளியீடுகளை கொண்டு. 22 00:01:13,840 --> 00:01:17,310 இங்கே மேலே, நான் சில சேர்க்கப்பட்டுள்ளது - நான் வேண்டும் என்று நூலகங்கள் 23 00:01:17,310 --> 00:01:20,450 CS50 நூலகத்தில் ஒரு நிலையான நான் / ஓ நூலகம். 24 00:01:20,450 --> 00:01:24,310 நான் பயன்படுத்தி ஒரு வரியில் அச்சிட இருந்து printf செயல்பாடு 25 00:01:24,310 --> 00:01:25,660 ஸ்டாண்டர்ட் I / O நூலகம். 26 00:01:25,660 --> 00:01:29,740 ஆனால் பயனர் கேட்கும் உண்மையான இந்த அடுத்த வரியில் நடக்கிறது 27 00:01:29,740 --> 00:01:33,650 CS50 நூலகத்தில் GetInt செயல்பாடு. 28 00:01:33,650 --> 00:01:38,300 >> GetInt பயனர் உள்ளீடு மற்றும் பெறுகிறது உள்ளீடு ஒரு முழு என்பதை உறுதி செய்கிறது. 29 00:01:38,300 --> 00:01:45,160 நான் முழு எண்ணாக கொண்டு பயனரின் உள்ளீடு சேமிக்க நான் இருந்து 1 கழித்தால், பின்னர் 30 00:01:45,160 --> 00:01:47,610 நான் புதிய மதிப்பு அவுட் அச்சிட. 31 00:01:47,610 --> 00:01:53,050 பயன்படுத்தி apples.c ஒடுக்குவதற்கான பின்னர் கட்டளை "ஆப்பிள்கள் செய்ய," நான் ஒரு வேண்டும் 32 00:01:53,050 --> 00:01:55,770 இயங்கக்கூடிய கோப்பு ஆப்பிள்கள். 33 00:01:55,770 --> 00:01:58,760 நான் உள்ளீடு 1, என்று இயங்கும். 34 00:01:58,760 --> 00:02:02,600 நிரல் என்னை சொல்கிறது என்று நான் விட்டு 0 ஆப்பிள்கள் வேண்டும். 35 00:02:02,600 --> 00:02:05,480 அதனால் எதிர்பார்த்தபடி வேலை என்று. 36 00:02:05,480 --> 00:02:09,740 >> எனவே மீண்டும் இயங்க அனுமதிக்க எதிர்மறை மற்றும் உள்ளீட்டு 1. 37 00:02:09,740 --> 00:02:13,950 இப்போது, ஆப்பிள்கள் ஒரு எதிர்மறை அளவு கொண்ட உண்மையில் பொருள், ஆனால் இல்லை 38 00:02:13,950 --> 00:02:18,370 எதிர்மறை ஏனெனில் திட்டம், அதை ஏற்றுக்கொள்கிறார் 1, நன்றாக, அது ஒரு முழு எண் ஆகும். 39 00:02:18,370 --> 00:02:22,740 இப்போது நிரல் அல்லது அசுரனை நிரல் ஒரு எதிர்மறை சாப்பிடுகிறது உள்ளே 40 00:02:22,740 --> 00:02:26,250 ஆப்பிள், மற்றும் இப்போது நான் எதிர்மறை 2 ஆப்பிள்கள். 41 00:02:26,250 --> 00:02:28,610 HM, அதனால் ஒரு படிப்பினை இருக்கிறது - 42 00:02:28,610 --> 00:02:32,965 கூட GetInt செயல்பாடு மற்றும் தொடர்புடைய GetFlow போன்ற செயல்பாடுகளை, அல்லது 43 00:02:32,965 --> 00:02:38,100 இங்கு சரியான தரவு வகை GetString, நீங்கள் உள்ளீடு செய்கிறது என்பதை உறுதி செய்ய வேண்டும் 44 00:02:38,100 --> 00:02:41,430 உங்கள் திட்டத்தை உணர்வு. 45 00:02:41,430 --> 00:02:45,500 >> சில்லறைகள், அது ஒரு வரியில் செய்ய மாட்டேன் ஒரு முழு எண், நீங்கள் செய்ய வேண்டும் 46 00:02:45,500 --> 00:02:49,550 நிச்சயமாக பயனர் உள்ளீடுகள் முழு எண்ணாக என்று அந்த சூழலில் கொடுக்கப்பட்ட உணர்வு செய்கிறது. 47 00:02:49,550 --> 00:02:55,690 மாதம் மட்டும், 28 முடியும் 29, 30, அல்லது 31 நாட்கள். 48 00:02:55,690 --> 00:02:59,160 நாங்கள் தொடர்ந்து கோரி வேண்டும் சரியான முழு எண். 49 00:02:59,160 --> 00:03:03,240 அவர்கள் உள்ளீடு நம் ஒரு முழு எண் வெளியே என்றால் ஏற்றுக்கொள்ளப்பட்ட எல்லைக்கு, நாம் கேட்கும் வேண்டும் 50 00:03:03,240 --> 00:03:07,190 மீண்டும் மீண்டும், வரை எங்களுக்கு சரியான முழு எண் கொடுக்க. 51 00:03:07,190 --> 00:03:10,070 >> "வரை மீண்டும்" நினைவு கீறல் ல் தடை? 52 00:03:10,070 --> 00:03:13,070 நீங்கள் ஒரு ஒத்த கட்டமைப்பு செய்ய முடியும் சி ஒரு "போது" லூப் பயன்படுத்தி 53 00:03:13,070 --> 00:03:14,830 அல்லது "செய்ய, அதே நேரத்தில்" லூப். 54 00:03:14,830 --> 00:03:18,280 அதே நேரத்தில் வளைய அமைப்பை ஒரு நிலையில் உள்ளது சந்தித்தனர் என்று 55 00:03:18,280 --> 00:03:20,160 இயக்க வளைய உடல். 56 00:03:20,160 --> 00:03:23,080 >> இந்த ஒரு சிறிய ஒத்த இருக்க வேண்டும் நிலைமையை போலவே, ஏனெனில் 57 00:03:23,080 --> 00:03:25,970 கோணங்கள் கொண்ட கீறல் தொகுதிகள் மற்றும் அடைப்புக்குறிக்குள் செல்கிறது 58 00:03:25,970 --> 00:03:27,950 "அதே நேரத்தில்" ஓட்டையை. 59 00:03:27,950 --> 00:03:30,600 அதனால் நிலை என்பதை பார்க்கும் முழு எண் ஆகும் 60 00:03:30,600 --> 00:03:32,680 அதற்கான எல்லைக்கு. 61 00:03:32,680 --> 00:03:36,620 நீங்கள் முழு பயன்படுத்தி GetInt கேட்கும் பின்னர் உங்கள் "போது" இயக்க 62 00:03:36,620 --> 00:03:41,030 லூப், மீண்டும் வரியில் மற்றும் அச்சிடும் அறிவுறுத்தல்கள், அதே உள்ளீடு 63 00:03:41,030 --> 00:03:43,470 தவறானது. 64 00:03:43,470 --> 00:03:47,610 >> சரியான பயனர் உள்ளீடு உறுதி மற்றொரு வழி , ஒரு "செய்ய, அதே நேரத்தில்" லூப் பயன்படுத்தி உள்ளது 65 00:03:47,610 --> 00:03:50,400 இது ஒரு நிலையில் சுழற்சி மிகவும் ஒத்ததாக இருக்கிறது. 66 00:03:50,400 --> 00:03:54,950 "என்ன, அதே நேரத்தில்" லூப் குறியீடு முடிக்கிறது உடல் தான் பின்னர் காசோலைகள் உள்ளே 67 00:03:54,950 --> 00:03:57,150 நிபந்தனை இல்லையா. 68 00:03:57,150 --> 00:04:00,590 இந்த, பயனர் உள்ளீடு பெற பயனுள்ளதாக இருக்கும் நீங்கள் தேவை என்று காரணம் 69 00:04:00,590 --> 00:04:02,980 குறைந்தபட்சம் ஒரு முறை நிரல். 70 00:04:02,980 --> 00:04:07,200 நிபந்தனை என்றால், திட்டம் பின்னர் வரி இயக்கவும் 71 00:04:07,200 --> 00:04:08,530 உங்கள் "செய்ய, அதே நேரத்தில்" லூப். 72 00:04:08,530 --> 00:04:13,230 இந்த நிலையில் தான் சந்தித்த போது, கண்ணி மீண்டும் 73 00:04:13,230 --> 00:04:17,490 >> பயனர் உறுதிப்படுத்திய ஒரு "செய்ய, அதே நேரத்தில்" லூப் உள்ளீடு இது போல் ஏதாவது இருக்கும். 74 00:04:17,490 --> 00:04:24,530 நான் ஒரு மாறி N, GetInt அறிவிக்க, மற்றும் N செல்லுபடியாகும் வரை மீண்டும். 75 00:04:24,530 --> 00:04:28,040 இந்த செயல்முறை, நான் விளக்கினார் பயன்படுத்தி முழு எண், தரவு வகை, இது 76 00:04:28,040 --> 00:04:29,820 நீங்கள் மாதம் நாட்களுக்கு பயன்படுத்த வேண்டும். 77 00:04:29,820 --> 00:04:33,560 ஆனால் நாம் என்று சில்லறைகள் எண்ணிக்கை பொருட்டு எனவே, விரைவில் பைல் அப் 78 00:04:33,560 --> 00:04:39,160 பெரிய எண்களை சேமிக்க, தரவு வகை பயன்படுத்த LongLong, ஆனால் அதே நினைவில் 79 00:04:39,160 --> 00:04:42,590 சரிபார்த்தல் கொள்கை பொருந்தும். 80 00:04:42,590 --> 00:04:47,070 >> வாழ்த்துக்கள், அதனால் நாம் இரண்டு கச்சிதமாக வேண்டும் பயனர் இருந்து உள்ளீடுகள் - 81 00:04:47,070 --> 00:04:49,530 மாதம் நாட்கள் மற்றும் சில்லறைகள் முதல் நாள் - 82 00:04:49,530 --> 00:04:52,870 நாம் அடுத்த மீது நகர்த்த முடியும் திட்டத்தின் ஒரு பகுதியாக. 83 00:04:52,870 --> 00:04:56,680 முதல் நாள், பயனர் தொடங்குகிறது அவர்கள் குறிப்பிட்ட எனினும் பல சில்லறைகள் 84 00:04:56,680 --> 00:05:00,370 மற்றும் சில்லறைகள் அளவு என்று அவர்கள் அடுத்த நாள் பெறும் இரண்டு மடங்காக உள்ளது. 85 00:05:00,370 --> 00:05:03,130 அதை கண்காணிப்பதற்கு அர்த்தமுள்ளதாக இந்த இரண்டு அளவு - 86 00:05:03,130 --> 00:05:08,890 பயனர் மற்றும் எப்படி எவ்வளவு பணம் பல சில்லறைகள் அவர்கள் கொடுக்கப்பட்ட. 87 00:05:08,890 --> 00:05:13,760 >> இப்போது, 28 முதல் 31 நாட்கள் ஏதாவது செய்து மீண்டும் மீண்டும், எனவே ஒரு "க்கு" பயன்படுத்த அனுமதிக்க 88 00:05:13,760 --> 00:05:18,220 இந்த நாட்களில் செயல்படுத்துதல் லூப் மாதம், மொத்த மற்றும் பென்னி மேம்படுத்தும் 89 00:05:18,220 --> 00:05:21,010 ஒவ்வொரு முறையும் தொகை. 90 00:05:21,010 --> 00:05:23,550 கண்ணி தொடரியல் கொண்டிருக்கிறது "என்று" பின்வரும் - 91 00:05:23,550 --> 00:05:27,510 ஒரு துவக்க, ஒரு நிலையில், ஒரு மேம்படுத்தல். 92 00:05:27,510 --> 00:05:29,590 உங்கள் "க்கு" லூப் துவக்கும் ஒரு மாறி, அது 93 00:05:29,590 --> 00:05:31,380 முதல் சுழற்சியில் நுழையும். 94 00:05:31,380 --> 00:05:34,860 நிபந்தனை என்றால், உடல் ஓட்டையை இயக்கவும். 95 00:05:34,860 --> 00:05:36,860 பின்னர், மேம்படுத்தல் இயக்கவும். 96 00:05:36,860 --> 00:05:40,900 நிலைமை இன்னும் சந்தித்தார் என்றால், கண்ணி இயக்கும் மற்றும் மேம்படுத்த, மற்றும் 97 00:05:40,900 --> 00:05:45,820 நீண்ட உங்கள் நிபந்தனையை, மீண்டும் உண்மை மதிப்பீடு. 98 00:05:45,820 --> 00:05:51,080 >> இங்கே ஒரு பிரிக்கிறது என்று ஒரு "க்கு" லூப் தான் 2 10 முறை ஒரு மொத்த மூலம் முழு ப. 99 00:05:51,080 --> 00:05:55,380 நான் முழு ப அறிவித்தார் எப்படி குறிப்பு என் "க்கு" லூப் வெளியே, அதனால் 100 00:05:55,380 --> 00:05:59,850 முழு அணுக முடியும் "க்கான" லூப் வெளியே. 101 00:05:59,850 --> 00:06:03,620 மாதம் முடிந்ததும், அதை நேரம் பயனர் சொல்ல எவ்வளவு பணம் 102 00:06:03,620 --> 00:06:04,790 அவர்கள் வந்திருக்கிறேன். 103 00:06:04,790 --> 00:06:08,740 ஸ்பெக் ஒன்றுக்கு, நீங்கள் பயனர் சொல்ல வேண்டும் எத்தனை டாலர்கள், இல்லை எவ்வளவு 104 00:06:08,740 --> 00:06:10,780 சில்லறைகள், அவர்கள். 105 00:06:10,780 --> 00:06:14,620 ஆனால் இதுவரை, நீங்கள் டிராக் வைத்திருக்கிறேன் மொத்த மற்றும் LongLongs பயன்படுத்தி சில்லறைகள், 106 00:06:14,620 --> 00:06:16,640 முழு எண்கள் இவை. 107 00:06:16,640 --> 00:06:20,560 >> $ 1 ஒரு 100 சில்லறைகள் எனவே, அங்கு ஒழிய சில்லறைகள் எண்ணிக்கை ஒரு 108 00:06:20,560 --> 00:06:24,860 100 பல, நீங்கள் வேண்டும் தசம இடங்களில் குறிக்கின்றன. 109 00:06:24,860 --> 00:06:28,060 இரட்டிப்பு தன்னியக்கவகை அனுமதிக்கிறது நீங்கள் இதை செய்ய. 110 00:06:28,060 --> 00:06:32,790 நாம் எப்படி குறிக்கும் இருந்து மாற்ற டாலர்கள் வரை சில்லறைகள்? 111 00:06:32,790 --> 00:06:35,330 >> ஒரு பார்க்கலாம் pi.c. 112 00:06:35,330 --> 00:06:41,690 இந்த திட்டத்தின் ஒரு LongLong big_pi மற்றும் எடுக்கிறது 100,000 அது பிரிக்கிறது, மற்றும் அச்சிடுகிறது 113 00:06:41,690 --> 00:06:44,270 ஐந்து தசம இடங்களுக்கு முடிவு. 114 00:06:44,270 --> 00:06:48,560 நாங்கள் நான்கு தசம காட்ட விரும்பினால் இடங்கள், நாம் இந்த மாற்ற முடியும் 115 00:06:48,560 --> 00:06:49,760 இங்கே பல. 116 00:06:49,760 --> 00:06:58,370 எனவே, சேமிக்க பை தொகுத்தல், மற்றும் நாம் பின்னர், இதன் விளைவாக பார்க்க நாம் 117 00:06:58,370 --> 00:07:02,240 3,1415 என எதிர்பார்க்கலாம் - 118 00:07:02,240 --> 00:07:04,540 பை முதல் ஐந்து இலக்கங்கள். 119 00:07:04,540 --> 00:07:06,300 >> அது கூட இல்லை. 120 00:07:06,300 --> 00:07:07,390 ஏன்? 121 00:07:07,390 --> 00:07:11,920 நன்றாக, big_pi, ஒரு LongLong ஏனெனில் ஒரு முழு எண், இது இது இல்லை 122 00:07:11,920 --> 00:07:13,740 தசமங்கள் கண்காணியுங்கள். 123 00:07:13,740 --> 00:07:16,850 நான் வேண்டும் மாற்றம் செய்ய பிரிவு உள்ளது. 124 00:07:16,850 --> 00:07:23,300 நான் முன் இங்கே ஒரு இரட்டை நடித்தார் வேண்டும் இரட்டையர் வைத்திருக்க முடியாது என்பதால், பிளவு 125 00:07:23,300 --> 00:07:25,260 தசம இடங்களில் கண்காணிக்க. 126 00:07:25,260 --> 00:07:28,080 நான் ஒரு புதிய வரியை சேர்க்க போகிறேன் இங்கு சிறந்த வடிவமைப்புக்காக. 127 00:07:28,080 --> 00:07:33,090 128 00:07:33,090 --> 00:07:34,230 >> இங்கு நமக்கு அது - 129 00:07:34,230 --> 00:07:37,660 3.1416. 130 00:07:37,660 --> 00:07:43,520 நீங்கள் அதை 3.1416 அச்சிடுகிறது என்று கவனிக்க கூடும் அதற்கு பதிலாக 3,1415 வரை எதிர்பார்க்கப்படுகிறது. 131 00:07:43,520 --> 00:07:47,550 போது அது சுற்று என்று பிரிவு செயல்முறை, என வெறும் எதிர்ப்பு 132 00:07:47,550 --> 00:07:50,490 மதிப்பு துண்டிக்கப்படுகிறது. 133 00:07:50,490 --> 00:07:53,710 இப்போது நீங்கள் அச்சிட வேண்டும் முடித்தவுடன் இது சரியாக இறுதி மொத்த, 134 00:07:53,710 --> 00:07:54,870 நிரல். 135 00:07:54,870 --> 00:07:55,930 >> வாழ்த்துக்கள். 136 00:07:55,930 --> 00:07:57,340 என் பெயர் Zamyla உள்ளது. 137 00:07:57,340 --> 00:07:58,720 இந்த சில்லறைகள் இருந்தது. 138 00:07:58,720 --> 00:08:05,589 >> [இசை]