[Powered by Google Translate] [4 વિભાગ] [ઓછી સાધારણ] [Nate Hardison] [હાર્વર્ડ યુનિવર્સિટી] [આ CS50 છે.] [CS50.TV] તમામ હક, વિભાગ પર પાછા સ્વાગત છે. આ સપ્તાહ વિભાગમાં અમે વસ્તુઓ એક દંપતી કરવા જઇ રહ્યા છો. અમે પ્રથમ રીકેપ સમસ્યા 2 સેટ કરવા જઈ રહ્યાં છો, જે સીઝર અને Vigenère સમસ્યા સમૂહ છે. અને પછી અમે ક્વિઝ 0 સમીક્ષા માં ડાઇવ જઈ રહ્યાં છો અને સમય થોડો recapping આપણે જે અંગે વાત કરી છે ખર્ચવા આ પ્રવચનો દરેક અત્યાર સુધી, અને અમે પણ થોડા સમસ્યાઓ કરીશ અગાઉના વર્ષના ક્વેસ્ચન છે. માર્ગ તમે ગાય્સ સારો તે માટે તૈયાર માર્ગ હોય છે. શરૂ કરવા માટે, હું સારી ઉકેલો દંપતી બુટ કર્યા છે અગાઉના સમસ્યા સેટ માટે, પ્રોબ્લેમ 2 આ જગ્યામાં, સેટ કરો. જો તમે ગાય્સ આ કડી દબાવો, અને જો તમે મારા નામ પર ક્લિક કરો અને મારું પ્રથમ આવૃત્તિ પર ક્લિક કરો તમે caesar.c, કે જે ચોક્કસ શું હું જોઈ રહ્યો છું જોશો. ચાલો આ વિશે ખરેખર ઝડપથી વાત કરો. આ માત્ર એક નમૂનો ઉકેલ છે. આ સંપૂર્ણ ઉકેલ હોય તે જરૂરી છે. ઘણી વિવિધ આ લખવા રીતો છે, પરંતુ કેટલીક વસ્તુઓ કે હું પ્રકાશિત ઇચ્છતા છે કે મેં જોયું તરીકે હું વર્ગીકરણ કરવામાં આવી હતી, સામાન્ય ભૂલો કે મને લાગે છે કે આ ઉકેલ સંભાળવાની ખૂબ સારું કામ કરે છે. પ્રથમ ટોચ પર હેડર ટિપ્પણી અમુક પ્રકારની રહી છે. 1 લીટીઓ પર 7 મારફતે તમે વિગતો જોવા માટે, બરાબર શું આ કાર્યક્રમ કરી રહ્યા છે. એક સારી પદ્ધતિ છે જ્યારે તમે સી કોડ લખી રહ્યાં અનુલક્ષીને જો તમારા કાર્યક્રમ એક ફાઈલ અથવા અંદર સમાયેલ છે શું તે બહુવિધ ફાઇલો પર વિભાજિત છે માટે અમુક પ્રકારની હોય છે ટોચ પર ટિપ્પણી ઓરિએન્ટીંગ. આ લોકો બહાર જાઓ અને વાસ્તવિક વિશ્વમાં કોડ લખવા માટે પણ છે. આ તે છે જ્યાં તેઓ કૉપિરાઇટ માહિતી મૂકીશું. નીચે # સમાવેશ થાય છે. 16 વાક્ય પર ત્યાં આ # વ્યાખ્યાયિત કરવા માટે, કે જે અમે પાછા માત્ર થોડી આવે પડશે. અને પછી એક વખત કાર્ય શરૂ થાય છે, એક વખત મુખ્ય શુરુ, કારણ કે આ કાર્યક્રમ બધી ગયેલ છે એક કાર્ય માં સમાયેલ ખૂબ પ્રથમ વસ્તુ જે થાય છે અને આ જ રૂઢિપ્રાયોગિક અને એક સી કાર્યક્રમ વિચિત્ર છે કે આદેશ વાક્ય દલીલો લે છે-એ છે કે તે તરત જ ચકાસે છે આ દલીલ ગણતરી માટે, argc. અહીં અમે જુઓ કે આ કાર્યક્રમ 2 દલીલો અપેક્ષા છે બરાબર. યાદ રાખો કે ત્યાં પ્રથમ દલીલ છે કે ખાસ એક છે છે કે હંમેશા કાર્યક્રમ છે કે જે ચલાવવા કરવામાં આવી રહી છે તેના નામ છે, એક્ઝેક્યુટેબલ ફાઈલ નામ. અને તેથી આ શું કરે છે તે કાર્યક્રમ ચાલી ના વપરાશકર્તા અટકાવે છે વધુ અથવા ઓછા દલીલો સાથે. કારણ અમે આ અધિકાર માટે દૂર કરવા માંગો છો તપાસ કારણ છે અમે ખરેખર આ argv એરે અહીં વિશ્વસનીય ઍક્સેસ કરી શકતા નથી ત્યાં સુધી અમે જોવા માટે મોટી કેવી રીતે તે ચેક કર્યું છે. એક સામાન્ય ભૂલો મેં જોયું હતું લોકો તરત જ જઈ શકે છે અને ગ્રેબ argv [1]. તેઓ ઍરેની બહાર કી દલીલ ગ્રેબ અને તે એક હું તે ચકાસવા માટે હો, અને પછી તેઓ argc માટે પરીક્ષણ તરીકે આગામી પરીક્ષણ તેમજ કરવા માંગો છો, કે નહીં પ્રથમ દલીલ ખરેખર તે જ સમયે એક પૂર્ણાંક હતી, અને કારણ કે આ કેસ માં કામ કરતું નથી કે તેમાં કોઈ પૂરી પાડવામાં દલીલો છે તમે એક દલીલ કે ત્યાં નથી પડતો પડશે અથવા એક કે ત્યાં નથી ગ્રેબ પ્રયાસ કર્યો હતો. અન્ય મોટી વસ્તુ છે કે જે તમને નોટિસ જોઈએ છે કે તમે હંમેશા માટે મદદરૂપ ભૂલ સંદેશો અમુક પ્રકારની પ્રિન્ટ માંગો છો તેમને દિશા આપવા માટે વપરાશકર્તા માટે. મને ખાતરી છે કે તમે બધા રન કાર્યક્રમો જ્યાં અચાનક તમામ તે ક્રેશ કરેલા છું, અને તમે આ હાસ્યાસ્પદ થોડું સંવાદમાં કે જે પૉપ અપ છે અને કહે છે વિચાર બહુ ભેદી અને કદાચ કંઈક તમને ભૂલ કોડ અથવા કે કંઈક આપે છે કે કોઈ અર્થ બનાવે છે. આ તે છે જ્યાં તમે ખરેખર મદદરૂપ કંઈક આપવા માંગો છો અને વપરાશકર્તા લક્ષિત કે જેથી જ્યારે તેઓ તેને ચલાવવા માટે તેઓ "ઓહ," પામ ચહેરો જાઓ. "મને ખબર છે બરાબર શું કરવું હું. ખબર કેવી રીતે આ ચોક્કસ કરવા માટે." જો તમે સંદેશ છાપી ન હોય તો, પછી તમે ખરેખર અંત વપરાશકર્તા જવા માટે છોડી તમારી સ્રોત કોડ પરીક્ષણ બહાર આકૃતિ શું ખોટું થયું. એવા પણ કેટલાક વખત કે તમે અલગ અલગ ભૂલ કોડ ઉપયોગ કરશો. અહીં અમે માત્ર એક વપરાય કહેવું ત્યાં એક ભૂલ હતી, ત્યાં એક ભૂલ હતી, ત્યાં ભૂલ હતી. મોટા કાર્યક્રમો, ઘણી વખત કાર્યક્રમો કે જે અન્ય કાર્યક્રમો દ્વારા કહેવાય છે, અલગ દૃશ્યો ખાસ ભૂલ કોડ અમુક પ્રકારની આપશે માટે પ્રોગ્રામ વાતચીત તમે અન્યથા છો શું માત્ર માટે એક સરસ ઇંગલિશ સંદેશો વાપરો. સરસ. આપણે નીચે કામ કરે છે, તમે જોઈ શકો છો કે અમે કી બહાર ખેંચો. અમે જોવા માટે જો કી બંધબેસે પરીક્ષણ. અમે વપરાશકર્તા તરફથી એક સંદેશ છે. કારણ કે અમે તેને આ શું કરવું જ્યારે લૂપ અને આ એવું કંઈક છે કે અમે આવરી લઈશું છે થોડા બીટ પરંતુ, તે તારણ આપે છે કે જો તમે નિયંત્રણ ડી લખો જ્યારે તમે તે GetString ટર્મિનલ પર પ્રોમ્પ્ટ વિચાર શું છે કે જે વાસ્તવમાં કરે છે તે વિશિષ્ટ અક્ષર મોકલે છે કાર્યક્રમ. તે એક નાની પરી અથવા ફાઇલ અક્ષર ઓવરને કહેવાય છે. અને તે કિસ્સામાં, અમારા સંદેશ શબ્દમાળા નલ હશે, તેથી આ કંઈક સમસ્યા માટે ચકાસાયેલ પોતે સેટ ન હતો. પરંતુ અમે જાઓ, હવે અમે પોઇંટરો વિશે વાત કરવાનું શરૂ કરી દીધું અને ઢગલો પર ગતિશીલ મેમરી ફાળવણી, નલ માટે ચકાસે તમે જ્યારે કાર્ય કે કદાચ હોય નલ પરત તરીકે કિંમત કંઈક કે જે તમે કરવાની આદત મેળવવા માંગો છો પડશે છે. આ ઉદાહરણ માટે મુખ્યત્વે અહીં છે. પરંતુ જ્યારે તમે ભવિષ્યમાં GetString જુઓ કરવા માટે, તેથી પર 4 સેટ કરો સમસ્યા છે, તો તમે આને ધ્યાનમાં રાખવા માંગો છો પડશે. ફરીથી, આ 3 ક્યાં સેટ કરો ત્યારથી અમે તેને હજુ સુધી આવરી હતી સમસ્યા માટે એક મુદ્દો નથી. છેલ્લે, અમે આ ભાગ છે જ્યાં અમે મુખ્ય એનક્રિપ્શન લૂપ મેળવવા માટે વિચાર, અને ત્યાં અહીં જઈને વસ્તુઓ એક દંપતી છે. પ્રથમ, અમે સમગ્ર સંદેશ શબ્દમાળા પોતે ઉપર ફરી વળવું. અહીં અમે આ પરિસ્થિતિ માં strlen કોલ રાખવામાં કર્યું છે, તમે એક નંબર ધ્યાન દોર્યું છે કે જે મહાન પર જાઓ રસ્તો નથી. આ કેસમાં બહાર વળે છે તે પણ મહાન નથી, અંશતઃ કારણ કે અમે સંદેશ પોતે સમાવિષ્ટો ફેરફાર કરી રહ્યાં છો અંદર લૂપ માટે છે, તેથી જો આપણે એક સંદેશ છે કે 10 અક્ષરો લાંબો હોય છે, પ્રથમ વખત અમે શરૂ કે strlen લૂપ માટે શું આપશે? 10. પરંતુ જો આપણે પછી સંદેશને સંશોધિત કહે, અમે તેના 5 અક્ષર સુધારવા માટે, અને અમે 5 સ્થિતિમાં \ 0 અક્ષર ફેંકવું, એક અનુગામી પુનરાવૃત્તિ પર strlen (સંદેશ) આપશે નહીં તે શું કર્યું ખૂબ પ્રથમ વખત અમે iterated, પરંતુ તેના બદલે 5 પરત કારણ કે અમે તે નલ ટર્મીનેટર માં ફેંક્યા કરશે, અને શબ્દમાળા લંબાઈ વ્યાખ્યાયિત કરવામાં આવે છે કે \ 0 સ્થિતિ છે. આ કિસ્સામાં, આ એક મહાન પર જાઓ કારણ કે અમે તેને સ્થાને ફેરફાર કરી રહ્યાં છો માર્ગ છે. પરંતુ તમે નોંધ્યું છે કે આ ખરેખર આશ્ચર્યજનક છે સરળ એનક્રિપ્ટ જો તમે ગણિત સાચું મેળવી શકો છો. બધા છે કે જે જરૂરી છે કે નહીં તે પત્ર તપાસો કે તમે જોઈ રહ્યાં છો છે અપરકેસ અથવા લોઅરકેસ છે. કારણ કે અમે માત્ર તે માટે તપાસો અને અમે તપાસ માટે જરૂર નથી આલ્ફા કેસ કારણ છે જો એક અક્ષર અપરકેસ અથવા જો તે લોઅરકેસ છે પછી તેને ચોક્કસપણે મૂળાક્ષરને પાત્ર છે, કારણ કે અમે મોટા અને નાના અંકો નથી. અન્ય વસ્તુ અમે અને આ થોડો મુશ્કેલ છે- તો અમે પ્રમાણભૂત સીઝર સાઇફર સૂત્ર ફેરફાર કર્યા છે કે અમે સમસ્યા સેટ સ્પષ્ટીકરણમાં આપી હતી. અલગ અહીં તો એ છે કે આપણે subtracted આ મોટા કેસ મૂડી એક પછી, અને અમે એક મૂડી ઉમેરવામાં ઓવરને અંતે માં બેક. મને ખબર છે કે તમે થોડા તમારો કોડ આ કર્યું છે. શું તમે કોઈપણ તમારા સબમિશન આ કરવું? તમે આ કરી હતી. તમે સમજાવવું આ શું કરે છે શકે છે, Sahb? તે બાદબાકી આઉટ, કારણ કે તમે તેને પછી તરત એક મોડ હતી દ્વારા, તમે તેને બહાર લઇ જવા માટે, જેથી માર્ગ તમે [ખાંસી] સ્થિતિ મેળવી છે. અને પછી તેને પછીથી પાછા ઉમેરીને તમે કે તમે ઇચ્છતા બદલાયું. અરે વાહ, બરાબર. Sahb શું કહ્યું હતું કે જ્યારે અમે ઍડ કરવા માંગો છો અમારા સંદેશ અને અમારા કીને એકસાથે અને પછી તે મોડ મોડ કે NUM_LETTERS દ્વારા, જો અમે યોગ્ય 0 થી 25 શ્રેણીમાં અમારા સંદેશ સ્કેલ કરી શકતા નથી પ્રથમ, તો પછી અમે અંત ખરેખર એક વિચિત્ર નંબર મેળવવામાં શકે છે કારણ કે કિંમતો છે કે અમે જ્યારે અમે [i] સંદેશ જોવા જોઈ રહ્યાં છો, , જ્યારે અમે અમારા સંદેશ સાદા લખાણ એ ઇથ અક્ષર જોવા કિંમત ક્યાંક છે અને આ 65 થી 122 ની રેન્જમાં લોઅરકેસ z મારફતે મોટા માટે ASCII કિંમતો પર આધારિત છે. અને એટલે જ્યારે અમે તેને 26 દ્વારા અથવા NUM_LETTERS દ્વારા mod, કારણ કે તે હતી અમારી # ઉપર જમણે અહીં વ્યાખ્યાયિત કરવા માટે, કે અમને મૂલ્ય છે કે જે 0 થી 25 ની રેન્જમાં છે આપી રહ્યું છે, અને અમે એક પછી બેક અપ પ્રમાણસર રીત જરૂર અને તે યોગ્ય ASCII રેન્જમાં મળે છે. સૌથી સહેલો રસ્તો છે કે શું માત્ર બધું પ્રમાણસર ડાઉન છે 0 ને 25 શ્રેણીમાં સાથે શરૂ કરવા માટે, અને પછી બધું પાછું ઓવરને અંતે અપ પાળી. અન્ય સામાન્ય ભૂલ કે મેં જોયું લોકો પણ છે કે જો તમે ખરેખર આ સ્કેલિંગ નથી અધિકાર દૂર અને તમે સંદેશ અને કી મળીને ઉમેરો અને તમે તેઓને ઉમેરો કહે છે, ચાર રચે ચલ હોય છે, સાથે સમસ્યા છે સંદેશો થી [i] પ્રમાણમાં મોટું શરૂ કરવા માટે નંબર છે સાથે યાદ તે 65 ઓછામાં ઓછા છે જો તે મોટા છે અક્ષરો જો તમારી પાસે મોટી કી, કહેવું, 100 કંઈક હોય છે, અને તમે 2 તે મળીને ઉમેરો સહી ઘરનાં પરચૂરણ કામો તમે ઓવરફ્લો વિચાર જઈ રહ્યાં છો માં. તમે એક કિંમત છે કે જે 127 કરતાં મોટી છે વિચાર જઈ રહ્યાં છો, જે સૌથી મોટી કિંમત છે કે જે ઘરનાં પરચૂરણ કામો ચલ પકડી શકે છે. ફરીથી, કે શા માટે તમે શરૂ વસ્તુ કે સૉર્ટ કરવા માંગો છો છો. કેટલાક લોકો તો બીજું કરવાનું અને પરીક્ષણ દ્વારા કે કેસ આસપાસ મળ્યું તેને છો ઓવરફ્લો જો જુઓ તે પહેલાં કરવું, પરંતુ આ રીતે કે આસપાસ નોંધાયો નહીં. અને પછી આ દ્રાવણમાં અમે ખૂબ ઓવરને અંતે સમગ્ર શબ્દમાળા મુદ્રિત. અન્ય લોકો એક સમયે એક અક્ષર મુદ્રિત. બંને અદ્ભુત છે. આ બિંદુએ, શું તમે ગાય્સ કોઇ પ્રશ્નો હોય તો, આ અંગે કોઈ પણ ટિપ્પણી? જે તમને ગમે, વસ્તુઓ તમને ન ગમતી? હું એક પ્રશ્ન હતો. કદાચ હું તેને તમારી સમજૂતી દરમિયાન ચૂકી છે, પરંતુ આ કેવી રીતે કાર્યક્રમ કરે છે લખાણ લંબાઈના કી કનેક્ટ માટે જગ્યાઓ અવગણો? આ માત્ર છે સીઝર સાઇફર. >> ઓહ, માફ કરશો, હા. અરે વાહ, અમે તે જોશો. સીઝર સાઇફર અમે કે આસપાસ મળ્યો હતો કારણ કે અમે ફક્ત અક્ષરો ઘસવું. અમે ફક્ત તેમને ફેરવ્યું જો તેઓ અપરકેસ અથવા લોઅરકેસ હતા. તમે ગાય્સ ખૂબ આ વિશે સારી લાગણી? આ ઘર નકલ મફત લાગે, તે લેવા, તે તમને ગાય્સ શું લખ્યું હતું તેની સરખામણી કરી. ચોક્કસપણે તે વિશે પ્રશ્નો પણ મોકલી શકો છો. અને ફરીથી ખ્યાલ છે, કે જે તમારી સમસ્યા સાથે અહીં ધ્યેય સુયોજિત કરે છે ન વિચાર તમે ગાય્સ તમારી સમસ્યા સમૂહો માટે પરિપૂર્ણ કોડ લખવા માટે છે. તે શીખવા અનુભવ છે. યાહ. પાછા ડુ જ્યારે લૂપ, જો તે બરોબર નલ, જેથી નલ માત્ર કંઇ અર્થ છે, તેઓ માત્ર દાખલ ફટકો? નલ ખાસ નિર્દેશક કિંમત છે, અને અમે નલ ઉપયોગ જ્યારે અમે કહેવું માંગો છો અમે નિર્દેશક ચલ છે કે જે કંઈ પોઇન્ટ છે. અને તેથી ખાસ કરીને તો એનો અર્થ એ છે કે આ ચલ, આ સંદેશને ચલ ખાલી છે, અને અહીં છે, કારણ કે અમે CS50 ખાસ શબ્દમાળા પ્રકાર ઉપયોગ કરી રહ્યા છો, આ CS50 શબ્દમાળા પ્રકાર શું છે? શું તમે જોઈ તે શું છે જ્યારે ડેવિડ પાછા વ્યાખ્યાન માં હૂડ ખેંચાય? તે એક ફંકી-તેને એક નિર્દેશક છે અધિકાર? ઠીક છે, હા. >> તે ચાર રચે છે * છે. અને તેથી ખરેખર અમે આ સ્થાને શકે અહીં ઘરનાં પરચૂરણ કામો * સંદેશ સાથે, અને તેથી GetString કાર્ય, જો તે સફળતાપૂર્વક વપરાશકર્તા તરફથી એક શબ્દમાળા ન થતું હોય, તે શબ્દમાળા પાર્સ, અને જેમાં એક કેસ તે શબ્દમાળા પદચ્છેદિત કરી શકતો નથી કરી શકો છો છે વપરાશકર્તા ફાઈલ અક્ષર નિયંત્રણ ડી ઓવરને પ્રકારો જો, જે કંઈક તમે વિશેષ કરીને નથી, પરંતુ જો આવું થાય પછી કાર્ય કહેતા એક માર્ગ તરીકે આ નલ કિંમત આપશે "અરે, હું એક શબ્દમાળા નથી." જો અમે સંદેશો = નલ મૂકી નથી તો શું થશે, જે કંઈક કે અમે હજુ સુધી કરવામાં આવી નથી કરી છે? કે જે સમસ્યા શા માટે અહીં છો? કારણ કે મને ખબર છે કે અમે મેમરી લીક્સ વિશે વ્યાખ્યાન માં થોડો વાત કરી. અરે વાહ, ચાલો કે કરે છે, અને આપણે શું બને છે. માતાનો બેસિલ પ્રશ્ન હતો શું થાય જો આપણે ખરેખર ન હોય આ સંદેશ = નલ પરીક્ષણ? ચાલો ઉપર સ્ક્રોલ. તમે ગાય્સ આ આઉટ ટિપ્પણી કરી શકે છે. ખરેખર, હું તે પુનરાવર્તન માં સાચવીશું. આ 3 પુનરાવર્તન થશે. તમે આ પ્રોગ્રામ રન કરવા પડશે શું છે તમે આ ગિયર ચિહ્ન અહીં ક્લિક કરો પડશે, અને તમે તેને એક દલીલ ઉમેરવા પડશે. તમે તેને કી દલીલ આપી છે કારણ કે અમે એ આદેશ વાક્ય દલીલ પાસ કરવા માંગો છો પડશે. અહીં હું તેને સંખ્યા 3 આપી જાઉં છું. હું 3 ગમે છે. હવે ફરી ઝૂમ આઉટ કાર્યક્રમ ચાલી રહ્યું છે. તે ચાલી રહ્યું છે, તે જ સંકલન, મકાન. અહીં અમે જાઓ. તે પૂછવામાં રાહ છે. જો હું હેલ્લો-જ્યાં કંઈક લખો કે ક્યાં ગયા હતા? ઓહ, મારા કાર્યક્રમ માટે ખૂબ લાંબા લીધો હતો. હું લાંબા સમય માટે jawing હતી. અહીં તે જાય છે. હવે હું હેલ્લો લખો. અમે જુઓ કે તે યોગ્ય એન્ક્રિપ્ટ. હવે શું થાય છે જો આપણે પ્રોમ્પ્ટ GetString કરવું નલ પાછા? યાદ રાખો, મેં કહ્યું કે અમે તે કર્યું તે જ સમયે નિયંત્રણ ડી દબાવીને. હું અહીં સ્ક્રોલ પડશે. અમે તે ફરીથી ચલાવવા પડશે. બિલ્ડિંગ. ત્યાં તેને જાય છે. હવે જ્યારે હું નિયંત્રણ ડી ફટકો હું આ વાક્ય કે opt/sandbox50/bin/run.sh કહે છે, વિભાગીય ખામી મળી. શું તમે ગાય્સ કે જે પહેલાં જોઈ? [વિદ્યાર્થી] શા માટે ત્યાં કોઈ >> માફ કરશો છે? [વિદ્યાર્થી] કેમ આ કેસમાં કોઈ કોર ડમ્પ છે? આ કોર ડમ્પ-છે પ્રશ્ન આ બોલ પર કોઈ કોર ડમ્પ ત્યાં શા માટે છે અહીં છે? તો પ્રશ્ન એ છે કે ત્યાં હોઈ શકે, પરંતુ કોર ડમ્પ ફાઇલ છે કે હાર્ડ ડ્રાઇવ પર સંગ્રહ નહીં. આ કિસ્સામાં અમે કોર ડમ્પ અક્ષમ કરી છે આ રન સર્વર પર કે જેથી અમે લોકો છે નથી faulting seg અને કોર ડમ્પ ટન મકાન. પરંતુ તમે એક વિચાર કરી શકે છે. કોર ડમ્પ વસ્તુ ના સૉર્ટ કરો કે તમે વારંવાર નિષ્ક્રિય કરી શકો છો, અને કયારેક તમે નથી. આ સેગ્મેન્ટેશન ક્ષતિમાં તમારા પ્રશ્નનો જવાબ આપવા, બેસિલ, છે જણાવ્યું હતું કે અમે એક નિર્દેશક ઍક્સેસ કરવાનો પ્રયાસ કર્યો કે કંઈપણ નિર્દેશિત કરવા માટે સેટ નથી આવ્યો હતો. વિડિઓ માં Binky યાદ રાખો જ્યારે Binky માટે પ્રયાસ કરે છે એક નિર્દેશક કે કંઈપણ નથી પોઇન્ટ છે ઍક્સેસ જાઓ? હું આ કિસ્સામાં ધારી ટેકનિકલી નિર્દેશક કંઈક કરવા માટે પોઇન્ટ છે. તે નલ, જે ટેકનિકલી 0 છે પોઇન્ટ છે, પરંતુ તે માટે એક સેગમેન્ટ માટે કે જે સુલભ નથી ગણવામાં આવે છે તમારા કાર્યક્રમ દ્વારા, તેથી તમે સેગ્મેન્ટેશન ક્ષતિમાં વિચાર કારણ કે તમે મેમરી નથી ઍક્સેસ કરો છો કે જે માન્ય સેગમેન્ટમાં છે આ ઢગલો સેગમેન્ટમાં અથવા સ્ટેક સેગમેન્ટમાં અથવા માહિતી સેગમેન્ટ જેવા હોય છે. સરસ. સીઝર વિશે કોઇ પ્રશ્નો? ચાલો પર ખસેડો. ચાલો 2 પુનરાવર્તન અંતે ખરેખર ઝડપથી જુઓ. કે Vigenère છે. અહીં Vigenère માં અમે આ એક મારફતે ખૂબ ઝડપથી કારણ કે પડશે ચાલવા ફરીથી, Vigenère અને સીઝર જેવી જ હોય ​​છે. હેડર ટિપ્પણી પહેલાં છે, # વ્યાખ્યાયિત છે પહેલા આ જાદુ નંબરો મદદથી ટાળવા માટે. આ સરસ વસ્તુ કહે છે અમે ખસેડવા માગતા હતા અલગ અથવા જેમ મૂળાક્ષર કંઈક. તેના બદલે જાતે જાઓ તમામ 26 કોડ માં ફેરફાર કર્યા કરતાં અમે આ 27 બદલવા અથવા તેને છોડો નીચે શકે જો અમે અલગ મૂળાક્ષરો, વિવિધ ભાષાઓ વાપરી હતી. ફરીથી, અમે દલીલ ગણતરી આ ચેક મળ્યો છે, અને ખરેખર તમે લગભગ એક નમૂના તરીકે આ લઈ શકો છો. ખૂબ સુંદર દરેક કાર્યક્રમ તમે લખવા હોવા જોઈએ જો તેને આદેશ વાક્ય દલીલો લે છે-કેટલીક રેખાઓ ક્રમ કે ખૂબ શરૂઆતમાં આ જેવા વાંચે છે. કે જે પ્રથમ સેનીટી પરીક્ષણો તમે કરવા માંગો છો હતો. અહીં અમે શું આપણે કર્યો છે કે ખાતરી કર્યા મુખ્ય શબ્દ માન્ય હતું, અને બીજા ચેક કે અમે કર્યું હતું. ફરી નોટિસ કે અમે argc અને 2 માંથી આ અલગ થયેલ છે. નોંધ કરો કે આ કિસ્સામાં એક વસ્તુ છે કે અમે શું હતું બદલે હતું હું એક ઉપયોગ અમે સમગ્ર શબ્દમાળા માન્ય માગતા હતા, અને ક્રમમાં કરવા માટે કે જે તમે ખરેખર અક્ષર દ્વારા અક્ષર જવું પડે શબ્દમાળા બનાવ્યા. કોઇ સારું તેની પર કંઈક કહી રીત છે કારણ કે ભલે, ઉદાહરણ તરીકે, એક હું 0 આપશે જો તે પૂર્ણાંક પદચ્છેદિત કરી શકતો નથી તેથી, તે પણ કામ કરતું નથી. ફરીથી, સરસ વપરાશકર્તા બરાબર કહેવાની સંદેશો શું થયું. પછી અહીં ફરી, અમે પણ કેસ હેન્ડલ જ્યાં નિયંત્રણ ડી રેન્ડમ અક્ષર વપરાશકર્તા પ્રકારો. અને પછી ચાર્લોટ કેવી રીતે અમે જગ્યાઓ અવગણો વ્યવસ્થા અંગે પ્રશ્ન અગાઉ અમારા અહીં શબ્દમાળા છે. આ પ્રકારની અમે શું માયસ્પેસ કાર્યક્રમ સાથે કર્યું જેવી જ હતી કે અમે વિભાગમાં હતી, અને જે રીતે આ કામ કર્યું છે કે અમે અક્ષરો કે અમે જોવા માગતા હો સંખ્યા ટ્રેક. આપણે મેસેજ શબ્દમાળા પર ચાલ્યો, કારણ કે અમે પાત્ર દ્વારા અક્ષર પર ચાલ્યો, અમે અમારા ઓફ લૂપ માટે ભાગ તરીકે ઇન્ડેક્સ ટ્રેક, અને પછી અમે પણ ટ્રેક અક્ષરો સંખ્યા, જેથી બિન વિશિષ્ટ અક્ષરો, બિન અંકો, બિન સફેદ જગ્યા કે અમે અલગ ચલ જોવા માંગો છો. અને પછી આ ઉકેલ કી સુધારે એક વાસ્તવિક કી પૂર્ણાંક વિચાર, અને તે ફ્લાય પર કરે છે, અધિકાર તે પહેલાં પછી વાસ્તવિક સંદેશો એનક્રિપ્ટ અક્ષર જાય છે. કેટલાક ઉકેલો કે સંપૂર્ણપણે મહાન પણ ઉપલબ્ધ હતા કે કી સંશોધિત અપ જ્યારે કી માન્યતા માટે પરીક્ષણ કરશે. તેની ખાતરી કરીને ઉપરાંત કે જે અક્ષર અને કીવર્ડ હતી એ વર્ણમાળાનો અક્ષર છે તે પણ એક પૂર્ણાંક માં કે ચાલુ 0 ને 25 શ્રેણીમાં પછી પર જે પાછળથી લૂપ માટે આ શું રહી ચૂક્યા છે. ફરીથી, તમે અહીં જુઓ આ ખરેખર ચોક્કસ જ કોડ છે કે અમે આ સમયે સીઝર વપરાય છે. તમે ચોક્કસ જ વાત કરી રહ્યા છીએ, જેથી વાસ્તવિક યુક્તિ આઉટ figuring છે કેવી રીતે પૂર્ણાંક માં કીવર્ડ ચાલુ કરવા માટે. એક વસ્તુ છે કે અમે અહીં હતી કે થોડા ગાઢ છે છે અમે આ શબ્દસમૂહ વારંવાર, હું માનું તો તમે તેને કહી શકે છે, 58 રેખાઓ, 59, અને 61 પર 3 અલગ સમય. કોઈકને સમજાવી શું બરાબર આ શબ્દસમૂહ કરે શકે છે? તે એક અક્ષર ઍક્સેસ છે, જેમ તમે જણાવ્યું હતું. અરે વાહ, તે [અશ્રાવ્ય] મુખ્ય શબ્દ એક પાત્ર છે, અને તેથી તે જોઈ અક્ષરોના નંબર છે કારણ કે તમે માત્ર સાથે ખસેડીએ છીએ મુખ્ય શબ્દ એક વાર તમે પત્ર જોઇ છે, જેથી અસરકારક જગ્યાઓ અને જેમ સામગ્રી સુધી અવગણો બનશે. અરે વાહ, બરાબર. અને પછી એક વાર તમે કીવર્ડ ખાલી તમે હમણાં મોડ જોઇ છે, જેથી તમે પાછા આસપાસ ખસેડો. બરાબર. કે જે સંપૂર્ણ સમજૂતી છે. કેપી જણાવ્યું હતું કે શું છે કે અમે મુખ્ય શબ્દ માં ઇન્ડેક્સ કરવા માંગો છો. અમે num_letters_seen પાત્ર મેળવવા માંગો છો, તો તમે કરશે જો, પરંતુ જો num_letters_seen મુખ્ય શબ્દ લંબાઈ કરતાં વધી જાય, આ રીતે આપણે યોગ્ય શ્રેણીમાં પાછા મળી છે અમે મોડ ઓપરેટર ઉપયોગ અસરકારક ફરતે વીંટળાય છે. ઉદાહરણ તરીકે, ટૂંકી જેમ, અમારા કીવર્ડ બેકન છે, અને તે 5 અક્ષરો લાંબો છે. પરંતુ અમે આ સમયે અમારા સાદા લખાણમાં 6 અક્ષરો જોઇ છે અને એનક્રિપ્ટ થયેલ 6. અમે અંત num_letters_seen ઍક્સેસ હશે, જે 6 છે, મોડ મુખ્ય શબ્દ લંબાઈ, 5, અને તેથી અમે 1 વિચાર, અને પડશે જેથી અમે કરીશ કે અમે શું કરીશું છે તે સમયે અમારા કીવર્ડ પ્રથમ અક્ષર અંદર ઍક્સેસ કરો. તમામ હક, Vigenère પર કોઈપણ પ્રશ્નો પહેલાં અમે ખસેડવા? તમે ગાય્સ ખૂબ આ વિશે સારી લાગણી? સરસ, મહાન. હું ખાતરી કરો કે તમે ગાય્ઝ માટે કોડ જોઈ તક મળી રહ્યો છે બનાવવા માંગો છો કે અમને લાગે છે કે સારું લાગે છે અને તે જાણવા તક હોય છે. આ છેલ્લા પ્રયત્ન અમે હોવા સમય માટે જગ્યાઓ શકાય મદદથી પડશે રહ્યું છે, અને અમે સંક્રમણ માટે જઈ રહ્યાં છો, હવે, અને હું cs50.net/lectures પર જાઓ જાઉં છું તેથી અમે ક્વિઝ સમીક્ષા કરવામાં થોડો કરી શકો છો. શ્રેષ્ઠ રસ્તો હું ક્વિઝ સમીક્ષા કરી શરૂ લાગે આ વ્યાખ્યાનો પાનું આવવા છે, cs50.net/lectures, અને સપ્તાહ હેડિંગ દરેક નીચે છે, તેથી જો હું 0 અઠવાડિયું અંતે અહીં જુઓ, હું જોઈ કે અમે વિષયોની યાદી છે કે જે અમે 0 અઠવાડિયું માં આવરાયેલ છે. જો આ વિષયો કોઇ તમારાથી અપરિચિત લાગે છે તમે ચોક્કસપણે પાછા જાઓ અને વ્યાખ્યાન નોંધો અને કદાચ ભટકવું પડશે માંગો છો પણ વ્યાખ્યાન દ્વારા મલાઈ કાઢી લીધેલું, તેમને ફરીથી જુઓ જો તમે કરવા માંગો છો શું તે વિષયો દરેક સાથે ચાલી રહ્યું છે માટે લાગણી છે. હું આ ઉપરાંત ઠંડા સાધનો અમે મળી છે આ વર્ષે એક કહેવું પડશે આ ટૂંકી ફિલ્મ કે અમે બનાવેલ છે, અને જો તમે 0 અઠવાડિયું જોવા, અમે વિષયો આવરી લેવામાં તમામ નથી, પરંતુ અમે તેમને ખૂબ થોડા મળ્યો છે, આ trickier મુદ્દાઓ કેટલાક, તેથી આ ટૂંકી ફિલ્મ ફરી જોવાનું એક સારા માટે તમે વિચાર સુધી ઝડપ માર્ગ છે. ખાસ કરીને, હું 3 માટે એક પ્લગ તળિયે, મૂકી ત્યારથી હું તે કર્યું જાઉં છું. પરંતુ જો તમે બાઈનરી સાથે સંઘર્ષ કરી રહ્યાં છો, બીટ્સ, હેક્સ, સામગ્રી તે પ્રકારના, દ્વિસંગી એક મહાન શરૂ કરવા સ્થળ છે. તે ASCII અન્ય એક કે ખૂબ જોવા સારું છે. તમે પણ મને 1.5x ગતિ જોઈ શકો છો જો હું તમારા માટે બહુ ધીમું જાઉં છું. તે સમીક્ષા થી, કે શું મફત લાગે. જસ્ટ ખરેખર ઝડપથી શરૂ કરવા માટે, અમે આ ક્વિઝ સમસ્યાઓ થોડા પસાર જઈ રહ્યાં છો માત્ર તરત જ આ મારફતે વલોણું છે. ઉદાહરણ તરીકે, ચાલો 16 સમસ્યા જોવા કે હું અધિકાર અહીં બોર્ડ પર મેળવ્યા છે. અમે દ્વિસંગી આ નીચેના ગણતરી મળી છે, અને અમે કોઇ પણ કાર્ય બતાવવા માંગો છો. ઠીક છે, હું આ શોટ આપી જાઉં છું. તમે ગાય્સ સાથે કાગળ સાથે અનુસરવા જોઈએ, અને અમે આ ખરેખર ઝડપથી કરવું પડશે. અમે દ્વિસંગી નીચેના ગણતરી કરવા માંગો. હું 00110010 મેળવ્યા છે. અને હું તેને 00110010 ઉમેરવા જાઉં છું. ગણિત માટે સાથે ઘરમાં નીચેના જીનિયસોના, આ અસરકારક રીતે 2 દ્વારા ગુણાકાર છે. ચાલો શરૂ કરીએ. અમે એ જ વધુમાં અલ્ગોરિધમનો કે અમે શું અનુસરો જઈ રહ્યાં છો જ્યારે અમે અક્ષાંશ નંબરો મળીને ઉમેરો. ખરેખર માત્ર અહીં તફાવત છે અમે પાછા આસપાસ લૂપ કે એકવાર અમે + 1 બદલે 1 એકવાર અમે 10 થી વિચાર છે. જો અમે જમણેથી શરૂ કરવા માટે, ખરેખર ઝડપથી શું પ્રથમ આંકડાના છે? [વિદ્યાર્થી] 0. >> [Nate એચ] 0. સરસ, બીજા આંકડાના? 1 [વિદ્યાર્થી]. [Nate એચ] તે 1 છે? 1 + 1 છે? [10 વિદ્યાર્થી]. [Nate એચ] ચોક્કસ, તેથી શું આંકડાના એ છે કે હું 2 મળીને ઉમેરવામાં મુદ્દાઓ નીચે જમણી લખી? [વિદ્યાર્થી 1], 0, અથવા 0 અને પછી 1 છે કરે છે. [Nate એચ] 0 અને 1 એ લઈ આવે છે, બરાબર. આગામી એક અપ બેસિલ, તમે છો. ત્રીજા શું >> [બેસિલ] 1. [Nate એચ 1], સંપૂર્ણ છે. કેપી? [કેપી] 0. >> [Nate એચ] 0, શાર્લોટ? [ચાર્લોટ] 0. >> [Nate એચ] અરે વાહ, અને હું શું કરી શકું? [વિદ્યાર્થી 1] છે. [Nate એચ] અને હું શું કરી શકું? અને પછી હું 1 છે કરે છે. પરફેક્ટ, Sahb >>? [Sahb] હવે તમે 1 હોય છે. [Nate એચ] અને હું કાંઇ અહીં છે? [Sahb] પછી આગામી એક તમે 1 હોય છે કારણ કે તમે 1 પર હાથ ધરવામાં છે. [Nate એચ] ગ્રેટ છે, તેથી અહીં અમે તેને સમાપ્ત અપ કરી શકો છો. સરસ. [વિદ્યાર્થી] 0 0 + = 0 કરે છે? 0 + 0 = 0. + 1 1 જેમ તમે જણાવ્યું હતું કે, 10, અથવા 1, 0 બદલે. 10 એક ખોટું નામ છે કેમ કે મને 10, 10 નંબર અર્થ થાય છે, અને તે કેવી રીતે અમે તેને રજૂ કરી રહ્યાં છે ત્યારે અમે તેને લખી રહ્યાં ના બોલવા કરવામાં નીકળી જવાની યુકિત છે. અમે 0 1 દ્વારા 2 નંબર પ્રતિનિધિત્વ કરે છે, અને 10 નંબર સહેજ અલગ હોય છે. દ્વિસંગી વિશે સરસ પ્રકારની શું છે કે ત્યાં ખરેખર છે કે ઘણા નથી કિસ્સાઓમાં તમે શીખવા માટે જરૂર છે. ત્યાં 0 + 0 = 0, 1 + 1 = 0 છે, + 1 1 0 છે, અને પછી એક હાથ ધરવા 1, અને પછી તમે અહીં જમણેથી ત્રીજા સ્તંભ પર જોઈ શકો છો અમે 1 આ, 1, અને 1 હતી. અને 1 1 + 1 + 1 છે, અને તમે 1 અન્ય કરે છે. જ્યારે તમે બાઈનરી વધુમાં કરી રહ્યા છીએ, ખૂબ સરળ હોય છે. હું એક દંપતી આ વધુ કરવા માટે સેનીટી તમે પોતે જ તપાસો છો પહેલાં તમે કારણ કે આ છે જાઓ કદાચ કંઈક કે અમે ક્વિઝ પર જોઈ શકશો. હવે આગામી એક તેમજ દો. હિસ્સો 17 સમસ્યા દો. અમે અક્ષાંશ નીચેના દ્વિસંગી નંબર કન્વર્ટ રહ્યા છીએ. હું 10100111001 મેળવ્યા છે. બાઈનરી વિડિઓ કે હું કર્યું યાદ રાખો હું ઉદાહરણો એક દંપતી દ્વારા ચાલ્યો, અને હું કેવી રીતે દર્શાવે છે બધું કામ કરે છે જ્યારે તમે તેને અક્ષાંશ માં કરી રહ્યા છીએ. જ્યારે તમે રેખાંશ રજૂઆત કામ કરી રહ્યાં છે મને લાગે છે કે અમે છો અમારા જીવનમાં આ બિંદુએ તેથી તેને અસ્ખલિત છે કે તે સારુ સરળ ઉપર તે કેવી રીતે કાર્ય કરે છે તે ખરેખર મિકેનિક્સ ચળકાટ. પરંતુ ઝડપી રીકેપ કરવું, જો હું 137 નંબર હોય આ ખરેખર ફરીથી, આ રેખાંશ છે અને એનો અર્થ એ થાય પ્રતિનિધિત્વ- અક્ષાંશ માં 137 નંબર અર્થ એ થાય કે હું 1 x 100 3 + 10 x 7 + 1 x હોય છે. આ બધા સ્ક્રીન પર રહેતા હોય છે. અને પછી જો તમે આ નંબરો પર અહીં જુઓ, 10 100, અને 1, તમે જુઓ છો કે તેઓ વાસ્તવમાં છો 10 ના તમામ સત્તાઓ ધરાવે છે. હું શૂન્ય થી 10 કિમી, 10 ¹, અને 10 છે. અમે દ્વિસંગી માં વસ્તુ એક સમાન પ્રકારના હોય છે, સિવાય કે અમારી આધાર, કારણ કે અમે તેને કૉલ, 10 ને બદલે 2 છે. આ 10s કે હું નીચે તળિયે અહીં લખ્યું હતું, આ 10 ચોરસ, 10 ¹, 10 શૂન્ય 10, અમારી આધાર છે, અને હિમાયતી, 0, 1, અથવા 2, છે કે અમે નંબર લખી માં આંકડાના સ્થિતિ દ્વારા સૂચિત. 1, જો અમે તેને જોવા, 1 આ 2 જી સ્થિતિમાં છે. આ 3 1 લી સ્થિતિમાં છે, અને 7 ના 0th સ્થિતિમાં છે. કે કેવી રીતે અમે અમારી પાયા માટે વિવિધ નીચે પ્રતિનિધિઓ છે. આ we'll-ખરેખર તમામ બાદ, તમે શું જાણો છો? અમે કરીએ છીએ-જ્યાં મારા બટન પૂર્વવત્ જઈશ હતી? ત્યાં તેને જાય છે. હું પ્રેમ આ વસ્તુ પૂર્વવત્ કરો. આ બાદ હું મારા માટે ઓછામાં ઓછા લાગે છે આ સૌથી સરળ દ્વિસંગી નંબર રૂપાંતરિત શરૂ માર્ગ અથવા હેક્સાડેસિમલ નંબર જ્યાં આધાર 16 છે અને 2 10 નથી અથવા આગળ વધો અને લખી છે મારો ટોચ પર દ્વિસંગી સંખ્યામાં નંબરો બધા માટે અને પાયા પ્રતિનિધિઓ. જો અમે ડાબી બાજુથી જમણી ફરીથી શરૂ કરવા માટે, જે અંતઃપ્રજ્ઞાની વિરૂદ્ધ પ્રકારની છે, હું પાછા કાળા અહીં બદલી શકશો, અમે 0th સ્થિતિ માટે 2 છે, અને પછી અમે 2 હોય ¹, 2 કિમી, અને 3, 6 2 થી 4 ના 2, 5 કરવા, માટે 2 પછી, 7, 8, 9 અને 10. આ સંખ્યાઓ હું તેવા પરચૂરણ ખર્ચ કરેલા તમામ પ્રતિનિધિઓ છે. હું માત્ર પાયા અહીં લખ્યું જગ્યા માટે માત્ર પ્રથમ 3 માં. આ બિંદુએ હું આગળ જઈ રહ્યો છું અને હું વાસ્તવમાં ભૂંસવું જાઉં છું તે સામગ્રી છે કે અમે અક્ષાંશ કર્યું હતું, જો કે ઠીક છે. તમે બધા મેળવ્યા છે. તમે તેમને ઑનલાઇન જોવાનું મને ખાતરી છે કે છું મને રીવાઇન્ડ જો તમે ઇચ્છો કરવાનો પ્રયત્ન કરશે. પેન પર પાછા સ્વિચ. હવે, અમે શું કરવું-જો તમે આ કરી શકો છો ગાય્સ તદ્દન અપ માટે 2 તમારા સત્તા પર ઝડપ ન હોય તો, કે તદ્દન ઠંડી છે. આવું થાય. હું સમજું છું. હું એક વખત નોકરી ઇન્ટરવ્યૂ હતો જ્યાં મને કહેવામાં આવ્યું કે હું 2 તમામ સત્તાઓ જાણવું જોઇએ દ્વારા ઉપર 2 30 છે. તે કામ હું મળ્યો ન હતો. કોઈપણ રીતે, તમે ગાય્સ આગળ વધો અને ગણિત અહીં કરી શકો છો, પરંતુ બાઈનરી સાથે તેને ખરેખર અર્થમાં નથી, અને ન તો એ અક્ષાંશ અથવા હેક્સાડેસિમલ સાથે નથી અર્થમાં ક્યાં કરો, માટે તમે જ્યાં zeros હોય બહાર ગણિત નથી. તમે જોઈ શકો છો કે હું અહીં 0 હોય, તો એક 0 અહીં, અહીં 0 0 છે, અહીં, અહીં 0 0 છે, અહીં. શા માટે બનાવવા માટે વાસ્તવિક ગણિત નથી શકે અર્થમાં આ પદ માટે 2 યોગ્ય સત્તા ગણતરી? બરાબર, જેમ ચાર્લોટ જણાવ્યું હતું કે, તે 0 રહેશે. તેમજ જાતે સમય બચાવી શકે છે જો 2 સત્તાઓ ગણતરી તમારા મજબૂત દાવો નથી. આ કિસ્સામાં અમે ફક્ત 2 માટે તે 0 જે ગણતરી કરવાની જરૂર-છે? 1 [વિદ્યાર્થી]. [Nate એચ 1], 3 થી 2 જે? [વિદ્યાર્થી] 8. >> [Nate એચ] 8. 2 થી 4 ના? [2 વિદ્યાર્થી]. હું દિલગીર છું, 1. [Nate એચ] 2 જે 4 થી 16 બરાબર છે. 2 5 કરવા માટે, કેવિન 32 >>. [Nate એચ] 32, 8 માટે 2? [વિદ્યાર્થી] 32 8 એક્સ, 256. [Nate એચ] પરફેક્ટ. અને 2 10 માટે? [વિદ્યાર્થી] 1024. [Nate એચ] અરે વાહ, 1024. એકવાર અમે આ નંબરો અમે તેમને બધા સરવાળો અપ કરી શકો છો મેળવ્યા છે. અને આ છે જ્યાં તે ખરેખર મહત્વનું છે માટે વસ્તુઓ એક દંપતી નથી. એક ધીમી જાઓ અને તમારા વર્ક તપાસો. કે જે તમને ત્યાં 1 એક છે અને આ નંબર ઓવરને અંતે કહી શકે છે, તેથી હું નિશ્ચિતપણે મારા પરિણામ તરીકે વિચિત્ર નંબર મેળવવા જોઈએ, કારણ કે બીજા બધા મુદ્દાઓ પર પણ હોઈ નંબરો જવું છે આપેલ છે કે તે બાઈનરી નંબર છે. અન્ય બાબત છે જો તમે પરીક્ષણ પર આ બોલ પર વિચાર અને તમે તેને તેવા પરચૂરણ ખર્ચ કર્યો છે આ અત્યાર સુધી અને તમે બહાર સમય ચલાવી રહ્યા છો પોઇન્ટ્સની સંખ્યાના જોવા કે આ સમસ્યા વર્થ છે. આ સમસ્યા, ઝડપથી તરીકે તમે જુઓ જો હું મારા લૅપટૉપ પર પાછા ખરેખર વિમાનની મુસાફરી કરી શકો છો આ સમસ્યા 2 પોઈન્ટ વર્થ છે, તેથી આ ઉપરાંત આ પ્રકારના નથી તમે પસાર થઇ થવો જોઈએ જો તમે ખરેખર સમય માટે દબાવવામાં કરી રહ્યાં છો. પરંતુ અમે પાછા આઇપેડ પર સ્વિચ કરવા માટે, અને પડશે તો અમે તેને મારફતે ખરેખર ઝડપથી જાઓ પડશે. હું નાના નંબરો પ્રથમ કરવાનું ગમે છે કારણ કે હું તે શોધવામાં સરળ. હું 32 અને 8 ગમે છે કારણ કે તેઓ એકબીજા સાથે ખૂબ સરળતાથી જાય છે, અને અમે 50 મેળવો. 16 અને 1 17 રન નોંધાયો નહીં. ત્યાં અમે 57 વિચાર, અને પછી અમે આ બાકીના કરવા માટે, જેથી અમે 57 શકો છો કરી શકો છો, 156. પર આવો. મેન, સાથે સાથે, ચાલો જુઓ. અમે 57, 256, અને 1024 હતો. આ બિંદુએ, હું બદલે માત્ર પસાર છો. હું કોઈ ચાવી હોય છે. હું સ્પષ્ટ કરવા માટે આ પર વાંચી જરૂર છે. 7, 6 અને 4, તમે 17 મેળવો. 1, 5, 5, 2, 13. તો પછી અમે 3 મેળવવા માટે, અને પછી અમે 1 મેળવો. 1337. ઇસ્ટર એગ, કોઈની? કોઈની આ નંબર ઓળખી? ક્રિસ સંખ્યા ઓળખે છે. તે શું નથી, ક્રિસ અર્થ આ છે? [સીએચ] Leet. Leet, તેથી જો તમે આ જોવા, તે leet જેવો દેખાય છે. હેકર સામગ્રી. આ વચગાળાની અથવા ક્વિઝ બદલે પર સામગ્રી તે પ્રકારના માટે જુઓ. જો તમે સામગ્રી તે પ્રકારના જુઓ અને તમે આશ્ચર્ય પામી રહ્યાં છો "ઓહ," કે ખરેખર કંઈક અર્થ શકે છે. મને ખબર નથી. ડેવિડ તેને મૂકવા પસંદો સાઇન તે એક સારો સેનીટી તેની તપાસ રીત છે. ઠીક જેમ, હું જોઈ શકો છો શું થઈ રહ્યું છે. કે 0/Week 1 અઠવાડિયું સામગ્રી છે. જો અમે અમારી લેપટોપ પર પાછા હવે સ્વિચ, બહાર ઝૂમ, અને અન્ય વસ્તુઓ એક દંપતિ. ત્યાં તે ASCII છે, કે જે અમે સમસ્યા સેટ થઈ ઘણો કરી. મૂડી એ આ ખ્યાલ શું છે કે જે ખરેખર છે? જાણવાનું તેને અક્ષાંશ પૂર્ણાંક છે. 65 છે જે તે ASCII ટેબલ મેપ છે, અને તેથી કેવી રીતે કમ્પ્યૂટર તે લખે છે, અને તે કેવી રીતે અમે ખરેખર લખવા થઈ દૂર મેળવવામાં અક્ષર મૂડી એક અને પાત્ર લોઅરકેસ આ ઉકેલો અને સમસ્યા સમૂહો કે તમે કરી રહ્યો છું કેટલાક. અન્ય વસ્તુઓ એક દંપતિ. અમે નિવેદનો, બુલિયન અભિવ્યક્તિઓ, શરતો, આંટીઓ, ચલો અને થ્રેડો મેળવ્યા છે. તે બધા માટે મોટા ભાગના અર્થમાં બનાવવા લાગે છે? આ પરિભાષા કેટલાક સમયે થોડી ફંકી છે. હું સૌથી ભાગ કંઈક કે અર્ધવિરામ સાથે સમાપ્ત થાય છે માટે એક નિવેદનમાં લાગે ગમે છે. એક્સ જેમ કે નિવેદનો = 7, કે જે ચલ સુયોજિત કરે છે, કદાચ x 7 = કહેવાય છે. કદાચ એક્સ પણ એક પ્રકાર છે કે જે નંબર 7 સ્ટોર કરી શકે છે, તેથી તે પૂર્ણાંક અથવા કદાચ ફ્લોટ અથવા ટૂંકા અથવા ઘરનાં પરચૂરણ કામો છે, આવું જ કંઇક. એ બુલિયન અભિવ્યક્તિ આ ડબલ ઉપયોગ કરી રહ્યા છે સમકક્ષ અને બેંગ સમકક્ષ અથવા સમકક્ષ નથી કરતા ઓછા, કરતા વધારે, કરતાં ઓછી અથવા, સામગ્રી તમામ પ્રકારની સમાન. શરતો પછી જો બીજું નિવેદનો છે. હું યાદ છે કે તમે એક જો અનુરૂપ વગર બીજું હોઈ શકે નહિં. તેવી જ રીતે, તમે જો અનુરૂપ વગર જો બીજું હોઈ શકે નહિં. આંટીઓ, લૂપ્સના 3 પ્રકારના અમે તમને માં સતત પ્રહાર અથવા મારપીટ કરી છે યાદ વિભાગો અને સમસ્યા સમૂહો ના છેલ્લા દંપતી માટે. નથી વાપરી રહ્યા છે, જ્યારે જ્યારે તમે વપરાશકર્તા ઈનપુટ મળી રહ્યા હોય, મદદથી જ્યારે ચોક્કસ સ્થિતિ સુધી આંટીઓ સાચું છે, અને પછી આંટીઓ માટે તે વાપરી રહ્યા છે જો તમે જરૂર ખબર લૂપની પુનરાવૃત્તિ જે તમે હાલમાં છો હું કેવી રીતે તે વિશે વિચારો. અથવા જો તમે શબ્દમાળા હું કંઈક કરવા માંગો છો દરેક અક્ષર માટે એક કરી રહ્યા છીએ, ઝાકઝમાળ હું તત્વ માટે કંઈક કરવા માંગો છો દરેક તત્વ છે. થ્રેડો અને ઇવેન્ટ્સ. અમે આ તેથી સ્પષ્ટપણે સી ન આવરી લેવામાં આવ્યા છે, પરંતુ સ્ક્રેચ માંથી આ યાદ રાખો. આ અલગ સ્ક્રિપ્ટો કર્યા કલ્પના છે. આ પણ એક ઘટના પ્રસારણ આ કલ્પના છે. કેટલાક લોકો પ્રસારણ તેમના પ્રોજેક્ટમાં શરૂઆતમાં ઉપયોગ નથી કર્યો, જે તદ્દન ઠંડી હોય છે, પરંતુ આ આ વધુ મોટી સમસ્યા સંભાળતા 2 અલગ અલગ રીતે સમાંતર કહેવાય છે, જે તમે કાર્યક્રમો ચલાવવા માટે કેવી રીતે અથવા મોટે ભાગે એક જ સમયે ચલાવવા? વિવિધ કાર્યો ચાલી, જ્યારે અન્ય ક્રિયાઓ પણ ચાલી રહ્યું છે. આ રીતે તમારી ઓપરેટિંગ સિસ્ટમ માટે કામ લાગે છે. આ પણ શા માટે છતાં, ઉદાહરણ તરીકે છે, હું મારું બ્રાઉઝર મળ્યો ચાલી કર્યું છે, હું પણ Spotify ચાલુ કરી શકો છો અને એક ગીત રમે છે. કે સૈદ્ધાંતિક સમજવા માટે વસ્તુ વધુ છે. હું ટૂંકા થ્રેડ્સ પર એક નજર આવશે જો તમે તે વિશે વધુ જાણવા માંગો છો. ચાલો જોવા માટે, હું માનું છું કે ત્યાં હોઇ શકે છે આમાંનું એક માં આ સમસ્યા. ફરીથી, મને લાગે છે થ્રેડો અને ઘટનાઓ કંઈક કે અમે સી કવર કરશે નથી માત્ર કારણ કે તે નોંધપાત્ર છે વધુ સ્ક્રેચ કરતા મુશ્કેલ. તમે તેના વિશે ત્યાં ચિંતા જોઇએ, પરંતુ ચોક્કસપણે ખ્યાલ સમજી સમજી શું ચાલી રહ્યું છે. પહેલાં અમે ખસેડવા માટે, અઠવાડિયું પર કોઈપણ પ્રશ્નો 0 સામગ્રી? એવરીબડી ખૂબ સારી લાગણી? સમજ ચલો અને શું ચલ છે? પર ખસેડી રહ્યા છીએ. 1 અઠવાડિયું. વસ્તુઓ અહીં દંપતી કે ખાસ કરીને ન આવરી લેવામાં આવ્યા હતા ક્વિઝ સમીક્ષા જરૂરી અને વધુ પ્રત્યયાત્મક માટે વિશે વિચારો વસ્તુઓ છે. પ્રથમ સ્ત્રોત કોડ કમ્પાઇલરોનો, અને પદાર્થ કોડ શું છે આ કલ્પના છે. કોઈની? બેસિલ. છે પદાર્થ કોડ હું અર્થ સ્રોત કોડ છે તમે શું રણકાર મૂકવામાં, અને પદાર્થ કોડ છે રણકાર કયા જેથી મૂકે છે કે જે તમારા કમ્પ્યુટરને કાર્યક્રમ વાંચી શકે છે. બરાબર. સોર્સ કોડ સી કોડ કે જે તમે ખરેખર અપ લખો છે. ઑબ્જેક્ટ કોડ છે તમે શું રણકાર નીકળી જાય છે. તે 0s અને તે બાઈનરી બંધારણમાં 1 સે છે. પછી થાય છે શું છે જ્યારે તમે પદાર્થ ફાઈલો સમૂહ છે, કહેવું તમે એક પ્રોજેક્ટ અથવા કાર્યક્રમ છે કે જે બહુવિધ સ્ત્રોત કોડ ફાઈલો વાપરે સંકલન કરી રહ્યાં છો, જે પરંપરા દ્વારા સી. ફાઈલ એક્સટેન્સન આપવામાં આવે છે. તેથી જ અમે caesar.c vigenère.c હોય છે. જો તમે જાવા કાર્યક્રમો લખી રહ્યાં તમે તેમને એક્સટેન્શન આપી java.. Python કાર્યક્રમો વિસ્તરણ છે py વાર.. એકવાર તમે બહુવિધ. કેચ ફાઈલો હોય, તો તમે તેને કમ્પાઇલ. રણકાર આ તમામ દ્વિસંગી જંક spits. પછી કારણ કે તમે માત્ર 1 કાર્યક્રમ માંગો છો તમે linker કડી આ પદાર્થ ભેગા ફાઈલો હોય 1 એક્ઝેક્યુટેબલ ફાઇલમાં. આ તે જ છે જ્યારે તમે CS50 પુસ્તકાલય ઉપયોગ ઉદાહરણ તરીકે, બને છે. આ CS50 પુસ્તકાલય બંને કે-h હેડર ફાઇલ છે. કે જે તમે વાંચી, # includecs50.h છે. અને પછી તેને પણ એક ખાસ દ્વિસંગી પુસ્તકાલય ફાઈલ છે કે એકત્ર કરવામાં આવ્યું છે કે 0s અને 1 સે છે, અને જે l ધ્વજ, તેથી જો આપણે સ્પેસીસ પર જાઓ અને અમે ખરેખર ઝડપથી જોવા શું થઈ રહ્યું છે તે અહીં જ્યારે અમે અમારા રણકાર આદેશ જોવા અંતે, અમે મળી છે શું છે કે આ અમારી સ્રોત કોડ ફાઈલ અહીં છે. આ કમ્પાઈલર ફ્લેગો સમૂહ છે. અને પછી ખૂબ જ ઓવરને અંતે, આ l ફ્લેગો કડી માં આ 2 લાઈબ્રેરીઓ માટે વાસ્તવિક દ્વિસંગી ફાઈલો, જે CS50 પુસ્તકાલય અને પછી ગણિત લાઇબ્રેરી. 'ફાઇલોને હેતુ દરેક પ્રકારની સમજ સંકલન પ્રક્રિયામાં કંઈક તમે ઇચ્છો પડશે કરવા માટે કરવાનો પ્રયત્ન છે ઓછામાં ઓછા એક ઉચ્ચ સ્તર ઝાંખી આપે છે. સોર્સ કોડ આવે સાઇન ઑબ્જેક્ટ કોડ બહાર આવે છે. ઑબ્જેક્ટ કોડ ફાઇલો સાથે મળીને લિંક છે, અને તમે એક સુંદર, એક્ઝેક્યુટેબલ ફાઈલ મેળવો. સરસ. આ પણ છે જ્યાં તમે બહુવિધ પોઈન્ટ ભૂલો મળી શકે સંકલન પ્રક્રિયા છે. આ જ્યાં, ઉદાહરણ તરીકે, જો તમે આ લિંક ધ્વજ લઇ છે આ CS50 ધ્વજ, અને તમે તેને ભૂલી જવું સ્પેસીસ માં અથવા જ્યારે તમે તમારા કોડ ચલાવી રહ્યા છો, આ છે જ્યાં તમે લિંક તબક્કામાં એક ભૂલ મળશે, અને linker કહે, "અરે, તમે એક કાર્ય GetString કહેવાય આવશે કે CS50 પુસ્તકાલયમાં છે. " "તમે મને કહ્યું કે તે CS50 પુસ્તકાલય હતો, અને હું તે માટે કોડ શોધી શકતા નથી." કે જ્યાં તમે તેને લિંક હોય છે, અને તે અલગ છે કમ્પાઇલર ભૂલ કારણે કમ્પાઇલર વાક્યરચના અને સામગ્રી તે પ્રકારના જોઈ છે. તે સારી છે તે જાણવા માટે શું ચાલી રહ્યું છે ત્યારે. અન્ય બાબતો વિશે જાણવા માટે. હું એમ કહીશ તમે નિશ્ચિતપણે ટાઇપકાસ્ટિંગ પર ટૂંકા જોર્ડન દ્વારા કરવામાં પર એક નજર કરવા માંગો છો સમજવા માટે ints શું હૂડ હેઠળ છે, અક્ષરો શું હૂડ હેઠળ છે. , જ્યારે અમે તે ASCII વિશે વાત કરીએ છીએ અને અમે ખરેખર તે ASCII ટેબલ પર નજર શું કરવાનું છે કે અમને આપે છે હૂડ દેખાવ હેઠળ કેવી રીતે કોમ્પ્યુટર ખરેખર મૂડી રજૂ ખાતે અને આંકડાના 7 અને અલ્પવિરામ અને પ્રશ્ન ચિહ્ન. કમ્પ્યુટર પણ ખાસ પ્રતિનિધિત્વ રીતો છે પૂર્ણાંક તરીકે 7 સંખ્યા. તે એક ખાસ એક અપૂર્ણાંક બિંદુ નંબર તરીકે 7 સંખ્યા પ્રતિનિધિત્વ માર્ગ છે, અને તે ખૂબ જ અલગ છે. ટાઇપકાસ્ટિંગ છે કે તમે કેવી રીતે કહેવું કે કોમ્પ્યુટર "હેય, હું તમને રૂપાંતરિત કરવા માંગો છો એક પ્રતિનિધિત્વ બીજી રજૂઆત હતી. " અમે તે પર એક નજર કેમ ન લો. હું પણ પુસ્તકાલયો પર ટૂંકા અને સંગ્રાહકો પર ટૂંકા પર એક નજર આવશે. સંકલન પ્રક્રિયા વિશે તે ચર્ચા, એક લાઈબ્રેરી શું છે, અને આ કેટલાક પ્રશ્નો છે કે જે તમને પૂછવામાં મળશે શકે પર જાઓ. અઠવાડિયું 1 સામગ્રી પર પ્રશ્નો? ત્યાં છે અહીં કોઈપણ વિષયો કે વધારે ભયાવહ લાગે છે તમે આવરી કરવા માંગો છો? હું આ અગાઉ વિષયો મોટે તમાચો કરવાનો પ્રયાસ કરી રહ્યો છું કે જેથી અમે મેળવી શકો છો પોઇંટરો અને આમ પુનરાર્તનના થોડો. વિચારો? માટે આવરી કંઈપણ? કેટલાક કદાચ ચોકલેટ માટે સમય? તમે ગાય્સ તે મારફતે કામ કરે છે. હું મારી કોફી પર sipping રાખવા જાઉં છું. 2 અઠવાડિયું. ગુડ કોલ, સારી કોલ. અઠવાડિયું ફૂટ 2 અમે કાર્યો વિશે થોડુંક વધુ વાત કરી. પ્રથમ થોડા સમસ્યા સેટમાં અમે ખરેખર કોઇ બધા વિધેયો નથી લખી નહોતી અન્ય કાર્ય જે કરતાં? [વિદ્યાર્થી] મુખ્ય >>. બરાબર મેઇન,. અને તેથી અમે જુદા જુદા પોશાકો પહેરે છે કે મુખ્ય જોઇ ​​છે. ત્યાં એક તે કોઈ દલીલો લે છે, અને અમે માત્ર કૌંસ વચ્ચે રદબાતલ કહે, અને પછી ત્યાં બીજી એક જ્યાં અમે આદેશ વાક્ય દલીલો લેવા ઇચ્છતા હો, અને આપણે જોયું, કે જ્યાં તમે પૂર્ણાંક argc અને શબ્દમાળા argv એરે છે અથવા હવે કે અમે ખરેખર શબ્દમાળા ખુલ્લી કરી જે ઘરનાં પરચૂરણ કામો * કે તે છે અમે તેને ઘરનાં પરચૂરણ કામો * અને પછી argv કૌંસ તરીકે લખવાનું શરૂ રહ્યા છીએ. સમસ્યા 3 સેટ, તમે ગાય્સ વિધેયો સમૂહ જોયું, અને તમે વિધેયો સમૂહ અમલ, આલેખન લુકઅપ, ચઢાઇને. આ પ્રોટોટાઇપ બધા તમે હતા ત્યાં લખાયેલ છે. હું શું કામ અહીં વિશે ખરેખર ઝડપથી વાત કરવા માગે છે છે કે તેમને 3 ભાગો છે જ્યારે તમે એક કાર્ય લખો. તમે કાર્ય પરત પ્રકાર સ્પષ્ટ હોય છે. તમે કાર્ય માટે એક નામ સ્પષ્ટ હોય છે, અને તે પછી તમે સ્પષ્ટ હોય છે આ દલીલ સૂચિ અથવા પરિમાણ યાદી. ઉદાહરણ તરીકે, જો હું કોઇ કાર્ય લખવા માટે અપ પૂર્ણાંકો સમૂહ સરવાળો હતા અને પછી મને આ રકમ શું મારું વળતર પ્રકાર હશે પાછા જો હું પૂર્ણાંકો સરવાળો અને પછી રકમ પરત માગતા હતા? પછી કાર્ય ના નામ પર. જો હું આગળ જાઓ અને લીલા લખી, આ ભાગ પરત પ્રકાર છે. આ ભાગ નામ છે. અને પછી કૌંસ વચ્ચે છે જ્યાં હું દલીલો આપે છે, ઘણીવાર વિકલ્પોલેછે, ક્યારેક પરિમાણો માટે પેરામીટર તરીકે ઓળખાતા એસ. અને જો તમે એક છે, તો તમે ફક્ત એક સ્પષ્ટ કરો. જો તમે બહુવિધ હોય તો તમે અલ્પવિરામ સાથે દરેક એક અલગ પાડો. અને દરેક દલીલ માટે તમે તેને 2 વસ્તુઓ આપી છે, કે જે-કેપી? [કેપી] તમે અને પછી નામ પ્રકાર આપી છે. અને પછી નામ, અને આ નામ નામ છે કે તમે ઉપયોગ કરવા જઈ રહ્યાં છો આ રકમ કાર્ય અંદર દલીલ નો સંદર્ભ લો, કાર્ય કરે છે જે તમે હાલમાં લખી રહ્યાં અંદર. તમે ઉદાહરણ માટે નથી, જો હું ટૂંકમાં જાઉં છું, કહે, પૂર્ણાંકો-we'll ઝાકઝમાળ પૂર્ણાંક એરે કરવા માટે, અને હું મારી જાતે કેટલાક સર્પાકાર કૌંસ આપીશું ત્યાં- પછી જ્યારે હું આ રકમ કાર્ય કરવા માટે એક એરે પસાર હું આ દલીલ યાદીમાં પ્રથમ સ્થાન પસાર કરે છે. પરંતુ એરે કે હું પાસ માટે નામ આગમન હોય નથી. આગમન માટે પ્રયત્ન હું કેવી રીતે કાર્ય શરીર અંદર કે દલીલ નો સંદર્ભ લો રહ્યું છે. અન્ય વસ્તુ કે અમે ધ્યાનમાં લેવાની જરૂર, અને આ સહેજ કાર્યો અલગ છે, પરંતુ મને લાગે છે કે તે એક મહત્વનો મુદ્દો છે, છે કે સી માં જ્યારે હું આ જેવા કાર્ય લખી રહ્યો છું હું કેવી રીતે જાણી શકું કેટલા તત્વો આ એરે છે? આ યુક્તિ પ્રશ્ન કંઈક અંશે છે. અમે આ વિશે ગયા સપ્તાહ વિભાગમાં થોડો વાત કરી. હું સી એક એરે અંદર સંખ્યાબંધ તત્વો કેવી રીતે જાણી શકું? ત્યાં એક રીત હોય છે? તે તારણ છે કે કોઇ ખબર રીત છે. તમે તેને પસાર અલગ હોય છે. ત્યાં એક યુક્તિ કે તમે શું કરી શકો છો છે જો તમે એ જ કાર્ય કે જેમાં એરે જાહેર કરવામાં આવ્યું છે છો, અને તમે એક સ્ટેક એરે સાથે કામ કરી રહ્યાં છે. પરંતુ તે માત્ર કામ કરે છે જો તમે એ જ કાર્ય છો. એકવાર તમે અન્ય કામ કરવા માટે એક એરે પસાર અથવા જો તમે ઝાકઝમાળ જાહેર કર્યું છે અને તમે ઢગલો પર એરે મૂકી, તમે malloc ઉપયોગ કર્યો છે  અને સામગ્રી તે પ્રકારના છે, પછી બધા બેટ્સ બંધ છે. પછી તમે ખરેખર આસપાસ પસાર છે ખાસ દલીલ અથવા અન્ય પરિમાણ તમે કહેતાં મોટું કેવી રીતે એરે છે. આ કિસ્સામાં, હું એક અલ્પવિરામ I'm ઉપયોગ કરશો, તેને સ્ક્રીનમાંથી રહ્યું છે માંગો છો છો અહીં- અને હું અન્ય દલીલ પાસ હો  અને તે લંબાઈ માટે પૂર્ણાંક લેન કૉલ કરો. એક વસ્તુ છે કે જે ક્વિઝ પર આવી શકે છે છે તમે પૂછવા માટે લખી અથવા ચોક્કસ કંઈક કહી કાર્ય અમલ. જો અમે તમને તે પ્રોટોટાઇપ આપતા નથી, તેથી આ સમગ્ર અહીં વસ્તુ, આ સમગ્ર વાસણ કાર્ય જાહેરાત અથવા કાર્ય પ્રોટોટાઇપ કહે છે, આ એક પ્રથમ વસ્તુઓ છે કે જે તમે નીચે ખીલી માંગો છો જો તે નથી આપવામાં આવ્યું છે તે દેખાશે તમે જમણી ક્વિઝ પર દૂર છે. અન્ય યુક્તિ હું શીખી કર્યો છે કે કહેવું અમે તમને એક કાર્ય માટે તેણે નમૂના આપવા કરે છે, અને અમે કહીએ છીએ, "અરે, તમે તેને લખી મેળવ્યું." આ સર્પાકાર કૌંસ કે તમે ક્વિઝ પર ઇનસાઇડ જો તમે નોંધ્યું છે કે ત્યાં પરત પ્રકાર છે અને તમે નોંધ્યું છે કે પરત પ્રકાર ખાલીપણુ, જેનો અર્થ છે કે કાર્ય કંઈપણ નહિં આપે સિવાયના અન્ય છે, પછી એક વસ્તુ તમે ચોક્કસપણે કરવા માંગો છો છે લખી આ કાર્ય ખૂબ ઓવરને અંતે વળતર નિવેદન અમુક પ્રકારની. વળતર, અને આ કિસ્સામાં, અમે ખાલી મૂકવામાં કારણ કે અમે ખાલી ભરવા માંગો છો પડશે. પરંતુ આ તમે હું આ સમસ્યા સંપર્ક કેવી રીતે જાઉં છું વિશે યોગ્ય રીતે વિચારી નોંધાયો નહીં? અને તે તમને યાદ અપાવે તમે કરવા માટે કિંમત પાછી હોય રહ્યા છીએ આ કાર્ય તે કોલર છે. યાહ. >> [વિદ્યાર્થી] શું શૈલી લાગુ જ્યારે અમે ક્વિઝ પર કોડ લખી રહ્યાં? ખાડો અને સામગ્રી તે પ્રકારના જેમ કે >>? [વિદ્યાર્થી] યાહ. ના, નથી. તરીકે ખૂબ મને લાગે છે કે એ આ ઘણો કંઈક ક્વિઝ પર દિવસે સ્પષ્ટતા કરશો છે, પરંતુ સામાન્ય રીતે લગભગ બાબત ચિંતાજનક # સમાવેશ થાય છે અને સામગ્રી તે પ્રકારના છે, તે બહાર પ્રકારની છે. [વિદ્યાર્થી] શું તમે તમારા હસ્તલિખિત કોડ ટિપ્પણી કરવાની જરૂર છે? શું તમે તમારા હસ્તલિખિત કોડ ટિપ્પણી કરવાની જરૂર છે? ટિપ્પણી હંમેશા સારો જો તમે આંશિક ક્રેડિટ વિશે ચિંતિત હો અથવા તમે grader તમારા ઉદ્દેશ વાતચીત કરવા માંગો છો. પરંતુ હું, ફરી, ક્વિઝ પોતાના પર અને ક્વિઝ દિવસે સ્પષ્ટતા કરશે, પણ હું માનતો નથી કે જે તમે ટિપ્પણીઓ લખો, કોઈ જરૂર પડશે. ખાસ કરીને, પરંતુ તે નથી, ચોક્કસપણે વસ્તુ ના સૉર્ટ છે જ્યાં તમે તમારા ઉદ્દેશ વાતચીત, પસંદ કરી શકો છો "અરે, આ તે છે જ્યાં હું તેની સાથે જાઉં છું." અને ક્યારેક કે આંશિક ધિરાણ મદદ કરી શકે છે. સરસ. બેસિલ. [બેસિલ] કહે છે, જાહેર પૂર્ણાંક lang વચ્ચે શું તફાવત છે આ કાર્ય અંદર એક ચલ જાહેર વિરુદ્ધ અથવા દલીલો પરિમાણો છે? વાહ, કોફી નીચે વિન્ડપાઇપમાં ગયા હતા. [બેસિલ] વસ્તુઓ જે અમે દલીલો માં મૂકેલ જેમ. અરે વાહ, કે જે એક મહાન પ્રશ્ન છે. તમે કેવી રીતે પસંદ કરો નહિં વસ્તુઓ શું તમે દલીલો માં મૂકેલ વસ્તુઓ તમે અંદર કાર્યમાં કરવું જોઈએ શું વિરુદ્ધ? આ કિસ્સામાં અમે દલીલો તરીકે આ બંને સમાવેશ થાય છે કારણ કે તેઓ કંઈક ભેટ છે કે જે રકમ વિધેય વાપરી રહ્યું છે છો તે વસ્તુઓ સ્પષ્ટ કરવાની જરૂર છે. આ રકમ કાર્ય, જેમ કે અમારી વિશે વાત કરી, એ જાણીને કોઈ રીત છે મોટા કેવી રીતે એરે છે તેની કોલર અથવા વિષયક માંથી નોંધાયો સરવાળો કાર્ય કરી રહ્યું છે. તે જાણ્યા મોટું કેવી રીતે વ્યૂહરચના છે કોઈ રીત હોય છે. કારણ આપણે આ બોલ પર કોઈ રન એક દલીલ તરીકે અહીંથી પસાર છે કારણ કે કંઈક છે કે અમે મૂળભૂત રીતે કાર્ય ના મુલાકાતી કહેવાની કરી રહ્યાં છો, ઓ માટે રકમ વિધેય વાપરી રહ્યું છે, "અરે, માત્ર તમે અમને ઝાકઝમાળ આપી હોય તો ints, તમે પણ અમને જણાવો મોટું એરે કે તમે અમને છે આપી છે કે કેવી રીતે પડે છે. " [બેસિલ] જે બંને આદેશ વાક્ય દલીલો હશે? ના, આ દલીલો ખરેખર છે કે તમે કાર્ય પસાર કરશે. દો મને એક નવું પાનું અહીં કરો. [બેસિલ] નામ જેમ-પસાર થશે [Nate એચ] જો હું પૂર્ણાંક મુખ્ય હોય (રદબાતલ), અને હું મારું વળતર 0 મૂકવા નીચે તળિયે અહીં જાઉં છું, અને કહે છે કે હું આ રકમ કાર્ય કૉલ કરવા માંગો છો. હું કહેવા માંગો છો પૂર્ણાંક એક્સ = (રકમ); માટે રકમ વિધેય વાપરી હું બન્ને એરે પાસ કે હું ટૂંકમાં માંગો તો અને એરે લંબાઈ, તેથી આ છે કે જ્યાં ધારી રહ્યા છીએ કે હું ints ઝાકઝમાળ હતી, કહી હું હતો પૂર્ણાંક numbaz [] = 1, 2, 3, ઉપયોગ પ્રકારની છે કે જે હેક વાક્યરચના અધિકાર ત્યાં, પછી હું શું થશે રકમ છે હું પાસ માગતા બંને numbaz અને સંખ્યા 3 આ રકમ કાર્ય કહે "ઠીક છે, અહીં એરે હું તમને સંક્ષેપમાં કરવા માંગો છો છે." "અહીં તેના કદ છે." એ નથી કે સૂઝ છે? એ નથી કે તમારા પ્રશ્નનો જવાબ આપવા? ઘણી રીતે તે સમાંતર કરે છે, આપણે શું કરી રહ્યા છીએ મુખ્ય સાથે જ્યારે અમે આદેશ વાક્ય દલીલો છે. સીઝર સાઇફર જેવા કાર્યક્રમ, ઉદાહરણ તરીકે, કે જે જરૂરી આદેશ વાક્ય દલીલો કંઇપણ શકશે નહીં. તે કેવી રીતે એનક્રિપ્ટ નહિં જો તમે તે શું વાપરવા માટે કી ન હતું કરશે અથવા જો તમે તેને કહી શબ્દમાળા શું તમે એનક્રિપ્ટ ઇચ્છતા ન હતા. ઈનપુટ માટે પૂછવાની, આ છે જ્યાં અમે 2 ભિન્ન પદ્ધતિઓ મળી છે ઇનપુટ માં વપરાશકર્તા પાસેથી માં વપરાશકર્તા જાણકારી લેવા માટે લેવા માટે. માટે પ્રોબ્લેમ 1 સેટ અમે આ GetInt, GetString, GetFloat રીતે જોયું ઈનપુટ માટે પૂછવાની છે, અને તે પ્રમાણભૂત ઈનપુટ સ્ટ્રીમ મદદથી કહેવાય છે. તે થોડા અલગ છે. તે કંઈક છે જે તમે એક સમયે જેમ વિરોધ કરી શકો છો જ્યારે તમે કાર્યક્રમ, જગાડવા જ્યારે તમે કાર્યક્રમ ચાલી શરૂ કરો. આદેશ વાક્ય દલીલો બધા જ્યારે તમે કાર્યક્રમ ચાલી રહેલ શરૂ સ્પષ્ટ થયેલ છે. અમે તે બે કરવામાં મિશ્રણ કર્યું છે. જ્યારે અમે કામ કરવા માટે દલીલો વાપરવા માટે, તેને આદેશ મુખ્ય વાક્ય દલીલો જેવી જ છે. તે જ્યારે તમે કાર્ય તમે તેને જણાવવું જરૂર જગાડવા બરાબર તે જરૂર તેની ક્રિયાઓ કરવા માટે. અન્ય સારા માટે અને જોવા હું જઈશ તમે તમારા ફાજલ સમય તે જોવા વસ્તુ, અને તે માં આવરાયેલ હતી અવકાશ આ વિચારને ક્વિઝ હતું અને વૈશ્વિક ચલો વિરુદ્ધ સ્થાનિક ચલો. કે ધ્યાન આપવાની હોય છે. હવે અમે આ અન્ય સામગ્રી મળી રહ્યા હોય, 3 અઠવાડિયું આપણે શોધ અને સૉર્ટ વિશે વાત શરૂ કરી. શોધ અને સૉર્ટ CS50, ઓછામાં ઓછું, ખૂબ ખૂબ કોમ્પ્યુટર વિજ્ઞાન વધુ સૈદ્ધાંતિક ભાગો કેટલાક પરિચય છે. શોધ કરવાની સમસ્યા સૉર્ટ ની સમસ્યા મોટું, કેનોનિકલ સમસ્યાઓ છે. તમે પૂર્ણાંકોના અબજો ઝાકઝમાળ ચોક્કસ નંબર કેવી રીતે શોધી શકું? તમે એક ફોન પુસ્તક અંદર કેવી રીતે ચોક્કસ નામ શોધવા કે જે તમારી લેપટોપ પર સ્ટોર કરેલો છે? અને તેથી અમે અનંત સ્પર્શી રન વખત આ વિચારને દાખલ ખરેખર કેટલા જથ્થામાં, હાર્ડ કેવી રીતે સમસ્યા હોય છે, લાંબા કેવી રીતે તેઓ હલ લો. હું માનું છું કે, 2011 ની ક્વિઝ ત્યાં એક સમસ્યા છે કે મને લાગે છે કે ગુણવત્તાના છે ખૂબ જ ઝડપથી આવરી, કે જે આ એક, 12 સમસ્યા છે. ઓ ના, તેને ઓમેગા છે. અહીં અમે સૌથી ઝડપી શક્ય રન સમય વિશે વાત કરી રહ્યા છીએ ચોક્કસ એલ્ગોરિધમ માટે અને પછી ધીમા શક્ય રન સમય. આ ઓમેગા અને O ખરેખર છે માત્ર શૉર્ટકટ્સ. તેઓ કહેતા માટે notational શૉર્ટકટ્સ છો શ્રેષ્ઠ શક્ય કેસમાં ઝડપી કેવી રીતે અમારી અલ્ગોરિધમનો રન કરશે અને કેવી રીતે સૌથી ખરાબ શક્ય કેસ ધીમી અમારા અલગોરિધમ ચાલશે? ની આ એક દંપતી દો, અને આ પણ આવરી લેવામાં આવ્યા હતા અનંત સ્પર્શી સંકેતલિપિ, કે જે હું અત્યંત ભલામણ પર ટૂંકા છે. જેકસન ખરેખર સારું કામ કર્યું હતું. દ્વિસંગી શોધ સાથે, અમે એક અલ્ગોરિધમનો હોવાથી દ્વિસંગી શોધ વિશે વાત અને અમે સામાન્ય રીતે તેની મોટી ઓ દ્રષ્ટિએ તે વિશે વાત મોટા ઓ શું છે? સૌથી ધીમી શક્ય બાઈનરી શોધ રન સમય શું છે? [વિદ્યાર્થી] એન ચોરસ? બંધ, હું કે જે સમાન ધારી. તે ઘણો કરતા વધુ ઝડપી છે. [વિદ્યાર્થી] દ્વિસંગી >>? અરે વાહ, દ્વિસંગી શોધ. [વિદ્યાર્થી] એવું લોગ n છે. N પ્રવેશો, તેથી શું લૉગ n અર્થ કરે છે? તે દરેક ઇટરેશન અર્ધભાગ. બરાબર છે, તેથી સૌથી ધીમી શક્ય કિસ્સામાં, કહે છે જો તમે છટણી એરે છે એક મિલિયન પૂર્ણાંકો અને સંખ્યાને તમે શોધી રહ્યા છો ક્યાંતો અથવા એરે માં ખૂબ જ છેલ્લા તત્વ એરે માં પ્રથમ તત્વ છે. યાદ રાખો, આ દ્વિસંગી શોધ અલ્ગોરિધમનો મધ્યમાં તત્વ જોઈ દ્વારા કામ કરે છે, જોયા જો કે આ મેચ કે જે તમે શોધી રહ્યાં છો તે છે. જો તે હોય, તો પછી મહાન, તો તમે તેને જોવા મળે છે. શ્રેષ્ઠ શક્ય કિસ્સામાં, ઝડપી કેવી રીતે દ્વિસંગી શોધ રન કરે છે? 1 [વિદ્યાર્થીઓ]. 1, તેને સતત સમય છે, 1 મોટી ઓ. યાહ. [વિદ્યાર્થી] હું એક પ્રશ્ન છે. જ્યારે તમે કહી n ના પ્રવેશો, તમે 2 આધાર માટે આદર સાથે યોગ્ય અર્થ? હા, કે જેથી અન્ય વાત છે. અમે લોગ n એ કહો, અને હું માનું જ્યારે હું હાઇ સ્કૂલ હતી હું હંમેશા માનવામાં આવે છે કે લોગ 10 આધાર હતો. અરે વાહ, તેથી હા, લૉગ આધાર 2 ખાસ કરીને આપણે શું ઉપયોગ કરે છે. ફરીથી, દ્વિસંગી શોધ પર પાછા જવાનું, જો તમે ક્યાં માટે શોધ કરી રહ્યાં છે ખૂબ અંતે તત્વ અથવા ખૂબ શરૂઆતમાં તત્વ, કારણ કે તમે મધ્યમાં શરૂ કરો અને પછી તમે છોડી દેવા અડધા જે માપદંડને પહોંચી છે કે તમે શોધી રહ્યાં છો તે થતું નથી, અને તમે આગામી અડધી અને આગામી અડધી અને આગામી અડધી જાઓ. જો હું મિલિયન પૂર્ણાંક એરે સૌથી મોટું તત્વ માટે શોધ છું હું તેને 1 મિલિયન વખત સૌથી લોગ અંતે અડધી જાઉં છું પહેલાં હું આખરે પરીક્ષણ અને જુઓ કે તત્વ હું શોધી રહ્યો છું સૌથી અથવા એરે સૌથી વધુ અનુક્રમણિકા છે, અને તે n ના લોગ લે છે, 1 મિલિયન વખત પ્રવેશ કરશે. બબલ સૉર્ટ કરો. શું તમે ગાય્સ પરપોટા સૉર્ટ અલ્ગોરિધમનો યાદ? કેપી, તમે મને શું બબલ સૉર્ટ અલ્ગોરિધમનો બન્યું ઝડપી રીકેપ આપી શકે છે? [કેપી] મૂળભૂત રીતે તે યાદીમાં બધું મારફતે જાય છે. તે પ્રથમ બે જુએ છે. જો પ્રથમ એક બીજા એક તેને અદલબદલ કરતાં મોટું છે. પછી તે બીજા અને ત્રીજા જ વાત, અદલબદલ સરખાવે છે, ત્રીજા અને ચોથા, બધા રસ્તો નહીં. મોટી સંખ્યામાં અપ અંત અનુસરણ કરવામાં આવશે. અને તમે તેમ છતાં ઘણા આંટીઓ પછી પૂર્ણ કરી લીધું. બરાબર છે, તેથી કેપી જણાવ્યું હતું કે શું છે કે અમે મોટા નંબરો જોવા મળશે એરે ઓવરને સુધી બબલ. ઉદાહરણ તરીકે, તમે અમને આ ઉદાહરણ દ્વારા વૉકિંગ વાંધો નથી જો કે આ અમારી એરે છે? [કેપી] તમે 2 લેવા અને 3 પડશે. 3 2 કરતા મોટો હોય છે, જેથી તમે તેને સ્વેપ. [Nate એચ] અધિકાર છે, તેથી અમે આ સ્વેપ, અને તેથી અમે 2 વિચાર, 3, 6, 4, અને 9. [કેપી] પછી તમે 3 અને 6 સરખામણી કરી. 3 6 કરતા ઓછી છે, જેથી તમે તેને છોડી દે છે, અને 6 અને 4, તો તમે તેમને સ્વેપ કારણ કે 4 6 કરતા ઓછી છે છો. [Nate એચ] અધિકાર છે, તેથી હું 2, 3, 4, 6, 9, મેળવો. [કેપી] અને 9 6 કરતા મોટો હોય છે, જેથી તમે તેને છોડી દો. અને તમે તેનો દ્વારા ફરીથી જાઓ છો. [Nate એચ] હું આ બિંદુએ કરવામાં છું >> [કેપી] નંબર? અને હું આ બિંદુએ શા માટે કરવામાં ન છું? કારણ કે તે લાગે છે કે મારા એરે સૉર્ટ થાય છે. હું તેને શોધી રહ્યો છું. [કેપી] તે મારફતે ફરીથી જાઓ અને ખાતરી કરો કે ત્યાં વધુ અદલબદલ છે કરો પહેલાં તમે સંપૂર્ણપણે રોકી શકો છો. બરાબર છે, તેથી તમારે પસાર થઇ રાખવા અને ખાતરી કરો કે ત્યાં કોઈ અદલબદલ છે કરવાની જરૂર છે કે તમે આ બિંદુએ કરી શકો છો. તે ખરેખર હતી ફક્ત નસીબદાર, જેમ તમે જણાવ્યું હતું કે, અમે અંત માત્ર મારફતે 1 પાસ કરી હોય અને અમે છટણી કરી રહ્યાં છો. પરંતુ સામાન્ય કિસ્સામાં આવું અમે ખરેખર પર અને ઉપર ફરીથી આવું હશે. અને હકીકતમાં, આ શ્રેષ્ઠ શક્ય કેસ એક ઉદાહરણ છે, જેમ અમે સમસ્યા માં જોવા મળી હતી. અમે જોયું કે આ શ્રેષ્ઠ શક્ય કેસ n હતી. અમે એરે 1 સમય પસાર થયું હતું. આ ગણતરીઓ માટે સૌથી ખરાબ શક્ય કેસ શું છે? [કેપી] એન ધરાવે છે. અને તે દેખાવ શું ગમે છે? ઝાકઝમાળ દેખાવ શું કે n ચોરસ સમય લેશે? [કેપી] છટણી [અશ્રાવ્ય]. બરાબર છે, તેથી જો હું 9 એરે, 7, 6, 5, 2 હતી, પ્રથમ 9 ઉપર બધી રીતે બબલ કરે છે. 1 પુનરાવૃત્તિ કર્યા પછી અમે 7, 6, 5, 2, 9 હોય તો. પછી 7 અપ બબલ, 6, 5, 2, 7, 9, અને એમ છે અને તેથી આગળ રાખશે. અમે સમગ્ર એરે n એ વખત સુધી જવાની હોય હો, અને તમે ખરેખર થોડી વધારે આ કરતાં ચોક્કસ વિચાર કરી શકો છો કારણ કે એક વખત અમે તેના છેલ્લા શક્ય સ્થિતિ માં આ 9 તમામ રીતે ખસેડી દીધું છે આપણે જાણીએ છીએ કે અમે હોય તે તત્વ સામે ફરીથી તુલના નથી. એકવાર અમે 7 આ પરપોટાનો શરૂ આપણે જાણીએ છીએ કે અમે એકવાર 7 9 પહેલાં અધિકાર છે બંધ કરી શકો છો કારણ કે અમે પહેલાથી જ તે કર્યું છે 9 સરખામણી. જો તમે સ્માર્ટ રીતે આ કરવું તે ખરેખર હું માનું કે, ખૂબ સમય નથી. તમે બધા શક્ય [અશ્રાવ્ય] સંયોજનો તુલના ન જઈ રહ્યાં છો દરેક એક સમય તમે દરેક ઇટરેશન પસાર થાય છે. પરંતુ હજુ પણ, જ્યારે અમે આ ઉપલા બાઉન્ડ વિશે વાત અમે કહે છે કે તમે n એ જોઈ રહ્યાં છો ચોરસ સરખામણીઓ બધી રીતે બનાવ્યા. ચાલો પાછા જાઓ, અને ત્યારથી અમે થોડો સમય પર ટૂંકા વિચાર શરૂ કરી રહ્યા છીએ હું એમ કહીશ તમે ચોક્કસપણે આ કોષ્ટક બાકીના જવા જોઈએ, તે બધા ભરી. ઉદાહરણો વિચારો. કોંક્રિટ ઉદાહરણો વિચારો. કે ખરેખર સરળ અને ઉપયોગી કરવા છે. તે દોરો બહાર. આ કોષ્ટકની જેવું છે કે તમે કોમ્પ્યુટર વિજ્ઞાન મારફતે જાઓ તમે ખરેખર આ દ્વારા હૃદયની ખબર શરૂ કરીશું. આ પ્રશ્નોના તમે મુલાકાતોમાં વિચાર ના પ્રકારના હોય છે. આ બધી વસ્તુઓ પ્રકારની છે કે તે જાણવા માટે સારું છે, અને તે ધાર કિસ્સાઓ વિશે વિચારો, ખરેખર બહાર figuring કેવી રીતે વિચારવામાં એ જાણીને કે પરપોટા માટે સૌથી ખરાબ શક્ય એરે સૉર્ટ કે સાથે સૉર્ટ એક કે રિવર્સ ક્રમમાં આપી છે. પોઇન્ટર. ચાલો પોઇંટરો વિશે થોડુંક વાત કરો. છેલ્લા થોડીવારમાં અમે અહીં છે મને ખબર છે કે આ I / O બદલે નવા છે કે ફાઈલ સાથે સમસ્યા છે. જ્યારે અમે પોઇંટરો વિશે કારણ અમે પોઇંટરો વિશે વાત કરવા માંગો છો વાત કારણ કે, એક, જ્યારે અમે સી કામ કરી રહ્યા છીએ છે અમે એકદમ નીચા સ્તરે ખરેખર અત્યંત આધુનિક પ્રોગ્રામીંગ ભાષાઓ સરખામણીમાં છે. અમે ખરેખર છો મેમરીમાં ચલો ચાલાકી કરવાનો, બહાર આકૃતિ જ્યાં તેઓ ખરેખર અમારા રેમ અંદર સ્થિત થયેલ રહ્યા છો. એકવાર તમે ચાલ્યા કર્યું ઓપરેટિંગ સિસ્ટમ વર્ગો તમે જોશો લેવા કે કે, ફરી એક બેધ્યાનપણું પ્રકારની. કે જે વાસ્તવમાં કેસ નથી. અમે વર્ચ્યુઅલ મેમરી કે અમારી પાસેથી તે વિગતો છુપાવી રહ્યું છે મેળવ્યા છે. પરંતુ હવે માટે છે કે જે તમને ધારે જ્યારે તમે કાર્યક્રમ હોઇ શકે છે, ઉદાહરણ તરીકે, જ્યારે તમે શરૂ કરો તમારા સીઝર સાઇફર પ્રોગ્રામ ચાલી હું પાછા મારા આઇપેડ ખરેખર ઝડપથી સ્વિચ પડશે કે ખૂબ જ શરૂઆત તમારા કાર્યક્રમ, જો તમારી પાસે કહે છે, તમારા લેપટોપ પર 4 ની RAM ગીગાબાઇટ્સ, તમે કોરે આ ભાગ સુયોજિત કરો, અને અમે આ રેમ કહી શકશો. અને તે એક જગ્યાએ અમે 0 કહી રહ્યા છીએ માં શરુ થાય છે, અને તે એક જગ્યાએ અંત થાય છે કે અમે 4 ગીગાબાઇટ્સ કહી શકશો. હું ખરેખર નથી લખી શકો છો. મેન, કે હેક છે. જ્યારે તમારા કાર્યક્રમ ચલાવે છે ઓપરેટિંગ સિસ્ટમ રેમ carves, અને તે તમારા સાઇન રહેવા કાર્યક્રમ વિવિધ ભાગો માટે વિવિધ ભાગોમાં સ્પષ્ટ અહીં નીચે આ વિસ્તાર એક નધણિયાતી જમીન પ્રકારની છે. જ્યારે તમે થોડા દૂર અહીં જાઓ તમે ખરેખર આ સ્થળ મળી છે જ્યાં તમારા કાર્યક્રમ જીવન માટે કોડ. કે વાસ્તવિક દ્વિસંગી કોડ છે, કે જે એક્ઝેક્યુટેબલ ફાઈલ ખરેખર મેમરીમાં લોડ નહીં જ્યારે તમે કાર્યક્રમ ચલાવો, અને તે કોડ સેગમેન્ટમાં રહે છે. અને તમારા કાર્યક્રમ ચલાવે છે પ્રોસેસર આ કોડ સેગમેન્ટમાં જુએ છે બહાર આકૃતિ પછીની સુચના શું છે? કોડ આગળના વાક્ય હું એક્ઝેક્યુટ કરવા માટે જરૂર શું છે? ત્યાં પણ માહિતી સેગમેન્ટ છે, અને આ જ્યાં તે શબ્દમાળા સ્થિરાંકો છે કરો સંગ્રહિત છે કે જે તમે ઉપયોગ કરી રહ્યો છું. અને પછી દૂર સુધી ત્યાં આ ઢગલો નામનું સ્થળ છે. અમે malloc ઉપયોગ કરીને ત્યાં માં મેમરી વાપરવા માટે, અને પછી ખૂબ જ તમારા કાર્યક્રમ ટોચ તરફ ત્યાં સ્ટેક છે, અને તે છે જ્યાં અમે શરૂઆતમાં મોટા ભાગના માટે રમી કર્યું છે. આ સ્કેલ અથવા કંઈપણ નથી. આ એક ઘણો ખૂબ મશીન આધારિત હોય છે, સિસ્ટમ આધારિત સંચાલન, પરંતુ આ પ્રમાણમાં વસ્તુઓ કેવી અપ chunked છે. જ્યારે તમે કાર્યક્રમ ચલાવો અને તમે-x કહેવાય ચલ જાહેર હું બીજા બોક્સ નીચે નીચે ચકાસેલ જાઉં છું, અને આ માટે રેમ પણ હોઇ રહ્યું છે. અને હું નજર જાઉં છું. અમે જેગ્ડ લીટીઓ દોરવા સૂચવવા માટે આ માત્ર RAM ની એક નાની વિભાગ છે પડશે અને આપણે તે તમામ ટોચ પર દોરે છે. જો હું પૂર્ણાંક એક્સ કહેવાય ચલ જાહેર, પછી હું ખરેખર વિચાર શું મેપિંગ છે કે મારા કાર્યક્રમની પ્રતીક ટેબલ માં સંગ્રહાય છે કે મેમરી આ પ્રદેશમાં નામ એક્સ જોડાય છે કે હું દોરવામાં કર્યા છે અહીં ઊભી બાર વચ્ચે. જો હું મારો કાર્યક્રમ છે કે જે x 7 = કહે માં કોડ એક વાક્ય છે પ્રોસેસર જાણે "ઓહ, ઠીક, હું જાણું છું કે મેમરીમાં આ સ્થાન પર એક્સ જીવન." "હું આગળ જાઓ અને 7 ત્યાં લખવા જઈ રહ્યો છું." તે કેવી રીતે ખબર નથી સ્થાન આ શું મેમરીમાં છે? વેલ, તે બધા કમ્પાઈલ સમયે થાય છે. આ કમ્પાઈલર allocating કાળજી લે છે જ્યાં ચલો દરેક પર જાઓ જવું છે અને ખાસ મેપિંગ બનાવવા અથવા બદલે બિંદુઓથી જોડાઈ પ્રતીક અને જ્યાં તે ચાલી રહ્યું છે, એક ચલ નામ વચ્ચે અને જ્યાં તે મેમરીમાં રહેતા બનશે. પરંતુ તે તારણ છે કે અમે ખરેખર તે અમારી કાર્યક્રમોમાં ઍક્સેસ કરી શકો છો અને સાથે સાથે. આ અગત્યનું નોંધાયો જ્યારે અમે દશાંશ માહિતી માળખાં કેટલાક વિશે વાત શરૂ કરવા માટે, જે ખ્યાલ છે કે અમે પાછળથી દાખલ જઈ રહ્યાં છો છે. પરંતુ હવે, તમે જાણતા કરી શકો છો છે કે હું આ સ્થાન પર એક નિર્દેશક બનાવવા માટે, એક્સ કરી શકો છો. ઉદાહરણ તરીકે, હું એક નિર્દેશક ચલ બનાવી શકો છો. જ્યારે અમે નિર્દેશક ચલ બનાવવા અમે તારો નોટેશનમાં વાપરો. આ કિસ્સામાં, આ કહે છે હું પૂર્ણાંક પર એક નિર્દેશક બનાવવા જઈ રહ્યો છું. તે અન્ય કોઇ જેમ જ એક પ્રકાર છે. અમે તેને વાય જેમ ચલ આપવા માટે, અને પછી અમે તેને એક સરનામાને સરનામા માટે સમાન, સુયોજિત કરો. આ કિસ્સામાં, અમે વાય સુયોજિત કરવા માટે એક્સ માટે નિર્દેશ કરી શકો છો આ & "અને" નું ચિહ્ન સાથે x ની સરનામું, કે જે કરીએ છીએ તે લઈને, અને પછી અમે વાય સુયોજિત કરવા માટે તે નિર્દેશ કરે છે. આ શું અનિવાર્યપણે જો અમે અમારા રેમ જોવા જ નથી આ એક અલગ ચલ બનાવે છે. તેને વાય કહી રહ્યું છે, અને જ્યારે કોડ આ વાક્ય ચલાવે છે વાસ્તવમાં તે માટે થોડો નિર્દેશક જે અમે ખાસ કરીને તીર તરીકે દોરવા બનાવી રહ્યું છે, અને તે માટે એક્સ માટે નિર્દેશ વાય સુયોજિત કરે છે. હા. [વિદ્યાર્થી] જો એક્સ પહેલાથી જ એક નિર્દેશક છે, તમે હમણાં શું કરશે પૂર્ણાંક * વાય = બદલે એક્સ એ & "અને" નું ચિહ્ન હોવાની? હા. જો એક્સ પહેલાથી જ એક નિર્દેશક હોય તો, પછી તમે 2 એકબીજા સાથે સમાન પોઇંટરો સેટ કરી શકો છો, જે કિસ્સામાં વાય એક્સ નથી નિર્દેશ કરશે, પરંતુ તે એક્સ ગમે તરફ સંકેત આપતા હોય છે નિર્દેશ કરશે. દુર્ભાગ્યે, અમે સમય નથી. હું શું આ બિંદુએ કહ્યું, અમે આ ઑફલાઇન વિશે વાત કરી શકો છો, પરંતુ હું એમ કહીશ કે આ સમસ્યા મારફતે કામ, 14 # શરૂ કરો. તમે જોઈ શકો છો કે ત્યાં પહેલેથી જ થોડો તમે ભરી બીટ છે અહીં. કે જે તમને જોવા જ્યારે અમે 2 પોઇંટરો જાહેર કરી શકે છે, પૂર્ણાંક * એક્સ અને વાય *, અને નોંધ કરો કે વેરિયેબલ માટે આગામી * પોઇન્ટ કંઈક છે જે ગયા વર્ષે કરવામાં આવી હતી. તે તારણ છે કે આ આપણે શું આ વર્ષે કરી રહ્યા સમાન છે. તે જ્યાં તમે * લખવા જ્યારે તમે નિર્દેશક જાહેર કરી રહ્યાં છો વાંધો નથી. પરંતુ અમે * હોય પ્રકાર માટે આગામી કે તે ખૂબ જ સ્પષ્ટ તમે નિર્દેશક ચલ જાહેર કરી રહ્યાં છો કે જે બનાવે છે કારણ કે. તમે જોઈ શકો છો કે જે 2 પોઇંટરો જાહેર અમને 2 બોક્સ આપે છે. અહીં જ્યારે અમે malloc સમાન એક્સ સેટ આ કહેતા છે શું કોરે સુયોજિત છે ઢગલો માં મેમરી. આ નાનો અહીં બોક્સ, આ વર્તુળ, તો ઢગલો પર સ્થિત થયેલ છે. એક્સ તે પોઇન્ટ છે. નોંધ કરો કે વાય હજુ કંઈપણ તરફ સંકેત આપતા નથી. મેળવવા મેમરી માટે એક્સ માં 42 નંબર સ્ટોર અમે શું નોટેશનમાં ઉપયોગ કરશે? [વિદ્યાર્થી] * x 42 =. બરાબર, * x 42 =. તેનો અર્થ એ કે તીર અનુસરવા અને તેમાં 42 ફેંકો. અહીં જ્યાં અમે વાય અને એક્સ સેટ અમે વાય એક્સ તરફ ઇશારો કર્યો છે. ફરીથી, આ માત્ર ગમે છે કેપી શું કહ્યું જ્યાં અમે વાય એક્સ સમાન સુયોજિત કરો. વાય એક્સ નથી પોઇન્ટ છે. તેના બદલે, તે એક્સ શું તેમજ પોઇન્ટ છે પોઇન્ટ છે. અને પછી છેવટે આ છેલ્લા બોક્સમાં ત્યાં 2 શક્ય વસ્તુઓ છે કે જે અમે કરી શકે છે. એક છે અમે * x = 13 કહેવું શકે છે. અન્ય બાબત એ છે, અમે કહીએ છીએ-એલેક્સ, તમે નથી જાણતા શકે આપણે શું અહીં કરી શકે? તમે કહી શકે * x 13 = અથવા [વિદ્યાર્થી] તમે પૂર્ણાંક ગમે કહેવું શકે છે. [Nate એચ] જો આ પૂર્ણાંક ચલ તરીકે ઓળખવામાં આવતા હતા અમે તે કરી શકે. અમે પણ * વાય = 13 કારણ કે તેઓ એક જ સ્થળે પોઇન્ટ કરી રહ્યાં છો, કહેવું શકે તેથી અમે ક્યાં ચલ વાપરવા માટે ત્યાં વિચાર કરી શકે છે. યાહ. >> [વિદ્યાર્થી] તે શું જો જેમ અમે માત્ર કહેવું પૂર્ણાંક એક્સ 13 છે જુઓ છો? કે જે નવી એક્સ કહેવાય ચલ છે કે જે કામ કરશે જાહેર કરવામાં આવશે. અમે ટક્કર છે કારણ કે અમે એક્સ એક નિર્દેશક કરવા અહીં જાહેર છો. [વિદ્યાર્થી] જો આપણે માત્ર પોતાના દ્વારા આ વિધાન હતી તે હવે વર્તુળ દ્રષ્ટિએ જેવો દેખાશે? જો અમે એક્સ હતી = 13 તો પછી અમે બોક્સ હોય છે, અને છો તેના બદલે એક તીર કર્યા કરતાં આ બોક્સની બહાર આવતા અમે તેને માત્ર એક 13 તરીકે દોરવા માંગો છો. આ બૉક્સમાં [વિદ્યાર્થી]. ઠીક છે. તમે જોવા માટે આભાર, અને 0 ક્વિઝ પર કોઈ નસીબ. [CS50.TV]