1 00:00:00,000 --> 00:00:10,550 2 00:00:10,550 --> 00:00:14,050 >> ડેવિડ જે MALAN: આ CS50 છે અને આ અઠવાડિયે ચાર શરૂઆત છે. 3 00:00:14,050 --> 00:00:18,630 અને, છોકરો, ફોક્સવાગન છે કારણ કે બધા સોફ્ટવેર મુશ્કેલી. 4 00:00:18,630 --> 00:00:20,264 અમને એક નજર કરીએ. 5 00:00:20,264 --> 00:00:20,930 [વિડિઓ પ્લેબેક] 6 00:00:20,930 --> 00:00:25,560 -Cars, હોંશિયાર અક્ષરો ફાસ્ટ અને ફયુરિયસ ફિલ્મોમાં. 7 00:00:25,560 --> 00:00:29,100 આ અઠવાડિયે જર્મન ઓટોમેકર ફોક્સવેગન પોતે મળે 8 00:00:29,100 --> 00:00:32,490 એક કૌભાંડ મધ્યમાં સંભવિત ગુનેગાર પ્રમાણ. 9 00:00:32,490 --> 00:00:36,060 >> -Volkswagen અબજો માટે સ્વાસ્થ્યવર્ધક છે દંડ, શક્ય ફોજદારી ખર્ચ 10 00:00:36,060 --> 00:00:38,560 તેના અધિકારીઓ માટે, કંપની માફી 11 00:00:38,560 --> 00:00:41,840 11 મિલિયન કાર ઉથલપાથલ માટે તે ઉત્સર્જન પરીક્ષણો હરાવ્યું મદદ કરે છે. 12 00:00:41,840 --> 00:00:44,950 >> -Certain ડીઝલ મોડેલો હતા આધુનિક સોફ્ટવેર સાથે રચાયેલ 13 00:00:44,950 --> 00:00:48,440 કે સહિત વપરાયેલી માહિતી સ્ટીયરિંગ અને વાહન સ્થિતિ 14 00:00:48,440 --> 00:00:51,870 આ કાર હતી તે નક્કી કરવા માટે ઝડપ ઉત્સર્જન પરીક્ષણ પસાર. 15 00:00:51,870 --> 00:00:55,650 કે સંજોગોમાં હેઠળ, એન્જિન ઝેરી ઉત્સર્જન ઘટાડો કરશે. 16 00:00:55,650 --> 00:00:59,070 પરંતુ કાર બાયપાસ સજ્જ કરવામાં આવી હતી તે ચલાવી રહ્યો હતો ત્યારે. 17 00:00:59,070 --> 00:01:03,320 ઉત્સર્જન 40 10 વધારો સ્વીકાર્ય ઈપીએ સ્તર ઉપર વખત. 18 00:01:03,320 --> 00:01:04,280 >> [સમાપ્ત પ્લેબેક] 19 00:01:04,280 --> 00:01:05,220 >> ડેવિડ જે MALAN: તેથી ચાલો આ પર એક નજર 20 00:01:05,220 --> 00:01:07,250 અને બરાબર કેવી રીતે આ જુઓ અમલ કરી શકે છે 21 00:01:07,250 --> 00:01:09,680 અને આ અસર થઇ શકે છે કેવી રીતે આ જેમ ઘણા કાર. 22 00:01:09,680 --> 00:01:12,840 તેથી મારા હાથમાં અહીં દબાવો કે EPA-- દ્વારા જારી કરવામાં આવી હતી પ્રકાશિત 23 00:01:12,840 --> 00:01:14,620 પર્યાવરણીય પ્રોટેક્શન એજન્સી કે જે 24 00:01:14,620 --> 00:01:18,032 યુએસ રેગ્યુલેટરી એજન્સી છે કે પર્યાવરણીય ચિંતા સંભાળે, 25 00:01:18,032 --> 00:01:19,740 અને પછી વાસ્તવિક હતું કે કાનૂની નોટિસ 26 00:01:19,740 --> 00:01:22,420 માત્ર થોડા દિવસ પહેલા ફોક્સવેગન માટે મોકલો. 27 00:01:22,420 --> 00:01:26,530 >> તેથી ઈપીએ લખે છે, અને હવે discloses જાહેરમાં એક વ્યવહારદક્ષ સોફ્ટવેર 28 00:01:26,530 --> 00:01:29,390 ચોક્કસ પર અલ્ગોરિધમનો ફોક્સવેગન વાહનો શોધે 29 00:01:29,390 --> 00:01:32,630 જ્યારે કાર હેઠળ છે સત્તાવાર ઉત્સર્જન પરીક્ષણ 30 00:01:32,630 --> 00:01:36,505 અને સંપૂર્ણ ઉત્સર્જન કરે છે માત્ર ટેસ્ટ દરમિયાન નિયંત્રિત કરે છે. 31 00:01:36,505 --> 00:01:38,380 અસરકારકતા આ વાહનો પ્રદૂષણ 32 00:01:38,380 --> 00:01:43,260 ઉત્સર્જન નિયંત્રણ ઉપકરણો મોટા પ્રમાણમાં છે બધા સામાન્ય ડ્રાઇવિંગ દરમિયાન ઘટાડો 33 00:01:43,260 --> 00:01:44,320 પરિસ્થિતિઓમાં. 34 00:01:44,320 --> 00:01:48,190 આ પૂરી કે કાર પરિણમે પ્રયોગશાળામાં અથવા પરીક્ષણ ધોરણો 35 00:01:48,190 --> 00:01:52,790 સ્ટેશન છે, પરંતુ સામાન્ય ઓપરેશન દરમિયાન નાઇટ્રોજન oxides-- અથવા NOx-- સ્રાવ બહાર કાઢે છે 36 00:01:52,790 --> 00:01:54,950 પર 40 વખત પ્રમાણભૂત. 37 00:01:54,950 --> 00:01:58,220 ફોક્સવેગન દ્વારા ઉત્પાદિત સોફ્ટવેર એક ભાવ અવતરણ ચિહ્નો પૂરાં કરવાં, હાર ઉપકરણ છે, 38 00:01:58,220 --> 00:02:00,650 સંકેત શુધ્ધ દ્વારા વ્યાખ્યાયિત આ યુ માં હવા ધારો. 39 00:02:00,650 --> 00:02:03,410 >> તેઓ માને છે કે કહે પર જાઓ ઈપીએ અને અન્ય એજન્સી 40 00:02:03,410 --> 00:02:07,020 હાર ઉપકરણ મળી આવ્યો સ્વતંત્ર વિશ્લેષણ પછી સોફ્ટવેર 41 00:02:07,020 --> 00:02:09,660 વેસ્ટ ખાતે સંશોધકો દ્વારા વર્જિનિયા યુનિવર્સિટી. 42 00:02:09,660 --> 00:02:14,160 NOx પ્રદૂષણ માટે ફાળો આપે છે નાઇટ્રોજન ડાયોક્સાઇડ, જમીન સ્તરે ઓઝોન 43 00:02:14,160 --> 00:02:15,700 અને ઝીણી રજ. 44 00:02:15,700 --> 00:02:18,090 આ માટે એક્સપોઝર પ્રદુષકો જોડવામાં આવ્યા છે 45 00:02:18,090 --> 00:02:20,870 એક વિશાળ શ્રેણી સાથે ગંભીર આરોગ્ય પર અસરો, 46 00:02:20,870 --> 00:02:23,637 વધારો અસ્થમા સહિત હુમલા અને અન્ય શ્વસન 47 00:02:23,637 --> 00:02:26,470 પૂરતી ગંભીર હોઇ શકે છે, બીમારીઓ હોસ્પિટલ લોકોને મોકલવા માટે. 48 00:02:26,470 --> 00:02:28,660 ઓઝોન સંસર્ગ અને રજકણીય પદાર્થો પણ છે 49 00:02:28,660 --> 00:02:31,960 અકાળ સાથે સંકળાયેલું સંબંધિત શ્વસન કારણે મૃત્યુ 50 00:02:31,960 --> 00:02:35,690 અથવા રક્તવાહિની અસરો સંબંધિત. 51 00:02:35,690 --> 00:02:38,940 બાળકો, વડીલો, સાથે લોકો પહેલેથી અસ્તિત્વમાં રહેલી શ્વસન રોગ 52 00:02:38,940 --> 00:02:42,840 ખાસ કરીને માટે જોખમ છે આ પ્રદુષકો આરોગ્ય અસરો. 53 00:02:42,840 --> 00:02:45,056 >> પૂરતો તે તદ્દન ગંભીર છે, કહે છે. 54 00:02:45,056 --> 00:02:46,930 અને ચાલો વાંચવા માટે પર જાઓ માત્ર એક વધુ ટૂંકસાર 55 00:02:46,930 --> 00:02:49,370 અને પછી અમે પર એક નજર પડશે અંતર્ગત અસરો 56 00:02:49,370 --> 00:02:50,920 એક કાર સંદર્ભમાં આ. 57 00:02:50,920 --> 00:02:53,730 ખાસ કરીને, ફોક્સવેગન ઉત્પાદન અને સ્થાપિત 58 00:02:53,730 --> 00:02:56,210 કહેવાતા સોફ્ટવેર ઇલેક્ટ્રોનિક કન્ટ્રોલ 59 00:02:56,210 --> 00:02:59,320 module-- અથવા ECM-- ના અણસાર છે કે આ વાહનો 60 00:02:59,320 --> 00:03:03,580 વાહન માટે પરીક્ષણ કરવામાં આવી હતી જ્યારે ઈપીએ ઉત્સર્જન માપદંડો સાથે પાલન. 61 00:03:03,580 --> 00:03:07,510 આ સહિત વિવિધ ઇનપુટ્સ પર આધારિત છે સ્ટીયરિંગ વ્હિલ સ્થિતિ, વાહન 62 00:03:07,510 --> 00:03:11,280 ઝડપ, એન્જિન સમયગાળો કામગીરી, અને બેરોમેટ્રિક દબાણ, 63 00:03:11,280 --> 00:03:13,720 આ ઇનપુટ્સ ચોક્કસપણે પરિમાણો ટ્રેક 64 00:03:13,720 --> 00:03:17,600 માટે ઉપયોગ ફેડરલ ટેસ્ટ પ્રક્રિયા ઈપીએ પ્રમાણપત્ર માટે ઉત્સર્જન પરીક્ષણ 65 00:03:17,600 --> 00:03:18,400 હેતુઓ. 66 00:03:18,400 --> 00:03:21,850 >> ઈપીએ ઉત્સર્જન પરીક્ષણ દરમિયાન, વાહનો ECM સોફ્ટવેર 67 00:03:21,850 --> 00:03:25,060 ઉત્પાદન જે સોફ્ટવેર ચાલી સુસંગત ઉત્સર્જન પરિણામો. 68 00:03:25,060 --> 00:03:28,340 અન્ય તમામ સમયે, વાહન ECM સોફ્ટવેર 69 00:03:28,340 --> 00:03:31,090 એક અલગ માર્ગ ચાલી હતી ઘટાડો જે કૅલિબ્રેશન 70 00:03:31,090 --> 00:03:34,360 આ અસરકારકતા એકંદર ઉત્સર્જન કંટ્રોલ સિસ્ટમ, 71 00:03:34,360 --> 00:03:37,864 ખાસ પસંદગીના ઉદ્દીપક દુર્બળ NOx ઘટાડો trap-- 72 00:03:37,864 --> 00:03:39,280 જે અમે એક ક્ષણ વિશે જોશો. 73 00:03:39,280 --> 00:03:43,040 NOx પરિણામે ઉત્સર્જન 10 થી 40 વખત એક પરિબળ દ્વારા વધારો 74 00:03:43,040 --> 00:03:47,450 ઈપીએ સુસંગત સ્તર ઉપર ડ્રાઈવ ચક્ર પ્રકાર પર આધાર રાખીને. 75 00:03:47,450 --> 00:03:50,800 >> આ ખરેખર અર્થ એ થાય, અને તેથી શું સોફ્ટવેર ચાલી સ્રોત કોડ 76 00:03:50,800 --> 00:03:53,190 ફોક્સવેગન પર નથી હજુ સુધી જાહેરમાં જાહેર કરવામાં આવી 77 00:03:53,190 --> 00:03:56,460 કે અસરકારક, આ છે સમકક્ષ અંદર ક્યાંક છે 78 00:03:56,460 --> 00:03:57,830 ફોક્સવાગનની કોડ. 79 00:03:57,830 --> 00:04:02,200 જો તમે ચકાસાયેલ છે, અને આવી રહી છે કાર, તો ચોક્કસ પર્યાવરણીય પરિબળો શોધે 80 00:04:02,200 --> 00:04:04,330 સ્ટીયરિંગ વ્હીલ જેવા સ્થિતિ અથવા ચળવળ 81 00:04:04,330 --> 00:04:06,710 અથવા અભાવ કાર અથવા તેના અન્ય પરિબળો કોઈપણ નંબર 82 00:04:06,710 --> 00:04:09,940 કે હાલમાં ધારણા છે આ સૂત્ર ભાગ હોઇ શકે છે, 83 00:04:09,940 --> 00:04:12,370 તેઓ ફક્ત ચાલુ સંપૂર્ણ ઉત્સર્જન નિયંત્રણ કરે છે. 84 00:04:12,370 --> 00:04:15,670 અન્ય શબ્દોમાં, તેઓ શરૂ પ્રદુષકો ઓછી સ્ત્રાવ. 85 00:04:15,670 --> 00:04:18,769 >> બાકી, દરેક અન્ય પરિસ્થિતિમાં તે તરીકે શોધી નથી ત્યારે 86 00:04:18,769 --> 00:04:20,790 લેબોરેટરીમાં, તેઓ માત્ર નથી. 87 00:04:20,790 --> 00:04:24,320 અને તેથી તમે વધુ આ સરળ કરી શકો છો કંઈક સાથે કોંક્રિટ સ્યુડોકોડનો 88 00:04:24,320 --> 00:04:24,820 આના જેવું. 89 00:04:24,820 --> 00:04:27,810 વ્હીલ્સ દેવાનો પરંતુ આ હો તો સ્ટીઅરિંગ વ્હીલ, સૂચક નથી 90 00:04:27,810 --> 00:04:30,060 કાર કેટલાક પર છે કે ફરતી સિલિન્ડર કાઇન્ડ 91 00:04:30,060 --> 00:04:32,550 પરંતુ અમુક પ્રકારની વેરહાઉસ પરીક્ષણ કરવામાં, 92 00:04:32,550 --> 00:04:36,070 પછી તરીકે વર્તે ઈપીએ તમે કરવા માંગો છો. 93 00:04:36,070 --> 00:04:37,960 નહિંતર નથી. 94 00:04:37,960 --> 00:04:40,420 તેથી આપણે એક નજર કરીએ એક ટૂંકી વિડિયો ખાતે 95 00:04:40,420 --> 00:04:45,391 શું અસરો પર એક નજર લે ખરેખર યાંત્રિક આ છે. 96 00:04:45,391 --> 00:04:48,620 >> [વિડિઓ પ્લેબેક] 97 00:04:48,620 --> 00:04:52,800 >> શુક્રવારે -Last ઈપીએ જાહેરાત કરી હતી કે કેટલાક ફોક્સવેગન ઓડી કાર 2009 વચ્ચે કરવામાં 98 00:04:52,800 --> 00:04:55,840 અને આ વર્ષે ઉપયોગ કરતા હતા કહેવાતા હાર ઉપકરણ 99 00:04:55,840 --> 00:04:59,060 ઉત્સર્જન નિયમો આસપાસ વિચાર સ્વચ્છ હવા રાખવા માટે રચાયેલ છે. 100 00:04:59,060 --> 00:05:01,700 પરંતુ તે બરાબર શું અર્થ છે? 101 00:05:01,700 --> 00:05:04,666 >> વેલ, આધુનિક કાર ડઝનેક છે તેમને અંદર કમ્પ્યુટર્સ. 102 00:05:04,666 --> 00:05:07,040 અને તે કમ્પ્યુટર્સ કેટલાક કાર્યો સંકલન મદદ 103 00:05:07,040 --> 00:05:09,590 ઈષ્ટતમ માટે એન્જિન કામગીરી ખાતરી કરતી વખતે 104 00:05:09,590 --> 00:05:12,340 ખૂબ કચરો નથી કે એક્ઝોસ્ટ પાઇપ બહાર આવતા. 105 00:05:12,340 --> 00:05:15,170 તેઓ ખરેખર કામ કર્યું છે હવે કેટલાક દાયકાઓ સુધી આ રીતે. 106 00:05:15,170 --> 00:05:17,380 મૂળભૂત રીતે, દરેક ભાગ આધુનિક કાર એન્જિન 107 00:05:17,380 --> 00:05:20,080 એક સેન્સર અથવા નિયંત્રક છે તે છે, અને આ કમ્પ્યુટર્સ પર 108 00:05:20,080 --> 00:05:23,460 માહિતી હજારો વાંચી રહ્યા બીજા નિર્માણ ગોઠવણો દીઠ વખત 109 00:05:23,460 --> 00:05:26,220 હવામાં બળતણ ગુણોત્તર જેવા કે સિલિન્ડરમાં માં ચાલી રહ્યું છે. 110 00:05:26,220 --> 00:05:28,730 >> આ છેતરપિંડી ફોક્સવેગન અને ઓડી મોડેલો ડીઝલ છે, 111 00:05:28,730 --> 00:05:30,890 અને ડીઝલ વધારે હોય છે ખરેખર મહત્વનું કમ્પ્યુટર 112 00:05:30,890 --> 00:05:34,030 છે, જે નિયંત્રિત પરિમાણો, જતા unburned બળતણ જથ્થો 113 00:05:34,030 --> 00:05:35,200 એક્ઝોસ્ટ માં. 114 00:05:35,200 --> 00:05:36,310 હવે ખરાબ લાગે છે. 115 00:05:36,310 --> 00:05:39,642 તમે કરવા માંગો છો શકે છે જેવા ધ્વનિ નથી એક્ઝોસ્ટ જવા unburned બળતણ. 116 00:05:39,642 --> 00:05:41,600 પરંતુ કિસ્સામાં ડીઝલ, તમે કંઈક છે 117 00:05:41,600 --> 00:05:46,110 એક ઉપકરણ છે કે જે NOx ટ્રેપ કહેવાય છે કે શોષણ કરે છે અને નાઇટ્રોજન ઓક્સાઇડ માટે ફાંસો 118 00:05:46,110 --> 00:05:48,880 પ્રદૂષકો કે કરશે છે કે અન્યથા વાતાવરણમાં માં જાઓ. 119 00:05:48,880 --> 00:05:53,040 અને તે NOx ટ્રેપ અસર unburned બળતણ સાથે વધારેલ છે. 120 00:05:53,040 --> 00:05:56,650 તેથી હાર ઉપકરણ એક ખાસ કાર્યક્રમ છે આ એન્જીનિયરિંગ અંદર કે તે કરી શકો છો 121 00:05:56,650 --> 00:05:59,527 કાર ઉત્સર્જન મળે જેમ દેખાય છે ધોરણો તે નથી ત્યારે પણ. 122 00:05:59,527 --> 00:06:01,110 ફોક્સવેગન તેના હાથ પર સમસ્યા હતી. 123 00:06:01,110 --> 00:06:04,050 તેના ડીઝલ એન્જિન જાણીતા હતા મહાન બળતણ અર્થતંત્ર મેળવવા માટે, 124 00:06:04,050 --> 00:06:07,510 પરંતુ NOx ટ્રેપ માત્ર સારી રીતે કામ કરે વધુ ઇંધણ ઉપયોગ કરવામાં આવે છે ત્યારે. 125 00:06:07,510 --> 00:06:10,460 જેથી કાર શોધી કરશે આ હાર ઉપકરણ વાપરી રહ્યા હોય, 126 00:06:10,460 --> 00:06:13,870 તે ઉત્સર્જન મેળવવામાં આવી હતી જ્યારે ટેસ્ટ, તે વધુ બળતણ ઉપયોગ કરશે, 127 00:06:13,870 --> 00:06:16,830 સારી રીતે NOx ટ્રેપ કામ કરે છે, ઉત્સર્જન દંડ હશે. 128 00:06:16,830 --> 00:06:21,130 પરંતુ પછી તમે રસ્તા પર ઉપકરણ વિચાર બંધ કરે છે, તમે ઓછી ઇંધણ બર્નિંગ કરી રહ્યાં છો 129 00:06:21,130 --> 00:06:24,256 પરંતુ તમે તેટલી 40 વખત આપી રહ્યા છીએ વાતાવરણમાં વધુ પ્રદુષકો. 130 00:06:24,256 --> 00:06:26,130 પરંતુ હેક કેવી રીતે કર્યું કાર તે ખબર છે કે 131 00:06:26,130 --> 00:06:27,720 ઉત્સર્જન પાલન માટે પરીક્ષણ કરવામાં આવી રહી? 132 00:06:27,720 --> 00:06:30,590 આ ઈપીએ તે એક વ્યવહારદક્ષ હતી કહે છે વસ્તુઓ ચકાસાયેલ છે કે જે સિસ્ટમ 133 00:06:30,590 --> 00:06:34,090 સ્ટિયરીંગ વ્હીલ સ્થિતિ જેમ, ઝડપ, એન્જિન પર હતી કેવી રીતે લાંબા, 134 00:06:34,090 --> 00:06:35,507 અને તે પણ વાતાવરણીય દબાણ. 135 00:06:35,507 --> 00:06:37,673 બીજા શબ્દોમાં કહીએ તો, ત્યાં હતો કોઈ રીતે આ આકસ્મિક હતી 136 00:06:37,673 --> 00:06:40,260 સોફ્ટવેર હતો કારણ કે શોધવા માટે ખૂબ જ કાળજીપૂર્વક તૈયાર 137 00:06:40,260 --> 00:06:41,630 એક અધિકારીએ પ્રદૂષણ પરીક્ષણ. 138 00:06:41,630 --> 00:06:43,588 તે કેટલાક ખૂબ ગંભીર છે છેતરપિંડી અને તે 139 00:06:43,588 --> 00:06:45,420 શા માટે ફોક્સવેગન છે આવા ગંભીર મુશ્કેલી. 140 00:06:45,420 --> 00:06:48,600 હકીકતમાં, તેમના સીઇઓ માર્ટિન Winterkorn, માત્ર નીચે ઊતર્યા. 141 00:06:48,600 --> 00:06:49,820 >> તેથી શું થાય છે? 142 00:06:49,820 --> 00:06:53,900 સાથે સાથે તમે અડધા મિલિયન એક છો, તો ડીઝલ જેટટાસ, બીટલ્સ, Golfs, Passats, 143 00:06:53,900 --> 00:06:56,220 અથવા ઓડી A3s, અસર આ સારા સમાચાર છે 144 00:06:56,220 --> 00:06:57,886 કે જે તમારી કાર હજુ પણ વાહન સુરક્ષિત છે. 145 00:06:57,886 --> 00:07:00,510 તમે તેને દૂર મૂકી કરવાની જરૂર નથી ફોક્સવેગન એક રિકોલ મુદ્દાઓ ત્યાં સુધી. 146 00:07:00,510 --> 00:07:02,509 પરંતુ કેટલાક સમયે તેઓ છો કદાચ હોય જાઉં 147 00:07:02,509 --> 00:07:04,230 તમારી કાર અંદર સોફ્ટવેર અપડેટ કરવા માટે. 148 00:07:04,230 --> 00:07:06,927 જ્યારે આવું થાય છે તમે કદાચ ટેન્ક દીઠ ઓછા માઇલ મળે છે. 149 00:07:06,927 --> 00:07:09,260 વકીલો પહેલાથી જ રહી છે વર્ગ ક્રિયા મુકદ્દમા માટે 150 00:07:09,260 --> 00:07:12,500 તેથી માલિકો સરભર મળી શકે ભવિષ્યમાં અમુક બિંદુએ. 151 00:07:12,500 --> 00:07:15,832 પરંતુ તે નથી ચાલી રહ્યું છે કોઈપણ ટૂંક સમય થાય છે. 152 00:07:15,832 --> 00:07:16,711 >> [સમાપ્ત પ્લેબેક] 153 00:07:16,711 --> 00:07:19,960 ડેવિડ જે MALAN: તેથી આ ખરેખર વધારે એક રસપ્રદ મોટા ચિત્ર પ્રશ્ન 154 00:07:19,960 --> 00:07:20,660 તરીકે વિશ્વાસ. 155 00:07:20,660 --> 00:07:21,160 અધિકાર? 156 00:07:21,160 --> 00:07:24,300 અમને બધા iPhones અથવા Androids હોય અથવા અમારા ખિસ્સા માં કંઈક મોટા ભાગે 157 00:07:24,300 --> 00:07:26,500 આ દિવસોમાં, અથવા લેપટોપ છે કે અમારા વાર પર 158 00:07:26,500 --> 00:07:28,510 કરવામાં ચાલતા સોફ્ટવેર એપલ અને માઈક્રોસોફ્ટ દ્વારા 159 00:07:28,510 --> 00:07:30,710 અન્ય કંપનીઓ અને જુમખું. 160 00:07:30,710 --> 00:07:34,240 પરંતુ કેવી રીતે અમે તે શું ખબર નથી આ સોફ્ટવેર ઉત્પાદનો કરી રહ્યા છે 161 00:07:34,240 --> 00:07:37,680 શું આ ખરેખર છે કંપનીઓ તેઓ શું કરી રહ્યા છે? 162 00:07:37,680 --> 00:07:39,610 >> હમણાં પૂરતું, જે છે કહે છે કે દર વખતે તમે 163 00:07:39,610 --> 00:07:42,200 તમારા આઇફોન પર એક ફોન કૉલ કરો અથવા Android ફોન અથવા જેમ, 164 00:07:42,200 --> 00:07:45,650 ફોન નંબર પણ નથી કે કેટલાક કંપનીના સર્વર પર અપલોડ કરવામાં આવી રહી 165 00:07:45,650 --> 00:07:48,399 અમુક કાર્યક્રમ તમે કર્યું કારણ કે તે ઓપરેટિંગ છે, શું લખવામાં 166 00:07:48,399 --> 00:07:51,070 iOS અથવા Android જેવા સિસ્ટમ પોતે, અથવા તમે ડાઉનલોડ છે કારણ કે 167 00:07:51,070 --> 00:07:53,880 કેટલાક તૃતીય પક્ષ એપ્લિકેશન કોઈક સાંભળી છે કે 168 00:07:53,880 --> 00:07:57,120 બધું તમે ટાઇપ કરી રહ્યા છો અથવા બધું તમે ખરેખર કહી રહ્યાં છે. 169 00:07:57,120 --> 00:07:59,500 તમે જાણો છો કે કેવી રીતે, જ્યારે તમે ગાય્ઝ રણકાર ચાલી રહ્યું છે 170 00:07:59,500 --> 00:08:02,590 અથવા કમ્પાઇલ ખાતરી કરો કે તમારી CS50, કેવી રીતે પોતાના સોફ્ટવેર 171 00:08:02,590 --> 00:08:06,080 તમે તે CS50 પોતાના સ્ટાફ નથી, CS50 પુસ્તકાલય માર્ગ દ્વારા, 172 00:08:06,080 --> 00:08:08,690 દરેક પ્રવેશી કરવામાં આવી નથી તમે ક્યારેય મેળવેલ કર્યું શબ્દમાળા 173 00:08:08,690 --> 00:08:10,276 અથવા દરેક તમે ક્યારેય મેળવેલ કર્યું ઇંચ? 174 00:08:10,276 --> 00:08:12,900 વેલ, તમે ચોક્કસપણે જોવા શકે કંઈક માટે સ્રોત કોડ 175 00:08:12,900 --> 00:08:15,233 CS50 પુસ્તકાલય જેમ, તમે સ્ત્રોત કોડ જોવા શકે છે 176 00:08:15,233 --> 00:08:18,170 Linux ઓપરેટિંગ સિસ્ટમ માટે CS50 IDE પર ચાલી રહેલ. 177 00:08:18,170 --> 00:08:23,090 પરંતુ એક સુંદર રજૂઆત 1984 માં પાછા આપવામાં આવી હતી 178 00:08:23,090 --> 00:08:26,730 એક દ્વારા ટ્યુરિંગ એવોર્ડ મળ્યાના જાણીતા ખૂબ જ પ્રસિદ્ધ કમ્પ્યૂટર વૈજ્ઞાનિક 179 00:08:26,730 --> 00:08:29,750 નામ આપવામાં આવ્યું કેન થોમ્પસન as-- જે ટ્યુરિંગ એવોર્ડ મળ્યો, જે 180 00:08:29,750 --> 00:08:33,500 કમ્પ્યુટર વિજ્ઞાન જેવું છે નોબેલ પારિતોષિક, જો તમે કરશે, 181 00:08:33,500 --> 00:08:35,309 એક પર તેમના કામ માટે ઓપરેટિંગ સિસ્ટમ કહેવામાં 182 00:08:35,309 --> 00:08:39,039 ખૂબ સમાન છે, જે યુનિક્સ, અમે જે ઉપયોગ શું ભાવના Linux છે. 183 00:08:39,039 --> 00:08:41,960 અને પ્રશ્ન તેમણે પૂછવામાં તેમના અનિવાર્યપણે સ્વીકાર ભાષણ, 184 00:08:41,960 --> 00:08:44,910 માટે માળખું સુવડાવીને વર્ષ અને ચર્ચા વર્ષ 185 00:08:44,910 --> 00:08:46,970 વિશ્વાસ અને સુરક્ષા વિશે, આ હતો. 186 00:08:46,970 --> 00:08:50,410 કેટલી હદ સુધી જોઈએ એક ટ્રસ્ટ એ એક ભાગ પ્રોગ્રામ વિધાન 187 00:08:50,410 --> 00:08:53,010 ના software-- ટ્રોજન હોર્સ નિઃશુલ્ક છે? 188 00:08:53,010 --> 00:08:56,500 કદાચ તે વિશ્વાસ વધુ મહત્વનું છે સોફ્ટવેર લખ્યું જે લોકો. 189 00:08:56,500 --> 00:08:58,650 >> અને હકીકતમાં, અમે સાથે લિંક કરી છે ચર્ચા છે કે તેમણે 190 00:08:58,650 --> 00:09:02,400 આ એવોર્ડ સ્વીકારી ત્યારે આપ્યો CS50 વેબસાઈટ પર '80s માં 191 00:09:02,400 --> 00:09:04,030 આજે માટે લેક્ચર્સ પાનું હેઠળ. 192 00:09:04,030 --> 00:09:06,071 તમે જોશો શું કારણ તેઓ ખરેખર આપે છે 193 00:09:06,071 --> 00:09:09,430 કેવી રીતે પણ એકદમ સરળ ઉદાહરણ રણકાર અથવા ગમે જેવા કમ્પાઇલર 194 00:09:09,430 --> 00:09:13,950 અન્ય ભૂતકાળમાં ઉપયોગ કર્યો છે કમ્પાઇલરોનો, કમ્પાઇલર અમે જડિત તો શું 195 00:09:13,950 --> 00:09:18,190 જાતને તો થોડું છે ઉપયોગ કરી રહ્યા છો અનિવાર્યપણે કહે છે કે સ્થિતિ 196 00:09:18,190 --> 00:09:22,360 તમે આ કોડ ઉપયોગ કરી રહ્યા છે કે નોટિસ, તો GetString કાર્ય અથવા GetInt 197 00:09:22,360 --> 00:09:26,600 કાર્ય, આગળ વધો અને દાખલ પાછળ બારણું અથવા ટ્રોજન હોર્સ 198 00:09:26,600 --> 00:09:29,340 જેમ કે કે કાર્યક્રમ હવે કેટલાક zeros છે 199 00:09:29,340 --> 00:09:30,930 અને દૂષિત કંઈક કે જે લોકો. 200 00:09:30,930 --> 00:09:33,080 બધા લૉગિંગ તમારા કે માહિતી અપલોડ કીસ્ટ્રોક, 201 00:09:33,080 --> 00:09:35,100 કેટલાક સર્વર, અથવા ખરેખર કંઈપણ કરવા માટે. 202 00:09:35,100 --> 00:09:37,290 >> અને શું કેન થોમ્પસન તેમના ચર્ચા કરવા પર જાય છે 203 00:09:37,290 --> 00:09:40,580 પણ જો તે દર્શાવવા માટે છે તમે સ્ત્રોત વપરાશ હોય છે 204 00:09:40,580 --> 00:09:43,794 કમ્પાઇલર કોડ કે દ્વેષપૂર્વક આમ કરી શકે છે 205 00:09:43,794 --> 00:09:46,210 કારણ કે તે તો કોઈ વાંધો નથી આ ચિકન અને ઇંડા છે 206 00:09:46,210 --> 00:09:49,500 છેલ્લા ઘણા વાસ્તવિકતા વર્ષ જેમાં કમ્પાઇલરોનો 207 00:09:49,500 --> 00:09:51,960 પોતાને કમ્પાઇલ કરવા માટે વપરાય છે. 208 00:09:51,960 --> 00:09:55,440 અન્ય શબ્દોમાં, માર્ગ પાછા જ્યારે કોઈને પ્રથમ કમ્પાઇલર હોય તેવા પરચૂરણ ખર્ચ કર્યો હતો. 209 00:09:55,440 --> 00:09:59,060 અને ત્યારબાદ, કોઈપણ સમયે તેઓ અપડેટ કર્યું છે તેના સ્રોત કોડ બદલીને કમ્પાઇલર, 210 00:09:59,060 --> 00:10:02,020 સુવિધાઓ ઉમેરી છે અને તે recompiling અમને જેવા લોકો ઉપયોગ કરવા માટે, સારી રીતે, 211 00:10:02,020 --> 00:10:04,270 તેઓ જૂના ઉપયોગ કરી રહ્યાં છો કમ્પાઇલર આવૃત્તિ 212 00:10:04,270 --> 00:10:06,370 નવી કમ્પાઇલ કમ્પાઇલર આવૃત્તિ. 213 00:10:06,370 --> 00:10:08,370 અને જો તમે એક નજર તો તેમણે આપ્યો કે વાત પર, 214 00:10:08,370 --> 00:10:10,970 કારણ કે તમે જોશો કે કે circularity છે, 215 00:10:10,970 --> 00:10:14,330 તમે ખરેખર ભૂલો કરી શકો છો અથવા ટ્રોજન હોર્સ સોફ્ટવેર જડિત 216 00:10:14,330 --> 00:10:14,990 અમે ઉપયોગ કરી રહ્યાં છો. 217 00:10:14,990 --> 00:10:18,010 અને તમે જુઓ તો પણ તે કાર્યક્રમો માટે સ્રોત કોડ, 218 00:10:18,010 --> 00:10:21,550 તે પણ સ્પષ્ટ ન પણ હોઈ શકે આ છેતરપિંડી ખરેખર છે, કારણ કે 219 00:10:21,550 --> 00:10:24,710 એ અમુક જૂની આવૃત્તિ ત્યારથી કરવામાં આવી છે કે કમ્પાઇલર 220 00:10:24,710 --> 00:10:27,340 અમારા સોફ્ટવેર માં ધમકી ઇન્જેક્શન. 221 00:10:27,340 --> 00:10:29,740 >> જે માત્ર અમે કહે છે ખરેખર નથી કરી શકો છો અને ન જોઈએ 222 00:10:29,740 --> 00:10:32,939 ટ્રસ્ટ સોફ્ટવેર અમારા લેપટોપ પર ચાલી ફોન અથવા સ્થાનો કોઈપણ નંબર અથવા. 223 00:10:32,939 --> 00:10:36,230 અને હકીકતમાં, પાછળથી ત્યારે આ સત્ર માં અમે વેબ પ્રોગ્રામિંગ વિશે વાત શરૂ 224 00:10:36,230 --> 00:10:38,521 અને ખરેખર મકાન શરૂ વેબ એપ્લિકેશન્સ જાતને, 225 00:10:38,521 --> 00:10:40,285 અમે આ વિશે વાત કરીશું ધમકીઓ અને અન્ય. 226 00:10:40,285 --> 00:10:43,410 હવે, તમે આશ્ચર્ય અને જણાયું છે શકે એક નાના ઓછી દર્થ ત્યાં હતી કે 227 00:10:43,410 --> 00:10:45,842 આ ક્લિપ્સ Vader કે ધાર ત્યાં રહ્યું હતું 228 00:10:45,842 --> 00:10:47,550 ફોક્સવેગન વિશે. તો તમે ક્યારેય ન જોઈ કર્યું, હું 229 00:10:47,550 --> 00:10:49,190 અમે આછું કરીશું વિચાર્યું મૂડ આ બધા છે કારણ કે 230 00:10:49,190 --> 00:10:50,780 ખૂબ જ નિરાશાજનક અને ભયાનક. 231 00:10:50,780 --> 00:10:52,910 હું પાછા જોવા જાઉં છું સુપર બાઉલ 2011 232 00:10:52,910 --> 00:10:55,300 જ્યારે એક વ્યાપારી Volkswagen-- અને આ 233 00:10:55,300 --> 00:10:59,620 લગભગ again-- તેમને ગમે તેવા બનાવે છે ટીવી પર પ્રથમ વખત માટે પ્રસારિત. 234 00:10:59,620 --> 00:11:04,039 તે 60 સેકન્ડ ક્લિપ છે હું તમને આનંદ પડશે લાગે છે. 235 00:11:04,039 --> 00:11:04,705 [વિડિઓ પ્લેબેક] 236 00:11:04,705 --> 00:11:08,198 [સંગીત - "સ્ટાર વોર્સ" માંથી થીમ] 237 00:11:08,198 --> 00:11:35,643 238 00:11:35,643 --> 00:11:38,138 [કૂતરો છાલ] 239 00:11:38,138 --> 00:11:50,114 240 00:11:50,114 --> 00:11:53,607 [કાર શરૂ થાય] 241 00:11:53,607 --> 00:12:04,086 242 00:12:04,086 --> 00:12:05,955 [સમાપ્ત પ્લેબેક] 243 00:12:05,955 --> 00:12:06,830 ડેવિડ જે MALAN: અરે વાહ. 244 00:12:06,830 --> 00:12:07,663 હું માત્ર ચકાસણી કરવામાં આવી હતી. 245 00:12:07,663 --> 00:12:11,360 તે કાર ભંગ યાદી પર છે. 246 00:12:11,360 --> 00:12:12,000 બધા અધિકાર. 247 00:12:12,000 --> 00:12:14,040 તેથી અમે કેટલાક જોવા એક ક્ષણ પહેલા સ્યુડોકોડનો. 248 00:12:14,040 --> 00:12:15,380 અને અહીં એક મોટી છે સ્યુડોકોડનો કોડ સ્નીપેટ 249 00:12:15,380 --> 00:12:16,921 કે અમે આમ અત્યાર સુધી થોડા વખત જોઇ છે. 250 00:12:16,921 --> 00:12:19,970 અને ચાલો આ એક તક છે ઉપયોગ કરવા દેવા હવે એક નવી પ્રોગ્રામિંગ રજૂ કરવા 251 00:12:19,970 --> 00:12:23,776 કે અમે કર્યું ટેકનિક ઍલ્ગરિધમનો જોવા 252 00:12:23,776 --> 00:12:25,400 છેલ્લા અઠવાડિયે આપણે મર્જ સૉર્ટ પર જોવામાં જ્યારે. 253 00:12:25,400 --> 00:12:28,270 પરંતુ તે નિશ્ચિત સ્વરૂપ આપવું અને જુઓ કે કેવી રીતે દો અમે વાસ્તવિક કોડ તે ઉપયોગ કરી શકે છે 254 00:12:28,270 --> 00:12:30,350 અને પછી અમે આ ઉપયોગ જઈ રહ્યાં છો રોડ નીચે ટેકનિક સૌથી 255 00:12:30,350 --> 00:12:32,000 અમુક અન્ય સમસ્યાઓ ઉકેલવા માટે શક્યતા. 256 00:12:32,000 --> 00:12:35,790 >> તેથી આ પ્રથમ કાર્યક્રમો એક હતું અમે ક્યારેય સ્યુડોકોડનો કોડ છે, તેમ છતાં લખ્યું હતું. 257 00:12:35,790 --> 00:12:37,790 અને શું આ કાર્યક્રમ અમને અલબત્ત કરવા માટે મંજૂરી 258 00:12:37,790 --> 00:12:41,510 એક ફોન પુસ્તક માઇક સ્મિથ શોધવા માટે હતી. 259 00:12:41,510 --> 00:12:46,216 અને ખાસ લાઇન્સ આઠ નોટિસ અને આ પર જાઓ નિવેદન હતી જે 11. 260 00:12:46,216 --> 00:12:48,090 અને હકીકતમાં, ચોક્કસ ભાષાઓ, તેમની વચ્ચે સી, 261 00:12:48,090 --> 00:12:50,006 ખરેખર એક હોય શાબ્દિક અર્થ છે કે નિવેદન 262 00:12:50,006 --> 00:12:52,710 કે કરવા માટે પરવાનગી આપે પર જાઓ એક ચોક્કસ રેખા પર કૂદકો. 263 00:12:52,710 --> 00:12:55,470 તે સામાન્ય રીતે પર frowned કારણ કે છે તે ખૂબ જ સરળતાથી દુરુપયોગ કરી શકો છો 264 00:12:55,470 --> 00:12:58,490 અને તમે જમ્પિંગ શરૂ કરી શકો છો તમારા વિરોધ સ્થળ પર તમામ કાર્યક્રમ 265 00:12:58,490 --> 00:13:00,690 આ પ્રકારની ઉપયોગ કરવા તર્ક અને નિયંત્રણ ફ્લો 266 00:13:00,690 --> 00:13:04,000 અમે હમણાં જ સાથે આમ અત્યાર સુધી ઉપયોગ કર્યો છે કે આંટીઓ અને શરતો અને જેમ. 267 00:13:04,000 --> 00:13:08,660 >> પરંતુ અમે આ અલ્ગોરિધમનો સરળ કરી શકો છો સ્યુડોકોડનો કોડ તરીકે અનુસરે છે. 268 00:13:08,660 --> 00:13:11,250 તેના બદલે આ પુનરાવર્તન ના અભિગમ અથવા રહ્યાં 269 00:13:11,250 --> 00:13:14,160 જ્યાં અમે પાછા ચાલુ રાખવા અને અને પાછળ પાછળ ત્રણ લાઇન, 270 00:13:14,160 --> 00:13:18,300 શા માટે આપણે માત્ર પ્રકારની બિંદુ અને વધુ નથી સામાન્ય રીતે, રેખા સાત અને 10 માં કહે છે 271 00:13:18,300 --> 00:13:20,570 માત્ર તે બે બદલો સાથે લીટીઓ જોડીઓ, 272 00:13:20,570 --> 00:13:22,810 સ્મિથે જણાવ્યું છે બીજું જો આ પુસ્તક અમે પડશે 273 00:13:22,810 --> 00:13:25,110 આ માઇક માટે શોધ પુસ્તક ડાબી અડધા. 274 00:13:25,110 --> 00:13:28,560 સ્મિથ પછી બીજું તો પુસ્તક, જમણી માઇક માટે શોધ 275 00:13:28,560 --> 00:13:29,540 અડધા પુસ્તક. 276 00:13:29,540 --> 00:13:31,180 અને પહેલેથી જ circularity નોટિસ. 277 00:13:31,180 --> 00:13:31,680 અધિકાર? 278 00:13:31,680 --> 00:13:34,250 હું માઇક માટે શોધ છું ફોન બુક અને પછી 279 00:13:34,250 --> 00:13:37,090 હું આખરે કદાચ હિટ રેખા સાત અથવા કદાચ 10 વાક્ય 280 00:13:37,090 --> 00:13:41,089 અને મને મારા સૂચના શોધ છે ફોન પુસ્તક અડધા માઇક માટે. 281 00:13:41,089 --> 00:13:42,380 વેલ, હું કેવી રીતે માઇક માટે શોધ કરવા? 282 00:13:42,380 --> 00:13:44,213 હું મધ્યમાં છું માઇક, શા માટે શોધ 283 00:13:44,213 --> 00:13:45,860 તમે પ્રકારના એક વર્તુળમાં મને મોકલવા છે? 284 00:13:45,860 --> 00:13:49,590 પરંતુ તે શું છે, કારણ કે ઠીક છે આ સમસ્યા માપ બની રહ્યું છે, 285 00:13:49,590 --> 00:13:52,630 લીટી 7 અને 10 માં લખાયેલ છે? 286 00:13:52,630 --> 00:13:54,989 અમે હમણાં જ શોધ નથી કહેતા રહ્યાં નથી માઇક માટે, માઇક માટે શોધ. 287 00:13:54,989 --> 00:13:56,280 અમે ખાસ શું કહી રહ્યાં છે? 288 00:13:56,280 --> 00:13:58,694 289 00:13:58,694 --> 00:14:01,610 ડાબી અડધા તેને માટે શોધ અસરકારક રીતે છે, કે જે જમણી અડધા 290 00:14:01,610 --> 00:14:03,440 આ સમસ્યા અડધા માપ. 291 00:14:03,440 --> 00:14:07,170 તેથી તે અમે પ્રકારની છો તે બરાબર છે આ circularity વ્યસ્ત 292 00:14:07,170 --> 00:14:09,180 આ પરિપત્ર દલીલ, ઓછામાં ઓછા અમે છો કારણ કે 293 00:14:09,180 --> 00:14:11,090 આ સમસ્યા નાની અને નાના બનાવે છે. 294 00:14:11,090 --> 00:14:14,220 અને છેવટે અમે સુધી પહોંચવા માટે જઈ રહ્યાં છો કે જેથી-કહેવાતા આધાર કેસ જ્યાં 295 00:14:14,220 --> 00:14:16,780 અમે હમણાં જ એક પાનું છે left-- અમારા સ્વયંસેવક ગયા સપ્તાહે તરીકે 296 00:14:16,780 --> 00:14:18,684 did-- અમે એક પાનું હતી પછી છોડી અને અમે નથી 297 00:14:18,684 --> 00:14:21,600 માઇક સ્મિથ માટે શોધ રાખવા માટે હોય છે તેમણે તે પૃષ્ઠ પર ક્યાં છે, કારણ કે 298 00:14:21,600 --> 00:14:23,080 અથવા તે નથી. 299 00:14:23,080 --> 00:14:27,480 >> તેથી અમે આ વિચાર, આ અમલ કરી શકે છે કેવી રીતે વાસ્તવિક કોડ circularity જેવું? 300 00:14:27,480 --> 00:14:31,030 વેલ, અમે એક ટેકનિક કરી શકો છો લાભ તે સામાન્ય રિકર્ઝન તરીકે ઓળખાય છે. 301 00:14:31,030 --> 00:14:33,960 અને અમે આ જોઇ છે મર્જ સૉર્ટ માટે સ્યુડોકોડનો છેલ્લા અઠવાડિયે. 302 00:14:33,960 --> 00:14:37,190 આ હતું કે યાદ મર્જ સૉર્ટ માટે સ્યુડોકોડનો. 303 00:14:37,190 --> 00:14:40,560 તે દલીલ કરતાં પણ સરળ છે બબલ અથવા પસંદ અથવા નિવેશ સૉર્ટ 304 00:14:40,560 --> 00:14:43,310 માત્ર સરળતા દ્રષ્ટિએ જેની સાથે તમે તેને વ્યક્ત કરી શકો છો. 305 00:14:43,310 --> 00:14:46,750 >> પરંતુ તે કારણ અમે સૉર્ટ circularly કરશો 306 00:14:46,750 --> 00:14:51,350 કંઈક શોધવા, એમ કહીને તેને ફરીથી માટે શોધ કરીને. 307 00:14:51,350 --> 00:14:53,960 પરંતુ અમે ક્યાં પર શોધ કરી રહ્યાં છે ડાબી અડધા અથવા જમણી અડધા 308 00:14:53,960 --> 00:14:56,070 અને પછી છેવટે અમે છો આ કિસ્સામાં મર્જ. 309 00:14:56,070 --> 00:14:58,520 પરંતુ અહીં પણ, સાથે તે બે સૉર્ટ રેખાઓ, 310 00:14:58,520 --> 00:15:01,320 અમે ફરી આ હતી પુનરાવર્તનના વિચાર. 311 00:15:01,320 --> 00:15:05,350 અને concretely આ શું અર્થ થાય, એક અલ્ગોરિધમનો સંદર્ભમાં, 312 00:15:05,350 --> 00:15:10,880 એક અલ્ગોરિધમનો યાદ આવવું છે તે વાપરે છે અથવા પોતે કહે તો. 313 00:15:10,880 --> 00:15:14,330 >> અથવા સી દ્રષ્ટિએ, એક કાર્ય છે કહેવાય કાર્ય recursive-- 314 00:15:14,330 --> 00:15:18,510 foo, foo જો ફરી યાદ આવવું છે ક્યાંક તેના સ્રોત કોડ, 315 00:15:18,510 --> 00:15:21,250 કાર્ય foo પોતે કહે છે. 316 00:15:21,250 --> 00:15:25,790 અને તે બધા foo ક્યારેય હોય તો ખરાબ છે ફરીથી અને ફરીથી પોતે કોલ છે. 317 00:15:25,790 --> 00:15:30,600 Foo છેવટે બંધ કરી દે તો કરે છે, કારણ કે ઠીક છે કહેતા, મર્જ સૉર્ટ એક મિનિટ રાહ જુઓ, 318 00:15:30,600 --> 00:15:32,980 આ સમસ્યા સુપર છે જો નાના, દાખલા તરીકે, 319 00:15:32,980 --> 00:15:35,840 અથવા હું છું જેમને તેને મળી માટે જોઈ છે, માત્ર આવો. 320 00:15:35,840 --> 00:15:41,000 પુનરાવર્તિત, નથી કરો cyclically ફરી મારી જાતને કૉલ કરો. 321 00:15:41,000 --> 00:15:44,200 >> અને તેથી આપણે પર એક નજર કરીએ આ ખરેખર કામ કરી શકે છે કેવી રીતે. 322 00:15:44,200 --> 00:15:48,430 તેથી હું આગળ અને ઓપન જાઓ જાઉં છું અહીં બે સ્રોત કોડ ઉદાહરણો. 323 00:15:48,430 --> 00:15:50,321 જે એક સિગ્મા 0 કહેવામાં આવે છે. 324 00:15:50,321 --> 00:15:52,320 અને આ બધા નથી ફરી યાદ આવવું, પરંતુ લેવા દો 325 00:15:52,320 --> 00:15:53,694 એક આ કાર્યક્રમ શું કરે છે જુઓ. 326 00:15:53,694 --> 00:15:55,737 હું બધા બહાર ઉતારી છે તે પણ બધા ટિપ્પણીઓ 327 00:15:55,737 --> 00:15:58,070 CS50 પર સ્રોત કોડ વેબસાઇટ જો તમે ટિપ્પણીઓ છે 328 00:15:58,070 --> 00:15:59,570 પછી ફરીથી તે મારફતે વાંચી કરવા માંગો છો. 329 00:15:59,570 --> 00:16:02,010 અને ચાલો એક દંપતિ કરવા દો સેનીટી અહીં ચકાસે છે. 330 00:16:02,010 --> 00:16:06,640 >> આ કોડ ટોચ પર તેથી અમે cs50.h. સમાવેશ થાય છે 331 00:16:06,640 --> 00:16:07,650 આ શું કરે છે? 332 00:16:07,650 --> 00:16:08,990 તે શા માટે અહીં છે? 333 00:16:08,990 --> 00:16:11,740 વાજબી જનસાધારણ ના નિયમો માં. 334 00:16:11,740 --> 00:16:12,424 તે શું કરે છે? 335 00:16:12,424 --> 00:16:12,858 યાહ. 336 00:16:12,858 --> 00:16:14,160 >> પ્રેક્ષક: GetInt કાર્ય કામ કરે છે કે જેથી. 337 00:16:14,160 --> 00:16:16,243 >> ડેવિડ જે MALAN: તેથી કે કાર્ય GetInt કામ કરે છે. 338 00:16:16,243 --> 00:16:18,115 આ અંદર કારણ કે ફાઇલ, cs50.h, જે 339 00:16:18,115 --> 00:16:20,950 અમે લાંબા પહેલાં જોશો તેના સ્રોત કોડ દ્રષ્ટિએ, 340 00:16:20,950 --> 00:16:23,270 કાર્યો એક ટોળું છે declared-- GetInt, GetString, 341 00:16:23,270 --> 00:16:26,950 others-- અને જ્યાં સુધી એક ટોળું અને અમે ખરેખર તે લીટી સમાવેશ થાય છે 342 00:16:26,950 --> 00:16:29,320 કમ્પાઇલર રણકાર નથી તે અસ્તિત્વમાં ખબર છે કે જઈ રહી છે. 343 00:16:29,320 --> 00:16:32,400 અને એ જ લાઇન માટે જાય છે પૂર્ણાંક વ્યાખ્યાયિત કરવામાં આવે છે જ્યાં બે 344 00:16:32,400 --> 00:16:35,101 એક કાર્ય છે કે જે printf, અમે ખૂબ થોડી નો ઉપયોગ ચાલુ રાખી. 345 00:16:35,101 --> 00:16:37,850 હવે, લાઇન ચાર થોડી ફંકી લાગે તે માત્ર એક લાઇનર છે કારણ કે. 346 00:16:37,850 --> 00:16:41,570 તે કોઈ સર્પાકાર, અર્ધવિરામ મળ્યું છે કૌંસ, તે અંદર કોઈ કોડ. 347 00:16:41,570 --> 00:16:44,640 પરંતુ શું આપણે કહી હતી અઠવાડિયા ભૂતકાળમાં આ વસ્તુ? 348 00:16:44,640 --> 00:16:45,140 યાહ. 349 00:16:45,140 --> 00:16:46,060 તેથી પ્રોટોટાઇપ. 350 00:16:46,060 --> 00:16:48,390 અને શા માટે અમે એક હોય લાગે છે કે જે પ્રોટોટાઇપ 351 00:16:48,390 --> 00:16:51,050 થોડી રીડન્ડન્ટ હોઈ સામાન્ય રીતે સામાન્ય રીતે અમે કારણ કે 352 00:16:51,050 --> 00:16:53,474 કાર્ય ફરી જોવા પાછળથી ફાઈલમાં, અધિકાર? 353 00:16:53,474 --> 00:16:56,390 તેથી શા માટે અમે તમને માત્ર છો અહી નથી તમારા માથા ખંજવાળ પરંતુ હું તે લેવા પડશે. 354 00:16:56,390 --> 00:16:57,302 યાહ. 355 00:16:57,302 --> 00:17:00,000 >> AUDIENCE: [અશ્રાવ્ય] મુખ્ય પછી કાર્ય. 356 00:17:00,000 --> 00:17:01,000 ડેવિડ જે MALAN: ચોક્કસ. 357 00:17:01,000 --> 00:17:04,089 કમ્પાઇલર તમે જાણે કે જેથી આખરે વ્યાખ્યાયિત અથવા અમલમાં આવશે 358 00:17:04,089 --> 00:17:06,579 કદાચ મુખ્ય પછી કાર્ય. 359 00:17:06,579 --> 00:17:08,462 તેથી રણકાર અને સૌથી કમ્પાઇલરોનો પ્રકારની મૂક છે 360 00:17:08,462 --> 00:17:10,510 અને તેઓ માત્ર ખબર પડશે શું તમે તેમને કહી. 361 00:17:10,510 --> 00:17:12,569 અને તમે ઉપયોગ કરવા માંગો છો, તો સિગ્મા કહેવાય કાર્ય 362 00:17:12,569 --> 00:17:15,710 તમે વધુ સારી રીતે કમ્પાઇલર શીખવે તે અગાઉથી અસ્તિત્વમાં છે. 363 00:17:15,710 --> 00:17:17,970 >> હવે, મુખ્ય પોતે પણ તે રેખાઓ એક ટોળું છે છતાં, 364 00:17:17,970 --> 00:17:19,839 હવે આસ્થાપૂર્વક ખૂબ પરિચિત છે. 365 00:17:19,839 --> 00:17:21,942 તે ડુ જ્યારે લૂપ મળ્યું છે જીવન માં જેની હેતુ 366 00:17:21,942 --> 00:17:24,400 અહીં દેખીતી રીતે એક વિચાર છે વપરાશકર્તા હકારાત્મક પૂર્ણાંક. 367 00:17:24,400 --> 00:17:27,349 અને તેમને pestering રાખવા અથવા તેના તેઓ સહકાર ત્યાં સુધી. 368 00:17:27,349 --> 00:17:30,670 પછી વાક્ય 16 માં મારી પાસે એક રસપ્રદ કૉલ કરો. 369 00:17:30,670 --> 00:17:31,570 IntAnswer. 370 00:17:31,570 --> 00:17:33,710 ડાબી બાજુ પર જે બાજુ મને પૂર્ણાંક આપે છે 371 00:17:33,710 --> 00:17:36,650 જવાબ કહેવાય store-- શકો છો કે જે સંગ્રહવા માટે ચાલે છે, જે દેખીતી રીતે, 372 00:17:36,650 --> 00:17:39,090 સિગ્મા પરત કિંમત. 373 00:17:39,090 --> 00:17:41,840 તેથી સિગ્મા માત્ર એક છે મનસ્વી પરંતુ અર્થપૂર્ણ નામ 374 00:17:41,840 --> 00:17:44,500 હું એક કાર્ય કરવા માટે આપી છે કે જીવન માં જેની હેતુ 375 00:17:44,500 --> 00:17:47,680 એક દલીલ લે છે અમે આ કિસ્સામાં એન તે કહી શકશો 376 00:17:47,680 --> 00:17:52,280 અને માત્ર કે જે નંબર ની રકમ લેવા માટે વત્તા દરેક હકારાત્મક નંબર છે 377 00:17:52,280 --> 00:17:53,200 તે કરતાં નાના. 378 00:17:53,200 --> 00:17:58,140 >> હું 2 નંબર પાસ તેથી જો સિગ્મા, હું ઉમેરવા માંગો 2 વત્તા 1 379 00:17:58,140 --> 00:18:00,240 વત્તા 0 હતી કે જેથી મને 3 આપે 0 હતી. 380 00:18:00,240 --> 00:18:05,320 હું સિગ્મા 3 માં પાસ કરો તો હું કરવા માંગો છો 3 વત્તા 2 વત્તા 1 હોય છે, જે મને 6 આપે છે. 381 00:18:05,320 --> 00:18:05,900 અને તેથી આગળ. 382 00:18:05,900 --> 00:18:09,750 તેથી તે માત્ર અપ ઉમેરે બધા નંબરો તે કરતાં ઓછી અથવા સમાન. 383 00:18:09,750 --> 00:18:12,040 >> હવે, નીચે અહીં હું માત્ર જાઉં છું જવાબ છાપે. 384 00:18:12,040 --> 00:18:17,330 તેથી એક ઝડપી સેનીટી ચેક તરીકે, ચાલો સિગ્મા 0 હતી કોઈ સ્લેશ સિગ્મા બનાવવા 0 હતી 385 00:18:17,330 --> 00:18:18,690 અને મને 2 ટાઈપ કરીએ. 386 00:18:18,690 --> 00:18:19,960 અને હું ખરેખર 3 મળે છે. 387 00:18:19,960 --> 00:18:21,240 મને 3 ટાઈપ કરીએ. 388 00:18:21,240 --> 00:18:22,860 હું ખરેખર 6 છે. 389 00:18:22,860 --> 00:18:27,636 અને કોઈપણ ઝડપથી ગણિત કરી શકો છો જો, હું વિચાર કરીશ શું 50 કરું તો શું? 390 00:18:27,636 --> 00:18:29,839 >> AUDIENCE: [અશ્રાવ્ય]. 391 00:18:29,839 --> 00:18:30,880 ડેવિડ જે MALAN: ઠીક છે, કોઈ. 392 00:18:30,880 --> 00:18:33,340 પરંતુ 1,275 ખૂબ નજીક છે. 393 00:18:33,340 --> 00:18:38,850 તેથી આ 50 કરી પરિણામ છે વત્તા 49 વત્તા 48 વત્તા 47 વત્તા 46 394 00:18:38,850 --> 00:18:40,349 1 નીચે બધી રીતે. 395 00:18:40,349 --> 00:18:41,390 એટલે બધા સિગ્મા કરે છે. 396 00:18:41,390 --> 00:18:43,350 પરંતુ અમે કેવી રીતે કરી છે તે જોવા દો હવે તે અમલ. 397 00:18:43,350 --> 00:18:45,790 જેથી નીચે અહીં કાર્ય પોતે છે. 398 00:18:45,790 --> 00:18:49,000 અને આ છે નથી લાગતું નથી કંઈપણ હજુ સુધી રિકર્ઝન સાથે શું કરવું. 399 00:18:49,000 --> 00:18:51,070 હકીકતમાં, અમે એક ઉપયોગ કરી રહ્યાં છો ઓલ્ડ સ્કૂલ ટેકનિક. 400 00:18:51,070 --> 00:18:56,680 હું એક ચલ કહેવાય રકમ પ્રારંભ કરું છું શૂન્ય, પછી હું અહીં એક foreloop હોય છે, 401 00:18:56,680 --> 00:19:00,790 અને હું એ પૂર્ણાંક તરીકે ઓળખાય જાહેર છું હું 1-- તે સમાન સુયોજિત 402 00:19:00,790 --> 00:19:04,080 હું તે સમાન સેટ કરી શકે છે છતાં શૂન્ય છે, પરંતુ હું વધુમાં કરી રહ્યો છું કારણ કે, 403 00:19:04,080 --> 00:19:05,340 તે શૂન્ય અથવા એક તો કોણ ધ્યાન આપતા. 404 00:19:05,340 --> 00:19:06,660 તે કોઈ અસર થતી હોય રહ્યું છે. 405 00:19:06,660 --> 00:19:10,110 >> તેથી હું તેથી લાંબા સમય સુધી હું છે, કારણ કે વારો છું કરતાં ઓછી અથવા એમ સમાન છે, જે 406 00:19:10,110 --> 00:19:11,671 માં પસાર કરવામાં આવ્યો છે કે દલીલ છે. 407 00:19:11,671 --> 00:19:13,670 અને પછી હું ફક્ત રાખવા આઇ અને સૂઝ incrementing 408 00:19:13,670 --> 00:19:20,010 લૂપ બધા હું રકમ કરી છે કરી રહ્યો છું વત્તા આઇ બરાબર અને કે ઇરાદાપૂર્વકની છે. 409 00:19:20,010 --> 00:19:22,326 હું આ કરવા માટે નહિં માંગો કેસ રકમ વત્તા વત્તા જેવા હોય છે. 410 00:19:22,326 --> 00:19:24,790 હું ખરેખર ઍડ કરવા માંગો છો હું વર્તમાન કિંમત 411 00:19:24,790 --> 00:19:28,190 જે મોટી અને મોટી મેળવવામાં રાખે અને ચાલી રહેલ મેળવણી મોટા. 412 00:19:28,190 --> 00:19:30,210 >> અને પછી હું રકમ પરત. 413 00:19:30,210 --> 00:19:33,850 અને તેથી જવાબ કિંમત રકમ મળે છે. 414 00:19:33,850 --> 00:19:35,282 અને પછી હું તેને બહાર છાપો. 415 00:19:35,282 --> 00:19:37,740 તેથી એક તક અહીં છે, છતાં, પ્રકારની સરળ બનાવવા માટે 416 00:19:37,740 --> 00:19:41,260 આ કોડ સરળ અને ફટકો પ્રકારનું એક છે 417 00:19:41,260 --> 00:19:43,250 આ દ્રષ્ટિએ વાંધો સરળતા પણ તે છતાં 418 00:19:43,250 --> 00:19:45,700 સૉર્ટ જ્યારે લે છે શા પ્રશંસા કરીએ છીએ 419 00:19:45,700 --> 00:19:47,330 આ નાના ઉદાહરણો શક્તિશાળી છે. 420 00:19:47,330 --> 00:19:50,380 અહીં જેથી દાખલો સિગ્મા છે આ કોડ બીજા આવૃત્તિ. 421 00:19:50,380 --> 00:19:55,290 ઉપર બધું જેથી સમાન છે તે જ વાર્તા પહેલાં લાગુ પડે છે. 422 00:19:55,290 --> 00:19:59,220 પરંતુ હવે જોવા દો સિગ્મા અમલીકરણ જે 423 00:19:59,220 --> 00:20:05,040 હું માત્ર આ કરવા માટે નીચે whittled કર્યું રેખાઓ કોડ ચાર રેખાઓ, ખરેખર, 424 00:20:05,040 --> 00:20:06,980 વત્તા કેટલાક સર્પાકાર કૌંસ અને સફેદ જગ્યા. 425 00:20:06,980 --> 00:20:07,930 >> પરંતુ હું શું કરી રહ્યો છું? 426 00:20:07,930 --> 00:20:11,050 મીટર કરતાં ઓછી અથવા સમાન હોય તો શૂન્ય, હું પ્રકારની નિયંત્રિત કરવાની જરૂર છે 427 00:20:11,050 --> 00:20:12,490 કે સુપર સરળ કેસ. 428 00:20:12,490 --> 00:20:15,450 અને તમે મને શૂન્ય અથવા કંઈપણ હાથથી તો માત્ર વિચિત્ર છે, જે નકારાત્મક 429 00:20:15,450 --> 00:20:17,909 હું માત્ર આપખુદ કરવા જઇ રહ્યો છું પરંતુ સતત શૂન્ય આવો. 430 00:20:17,909 --> 00:20:20,200 હું આ વસ્તુ કરવા માંગો છો નથી કેટલાક વિચિત્ર અનંત પ્રવેશ મેળવવા 431 00:20:20,200 --> 00:20:21,810 કારણ કે નકારાત્મક કિંમત લૂપ. 432 00:20:21,810 --> 00:20:25,070 તમે મને આપી તેથી જો હું માત્ર કહી રહ્યો છું શૂન્ય અથવા ઓછા, હું શૂન્ય પરત છું. 433 00:20:25,070 --> 00:20:28,220 >> કે કારણ કે, પરંતુ તે સારી છે ફોન પુસ્તક કે એક પાનું 434 00:20:28,220 --> 00:20:28,790 કે બાકી છે. 435 00:20:28,790 --> 00:20:32,660 હું ખૂબ જ ચોક્કસ સમસ્યા બંધ તીક્ષ્ણ છું અને પુનરાવર્તિત કંઈક ફોન નથી. 436 00:20:32,660 --> 00:20:36,580 પરંતુ વાક્ય 31 માં, શું હું કરી શકાય તેવું લાગે છે નથી? 437 00:20:36,580 --> 00:20:39,780 કૌંસ માત્ર રાખી રહ્યા છે વસ્તુઓ, આસ્થાપૂર્વક, થોડું વધારે સ્પષ્ટ. 438 00:20:39,780 --> 00:20:42,110 પરંતુ હું કરી રહ્યો છું હું છું m-- પરત ગમે 439 00:20:42,110 --> 00:20:45,790 તમે me-- વત્તા હાથ m-- માફ કરશો કિંમત, 440 00:20:45,790 --> 00:20:49,052 વત્તા મીટર બાદ 1 સિગ્મા ની કિંમત. 441 00:20:49,052 --> 00:20:50,010 તેથી આ શું અર્થ છે? 442 00:20:50,010 --> 00:20:53,965 તમે ઇનપુટ તરીકે મને સંખ્યા 3 આપી છે, તો જવાબ હું આખરે વિચાર કરવા માંગો છો 443 00:20:53,965 --> 00:20:57,307 3 વત્તા 2 વત્તા 1 મને 6 આપે છે કારણ કે 6 છે. 444 00:20:57,307 --> 00:20:59,390 પરંતુ હું વિશે કેવી રીતે લાગે છે નથી આ કોડ કેવી રીતે ચાલી રહ્યું છે? 445 00:20:59,390 --> 00:21:03,070 હું સિગ્મા કહી પ્રથમ વખત અને હું કિંમત 3 પસાર 446 00:21:03,070 --> 00:21:07,960 કે ભાગ પર કહીને જેવી છે કાગળ, અહીં કિંમત 3 447 00:21:07,960 --> 00:21:09,920 અને હું સિગ્મા તરીકે આ પસાર કરવામાં આવ્યા છે. 448 00:21:09,920 --> 00:21:13,090 3 દેખીતી રીતે જેથી 0 કરતાં ઓછી છે આ તો શરત લાગુ પડતી નથી. 449 00:21:13,090 --> 00:21:14,020 બીજું કરે છે. 450 00:21:14,020 --> 00:21:14,990 તેથી હું શું કરી શકું? 451 00:21:14,990 --> 00:21:19,902 હું છે, કે જે એમ પરત કરવા માંગો છો એમ 1 બાદ 3, વત્તા સિગ્મા. 452 00:21:19,902 --> 00:21:21,110 તેથી મને આ ટ્રેક રાખવા દો. 453 00:21:21,110 --> 00:21:22,710 હું આ મૂકી જાઉં છું કાગળ નીચે ભાગ. 454 00:21:22,710 --> 00:21:24,668 અને શું કિંમત હોઈ સ્પષ્ટ, હું પસાર જાઉં છું 455 00:21:24,668 --> 00:21:26,540 વાર્તામાં આ બિંદુએ સિગ્મા માં? 456 00:21:26,540 --> 00:21:28,080 શું છે? 457 00:21:28,080 --> 00:21:28,610 2, અધિકાર? 458 00:21:28,610 --> 00:21:29,670 3 ઓછા 1 2 છે. 459 00:21:29,670 --> 00:21:32,000 તેથી હું માત્ર એક થોડો જરૂર અહીં કાગળ સ્ક્રેપ. 460 00:21:32,000 --> 00:21:33,931 તેથી હવે સિગ્મા ફરીથી કહેવાય રહ્યું છે. 461 00:21:33,931 --> 00:21:35,930 અને હું ઇરાદાપૂર્વક મૂકી દીધું છે આ નીચે કારણ કે તે 462 00:21:35,930 --> 00:21:38,070 પ્રકારની pausing જેવા વાર્તા કે આવૃત્તિ 463 00:21:38,070 --> 00:21:40,720 હવે હું ધ્યાન કેન્દ્રિત છું કારણ કે એમ 1 બાદ સંકેત છે. 464 00:21:40,720 --> 00:21:42,660 તેથી એમ 3 એમ હતી ઓછા 1 2 છે. 465 00:21:42,660 --> 00:21:45,110 તેથી અહીં હું પસાર કરવામાં આવ્યા છે કે 2 છે. 466 00:21:45,110 --> 00:21:48,510 2 દેખીતી રીતે કરતાં ઓછી નથી 0 તેથી તે કિસ્સામાં લાગુ પડતી નથી. 467 00:21:48,510 --> 00:21:53,445 બાકી હું આ છે, કે જે એમ પાછા શું મૂલ્ય વસ્તુ, વત્તા સિગ્મા? 468 00:21:53,445 --> 00:21:56,160 469 00:21:56,160 --> 00:21:59,650 તેથી સિગ્મા 1-- એમ છે, કારણ કે જો હમણાં 2 તેથી 2 બાદ 1 1. 470 00:21:59,650 --> 00:22:01,950 તેથી હવે હું માત્ર કિંમત 1 છે. 471 00:22:01,950 --> 00:22:04,810 હું માત્ર નંબર પસાર છું કાર્ય sigma-- 1 472 00:22:04,810 --> 00:22:09,120 અથવા જાતે અહીં જેથી 1 દેખીતી રીતે નથી શૂન્ય કરતાં ઓછી, હજુ પણ લાગુ પડતી નથી. 473 00:22:09,120 --> 00:22:12,970 >> બાકી રીટર્ન 1 વત્તા શું સિગ્મા? 474 00:22:12,970 --> 00:22:13,470 0. 475 00:22:13,470 --> 00:22:14,678 તેથી મને માત્ર કે યાદ કરીએ. 476 00:22:14,678 --> 00:22:15,920 હું પછી પાછા મળશે. 477 00:22:15,920 --> 00:22:18,060 હવે હું આગળ અને કાનો જાઓ જાઉં છું નંબર 0 નીચે કારણ કે 478 00:22:18,060 --> 00:22:19,470 મારા દલીલ અથવા પરિમાણ. 479 00:22:19,470 --> 00:22:22,400 હું નંબર 0 પસાર છું અને છેલ્લે આ પ્રક્રિયા 480 00:22:22,400 --> 00:22:25,760 માત્ર મારી જાહેરાત પુનરાવર્તન nauseum શું કારણ કે બંધ નથી 481 00:22:25,760 --> 00:22:28,820 હું આ 0 જોઈ એક વખત હું તરત જ કરી શકું? 482 00:22:28,820 --> 00:22:29,790 હું શૂન્ય આવો. 483 00:22:29,790 --> 00:22:31,790 તેથી હવે તમે આ વાર્તા રીવાઇન્ડ હોય છે. 484 00:22:31,790 --> 00:22:34,430 >> હવે હું સમય પાછળની જાઓ, સૌથી તાજેતરનું વસ્તુ શું હતું 485 00:22:34,430 --> 00:22:36,670 તમે શાબ્દિક હતા તો હું કર્યું વિડિઓ રીવાઇન્ડ? 486 00:22:36,670 --> 00:22:41,630 હું મોટા ભાગના તાજેતરના પસંદ કરવા માટે જઇ રહ્યો છું 1 અને તે મને 1 આપે વત્તા 0 1 છે. 487 00:22:41,630 --> 00:22:44,100 હું રીવાઇન્ડ રાખો તો વાર્તા, કે મને આપી રહ્યું છે 488 00:22:44,100 --> 00:22:46,880 1 છે, જે 2 વત્તા આ ચાલી કિંમત. 489 00:22:46,880 --> 00:22:47,789 તેથી કે જે 3 છે. 490 00:22:47,789 --> 00:22:49,330 અને પછી હું રીવાઇન્ડ રાખવા જઈ રહ્યો છું. 491 00:22:49,330 --> 00:22:54,220 હું પ્રથમ નંબર નીચે મૂકે છે 3-- તેથી 3 વત્તા 3 6 મને આપે છે. 492 00:22:54,220 --> 00:22:57,272 >> અને હવે, તમે rewound હોય તો આ બિંદુ સુધી વિડિઓ અપ 493 00:22:57,272 --> 00:22:58,980 આ ખૂબ જ હતો પ્રથમ પ્રશ્ન હું પૂછવામાં. 494 00:22:58,980 --> 00:23:01,450 3 પસાર, ત્યારે 3 સિગ્મા શું છે? 495 00:23:01,450 --> 00:23:04,204 તે ખરેખર 6, ની રકમ છે કાગળ આ બધા ટુકડાઓ. 496 00:23:04,204 --> 00:23:07,120 કે થોડી લે તો તેથી જ્યારે કે દંડ છે, તમારા મન ફરતે વીંટળાય છે. 497 00:23:07,120 --> 00:23:10,700 પરંતુ તે થોડું હતું ધ્યાનમાં હું સ્ટેક કે જે ખૂબ જ ઇરાદાપૂર્વકની હતી 498 00:23:10,700 --> 00:23:12,990 દરેક અન્ય ટોચ પર આ નંબરો. 499 00:23:12,990 --> 00:23:17,440 તે કર્યા જેવા પ્રકારની છે સમય એક રેકોર્ડ મેમરી, 500 00:23:17,440 --> 00:23:19,940 વિડિઓ માં સ્ક્રબર જેમ, હું ખરેખર માં રીવાઇન્ડ કરી શકો છો. 501 00:23:19,940 --> 00:23:24,350 અને અમે પાછા આવો જઈ રહ્યાં છો માત્ર થોડી કે રૂપક. 502 00:23:24,350 --> 00:23:28,240 >> પરંતુ પ્રથમ, તે ત્યાં છે કે બહાર વળે ગ્રીક્સ અને રમુજી લોકો ઘણો, 503 00:23:28,240 --> 00:23:29,614 હું Google પર, ધારી. 504 00:23:29,614 --> 00:23:31,530 વૂડ ખૂબ જ છે જે કોઈને Googling મન સારા 505 00:23:31,530 --> 00:23:34,270 માત્ર એક ક્ષણ માટે ઉપર આવતા અને મને કંઈક શોધવા મદદ? 506 00:23:34,270 --> 00:23:35,650 ખૂબ, ખૂબ નીચા કી. 507 00:23:35,650 --> 00:23:37,870 ક્યારેય છે જે કોઈને કદાચ પહેલાં આવે છે. 508 00:23:37,870 --> 00:23:38,370 ઠીક છે. 509 00:23:38,370 --> 00:23:39,030 અરે વાહ? 510 00:23:39,030 --> 00:23:39,530 ચલ. 511 00:23:39,530 --> 00:23:41,410 નીચે પર આવે છે. 512 00:23:41,410 --> 00:23:42,183 તમારુ નામ શુ છે? 513 00:23:42,183 --> 00:23:42,870 >> એસએએમ: સેમ. 514 00:23:42,870 --> 00:23:44,290 >> ડેવિડ જે MALAN: સામ, નીચે પર આવે છે. 515 00:23:44,290 --> 00:23:45,320 આ જ છે. 516 00:23:45,320 --> 00:23:46,280 તમને મળી ને આનંદ થયો. 517 00:23:46,280 --> 00:23:46,780 અરે. 518 00:23:46,780 --> 00:23:47,580 આ બોલ પર આવો. 519 00:23:47,580 --> 00:23:51,290 તેથી હું તમને તો શું કરવાની જરૂર છે તમે, સેમ, અહીં Google ની શકે છે. 520 00:23:51,290 --> 00:23:53,240 તમે આ શબ્દ રિકર્ઝન માટે શોધ કરી શકો છો? 521 00:23:53,240 --> 00:23:55,770 522 00:23:55,770 --> 00:23:56,270 બગાડી નથી. 523 00:23:56,270 --> 00:23:59,940 524 00:23:59,940 --> 00:24:00,970 >> અને હવે હા let's--. 525 00:24:00,970 --> 00:24:03,380 ઠીક છે પર ક્લિક કરો. 526 00:24:03,380 --> 00:24:04,315 સારી કે ક્લિક કરો. 527 00:24:04,315 --> 00:24:07,020 528 00:24:07,020 --> 00:24:08,020 Ahh, તે વિચાર. 529 00:24:08,020 --> 00:24:08,520 કોઈ? 530 00:24:08,520 --> 00:24:09,050 ઠીક છે. 531 00:24:09,050 --> 00:24:10,430 તેથી આપણે એક દંપતિ અન્ય કરીએ. 532 00:24:10,430 --> 00:24:12,830 સંબંધિત ખૂબ જ નથી શિક્ષણક્ષેત્રના અહીં, પરંતુ તમારી પાસે 533 00:24:12,830 --> 00:24:14,520 ક્યારેય એનાગ્રામ માટે Google શોધ? 534 00:24:14,520 --> 00:24:15,280 >> એસએએમ: ના 535 00:24:15,280 --> 00:24:15,520 >> ડેવિડ જે MALAN: બરાબર. 536 00:24:15,520 --> 00:24:17,186 એનાગ્રામ બદલે રિકર્ઝન માટે શોધો. 537 00:24:17,186 --> 00:24:22,540 538 00:24:22,540 --> 00:24:23,790 કેવી રીતે તિરસ્કારથી વિશે. 539 00:24:23,790 --> 00:24:25,515 તમે ક્યારેય તિરસ્કારથી માટે શોધાયેલ? 540 00:24:25,515 --> 00:24:29,260 541 00:24:29,260 --> 00:24:32,692 હવે, આ એક થોડી મુશ્કેલ છે જુઓ પરંતુ આસ્થાપૂર્વક બરાબર everything's--. 542 00:24:32,692 --> 00:24:34,150 તે માત્ર તમે અને મને આ માણી છે. 543 00:24:34,150 --> 00:24:34,690 ઠીક છે. 544 00:24:34,690 --> 00:24:38,950 >> તેથી છેવટે, આ one's-- તે થોડી તિરસ્કારથી છે. 545 00:24:38,950 --> 00:24:40,810 હવે બેરલ રોલ નથી. 546 00:24:40,810 --> 00:24:44,460 547 00:24:44,460 --> 00:24:45,310 અદ્ભુત. 548 00:24:45,310 --> 00:24:45,910 બધા અધિકાર. 549 00:24:45,910 --> 00:24:47,110 મોટા સેમ માટે આભાર. 550 00:24:47,110 --> 00:24:49,416 અહીં તમે જાઓ. 551 00:24:49,416 --> 00:24:50,400 આભાર. 552 00:24:50,400 --> 00:24:52,807 >> તેથી શું બધા ચાલી રહ્યું છે આ બોલ પર કોઈ ઉદાહરણો છે? 553 00:24:52,807 --> 00:24:55,640 તેથી ખરેખર, હૂડ નીચે કોડ રેખાઓ Google ની લાખો 554 00:24:55,640 --> 00:24:58,860 દેખીતી રીતે જો થોડા સિલી છે અનિવાર્યપણે છે કે જે શરતો 555 00:24:58,860 --> 00:25:01,160 વપરાશકર્તા છે તો ચકાસણી આ શબ્દસમૂહ માં ટાઇપ, 556 00:25:01,160 --> 00:25:03,760 કદાચ લીધો કે કંઈક સમય nontrivial રકમ 557 00:25:03,760 --> 00:25:06,080 માત્ર અમલ કરવા માટે આ રીતે મનોરંજક છે. 558 00:25:06,080 --> 00:25:08,430 પરંતુ તે ઉકળે બધા છે હૂડ નીચે નહીં. 559 00:25:08,430 --> 00:25:11,570 પરંતુ, અલબત્ત, રિકર્ઝન આ geekier વધુ છે 560 00:25:11,570 --> 00:25:13,880 તે ખાસ યુક્તિઓ વચ્ચે ઉદાહરણ છે. 561 00:25:13,880 --> 00:25:16,880 અને ચોક્કસ ત્યાં અન્ય ત્યાં બહાર છે તેમજ અમે કદાચ હોય કે ન પણ 562 00:25:16,880 --> 00:25:18,230 હજુ સુધી શોધ કરી. 563 00:25:18,230 --> 00:25:22,830 >> તેથી એક નજર, અથવા ધ્યાનમાં હવે નીચેની કાર્યક્રમ 564 00:25:22,830 --> 00:25:24,830 અને ચોક્કસપણે કોઇ પડાવી લેવું તમારી રીતે બહાર પર આ. 565 00:25:24,830 --> 00:25:28,820 હું આગળ જવા માટે જઇ રહ્યો છું અને છે કે કાર્યક્રમ ખોલો 566 00:25:28,820 --> 00:25:30,920 બે કિંમતો સ્વેપ કરવાનો પ્રયાસ જઈ રહી છે. 567 00:25:30,920 --> 00:25:33,210 અમે ત્યાં જવા પહેલાં, ચાલો આ કરીએ. 568 00:25:33,210 --> 00:25:38,500 અમે એક વધુ વિચાર કરી શકે સ્વયંસેવક, મને લાગે છે? 569 00:25:38,500 --> 00:25:40,480 તમે સ્વયંસેવક કરવા માંગો છો? 570 00:25:40,480 --> 00:25:40,980 કોઈ? 571 00:25:40,980 --> 00:25:41,890 પર આવો. 572 00:25:41,890 --> 00:25:42,390 પર આવો. 573 00:25:42,390 --> 00:25:42,890 બધા અધિકાર. 574 00:25:42,890 --> 00:25:44,136 તેથી તમારું નામ શું છે? 575 00:25:44,136 --> 00:25:44,810 >> લોરેન: લોરેન. 576 00:25:44,810 --> 00:25:45,768 >> ડેવિડ જે MALAN: લોરેન. 577 00:25:45,768 --> 00:25:46,890 અપ લોરેન પર આવે છે. 578 00:25:46,890 --> 00:25:50,140 તેથી લોરેન કરવામાં આવી રહી છે નીચે પ્રમાણે અહીં પડકાર આપ્યો છે. 579 00:25:50,140 --> 00:25:52,310 તમને મળી ને આનંદ થયો. 580 00:25:52,310 --> 00:25:55,730 તેથી લોરેન અહીં સામે છે તેના બે ખાલી કપ. 581 00:25:55,730 --> 00:25:57,570 અને અમે કેટલાક નારંગી છે રસ અને કેટલાક દૂધ 582 00:25:57,570 --> 00:26:00,301 અને અમે જાઓ જઈ રહ્યાં છો આગળ અને નીચે પ્રમાણે કરો. 583 00:26:00,301 --> 00:26:01,550 અમે ફક્ત આ ભરવા માટે જઈ રહ્યાં છો. 584 00:26:01,550 --> 00:26:07,840 અહીં દૂધ થોડા ઔંસ અને ચાલો અહીં થોડી નારંગી રસ ભરો. 585 00:26:07,840 --> 00:26:11,475 >> અને તમામ સામે આ પ્રેક્ષકોના સભ્યોએ 586 00:26:11,475 --> 00:26:13,550 આ કપ બે કિંમતો સ્વેપ. 587 00:26:13,550 --> 00:26:16,970 દૂધ કપ ઓરેન્જ જ્યુસ મૂકો અને નારંગીનો રસ કપ દૂધ. 588 00:26:16,970 --> 00:26:22,380 589 00:26:22,380 --> 00:26:26,150 તમે હતા તો તમે આવું કરશે કેવી રીતે ઘર અને અન્ય પુરવઠો ઍક્સેસ હતી? 590 00:26:26,150 --> 00:26:27,400 લોરેન: અન્ય કપમાં મૂકો. 591 00:26:27,400 --> 00:26:28,191 ડેવિડ જે MALAN: બરાબર. 592 00:26:28,191 --> 00:26:31,940 તેથી આપણે એક કામચલાઉ હોય દો ચલ, અમે તો. 593 00:26:31,940 --> 00:26:35,871 અને હવે આગળ વધો અને અમલ આ જ જેઓ પ્રક્રિયા. 594 00:26:35,871 --> 00:26:36,370 કેટલું સરસ. 595 00:26:36,370 --> 00:26:41,490 અમે કામચલાઉ માં OJ મૂક્યો છે ચલ, OJ ચલ માં દૂધ, 596 00:26:41,490 --> 00:26:44,481 અને હવે કામચલાઉ ચલ દૂધ ચલ માં. 597 00:26:44,481 --> 00:26:44,980 ઠીક છે. 598 00:26:44,980 --> 00:26:48,740 તેથી ખૂબ જ સારી રીતે અત્યાર સુધી કર્યું. 599 00:26:48,740 --> 00:26:50,990 તેથી તે પકડી out-- કરે માત્ર એક ક્ષણ માટે માનવામાં આવે છે. 600 00:26:50,990 --> 00:26:54,479 અહીં, માત્ર એક બીટ તેને geek માટે, આ અનુરૂપ સી કોડ હશે 601 00:26:54,479 --> 00:26:55,520 અમે હમણાં જ અમલમાં છે. 602 00:26:55,520 --> 00:26:58,650 અમે બે ઇનપુટ્સ, એ અને બી, બંને હતી જે અમે માત્ર છે સરળતા માટે કહેવું પડશે 603 00:26:58,650 --> 00:26:59,260 પૂર્ણાંક છે. 604 00:26:59,260 --> 00:27:02,780 હું સ્વેપ કરવા માંગો છો, તો અહીં નોટિસ બે ચલો, એ, બી અને મૂલ્યો, 605 00:27:02,780 --> 00:27:06,890 અમે ખરેખર એક મધ્યસ્થી જરૂર છે કામચલાઉ ચલ, એક હંગામી કપ, 606 00:27:06,890 --> 00:27:10,830 જે માં કિંમતો એક રેડવાની કે જેથી અમે તેને માટે એક પ્લેસહોલ્ડર છે. 607 00:27:10,830 --> 00:27:13,480 પરંતુ પછી કોડ બરાબર છે લોરેન અહીં અમલ. 608 00:27:13,480 --> 00:27:15,500 >> હવે, માત્ર એક વિચાર થોડી crazier, બહાર વળે 609 00:27:15,500 --> 00:27:20,930 તમે વિના આ કરી શકો છો કે એક કામચલાઉ ચલ. 610 00:27:20,930 --> 00:27:24,870 જોકે, અમે જઈ રહ્યાં છો, યોગ્ય રીતે આ કરવા માટે કેટલાક રસાયણશાસ્ત્ર સાથે ઠગ હોય છે. 611 00:27:24,870 --> 00:27:26,380 અમે અહીં કેટલાક વધારાના કપ છે. 612 00:27:26,380 --> 00:27:29,600 તેથી નજીકના વસ્તુ છે કે જે દેખાય છે દૂધ અને પાણી perhaps-- જેવા 613 00:27:29,600 --> 00:27:34,090 અથવા દૂધ અને OJ-- અમે કેટલાક હોય છે પાણી, તેથી અમે આ એક ભરવા પડશે 614 00:27:34,090 --> 00:27:36,486 સ્પષ્ટ પાણી થોડા ઔંસ સાથે. 615 00:27:36,486 --> 00:27:38,332 કે ખૂબ જ કદાચ. 616 00:27:38,332 --> 00:27:38,832 યાહ. 617 00:27:38,832 --> 00:27:39,934 કે ખૂબ જ ચોક્કસપણે છે. 618 00:27:39,934 --> 00:27:40,600 એક સેકન્ડ પકડી. 619 00:27:40,600 --> 00:27:43,520 620 00:27:43,520 --> 00:27:48,420 >> અને હવે અમે હું યાદ છે, કે જે તેલ છે, MIDDLE SCHOOL રસાયણશાસ્ત્ર વર્ગ, 621 00:27:48,420 --> 00:27:49,990 આશા છે કે તે પાણી સાથે ભળતા નથી. 622 00:27:49,990 --> 00:27:53,650 પરંતુ તે પ્રકારની પ્રકારની દૂધ અને OJ જેવો દેખાય છે. 623 00:27:53,650 --> 00:27:55,760 હવે તેથી, ઉપયોગ કર્યા વગર કામચલાઉ ચલ, 624 00:27:55,760 --> 00:27:59,260 તમે તે બે કિંમતો સ્વેપ કરી શકો છો? 625 00:27:59,260 --> 00:28:03,884 , પાણી કપ જાય તેલ તેથી પાણી ઓઇલ કપ જાય છે. 626 00:28:03,884 --> 00:28:04,800 લોરેન: કોઈ અન્ય કપ? 627 00:28:04,800 --> 00:28:05,940 ડેવિડ જે MALAN: કોઈ અન્ય કપ. 628 00:28:05,940 --> 00:28:07,860 અને હું ખરેખર નથી કર્યું આ વર્ષે પહેલાં આ પરીક્ષણ 629 00:28:07,860 --> 00:28:10,110 આ તેથી જો મને ખબર નથી ખરેખર રાસાયણિક કામ કરે છે. 630 00:28:10,110 --> 00:28:16,130 631 00:28:16,130 --> 00:28:18,650 તે થાય રહેવા ન હતી. 632 00:28:18,650 --> 00:28:19,761 તે કામ કરે છે? 633 00:28:19,761 --> 00:28:20,260 બધા અધિકાર. 634 00:28:20,260 --> 00:28:20,990 તેથી અલગ? 635 00:28:20,990 --> 00:28:21,490 સારી. 636 00:28:21,490 --> 00:28:24,714 હવે અમે વિચાર મળ્યો અન્ય કપ પાણી. 637 00:28:24,714 --> 00:28:27,630 સ્માર્ટ રસાયણશાસ્ત્ર concentrators શકે કદાચ મારા કરતા વધુ સારી રીતે આ કામ કરે છે. 638 00:28:27,630 --> 00:28:28,510 >> લોરેન: પાણી તળિયે છે. 639 00:28:28,510 --> 00:28:31,910 >> ડેવિડ જે MALAN: હતું કે water-- શું અમે આ કર્યું જો છેલ્લા સમય કી છે. 640 00:28:31,910 --> 00:28:33,950 તમે યોગ્ય ક્રમમાં તે શું હોય છે. 641 00:28:33,950 --> 00:28:34,450 યાહ. 642 00:28:34,450 --> 00:28:35,270 એ બરાબર છે. 643 00:28:35,270 --> 00:28:37,290 તેથી હવે અમે તેલ બે કપ છે. 644 00:28:37,290 --> 00:28:37,790 ઠીક છે. 645 00:28:37,790 --> 00:28:38,510 એ બરાબર છે. 646 00:28:38,510 --> 00:28:40,110 પરંતુ આ I-- કરતાં કામ કર્યું રાસાયણિક જો 647 00:28:40,110 --> 00:28:41,200 >> લોરેન: આ પાણી છે. 648 00:28:41,200 --> 00:28:41,930 >> ડેવિડ જે MALAN: કે મોટે ભાગે પાણી છે. 649 00:28:41,930 --> 00:28:42,430 બધા અધિકાર. 650 00:28:42,430 --> 00:28:44,210 પરંતુ તે હજુ પણ પહેલાં જેવી જ કપ છે. 651 00:28:44,210 --> 00:28:47,570 તેથી તેને ત્યાં તે પ્રયાસ રેડવાની છે. 652 00:28:47,570 --> 00:28:49,300 ઠીક છે. 653 00:28:49,300 --> 00:28:51,010 આ વર્ગ સમય સારો ઉપયોગ આજે છે. 654 00:28:51,010 --> 00:28:51,510 ઠીક છે. 655 00:28:51,510 --> 00:28:53,890 તેથી હવે સરસ we--. 656 00:28:53,890 --> 00:28:55,460 સૉર્ટ કરો. 657 00:28:55,460 --> 00:28:55,960 બધા અધિકાર. 658 00:28:55,960 --> 00:28:56,690 તેથી ખૂબ જ સારી. 659 00:28:56,690 --> 00:29:00,006 લોરેન માટે આભાર. 660 00:29:00,006 --> 00:29:01,950 ખૂબ જ સારી રીતે થાય છે. 661 00:29:01,950 --> 00:29:04,570 >> તેથી, ફક્ત તમારા મનમાં તમાચો અને આ કદાચ કંઈક છે 662 00:29:04,570 --> 00:29:08,660 તમે CS50 ID ને ગમે તો સાથે રમવા માટે, તમે, હકીકતમાં, બે ચલો સ્વેપ કરી શકો છો 663 00:29:08,660 --> 00:29:11,470 હંગામી પૂર્ણાંક ઉપયોગ કર્યા વગર. 664 00:29:11,470 --> 00:29:13,060 અને આ અનુરૂપ સી કોડ છે. 665 00:29:13,060 --> 00:29:16,110 અને તમે છેલ્લા યાદ તો બુધવાર, અમે તો થોડા સમય માટે રજૂ કરવામાં 666 00:29:16,110 --> 00:29:19,720 સી કરે કેટલાક નવા ઓપરેટરો કોઈને શું ઓછી ગાજર યાદ 667 00:29:19,720 --> 00:29:23,660 પ્રતીક, કે થોડી ત્રિકોણાકાર છે કીબોર્ડ પ્રતીક પ્રતિનિધિત્વ કરે છે? 668 00:29:23,660 --> 00:29:26,003 શું bitwise ઓપરેટર? 669 00:29:26,003 --> 00:29:26,770 >> પ્રેક્ષક: EXOR. 670 00:29:26,770 --> 00:29:27,645 >> ડેવિડ જે MALAN: EXOR. 671 00:29:27,645 --> 00:29:28,560 વિશિષ્ટ કે. 672 00:29:28,560 --> 00:29:32,920 તમે માત્ર મજા માટે, માંગો છો, તો ઘર, A અને B બે મનસ્વી આપવા 673 00:29:32,920 --> 00:29:36,072 કોઈપણ eight-- અને હું જેવી કિંમતો આઠ બીટ કિંમત પસંદ કરશે. 674 00:29:36,072 --> 00:29:38,530 તમે 32 બિટ્સ સાથે આ કરો છો, તો તમે ખૂબ જ ઝડપથી કંટાળો મળશે. 675 00:29:38,530 --> 00:29:42,150 પરંતુ માત્ર એક આઠ બીટ આપી એક કે બે ગમે તે કિંમત, 676 00:29:42,150 --> 00:29:43,790 અને એક જ કિંમત b આપે છે. 677 00:29:43,790 --> 00:29:46,810 અને પછી પરિભાષાનો ઉપયોગ છેલ્લા બુધવારે થી XOR છે, 678 00:29:46,810 --> 00:29:52,560 , બીટ દ્વારા દરેક બીટ લાગુ A અને B દરેક તે આઠ બિટ્સ, 679 00:29:52,560 --> 00:29:54,980 અને પછી આ કોડ મુજબ બરાબર કામ કરે છે. 680 00:29:54,980 --> 00:29:58,170 અને તે ખોટું નથી શું તમે સ્ક્રીન પર અહીં જુઓ. 681 00:29:58,170 --> 00:30:02,100 તે ખરેખર ઉકળે નીચે ત્રણ XOR કામગીરી માટે 682 00:30:02,100 --> 00:30:05,910 અને કોઈક જાદુઇ એ અને b સ્થિતિ લે કરશે 683 00:30:05,910 --> 00:30:08,010 કોઈપણ માહિતી ખોયા વિના. 684 00:30:08,010 --> 00:30:11,580 >> જેથી તેલ અને પાણી યુક્તિ છે નજીકના વાસ્તવિક વિશ્વમાં અવતાર 685 00:30:11,580 --> 00:30:12,980 મને લાગે છે કે નકલ કરવા માટે વિચાર કરી શકે છે. 686 00:30:12,980 --> 00:30:15,950 પરંતુ તે ચોક્કસ સરળ છે એક કામચલાઉ ચલ વાપરવા માટે, 687 00:30:15,950 --> 00:30:16,920 અહીં આ કિસ્સામાં. 688 00:30:16,920 --> 00:30:21,190 અને આ પણ એક તક છે, કહે છે પણ, સૂક્ષ્મ ઓપ્ટિમાઇઝેશન આ પ્રકારની, 689 00:30:21,190 --> 00:30:23,590 કમ્પ્યુટર વૈજ્ઞાનિક તરીકે કહે છે, જ્યારે મજા પ્રકારની 690 00:30:23,590 --> 00:30:27,060 તમે વિના આ કર્યું તે વિશે બ્રેગ વધારાની ચલ સાથે અદલાબદલી જેમ, 691 00:30:27,060 --> 00:30:28,640 તે છે કે જે બધી અનિવાર્ય નથી. 692 00:30:28,640 --> 00:30:31,619 32 બિટ્સ, આ રૂપમાં સાચવવા માટે છે, કારણ કે એક વાસ્તવિક પૂર્ણાંક કિસ્સામાં, 693 00:30:31,619 --> 00:30:33,410 બધા કે જે અનિવાર્ય નથી સિસ્ટમ કે જ્યાં પર 694 00:30:33,410 --> 00:30:36,722 તમે મેગાબાઇટ્સ દસ ઉપયોગ કરી શકે છે અથવા તો વધુ જેવા કે મેમરી આ દિવસોમાં. 695 00:30:36,722 --> 00:30:38,680 અને હકીકતમાં, અમે જ્યારે વિચાર પછીની સમસ્યા સમૂહ 696 00:30:38,680 --> 00:30:41,010 અને તમે જોડણી અમલ પરીક્ષક અને તમે પડશે 697 00:30:41,010 --> 00:30:43,550 જેથી સાથે શું કરવું પડકારવામાં આવશે આ ઓછી રેમ અને ઓછી 698 00:30:43,550 --> 00:30:46,820 પર શક્ય સમય હજુ પણ તમે કમ્પ્યુટર 699 00:30:46,820 --> 00:30:50,160 અમલ કરવા માટે એક સપ્તાહ છે તમે હશો અહી પડશે તેને 700 00:30:50,160 --> 00:30:51,799 તે સાધનો ઘટાડવા માટે પડકાર આપ્યો છે. 701 00:30:51,799 --> 00:30:53,840 અને તે ખરેખર માત્ર છે આ સત્ર પ્રસંગ 702 00:30:53,840 --> 00:30:57,940 તમે હજામત કરવા માટે પ્રોત્સાહિત કરવામાં આવશે જ્યાં પણ શ્રેષ્ઠ કામગીરી બંધ 703 00:30:57,940 --> 00:30:59,340 અન્યથા ખર્ચ પડે છે. 704 00:30:59,340 --> 00:31:02,200 >> તેથી અમે કેવી રીતે કરી શકો છો what-- આ વાસ્તવિક કોડ જુઓ છો? 705 00:31:02,200 --> 00:31:04,530 હવે મને આગળ જવા દો અને એક ઉદાહરણ ખોલો 706 00:31:04,530 --> 00:31:07,700 કે ઇરાદાપૂર્વક કહેવામાં આવે છે કોઈ તે સ્વેપ નથી કારણ કે 707 00:31:07,700 --> 00:31:10,670 હકીકતમાં ચલો સ્વેપ તમે ખરેખર આશા રાખી શકે છે. 708 00:31:10,670 --> 00:31:12,260 તેથી આપણે એક નજર કરીએ. 709 00:31:12,260 --> 00:31:17,050 અહીં કોઈ CS50 છે કે કાર્યક્રમ છે પુસ્તકાલય, માત્ર ધોરણ I / O પર જઈ રહી છે. 710 00:31:17,050 --> 00:31:19,560 હવે અમે એક પ્રોટોટાઇપ છે ઉપર સ્વેપ માટે જે માત્ર 711 00:31:19,560 --> 00:31:21,540 તે પછી વ્યાખ્યાયિત પ્રયત્ન મળ્યું છે એનો અર્થ એ થાય. 712 00:31:21,540 --> 00:31:22,550 અને અહીં મુખ્ય છે. 713 00:31:22,550 --> 00:31:26,000 >> હું આપખુદ એક્સ અને વાય સોંપાયેલ છે, અનુક્રમે કિંમતો એક અને બે 714 00:31:26,000 --> 00:31:28,590 માત્ર તેઓ નાના છો કારણ કે અને સરળ વિશે વિચારો. 715 00:31:28,590 --> 00:31:32,280 અને પછી હું ફક્ત printfs એક ટોળું હોય છે હું એક સેનીટી ચેક હોય છે. X 1 716 00:31:32,280 --> 00:31:35,110 અને વાય 2 કદાચ છે તે printfs કહેશે શું. 717 00:31:35,110 --> 00:31:36,530 તેથી કોઈ જાદુ આમ અત્યાર સુધી. 718 00:31:36,530 --> 00:31:40,100 >> પછી હું દાવો કરવા જઇ રહ્યો છું ડોટ ડોટ ડોટ જેઓ ડેફ છાપો. 719 00:31:40,100 --> 00:31:43,730 હું સ્વેપ કૉલ જાઉં છું કાર્ય, એક્સ અને વાય પસાર. 720 00:31:43,730 --> 00:31:47,350 અને હવે તે માટે ધારે દો સ્વેપ બરાબર અમલમાં મૂકાયેલ છે 721 00:31:47,350 --> 00:31:49,930 તે એક ક્ષણ પહેલા થયું હતું તરીકે કામચલાઉ ચલ સાથે. 722 00:31:49,930 --> 00:31:52,670 અને તેથી હું હિંમતભેર દાવો સ્વૅપ. 723 00:31:52,670 --> 00:31:55,429 આ એક્સ અને વાય હવે છે હવે છે. 724 00:31:55,429 --> 00:31:57,220 પરંતુ ફાઇલ, અલબત્ત, કોઈ સ્વેપ કહેવાય છે. 725 00:31:57,220 --> 00:31:58,678 તેથી આપણે ખરેખર શું થાય છે તે જોવા દો. 726 00:31:58,678 --> 00:32:04,450 હું પછી કોઈ સ્વેપ અને કમ્પાઇલ તો ./noswap કરવા, એક્સ 1, વાય 2 છે. 727 00:32:04,450 --> 00:32:05,770 સ્વૅપ જેઓ. 728 00:32:05,770 --> 00:32:07,200 X વાય 2 છે, 1. 729 00:32:07,200 --> 00:32:11,980 તેથી તે ખરેખર પણ અપૂર્ણ કરી રહ્યું છે swap-- છતાં now-- સરકાવો ચાલો 730 00:32:11,980 --> 00:32:16,542 દીઠ બરાબર અમલમાં મૂકાયેલ છે કોડ હું એક ક્ષણ પહેલા દરખાસ્ત કરી હતી. 731 00:32:16,542 --> 00:32:19,000 તેથી અમે ફેન્સી વિચાર નથી જઈ રહ્યાં છો હવે માટે XOR સામગ્રી સાથે. 732 00:32:19,000 --> 00:32:21,890 આ, પણ, માત્ર કામ કરીશું દૂધ અને OJ સાથે જેમ, 733 00:32:21,890 --> 00:32:25,820 પરંતુ તે કામ નથી લાગતું નથી. 734 00:32:25,820 --> 00:32:27,180 >> તેથી આપણે ફરી આ કરવા દો. 735 00:32:27,180 --> 00:32:29,310 કદાચ હું માત્ર તેને અધિકાર નથી ચાલી રહ્યું હતું. 736 00:32:29,310 --> 00:32:32,010 તેથી આપણે ફરીથી કોઈ સ્વેપ ચલાવો. 737 00:32:32,010 --> 00:32:32,900 કદાચ I-- નં. 738 00:32:32,900 --> 00:32:34,400 તેથી તે માત્ર કામ નથી. 739 00:32:34,400 --> 00:32:36,060 તેથી આપણે થોડો સેનીટી ચેક કરવા દો. 740 00:32:36,060 --> 00:32:39,690 મને સ્વેપ અહીં આગળ જવા દો અને માત્ર ઉમેરો એક મિનિટ રાહ જુઓ, 741 00:32:39,690 --> 00:32:43,856 એક% i છે / એન અને ચાલો પ્લગ ઇન ની કિંમત. 742 00:32:43,856 --> 00:32:45,730 હું ખરેખર માંગો છો કારણ કે શું થઈ રહ્યું છે તે જોવા માટે. 743 00:32:45,730 --> 00:32:47,570 અને ખરેખર, આ છે ડિબગીંગ ટેકનિક 744 00:32:47,570 --> 00:32:50,028 તમે ઉપયોગ કરી શકે છે કે ઓફિસ કલાકો કે પહેલેથી જ ઘરમાં, 745 00:32:50,028 --> 00:32:53,560 ડેન ના પ્રથમ છ સમાન PSET3 માં એર્મેન્ડારીઝ વિડિઓ 746 00:32:53,560 --> 00:32:56,870 અમે પ્રિન્ટ રજૂ જેમાં તરીકે ડેફ ઓછામાં ઓછા એક ભલામણ ટેકનિક છે, 747 00:32:56,870 --> 00:32:58,080 સરળ કિસ્સાઓ માટે. 748 00:32:58,080 --> 00:33:01,720 મને આગળ વધો અને બનાવવા ચલાવો ફરીથી કોઈ સ્વેપ ./noswap. 749 00:33:01,720 --> 00:33:04,370 750 00:33:04,370 --> 00:33:05,840 >> રસપ્રદ. 751 00:33:05,840 --> 00:33:11,670 તેથી સાચા હોય તેમ લાગે છે નોટિસ. X 1, વાય 2 છે, પરંતુ b 1 છે જ્યારે 2 છે. 752 00:33:11,670 --> 00:33:16,790 તેથી તે બે અચાનક સ્વૅપ મળ્યો પરંતુ એક્સ અને વાય માં સ્વૅપ મળતું નથી. 753 00:33:16,790 --> 00:33:21,090 તેથી શું થઈ રહ્યું છે, સ્પષ્ટ કરવા , અહીં હું એક્સ અને વાય હોય છે 754 00:33:21,090 --> 00:33:25,380 અને તે સ્થાનિક ચલો છે મુખ્ય અવકાશ, હું એક્સ અને વાય માં પસાર છું 755 00:33:25,380 --> 00:33:26,170 સ્વેપ. 756 00:33:26,170 --> 00:33:29,080 હવે, સ્વેપ, એક અલગ કાર્ય છે, તેની દલીલો કૉલ મફત છે 757 00:33:29,080 --> 00:33:30,590 અથવા તેના પરિમાણો કંઈપણ તે ઇચ્છે છે. 758 00:33:30,590 --> 00:33:33,280 Foo એક્સ અથવા વાય અથવા A અથવા B અથવા બાર અથવા. 759 00:33:33,280 --> 00:33:36,870 માત્ર તેઓ છો કે સ્પષ્ટ કરવા માટે X સમાન નથી અને વાય સે દીઠ, 760 00:33:36,870 --> 00:33:38,020 હું A અને B જણાવ્યું હતું કે કર્યું. 761 00:33:38,020 --> 00:33:40,040 પરંતુ અમે તેમને અમે માંગો છો કંઈપણ કહી શકે છે. 762 00:33:40,040 --> 00:33:43,960 >> અને તેથી તે જેવી લાગે છે સ્વેપ પસાર થઈ રહી છે 763 00:33:43,960 --> 00:33:48,980 એક્સ ઉર્ફ a-- અને તે વાય ઉર્ફ b પસાર થઈ રહી. 764 00:33:48,980 --> 00:33:51,900 અચાનક આ ત્રણ રેખાઓ હોય છે બરાબર તે કિંમતો જેઓ 765 00:33:51,900 --> 00:33:53,510 લોરેન દૂધ અને OJ સાથે હતી. 766 00:33:53,510 --> 00:33:56,010 પરંતુ અમે બહાર છાપવા ત્યારે મૂલ્યો, A અને B 767 00:33:56,010 --> 00:34:01,340 સ્વેપ ખરેખર હોય છે, પરંતુ X અને વાય તેમને કોઈ ફેરફાર હોય છે. 768 00:34:01,340 --> 00:34:03,150 કે એક્સ અને વાય અહીં છે યાદ અપાવે છે. 769 00:34:03,150 --> 00:34:05,320 >> તેથી અમે મારફતે આ જોઈ શકો છો તેમજ અન્ય ટેકનિક. 770 00:34:05,320 --> 00:34:08,110 અને આ પણ એક ટેકનિક છે સમસ્યા જડિત ત્રણ સુયોજિત કરો. 771 00:34:08,110 --> 00:34:10,780 ચાલો આગળ વધો અને આ કરવા CS50 આઈડી જો તમે પહેલાથી જ ન હોય તો. 772 00:34:10,780 --> 00:34:13,730 જમણી બાજુ પર અમે આ ડિબગર ટેબ છે. 773 00:34:13,730 --> 00:34:16,159 અને તમે આ ખોલવા માટે, કેટલાક arcane માહિતી છે 774 00:34:16,159 --> 00:34:17,530 તે શરૂઆતમાં તમે ફેંકવામાં આવે છે. 775 00:34:17,530 --> 00:34:19,310 પરંતુ વાસ્તવિક ઝડપી આ સિવાય પીંજવું દો. 776 00:34:19,310 --> 00:34:21,620 >> તેથી, તમે સ્થાનિક ચલો જુઓ. 777 00:34:21,620 --> 00:34:26,230 CS50 IDE માં બિલ્ડ કે બહાર વળે છે, અને પ્રોગ્રામિંગ વાતાવરણ ઘણો વધુ 778 00:34:26,230 --> 00:34:28,060 સામાન્ય રીતે, એક ડીબગર છે. 779 00:34:28,060 --> 00:34:31,340 તમે દૃષ્ટિની જોવા માટે પરવાનગી આપે છે કે જે સાધન શું તમારા કાર્યક્રમ ની અંદર પર ચાલી રહ્યું છે 780 00:34:31,340 --> 00:34:34,380 ઉમેરી રહ્યા આશરો કર્યા વગર printfs અને સંકલન અને ચાલતું 781 00:34:34,380 --> 00:34:37,588 અને printf માતાનો ઉમેરી રહ્યા છે અને સંકલન અને ઓફિસ કલાકો, કે જે પહેલાથી જ ચાલી રહેલ 782 00:34:37,588 --> 00:34:40,070 કે ઘર, કદાચ છે ખૂબ જટિલ રહ્યો છે. 783 00:34:40,070 --> 00:34:43,090 >> તેથી અહીં માત્ર એક ક્ષણ, અમે છો વાસ્તવિક સમય માં જોવા માટે જઈ 784 00:34:43,090 --> 00:34:44,760 અમારા સ્થાનિક ચલો કિંમતો. 785 00:34:44,760 --> 00:34:47,880 અમે પણ સુયોજિત કરવા માટે સમર્થ થવા માટે જઈ રહ્યાં છો બ્રેકપોઇન્ટ્સ કહેવામાં આવે છે, જે 786 00:34:47,880 --> 00:34:52,570 તકો વિરામ મારા કાર્યક્રમ છે કોડ એક ચોક્કસ વાક્ય પર અમલ 787 00:34:52,570 --> 00:34:53,710 હું વિશે વિચિત્ર છું છે. 788 00:34:53,710 --> 00:34:54,210 અધિકાર? 789 00:34:54,210 --> 00:34:55,969 આ કાર્યક્રમો બીજા એક વિભાજીત ચલાવો. 790 00:34:55,969 --> 00:35:00,450 તે અમને ધીમી મનુષ્યો માટે સરસ પ્રકારની છે , રોકો માટે થોડો સમય ફાળવો સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માટે, જોવા 791 00:35:00,450 --> 00:35:02,380 આસપાસ શું થઈ રહ્યું છે કોડ એક ચોક્કસ રેખા 792 00:35:02,380 --> 00:35:05,050 આ કાર્યક્રમ ખેડાણ વગર તે મારફતે અને સંપૂર્ણપણે પૂરું કરે છે. 793 00:35:05,050 --> 00:35:08,510 તેથી બ્રેકપોઇન્ટ્સ અમને પરવાનગી આપે છે જવું તોડી અને અમુક ચોક્કસ બિંદુ પર વિરામ. 794 00:35:08,510 --> 00:35:12,990 >> કોલ સ્ટેકનું એક ફેન્સી માર્ગ છે કાર્યો હાલમાં શું છે કહે છે 795 00:35:12,990 --> 00:35:14,140 આ ક્ષણે કહેવામાં આવે છે. 796 00:35:14,140 --> 00:35:15,370 મુખ્ય હંમેશા પ્રથમ કહેવામાં આવે છે. 797 00:35:15,370 --> 00:35:17,230 પરંતુ મુખ્ય એક કહે છે, તો સ્વેપ કહેવાય કાર્ય, 798 00:35:17,230 --> 00:35:20,470 અમે ખરેખર આ જોવા જઈ રહ્યાં છો કરવામાં આવી છે કે કાર્યો ટાવર 799 00:35:20,470 --> 00:35:22,400 ઉલ્ટા કાલક્રમાનુસાર કહેવાય છે. 800 00:35:22,400 --> 00:35:23,310 તેથી આપણે તે જોવા દો. 801 00:35:23,310 --> 00:35:24,327 >> હું બહાર ઝૂમ કરવા જઇ રહ્યો છું. 802 00:35:24,327 --> 00:35:25,660 હું મારા કોડ પર પાછા જાઓ જાઉં છું. 803 00:35:25,660 --> 00:35:27,540 અને માત્ર હું માંગો છો કારણ કે અહીં વિદ્યાડબંરવાળું હોઇ શકે છે, 804 00:35:27,540 --> 00:35:31,100 હું આગળ જાઓ અને ક્લિક કરો જાઉં છું માત્ર વાક્ય પાંચ ડાબી. 805 00:35:31,100 --> 00:35:32,830 અને તે એક લાલ ટપકું બનાવે છે. 806 00:35:32,830 --> 00:35:36,200 અને જમણી બાજુ પર નોટિસ ડીબગર અરે, જાણે કે, 807 00:35:36,200 --> 00:35:41,020 મેં હમણાં જ કહ્યું બ્રેકપોઇન્ટ અંતે noswap.c વાક્ય પાંચ, ખાસ 808 00:35:41,020 --> 00:35:42,480 કોડ આ વાક્ય છે. 809 00:35:42,480 --> 00:35:45,090 તેથી ડીબગર કે હું જાણે આગામી સમય કે વિનંતી કરી છે 810 00:35:45,090 --> 00:35:48,530 હું મારા કાર્યક્રમ તે વિરામ ચલાવવા ત્યાં બદલે માત્ર અમલ 811 00:35:48,530 --> 00:35:50,390 સુપર ફાસ્ટ સમગ્ર બાબત ચાલી રહ્યું છે. 812 00:35:50,390 --> 00:35:53,889 >> તેથી હવે હું ડિબગ ક્લિક કરો જાઉં છું જ્યારે IDE ખૂબ જ ટોચ પર બટન 813 00:35:53,889 --> 00:35:55,430 અને નીચેની કરવા જઇ રહ્યું છે. 814 00:35:55,430 --> 00:36:00,680 તે શરૂઆતમાં કંઈક અંશે એક ખોલવા જઈ રહ્યું છે ડરામણી જોઈ બીજા ટર્મિનલ window-- 815 00:36:00,680 --> 00:36:02,679 પરથી દૂરસ્થ ડિબગીંગ આવા યજમાન અને such-- 816 00:36:02,679 --> 00:36:04,970 અને અમે પાછા આવો પડશે શું કે બધા લાંબા પહેલાં થાય છે. 817 00:36:04,970 --> 00:36:09,020 પરંતુ હવે માટે શું મહત્વનું છે કે લાલ ટપકું હિટ હતી છે, 818 00:36:09,020 --> 00:36:11,735 ડીબગર ઇરાદાપૂર્વક છે execution-- થોભાવવામાં 819 00:36:11,735 --> 00:36:15,560 નથી SE દીઠ તે લીટી પરની પરંતુ પ્રથમ તે કાર્ય વાસ્તવિક કોડ વાક્ય. 820 00:36:15,560 --> 00:36:18,040 રેખા સાત છે કે શા માટે છે હવે પીળો પ્રકાશિત. 821 00:36:18,040 --> 00:36:20,550 >> અને હવે આપણે એક નજર કરીએ જમણી બાજુ પર છે. 822 00:36:20,550 --> 00:36:27,300 તે મૂળભૂત રીતે, જેવી લાગે છે, સરસ રીતે પૂરતી છે, એક્સ શું કિંમત છે? 823 00:36:27,300 --> 00:36:27,860 0. 824 00:36:27,860 --> 00:36:29,750 અને વાય શું કિંમત છે? 825 00:36:29,750 --> 00:36:30,410 ઝીરો. 826 00:36:30,410 --> 00:36:35,540 અને તે અર્થમાં ધારણા કરી શકાય છે કે એક્સ અને પીળા વાક્ય છે કે વાય 827 00:36:35,540 --> 00:36:36,770 હજુ સુધી ચલાવવામાં નથી. 828 00:36:36,770 --> 00:36:38,510 તેથી એક્સ કિંમત 1 ન હોવી જોઇએ. 829 00:36:38,510 --> 00:36:41,470 તે કોઇ પણ અન્ય કિંમત હોઈ શકે છે, કહેવાતા કચરો કિંમત. 830 00:36:41,470 --> 00:36:44,320 અને અમે તેને આવ્યું છે કે નસીબદાર મળી અનિવાર્યપણે, આ બિંદુએ શૂન્ય. 831 00:36:44,320 --> 00:36:46,400 >> તેથી હવે માત્ર થોડા છે બટનો અમે કાળજી જરૂર 832 00:36:46,400 --> 00:36:48,100 આ રીતે ડિબગીંગ જ્યારે વિશે. 833 00:36:48,100 --> 00:36:49,970 અહીં નોટિસ, અમે એક નાટક બટન હોય છે. 834 00:36:49,970 --> 00:36:51,877 અને અમે રમવા અથવા જો હિટ કે જે હમણાં જ છે, ફરી શરૂ 835 00:36:51,877 --> 00:36:53,710 મારફતે ચલાવવા માટે જતા આ કાર્યક્રમ બાકીના 836 00:36:53,710 --> 00:36:55,300 અથવા તે બીજી બ્રેકપોઇન્ટ બનાવ્યા સુધી. 837 00:36:55,300 --> 00:36:56,910 પરંતુ હું કોઇ અન્ય સેટ નથી કર્યું બ્રેકપોઇન્ટ્સ તેથી તે માત્ર છે 838 00:36:56,910 --> 00:36:58,118 અંત મારફતે ચલાવવા માટે જઈ રહી છે. 839 00:36:58,118 --> 00:37:00,280 પરાજય તે પ્રકારના આસપાસ poking હેતુ. 840 00:37:00,280 --> 00:37:03,290 >> તેથી તેના બદલે, હું વિશે કાળજી જમણી આ ચિહ્નો. 841 00:37:03,290 --> 00:37:05,360 અને હું પર હૉવર જો તેમને તરીકે તમે પણ જોઈએ 842 00:37:05,360 --> 00:37:07,450 તમે થોડી tips-- સાધન ટીપ્સ જોશો. 843 00:37:07,450 --> 00:37:09,020 આ એક પગલું છે. 844 00:37:09,020 --> 00:37:11,290 હવે અવગણો એનો અર્થ એ નથી કોડ નીચેની લીટી. 845 00:37:11,290 --> 00:37:14,840 કે જે હમણાં જ તેને ચલાવવા અર્થ થાય છે અને આગામી ખસેડવા આગામી ખસેડવા, 846 00:37:14,840 --> 00:37:15,580 આગામી ખસેડવા. 847 00:37:15,580 --> 00:37:17,610 બીજા શબ્દોમાં કહીએ તો, મારફતે તે બટન, હું ચાલવા કરી શકો છો 848 00:37:17,610 --> 00:37:20,390 એક સમયે મારા કોડ એક પગલું દ્વારા. 849 00:37:20,390 --> 00:37:21,914 શાબ્દિક વાક્ય દ્વારા વાક્ય. 850 00:37:21,914 --> 00:37:23,830 હવે, જમણી ત્યાં બીજી એક છે, કે 851 00:37:23,830 --> 00:37:25,163 અમે માત્ર એક ક્ષણ માં જોશો છે. 852 00:37:25,163 --> 00:37:27,820 આ કહેવાતા છે કે ચિહ્ન માં પગલું 853 00:37:27,820 --> 00:37:30,300 મને ડાઇવ પરવાનગી રહ્યું અન્ય કાર્ય માં. 854 00:37:30,300 --> 00:37:31,800 પરંતુ માત્ર એક ક્ષણ આ જોવા દો. 855 00:37:31,800 --> 00:37:33,280 તેથી હું પર પગલું ક્લિક કરો જાઉં છું. 856 00:37:33,280 --> 00:37:35,820 હું ક્લિક કરો અને હવે નોટિસ ટોચ પર જમણે આ બટન 857 00:37:35,820 --> 00:37:41,260 સ્થાનિક હેઠળ આશરે તમારી આંખો રાખો ચલો અને X માટે જુઓ શું થાય છે. 858 00:37:41,260 --> 00:37:44,115 X હવે કારણ કે 1 પીળા વાક્ય હવે ચલાવવામાં આવી છે 859 00:37:44,115 --> 00:37:45,840 અને અમે 8 વાક્ય પર ખસેડી દીધું છે. 860 00:37:45,840 --> 00:37:49,840 અને માત્ર એક ક્ષણ વાય આસ્થાપૂર્વક 2 બનવા જોઈએ. 861 00:37:49,840 --> 00:37:52,330 >> હવે, કંઈ રસપ્રદ છે કે એક બીટ માટે થાય છે. 862 00:37:52,330 --> 00:37:53,390 આ બધા printf છે. 863 00:37:53,390 --> 00:37:58,010 અને મારા માધ્યમિક ટર્મિનલ નોટિસ વિન્ડો હું પ્રિન્ટ ડેફ નું આઉટપુટ જુઓ. 864 00:37:58,010 --> 00:38:01,080 અને હવે હું એક બનાવવા હોય પ્રોગ્રામર તરીકે નિર્ણય. 865 00:38:01,080 --> 00:38:04,360 હું આ લીટી પર પગલું કરી શકો છો કોડ છે, તે ચલાવવા નથી, પરંતુ 866 00:38:04,360 --> 00:38:06,220 અંદર શું છે વિશે વિચિત્ર મેળવવામાં. 867 00:38:06,220 --> 00:38:11,130 અથવા હું ખરેખર તે પગલું કરી શકો છો અને સ્વેપ પોતે અંદર જાઓ. 868 00:38:11,130 --> 00:38:12,340 તેથી આપણે બાદમાં કરવા દો. 869 00:38:12,340 --> 00:38:15,550 >> મને આગળ વધો અને ક્લિક કરો ઓવર પગલું પરંતુ સ્ટેપ ઇનટુ. 870 00:38:15,550 --> 00:38:17,300 સૂચના, અચાનક તમામ વિન્ડો ફેરફારો 871 00:38:17,300 --> 00:38:19,330 પ્રથમ પ્રકાશિત કરવા માટે સ્વેપ કોડ વાક્ય. 872 00:38:19,330 --> 00:38:20,710 તે લીટી 21 છે. 873 00:38:20,710 --> 00:38:25,220 અને હવે, ફંકી પ્રકારની છે કે શું છે, તમે અહીં ઉપર જુઓ તો, ઈચ્છિત તરીકે 874 00:38:25,220 --> 00:38:29,720 અલ્પવિરામ b અનુક્રમે 1 અને 2 છે. 875 00:38:29,720 --> 00:38:33,840 શા માટે કામચલાઉ નોકર વે 32,767 છે? 876 00:38:33,840 --> 00:38:36,560 ખૂબ જેવા કે કામચલાઉ નોકર યાદ એક ક્ષણ પહેલા ખાલી કપ, 877 00:38:36,560 --> 00:38:38,980 રેખા 21 પર અહીં જાહેર કરવામાં આવે છે. 878 00:38:38,980 --> 00:38:43,390 હું તેનો અર્થ શા 32,000-, શા માટે છે તે માત્ર કેટલાક વિચિત્ર કિંમત છે? 879 00:38:43,390 --> 00:38:43,890 અરે વાહ? 880 00:38:43,890 --> 00:38:45,190 >> પ્રેક્ષક: તે આરંભ નથી. 881 00:38:45,190 --> 00:38:46,940 >> ડેવિડ જે MALAN: તે આરંભ કરવામાં આવી નથી. 882 00:38:46,940 --> 00:38:49,370 તેથી અમારા કોમ્પ્યુટર હંમેશા ભૌતિક મેમરી છે. 883 00:38:49,370 --> 00:38:50,544 તે હંમેશા ભૌતિક RAM છે. 884 00:38:50,544 --> 00:38:52,710 અને હંમેશા ત્યાં છે શૂન્ય અને એક યોગ્ય, ત્યાં છે? 885 00:38:52,710 --> 00:38:54,626 અમે ઉપયોગ કરી રહ્યાં છો કારણ કે અમારા બધા દિવસ સુધી કોમ્પ્યુટર, 886 00:38:54,626 --> 00:38:57,210 જો તમે CS50 IDE ઉપયોગ કરી રહ્યાં છો અથવા સર્વર હોવા જે બધા દિવસ સુધી. 887 00:38:57,210 --> 00:39:01,159 કે RAM કેટલાક zeros છે ક્યાં જેથી અથવા કેટલાક એક અથવા અમુક zeros અને મુદ્દાઓ પર પણ. 888 00:39:01,159 --> 00:39:02,950 કોઈ બાબત કે તમે તેમને ઉપયોગ કરી રહ્યાં છો નથી. 889 00:39:02,950 --> 00:39:05,270 તમે માત્ર ખાલી હોઈ શકે નહિં જગ્યાઓ જ્યાં તમે બિટ્સ માંગો છો. 890 00:39:05,270 --> 00:39:06,850 તેઓ zeros અને મુદ્દાઓ ક્યાં છો. 891 00:39:06,850 --> 00:39:09,610 >> તેથી તે છે, કારણ કે કામચલાઉ નોકર બહાર વળે અમે હજુ સુધી તેનો પ્રારંભ નથી કર્યું 892 00:39:09,610 --> 00:39:14,580 અમે તે 32 બિટ્સ હોય છે, પરંતુ તેઓ નથી કર્યું કોઇ જાણીતા કિંમતો આરંભ કરવામાં આવી છે. 893 00:39:14,580 --> 00:39:18,110 તેથી તેઓ હતા ગમે સૌથી તાજેતરમાં તે 32 bits-- for-- ઉપયોગ 894 00:39:18,110 --> 00:39:23,000 અમે હમણાં જ કેટલાક વસ્તુઓનો જોઈ રહ્યાં છો તે ચોક્કસ 32 અગાઉના ઉપયોગ 895 00:39:23,000 --> 00:39:23,500 બિટ્સ. 896 00:39:23,500 --> 00:39:27,780 જલદી હું છતાં બોલ પગલું ક્લિક તરીકે, Phew, કામચલાઉ નોકર કિંમત 1 વિચાર ચાલે છે. 897 00:39:27,780 --> 00:39:31,600 હું તેને ફરીથી કરો તો, એક છે કિંમત 2 આપવામાં આવશે જતાં 898 00:39:31,600 --> 00:39:33,830 અને પછી બી રહ્યું છે કિંમત 1 અપાશે. 899 00:39:33,830 --> 00:39:36,390 >> અને તેથી શું હવે સરસ છે વાર્તામાં આ બિંદુએ 900 00:39:36,390 --> 00:39:39,750 ડીબગર છે સુપર ધીમે ધીમે મને દર્શાવે 901 00:39:39,750 --> 00:39:42,640 મારી પોતાની ગતિએ, શું સ્વેપ સ્થિતિ છે. 902 00:39:42,640 --> 00:39:47,490 પરંતુ અહીં ટોચ નોટિસ પર નોટિસ કે જે વાસ્તવમાં કોલ સ્ટેક 903 00:39:47,490 --> 00:39:49,180 તે બે સ્તરો છે. 904 00:39:49,180 --> 00:39:53,240 તરીકે પ્રકાશિત છે કે હવે એક સ્વેપ, હું બદલે મુખ્ય પર ક્લિક કરો, તો 905 00:39:53,240 --> 00:39:57,100 સ્થાનિક ચલો બદલી કેવી રીતે નોટિસ વિકાસકર્તા માત્ર હોપ કરી શકો છો કારણ કે 906 00:39:57,100 --> 00:39:59,740 આસપાસ અને કોઇ અલગ અવકાશ માં જાઓ. 907 00:39:59,740 --> 00:40:04,070 અમે આ બધા કરી રહ્યા છીએ તેથી ભલે કામ કરે છે અને યોગ્ય રીતે અને બી જેઓ, 908 00:40:04,070 --> 00:40:09,080 હું સ્વેપ વચ્ચે આગળ અને આગળ જાઓ તો એક 2 અને બી 1 અને મુખ્ય છે, જ્યાં 909 00:40:09,080 --> 00:40:11,851 મુખ્ય બધા અસર થઈ છે? 910 00:40:11,851 --> 00:40:12,350 નંબર 911 00:40:12,350 --> 00:40:13,930 તેથી આ takeaway અહીં શું છે? 912 00:40:13,930 --> 00:40:18,200 વેલ, તે કોઇ પણ સમયે કે બહાર વળે તમે સ્વેપ જેમ કાર્ય કૉલ 913 00:40:18,200 --> 00:40:21,600 અને તમે તે દલીલો પસાર શું તમે સ્વેપ કાર્ય કરવા માટે પસાર કરી રહ્યાં છે 914 00:40:21,600 --> 00:40:24,730 આ કિસ્સામાં એક નકલ છે તે દલીલો. 915 00:40:24,730 --> 00:40:28,620 તેથી એક્સ અને વાય અનુક્રમે દરેક હોય તો 32 બિટ્સ, શું સ્વેપ રહ્યો છે 916 00:40:28,620 --> 00:40:30,760 બે નવા સ્થાનિક છે ચલો, અથવા દલીલો, 917 00:40:30,760 --> 00:40:34,380 કહેવાય અને b-- પરંતુ તે મનસ્વી છે names-- પરંતુ zeros પેટર્ન 918 00:40:34,380 --> 00:40:39,520 અને અંદર એ, બી અને રાશિઓ છે પાકા એક્સ અને વાય માટે સમાન હોવું 919 00:40:39,520 --> 00:40:42,610 પરંતુ તેઓ નથી છે એક્સ અને વાય તરીકે જ વસ્તુ. 920 00:40:42,610 --> 00:40:46,880 >> મુખ્ય તેના ભાગ પર છે છતાં તરીકે છે કાગળ નંબર 1 અને એક્સ અને વાય માટે 2, 921 00:40:46,880 --> 00:40:49,260 અને તે હાથ પછી જ્યારે કાગળ ભાગ સ્વેપ કરવા માટે, 922 00:40:49,260 --> 00:40:51,970 સ્વેપ ખૂબ જ ઝડપથી નહીં તેના પોતાના પેન, નીચે લખે છે 923 00:40:51,970 --> 00:40:56,240 1 અને પેપર પોતાની શીટ પર 2, હાથ મુખ્ય મૂળ XY બેક 924 00:40:56,240 --> 00:40:58,790 અને પછી તેના પોતાના નથી A અને B સાથે વાત. 925 00:40:58,790 --> 00:41:01,940 અને આ હવે કારણ કે સુપર મહત્વનું છે આ nontrivial સૂચિતાર્થ ધરાવે છે 926 00:41:01,940 --> 00:41:06,260 ખરેખર યોગ્ય કોડ લખવા માટે તે જણાય છે, કારણ કે અમે સ્વેપ કરી શકો છો 927 00:41:06,260 --> 00:41:07,500 બે ચલો. 928 00:41:07,500 --> 00:41:09,150 >> હું યોગ્ય સ્વેપ કાર્ય લખ્યું છે. 929 00:41:09,150 --> 00:41:12,770 અમે લોરેન સાથે અમલ કર્યો છે વાસ્તવમાં યોગ્ય સ્વેપ કાર્ય, 930 00:41:12,770 --> 00:41:16,700 પરંતુ તે દેખીતી રીતે કંઈ બાબતો તો તમે ખરેખર નથી કરી શકો છો 931 00:41:16,700 --> 00:41:19,530 કાયમ બે કિંમતો સ્વેપ. 932 00:41:19,530 --> 00:41:21,970 તેથી અમે બીજી રીતે જરૂર ખરેખર આ પર વિચાર કરવા માટે, 933 00:41:21,970 --> 00:41:24,472 અને અમે સમક્ષ રજુ કરવાનો પ્રયત્ન કરવાની જરૂર છે ખરેખર આ સમસ્યા ઉકેલવા માગે છે. 934 00:41:24,472 --> 00:41:27,180 અને તે out-- વળે છે અને અમે આવી પડશે પાછા આ ખાસ ચિત્ર 935 00:41:27,180 --> 00:41:30,500 long-- પહેલાં આ એક રસ્તો છે કે તમે તમારા કમ્પ્યુટરની મેમરી ડ્રો કરી શકે છે. 936 00:41:30,500 --> 00:41:31,460 તે માત્ર એક લંબચોરસ છે. 937 00:41:31,460 --> 00:41:32,960 જો તમે કોઇ તે ડ્રો કરી શકે છે માર્ગો પરંતુ તે સંખ્યા 938 00:41:32,960 --> 00:41:35,740 એક, કે ડ્રો અનુકૂળ નીચેના કારણોસર લંબચોરસ. 939 00:41:35,740 --> 00:41:40,040 >> અમે બહાર આજે શરૂ કરો અને જઈ રહ્યાં છો કહેવાતા સ્ટેક વિશે વાત. 940 00:41:40,040 --> 00:41:43,870 અને સ્ટેક માત્ર એક ભાગ છે ના મેમરી એક ભાગ RAM-- 941 00:41:43,870 --> 00:41:47,100 કાર્યો વપરાશ હોય છે કે તેઓ કહેવાય કરી રહ્યાં છો જ્યારે. 942 00:41:47,100 --> 00:41:49,800 અને તેથી તે બહાર વળે આ સ્ટેક ખૂબ તળિયે 943 00:41:49,800 --> 00:41:53,590 મુખ્ય સ્થાનિક ચલો બધા છે જ્યાં org સી અને સંસ્થા વી અને તે તમામ સામગ્રી અને 944 00:41:53,590 --> 00:41:56,950 મૂળભૂત રીતે જાઓ જવું છે. અને મુખ્ય તો , સ્વેપ જેવા કેટલાક અન્ય કાર્ય કહે છે 945 00:41:56,950 --> 00:42:00,330 વેલ, સ્વેપ અન્ય વિચાર રહ્યું છે તે ઉપર મેમરી સ્તર. 946 00:42:00,330 --> 00:42:04,490 >> અને તેથી તમે માત્ર એક ઝડપી ઉપરછલ્લું આપવા આ ચિત્ર, હું પર જાઓ તો અહીં 947 00:42:04,490 --> 00:42:09,450 અને મને પર આ અરીસો દો ઓવરહેડ ખરેખર હું શું પરિચિત હોઈ શકે, 948 00:42:09,450 --> 00:42:12,100 અમે વિશે માત્ર કાળજી જો હવે આ ચિત્ર નીચે, 949 00:42:12,100 --> 00:42:15,070 છે કે હું એક કાર્યક્રમ ચલાવો ત્યારે અને મુખ્ય કહેવાય નહીં 950 00:42:15,070 --> 00:42:18,330 મુખ્ય એક ભાગ આપવામાં આવે છે છે કે મારા કમ્પ્યુટર RAM 951 00:42:18,330 --> 00:42:20,060 આ કહેવાતા સ્ટેક તળિયે. 952 00:42:20,060 --> 00:42:22,143 અને હું તેને ડ્રો કરવા જઇ રહ્યો છું ઇરાદાપૂર્વક એક ચોરસ છે. 953 00:42:22,143 --> 00:42:24,540 તેથી તે 32 બિટ્સ અથવા ચાર બાઇટ્સ જેવી છે. 954 00:42:24,540 --> 00:42:28,790 અને આ મુખ્ય કાર્ય હોય તો 1 ની કિંમત સાથે ચલ કહેવાય એક્સ 955 00:42:28,790 --> 00:42:32,626 અને તે એક ચલ કહેવાય છે 2 ની કિંમત સાથે વાય, કે 956 00:42:32,626 --> 00:42:35,750 મેમરી આ sliver લેવા જેવી છે કે મુખ્ય ઓપરેટિંગ દ્વારા આપવામાં આવી છે 957 00:42:35,750 --> 00:42:38,850 સિસ્ટમ અને તે છે કે જેથી વિભાજન પ્રથમ સ્થાનિક ચલ, અહીં જાય છે 958 00:42:38,850 --> 00:42:40,930 બીજા એક અહીં જાય છે, અને તે છે. 959 00:42:40,930 --> 00:42:45,590 >> મુખ્ય સ્વેપ સ્વેપ કહે છે મેમરી પોતાની સ્લાઇસ નોંધાયો નહીં 960 00:42:45,590 --> 00:42:48,280 અમે આ જેમ ડ્રો કરીશું કે ઓપરેટિંગ સિસ્ટમ, 961 00:42:48,280 --> 00:42:50,820 અને તે હોય ચાલી રહ્યું છે તેના પોતાના સ્થાનિક ચલો આધારિત 962 00:42:50,820 --> 00:42:53,825 અમારી અમલીકરણ પર અગાઉ સ્થાનિક ચલો સાથે 963 00:42:53,825 --> 00:42:58,010 શરૂઆતમાં અને બી કે કિંમતો 1 અને 2 મળે છે. 964 00:42:58,010 --> 00:43:00,450 પરંતુ તે પછી, જલદી સ્વેપ કોડ છે, ચલાવે છે 965 00:43:00,450 --> 00:43:03,760 અને લોરેન ખરેખર અદલબદલ OJ અને દૂધ, શું થઈ રહ્યું છે? 966 00:43:03,760 --> 00:43:09,030 વેલ, આ 2 1, આ બની રહ્યું છે 1, જે રીતે દ્વારા, 2 બની છે, અને 967 00:43:09,030 --> 00:43:13,360 આવી રહી છે કે કામચલાઉ નોકર ચલ છે છેવટે તે સમગ્ર સમય ઉપયોગ 968 00:43:13,360 --> 00:43:14,470 દૂર જાય છે. 969 00:43:14,470 --> 00:43:16,720 પરંતુ તે તો કોઈ વાંધો નથી કેટલી કામ તમે શું 970 00:43:16,720 --> 00:43:22,160 આ વાક્ય આ મેમરી અવકાશ માં of-- માં, એક્સ અને વાય સંપૂર્ણપણે બાકાત રાખવામાં આવ્યાં છે. 971 00:43:22,160 --> 00:43:26,320 >> તેથી અમે આપવાની અમુક રીતે જરૂર તે જેમ સ્વેપ અને કાર્યો 972 00:43:26,320 --> 00:43:32,640 ગુપ્ત ઍક્સેસ, જો તમે કરશે, માટે કાર્યો એક્સ અને વાય જેવા મેમરી ગમે. 973 00:43:32,640 --> 00:43:35,110 તેથી આપણે એક નજર કરીએ મદદ કરે છે એક ઉદાહરણ 974 00:43:35,110 --> 00:43:38,220 અમને કરવામાં આવી છે બરાબર શું છે તે જોવા આ સમગ્ર સમય પર જઈ રહી છે. 975 00:43:38,220 --> 00:43:40,284 હું આગળ જાઓ જાઉં છું અને ખોલો ઝીરો સરખામણી કરો. 976 00:43:40,284 --> 00:43:42,200 અને હું બંધ કરવા જઇ રહ્યો છું અમારા ડીબગર, હું જાઉં છું 977 00:43:42,200 --> 00:43:44,360 આ ડરામણી જોઈ સંદેશ બંધ જસ્ટ, એક મિનિટ રાહ જુઓ કહે છે, 978 00:43:44,360 --> 00:43:45,800 તમે મધ્યમ ડિબગીંગ છો. 979 00:43:45,800 --> 00:43:48,383 હું અહીં આ ટેબ છુપાવવા માટે જઇ રહ્યો છું માત્ર પાછા સરળતા પર જવા માટે. 980 00:43:48,383 --> 00:43:50,160 GDB હત્યા થાય છે તો ચિંતા નથી. 981 00:43:50,160 --> 00:43:53,910 કે જે હમણાં જ કાર્યક્રમ છે કે જે થાય છે ઇરાદાપૂર્વક આ કિસ્સામાં, છોડી દેવામાં આવી, 982 00:43:53,910 --> 00:43:54,820 મારા દ્વારા. 983 00:43:54,820 --> 00:43:57,700 >> અને હવે શૂન્ય કરે સરખામણી કરો. 984 00:43:57,700 --> 00:44:00,110 હું CS50 ઉપયોગ કરું છું ધોરણ I / O લાઇબ્રેરી. 985 00:44:00,110 --> 00:44:04,319 મને લાગે છે કે પ્રથમ એક મુખ્ય કાર્ય મળી છે કહે છે, કંઈક કહે છે, અને શબ્દમાળા મળે છે. 986 00:44:04,319 --> 00:44:06,110 પછી ફરીથી અને તે કહે છે અન્ય શબ્દમાળા મળે છે. 987 00:44:06,110 --> 00:44:09,910 અને તે આ બે શબ્દમાળાઓ નોટિસ અનુક્રમે, એસ અને ટી કહેવામાં આવે છે. 988 00:44:09,910 --> 00:44:12,910 અને હવે આ કાર્યક્રમ સરખામણી કરો ઝીરો, જીવનમાં તેની હેતુ, 989 00:44:12,910 --> 00:44:15,470 તે મને કહો તેવું માનવામાં આવે છે, હું આ જ વાત લખ્યું છે? 990 00:44:15,470 --> 00:44:16,910 અને તેથી હું સપ્તાહ એક પાછા જઈ રહ્યો છું. 991 00:44:16,910 --> 00:44:19,950 હું મારા સમાન સમાન ઓપરેટર ઉપયોગ કરું છું જે ગુણવત્તા ઓપરેટર છે. 992 00:44:19,950 --> 00:44:22,220 નથી સોંપણી ઓપરેટર, સમાનતા ઓપરેટર. 993 00:44:22,220 --> 00:44:23,890 હું માત્ર S અને T સરખામણી છું. 994 00:44:23,890 --> 00:44:27,470 >> તેથી આપણે ખરેખર આગળ વધો અને આ કરવા દો. 995 00:44:27,470 --> 00:44:32,680 અને હું આગળ જાઓ જાઉં છું અને ઝીરો સરખામણી કરો. 996 00:44:32,680 --> 00:44:35,110 હું ./comparezero કરવા જઇ રહ્યો છું. 997 00:44:35,110 --> 00:44:37,150 અને હું જવા માટે જઇ રહ્યો છું આગળ અને કંઈક કહે છે 998 00:44:37,150 --> 00:44:43,450 જેમ કે, એ લોઅરકેસ મોમ કરવા દો અને કેવી રીતે મોટા મોમ વિશે. 999 00:44:43,450 --> 00:44:45,034 અને અલબત્ત હું અલગ વસ્તુઓ લખો. 1000 00:44:45,034 --> 00:44:45,533 બધા અધિકાર. 1001 00:44:45,533 --> 00:44:46,570 તે ધારણા કરી શકાય છે. 1002 00:44:46,570 --> 00:44:47,640 >> તેને ફરીથી ચલાવો. 1003 00:44:47,640 --> 00:44:49,740 બન્ને સમયે, લોઅરકેસ લોઅરકેસ નથી. 1004 00:44:49,740 --> 00:44:51,490 કે મને સુપર સમાન દેખાય છે. 1005 00:44:51,490 --> 00:44:52,930 દાખલ કરો. 1006 00:44:52,930 --> 00:44:53,430 ઠીક છે. 1007 00:44:53,430 --> 00:44:55,804 કદાચ કારણ કે તે માત્ર વિચિત્ર છે તે મારા વ્યાકરણ પસંદગીમાં નથી. 1008 00:44:55,804 --> 00:44:59,930 તેથી આપણે એક મૂડી MOM કરવા દો, કેપિટલ MOM સમાન. 1009 00:44:59,930 --> 00:45:01,490 વિવિધ વસ્તુઓ. 1010 00:45:01,490 --> 00:45:03,907 >> તેથી શા માટે છે? 1011 00:45:03,907 --> 00:45:06,240 ઠીક છે, ખરેખર શું ચાલી રહ્યું છે અહીં હૂડ નીચે? 1012 00:45:06,240 --> 00:45:08,180 તેથી પાછા જઈએ અહીં માત્ર એક ક્ષણ માટે 1013 00:45:08,180 --> 00:45:10,910 અને શું ધ્યાનમાં GetString ખરેખર કરવાનું છે. 1014 00:45:10,910 --> 00:45:13,385 તમે GetString કૉલ કરો ત્યારે, એક કાર્ય છે કે અમે છે 1015 00:45:13,385 --> 00:45:16,510 જાતને લખ્યું હતું અને તેણે અચાનક એક નહીં વપરાશકર્તા માંથી અક્ષરો ક્રમ. 1016 00:45:16,510 --> 00:45:20,280 અને ચાલો પ્રથમ ધારે છે કે દો સમય હું GetString કૉલ, કે મને આપે છે 1017 00:45:20,280 --> 00:45:21,930 મેમરી એક ભાગ છે કે આ જેવો દેખાય છે. 1018 00:45:21,930 --> 00:45:26,990 અને હું બધા લોઅરકેસ માં ટાઇપ તો એમ ઓ-m-- અને શું તે પછી જાય છે? 1019 00:45:26,990 --> 00:45:28,840 માત્ર એક ઝડપી સેનીટી તપાસો. 1020 00:45:28,840 --> 00:45:29,780 >> બેકસ્લેશ શૂન્ય. 1021 00:45:29,780 --> 00:45:30,510 અમે કે ખબર. 1022 00:45:30,510 --> 00:45:32,784 અને અમે ભજવી યાદ આસપાસ Zamila નામ સાથે 1023 00:45:32,784 --> 00:45:34,950 અને અન્ય નામો એક ટોળું જ્યારે રોબ અહીં જોઈ હતી 1024 00:45:34,950 --> 00:45:36,280 મેમરી ની અંદર શું ચાલી રહ્યું છે છે. 1025 00:45:36,280 --> 00:45:37,780 તેથી કે વાર્તા બરાબર જ છે. 1026 00:45:37,780 --> 00:45:40,160 આ શું છે GetString મને પરત આવે છે. 1027 00:45:40,160 --> 00:45:44,780 હવે, મારી કોડ એક ક્ષણ પહેલા સંગ્રહિત GetString પરત કિંમત 1028 00:45:44,780 --> 00:45:47,510 એક ચલ ઓ કહેવાય છે. 1029 00:45:47,510 --> 00:45:51,390 અને પછી બીજી વખત હું તેને કહેવાય છે, તે એક ચલ કહેવાય ટી તે સંગ્રહિત. 1030 00:45:51,390 --> 00:45:55,070 >> હું ઉપર અહીં જાઓ, તો હું જરૂર આ સ્થાનિક ચલ ડ્રો 1031 00:45:55,070 --> 00:45:59,610 અને હું સામાન્ય રીતે કરવા જઇ રહ્યો છું just-- અમે પડશે તરીકે શબ્દમાળા ડ્રો 1032 00:45:59,610 --> 00:46:02,360 અહીં થોડી સ્ક્વેર, કે s-- કૉલ કરો. 1033 00:46:02,360 --> 00:46:09,760 મોમ કરે છે અને કેવી રીતે હવે, somehow-- આ ચલ ની અંદર જાઓ? 1034 00:46:09,760 --> 00:46:12,010 વેલ, અમે પાછા જવાની જરૂર અહીં પ્રથમ સિદ્ધાંત છે. 1035 00:46:12,010 --> 00:46:15,660 GetString ખરેખર શું પરત આવે છે? 1036 00:46:15,660 --> 00:46:19,030 >> તેથી તે એમ ઓ એમ બહાર વળે બેકસ્લેશ શૂન્ય છે, અને કોઈપણ નંબર 1037 00:46:19,030 --> 00:46:22,364 જેવા મેમરી અન્ય શબ્દમાળાઓ Zamila અને રોબ અથવા એન્ડી અથવા કોઈપણ અન્ય 1038 00:46:22,364 --> 00:46:24,280 અલબત્ત અમારા કમ્પ્યુટરની રેમ અથવા મેમરી. 1039 00:46:24,280 --> 00:46:27,760 અને તમારી RAM તમારી પાસે જેવા છે RAM ની એક જહાજની નાની હોડી, RAM ની બે શોના, 1040 00:46:27,760 --> 00:46:30,860 અથવા એક અબજ અથવા બે અબજ બાઇટ્સ, અથવા કદાચ પણ વધુ આ દિવસોમાં. 1041 00:46:30,860 --> 00:46:34,070 તેથી આપણે આજે હેતુઓ માટે, ચાલો ધારે, તે અમે નંબર કેવી રીતે વાંધો નથી કે 1042 00:46:34,070 --> 00:46:36,640 તેમને, પરંતુ અમે દરેક નંબર કરી શકો છો તે અબજ ડોલર અથવા બે અબજ 1043 00:46:36,640 --> 00:46:37,880 અથવા ચાર અબજ બાઇટ્સ. 1044 00:46:37,880 --> 00:46:42,240 >> અને આપણે માત્ર આપખુદ કહે છે કે દો આ પ્રથમ ડંખ, બીજા ડંખ છે, 1045 00:46:42,240 --> 00:46:43,380 ત્રીજા, ચોથા. 1046 00:46:43,380 --> 00:46:46,570 હું ઇરાદાપૂર્વક માટે શૂન્ય ઉપયોગ કરું છું આજે પણ અમે પાછા કે આવવું પડશે. 1047 00:46:46,570 --> 00:46:49,570 તેથી અન્ય શબ્દોમાં આ છે, તો ખૂબ જ પ્રથમ વખત હું આ કાર્યક્રમ ઉપયોગ કરું છું 1048 00:46:49,570 --> 00:46:52,715 હું માત્ર નસીબદાર અને પ્રથમ મેળવવામાં છું ડંખ પછી સ્થાન એક જ સમયે બે છે 1049 00:46:52,715 --> 00:46:53,590 પછી ત્રણ ચાર કરતાં. 1050 00:46:53,590 --> 00:46:57,430 અને હું ચિત્રકામ રાખવામાં આવે છે, બોક્સ નંબર બે અબજ રીતે અહીં હશે. 1051 00:46:57,430 --> 00:47:02,200 >> તેથી પછી તમે શું વિચારો છો, GetString ખરેખર આપે છે? 1052 00:47:02,200 --> 00:47:06,010 તે એમ ઓ એમ બેકસ્લેશ પરત નથી શૂન્ય સે દીઠ સ્પષ્ટ છે કે કારણ કે 1053 00:47:06,010 --> 00:47:08,180 હું દોરવામાં કર્યું છે કે બોક્સ નથી ફિટ થશે. 1054 00:47:08,180 --> 00:47:11,210 તેથી વાસ્તવમાં બીજું શું GetString શકે આ બધા અઠવાડિયા પરત શકાય? 1055 00:47:11,210 --> 00:47:14,410 1056 00:47:14,410 --> 00:47:16,820 જવાબ પર છે બોર્ડ અહીં ક્યાંક. 1057 00:47:16,820 --> 00:47:20,390 તમે એમ ઓ એમ બેકસ્લેશ શૂન્ય નથી ફિટ કરી શકો છો તેથી શું તેના બદલે અર્થમાં બનાવવા શકે છે? 1058 00:47:20,390 --> 00:47:23,424 તમે મૂકે છે, સુપર હોંશિયાર હોય હોય તો કહેવાતા એન્જિનિયરિંગ ટોપી પર, 1059 00:47:23,424 --> 00:47:24,340 તમે શું પરત કરી શકે છે? 1060 00:47:24,340 --> 00:47:27,340 કઈ માહિતી ના ઓછામાં ઓછા જથ્થો છે જો તમે હજુ પણ કરશે પરત કરી શકે છે 1061 00:47:27,340 --> 00:47:30,610 તમે મેમરી એમ-ઓ-મીટર શોધવા દો? 1062 00:47:30,610 --> 00:47:31,270 અરે વાહ? 1063 00:47:31,270 --> 00:47:31,950 >> પ્રેક્ષક: એક. 1064 00:47:31,950 --> 00:47:32,200 >> ડેવિડ જે MALAN: એક. 1065 00:47:32,200 --> 00:47:33,021 અને શા માટે છે? 1066 00:47:33,021 --> 00:47:35,520 પ્રેક્ષક: તે કહી શકે છે, કારણ કે તમે જ્યાં [અશ્રાવ્ય] જાઓ. 1067 00:47:35,520 --> 00:47:38,391 1068 00:47:38,391 --> 00:47:39,390 ડેવિડ જે MALAN: ચોક્કસ. 1069 00:47:39,390 --> 00:47:44,300 હું માત્ર સરનામા પરત જાઉં છું હું મેળવેલ છે કે શબ્દમાળા. 1070 00:47:44,300 --> 00:47:46,570 આ સરનામું કેસ સ્થાન છે. 1071 00:47:46,570 --> 00:47:51,280 તેથી શું ખરેખર s-- સંગ્રહિત કરવામાં આવી રહી છે અને દરેક શબ્દમાળા ચલ આમ અત્યાર સુધી લગભગ 1072 00:47:51,280 --> 00:47:53,430 માત્ર રહી છે કે જેઓ શબ્દમાળા સરનામું. 1073 00:47:53,430 --> 00:47:57,840 >> દરમિયાન, હું કહી તો બીજી વખત અને હું તેને GetString 1074 00:47:57,840 --> 00:48:03,300 શાબ્દિક જ વસ્તુ લખો Lowercase-- એમ ઓ એમ સાથે એમ-ઓ-એમ 1075 00:48:03,300 --> 00:48:06,200 અને અન્ય બેકસ્લેશ શૂન્ય, અને હવે કદાચ મારા કાર્યક્રમ 1076 00:48:06,200 --> 00:48:09,820 કેટલાક સમય માટે, જેથી કદાચ આ ચાલી આવી 10 છે, આ, આ 12 છે, સ્થાન 11 1077 00:48:09,820 --> 00:48:10,700 આ 13 છે. 1078 00:48:10,700 --> 00:48:13,590 કેટલાક અન્ય મદદથી એન્જીનિયરિંગ કારણ ગમે તે માટે મેમરી ઓનલાઇન. 1079 00:48:13,590 --> 00:48:18,172 શું હવે મારા બીજા જાય મારા કાર્યક્રમ ટી ચલ? 1080 00:48:18,172 --> 00:48:19,390 10. 1081 00:48:19,390 --> 00:48:20,050 ચોક્કસ. 1082 00:48:20,050 --> 00:48:23,910 >> અને તેથી અમે જોવા જ્યારે આ કાર્યક્રમ સ્રોત કોડ 1083 00:48:23,910 --> 00:48:26,550 જ્યાં હું ફક્ત પ્રયાસ કરી રહ્યો છું આ બે કિંમતો સરખામણી કરવા માટે, 1084 00:48:26,550 --> 00:48:32,180 છે ટી માટે સમાન સમાન છે, શું છે સ્પષ્ટ માનવ જવાબ? 1085 00:48:32,180 --> 00:48:34,890 1 થી 10 સમાન નથી માત્ર કોઈ છે. 1086 00:48:34,890 --> 00:48:36,861 અને તેથી અહીં એક આવેલું અમારા માટે તક ખરેખર 1087 00:48:36,861 --> 00:48:39,610 માત્ર પ્રથમ, ફરી, પર જવા માટે સિદ્ધાંતો અને સાથે સાથે, વિશે વિચારો, 1088 00:48:39,610 --> 00:48:41,110 શું હૂડ નીચે ચાલી રહ્યું છે? 1089 00:48:41,110 --> 00:48:43,240 અમે વિશે વાત કરી રહ્યો છું બિટ્સ અને બાઇટ્સ અને મેમરી 1090 00:48:43,240 --> 00:48:46,820 પરંતુ તે સમજવા માટે ખરેખર ઉપયોગી છે તમે GetString કૉલ કારણ કે જ્યારે, 1091 00:48:46,820 --> 00:48:50,280 અમે વિચાર છે, તેમ છતાં તે એમ-ઓ-મીટર કે શબ્દમાળા મોમ પરત 1092 00:48:50,280 --> 00:48:53,120 અથવા એન્ડી અથવા Zamila અથવા જેમ, તકનીકી 1093 00:48:53,120 --> 00:48:55,510 તે માત્ર પરત સરનામું મેમરી કે ચંકને. 1094 00:48:55,510 --> 00:48:56,910 >> પરંતુ તે બરાબર છે. 1095 00:48:56,910 --> 00:49:00,570 હું કેવી રીતે ખબર નથી કારણ કે શબ્દમાળા જ્યાં અંત થાય છે? 1096 00:49:00,570 --> 00:49:03,840 હું માત્ર શરૂઆત આપવામાં છું? 1097 00:49:03,840 --> 00:49:05,380 વેલ, આ બેકસ્લેશ શૂન્ય, અધિકાર? 1098 00:49:05,380 --> 00:49:08,800 માત્ર હું આ કરી શકો છો રેખીય સમય પ્રિન્ટ ડેફ એમ ઓ એમ સાથે છાપશે. 1099 00:49:08,800 --> 00:49:11,820 અને જલદી હું બેકસ્લેશ જુઓ હું શરૂ જ્યાં શૂન્ય, હું પડી નથી 1100 00:49:11,820 --> 00:49:14,950 હું પહેલેથી જ સર્વથા ખબર જ્યાં હું સમાપ્ત કરવાની જરૂર છે. 1101 00:49:14,950 --> 00:49:18,700 >> અને તેથી આજે શરૂઆત ચિહ્નિત કરે છે અને મને અમે કારણ કે નાટકીય આ કરવા દો 1102 00:49:18,700 --> 00:49:21,800 મુશ્કેલી ઘણો પસાર થયું હતું આ અહીં wheels-- તાલીમ મેળવી 1103 00:49:21,800 --> 00:49:29,840 તેથી આજે તાલીમ વ્હીલ્સ શરૂ બોલ આવે છે અને અમે ઘટસ્ફોટ least-- 1104 00:49:29,840 --> 00:49:31,373 >> [વધાવી] 1105 00:49:31,373 --> 00:49:33,220 1106 00:49:33,220 --> 00:49:36,160 >> તે સફર વર્થ સારી હતી હા, આ સવારે લક્ષ્ય માટે? 1107 00:49:36,160 --> 00:49:39,600 તેથી now-- છે, તે કરે છે બહાર, શબ્દમાળા તરીકે આવી કોઈ વસ્તુ છે. 1108 00:49:39,600 --> 00:49:41,140 શબ્દમાળા અસ્તિત્વમાં નથી. 1109 00:49:41,140 --> 00:49:43,760 તે અમે કર્યું છે કે પર્યાય છે CS50 પુસ્તકાલય ની અંદર. 1110 00:49:43,760 --> 00:49:48,660 અત્યારથી, અમે ફોન શરૂ જઈ રહ્યાં છો ઓ અને ટી નથી શબ્દમાળાઓ પરંતુ ઘરનાં પરચૂરણ કામો તારાઓ. 1111 00:49:48,660 --> 00:49:51,180 ઘરનાં પરચૂરણ કામો સ્ટાર અને અમે પડશે પહેલાં લાંબા સિવાય પીંજવું. 1112 00:49:51,180 --> 00:49:53,510 પરંતુ આ કહે છે, અમે ચાલુ હોય તો પણ તે 1113 00:49:53,510 --> 00:49:56,180 હવે GetString ઉપયોગ કરીને, તકનીકી હું જોઈએ 1114 00:49:56,180 --> 00:49:59,010 ચાર રચે સ્ટાર અને કોલસો બનાવો સ્ટાર કહેતા હોય છે. 1115 00:49:59,010 --> 00:50:01,720 >> અને તે શું છે કે સ્ટાર બહાર વળે દર્શાવવા રહ્યું છે કંઈક છે 1116 00:50:01,720 --> 00:50:04,340 એક નિર્દેશક કે એક સરનામું કહેવાય છે. 1117 00:50:04,340 --> 00:50:06,110 અને હકીકતમાં, એક સતામણી માટે શું આગળ આવેલું છે 1118 00:50:06,110 --> 00:50:09,760 આ 20 સેકન્ડ ક્લિપ છે અમારા સ્ટેનફોર્ડ ખાતે મિત્ર નિક Parlante 1119 00:50:09,760 --> 00:50:12,927 જે તદ્દન થોડા સમય પહેલાં પસાર સમય એક હાસ્યાસ્પદ જથ્થો 1120 00:50:12,927 --> 00:50:15,010 શ્રેષ્ઠ તરીકે હું કહી શકે છે તેના રસોડું અથવા તેના ભોંયરામાં, 1121 00:50:15,010 --> 00:50:17,140 ક્લેમેશન બનાવે વિશ્વમાં રજૂઆત 1122 00:50:17,140 --> 00:50:20,010 નામના પાત્રનો Binky જેની સાથે અમે 1123 00:50:20,010 --> 00:50:22,010 પોઇન્ટર માટે આગામી સમય રજૂ કરી શકે છે. 1124 00:50:22,010 --> 00:50:24,588 તેથી અહીં આવે છે તે એક પૂર્વદર્શન છે. 1125 00:50:24,588 --> 00:50:26,370 >> [વિડિઓ પ્લેબેક] 1126 00:50:26,370 --> 00:50:27,510 >> -Hey, Binky ઓનલાઇન. 1127 00:50:27,510 --> 00:50:28,260 અપ વેક. 1128 00:50:28,260 --> 00:50:30,672 તે નિર્દેશક આનંદ માટે સમય છે. 1129 00:50:30,672 --> 00:50:31,616 >> -તે શું છે? 1130 00:50:31,616 --> 00:50:33,032 પોઇન્ટર વિશે જાણો! 1131 00:50:33,032 --> 00:50:34,450 ઓહ, ગુડી. 1132 00:50:34,450 --> 00:50:35,431 >> [સમાપ્ત પ્લેબેક] 1133 00:50:35,431 --> 00:50:38,055 ડેવિડ જે MALAN: અને નોંધ કરો કે, અમે બુધવારે તમે જોશો. 1134 00:50:38,055 --> 00:50:47,590 1135 00:50:47,590 --> 00:50:48,090 બધા અધિકાર. 1136 00:50:48,090 --> 00:50:48,740 નૃત્ય કોણ છે? 1137 00:50:48,740 --> 00:50:49,240 ચલ. 1138 00:50:49,240 --> 00:50:50,330 નૃત્ય કોણ છે? 1139 00:50:50,330 --> 00:50:51,820 તમે મને તે પ્રારંભ કરવા માંગો છો? 1140 00:50:51,820 --> 00:50:53,770 હું તે શરૂ મળશે. 1141 00:50:53,770 --> 00:50:54,270 Woooo! 1142 00:50:54,270 --> 00:51:04,070 1143 00:51:04,070 --> 00:51:07,580 >> લોરેન: સ્વીટ ફેન્સી મૂસાએ.