1 00:00:07,010 --> 00:00:09,640 [Powered by Google Translate] פאַנגקשאַנז זענען סעקשאַנז פון קאָד געניצט ין אַ גרעסערע פּראָגראַם 2 00:00:09,640 --> 00:00:11,430 צו דורכפירן אַ באַזונדער אַרבעט. 3 00:00:11,430 --> 00:00:15,060 זיי זענען אויך באקאנט ווי פּראָוסידזשערז, סובראָוטינעס, און סובפּראָגראַמס, 4 00:00:15,060 --> 00:00:18,320 זינט זיי טאַקע זענען נאָר מיני מגילה ין מגילה. 5 00:00:18,320 --> 00:00:20,340 אפילו כאָטש איר זאל נישט האָבן באמערקט, 6 00:00:20,340 --> 00:00:24,090 איר רובֿ באשטימט האָבן געניצט פאַנגקשאַנז שוין אויב איר ווע פּראָוגראַמד אין סי 7 00:00:24,090 --> 00:00:26,770 ווען איר שרייַבן שטאָפּן צו די פאַרשטעלן ניצן פּרינטף, 8 00:00:26,770 --> 00:00:29,380 איר ניטאָ פאקטיש ניצן אַ פֿונקציע גערופן פּרינטף. 9 00:00:29,380 --> 00:00:33,760 פּונקט אַזוי, געטינט און געצטרינג זענען פאַנגקשאַנז אַז קס50 גיט פֿאַר איר. 10 00:00:33,760 --> 00:00:37,750 ווי פּראָוגראַמערז, מיר נוצן פאַנגקשאַנז פֿאַר אַ נומער פון סיבות. 11 00:00:37,750 --> 00:00:41,240 >> ווייל פאַנגקשאַנז צו דורכפירן פּראָסט טאַסקס ווי שרייבן צו די פאַרשטעלן 12 00:00:41,240 --> 00:00:44,480 און פּראַמפּטינג דער באַניצער פֿאַר אַרייַנשרייַב סאַוועס אונדז צייַט ווען פּראָגראַממינג. 13 00:00:44,480 --> 00:00:47,510 עס ס ניט נייטיק צו שרייַבן קאָד צו טאָן יענע זעלבע זאכן 14 00:00:47,510 --> 00:00:49,520 זינט זיי ניטאָ שוין געטאן פֿאַר אונדז. 15 00:00:49,520 --> 00:00:54,580 עס ס נישט אַפֿילו נייטיק פֿאַר אונדז צו פֿאַרשטיין פּונקט ווי יענע פאַנגקשאַנז אַרבעט ינעווייניק. 16 00:00:54,580 --> 00:00:58,880 אַנשטאָט, מיר נאָר האָבן צו וויסן ווי צו נוצן אָדער רופן זיי אין אונדזער מגילה. 17 00:00:58,880 --> 00:01:02,040 עס ס אויך נוציק צו שרייַבן פאַנגקשאַנז אין גרעסערע מגילה 18 00:01:02,040 --> 00:01:04,330 אַפֿילו אויב איר ניטאָ ניט פּלאַנירונג אויף בעת אנדערע נוצן זיי, 19 00:01:04,330 --> 00:01:06,830 נאָר צו טיילן אַרויף די גרעסערע אַרבעט אין האַנט. 20 00:01:06,830 --> 00:01:11,910 דעם וועג, איר געבן סטרוקטור צו דיין קאָד פיל ווי איר 'ד געבן סטרוקטור צו אַן עסיי, 21 00:01:11,910 --> 00:01:15,180 און מיט טאַקע גרויס פראיעקטן איר געבן קייפל מענטשן 22 00:01:15,180 --> 00:01:16,730 צו אַרבעטן אויף פאַרשידענע טיילן אין דער זעלביקער צייַט 23 00:01:16,730 --> 00:01:20,480 זינט עס ס קלאָר ווו איין מענטש ס ווערק ענדס און אנדערן ס 'הייבט. 24 00:01:20,480 --> 00:01:26,530 >> פאַנגקשאַנז טיפּיקלי אַרבעטן אויף 1 אָדער מער ינפּוץ, באקאנט ווי טענות אָדער פּאַראַמעטערס, 25 00:01:26,530 --> 00:01:30,520 טראַנספאָרמינג יענע ינפּוץ אין אַ רעזולטאַט ווערט וואָס איז דעמאָלט אומגעקערט. 26 00:01:30,520 --> 00:01:34,950 אבער, עס ס אויך מעגלעך צו האָבן פאַנגקשאַנז אַז טאָן נישט נוצן קיין אַרייַנשרייַב טענות 27 00:01:34,950 --> 00:01:36,400 און טאָן ניט צוריקקומען אַן רעזולטאַט. 28 00:01:36,400 --> 00:01:38,790 אָוקיי, גענוג מיט די פּוכיק שטאָפּן. 29 00:01:38,790 --> 00:01:41,790 זאל ס נעמען אַ קוק בייַ עטלעכע פאַקטיש פאַנגקשאַנז אין סי 30 00:01:41,790 --> 00:01:45,570 >> דאָ מיר האָבן אַ פֿונקציע גערופן קוואַדראַט אַז, גלויבן עס אָדער נישט, 31 00:01:45,570 --> 00:01:47,570 קאַמפּיוץ די קוואַדראַט פון די אַרייַנשרייַב. 32 00:01:47,570 --> 00:01:49,490 זאל ס דייסעקט דעם סינטאַקס פון עס. 33 00:01:49,490 --> 00:01:51,860 דער ערשטער וואָרט איר זען אין די פֿונקציע, ינט, 34 00:01:51,860 --> 00:01:57,460 ספּעסאַפייז די צוריקקומען טיפּ פון די פֿונקציע; וואָס איז, דער C טיפּ פון די פֿונקציע 'ס פּראָדוקציע. 35 00:01:57,460 --> 00:02:00,370 דאס פונקציאָנירן וועט רעזולטאַט אַ ווערט מיט טיפּ ינט. 36 00:02:00,370 --> 00:02:04,100 דער ווייַטער וואָרט איר זען איז דער נאָמען פון דעם פֿונקציע, קוואַדראַט אין דעם פאַל. 37 00:02:04,100 --> 00:02:07,390 נאַמינג פאַנגקשאַנז אַפּראָופּרייטלי איז דער הויפּט וויכטיק 38 00:02:07,390 --> 00:02:11,260 זינט עס ס מיסטאָמע די מערסט קענטיק דאַקיומענטיישאַן פון וואָס די פֿונקציע טוט. 39 00:02:11,260 --> 00:02:14,880 עס זאל זייַן קיל צו נאָמען דעם פֿונקציע שאַזאַם אָדער באָויאַה, 40 00:02:14,880 --> 00:02:18,340 אָבער וואָס וואָלט ניט דערציילן אונדז עפּעס וועגן וואָס די פֿונקציע טוט. 41 00:02:18,340 --> 00:02:23,470 >> ווייַטערדיק די פֿונקציע נאָמען קומען די ינפּוץ צו דעם פֿונקציע, די טענות. 42 00:02:23,470 --> 00:02:26,380 זיי זענען ליסטעד ין אַ גאַנג פון קלאַמערן 43 00:02:26,380 --> 00:02:30,160 מיט ביידע זייער טיפּ און אַ נאָמען צו נוצן פֿאַר זיי ין דער גוף פון דער פֿונקציע. 44 00:02:30,160 --> 00:02:34,030 קוואַדראַט נעמט נאָר 1 אַרגומענט, דער ינט צו קוואַדראַט, 45 00:02:34,030 --> 00:02:36,160 וואָס איך ווע באַשלאָסן צו געבן די נאָמען X. 46 00:02:36,160 --> 00:02:40,760 דאס ענדס די פֿונקציע דערקלערונג אָדער פּראָוטאַטייפּ. 47 00:02:40,760 --> 00:02:43,320 די געגרייַזלט ברייסאַז אַרומיק די מנוחה פון די פֿונקציע 48 00:02:43,320 --> 00:02:45,870 דינאָוט דער אָנהייב און סוף פון די פֿונקציע גוף, 49 00:02:45,870 --> 00:02:48,320 די דעפֿיניציע פון ​​די פֿונקציע זיך. 50 00:02:48,320 --> 00:02:50,300 קוואַדראַט איז אַ שיין פּשוט פונקציאָנירן. 51 00:02:50,300 --> 00:02:54,100 עס ס נאָר גאַט 1 שורה, זינט אַלע מיר האָבן צו טאָן איז מערן X דורך זיך. 52 00:02:54,100 --> 00:02:59,250 די וואָרט צוריקקומען ספּעסאַפייז דער רעזולטאַט ווערט און טריגערז די סוף פון די פֿונקציע. 53 00:02:59,250 --> 00:03:03,430 צו נוצן די קוואַדראַט פונקציאָנירן, מיר דאַרפֿן צו צושטעלן די צונעמען ינפּוץ 54 00:03:03,430 --> 00:03:05,310 און דעריבער כאַפּן די רעזולטאַט. 55 00:03:05,310 --> 00:03:08,140 דאָ, איר זען אַ פּאָר פון וועגן פון טאן וואָס. 56 00:03:08,140 --> 00:03:13,600 מיר קענען פאָרן אין אַ רוי ינט, ווי 6, אָדער מיר קענען פאָרן אין אַ בייַטעוודיק ווי אַ. 57 00:03:13,600 --> 00:03:15,700 באַמערקונג אַז יעדער צייַט מיר רופן קוואַדראַט, 58 00:03:15,700 --> 00:03:18,330 מיר כאַפּן די רעזולטאַט אין אַ בייַטעוודיק און דעמאָלט דרוק עס. 59 00:03:18,330 --> 00:03:22,690 אבער, מיר טאָן ניט האָבן צו קראָם די צוריקקומען ווערט אין אַ בייַטעוודיק און דעמאָלט דרוקן. 60 00:03:22,690 --> 00:03:27,090 מיר קען נאָר שיקן עס גלייַך צו פּרינטף ווי מיר טאָן ווען מיר קוואַדראַט 10, 61 00:03:27,090 --> 00:03:30,580 אָבער דאָס טוט מיינען אַז מיר טאָן נישט האָבן צוטריט צו די צוריקקומען ווערט פון קוואַדראַט 10 62 00:03:30,580 --> 00:03:32,230 אנדערש אין די קאָד. 63 00:03:32,230 --> 00:03:34,890 זאל ס קוק בייַ אן אנדער פּשוט בייַשפּיל. 64 00:03:34,890 --> 00:03:38,750 >> דאס מאָל, מיר וועט סאַכאַקל 2 פלאָוץ צוזאַמען אַזוי אַז מיר קענען זען וואָס אַ פֿונקציע קוקט ווי 65 00:03:38,750 --> 00:03:41,220 ווען עס ס גאַט 2 ינפּוץ אַנשטאָט פון נאָר 1. 66 00:03:41,220 --> 00:03:43,950 ווי איר קענען זען, עס ס נישט פיל אַנדערש. 67 00:03:43,950 --> 00:03:47,330 אַלע מיר טאָן איז לייגן אין די 2 אַרגומענט, אַ לאָזנ שווימען געהייסן ב, 68 00:03:47,330 --> 00:03:51,820 צו די אַרגומענט רשימה ניצן אַ קאָמע צו באַזונדער עס פון דער ערשטער אַרגומענט, לאָזנ שווימען אַ. 69 00:03:51,820 --> 00:03:55,550 אַזוי, אונדזער קוואַדראַט און סאַכאַקל פאַנגקשאַנז זענען שיין גרינג צו פֿאַרשטיין 70 00:03:55,550 --> 00:03:58,930 ווייַל זיי ניטאָ עקוויוואַלענט צו פאַנגקשאַנז אַז איר ווע געזען פריער אין מאַט קלאַס. 71 00:03:58,930 --> 00:04:01,610 איצט, לאָזן ס קוק בייַ אַ פֿונקציע וואָס איז אַ ביסל אַנדערש. 72 00:04:01,610 --> 00:04:04,620 אַנשטאָט פון אומגעקערט אַ ווערט, עס מאַדאַפייז אַ שטאַט. 73 00:04:04,620 --> 00:04:07,260 דאס איז באקאנט ווי בעת אַ זייַט ווירקונג. 74 00:04:07,260 --> 00:04:10,750 אין דעם פּראָגראַם, די פּרינטפ_פודד_סטילע פֿונקציע 75 00:04:10,750 --> 00:04:13,410 האט אַ צוריקקומען טיפּ אַז מיר האָבן נישט געזען פאר, פּאָסל. 76 00:04:13,410 --> 00:04:16,730 >> פּאָסל איז געניצט צו זאָגן אַז אַ פֿונקציע טוט נישט צוריקקומען עפּעס. 77 00:04:16,730 --> 00:04:19,410 עס זענען קיין וועריאַבאַלז פון טיפּ פּאָסל, 78 00:04:19,410 --> 00:04:22,760 אַזוי אויב איר פּרובירן צו צוריקקומען עפּעס פון אַ פונקציאָנירן ווי פּרינטפ_פודד_סטילע, 79 00:04:22,760 --> 00:04:24,290 דער קאַמפּיילער וועט שרייַען בייַ איר. 80 00:04:24,290 --> 00:04:29,390 ין פּרינטפ_פודד_סטילע, מיר זען אַז בשעת די פֿונקציע נאָך פּערפאָרמז אַ אַרבעט, 81 00:04:29,390 --> 00:04:31,890 ניימלי, סוויטשינג אַלע רס צו ווס, 82 00:04:31,890 --> 00:04:36,380 די פונט פון די פֿונקציע איז צו מאָדיפיצירן די שטריקל און דעמאָלט פאַרקויפט עס אויס אויף די פאַרשטעלן, 83 00:04:36,380 --> 00:04:39,400 טשאַנגינג די שטאַט פון די פּראָגראַם אַנשטאָט פון אומגעקערט אַ רעזולטאַט. 84 00:04:39,400 --> 00:04:43,700 ניצן דעם פֿונקציע איז זייער פיל ווי ניצן אונדזער קוואַדראַט און סאַכאַקל פאַנגקשאַנז, 85 00:04:43,700 --> 00:04:46,950 אַחוץ מיר טאָן ניט קראָם דער רעזולטאַט אין אַ בייַטעוודיק אָדער פאָרן עס אַוועק צו אן אנדער פֿונקציע 86 00:04:46,950 --> 00:04:49,520 זינט עס איז קיין רעזולטאַט צו רעדן פון. 87 00:04:49,520 --> 00:04:53,180 אַזוי, ווען מיר צונויפנעמען און לויפן אונדזער עלמער פֿאָד פּראָגראַם, 88 00:04:53,180 --> 00:04:56,970 איר זען אַז "איר ראַסקאַללי קיניגל!" געץ פארוואנדלען רעכט צו 89 00:04:56,970 --> 00:04:58,730 "איר וואַסקאַללי וואַבביט!" 90 00:04:58,730 --> 00:05:02,250 >> צום סוף, דאָרט ס 1 מער פֿונקציע ווערט דיסקאַסינג 91 00:05:02,250 --> 00:05:06,810 זינט איר ווע שוין ניצן עס אין יעדער C פּראָגראַם איר ווע אלץ געשריבן, הויפּט. 92 00:05:06,810 --> 00:05:09,450 הויפּט איז אַ פֿונקציע פיל ווי קיין אנדערע. 93 00:05:09,450 --> 00:05:13,580 עס ס גאַט אַ צוריקקומען טיפּ, אַ נאָמען, אַ רשימה פון טענות, און אַ גוף. 94 00:05:13,580 --> 00:05:16,110 די צוריקקומען טיפּ פון הויפּט איז שטענדיק אַ ינט, 95 00:05:16,110 --> 00:05:19,120 און דעם ינט איז געניצט צו יבערגעבן די סטאַטוס פון די פּראָגראַם ווען עס פינישעס. 96 00:05:19,120 --> 00:05:23,360 >> האט עס לויפן הצלחה, אָדער האט עס סוף פרי ווייַל פון אַ טעות? 97 00:05:23,360 --> 00:05:26,390 אומגעקערט צו נול ינדיקייץ אַ מצליח לויפן, 98 00:05:26,390 --> 00:05:29,510 און אומגעקערט קיין ניט-נול ווערט ינדיקייץ אַ טעות. 99 00:05:29,510 --> 00:05:31,950 דיפּענדינג אויף די מין פון פּראָגראַם איר ניטאָ שרייבן, 100 00:05:31,950 --> 00:05:34,960 אומגעקערט פאַרשידענע קאָודז פֿאַר פאַרשידענע ערראָרס קענען זייַן נוציק 101 00:05:34,960 --> 00:05:37,210 פֿאַר מענטשן וואס נוצן דיין פּראָגראַם שפּעטער אויף. 102 00:05:37,210 --> 00:05:40,220 מאַינס טענות זענען אַ ביסל מער קאָמפּליצירט. 103 00:05:40,220 --> 00:05:42,150 >> דער אַרגומענט רשימה קענען אָדער זייַן ליידיק, 104 00:05:42,150 --> 00:05:45,330 וואָס מיר אָנווייַזן דורך שרייבן פּאָסל אין צווישן די קלאַמערן, 105 00:05:45,330 --> 00:05:50,220 אָדער די רשימה קענען האָבן 2 טענות: אַ ינט און אַ מענגע פון ​​טשאַר * ס. 106 00:05:50,220 --> 00:05:52,820 דאס זענען געניצט ווען דיין פּראָגראַם בדעה צו נוצן 107 00:05:52,820 --> 00:05:56,490 טענות דורכגעגאנגען אין אויף די באַפֿעל שורה ווען די פּראָגראַם איז ינוואָוקט. 108 00:05:56,490 --> 00:05:59,690 דער ינט אַרגומענט איז טיפּיקלי גערופן אַרגק, 109 00:05:59,690 --> 00:06:03,300 און עס ס גלייַך די לענג פון די טשאַר * מענגע, באקאנט ווי אַרגוו. 110 00:06:03,300 --> 00:06:07,080 אַרגוו כּולל די באַפֿעל שורה טענות דורכגעגאנגען אין דער פּראָגראַם. 111 00:06:07,080 --> 00:06:11,440 אין אן אנדער קורץ, מיר וועט רעדן וועגן ווי צו נוצן די וועריאַבאַלז אין מער דעטאַל. 112 00:06:11,440 --> 00:06:15,220 פֿאַר איצט, איר קענען פילן פֿרייַ צו דערקלערן הויפּט אָדער וועג. 113 00:06:15,220 --> 00:06:19,410 איך טיפּיקלי קלייַבן צו שרייַבן עס אויס די קירצער וועג, מיט קיין טענות, ווען מעגלעך. 114 00:06:19,410 --> 00:06:22,230 >> איצט אַז איר וויסן ווי צו שרייַבן פאַנגקשאַנז, 115 00:06:22,230 --> 00:06:25,030 איר ניטאָ געזונט אויף דיין וועג צו דעוועלאָפּינג גרעסערע, מער קאָמפּליצירט מגילה. 116 00:06:25,030 --> 00:06:29,740 מייַן נאָמען איז נאַטע האַרדיסאָן. דאס איז קס50.