>> [સંગીત વગાડવાનો]
>> ડેવિડ જે MALAN: બધા અધિકાર.
આ CS50 છે અને આ 2 અઠવાડિયું શરૂઆત છે.
અને તમે તે પર યાદ પડશે અઠવાડિયા ભૂતકાળમાં દંપતી,
અમે કમ્પ્યુટર રજૂઆત કરવામાં આવી છે વિજ્ઞાન અને, વળાંક, પ્રોગ્રામિંગ.
>> અને અમે માર્ગ દ્વારા વાર્તા શરૂ સ્ક્રેચ, કે જે ગ્રાફિકલ ભાષા
એમઆઇટી મીડિયા લેબ માંથી.
અને પછી તાજેતરમાં, છેલ્લા અઠવાડિયે, અમે કર્યું
એક higher-- એક પરિચય નીચલા સ્તરના ભાષા ઓળખાય
સી, કંઈક કે જે કેવળ શાબ્દિક છે, કારણ કે.
અને, ખરેખર, છેલ્લા સમય અમે આ સંદર્ભમાં અંદર શોધવામાં
વિચારોનું નંબર.
>> આ, સ્મૃતિ, ખૂબ જ હતો પ્રથમ કાર્યક્રમ અમે અંતે હતા.
અને આ કાર્યક્રમ, તદ્દન સરળ, છાપે, "હેલો, વિશ્વ."
પરંતુ ત્યાં ખૂબ જ અવાસ્તવિક જાદુ પર જવાનું.
આ # સમાવેશ થાય છે છે આ કોણ કૌંસ સાથે.
ત્યાં પૂર્ણાંક છે.
ત્યાં (રદબાતલ).
કૌંસ, સર્પાકાર કૌંસ છે, અર્ધ કોલોન ':', અને તેથી વધુ.
>> અને તેથી, યાદ છે કે અમે સ્ક્રેચ રજૂ
કે જેથી અમે, આદર્શ રીતે, છેલ્લા જોઈ શકે કે વાક્યરચના, સામગ્રી ખરેખર નથી કે
બધા બુદ્ધિપૂર્વક રસપ્રદ છે પરંતુ શરૂઆતમાં
છે, સંપૂર્ણપણે, એક બીટ મુશ્કેલ તમારા મન આસપાસ લપેટી.
અને, ખરેખર, સૌથી સામાન્ય વસ્તુઓ પર શરૂઆતમાં એક પ્રોગ્રામિંગ વર્ગ,
ખાસ કરીને તે ઓછી માટે આરામદાયક, દ્વારા હતાશ છે
અને અમુક વાકયરચનામાં દ્વારા ટ્રિપ ભૂલો, લોજિકલ ભૂલો ઉલ્લેખ નથી.
અને અમારા ગોલ વચ્ચે એટલી આજે, ખરેખર, વસિયતનામું
કેટલાક સાથે તમે સજ્જ હશે કેવી રીતે સમસ્યા હલ કરનારા તકનીકો
સારી સમસ્યાઓ પોતાને હલ કરવા માટે ડિબગીંગ સ્વરૂપ છે.
અને તમે યાદ પડશે કે, પણ, પર્યાવરણ હોય છે કે અમે રજૂ
છેલ્લા સમય CS50 IDE તરીકે ઓળખાતું હતું.
આ વેબ આધારિત સોફ્ટવેર છે કે તમે મેઘ કાર્યક્રમ માટે પરવાનગી આપે છે
તેથી વાત કરવા માટે જ્યારે બધા રાખવા તમારા સાથે મળીને ફાઇલો, કારણ કે અમે આજે ફરી કરશે.
અને તે આપણે યાદ અહીં આ મુદ્દાઓ પુનરાવર્તન,
તેમની વચ્ચે કાર્યો, અને આંટીઓ, અને ચલો, અને બુલિયન સમીકરણો,
અને શરતો.
અને ખરેખર થોડા વધારે છે કે અમે સ્ક્રેચ વિશ્વમાં અનુવાદિત
સી વિશ્વમાં
>> પરંતુ મૂળભૂત મકાન બ્લોક્સ, તેથી વાત કરવા માટે
ખરેખર હજુ પણ એ જ છેલ્લા અઠવાડિયે હતા.
એક હકીકતમાં, અમે ખરેખર માત્ર હતી વિવિધ પઝલ ભાગ, જો તમે કરશે.
કે જાંબલી બદલે બ્લોક સેવ, અમે તેના બદલે
printf હતી, જે સી માં આ કાર્ય કે
તમે કંઈક છાપવા માટે પરવાનગી આપે અને સ્ક્રીન પર તે બંધારણ.
અમે CS50 રજૂ લાયબ્રેરી, જ્યાં તમે
તમારા નિકાલ get_char હવે હોય છે, અને get_int, અને get_string,
અને થોડા અન્ય કાર્યો વેલ, જે દ્વારા તમે ઇનપુટ મેળવી શકો છો
વપરાશકર્તા પોતાના કીબોર્ડ છે.
અને અમે પણ વસ્તુઓ પર એક નજર લીધો these- bool, અને ઘરનાં પરચૂરણ કામો જેવા,
અને ડબલ, ફ્લોટ, પૂર્ણાંક, long_long શબ્દમાળા.
અને ત્યાં સી માં પણ અન્ય ડેટા પ્રકારો
>> અન્ય શબ્દોમાં, જ્યારે તમે જાહેર માં એક ચલ કેટલાક કિંમત સંગ્રહવા માટે,
અથવા જ્યારે તમે એક કાર્ય અમલ કે અમુક કિંમત આપે છે,
તમે શું સ્પષ્ટ કરી શકો છો કિંમત છે કે જે પ્રકાર.
તે એક સ્ટ્રિંગ છે, જેમ અક્ષરો ક્રમ?
તે પૂર્ણાંક જેવા એક નંબર છે?
તે અપૂર્ણાંક બિંદુ છે કિંમત, અથવા જેમ?
તેથી સી, ​​સ્ક્રેચ વિપરીત, અમે ખરેખર માહિતી કેવા પ્રકારની સ્પષ્ટ કરવા માટે શરૂ કર્યું
અમે પરત અથવા ઉપયોગ કરતા હતા.
>> પરંતુ, અલબત્ત, અમે પણ સપડાઇ કમ્પ્યુટિંગ કેટલાક મૂળભૂત મર્યાદા.
અને ખાસ કરીને, આ ભાષા સી, સ્મૃતિ
અમે જોતા હતા કે પૂર્ણાંક ઓવરફ્લો, વાસ્તવિકતા
કે જો તમે માત્ર એક જ મેમરી મર્યાદિત રકમ
અથવા, ખાસ કરીને, મર્યાદિત નંબર બિટ્સ, તમે માત્ર જેથી ઊંચી ગણતરી કરી શકે છે.
અને તેથી અમે અહીં આ ઉદાહરણમાં પર જોવામાં જેમાં એક વિમાન એક કાઉન્ટર,
ખરેખર, જો પર્યાપ્ત લાંબા સમય સુધી થશે ચાલી ઓવરફ્લો અને સોફ્ટવેર પરિણમી
એક વાસ્તવિક ભૌતિક સંભવિત ભૂલ.
>> અમે પણ ફ્લોટિંગ જોવામાં બિંદુ અશુદ્ધિ, વાસ્તવિકતા
માત્ર એક મર્યાદિત નંબર સાથે બિટ્સ, શું તે 32 અથવા 64 છે,
તમે માત્ર ઘણા નંબરો સ્પષ્ટ કરી શકો છો એક દશાંશ બિંદુ પછી, જે પછી તમે
અશુદ્ધ વિચાર શરૂ થાય છે.
દાખલા તરીકે, એક તૃત્યાંશ તેથી અહીં વિશ્વના, અમારા માનવ વિશ્વમાં,
આપણે જાણીએ છીએ માત્ર એક અનંત નંબર છે આ બાદ ચિહ્ન પછી 3s છે.
પરંતુ કમ્પ્યૂટર જરૂરી નથી કરી શકો છો નંબરો અનંત સંખ્યા પ્રતિનિધિત્વ
જો તમે માત્ર પરવાનગી આપે છે તે કેટલાક માહિતી મર્યાદિત જથ્થો.
>> તેથી માત્ર અમે તમને સજ્જ હતી શરતો વધારે શક્તિ સાથે
કેવી રીતે તમે તમારી જાતને પર વ્યક્ત કરી શકે છે પ્રોગ્રામિંગ દ્રષ્ટિએ કીબોર્ડ,
અમે પણ મર્યાદિત શું તમે ખરેખર કરી શકો છો.
અને ખરેખર, ભૂલો અને ભૂલો કરી શકો છો મુદ્દાઓ તે પ્રકારના માંથી પેદા થાય છે.
અને ખરેખર, વિષયો વચ્ચે આજે ડિબગીંગ જેવા વિષયો હશે આવે છે
અને ખરેખર હૂડ નીચે જોઈ કેવી રીતે વસ્તુઓ રજૂ કરવામાં આવ્યા હતા છેલ્લા અઠવાડિયે
ખરેખર અમલ કરવામાં આવે છે કે જેથી તમે વધુ સારી રીતે
સમજી બંને ક્ષમતાઓ અને સી જેવા ભાષા મર્યાદાઓ
>> અને હકીકતમાં, અમે પાછા છાલ સ્તરો પડશે માહિતી માળખું સરળ,
કંઈક ઝાકઝમાળ કહેવાય છે, જે સ્ક્રેચ એક કૉલ થાય છે "યાદી."
તે થોડો છે તે સંદર્ભમાં અલગ છે.
અને પછી અમે પણ એક રજૂ કરીશું અમારા ડોમેન ચોક્કસ સમસ્યાઓ પ્રથમ
CS50 માં, વિશ્વના ક્રિપ્ટોગ્રાફી, મૂંઝાયેલું ઓફ આર્ટ
અથવા તેથી માહિતી સંકેત તમે ગુપ્ત સંદેશાઓ મોકલી શકો છો કે
અને ગુપ્ત સંદેશાઓ સાંકેતિક લખાણ વાંચવું બે વ્યક્તિઓ, એ અને બી વચ્ચે
>> તેથી અમે સંક્રમણ પહેલાં કે નવા વિશ્વમાં,
ચાલો કેટલાક સાથે સજ્જ કરવાનો પ્રયાસ કરીએ જે ટેકનિક સાથે તમે દૂર કરી શકો છો
અથવા ઓછામાં ઓછા કેટલાક ઘટાડવા હતાશા
તમે કદાચ આવી છે કે છેલ્લા અઠવાડિયે એકલા પર.
હકીકતમાં, તમે આગળ કેટલાક such-- છે સી અને મતભેદ તમારા પ્રથમ સમસ્યાઓ છે,
જો તમે મારી જેમ છો, પ્રથમ વખત તમે એક કાર્યક્રમ બહાર લખો કરવાનો પ્રયાસ કરો,
પણ જો તમે તાર્કિક લાગે કાર્યક્રમ ખૂબ સરળ છે,
તમે ખૂબ જ સારી રીતે દિવાલ હિટ કરી શકે છે, અને કમ્પાઇલર સહકાર નથી જઈ રહ્યા છે.
બનાવો અથવા રણકાર નથી જઈ રહ્યા છે ખરેખર તમારી બોલી કરવા માટે.
>> અને શા માટે છે કે હોઈ શકે છે?
વેલ, ચાલો એક નજર કરીએ કદાચ, એક સરળ પ્રોગ્રામ.
હું આગળ જાઓ અને આ સેવ કરવા જઇ રહ્યો છું ફાઇલ ઇરાદાપૂર્વક buggy0.c કહેવાય છે,
કારણ કે હું તે ખબર અગાઉથી અપૂર્ણ શકાય છે.
પરંતુ હું ખ્યાલ છે કે જો આ ન શકે પ્રથમ કે બીજા કે ત્રીજા કાર્યક્રમ છે
કે હું ખરેખર મારી જાતને બનાવવા છું.
તેથી હું આગળ જાઓ જાઉં છું અને બહાર લખો, પૂર્ણાંક મુખ્ય (રદબાતલ).
અને પછી મારી સર્પાકાર કૌંસ ની અંદર, એક ખૂબ જ પરિચિત ( "હેલો, world--
બેકસ્લેશ, એ ") - અને અર્ધવિરામ.
>> હું ફાઈલ સાચવી લીધો છે.
હવે હું નીચે જવા માટે જઇ રહ્યો છું મારી ટર્મિનલ વિન્ડોમાં
અને પ્રકાર બનાવવા buggy0, કારણ કે, ફરી, આજે ફાઈલ નામ buggy0.c છે.
તેથી હું buggy0 બનાવવા માટે, દાખલ કરો લખો.
>> અને, ઓહ, Gosh, છેલ્લા સમય યાદ કે કોઈ ભૂલ સંદેશાઓ એક સારી બાબત છે.
જેથી કોઈ આઉટપુટ એક સારી બાબત છે.
પરંતુ અહીં હું સ્પષ્ટ છે ભૂલો કેટલાક નંબર.
>> આઉટપુટ પ્રથમ વાક્ય તેથી buggy0 બનાવવા લખીને પછી, સ્મૃતિ,
રણકાર એકદમ વર્બોઝ આઉટપુટ છે.
હૂડ નીચે, CS50 IDE રૂપરેખાંકિત થયેલ છે
સમગ્ર ટોળું વાપરવા માટે આ કમ્પાઈલર સાથે વિકલ્પો
જેથી તમે નથી કે તેમને વિશે વિચારો.
અને તે બધા છે કે પ્રથમ વાક્ય છે અર્થ એ થાય કે રણકાર સાથે શરૂ થાય છે.
>> પરંતુ તે પછી, સમસ્યાઓ તેમના દેખાવ બનાવવા માટે શરૂ થાય છે.
રેખા 3, પાત્ર પર Buggy0.c 5, ત્યાં એક મોટું, લાલ ભૂલ છે.
પેલું શું છે?
સર્વથા પુસ્તકાલય કાર્ય જાહેર પ્રકાર પૂર્ણાંક (const ઘરનાં પરચૂરણ કામો * printf,
...) [-Werror].
હું ખૂબ જ ઝડપથી તેનો અર્થ, તે ખૂબ જ Arcane નોંધાયો નહીં.
અને ચોક્કસપણે, ખાતે પ્રથમ નજરમાં, અમે નહીં કરશે
તમે સમજી અપેક્ષા તે સંદેશ સમગ્ર.
અને તેથી પાઠ એક આજે ચાલુ છે માટે
નોટિસ પ્રયાસ હોઈ પેટર્ન, અથવા સમાન વસ્તુઓ,
ભૂલો માટે તમે હોઈ શકે છે ભૂતકાળમાં આવી.
તો ચાલો સિવાય માત્ર પીંજવું તે શબ્દો પરિચિત જુઓ.
મોટું, લાલ ભૂલ સ્પષ્ટ છે કંઈક સાંકેતિક ખોટું છે.
>> સર્વથા જાહેર પુસ્તકાલય કાર્ય printf.
તેથી તો પણ હું ખૂબ નથી સમજી નથી શું સર્વથા પુસ્તકાલય કાર્ય જાહેર
અર્થ, સમસ્યા ચોક્કસ કોઈક printf સાથે સંબંધિત છે.
અને તે મુદ્દો સ્ત્રોત તે જાહેર સાથે શું કરવું છે.
>> જાહેર કાર્ય છે પ્રથમ વખત માટે તે ઉલ્લેખ.
અને અમે ગયા સપ્તાહે પરિભાષા વપરાય એક કાર્ય પ્રોટોટાઇપ જાહેર,
ક્યાં ટોચ પર એક વાક્ય સાથે તમારા પોતાના ફાઈલ અથવા કહેવાતા હેડર ફાઈલ છે.
અને શું ફાઈલ આપણે કહી હતી છેલ્લા અઠવાડિયે કે printf ભાવ છે,
અવતરણ ચિહ્નો પૂરાં કરવાં, જાહેર?
શું ફાઈલ તેના પ્રોટોટાઇપ છે?
>> તેથી જો તમે યાદ, ખૂબ પ્રથમ વસ્તુ હું ટાઇપ, લગભગ દરેક કાર્યક્રમ છેલ્લા સમય
અને આકસ્મિક એક ક્ષણ પહેલા શરૂ myself-- લખીને આ એક અહીં હતી
hash-- # સમાવેશ થાય છે <stio-- માટે ઇનપુટ / આઉટપુટ ટપકું એચ અને ખરેખર,
જો હું હવે આ ફાઈલ સંગ્રહો, હું જાઉં છું આગળ જાઓ અને મારા સ્ક્રીન સાફ કરવા માટે,
તમે લખીને કરી શકો છો કે જે સાફ કરો, અથવા તમે નિયંત્રણ એલ પકડી શકે છે,
ફક્ત તમારા ટર્મિનલ વિન્ડો સાફ કરવા માટે માત્ર કેટલાક ક્લટર દૂર કરે છે.
>> હું આગળ જાઓ જાઉં છું અને ફરીથી પ્રકાર બનાવવા buggy0, દાખલ કરો.
અને વોઇલા Query, હું હજુ પણ છે કે જે જોઈ રણકાર લાંબા આદેશ,
પરંતુ ત્યાં કોઈ ભૂલ સંદેશો આ સમય છે.
અને ખરેખર, જો હું ./buggy0 કરવા માટે, માત્ર છેલ્લા સમય જેવી,
જ્યાં કોઈ આ અર્થ એ થાય ડિરેક્ટરી, સ્લેશે માત્ર અર્થ એ થાય,
અહીં કાર્યક્રમ નામ આવે છે અને કાર્યક્રમ કે નામ buggy0 છે,
દાખલ કરો, "હેલો, વિશ્વ."
>> હવે, તમે કેવી રીતે હોય શકે છે આ ઉકેલ મેળવાયેલ
વગર જરૂરી ઘણા શબ્દો માન્યતા
હું કર્યું, ચોક્કસપણે, કર્યા ઘણા વર્ષો સુધી આ કર્યું?
વેલ, પ્રથમ સમસ્યા દીઠ ખ્યાલ સમૂહ, અમે તમને એક આદેશ દાખલ
કે CS50 પોતાના સ્ટાફ help50 કહેવાય લખ્યું હતું.
અને ખરેખર, સી માટે સ્પષ્ટીકરણ કરે છે સમસ્યા આ કેવી રીતે ઉપયોગ કરવા માટે સુયોજિત કરો.
>> પરંતુ help50 અનિવાર્યપણે છે એક કાર્યક્રમ છે કે જે CS50 સ્ટાફ
તમે ચલાવવા માટે લખ્યું છે કે પરવાનગી આપે છે આદેશ અથવા કાર્યક્રમ ચલાવો,
અને જો તમે સમજી નથી તેની આઉટપુટ, help50 તેના આઉટપુટ પસાર કરવા માટે
જે સોફ્ટવેર નિર્દેશ કે કોર્સ સ્ટાફ લખ્યું
તમારા કાર્યક્રમ આઉટપુટ પર દેખાશે વાક્ય દ્વારા વાક્ય અક્ષર દ્વારા પાત્ર.
અને જો આપણે, સ્ટાફ, ઓળખી કે તમે અનુભવી રહ્યા છો ભૂલ સંદેશ,
અમે કેટલાક સાથે તમે ઉત્તેજિત કરવા માટે પ્રયત્ન કરશે રેટરિકલ પ્રશ્નો, કેટલાક સલાહ સાથે,
ખૂબ એક ટીએફ અથવા CA અથવા મારી જેમ ઓફિસ કલાકો વ્યક્તિ કરી શકે છે.
>> તેથી help50 નજર જો તમે ન કરતા જરૂરી સમસ્યા ઓળખી કાઢે છે.
પરંતુ તે પર આધાર રાખે છે નથી એક ઘોડી તરીકે ખૂબ.
ચોક્કસપણે સમજવા પ્રયત્ન કરો તેના આઉટપુટ અને પછી તે જાણવા
જેથી માત્ર એક કે બે વાર તમે શું ક્યારેય ચોક્કસ ભૂલ માટે help50 ચલાવવા
સંદેશ.
કે પછી, તમે પ્રયત્ન કરીશું તમારી જાતને વધુ સારી રીતે સજ્જ
બહાર આકૃતિ તે શું ખરેખર છે.
>> અહીં અન્ય એક કરીએ.
મને આગળ જાઓ, અને અન્ય દો ફાઇલ અમે આ buggy1.c કહી શકશો.
અને આ ફાઈલની હું છું deliberately-- કરવા જઇ
પરંતુ ડોળ કરવો કે હું નથી સમજો છો શું ભૂલ હું કર્યા છે.
>> હું આગળ વધો અને આ કરવા જઇ રહ્યો છું # સમાવેશ થાય છે, કારણ કે હું કર્યું
એક ક્ષણ પહેલા મારા પાઠ શીખ્યા.
ઈન્ મુખ્ય (રદબાતલ), પહેલાં.
અને પછી અહીં હું જાઉં છું શબ્દમાળા ઓ કરવું - get_string.
અને છેલ્લા સમય યાદ છે કે આ માધ્યમ, હેય, કોમ્પ્યુટર,
મને એક ચલ આપે છે, તે ઓ કૉલ, અને કે ચલ એક શબ્દમાળા પ્રકાર બનાવવા
તેથી હું તેને એક અથવા વધુ શબ્દો સ્ટોર કરી શકો છો.
>> અને પછી જમણી બાજુ પર સમાન સાઇન બાજુ
get_string છે, કે જે છે CS50 પુસ્તકાલય કાર્ય
બરાબર છે કે જે કરે છે.
તે કાર્ય અને પછી નહીં જમણેથી હાથ છોડી છે.
તેથી આ સમાન સાઇન અર્થ એ નથી "બરાબર" અમે ગણિતના લાગે શકે છે.
તે જમણેથી ડાબી સોંપણી થાય છે.
તેથી આ અર્થ એ છે, શબ્દમાળા લેવા વપરાશકર્તા અને તે ઓ અંદર સ્ટોર કરે છે.
>> હવે તેનો ઉપયોગ કરીએ.
મને આગળ હવે જાઓ બીજા દો વાક્ય, મને આગળ વધો અને કહે છે "હેલો" દો -
નથી "વિશ્વમાં," પણ "હેલો,% s-- જે અમારા પ્લેસહોલ્ડર, અલ્પવિરામ ઓ છે,
જે અમારા ચલ છે, અને પછી અર્ધવિરામ.
તેથી જો હું ખૂબ જ સ્ક્રૂ ન હતી અહીં, આ યોગ્ય કોડ જેવો દેખાય છે.
>> અને મારી વૃત્તિ હવે તે કમ્પાઇલ છે.
ફાઇલ buggy1.c કહેવામાં આવે છે.
તેથી હું buggy1 બનાવવા માટે, દાખલ કરો જાઉં છું.
અને રફૂ તે, જો નહિ હોય પહેલાં કરતાં પણ વધુ ભૂલો.
હું તેનો અર્થ, ત્યાં વધુ છે ભૂલ સંદેશાઓ તે કરશે
આ કાર્યક્રમ વાસ્તવિક લાઇન કરતા લાગે છે.
>> પરંતુ અહીં takeaway છે, પણ જો તમે ભરાઈ ગયાં છો
બે અથવા ત્રણ અથવા ચાર વધુ ભૂલ સંદેશાઓ,
ખૂબ જ પર હંમેશા ધ્યાન કેન્દ્રિત તે સંદેશાઓ પ્રથમ.
ટોચ સૌથી એક અંતે છીએ, બેક અપ જરૂર સરકાવનાર છે.
તેથી અહીં હું બનાવવા buggy1 લખ્યો.
અહીં રણકાર આઉટપુટ ઈચ્છિત તરીકે છે.
>> અને અહીં પ્રથમ લાલ ભૂલ છે.
બિનજાહેર ઓળખકર્તા ઉપયોગ શબ્દમાળા, હું પ્રમાણભૂત કહેવા માંગતા હતા?
તેથી સ્ટાન્ડર્ડ છે ખરેખર કંઈક બીજું.
તે વપરાશકર્તાની ઉલ્લેખ કરે છે કીબોર્ડ, અનિવાર્યપણે.
>> પરંતુ હું શું અર્થ થાય છે.
હું શબ્દમાળા અર્થ થાય છે, અને હું get_string અર્થ થાય છે.
તેથી તે શું છે કે હું આ સમય કરવા માટે ભૂલી ગયા છો?
આ સમય શું ખૂટે છે?
હું મારા # સમાવેશ થાય છે છે, તેથી હું printf વપરાશ હોય છે.
>> પરંતુ હું શું નથી હજુ સુધી ઍક્સેસ?
વેલ, માત્ર છેલ્લા સમય જેવી, હું કમ્પાઇલર કહેવું જરૂર
રણકાર શું આ વિધેયો છે.
Get_string ન કરવામાં આવે તો સી અને ખાસ કરીને, તે
માં આવવું નથી , ફાઇલ હેડરમાં.
તે જગ્યાએ આવે છે કંઈક સ્ટાફ લખ્યું હતું કે,
જે એક અલગ ફાઈલ છે નામ પરંતુ યોગ્ય રીતે નામ આપવામાં આવ્યું.
>> તેથી માત્ર એક લીટી કે ઉમેરીને છેલ્લા સમય થી code-- બોલાવવાનો
જ્યારે રણકાર ચાલે છે, તે રહ્યું છે નીચે મારી કોડ ટોચ પર જોવા માટે,
જમણે.
તે નોટિસ રહ્યું છે ઓહ, તમે કરવા માંગો છો.
મને જવા અને તે શોધવા દો, ત્યાં તે સર્વર પર છે,
નકલ અને પેસ્ટ, અનિવાર્યપણે, તમારા પોતાના ફાઈલ ટોચ માં
જેથી વાર્તામાં આ બિંદુએ, રેખા 1, કાર્યક્રમ બાકીના
ખરેખર, કાર્યો કોઇ પણ ઉપયોગ કરી શકો છો તેમાં તેમને વચ્ચે get_string.
તેથી હું અવગણો જાઉં છું તે ભૂલો બાકીના
કારણ કે હું ખરેખર, કે જે માત્ર શંકા પ્રથમ એક ખરેખર mattered.
અને હું આગળ અને પુનઃ ચલાવો જાઓ જાઉં છું મારા ફાઈલ બચત પછી buggy1 બનાવવા.
અને વોઇલા Query, તે કામ કર્યું.
અને જો હું ./buggy1 કરવું અને માં પ્રકાર માટે દાખલા તરીકે, Zamyla, હું હવે હેલો મળશે,
Zamyla, તેના બદલે હેલો, વિશ્વ.
>> બધા અધિકાર.
તેથી અહીં ટેકઅવે પછી હોય છે, એક, તરીકે ખૂબ તરીકે તમે કરી શકો છો તરીકે છૂટુંછવાયું, વેરાયેલું એકઠું કરવાનો પ્રયાસ કરો
એકલા ભૂલ સંદેશાઓ થી, જોઈ ઓળખી અમુક શબ્દો પર.
કે સિવાય, દીઠ help50 ઉપયોગ સમસ્યા સેટ સ્પષ્ટીકરણ.
પરંતુ સિવાય કે, પણ, હંમેશા જોવા ટોચ ભૂલ જ છે, ઓછામાં ઓછા
શરૂઆતમાં, તે જોવા માટે માહિતી તે ખરેખર પેદા કરી શકે છે.
પરંતુ તે ત્યાં છે બહાર વળે હજુ પણ વધુ કાર્યક્ષમતા બાંધવામાં
CS50 પુસ્તકાલય મદદ કરવા માટે તમે શરૂઆતમાં સત્ર માં
અને શરૂઆતમાં પ્રોગ્રામિંગ બહાર આકૃતિ શું ખોટું થઈ રહ્યું છે.
તેથી આપણે અન્ય ઉદાહરણ કરવા દો અહીં.
હું, કે જે આ buggy2 કૉલ જાઉં છું, ફરીથી, બહાર અપૂર્ણ કરી રહ્યું છે
દ્વાર, ડિઝાઇન દ્વારા.
>> અને હું આગળ જાઓ જાઉં છું અને # સમાવેશ થાય છે નથી.
અને પછી હું પૂર્ણાંક મુખ્ય (રદબાતલ) કરવા જાઉં છું.
અને પછી હું લૂપ માટે કરવા જઇ રહ્યો છું.
(હું પૂર્ણાંક _ 0.
હું કરતાં ઓછી અથવા 10 સમાન છે.
હું ++, અને પછી સર્પાકાર કૌંસ માં, હું જાઉં છું છાપે અહીં માત્ર એક hashtag પ્રતીક
અને એક નવી લાઇન પાત્ર.
>> આ સાથે મારા ઉદ્દેશ તેથી કાર્યક્રમ તદ્દન સરળ છે
10 વખત ફરી વળવું અને દરેક ઇટરેશન પર
કે લૂપ દરેક સમય ચક્ર દ્વારા,
એક hashtag છાપે, એક hashtag, એક hashtag.
હું કારણ કે એક લાઇન દીઠ ત્યાં નવી લાઇન છે.
અને તે માટે યાદ લૂપ, છેલ્લા સપ્તાહના દીઠ
અને તમે વધુ મળશે સિન્ટેક્ષ સાથે પરિચિત
અભ્યાસ સાથે ઉપયોગ કરીને long-- પહેલાં આ મને આપે
એક હું કહેવાય ચલ અને તે 0 થી સુયોજિત કરે છે.
>> આ હું ઇન્ક્રીમેન્ટ 1 દ્વારા દરેક ઇટરેશન.
તેથી હું 3 2 1 જાય છે.
અને પછી આ સ્થિતિ માં અર્ધ કોલોન ':' વચ્ચે મધ્યમ
બનાવવા માટે દરેક ઇટરેશન પર ચકાસાયેલ નહીં ખાતરી કરો કે અમે શ્રેણી અંદર હજુ પણ છે.
તેથી હું 10 વખત ફરી વળવું માંગો છો, તેથી હું છે સૉર્ટ ખૂબ તર્ક માત્ર
10 મારા બંધાયેલ ઉપર ત્યાં મૂકો.
>> અને હજુ સુધી, જ્યારે હું આ ચલાવો, પછી મેક સાથે સંકલન buggy2--
અને તે બરાબર કમ્પાઇલ નથી.
તેથી હું નથી સિંટેક્સ ભૂલ આ સમય.
મને આગળ હવે જાઓ અને buggy2 ચલાવવા માટે, દાખલ કરો.
અને હવે સ્ક્રોલ કરો.
અને મને વધારીએ વિન્ડો માપ.
>> હું હોય એવું લાગે છે 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11.
તેથી ત્યાં, 11 hashtags છે પણ તેમ છતાં હું સ્પષ્ટ રીતે આ લૂપની અંદર 10 મૂકો.
હવે, તમે કેટલાક તરત જ જોઈ શકે છે શું ભૂલ છે, કારણ કે, ખરેખર, આ છે
એક ખૂબ જ હાર્ડ ભૂલ કરી નથી.
પરંતુ તે ખૂબ જ સામાન્ય છે ખૂબ જ વહેલી કરી હતી.
>> શું હું બહાર નિર્દેશ કરવા માંગો છો, જોકે, કેવી રીતે હું આ બહાર આકૃતિ શકે છે?
વેલ, તે તારણ છે કે CS50 લાઇબ્રેરી આવે
માત્ર get_string અને get_int સાથે અને get_float અને અન્ય કાર્ય કરે છે.
તે પણ એક ખાસ કાર્ય સાથે આવે છે કહેવાય eprintf, અથવા, ભૂલ printf.
અને તે જ અસ્તિત્વમાં બનાવવા માટે તે તમારા માટે થોડી સરળ
જ્યારે માત્ર તમારો કોડ ડિબગીંગ સ્ક્રીન પર એક ભૂલ સંદેશો છાપો
અને ખબર છે કે તે ક્યાંથી આવ્યો.
>> તેથી દાખલા તરીકે, એક વસ્તુ હું કદાચ અહીં શું આ કાર્ય સાથે આ છે
eprintf, અને પછી હું આગળ જાઓ જાઉં છું અને કહે છે કે હું હવે% છે હું, બેકસ્લેશ, એ.
અને હું કિંમત પ્લગ કરવા જઇ રહ્યો છું.
અને ઉપર, કારણ કે આ CS50 પુસ્તકાલય છે,
હું આગળ જાઓ જાઉં છું અને સમાવેશ થાય છે
તેથી હું આ કાર્ય કરવા માટે વપરાશ હોય છે.
પરંતુ ચાલો લીટી 9 કરી શકાય તેવું માનવામાં આવે છે.
હું આખરે આ કાઢી જાઉં છું.
આ કરવા માટે કંઈ નથી મારા બહુચર્ચિત ધ્યેય સાથે.
પરંતુ eprintf, ભૂલ printf, માત્ર અર્થ છે મને કેટલાક તપાસ માહિતી આપે છે.
જ્યારે હું મારા કાર્યક્રમ ચલાવવા માટે, હું કરવા માંગો છો કામચલાઉ સ્ક્રીન પર આ જુઓ
તેમજ માત્ર સમજવા માટે શું થઈ રહ્યું છે.
>> અને, ખરેખર, દરેક 9 વાક્ય અહીં પુનરાવૃત્તિ
હું જોવા માટે કરવા માંગો છો, i ની કિંમત શું છે?
i ની કિંમત શું છે?
અને, આસ્થાપૂર્વક, હું માત્ર જોઈએ કે સંદેશ, પણ, 10 વખત જોવા મળે છે.
>> તેથી દો મને આગળ વધો અને મારા કાર્યક્રમ પુનઃકમ્પાઈલ,
હું કોઇ પણ સમયે કરી છે, કારણ કે હું ફેરફાર કરે છે. ./buggy2.
અને now-- બરાબર.
ત્યાં વધુ ઘણો પર જવાનું છે.
તેથી મને ઉપર સ્ક્રોલ દો એક પણ મોટી વિન્ડો.
>> અને તમે જે દરેક જોશો hashtags હજુ છાપવા છે.
પરંતુ વચ્ચે તેમને દરેક હવે આ છે તપાસ આઉટપુટ નીચે પ્રમાણે ફોર્મેટ.
મારા કાર્યક્રમ અહીં નામ buggy2 છે.
ફાઇલ નામ buggy2.c છે.
લાઇન નંબર જેમાંથી આ મુદ્રિત કરવામાં આવી હતી 9 વાક્ય છે.
અને પછી તે જમણી છે કે હું અપેક્ષા છું ભૂલ સંદેશો.
>> અને શું સરસ વિશે આ છે હવે હું જરૂરી ગણતરી કરવાની જરૂર નથી
મારા માથા માં શું મારા કાર્યક્રમ કરી છે.
હું તેના પર જોઈ શકો છો પ્રથમ પુનરાવૃત્તિ હું 0 છે,
પછી 1, પછી 2, તે પછી 3, પછી 4, પછી 5, પછી 6, પછી 7, પછી 8, 9 પછી, તો પછી
10.
તેથી એક મિનિટ રાહ જુઓ.
અહીં શું થઈ રહ્યું છે?
હું હજુ પણ ગણાય શકાય લાગે 10 સુધી બનાવાયેલ છે.
>> પરંતુ હું જ્યાં શરૂ થયો હતો?
0, 1, 2, 3, 4, 5, 6, 7, 8, 9 10.
તેથી 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10-- 11 આંગળી
સમસ્યા સૂચક છે.
હું ગણાશે છે એવું લાગે છે ખોટી રીતે મારા લૂપ.
10 iterations જાઓ બદલે, હું 0 શરૂ કરું છું,
હું અને 10 અંત છું.
પરંતુ કારણ કે, એક કોમ્પ્યુટર જેવી, હું 0 અંતે ગણતરી શરૂ કરું છું,
હું ગણાય જોઇએ છે, પરંતુ 10, નથી.
>> અને તેથી સુધારો, હું આખરે અહીં ભાન, બે વસ્તુઓ એક છે.
હું ખૂબ જ સરળ કહી શકે 10 કરતાં ઓછી સુધી ગણતરી.
તેથી 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 છે, જે ખરેખર, યોગ્ય,
પણ તે થોડી ખોટું લાગે છતાં.
અથવા હું શું કરી શકે કરતાં અથવા સમાન ઓછી 9, જેથી લાંબા સમય સુધી હું 0 શરૂ.
અથવા તમે ખરેખર ન ગમે, તો તમે 10 ગણતરી પરંતુ 1 શરૂ કરી શકો છો.
પરંતુ ફરીથી, આ માત્ર સામાન્ય છે.
programming-- જોકે Scratch-- ખૂબ જ નથી
પરંતુ પ્રોગ્રામિંગ માં સી અને અન્ય ભાષાઓ,
જાવાસ્ક્રિપ્ટ અને તેના જેવા Python અને અન્ય, તે છે
માત્ર ખૂબ જ સામાન્ય બાઈનરી અમારી ચર્ચા
માત્ર ગણાય શરૂ કરવા સૌથી ઓછી સંખ્યા તમે કરી શકો છો, કે જે 0 છે.
બધા અધિકાર.
તેથી તે eprintf છે.
અને ફરી, હવે હું બહાર figured કર્યું છે કે મારા સમસ્યા છે, અને હું 0 પાછા જાઓ જાઉં છું
કરતાં ઓછી 10, હું જાઉં છું માં જાઓ અને eprintf કાઢી નાખવા.
>> તે ત્યાં ન હોવી જોઈએ જ્યારે હું મારી કોડ જહાજ કે મારા કોડ સબમિટ
અથવા તે અન્ય કોઈને પણ દર્શાવે છે.
તે ખરેખર માત્ર અર્થ છે કામચલાઉ વાપરી શકાય છે.
પરંતુ હવે હું આ સુધારેલ છે તેમજ ખાસ સમસ્યા નથી.
>> ઠીક છે, ચાલો એક વધુ ઉદાહરણ કરવા દો અહીં કે હું ચાબુક નીચે પ્રમાણે જાઉં છું.
હું આગળ જાઓ જાઉં છું અને # સમાવેશ થાય છે. $ 50
અને હું આગળ જાઓ જાઉં છું અને # સમાવેશ થાય છે.
>> અને હું સેવ જાઉં છું આ ફાઇલ buggy3.c છે.
અને હું આગળ જાઓ જાઉં છું અને જાહેર પૂર્ણાંક મુખ્ય (રદબાતલ).
અને પછી ત્યાં અંદર હું હું પૂર્ણાંક કરવા જઇ રહ્યો છું _ -
હું એક કાર્યક્રમ અમલ કરવા માંગો છો એક get_negative_int સાથે.
આ એક કાર્ય હજુ સુધી અસ્તિત્વમાં નથી.
તેથી અમે અમલ કરવા માટે જઈ રહ્યાં છો તે માત્ર એક ક્ષણ.
પરંતુ અમે શા માટે જોવા જઈ રહ્યાં છો તે પ્રથમ પાસ પર બગડેલ છે.
અને એક વાર હું મેળવેલ કર્યું વપરાશકર્તા માંથી પૂર્ણાંક,
હું હમણાં જ% હું છાપો જાઉં છું નકારાત્મક છે પૂર્ણાંક, બેકસ્લેશ, એ, અલ્પવિરામ, હું.
બીજા શબ્દોમાં કહીએ તો, હું આ કાર્યક્રમ કરવા માંગો છો
એક નકારાત્મક પૂર્ણાંક વિચાર છે વપરાશકર્તા અને પછી છાપે
જેમ કે અને આવા નકારાત્મક પૂર્ણાંક છે.
>> હવે હું આ કાર્ય અમલમાં કરવાની જરૂર છે.
તેથી મારા ફાઈલમાં પછી, હું જાઉં છું આગળ અને એક કાર્ય કહેવાય જાહેર
get_negative_int (રદબાતલ) - અને અમે પડશે પાછા આવો તે શું છે તે રેખા ફરી એનો અર્થ એ થાય
એક ક્ષણ પૂર્ણાંક n માં; શું કરી દો નીચેના printf n છે :.
અને પછી હું એ કરવા જઇ રહ્યો છું - get_int, અને આ વખતે એ 0 કરતાં મોટો છે નથી.
અને પછી એ પાછા ;.
>> તેથી ઘણો ચાલી રહ્યું છે આ પણ જે કંઈ અમે કર્યું
ઓછામાં ઓછા સંક્ષિપ્તમાં ખાતે છેલ્લા અઠવાડિયે જુઓ.
તેથી અહીં 10 વાક્ય પર હું જાહેર કર્યું છે એક કાર્ય get_negative_int કહેવાય છે,
અને હું મૂક્યો છે (રદબાતલ), માં કૌંસ, કારણ આ છે
ઇનપુટ નથી.
હું કાંઇ નથી પસાર કરી રહ્યો છું આ કાર્ય કરવા માટે.
હું હમણાં જ કંઈક તેને પાછા મેળવવામાં છું.
>> અને હું શું આશા છું પાછા મળી પૂર્ણાંક છે.
ત્યાં કોઈ માહિતી પ્રકાર છે સી negative_int કહેવાય છે.
તે માત્ર પૂર્ણાંક છે, તેથી તે ચાલી રહ્યું છે તેની ખાતરી કરવા માટે અમને પર હોઈ
તે કિંમત ખરેખર છે કે પાછા ફર્યા નથી માત્ર પૂર્ણાંક છે
પણ નકારાત્મક છે.
>> 12 લીટી પર હું એક ચલ જાહેર છું એન અને પ્રકાર પૂર્ણાંક તે બનાવે છે કહેવામાં આવે છે.
અને પછી વાક્ય 13 માં 18 મારફતે હું છું કંઈક કરી જ્યારે કંઈક સાચું છે.
હું આગળ અને પ્રિન્ટીંગ જાઉં છું n છે, કોલોન, અને પછી એક જગ્યા,
વપરાશકર્તા માટે પ્રોમ્પ્ટ છે.
>> હું પછી get_int ફોન કરું છું અને તેના કહેવાતા વળતર કિંમત સ્ટોર
કે ચલ n છે.
પરંતુ હું તે કરી રાખવા માટે જઇ રહ્યો છું આ વખતે એ 0 કરતાં મોટો છે.
બીજા શબ્દોમાં કહીએ તો, વપરાશકર્તા મને આપે તો પૂર્ણાંક અને તે નંબર 0 કરતાં મોટો છે,
તેને લીધે, હકારાત્મક, હું જાઉં છું માત્ર વપરાશકર્તા reprompting રાખો,
reprompting રાખવા, તેમને માટે મજબૂર દ્વારા સહકાર અને મને નકારાત્મક પૂર્ણાંક આપે છે.
>> અને એકવાર એ ખરેખર negative-- છે વપરાશકર્તા ધારવું છેલ્લે પ્રકારના -50,
પછી આ વખતે લૂપ લાંબા સમય સુધી સાચું છે કારણ કે -50 0 કરતાં મોટો નથી.
તેથી અમે તે બહાર ભંગ લૂપ તાર્કિક અને એ આવો.
>> પરંતુ એક અન્ય છે વસ્તુ હું કરી છે.
અને હું ખાલી આ કરી શકો છો કૉપિ અને પેસ્ટ દ્વારા
ફાઇલ ટોચ પર કોડ એક વાક્ય.
હું રણકાર શીખવવા કરવાની જરૂર છે અથવા રણકાર વચન,
બાહ્ય ચાલશે, ખરેખર, જાઓ અને અમલ
આ કાર્ય get_negative_int.
તે ફક્ત ફાઇલ નીચલા હોઈ શકે છે.
ફરીથી, યાદ છે કે રણકાર ઉપરથી નીચે સુધી વસ્તુઓ વાંચે છે,
જમણે, જેથી તમે કરી શકતા નથી જો રણકાર એક કાર્ય કૉલ
તે અસ્તિત્વમાં રહ્યું છે ખબર નથી.
>> હવે, કમનસીબે, આ કાર્યક્રમ, કારણ કે જેમ તમે અમુક સૂચન હોઇ શકે છે,
પહેલેથી જ બગડેલ છે.
મને આગળ વધો અને buggy3 બનાવવા દો.
તે કમ્પાઇલ, જેથી મારી સમસ્યા હવે નથી એક સિંટેક્સ ભૂલ, એક શાબ્દિક ભૂલ જેમ,
તે ખરેખર એક લોજિકલ પ્રયત્ન રહ્યું છે ભૂલ કે હું ઇરાદાપૂર્વક કર્યું
કરવા માટે એક તક તરીકે કરવામાં શું થઈ રહ્યું છે મારફતે પગલું.
>> હું આગળ જાઓ જાઉં છું હવે buggy3 ચલાવો.
અને હું જવા માટે જઇ રહ્યો છું આગળ અને સહકાર.
હું તેને નંબર 1 આપવા જઈ રહ્યો છું.
તે જેવી ન હતી, તેથી તે મને ફરીથી પૂછવાની છે.
>> કેવી રીતે 2?
3?
50?
તે કંઈ કામ કરી રહ્યા છે.
કેવી રીતે -50 વિશે શું?
અને કાર્યક્રમ કામ લાગે છે.
>> મને તે વધુ એક વખત પ્રયાસ કરીએ.
મને -1 પ્રયાસ કરો, કામ લાગે છે.
મને -2 પ્રયાસ કરો, કામ લાગે છે.
મને 0 પ્રયાસ કરીએ.
ઓહ, કે ખોટો છે.
હવે, આપણે અહીં થોડી મિથ્યાપાંડિત્ય હોવા કરી રહ્યાં છો.
પરંતુ તે છે ખરેખર, આ કેસ 0 ન તો હકારાત્મક કે નકારાત્મક છે.
અને તેથી હકીકત મારા કાર્યક્રમ છે કે કહે છે કે 0 નકારાત્મક પૂર્ણાંક છે
કે ટેકનિકલી સાચી નથી.
>> હવે, તે શા માટે આ કરવાનું છે?
વેલ, તે સ્પષ્ટ હોઈ શકે છે.
અને, ખરેખર, કાર્યક્રમ છે એકદમ સરળ થઈ ગયું
તેથી અમે અન્વેષણ કરવા માટે કંઈક છે.
>> પરંતુ ત્રીજા ડિબગીંગ પરિચય દો ટેકનિક અહીં debug50 કહેવાય છે.
તેથી આ એક કાર્યક્રમ છે અમે હમણાં બનાવેલ છે કે
આ વર્ષે કહેવાય debug50 કે તમે પરવાનગી આપે છે
વાપરવા માટે શું આંતરિક કહેવાય છે CS50 IDE ગ્રાફિકલ ડીબગર.
અને ડીબગર માત્ર એક કાર્યક્રમ છે કે સામાન્ય રીતે તમે તમારા કાર્યક્રમ ચલાવી શકો છો
પરંતુ પગલું, રેખા દ્વારા પગલું દ્વારા પગલું વાક્ય દ્વારા વાક્ય દ્વારા, pausing, poking
આસપાસ, ચલો જોઈ જેથી કાર્યક્રમ માત્ર તમે ભૂતકાળમાં તમાચો નથી
અને ઝડપથી કંઈક છાપવા અથવા કંઈક છાપો.
તે તમને એક તક આપે છે, પર માનવ ઝડપ, તેની સાથે ક્રિયાપ્રતિક્રિયા કરે છે.
>> અને આ કરવા માટે, તમે ફક્ત નીચેની નથી.
તમારો કોડ કમ્પાઇલ કર્યા પછી, જે મને પહેલેથી જ હતી, buggy3,
તમે આગળ વધો અને debug50 ./buggy ચલાવો.
બહુ ગમે help50 તમે ચલાવવા છે help50 અને પછી આદેશ,
debug50 તમે debug50 ચાલે છે અને પછી આદેશ નામ.
>> હવે જુઓ મારા સ્ક્રીન પર શું થાય છે, ખાસ કરીને જમણી બાજુ પર.
જ્યારે હું ચલાવો, તમામ હિટ અચાનક આ જમણી બાજુ પેનલ
સ્ક્રીન પર કોઈ રન નોંધાયો નહીં.
અને ત્યાં ઘણા બધા રહ્યું છે પ્રથમ નજરે પર.
પરંતુ ત્યાં પણ નથી વિશે હજુ સુધી ચિંતા કરવાની જ.
>> આ બધું મને દર્શાવે છે કે મારા કાર્યક્રમ ની અંદર પર ચાલી રહ્યું છે
હમણાં અને આ દ્વારા બટનો ટોચ પછી
મને મારા કોડ દ્વારા પગલું માટે પરવાનગી આપે છે આખરે પગલું દ્વારા પગલું દ્વારા પગલું.
પરંતુ હજુ સુધી.
નોંધ શું થાય છે.
મારા ટર્મિનલ વિન્ડો પર હું એ માટે પૂછવામાં આવી રહી છું.
અને હું આગળ જવા માટે જઇ રહ્યો છું અને આ સમય અને -1 પ્રકાર સહકાર.
અને જોકે થોડી રહસ્યમય, -1 નકારાત્મક પૂર્ણાંક, ઈચ્છિત તરીકે છે.
>> અને પછી બાળક સાથે બહાર સ્થિતિ 0 gdbserver બહાર નીકળતા.
GDB, એ GNU ડિબગર, નામ છે અંતર્ગત સોફ્ટવેર
કે આ ડીબગર અમલમાં મૂકે છે.
પરંતુ આ બધા ખરેખર અર્થ થાય છે, ડીબગર દૂર ગયા કારણ કે મારા કાર્યક્રમ બહાર નીકળવા
અને બધા સારી હતી.
હું ખરેખર મારા કાર્યક્રમ ડિબગ કરવા માંગો છો, તો હું preemptively debug50 કહેવું છે
જ્યાં હું શરૂ કરવા માંગો છો મારી કોડ મારફતે વેગ?
>> અને કદાચ સરળ માર્ગ કે નીચે પ્રમાણે છે શું કરવું.
જો હું ઉપર હૉવર મારા સંપાદક ગટર અહીં,
તેથી ખરેખર માત્ર સાઇડબારમાં અહીં, લીટી નંબર ડાબી,
નોંધ કરો કે જો હું માત્ર પર ક્લિક કરો એક વાર, હું થોડી લાલ ટપકું મૂકો.
અને તે થોડી લાલ ટપકું, એક સ્ટોપ સાઇન જેવી છે, જેનો અર્થ છે, હેય,
debug50, મારા કોડ વિરામ અમલ અધિકાર ત્યાં જ્યારે હું આ કાર્યક્રમ ચલાવો.
>> તેથી ચાલો તે કરીએ.
મને આગળ વધો અને મારા કાર્યક્રમ ચલાવવા દો debug50 ./buggy3 સાથે ફરીથી દાખલ કરો.
અને હવે, નોટિસ, કંઈક વિવિધ થયું છે.
હું પૂછવામાં આવી રહી છું હજુ સુધી મારા ટર્મિનલ વિન્ડોમાં
કંઈપણ માટે છે, કારણ કે હું નથી મારા કાર્યક્રમ હજુ સુધી ત્યાં મેળવેલ.
નોંધ કરો કે 8 વાક્ય પર જે હવે પ્રકાશિત થયેલ છે,
અને ત્યાં થોડો એરો ડાબી કહેવત, તમે અહીં અટકી છે.
કોડ છે, લીટી આ વાક્ય 8, હજુ સુધી ચલાવવામાં નથી.
>> અને જો હું જુઓ, વિચિત્ર છે જમણી બાજુ પર અહીં પર,
નોંધ કરો કે હું એક સ્થાનિક છે ચલ, અર્થમાં સ્થાનિક
કે તે વર્તમાન કાર્ય અંદર છે.
અને તેની કિંમત, દેખીતી રીતે મૂળભૂત રીતે, અને જેવું સરળ, 0 હોય છે.
પરંતુ હું 0 લખો ન હતી.
કે જે હમણાં જ બને છે તેના આ ક્ષણે મૂળભૂત કિંમત.
>> તેથી મને આગળ વધો અને હવે આ કરવા દો.
મને આગળ વધો અને પર જાઓ ઉપર જમણી અહીં, હું છું
આગળ જાઓ રહ્યું છે અને આ પ્રથમ ચિહ્ન પર ક્લિક કરો કે જે
જેના પર પગલું એટલે અવગણો નથી એનો અર્થ એ થાય તે પણ કોડના આ લીટી પર પગલું,
રસ્તામાં તે ચલાવવા.
>> અને હવે, નોટિસ, મારા પ્રોમ્પ્ટ માત્ર બદલાઈ ગયેલ છે.
શા માટે છે?
હું debug50 કહ્યું છે, કોડ આ વાક્ય ચલાવો.
કોડ આ વાક્ય શું કરે છે?
મને પૂર્ણાંક માટે પૂછે છે.
ઠીક છે.
મને સહકાર દો.
મને આગળ હવે જાઓ અને ટાઇપ -1, દાખલ કરો.
અને હવે નોટિસ બદલાઈ ગયેલ છે.
જમણી બાજુ પર, મારા સ્થાનિક ચલ હું
હોવા -1 હવે સૂચવવામાં આવે છે.
અને તે પ્રકાર પૂર્ણાંક હજુ પણ છે.
>> અને નોટિસ, પણ, મારા કહેવાતા સ્ટેક કૉલ, જ્યાં હું વિરામ હતી?
અમે વિશે વધુ વાત કરીશું ભવિષ્યમાં આ.
પરંતુ કૉલ સ્ટેક માત્ર ઉલ્લેખ કરે છે શું કાર્યો ગતિ હાલમાં છે.
હમણા તે માત્ર મુખ્ય છે.
અને હમણાં જ સ્થાનિક ચલ 1 ની કિંમત સાથે હું છે.
>> અને જ્યારે હું આખરે આ લીટી પર પગલું અહીં, ઉપર જમણી બાજુએ તે જ ચિહ્ન સાથે,
-1 નકારાત્મક પૂર્ણાંક છે.
હવે તે સર્પાકાર તાણવું પર pausing છે.
ચાલો તે તેના વસ્તુ કરવા દો.
હું તે લીટી, અને વોઇલા Query પર પગલું.
>> તેથી કે જે બધી ભયંકર સંપન્ન હજુ સુધી,
પરંતુ તે દો નહોતી મને વિરામ અને તાર્કિક મારફતે લાગે
આ કાર્યક્રમ શું કરવાનું છે.
પરંતુ તે ભૂલભરેલા કેસ ન હતી.
નીચે પ્રમાણે આ ફરીથી દો.
>> હું બ્રેકપોઇન્ટ છોડી જઇ રહ્યો છું લાલ ટપકું સાથે 8 વાક્ય પર.
હું debug50 પુનઃ ચલાવો જાઉં છું.
તે આપોઆપ અહીં થોભાવવામાં છે.
પરંતુ આ સમય, બદલે આ લીટી પર આધાર,
મને ખરેખર અંદર જવા દો get_negative_int અને બહાર આકૃતિ,
શા માટે તે માન્ય જવાબ તરીકે 0 સ્વીકાર કરે છે?
>> તેથી પગલું પર ક્લિક બદલે.
હું આગળ જાઓ જાઉં છું અને માં પગલું ક્લિક કરો.
અને તે છે કે 8 વાક્ય નોટિસ હવે અચાનક હવે પ્રકાશિત
રેખા 17 બની જાય છે.
>> હવે, તે ડીબગર નથી લાઇન્સ 14 અને 15 અને 16 છોડ્યું છે.
તે માત્ર ત્યાં કશું છે તમે ત્યાં બતાવવા માટે.
તે માત્ર ચલો જાહેર કરવામાં આવે છે, અને પછી ત્યાં શબ્દ શું
અને પછી એક ખુલ્લું સર્પાકાર તાણવું.
માત્ર વિધેયાત્મક વાક્ય છે કે રસદાર ખરેખર આ એક અહીં, 17 છે.
અને તે છે જ્યાં અમે કર્યું છે આપોઆપ થોભાવવામાં.
>> તેથી printf ( "n.is:") ;, જેથી કે હજુ સુધી થયું નથી.
તેથી આપણે આગળ વધીશું અને સ્ટેપ ઓવર ક્લિક કરો.
હવે મારા પ્રોમ્પ્ટ પર, ખરેખર, બદલાઈ (n "છે:").
હવે get_int, હું જાઉં છું માં આધાર સંતાપ,
કારણ કે તે કાર્ય હતું લાઇબ્રેરી માં CS50 દ્વારા કરી હતી.
તે કદાચ સાચું છે.
>> તેથી હું આગળ જાઓ જાઉં છું અને તે સૉર્ટ આપીને સહકાર
પૂર્ણાંક નથી, પરંતુ એક નકારાત્મક પૂર્ણાંક.
તેથી મને આગળ વધો અને 0 હિટ દો.
અને હવે શું અહીં થાય છે 21 લીટી છે જ્યારે હું નીચે વિચાર?
હું ફરીથી iterated નથી કર્યું.
હું કે લૂપ અટકી શકાય તેમ લાગતું નથી.
બીજા શબ્દોમાં કહીએ તો, આ પીળો બાર આસપાસ જઈ ન રાખી હતી,
અને આસપાસ છે, અને આસપાસ.
>> હવે, કે શા માટે છે?
વેલ, એન, હમણાં શું એ છે?
હું સ્થાનિક જોવા કરી શકો છો ડીબગર ચલો.
એ 0 હોય છે.
બધા હક છે, મારી હાલત શું હતું?
>> 20-- લીટી 20 છે, સાથે સાથે, 0 0 કરતાં મોટો છે.
તે સાચું નથી.
0 0 કરતાં મોટો નથી.
અને તેથી હું આ બહાર તોડી નાખ્યો હતો.
>> અને તેથી કે શા માટે વાક્ય પર છે 21, હું ખરેખર ચાલુ રાખવા માટે,
હું 0 પાછા જઈ રહ્યો છું, પણ છતાં હું 0 નકારી કાઢી છે કરીશું
કારણ કે ખરેખર નકારાત્મક નથી છે.
તેથી હવે, હું ખરેખર પણ નથી ડીબગર વિશે કાળજી.
તે હું જરૂર નથી મળ્યો ખબર શું વધુ રહ્યું છે.
>> તેથી હું આગળ જાઓ જાઉં છું અને માત્ર પ્લે બટન પર ક્લિક કરો,
અને આ સમાપ્ત કરીએ.
હવે, હું સમજાયું કર્યું મારા ભૂલ વાક્ય 20 પર દેખીતી રીતે છે.
તે મારા લોજિકલ ભૂલ છે.
>> અને તેથી હું શું કરવા માંગો છો આ બદલવા માટે શું કરવું?
સમસ્યા છે જો કે હું નથી 0 મોહક, તે માત્ર લોજિકલ ભૂલ છે.
અને હું કહી શકો છો n છે જ્યારે એક કરતાં વધારે અથવા 0 સમાન
વપરાશકર્તા ફરીથી અને ફરીથી પૂછવાની રાખો.
>> તેથી, ફરી, સરળ ભૂલ, કદાચ પણ સ્પષ્ટ છે જ્યારે તમે મને જોયો
તે માત્ર થોડી મિનિટો પહેલાં લખો.
પરંતુ અહીં takeaway છે ડિબગ 50 સાથે,
અને ડિબગીંગ સાથે સોફ્ટવેર વધુ સામાન્ય રીતે,
તમે આ નવા મળી શક્તિ હોય છે તમારા પોતાના કોડ લઈ જવામાં, જુઓ
જમણી બાજુ પેનલ મારફતે શું તમારા ચલો કિંમતો છે.
તેથી તમે જરૂરી નથી કંઈક ઉપયોગ કરે છે
જેમ તમે તે કિંમતો છાપો eprintf.
તમે ખરેખર તેમને જોઈ શકે છે દૃષ્ટિની સ્ક્રીન પર.
>> હવે, આ ઉપરાંત, તે નોંધ વર્થ છે ત્યાં અન્ય ટેકનિક છે કે જે
ખરેખર સુપર સામાન્ય છે.
અને તમે આશ્ચર્ય શકે છે શા માટે આ થોડું અહીં વ્યક્તિ સ્ટેજ પર બેઠક કરવામાં આવી છે.
તેથી આ ટેકનિક છે, સામાન્ય રીતે રબર ડક ડિબગીંગ તરીકે ઓળખાય છે,
જે ખરેખર માત્ર એક છે હકીકત એ છે ટેસ્ટામેન્ટ
કે ઘણીવાર જ્યારે પ્રોગ્રામરો કોડ લખે છે,
તેઓ જરૂરી ન હો અન્ય લોકો સાથે સહયોગ,
અથવા શેર્ડ પર્યાવરણ કામ કરે છે.
>> તેઓ ઘરે પ્રકારની છો.
કદાચ તે રાત્રે અંતમાં છે.
તેઓ આકૃતિ કરવાનો પ્રયાસ કરી રહ્યાં છો તેમના કોડ કેટલાક ભૂલ બહાર.
અને તેઓ માત્ર તે નથી જોઈ રહ્યાં છો.
>> અને ત્યાં કોઈ રૂમમેટ છે.
આ બોલ પર કોઈ ટીએફ છે.
ત્યાં આસપાસ કોઈ CA છે.
બધા તેઓ તેમની શેલ્ફ પર હોય આ થોડું રબર વહાલું છે.
>> અને તેથી રબર ડક ડિબગીંગ ફક્ત આ આમંત્રણ છે
કારણ કે કોઈ કંઈક વિચાર આ એક વાસ્તવિક પ્રાણી તરીકે,
અને ખરેખર તમારો કોડ લઈ જવામાં મૌખિક આ નિર્જીવ પદાર્થ છે.
તેથી, ઉદાહરણ તરીકે, જો આ મારા ઉદાહરણ છે અહીં
અને પહેલાં યાદ સમસ્યા આ હતી,
જો હું કોડ આ પ્રથમ વાક્ય કાઢી નાખો, અને હું આગળ જાઓ અને ફરીથી બગડેલ 0 બનાવવા માટે,
યાદ છે કે હું આ હતી અહીં ભૂલ સંદેશાઓ.
તેથી તે વિચાર અહીં, છતાં હું હાસ્યાસ્પદ આ ક્ષણે લાગે છે કે આ જાહેરમાં કરી,
કે ભૂલ છે.
>> ઠીક છે, તેથી મારી સમસ્યા એ છે કે હું કર્યું છે સર્વથા એક પુસ્તકાલય કાર્ય જાહેર કર્યો.
અને તે પુસ્તકાલય કાર્ય printf છે.
જાહેર છે ઠીક છે, જાહેર મને પ્રોટોટાઇપ યાદ અપાવે છે.
>> તેનો અર્થ એ કે હું ખરેખર જરૂર અગાઉથી કમ્પાઇલર શું કહેવું
કાર્ય જેમ દેખાય છે.
એક મિનીટ થોભો.
હું ધોરણ io.h. ન હતી
ખુબ ખુબ આભાર.
>> તેથી માત્ર તમે લોગ આ પ્રક્રિયા ખરેખર એક બતક છે કરવાની જરૂર નથી.
પરંતુ વૉકિંગ આ વિચાર જાતે તમારા પોતાના કોડ દ્વારા
તેથી તમે પણ સાંભળી છે કે જાતે, જેથી તમે
તમારા પોતાના ઓમિશન ખ્યાલ ટીકા, સામાન્ય રીતે વિચાર છે.
>> અને, કદાચ વધારે તાર્કિક નથી, તેથી કે એક પણ વધુ સામેલ સાથે ખૂબ
ઉદાહરણ અમે માત્ર બગડેલ 3.સી કર્યું હતું, તમે તે મારફતે જાતે ચાલવા શકે
કારણ કે અનુસરે છે.
તેથી તમામ હક, રબર વહાલું, DDB, જો તમે કરશે.
અહીં અમે મારી મુખ્ય કાર્ય હોય છે, હું નકારાત્મક પૂર્ણાંક વિચાર ફોન કરું છું.
>> અને હું પાછા આવો કિંમત મેળવવામાં છું.
હું ડાબી બાજુ પર સંગ્રહિત છું એક ચલ 8 વાક્ય પર હું કહેવામાં આવે છે.
ઠીક છે, પરંતુ રાહ જુઓ, કેવી રીતે કર્યું કે કિંમત મળી શકે?
મને 12 લીટી માં કાર્ય જોવા દો.
>> 12 લીટી માં, અમે નકારાત્મક પૂર્ણાંક વિચાર છે.
કોઈપણ ઇનપુટ્સ લેવા નથી, પૂર્ણાંક બરાબર પાછા નથી.
હું 14 વાક્ય એક ચલ n જાહેર.
તે પૂર્ણાંક સ્ટોર ચાલી રહ્યું છે.
કે હું શું કરવા માંગો છો છે.
>> તેથી નીચેના જ્યારે એ ધારો દો મને પૂર્વવત્ શું સુધારો હું પહેલેથી જ કરી હતી.
તેથી જ્યારે n એ કરતાં વધારે છે 0, છાપે n છે, બરાબર.
અને પછી ફોન પૂર્ણાંક n સંગ્રહાયેલ મળશે.
અને પછી તપાસો, તો એ 0 એ not-- ત્યાં તે છે.
તેથી, ફરી, જો તમે ન કરો વાસ્તવિક ડક જરૂર છે.
પરંતુ માત્ર તમારી જાતને મારફતે વૉકિંગ એક બૌદ્ધિક કસરત તરીકે તમારો કોડ
ઘણી વખત તમને મદદ કરશે ખ્યાલ શું થઈ રહ્યું છે,
માત્ર કંઈક કરી વિરોધ આ જેમ, સ્ક્રીન પર staring,
અને પોતાને મારફતે વાત નથી તે છે, કે જે પ્રામાણિકપણે નથી
લગભગ એક અસરકારક ટેકનિક છે.
તેથી ત્યાં તમે તે વિવિધ તરકીબો સંખ્યા
ખરેખર તમારો કોડ ડિબગીંગ માટે અને દોષ શોધવા, જે તમામ
તમારા Toolkit માં સાધનો પ્રયત્ન કરીશું કે તમે મોડી રાત્રે ન હો તેથી,
ખાસ કરીને, તમે ડાઇનિંગ છો હોલ, અથવા ઓફિસ કલાકો,
સામે તમારા માથા એકાએક સપાટો દિવાલ, કેટલાક સમસ્યા ઉકેલવા માટે પ્રયાસ કરે છે.
ખ્યાલ છે કે સોફ્ટવેર સાધનો છે.
ત્યાં રબર ડક સાધનો છે.
અને ત્યાં સમગ્ર સ્ટાફ એક હાથ ધીરે રાહ જોઈ આધાર આપે છે.
>> તેથી હવે, સમસ્યા પર એક શબ્દ સમૂહો, અને અમે તમને શું આશા કરી રહ્યા છીએ પર
તેમને મેળવવા માટે, અને કેવી રીતે અમે મૂલ્યાંકન વિશે જાઓ.
દીઠ કોર્સ અભ્યાસક્રમ, માતાનો CS50 સમસ્યા સેટ
ચાર પ્રાથમિક સીમાની પર મૂલ્યાંકન કરવામાં આવે છે, જેથી અવકાશ speak-- માટે, ચોકસાઈ, ડિઝાઇન,
અને શૈલી.
અને અવકાશ માત્ર કેટલી ઉલ્લેખ કરે છે ભાગ તમે બંધ bitten છે?
તમે કેવી રીતે સમસ્યા ખૂબ પ્રયત્ન કર્યો છે?
પ્રયાસ કયા સ્તરની તમે જેની સ્પષ્ટ અભિવ્યક્તિ છે?
>> ચોકસાઈ, છે, કારણ કે કાર્યક્રમ કામ કરે છે તે CS50 સ્પષ્ટીકરણ દીઠ તેવું માનવામાં આવે છે
જ્યારે તમે ચોક્કસ ઇનપુટ્સ પૂરી પાડે છે અથવા ચોક્કસ આઉટપુટ પાછા આવતા?
ડિઝાઇન તેમને મોટા ભાગના વસ્તુલક્ષી હોય છે.
અને તે એક છે કે કરશે સૌથી લાંબી લેવા શીખવા માટે
અને સૌથી લાંબી શીખવે છે, માં અત્યાર સુધી તે ઉકળે તરીકે,
કેવી રીતે સારી રીતે લખાયેલ તમારો કોડ છે?
>> તે એક વસ્તુ માત્ર યોગ્ય પ્રિન્ટ છે આઉટપુટ અથવા જમણી કિંમતો આવો.
પરંતુ જો તમે તેને જેમ કરી રહ્યા છે અસરકારક રીતે શક્ય?
તમે તેને વિભાજન કરી રહ્યા છે અને જીતી, અથવા દ્વિસંગી
શોધ તરીકે અમે ટૂંક સમયમાં જોવા મળશે કે અમે કર્યું બે અઠવાડિયા પહેલા ફોન પુસ્તક સાથે?
ત્યાં ઉકેલવા માટે વધુ સારી રીતે થાય છે સમસ્યા તમે હાલમાં અહીં છે કરતાં?
તે સારી ડિઝાઇન માટે એક તક છે.
>> અને પછી કેવી રીતે શૈલી ખૂબ તમારો કોડ છે?
તમે નોટિસ પડશે કે હું ખૂબ છું મારી કોડ માંગયાદી વિશે ખાસ કરીને,
અને ખાતરી છે કે મારી ચલો બનાવવા વ્યાજબી રાખવામાં આવ્યા છે. એન,
ટૂંકા સમય, એક માટે એક સારા નામ છે નંબર, ગણતરી પૂર્ણાંક માટે હું
એક શબ્દમાળા માટે ઓ.
અને અમે લાંબા સમય સુધી હોઈ શકે છે ચલ નામો પ્રકાર.
શૈલી માત્ર કેવી રીતે સારી છે તમારો કોડ લાગતું નથી?
અને તે કેવી રીતે વાંચી શકાય છે?
>> અને સમય જતાં, શું તમારા ટીએ અને TFs દરમિયાન કરશે
કે જે તમને પૂરી પાડે છે ગુણાત્મક પ્રતિસાદ પ્રકારની
કે જેથી તમે વધુ સારી રીતે મળી તે વિવિધ પાસાંઓ પર.
અને કેવી રીતે અમે દ્રષ્ટિએ આ સીમાની દરેક મૂલ્યાંકન,
તે ખૂબ જ થોડા સાથે ખાસ કરીને ડોલથી છે કે જેથી તમે સામાન્ય રીતે,
કેટલી સારી રીતે તમે કરી રહ્યા છો તે એક અર્થમાં વિચાર.
અને, ખરેખર, તમે પર સ્કોર પ્રાપ્ત જો તે ખૂણાઓ ચોકસાઈ, ડિઝાઇન કોઈપણ
અને શૈલી especially-- કે જે નંબર સામાન્ય રીતે 1 થી 5 વચ્ચે હશે.
અને, શાબ્દિક, તમે મળી રહ્યાં હોય સત્ર શરૂઆતમાં 3,
આ એક ખૂબ જ સારી બાબત છે.
એનો અર્થ એ થયો ત્યાં હજુ પણ છે સુધારણા માટે જગ્યા,
તમે માટે આશા કરશે જે પ્રથમ વખત માટે એક વર્ગ લેતી.
ત્યાં આસ્થાપૂર્વક છત કેટલાક બીટ છે જે તમે સુધી પહોંચવા મહત્વાકાંક્ષી કરી રહ્યાં છો.
અને તેથી 3 પર મેળવવામાં પૂર્વકાલીન ટુકડાઓ,
જો ન હોય તો કેટલાક 2 અને 4 ની, ખરેખર, એક સારી બાબત છે.
તે સારી રીતે શ્રેણી અંદર છે, સારી અપેક્ષાઓ અંદર.
>> અને જો તમારા મન રેસિંગ છે, રાહ જુઓ એક મિનિટ, ત્રણ પાંચ બહાર.
તે ખરેખર 10 6 બહાર છે.
60% છે.
મારા દેવ, એક એફ છે કે
>> તે નથી.
તે નથી, હકીકત એ છે કે.
તેના બદલે, તે સુધારવા માટે એક તક છે સત્ર કોર્સ પર.
અને જો તમે કેટલાક મળી રહ્યાં હોય Poors, આ એક તક છે
ઓફિસ કલાકો લાભ લેવા માટે, ચોક્કસપણે વિભાગો અને અન્ય સ્રોતો.
>> શ્રેષ્ઠ તક, ખરેખર, છે તમે માત્ર અત્યાર સુધી કેવી રીતે કર્યું ગર્વ હોવાનું
સત્ર કોર્સ પર આવે છે.
તેથી ખ્યાલ નથી, જો કંઇ બીજું, ત્રણ સારો છે.
અને તે સમય પર વૃદ્ધિ માટે જગ્યા પરવાનગી આપે છે.
>> કેવી રીતે તે સીમાની હોય છે ભારાંક, વાસ્તવિકતાથી તમે છો
મેળવવામાં તમારા મોટા ભાગના વખતે પસાર કરવા માટે ચાલુ કામ કરવા માટે વસ્તુઓ, યોગ્ય રીતે એકલા દો.
અને તેથી ચોકસાઈ કરે છે સાથે, સૌથી મહત્ત્વપૂર્ણ કરી
ત્રણ આ ગુણાકાર પરિબળ.
ડિઝાઇન, પણ મહત્વપૂર્ણ છે, પરંતુ કંઈક કે જે તમે જરૂરી નથી
તે કલાકો બધા પર વિતાવે વસ્તુઓ માત્ર કામ કરવા માટે વિચાર કરવાનો પ્રયાસ કરી.
>> અને તેથી તે ભારાંક છે થોડી વધુ થોડું.
અને પછી શૈલી ઓછા ભારાંક છે.
પણ તે કોઈ ઓછી છે છતાં મૂળભૂત મહત્વનું છે,
તે માત્ર છે, કદાચ, સૌથી સરળ વસ્તુ અધિકાર નથી,
ઉદાહરણો અમે એપોપ્લેક્સી વ્યાખ્યાન અને વિભાગમાં કરવા,
વસ્તુઓ સાથે સરસ રીતે ઇન્ડેન્ટેડ, અને ટિપ્પણી કરી છે,
અને તેથી આગળ આ સરળ હોવા છતાં વચ્ચે છે વસ્તુઓ કરવું અને જમણી વિચાર.
તેથી, જેમ કે ખ્યાલ કે તે પોઇન્ટ છે
કે પકડ પ્રમાણમાં સરળ હોય છે.
>> અને હવે એક શબ્દ પર શૈક્ષણિક ઈમાનદારી છે આ.
તેથી કોર્સ દીઠ અભ્યાસક્રમ, તમે જોશો
કોર્સ છે કે જે ખૂબ આ આસપાસ ભાષા બીટ.
અને અલબત્ત મુદ્દો લે ખૂબ ગંભીરતાથી શૈક્ષણિક ઈમાનદારી.
>> અમે તફાવત હોય છે, વધુ સારા માટે અથવા ખરાબ માટે,
ના મોકલવામાં દર વર્ષે વધુ શિસ્તભંગનાં પગલાં લેવા માટે વિદ્યાર્થીઓ
સૌથી અન્ય કોઈપણ કરતાં અલબત્ત, કે હું વાકેફ છું.
આ જરૂરી નથી હકીકત સૂચક
સીએસ વિદ્યાર્થીઓ, અથવા CS50 વિદ્યાર્થીઓ, છે કે કોઈપણ ઓછી તમારા સહપાઠીઓને કરતાં પ્રમાણિક.
પરંતુ વાસ્તવિકતા એ છે કે આ વિશ્વ, ઇલેક્ટ્રોનિક, અમે હમણાં જ
ટેકનોલોજીકલ છે આ નોંધવાની થાય છે.
>> તે માટે મહત્વનું છે વર્ગ સમગ્ર ઔચિત્યની
આ શોધી, અને વધારવા કે અમે શું મુદ્દો છે જ્યારે અમે વસ્તુઓ જુઓ.
અને માત્ર એક ચિત્ર કરું, અને ખરેખર આ સિંક કંઈક મદદ કરવા માટે,
આ સંખ્યામાં છે છેલ્લા 10 વર્ષોમાં વિદ્યાર્થીઓ
કેટલાક સામેલ કરવામાં આવી છે કે શૈક્ષણિક ઈમાનદારી જેવા મુદ્દાઓ,
કેટલાક 32 વિદ્યાર્થીઓ સાથે પતન 2015, જે
કહે છે કે અમે લેવા નથી આ બાબત ખૂબ જ ગંભીર.
અને, આખરે, આ નંબરો કંપોઝ, તાજેતરમાં સૌથી વધુ, લગભગ 3%, 4% અથવા તેથી
વર્ગ.
>> વિદ્યાર્થીઓને સુપર બહુમતી માટે તેથી તેને લાગે છે કે લીટીઓ સ્પષ્ટ છે.
પરંતુ આ રાખવા નથી વાંધો નહીં, ખાસ કરીને અંતમાં
રાત્રે જ્યારે સાથે સંઘર્ષ સમસ્યા સમૂહ કેટલાક ઉકેલ,
ત્યાં પદ્ધતિઓ છે કે જે તમારી જાતને વધુ સારી મેળવવા માટે
તમે કરતાં આધાર શકે લાગે છે કે, તે પણ છે કે કલાક છે.
ખ્યાલ છે જ્યારે અમે પ્રાપ્ત કરે છે તે વિદ્યાર્થી સબમિશન, અમે પાર
આ વર્ષે દરેક સબમિશન તુલના દરેક સબમિશન ગયા વર્ષે સામે,
2007 થી દરેક સબમિશન સામે, અને ત્યારથી, જોઈ, તેમજ
કોડ ભંડારોની ઓનલાઇન ચર્ચા, જોબ સાઇટ્સ.
અને અમે આ ઉલ્લેખ, ખરેખર, ખાતર બધા
સંપૂર્ણ જાહેરાત, કે જો બીજા કોઈને તે ઑનલાઇન શોધી શકો છો,
ચોક્કસપણે, તેથી અમે કોર્સ કરી શકો છો.
પરંતુ, ખરેખર, ભાવના અલબત્ત નીચે ઉકળે
અભ્યાસક્રમ માં આ કલમ છે.
તે ખરેખર માત્ર વાજબી હોઈ છે.
>> અને તે પર તૈયાર અમે તો માત્ર થોડી વધુ માં ભાષા સાથે,
ખ્યાલ છે કે બધા સાર કામ કે જે તમે આ કોર્સ માટે સબમિટ
તમારા પોતાના હોવા જ જોઈએ.
પરંતુ તે અંદર, ત્યાં ચોક્કસપણે છે તકો, અને પ્રોત્સાહન,
અને દેવાનો શિક્ષણશાસ્ત્ર વિષયક કિંમત મારી others--, TFs, સીએએસ,
ટીએ, અને વર્ગ અન્ય આધાર માટે, એકલા મિત્રો દો
અને રૂમમેટ્સ જે અભ્યાસ કર્યો છે સીએસ અને પ્રોગ્રામિંગ પહેલાં.
અને તેથી તે માટે એક ભથ્થું છે.
અને અંગૂઠો સામાન્ય નિયમ છે આ જ્યારે મદદ માટે પૂછે છે,
તમે અન્ય લોકો માટે તમારા કોડ બતાવી શકે છે, પરંતુ તમે ધેર જોવા નથી શકે છે.
તેથી જો તમે ઓફિસ કલાકો છો તો પણ, અથવા ડી હોલ, અથવા અન્ય ક્યાંક
કેટલાક ભાગ સેટ પર કામ કરે છે, એક મિત્ર, સાથે કામ જે
અંતે, સંપૂર્ણપણે દંડ છે દિવસ તમારા કામ ઓવરને
આખરે દરેક સંબંધ જોઈએ તમે અનુક્રમે, અને નથી
કેટલાક સહયોગી પ્રયાસ હોઇ શકે છે, અંતિમ પ્રોજેક્ટ જ્યાં સિવાય
તે મંજૂરી અને પ્રોત્સાહન આપ્યું છે.
>> સમજો છો કે તમને હોય છે કે કંઈક સાથે સંઘર્ષ
અને તમારા મિત્ર માત્ર થાય છે તો પછી આ વધુ સારી રીતે પ્રયત્ન કરવા માટે તમે
અથવા તમે કરતાં સમસ્યા વધુ સારી છે, અથવા થોડી દૂર તમે કરતાં આગળ
તેને ચાલુ કરવા માટે તદ્દન વાજબી છે તમારા મિત્ર માટે છે અને કહે છે અરે,
તમે અહીં મારા કોડ પર જોઈ વાંધો નથી, મદદ મને સ્પોટ શું મારી સમસ્યા છે?
અને, આસ્થાપૂર્વક, માં શિક્ષણશાસ્ત્ર વિષયક કિંમત રસ
કે મિત્ર માત્ર કરે છે કહે છે, ઓહ, આ કરવા માટે, પરંતુ તેના બદલે,
શું તમે વાક્ય પર ખૂટે છે 6, અથવા તે કંઈક?
પરંતુ ઉકેલ નથી તમે આગામી મિત્ર માટે
કહે છે, ઓહ, ઠીક છે, અહીં, મને ખેંચવાનો દો આ છે, અને તમે મારા ઉપાય બતાવો.
તેથી તે લીટી છે.
તમે તમારા કોડ બતાવવા અન્ય, પરંતુ તમે નથી કરી શકે છે
ધેર જોવા માટે, અન્ય વિષય આ કોર્સ અભ્યાસક્રમ માં અવરોધ.
>> તેથી મન આ રાખવા નથી દિલગીરી કલમ કહેવાતા
આ કોર્સ અભ્યાસક્રમ તેમજ, કે તમે અમુક કૃત્ય જો કે
વાજબી નથી, પરંતુ તેને લાવવા અલબત્ત હેડ ધ્યાન
72 કલાકની અંદર, અલબત્ત સ્થાનિક પ્રતિબંધો લાદી શકે છે કે
એક અસંતોષકારક સમાવેશ થાય છે અથવા કામ સબમિટ નિષ્ફળ ગ્રેડ.
પરંતુ કોર્સ નો સંદર્ભ લો નહીં વધુ શિસ્તભંગનાં પગલાં લેવા માટે વાંધો છે,
વારંવાર કૃત્યો કિસ્સાઓમાં સિવાય.
અન્ય શબ્દોમાં, અમુક બનાવવા તમે શું જો મૂર્ખ, ખાસ કરીને મોડી રાત્રે નિર્ણય
કે આગામી સવારે અથવા બે દિવસ પછી, તમે જાગે અને ખ્યાલ,
હું શું વિચારતી હતી?
તમે CS50 માં કરી આઉટલેટ છે કે સમસ્યા સુધારવા માટે
અને તેને અપ ધરાવતો, કે જેથી અમે તમે અર્ધે રસ્તે મળે છે અને કામ કરશે
તે એક બાબત માં સાથે, કે બંને છે શૈક્ષણિક અને તમે મૂલ્યવાન,
પરંતુ હજુ પણ અમુક રીતે શિક્ષાત્મક.
અને હવે, ધાર બોલ લેવા માટે, આ.
>> [વિડિઓ પ્લેબેક]
>> [સંગીત વગાડવાનો]
>> [સમાપ્ત પ્લેબેક]
ડેવિડ જે MALAN: બધા અધિકાર, અમે પાછા છે.
અને હવે અમે એક જોવા અમારા વાસ્તવિક વિશ્વમાં ડોમેન્સ પ્રથમ
CS50 માં સંકેતલિપી કલા, મોકલવા અને પ્રાપ્ત કલા
ગુપ્ત સંદેશાઓ, એનક્રિપ્ટ થયેલ સંદેશાઓ જો તમે કરશે,
કે માત્ર જો તમારી પાસે સાંકેતિક ભાષાનો અર્થ કરી શકો છો અમુક કી ઘટક મોકલનાર છે કે
તેમજ.
તેથી આ માટે ઉત્સાહિત કરવા માટે આપણે વાત કરીશું અહીં આ વસ્તુ જોવા,
જે એક ઉદાહરણ છે ગુપ્ત ડીકોડર રિંગ કે
હુકમ બહાર આકૃતિ માટે વાપરી શકાય છે શું એક ગુપ્ત સંદેશ ખરેખર છે.
હકીકતમાં, પાછળ ગ્રેડ શાળા માં દિવસ,
જો તમે ક્યારેય માટે ગુપ્ત સંદેશાઓ મોકલવામાં કેટલાક મિત્ર કે વર્ગ કેટલાક ક્રશ,
તમે વિચાર્યું છે શકે તમે હોંશિયાર કરવામાં આવી રહી હતી
કાગળ બદલતા તમારા ભાગ પર દ્વારા, જેમ, બી, અને બી સી, ​​અને સી ડી માટે,
અને તેથી આગળ.
પરંતુ તમે ખરેખર એનક્રિપ્ટ હતા તમારી માહિતી પણ
જો તે થોડું તુચ્છ હતી ન હતી, તે હાર્ડ શિક્ષક ખ્યાલ છે,
વેલ, જો તમે માત્ર બદલી A અને C બી બી,
તમે ખરેખર બહાર આકૃતિ શું સંદેશો હતો,
પરંતુ તમે માહિતી સંકેત હતા.
>> તમે માત્ર તે શું કરી રહ્યા હતા ફક્ત, ખૂબ Ralphie જેમ અહીં
એક પ્રખ્યાત ફિલ્મ કે ભજવે ખૂબ ખૂબ જાહેરાત nauseum દરેક શિયાળામાં.
[વિડિઓ પ્લેબેક]
બની તે બધા છે કે માટે જાણીતા રાલ્ફ પાર્કર આથી છે
લિટલ એક સભ્ય તરીકે નિમણૂક ઓરફામ એની સિક્રેટ સર્કલ
અને બધા સન્માન માટે હકદાર છે અને લાભો ત્યાં બનતું.
>> -Signed, લિટલ ઓરફામ એની, કાઉન્ટર સહી પિયર આન્દ્રે, શાહી માં.
સન્માન અને લાભો, પહેલેથી જ નવ વર્ષની ઉંમરે.
>> [રાડારાડ]
-ચલ.
તે સાથે વિચાર કરીએ.
હું તે બધા જાઝ જરૂર નથી દાણચોરો અને ચાંચિયાઓને વિશે.
>> માટે -listen કાલે રાત્રે અંતિમ સાહસ
બ્લેક સમુદ્રી ચાંચીયા.
હવે, તે સમય આવી ગયો છે એની ગુપ્ત સંદેશ
તમે સિક્રેટ સર્કલ સભ્યો છે.
યાદ રાખો, બાળકો, માત્ર સભ્યો એની સિક્રેટ સર્કલ
એની ગુપ્ત સંદેશ ડિકોડ કરી શકો છો.
>> યાદ રાખો, એની તમે પર આધાર રાખીને.
B2 માટે તમારી પીન સેટ કરો.
અહીં સંદેશ છે.
12, 11--
>> -i, છું મારી પ્રથમ ગુપ્ત બેઠક.
>> -14, 11, 18, 16.
>> -Pierre મહાન અવાજ આજની રાત કે સાંજ હતી.
હું માનું છું કે આજની રાત કે સાંજ માતાનો કહી શકે છે સંદેશ ખરેખર મહત્વનું હતું.
>> -3, 25, કે જે એક સંદેશ છે એની જાતે જ.
યાદ રાખો, કોઈને કહેવું નથી.
>> -90 સેકન્ડ પછી, હું માત્ર છું ઘરમાં રૂમ જ્યાં નવ એક છોકરો
ગોપનીયતા અને લિપિને ઉકેલવાના બેસી શકે છે.
કટાક્ષ, બી!
હું આગામી, ઇ ગયા
>> પ્રથમ શબ્દ પણ હોઈ છે.
એસ, તે સરળ આવી હવે, યુ, 25--
>> -OH, Ralphie પર આવે છે, હું જવા જેમના!
>> અધિકાર નીચે હોઈ -I'll, મા!
જી સુસવાટો!
>> -T, ઓ, એક-- શું કરવા માટે ખાતરી કરો ખાતરી કરો?
લિટલ ઓરફામ શું હતું એની કહે છે પ્રયાસ?
શું ખાતરી?
>> -Ralphie, એન્ડી મળ્યું છે જાઓ, તમે કૃપા કરીને બહાર આવશે?
>> -બધા અધિકાર, મા!
હું અધિકાર બહાર રહેશો!
>> હું નજીક હવે મેળવવામાં આવી હતી.
તણાવ ભયંકર હતી.
તે શું હતું?
ગ્રહ ભાવિ સંતુલન માં અટકી શકે છે.
>> -Ralphie!
એન્ડી જેમના જાઓ!
>> મોટેથી રડતી માટે અધિકાર બહાર -I'll!
>> ત્યાં -લગભગ, મારી આંગળીઓ ઉડાન ભરી, મારા મન એક સ્ટીલ છટકું હતું, દરેક છિદ્ર વાઇબ્રેટેડ.
તે લગભગ સ્પષ્ટ હતી, હા, હા, હા.
>> તમારા Ovaltine પીવા માટે ખાતરી-રહો.
Ovaltine?
એક તુચ્છ વ્યાપારી?
એક કૂતરી પુત્ર.
[સમાપ્ત પ્લેબેક]
ડેવિડ જે MALAN: ઠીક છે, તેથી તે ખૂબ જ લાંબા માર્ગ હતો
ક્રિપ્ટોગ્રાફી રજૂ, અને પણ Ovaltine.
હકીકતમાં, આ જૂના જાહેરાત થી અહીં, શા માટે Ovaltine જેથી સારી છે?
તે તૈયાર એક સંકેન્દ્રિત નિષ્કર્ષણ છે જવ માલ્ટ શુદ્ધ ક્રીમી ગાયનું દૂધ,
અને ખાસ કોકો તૈયાર છે, સાથે મળીને કુદરતી phosphatides અને વિટામિન્સ સાથે.
તે વધુ કિલ્લા વડે મજબૂત છે વધારાના વિટામીન બી અને ડી, Yum.
અને તમે હજુ પણ તે મેળવી શકો છો, દેખીતી રીતે એમેઝોન પર, અમે અહીં હતી.
>> પરંતુ પ્રેરણા અહીં હતી ક્રિપ્ટોગ્રાફી દાખલ, ખાસ
ક્રિપ્ટોગ્રાફી એક પ્રકાર જાણીતા ગુપ્ત કી ક્રિપ્ટોગ્રાફી છે.
અને નામ સૂચવે છે, સમગ્ર એક ગુપ્ત કી ક્રિપ્ટો સિસ્ટમ સુરક્ષા,
જો તમે કરશે, એક પદ્ધતિ માત્ર મૂંઝાયેલું માટે
બે લોકો વચ્ચે માહિતી, કે જે માત્ર મોકલનાર અને માત્ર પ્રાપ્તકર્તા
એક ગુપ્ત key-- કેટલાક કિંમત ખબર છે, કેટલાક ગુપ્ત શબ્દસમૂહ કેટલાક ગુપ્ત નંબર છે, કે જે
તેમને બંને એનક્રિપ્ટ કરવા માટે પરવાનગી આપે અને માહિતી ડિક્રિપ્ટ.
અને સંકેતલિપી, ખરેખર, સપ્તાહ 0 થી ફક્ત આ છે.
>> તે એક સમસ્યા જ્યાં ઇનપુટ્સ ત્યાં છે, ઇંગલિશ માં વાસ્તવિક સંદેશા જેવી
અથવા ગમે ભાષા કે તમે વર્ગ કોઇને મોકલવા માંગો છો,
અથવા ઈન્ટરનેટ સમગ્ર.
કેટલાક આઉટપુટ છે, કે જે રહ્યું છે scrambled સંદેશ આવશે કે તમે
પ્રાપ્તકર્તા પ્રાપ્ત કરવા માંગો છો.
અને જો કોઇને મધ્ય તે ખૂબ મેળવે છે,
તમે નથી, તેમને કરવા માંગો છો તે જરૂરી છે તે ડિક્રિપ્ટ કરવા માટે સક્ષમ હોય છે,
કારણ કે આ અંદર બ્લેક બોક્સ, અથવા અલ્ગોરિધમનો,
કેટલાક પદ્ધતિ, પગલું દ્વારા કેટલાક પગલું છે સૂચનાઓ, કે જે ઇનપુટ લેવા માટે
અને તે રૂપાંતર આઉટપુટ, આસ્થાપૂર્વક એક સુરક્ષિત રીતે.
>> કેટલાક અને હકીકતમાં, ત્યાં છે આ વિશ્વમાં શબ્દભંડોળ તરીકે અનુસરે છે.
સાદો લખાણ શબ્દ છે કોમ્પ્યુટર વૈજ્ઞાનિક કરશે
ઇનપુટ વર્ણન કરવા માટે ઉપયોગ સંદેશ, ઇંગલિશ જેવી
અથવા જે તમે ખરેખર ભાષા કેટલાક અન્ય માનવ મોકલવા માંગો છો.
અને પછી સાઇફર ટેક્સટ ભાંખોડિયાંભર થઈને છે enciphered, અથવા એનક્રિપ્ટ થયેલ,
આવૃત્તિ બાંધે છે.
>> પરંતુ એક અન્ય ઘટક અહીં છે.
ત્યાં એક અન્ય ઈનપુટ છે ગુપ્ત કી ક્રિપ્ટોગ્રાફી.
અને તે કી પોતે છે, જે સામાન્ય રીતે છે,
કારણ કે અમે જોશો, એક નંબર, અથવા પત્ર, અથવા શબ્દ, ગમે
અલ્ગોરિધમનો તે ખરેખર છે અપેક્ષા રાખી છે.
>> અને તમે જે માહિતી કેવી રીતે ડિક્રિપ્ટ કરો છો?
તમે તેને કેવી રીતે Unscramble નથી?
વેલ, તમે માત્ર રિવર્સ આઉટપુટ અને ઇનપુટ્સ.
>> બીજા શબ્દોમાં કહીએ તો, એક વાર કોઈને તમારા એનક્રિપ્ટ થયેલ સંદેશો મેળવે છે,
તે અથવા તેણી ફક્ત છે તે જ કી ખબર.
તેઓ સાઇફર ટેક્સટ પ્રાપ્ત થઈ છે.
અને તે બે પ્લગ દ્વારા ક્રિપ્ટો સિસ્ટમ માં ઇનપુટ્સ,
અલ્ગોરિધમનો, આ કાળા બોક્સ, બહાર મૂળ સાદી આવવું જોઈએ.
અને તેથી તે ખૂબ જ ઊંચા સ્તર છે શું ક્રિપ્ટોગ્રાફી ખરેખર છે જુઓ
બધા વિશે.
>> તેથી આપણે ત્યાં વિચાર કરીએ.
હવે નીચે જુઓ કંઈક હૂડ
અમે મંજૂર માટે લઈ આવી છે છેલ્લા અઠવાડિયે, અને આ માટે સત્ર
શબ્દમાળા અહીં.
દિવસ ઓવરને અંતે એક શબ્દમાળા માત્ર અક્ષરો ક્રમ છે.
>> તે હેલો વર્લ્ડ હોઈ શકે, અથવા હેલો Zamyla, અથવા ગમે.
પરંતુ તે શું અર્થ છે અક્ષરો ક્રમ હશે?
હકીકતમાં, આ CS50 પુસ્તકાલય આપે અમને શબ્દમાળા તરીકે ઓળખાય એક માહિતી પ્રકાર.
>> પરંતુ ત્યાં ખરેખર કોઈ સી શબ્દમાળા તરીકે જેમ કે વસ્તુ
તે ખરેખર માત્ર એક ક્રમ છે પાત્ર, પાત્ર, પાત્ર,
પાત્ર, બેક, પાછળ, પાછા પાછળ અંદર બેકઅપ
તમારા કમ્પ્યુટરની મેમરી, અથવા RAM ની.
અને અમે તે માં ઊંડા જોવા મળશે ભવિષ્યમાં જ્યારે અમે મેમરી પોતે જોવા
અને ઉપયોગ, અને ધમકીઓ કે સામેલ છે.
>> પરંતુ શબ્દમાળા Zamyla વિચાર કરીએ.
તેથી માત્ર નામ માનવ અહીં, Zamyla,
કે એક ક્રમ છે અક્ષરો, Z-A-એમ-વાય-એલ-A.
અને હવે ધારો કે દો કે Zamyla નામ કમ્પ્યુટર ની અંદર સંગ્રહિત કરવામાં આવી રહી છે
કાર્યક્રમ.
>> વેલ, તે કારણ છે કે આપણે જોઇએ રહે તે અક્ષરો જોવા માટે સમર્થ હશે
વ્યક્તિગત રીતે.
તેથી હું થોડી ડ્રો કરવા જઇ રહ્યો છું અહીં Zamyla નામ આસપાસ બોક્સ.
અને તે સી કેસ એ છે કે જ્યારે તમે Zamyla-- અને કદાચ જેમ, એક શબ્દમાળા છે
કે જેઓ શબ્દમાળા માંથી પાછા આવે છે ગેટ શબ્દમાળા જેમ કાર્ય,
તમે ખરેખર ચાલાકી કરી શકો છો અક્ષર દ્વારા તે પાત્ર.
>> હવે, આ માટે સંગત છે વાતચીત હાથ પર છે, કારણ કે
ક્રિપ્ટોગ્રાફી તમે બદલવા માંગો છો, તો એ બી, અને બી સી, ​​અને ડી સી,
અને તેથી આગળ, તમે કરવાનો પ્રયત્ન કરવાની જરૂર વ્યક્તિગત અક્ષરો જોવા માટે
એક શબ્દમાળા માં.
તમે બદલવા કરવાનો પ્રયત્ન કરવાની જરૂર કંઈક બીજું, એ માટે Z
કંઈક બીજું, એમ કરવા માટે બીજું, અને તેથી પર કંઈક.
અને તેથી અમે એક રસ્તો જરૂર, પ્રોગ્રામ, તેથી
વાત કરવા માટે સી બદલવા માટે સમર્થ થવા માટે અને વ્યક્તિગત અક્ષરો જુઓ.
અને અમે આ નીચે પ્રમાણે કરી શકે છે.
>> મને CS50 IDE પાછા વડા જવા દો.
અને મને આગળ જવા દો અને એક નવી ફાઈલ બનાવવા
કે હું આ સમય string0 કહી શકશો, અમારી પ્રથમ જેમ કે ઉદાહરણ તરીકે, ડોટ સી.
અને હું આગળ જાઓ જાઉં છું અને તે ચાબુક અપ અનુસરે છે.
>> તેથી cs50.h સમાવેશ થાય છે, અને પછી ધોરણ io.h સમાવેશ થાય છે,
જે હું લગભગ હંમેશા માટે જઇ રહ્યો છું મારા કાર્યક્રમોમાં ઉપયોગ કરીને, ઓછામાં ઓછા હોઈ
શરૂઆતમાં.
મુખ્ય રદબાતલ પૂર્ણાંક, અને પછી અહીં હું છું શબ્દમાળાઓ કરવા જઇ શબ્દમાળા વિચાર નહીં.
અને પછી હું જાઉં છું આગળ વધો અને આ કરવા.
હું આગળ જાઓ કરવા માંગો છો અને, એક સેનીટી ચેક તરીકે,
માત્ર કહે છે, હેલો, ટકા ઓ, અર્ધવિરામ, શબ્દમાળા 0 બનાવે છે.
ઓહો, હું અહીં શું કર્યું?
ઓહ, હું તેને પ્લગ ન હતી.
તેથી પાઠ શીખ્યા કે ઇરાદાપૂર્વક ન હતી.
>> તેથી ભૂલ, વધુ ટકા માહિતી દલીલો કરતાં રૂપાંતરણો.
અને આ છે જ્યાં, રેખા 7-- ઠીક છે, તેથી હું હોય છે,
ભાવ અવતરણ ચિહ્નો પૂરાં કરવાં, કે મારા શબ્દમાળા printf માટે.
હું એક ટકા સાઇન મળી છે.
પરંતુ હું બીજી દલીલ ખૂટે છું.
>> હું ગુમ છું અલ્પવિરામ ઓ, કે જે હું અગાઉના ઉદાહરણો હોય હતી.
તેથી આ એક સારી તક સુધારવા માટે વધુ એક ભૂલ, આકસ્મિક.
અને હવે મને ચલાવો Zamyla માં string0, પ્રકાર.
Zamyla હેલો બરાબર.
>> તેથી અમે આ પ્રકારની કાર્યક્રમ ચલાવવા છે હવે થોડા જુદા જુદા.
પરંતુ કંઈક કરવા દો થોડું અલગ આ સમય.
તેના બદલે માત્ર Zamyla પ્રિન્ટીંગ ના printf સાથે બહાર સમગ્ર નામ,
પાત્ર દ્વારા તે પાત્ર કરીએ.
>> હું લૂપ માટે ઉપયોગ કરવા જઇ રહ્યો છું.
અને હું મારી જાતને આપવા જઈ રહ્યો છું એક ગણતરી ચલ, હું કહેવામાં આવે છે.
અને હું વારો રાખવા જઈ રહ્યો છું, તેથી લાંબા સમય સુધી હું ઓ લંબાઈ કરતાં ઓછી છે.
>> તે બહાર વળે છે, અમે ન આ છેલ્લી વખત કરવું,
કે સી સાથે આવે છે કાર્ય સ્ટર્લિંગ કહેવામાં આવે છે.
પાછા દિવસ, અને સામાન્ય રીતે હજુ પણ જ્યારે કાર્યો અમલીકરણ,
મનુષ્યો ઘણી વખત ખૂબ જ પસંદ કરશે succinct નામો કે અવાજ પ્રકારની
તમે શું કરવા માંગો છો, તે છતાં પણ જેમ થોડા સ્વરો અથવા અક્ષરો ખૂટે છે.
તેથી સ્ટર્લિંગ છે એક કાર્ય નામ કે
વચ્ચે એક દલીલ લે છે કૌંસ કે જે શબ્દમાળા હોવી જોઈએ.
અને તે માત્ર પૂર્ણાંક આપે છે, કે જેઓ શબ્દમાળા લંબાઈ.
>> 7 વાક્ય પર લૂપ માટે આ ખૂબ રહ્યું છે ગણાય હું 0 સમકક્ષ હોય છે શરૂ કરવા માટે.
તેને વધારતી જઈ રહ્યું છે હું દરેક ઇટરેશન પર
1, અમે થોડા વખત કરી રહ્યો છું કારણ કે.
પરંતુ તે માત્ર કરવા જઇ રહ્યું છે બિંદુ સુધી આ
જ્યારે હું લંબાઈ છે શબ્દમાળા પોતે.
>> તેથી આ એક માર્ગ છે, આખરે, અક્ષરો પર વારો
શબ્દમાળા તરીકે નીચે પ્રમાણે છે.
હું નથી છાપે એક જાઉં છું સમગ્ર શબ્દમાળા છે, પરંતુ ટકા સી,
એક પાત્ર એક નવી લાઇન દ્વારા અનુસરવામાં.
અને પછી હું જાઉં છું આગળ જાઓ, અને હું જરૂર
હું પ્રિન્ટ કરવા માંગો છો કહે છે ઓ ઇથ પાત્ર.
>> તેથી જો હું ચલ છે કે જે સૂચવે છે શબ્દમાળા છે, જ્યાં ઇન્ડેક્સ
તમે તે, હું સમક્ષ રજુ કરવાનો પ્રયત્ન કરવાની જરૂર છે કહે છે, મને ઓ ઇથ અક્ષર આપે છે.
અને સી કરી એક માર્ગ છે ચોરસ કૌંસ સાથે આ.
તમે સરળતાથી નામ કહે છે શબ્દમાળા છે, કે જે આ કિસ્સામાં ઓ છે.
પછી તમે ચોરસ કૌંસ છે, જે ઉપયોગ સામાન્ય રીતે માત્ર તમારી પરત ફરવા માટેની અથવા Enter ઉપર
કીબોર્ડ પર કી.
અને પછી તમે ઇન્ડેક્સ પુટ અક્ષર કે જે તમે પ્રિન્ટ કરવા માંગો છો.
તેથી ઇન્ડેક્સ પ્રયત્ન રહ્યું છે સંખ્યાની 0, અથવા 1, અથવા 2, અથવા 3, અથવા કોઈ,
ડોટ, કોઈ, અન્ય કેટલાક નંબર.
>> અને અમે ખાતરી કરો કે તે ચાલી રહ્યું છે , જમણી નંબર છે, કારણ કે હું
0 ગણતરી શરૂ કરો.
અને મૂળભૂત દ્વારા, પ્રથમ અક્ષર એક શબ્દમાળા માં સંમેલન 0 છે.
અને બીજા પાત્ર કૌંસ 1 છે.
અને ત્રીજા પાત્ર કૌંસ 2 છે.
અને તમે પણ જવા માટે નથી માંગતા અત્યાર સુધી, પરંતુ અમે કારણ કે અમે રહ્યાં છે
માત્ર તે ત્યાં સુધી હું વધારતી જઈ શબ્દમાળા લંબાઈ સમકક્ષ હોય છે.
અને જે બિંદુએ, લૂપ માટે આ બંધ કરશે.
>> તેથી મને આગળ વધો અને આ સાચવવા દો કાર્યક્રમ, અને રન શબ્દમાળા 0 બનાવવા.
પરંતુ હું ખરાબ કર્યું.
સર્વથા પુસ્તકાલય કાર્ય જાહેર પ્રકાર જેમ કે સાથે સ્ટર્લિંગ અને હવે such--,
આ પરિચિત લાગે છે.
પરંતુ તે printf નથી.
અને તે શબ્દમાળા મળે છે.
>> હું સ્ક્રૂ ન હતી એ જ રીતે આ સમય.
પરંતુ નીચે નીચે અહીં થોડી નોટિસ વધુ, હેડર string.h સમાવેશ થાય છે,
બાહ્ય પૂરી પાડે છે સ્ટર્લિંગ માટે ઘોષણા.
તેથી ત્યાં ખરેખર ત્યાં એક ચાવી છે.
>> અને ખરેખર તે બહાર વળે ત્યાં અન્ય હેડર ફાઈલ છે
કે અમે ઉપયોગ કર્યો વર્ગ હજુ સુધી, પરંતુ તે
ઉપલબ્ધ લોકોમાં તમને string.h કહેવાય છે.
અને તે ફાઇલ string.h માં સ્ટર્લિંગ જાહેર છે.
તેથી દો મને આગળ વધો અને આ સંગ્રહો, શબ્દમાળા બનાવવા
0 છે સરસ, કોઈ ભૂલ સંદેશાઓ આ સમય.
>> ./string0 Zamyla છે, અને હું વિશે Enter દબાવો છું
કે બિંદુ GetString રહ્યું છે શબ્દમાળા પાછા, તે મૂકો.
લૂપ માટે ફરી વળવું રહ્યા છે પછી તે એક સમયે અક્ષરો એક પર,
અને તેમને લાઇન દીઠ એક છાપો, કારણ કે હું ઓવરને અંતે કે બેકસ્લેશ n હતી.
તેથી હું બેકસ્લેશ રદ્દ કરી શકે છે n એ, અને પછી માત્ર Zamyla બધા પ્રિન્ટ
જ વાક્ય, અસરકારક રીતે reimplementing
printf, જે બધી છે કે ઉપયોગી નથી.
પરંતુ આ કિસ્સામાં, હું નથી કર્યું.
હું ખરેખર એક મુદ્રિત છે એક સમયે પાત્ર, લાઇન દીઠ એક
તેથી અમે ખરેખર અસર જોવા છે.
>> પરંતુ હું એક વસ્તુ અહીં નોંધ લેવી જોઈએ.
અને અમે પાછા આવો પડશે ભવિષ્યના સપ્તાહમાં આ.
આ છે કે જે બહાર વળે કોડ સંભવિત બગડેલ છે.
>> તે તારણ છે કે ગેટ શબ્દમાળા અને જીવન માં અમુક અન્ય કાર્યો
જરૂરી હંમેશા નથી તમે શું અપેક્ષા કરી રહ્યાં છો આવો.
અમે વર્ગ છેલ્લા પરથી ખબર આ વિચાર સમય
શબ્દમાળા શબ્દમાળા પાછા માનવામાં આવે છે.
પરંતુ જો વપરાશકર્તા પ્રકારો બહાર આવી લાંબા શબ્દ અથવા ફકરો, અથવા નિબંધ
ત્યાં માત્ર પૂરતી નથી કે કમ્પ્યુટર મેમરી તેને ફિટ.
>> જેમ, શું કંઈક જાય તો હૂડ નીચે ખોટું શું છે?
તે ઘણી વખત ન થાય શકે છે, પરંતુ તે એક જ બની શકે છે
જ્યારે માં, ખૂબ કવચિત.
અને તેથી તે તારણ આપે છે કે ગેટ શબ્દમાળા અને જરૂરી નથી કે તે જેવા કાર્યો
હંમેશા શબ્દમાળાઓ આવો.
તેઓ કેટલાક ભૂલ કિંમત પાછી શકે છે, કેટલાક સંત્રી કિંમત તેથી વાત કરવા માટે
કે જે સૂચવે કંઈક ખોટું થયું છે.
અને તમે માત્ર આ ખબર હોત વર્ગ તે હવે શીખ્યા,
અથવા કેટલાક વધુ દસ્તા વાંચી હતી.
તે તારણ છે કે ગેટ શબ્દમાળા નલ કહેવાય કિંમત પાછા આવી શકો છો.
નલ ખાસ કિંમત છે કે અમે પડશે ભવિષ્યના સપ્તાહ પાછા આવે છે.
પરંતુ હવે માટે, માત્ર ખબર છે કે જો હું માંગો છો ખરેખર આગળ વધવા યોગ્ય હોઈ
શબ્દમાળા વિચાર ઉપયોગ, હું માત્ર તે કહી ન જોઈએ,
અને અકારણ તેના વળતર કિંમત વાપરવા માટે, વિશ્વાસ છે કે તે એક શબ્દમાળા છે.
>> હું પ્રથમ કહેવું જોઈએ અરે, એક મિનિટ માત્ર રાહ જુઓ,
આગળ વધવા જો ઓ સમાન નથી નલ છે, જ્યાં નલ, ફરી,
માત્ર કેટલાક ખાસ કિંમત છે.
અને તે માત્ર ખાસ કિંમત તમે ગેટ શબ્દમાળા માટે વિશે ચિંતા કરવાની જરૂર છે.
શબ્દમાળા ક્યાં રહ્યું છે મેળવો શબ્દમાળા અથવા નલ આવો.
>> અને આ ઉદ્ગારવાચક બિંદુ સાઇન સમકક્ષ તમે કદાચ ગણિત વર્ગ થી ખબર પડી શકે છે
તમારી સાથે એક સમાન સાઇન ડ્રો કરી શકે છે કે તે મારફતે વાક્ય બરાબર નથી સૂચવે છે.
જે સામાન્ય રીતે એક અક્ષર નથી તમે તમારા કીબોર્ડ પર ટાઈપ કરી શકો છો.
અને તેથી મોટા ભાગના પ્રોગ્રામિંગ ભાષાઓ, તમે સમાન કહેવા માગો છો, ત્યારે
તમે એક ઉદ્ગારવાચક બિંદુ વાપરવા માટે, અન્યથા બેંગ તરીકે ઓળખાય છે.
તેથી તમે કહી બેંગ, બરાબર જે બરાબર નથી, તાર્કિક થાય છે.
તે ત્યાં એક મોટી નથી જેમ છે કરતાં, અથવા સમાન, અથવા કરતાં ઓછી
અથવા સમાન તમારા કીબોર્ડ પર કી તે બધા એક પ્રતીક છે.
એટલે કે શા માટે, છેલ્લા ઉદાહરણોમાં, તમે એક ઓપન કૌંસ હતી, અને પછી
એક સમાન સાઇન, ક્રમમાં કરવા માટે એક કરતાં વધારે અથવા, કહે છે તે કરતાં ઓછો હોય છે.
>> તેથી શું અહીં takeaway?
આ ફક્ત હવે એક રસ્તો છે આ વાક્યરચના રજૂઆત, આ લક્ષણ,
વ્યક્તિગત પર વારો એક શબ્દમાળા માં અક્ષરો.
અને માત્ર તે ચોરસ જેવી કૌંસ, તમે તેમને મેળવવા માટે પરવાનગી આપે છે
કારણ કે તે ચોરસ કૌંસ ધ્યાનમાં પ્રકારની આ અંતર્ગત અંતે hinting
ડિઝાઇન, જેમાં દરેક શબ્દમાળા અંદર પાત્ર
પ્રકારની નીચે ક્યાંક સંયોજિત છે તમારા કમ્પ્યુટરની મેમરી હૂડ.
>> પરંતુ આ એક ચલ બનાવવા દો.
આ છે કે જે બહાર વળે કાર્યક્રમ યોગ્ય છે.
તેથી CS50 માતાનો સીમાની દીઠ મૂલ્યાંકન માટે કોડ છે, હવે આ સાચું છે.
ખાસ કરીને હવે હું તપાસ કરું છું નલ, આ કાર્યક્રમ ક્યારેય ભાંગી જોઈએ.
અને હું માત્ર અનુભવ પરથી ખબર.
પરંતુ ત્યાં બીજું કંઇ છે કે અમે ખરેખર ખોટું અહીં જઈ શકો છો.
પરંતુ તે ખૂબ જ સારી રીતે રચાયેલ નથી, કારણ કે ચાલો ઈપીએસ પાછા જાઓ.
>> પ્રથમ, principles-- લૂપ માટે શું કરે છે?
લૂપ માટે ત્રણ વસ્તુઓ કરે છે.
તે કેટલાક પ્રારંભ કિંમત, જો તમે તેને પૂછો.
તે એક શરત ચકાસે છે.
અને પછી દરેક પુનરાવૃત્તિ, દરેક ચક્ર પછી,
તે કેટલાક ઇન્ક્રીમેન્ટ કિંમત, અથવા મૂલ્યો, અહીં.
>> તેથી તે શું અર્થ છે?
અમે હું 0 પ્રારંભ.
અમે તપાસો અને ખાતરી કરો કે હું કરતાં ઓછી છે ઓ લંબાઈ, કે જે z એ એમ વાય-એલ-A છે,
તેથી જે 6 કરતાં ઓછી છે.
અને, ખરેખર, 0 કરતાં ઓછી 6.
>> અમે Zamyla નામ થી Z છાપશે.
પછી અમે હું 0 થી 1 ઇન્ક્રીમેન્ટ.
અમે પછી તપાસો, 1 ઓછી છે ઓ લંબાઈ કરતાં?
ઓ લંબાઈ 6 છે.
હા તે છે.
>> તેથી અમે Zamyla નામ, અફ્રિકા માં પ્રિન્ટ.
અમે 0 થી હું વધારો, 1, 2.
અમે પછી તપાસો, 2 કરતાં ઓછી છે Zamyla નામ લંબાઈ.
6- જેથી 2 6 કરતાં ઓછી છે.
હા, એ એમ હવે છાપે દો Zamyla નામ, ત્રીજા પાત્ર.
>> અહીં કી છે કે દરેક પર છે વાર્તા પુનરાવૃત્તિ, હું ચકાસણી છું,
હું Zamyla ના લંબાઈ કરતાં ઓછી છે?
પરંતુ કેચ છે કે સ્ટર્લિંગ એક મિલકત નથી.
તમે જે લોકો પ્રોગ્રામ છે જાવા અથવા અન્ય ભાષાઓમાં પહેલાં
લંબાઈ ખબર પડી શકે છે એક શબ્દમાળા છે મિલકત, માત્ર કેટલાક માત્ર કિંમત વાંચો.
>> આ કિસ્સામાં સી, આ છે જો એક કાર્ય શાબ્દિક અર્થ છે કે
સંખ્યા ગણતરી દર વખતે Zamyla અક્ષરો
અમે તે કાર્ય કૉલ કરો.
દર વખતે તમે ઉપયોગ કરવા માટે કમ્પ્યુટર પૂછો સ્ટર્લિંગ, તે Zamyla પર એક નજર લેતી છે,
અને કહ્યું Z-A-એમ-વાય-એલ-એ, 6.
અને તે 6 આપે છે.
આગળના સમયે તમે કૉલ તે લૂપ માટે અંદર,
તે Zamyla જોવા જઈ રહ્યું છે ફરીથી, કહે Z-A-એમ-વાય-એલ-એ, 6.
અને તે 6 પરત ચાલી રહ્યું છે.
તેથી શું આ ડિઝાઇન વિશે મૂર્ખ છે?
>> શા માટે મારા કોડ નથી 5 બહાર 5 ડિઝાઇન માટે હમણાં, તેથી વાત કરવા માટે?
ઠીક છે, હું પૂછવા છું એક બિનજરૂરી પ્રશ્ન.
હું વધારે કામ કરી રહ્યો છું કરતાં હું કરવાની જરૂર છે.
>> તેથી ભલે જવાબ સાચો છે, હું છું
કમ્પ્યુટર પૂછવા, શું છે Zamyla લંબાઈ ફરી,
અને ફરી, અને ફરી, અને ફરીથી?
અને તે જવાબ છે ક્યારેય બદલવા માટે જઈ રહી છે.
તે હંમેશા 6 હોઈ ચાલે છે.
>> તેથી આ કરતાં એક વધુ સારો ઉકેલ આ આગામી આવૃત્તિ હશે.
મને આગળ વધો અને એક માં મૂકી string1.c કહેવાય અલગ ફાઇલ,
જસ્ટ રાખવા તે અલગ.
અને તે માટે એક બહાર વળે લૂપ, તમે ખરેખર આ કરી શકો છો
એક જ સમયે બહુવિધ ચલો જાહેર.
>> તેથી હું રાખવા અને 0 થી તેને સુયોજિત કરવા માટે જઇ રહ્યો છું.
પરંતુ હું પણ જાઉં છું અલ્પવિરામ ઉમેરવા, અને કહે છે,
મને એક ચલ n એ કહેવાય, જેની આપી કિંમત ઓ શબ્દમાળા લંબાઈ સમકક્ષ હોય છે.
અને હવે, મારા સ્થિતિ બનાવવા કૃપા કરીને તેથી લાંબા તરીકે હું એ કરતાં ઓછી છે.
>> તેથી આ રીતે, તર્ક છે દિવસ ઓવરને અંતે સમાન.
પરંતુ હું યાદ કરું છું 6 કિંમત, આ કિસ્સામાં.
Zamyla નામ લંબાઈ શું છે?
અને હું એ સમયે તે મૂકી રહ્યો છું.
>> અને હું હજુ પણ ચકાસણી છું શરત દર વખતે.
0 6 કરતા ઓછી હોય?
1 6 કરતા ઓછી હોય?
2 6 કરતા ઓછી છે, અને તેથી આગળ છે?
>> પરંતુ હું કોમ્પ્યુટર નથી જણાવી રહ્યો છું ફરી, અને ફરીથી, શું
Zamyla નામ લંબાઈ?
Zamyla નામ લંબાઈ શું છે?
આ Zamyla નામ લંબાઈ શું છે?
હું શાબ્દિક યાદ કરું છું કે પ્રથમ અને માત્ર આ બીજા ચલ n માં જવાબ આપો.
તેથી હવે આ માત્ર હશે યોગ્ય છે, પણ સારી રીતે રચાયેલ છે.
>> હવે, શૈલી વિશે શું?
હું મારા ચલો નામ છે ખૂબ સારી છે, હું કહું છું.
તેઓ હમણાં સુપર succinct છો.
અને તે સંપૂર્ણપણે દંડ છે.
>> તમે માત્ર એક જ હોય ​​તો એક કાર્યક્રમ શબ્દમાળા
તમે તેમજ કૉલ શકે છે તે શબ્દમાળા માટે છે.
જો તમે માત્ર એક ચલ હોય તો એક કાર્યક્રમ ગણતરી માટે,
તમે તેમજ તે હું કહી શકે છે.
તમે લંબાઈ હોય, તો એ તેમજ સુપર સામાન્ય છે.
પરંતુ હું મારા કોડ કોઈપણ ટિપ્પણી કરી છે.
>> હું reader-- જાણ નથી કર્યું કે મારા ટીએફ, અથવા તા છે કે કેમ તે,
અથવા માત્ર colleague-- શું માનવામાં આવે છે આ કાર્યક્રમ ચાલુ કરી.
અને તેથી સારી શૈલી વિચાર, હું શું કરવા માંગો છો શું
છે આ કંઈક છે જેમ ઇનપુટ માટે વપરાશકર્તા પૂછો.
અને હું ફરીથી લખી શકીએ રીતે આ કોઇ સંખ્યા.
>> ખાતરી કરો વિચાર કરો s-- ખાતરી શબ્દમાળા શબ્દમાળા પાછા ફર્યા.
અને પછી અહીં અને આ કદાચ સૌથી મહત્વપૂર્ણ comment-- ભારપૂર્વક
એક સમયે એક અક્ષરો પર.
અને હું કોઈપણ ઉપયોગ કરી શકે છે ઇંગલિશ ભાષા ની પસંદગી
અહીં દરેક વર્ણન કરવા માટે કોડ આ હિસ્સામાં.
>> નોંધ કરો કે હું એક ન મૂકી છે કોડ ઓફ દરેક લીટી પર ટિપ્પણી,
ખરેખર રસપ્રદ પર માત્ર રાશિઓ, કે રાશિઓ
કેટલાક અર્થ છે કે હું કદાચ કોઈને સુપર સ્પષ્ટ બનાવવા માંગો છો
મારા કોડ reading.
અને શા માટે તમે વિચાર ફોન આવે છે શબ્દમાળા ઇનપુટ માટે વપરાશકર્તા પૂછો?
પણ છે કે જે એક જરૂરી નથી બધા કે વર્ણનાત્મક.
પરંતુ તે એક વાર્તા કહી મદદ કરે છે, કારણ કે વાર્તામાં બીજી લાઇન છે, ખાતરી કરો
શબ્દમાળા વિચાર શબ્દમાળા પાછા ફર્યા.
>> અને વાર્તામાં ત્રીજી લાઇન છે, એક અક્ષરો પર ફરી વળવું
એ સમયે.
અને હવે માત્ર સારા પગલા માટે, હું આગળ જાઓ અને ઉમેરવા માટે જઇ રહ્યો છું
એક વધુ ટિપ્પણી કે જે હમણાં જ ઓ પ્રિન્ટ આઇ મી અક્ષર કહે છે.
હવે, મેં શું કર્યું છે દિવસ ના અંતે?
>> હું કેટલાક ઇંગલિશ ઉમેર્યું છે ટિપ્પણીઓ સ્વરૂપમાં શબ્દો.
સ્લેશ સ્લેશ પ્રતીક અર્થ થાય છે, અરે, કમ્પ્યુટર આ માનવ માટે છે,
તમારા માટે નથી, કોમ્પ્યુટર.
તેથી તેઓ તાર્કિક અવગણવામાં કરી રહ્યાં છો.
તેઓ માત્ર ત્યાં છો.
>> અને, ખરેખર, આ CS50 IDE તેમને બતાવે છે ગ્રે, કારણ ઉપયોગી છે, પરંતુ કી હોવા
કાર્યક્રમ.
નોટિસ તમને હવે શું કરી શકો.
તમે સી ખબર છે કે શું પ્રોગ્રામિંગ અથવા નથી, તો તમે
ફક્ત આ પર પાછા ઊભા કરી શકે છે કાર્યક્રમ અને ટિપ્પણીઓ મલાઈ કાઢી લીધેલું.
ઇનપુટ માટે વપરાશકર્તા પૂછો ખાતરી કરો શબ્દમાળા શબ્દમાળા પરત મેળવવા માટે,
ઓ માં અક્ષરો પર ફરી વળવું એક સમયે એક અક્ષર છાપવા
આઇ મી અક્ષર s-- તમે નથી પણ કોડ જોવા મળે છે
તે સમજવા માટે આ કાર્યક્રમ કરે છે.
અને સારી હજુ સુધી, જો તમે તમારી જાતને જોવા એક અથવા બે સપ્તાહ માં આ કાર્યક્રમ,
અથવા એક મહિના અથવા એક વર્ષ, તમે પણ નથી
કોડ પર અનુસરણ કરવા માટે, યાદ કરવાનો પ્રયાસ કરી,
શું હું આ કોડ સાથે શું કરવું પ્રયાસ કરવામાં આવ્યો હતો?
>> તમે તમારી જાતને કહ્યું છે.
તમે તેને જાતે માટે વર્ણવાયેલ છે, અથવા અમુક સાથી, અથવા તા, અથવા ટીએફ.
અને તેથી આ હવે હશે યોગ્ય અને સારી ડિઝાઇન,
અને આખરે સારી શૈલી તેમજ.
તેથી ધ્યાનમાં રાખો કે નથી.
>> તેથી ત્યાં એક અન્ય છે વસ્તુ હું અહીં કરવા જાઉં છું
કે જે હવે ઉજાગર કરી શકે છે બરાબર શું છે હૂડ નીચે જઈ રહી છે.
તેથી આ લક્ષણ છે સી, અને અન્ય ભાષાઓ માં,
કહેવાય ટાઇપકાસ્ટિંગ કે જે ક્યાં તો સર્વથા
અથવા બાહ્ય તમે કન્વર્ટ કરવા માટે પરવાનગી આપે છે અન્ય એક માહિતી પ્રકાર છે.
અમે જેથી વ્યવહાર કર્યો છે અત્યાર સુધી શબ્દમાળાઓ સાથે આજે.
>> અને શબ્દમાળાઓ અક્ષરો છે.
પરંતુ સપ્તાહ થી યાદ 0, અક્ષરો શું છે?
પાત્રો માત્ર કલ્પનાના છે નંબરોની દશાંશ નંબરો ટોચ પર,
અને દશાંશ નંબરો ખરેખર માત્ર એક છે બાઈનરી નંબરો ટોચ પર તાત્વિક,
અમે તેને વ્યાખ્યાયિત થયેલ છે.
>> તેથી અક્ષરો નંબરો છે.
અને સંખ્યાઓ અક્ષરો છે, માત્ર સંદર્ભ પર આધાર રાખીને.
અને તે અંદર કે બહાર વળે એક કમ્પ્યુટર પ્રોગ્રામ છે,
તમે કેવી રીતે તમે જોવા માંગો છો સ્પષ્ટ કરી શકો છો કે કાર્યક્રમ ની અંદર બિટ્સ પર?
>> સપ્તાહ 0 કે અમે હતા યાદ ASCII, જે ફક્ત આ કોડ છે
નંબરો મેપિંગ અક્ષરો.
અને અમે જણાવ્યું હતું કે, મૂડી 65 છે.
કેપિટલ બી તેથી આગળ 66 છે, અને.
>> સૂચના, અમે અનિવાર્યપણે અક્ષરો પર હોય અહીં ટોચ પંક્તિ, કારણ સે તેમને કૉલ કરશે,
અક્ષરો, અને પછી બીજી પંક્તિ પર ints.
અને તે તારણ છે તમે કન્વર્ટ કરી શકો છો એકીકૃત બે, સામાન્ય રીતે વચ્ચે.
અને અમે કરવા માંગો છો, તો આ ઇરાદાપૂર્વક, અમે
હલ કરવા માંગો છો શકે થોડું આના જેવું.
>> અમે રૂપાંતરિત કરવા માંગો છો શકે છે અપર કેસ ઘટે
કેસ, અથવા અપર કેસ નીચલા કેસ.
અને તે ત્યાં છે બહાર વળે ખરેખર એક પેટર્ન અહીં
અમે માત્ર એક ક્ષણ સ્વીકાર કરી શકો છો.
પરંતુ એક પ્રથમ દેખાવ દો બાહ્ય આમ ઉદાહરણ.
>> હું CS50 IDE માં પાછા જવા માટે જઇ રહ્યો છું.
હું બનાવવા જઈ રહ્યો છું ફાઇલ ASCII 0.c. કહેવાય
અને હું આગળ જાઓ અને ઉમેરવા માટે જઇ રહ્યો છું મારા ટોચ પર ધોરણ io.h, પૂર્ણાંક મુખ્ય રદબાતલ
મારું કાર્ય ટોચ પર.
અને પછી હું માત્ર કરવા જઇ રહ્યો છું લૂપ માટે નીચેના હું બરાબર,
ધારો કે, 65 દો.
>> અને પછી હું કરતાં ઓછી હોઈ ચાલે છે મૂળાક્ષર 65, વત્તા 26 અક્ષરો.
તેથી હું કમ્પ્યુટર દો પડશે ત્યાં મારા માટે ગણિત નથી.
અને પછી આ લૂપ અંદર, શું હું છાપો જાઉં છું?
>> % C% હું એ બેકસ્લેશ છે.
અને હવે હું બે કિંમતો પ્લગ કરવા માંગો છો.
હું થોડા સમય માટે પ્રશ્ન મૂક્યો છે ત્યાં ચિહ્નિત પ્રશ્ન આમંત્રિત કરવા માટે.
>> હું આગળ 65 થી ફરી વળવું માંગો છો મૂળાક્ષર 26 અક્ષરો છે,
દરેક ઇટરેશન પર બહાર છાપવા કે પાત્ર અભિન્ન સમકક્ષ.
અન્ય શબ્દોમાં, હું કરવા માંગો છો ફરી વળવું પર 26 નંબરો પ્રિન્ટીંગ
શું ASCII પાત્ર છે, અક્ષર, અને શું અનુરૂપ નંબર આ--
ખરેખર માત્ર પુનઃબનાવવાનું કે સ્લાઇડ થી ચાર્ટ.
તેથી શું આ પ્રશ્ન ગુણ હોવા જોઈએ?
>> ઠીક છે, તે બીજા બહાર વળે એક માત્ર ચલ હું પ્રયત્ન કરીશું.
હું જોવા માટે કે જે નંબર તરીકે માંગો છો.
અને મધ્ય દલીલ અહીં, હું કમ્પ્યુટર કહી શકો છો
કે પૂર્ણાંક સારવાર માટે હું એક પાત્ર તરીકે, જેથી
તે અહીં ટકા સી માટે અવેજી
>> અન્ય શબ્દોમાં, જો હું માનવ પ્રોગ્રામર, ખબર
આ માત્ર નંબરો છે દિવસ ના અંતે.
અને હું જાણું છું કે 65 જોઇએ કેટલાક પાત્ર મેપ.
આ સ્પષ્ટ કાસ્ટ સાથે, એક વાક્ય સાથે,
તમે કરવા માંગો છો ડેટા પ્રકાર નામ કન્વર્ટ, અને બંધ કૌંસ,
તમે કહી શકો છો કોમ્પ્યુટર, અરે, કોમ્પ્યુટર,
ઘરનાં પરચૂરણ કામો માટે આ પૂર્ણાંક રૂપાંતરિત કરો.
>> તેથી જ્યારે હું આ સ્કોર કાર્યક્રમ સંકલન પછી,
માતાનો જુઓ હું શું વિચાર કરી ASCII 0 બનાવવા દો.
રફૂ કરવું તે, હું શું ખોટું અહીં શું કર્યું?
બિનજાહેર ઓળખકર્તા ઉપયોગ, બધા હક છે, ઇરાદાપૂર્વક નથી,
પરંતુ માતાનો જોવા દો, તો આપણે કરી શકતા નથી આ દ્વારા કારણ છે.
>> તેથી વાક્ય five-- તેથી હું મળી ન હતી ખૂબ જ દૂર સુધી અપ screwing પહેલાં.
એ બરાબર છે.
તેથી 5 રેખા હું બરાબર 65-- હું જુઓ.
તેથી સી યાદ રાખો કે, કેટલાક વિપરીત જો તમે પહેલાં પ્રોગ્રામિંગ છે ભાષાઓ
અનુભવ, તમે કમ્પ્યુટર કહેવું,
સ્ક્રેચ જેમ નહિં પણ, શું ચલનો પ્રકાર છે.
>> અને હું એક કી શબ્દસમૂહ અહીં ભૂલી ગયા છો.
વાક્ય પાંચ, હું હું ઉપયોગ કરવાનું શરૂ કર્યું છે.
પરંતુ હું સી ન હતું કે શું ડેટા પ્રકાર છે.
તેથી હું અહીં જાઓ જાઉં છું અને કહે છે, હેં, તે પૂર્ણાંક છે.
>> હવે હું આગળ જાઓ અને પુનઃકમ્પાઈલ કરવા જઇ રહ્યો છું.
કે સુધારેલ.
./ascii0 દાખલ કરો, કે જે પ્રકારની ઠંડી છે.
માત્ર તે સુપર ઝડપી છે , કમ્પ્યુટર આ પ્રશ્ન પૂછો
તેના બદલે એક સ્લાઇડ પર તે જોઈ કરતાં, તે દરેક લાઇને એક છપાયેલ હોય, એ 65 છે,
બી, કારણ કે હું down-- 66, તમામ માર્ગ છે અક્ષરો Z માટે આ 26 times-- હતી,
જે 90 છે.
અને હકીકતમાં, સહેજ વધુ બુદ્ધિશાળી કરશે
મારા માટે કરવામાં આવી ન આધાર રાખે છે કમ્પ્યુટર પર 26 ઉમેરો.
હું માત્ર પૂર્ણ કરી શકે છે 90 તેમજ, જેથી લાંબા
કારણ કે હું એ જ ભૂલ બે વાર બનાવવા નથી.
હું મારફતે જવા માંગો છો ઝેડ, માત્ર વાય દ્વારા અપ.
>> તેથી તે સ્પષ્ટ કાસ્ટ છે.
આ છે કે જે બહાર વળે પણ જરૂરી નથી.
મને આગળ વધો અને આ પુનઃ ચલાવો દો કમ્પાઇલર, અને પુનઃ ચલાવો ASCII 0.
તે તારણ છે કે સી ખૂબ સ્માર્ટ છે.
>> અને printf, ખાસ કરીને, ખૂબ સ્માર્ટ છે.
તમે માત્ર એક હું બે વખત પાસ કરો તો બંને જગ્યામાં માટે, printf
, ખ્યાલ આવશે ઓહ, સારી રીતે હું તમને ખબર મને કેટલાક નંબર integer-- આપ્યો,
65, અથવા 90, અથવા ગમે છે.
પરંતુ હું જુઓ કે તમે મને કરવા માંગો છો એક અક્ષર જેમ કે નંબર ફોર્મેટ.
અને તેથી printf સર્વથા ભૂમિકા કરી શકો છો આ તેમજ તમારા માટે ઘરનાં પરચૂરણ કામો માટે INT.
તેથી તે એક સમસ્યા બધા નથી.
>> પરંતુ નોટિસ, આ સમકક્ષતા કારણે અમે ખરેખર આ તેમજ કરી શકો છો.
મને આગળ વધો અને એક બનાવવા દો છે આ ascii 1.c. અન્ય આવૃત્તિ
અને બદલે પર વારો પૂર્ણાંકો, ખરેખર તમારા મન તમાચો કરી શકો છો
અક્ષરો પર વારો દ્વારા.
ઘરનાં પરચૂરણ કામો સી મૂડી નહીં હોય તો, હું આગળ વધો અને આ કરવા માંગો છો,
જેથી લાંબા સી કરતાં ઓછી અથવા સમાન છે, કારણ કે મૂડી ઝેડ અને દરેક ઇટરેશન પર
હું સી વધારો કરવા માંગો છો, હું કરી શકો છો હવે મારી printf રેખા અહીં
કહે છે, ટકા સી ટકા હું ફરીથી, અલ્પવિરામ સી
>> અને હવે, હું અન્ય દિશામાં જઈ શકે છે, પાત્ર સ્પષ્ટપણે કાસ્ટિંગ
પૂર્ણાંક માટે.
તેથી, ફરી, શા માટે તમે આ શું કરશે?
તે સૉર્ટ થોડી વિચિત્ર છે અક્ષરો દ્રષ્ટિએ ગણતરી.
>> પરંતુ જો તમે સમજો છો શું છે હૂડ નીચે રહ્યું,
ત્યાં ખરેખર કોઈ જાદુ છે.
તમે માત્ર કહી રહ્યાં છે, અરે, કમ્પ્યુટર આપશે મને એક ચલ પ્રકાર ઘરનાં પરચૂરણ કામો સી કહેવાય છે.
મૂડી એ માટે તે પ્રારંભ અને એક જ અવતરણચિહ્નો બાબત નોટિસ.
>> સી અક્ષરો માટે, યાદ છેલ્લા અઠવાડિયે, તમે એક જ અવતરણચિહ્નો ઉપયોગ કરે છે.
શબ્દમાળાઓ માટે, શબ્દો માટે, શબ્દસમૂહો, તમે ડબલ નો ઉપયોગ.
ઠીક છે, કમ્પ્યુટર, આમ રાખો, જેથી પાત્ર તરીકે લાંબા કરતાં ઓછી છે
અથવા z માટે સમાન.
અને હું મારી ASCII ટેબલ પરથી જાણીએ છીએ કે બધા આ ascii કોડ સંલગ્ન છે.
>> ત્યાં કોઈ ગાબડા છે.
તેથી તે માત્ર એક Z મારફતે છે, એક નંબર દરેક દ્વારા અલગ થયેલ છે.
અને પછી હું વધી શકે છે ચાર રચે છે, જો હું ખરેખર કરવા માંગો છો.
દિવસ ના અંતે, તે માત્ર એક સંખ્યા છે.
મને આ ખબર છે.
તેથી હું માત્ર તે માટે 1 ઉમેરવા માટે પાડશો કરી શકો છો.
>> અને પછી આ સમય, હું સી છાપો, અને પછી અભિન્ન સમકક્ષ.
અને હું પણ સ્પષ્ટ કાસ્ટ જરૂર નથી.
હું printf અને દો કરી શકો છો કમ્પ્યુટર વસ્તુઓ બહાર આકૃતિ,
જેથી હવે જો હું ચલાવવા Ascii1./ascii1 બનાવવા માટે,
હું તેમજ ચોક્કસ જ વસ્તુ મળે છે.
>> યુઝલેસ કાર્યક્રમ, કોઈ એક though-- ખરેખર સોફ્ટવેર લખી રહ્યા છે
ક્રમમાં બહાર આકૃતિ માટે, શું હતું નંબર કે એ નકશા, અથવા બી, અથવા z?
તમે માત્ર કે તે Google જઈ રહ્યાં છો, તેને જોવા અપ ઓનલાઇન, અથવા તેને જોવા અપ
સ્લાઇડ, અથવા જેમ છે.
તેથી જ્યાં આ ખરેખર ઉપયોગી વિચાર કરે છે?
>> ઠીક છે, કે બોલતા સ્લાઇડ, ત્યાં નોટિસ
મોટા વચ્ચે એક વાસ્તવિક પેટર્ન અહીં અને નાના આકસ્મિક ન હતો.
નોંધ કરો કે મૂડી 65 છે.
લોઅરકેસ 97 છે.
અને દૂર અત્યાર સુધી કેવી રીતે લોઅર કેસ એક છે?
>> તેથી 65 97 થી કેટલા પગલાંઓ દૂર છે?
તેથી 97 ઓછા 65 32 છે.
તેથી મૂડી 65 છે.
તમે કે 32 ઉમેરો તો, તમે એક લોઅરકેસ મળે છે.
અને, સમાન, જો તમે 32 સબ્ટ્રેક્ટ, તમે મૂડી પાછી મેળવવા ચલો બી સાથે જ
લિટલ બી, થોડી સી મોટા સી.
>> આ ગાબડા તમામ 32 અંતરે છે.
હવે, આ અમને કરવા માટે પરવાનગી આપે લાગશે માઈક્રોસોફ્ટ વર્ડ કંઈક કરી,
અથવા Google ડૉક્સ લક્ષણ છે, જ્યાં તમે બધું પસંદ કરી શકો છો અને પછી કહે છે,
લોઅરકેસ બધા બદલવા, અથવા અપર કેસ માટે બધા બદલી,
અથવા માત્ર પ્રથમ શબ્દ બદલવા અપર કેસ માટે સજા.
અમે ખરેખર કંઈક કરી શકો છો જાતને કે.
>> મને આગળ વધો અને એક ફાઇલ સેવ અહીં 0.c. ઉઠાવે કહેવાય
અને ચાલો આગળ વધો અને એક કાર્યક્રમ ચાબુક દો બરાબર છે કે નીચે છે.
તેથી CS50 પુસ્તકાલય સમાવેશ થાય છે.
અને પ્રમાણભૂત I / O સમાવેશ થાય છે.
>> અને હું આ ટૂંક સમયમાં આવી રહ્યું છે ખબર.
તેથી હું તેને મૂકવા જાઉં છું ત્યાં પહેલેથી જ છે, string.h,
તેથી હું વપરાશ હોય છે સ્ટર્લિંગ જેવી વસ્તુઓ,
અને પછી મુખ્ય રદબાતલ પૂર્ણાંક, સામાન્ય તરીકે.
અને પછી હું આગળ જાઓ જાઉં છું અને શબ્દમાળાઓ શબ્દમાળા વિચાર નહીં,
માત્ર વપરાશકર્તા માંથી શબ્દમાળા મેળવવા માટે.
અને પછી હું જાઉં છું મારા સેનીટી ચેક કરવું.
શબ્દમાળા સમાન નલ ન હોય તો, પછી તે આગળ વધવા માટે સુરક્ષિત છે.
અને હું શું કરવા માંગો છો?
હું ભારપૂર્વક કહેવું હું 0 સમકક્ષ હોય છે જઇ રહ્યો છું, અને એ ઓ શબ્દમાળા લંબાઈ સુધી.
>> અને હું તેથી લાંબા તરીકે આ કરવા જઇ રહ્યો છું હું એ કરતાં ઓછી છે, અને હું વત્તા વત્તા.
અત્યાર સુધી, હું ખરેખર માત્ર છું પહેલાં વિચારો ઉધાર.
અને હવે હું એક શાખા રજૂ કરવા જઈ રહ્યો છું.
>> તેથી સ્ક્રેચ, જ્યાં પાછા લાગે અમે રસ્તા માં તે ફોર્કનો હતી,
અને છેલ્લા અઠવાડિયે સી હું જાઉં છું આ કહે છે, જો એસ આઇ મી અક્ષર
કરતાં વધારે અથવા કેસ નીચલી સમાન
and-- સ્ક્રેચ માં તમે શાબ્દિક કરશે કહે છે, પરંતુ સી તમે કહી ચિન્હ,
ampersand-- અને એસ આઇ મી અક્ષર કરતાં ઓછા અથવા કેસ z ઘટે સમાન છે,
કંઈક રસપ્રદ કરવા દો.
ચાલો ખરેખર એક છાપે કોઈ NEWLINE સાથે અક્ષર
કે જેઓ શબ્દમાળા માં પાત્ર છે, શબ્દમાળા આઇ મી પાત્ર.
>> પરંતુ આગળ જવા દો અને તે 32 સબ્ટ્રેક્ટ.
બાકી જો પાત્ર શબ્દમાળા કે અમે શોધી રહ્યાં છો
લિટલ વચ્ચે નથી અને થોડી ઝેડ, આગળ વધો
અને માત્ર તે બહાર યથાવત મુદ્રિત.
તેથી અમે રજૂ કર્યું આ કૌંસ નોટેશનમાં
અમારા શબ્દમાળાઓ પર મેળવવા માટે આઇ મી શબ્દમાળા માં પાત્ર.
>> હું જેવા કેટલાક શરતી તર્ક ઉમેર્યા છે, ગયા અઠવાડિયે અઠવાડિયે એક, જ્યાં સ્ક્રેચ
હું માત્ર મારા મૂળભૂત ઉપયોગ કરું છું શું સમજ
હૂડ નીચે જઈ રહી છે.
ઓ આઇ મી અક્ષર છે કરતાં વધારે અથવા બરાબર?
જેમ, તે, 97, અથવા 98 છે અથવા 99, અને તેથી આગળ?
>> પરંતુ તે પણ કરતાં ઓછી અથવા સમાન છે લોઅરકેસ z ની કિંમત?
અને તેથી જો, શું આ વાક્ય અર્થ છે?
14, આ પ્રકારની છે સમગ્ર વિચાર કીડો,
દ્વારા પત્ર ઉઠાવે ફક્ત તે 32 બાદબાકી,
આ કિસ્સામાં, કારણ કે હું જાણું છું કે પ્રતિ ચાર્ટ, કેવી રીતે મારા નંબરો રજૂ થાય છે.
તેથી આપણે આગળ વધીશું અને આ ચલાવો, 0.c ઉઠાવે સંકલન પછી,
અને રન 0 ઉઠાવે છે.
>> માતાનો કંઈક લખો બધા નાના અક્ષરોમાં Zamyla દાખલ કરો.
અને હવે અમે બધા મોટા માં Zamyla છે.
બધા લોઅરકેસ માં રોબ ટાઈપ કરીએ.
બધા લોઅરકેસ માં જેસન પ્રયાસ કરીએ.
અને અમે મેળવવામાં રાખવા ફરજ પડી કેપિટલાઇઝેશન.
ત્યાં એક નાની ભૂલ છે કે હું પ્રકારની અપેક્ષા ન હતી.
નોંધ મારી નવી પ્રોમ્પ્ટ અંત છે તેમના નામો તરીકે જ વાક્ય પર,
જે થોડી અવ્યવસ્થિત લાગે છે.
>> તેથી હું અહીં જાઓ જાઉં છું, અને ખરેખર આ કાર્યક્રમ ઓવરને અંતે
એક NEWLINE અક્ષર છાપો.
કે બધા છે.
printf સાથે, તમે જરૂર નથી ચલો અથવા ફોર્મેટ કોડ માં પસાર કરે છે.
તમે શાબ્દિક માત્ર છાપી શકો છો એક NEWLINE કંઈક.
>> તેથી આપણે આગળ વધીશું અને બનાવવા દો 0 ફરી ઉઠાવે, તે પુનઃ ચલાવો, Zamyla.
અને હવે તે થોડો prettier છે.
હવે, મારા પ્રોમ્પ્ટ તેના પોતાના નવા લીટી પર છે.
તેથી તે બધા દંડ અને સારી છે.
તેથી તે એક સારું ઉદાહરણ છે.
પરંતુ હું પણ જરૂરી નથી હાર્ડ કોડ 32 કરવાની જરૂર છે.
શું તમે જાણો છો?
હું કહેવું શકે છે હું ક્યારેય નથી શું યાદ તફાવત છે.
>> પરંતુ મને ખબર છે કે જો હું નીચા કેસ પત્ર,
હું અનિવાર્યપણે બોલ બાદબાકી કરવા માંગો છો ગમે અંતર લિટલ વચ્ચે છે
એક અને મોટી છે, કારણ કે જો હું તે ધારે અન્ય અક્ષરો તમામ સમાન હોય છે,
તે કામ કર્યું વિચાર કરીશું.
પરંતુ શું બદલે, તમે શું જાણો છો?
ત્યાં હજુ પણ અન્ય માર્ગ છે.
>> જો કે, જો હું હતા 1.c-- ઉઠાવે છે એક અલગ ફાઇલમાં મૂકી છે.
માતાનો ઉઠાવે 2.c નથી નીચે પ્રમાણે દો.
હું ખરેખર અહીં આ સાફ કરવા જઇ રહ્યો છું.
અને બદલે પણ કર્યા ખબર હોય અથવા તે નીચા સ્તર વિશે કાળજી
અમલીકરણ વિગતો, હું બદલે છું માત્ર એક અક્ષર છાપો રહ્યું છે,
ભાવ અવતરણ ચિહ્નો પૂરાં કરવાં, ટકા સી, અને પછી બીજા કાર્ય કૉલ કે
અસ્તિત્વમાં છે કે જે એક દલીલ લે છે, જે પાત્ર, આ જેવી છે.
>> તે સી માં વળે છે, ત્યાં બીજા કાર્ય કૉલ
ઉપલા જે નામ તરીકે સૂચવે છે કે એક પાત્ર લે
અને તે તેના અપર કેસ કરવા માટે બનાવે છે સમકક્ષ છે, અને પછી તે આપે
જેથી printf ત્યાં તે પ્લગ કરી શકો છો.
અને તેથી આ કરવા માટે, જોકે, હું એક અન્ય ફાઈલ રજૂ કરવાની જરૂર છે.
તે વારા બીજી ફાઇલ છે બહાર તમે માત્ર વર્ગ ખબર હોત,
અથવા એક પુસ્તક, અથવા ઑનલાઇન સંદર્ભ, સી type.h. કહેવાય
>> તેથી જો હું અપ મારું હેડર વચ્ચે ફાઇલો, અને હવે ફરીથી કમ્પાઇલ આ કાર્યક્રમ
capitalize2 દાખલ ./capitalize2.
બધા માં Zamyla ટાઈપ કરીએ લોઅરકેસ, હજુ પણ એ જ કામ કરે છે.
પરંતુ તમે શું જાણો છો?
તે ઉચ્ચ તારણ છે કે કેટલાક અન્ય કાર્યક્ષમતા ધરાવે છે.
>> અને મને આ પરિચય દો અહીં આજ્ઞા પ્રકારના awkwardly
નામ આપવામાં આવ્યું, પરંતુ જાતે માટે માણસ.
તે તારણ છે કે મોટાભાગની Linux કમ્પ્યુટર્સ, અમે Linux ઓપરેટિંગ અહીં ઉપયોગ કરી રહ્યા છો કારણ કે
system-- આદેશ કહેવાય માણસ, જે કહે છે,
અરે, કોમ્પ્યુટર, મને આપી કમ્પ્યુટર જાતે.
શું તમે કરવા માંગો છો કે જાતે માં જુઓ?
>> હું કાર્ય જોવા માંગો છો ઉચ્ચ કહેવાય છે, દાખલ કરો.
અને તે માટે થોડી વિસ્મૃત ક્યારેક વાંચી.
નોટિસ પણ અમે છો Linux પ્રોગ્રામર માર્ગદર્શિકા.
અને તે બધા લખાણ છે.
નોટિસ કે ત્યાં અહીં કાર્ય નામ.
તે તારણ આપે છે કે તે એક પિતરાઇ કહેવાય છે ઘટે છે, કે જે વિરુદ્ધ કરે છે.
અને સારાંશ હેઠળ નોટિસ, આ વાપરવા માટે માણસ પાનું કામ કરે છે, તેથી વાત કરવા માટે,
મને કે હું કહી છે સી type.h. સમાવેશ કરવાની જરૂર
અને હું અભ્યાસ માંથી જાણતા હતા કે.
>> અહીં, તે મને દર્શાવે બે કાર્ય માટે પ્રોટોટાઇપ,
જેથી હું ક્યારેય ઉપયોગ કરવા માંગો છો, તો મને ખબર છે કે તેઓ શું ઇનપુટ તરીકે લે છે,
અને તેઓ શું આઉટપુટ તરીકે આવો.
અને પછી જો હું વાંચી વર્ણન, હું જોઈ
વધુ વિગતવાર શું કાર્ય કરે છે.
પરંતુ વધુ મહત્ત્વની, જો હું વળતર કિંમત હેઠળ જુઓ
તે કહે છે પરત કિંમત છે રૂપાંતરિત પત્ર કે,
અથવા સી, મૂળ ઇનપુટ, જો રૂપાંતર શક્ય ન હતું.
>> બીજા શબ્દોમાં કહીએ તો, ઉપલા પ્રયાસ કરશે અપર કેસ એક પત્ર કન્વર્ટ કરવા માટે.
અને તેથી જો, તે પરત ચાલી રહ્યું છે.
પરંતુ જો કોઇ reason-- માટે કરી શકો છો કદાચ તે પહેલાથી જ અપર કેસ છે,
કદાચ તે ઉદ્ગાર બિંદુ છે અથવા અમુક અન્ય punctuation--
તે માત્ર રહ્યું છે મૂળ સી પાછા,
એનો અર્થ એ થાય કે જે હું મારા કોડ કરી શકો છો સારી નીચે પ્રમાણે રચાયેલ છે.
>> હું બધા જરૂર નથી કોડ આ રફૂ રેખાઓ.
લાઇન્સ હું કર્યું બધા માત્ર પ્રકાશિત કરી શકો છો
માત્ર એક સરળ માં પડી ભાંગી રેખા, કે જે છે આ printf ટકા છે
ઉપલા એ કૌંસ હું સી.
અને આ એક હશે સારી ડિઝાઇન ઉદાહરણ.
>> શા માટે 7 અથવા 8 રેખાઓ અમલ કોડ, ગમે તે હું માત્ર હતી
કાઢી ત્યારે તમે તેના બદલે તૂટી શકે છે કે તર્ક અને નિર્ણય તમામ
એક લાઇનમાં, 13 હવે, માં કે એક લાઈબ્રેરી પર આધાર રાખે છે function--
એક કાર્ય છે કે C સાથે આવે છે, પરંતુ તે શું તમે તેને કરવા માંગો છો બરાબર કરે છે.
અને, પ્રમાણિકપણે, પણ જો તે C સાથે આવે ન હતી,
તમે તેને જાતે અમલ કરી શકે છે, કારણ કે અમે જોઇ છે, નકારાત્મક પૂર્ણાંક વિચાર સાથે
અને હકારાત્મક પૂર્ણાંક છેલ્લા અઠવાડિયે તેમજ મળે છે.
>> આ કોડ હવે વધુ વાંચી શકાય છે.
અને, ખરેખર, અમે ઉપર સ્ક્રોલ જો, કેવી રીતે વધુ કોમ્પેક્ટ જુઓ
મારા કાર્યક્રમ ની આ આવૃત્તિ છે.
તે થોડો ટોચ ભારે હવે, આ તમામ સમાવેશ થાય છે સાથે.
પરંતુ તે ઠીક છે, કારણ કે હવે હું સ્થાયી છું પ્રોગ્રામરો ખભા પર
મને પહેલાં.
અને તે જે કોઈ હતું જે ખરેખર ઉપલા અમલ
મને, એક તરફેણમાં હતી જેમ જ વિષયક અમલ સ્ટર્લિંગ ખરેખર
મને એક તરફેણમાં કેટલાક સમય પહેલાં હતી.
અને તેથી હવે અમે એક છે સારી ડિઝાઇન કાર્યક્રમ
કે જે ચોક્કસ જ તર્ક લાગુ કરે છે.
>> સ્ટર્લિંગ બોલતા, દો મને આગળ વધો અને આ કરવા.
મને આગળ વધો અને સંગ્રહ કરીએ આ ફાઇલ stirling.c છે.
અને તે તારણ છે, અમે પાછા છાલ કરી શકો છો એક અન્ય સ્તર ખૂબ સરળ હવે.
હું આગળ અને ચાબુક જાઓ જાઉં છું મુખ્ય અન્ય કાર્યક્રમ
અહીં કે ફક્ત ફરીથી ઓજાર શબ્દમાળા લંબાઈ નીચે પ્રમાણે.
તેથી અહીં કોડ એક વાક્ય છે કે મને વપરાશકર્તા માંથી શબ્દમાળા મળે છે.
અમે ફરીથી અને ફરીથી આ ઉપયોગ ચાલુ રાખી.
મને મારી જાતને એક ચલ કહેવાય આપી દો પ્રકાર પૂર્ણાંક છે કે જે નંબર સંગ્રહ કરે છે એન.
>> અને મને આગળ જાઓ અને નીચેના તર્કશાસ્ત્ર નથી.
એસ એન મી અક્ષર કરે છે સમાન બેકસ્લેશ 0, આગળ વધો
અને એન વધારો.
અને પછી printf ટકા હું એ છાપશે.
હું આ કાર્યક્રમ અહીં દાવો, શબ્દમાળા લંબાઈ ફોન વગર,
એક શબ્દમાળા લંબાઈ આધાર.
>> અને જાદુ રાખે છે 8 લીટી માં સમાઇ
અહીં નવું શું છે વાક્યરચના જેવી લાગે છે, આ બેકસ્લેશ 0 એક અવતરણ.
પરંતુ તે શા માટે છે?
વેલ, તે ધ્યાનમાં કરવામાં આવી છે આ બધા સમય પર જવાનું.
>> અને એક કોરે પહેલાં હું ભૂલી, ખ્યાલ તરીકે પણ, તે મેન પેજો માટે વધુમાં
કે એક લાક્ષણિક સાથે આવે છે CS50 IDE જેવા Linux સિસ્ટમ,
ખ્યાલ છે કે અમે, આ કોર્સ સ્ટાફ, પણ
એક વેબસાઇટ આવૃત્તિ કરવામાં આ જ વિચાર કહેવાય
reference.cs50.net છે, જે તે એ જ માણસ પાના તમામ,
તે જ તમામ દસ્તાવેજીકરણ, તેમજ
ટોચ પરવાનગી આપે છે કે એક નાના બોક્સમાં તમે એકદમ તમામ કન્વર્ટ કરવા માટે
ઓછી આરામદાયક માં Arcane ભાષા સ્થિતિ છે, જ્યાં અમે, શિક્ષણ સ્ટાફ,
પસાર અને સરળ બનાવવા માટે પ્રયાસ કર્યો છે વસ્તુઓ રાખવા ભાષાના કેટલાક
વિચારો પર ધ્યાન કેન્દ્રિત કર્યું, અને સૂક્ષ્મતા કેટલાક.
જેથી ધ્યાનમાં રાખો, reference.cs50.net અન્ય સ્ત્રોત તરીકે તેમજ.
>> પરંતુ શા માટે શબ્દમાળા લંબાઈ કામ કરે છે જે રીતે હું એક ક્ષણ પહેલા સૂચિત?
અહીં Zamyla નામ ફરી છે.
અને અહીં Zamyla નામ છે માં બોક્સવાળી હું કરી રાખવા,
તે છે એક ચિત્ર કરું, ખરેખર, માત્ર અક્ષરો ક્રમ.
પરંતુ Zamyla અસ્તિત્વમાં નથી એક કાર્યક્રમ એકલતા.
>> જ્યારે તમે લખી અને એક કાર્યક્રમ ચલાવવા માટે, તમે તમારા Mac અથવા તમારા PC ઉપયોગ કરી રહ્યાં છો
મેમરી, અથવા RAM જેથી વાત કરવા માટે.
અને તમે વિચાર કરી શકો છો હોવા તરીકે તમારા કમ્પ્યુટર
મેમરી ગીગાબાઇટ્સ આ દિવસોમાં ઘણી બધી.
અને એક જહાજની નાની હોડી અબજો અર્થ થાય છે, જેથી બાઇટ્સ અબજો.
>> પરંતુ સમય રીવાઇન્ડ દો.
અને અમે ઉપયોગ કરી રહ્યાં છો ધારવું ખરેખર જૂના કમ્પ્યુટર કે
માત્ર મેમરી 32 બાઇટ્સ છે.
હું કરી શકે છે, મારા કમ્પ્યુટર સ્ક્રીન પર, માત્ર આ બહાર ડ્રો નીચે પ્રમાણે.
>> હું ફક્ત કહી શકે કે મારા કમ્પ્યુટર આ મેમરી બધા છે.
અને આ મેમરી એક લાકડી જેવી છે, જો તમે છેલ્લી વખત અમારા ચિત્ર યાદ અપાવે છે.
અને જો હું માત્ર વિભાજીત પૂરતા સમયમાં આ
હું દાવો હું 32 બાઇટ્સ હોય છે સ્ક્રીન પર મેમરી.
>> માત્ર હવે, વાસ્તવમાં, હું કરી શકો છો અહીં આ સ્ક્રીન પર અત્યાર સુધી દોરે છે.
તેથી હું આગળ જાઓ જાઉં છું અને માત્ર પરંપરા દ્વારા,
તરીકે મારા કમ્પ્યુટર મેમરી ડ્રો ગ્રીડ, માત્ર કારણ કે એક સીધી રેખા.
ખાસ કરીને, હવે હું દાવો આ ગ્રીડ, આ 8 4 ગ્રીડ,
ફક્ત તમામ 32 બાઇટ્સ રજૂ મારા મેક ઉપલબ્ધ મેમરી,
અથવા મારા પીસી માં ઉપલબ્ધ છે.
અને તેઓ વીંટાળવવાની કરી રહ્યાં છો પર બે લીટીઓ, માત્ર
કારણ કે તે સ્ક્રીન પર વધુ બંધબેસે છે.
પરંતુ આ પ્રથમ બાઇટ છે.
આ બીજા બાઈટ છે.
આ ત્રીજા બાઈટ છે.
>> અને આ 32 બાઈટ છે.
અથવા, અમે એક કોમ્પ્યુટર જેવી લાગે છે કે જો વૈજ્ઞાનિક, આ બાઇટ 0, 1, 2, 3, 31 છે.
તેથી જો તમે 31 0 છે, તો તમે 0 અંતે ગણતરી શરૂ કરો.
>> તેથી જો આપણે એક કાર્યક્રમ વાપરવા કે કોલ શબ્દમાળા મેળવવા માટે,
અને અમે માનવ તરફથી એક શબ્દમાળા વિચાર જેમ હું Zamyla કહેવાય હતી, Z-A-એમ-વાય-એલ-એ,
કેવી રીતે વિશ્વમાં કરે કમ્પ્યુટર રાખો ટ્રેક છે, જે બાઇટ,
જે મેમરી ચંકને જે શબ્દમાળા માટે અનુસરે છે?
અન્ય શબ્દોમાં, જો આપણે આગળ વધવું કમ્પ્યૂટરમાં અન્ય નામ લખો
આ Andi જેમ, ફોન શબ્દમાળા બીજી વખત વિચાર,
એક-એન-ડી-હું અંત છે કમ્પ્યુટરની મેમરી તેમજ.
પરંતુ કેવી રીતે?
>> વેલ, તે તારણ છે કે જે નીચે હૂડ, સી શું જ્યારે શબ્દમાળાઓ સ્ટોર કરે છે
કે માનવ પ્રકારની, અથવા તે કેટલાક અન્ય સ્ત્રોત માંથી આવે છે, તે છે
સાથે તેમને ઓવરને delineates ખાસ character-- બેકસ્લેશ
0, જે માત્ર એક ખાસ રીત છે એક પંક્તિ માં 80 બીટ્સ કહ્યું.
>> તેથી ચલો આ નંબર 97 રિકોલ છે.
તેથી 8 બીટ્સ કેટલાક પેટર્ન દશાંશ નંબર 97 પ્રતિનિધિત્વ કરે છે.
આ બેકસ્લેશ 0 શાબ્દિક નંબર છે 0 ઉર્ફે nul, એન યુ એલ, અગાઉ જેમ નહિં પણ,
એન યુ એલ એલ, કે જે અમે વિશે વાત કરી.
પરંતુ હવે માટે, માત્ર આ ખબર છે કે બેકસ્લેશ 0 એક પંક્તિ માં માત્ર 80 બિટ્સ છે.
>> અને તે માત્ર આ વાક્ય છે રેતી કે ડાબી કંઈપણ કહે
એક શબ્દમાળા, અથવા એક માહિતી પ્રકાર માટે અનુસરે છે.
અને જમણી કંઈપણ કંઈક બીજું માટે અનુસરે છે.
Andi નામ દરમિયાન, જે ફક્ત દૃષ્ટિની
અન્ય રેખા પર લપેટી થાય છે, પરંતુ તે માત્ર એક કલાત્મક વિગતવાર છે,
એ જ રીતે nul સમાપ્ત કરવામાં આવે છે.
>> તે એક-એન-ડી-હું એ અક્ષરોની એક સ્ટ્રિંગ છે, વત્તા એક પાંચમા ગુપ્ત પાત્ર,
બધા 0 બિટ્સ, કે જે હમણાં જ demarcates Andi નામ અંત તેમજ.
અને શબ્દમાળા ત્રીજી વખત વિચાર જો આપણે કહી કમ્પ્યુટર જેવી શબ્દમાળા મેળવવા માટે
મારિયા, એમ એ આર આઇ એ, એ જ રીતે માતાનો મારિયા છે નામ nul બેકસ્લેશ 0 સાથે સમાપ્ત.
>> આ મૂળભૂત રીતે જુદા છે કેવી રીતે એક કમ્પ્યુટર સામાન્ય રીતે કરશે
પૂર્ણાંક, અથવા એક ફ્લોટ, અથવા અન્ય સ્ટોર હજુ પણ ડેટા પ્રકારો છે, કારણ કે સ્મૃતિ,
પૂર્ણાંક સામાન્ય રીતે 32 બિટ્સ છે, અથવા 4 બાઇટ્સ, અથવા કદાચ 64 બિટ્સ,
કે આઠ બાઇટ્સ.
પરંતુ કમ્પ્યૂટર ઘણા પૌરાણિક એક પ્રોગ્રામિંગ ભાષા માં
એક નિશ્ચિત સંખ્યા છે hood-- નીચે બાઇટો
કદાચ 1, કદાચ 2, કદાચ 4, કદાચ 8.
>> પરંતુ શબ્દમાળાઓ, ડિઝાઇન દ્વારા, એક છે અક્ષરો ગતિશીલ સંખ્યા.
તમે અગાઉથી ખબર નથી, ત્યાં સુધી Z-A-એમ-વાય-એલ-A માનવ પ્રકારો,
અથવા એમ એ આર આઇ એ, અથવા એ-એન-ડી-હું. તમે જાણતા નથી કેટલી વખત વપરાશકર્તા હિટ રહ્યું છે
કીબોર્ડ.
તેથી, તમે કેવી રીતે ખબર નથી અગાઉથી ઘણા અક્ષરો
તમે જરૂર જઈ રહ્યાં છો.
>> અને તેથી સી માત્ર પ્રકારની એક જેવા નહીં હૂડ નીચે ગુપ્ત બ્રેડક્રમ્બને
શબ્દમાળા ઓવરને અંતે.
મેમરી Z-A-એમ-વાય-એલ-A સ્ટોર કર્યા પછી, તે પણ માત્ર સમકક્ષ મૂકે
એક સમયગાળા.
એક સજા ઓવરને અંતે, તે 80 બિટ્સ મૂકે છે, જેથી
જ્યાં યાદ Zamyla શરૂ થાય છે અને અંત થાય છે.
>> તેથી શું સંબંધ છે, પછી, આ કાર્યક્રમ માટે?
અહીં આ કાર્યક્રમ, સ્ટર્લિંગ, ફક્ત એક પદ્ધતિ છે
શબ્દમાળા મેળવવા માટે વપરાશકર્તા માંથી, રેખા 6.
7 વાક્ય પર, હું એક ચલ જાહેર એ કહેવામાં આવે છે અને તે 0 થી સમાન સુયોજિત કરો.
>> અને પછી 8 વાક્ય માં, હું ફક્ત પૂછવામાં પ્રશ્ન છે, જ્યારે એ મી અક્ષર કરે છે
સમાન બધા 0 bits-- અન્ય શબ્દોમાં, નથી
સમાન આ ખાસ પાત્ર, બેકસ્લેશ 0, જે
કે જે હમણાં જ ખાસ nul character-- હતી આગળ વધો અને માત્ર એન વધારો.
>> અને તે કરી રાખવા, અને રાખવા તે કરી છે, અને તે કરી રાખવા.
અને તેથી પણ છતાં છેલ્લા અમે હું ઉપયોગ કર્યો છે,
તે સંપૂર્ણપણે દંડ છે અર્થનિર્ધારણ એ વાપરવા માટે,
તમે માત્ર પ્રયાસ કરી રહ્યા છો, તો ઇરાદાપૂર્વક આ સમય ગણતરી,
અને માત્ર તે n કૉલ કરવા માંગો છો.
તેથી આ માત્ર પ્રશ્ન પૂછવા રાખે છે, S ના બધા 0s એ મી અક્ષર છે?
જો નહિં, તો આગામી દેખાવ માટે જુઓ, આગામી જોવા આગામી જુઓ,
આગામી જુઓ.
>> પરંતુ જલદી તમે બેકસ્લેશ 0 જુઓ, 11-- દ્વારા આ લૂપ લાઈન 9 અટકી જાય છે.
તમે જ્યારે લૂપ બહાર ભંગ, કે ચલ n ના અંદર છોડીને
તમામ કુલ સભ્યપદ શબ્દમાળા તમે જોયું અક્ષરો,
ત્યાં તે બહાર છાપવા.
તેથી આપણે આ પ્રયાસ કરો.
>> મને આગળ જવા દો અને વિના, સ્ટર્લિંગ કાર્ય ઉપયોગ કરીને,
પરંતુ માત્ર મારા પોતાના સ્થાનિક આવૃત્તિ વાપરી અહીં સ્ટર્લિંગ કહેવાય છે, દો મને આગળ વધો
અને રન સ્ટર્લિંગ, કંઈક લખો Zamyla છે, જે હું અગાઉથી ખબર જેવા
છ અક્ષરો છે.
ચાલો જોવા જો તે કામ કરે છે.
ખરેખર, તે છ છે.
માતાનો રોબ સાથે પ્રયત્ન કરીએ, ત્રણ અક્ષરો, ત્રણ અક્ષરો તેમજ, અને તેથી આગળ.
તેથી કે જે બધા રહ્યું છે હૂડ નીચે.
અને જોડાણો નોટિસ, પછી, પ્રથમ સપ્તાહ સાથે
વર્ગ છે, જ્યાં અમે વિશે વાત કરી તાત્વિક કંઈક,
જે ફક્ત વિચારો આ layering છે, અથવા જટિલતા, મૂળભૂત સિદ્ધાંતો ટોચ પર.
અહીં, આપણે સૉર્ટ શોધી રહ્યાં છો સ્ટર્લિંગ હૂડ નીચે,
તેથી વાત કરવા માટે બહાર આકૃતિ, તે કેવી રીતે અમલમાં આવશે?
>> અને અમે તેને જાતને ફરીથી અમલ કરી શકે છે.
પરંતુ અમે ક્યારેય ફરીથી જઈ રહ્યાં છો માટે ફરીથી અમલમાં સ્ટર્લિંગ.
અમે હમણાં જ જઈ રહ્યાં છો ક્રમમાં સ્ટર્લિંગ ઉપયોગ
વાસ્તવમાં કેટલાક શબ્દમાળાઓ લંબાઈ વિચાર.
>> પરંતુ ત્યાં કોઈ જાદુ છે હૂડ નીચે.
કે નીચે જો તમે જાણો છો હૂડ, શબ્દમાળા
માત્ર અક્ષરો ક્રમ છે.
અને અક્ષરો કે ક્રમ બધા સંખ્યાની સંબોધી શકાય
કૌંસ 0, કૌંસ સાથે 1, કૌંસ 2, અને તમે
ખબર છે કે એક શબ્દમાળા ઓવરને અંતે એક છે ખાસ પાત્ર, તમે બહાર આકૃતિ કરી શકો છો
કેવી રીતે સૌથી કંઈ પણ કરવા માટે કાર્યક્રમ, કારણ કે તે તમામ નીચે ઉકળે
વાંચન અને મેમરી લખી રહ્યો છે.
એટલે કે, બદલાતી અને શોધી મેમરી પર, અથવા વસ્તુઓ ખસેડવાની
મેમરી આસપાસ, પ્રિન્ટીંગ વસ્તુઓ સ્ક્રીન, અને તેથી આગળ પર.
>> તો ચાલો હવે આ નવા ઉપયોગ શું ખરેખર શબ્દમાળાઓ સમજ
હૂડ નીચે છે, અને પાછા છાલ એક અન્ય સ્તર
કે જે હવે ત્યાં સુધી અમે કર્યું એકસાથે અવગણીને કરવામાં આવી.
ખાસ કરીને, કોઈ પણ સમયે અમે એક કાર્યક્રમ અમલમાં છે,
અમે કોડ આ વાક્ય પડ્યું ટોચ નજીક મુખ્ય જાહેર કર્યુ.
અને અમે પૂર્ણાંક મુખ્ય રદબાતલ સ્પષ્ટ કર્યું છે.
>> અને કૌંસ અંદર કે રદબાતલ આ બધા સમય કહેતા હોય છે કે મુખ્ય
પોતે કોઇ દલીલો લેવા નથી.
કોઈપણ ઇનપુટ મુખ્ય છે કે વપરાશકર્તા માંથી મળી જતા
કેટલાક અન્ય આવે છે પદ્ધતિ, જેવા વિચાર પૂર્ણાંક,
અથવા ફ્લોટ વિચાર, અથવા શબ્દમાળા મેળવવા માટે, અથવા અમુક અન્ય કાર્ય.
પરંતુ તે તારણ આપે છે કે જ્યારે તમે કાર્યક્રમ લખી,
તમે ખરેખર સ્પષ્ટ કરી શકો છો આ કાર્યક્રમ રહેશે
માનવ ઇનપુટ્સ લેવા આદેશ વાક્ય જ.
>> અન્ય શબ્દોમાં, છતાં પણ અમે આમ અત્યાર સુધી માત્ર હેલ્લો ચાલી આવી હેલો છે
અથવા સમાન કાર્યક્રમો, બધા અન્ય કાર્યક્રમો કે જે અમે ઉપયોગ કરી રહ્યો છું,
આપણે આપણી જાતને લખી ન હતી, છે લેવા આવી છે, તે લાગે છે,
આદેશ વાક્ય દલીલો મેક જેવી વસ્તુઓ.
તમે બનાવવા કંઈક કહે છે, અને પછી બીજા શબ્દ.
અથવા રણકાર, તમે રણકાર કહે છે, અને પછી બીજા શબ્દ, ફાઇલ નામ.
>> અથવા તો આરએમ અથવા સી.પી., કારણ કે તમે કદાચ અથવા જોઈ પહેલેથી ઉપયોગમાં છે
દૂર અથવા ફાઈલો નકલ કરવા.
તે બધા કહેવાતા લેવા આદેશ વાક્ય દલીલો
ટર્મિનલ પ્રોમ્પ્ટ પર વધારાના શબ્દો.
પરંતુ હવે ત્યાં સુધી, અમે જાતને થયું નથી
ઇનપુટ લેવાના આ વૈભવી વપરાશકર્તા જ્યારે તે અથવા તેણી ખરેખર ચાલે
કાર્યક્રમ પોતે આદેશ વાક્ય પર.
>> પરંતુ અમે તે દ્વારા ફરી જાહેર કરી શકો છો મુખ્ય આગળ ખસેડવાની, હોવા તરીકે
કૌંસ માં રદબાતલ, પરંતુ આ બે દલીલો
પ્રથમ પૂર્ણાંક instead--, અને બીજા કંઈક
નવા, કંઈક કે અમે કહી રહ્યા છીએ ઝાકઝમાળ, ભાવના સમાન કંઈક
શું આપણે એક યાદી તરીકે સ્ક્રેચ માં જોયું છે, પરંતુ શબ્દમાળાઓ ઝાકઝમાળ, અમે ટૂંક સમયમાં જોવા મળશે કારણ કે.
પરંતુ ચાલો આ જોવા ઉદાહરણ રીતે, આપણે પહેલા
તફાવત તે બરાબર શું થાય છે.
>> તેથી જો હું CS50 IDE જાય અહીં, હું આગળ ચાલ્યા કર્યું
અને તરીકે ઓળખાતી ફાઈલ માં જાહેર નીચેની નમૂના argv0.c.
અને માત્ર વસ્તુ નોટિસ કે અત્યાર સુધી અલગ છે
છે કે હું પૂર્ણાંક માટે રદબાતલ બદલ્યું argc શબ્દમાળા ઓપન કૌંસ argv, બંધ
કૌંસ.
અને હવે નોટિસ, ત્યાં છે તે કૌંસ ની અંદર કંઈ નથી.
>> આ બોલ પર કોઈ નંબર છે.
અને ત્યાં કોઈ હું, અથવા એન, અથવા અન્ય કોઇ પત્ર.
હું માત્ર ઉપયોગ કરું છું હવે ચોરસ કૌંસ,
કારણોસર અમે આવો પડશે પાછા માત્ર એક ક્ષણ માટે.
>> અને હવે હું શું કરવા જાઉં છું આ છે.
argc બરાબર તો બરાબર 2-- અને યાદ છે કે સમકક્ષ સમકક્ષ
સમાનતા ઓપરેટર સરખામણી છે ડાબી અને સમાનતા માટે યોગ્ય છે.
તે સોંપણી નથી ઓપરેટર છે, જે
એક સમાન સાઇન છે, કે જે નકલ અર્થ એ થાય અધિકાર કેટલાક કિંમત બાકી છે.
>> argc 2 સમકક્ષ સમકક્ષ હોય તો, હું કરવા માંગો છો કહે છે, printf, હેલ્લો, percents, નવી લાઇન,
અને પછી વાહ પ્લગ અને અહીં નવું trick-- argv કૌંસ 1, કારણો માટે
કે અમે એક ક્ષણ પાછા આવો પડશે.
બાકી જો argc નથી સમાન 2, તમે શું જાણો છો?
માત્ર આગળ વધો અને સામાન્ય, પ્રિન્ટ તરીકે, બહાર હેલો કોઈ બદલી સાથે વિશ્વ.
>> તેથી તેને લાગે છે કે જો argc, જે દલીલ ગણતરી માટે વપરાય છે, 2 સમકક્ષ હોય છે,
હું છાપે જાઉં છું હેલો કંઈક અથવા અન્ય.
નહિંતર, મૂળભૂત રીતે, હું છું હેલો છાપવા માટે વિશ્વ જઈ રહી છે.
તેથી આ શું અર્થ છે?
>> ઠીક છે, મને આગળ વધો અને સાચવવા દો આ ફાઇલ, અને પછી argv0 કરે છે,
અને પછી ./argv0, દાખલ કરો.
અને તે હેલો વર્લ્ડ કહે છે.
હવે, કે શા માટે છે?
>> વેલ, તે ગમે ત્યારે બહાર વળે તમે આદેશ વાક્ય પર એક કાર્યક્રમ ચલાવવા માટે,
તમે ભરતા હોય છે, આપણે શું કરીશું સામાન્ય રીતે એક દલીલ વેક્ટર કૉલ કરો.
અન્ય શબ્દોમાં, આપોઆપ કોમ્પ્યુટર, ઓપરેટિંગ સિસ્ટમ,
તમારા કાર્યક્રમ માટે હાથ રહ્યું છે પોતે બધા જ શબ્દો યાદી
માનવ પર લખ્યો છે કે પ્રોમ્પ્ટ પર, કિસ્સામાં તમે
પ્રોગ્રામર કરવા માંગો છો તે માહિતી સાથે કંઈક.
અને આ કિસ્સામાં, માત્ર શબ્દ હું પ્રોમ્પ્ટ પર લખ્યો છે ./argv0 છે.
>> અને તેથી દલીલો સંખ્યા છે કે મારા કાર્યક્રમને પસાર થયા છે.
અન્ય શબ્દોમાં, દલીલ ગણતરી, અન્યથા argc તરીકે ઓળખાય
અંહિ પૂર્ણાંક છે, માત્ર એક છે.
એક, અલબત્ત, સમાન બે નથી.
અને તેથી આ શું છાપે છે, હેલો વર્લ્ડ છે.
>> પરંતુ મને આ ક્યાંક લેવા દો.
મને કહો, argv0.
અને પછી કેવી રીતે મારિયા વિશે શું?
અને પછી Enter દબાવો.
>> નોટિસ શું જાદુઇ અહીં થાય છે.
હવે, તેની જગ્યાએ હેલો વિશ્વના, હું આ કાર્યક્રમ વર્તણૂક બદલી
ઇનપુટ વિચાર ન લેવા દ્વારા શબ્દમાળા અથવા અમુક અન્ય કાર્ય,
પરંતુ, દેખીતી રીતે, મારા આદેશ પોતે, હું શું મૂળ લખ્યો.
અને હું ફરીથી આ રમત રમી શકે છે તે Stelios બદલવા, દાખલા તરીકે.
>> અને હવે હું બીજું નામ હજુ પણ જુઓ.
અને અહીં, હું Andi કહી શકે છે.
અને હું Zamyla કહી શકે છે.
અને અમે આ રમત બધા દિવસ સુધી રમી શકે છે, માત્ર અલગ અલગ કિંમતો માં પ્લગ,
જેથી લાંબા સમય સુધી હું બરાબર પૂરી પાડે છે કારણ કે પ્રોમ્પ્ટ પર બે શબ્દો,
જેમ કે argc, મારા દલીલ ગણતરી, 2 છે.
>> હું જોઈ નથી કે નામ જોડવામાં printf માટે, આ સ્થિતિ અહીં પ્રતિ?
તેથી અમે હવે હોય એવું લાગે છે અર્થસભર ક્ષમતા
અન્ય પદ્ધતિ ઇનપુટ લેવાના, કહેવાતા આદેશ વાક્યમાંથી,
તેના બદલે રાહ કર્યા કરતાં ત્યાં સુધી વપરાશકર્તા કાર્યક્રમ ચાલે છે,
અને પછી તેને અથવા તેણીને પૂછવા ગેટ શબ્દમાળા કંઈક મદદથી.
>> તેથી આ શું છે?
Argc, ફરી, માત્ર એક પૂર્ણાંક છે, words-- દલીલો સંખ્યા
કે પૂરી પાડવામાં વપરાશકર્તા પ્રોમ્પ્ટ પર, ટર્મિનલ વિન્ડો પર,
કાર્યક્રમ નામ સમાવેશ થાય છે.
તેથી અમારા ./argv0, અસરકારક છે, કાર્યક્રમ નામ,
કે કેવી રીતે હું કાર્યક્રમ ચાલે છે.
>> એક શબ્દ તરીકે ગણે છે.
તેથી argc 1 હશે.
પરંતુ જ્યારે હું Stelios લખો, અથવા Andi, અથવા Zamyla, અથવા મારિયા,
તેનો અર્થ એ કે દલીલ ગણક બે છે.
અને તેથી હવે ત્યાં પસાર બે શબ્દો છે.
>> સૂચના, અમે આ તર્ક ચાલુ રાખી શકો છો.
જો હું ખરેખર કહેવું ચાન કંઈક,
સંપૂર્ણ નામ, ત્યાં પસાર કુલ ત્રણ દલીલો,
હવે તે મૂળભૂત ફરીથી કહે છે, કારણ કે, અલબત્ત, 3 સમાન 2 કરે છે.
>> અને તેથી આ રીતે, હું હોય argv આ નવી દલીલ દ્વારા એક્સેસ
કે અમે તકનીકી શકે અમે માંગો કંઈપણ કૉલ કરો.
પરંતુ સંમેલન દ્વારા, તે argv અને argc, અનુક્રમે.
Argv, દલીલ વેક્ટર, પ્રકારની છે એક પ્રોગ્રામિંગ સમાનાર્થી ના
સી લક્ષણ ઝાકઝમાળ કહેવાય છે.
>> ઝાકઝમાળ સમાન કિંમતો યાદી છે પાછળ, પાછળ, પાછળ પાછળ.
બીજા શબ્દોમાં કહીએ તો, જો એક અહીં છે રેમ, આગામી એક અધિકાર આગામી છે,
અને તે અધિકાર આગામી.
તેઓ સ્થળ પર તમામ નથી.
અને બાદમાં દૃશ્ય, જ્યાં વસ્તુઓ બધા મેમરી માં સ્થળ પર છે,
ખરેખર એક શક્તિશાળી લક્ષણ હોઈ શકે છે.
પરંતુ અમે જ્યારે અમે તે પાછા આવો પડશે પારખુ માહિતી માળખાં વિશે વાત કરો.
હવે માટે, ઝાકઝમાળ માત્ર એક છે સંલગ્ન મેમરી ચંકને
દરેક જેની તત્વો છે પાછા પાછળ પાછળ પાછળ,
અને સામાન્ય રીતે એક જ પ્રકારના.
>> તેથી જો તમે વિશે વિચારો તો એક થી, ક્ષણ પહેલા, એક શબ્દમાળા શું છે?
વેલ, એક શબ્દમાળા Zamyla જેમ, Z-A-એમ-વાય-એલ-એ, ટેક્નિકલ, છે,
માત્ર એક એરે.
તે અક્ષરો ઝાકઝમાળ છે.
>> અને તેથી જો આપણે ખરેખર આ ડ્રો તરીકે હું , મેમરી એક ભાગ તરીકે, અગાઉ કર્યું
તે આ દરેક બહાર વળે અક્ષરો એક બાઈટ લે છે.
અને પછી ત્યાં છે કે જે ખાસ સંત્રી પાત્ર, બેકસ્લેશ 0,
અથવા બધા આઠ 0 બિટ્સ, કે કે જેઓ શબ્દમાળા ઓવરને demarcates.
તેથી શબ્દમાળા, તે કરે છે બહાર, અવતરણ ચિહ્નો પૂરાં કરવાં શબ્દમાળા ઉદ્ધત,
માત્ર chara-- ઝાકઝમાળ છે ઘરનાં પરચૂરણ કામો એક વાસ્તવિક માહિતી પ્રકાર છે.
>> અને હવે argv, meanwhile-- પાછા કાર્યક્રમ જવા દો.
Argv, તેમ છતાં અમે શબ્દ જુઓ શબ્દમાળા અહીં, એક શબ્દમાળા પોતે નથી.
Argv, દલીલ વેક્ટર, શબ્દમાળાઓ ઝાકઝમાળ છે.
>> તમે ઝાકઝમાળ હોઈ શકે છે જેમ અક્ષરો, તમે ઊંચા સ્તર હોઈ શકે છે,
strings-- ઝાકઝમાળ તેથી, ઉદાહરણ તરીકે, જ્યારે હું એક ક્ષણ પહેલા લખ્યો ./argv0
argv0, જગ્યા Z-A-એમ-વાય-એલ-એ, હું દાવો કર્યો હતો કે argv, તેને ./argv0 બે શબ્દમાળાઓ હતી
અને Z એ એમ વાય એલ એ. માં અન્ય શબ્દોમાં, argc 2 હતી.
શા માટે છે?
>> વેલ, અસરકારક રીતે, શું થઈ રહ્યું છે પર છે આ શબ્દમાળાઓ દરેક કે
અલબત્ત, અક્ષરો ઝાકઝમાળ છે પહેલાં, જેની દરેક અક્ષરો
એક બાઇટ અપ લે છે.
અને વાસ્તવિક 0 ગૂંચવવામાં ન શકું 0 કાર્યક્રમ નામ,
જે તમામ 80 બીટ્સ થાય છે.
અને Zamyla દરમિયાન, હજુ પણ છે પણ અક્ષરો ઝાકઝમાળ.
>> દિવસ ઓવરને અંતે તેથી, તે ખરેખર હૂડ નીચે આ જેવો દેખાય છે.
પરંતુ કેવી રીતે મુખ્ય argv, કુદરત દ્વારા કામ કરે છે, મને આ બધી લપેટી માટે પરવાનગી આપે છે
જો તમે કરશે, એક મોટી એરે માં કે, જો અમે સહેજ ઉપર સરળ
ચિત્ર જેવી અને નથી શું લાગે તદ્દન ત્યાં આરોહણ કરવા માટે તે ડ્રો,
આ એરે, પ્રથમ માત્ર 2 કદ છે તત્વ એક શબ્દમાળા સમાવે છે,
બીજા તત્વ જે શબ્દમાળા સમાવે છે.
અને, બદલામાં, તમે જો પ્રકારની દરેક પર ઝૂમ
તે શબ્દમાળાઓ, શું તમે હૂડ નીચે જોવા
કે દરેક શબ્દમાળા માત્ર છે અક્ષરો ઝાકઝમાળ.
>> હવે, માત્ર શબ્દમાળાઓ સાથે, અમે ઍક્સેસ મેળવવા માટે સમર્થ હતા
એક શબ્દમાળા માં આઇ મી અક્ષર કે ચોરસ કૌંસ સંકેતલિપિ ની મદદથી.
એ જ રીતે, એરે સાથે સામાન્ય રીતે, અમે કરી શકો છો
ચોરસ કૌંસ નોટેશનમાં ઉપયોગ વિચાર ઝાકઝમાળ શબ્દમાળાઓ કોઈપણ નંબર પર?
દાખલા તરીકે, મને દો આગળ વધો અને આ કરવા.
>> મને આગળ વધો અને argv1.c બનાવીએ, જે થોડી અલગ આ સમય છે.
તેના બદલે argc2 માટે ચકાસણી, હું બદલે આ કરવા માટે જઇ રહ્યો છું.
પૂર્ણાંક હું 0 વિચાર માટે, હું ઓછી છે argc કરતાં, હું વત્તા વત્તા,
અને પછી આ ની અંદર બહાર છાપો, ટકા ઓ, નવી લાઇન, અને પછી
argv કૌંસ હું.
>> તેથી અન્ય શબ્દોમાં, હું સાથે વ્યવહાર છું ક્ષણ પર વ્યક્તિગત અક્ષરો.
Argv, કારણ કે આ ખાલી સ્ક્વેર દ્વારા સૂચિત નામ argv જમણી કૌંસ,
argv શબ્દમાળાઓ ઝાકઝમાળ છે એનો અર્થ એ થાય.
અને argc માત્ર પૂર્ણાંક છે.
>> અહીં આ વાક્ય, 6, છે સમૂહ કહે છે કે હું 0 સમાન.
બધી રીતે ગણક, પરંતુ argc સમાવેશ થાય છે.
અને પછી દરેક ઇટરેશન પર, શબ્દમાળા છાપી શકે છે.
શું શબ્દમાળા?
>> argv આઇ મી શબ્દમાળા.
તેથી જ્યારે તે પહેલાં હું હતી ચોરસ કૌંસ મદદથી
સંકેત ઇથ પર વિચાર એક શબ્દમાળા માં પાત્ર, હવે
હું ચોરસ કૌંસ નોટેશનમાં ઉપયોગ કરું છું ઝાકઝમાળ ઇથ શબ્દમાળા મેળવવા માટે.
તેથી તે એક સ્તર પ્રકારની છે ઉપર, સરળ.
>> અને તેથી આ વિશે સુઘડ છે હવે કાર્યક્રમ, જો હું argv1 કમ્પાઇલ,
અને પછી ./argv1 કરવા માટે, અને પછી લખો foo બાર બાઝ કંઈક,
જે ત્રણ મૂળભૂત શબ્દો છે કે જે છે કોમ્પ્યુટર વૈજ્ઞાનિક કોઈપણ સમયે માટે પહોંચે છે
તે અથવા તેણી કેટલીક પ્લેસહોલ્ડર શબ્દો જરૂર છે, અને Enter દબાવો, તે શબ્દો દરેક
કાર્યક્રમ નામ, સહિત જે પ્રથમ સ્થાન પર argv છે,
અંત થાય છે એક સમયે એક મુદ્રિત કરવામાં આવી.
અને જો હું આ બદલવા માટે, અને હું કહી argv1 ચાન કંઈક,
અમે તે બધા ત્રણ વિચાર શબ્દો છે, જે argv0 છે,
argv1, argv2, આ કારણ કે કેસ argc, ગણતરી, 3 છે.
>> પરંતુ શું સુઘડ છે જો તમે સમજો કે argv, માત્ર શબ્દમાળાઓ ઝાકઝમાળ છે
અને તમે એક શબ્દમાળા કે સમજવા અક્ષરો ઝાકઝમાળ છે,
અમે ખરેખર પ્રકારની ઉપયોગ કરી શકો છો ચોરસ કૌંસ નોટેશનમાં ઘણી વખત
શબ્દમાળા પસંદ કરો, અને પછી પસંદ કરો શબ્દમાળા અંદર એક પાત્ર,
નીચે ઊંડા તરીકે ડ્રાઇવીંગ.
આ ઉદાહરણમાં, મને જવા દો આગળ અને આ argv2.c કૉલ કરો.
અને આ ઉદાહરણ માં, દો મને આગળ વધો અને પૂર્ણાંક હું 0 વિચાર નીચેના કરવું,
હું argc કરતાં ઓછી છે, હું વત્તા પ્લસ, પહેલાંની જેમ.
તેથી અન્ય words-- અને હવે આ પૂરતી જટિલ રહ્યો છે.
પછી હું કહેવા જાઉં છું argv શબ્દમાળાઓ પર ફરી વળવું,
મને પોતાને એક ટિપ્પણી તરીકે.
અને પછી હું એક હોય જાઉં છું લૂપ માટે નેસ્ટ, તો તમે કદાચ જે
થાય છે, અથવા ગણવામાં જ્યાં કરી સ્ક્રેચ માં,
હું કહે છે ઈન્ હું જાઉં છું હું ફરીથી ઉપયોગ કરવા માટે નથી જતા,
કારણ કે હું છાયા કરવા માંગો છો નથી, અથવા સૉર્ટ વર્તમાન હું ફરીથી લખી.
>> હું, તેના બદલે, જે કહે છે જઇ રહ્યો છું, કારણ કે કે હું પછી ચલ મારા જાઓ,
જ્યારે હું માત્ર પ્રયાસ કરી રહ્યો છું સરળ નંબરો ગણક.
J મળે 0 છે અને એ પણ, એ, રહ્યું છે , Argv કૌંસ હું કડક લંબાઈ વિચાર
તેથી લાંબા તરીકે જ એમ કરતાં ઓછી છે, J વત્તા વત્તા, નીચે પ્રમાણે કરો.
અને અહીં રસપ્રદ ભાગ છે.
>> એક અક્ષર અને એક નવી લાઇન છાપો, argv કૌંસ હું, કૌંસ જે માં પ્લગ.
ઠીક છે, તેથી મને અહીં કેટલાક ટિપ્પણીઓ ઉમેરો.
અક્ષરો પર ફરી વળવું વર્તમાન શબ્દમાળા માં,
આઇ મી શબ્દમાળા માં પ્રિન્ટ J મી પાત્ર.
તેથી હવે, ચાલો આ ટિપ્પણીઓને શું અર્થ થાય.
>> શબ્દમાળાઓ પર ફરી વળવું argv-- કેટલા
શબ્દમાળાઓ argv છે, કે જે એરે છે?
Argc ઘણા છે, તેથી હું વારો છું હું સમાન 0 argc સુધી.
દરમિયાન, કેટલા અક્ષરો argv આઇ મી શબ્દમાળા છે?
>> ઠીક છે, કે જવાબ મેળવવા માટે, હું માત્ર શબ્દમાળા લંબાઈ કૉલ
વર્તમાન શબ્દમાળા હું સંભાળ વિશે, જે argv કૌંસ હું છે.
અને હું કામચલાઉ સંગ્રહ કરવા માટે કે જઇ રહ્યો છું કિંમત n એ, માત્ર કેશીંગ હેતુઓ માટે,
કાર્યક્ષમતા માટે તેને યાદ છે.
અને પછી હું 0 જોહાન પ્રારંભ જાઉં છું, જેથી લાંબા રહ્યું j તરીકે એન કરતા ઓછો રાખવા,
અને દરેક ઇટરેશન ઈજાફો જોહાન પર.
>> અને પછી અહીં, દર 12 લીટી પર મારી ટિપ્પણી,
એક અક્ષર છાપો, એક નવી લાઇન દ્વારા અનુસરવામાં,
ખાસ argv કૌંસ હું મને આઇ મી શબ્દમાળા આપે છે
argv-- તેથી પ્રથમ શબ્દ છે, બીજા શબ્દ, ત્રીજા શબ્દ, ગમે.
અને પછી ઊંડા જોહાન થીજેલા, અને નહીં મને કે શબ્દ J મી પાત્ર.
અને તેથી, અસર, તમે સારવાર કરી શકે છે argv બહુ આયામી તરીકે,
બે પરિમાણીય એરે તરીકે, જેમાં દેખાવ દરેક શબ્દ પ્રકારની
તમારા મન માં આ જેમ આંખ, અને દરેક પાત્ર
પ્રકારની માં બનેલો છે એક કૉલમ, જો કે મદદ કરે છે.
>> વાસ્તવમાં, અમે જ્યારે પીંજવું ભવિષ્યમાં અઠવાડિયામાં આ સિવાય,
તે થોડી હોઈ ચાલે છે કરતાં વધુ આધુનિક.
પરંતુ તમે ખરેખર આ કરી શકો છો કે લાગે છે, હવે માટે,
ફક્ત આ બે પરિમાણીય તરીકે અરે, જેમાં તે એક સ્તર
શબ્દમાળાઓ તમામ છે.
અને પછી તમે ઊંડા, તમે ડાઇવ જો વ્યક્તિગત અક્ષરો પર વિચાર કરી શકે
અહીં આ સંકેતલિપિ ની મદદથી દ્વારા તેમાં.
>> તેથી આ પ્રક્રિયાની ચોખ્ખી અસર શું છે?
મને આગળ જવા દો અને argv2-- રફૂ કરવું તે બનાવે છે.
હું એક ભૂલ અહીં કરી હતી.
સર્વથા જાહેર પુસ્તકાલય કાર્ય સ્ટર્લિંગ.
તેથી આ બધા સમય, તે કદાચ યોગ્ય
અમે પ્રકારના અંતિમ રહ્યાં છે કે બરાબર જ્યાં અમે શરૂ કર્યું.
>> હું ખરાબ છે, સર્વથા જાહેર પુસ્તકાલય કાર્ય સ્ટર્લિંગ.
ઠીક છે, એક મિનિટ રાહ જુઓ.
હું યાદ રાખો કે, ખાસ કરીને કારણ કે તે અહીં છે.
હું string.h સમાવેશ કરવાની જરૂર કાર્યક્રમ આ આવૃત્તિ.
>> મને આગળ વધો અને સમાવેશ થાય છે દો string.h, કે સેવ, આગળ વધો
અને argv2 પુનઃકમ્પાઈલ.
અને હવે, અહીં અમે જાઓ, argv2 બનાવવા માટે, દાખલ કરો.
અને તેમ છતાં તે થોડો છે પ્રથમ નજરમાં ભેદી,
નોંધ્યું છે કે, ખરેખર, શું છપાયેલી હોય છે ટપકું argv2 છે.
>> પરંતુ જો હું પછી કેટલાક શબ્દો લખો પ્રોમ્પ્ટ પર, argv2 ચાન જેમ,
દાખલ કરો, પણ થોડી પ્રથમ નજરમાં છુપાયેલું.
પરંતુ જો આપણે પાછા સ્ક્રોલ, ./argv2 Z-A-એમ-વાય-એલ સી એચ-A-એન.
તેથી અમે દરેક શબ્દ પર iterated છે.
અને, વળાંક, અમે ઉપર iterated છે એક શબ્દ અંદર દરેક પાત્ર.
>> હવે, આ તમામ કર્યા પછી, ખ્યાલ છે કે ત્યાં
એક અન્ય વિગત અમે પ્રકારની કરવામાં આવી છે આ સમગ્ર સમય ઉપેક્ષા કરે છે.
અમે હમણાં જ સિવાય પરેશાન કરતું શું મુખ્ય ઇનપુટ્સ હોઈ શકે છે?
શું મુખ્ય આઉટપુટ વિશે શું?
>> આ સમયે બધા, અમે થયા છો માત્ર કૉપિ અને પેસ્ટ
મુખ્ય સામે શબ્દ પૂર્ણાંક, તમે ઑનલાઇન જોઈ શકો છો તેમ છતાં,
ક્યારેક જૂની આવૃત્તિઓ માં ખોટી રીતે સી અને કમ્પાઇલરોનો, તેઓ રદબાતલ કહે છે કે,
અથવા બધા કંઈ નથી.
પરંતુ, ખરેખર, આવૃત્તિ માટે સી અમે ઉપયોગ કરી રહ્યાં છો કે,
સી 11, અથવા 2011, ખ્યાલ કે તે પૂર્ણાંક પ્રયત્ન કરીશું.
અને તે ક્યાં તો પ્રયત્ન કરીશું રદબાતલ અથવા argc અને અહીં argv.
>> પરંતુ શા માટે પૂર્ણાંક મુખ્ય?
તે ખરેખર શું પરત આવે છે?
વેલ, તે આ સમયે બધા બહાર વળે છે, કોઈપણ સમયે તમે એક કાર્યક્રમ મુખ્ય તેવા પરચૂરણ ખર્ચ કર્યો
હંમેશા કંઈક પરત આવે છે.
પરંતુ તે ગુપ્ત કરી દેવામાં આવી છે.
>> એક કે કંઈક છે પૂર્ણાંક, રેખા તરીકે 5 સૂચવે છે.
પરંતુ શું પૂર્ણાંક?
વેલ, આ છે પ્રોગ્રામિંગ સંમેલન,
જેમાં જો કંઈ નથી ખોટું ગયો અને બધા સારી છે,
કાર્યક્રમો અને કાર્યો સામાન્ય return-- અંશે counterintuitively--
0.
0 સામાન્ય રીતે તમામ સારી છે દર્શાવે છે.
તેથી ભલે તમે વિચાર તે ઘણા બધા સંદર્ભમાં ખોટી,
ખરેખર તો સામાન્યતઃ તે એક સારી બાબત અર્થ એ થાય
>> દરમિયાન, જો કાર્યક્રમ આપે છે 1, નકારાત્મક 1, અથવા 5, અથવા નકારાત્મક 42,
અથવા કોઈપણ બિન કિંમત 0, જે સામાન્ય રીતે નોંધે
કે કંઈક ખોટું થયું છે.
હકીકતમાં, તમારા પોતાના મેક કે પીસી પર, તમે ખરેખર જોઈ હોય શકે
ભૂલ સંદેશો છે, જેમાં તે કંઈક કહે છે અથવા અન્ય, ભૂલ
કોડ નકારાત્મક 42, અથવા ભૂલ કોડ 23, અથવા કંઈક કે જેમ.
કે જે નંબર સામાન્ય રીતે માત્ર એક સંકેત છે પ્રોગ્રામર, અથવા કંપની માટે
કે સોફ્ટવેર, શું ખોટું છે અને શા માટે ગયા
જેથી તેઓ મારફતે જોવા કરી શકો છો તેમના દસ્તાવેજો અથવા કોડ છે,
અને બહાર આકૃતિ શું ભૂલ ખરેખર થાય છે.
તે સામાન્ય રીતે નથી અમને ઉપયોગી વપરાશકર્તાઓ અંત.
>> પરંતુ મુખ્ય વળતર 0, બધા સારી છે જ્યારે.
અને જો તમે સ્પષ્ટ કરો નહિં મુખ્ય પાછા જોઈએ શું
તે માત્ર આપોઆપ ચાલશે તમે 0 પરત.
પરંતુ કંઈક પરત બીજું ખરેખર ઉપયોગી છે.
>> આ અંતિમ કાર્યક્રમ માં, મને દો આગળ વધો અને આ exit.c કૉલ,
અને આજે છેલ્લા દાખલ વિષયો, ભૂલ કોડ તરીકે ઓળખાય છે.
મને આગળ વધો અને સમાવેશ થાય છે એ આપણી પરિચિત ફાઈલો ટોચ, પૂર્ણાંક મુખ્ય નથી.
અને આ સમય, ચાલો પૂર્ણાંક argc કરવા દો શબ્દમાળા argv, અને મારા કૌંસ સાથે
સૂચિત કરે છે કે તે એરે માં છે.
અને પછી મને માત્ર એક સેનીટી ચેક કરવા દો.
આ સમય, જો argc નથી સમાન 2, પછી તમે શું જાણો છો?
તે ભૂલી જાવ.
હું કહે છે કે જાઉં છું, અરે, વપરાશકર્તા, તમે આદેશ વાક્ય દલીલ ખૂટે છે
બેકસ્લેશ n એ.
>> અને પછી તે છે.
હું બહાર નીકળવા માંગો છો.
હું preemptively કરવા જઈ રહ્યો છું, અને અકાળે ખરેખર વળતર
કંઈક નંબર 1 કરતાં અન્ય.
પ્રથમ કિંમત પર જાઓ ભૂલ થઇ શકે છે કે 1 છે.
તમે કેટલાક અન્ય ભૂલભરેલા હોય તો પરિસ્થિતિ કે જે ઉદ્દભવી શકે છે,
તમે વળતર 2 કહે છે કે 3 પાછા શકે છે, અથવા કદાચ નકારાત્મક 1 અથવા નકારાત્મક 2.
>> આ માત્ર બહાર નીકળો કોડ છે છે, સામાન્ય રીતે,
માત્ર પ્રોગ્રામર માટે ઉપયોગી છે, અથવા કંપની કે સોફ્ટવેર શીપીંગ છે.
પરંતુ હકીકત એ છે કે તે છે 0 નથી શું મહત્વનું છે.
તેથી આ કાર્યક્રમ તો, હું કરવા માંગો છો ખાતરી આપી છે કે આ કાર્યક્રમ માત્ર
કામ કરે છે જો વપરાશકર્તા મને પૂરી પાડે છે બે એક દલીલ ગણતરી સાથે,
કાર્યક્રમ નામ છે, અને કેટલાક અન્ય શબ્દ, હું નીચે તેટલી દબાણ કરી શકો છો,
printf કહેવત સાથે વપરાશકર્તા અંતે કિકિયારી, ગુમ આદેશ વાક્ય દલીલ,
1 આવો.
કે જે હમણાં જ તરત જ ચાલશે કાર્યક્રમ છોડી દીધું.
>> માત્ર જો argc બરાબર 2 અમે નીચે મળશે અહીં, જે બિંદુએ હું કહેવા જાઉં છું,
હેલો ટકા ઓ, બેકસ્લેશ n એ, argv1.
અન્ય શબ્દોમાં, હું છું argv 0 પછી ન જવું,
જે ફક્ત કાર્યક્રમ નામ છે.
હું છાપે હેલો, અલ્પવિરામ માંગો છો, બીજા શબ્દ હોય કે જેને માનવ લખ્યો.
અને આ કિસ્સામાં રેખા 13, બધા સારી છે.
>> મને ખબર છે કે argc 2 છે તાર્કિક આ કાર્યક્રમ.
હું આગળ જાઓ અને 0 પાછા જઈ રહ્યો છું.
એક કોરે તરીકે, ધ્યાનમાં રાખો કે આ જ રીતે સ્ક્રેચ માં સાચું છે.
>> તાર્કિક રીતે, હું આ કરી શકે અને આ રેખાઓ સમાવતા
આ બીજા અહીં કલમ કોડ.
પરંતુ તે પ્રકારની છે બિનજરૂરી મારી કોડ માંગયાદી.
અને હું સુપર બનાવવા માંગો છો સ્પષ્ટ છે કે કોઈ બાબત શું,
મૂળભૂત રીતે, હેલો કંઈક મુદ્રિત કરવામાં આવશે,
જેથી લાંબા વપરાશકર્તા સહકાર છે.
>> તેથી તે વાપરવા માટે ખૂબ જ સામાન્ય છે એક શરત છે, માત્ર એક તો,
કેટલાક ભૂલભરેલા પકડી પરિસ્થિતિ, અને પછી બહાર નીકળો.
અને પછી, જેથી લાંબા બધા છે વેલ, એક બીજા નથી,
પરંતુ માત્ર કોડ છે કે બહાર, તો તે છે, કારણ કે
આ સમકક્ષ ખાસ કિસ્સામાં, તાર્કિક.
તેથી હું 0 પરત કરું છું, માત્ર બાહ્ય અર્થ બધા સારી છે.
>> જો હું વળતર 0 અવગણવામાં, તે કરશે આપોઆપ મારા માટે ધારણ કરવામાં આવે છે.
પરંતુ હવે હું પરત છું ઓછામાં ઓછા આ કિસ્સામાં એક
હું જાઉં છું, સારા પગલા માટે અને સ્પષ્ટતા, આ કિસ્સામાં 0 આવો.
તેથી હવે દો મને આગળ વધો અને બહાર નીકળો બનાવવા દો, જે સંપૂર્ણ જીતે માત્ર છોડી છે.
>> પરંતુ બહાર નીકળો બનાવે છે, અને મને જવા દો આગળ અને ./exit કરવા માટે, દાખલ કરો.
અને કાર્યક્રમ મને અંતે yelled, ગુમ આદેશ વાક્ય દલીલ.
ઠીક છે, મને સહકાર દો.
>> દો મને બદલે ./exit કરવા, ડેવિડ, દાખલ કરો.
અને હવે તે કહે છે, ડેવિડ હેલો.
અને તમે સામાન્ય રીતે આ ન જોઈ શકે છે.
>> પરંતુ તે તારણ છે કે એક છે કે Linux માં ખાસ રીતે ખરેખર જોવા માટે
શું બહાર નીકળો કોડ સાથે એક કાર્યક્રમ બહાર.
ગ્રાફિકલ ક્યારેક મેક ઓએસ અથવા Windows જેવા વિશ્વના,
તમે માત્ર આ નંબરો જ્યારે જોવા ભૂલ સંદેશો સ્ક્રીન પર પૉપ અપ
અને પ્રોગ્રામર તમે તે સંખ્યા બતાવે છે.
પરંતુ અમે શું ભૂલ જોવા માંગો છો, તો સંદેશ છે, અમે તેને અહીં કરી શકો છો
જેથી ./exit, દાખલ કરો, પ્રિન્ટ ગુમ આદેશ વાક્ય દલીલ.
>> હવે હું પડઘો $ ?, શું છે, તો જે છે હાસ્યજનક રીતે ભેદી શોધી.
પરંતુ $?
જાદુઈ મંત્ર છે કહે છે કે, અરે, કોમ્પ્યુટર,
મને કહો અગાઉના કાર્યક્રમ બહાર નીકળો કોડ હતો.
અને હું Enter દબાવો.
હું 1 જુઓ, કે જે છે, કારણ કે હું શું પાછા મારી મુખ્ય કાર્ય હતું.
>> દરમિયાન, જો હું ./exit ડેવિડ કરવા માટે, અને હિટ દાખલ કરો, હું જુઓ, ડેવિડ હેલો.
અને જો હું હવે પડઘો $ કરવા ?, હું હેલ્લો 0 જુઓ.
અને તેથી આ ખરેખર ચાલશે મૂલ્યવાન માહિતી બની શકે
ડીબગર સંદર્ભમાં, તેથી નથી જ કે તમે, માનવ, કાળજી કરશે.
પરંતુ ડીબગર અને અન્ય કાર્યક્રમો અમે આ સત્ર ઉપયોગ કરશો
ઘણીવાર તે નંબર પર જોવા મળશે, છતાં પણ તે પ્રકારના દૂર છુપાયેલા છે
જ્યાં સુધી તમે તે માટે, જોવા માટે નક્કી કરો કે શું નથી અથવા કાર્યક્રમ
અમલ યોગ્ય અથવા અયોગ્ય હતી.
>> અને જેથી અમને લાવે આ દિવસ ઓવરને અંતે.
અમે જોઈ દ્વારા આજે પ્રારંભ ડિબગીંગ, અને કોર્સ ખાતે વળાંક
પોતે, અને પછી વધુ રસપ્રદ વાત એ છે તકનીકી હૂડ નીચે
શું શબ્દમાળાઓ છે, જે ગયા સપ્તાહ અમે માત્ર મંજૂર લીધો,
અને ચોક્કસપણે તેમને લીધો માટે સ્ક્રેચ માં આપી હતી.
>> અમે પછી અમે કેવી રીતે ઍક્સેસ કરી શકો છો પર જોવામાં એક શબ્દમાળા માં વ્યક્તિગત અક્ષરો,
અને પછી ફરીથી એક ઉચ્ચ સ્તર લીધો , વસ્તુઓ જોવા પરિચિત હોઈ શકે છે કેવી રીતે જોઈ
અમે વ્યક્તિગત પર વિચાર કરવા માંગો છો, તો જેવું માળખું યાદીમાં તત્વો,
અમે કે જે ઘણાબધા શબ્દમાળાઓ સાથે ન કરી શકો?
અને અમે આદેશ વાક્ય દલીલો સાથે કરી શકો છો.
પરંતુ આ ચિત્ર માત્ર બોક્સ અહીં આ સામાન્ય વિચાર પ્રતિપાદક છે
ઝાકઝમાળ, અથવા એક યાદી છે, અથવા એક વેક્ટર.
અને પર આધાર રાખીને સંદર્ભ, આ બધા જ શબ્દો
સહેજ અલગ વસ્તુઓ થાય છે.
તેથી સી, ​​અમે માત્ર જઈ રહ્યાં છો એક એરે વિશે વાત કરવા માટે.
અને ઝાકઝમાળ એક ભાગ છે મેમરી, જેમાંથી દરેક છે
તત્વો, સંલગ્ન છે પાછા, પાછળ, પાછળ પાછળ.
>> અને તે તત્વો છે, સામાન્ય રીતે, જ માહિતી પ્રકાર, પાત્ર,
પાત્ર, પાત્ર, અક્ષર, અથવા શબ્દમાળા શબ્દમાળા શબ્દમાળા શબ્દમાળા, અથવા પૂર્ણાંક,
પૂર્ણાંક, પૂર્ણાંક, ગમે તે હોય અમે સ્ટોર કરવાનો પ્રયાસ કરી રહ્યાં છો.
પરંતુ દિવસ ઓવરને અંતે, આ છે તે શું કલ્પનાત્મક જેવો દેખાય છે.
તમે લઈ રહ્યા છો તમારા કમ્પ્યુટરની મેમરી અથવા રેમ.
અને તમે તેને બહાર કોતરકામ કરી રહ્યાં છો સરખું કદના બોક્સ, જે તમામ
પાછળ છે, પાછળ, પાછા, આ રીતે પાછા.
>> અને શું સારું છે આ વિચાર, અને હકીકત એ છે
અમે આ રીતે કિંમતો વ્યક્ત કરી શકો છો કે અમારી માહિતી માળખાં પ્રથમ સાથે
વર્ગ માં, અમે શરૂ કરી શકો છો કોડ સાથે સમસ્યાઓ ઉકેલવા માટે
કે 0 સપ્તાહમાં જેથી તર્ક આવ્યા હતા.
તમે ફોન યાદ પડશે પુસ્તક ઉદાહરણ તરીકે,
અમે વિભાજન વપરાય છે અને જીતી, અથવા દ્વિસંગી શોધ અલ્ગોરિધમનો,
સમગ્ર દ્વારા સત્ય હકીકત તારવવી નામો અને નંબરો સમૂહ.
પરંતુ અમે ધારી, સ્મૃતિ, કે ફોન પુસ્તક પહેલાથી જ છટણી કરવામાં આવી હતી
કોઈના પહેલેથી જ હતી કે out-- નામો ની યાદી આપવામાં figured
અને નંબરોની તેમને alphabetize કેવી રીતે.
અને હવે સી અમે પણ, ક્ષમતા હોય છે
વસ્તુઓ બહાર મૂકે છે, નથી શારીરિક ફોન પુસ્તક
પરંતુ વાસ્તવમાં કમ્પ્યુટર માં મેમરી, અમે સક્ષમ આગામી સપ્તાહ હશે
પ્રથમ છે આ ફરી દાખલ કરવા માટે એક એરે અમારી માહિતી માળખાં
પરંતુ વધુ મહત્ત્વની, વાસ્તવિક કમ્પ્યુટર વિજ્ઞાન ગાણિતીક નિયમો અમલમાં
કોડ માં, જેની સાથે આપણે સ્ટોર કરી શકો છો આ જેમ માળખાં માહિતી,
અને પછી તેને ચાલાકી શરૂ કરવા માટે, અને ખરેખર તેની સાથે સમસ્યાઓ ઉકેલવા માટે,
અને તે ટોચ પર બિલ્ડ કરવા માટે, આખરે, સી કાર્યક્રમો,
Python માં, જાવાસ્ક્રિપ્ટ, એસક્યુએલ સાથે ડેટાબેઝ પ્રશ્ન?
>> અને અમે આ બધા જોશો અલગ અલગ વિચારો એકસાથે બાંધવું.
પરંતુ હવે માટે, કે યાદ ડોમેન કે અમે આજે રજૂ
આ વસ્તુ અહીં હતો, અને ક્રિપ્ટોગ્રાફી વિશ્વ.
અને તમે તમારી જાતને આગામી સમસ્યાઓ વચ્ચે હલ થશે ક્રિપ્ટોગ્રાફી કળા છે,
મૂંઝાયેલું અને દ-મૂંઝાયેલું માહિતી અને સંકેત
અને લખાણ અર્થ, અને છેવટે એમ ધારી રહ્યા છીએ
તમે હવે ખબર છે કે શું હૂડ નીચે છે
જેથી જ્યારે તમે જુઓ કે પ્રાપ્ત આ જેમ એક સંદેશ, તમે
તે જાતે પદ્ધતિને ડિસાયફર કરવું શકો છો.
આ બધા અને વધુ આગામી સમય.
>> [વિડિઓ પ્લેબેક]
>> -Mover માત્ર પહોંચ્યા.
હું મુલાકાત જવા માટે જઇ રહ્યો છું તેના કોલેજના પ્રોફેસર.
હા.
હાય.
તે તમે જ છો.
રાહ જુઓ!
ડેવિડ.
હું માત્ર આકૃતિ કરવાનો પ્રયાસ કરી રહ્યો છું શું થયું બહાર.
કૃપા કરીને, ખાવા મદદ કરી શકે છે.
તમે તેના કોલેજ હતા રૂમમેટ, તમે ન હતા?
તમે તેને જ્યારે ત્યાં હતા તેમણે CS50 પ્રોજેક્ટ સમાપ્ત?
>> [સંગીત વગાડવાનો]
>> એટલે CS50 હતી.
>> હું આ જગ્યા પ્રેમ.
>> -ખાઓ.
અમે બિઝનેસ બહાર જઈ રહ્યાં છો.
>> [સમાપ્ત પ્લેબેક]