[Powered by Google Translate] פאַנגקשאַנז זענען סעקשאַנז פון קאָד געניצט ין אַ גרעסערע פּראָגראַם
צו דורכפירן אַ באַזונדער אַרבעט.
זיי זענען אויך באקאנט ווי פּראָוסידזשערז, סובראָוטינעס, און סובפּראָגראַמס,
זינט זיי טאַקע זענען נאָר מיני מגילה ין מגילה.
אפילו כאָטש איר זאל נישט האָבן באמערקט,
איר רובֿ באשטימט האָבן געניצט פאַנגקשאַנז שוין אויב איר ווע פּראָוגראַמד אין סי
ווען איר שרייַבן שטאָפּן צו די פאַרשטעלן ניצן פּרינטף,
איר ניטאָ פאקטיש ניצן אַ פֿונקציע גערופן פּרינטף.
פּונקט אַזוי, געטינט און געצטרינג זענען פאַנגקשאַנז אַז קס50 גיט פֿאַר איר.
ווי פּראָוגראַמערז, מיר נוצן פאַנגקשאַנז פֿאַר אַ נומער פון סיבות.
>> ווייל פאַנגקשאַנז צו דורכפירן פּראָסט טאַסקס ווי שרייבן צו די פאַרשטעלן
און פּראַמפּטינג דער באַניצער פֿאַר אַרייַנשרייַב סאַוועס אונדז צייַט ווען פּראָגראַממינג.
עס ס ניט נייטיק צו שרייַבן קאָד צו טאָן יענע זעלבע זאכן
זינט זיי ניטאָ שוין געטאן פֿאַר אונדז.
עס ס נישט אַפֿילו נייטיק פֿאַר אונדז צו פֿאַרשטיין פּונקט ווי יענע פאַנגקשאַנז אַרבעט ינעווייניק.
אַנשטאָט, מיר נאָר האָבן צו וויסן ווי צו נוצן אָדער רופן זיי אין אונדזער מגילה.
עס ס אויך נוציק צו שרייַבן פאַנגקשאַנז אין גרעסערע מגילה
אַפֿילו אויב איר ניטאָ ניט פּלאַנירונג אויף בעת אנדערע נוצן זיי,
נאָר צו טיילן אַרויף די גרעסערע אַרבעט אין האַנט.
דעם וועג, איר געבן סטרוקטור צו דיין קאָד פיל ווי איר 'ד געבן סטרוקטור צו אַן עסיי,
און מיט טאַקע גרויס פראיעקטן איר געבן קייפל מענטשן
צו אַרבעטן אויף פאַרשידענע טיילן אין דער זעלביקער צייַט
זינט עס ס קלאָר ווו איין מענטש ס ווערק ענדס און אנדערן ס 'הייבט.
>> פאַנגקשאַנז טיפּיקלי אַרבעטן אויף 1 אָדער מער ינפּוץ, באקאנט ווי טענות אָדער פּאַראַמעטערס,
טראַנספאָרמינג יענע ינפּוץ אין אַ רעזולטאַט ווערט וואָס איז דעמאָלט אומגעקערט.
אבער, עס ס אויך מעגלעך צו האָבן פאַנגקשאַנז אַז טאָן נישט נוצן קיין אַרייַנשרייַב טענות
און טאָן ניט צוריקקומען אַן רעזולטאַט.
אָוקיי, גענוג מיט די פּוכיק שטאָפּן.
זאל ס נעמען אַ קוק בייַ עטלעכע פאַקטיש פאַנגקשאַנז אין סי
>> דאָ מיר האָבן אַ פֿונקציע גערופן קוואַדראַט אַז, גלויבן עס אָדער נישט,
קאַמפּיוץ די קוואַדראַט פון די אַרייַנשרייַב.
זאל ס דייסעקט דעם סינטאַקס פון עס.
דער ערשטער וואָרט איר זען אין די פֿונקציע, ינט,
ספּעסאַפייז די צוריקקומען טיפּ פון די פֿונקציע; וואָס איז, דער C טיפּ פון די פֿונקציע 'ס פּראָדוקציע.
דאס פונקציאָנירן וועט רעזולטאַט אַ ווערט מיט טיפּ ינט.
דער ווייַטער וואָרט איר זען איז דער נאָמען פון דעם פֿונקציע, קוואַדראַט אין דעם פאַל.
נאַמינג פאַנגקשאַנז אַפּראָופּרייטלי איז דער הויפּט וויכטיק
זינט עס ס מיסטאָמע די מערסט קענטיק דאַקיומענטיישאַן פון וואָס די פֿונקציע טוט.
עס זאל זייַן קיל צו נאָמען דעם פֿונקציע שאַזאַם אָדער באָויאַה,
אָבער וואָס וואָלט ניט דערציילן אונדז עפּעס וועגן וואָס די פֿונקציע טוט.
>> ווייַטערדיק די פֿונקציע נאָמען קומען די ינפּוץ צו דעם פֿונקציע, די טענות.
זיי זענען ליסטעד ין אַ גאַנג פון קלאַמערן
מיט ביידע זייער טיפּ און אַ נאָמען צו נוצן פֿאַר זיי ין דער גוף פון דער פֿונקציע.
קוואַדראַט נעמט נאָר 1 אַרגומענט, דער ינט צו קוואַדראַט,
וואָס איך ווע באַשלאָסן צו געבן די נאָמען X.
דאס ענדס די פֿונקציע דערקלערונג אָדער פּראָוטאַטייפּ.
די געגרייַזלט ברייסאַז אַרומיק די מנוחה פון די פֿונקציע
דינאָוט דער אָנהייב און סוף פון די פֿונקציע גוף,
די דעפֿיניציע פון ​​די פֿונקציע זיך.
קוואַדראַט איז אַ שיין פּשוט פונקציאָנירן.
עס ס נאָר גאַט 1 שורה, זינט אַלע מיר האָבן צו טאָן איז מערן X דורך זיך.
די וואָרט צוריקקומען ספּעסאַפייז דער רעזולטאַט ווערט און טריגערז די סוף פון די פֿונקציע.
צו נוצן די קוואַדראַט פונקציאָנירן, מיר דאַרפֿן צו צושטעלן די צונעמען ינפּוץ
און דעריבער כאַפּן די רעזולטאַט.
דאָ, איר זען אַ פּאָר פון וועגן פון טאן וואָס.
מיר קענען פאָרן אין אַ רוי ינט, ווי 6, אָדער מיר קענען פאָרן אין אַ בייַטעוודיק ווי אַ.
באַמערקונג אַז יעדער צייַט מיר רופן קוואַדראַט,
מיר כאַפּן די רעזולטאַט אין אַ בייַטעוודיק און דעמאָלט דרוק עס.
אבער, מיר טאָן ניט האָבן צו קראָם די צוריקקומען ווערט אין אַ בייַטעוודיק און דעמאָלט דרוקן.
מיר קען נאָר שיקן עס גלייַך צו פּרינטף ווי מיר טאָן ווען מיר קוואַדראַט 10,
אָבער דאָס טוט מיינען אַז מיר טאָן נישט האָבן צוטריט צו די צוריקקומען ווערט פון קוואַדראַט 10
אנדערש אין די קאָד.
זאל ס קוק בייַ אן אנדער פּשוט בייַשפּיל.
>> דאס מאָל, מיר וועט סאַכאַקל 2 פלאָוץ צוזאַמען אַזוי אַז מיר קענען זען וואָס אַ פֿונקציע קוקט ווי
ווען עס ס גאַט 2 ינפּוץ אַנשטאָט פון נאָר 1.
ווי איר קענען זען, עס ס נישט פיל אַנדערש.
אַלע מיר טאָן איז לייגן אין די 2 אַרגומענט, אַ לאָזנ שווימען געהייסן ב,
צו די אַרגומענט רשימה ניצן אַ קאָמע צו באַזונדער עס פון דער ערשטער אַרגומענט, לאָזנ שווימען אַ.
אַזוי, אונדזער קוואַדראַט און סאַכאַקל פאַנגקשאַנז זענען שיין גרינג צו פֿאַרשטיין
ווייַל זיי ניטאָ עקוויוואַלענט צו פאַנגקשאַנז אַז איר ווע געזען פריער אין מאַט קלאַס.
איצט, לאָזן ס קוק בייַ אַ פֿונקציע וואָס איז אַ ביסל אַנדערש.
אַנשטאָט פון אומגעקערט אַ ווערט, עס מאַדאַפייז אַ שטאַט.
דאס איז באקאנט ווי בעת אַ זייַט ווירקונג.
אין דעם פּראָגראַם, די פּרינטפ_פודד_סטילע פֿונקציע
האט אַ צוריקקומען טיפּ אַז מיר האָבן נישט געזען פאר, פּאָסל.
>> פּאָסל איז געניצט צו זאָגן אַז אַ פֿונקציע טוט נישט צוריקקומען עפּעס.
עס זענען קיין וועריאַבאַלז פון טיפּ פּאָסל,
אַזוי אויב איר פּרובירן צו צוריקקומען עפּעס פון אַ פונקציאָנירן ווי פּרינטפ_פודד_סטילע,
דער קאַמפּיילער וועט שרייַען בייַ איר.
ין פּרינטפ_פודד_סטילע, מיר זען אַז בשעת די פֿונקציע נאָך פּערפאָרמז אַ אַרבעט,
ניימלי, סוויטשינג אַלע רס צו ווס,
די פונט פון די פֿונקציע איז צו מאָדיפיצירן די שטריקל און דעמאָלט פאַרקויפט עס אויס אויף די פאַרשטעלן,
טשאַנגינג די שטאַט פון די פּראָגראַם אַנשטאָט פון אומגעקערט אַ רעזולטאַט.
ניצן דעם פֿונקציע איז זייער פיל ווי ניצן אונדזער קוואַדראַט און סאַכאַקל פאַנגקשאַנז,
אַחוץ מיר טאָן ניט קראָם דער רעזולטאַט אין אַ בייַטעוודיק אָדער פאָרן עס אַוועק צו אן אנדער פֿונקציע
זינט עס איז קיין רעזולטאַט צו רעדן פון.
אַזוי, ווען מיר צונויפנעמען און לויפן אונדזער עלמער פֿאָד פּראָגראַם,
איר זען אַז "איר ראַסקאַללי קיניגל!" געץ פארוואנדלען רעכט צו
"איר וואַסקאַללי וואַבביט!"
>> צום סוף, דאָרט ס 1 מער פֿונקציע ווערט דיסקאַסינג
זינט איר ווע שוין ניצן עס אין יעדער C פּראָגראַם איר ווע אלץ געשריבן, הויפּט.
הויפּט איז אַ פֿונקציע פיל ווי קיין אנדערע.
עס ס גאַט אַ צוריקקומען טיפּ, אַ נאָמען, אַ רשימה פון טענות, און אַ גוף.
די צוריקקומען טיפּ פון הויפּט איז שטענדיק אַ ינט,
און דעם ינט איז געניצט צו יבערגעבן די סטאַטוס פון די פּראָגראַם ווען עס פינישעס.
>> האט עס לויפן הצלחה, אָדער האט עס סוף פרי ווייַל פון אַ טעות?
אומגעקערט צו נול ינדיקייץ אַ מצליח לויפן,
און אומגעקערט קיין ניט-נול ווערט ינדיקייץ אַ טעות.
דיפּענדינג אויף די מין פון פּראָגראַם איר ניטאָ שרייבן,
אומגעקערט פאַרשידענע קאָודז פֿאַר פאַרשידענע ערראָרס קענען זייַן נוציק
פֿאַר מענטשן וואס נוצן דיין פּראָגראַם שפּעטער אויף.
מאַינס טענות זענען אַ ביסל מער קאָמפּליצירט.
>> דער אַרגומענט רשימה קענען אָדער זייַן ליידיק,
וואָס מיר אָנווייַזן דורך שרייבן פּאָסל אין צווישן די קלאַמערן,
אָדער די רשימה קענען האָבן 2 טענות: אַ ינט און אַ מענגע פון ​​טשאַר * ס.
דאס זענען געניצט ווען דיין פּראָגראַם בדעה צו נוצן
טענות דורכגעגאנגען אין אויף די באַפֿעל שורה ווען די פּראָגראַם איז ינוואָוקט.
דער ינט אַרגומענט איז טיפּיקלי גערופן אַרגק,
און עס ס גלייַך די לענג פון די טשאַר * מענגע, באקאנט ווי אַרגוו.
אַרגוו כּולל די באַפֿעל שורה טענות דורכגעגאנגען אין דער פּראָגראַם.
אין אן אנדער קורץ, מיר וועט רעדן וועגן ווי צו נוצן די וועריאַבאַלז אין מער דעטאַל.
פֿאַר איצט, איר קענען פילן פֿרייַ צו דערקלערן הויפּט אָדער וועג.
איך טיפּיקלי קלייַבן צו שרייַבן עס אויס די קירצער וועג, מיט קיין טענות, ווען מעגלעך.
>> איצט אַז איר וויסן ווי צו שרייַבן פאַנגקשאַנז,
איר ניטאָ געזונט אויף דיין וועג צו דעוועלאָפּינג גרעסערע, מער קאָמפּליצירט מגילה.
מייַן נאָמען איז נאַטע האַרדיסאָן. דאס איז קס50.