[સંગીત વગાડવાનો] ડેવિડ જે MALAN: બધા અધિકાર. આ CS50 છે, અને આ સપ્તાહ બે ની શરૂઆત છે. તો ચાલો ભૂલ સાથે આજે શરૂ કરીએ. ભૂલ, અલબત્ત, એક એક કાર્યક્રમ માં ભૂલ, અને તમે ખૂબ જ મળશે આ ખ્યાલ સાથે પરિચિત તમે પ્રોગ્રામ ન હોય તો પહેલાં. pset0 અને હવે pset1. પરંતુ કંઈક વિચાર કરીએ પ્રથમ થોડો સરળ. હું અહીં આ કાર્યક્રમ અગાઉથી સાથે પથ્થરમારો અને હું આ છાપો જોઈએ કે દાવો Printf મદદથી સ્ક્રીન પર 10 તારાઓ, પરંતુ તે દેખીતી રીતે અમુક રીતે બગડેલ છે. કે સ્પષ્ટીકરણ આપેલ છે તે 10 તારાઓ છાપો જોઈએ, પરંતુ તે દેખીતી રીતે નથી, શું આ ભૂલ તમે દાવો કરશે છે? અરે વાહ? તેથી તે એક ભૂલ દ્વારા બંધ છે, અને તમે તે શું અર્થ છે? બરાબર. ઉત્તમ. તેથી અમે સ્પષ્ટ કર્યું હું માટે શૂન્ય કિંમત શરૂ કરવા માટે, અને અમે 10 એક એ કિંમત સ્પષ્ટ કર્યું પરંતુ અમે કરતાં અથવા સમાન ઓછા ઉપયોગ કર્યા. અને આ કારણ કે બે છે અક્ષરો અને માત્ર એક પ્રતીક છે, એક ગણિત પુસ્તક જેમ, તમારી પાસે નથી આ વ્યક્ત એક માર્ગ એક અક્ષર સમકક્ષ. જેથી, કરતાં ઓછી અર્થ થાય છે પરંતુ તમે શૂન્ય પર ગણતરી શરૂ કરવા માટે, પરંતુ તમે બધી રીતે ગણતરી 10 સુધી અપ અને સમાન, તમે અલબત્ત જવાની છો કુલ 11 વસ્તુઓ ગણતરી. અને તેથી તમે 11 તારા છાપી રહ્યા છીએ. તેથી શું આ માટે એક સુધારો હોઈ શકે છે? અરે વાહ? તેથી માત્ર કરતાં ઓછી સંતુલિત અથવા માત્ર કરતાં ઓછી હોવી બરાબર, અને કદાચ, હું દાવો, છે પણ અન્ય ઉકેલ,. બીજું તમે શું કરી શકે છે? અરે વાહ? તેથી 1 માટે બરાબરી શરૂ કરવા માટે, અને કરતાં અથવા સમાન ઓછા છોડી દો. અને પ્રમાણિકપણે હું દાવો કરશે કે, એક લાક્ષણિક માનવ માટે, આ કદાચ વધુ સરળ છે. 1 પર ગણાય શરૂ કરો અને 10 દ્વારા ગણતરી. અનિવાર્યપણે તમે શું અર્થ નથી. પરંતુ વાસ્તવિકતા છે પ્રોગ્રામિંગ, અમે જોઇ છે, કમ્પ્યુટર વૈજ્ઞાનિકો અને પ્રોગ્રામરો સામાન્ય રીતે શૂન્ય પર ગણતરી શરૂ નથી. અને જેથી એક વખત દંડ છે તમે તેને ઉપયોગ કરો. તમારી સ્થિતિ સામાન્ય રીતે ચાલશે કરતાં ઓછી કંઈક છે. તેથી ફક્ત લોજિકલ ભૂલ કે અમે હવે કરી શકે સુધારવા અને આખરે પુનઃકમ્પાઈલ આ અને માત્ર 10 છે. વેલ કેવી રીતે અહીં આ ભૂલ વિશે શું? અહીં, ફરીથી, હું હોય છે દાવો 10 stars-- છાપવા એક ધ્યેય રેખા આ સમય દીઠ એક છે, પરંતુ તે નથી. અમે પ્રસ્તાવ પહેલાં શું આ સુધારો આ શું કરે છે, હું કમ્પાઇલ તો દૃષ્ટિની છાપો અને આ કાર્યક્રમ તમે વિચારો છો રન? અરે વાહ? સ્ટાર. આ પર તેથી બધા તારા જ વાક્ય મેં સાંભળ્યું છે, અને પછી નવી લાઇન પાત્ર. તેથી આપણે કે પ્રયાસ કરો. તેથી બગડેલ-1, દાખલ કરો, અને હું રણકાર આદેશ જુઓ અમે છેલ્લા સમય વિશે વાત કરી છે. ./buggy -1, અને ખરેખર હું તમામ 10 તારાઓ જોવા હું દાવો, તેમ છતાં તે જ લાઇન પર મારા સ્પષ્ટીકરણ માથે માત્ર એક ટિપ્પણીમાં હું એક દીઠ કરી ઈરાદો કે કોડ રેખા. પરંતુ આ યોગ્ય લાગે છે. હું છું જેવા હવે રેખા 15 લાગે પછી એક તારો છાપવા, અને રેખા 16 હું પ્રિન્ટીંગ છું લાગે છે કે નવી લાઇન પાત્ર, અને તેઓ બંને જેથી ઇન્ડેન્ટેડ રહ્યાં છો હું સ્પષ્ટ લૂપની અંદર છું. તેથી હું તારો કરી ન હોવી જોઇએ, નવા રેખા, સ્ટાર, નવી લાઇન, સ્ટાર, નવી લાઇન? હા? અરે વાહ, એક ભાષા વિપરીત જેમ પાયથોન, તમે પરિચિત છો, ખાડો નથી આ કમ્પ્યુટર પર વાંધો. તે માત્ર ત્યારે જ માનવ માટે બાબતો. અહીં જ્યારે હું શોધ કર્યું લીટીઓ તેથી 15 અને સુંદર લાગે છે કે 16, પરંતુ કમ્પ્યૂટર કાળજી નથી. કમ્પ્યુટર વિશે ધ્યાન આપતા ખરેખર સર્પાકાર કૌંસ કર્યા કોડ આ રેખાઓ આસપાસ. જેથી તે માત્ર જેમ clear-- છે Scratch-- કોડ તે બે લીટીઓ કે ચલાવવામાં આવવો જોઈએ. તે પીળા સ્ક્રેચ પઝલ એક જેમ ટુકડાઓ ફરીથી અને ફરીથી અને ફરીથી. હું તેથી જો હવે ફરીથી ચલાવો આ કાર્યક્રમ ./buggy-2-- હમ્મ. હવે હું એક ભૂલ છે. હું શું ભૂલી ગયા હતા? અરે વાહ, તેથી હું તેને કમ્પાઇલ ન હતી. તેથી બગડેલ -2 બનાવે છે. આવી કોઈ ફાઈલ હું ન હતી કારણ કે ખરેખર બીજા આવૃત્તિ કમ્પાઇલ. તેથી હવે રસપ્રદ બિનજાહેર 2 નથી ચલ. અમે 1 કરી રહ્યા છીએ. હવે બગડેલ-1-- ./buggy-1-- અને બનાવો તેમને દરેક એક જ વાક્ય પર છે. હવે અપવાદ માટે છે ખાણ આ માનવામાં દાવો કે જો તમે આ સર્પાકાર કૌંસ જરૂર છે. તે ખરેખર છે OK-- તમે કર્યું તો વિભાગ અથવા textbooks-- સૂચન આ સર્પાકાર કૌંસ ભૂલી જવું? અરે વાહ? ચોક્કસ. માત્ર એક છે જ્યારે કોડ ઓફ લાઇન કે તમે આ સાથે સંકળાયેલ હોઈ માંગો છો અમારી પ્રથમ ઉદાહરણ તરીકે લૂપ. તે સંપૂર્ણપણે કાયદેસર છે આ સર્પાકાર કૌંસ ભૂલી જવું માત્ર એક સગવડ જેવું તરીકે તમે કમ્પાઇલર છે. અરે વાહ? ગુડ પ્રશ્ન. તે એક શૈલી ભૂલ ગણી શકાય છે? અમે CS50 માં તરીકે promote-- કરશે શૈલી માર્ગદર્શન, કે જે માટે URL તે હંમેશા pset1-- છે આ સર્પાકાર કૌંસ વાપરો. ચોક્કસપણે તમે પ્રોગ્રામિંગ કરવા માટે નવા છો તો. આ વાસ્તવિકતા અમે નથી છે તમે પ્રતિબંધ રહ્યા આ સગવડતા કરવાથી. પરંતુ તમે માત્ર રહ્યાં છો જો વસ્તુઓ સ્વિંગ માં, સંપૂર્ણપણે માત્ર હંમેશા સર્પાકાર ઉપયોગ તમે તેના હેન્ગ વિચાર ત્યાં સુધી કૌંસ. ગુડ પ્રશ્ન. અધિકાર છે. જેથી પછી ભૂલ હતી. એકદમ સરળ કંઈક માં ઓછામાં ઓછા. અને હજુ સુધી તમે આ લાગે શકે છે અધિકાર એકદમ પ્રાથમિક છે? આ પ્રથમ સપ્તાહમાં જેવું છે ની ભાષા જોઈ જેમ, તમારી ભૂલો તેમાં જુઓ. પરંતુ વાસ્તવિકતા આ છે ખરેખર પ્રતિનિધિ કેટલાક ખૂબ ભયાનક સમસ્યાઓ કે વાસ્તવિક દુનિયામાં ઊભી થાય છે. તેથી તમે કેટલાક યાદ શકે છે તમે ટેક સમાચાર અનુસરો, અથવા કદાચ પણ કેચ ફેબ્રુઆરી આ પવન એપલ હતું કે આ છેલ્લા વર્ષના , બંને iOS એક ભૂલ એક બીટ કરી પર ઓપરેટિંગ સિસ્ટમ તેમના ફોન, અને એ પણ મેક ઓએસ, ઓપરેટિંગ સિસ્ટમ તેમના ડેસ્કટોપ અને લેપટોપ પર. અને તમે આ જેમ કે હેડલાઇન્સ જોવા મળી હતી. અને પછી, એપલ આ ભૂલ સુધારવા માટે વચન આપ્યું, અને ખૂબ જ ઝડપથી, iOS માં તેને ઠીક કર્યું પરંતુ પછી આખરે મેક OS માં તે સુધારાઈ એ જ પ્રમાણે. હવે આ હેડલાઇન્સ કંઈ એકલા ખરેખર અંતર્ગત સમસ્યા શું જણાવે છે, પરંતુ ભૂલ આખરે ઘટાડો થયો હતો SSL માં ભૂલ, સુરક્ષિત સોકેટો સ્તર. અને લાંબા વાર્તા ટૂંકા, આ સોફ્ટવેર છે કે અમારા બ્રાઉઝર્સ અને અન્ય સોફ્ટવેર શું માટે વપરાય? હું SSL કે જણાવ્યું હતું કે, જો સામેલ, જ્યારે તમે , HTTPS સાથે શરૂ થાય છે કે એક URL ની મુલાકાત લો પછી શું SSL સંબંધિત હોઈ શકે છે? એન્ક્રિપ્શન. તેથી અમે વિશે વાત કરીશું આગામી દિવસોમાં આ. એન્ક્રિપ્શન, ઓફ આર્ટ માહિતી મૂંઝાયેલું. પરંતુ લાંબા વાર્તા ટૂંકા, એપલ ક્યારેક ભૂલ કરી હતી પહેલા , આ SSL તેમના અમલીકરણમાં આખરે અમલીકરણ કે સોફ્ટવેર HTTPS અથવા મહત્તમ જેમ URL ને પણ ત્યાં જોડાણો. જે પરિણામ છે તમારા જોડાણો સંભવિત કરી શકે કપાયું છે. અને તમારા જોડાણો હતા જરૂરી એનક્રિપ્ટ થયેલ નથી તમે વચ્ચે અમુક ખરાબ વ્યક્તિ માં હોય તો તમે અને અંતિમ મુકામ વેબસાઇટ જે આ લાભ લેવા માટે કેવી રીતે જાણતા હતા. હવે એપલ આખરે પોસ્ટ એક છેવટે આ માટે ઠીક, અને વર્ણન તેમના સુધારો આ હતી. સુરક્ષિત પરિવહન માન્ય નિષ્ફળ જોડાણ અધિકૃતતા. આ મુદ્દો દ્વારા સંબોધવામાં આવી હતી ગુમ માન્યતા પગલાંઓ પુનર્સ્થાપિત. તેથી આ એક ખૂબ જ હાથ ઊંચુંનીચું થતું સમજૂતી છે ફક્ત અમે ખરાબ કહે છે કે માટે. શાબ્દિક એક છે બગડેલ હતી કે કોડ કે જે લાઇન તેમના SSL અમલીકરણ, અને માં તમે ઑનલાઇન જાઓ અને આ માટે શોધ જો તમે ખરેખર શોધી શકો છો મૂળ સ્રોત કોડ. ઉદાહરણ માટે, આ એક સ્ક્રીન શોટ છે માત્ર એક એકદમ મોટી ફાઈલ એક ભાગ, પરંતુ આ દેખીતી રીતે કહેવાય કાર્ય છે SSL સાઇન સર્વર કી એક્સચેન્જ ચકાસો. અને તે એક ટોળું લે છે દલીલો અને ઇનપુટ્સ. અને અમે ધ્યાન કેન્દ્રિત કરવા માટે જઈ રહ્યાં છો ત્યાં ક્ષુદ્ર બાબત પર ખૂબ, પરંતુ તમે અંદર કોડ પર ધ્યાન કેન્દ્રિત જો ચાલો કાર્ય કે સર્વોચ્ચ ના તે પર ઝૂમ. તમે પહેલેથી જ શંકા શકે શું ભૂલ કદાચ તમે કોઈ વિચાર હોય તો પણ હોઈ આખરે તમે જોઈ રહ્યા છો તે. વિસંગતતા પ્રકારની છે અહીં, જે શું છે? અરે વાહ, હું ખરેખર પસંદ નથી બે જાઓ દેખાવ નિષ્ફળ જાય છે. પ્રમાણિકપણે, હું ખરેખર ખબર નથી શું જાઓ અર્થ નિષ્ફળ, પરંતુ તેમને બે કર્યા પાછા પાછા છે. કે જે હમણાં જ પ્રકારની મને rubs બુદ્ધિપૂર્વક ખોટી રીતે, અને અમે પર ઝૂમ ખરેખર તો માત્ર તે રેખાઓ, આ સી છે તેથી એપલના કોડ ઘણો પોતે સી માં લખાયેલ છે, અને આ દેખીતી રીતે ખરેખર સમકક્ષ છે નથી કે ખૂબ ખાડો માટે આવૃત્તિ, પરંતુ તમે ઓળખી જો હકીકત કોઈ સર્પાકાર કૌંસ, છે તે શું એપલ ખરેખર લાગે છે કે કોડ હતી લખ્યું આ જેમ. તેથી હું બહાર ઝૂમ કરેલું અને માત્ર હું કર્યું અર્થમાં આ ખાડો સુધારાઈ કે કોઈ સર્પાકાર કૌંસ, કે જો ત્યાં બીજા જાઓ કે પીળો છે નિષ્ફળ શું કોઈ બાબત ચલાવવા રહ્યું છે. તે સાથે સંકળાયેલ નથી તે ઉપર જો સ્થિતિ. તેથી પણ ફરીથી, તમે કરો તો તદ્દન સમજી શું આ કદાચ કરી શકે , કરી હોઈ ખબર આ દરેક કે આ રેખાઓ દરેક પરિસ્થિતિમાં એક ખૂબ જ મહત્વપૂર્ણ પગલું છે ચકાસણી પ્રક્રિયામાં તમારી માહિતી વાસ્તવમાં જો એનક્રિપ્ટ થયેલ. તેથી આ એક છોડવામાં આવી રહ્યા છે પગલાં નથી, શ્રેષ્ઠ વિચાર. પરંતુ અમે આ છે કારણ કે બીજા જાઓ, પીળો નિષ્ફળ અને કારણ કે અમે એક વખત પ્રકારના સૌંદર્યની જ્યાં તે ડાબી ખસેડો તાર્કિક આ ક્ષણે છે, શું આ લીટી માટે અર્થ છે કે બીજા જાઓ નીચે કોડ તમને લાગે કરશે નિષ્ફળ? તે હંમેશા છૂટી કરી રહ્યું છે. તેથી gotos સામાન્ય રીતે પર frowned છે અમે ખરેખર જાય નહીં કારણો માટે, અને ખરેખર CS50 માં અમે હોય છે આ નિવેદન જાઓ શીખવવા માટે, પરંતુ તમે જાઓ વિચાર કરી શકો છો અર્થ જાઓ જમ્પ તરીકે નિષ્ફળ આ કોડ કેટલાક અન્ય ભાગ છે. અન્ય શબ્દોમાં પર આવો એકસાથે આ છેલ્લા વાક્ય છે, અને તેથી આ મૂર્ખ પરિણામ માત્ર હતું કે સરળ ભૂલ કદાચ કોઈને પરિણામે નકલ અને ખૂબ એક પેસ્ટ ઘણી વખત સમગ્ર હતી iOS અને મેક OS ની સુરક્ષા અડચણ માટે સંવેદનશીલ હતી અમુક સમય માટે ખરાબ ગાય્ઝ દ્વારા. એપલ સુધી છેલ્લે આ સુધારેલ. હવે તમે કેટલાક ખરેખર છે જો iOS અથવા મેક OS ની જૂની આવૃત્તિઓ ચલાવી રહ્યા હોય, તમે gotofail.com પર જાઓ શકે છે, જે કોઈને સુયોજિત છે કે જે વેબસાઇટ છે અનિવાર્યપણે તે નક્કી કરવા માટે પ્રોગ્રામ તમારા કમ્પ્યુટર હજુ પણ સંવેદનશીલ છે. અને પ્રમાણિકપણે, તે હોય, તો તે કદાચ એક સારો વિચાર છે તમારા ફોન અપડેટ કરવા અથવા આ બિંદુએ તમારા Mac. પરંતુ, માત્ર વસિયતનામું માત્ર કેવી રીતે કરવા માટે આ નીચા સ્તરે એક પ્રશંસા વિગતો અને એકદમ સરળ વિચારો કરી શકો છો ખરેખર નિર્ણયો ભાષાંતર અને સમસ્યાઓ કે આ કિસ્સામાં માં affected-- લાખો લોકોને. વહીવટ પર હવે એક શબ્દ. વિભાગ આ આવતા રવિવાર શરૂ થશે. તમે એક ઇમેઇલ પ્રાપ્ત થશે વિભાગ વિશે સપ્તાહમાં, જે બિંદુએ આ resectioning પ્રક્રિયા તમે કરેલા જો શરૂ થશે તમે હવે સમજાયું અમુક નવા તકરાર. તેથી આ દર વર્ષે થાય છે, અને અમે આવવા દિવસોમાં સમાવવા કરશે. ઓફિસ hours-- એક રાખવા કરી અહીં આ શેડ્યૂલ પર આંખ. આ અઠવાડિયે થોડો ફેરફારો, ખાસ કરીને શરૂઆત સમય અને સ્થાન, તેથી સંપર્ક કરો કે ઓફિસ કલાકો માટે મથાળું પહેલાં આગામી ચાર રાત કોઇ. અને હવે આકારણી પર એક શબ્દ, તમે સમસ્યા ડાઇવ ખાસ કરીને તરીકે એક અને બહાર સુયોજિત કરે છે. સ્પષ્ટીકરણ દીઠ તેથી, આ સામાન્ય રીતે છે આ સીમાની જે સાથે અમે તમારા કામ મૂલ્યાંકન. અવકાશ ઉલ્લેખ કરે છે શું હદ તમારો કોડ ઓજાર લક્ષણો જરૂરી અમારા સ્પષ્ટીકરણ દ્વારા. અન્ય શબ્દોમાં, કેવી રીતે મોટા એક ભાગ સમૂહ તમે પડવું હતી. તમે તેને ત્રીજા કરી હતી, તે એક અડધા, તે 100%. તે યોગ્ય નથી, તો તમે કેટલી પ્રયાસ કરી? કે સ્તર મેળવે તેથી પ્રયત્ન અને રકમ જે તમે બીટ આ સમસ્યા સેટ સમસ્યાઓ. આ એક Correctness-- માટે કેટલી હદ સુધી, તમારા કોડ છે સાથે સુસંગત અમારા સ્પષ્ટીકરણો અને ભૂલો મફત છે. તેથી તે યોગ્ય રીતે કામ કરે છે? અમે તેને કેટલાક ઇનપુટ આપે છે, તે કરે છે અમને અપેક્ષા છે કે આઉટપુટ આપે છે? Design-- હવે આ પ્રથમ છે આ ખાસ કરીને ગુણાત્મક પ્રવર્તે અથવા માનવ ચુકાદો જરૂરી હોય તે જ. અમે એક સ્ટાફ છે શા માટે અને ખરેખર, આ છે ઘણા શિક્ષણ ફેલો અને કોર્સ મદદનીશો. શું માટે હદ તમારી છે કોડ તેમજ લેખિત? અને ફરી આ એક ખૂબ જ છે ગુણાત્મક આકારણી તે પર તમારી સાથે કામ કરશે અઠવાડિયામાં બે directionally આવે છે. કે જેથી તમે નથી જ્યારે માત્ર આંકડાકીય સ્કોર્સ, પણ લેખિત સ્કોર્સ, અથવા ટાઇપ પ્રતિસાદ, અથવા ઇંગલિશ શબ્દોમાં પ્રતિભાવ લખવામાં. કે અમે તમે વાહન ઉપયોગ કરશો છે ખરેખર સારી કોડ લખવા તરફ. અને વ્યાખ્યાન અને વિભાગમાં, અમે પ્રયાસ કરીશું ઘણી વખત અમે કરી શકો તરીકે બહાર નિર્દેશ શું એક કાર્યક્રમ છે માત્ર યોગ્ય અને વિધેયાત્મક રીતે સારી, પણ સાથે સાથે રચાયેલ છે. સૌથી કાર્યક્ષમ તે હોઈ શકે છે, અથવા કરી શકે છે પણ સૌથી સુંદર તે હોઈ શકે છે. જે શૈલી તરફ દોરી જાય છે. પ્રકાર આખરે છે એક કલાત્મક નિર્ણય. તમે સારા પસંદ કરી તમારા ચલો માટે નામો? તમે યોગ્ય રીતે તમારું કોડ ઇન્ડેન્ટેડ છે? તેથી સારી દેખાય છે, અને છે, તે અન્ય મનુષ્ય માટે સરળ છે તમારા સંબંધિત વાંચવા માટે તેની ચોકસાઈ ના. હવે સામાન્ય રીતે અભ્યાસક્રમ અનુસાર, અમે સ્કોર પાંચ બિંદુ સ્કેલ પર આ વસ્તુઓ. અને મને બિંદુ ઘર ખૂબ મહેનત કરીએ ત્રણ કે ખરેખર સારી છે. ખૂબ જ ઝડપથી લોકો કરી અંકગણિત કરી શરૂ કરો. તેઓ એક ત્રણ નીકળી ત્યારે કેટલાક pset માટે ચોકસાઈ પર પાંચ અને તેઓ ખરેખર ખૂબ જ લાગે છે કે, હું 60% રહ્યા જે અનિવાર્યપણે એક ડી અથવા ઇ છે કે જે રીતે નથી અમે આ નંબરો છે. ત્રણ શું ખરેખર સારા છે, અને અમે સામાન્ય રીતે શરૂઆતમાં અપેક્ષા શબ્દ તમે મળી રહ્યાં તો છે કદાચ three's-- એક ટોળું એક દંપતિ મેળા ની, fours-- એક દંપતિ અથવા એક દંપતિ twos, fours-- એક દંપતી કે શરૂ કરવા માટે એક સારું સ્થળ છે. અને અમે એક જેથી લાંબા જુઓ સમય પર ઉપરનું બોલ, જો તમે ખાસ કરીને સારી જગ્યાએ છો. અમે કરવા માટે ઉપયોગ આ સૂત્ર વજન વસ્તુઓ અનિવાર્યપણે છે અભ્યાસક્રમ દીઠ આ, જે માત્ર અમે કે જે થાય છે ચોકસાઈ માટે વધુ વજન આપે છે. તે ઘણી વાર ચોકસાઈ છે કારણ કે કે સૌથી વધુ સમય લે છે. હવે મને વિશ્વાસ છે. તમે ઓછામાં ઓછા find-- કરશે એક pset-- કે તમે તમારા સમય 90% ખર્ચ આ સમસ્યા 10% પર કામ કરે છે. અને બધું જેવું કામ કરે છે એક કે બે ભૂલો સિવાય અને તે ભૂલો છે મોડી રાત્રે તમે રાખો. તે રાશિઓ છે કે જેવું તમે છટકી. પરંતુ તે પર ઊંઘ પછી, અથવા ઓફિસ કલાકો હાજરી અથવા, ઓનલાઇન પ્રશ્નો છે પૂછવા તમે તે 100% ધ્યેય મેળવવા છે, અને તે શા માટે અમે વજન છે સૌથી ચોકસાઈ. થોડા ઓછા ડિઝાઇન, અને કરતાં થોડા ઓછા શૈલી. પરંતુ mind-- શૈલી રાખો કદાચ સૌથી સરળ છે આ બંધ પડવું શૈલી માર્ગદર્શિકા મુજબ. અને હવે, એક વધુ ગંભીર શૈક્ષણિક ઈમાનદારી પર નોંધ કરો. CS50 ના કમનસીબ તફાવત છે જાહેરાત બોર્ડ ઓફ સૌથી મોટો ઉત્પાદક છે કિસ્સાઓમાં લગભગ દર વર્ષે ઐતિહાસિક. વિદ્યાર્થીઓ માં ઠગ કારણ કે આ નથી CS50 કોઈપણ વધુ છે તેથી કોઇ અન્ય વર્ગ કરતાં, પરંતુ કારણ કે કામ પ્રકૃતિ દ્વારા, તે ઇલેક્ટ્રોનિક છે એ હકીકત છે કે, અમે તેને જોવા, અને હકીકત એ છે કે હકીકત એ છે કે અમે કમ્પ્યુટર વૈજ્ઞાનિકો છે અમે કમનસીબે છે કહી શકો છો શોધવામાં ખૂબ જ સારી. તેથી આ વાસ્તવિક દ્રષ્ટિએ શું અર્થ છે? તે તેથી, અભ્યાસક્રમ દીઠ, આ કોર્સ ફિલસૂફી ખરેખર વાજબી હોઈ નીચે ગૂમડું નથી. આ વાક્ય વચ્ચે છે તમારા પોતાના પર એક કામ કરી અને થોડો મેળવવામાં એક મિત્ર પાસેથી વાજબી મદદ, અને સંપૂર્ણ માટે જે કામ કરી તમારા મિત્ર, અથવા તેને અથવા તેણીને તમારા કોડ મોકલવા તે અથવા તેણી માત્ર આ કરી શકો છો કે જેથી લેવા અથવા તેને અધિકાર બહાર ઉધાર. અને તે લીટી પાર અમે વર્ગ દોરવામાં છે. , અભ્યાસક્રમ જુઓ આખરે લીટીઓ માટે અમે વાજબી હોવાથી ડ્રો કે અને ગેરવાજબી વર્તન, પરંતુ તે ખરેખર ગૂમડું નથી સાર નીચે તમારા કામ માટે જરૂર અંતે તમારા પોતાના છે. હવે જણાવ્યું હતું કે સાથે, એક સંશોધનાત્મક છે. તમે imagine-- શકે છે કારણ કે ઓફિસ કલાકો અને દ્રશ્યો થી અને વીડિયો અમે કર્યું બતાવવામાં આમ far-- CS50 ખરેખર સહયોગી તરીકે થઈ ગયું છે અને સહકારી અને સામાજિક શક્ય. સહયોગી તે સખત છે. પરંતુ આ જણાવ્યું હતું કે સાથે, સંશોધનાત્મક, તમે અભ્યાસક્રમ માં જોશો, તમે કેટલાક સમસ્યા આવી રહી છે ત્યારે છે. તમે તમારો કોડ કેટલાક ભૂલ છે કે તમે હલ કરી શકો છો, તે તમારા માટે વાજબી છે બીજા કોઈને તમારા કોડ બતાવવા માટે. પણ વર્ગ એક મિત્ર, મિત્ર ઓફિસ કલાકો તમે આગામી બેઠક, અથવા સ્ટાફ સભ્ય. પરંતુ તેઓ તમને તેમના કોડ બતાવવા નથી. અન્ય શબ્દોમાં, એક તમારા question-- જવાબ હું help-- ઓહ, અહીં મારા કોડ છે નથી જરૂર છે. આ પર એક નજર અને શું તમે તે જાણી. હવે, અલબત્ત, ત્યાં છે એ રીતે સ્પષ્ટ રીતે રમત હું તમને બતાવીશું જેમાં આ સિસ્ટમ એક પ્રશ્ન કર્યા પહેલાં મારા કોડ. તમે મને મારા તમારા કોડ બતાવવા એક પ્રશ્ન કર્યા પહેલાં. પરંતુ ફરીથી અભ્યાસક્રમ જુઓ આ વાક્ય છે જ્યાં ફાઇનર વિગતો. જસ્ટ હવે ચિત્ર કરું અને તરીકે પારદર્શક રીતે શક્ય શેર અમે તાજેતરના વર્ષોમાં હોય છે જ્યાં, આ જાહેરાત બોર્ડ કિસ્સાઓમાં સંખ્યા છે કે CS50 પર ધરાવે છે છેલ્લા સાત વર્ષ. 14 કિસ્સાઓમાં આ એકદમ પતન સાથે. સામેલ વિદ્યાર્થીઓ દ્રષ્ટિએ, તે 20 કેટલાક વિચિત્ર વિદ્યાર્થીઓ હતા આ ભૂતકાળમાં પતન. 33 એક ટોચ હતી કેટલાક વર્ષ પહેલાં વિદ્યાર્થીઓ. જેમાંથી ઘણા કમનસીબે છે લાંબા સમય સુધી અહીં કેમ્પસ પર. આ ટકાવારી તરીકે સામેલ વિદ્યાર્થીઓ વર્ગ ઐતિહાસિક 0% અંતરના છે કહે છે માત્ર છે, જે 5.3% માટે આ વાર્ષિક એક પડકાર છે. અને તે અંત તરફ, શું અમે એક અભિવ્યક્ત છે કરવા માંગો છો અમે ફક્ત FYI-- પર સરખાવવા dd-- કે તે વિદ્યાર્થીઓ માટે એક ઔચિત્યની જે તે મુજબ લીટી નીચે પ્રમાણે છે. અમે તમામ વર્તમાન તુલના કરો બધા છેલ્લા મિશન સામે સબમિશન્સ છેલ્લા ઘણા વર્ષો થી. અમે આસપાસ Google કેવી રીતે પણ ખબર અને કોડ રિપોઝીટરીઓ શોધવા મફત ઓનલાઇન માટે, ચર્ચા ઓનલાઇન મફત ઓનલાઇન માટે, કામ સાઇટ્સ. વિદ્યાર્થી શોધી શકો છો, તો અમે ચોક્કસ કરી શકો છો તે ખૂબ અમે regretfully જેમ શોધો. તેથી શું તમે અભ્યાસક્રમ માં જોશો છતાં આ દિલગીરી કલમ છે. હું ચોક્કસપણે કરી શકો છો ગમે છે, અને અમે બધા છે સ્ટાફ કોર્સ જેવા થાય એવું સમય પર આ, અથવા આ એક પોતે, ચોક્કસપણે તે જ્યારે જેવું છે તે જાણવા જીવન તમારી પાસે જ્યારે રીતે નહીં કેટલાક મોડી રાત્રે deadline-- માત્ર આ વર્ગ માં, પરંતુ તમે another-- હોય ત્યારે સંપૂર્ણપણે ખાલી, બહાર ભાર એક અત્યંત નંબર હોય અન્ય વસ્તુઓ કરવું. તમે અમુક બિંદુએ ઓછામાં કરશે ચોક્કસપણે ખરાબ, કદાચ અંતમાં જીવન રાત્રે નિર્ણય. અભ્યાસક્રમ દીઠ તેથી, આ કલમ છે, બનાવવા જેમ કે જો અંદર 72 કલાક કેટલાક ગરીબ નિર્ણય, તો તમે તેને માટે માલિકી અને મને બહાર સુધી પહોંચવા માટે અને આ કોર્સ હેડ એક અને અમે વાતચીત હશે. અમે વસ્તુઓ નિયંત્રિત કરશે આંતરિક આશા તે વધુ બની શિક્ષણ ક્ષણ કે જીવન પાઠ, અને નથી કંઈક ખાસ કરીને સખત વિભાગીકરણ તમે અહીં આ ચાર્ટ પર જોઈ શકો છે. તેથી કે જે ખૂબ જ ગંભીર ટોન છે. અમને થોડા માટે વિરામ દો સેકન્ડ તણાવ તોડી. [સંગીત વગાડવાનો] ડેવિડ જે MALAN: બધા અધિકાર, જેથી કેવી રીતે હતી segue માટે? આજે પ્રાથમિક વિષયો છે. જે પ્રથમ તાત્વિક છે. જે અન્ય હોઈ ચાલે છે જે પ્રમાણિકપણે માહિતી, ના પ્રતિનિધિત્વ કેવી રીતે કહી એક ખરેખર શુષ્ક રીતે અમે કરી શકો છો છે સમસ્યાઓ ઉકેલવા અને વિચારવાનો જઈ સમસ્યાઓ ઉકેલવા વિશે શું? તેથી તમે સ્ક્રેચ માં જોવા મળે છે, અને તમે કરેલા C સાથે pset1 કદાચ પહેલાથી જ જોવા મળે તમે માત્ર ઉપયોગ કરી શકો છો કાર્યો, printf જેમ, અન્ય લોકો વર્ષ ભૂતકાળમાં તમારા માટે લખ્યું હતું. તમે પણ તમારા પોતાના કાર્યો લખી શકો છો. અને તમે ન શકે, તેમ છતાં pset1 માં પ્રમાણિકપણે સી આ કરી, અને તમે ખરેખર લખવા માટે જરૂર નથી તમારા સમસ્યા છે, કારણ કે પોતાના કાર્ય પર કદાચ વધારે ભયાવહ છે પ્રથમ તમે જોશો glance-- આખરે સાથે હલ કરી શકાય છે કોડ ઓફ બધા છે કે ઘણા રેખાઓ. પરંતુ તે દ્રષ્ટિએ જણાવ્યું હતું કે, સાથે તમારા પોતાના કાર્ય લખવાની, આપે સી છે ખ્યાલ છે કે જો તમે આ ક્ષમતા. હું આજે સ્રોત કોડ માં જાઓ જાઉં છું છે, કે જે પહેલાથી જ ઓનલાઈન ઉપલબ્ધ છે અને હું આગળ અને ઓપન જાઓ જાઉં છું કાર્ય 0.C કહેવાય કાર્યક્રમ, અને કાર્ય શૂન્ય માં અમે અમુક વસ્તુઓ જોશો. પ્રથમ લીટીઓ 18 મારફતે માં 23 મારી મુખ્ય કાર્ય છે. અને હવે અમે વાંચવા માટે શરૂ કરી રહ્યા છીએ કે અમે ફ્લાય પર લખી નથી કે કોડ છે, પરંતુ તેના બદલે હું અગાઉથી તેવા પરચૂરણ ખર્ચ કર્યો અથવા સમસ્યા તમે સેટ કે કર્યા પ્રાપ્ત કરી શકે છે અગાઉથી લખવામાં આવ્યું. સારી રીતે શરૂ કરવા માટે કોઈના કોડ વાંચન મુખ્ય કાર્ય માટે જુઓ છે. જ્યાં કે પ્રવેશ બહાર આકૃતિ બિંદુ કાર્યક્રમ ચાલી છે, અને પછી ત્યાંથી તાર્કિક તે અનુસરો. તેથી આ કાર્યક્રમ દેખીતી રીતે પ્રિન્ટ એક કોલોન બાદ તમારું નામ. અમે પછી GetString ઉપયોગ આ CS50 પુસ્તકાલય માંથી શબ્દમાળા, અથવા શબ્દ અથવા મહાવરો વિચાર કીબોર્ડ પર વપરાશકર્તા માંથી. અને પછી આ છે વસ્તુ અહીં PrintName. હવે PrintName એક નથી સી સાથે આવે છે કે કાર્ય તે પ્રમાણભૂત io.h. નથી તે cs50.h. નથી તે જ ફાઈલમાં બદલે છે. હું નીચે સ્ક્રોલ જો નોટિસ એક બીટ રેખાઓ 25 27-- માટે તે ટિપ્પણી માત્ર એક સુંદર માર્ગ છે તારાઓ અને સ્લેશ ઉપયોગ કરીને તમારા કોડ. આ એક બહુ રેખા છે ટિપ્પણી, અને આ માત્ર છે વાદળી મારા વર્ણન આ કાર્ય કરે છે. 31 દ્વારા રેખાઓ 28 કારણ કે, હું એક સુપર સરળ કાર્ય તેવા પરચૂરણ ખર્ચ કર્યો નામ જેની PrintName છે. તે કેટલા લે દલીલો તમે કહે છે? તેથી એક દલીલ એક છે કારણ કે કૌંસ અંદર યાદી થયેલ દલીલ. જે પ્રકાર શબ્દમાળા છે. જે PrintName કહે છે આ બ્લેક બોક્સ જેવી છે લે છે અથવા કાર્ય ઇનપુટ શબ્દમાળા છે. અને તે શબ્દમાળા નામ સરળ નામ હશે. નથી, નથી એન, પરંતુ નામ. તેથી PrintName શું કરે છે? તે સરસ સરળ છે. જસ્ટ કોડ એક વાક્ય માટે આ printf, પરંતુ દેખીતી રીતે તે પ્રિન્ટ આઉટ "હેલો," જેથી અને તેથી. જ્યાં જેથી અને તેથી દલીલ આવે છે. હવે આ અહીં એક વિશાળ નવીનતા નથી. ખરેખર, હું તે કરી શકે છે એક કાર્યક્રમ ભર્યું છે કોડ એક વાક્ય સાથે લખવામાં આવ્યા છે અહીં આ મૂકીને, અને કંઈક માટે બદલી કે કેટલાક છ કે સાત કે તેથી સમાવેશ થાય છે નીચે અહીં કોડ રેખાઓ બધી રીતે. પરંતુ તે એક ના પ્રેક્ટીસ છે તાત્વિક તરીકે ઓળખાય સિદ્ધાંત. કાઇન્ડ એક નવી ની અંદર પ્રાવૃત એક નામ છે કે કાર્ય, અને વધુ સારી રીતે હજુ સુધી તે નામ શાબ્દિક તે શું કરે છે કહે છે. હું નથી કે, printf અર્થ ખાસ કરીને વર્ણનાત્મક. હું એક બનાવવા માંગો છો તો પઝલ ભાગ, અથવા હું તો એક કાર્ય બનાવવા માંગો છો કે, કોઈ નામ છાપે આમ ના સુંદરતા કે હું ખરેખર આ કરી શકો છે તે કાર્ય એક નામ આપો કે તે શું કરે છે વર્ણવે છે. હવે તે એક ઇનપુટ લે છે હું આપખુદ નામ કહેવાય છે, પરંતુ તે પણ અદ્ભૂત વર્ણનાત્મક છે તેના બદલે થોડી વધુ હોવાની એસ અને જેમ સામાન્ય રદબાતલ, હવે, માત્ર અર્થ એ થાય આ કાર્ય નથી કે કંઈપણ મને પાછા હાથ. તે GetString જેમ નથી કે શાબ્દિક શબ્દમાળા મને હાથ પાછળ જેમ અમે કાગળ ટુકડાઓ સાથે કર્યું તમારા સહપાઠીઓને છેલ્લા અઠવાડિયે સાથે, પરંતુ તે માત્ર એક બાજુ અસર છે. તે સ્ક્રીન પર કંઈક છાપે છે. દિવસ ના અંતે, તેથી જો હું બનાવવા નથી કાર્ય-0, ./function-0, અમે તે મારા નામ માટે પૂછે છે કે નહીં તે જોવા મળશે. હું મારું નામ બહાર પ્રકારના ડેવિડ લખો, અને તે. હું રોબ સાથે ફરીથી કરવા માટે, તે કહે છે ચાલી રહ્યું છે "હેલો, રોબ." તેથી એક સરળ વિચાર છે, પરંતુ કદાચ આ માનસિક થી extrapolate તમારા કાર્યક્રમો વિચાર કે , વધુ જટિલ થોડી અને તમે એક ભાગ લખવા માંગો છો કોડ અને કોલ કે રહ્યાં છે કોડ જગાડવા કેટલાક વર્ણનાત્મક દ્વારા કે રહ્યાં છે કોડ PrintName જેવા નામ આપો, સી અમને આ ક્ષમતા તેમ નથી. અહીં અન્ય સરળ ઉદાહરણ છે. ઉદાહરણ તરીકે, હું એક ખોલવા જો return.c કહેવાય આજે ફાઈલ, હું અહીં કર્યું છે શું નોટિસ. આ મુખ્ય કાર્ય મોટા ભાગના printf છે. હું પ્રથમ આપખુદ પ્રારંભ 2 નંબર માટે એક્સ કહેવાય ચલ. હું પછી એક્સ હવે છે "છાપે % હું "x ની કિંમત માં પસાર. તેથી હું માત્ર તે શું કહી રહ્યો છું. હવે હું માત્ર હિંમતભેર છું printf સાથે દાવો. હું તે કિંમત એક્સ cubing છું, અને હું છું એક કાર્ય ફોન દ્વારા આમ કરવાથી કહેવાય સમઘન પસાર દલીલ તરીકે એક્સ, અને પછી આઉટપુટ બચત ચલ પોતે, એક્સ. તેથી હું x ની કિંમત clobbering છું. હું ઓવરરાઈડીંગ છું સાથે x ની કિંમત ગમે ફોન પરિણામ આ સમઘન કાર્ય છે. અને પછી હું માત્ર કેટલાક છાપે રુંવાટીવાળું સામગ્રી અહીં હું શું કહે છે. તેથી પછી સમઘન શું છે? મૂળભૂત શું નોટિસ અહીં અલગ અલગ. હું કાર્ય આપી છે પહેલાં એક નામ. હું દલીલ માટે નામ સ્પષ્ટ થયેલ છે. તે એ જગ્યાએ નામ કહેવાય છે આ સમય, પરંતુ હું માંગો છો કંઈપણ તે કહી શકે છે. પરંતુ આ અલગ છે. ડાબી પર આ વસ્તુ. પહેલાં તે શું શબ્દ હતી? છોકરાઓ. હવે તે દેખીતી રીતે પૂર્ણાંક છે. તેથી શું કદાચ દૂર છે? રદબાતલ નોંધે જ્યારે જેવું શૂન્યતાનું, અને તે કેસ હતો. PrintName કંઈ ફર્યા. તે કાર્ય કર્યું છે, પરંતુ તે મને પાછા હાથ ન હતી હું પર મૂકી શકે છે કંઈક એક સમાન સાઇન ડાબી બાજુ જેમ હું 22 લીટી પર અહીં કર્યું છે. તેથી હું રેખા 30 માં કહે છે, શું કદાચ તેનો અર્થ તે છે શું સમઘન વિશે મારા માટે કરે છે? અરે વાહ? તે પૂર્ણાંક આપે છે. તેથી તે માટે, મને પાછા હાથ કાગળ ઉદાહરણ, એક ભાગ કે જેના પર તે જવાબ લખ્યું છે. 2 cubed, અથવા 3 cubed, અથવા 4 cubed-- હું પસાર ગમે અને હું કેવી રીતે આ અમલ કરી? વેલ, માત્ર n વખત એ વખત એ હું નીચેની સમઘન શકે છે કેવી રીતે છે. તેથી ફરી, સુપર સરળ વિચાર, પરંતુ પ્રતિપાદક હવે અમે કાર્યો લખી શકો છો કેવી રીતે કે ખરેખર પાછા હતી રસ હોઈ શકે છે કિંમતો. માતાનો એક છેલ્લા ઉદાહરણ જુઓ અહીં કાર્ય એક કહેવાય છે. આ ઉદાહરણમાં, તે શરૂ થાય છે વધુ આકર્ષક વિચાર. તેથી કાર્ય એક, આ કાર્યક્રમ નોટિસ આખરે GetPositiveInt કહેવાય કાર્ય કહે છે. GetPositiveInt એક નથી આ CS50 પુસ્તકાલય કાર્ય, પરંતુ અમે અમે નક્કી કર્યું તે અસ્તિત્વ ધરાવે છે કરવા માંગો છો. તેથી અમે પાછળથી ફાઈલમાં સરકાવો જો, હું અમલીકરણ વિશે ગયા કેવી રીતે નોટિસ હકારાત્મક પૂર્ણાંક વિચાર, અને હું તે વધુ આકર્ષક છે કહે આ એક યોગ્ય છે, કારણ કે કોડ ઓફ રેખાઓ સંખ્યા. તે માત્ર એક અવિવેકી નથી થોડું રમકડું કાર્યક્રમ. તે વાસ્તવમાં કેટલાક ભૂલ ચકાસણી મળ્યું છે અને વધુ ઉપયોગી કંઈક કરી. તમે walkthrough જોઇ ન કર્યું તેથી જો અમે pset1 જડિત છે કે વિડિઓઝ, આ એક પ્રકાર છે કે જે ખબર ભાવના સમાન સી લૂપ, વસ્તુઓ સ્ક્રેચ ના પ્રકારના કરી શકો છો. અને શું આ કરવા કહે છે. આ બહાર છાપો. પછી આગળ વધો અને n-- વિચાર પૂર્ણાંક વિચાર અને એ માં સંગ્રહે, અને રાખવા ફરીથી અને ફરીથી અને આમ ફરીથી જેથી લાંબા એન તરીકે એક કરતાં ઓછી છે. તેથી એ એક કરતાં ઓછી હોઈ ચાલે છે માત્ર માનવ સહકારથી નથી છે. તે અથવા તેણી ટાઇપ થયેલ હોય 0 અથવા -1 અથવા -50 માં, આ લૂપ રાખવા રહ્યું છે ફરીથી અને ફરીથી ચલાવવા. અને આખરે હું નોટિસ ખાલી કિંમત આવો. તેથી હવે અમે એક કાર્ય છે કે સરસ કરી છે કરશે CS50 માં અમલ છો તમારા માટે CS50.h અને cs50.c, પરંતુ અહીં આપણે હવે આ કરી શકો છો આ જાતને અમલ. પરંતુ કેટલાક કી વિગતો પર બે ટિપ્પણીઓ. One-- શા માટે હું પૂર્ણાંક જાહેર કર્યું એ, લાઇન 29 પર, તમે વિચારો છો તેના બદલે માત્ર કરવાની અહીં આ, જે છે સાથે વધુ સુસંગત અમે છેલ્લા અઠવાડિયે શું? અરે વાહ? એક સારી વિચાર. તેથી જો અમે તેને મૂકી હતી અહીં, તે અમે છતાં છે ફરીથી અને ફરીથી જાહેર રાખે છે. અને પોતાના માટે છે સમસ્યાવાળા નથી, સે દીઠ, અમે માત્ર જરૂર છે કારણ કે એક વાર અને પછી કિંમત અમે કોઈપણ રીતે એક નવું વિચાર જઈ રહ્યાં છો. પરંતુ એક સારો વિચાર. અરે વાહ? બંધ કરો. હું એ પર જાહેર કર્યું છે કારણ કે તેથી રેખા 29 લૂપની બહાર, તે સમગ્ર સુલભ છે આ સમગ્ર કાર્ય. નથી અન્ય કાર્યો કારણ કે એ આ સર્પાકાર ની અંદર હજુ પણ છે અહીં કૌંસ. ખાતરી કરો કે વાહ. ચોક્કસ. તેથી આ બિંદુ પણ વધુ છે. અમે તેના બદલે જાહેર તો એ અહીં 32 વાક્ય પર, તે અનુમાન કારણ કે સમસ્યારૂપ છે જ્યાં બીજું હું તેને ઍક્સેસ કરવા માટે જરૂર છે? રેખા 34, અને પર અંગૂઠો સરળ નિયમ છે તમે માત્ર એક ચલ ઉપયોગ કરી શકો છો એકદમ સર્પાકાર કૌંસ ની અંદર જેમાં તમે તે જાહેર કર્યો. કમનસીબે, લાઇન 34 એક વાક્ય છે, પણ અંતમાં છે મને પહેલેથી જ બંધ કરી કારણ કે લીટી 33 પર સર્પાકાર તાણવું કે અનુલક્ષે લીટી 30 પર સર્પાકાર તાણવું. અને તેથી આ કહેતા એક માર્ગ છે આ ચલ પૂર્ણાંક scoped છે કે, તેથી માત્ર અંદર છે, વાત કરવા માટે તે સર્પાકાર કૌંસ. તે માત્ર તેમને બહાર અસ્તિત્વમાં નથી. તેથી ખરેખર, હું તો આ ખોટું, મને કોડ સેવ દો તરીકે ખોટી રીતે લખાયેલ ઠીક. મને આગળ વધો અને બનાવવા નથી દો કાર્ય-1, અને નોટિસ ભૂલ. બિનજાહેર ઓળખકર્તા એ ઉપયોગ અહીં છે 35 લીટી પર. અને અમે ઉપર સ્ક્રોલ જો વધુ, અન્ય એક. બિનજાહેર ઉપયોગ લીટી 34 પર ઓળખકર્તા એ. તેથી કમ્પાઇલર, રણકાર, તે ધ્યાનમાં લીધા છે માત્ર છતાં પણ અસ્તિત્વમાં નથી સ્પષ્ટ રીતે તે જોવામાં છે. તેથી એક સરળ સુધારો ત્યાં તે જાહેર છે. હવે મને સ્ક્રોલ દો ફાઈલ ટોચ. શું તમે બહાર કૂદકા થોડું અલગ છે સામગ્રી અમે ગયા સપ્તાહે જોયું? માત્ર નામ હું છે, માત્ર કરવું હું કેટલાક તીવ્ર ટોચ સુધી સમાવેશ થાય છે હું છું કંઈક છે અસલ ફોન. હવે માટે અત્યંત અનહદ જેવું જ દેખાય છે શું અમે હમણાં જ વાક્ય 27 પર એક ક્ષણ પહેલા થયો છે. તેથી આપણે એક અલગ અટકળ બાંધવી દો હું આ કર્યું છે શા માટે ભૂલ સંદેશો. મને આગળ જાઓ અને ત્યાં આ રેખાઓ કાઢી. અને તેથી અમે પ્રોટોટાઇપ વિશે કંઇ જ જાણતા. આ ફાઈલની રિમેક. કાર્ય એક બનાવો. અને હવે, ખરેખર ખૂબ જ, ચાર ભૂલો. માતાનો પ્રથમ એક સુધી સ્ક્રોલ કરો. કાર્ય અભિપ્રેત ઘોષણા હકારાત્મક પૂર્ણાંક વિચાર C99 માં અમાન્ય છે. C99 માત્ર 1999 અર્થ એ થાય ભાષાના આવૃત્તિ અમે ખરેખર ઉપયોગ કરી રહ્યાં છો તે છે, જે સી,. તેથી આ શું અર્થ છે? વેલ સી અને વધુ ચોક્કસ રીતે સી ખૂબ મૂક કાર્યક્રમો compilers-- છે. તેઓ માત્ર તમે કર્યું શું ખબર તેમને કહ્યું હતું, અને તે છે છેલ્લા સપ્તાહના ખરેખર વિષયોનું. સમસ્યા એ છે કે હું જાઓ છે અહીં નામ અમલીકરણ વિશે, અને હું કહેવાય કાર્ય કૉલ લીટી 20 પર અહીં GetPositiveInt, તે કાર્ય તકનીકી નથી કમ્પાઇલર લીટી 27 જુએ ત્યાં સુધી અસ્તિત્વ ધરાવે છે. કમનસીબે, પણ કમ્પાઇલર છે ટોચ, નીચે, જમણી, ડાબી વસ્તુઓ કરી, તે જોઈ નથી, કારણ કે જેથી GetPositiveInt અમલીકરણ, પરંતુ તે તમને પ્રયાસ જુએ અહીં તે વાપરવા માટે, તે માત્ર કિકિયારી bail-- બનશે ભૂલ સાથે તમે કદાચ સંદેશ ભેદી, અને ખરેખર ફાઈલ કમ્પાઈલ. તેથી કહેવાતા પ્રોટોટાઇપ અપ અહીં સ્વીકૃત બિનજરૂરી છે. શાબ્દિક, હું અહીં નીચે પડી ગયા અને હું નકલ અને આ પેસ્ટ, અને હું તેને અહીં મૂકવામાં. રદબાતલ વધુ યોગ્ય હશે, તેથી અમે પડશે શાબ્દિક નકલ અને તે આ સમય પેસ્ટ કરો. હું શાબ્દિક નકલ અને તે પેસ્ટ. ખરેખર માત્ર એક બ્રેડ નાનો ટુકડો બટકું જેવા છે. કમ્પાઇલર માટે થોડું ચાવી. હું આ શું કરે ખબર નથી હજુ સુધી, પરંતુ હું તમને આશાસ્પદ છું તે આખરે અસ્તિત્વમાં આવશે. આ વાક્ય શા માટે અને તે છે રેખા 16 અર્ધવિરામ સાથે સમાપ્ત થાય છે. તે ડિઝાઇન દ્વારા બિનજરૂરી છે. હા? તમે તમારો લાઇબ્રેરી લિંક નહિં હોય , ઓહ સારો પ્રશ્ન કરવું છે. સીધા હેડર ફાઈલ સમાવેશ સમાવેશ થાય છે. જોઈએ લગભગ હોઈ જરૂર છે હંમેશા ખૂબ જ ટોચ પર હોય માટે similar-- માટે ફાઈલની બરાબર એ જ કારણ, હા. ધોરણ માં છે io.h શાબ્દિક એક વાક્ય છે આ જેમ, પરંતુ શબ્દ printf સાથે, અને તેની દલીલો અને તેના વળતર પ્રકાર સાથે. અને તેથી તીવ્ર કરવાથી અપ સમાવેશ થાય છે અહીં, તમે શાબ્દિક કરી શું કરશો સમાવિષ્ટો નકલ અને પેસ્ટ છે કોઈને બીજા ઉપર લખ્યું હતું. ત્યાં આ માટે તમારા કોડ cluing તે કાર્યો અસ્તિત્વમાં નથી કે હકીકત. અરે વાહ? ચોક્કસ. તેથી ખૂબ જ હોંશિયાર અને યોગ્ય ઉકેલ હશે, તમે શું જાણો છો? મને ખબર નથી શું પ્રોટોટાઇપ છે, પરંતુ મને ખબર છે હું સી માત્ર છે કે જે સમજવા જો મૂક અને નીચે ટોચ rethinks. વેલ ચાલો તે શું કરવા માંગે છે તે આપી દો. તે પેસ્ટ, ચાલો કે કોડ કાપી દો ટોચ, અને હવે નીચે નીચે મુખ્ય દબાણ. આ પણ સમસ્યા હલ થશે. પરંતુ તમે ખૂબ જ સરળતાથી સાથે આવી શકે છે એ બી કૉલ કરવાની જરૂર છે કે જેમાં એક દૃશ્ય, અને કદાચ બી એ આ પર પાછા કહે છે રિકર્ઝન કહેવાય કંઈક છે, અને અમે પાછા કે આવવું પડશે. અને તે અથવા એક સારા ન હોઈ શકે શકે છે વસ્તુ છે, પરંતુ તમે ચોક્કસપણે કરી શકો છો આ ઉકેલ તૂટી જાય છે. અને વધુમાં, હું stylistically દાવો, ખાસ કરીને જ્યારે તમારા કાર્યક્રમો આ લાંબા અને આ લાંબા બની જાય છે, તે માત્ર સુપર અનુકૂળ છે ટોચ પર મુખ્ય મૂકી તે વાત છે કારણ કે મોટા ભાગના પ્રોગ્રામરો વિશે કાળજી માટે જતા હોય છે. અને તેથી તે થોડો ક્લીનર છે, દલીલમાં, તે રીતે કરવા માટે હું મૂળ હતી અસલ સાથે પણ તે થોડી લાગે છે છતાં પ્રથમ નજરમાં બિનજરૂરી. અરે વાહ? માફ કરશો, તમે મોટેથી તે કહી શકે છે? તમે ના સ્થળો સ્વિચ તો અમલીકરણ અને તે પ્રોટોટાઇપ? જેથી આ બોલ પર કોઈ પ્રશ્ન છે. જો તમે આ નીચે ફરી જાહેર અહીં, ચાલો જુઓ શું થાય દો. હું આ નીચે મૂકી તેથી જો અહીં, તમે કહી રહ્યાં છે. ઓહ, માફ કરશો. જોશથી? પણ મોટેથી. ઓહ, સારો પ્રશ્ન. તે કાર્ય અમાન્ય છો? તમે જાણો છો, આ તમામ વર્ષ પછી, હું પછીથી એક પ્રોટોટાઇપ મૂકી ક્યારેય છે. તેથી આપણે કાર્ય -1 કરી દો કે કરી પછી. [ગણગણાટ] ડેવિડ જે MALAN: ઓહ, રાહ જુઓ. અમે હજી પણ ટોચ બધું મૂકવો પડશે. તેથી હું છું જો, અહીં આ કરવા દો યોગ્ય રીતે તમારા પ્રશ્ન સમજવા. હું સમાવેશ થાય છે, બધું મૂકી રહ્યો છું મુખ્ય ઉપર પ્રોટોટાઇપ, પરંતુ હું તે પ્રોટોટાઇપ મૂકી રહ્યો છું અમલીકરણ નીચે. હું એક બનાવવા, હું મેળવવામાં છું તેથી પાછા એક ભૂલ નહિં વપરાયેલ ચલ n. ઓહ, ત્યાં. આભાર. ચાલો જોવા, અમે આ છૂટકારો મળે છે. એટલે કે, એક અલગ ભૂલ છે તેથી આપણે કે અવગણવા દો. માતાનો ખરેખર ઝડપથી આ રિમેક છે. ઠીક છે, તેથી માહિતી દલીલ નથી બંધારણ શબ્દમાળા દ્વારા ઉપયોગ ઓહ n--, કે કારણ છે હું અહીં આ બદલાઈ. બધા હક છે, આપણે જાણીએ છીએ શું જવાબ to-- બધા અધિકાર રહ્યું છે, અહીં અમે જાઓ. આહ, હકારાત્મક માટે આભાર. બધા હક, હું આ કોડ સુધારવા કરશે after-- આ ચોક્કસ ભૂલ અવગણવા આ તે કામ કરે છે was-- કારણ જવાબ છે. તેથી તે પર ફરીથી લખી નથી શું તમે માત્ર કર્યું છે. હું કમ્પાઇલર શંકા એવી રીતે લખવામાં આવે છે તે તમારા પ્રોટોટાઇપ અવગણીને છે કે શરીર કારણ કે, તેથી વાત કરવા માટે, કાર્ય પહેલેથી જ છે ના ઉચ્ચ અપ અમલીકરણ કરી દેવામાં. હું ખરેખર સંપર્ક હશે કમ્પાઇલર ની માર્ગદર્શિકા અન્ય કોઇ હોય તો સમજવા સૂચિતાર્થ, પરંતુ પ્રથમ નજરમાં માત્ર પ્રયાસ અને પ્રયોગ દ્વારા, કોઈ અસર હોય તેમ લાગે છે. ગુડ પ્રશ્ન. તેથી આપણે હવે આગળ બનાવટ ખસેડવાની દો દૂર આડઅસરો થી જે કંઈક કરવું કે કાર્યો છે દૃષ્ટિની printf સાથે સ્ક્રીન પર, પરંતુ કિંમત પાછી નથી. અને તે કાર્યો વળતર છે અમે જેવા કિંમતો માત્ર થોડા જોવા મળી હતી. અમે પહેલાથી જ, અવકાશ આ વિચારને જોયું અને અમે ફરીથી અને ફરીથી આ જોશો. પરંતુ હવે માટે, ફરી, અંગૂઠો ના નિયમ ઉપયોગ એક ચલ માત્ર ઉપયોગ કરી શકાય છે સૌથી તાજેતરમાં ખોલી ની અંદર અને અમે બંધ સર્પાકાર કૌંસ ચોક્કસ ઉદાહરણમાં જોવા મળી હતી. અને તમે નિર્દેશ તરીકે એક ability-- છે તમે આ સમસ્યાઓ અમુક હલ કરી શકે છે વૈશ્વિક ચલ મૂકીને એક ફાઈલની ખૂબ જ ટોચ પર. પરંતુ લગભગ તમામ કિસ્સાઓમાં અમે તે પર ભવાં ચડાવવાં છે, અને ખરેખર પણ ન જાય હવે તે ઉકેલ માં. હવે તેથી, takeaway છે ચલો અવકાશ આ વિચારને છે. પરંતુ હવે આપણે અન્ય જુઓ ખરેખર જોઈ શુષ્ક માર્ગ કેટલાક ખૂબ રસપ્રદ પર અમલીકરણ વિગતો. અમે કેવી રીતે માહિતી પ્રતિનિધિત્વ કરી શકે છે. અને અમે પહેલાથી જ આ જોવામાં વર્ગ પ્રથમ સપ્તાહમાં. દ્વિસંગીઓ અંતે છીએ, અને દશાંશ જાતને યાદ. પરંતુ સી હોય છે કે છેલ્લા સપ્તાહના યાદ અલગ ડેટા પ્રકારો અને જુમખું વધુ, પરંતુ સૌથી ઉપયોગી મુદ્દાઓ હવે માટે આ હોઈ શકે છે. થાય છે એક કોલસો બનાવો, અથવા પાત્ર, એક બાઇટ, કે આઠ બિટ્સ કુલ છે. અને તે માપ કહે છે કે છે ચાર રચે માત્ર એક બાઈટ છે. એક બાઈટ આઠ બિટ્સ છે, તેથી આ અર્થ એ થાય કે અમે કેટલા અક્ષરો પ્રતિનિધિત્વ કરી શકે છે. કેટલા અક્ષરો અથવા કીબોર્ડ પર પ્રતીકો અમે એક બાઈટ કે આઠ બિટ્સ હોય છે. પાછા સપ્તાહ શૂન્ય વિચારો. તમે આઠ બિટ્સ હોય છે, કેટલા કુલ કિંમતો તમારી સાથે પ્રતિનિધિત્વ કરી શકે છે zeros અને શૈલીઓનો પેટર્ન? તે કરતાં વધુ One--. તેથી 256 કુલ જો તમે શૂન્ય થી ગણતરી શરૂ કરો. તેથી તમે આઠ બીટ્સ તેથી અમે જો હોય તો ફરીથી અહીં અમારા બાઈનરી બલ્બ હતી અમે તે લાઇટ બલ્બ ચાલુ કરી શકે છે અને 256 અનન્ય પેટર્ન કોઇ પણ બંધ. હવે આ થોડી સમસ્યાવાળા છે. ઇંગલિશ અને માટે ખૂબ જ નથી રોમાન્સ ભાષાઓ, પરંતુ ચોક્કસપણે તમે દાખલ છે, માટે ઉદાહરણ, એશિયન ભાષાઓ છે, જેમાં જેવા કરતાં વધુ પ્રતીકો છે મૂળાક્ષર 26 અક્ષરો. અમે ખરેખર જરૂર પડી શકે છે એક બાઈટ કરતાં વધુ. અને thankfully માં તાજેતરના વર્ષોમાં સમાજ છે ઉપયોગ કરે છે દત્તક અન્ય ધોરણો ચાર્જ દીઠ એક કરતાં વધુ બાઇટ. પરંતુ હવે સી, મૂળભૂત માટે માત્ર એક બાઈટ કે આઠ બિટ્સ છે. એક પૂર્ણાંક દરમિયાન, ચાર છે બાઇટ્સ, અન્યથા 32 બિટ્સ તરીકે ઓળખાય છે. જે સૌથી શક્ય છે શું અર્થ થાય છે નંબર અમે પૂર્ણાંક સાથે પ્રતિનિધિત્વ કરી શકે છે દેખીતી રીતે? એક અબજ સાથે. તેથી તે ચાર અબજ આપે અથવા લે છે. 2 32th સત્તા પર, અમે તો કોઈ નકારાત્મક નંબરો ધારે અને માત્ર બધી હકારાત્મક ઉપયોગ નંબરો, તે ચાર અબજ છે આપવા માટે કે શક્યતાઓ છે. એક ફ્લોટ, વચ્ચે, એક અલગ પ્રકાર છે તે હજુ પણ એક નંબર છે સી માં માહિતી પ્રકાર, પરંતુ તે એક વાસ્તવિક નંબર છે. એક દશાંશ બિંદુ સાથે કંઈક. અને તે તારણ છે કે જે સી પણ ચાર બાઇટ્સ વાપરે અપૂર્ણાંક બિંદુ કિંમતો રજૂ કરવા. કમનસીબે કેટલા ફ્લોટિંગ બિંદુ કિંમતો વિશ્વમાં ત્યાં છે? કેટલા વાસ્તવિક નંબરો છે? એક અનંત છે નંબર, અને માટે તે બાબત પૂર્ણાંકો એક અનંત નંબર છે. તેથી અમે પ્રકારની પહેલાથી જ છો અહીં જાતને એક છિદ્ર ખોદવું. જેમાં દેખીતી રીતે computers-- ઓછામાં them-- પર સી માં લખાયેલ ઓછા કાર્યક્રમો માત્ર તેટલું ગણતરી કરી શકે છે ચાર અબજ, આપે અથવા લે છે અને બિંદુ કિંમતો ફ્લોટિંગ આ કરી શકો છો માત્ર દેખીતી રીતે ચોકસાઇ અમુક મર્યાદિત રકમ માટે હોય છે. માત્ર ઘણા અંકો પછી તેમના બાદ ચિહ્ન. કારણ કે, અલબત્ત, જો તમે માત્ર 32 બિટ્સ હોય છે, અમે જઈ રહ્યા છીએ કેવી રીતે ખબર નથી કદાચ વાસ્તવિક નંબરોની રજૂ દાખલાની વિવિધ પ્રકારના સાથે. પરંતુ ચોક્કસ મર્યાદિત છે જેમ દાખલાની નંબર, તેથી અહીં, પણ, આ સમસ્યારૂપ છે. હવે અમે થોડી સમસ્યા ટાળી શકો છો. જો તમે ફ્લોટ ઉપયોગ નથી, તમે ડબલ ઉપયોગ કરી શકે છે સી, જે તમે આઠ બાઇટ્સ, આપે છે zeros માર્ગ વધુ શક્ય પેટર્ન છે અને મુદ્દાઓ. પરંતુ તે જે રહ્યું છે, હજુ પણ મર્યાદિત છે તમે સોફ્ટવેર લખી જો સમસ્યાવાળા હોય છે ગ્રાફિક્સ માટે અથવા ફેન્સી માટે ગાણિતિક સૂત્રો. તેથી જો તમે ખરેખર છો કરતાં મોટી ગણતરી છે. એક લાંબા લાંબા stupidly named-- પણ આઠ બાઇટ્સ, અથવા 64 બિટ્સ છે, અને આ એક પૂર્ણાંક તરીકે બે વાર સુધી છે અને તે લાંબા પૂર્ણાંક કિંમત માટે છે. ફન fact-- પૂર્ણાંક, ચાર બાઇટ્સ છે ખાસ કરીને સી લાંબા લાંબા કેવી રીતે છે? પણ ચાર બાઇટ્સ, પરંતુ લાંબા લાંબા આઠ બાઇટ્સ છે, અને આ ઐતિહાસિક કારણો માટે છે. પરંતુ હવે takeaway કે જે હમણાં જ માહિતી છે છે છે કે કમ્પ્યુટર માં રજૂ કરી વીજળી સાથે ભૌતિક ઉપકરણ, તે સામાન્ય રીતે ડ્રાઇવિંગ છે તે zeros અને ones-- ચોકસાઇ મર્યાદિત માત્રામાં સાથે. જેથી સમસ્યા પછી શું છે? વેલ એક સમસ્યા છે પૂર્ણાંક ઓવરફ્લો ઓફ. માત્ર સી, પરંતુ માં સામાન્ય રીતે કમ્પ્યુટર્સ. ઉદાહરણ માટે, આ તો એક બાઇટ વર્થ બીટ છે તેથી આ તમામ આઠ બીટ છે જો જે સંખ્યા છે. શું નંબર આ છે અમે ધારે તો રજૂ તે બાઈનરી તમામ હકારાત્મક કિંમતો છે? 255 છે, અને તે 256 છે, કારણ કે નથી શૂન્ય સૌથી ઓછી સંખ્યા છે. તેથી 255 સૌથી વધુ છે એક, પરંતુ સમસ્યા હું કરવા માગે છે ધારવું છે આ ચલ વધારો કે આઠ બિટ્સ કુલ ઉપયોગ કરી રહ્યા છે હું તેને વધારતી કરવા માંગો છો. વેલ હું ઉમેરવા જલદી એક આ મુદ્દાઓ બધા એક, તમે કદાચ માત્ર visually-- કલ્પના કરી શકો છો decimals-- મદદથી એક વહન જેવી કંઈક ડાબી પ્રવાહ બનશે. અને ખરેખર, હું નંબર ઉમેરો આ એક, શું બાઈનરી બને તે પાછા શૂન્ય ઓવરફ્લો છે. તેથી જો તમે માત્ર એક પૂર્ણાંક નથી use-- જો, પરંતુ એક બાઈટ પૂર્ણાંકો ગણતરી એક કાર્યક્રમ માં, જલદી તરીકે મૂળભૂત રીતે તમે, 250 મેળવવા 251, 252, 253, 254, 255-- 0, 255 પછી આવે છે જે કદાચ નથી છે વપરાશકર્તા અપેક્ષા રહ્યું છે. હવે દરમિયાન બિંદુ વિશ્વમાં ફ્લોટિંગ માં, તમે પણ એક જ સમસ્યા હોય છે. સૌથી નંબર સાથે ખૂબ જ નથી જોકે તે હજુ એક મુદ્દો છે. પરંતુ ચોકસાઇ જથ્થો સાથે તમે પ્રતિનિધિત્વ કરી શકે છે છે. તેથી આપણે આ ઉદાહરણ પર એક નજર અહીં પણ આજે સ્ત્રોત રહ્યાં છે કોડ માંથી ફ્લોટ-0.c. અને તે એક સુપર છે નોટિસ સરળ કાર્યક્રમ છે કે જે દેખીતી રીતે શું કિંમત છાપે જોઈએ? જો તમે આ છાપી રહ્યું છે હોડ શું નવી વાક્યરચના એક બીટ છે, તેમ છતાં અહીં? તેથી આસ્થાપૂર્વક 0.1. તેથી એક દસમા ની સમકક્ષ હું 10 દ્વારા વિ 1 કરી રહ્યો છું કારણ કે. હું જવાબ સ્ટોર છું એક ચલ માં એફ કહેવાય છે. કે ચલ પ્રકાર ફ્લોટ, ના છે, જે હું માત્ર દરખાસ્ત મુખ્ય શબ્દ અસ્તિત્વમાં છે. અમે આ પહેલાં જોઈ છે, પરંતુ છે આ printf એક સુઘડ રીતે પ્રકારની છે કેટલા અંકો સ્પષ્ટ કરવા માટે તમે દશાંશ બિંદુ પછી જોવા માંગો છો. તેથી આ નોટેશનમાં માત્ર અર્થ એ થાય અહીં એક પ્લેસહોલ્ડર છે. તે એક અપૂર્ણાંક બિંદુ માટે છે કિંમત, અને ઓહ, જે રીતે દ્વારા, આ બાદ ચિહ્ન સાથે સાથે દર્શાવે છે આ બાદ ચિહ્ન પછી એક સંખ્યા. જેથી સંખ્યા છે નોંધપાત્ર અંકો, જેથી તમે કરવા માંગો છો શકે છે, વાત કરવા માટે. તેથી દો મને આગળ જાઓ અને કરવા દો ./float-0, ફ્લોટ-0 બનાવે છે, અને દેખીતી રીતે 1 10 દ્વારા વિભાજીત 0.0 છે. હવે શા માટે છે? વેલ ફરીથી, કમ્પ્યૂટર લઈ રહ્યું છે મને શાબ્દિક, અને હું 1 હોય અને હું 10 લખાયેલ છે, અને એક અનુમાન લેવા શું તે બે માટે ધારણ માહિતી પ્રકાર છે કિંમતો? એક પૂર્ણાંક, તે તકનિકી છે થોડી અલગ કંઈક. તે સામાન્ય રીતે એક લાંબા છે, પરંતુ તે છે આખરે એક અભિન્ન મૂલ્ય. નથી એક અપૂર્ણાંક બિંદુ કિંમત. જે કે જો આ કહે છે , પૂર્ણાંક છે અને આ એક પૂર્ણાંક છે સમસ્યા કમ્પ્યુટર છે ક્ષમતા નથી પણ છે કે જે દશા સંગ્રહવા માટે. તમે 1 કરવું તેથી જ્યારે વિભાજિત 10 મદદથી પૂર્ણાંકો દ્વારા અંશ અને બંને માટે છેદ, જવાબ 0.1 પ્રયત્ન કરીશું. પરંતુ કમ્પ્યુટર કારણ કે તે પૂર્ણાંકો છે આ 0.1 સાથે શું કરવું તે ખબર નથી. તેથી શું તે સ્પષ્ટ કરી છે? તે માત્ર છે, તે દૂર ફેંકવાની છે અને હું આખરે શું જોઈ રહ્યો છું હું આગ્રહ માત્ર કારણ કે 0.0 છે printf મને એક દશા દર્શાવે છે. પરંતુ સમસ્યા એ છે કે તમે જો પૂર્ણાંક દ્વારા પૂર્ણાંક વિભાજીત, તમે વ્યાખ્યા દ્વારા get-- કરશે એક પૂર્ણાંક સી. અને તે કરી નથી ચાલી રહ્યું છે સરસ અને સરળ કંઈક અપ માટે રાઉન્ડ જેવી એક ઉપર કે નીચે નજીકના. તે ટૂંકાવીને બનશે આ બાદ પછી બધું. તેથી માત્ર તર્ક, કદાચ સુધારો શું છે? અહીં સરળ સુધારો શું છે? અરે વાહ? ચોક્કસ. શા માટે આપણે આ સારવાર નથી અસરકારક રીતે બિંદુ કિંમતો ફ્લોટિંગ ફ્લોટ્સ અથવા ડબલ્સ તેમને દેવાનો. અને હવે હું બનાવવા કરો તો ફ્લોટ્સ-0, અથવા હું ફ્લોટ્સ -1 કમ્પાઇલ જો, જે સમાન છે શું માત્ર દરખાસ્ત કરવામાં આવી હતી. અને હવે હું ફ્લોટ્સ-0, હવે હું મારા 0.1 મળી નથી. હવે આ સુંદર છે. પરંતુ હવે હું શું કરવા જાઉં છું થોડી અલગ કંઈક. હું ખરેખર છે તે જોવા માટે વિચિત્ર છું હૂડ નીચે રહ્યું, અને હું આ છાપવા જાઉં છું બહાર 28 દશાંશ સ્થળ. હું ખરેખર જોવા માંગો છો 0.1000-- એક infinite-- કે 0.1 પછી [અશ્રાવ્ય] 27 zeros. વેલ કે જો માતાનો જોવા દો હું ખરેખર વિચાર શું. ફ્લોટ્સ-0 જ ફાઈલ બનાવો. ./floats-0. માતાનો નાટકીય જવાબ પર ઝૂમ દો. આ બધા સમય, તમે વિચારી કરી છે 10 દ્વારા વિ 1 10%, અથવા 0.1 છે. તે નથી. ઓછામાં ઓછા અત્યાર સુધી તરીકે કમ્પ્યુટરની સંબંધિત. બરાબર why-- હવે, કે સંપૂર્ણ છે 10 દ્વારા વિ આવેલા 1 0.1 છે. પરંતુ તે નથી why-- આ takeaway આજે. તેથી શા માટે કોમ્પ્યુટર, લાગે છે નથી રૂમમાં અમારા બધા જેમ નહિં પણ, 10 દ્વારા વિ 1 છે ખરેખર છે કે ક્રેઝી કિંમત? દેખીતી રીતે કરી કોમ્પ્યુટર શું છે? કે શું છે? તે સે દીઠ, ઓવરફ્લો નથી. ઓવરફ્લો સામાન્ય રીતે જ્યારે છે તમે નીચેની આસપાસ લપેટી. તે અશુદ્ધિ આ મુદ્દો છે એક અપૂર્ણાંક બિંદુ કિંમત તમે માત્ર 32 હોય છે અથવા કદાચ પણ 64 બીટ. પરંતુ એક અનંત હોય તો વાસ્તવિક નંબરોની સંખ્યા દશાંશ પોઇન્ટ સાથે નંબરો અને નંબરો ચોક્કસ ત્યારબાદ તમે તે બધા નથી પ્રતિનિધિત્વ કરી શકે છે. તેથી કમ્પ્યુટર આપવામાં આવી છે અમને નજીકના મેચ કિંમત માટે તે ઉપયોગ પ્રતિનિધિત્વ કરી શકે છે હું ખરેખર માંગો છો કિંમત ઘણા બિટ્સ, જે 0.1 છે. કમનસીબે, જો તમે ગણિત કરવાનું શરૂ, અથવા તમે ફ્લોટિંગ આ પ્રકારના સંડોવતા શરૂ મહત્વપૂર્ણ કાર્યક્રમો માં બિંદુ કિંમતો નાણાકીય સોફ્ટવેર, લશ્કરી સોફ્ટવેર કંઈપણ જ્યાં દ્રષ્ટિ છે કદાચ ખૂબ મહત્વપૂર્ણ. અને તમે ઉમેરી રહ્યા શરૂ આ જેમ નંબરો, અને શરૂઆત કે સોફ્ટવેર ચાલી ખરેખર વિશાળ ઇનપુટ્સ સાથે અથવા કલાકો કે ઘણાં બધાં માટે વર્ષ દિવસો કે ઘણાં, આ નાના નાના ભૂલો ચોક્કસ સમય પર ઉમેરી શકો છો. હવે એક અલગ તરીકે, તમે કરેલા જો ક્યારેય સુપરમેન 3 અથવા ઓફિસ સ્પેસ જોઇ અને તમે યાદ શકે છે કેવી રીતે તે ગાય્સ ચોર્યા તેમના કમ્પ્યુટરથી મની ઘણો અપૂર્ણાંક બિંદુ કિંમતો ઉપયોગ કરીને અને થોડી અપ ઉમેરી રહ્યા છે રિમાઇન્ડર્સ, આસ્થાપૂર્વક કે ફિલ્મ હવે વધુ અર્થમાં બનાવે છે. આ તેઓ હતા શું છે કે ફિલ્મમાં માટે કરતી શક્તિનો નિર્દેશ કરતા. હકીકત એ છે કે મોટા ભાગના કે કંપનીઓ જોવા નથી ચોક્કસ નંબર પછી દશાંશ સ્થળો, પરંતુ તે સેન્ટના અપૂર્ણાંક છે. તેથી તમે તેમને ઉમેરી રહ્યા શરૂ તમે મની ઘણો બનાવવા માટે શરૂ તમારી બેંક એકાઉન્ટમાં. જેથી ઓફિસ સ્પેસ સમજાવી છે. હવે કમનસીબે બહાર ઓફિસ સ્પેસ, ત્યાં કેટલાક કાયદેસર મુશ્કેલીમાં છે અને નોંધપાત્ર અસરો આ પ્રકારના અંતર્ગત ડિઝાઇન નિર્ણયો, કારણો અને ખરેખર એક અમે દરમિયાન સી ઉપયોગ તમે ખરેખર આ જમીન છે, કે જેથી કમ્પ્યુટર્સ કેવી રીતે કામ કરે સમજ સુધી, કેવી રીતે સોફ્ટવેર કામ કરે છે, અને શું નથી મંજૂર માટે કંઈપણ લેવા. અને ખરેખર કમનસીબે, પણ સાથે કે મૂળભૂત સમજ, અમે મનુષ્ય ભૂલો કરી. અને શું હું શેર કરશો વિચાર્યું છે આ આઠ મિનિટ વિડિઓ અહીં લેવામાં છે, જે મોડર્ન માર્વેલ્સ એપિસોડ માંથી કેવી રીતે વસ્તુઓ કામ પર એક શૈક્ષણિક શો કે બે ચિત્રો પેઇન્ટ ના જ્યારે અયોગ્ય ઉપયોગ અને સમજ બિંદુ કિંમતો ફ્લોટિંગ કેટલાક નોંધપાત્ર થયો કમનસીબ પરિણામો. ચાલો એક નજર. [વિડિઓ પ્લેબેક] -અમે હવે એન્જિનિયરિંગ "પર પાછા મોડર્ન માર્વેલ્સ પર આપત્તિ ". એન્જીનિયરિંગ. અમે તમામ સ્વીકારવા આવ્યો છે ઘણી વખત નિરાશાજનક સમસ્યાઓ કે them-- ભૂલો, વાયરસ સાથે મળી, અને નાના એની સોફ્ટવેર glitches-- સગવડ માટે ચૂકવણી. પરંતુ હાઇ ટેક અને હાઇ સ્પીડ માં લશ્કરી અને જગ્યા કાર્યક્રમ અરજીઓ, નાના સમસ્યા કરી શકો છો આપત્તિ માં વધી છે. જૂન 4, 1996 ના રોજ, વૈજ્ઞાનિકો તૈયાર એક માનવરહિત Ariane 5 રોકેટ લોન્ચ કરવા માટે. તે વૈજ્ઞાનિક વહન કરવામાં આવી હતી ઉપગ્રહો તૈયાર ચોક્કસપણે કેવી રીતે સ્થાપિત કરવા માટે પૃથ્વીના ચુંબકીય ક્ષેત્ર સંપર્ક કરે સૌર પવન સાથે. આ રોકેટ માટે બનાવવામાં આવ્યું હતું યુરોપિયન સ્પેસ એજન્સી, અને તેના સુવિધા પરથી ઉઠાવી ફ્રેન્ચ ગુઆના કિનારે. માં લગભગ 37 સેકન્ડ મુ- ફ્લાઇટ, તેઓ પ્રથમ નોંધ્યું કંઈક ખોટું થવાનું હતું. આ nozzles swiveling હતા કે એક રીતે તેઓ ખરેખર નથી જોઇએ. ફ્લાઇટ માં 40 સેકન્ડ આસપાસ, સ્પષ્ટ રીતે વાહન મુશ્કેલી હતી તેઓ કરી ત્યારે અને તે છે નિર્ણય તે નાશ. શ્રેણી સલામતી અધિકારી સાથે જબરદસ્ત કુનેહ, બટન દબાવવામાં તે કરી શકે તે પહેલાં અને રોકેટ ઉડાવી જાહેર સલામતી માટે ખતરો બની જાય છે. -આ સર્વપ્રથમ હતી આ Ariane 5 સફર, અને તેના નાશ લીધો કારણ કે આ પ્રવાહ ના મૂકો રોકેટ સોફ્ટવેર જડિત. આ પર -ધ સમસ્યા Ariane હતું કે ત્યાં જરૂરી છે કે જે નંબર હતો 64 બિટ્સ, વ્યક્ત અને તેઓ કન્વર્ટ કરવા માગે છે 16 બીટ નંબર માટે. તેઓ નંબર માનવામાં આવે છે કે ઘણી મોટી હોઈ ચાલે ન હતો. કે તે અંકો મોટા ભાગના 64-bit નંબર zeros હતા. તેઓ ખોટું હતા. એક -ધ અક્ષમતા સોફ્ટવેર કાર્યક્રમ સ્વીકારી દ્વારા પેદા નંબર જે પ્રકારનું અન્ય નિષ્ફળતા ના રૂટ પર હતી. સોફ્ટવેર વિકાસ બની હતી નવી ટેકનોલોજી ખૂબ જ ખર્ચાળ ભાગ છે. આ Ariane 4 રોકેટ હતી ખૂબ જ સફળ રહી. માટે બનાવેલ સોફ્ટવેર ખૂબ તે પણ Ariane 5 માં ઉપયોગ કરવામાં આવ્યો હતો. -ધ મૂળભૂત સમસ્યા હતું કે Ariane 5. Faster--, ઝડપી વેગ હતી અને સોફ્ટવેર માટે જવાબદાર ન હતી. રોકેટ ની -ધ વિનાશ એક વિશાળ નાણાકીય આપત્તિ હતી. બધા કારણે એક મિનિટ સોફ્ટવેર ભૂલ છે. પરંતુ આ પ્રથમ ન હતી સમય માહિતી રૂપાંતર સમસ્યાઓ આધુનિક રોકેટ ટેકનોલોજી સપડાયેલા હતા. શરૂઆત સાથે 1991 શકાય તેવું પ્રથમ ગલ્ફ વોર, પેટ્રિઅટ મિસાઈલ એક જ પ્રકારની અનુભવ સંખ્યાબંધ રૂપાંતર સમસ્યા. અને પરિણામે 28 people-- 28 અમેરિકન soldiers-- માર્યા ગયા હતા, અને લગભગ એક સો અન્ય ઘાયલ થયા. જ્યારે રહેવા આવી હતી કે જે પેટ્રિઅટ, આવનારા Scuds સામે રક્ષણ આપે છે, એક મિસાઈલ ગોળીબાર નિષ્ફળ ગયું. -જ્યારે ઇરાક કુવૈત, અને અમેરિકા પર આક્રમણ કર્યું શરૂઆતમાં 1991 માં ડિઝર્ટ સ્ટ્રોમ લોન્ચ, પેટ્રિઅટ મિસાઈલ બેટરી તૈનાત કરવામાં આવ્યા હતા સાઉદી અરેબિયા અને ઇઝરાયેલ રક્ષણ ઇરાકી સ્કડ મિસાઈલ હુમલા. આ પેટ્રિઅટ એક અમેરિકી મધ્યમ રેન્જ છે સપાટી ટુ એર સિસ્ટમ આ રેથિયોન કંપની દ્વારા ઉત્પાદિત. પેટ્રિઅટ ના -ધ કદ વિક્ષેપક પોતે તે વિશે લગભગ 20 ફૂટ લાંબી છે અને તે વિશે 2,000 પાઉન્ડ તેનું વજન. અને તે વિશે એક શસ્ત્રો વહન હું તે આશરે 150 પાઉન્ડ છે લાગે છે. અને શસ્ત્રો પોતે છે એક ઉચ્ચ વિસ્ફોટક, જે તેની આસપાસ ટુકડાઓ છે. તેથી શસ્ત્રો ના આવરણ છે એક સાથે buckshot જેમ કાર્ય માટે રચાયેલ છે. -ધ મિસાઇલો કરવામાં આવે છે કન્ટેનર દીઠ ચાર, અને અર્ધ ટ્રેલર દ્વારા પરિવહન થાય છે. -ધ પેટ્રિઅટ વિરોધી મિસાઈલ સિસ્ટમ હવે ઓછામાં ઓછા 20 વર્ષ પહેલાં જાય છે. તે અસલમાં ડિઝાઇન કરવામાં આવી હતી હવાઈ ​​સંરક્ષણ મિસાઇલ તરીકે દુશ્મન એરોપ્લેન નીચે શૂટ. પ્રથમ ગલ્ફ વોર માં કે યુદ્ધ પર આવ્યો ત્યારે, આર્મી તેનો ઉપયોગ કરવા માગે છે Scuds નથી, એરોપ્લેન નીચે શૂટ. આ ઇરાકી એર ફોર્સ હતી સમસ્યા ખૂબ જ નથી, પરંતુ આર્મી હતી Scuds ચિંતા. અને તેથી તેઓ પ્રયાસ કર્યો પેટ્રિઅટ સુધારો. એક દુશ્મન -Intercepting 5 મેક પર મુસાફરી મિસાઈલ પૂરતી પડકારવા કરી રહ્યું હતું. પરંતુ જ્યારે પેટ્રિઅટ સેવામાં મોકલી આપવામાં આવ્યું, આર્મી પરિચિત ન હતો એક ઇરાકી ફેરફાર કે તેમના Scuds કરવામાં લગભગ તે અશક્ય. -શું થયું Scuds કે માં આવતા હતા અસ્થિર હતી. તેઓ વોબલીવિન્ડોઝ હતા. આ માટેનું કારણ એ Iraqis-- હતી 600 કિલોમીટર બહાર વિચાર કરવા માટે 300 કિલોમીટર શ્રેણી missile-- ના , આ બોલ પર શસ્ત્રો બહાર વજન લીધો અને શસ્ત્રો હળવા કરી હતી. તેથી હવે પેટ્રિઅટ માતાનો આવવા પ્રયાસ સ્કડ પર, સમય અને સૌથી આ લોકોની બહુમતી સમય તે માત્ર સ્કડ દ્વારા ઉડે ​​છે. પેટ્રિઅટ સિસ્ટમ ઓપરેટરો -Once , પેટ્રિઅટ ભાન તેના લક્ષ્ય ચૂકી તેઓ પેટ્રિઅટ શસ્ત્રો ફાટ્યો તે જો શક્ય જાનહાનિ ટાળવા માટે જમીન પર પડે છે માટે માન્ય કરવામાં આવી હતી. એટલે મોટા ભાગના લોકો શું જોયું હતું તરીકે આકાશમાં મોટા અગનગોળા, અને ગેરસમજ સ્કડ અણુશસ્ત્રો ઓફ રોકનાર. રાત્રે આકાશ, પેટ્રિયોટ્સ માં -Although સફળતાપૂર્વક નાશ કરવા માટે દેખાય છે Scuds, Dhahran ખાતે હોઇ શકે છે તેનું પ્રદર્શન વિશે કોઈ ભૂલ. ત્યાં પેટ્રિઅટ રડાર સિસ્ટમ ઇનકમિંગ સ્કડ ગુમાવી ટ્રેક અને કારણે શરૂ ક્યારેય સોફ્ટવેર ભૂલ છે. તે પ્રથમ શોધ જે ઇઝરાયેલીઓ હતી લાંબા સમય સુધી સિસ્ટમ પર હતી, વધુ સમય ફરક બની હતી. કારણે એમ્બેડ એક ઘડિયાળ માટે સિસ્ટમની કમ્પ્યુટર માં. -About બે અઠવાડિયા પહેલાં Dhahran માં કરૂણાંતિકા, ઇઝરાયેલીઓ જાણ સંરક્ષણ વિભાગ કે સિસ્ટમ સમય ગુમાવ્યા હતી. લગભગ આઠ કલાક પછી ચાલી, તેઓ નોંધ્યું સિસ્ટમની બની કે નોંધપાત્ર ઓછા સચોટ. આ સંરક્ષણ વિભાગ દ્વારા પ્રતિક્રિયા પેટ્રિઅટ બેટરી તમામ કહેવાની સિસ્ટમો છોડી માટે લાંબા સમય માટે છે. તેઓ લાંબા સમય શું કહ્યું નથી. 8 કલાક, 10 કલાક, એક હજાર કલાક. કોઇએ જાણતા હતા. -ધ પેટ્રિઅટ બેટરી બેરેક્સ ખાતે કાર્યરત Dhahran અને તેના ફાંટ આંતરિક પર ઘડિયાળ 100 કલાક માટે કરવામાં આવી હતી ફેબ્રુઆરી 25 ના રાત્રે. ઇટ એક ચોકસાઈ માટે સમય ટ્રેક એક બીજા એક દસમા વિશે. બીજા હવે દસમા રસપ્રદ નંબર છે તે વ્યક્ત કરી શકતા નથી કારણ કે બરાબર દ્વિસંગી કે જે તે બરાબર વ્યક્ત કરી શકાતી નથી અર્થ કોઈપણ આધુનિક ડિજિટલ કમ્પ્યુટર માં. તે મુશ્કેલ માને છે પરંતુ ઉદાહરણ તરીકે આ વાપરો. ચાલો નંબર એક તૃતીય લો. એક તૃતીય ન હોઈ શકે બરાબર દશાંશ માં વ્યક્ત કરી હતી. એક તૃતીય 0,333 છે અનંત માટે થઈ રહ્યું. સાથે તે કરવા માટે કોઈ રીત છે દશાંશ નિરપેક્ષ ચોકસાઇ. તે સમસ્યા બરાબર પ્રકારની છે કે પેટ્રિઅટ બન્યું. આ સમય સુધી સિસ્ટમ ચાલી હતી, જે ખરાબ સમય ભૂલ બની હતી. ઓપરેશન 100 કલાક -પછી, આ સમય માં ભૂલ માત્ર ત્રીજા હતી બીજા. પરંતુ લક્ષ્ય દ્રષ્ટિએ 5 મેક પર મુસાફરી મિસાઈલ, તે ટ્રેકિંગ પરિણમ્યું 600 મીટર ભૂલ. તે એક જીવલેણ ભૂલ હશે Dhahran ખાતે સૈનિકો માટે. એક સ્કડ લોન્ચ હતી -શું થયું વહેલી ચેતવણી ઉપગ્રહો દ્વારા શોધી, અને તેઓ એક સ્કડ આવી જાણતા હતા તેમના સામાન્ય દિશામાં. તે આવી છે તેઓ ખબર ન હતી. તે રડાર સુધી હવે હતી પેટ્રિઅટ સિસ્ટમ ઘટક Dhahran બચાવ સ્થિત અને રાખવા આવતા દુશ્મન મિસાઇલ ટ્રૅક. -ધ રડાર ખૂબ સરસ હતી. તે ખરેખર ટ્રેક કરશે સ્કડ ની પરિસ્થિતિ અને પછી જ્યાં આગાહી તે કદાચ હશે આગામી સમય રડાર એક પલ્સ મોકલવામાં. કે શ્રેણી દ્વાર તરીકે ઓળખાતું હતું. પેટ્રિઅટ એક વખત -પછી પૂરતો સમય છે નક્કી પાછા જાઓ અને આગામી તપાસ પસાર આ શોધાયેલ પદાર્થ માટે સ્થાન તે પાછા જાય છે. તેથી તે ખોટા પાછા ગયા ત્યારે સ્થળ, તે પછી કોઈ પદાર્થ જુએ છે. અને તે કોઈ પદાર્થ હતો કે નક્કી કરે છે. ખોટા શોધ હતી કે અને તે ટ્રેક નહીં. -ધ આવતા સ્કડ અદ્રશ્ય રડાર સ્ક્રીન માંથી, અને સેકન્ડ પછી, તે બેરેક્સ માં સ્લેમ્ડ. આ સ્કડ 28 માર્યા ગયા. તે છેલ્લા એક છોડવામાં આવી હતી પ્રથમ ગલ્ફ વોર દરમિયાન. દુઃખદ, સુધારાયેલ સોફ્ટવેર નીચેના દિવસે પરોઢ ખાતે પહોંચ્યા. સોફ્ટવેર ભૂલ હતી આવી નિશ્ચિત, બંધ મુશ્કેલીમાં એક પ્રકરણ પેટ્રિઅટ મિસાઈલ ઇતિહાસ. [સમાપ્ત વિડિઓ પ્લેબેક] ડેવિડ જે MALAN: તે CS50 માટે છે. અમે બુધવાર પર જોશે. [સંગીત વગાડવાનો]