1 00:00:00,000 --> 00:00:00,580 2 00:00:00,580 --> 00:00:02,950 >> DAVID J. Malan: Gadewch i ni yn awr yn gweithredu swyddogaeth nad yw'n dim ond rhaid ochr 3 00:00:02,950 --> 00:00:05,920 effaith, ond yn hytrach yn dychwelyd gwerth dychwelyd. 4 00:00:05,920 --> 00:00:09,150 Yn benodol, gadewch i ni yn gweithredu swyddogaeth a elwir yn cael int cadarnhaol y mae eu 5 00:00:09,150 --> 00:00:11,490 bwrpas mewn bywyd yw i wneud yn union hynny. 6 00:00:11,490 --> 00:00:14,500 Yn benodol, byddwn i'n hoffi defnyddio swyddogaeth hon fel a ganlyn - 7 00:00:14,500 --> 00:00:18,770 int N yn cael cael int cadarnhaol. 8 00:00:18,770 --> 00:00:23,640 Ac yna print f, diolch gyfer y cant i fel 9 00:00:23,640 --> 00:00:26,490 placeholder, coma, diwedd. 10 00:00:26,490 --> 00:00:29,030 >> Yn awr, wrth gwrs, yn cael bositif Nid yw int yn bodoli eto. 11 00:00:29,030 --> 00:00:33,020 Felly, gadewch i ni addo ei roi ar waith gan ychwanegu at frig fy ffeil linell 12 00:00:33,020 --> 00:00:37,110 fel int ddynodi bod y swyddogaeth hon Bydd yn dychwelyd yn int - 13 00:00:37,110 --> 00:00:39,110 cael int cadarnhaol. 14 00:00:39,110 --> 00:00:43,000 A gadewch i ni nodi yn benodol bod hyn yn Ni fydd swyddogaeth cymryd unrhyw fewnbwn, a 15 00:00:43,000 --> 00:00:45,570 felly mae ei ddadleuon yn ddi-rym. 16 00:00:45,570 --> 00:00:49,500 Gadewch i ni yn awr ar waelod fy ffeil, yn syml fel y gallaf gadw prif fyny top, 17 00:00:49,500 --> 00:00:52,220 mewn gwirionedd yn gweithredu neu ddiffinio swyddogaeth hon. 18 00:00:52,220 --> 00:00:55,120 >> Yn gyntaf rydym yn dechrau gyda'r un llofnod, fel petai - 19 00:00:55,120 --> 00:00:59,140 int cael bositif int ddi-rym. 20 00:00:59,140 --> 00:01:01,910 Ac yn awr gadewch i ni weithredu yn cael int cadarnhaol fel a ganlyn. 21 00:01:01,910 --> 00:01:05,410 Gadewch i ni ddatgan int, a elwir hefyd yn N, ond y gellid ei alw bron unrhyw beth 22 00:01:05,410 --> 00:01:11,360 hoffem, mae'r canlynol tra bod rhai cyflwr yn wir, a byddwn yn dychwelyd at 23 00:01:11,360 --> 00:01:13,030 y cyflwr mewn munud. 24 00:01:13,030 --> 00:01:20,800 Print f, rhowch int cadarnhaol i mi, ac yn awr gadewch i ni ddefnyddio Get int o 25 00:01:20,800 --> 00:01:23,290 y llyfrgell CS50 i mewn gwirionedd cael y int. 26 00:01:23,290 --> 00:01:28,210 >> Ond yn fy nghyflwr, gadewch i ni wneud hyn dolen cyn belled ag y N yn llai nag 1. 27 00:01:28,210 --> 00:01:31,260 Mewn geiriau eraill, cyn belled â bod y defnyddiwr nid yw'n cydweithredu drwy ddarparu i mi 28 00:01:31,260 --> 00:01:36,260 gyda int gadarnhaol, gadewch i mi ail-prydlon iddo ef neu hi unwaith eto, ac unwaith eto, ac unwaith eto 29 00:01:36,260 --> 00:01:37,720 hyd nes ei fod yn gwneud hynny. 30 00:01:37,720 --> 00:01:40,360 Ond dydw i ddim yn ei wneud eto, oherwydd ar y ddiwedd y swyddogaeth hon mae angen i fi 31 00:01:40,360 --> 00:01:42,210 mewn gwirionedd wneud rhywbeth gyda mewnbwn hwnnw. 32 00:01:42,210 --> 00:01:46,710 Ac felly yr wyf i'n mynd i fynd am ddychwelyd gyda llinell fel pen dychwelyd 33 00:01:46,710 --> 00:01:52,850 colon, a thrwy hynny yn dychwelyd gwirioneddol int to main a alwodd y swyddogaeth hon. 34 00:01:52,850 --> 00:01:56,810 Nawr mae'n werth nodi, er bod cael ffurflenni int cadarnhaol yn int, mae'n 35 00:01:56,810 --> 00:02:00,470 yn sicr yn iawn er mwyn iddo ddychwelyd yn int cadarnhaol penodol. 36 00:02:00,470 --> 00:02:04,170 Nid oes math data arbennig ar gyfer cyfanrif positif yn benodol, er mwyn i ni 37 00:02:04,170 --> 00:02:06,490 yn syml defnyddiwch y adeiladwyd yn "int." 38 00:02:06,490 --> 00:02:11,250 >> Nawr yn ôl at linell naw, yn sylwi fy mod yn argraffu N. Ond mae'r N yn y llinell hon 39 00:02:11,250 --> 00:02:13,970 yn perthyn i'r N sydd wedi datgan yn unol wyth. 40 00:02:13,970 --> 00:02:17,840 Felly, mae'n troi allan y gall chi'n hollol gael newidynnau a enwir union felly 41 00:02:17,840 --> 00:02:20,250 belled ag y maent yn bodoli o fewn gwahanol scopes. 42 00:02:20,250 --> 00:02:24,950 A dwyn i gof bod cwmpas yn cael ei ddiffinio gan y braces cyrliog bod y rhan fwyaf yn agos 43 00:02:24,950 --> 00:02:27,620 amgylch y newidyn eich bod wedi diffinio. 44 00:02:27,620 --> 00:02:30,370 >> Nawr, gadewch i ni lunio a redeg y rhaglen hon. 45 00:02:30,370 --> 00:02:35,210 Gwneud swyddogaethau 1, dot slaes swyddogaethau 1. 46 00:02:35,210 --> 00:02:40,040 Gadewch i ni roi cynnig cadarnhaol int tebyg i 50, ac mae'n dweud diolch am y 50. 47 00:02:40,040 --> 00:02:43,180 Yn y cyfamser, os nad ydym yn cydweithredu, rhedeg y rhaglen eto, gan roi 48 00:02:43,180 --> 00:02:47,550 0, rwy'n annog eto, neu roi negyddol 1, rwy'n annog eto. 49 00:02:47,550 --> 00:02:51,720 Ond os wyf yn Cydweithio ei ddarparu gyda, yn dweud, 50, rwy'n diolch am y 50. 50 00:02:51,720 --> 00:02:54,590