ડેવિડ જે MALAN: આ CS50 છે અને આ અઠવાડિયે ચાર શરૂઆત છે. અને, છોકરો, ફોક્સવાગન છે કારણ કે બધા સોફ્ટવેર મુશ્કેલી. અમને એક નજર કરીએ. [વિડિઓ પ્લેબેક] -Cars, હોંશિયાર અક્ષરો ફાસ્ટ અને ફયુરિયસ ફિલ્મોમાં. આ અઠવાડિયે જર્મન ઓટોમેકર ફોક્સવેગન પોતે મળે એક કૌભાંડ મધ્યમાં સંભવિત ગુનેગાર પ્રમાણ. -Volkswagen અબજો માટે સ્વાસ્થ્યવર્ધક છે દંડ, શક્ય ફોજદારી ખર્ચ તેના અધિકારીઓ માટે, કંપની માફી 11 મિલિયન કાર ઉથલપાથલ માટે તે ઉત્સર્જન પરીક્ષણો હરાવ્યું મદદ કરે છે. -Certain ડીઝલ મોડેલો હતા આધુનિક સોફ્ટવેર સાથે રચાયેલ કે સહિત વપરાયેલી માહિતી સ્ટીયરિંગ અને વાહન સ્થિતિ આ કાર હતી તે નક્કી કરવા માટે ઝડપ ઉત્સર્જન પરીક્ષણ પસાર. કે સંજોગોમાં હેઠળ, એન્જિન ઝેરી ઉત્સર્જન ઘટાડો કરશે. પરંતુ કાર બાયપાસ સજ્જ કરવામાં આવી હતી તે ચલાવી રહ્યો હતો ત્યારે. ઉત્સર્જન 40 10 વધારો સ્વીકાર્ય ઈપીએ સ્તર ઉપર વખત. [સમાપ્ત પ્લેબેક] ડેવિડ જે MALAN: તેથી ચાલો આ પર એક નજર અને બરાબર કેવી રીતે આ જુઓ અમલ કરી શકે છે અને આ અસર થઇ શકે છે કેવી રીતે આ જેમ ઘણા કાર. તેથી મારા હાથમાં અહીં દબાવો કે EPA-- દ્વારા જારી કરવામાં આવી હતી પ્રકાશિત પર્યાવરણીય પ્રોટેક્શન એજન્સી કે જે યુએસ રેગ્યુલેટરી એજન્સી છે કે પર્યાવરણીય ચિંતા સંભાળે, અને પછી વાસ્તવિક હતું કે કાનૂની નોટિસ માત્ર થોડા દિવસ પહેલા ફોક્સવેગન માટે મોકલો. તેથી ઈપીએ લખે છે, અને હવે discloses જાહેરમાં એક વ્યવહારદક્ષ સોફ્ટવેર ચોક્કસ પર અલ્ગોરિધમનો ફોક્સવેગન વાહનો શોધે જ્યારે કાર હેઠળ છે સત્તાવાર ઉત્સર્જન પરીક્ષણ અને સંપૂર્ણ ઉત્સર્જન કરે છે માત્ર ટેસ્ટ દરમિયાન નિયંત્રિત કરે છે. અસરકારકતા આ વાહનો પ્રદૂષણ ઉત્સર્જન નિયંત્રણ ઉપકરણો મોટા પ્રમાણમાં છે બધા સામાન્ય ડ્રાઇવિંગ દરમિયાન ઘટાડો પરિસ્થિતિઓમાં. આ પૂરી કે કાર પરિણમે પ્રયોગશાળામાં અથવા પરીક્ષણ ધોરણો સ્ટેશન છે, પરંતુ સામાન્ય ઓપરેશન દરમિયાન નાઇટ્રોજન oxides-- અથવા NOx-- સ્રાવ બહાર કાઢે છે પર 40 વખત પ્રમાણભૂત. ફોક્સવેગન દ્વારા ઉત્પાદિત સોફ્ટવેર એક ભાવ અવતરણ ચિહ્નો પૂરાં કરવાં, હાર ઉપકરણ છે, સંકેત શુધ્ધ દ્વારા વ્યાખ્યાયિત આ યુ માં હવા ધારો. તેઓ માને છે કે કહે પર જાઓ ઈપીએ અને અન્ય એજન્સી હાર ઉપકરણ મળી આવ્યો સ્વતંત્ર વિશ્લેષણ પછી સોફ્ટવેર વેસ્ટ ખાતે સંશોધકો દ્વારા વર્જિનિયા યુનિવર્સિટી. NOx પ્રદૂષણ માટે ફાળો આપે છે નાઇટ્રોજન ડાયોક્સાઇડ, જમીન સ્તરે ઓઝોન અને ઝીણી રજ. આ માટે એક્સપોઝર પ્રદુષકો જોડવામાં આવ્યા છે એક વિશાળ શ્રેણી સાથે ગંભીર આરોગ્ય પર અસરો, વધારો અસ્થમા સહિત હુમલા અને અન્ય શ્વસન પૂરતી ગંભીર હોઇ શકે છે, બીમારીઓ હોસ્પિટલ લોકોને મોકલવા માટે. ઓઝોન સંસર્ગ અને રજકણીય પદાર્થો પણ છે અકાળ સાથે સંકળાયેલું સંબંધિત શ્વસન કારણે મૃત્યુ અથવા રક્તવાહિની અસરો સંબંધિત. બાળકો, વડીલો, સાથે લોકો પહેલેથી અસ્તિત્વમાં રહેલી શ્વસન રોગ ખાસ કરીને માટે જોખમ છે આ પ્રદુષકો આરોગ્ય અસરો. પૂરતો તે તદ્દન ગંભીર છે, કહે છે. અને ચાલો વાંચવા માટે પર જાઓ માત્ર એક વધુ ટૂંકસાર અને પછી અમે પર એક નજર પડશે અંતર્ગત અસરો એક કાર સંદર્ભમાં આ. ખાસ કરીને, ફોક્સવેગન ઉત્પાદન અને સ્થાપિત કહેવાતા સોફ્ટવેર ઇલેક્ટ્રોનિક કન્ટ્રોલ module-- અથવા ECM-- ના અણસાર છે કે આ વાહનો વાહન માટે પરીક્ષણ કરવામાં આવી હતી જ્યારે ઈપીએ ઉત્સર્જન માપદંડો સાથે પાલન. આ સહિત વિવિધ ઇનપુટ્સ પર આધારિત છે સ્ટીયરિંગ વ્હિલ સ્થિતિ, વાહન ઝડપ, એન્જિન સમયગાળો કામગીરી, અને બેરોમેટ્રિક દબાણ, આ ઇનપુટ્સ ચોક્કસપણે પરિમાણો ટ્રેક માટે ઉપયોગ ફેડરલ ટેસ્ટ પ્રક્રિયા ઈપીએ પ્રમાણપત્ર માટે ઉત્સર્જન પરીક્ષણ હેતુઓ. ઈપીએ ઉત્સર્જન પરીક્ષણ દરમિયાન, વાહનો ECM સોફ્ટવેર ઉત્પાદન જે સોફ્ટવેર ચાલી સુસંગત ઉત્સર્જન પરિણામો. અન્ય તમામ સમયે, વાહન ECM સોફ્ટવેર એક અલગ માર્ગ ચાલી હતી ઘટાડો જે કૅલિબ્રેશન આ અસરકારકતા એકંદર ઉત્સર્જન કંટ્રોલ સિસ્ટમ, ખાસ પસંદગીના ઉદ્દીપક દુર્બળ NOx ઘટાડો trap-- જે અમે એક ક્ષણ વિશે જોશો. NOx પરિણામે ઉત્સર્જન 10 થી 40 વખત એક પરિબળ દ્વારા વધારો ઈપીએ સુસંગત સ્તર ઉપર ડ્રાઈવ ચક્ર પ્રકાર પર આધાર રાખીને. આ ખરેખર અર્થ એ થાય, અને તેથી શું સોફ્ટવેર ચાલી સ્રોત કોડ ફોક્સવેગન પર નથી હજુ સુધી જાહેરમાં જાહેર કરવામાં આવી કે અસરકારક, આ છે સમકક્ષ અંદર ક્યાંક છે ફોક્સવાગનની કોડ. જો તમે ચકાસાયેલ છે, અને આવી રહી છે કાર, તો ચોક્કસ પર્યાવરણીય પરિબળો શોધે સ્ટીયરિંગ વ્હીલ જેવા સ્થિતિ અથવા ચળવળ અથવા અભાવ કાર અથવા તેના અન્ય પરિબળો કોઈપણ નંબર કે હાલમાં ધારણા છે આ સૂત્ર ભાગ હોઇ શકે છે, તેઓ ફક્ત ચાલુ સંપૂર્ણ ઉત્સર્જન નિયંત્રણ કરે છે. અન્ય શબ્દોમાં, તેઓ શરૂ પ્રદુષકો ઓછી સ્ત્રાવ. બાકી, દરેક અન્ય પરિસ્થિતિમાં તે તરીકે શોધી નથી ત્યારે લેબોરેટરીમાં, તેઓ માત્ર નથી. અને તેથી તમે વધુ આ સરળ કરી શકો છો કંઈક સાથે કોંક્રિટ સ્યુડોકોડનો આના જેવું. વ્હીલ્સ દેવાનો પરંતુ આ હો તો સ્ટીઅરિંગ વ્હીલ, સૂચક નથી કાર કેટલાક પર છે કે ફરતી સિલિન્ડર કાઇન્ડ પરંતુ અમુક પ્રકારની વેરહાઉસ પરીક્ષણ કરવામાં, પછી તરીકે વર્તે ઈપીએ તમે કરવા માંગો છો. નહિંતર નથી. તેથી આપણે એક નજર કરીએ એક ટૂંકી વિડિયો ખાતે શું અસરો પર એક નજર લે ખરેખર યાંત્રિક આ છે. [વિડિઓ પ્લેબેક] શુક્રવારે -Last ઈપીએ જાહેરાત કરી હતી કે કેટલાક ફોક્સવેગન ઓડી કાર 2009 વચ્ચે કરવામાં અને આ વર્ષે ઉપયોગ કરતા હતા કહેવાતા હાર ઉપકરણ ઉત્સર્જન નિયમો આસપાસ વિચાર સ્વચ્છ હવા રાખવા માટે રચાયેલ છે. પરંતુ તે બરાબર શું અર્થ છે? વેલ, આધુનિક કાર ડઝનેક છે તેમને અંદર કમ્પ્યુટર્સ. અને તે કમ્પ્યુટર્સ કેટલાક કાર્યો સંકલન મદદ ઈષ્ટતમ માટે એન્જિન કામગીરી ખાતરી કરતી વખતે ખૂબ કચરો નથી કે એક્ઝોસ્ટ પાઇપ બહાર આવતા. તેઓ ખરેખર કામ કર્યું છે હવે કેટલાક દાયકાઓ સુધી આ રીતે. મૂળભૂત રીતે, દરેક ભાગ આધુનિક કાર એન્જિન એક સેન્સર અથવા નિયંત્રક છે તે છે, અને આ કમ્પ્યુટર્સ પર માહિતી હજારો વાંચી રહ્યા બીજા નિર્માણ ગોઠવણો દીઠ વખત હવામાં બળતણ ગુણોત્તર જેવા કે સિલિન્ડરમાં માં ચાલી રહ્યું છે. આ છેતરપિંડી ફોક્સવેગન અને ઓડી મોડેલો ડીઝલ છે, અને ડીઝલ વધારે હોય છે ખરેખર મહત્વનું કમ્પ્યુટર છે, જે નિયંત્રિત પરિમાણો, જતા unburned બળતણ જથ્થો એક્ઝોસ્ટ માં. હવે ખરાબ લાગે છે. તમે કરવા માંગો છો શકે છે જેવા ધ્વનિ નથી એક્ઝોસ્ટ જવા unburned બળતણ. પરંતુ કિસ્સામાં ડીઝલ, તમે કંઈક છે એક ઉપકરણ છે કે જે NOx ટ્રેપ કહેવાય છે કે શોષણ કરે છે અને નાઇટ્રોજન ઓક્સાઇડ માટે ફાંસો પ્રદૂષકો કે કરશે છે કે અન્યથા વાતાવરણમાં માં જાઓ. અને તે NOx ટ્રેપ અસર unburned બળતણ સાથે વધારેલ છે. તેથી હાર ઉપકરણ એક ખાસ કાર્યક્રમ છે આ એન્જીનિયરિંગ અંદર કે તે કરી શકો છો કાર ઉત્સર્જન મળે જેમ દેખાય છે ધોરણો તે નથી ત્યારે પણ. ફોક્સવેગન તેના હાથ પર સમસ્યા હતી. તેના ડીઝલ એન્જિન જાણીતા હતા મહાન બળતણ અર્થતંત્ર મેળવવા માટે, પરંતુ NOx ટ્રેપ માત્ર સારી રીતે કામ કરે વધુ ઇંધણ ઉપયોગ કરવામાં આવે છે ત્યારે. જેથી કાર શોધી કરશે આ હાર ઉપકરણ વાપરી રહ્યા હોય, તે ઉત્સર્જન મેળવવામાં આવી હતી જ્યારે ટેસ્ટ, તે વધુ બળતણ ઉપયોગ કરશે, સારી રીતે NOx ટ્રેપ કામ કરે છે, ઉત્સર્જન દંડ હશે. પરંતુ પછી તમે રસ્તા પર ઉપકરણ વિચાર બંધ કરે છે, તમે ઓછી ઇંધણ બર્નિંગ કરી રહ્યાં છો પરંતુ તમે તેટલી 40 વખત આપી રહ્યા છીએ વાતાવરણમાં વધુ પ્રદુષકો. પરંતુ હેક કેવી રીતે કર્યું કાર તે ખબર છે કે ઉત્સર્જન પાલન માટે પરીક્ષણ કરવામાં આવી રહી? આ ઈપીએ તે એક વ્યવહારદક્ષ હતી કહે છે વસ્તુઓ ચકાસાયેલ છે કે જે સિસ્ટમ સ્ટિયરીંગ વ્હીલ સ્થિતિ જેમ, ઝડપ, એન્જિન પર હતી કેવી રીતે લાંબા, અને તે પણ વાતાવરણીય દબાણ. બીજા શબ્દોમાં કહીએ તો, ત્યાં હતો કોઈ રીતે આ આકસ્મિક હતી સોફ્ટવેર હતો કારણ કે શોધવા માટે ખૂબ જ કાળજીપૂર્વક તૈયાર એક અધિકારીએ પ્રદૂષણ પરીક્ષણ. તે કેટલાક ખૂબ ગંભીર છે છેતરપિંડી અને તે શા માટે ફોક્સવેગન છે આવા ગંભીર મુશ્કેલી. હકીકતમાં, તેમના સીઇઓ માર્ટિન Winterkorn, માત્ર નીચે ઊતર્યા. તેથી શું થાય છે? સાથે સાથે તમે અડધા મિલિયન એક છો, તો ડીઝલ જેટટાસ, બીટલ્સ, Golfs, Passats, અથવા ઓડી A3s, અસર આ સારા સમાચાર છે કે જે તમારી કાર હજુ પણ વાહન સુરક્ષિત છે. તમે તેને દૂર મૂકી કરવાની જરૂર નથી ફોક્સવેગન એક રિકોલ મુદ્દાઓ ત્યાં સુધી. પરંતુ કેટલાક સમયે તેઓ છો કદાચ હોય જાઉં તમારી કાર અંદર સોફ્ટવેર અપડેટ કરવા માટે. જ્યારે આવું થાય છે તમે કદાચ ટેન્ક દીઠ ઓછા માઇલ મળે છે. વકીલો પહેલાથી જ રહી છે વર્ગ ક્રિયા મુકદ્દમા માટે તેથી માલિકો સરભર મળી શકે ભવિષ્યમાં અમુક બિંદુએ. પરંતુ તે નથી ચાલી રહ્યું છે કોઈપણ ટૂંક સમય થાય છે. [સમાપ્ત પ્લેબેક] ડેવિડ જે MALAN: તેથી આ ખરેખર વધારે એક રસપ્રદ મોટા ચિત્ર પ્રશ્ન તરીકે વિશ્વાસ. અધિકાર? અમને બધા iPhones અથવા Androids હોય અથવા અમારા ખિસ્સા માં કંઈક મોટા ભાગે આ દિવસોમાં, અથવા લેપટોપ છે કે અમારા વાર પર કરવામાં ચાલતા સોફ્ટવેર એપલ અને માઈક્રોસોફ્ટ દ્વારા અન્ય કંપનીઓ અને જુમખું. પરંતુ કેવી રીતે અમે તે શું ખબર નથી આ સોફ્ટવેર ઉત્પાદનો કરી રહ્યા છે શું આ ખરેખર છે કંપનીઓ તેઓ શું કરી રહ્યા છે? હમણાં પૂરતું, જે છે કહે છે કે દર વખતે તમે તમારા આઇફોન પર એક ફોન કૉલ કરો અથવા Android ફોન અથવા જેમ, ફોન નંબર પણ નથી કે કેટલાક કંપનીના સર્વર પર અપલોડ કરવામાં આવી રહી અમુક કાર્યક્રમ તમે કર્યું કારણ કે તે ઓપરેટિંગ છે, શું લખવામાં iOS અથવા Android જેવા સિસ્ટમ પોતે, અથવા તમે ડાઉનલોડ છે કારણ કે કેટલાક તૃતીય પક્ષ એપ્લિકેશન કોઈક સાંભળી છે કે બધું તમે ટાઇપ કરી રહ્યા છો અથવા બધું તમે ખરેખર કહી રહ્યાં છે. તમે જાણો છો કે કેવી રીતે, જ્યારે તમે ગાય્ઝ રણકાર ચાલી રહ્યું છે અથવા કમ્પાઇલ ખાતરી કરો કે તમારી CS50, કેવી રીતે પોતાના સોફ્ટવેર તમે તે CS50 પોતાના સ્ટાફ નથી, CS50 પુસ્તકાલય માર્ગ દ્વારા, દરેક પ્રવેશી કરવામાં આવી નથી તમે ક્યારેય મેળવેલ કર્યું શબ્દમાળા અથવા દરેક તમે ક્યારેય મેળવેલ કર્યું ઇંચ? વેલ, તમે ચોક્કસપણે જોવા શકે કંઈક માટે સ્રોત કોડ CS50 પુસ્તકાલય જેમ, તમે સ્ત્રોત કોડ જોવા શકે છે Linux ઓપરેટિંગ સિસ્ટમ માટે CS50 IDE પર ચાલી રહેલ. પરંતુ એક સુંદર રજૂઆત 1984 માં પાછા આપવામાં આવી હતી એક દ્વારા ટ્યુરિંગ એવોર્ડ મળ્યાના જાણીતા ખૂબ જ પ્રસિદ્ધ કમ્પ્યૂટર વૈજ્ઞાનિક નામ આપવામાં આવ્યું કેન થોમ્પસન as-- જે ટ્યુરિંગ એવોર્ડ મળ્યો, જે કમ્પ્યુટર વિજ્ઞાન જેવું છે નોબેલ પારિતોષિક, જો તમે કરશે, એક પર તેમના કામ માટે ઓપરેટિંગ સિસ્ટમ કહેવામાં ખૂબ સમાન છે, જે યુનિક્સ, અમે જે ઉપયોગ શું ભાવના Linux છે. અને પ્રશ્ન તેમણે પૂછવામાં તેમના અનિવાર્યપણે સ્વીકાર ભાષણ, માટે માળખું સુવડાવીને વર્ષ અને ચર્ચા વર્ષ વિશ્વાસ અને સુરક્ષા વિશે, આ હતો. કેટલી હદ સુધી જોઈએ એક ટ્રસ્ટ એ એક ભાગ પ્રોગ્રામ વિધાન ના software-- ટ્રોજન હોર્સ નિઃશુલ્ક છે? કદાચ તે વિશ્વાસ વધુ મહત્વનું છે સોફ્ટવેર લખ્યું જે લોકો. અને હકીકતમાં, અમે સાથે લિંક કરી છે ચર્ચા છે કે તેમણે આ એવોર્ડ સ્વીકારી ત્યારે આપ્યો CS50 વેબસાઈટ પર '80s માં આજે માટે લેક્ચર્સ પાનું હેઠળ. તમે જોશો શું કારણ તેઓ ખરેખર આપે છે કેવી રીતે પણ એકદમ સરળ ઉદાહરણ રણકાર અથવા ગમે જેવા કમ્પાઇલર અન્ય ભૂતકાળમાં ઉપયોગ કર્યો છે કમ્પાઇલરોનો, કમ્પાઇલર અમે જડિત તો શું જાતને તો થોડું છે ઉપયોગ કરી રહ્યા છો અનિવાર્યપણે કહે છે કે સ્થિતિ તમે આ કોડ ઉપયોગ કરી રહ્યા છે કે નોટિસ, તો GetString કાર્ય અથવા GetInt કાર્ય, આગળ વધો અને દાખલ પાછળ બારણું અથવા ટ્રોજન હોર્સ જેમ કે કે કાર્યક્રમ હવે કેટલાક zeros છે અને દૂષિત કંઈક કે જે લોકો. બધા લૉગિંગ તમારા કે માહિતી અપલોડ કીસ્ટ્રોક, કેટલાક સર્વર, અથવા ખરેખર કંઈપણ કરવા માટે. અને શું કેન થોમ્પસન તેમના ચર્ચા કરવા પર જાય છે પણ જો તે દર્શાવવા માટે છે તમે સ્ત્રોત વપરાશ હોય છે કમ્પાઇલર કોડ કે દ્વેષપૂર્વક આમ કરી શકે છે કારણ કે તે તો કોઈ વાંધો નથી આ ચિકન અને ઇંડા છે છેલ્લા ઘણા વાસ્તવિકતા વર્ષ જેમાં કમ્પાઇલરોનો પોતાને કમ્પાઇલ કરવા માટે વપરાય છે. અન્ય શબ્દોમાં, માર્ગ પાછા જ્યારે કોઈને પ્રથમ કમ્પાઇલર હોય તેવા પરચૂરણ ખર્ચ કર્યો હતો. અને ત્યારબાદ, કોઈપણ સમયે તેઓ અપડેટ કર્યું છે તેના સ્રોત કોડ બદલીને કમ્પાઇલર, સુવિધાઓ ઉમેરી છે અને તે recompiling અમને જેવા લોકો ઉપયોગ કરવા માટે, સારી રીતે, તેઓ જૂના ઉપયોગ કરી રહ્યાં છો કમ્પાઇલર આવૃત્તિ નવી કમ્પાઇલ કમ્પાઇલર આવૃત્તિ. અને જો તમે એક નજર તો તેમણે આપ્યો કે વાત પર, કારણ કે તમે જોશો કે કે circularity છે, તમે ખરેખર ભૂલો કરી શકો છો અથવા ટ્રોજન હોર્સ સોફ્ટવેર જડિત અમે ઉપયોગ કરી રહ્યાં છો. અને તમે જુઓ તો પણ તે કાર્યક્રમો માટે સ્રોત કોડ, તે પણ સ્પષ્ટ ન પણ હોઈ શકે આ છેતરપિંડી ખરેખર છે, કારણ કે એ અમુક જૂની આવૃત્તિ ત્યારથી કરવામાં આવી છે કે કમ્પાઇલર અમારા સોફ્ટવેર માં ધમકી ઇન્જેક્શન. જે માત્ર અમે કહે છે ખરેખર નથી કરી શકો છો અને ન જોઈએ ટ્રસ્ટ સોફ્ટવેર અમારા લેપટોપ પર ચાલી ફોન અથવા સ્થાનો કોઈપણ નંબર અથવા. અને હકીકતમાં, પાછળથી ત્યારે આ સત્ર માં અમે વેબ પ્રોગ્રામિંગ વિશે વાત શરૂ અને ખરેખર મકાન શરૂ વેબ એપ્લિકેશન્સ જાતને, અમે આ વિશે વાત કરીશું ધમકીઓ અને અન્ય. હવે, તમે આશ્ચર્ય અને જણાયું છે શકે એક નાના ઓછી દર્થ ત્યાં હતી કે આ ક્લિપ્સ Vader કે ધાર ત્યાં રહ્યું હતું ફોક્સવેગન વિશે. તો તમે ક્યારેય ન જોઈ કર્યું, હું અમે આછું કરીશું વિચાર્યું મૂડ આ બધા છે કારણ કે ખૂબ જ નિરાશાજનક અને ભયાનક. હું પાછા જોવા જાઉં છું સુપર બાઉલ 2011 જ્યારે એક વ્યાપારી Volkswagen-- અને આ લગભગ again-- તેમને ગમે તેવા બનાવે છે ટીવી પર પ્રથમ વખત માટે પ્રસારિત. તે 60 સેકન્ડ ક્લિપ છે હું તમને આનંદ પડશે લાગે છે. [વિડિઓ પ્લેબેક] [સંગીત - "સ્ટાર વોર્સ" માંથી થીમ] [કૂતરો છાલ] [કાર શરૂ થાય] [સમાપ્ત પ્લેબેક] ડેવિડ જે MALAN: અરે વાહ. હું માત્ર ચકાસણી કરવામાં આવી હતી. તે કાર ભંગ યાદી પર છે. બધા અધિકાર. તેથી અમે કેટલાક જોવા એક ક્ષણ પહેલા સ્યુડોકોડનો. અને અહીં એક મોટી છે સ્યુડોકોડનો કોડ સ્નીપેટ કે અમે આમ અત્યાર સુધી થોડા વખત જોઇ છે. અને ચાલો આ એક તક છે ઉપયોગ કરવા દેવા હવે એક નવી પ્રોગ્રામિંગ રજૂ કરવા કે અમે કર્યું ટેકનિક ઍલ્ગરિધમનો જોવા છેલ્લા અઠવાડિયે આપણે મર્જ સૉર્ટ પર જોવામાં જ્યારે. પરંતુ તે નિશ્ચિત સ્વરૂપ આપવું અને જુઓ કે કેવી રીતે દો અમે વાસ્તવિક કોડ તે ઉપયોગ કરી શકે છે અને પછી અમે આ ઉપયોગ જઈ રહ્યાં છો રોડ નીચે ટેકનિક સૌથી અમુક અન્ય સમસ્યાઓ ઉકેલવા માટે શક્યતા. તેથી આ પ્રથમ કાર્યક્રમો એક હતું અમે ક્યારેય સ્યુડોકોડનો કોડ છે, તેમ છતાં લખ્યું હતું. અને શું આ કાર્યક્રમ અમને અલબત્ત કરવા માટે મંજૂરી એક ફોન પુસ્તક માઇક સ્મિથ શોધવા માટે હતી. અને ખાસ લાઇન્સ આઠ નોટિસ અને આ પર જાઓ નિવેદન હતી જે 11. અને હકીકતમાં, ચોક્કસ ભાષાઓ, તેમની વચ્ચે સી, ખરેખર એક હોય શાબ્દિક અર્થ છે કે નિવેદન કે કરવા માટે પરવાનગી આપે પર જાઓ એક ચોક્કસ રેખા પર કૂદકો. તે સામાન્ય રીતે પર frowned કારણ કે છે તે ખૂબ જ સરળતાથી દુરુપયોગ કરી શકો છો અને તમે જમ્પિંગ શરૂ કરી શકો છો તમારા વિરોધ સ્થળ પર તમામ કાર્યક્રમ આ પ્રકારની ઉપયોગ કરવા તર્ક અને નિયંત્રણ ફ્લો અમે હમણાં જ સાથે આમ અત્યાર સુધી ઉપયોગ કર્યો છે કે આંટીઓ અને શરતો અને જેમ. પરંતુ અમે આ અલ્ગોરિધમનો સરળ કરી શકો છો સ્યુડોકોડનો કોડ તરીકે અનુસરે છે. તેના બદલે આ પુનરાવર્તન ના અભિગમ અથવા રહ્યાં જ્યાં અમે પાછા ચાલુ રાખવા અને અને પાછળ પાછળ ત્રણ લાઇન, શા માટે આપણે માત્ર પ્રકારની બિંદુ અને વધુ નથી સામાન્ય રીતે, રેખા સાત અને 10 માં કહે છે માત્ર તે બે બદલો સાથે લીટીઓ જોડીઓ, સ્મિથે જણાવ્યું છે બીજું જો આ પુસ્તક અમે પડશે આ માઇક માટે શોધ પુસ્તક ડાબી અડધા. સ્મિથ પછી બીજું તો પુસ્તક, જમણી માઇક માટે શોધ અડધા પુસ્તક. અને પહેલેથી જ circularity નોટિસ. અધિકાર? હું માઇક માટે શોધ છું ફોન બુક અને પછી હું આખરે કદાચ હિટ રેખા સાત અથવા કદાચ 10 વાક્ય અને મને મારા સૂચના શોધ છે ફોન પુસ્તક અડધા માઇક માટે. વેલ, હું કેવી રીતે માઇક માટે શોધ કરવા? હું મધ્યમાં છું માઇક, શા માટે શોધ તમે પ્રકારના એક વર્તુળમાં મને મોકલવા છે? પરંતુ તે શું છે, કારણ કે ઠીક છે આ સમસ્યા માપ બની રહ્યું છે, લીટી 7 અને 10 માં લખાયેલ છે? અમે હમણાં જ શોધ નથી કહેતા રહ્યાં નથી માઇક માટે, માઇક માટે શોધ. અમે ખાસ શું કહી રહ્યાં છે? ડાબી અડધા તેને માટે શોધ અસરકારક રીતે છે, કે જે જમણી અડધા આ સમસ્યા અડધા માપ. તેથી તે અમે પ્રકારની છો તે બરાબર છે આ circularity વ્યસ્ત આ પરિપત્ર દલીલ, ઓછામાં ઓછા અમે છો કારણ કે આ સમસ્યા નાની અને નાના બનાવે છે. અને છેવટે અમે સુધી પહોંચવા માટે જઈ રહ્યાં છો કે જેથી-કહેવાતા આધાર કેસ જ્યાં અમે હમણાં જ એક પાનું છે left-- અમારા સ્વયંસેવક ગયા સપ્તાહે તરીકે did-- અમે એક પાનું હતી પછી છોડી અને અમે નથી માઇક સ્મિથ માટે શોધ રાખવા માટે હોય છે તેમણે તે પૃષ્ઠ પર ક્યાં છે, કારણ કે અથવા તે નથી. તેથી અમે આ વિચાર, આ અમલ કરી શકે છે કેવી રીતે વાસ્તવિક કોડ circularity જેવું? વેલ, અમે એક ટેકનિક કરી શકો છો લાભ તે સામાન્ય રિકર્ઝન તરીકે ઓળખાય છે. અને અમે આ જોઇ છે મર્જ સૉર્ટ માટે સ્યુડોકોડનો છેલ્લા અઠવાડિયે. આ હતું કે યાદ મર્જ સૉર્ટ માટે સ્યુડોકોડનો. તે દલીલ કરતાં પણ સરળ છે બબલ અથવા પસંદ અથવા નિવેશ સૉર્ટ માત્ર સરળતા દ્રષ્ટિએ જેની સાથે તમે તેને વ્યક્ત કરી શકો છો. પરંતુ તે કારણ અમે સૉર્ટ circularly કરશો કંઈક શોધવા, એમ કહીને તેને ફરીથી માટે શોધ કરીને. પરંતુ અમે ક્યાં પર શોધ કરી રહ્યાં છે ડાબી અડધા અથવા જમણી અડધા અને પછી છેવટે અમે છો આ કિસ્સામાં મર્જ. પરંતુ અહીં પણ, સાથે તે બે સૉર્ટ રેખાઓ, અમે ફરી આ હતી પુનરાવર્તનના વિચાર. અને concretely આ શું અર્થ થાય, એક અલ્ગોરિધમનો સંદર્ભમાં, એક અલ્ગોરિધમનો યાદ આવવું છે તે વાપરે છે અથવા પોતે કહે તો. અથવા સી દ્રષ્ટિએ, એક કાર્ય છે કહેવાય કાર્ય recursive-- foo, foo જો ફરી યાદ આવવું છે ક્યાંક તેના સ્રોત કોડ, કાર્ય foo પોતે કહે છે. અને તે બધા foo ક્યારેય હોય તો ખરાબ છે ફરીથી અને ફરીથી પોતે કોલ છે. Foo છેવટે બંધ કરી દે તો કરે છે, કારણ કે ઠીક છે કહેતા, મર્જ સૉર્ટ એક મિનિટ રાહ જુઓ, આ સમસ્યા સુપર છે જો નાના, દાખલા તરીકે, અથવા હું છું જેમને તેને મળી માટે જોઈ છે, માત્ર આવો. પુનરાવર્તિત, નથી કરો cyclically ફરી મારી જાતને કૉલ કરો. અને તેથી આપણે પર એક નજર કરીએ આ ખરેખર કામ કરી શકે છે કેવી રીતે. તેથી હું આગળ અને ઓપન જાઓ જાઉં છું અહીં બે સ્રોત કોડ ઉદાહરણો. જે એક સિગ્મા 0 કહેવામાં આવે છે. અને આ બધા નથી ફરી યાદ આવવું, પરંતુ લેવા દો એક આ કાર્યક્રમ શું કરે છે જુઓ. હું બધા બહાર ઉતારી છે તે પણ બધા ટિપ્પણીઓ CS50 પર સ્રોત કોડ વેબસાઇટ જો તમે ટિપ્પણીઓ છે પછી ફરીથી તે મારફતે વાંચી કરવા માંગો છો. અને ચાલો એક દંપતિ કરવા દો સેનીટી અહીં ચકાસે છે. આ કોડ ટોચ પર તેથી અમે cs50.h. સમાવેશ થાય છે આ શું કરે છે? તે શા માટે અહીં છે? વાજબી જનસાધારણ ના નિયમો માં. તે શું કરે છે? યાહ. પ્રેક્ષક: GetInt કાર્ય કામ કરે છે કે જેથી. ડેવિડ જે MALAN: તેથી કે કાર્ય GetInt કામ કરે છે. આ અંદર કારણ કે ફાઇલ, cs50.h, જે અમે લાંબા પહેલાં જોશો તેના સ્રોત કોડ દ્રષ્ટિએ, કાર્યો એક ટોળું છે declared-- GetInt, GetString, others-- અને જ્યાં સુધી એક ટોળું અને અમે ખરેખર તે લીટી સમાવેશ થાય છે કમ્પાઇલર રણકાર નથી તે અસ્તિત્વમાં ખબર છે કે જઈ રહી છે. અને એ જ લાઇન માટે જાય છે પૂર્ણાંક વ્યાખ્યાયિત કરવામાં આવે છે જ્યાં બે એક કાર્ય છે કે જે printf, અમે ખૂબ થોડી નો ઉપયોગ ચાલુ રાખી. હવે, લાઇન ચાર થોડી ફંકી લાગે તે માત્ર એક લાઇનર છે કારણ કે. તે કોઈ સર્પાકાર, અર્ધવિરામ મળ્યું છે કૌંસ, તે અંદર કોઈ કોડ. પરંતુ શું આપણે કહી હતી અઠવાડિયા ભૂતકાળમાં આ વસ્તુ? યાહ. તેથી પ્રોટોટાઇપ. અને શા માટે અમે એક હોય લાગે છે કે જે પ્રોટોટાઇપ થોડી રીડન્ડન્ટ હોઈ સામાન્ય રીતે સામાન્ય રીતે અમે કારણ કે કાર્ય ફરી જોવા પાછળથી ફાઈલમાં, અધિકાર? તેથી શા માટે અમે તમને માત્ર છો અહી નથી તમારા માથા ખંજવાળ પરંતુ હું તે લેવા પડશે. યાહ. AUDIENCE: [અશ્રાવ્ય] મુખ્ય પછી કાર્ય. ડેવિડ જે MALAN: ચોક્કસ. કમ્પાઇલર તમે જાણે કે જેથી આખરે વ્યાખ્યાયિત અથવા અમલમાં આવશે કદાચ મુખ્ય પછી કાર્ય. તેથી રણકાર અને સૌથી કમ્પાઇલરોનો પ્રકારની મૂક છે અને તેઓ માત્ર ખબર પડશે શું તમે તેમને કહી. અને તમે ઉપયોગ કરવા માંગો છો, તો સિગ્મા કહેવાય કાર્ય તમે વધુ સારી રીતે કમ્પાઇલર શીખવે તે અગાઉથી અસ્તિત્વમાં છે. હવે, મુખ્ય પોતે પણ તે રેખાઓ એક ટોળું છે છતાં, હવે આસ્થાપૂર્વક ખૂબ પરિચિત છે. તે ડુ જ્યારે લૂપ મળ્યું છે જીવન માં જેની હેતુ અહીં દેખીતી રીતે એક વિચાર છે વપરાશકર્તા હકારાત્મક પૂર્ણાંક. અને તેમને pestering રાખવા અથવા તેના તેઓ સહકાર ત્યાં સુધી. પછી વાક્ય 16 માં મારી પાસે એક રસપ્રદ કૉલ કરો. IntAnswer. ડાબી બાજુ પર જે બાજુ મને પૂર્ણાંક આપે છે જવાબ કહેવાય store-- શકો છો કે જે સંગ્રહવા માટે ચાલે છે, જે દેખીતી રીતે, સિગ્મા પરત કિંમત. તેથી સિગ્મા માત્ર એક છે મનસ્વી પરંતુ અર્થપૂર્ણ નામ હું એક કાર્ય કરવા માટે આપી છે કે જીવન માં જેની હેતુ એક દલીલ લે છે અમે આ કિસ્સામાં એન તે કહી શકશો અને માત્ર કે જે નંબર ની રકમ લેવા માટે વત્તા દરેક હકારાત્મક નંબર છે તે કરતાં નાના. હું 2 નંબર પાસ તેથી જો સિગ્મા, હું ઉમેરવા માંગો 2 વત્તા 1 વત્તા 0 હતી કે જેથી મને 3 આપે 0 હતી. હું સિગ્મા 3 માં પાસ કરો તો હું કરવા માંગો છો 3 વત્તા 2 વત્તા 1 હોય છે, જે મને 6 આપે છે. અને તેથી આગળ. તેથી તે માત્ર અપ ઉમેરે બધા નંબરો તે કરતાં ઓછી અથવા સમાન. હવે, નીચે અહીં હું માત્ર જાઉં છું જવાબ છાપે. તેથી એક ઝડપી સેનીટી ચેક તરીકે, ચાલો સિગ્મા 0 હતી કોઈ સ્લેશ સિગ્મા બનાવવા 0 હતી અને મને 2 ટાઈપ કરીએ. અને હું ખરેખર 3 મળે છે. મને 3 ટાઈપ કરીએ. હું ખરેખર 6 છે. અને કોઈપણ ઝડપથી ગણિત કરી શકો છો જો, હું વિચાર કરીશ શું 50 કરું તો શું? AUDIENCE: [અશ્રાવ્ય]. ડેવિડ જે MALAN: ઠીક છે, કોઈ. પરંતુ 1,275 ખૂબ નજીક છે. તેથી આ 50 કરી પરિણામ છે વત્તા 49 વત્તા 48 વત્તા 47 વત્તા 46 1 નીચે બધી રીતે. એટલે બધા સિગ્મા કરે છે. પરંતુ અમે કેવી રીતે કરી છે તે જોવા દો હવે તે અમલ. જેથી નીચે અહીં કાર્ય પોતે છે. અને આ છે નથી લાગતું નથી કંઈપણ હજુ સુધી રિકર્ઝન સાથે શું કરવું. હકીકતમાં, અમે એક ઉપયોગ કરી રહ્યાં છો ઓલ્ડ સ્કૂલ ટેકનિક. હું એક ચલ કહેવાય રકમ પ્રારંભ કરું છું શૂન્ય, પછી હું અહીં એક foreloop હોય છે, અને હું એ પૂર્ણાંક તરીકે ઓળખાય જાહેર છું હું 1-- તે સમાન સુયોજિત હું તે સમાન સેટ કરી શકે છે છતાં શૂન્ય છે, પરંતુ હું વધુમાં કરી રહ્યો છું કારણ કે, તે શૂન્ય અથવા એક તો કોણ ધ્યાન આપતા. તે કોઈ અસર થતી હોય રહ્યું છે. તેથી હું તેથી લાંબા સમય સુધી હું છે, કારણ કે વારો છું કરતાં ઓછી અથવા એમ સમાન છે, જે માં પસાર કરવામાં આવ્યો છે કે દલીલ છે. અને પછી હું ફક્ત રાખવા આઇ અને સૂઝ incrementing લૂપ બધા હું રકમ કરી છે કરી રહ્યો છું વત્તા આઇ બરાબર અને કે ઇરાદાપૂર્વકની છે. હું આ કરવા માટે નહિં માંગો કેસ રકમ વત્તા વત્તા જેવા હોય છે. હું ખરેખર ઍડ કરવા માંગો છો હું વર્તમાન કિંમત જે મોટી અને મોટી મેળવવામાં રાખે અને ચાલી રહેલ મેળવણી મોટા. અને પછી હું રકમ પરત. અને તેથી જવાબ કિંમત રકમ મળે છે. અને પછી હું તેને બહાર છાપો. તેથી એક તક અહીં છે, છતાં, પ્રકારની સરળ બનાવવા માટે આ કોડ સરળ અને ફટકો પ્રકારનું એક છે આ દ્રષ્ટિએ વાંધો સરળતા પણ તે છતાં સૉર્ટ જ્યારે લે છે શા પ્રશંસા કરીએ છીએ આ નાના ઉદાહરણો શક્તિશાળી છે. અહીં જેથી દાખલો સિગ્મા છે આ કોડ બીજા આવૃત્તિ. ઉપર બધું જેથી સમાન છે તે જ વાર્તા પહેલાં લાગુ પડે છે. પરંતુ હવે જોવા દો સિગ્મા અમલીકરણ જે હું માત્ર આ કરવા માટે નીચે whittled કર્યું રેખાઓ કોડ ચાર રેખાઓ, ખરેખર, વત્તા કેટલાક સર્પાકાર કૌંસ અને સફેદ જગ્યા. પરંતુ હું શું કરી રહ્યો છું? મીટર કરતાં ઓછી અથવા સમાન હોય તો શૂન્ય, હું પ્રકારની નિયંત્રિત કરવાની જરૂર છે કે સુપર સરળ કેસ. અને તમે મને શૂન્ય અથવા કંઈપણ હાથથી તો માત્ર વિચિત્ર છે, જે નકારાત્મક હું માત્ર આપખુદ કરવા જઇ રહ્યો છું પરંતુ સતત શૂન્ય આવો. હું આ વસ્તુ કરવા માંગો છો નથી કેટલાક વિચિત્ર અનંત પ્રવેશ મેળવવા કારણ કે નકારાત્મક કિંમત લૂપ. તમે મને આપી તેથી જો હું માત્ર કહી રહ્યો છું શૂન્ય અથવા ઓછા, હું શૂન્ય પરત છું. કે કારણ કે, પરંતુ તે સારી છે ફોન પુસ્તક કે એક પાનું કે બાકી છે. હું ખૂબ જ ચોક્કસ સમસ્યા બંધ તીક્ષ્ણ છું અને પુનરાવર્તિત કંઈક ફોન નથી. પરંતુ વાક્ય 31 માં, શું હું કરી શકાય તેવું લાગે છે નથી? કૌંસ માત્ર રાખી રહ્યા છે વસ્તુઓ, આસ્થાપૂર્વક, થોડું વધારે સ્પષ્ટ. પરંતુ હું કરી રહ્યો છું હું છું m-- પરત ગમે તમે me-- વત્તા હાથ m-- માફ કરશો કિંમત, વત્તા મીટર બાદ 1 સિગ્મા ની કિંમત. તેથી આ શું અર્થ છે? તમે ઇનપુટ તરીકે મને સંખ્યા 3 આપી છે, તો જવાબ હું આખરે વિચાર કરવા માંગો છો 3 વત્તા 2 વત્તા 1 મને 6 આપે છે કારણ કે 6 છે. પરંતુ હું વિશે કેવી રીતે લાગે છે નથી આ કોડ કેવી રીતે ચાલી રહ્યું છે? હું સિગ્મા કહી પ્રથમ વખત અને હું કિંમત 3 પસાર કે ભાગ પર કહીને જેવી છે કાગળ, અહીં કિંમત 3 અને હું સિગ્મા તરીકે આ પસાર કરવામાં આવ્યા છે. 3 દેખીતી રીતે જેથી 0 કરતાં ઓછી છે આ તો શરત લાગુ પડતી નથી. બીજું કરે છે. તેથી હું શું કરી શકું? હું છે, કે જે એમ પરત કરવા માંગો છો એમ 1 બાદ 3, વત્તા સિગ્મા. તેથી મને આ ટ્રેક રાખવા દો. હું આ મૂકી જાઉં છું કાગળ નીચે ભાગ. અને શું કિંમત હોઈ સ્પષ્ટ, હું પસાર જાઉં છું વાર્તામાં આ બિંદુએ સિગ્મા માં? શું છે? 2, અધિકાર? 3 ઓછા 1 2 છે. તેથી હું માત્ર એક થોડો જરૂર અહીં કાગળ સ્ક્રેપ. તેથી હવે સિગ્મા ફરીથી કહેવાય રહ્યું છે. અને હું ઇરાદાપૂર્વક મૂકી દીધું છે આ નીચે કારણ કે તે પ્રકારની pausing જેવા વાર્તા કે આવૃત્તિ હવે હું ધ્યાન કેન્દ્રિત છું કારણ કે એમ 1 બાદ સંકેત છે. તેથી એમ 3 એમ હતી ઓછા 1 2 છે. તેથી અહીં હું પસાર કરવામાં આવ્યા છે કે 2 છે. 2 દેખીતી રીતે કરતાં ઓછી નથી 0 તેથી તે કિસ્સામાં લાગુ પડતી નથી. બાકી હું આ છે, કે જે એમ પાછા શું મૂલ્ય વસ્તુ, વત્તા સિગ્મા? તેથી સિગ્મા 1-- એમ છે, કારણ કે જો હમણાં 2 તેથી 2 બાદ 1 1. તેથી હવે હું માત્ર કિંમત 1 છે. હું માત્ર નંબર પસાર છું કાર્ય sigma-- 1 અથવા જાતે અહીં જેથી 1 દેખીતી રીતે નથી શૂન્ય કરતાં ઓછી, હજુ પણ લાગુ પડતી નથી. બાકી રીટર્ન 1 વત્તા શું સિગ્મા? 0. તેથી મને માત્ર કે યાદ કરીએ. હું પછી પાછા મળશે. હવે હું આગળ અને કાનો જાઓ જાઉં છું નંબર 0 નીચે કારણ કે મારા દલીલ અથવા પરિમાણ. હું નંબર 0 પસાર છું અને છેલ્લે આ પ્રક્રિયા માત્ર મારી જાહેરાત પુનરાવર્તન nauseum શું કારણ કે બંધ નથી હું આ 0 જોઈ એક વખત હું તરત જ કરી શકું? હું શૂન્ય આવો. તેથી હવે તમે આ વાર્તા રીવાઇન્ડ હોય છે. હવે હું સમય પાછળની જાઓ, સૌથી તાજેતરનું વસ્તુ શું હતું તમે શાબ્દિક હતા તો હું કર્યું વિડિઓ રીવાઇન્ડ? હું મોટા ભાગના તાજેતરના પસંદ કરવા માટે જઇ રહ્યો છું 1 અને તે મને 1 આપે વત્તા 0 1 છે. હું રીવાઇન્ડ રાખો તો વાર્તા, કે મને આપી રહ્યું છે 1 છે, જે 2 વત્તા આ ચાલી કિંમત. તેથી કે જે 3 છે. અને પછી હું રીવાઇન્ડ રાખવા જઈ રહ્યો છું. હું પ્રથમ નંબર નીચે મૂકે છે 3-- તેથી 3 વત્તા 3 6 મને આપે છે. અને હવે, તમે rewound હોય તો આ બિંદુ સુધી વિડિઓ અપ આ ખૂબ જ હતો પ્રથમ પ્રશ્ન હું પૂછવામાં. 3 પસાર, ત્યારે 3 સિગ્મા શું છે? તે ખરેખર 6, ની રકમ છે કાગળ આ બધા ટુકડાઓ. કે થોડી લે તો તેથી જ્યારે કે દંડ છે, તમારા મન ફરતે વીંટળાય છે. પરંતુ તે થોડું હતું ધ્યાનમાં હું સ્ટેક કે જે ખૂબ જ ઇરાદાપૂર્વકની હતી દરેક અન્ય ટોચ પર આ નંબરો. તે કર્યા જેવા પ્રકારની છે સમય એક રેકોર્ડ મેમરી, વિડિઓ માં સ્ક્રબર જેમ, હું ખરેખર માં રીવાઇન્ડ કરી શકો છો. અને અમે પાછા આવો જઈ રહ્યાં છો માત્ર થોડી કે રૂપક. પરંતુ પ્રથમ, તે ત્યાં છે કે બહાર વળે ગ્રીક્સ અને રમુજી લોકો ઘણો, હું Google પર, ધારી. વૂડ ખૂબ જ છે જે કોઈને Googling મન સારા માત્ર એક ક્ષણ માટે ઉપર આવતા અને મને કંઈક શોધવા મદદ? ખૂબ, ખૂબ નીચા કી. ક્યારેય છે જે કોઈને કદાચ પહેલાં આવે છે. ઠીક છે. અરે વાહ? ચલ. નીચે પર આવે છે. તમારુ નામ શુ છે? એસએએમ: સેમ. ડેવિડ જે MALAN: સામ, નીચે પર આવે છે. આ જ છે. તમને મળી ને આનંદ થયો. અરે. આ બોલ પર આવો. તેથી હું તમને તો શું કરવાની જરૂર છે તમે, સેમ, અહીં Google ની શકે છે. તમે આ શબ્દ રિકર્ઝન માટે શોધ કરી શકો છો? બગાડી નથી. અને હવે હા let's--. ઠીક છે પર ક્લિક કરો. સારી કે ક્લિક કરો. Ahh, તે વિચાર. કોઈ? ઠીક છે. તેથી આપણે એક દંપતિ અન્ય કરીએ. સંબંધિત ખૂબ જ નથી શિક્ષણક્ષેત્રના અહીં, પરંતુ તમારી પાસે ક્યારેય એનાગ્રામ માટે Google શોધ? એસએએમ: ના ડેવિડ જે MALAN: બરાબર. એનાગ્રામ બદલે રિકર્ઝન માટે શોધો. કેવી રીતે તિરસ્કારથી વિશે. તમે ક્યારેય તિરસ્કારથી માટે શોધાયેલ? હવે, આ એક થોડી મુશ્કેલ છે જુઓ પરંતુ આસ્થાપૂર્વક બરાબર everything's--. તે માત્ર તમે અને મને આ માણી છે. ઠીક છે. તેથી છેવટે, આ one's-- તે થોડી તિરસ્કારથી છે. હવે બેરલ રોલ નથી. અદ્ભુત. બધા અધિકાર. મોટા સેમ માટે આભાર. અહીં તમે જાઓ. આભાર. તેથી શું બધા ચાલી રહ્યું છે આ બોલ પર કોઈ ઉદાહરણો છે? તેથી ખરેખર, હૂડ નીચે કોડ રેખાઓ Google ની લાખો દેખીતી રીતે જો થોડા સિલી છે અનિવાર્યપણે છે કે જે શરતો વપરાશકર્તા છે તો ચકાસણી આ શબ્દસમૂહ માં ટાઇપ, કદાચ લીધો કે કંઈક સમય nontrivial રકમ માત્ર અમલ કરવા માટે આ રીતે મનોરંજક છે. પરંતુ તે ઉકળે બધા છે હૂડ નીચે નહીં. પરંતુ, અલબત્ત, રિકર્ઝન આ geekier વધુ છે તે ખાસ યુક્તિઓ વચ્ચે ઉદાહરણ છે. અને ચોક્કસ ત્યાં અન્ય ત્યાં બહાર છે તેમજ અમે કદાચ હોય કે ન પણ હજુ સુધી શોધ કરી. તેથી એક નજર, અથવા ધ્યાનમાં હવે નીચેની કાર્યક્રમ અને ચોક્કસપણે કોઇ પડાવી લેવું તમારી રીતે બહાર પર આ. હું આગળ જવા માટે જઇ રહ્યો છું અને છે કે કાર્યક્રમ ખોલો બે કિંમતો સ્વેપ કરવાનો પ્રયાસ જઈ રહી છે. અમે ત્યાં જવા પહેલાં, ચાલો આ કરીએ. અમે એક વધુ વિચાર કરી શકે સ્વયંસેવક, મને લાગે છે? તમે સ્વયંસેવક કરવા માંગો છો? કોઈ? પર આવો. પર આવો. બધા અધિકાર. તેથી તમારું નામ શું છે? લોરેન: લોરેન. ડેવિડ જે MALAN: લોરેન. અપ લોરેન પર આવે છે. તેથી લોરેન કરવામાં આવી રહી છે નીચે પ્રમાણે અહીં પડકાર આપ્યો છે. તમને મળી ને આનંદ થયો. તેથી લોરેન અહીં સામે છે તેના બે ખાલી કપ. અને અમે કેટલાક નારંગી છે રસ અને કેટલાક દૂધ અને અમે જાઓ જઈ રહ્યાં છો આગળ અને નીચે પ્રમાણે કરો. અમે ફક્ત આ ભરવા માટે જઈ રહ્યાં છો. અહીં દૂધ થોડા ઔંસ અને ચાલો અહીં થોડી નારંગી રસ ભરો. અને તમામ સામે આ પ્રેક્ષકોના સભ્યોએ આ કપ બે કિંમતો સ્વેપ. દૂધ કપ ઓરેન્જ જ્યુસ મૂકો અને નારંગીનો રસ કપ દૂધ. તમે હતા તો તમે આવું કરશે કેવી રીતે ઘર અને અન્ય પુરવઠો ઍક્સેસ હતી? લોરેન: અન્ય કપમાં મૂકો. ડેવિડ જે MALAN: બરાબર. તેથી આપણે એક કામચલાઉ હોય દો ચલ, અમે તો. અને હવે આગળ વધો અને અમલ આ જ જેઓ પ્રક્રિયા. કેટલું સરસ. અમે કામચલાઉ માં OJ મૂક્યો છે ચલ, OJ ચલ માં દૂધ, અને હવે કામચલાઉ ચલ દૂધ ચલ માં. ઠીક છે. તેથી ખૂબ જ સારી રીતે અત્યાર સુધી કર્યું. તેથી તે પકડી out-- કરે માત્ર એક ક્ષણ માટે માનવામાં આવે છે. અહીં, માત્ર એક બીટ તેને geek માટે, આ અનુરૂપ સી કોડ હશે અમે હમણાં જ અમલમાં છે. અમે બે ઇનપુટ્સ, એ અને બી, બંને હતી જે અમે માત્ર છે સરળતા માટે કહેવું પડશે પૂર્ણાંક છે. હું સ્વેપ કરવા માંગો છો, તો અહીં નોટિસ બે ચલો, એ, બી અને મૂલ્યો, અમે ખરેખર એક મધ્યસ્થી જરૂર છે કામચલાઉ ચલ, એક હંગામી કપ, જે માં કિંમતો એક રેડવાની કે જેથી અમે તેને માટે એક પ્લેસહોલ્ડર છે. પરંતુ પછી કોડ બરાબર છે લોરેન અહીં અમલ. હવે, માત્ર એક વિચાર થોડી crazier, બહાર વળે તમે વિના આ કરી શકો છો કે એક કામચલાઉ ચલ. જોકે, અમે જઈ રહ્યાં છો, યોગ્ય રીતે આ કરવા માટે કેટલાક રસાયણશાસ્ત્ર સાથે ઠગ હોય છે. અમે અહીં કેટલાક વધારાના કપ છે. તેથી નજીકના વસ્તુ છે કે જે દેખાય છે દૂધ અને પાણી perhaps-- જેવા અથવા દૂધ અને OJ-- અમે કેટલાક હોય છે પાણી, તેથી અમે આ એક ભરવા પડશે સ્પષ્ટ પાણી થોડા ઔંસ સાથે. કે ખૂબ જ કદાચ. યાહ. કે ખૂબ જ ચોક્કસપણે છે. એક સેકન્ડ પકડી. અને હવે અમે હું યાદ છે, કે જે તેલ છે, MIDDLE SCHOOL રસાયણશાસ્ત્ર વર્ગ, આશા છે કે તે પાણી સાથે ભળતા નથી. પરંતુ તે પ્રકારની પ્રકારની દૂધ અને OJ જેવો દેખાય છે. હવે તેથી, ઉપયોગ કર્યા વગર કામચલાઉ ચલ, તમે તે બે કિંમતો સ્વેપ કરી શકો છો? , પાણી કપ જાય તેલ તેથી પાણી ઓઇલ કપ જાય છે. લોરેન: કોઈ અન્ય કપ? ડેવિડ જે MALAN: કોઈ અન્ય કપ. અને હું ખરેખર નથી કર્યું આ વર્ષે પહેલાં આ પરીક્ષણ આ તેથી જો મને ખબર નથી ખરેખર રાસાયણિક કામ કરે છે. તે થાય રહેવા ન હતી. તે કામ કરે છે? બધા અધિકાર. તેથી અલગ? સારી. હવે અમે વિચાર મળ્યો અન્ય કપ પાણી. સ્માર્ટ રસાયણશાસ્ત્ર concentrators શકે કદાચ મારા કરતા વધુ સારી રીતે આ કામ કરે છે. લોરેન: પાણી તળિયે છે. ડેવિડ જે MALAN: હતું કે water-- શું અમે આ કર્યું જો છેલ્લા સમય કી છે. તમે યોગ્ય ક્રમમાં તે શું હોય છે. યાહ. એ બરાબર છે. તેથી હવે અમે તેલ બે કપ છે. ઠીક છે. એ બરાબર છે. પરંતુ આ I-- કરતાં કામ કર્યું રાસાયણિક જો લોરેન: આ પાણી છે. ડેવિડ જે MALAN: કે મોટે ભાગે પાણી છે. બધા અધિકાર. પરંતુ તે હજુ પણ પહેલાં જેવી જ કપ છે. તેથી તેને ત્યાં તે પ્રયાસ રેડવાની છે. ઠીક છે. આ વર્ગ સમય સારો ઉપયોગ આજે છે. ઠીક છે. તેથી હવે સરસ we--. સૉર્ટ કરો. બધા અધિકાર. તેથી ખૂબ જ સારી. લોરેન માટે આભાર. ખૂબ જ સારી રીતે થાય છે. તેથી, ફક્ત તમારા મનમાં તમાચો અને આ કદાચ કંઈક છે તમે CS50 ID ને ગમે તો સાથે રમવા માટે, તમે, હકીકતમાં, બે ચલો સ્વેપ કરી શકો છો હંગામી પૂર્ણાંક ઉપયોગ કર્યા વગર. અને આ અનુરૂપ સી કોડ છે. અને તમે છેલ્લા યાદ તો બુધવાર, અમે તો થોડા સમય માટે રજૂ કરવામાં સી કરે કેટલાક નવા ઓપરેટરો કોઈને શું ઓછી ગાજર યાદ પ્રતીક, કે થોડી ત્રિકોણાકાર છે કીબોર્ડ પ્રતીક પ્રતિનિધિત્વ કરે છે? શું bitwise ઓપરેટર? પ્રેક્ષક: EXOR. ડેવિડ જે MALAN: EXOR. વિશિષ્ટ કે. તમે માત્ર મજા માટે, માંગો છો, તો ઘર, A અને B બે મનસ્વી આપવા કોઈપણ eight-- અને હું જેવી કિંમતો આઠ બીટ કિંમત પસંદ કરશે. તમે 32 બિટ્સ સાથે આ કરો છો, તો તમે ખૂબ જ ઝડપથી કંટાળો મળશે. પરંતુ માત્ર એક આઠ બીટ આપી એક કે બે ગમે તે કિંમત, અને એક જ કિંમત b આપે છે. અને પછી પરિભાષાનો ઉપયોગ છેલ્લા બુધવારે થી XOR છે, , બીટ દ્વારા દરેક બીટ લાગુ A અને B દરેક તે આઠ બિટ્સ, અને પછી આ કોડ મુજબ બરાબર કામ કરે છે. અને તે ખોટું નથી શું તમે સ્ક્રીન પર અહીં જુઓ. તે ખરેખર ઉકળે નીચે ત્રણ XOR કામગીરી માટે અને કોઈક જાદુઇ એ અને b સ્થિતિ લે કરશે કોઈપણ માહિતી ખોયા વિના. જેથી તેલ અને પાણી યુક્તિ છે નજીકના વાસ્તવિક વિશ્વમાં અવતાર મને લાગે છે કે નકલ કરવા માટે વિચાર કરી શકે છે. પરંતુ તે ચોક્કસ સરળ છે એક કામચલાઉ ચલ વાપરવા માટે, અહીં આ કિસ્સામાં. અને આ પણ એક તક છે, કહે છે પણ, સૂક્ષ્મ ઓપ્ટિમાઇઝેશન આ પ્રકારની, કમ્પ્યુટર વૈજ્ઞાનિક તરીકે કહે છે, જ્યારે મજા પ્રકારની તમે વિના આ કર્યું તે વિશે બ્રેગ વધારાની ચલ સાથે અદલાબદલી જેમ, તે છે કે જે બધી અનિવાર્ય નથી. 32 બિટ્સ, આ રૂપમાં સાચવવા માટે છે, કારણ કે એક વાસ્તવિક પૂર્ણાંક કિસ્સામાં, બધા કે જે અનિવાર્ય નથી સિસ્ટમ કે જ્યાં પર તમે મેગાબાઇટ્સ દસ ઉપયોગ કરી શકે છે અથવા તો વધુ જેવા કે મેમરી આ દિવસોમાં. અને હકીકતમાં, અમે જ્યારે વિચાર પછીની સમસ્યા સમૂહ અને તમે જોડણી અમલ પરીક્ષક અને તમે પડશે જેથી સાથે શું કરવું પડકારવામાં આવશે આ ઓછી રેમ અને ઓછી પર શક્ય સમય હજુ પણ તમે કમ્પ્યુટર અમલ કરવા માટે એક સપ્તાહ છે તમે હશો અહી પડશે તેને તે સાધનો ઘટાડવા માટે પડકાર આપ્યો છે. અને તે ખરેખર માત્ર છે આ સત્ર પ્રસંગ તમે હજામત કરવા માટે પ્રોત્સાહિત કરવામાં આવશે જ્યાં પણ શ્રેષ્ઠ કામગીરી બંધ અન્યથા ખર્ચ પડે છે. તેથી અમે કેવી રીતે કરી શકો છો what-- આ વાસ્તવિક કોડ જુઓ છો? હવે મને આગળ જવા દો અને એક ઉદાહરણ ખોલો કે ઇરાદાપૂર્વક કહેવામાં આવે છે કોઈ તે સ્વેપ નથી કારણ કે હકીકતમાં ચલો સ્વેપ તમે ખરેખર આશા રાખી શકે છે. તેથી આપણે એક નજર કરીએ. અહીં કોઈ CS50 છે કે કાર્યક્રમ છે પુસ્તકાલય, માત્ર ધોરણ I / O પર જઈ રહી છે. હવે અમે એક પ્રોટોટાઇપ છે ઉપર સ્વેપ માટે જે માત્ર તે પછી વ્યાખ્યાયિત પ્રયત્ન મળ્યું છે એનો અર્થ એ થાય. અને અહીં મુખ્ય છે. હું આપખુદ એક્સ અને વાય સોંપાયેલ છે, અનુક્રમે કિંમતો એક અને બે માત્ર તેઓ નાના છો કારણ કે અને સરળ વિશે વિચારો. અને પછી હું ફક્ત printfs એક ટોળું હોય છે હું એક સેનીટી ચેક હોય છે. X 1 અને વાય 2 કદાચ છે તે printfs કહેશે શું. તેથી કોઈ જાદુ આમ અત્યાર સુધી. પછી હું દાવો કરવા જઇ રહ્યો છું ડોટ ડોટ ડોટ જેઓ ડેફ છાપો. હું સ્વેપ કૉલ જાઉં છું કાર્ય, એક્સ અને વાય પસાર. અને હવે તે માટે ધારે દો સ્વેપ બરાબર અમલમાં મૂકાયેલ છે તે એક ક્ષણ પહેલા થયું હતું તરીકે કામચલાઉ ચલ સાથે. અને તેથી હું હિંમતભેર દાવો સ્વૅપ. આ એક્સ અને વાય હવે છે હવે છે. પરંતુ ફાઇલ, અલબત્ત, કોઈ સ્વેપ કહેવાય છે. તેથી આપણે ખરેખર શું થાય છે તે જોવા દો. હું પછી કોઈ સ્વેપ અને કમ્પાઇલ તો ./noswap કરવા, એક્સ 1, વાય 2 છે. સ્વૅપ જેઓ. X વાય 2 છે, 1. તેથી તે ખરેખર પણ અપૂર્ણ કરી રહ્યું છે swap-- છતાં now-- સરકાવો ચાલો દીઠ બરાબર અમલમાં મૂકાયેલ છે કોડ હું એક ક્ષણ પહેલા દરખાસ્ત કરી હતી. તેથી અમે ફેન્સી વિચાર નથી જઈ રહ્યાં છો હવે માટે XOR સામગ્રી સાથે. આ, પણ, માત્ર કામ કરીશું દૂધ અને OJ સાથે જેમ, પરંતુ તે કામ નથી લાગતું નથી. તેથી આપણે ફરી આ કરવા દો. કદાચ હું માત્ર તેને અધિકાર નથી ચાલી રહ્યું હતું. તેથી આપણે ફરીથી કોઈ સ્વેપ ચલાવો. કદાચ I-- નં. તેથી તે માત્ર કામ નથી. તેથી આપણે થોડો સેનીટી ચેક કરવા દો. મને સ્વેપ અહીં આગળ જવા દો અને માત્ર ઉમેરો એક મિનિટ રાહ જુઓ, એક% i છે / એન અને ચાલો પ્લગ ઇન ની કિંમત. હું ખરેખર માંગો છો કારણ કે શું થઈ રહ્યું છે તે જોવા માટે. અને ખરેખર, આ છે ડિબગીંગ ટેકનિક તમે ઉપયોગ કરી શકે છે કે ઓફિસ કલાકો કે પહેલેથી જ ઘરમાં, ડેન ના પ્રથમ છ સમાન PSET3 માં એર્મેન્ડારીઝ વિડિઓ અમે પ્રિન્ટ રજૂ જેમાં તરીકે ડેફ ઓછામાં ઓછા એક ભલામણ ટેકનિક છે, સરળ કિસ્સાઓ માટે. મને આગળ વધો અને બનાવવા ચલાવો ફરીથી કોઈ સ્વેપ ./noswap. રસપ્રદ. તેથી સાચા હોય તેમ લાગે છે નોટિસ. X 1, વાય 2 છે, પરંતુ b 1 છે જ્યારે 2 છે. તેથી તે બે અચાનક સ્વૅપ મળ્યો પરંતુ એક્સ અને વાય માં સ્વૅપ મળતું નથી. તેથી શું થઈ રહ્યું છે, સ્પષ્ટ કરવા , અહીં હું એક્સ અને વાય હોય છે અને તે સ્થાનિક ચલો છે મુખ્ય અવકાશ, હું એક્સ અને વાય માં પસાર છું સ્વેપ. હવે, સ્વેપ, એક અલગ કાર્ય છે, તેની દલીલો કૉલ મફત છે અથવા તેના પરિમાણો કંઈપણ તે ઇચ્છે છે. Foo એક્સ અથવા વાય અથવા A અથવા B અથવા બાર અથવા. માત્ર તેઓ છો કે સ્પષ્ટ કરવા માટે X સમાન નથી અને વાય સે દીઠ, હું A અને B જણાવ્યું હતું કે કર્યું. પરંતુ અમે તેમને અમે માંગો છો કંઈપણ કહી શકે છે. અને તેથી તે જેવી લાગે છે સ્વેપ પસાર થઈ રહી છે એક્સ ઉર્ફ a-- અને તે વાય ઉર્ફ b પસાર થઈ રહી. અચાનક આ ત્રણ રેખાઓ હોય છે બરાબર તે કિંમતો જેઓ લોરેન દૂધ અને OJ સાથે હતી. પરંતુ અમે બહાર છાપવા ત્યારે મૂલ્યો, A અને B સ્વેપ ખરેખર હોય છે, પરંતુ X અને વાય તેમને કોઈ ફેરફાર હોય છે. કે એક્સ અને વાય અહીં છે યાદ અપાવે છે. તેથી અમે મારફતે આ જોઈ શકો છો તેમજ અન્ય ટેકનિક. અને આ પણ એક ટેકનિક છે સમસ્યા જડિત ત્રણ સુયોજિત કરો. ચાલો આગળ વધો અને આ કરવા CS50 આઈડી જો તમે પહેલાથી જ ન હોય તો. જમણી બાજુ પર અમે આ ડિબગર ટેબ છે. અને તમે આ ખોલવા માટે, કેટલાક arcane માહિતી છે તે શરૂઆતમાં તમે ફેંકવામાં આવે છે. પરંતુ વાસ્તવિક ઝડપી આ સિવાય પીંજવું દો. તેથી, તમે સ્થાનિક ચલો જુઓ. CS50 IDE માં બિલ્ડ કે બહાર વળે છે, અને પ્રોગ્રામિંગ વાતાવરણ ઘણો વધુ સામાન્ય રીતે, એક ડીબગર છે. તમે દૃષ્ટિની જોવા માટે પરવાનગી આપે છે કે જે સાધન શું તમારા કાર્યક્રમ ની અંદર પર ચાલી રહ્યું છે ઉમેરી રહ્યા આશરો કર્યા વગર printfs અને સંકલન અને ચાલતું અને printf માતાનો ઉમેરી રહ્યા છે અને સંકલન અને ઓફિસ કલાકો, કે જે પહેલાથી જ ચાલી રહેલ કે ઘર, કદાચ છે ખૂબ જટિલ રહ્યો છે. તેથી અહીં માત્ર એક ક્ષણ, અમે છો વાસ્તવિક સમય માં જોવા માટે જઈ અમારા સ્થાનિક ચલો કિંમતો. અમે પણ સુયોજિત કરવા માટે સમર્થ થવા માટે જઈ રહ્યાં છો બ્રેકપોઇન્ટ્સ કહેવામાં આવે છે, જે તકો વિરામ મારા કાર્યક્રમ છે કોડ એક ચોક્કસ વાક્ય પર અમલ હું વિશે વિચિત્ર છું છે. અધિકાર? આ કાર્યક્રમો બીજા એક વિભાજીત ચલાવો. તે અમને ધીમી મનુષ્યો માટે સરસ પ્રકારની છે , રોકો માટે થોડો સમય ફાળવો સમક્ષ રજુ કરવાનો પ્રયત્ન કરવા માટે, જોવા આસપાસ શું થઈ રહ્યું છે કોડ એક ચોક્કસ રેખા આ કાર્યક્રમ ખેડાણ વગર તે મારફતે અને સંપૂર્ણપણે પૂરું કરે છે. તેથી બ્રેકપોઇન્ટ્સ અમને પરવાનગી આપે છે જવું તોડી અને અમુક ચોક્કસ બિંદુ પર વિરામ. કોલ સ્ટેકનું એક ફેન્સી માર્ગ છે કાર્યો હાલમાં શું છે કહે છે આ ક્ષણે કહેવામાં આવે છે. મુખ્ય હંમેશા પ્રથમ કહેવામાં આવે છે. પરંતુ મુખ્ય એક કહે છે, તો સ્વેપ કહેવાય કાર્ય, અમે ખરેખર આ જોવા જઈ રહ્યાં છો કરવામાં આવી છે કે કાર્યો ટાવર ઉલ્ટા કાલક્રમાનુસાર કહેવાય છે. તેથી આપણે તે જોવા દો. હું બહાર ઝૂમ કરવા જઇ રહ્યો છું. હું મારા કોડ પર પાછા જાઓ જાઉં છું. અને માત્ર હું માંગો છો કારણ કે અહીં વિદ્યાડબંરવાળું હોઇ શકે છે, હું આગળ જાઓ અને ક્લિક કરો જાઉં છું માત્ર વાક્ય પાંચ ડાબી. અને તે એક લાલ ટપકું બનાવે છે. અને જમણી બાજુ પર નોટિસ ડીબગર અરે, જાણે કે, મેં હમણાં જ કહ્યું બ્રેકપોઇન્ટ અંતે noswap.c વાક્ય પાંચ, ખાસ કોડ આ વાક્ય છે. તેથી ડીબગર કે હું જાણે આગામી સમય કે વિનંતી કરી છે હું મારા કાર્યક્રમ તે વિરામ ચલાવવા ત્યાં બદલે માત્ર અમલ સુપર ફાસ્ટ સમગ્ર બાબત ચાલી રહ્યું છે. તેથી હવે હું ડિબગ ક્લિક કરો જાઉં છું જ્યારે IDE ખૂબ જ ટોચ પર બટન અને નીચેની કરવા જઇ રહ્યું છે. તે શરૂઆતમાં કંઈક અંશે એક ખોલવા જઈ રહ્યું છે ડરામણી જોઈ બીજા ટર્મિનલ window-- પરથી દૂરસ્થ ડિબગીંગ આવા યજમાન અને such-- અને અમે પાછા આવો પડશે શું કે બધા લાંબા પહેલાં થાય છે. પરંતુ હવે માટે શું મહત્વનું છે કે લાલ ટપકું હિટ હતી છે, ડીબગર ઇરાદાપૂર્વક છે execution-- થોભાવવામાં નથી SE દીઠ તે લીટી પરની પરંતુ પ્રથમ તે કાર્ય વાસ્તવિક કોડ વાક્ય. રેખા સાત છે કે શા માટે છે હવે પીળો પ્રકાશિત. અને હવે આપણે એક નજર કરીએ જમણી બાજુ પર છે. તે મૂળભૂત રીતે, જેવી લાગે છે, સરસ રીતે પૂરતી છે, એક્સ શું કિંમત છે? 0. અને વાય શું કિંમત છે? ઝીરો. અને તે અર્થમાં ધારણા કરી શકાય છે કે એક્સ અને પીળા વાક્ય છે કે વાય હજુ સુધી ચલાવવામાં નથી. તેથી એક્સ કિંમત 1 ન હોવી જોઇએ. તે કોઇ પણ અન્ય કિંમત હોઈ શકે છે, કહેવાતા કચરો કિંમત. અને અમે તેને આવ્યું છે કે નસીબદાર મળી અનિવાર્યપણે, આ બિંદુએ શૂન્ય. તેથી હવે માત્ર થોડા છે બટનો અમે કાળજી જરૂર આ રીતે ડિબગીંગ જ્યારે વિશે. અહીં નોટિસ, અમે એક નાટક બટન હોય છે. અને અમે રમવા અથવા જો હિટ કે જે હમણાં જ છે, ફરી શરૂ મારફતે ચલાવવા માટે જતા આ કાર્યક્રમ બાકીના અથવા તે બીજી બ્રેકપોઇન્ટ બનાવ્યા સુધી. પરંતુ હું કોઇ અન્ય સેટ નથી કર્યું બ્રેકપોઇન્ટ્સ તેથી તે માત્ર છે અંત મારફતે ચલાવવા માટે જઈ રહી છે. પરાજય તે પ્રકારના આસપાસ poking હેતુ. તેથી તેના બદલે, હું વિશે કાળજી જમણી આ ચિહ્નો. અને હું પર હૉવર જો તેમને તરીકે તમે પણ જોઈએ તમે થોડી tips-- સાધન ટીપ્સ જોશો. આ એક પગલું છે. હવે અવગણો એનો અર્થ એ નથી કોડ નીચેની લીટી. કે જે હમણાં જ તેને ચલાવવા અર્થ થાય છે અને આગામી ખસેડવા આગામી ખસેડવા, આગામી ખસેડવા. બીજા શબ્દોમાં કહીએ તો, મારફતે તે બટન, હું ચાલવા કરી શકો છો એક સમયે મારા કોડ એક પગલું દ્વારા. શાબ્દિક વાક્ય દ્વારા વાક્ય. હવે, જમણી ત્યાં બીજી એક છે, કે અમે માત્ર એક ક્ષણ માં જોશો છે. આ કહેવાતા છે કે ચિહ્ન માં પગલું મને ડાઇવ પરવાનગી રહ્યું અન્ય કાર્ય માં. પરંતુ માત્ર એક ક્ષણ આ જોવા દો. તેથી હું પર પગલું ક્લિક કરો જાઉં છું. હું ક્લિક કરો અને હવે નોટિસ ટોચ પર જમણે આ બટન સ્થાનિક હેઠળ આશરે તમારી આંખો રાખો ચલો અને X માટે જુઓ શું થાય છે. X હવે કારણ કે 1 પીળા વાક્ય હવે ચલાવવામાં આવી છે અને અમે 8 વાક્ય પર ખસેડી દીધું છે. અને માત્ર એક ક્ષણ વાય આસ્થાપૂર્વક 2 બનવા જોઈએ. હવે, કંઈ રસપ્રદ છે કે એક બીટ માટે થાય છે. આ બધા printf છે. અને મારા માધ્યમિક ટર્મિનલ નોટિસ વિન્ડો હું પ્રિન્ટ ડેફ નું આઉટપુટ જુઓ. અને હવે હું એક બનાવવા હોય પ્રોગ્રામર તરીકે નિર્ણય. હું આ લીટી પર પગલું કરી શકો છો કોડ છે, તે ચલાવવા નથી, પરંતુ અંદર શું છે વિશે વિચિત્ર મેળવવામાં. અથવા હું ખરેખર તે પગલું કરી શકો છો અને સ્વેપ પોતે અંદર જાઓ. તેથી આપણે બાદમાં કરવા દો. મને આગળ વધો અને ક્લિક કરો ઓવર પગલું પરંતુ સ્ટેપ ઇનટુ. સૂચના, અચાનક તમામ વિન્ડો ફેરફારો પ્રથમ પ્રકાશિત કરવા માટે સ્વેપ કોડ વાક્ય. તે લીટી 21 છે. અને હવે, ફંકી પ્રકારની છે કે શું છે, તમે અહીં ઉપર જુઓ તો, ઈચ્છિત તરીકે અલ્પવિરામ b અનુક્રમે 1 અને 2 છે. શા માટે કામચલાઉ નોકર વે 32,767 છે? ખૂબ જેવા કે કામચલાઉ નોકર યાદ એક ક્ષણ પહેલા ખાલી કપ, રેખા 21 પર અહીં જાહેર કરવામાં આવે છે. હું તેનો અર્થ શા 32,000-, શા માટે છે તે માત્ર કેટલાક વિચિત્ર કિંમત છે? અરે વાહ? પ્રેક્ષક: તે આરંભ નથી. ડેવિડ જે MALAN: તે આરંભ કરવામાં આવી નથી. તેથી અમારા કોમ્પ્યુટર હંમેશા ભૌતિક મેમરી છે. તે હંમેશા ભૌતિક RAM છે. અને હંમેશા ત્યાં છે શૂન્ય અને એક યોગ્ય, ત્યાં છે? અમે ઉપયોગ કરી રહ્યાં છો કારણ કે અમારા બધા દિવસ સુધી કોમ્પ્યુટર, જો તમે CS50 IDE ઉપયોગ કરી રહ્યાં છો અથવા સર્વર હોવા જે બધા દિવસ સુધી. કે RAM કેટલાક zeros છે ક્યાં જેથી અથવા કેટલાક એક અથવા અમુક zeros અને મુદ્દાઓ પર પણ. કોઈ બાબત કે તમે તેમને ઉપયોગ કરી રહ્યાં છો નથી. તમે માત્ર ખાલી હોઈ શકે નહિં જગ્યાઓ જ્યાં તમે બિટ્સ માંગો છો. તેઓ zeros અને મુદ્દાઓ ક્યાં છો. તેથી તે છે, કારણ કે કામચલાઉ નોકર બહાર વળે અમે હજુ સુધી તેનો પ્રારંભ નથી કર્યું અમે તે 32 બિટ્સ હોય છે, પરંતુ તેઓ નથી કર્યું કોઇ જાણીતા કિંમતો આરંભ કરવામાં આવી છે. તેથી તેઓ હતા ગમે સૌથી તાજેતરમાં તે 32 bits-- for-- ઉપયોગ અમે હમણાં જ કેટલાક વસ્તુઓનો જોઈ રહ્યાં છો તે ચોક્કસ 32 અગાઉના ઉપયોગ બિટ્સ. જલદી હું છતાં બોલ પગલું ક્લિક તરીકે, Phew, કામચલાઉ નોકર કિંમત 1 વિચાર ચાલે છે. હું તેને ફરીથી કરો તો, એક છે કિંમત 2 આપવામાં આવશે જતાં અને પછી બી રહ્યું છે કિંમત 1 અપાશે. અને તેથી શું હવે સરસ છે વાર્તામાં આ બિંદુએ ડીબગર છે સુપર ધીમે ધીમે મને દર્શાવે મારી પોતાની ગતિએ, શું સ્વેપ સ્થિતિ છે. પરંતુ અહીં ટોચ નોટિસ પર નોટિસ કે જે વાસ્તવમાં કોલ સ્ટેક તે બે સ્તરો છે. તરીકે પ્રકાશિત છે કે હવે એક સ્વેપ, હું બદલે મુખ્ય પર ક્લિક કરો, તો સ્થાનિક ચલો બદલી કેવી રીતે નોટિસ વિકાસકર્તા માત્ર હોપ કરી શકો છો કારણ કે આસપાસ અને કોઇ અલગ અવકાશ માં જાઓ. અમે આ બધા કરી રહ્યા છીએ તેથી ભલે કામ કરે છે અને યોગ્ય રીતે અને બી જેઓ, હું સ્વેપ વચ્ચે આગળ અને આગળ જાઓ તો એક 2 અને બી 1 અને મુખ્ય છે, જ્યાં મુખ્ય બધા અસર થઈ છે? નંબર તેથી આ takeaway અહીં શું છે? વેલ, તે કોઇ પણ સમયે કે બહાર વળે તમે સ્વેપ જેમ કાર્ય કૉલ અને તમે તે દલીલો પસાર શું તમે સ્વેપ કાર્ય કરવા માટે પસાર કરી રહ્યાં છે આ કિસ્સામાં એક નકલ છે તે દલીલો. તેથી એક્સ અને વાય અનુક્રમે દરેક હોય તો 32 બિટ્સ, શું સ્વેપ રહ્યો છે બે નવા સ્થાનિક છે ચલો, અથવા દલીલો, કહેવાય અને b-- પરંતુ તે મનસ્વી છે names-- પરંતુ zeros પેટર્ન અને અંદર એ, બી અને રાશિઓ છે પાકા એક્સ અને વાય માટે સમાન હોવું પરંતુ તેઓ નથી છે એક્સ અને વાય તરીકે જ વસ્તુ. મુખ્ય તેના ભાગ પર છે છતાં તરીકે છે કાગળ નંબર 1 અને એક્સ અને વાય માટે 2, અને તે હાથ પછી જ્યારે કાગળ ભાગ સ્વેપ કરવા માટે, સ્વેપ ખૂબ જ ઝડપથી નહીં તેના પોતાના પેન, નીચે લખે છે 1 અને પેપર પોતાની શીટ પર 2, હાથ મુખ્ય મૂળ XY બેક અને પછી તેના પોતાના નથી A અને B સાથે વાત. અને આ હવે કારણ કે સુપર મહત્વનું છે આ nontrivial સૂચિતાર્થ ધરાવે છે ખરેખર યોગ્ય કોડ લખવા માટે તે જણાય છે, કારણ કે અમે સ્વેપ કરી શકો છો બે ચલો. હું યોગ્ય સ્વેપ કાર્ય લખ્યું છે. અમે લોરેન સાથે અમલ કર્યો છે વાસ્તવમાં યોગ્ય સ્વેપ કાર્ય, પરંતુ તે દેખીતી રીતે કંઈ બાબતો તો તમે ખરેખર નથી કરી શકો છો કાયમ બે કિંમતો સ્વેપ. તેથી અમે બીજી રીતે જરૂર ખરેખર આ પર વિચાર કરવા માટે, અને અમે સમક્ષ રજુ કરવાનો પ્રયત્ન કરવાની જરૂર છે ખરેખર આ સમસ્યા ઉકેલવા માગે છે. અને તે out-- વળે છે અને અમે આવી પડશે પાછા આ ખાસ ચિત્ર long-- પહેલાં આ એક રસ્તો છે કે તમે તમારા કમ્પ્યુટરની મેમરી ડ્રો કરી શકે છે. તે માત્ર એક લંબચોરસ છે. જો તમે કોઇ તે ડ્રો કરી શકે છે માર્ગો પરંતુ તે સંખ્યા એક, કે ડ્રો અનુકૂળ નીચેના કારણોસર લંબચોરસ. અમે બહાર આજે શરૂ કરો અને જઈ રહ્યાં છો કહેવાતા સ્ટેક વિશે વાત. અને સ્ટેક માત્ર એક ભાગ છે ના મેમરી એક ભાગ RAM-- કાર્યો વપરાશ હોય છે કે તેઓ કહેવાય કરી રહ્યાં છો જ્યારે. અને તેથી તે બહાર વળે આ સ્ટેક ખૂબ તળિયે મુખ્ય સ્થાનિક ચલો બધા છે જ્યાં org સી અને સંસ્થા વી અને તે તમામ સામગ્રી અને મૂળભૂત રીતે જાઓ જવું છે. અને મુખ્ય તો , સ્વેપ જેવા કેટલાક અન્ય કાર્ય કહે છે વેલ, સ્વેપ અન્ય વિચાર રહ્યું છે તે ઉપર મેમરી સ્તર. અને તેથી તમે માત્ર એક ઝડપી ઉપરછલ્લું આપવા આ ચિત્ર, હું પર જાઓ તો અહીં અને મને પર આ અરીસો દો ઓવરહેડ ખરેખર હું શું પરિચિત હોઈ શકે, અમે વિશે માત્ર કાળજી જો હવે આ ચિત્ર નીચે, છે કે હું એક કાર્યક્રમ ચલાવો ત્યારે અને મુખ્ય કહેવાય નહીં મુખ્ય એક ભાગ આપવામાં આવે છે છે કે મારા કમ્પ્યુટર RAM આ કહેવાતા સ્ટેક તળિયે. અને હું તેને ડ્રો કરવા જઇ રહ્યો છું ઇરાદાપૂર્વક એક ચોરસ છે. તેથી તે 32 બિટ્સ અથવા ચાર બાઇટ્સ જેવી છે. અને આ મુખ્ય કાર્ય હોય તો 1 ની કિંમત સાથે ચલ કહેવાય એક્સ અને તે એક ચલ કહેવાય છે 2 ની કિંમત સાથે વાય, કે મેમરી આ sliver લેવા જેવી છે કે મુખ્ય ઓપરેટિંગ દ્વારા આપવામાં આવી છે સિસ્ટમ અને તે છે કે જેથી વિભાજન પ્રથમ સ્થાનિક ચલ, અહીં જાય છે બીજા એક અહીં જાય છે, અને તે છે. મુખ્ય સ્વેપ સ્વેપ કહે છે મેમરી પોતાની સ્લાઇસ નોંધાયો નહીં અમે આ જેમ ડ્રો કરીશું કે ઓપરેટિંગ સિસ્ટમ, અને તે હોય ચાલી રહ્યું છે તેના પોતાના સ્થાનિક ચલો આધારિત અમારી અમલીકરણ પર અગાઉ સ્થાનિક ચલો સાથે શરૂઆતમાં અને બી કે કિંમતો 1 અને 2 મળે છે. પરંતુ તે પછી, જલદી સ્વેપ કોડ છે, ચલાવે છે અને લોરેન ખરેખર અદલબદલ OJ અને દૂધ, શું થઈ રહ્યું છે? વેલ, આ 2 1, આ બની રહ્યું છે 1, જે રીતે દ્વારા, 2 બની છે, અને આવી રહી છે કે કામચલાઉ નોકર ચલ છે છેવટે તે સમગ્ર સમય ઉપયોગ દૂર જાય છે. પરંતુ તે તો કોઈ વાંધો નથી કેટલી કામ તમે શું આ વાક્ય આ મેમરી અવકાશ માં of-- માં, એક્સ અને વાય સંપૂર્ણપણે બાકાત રાખવામાં આવ્યાં છે. તેથી અમે આપવાની અમુક રીતે જરૂર તે જેમ સ્વેપ અને કાર્યો ગુપ્ત ઍક્સેસ, જો તમે કરશે, માટે કાર્યો એક્સ અને વાય જેવા મેમરી ગમે. તેથી આપણે એક નજર કરીએ મદદ કરે છે એક ઉદાહરણ અમને કરવામાં આવી છે બરાબર શું છે તે જોવા આ સમગ્ર સમય પર જઈ રહી છે. હું આગળ જાઓ જાઉં છું અને ખોલો ઝીરો સરખામણી કરો. અને હું બંધ કરવા જઇ રહ્યો છું અમારા ડીબગર, હું જાઉં છું આ ડરામણી જોઈ સંદેશ બંધ જસ્ટ, એક મિનિટ રાહ જુઓ કહે છે, તમે મધ્યમ ડિબગીંગ છો. હું અહીં આ ટેબ છુપાવવા માટે જઇ રહ્યો છું માત્ર પાછા સરળતા પર જવા માટે. GDB હત્યા થાય છે તો ચિંતા નથી. કે જે હમણાં જ કાર્યક્રમ છે કે જે થાય છે ઇરાદાપૂર્વક આ કિસ્સામાં, છોડી દેવામાં આવી, મારા દ્વારા. અને હવે શૂન્ય કરે સરખામણી કરો. હું CS50 ઉપયોગ કરું છું ધોરણ I / O લાઇબ્રેરી. મને લાગે છે કે પ્રથમ એક મુખ્ય કાર્ય મળી છે કહે છે, કંઈક કહે છે, અને શબ્દમાળા મળે છે. પછી ફરીથી અને તે કહે છે અન્ય શબ્દમાળા મળે છે. અને તે આ બે શબ્દમાળાઓ નોટિસ અનુક્રમે, એસ અને ટી કહેવામાં આવે છે. અને હવે આ કાર્યક્રમ સરખામણી કરો ઝીરો, જીવનમાં તેની હેતુ, તે મને કહો તેવું માનવામાં આવે છે, હું આ જ વાત લખ્યું છે? અને તેથી હું સપ્તાહ એક પાછા જઈ રહ્યો છું. હું મારા સમાન સમાન ઓપરેટર ઉપયોગ કરું છું જે ગુણવત્તા ઓપરેટર છે. નથી સોંપણી ઓપરેટર, સમાનતા ઓપરેટર. હું માત્ર S અને T સરખામણી છું. તેથી આપણે ખરેખર આગળ વધો અને આ કરવા દો. અને હું આગળ જાઓ જાઉં છું અને ઝીરો સરખામણી કરો. હું ./comparezero કરવા જઇ રહ્યો છું. અને હું જવા માટે જઇ રહ્યો છું આગળ અને કંઈક કહે છે જેમ કે, એ લોઅરકેસ મોમ કરવા દો અને કેવી રીતે મોટા મોમ વિશે. અને અલબત્ત હું અલગ વસ્તુઓ લખો. બધા અધિકાર. તે ધારણા કરી શકાય છે. તેને ફરીથી ચલાવો. બન્ને સમયે, લોઅરકેસ લોઅરકેસ નથી. કે મને સુપર સમાન દેખાય છે. દાખલ કરો. ઠીક છે. કદાચ કારણ કે તે માત્ર વિચિત્ર છે તે મારા વ્યાકરણ પસંદગીમાં નથી. તેથી આપણે એક મૂડી MOM કરવા દો, કેપિટલ MOM સમાન. વિવિધ વસ્તુઓ. તેથી શા માટે છે? ઠીક છે, ખરેખર શું ચાલી રહ્યું છે અહીં હૂડ નીચે? તેથી પાછા જઈએ અહીં માત્ર એક ક્ષણ માટે અને શું ધ્યાનમાં GetString ખરેખર કરવાનું છે. તમે GetString કૉલ કરો ત્યારે, એક કાર્ય છે કે અમે છે જાતને લખ્યું હતું અને તેણે અચાનક એક નહીં વપરાશકર્તા માંથી અક્ષરો ક્રમ. અને ચાલો પ્રથમ ધારે છે કે દો સમય હું GetString કૉલ, કે મને આપે છે મેમરી એક ભાગ છે કે આ જેવો દેખાય છે. અને હું બધા લોઅરકેસ માં ટાઇપ તો એમ ઓ-m-- અને શું તે પછી જાય છે? માત્ર એક ઝડપી સેનીટી તપાસો. બેકસ્લેશ શૂન્ય. અમે કે ખબર. અને અમે ભજવી યાદ આસપાસ Zamila નામ સાથે અને અન્ય નામો એક ટોળું જ્યારે રોબ અહીં જોઈ હતી મેમરી ની અંદર શું ચાલી રહ્યું છે છે. તેથી કે વાર્તા બરાબર જ છે. આ શું છે GetString મને પરત આવે છે. હવે, મારી કોડ એક ક્ષણ પહેલા સંગ્રહિત GetString પરત કિંમત એક ચલ ઓ કહેવાય છે. અને પછી બીજી વખત હું તેને કહેવાય છે, તે એક ચલ કહેવાય ટી તે સંગ્રહિત. હું ઉપર અહીં જાઓ, તો હું જરૂર આ સ્થાનિક ચલ ડ્રો અને હું સામાન્ય રીતે કરવા જઇ રહ્યો છું just-- અમે પડશે તરીકે શબ્દમાળા ડ્રો અહીં થોડી સ્ક્વેર, કે s-- કૉલ કરો. મોમ કરે છે અને કેવી રીતે હવે, somehow-- આ ચલ ની અંદર જાઓ? વેલ, અમે પાછા જવાની જરૂર અહીં પ્રથમ સિદ્ધાંત છે. GetString ખરેખર શું પરત આવે છે? તેથી તે એમ ઓ એમ બહાર વળે બેકસ્લેશ શૂન્ય છે, અને કોઈપણ નંબર જેવા મેમરી અન્ય શબ્દમાળાઓ Zamila અને રોબ અથવા એન્ડી અથવા કોઈપણ અન્ય અલબત્ત અમારા કમ્પ્યુટરની રેમ અથવા મેમરી. અને તમારી RAM તમારી પાસે જેવા છે RAM ની એક જહાજની નાની હોડી, RAM ની બે શોના, અથવા એક અબજ અથવા બે અબજ બાઇટ્સ, અથવા કદાચ પણ વધુ આ દિવસોમાં. તેથી આપણે આજે હેતુઓ માટે, ચાલો ધારે, તે અમે નંબર કેવી રીતે વાંધો નથી કે તેમને, પરંતુ અમે દરેક નંબર કરી શકો છો તે અબજ ડોલર અથવા બે અબજ અથવા ચાર અબજ બાઇટ્સ. અને આપણે માત્ર આપખુદ કહે છે કે દો આ પ્રથમ ડંખ, બીજા ડંખ છે, ત્રીજા, ચોથા. હું ઇરાદાપૂર્વક માટે શૂન્ય ઉપયોગ કરું છું આજે પણ અમે પાછા કે આવવું પડશે. તેથી અન્ય શબ્દોમાં આ છે, તો ખૂબ જ પ્રથમ વખત હું આ કાર્યક્રમ ઉપયોગ કરું છું હું માત્ર નસીબદાર અને પ્રથમ મેળવવામાં છું ડંખ પછી સ્થાન એક જ સમયે બે છે પછી ત્રણ ચાર કરતાં. અને હું ચિત્રકામ રાખવામાં આવે છે, બોક્સ નંબર બે અબજ રીતે અહીં હશે. તેથી પછી તમે શું વિચારો છો, GetString ખરેખર આપે છે? તે એમ ઓ એમ બેકસ્લેશ પરત નથી શૂન્ય સે દીઠ સ્પષ્ટ છે કે કારણ કે હું દોરવામાં કર્યું છે કે બોક્સ નથી ફિટ થશે. તેથી વાસ્તવમાં બીજું શું GetString શકે આ બધા અઠવાડિયા પરત શકાય? જવાબ પર છે બોર્ડ અહીં ક્યાંક. તમે એમ ઓ એમ બેકસ્લેશ શૂન્ય નથી ફિટ કરી શકો છો તેથી શું તેના બદલે અર્થમાં બનાવવા શકે છે? તમે મૂકે છે, સુપર હોંશિયાર હોય હોય તો કહેવાતા એન્જિનિયરિંગ ટોપી પર, તમે શું પરત કરી શકે છે? કઈ માહિતી ના ઓછામાં ઓછા જથ્થો છે જો તમે હજુ પણ કરશે પરત કરી શકે છે તમે મેમરી એમ-ઓ-મીટર શોધવા દો? અરે વાહ? પ્રેક્ષક: એક. ડેવિડ જે MALAN: એક. અને શા માટે છે? પ્રેક્ષક: તે કહી શકે છે, કારણ કે તમે જ્યાં [અશ્રાવ્ય] જાઓ. ડેવિડ જે MALAN: ચોક્કસ. હું માત્ર સરનામા પરત જાઉં છું હું મેળવેલ છે કે શબ્દમાળા. આ સરનામું કેસ સ્થાન છે. તેથી શું ખરેખર s-- સંગ્રહિત કરવામાં આવી રહી છે અને દરેક શબ્દમાળા ચલ આમ અત્યાર સુધી લગભગ માત્ર રહી છે કે જેઓ શબ્દમાળા સરનામું. દરમિયાન, હું કહી તો બીજી વખત અને હું તેને GetString શાબ્દિક જ વસ્તુ લખો Lowercase-- એમ ઓ એમ સાથે એમ-ઓ-એમ અને અન્ય બેકસ્લેશ શૂન્ય, અને હવે કદાચ મારા કાર્યક્રમ કેટલાક સમય માટે, જેથી કદાચ આ ચાલી આવી 10 છે, આ, આ 12 છે, સ્થાન 11 આ 13 છે. કેટલાક અન્ય મદદથી એન્જીનિયરિંગ કારણ ગમે તે માટે મેમરી ઓનલાઇન. શું હવે મારા બીજા જાય મારા કાર્યક્રમ ટી ચલ? 10. ચોક્કસ. અને તેથી અમે જોવા જ્યારે આ કાર્યક્રમ સ્રોત કોડ જ્યાં હું ફક્ત પ્રયાસ કરી રહ્યો છું આ બે કિંમતો સરખામણી કરવા માટે, છે ટી માટે સમાન સમાન છે, શું છે સ્પષ્ટ માનવ જવાબ? 1 થી 10 સમાન નથી માત્ર કોઈ છે. અને તેથી અહીં એક આવેલું અમારા માટે તક ખરેખર માત્ર પ્રથમ, ફરી, પર જવા માટે સિદ્ધાંતો અને સાથે સાથે, વિશે વિચારો, શું હૂડ નીચે ચાલી રહ્યું છે? અમે વિશે વાત કરી રહ્યો છું બિટ્સ અને બાઇટ્સ અને મેમરી પરંતુ તે સમજવા માટે ખરેખર ઉપયોગી છે તમે GetString કૉલ કારણ કે જ્યારે, અમે વિચાર છે, તેમ છતાં તે એમ-ઓ-મીટર કે શબ્દમાળા મોમ પરત અથવા એન્ડી અથવા Zamila અથવા જેમ, તકનીકી તે માત્ર પરત સરનામું મેમરી કે ચંકને. પરંતુ તે બરાબર છે. હું કેવી રીતે ખબર નથી કારણ કે શબ્દમાળા જ્યાં અંત થાય છે? હું માત્ર શરૂઆત આપવામાં છું? વેલ, આ બેકસ્લેશ શૂન્ય, અધિકાર? માત્ર હું આ કરી શકો છો રેખીય સમય પ્રિન્ટ ડેફ એમ ઓ એમ સાથે છાપશે. અને જલદી હું બેકસ્લેશ જુઓ હું શરૂ જ્યાં શૂન્ય, હું પડી નથી હું પહેલેથી જ સર્વથા ખબર જ્યાં હું સમાપ્ત કરવાની જરૂર છે. અને તેથી આજે શરૂઆત ચિહ્નિત કરે છે અને મને અમે કારણ કે નાટકીય આ કરવા દો મુશ્કેલી ઘણો પસાર થયું હતું આ અહીં wheels-- તાલીમ મેળવી તેથી આજે તાલીમ વ્હીલ્સ શરૂ બોલ આવે છે અને અમે ઘટસ્ફોટ least-- [વધાવી] તે સફર વર્થ સારી હતી હા, આ સવારે લક્ષ્ય માટે? તેથી now-- છે, તે કરે છે બહાર, શબ્દમાળા તરીકે આવી કોઈ વસ્તુ છે. શબ્દમાળા અસ્તિત્વમાં નથી. તે અમે કર્યું છે કે પર્યાય છે CS50 પુસ્તકાલય ની અંદર. અત્યારથી, અમે ફોન શરૂ જઈ રહ્યાં છો ઓ અને ટી નથી શબ્દમાળાઓ પરંતુ ઘરનાં પરચૂરણ કામો તારાઓ. ઘરનાં પરચૂરણ કામો સ્ટાર અને અમે પડશે પહેલાં લાંબા સિવાય પીંજવું. પરંતુ આ કહે છે, અમે ચાલુ હોય તો પણ તે હવે GetString ઉપયોગ કરીને, તકનીકી હું જોઈએ ચાર રચે સ્ટાર અને કોલસો બનાવો સ્ટાર કહેતા હોય છે. અને તે શું છે કે સ્ટાર બહાર વળે દર્શાવવા રહ્યું છે કંઈક છે એક નિર્દેશક કે એક સરનામું કહેવાય છે. અને હકીકતમાં, એક સતામણી માટે શું આગળ આવેલું છે આ 20 સેકન્ડ ક્લિપ છે અમારા સ્ટેનફોર્ડ ખાતે મિત્ર નિક Parlante જે તદ્દન થોડા સમય પહેલાં પસાર સમય એક હાસ્યાસ્પદ જથ્થો શ્રેષ્ઠ તરીકે હું કહી શકે છે તેના રસોડું અથવા તેના ભોંયરામાં, ક્લેમેશન બનાવે વિશ્વમાં રજૂઆત નામના પાત્રનો Binky જેની સાથે અમે પોઇન્ટર માટે આગામી સમય રજૂ કરી શકે છે. તેથી અહીં આવે છે તે એક પૂર્વદર્શન છે. [વિડિઓ પ્લેબેક] -Hey, Binky ઓનલાઇન. અપ વેક. તે નિર્દેશક આનંદ માટે સમય છે. -તે શું છે? પોઇન્ટર વિશે જાણો! ઓહ, ગુડી. [સમાપ્ત પ્લેબેક] ડેવિડ જે MALAN: અને નોંધ કરો કે, અમે બુધવારે તમે જોશો. બધા અધિકાર. નૃત્ય કોણ છે? ચલ. નૃત્ય કોણ છે? તમે મને તે પ્રારંભ કરવા માંગો છો? હું તે શરૂ મળશે. Woooo! લોરેન: સ્વીટ ફેન્સી મૂસાએ.