DAVID J. Malan: As you know probabbilment, temperaturi jitkejlu bl-użu skali differenti fi Stati partijiet tad-dinja. Per eżempju, 212 grad Fahrenheit huwa 100 gradi Celsius u 32 grad Fahrenheit huwa 0 gradi Celsius. Ma Ikun sbieħ jekk kellna kompjuter programm li ħallietna nsiru jikkonvertu minn, ngħidu aħna, Fahrenheit biex Celsius? Well, nistgħu jiktbu dak il-programm. Ejja ewwel tibda bil jinkludu cs50.h, sabiex inkunu jistgħu jużaw funzjoni msejħa tikseb float, li, bħal get int, gets numru mill-utent, iżda din id-darba floating point numru - wieħed ma 'punt deċimali. Ejja jinkludu wkoll io.h standard sabiex ikollna aċċess għal funzjonijiet simili stampati f. U ejja wkoll jiddikjara prinċipali bil-mod normali. Ejja jmiss fil-pront l-utent għall- temperatura fil Fahrenheit. Ejja issa fil-fatt tikseb dik it-temperatura mill-utent, l-ewwel billi tiddikjara varjabbli imsejjaħ f ta float tip. A float, għal darb'oħra, li jfisser varjabbli li Taħżen valur b'punt li jvarja, wieħed ma 'punt deċimali. Ejja tassenja din ir-ritorn valur tal get float. U mbagħad ejja jagħmlu daqsxejn ta 'aritmetika fuqha, l-ewwel tiddikjara float ieħor sejjaħ C għal Celsius u jaħżen fil C tal- riżultat ta 'xi aritmetika komuni. 5.0 diviż bil-9.0 drabi F minus 32.0. Ejja issa jistampaw il-riżultat ta 'din il-komputazzjoni. mija f - li jfisser placeholder għal floating punt valur - comma C biex jistampa l- temperatura Celsius. Ejja tiffranka finali tiegħi. Jikkompilaw mal F għall C. Mexxi l-programm ma dot slash F biex C. U ejja jippruvaw dawk komuni temperaturi. 212 gradi fil Fahrenheit huwa 100 grad Celsius. 32 gradi fil Fahrenheit huwa 0 gradi fil Celsius. Issa tikri tirfina dan il-programm ftit bit billi ma istampar pjuttost ħafna ta '0 wara li post deċimali. Biex tagħmel dan, jien ser jmorru lura għal-linja 11. U aktar milli biss tispeċifika mija f, Jien ser minflok tispeċifika, ngħidu aħna, 0.1 f, tinforma print f dak I biss tixtieq li jistampaw valur b'punt li jvarja għall-valur wieħed wara l-punt deċimali. Ejja resave-programm tiegħi. Recompile ma make F li C. Imbagħad terġa 'ssir bl dot slash F biex C. U ejja retry ma ', ngħidu aħna, 212, li tagħti me 100.0. Issa huwa min jinnota li għamilt xi ħaġa very deliberatament fil-linja 9. Avviż kif I kiteb 5 huwa 5.0, 9 bħala 9.0, u anke 32 bħala 32.0. Ukoll, l-ewwel tnejn ta 'dawk il-valuri kienu ħafna deliberatament magħżula bħala Valuri b'punt li jvarja, mhux biss għax ta 'konsistenza mal-bqija tal-programm tiegħi - li b'mod ċar tinvolvi f'wiċċ l-ilma punt valuri - iżda minħabba jirriżulta li C, Jekk inti jaqsam l-int minn int ieħor, il- tweġiba jirriżultaw int ser tikseb hija innifsu int, anki jekk dak il-mezz jkollhom armih kollox wara l-punt deċimali. Fi kliem ieħor, jekk nibdel dan 5.0 sa 5 jew din 9.0-9 u mbagħad resave programm tiegħi, recompile bil make F sa C, u mbagħad jerġa 'run ma dot slash F li C u t-tip fl-input ta 'prodotti simili 212, avviż li r-risposta jien ser nikseb dan iż-żmien huwa attwalment pjuttost ħażin. 0.0 mhuwiex il-grad korrett fil- Celsius bħala 212 Fahrenheit. Well, x'inhu għaddej? Ukoll, f'konformità 9, minħabba 5 issa hija integer u minħabba 9 issa huwa numru sħiħ, ir-riżultat matematikament għandha tkun 0.5555 u l-bqija. Iżda minħabba r-riżultat, skond Regoli Ċ, għandu jkun hemm int, li 0.5555 gets tintrema, jħallu lilna biss 0. Għalhekk fl-aħħar, I jispiċċaw multiplikazzjoni pjuttost aċċidentalment 0 darbiet f minus 32.0, li huwa irrelevanti x'inhu dejjem ser jagħti me 0. Allura wieħed iżomm f'moħħu, kwalunkwe ħin jużaw Valuri b'punt li jvarja fil-viċinanza ta ' ints, inti tista 'ma neċessarjament jiksbu l-risposta sabiex inti tistenna. U sabiex jieħdu ħsieb għall-użu, kif għamilt fil- Valuri ewwel każ, b'punt li jvarja madwar biex jevitaw xi kwistjonijiet bħal dawn.