1 00:00:00,000 --> 00:00:02,360 >> DAVID J. Malan: As you know probabbilment, temperaturi jitkejlu bl-użu 2 00:00:02,360 --> 00:00:04,360 skali differenti fi Stati partijiet tad-dinja. 3 00:00:04,360 --> 00:00:09,370 Per eżempju, 212 grad Fahrenheit huwa 100 gradi Celsius u 32 grad 4 00:00:09,370 --> 00:00:11,810 Fahrenheit huwa 0 gradi Celsius. 5 00:00:11,810 --> 00:00:14,230 Ma Ikun sbieħ jekk kellna kompjuter programm li ħallietna nsiru 6 00:00:14,230 --> 00:00:16,950 jikkonvertu minn, ngħidu aħna, Fahrenheit biex Celsius? 7 00:00:16,950 --> 00:00:18,510 >> Well, nistgħu jiktbu dak il-programm. 8 00:00:18,510 --> 00:00:24,350 Ejja ewwel tibda bil jinkludu cs50.h, sabiex inkunu jistgħu jużaw funzjoni msejħa 9 00:00:24,350 --> 00:00:28,610 tikseb float, li, bħal get int, gets numru mill-utent, iżda din id-darba 10 00:00:28,610 --> 00:00:31,440 floating point numru - wieħed ma 'punt deċimali. 11 00:00:31,440 --> 00:00:34,840 >> Ejja jinkludu wkoll io.h standard sabiex ikollna aċċess għal 12 00:00:34,840 --> 00:00:36,230 funzjonijiet simili stampati f. 13 00:00:36,230 --> 00:00:40,000 U ejja wkoll jiddikjara prinċipali bil-mod normali. 14 00:00:40,000 --> 00:00:42,675 >> Ejja jmiss fil-pront l-utent għall- temperatura fil Fahrenheit. 15 00:00:42,675 --> 00:00:46,050 16 00:00:46,050 --> 00:00:49,220 Ejja issa fil-fatt tikseb dik it-temperatura mill-utent, l-ewwel billi 17 00:00:49,220 --> 00:00:52,910 tiddikjara varjabbli imsejjaħ f ta float tip. 18 00:00:52,910 --> 00:00:56,750 A float, għal darb'oħra, li jfisser varjabbli li Taħżen valur b'punt li jvarja, 19 00:00:56,750 --> 00:00:58,200 wieħed ma 'punt deċimali. 20 00:00:58,200 --> 00:01:01,780 >> Ejja tassenja din ir-ritorn valur tal get float. 21 00:01:01,780 --> 00:01:06,080 U mbagħad ejja jagħmlu daqsxejn ta 'aritmetika fuqha, l-ewwel tiddikjara float ieħor 22 00:01:06,080 --> 00:01:11,690 sejjaħ C għal Celsius u jaħżen fil C tal- riżultat ta 'xi aritmetika komuni. 23 00:01:11,690 --> 00:01:19,060 5.0 diviż bil-9.0 drabi F minus 32.0. 24 00:01:19,060 --> 00:01:23,440 >> Ejja issa jistampaw il-riżultat ta 'din il-komputazzjoni. 25 00:01:23,440 --> 00:01:24,730 mija f - 26 00:01:24,730 --> 00:01:27,890 li jfisser placeholder għal floating punt valur - 27 00:01:27,890 --> 00:01:31,680 comma C biex jistampa l- temperatura Celsius. 28 00:01:31,680 --> 00:01:33,000 Ejja tiffranka finali tiegħi. 29 00:01:33,000 --> 00:01:38,220 Jikkompilaw mal F għall C. Mexxi l-programm ma dot slash F biex C. 30 00:01:38,220 --> 00:01:39,940 >> U ejja jippruvaw dawk komuni temperaturi. 31 00:01:39,940 --> 00:01:45,820 212 gradi fil Fahrenheit huwa 100 grad Celsius. 32 00:01:45,820 --> 00:01:50,090 32 gradi fil Fahrenheit huwa 0 gradi fil Celsius. 33 00:01:50,090 --> 00:01:54,240 >> Issa tikri tirfina dan il-programm ftit bit billi ma istampar pjuttost ħafna ta '0 34 00:01:54,240 --> 00:01:55,820 wara li post deċimali. 35 00:01:55,820 --> 00:01:57,940 Biex tagħmel dan, jien ser jmorru lura għal-linja 11. 36 00:01:57,940 --> 00:02:03,430 U aktar milli biss tispeċifika mija f, Jien ser minflok tispeċifika, ngħidu aħna, 37 00:02:03,430 --> 00:02:08,800 0.1 f, tinforma print f dak I biss tixtieq li jistampaw valur b'punt li jvarja 38 00:02:08,800 --> 00:02:11,750 għall-valur wieħed wara l-punt deċimali. 39 00:02:11,750 --> 00:02:13,630 >> Ejja resave-programm tiegħi. 40 00:02:13,630 --> 00:02:19,680 Recompile ma make F li C. Imbagħad terġa 'ssir bl dot slash F biex C. U 41 00:02:19,680 --> 00:02:24,910 ejja retry ma ', ngħidu aħna, 212, li tagħti me 100.0. 42 00:02:24,910 --> 00:02:28,360 >> Issa huwa min jinnota li għamilt xi ħaġa very deliberatament fil-linja 9. 43 00:02:28,360 --> 00:02:35,830 Avviż kif I kiteb 5 huwa 5.0, 9 bħala 9.0, u anke 32 bħala 32.0. 44 00:02:35,830 --> 00:02:39,000 Ukoll, l-ewwel tnejn ta 'dawk il-valuri kienu ħafna deliberatament magħżula bħala 45 00:02:39,000 --> 00:02:42,200 Valuri b'punt li jvarja, mhux biss għax ta 'konsistenza mal-bqija 46 00:02:42,200 --> 00:02:42,940 tal-programm tiegħi - 47 00:02:42,940 --> 00:02:45,110 li b'mod ċar tinvolvi f'wiċċ l-ilma punt valuri - 48 00:02:45,110 --> 00:02:50,210 iżda minħabba jirriżulta li C, Jekk inti jaqsam l-int minn int ieħor, il- 49 00:02:50,210 --> 00:02:54,350 tweġiba jirriżultaw int ser tikseb hija innifsu int, anki jekk dak il-mezz 50 00:02:54,350 --> 00:02:57,450 jkollhom armih kollox wara l-punt deċimali. 51 00:02:57,450 --> 00:03:04,990 >> Fi kliem ieħor, jekk nibdel dan 5.0 sa 5 jew din 9.0-9 u mbagħad resave 52 00:03:04,990 --> 00:03:10,550 programm tiegħi, recompile bil make F sa C, u mbagħad jerġa 'run ma dot slash F 53 00:03:10,550 --> 00:03:15,310 li C u t-tip fl-input ta 'prodotti simili 212, avviż li r-risposta jien ser 54 00:03:15,310 --> 00:03:17,860 nikseb dan iż-żmien huwa attwalment pjuttost ħażin. 55 00:03:17,860 --> 00:03:23,570 0.0 mhuwiex il-grad korrett fil- Celsius bħala 212 Fahrenheit. 56 00:03:23,570 --> 00:03:24,500 >> Well, x'inhu għaddej? 57 00:03:24,500 --> 00:03:29,410 Ukoll, f'konformità 9, minħabba 5 issa hija integer u minħabba 9 issa huwa 58 00:03:29,410 --> 00:03:34,810 numru sħiħ, ir-riżultat matematikament għandha tkun 0.5555 u l-bqija. 59 00:03:34,810 --> 00:03:39,120 Iżda minħabba r-riżultat, skond Regoli Ċ, għandu jkun hemm int, li 60 00:03:39,120 --> 00:03:44,020 0.5555 gets tintrema, jħallu lilna biss 0. 61 00:03:44,020 --> 00:03:48,600 >> Għalhekk fl-aħħar, I jispiċċaw multiplikazzjoni pjuttost aċċidentalment 0 darbiet f minus 62 00:03:48,600 --> 00:03:52,830 32.0, li huwa irrelevanti x'inhu dejjem ser jagħti me 0. 63 00:03:52,830 --> 00:03:56,930 Allura wieħed iżomm f'moħħu, kwalunkwe ħin jużaw Valuri b'punt li jvarja fil-viċinanza ta ' 64 00:03:56,930 --> 00:03:59,860 ints, inti tista 'ma neċessarjament jiksbu l-risposta sabiex inti tistenna. 65 00:03:59,860 --> 00:04:04,220 U sabiex jieħdu ħsieb għall-użu, kif għamilt fil- Valuri ewwel każ, b'punt li jvarja 66 00:04:04,220 --> 00:04:06,530 madwar biex jevitaw xi kwistjonijiet bħal dawn. 67 00:04:06,530 --> 00:04:08,267