[Powered by Google Translate] [וואָך 2, קאָנטינועד] [דוד י מאַלאַן, האַרוואַרד אוניווערסיטעט] [דאס איז קס50. - CS50.TV] אַלע רעכט. דאס איז קס50, און דאָס איז דער סוף פון וואָך 2. אויב איר דערוואַרטן צו זייַן הונגעריק אַרום דעם צייַט מאָרגן, וויסן אַז מיר רע געגאנגען צו קאַנווין ווי אַ קליין גרופּע מאָרגן, דאנערשטאג, 1:15. עס ס דעם URL דאָ אויב איר 'ד ווי צו רסוופּ. ספעיס איז לימיטעד, אַזוי ביטע מוחל אויב די פאָרעם האט אָנגעפילט אַרויף דורך די צייַט איר פּלאָמבירן דאָס אויס. אן אנדער URL, כאָטש, וואָס זאל זייַן פון אינטערעס איז דאָס. אין נאָר וועגן אַ חודש ס צייַט, די לויף איז געגאנגען צו זייַן געמאכט בנימצא אַלע די מער בראָדלי דורך עדקס, דורך וואָס פאָלקס אויף דער אינטערנעט וועט זייַן ביכולת צו נאָכגיין צוזאמען, דינגען אין דעם קורס גאַנץ אַקטיוולי, אין פאַקט. זיי וועט זייַן ניצן די קס50 אַפּפּליאַנסע און קס50 דיסקוטירן און רובֿ פון די פארשידענע ווייכווארג מכשירים אַז מיר שוין האָבן שוין ניצן דעם זמאַן. און איינער פון די איניציאַטיוון מיר 'ד ווי צו נעמען אויף ווי אַן עקספּערימענט דעם יאָר איז צו זען נאָר ווי פיל צופרידן מיר קענען איבערזעצן אין אנדערע גערעדט און געשריבן שפּראַכן. אַזוי אויב איר זאל האָבן אַן אינטערעס אין פּאַרטיסאַפּייטינג אין דעם פּרויעקט ווערביי מיר וועלן צושטעלן ענגליש טראַנסקריפּץ און סובטיטלעס פֿאַר דעם קורס ס רעפֿעראַטן און קורצע הייזלעך און סעמינאַרס און סעקשאַנז און די ווי, אויב איר רעדן ווי געשמירט אָדער שרייַבן ווי געשמירט עטלעכע אנדערע שפּראַך, מיר וואָלט ליבע צו דינגען איר אין דעם פּרויעקט ווערביי איר נעמען אויף איין אָדער מער פון די ווידיאס, איבערזעצן זיי אין אַ שפּראַך איר וויסן גאַנץ גוט. צו געבן איר אַ זינען פון די צובינד, דאָרט ס דעם וועב-באזירט באַניצער צובינד אַז מיר וועט זייַן ניצן וואָס וועט מאַכן יסענשאַלי אַ וי ווי דעם. דאס איז מיר לערנען עטלעכע האַללאָוועען צוריק, און אויף די רעכט-האַנט זייַט דאָרט אין שוואַרץ ווייַטער צו די צייַט סטאַמפּס, איר וועט זען די פארשידענע זאכן וואָס זענען געקומען זיך פון מיין מויל אַז טאָג, און דעמאָלט ווייטער עס איר וועט זייַן ביכולת צו איבערזעצן אין עטלעכע אנדערע שפּראַך פּונקט וואָס די מאַפּינג איז צווישן, אין דעם פאַל, ענגליש און, זאָגן, שפּאַניש. אַזוי עס ס 'פאקטיש אַ זייער באַניצער-פרייַנדלעך געצייַג. איר קענען ריוויינד און פעסט-פאָרויס זייער גרינג מיט קלאַוויאַטור שאָרטקאַץ. אַזוי אויב איר וואָלט ווי צו נעמען אָנטייל אין דעם עקספּערימענט און האָבן דיין ווערטער געזען און לייענען דורך פּאַטענטשאַלי טויזנטער פון פאָלקס אויס דאָרט, ביטע טאָן פילן פֿרייַ צו אָנטייל נעמען. איין וואָרט וועגן די קעצל פון מאנטאג. כדי מיר האָבן געשיקט אַ איבערגעשפיצטן סקערי אָנזאָג, טאָן פאַרשטיין אַז, ווי אָפיס שעה פֿאָרשלאָגן און ווי סעקשאַנז פֿאָרשלאָגן, די פּלאַן פון דעם קורס איז זייער פיל צו האָבן סטודענטן קאַלאַבערייטינג און גערעדט צו אַרבעטן דורך פּראָבלעם שטעלט און פראבלעמען צוזאַמען, און טאַקע די שורה נאָר קומט אַראָפּ צו, ווידער, די אַרבעט איר לעסאָף פאָרלייגן זאָל זייַן דיין אייגן. און אַזוי גאַנץ האָנעסטלי, אין אָפיס שעה עס ס טאָוטאַלי נאָרמאַל, עס ס טאָוטאַלי צו ווערן דערוואַרט אַפֿילו, צו זייַן טשאַטינג מיט עטלעכע פרייַנד ווייַטער צו איר. אויב ער אָדער זי איז סטראַגאַלינג מיט עטלעכע טעמע און איר ניטאָ ווי, "אָה, גוט, לאָזן מיר געבן איר אַ בליק פון עטלעכע שורה פון קאָד וואָס איך געשריבן," אַז ס פייַן, אַז כאַפּאַנז, און אַז ס 'זייער פיל קאַנדוסיוו, איך טראַכטן, מיט די פּראָצעס פון לערנען. ווו די שורה געץ קראָסט איז ווען דער קאָפּ איז סאָרט פון טילטאַד איבער דאָ פֿאַר ווייַט אויך פילע סעקונדעס אָדער מינוט פֿאַר וואָס טאַקע צו האָבן נאָר געווען אַ ונבלאָקקינג געלעגנהייט פֿאַר דיין פרייַנד, און זיכער ווען דאס באַקומען פארביטן דורך בליצפּאָסט און דראָפּבאָקס און די ווי, דאָרט אויך איז די שורה. אַזוי דורך אַלע מיטל פילן באַקוועם און פילן ענקערידזשד צו שמועסן מיט פריינט און קלאַסמייץ וועגן פּסעץ און מער, און נאָר פאַרשטיין אַז וואָס איר לעסאָף פאָרלייגן זאָל טאַקע זייַן דער פּראָדוקט פון דיין שאַפונג און ניט עמעצער אַנדערש. און אַזוי איינער פון די פעלד-ספּעציפיש פראבלעמען פֿאַר פּסעט2, וואָס וועט קומען אויס שפּעט מאָרגן נאַכט, איז צו ונטערטוקנ זיך אין דער וועלט פון קריפּטאָגראַפי, וואָס איז די קונסט פון ענקריפּטינג אָדער סקראַמבלינג אינפֿאָרמאַציע, און דעם לעסאָף דערציילט צו דער וועלט פון זיכערהייַט. איצט, זיכערהייַט פֿאַר רובֿ פון אונדז קומט אין די פאָרעם פון פערלי מאַנדיין מעקאַניזאַמז. אַלע פון ​​אונדז האָבן וסערנאַמעס און פּאַסווערדז, און אַלע פון ​​אונדז האָבן זייער שלעכט וסערנאַמעס און פּאַסווערדז, רובֿ מסתּמא. אויב דיין Password איז די זעלבע אויף קייפל וועבסיטעס, אַז ס מיסטאָמע נישט דער בעסטער געדאַנק, ווי מיר וועט דיסקוטירן צו זמאַן ס סוף. אויב דיין Password איז געשריבן אויף אַ קלעפּיק טאָן - קיין וויץ - אויף דיין מאָניטאָר, אַז אויך איז נישט דאַווקע דער בעסטער פּלאַן אָבער גאַנץ אַ פּראָסט דערשיינונג. און אויב איר ניטאָ ניט ניצן קריפּטאָגראַפי צו ינקריפּט דיין פּאַסווערדז, זיי זענען דער הויפּט שפּירעוודיק. אַזוי אויב איר טראַכטן איר ניטאָ זייַענדיק סופּער קלוג דורך בעת אַ פאַרבאָרגן וואָרט דאָקומענט ערגעץ אויף דיין שווער פאָר וואָס האט אַלע פון ​​דיין פּאַסווערדז אָבער עס ס אין אַ טעקע אַז קיין איינער ס געגאנגען צו קוקן אין, אַז אויך איז נישט אַ זייער זיכער מעקאַניזאַם. און אַזוי וואָס פּסעט2 וועט פאָרשטעלן איז דעם קונסט פון קריפּטאָגראַפי און סקראַמבלינג אינפֿאָרמאַציע אַזוי אַז זאכן ווי פּאַסווערדז זענען אַלע די מער זיכער. די קאָנטעקסט דאָ איז אַז מיט ינסאַקיער דאַטן קומט אַ געלעגנהייט צו ינקריפּט עס און צו שטופּנ עס. און אַזוי דעם, פֿאַר בייַשפּיל, איז אַ בייַשפּיל פון אַ ענקריפּטיד אָנזאָג. דאס פאקטיש זאגט עפּעס אין ענגליש, אָבער עס ס קלאר נישט אינגאנצן קלאָר ווי דער טאָג. און מיר וועט קומען פול קרייַז הייַנט צו רייצנ באַזונדער וואָס דעם סוד אָנזאָג דאָ איז. אבער אין דער עמעס וועלט פון קאָמפּיוטערס, דאס טאָן ניט אַפֿילו קוק ווי זיי זאל זייַן ענגליש פראַסעס. פֿאַר בייַשפּיל, דאָס איז וואָס איר זאל געפֿינען אויף אַ נאָרמאַל לינוקס אָדער מעק אָדער יוניקס קאָמפּיוטער אין אַ טעקע וואָס איז געווען אַמאָל אויף אַ מאָל גערופן די Password טעקע. נאָוואַדייַס עס ס 'שוין אריבערגעפארן צו אנדערע ערטער. אבער אויב איר קוק אין די רעכט אָרט אויף אַ סיסטעם, איר וועט זען נישט נאָר אייער נאמען אָדער אַז פון אנדערע מענטשן אויף דער סיסטעם, אָבער איר וועט זען אַן ענקריפּטיד ווערסיע פון ​​זייער פּאַראָל. טאקע, דער וואָרט קריפּט דאָרט סאַגדזשעס אַז די פאלגענדע שטאָפּן איז ענקריפּטיד, און דעם סעריע פון ​​פּאָנעם טראַפ - אותיות, און אותיות און נומערן און אַזוי אַרויס קענען זייַן דעקריפּטעד בלויז דורך בכלל געוואוסט עטלעכע סוד - אַ סוד וואָרט, אַ סוד נומער - און אַזוי טאַקע, די קונסט פון קריפּטאָגראַפי לעסאָף בוילז אַראָפּ צו צוטרוי פון עטלעכע סאָרט און געוואוסט עפּעס אַז עמעצער אַנדערש טוט נישט. אַזוי מיר וועט ויספאָרשן דעם אין אַ ביסל מער דעטאַל הייַנט און אין די פּסעט צו קומען. און איצט אַ וואָרט אויף פאָרן / פאַרלאָזן. ספּעציעל ווי עטלעכע פון ​​איר האָבן דייווד אין פּסעט1, די אַפּפּליאַנסע, און אַ זייער נייַ וועלט פֿאַר זיך, פאַרשטיין אַז פראַסטריישאַנז און צעמישונג און נאָר טעכניש שוועריקייטן זענען גאַנץ צו ווערן דערוואַרט, ספּעציעל מיט דעם ערשטער פּסעט, ווו עס ס נאָר אַזוי פיל נייַ, נאָר געטינג באַקאַנט מיט לס און סי און אַלע די אַרקיין קאַמאַנדז און אַ נייַ סוויווע, און אַז ס באַזונדער פון די פאַקטיש מאַטעריאַל און פּראָגראַממינג זיך. אַזוי פאַרשטיין אויך אַז עס זענען זיכער אָפיס שעה וואָס עקזיסטירן ווי אַ שטיצן סטרוקטור. סעקשאַנז אָנהייבן דעם קומען זונטאג. אבער רובֿ ימפּאָרטאַנטלי, אויב איר ניטאָ געפיל פּונקט אַז דאָס איז נישט די וועלט פֿאַר איר, פאַרשטיין אַז עס טאַקע טוט נאָר נעמען צייַט. און האבן עס נישט פֿאַר דעם געלעגנהייט יאָרן צוריק פֿאַר מיר פון גענומען אַ קלאַס פאָרן / פאַרלאָזן, האָנעסטלי, איך קיינמאָל וואָלט האָבן אַפֿילו שטעלן פֿיס אין די קלאַסצימער. און איר קענען טוישן דעם אַרויף ביז, זאָגן, די פינפט מאנטיק פון דעם קורס, אַזוי אויב איר ניטאָ אויף דעם ברעג איצט, פאַרשטיין אַז אלא ווי קאָפּ אין עטלעכע אנדערע וואסערן בעסאַכאַקל, טאָן זיכער באַטראַכטן נאָר טשאַנגינג צו פאָרן / פאַרלאָזן. ווידער, דאָרט ס ניט טאַקע דעם קולטור דאָ אין האַרוואַרד פון גענומען זאכן פאָרן / פאַרלאָזן זינט אַלעמען טאַקע וויל צו דערגרייכן אָדער אָוועראַטשיעווע, אָבער פראַנגקלי, דאָס איז אַ ווונדערלעך וועג פון טריינג עפּעס אויס וואָס זאל נישט זייַן באַקאַנט צו איר, און איר וועט סוף אַרויף טאן, אין רובֿ פאלן, גאַנץ פייַן, טאָמער פיל צו דיין יבערראַשן. און אין מער באַטאָנען תּנאָים, וואָס איך טראַכטן פאָרן / פאַרלאָזן בכלל טוט, ספּעציעל ווי איר זאל האָבן איבערגעלעבט מיט פּסעט0, אויב איר שטעלן אין 10 שעה, 15 שעה, 25 שעה אין עטלעכע פּסעט און איר ניטאָ נאָר באַנגינג דיין קאָפּ קעגן די וואַנט און עס ס געטינג סופּער שפּעט בייַ נאַכט אָבער איר ווע גענומען די פּסעט 90% פון די וועג און איר נאָר קענען נישט רעכענען אויס איין זאַך, פאָרן / פאַרלאָזן טאַקע נעמט די ברעג אַוועק פון אַ קלאַס ווי דעם, ווו איר קענען סאָרט פון צומ גליק זאָגן, "אָוקיי, איך וויסן עס ס נישט גאנץ, אָבער איך געארבעט מיין טאָכעס אַוועק אויף דעם, איך בין שיין צופרידן מיט ווו עס געענדיקט אַרויף, " און וואָס וועט טרעפן די עקספּעקטיישאַנז פֿאַר פאָרן / פאַרלאָזן. אַזוי טאָן האַלטן אַז אין מיינונג. אַלע רעכט. אַזוי יענע פון ​​איר וואס האָבן סטראַגאַלד צו נוצן די האַרוואַרד אוניווערסיטעט ווי-פי, וויסן אַז דאָרט ס אַ קס50 ססיד, אַ ווי-פי קשר, פלאָוטינג אַרום אַז איר זאל האָבן בעסער גליק פֿאַר. עס ס אַ ביסל ייראַניק אַז די Password פֿאַר דעם, אויב איר וואָלט ווי צו פּרובירן קאַנעקטינג צו דעם פֿאַר בעסער ספּידז - און לאָזן אונדז וויסן אויב עס ס ניט בעסער - איז 12,345, אַלע דער וועג אַרויף צו 8 ווייַל 8 איז מער זיכער ווי 5. אַזוי אויב איר דאַרפֿן די ווי-פי פּאַראָל, פאַרבינדן צו קס50 ווירעלעססלי דאָ, 12,345,678, און פּאָסטן אויף קס50 דיסקוטירן אויב איר נאָך האָבן ינטערמיטאַנט קאַנעקטיוויטי ישוז, און מיר וועט לאָזן די כוחות אַז זייַן וויסן פֿאַר דעם אָרט. אַלע רעכט. אַזוי אַ שנעל טיזער, ספּעציעל פֿאַר יענע פון ​​איר וואס זענען פאָכער יינגלעך אָדער גערלז פון אַלע זאכן עפּל. וואָס איך דאַג אַרויף פון אַ ביסל יאָרן צוריק איז געווען דעם טעקע דאָ, יונלאָקק.ק, נאָר צו מין פון מאַכן מער באַטאָנען און מער קאָמפּליצירט עטלעכע פון ​​די מער יקערדיק C מגילה מיר ווע שוין שרייבן. אַזוי איך געעפנט אַרויף דעם טעקע, יונלאָקק.ק. עס ס פאַראַנען אויף די לעקטורעס בלאַט פֿאַר הייַנט. אויף די לינקס-האַנט זייַט איר זען אַ לאַנג רשימה פון פאַנגקשאַנז. אַזוי דער יונגערמאַן וואס געשריבן דעם געשריבן זיך אַ פּלאַץ פון פאַנגקשאַנז, מער ווי נאָר הויפּט. ער געניצט אַ גאַנץ בינטל פון לייברעריז דאָ, און אויב מיר אָנהייבן סקראָללינג דורך, וואָס דאָס פאקטיש איז איז די זייער ערשטער, איך גלויבן, פּלאַצן פֿאַר דער אָריגינעל יפאָנע. ווען איר געוואלט צו דזשאַילברעאַק דער אָריגינעל יפאָנע, וואָס מיטל ונטעטהער עס פון ביי & ה און פאקטיש ינסטאַלירן ספּעציעל ווייכווארג אויף אים און טאָן זאכן וואָס עפּל האט נישט וועלן מענטשן צו טאָן, עמעצער גענומען די צייַט צו רעכענען אויס פּונקט ווי זיי קען גווורע ווייכווארג פלאָז, מיסטייקס, באַגז, אין עפּל סאָפטווער, און אַזוי איז געבוירן יונלאָקק.ק-- אַז אויב איר צונויפגעשטעלט עס אויף דיין קאָמפּיוטער און אינסטאַלירן עס אַנטו אַ יפאָנע וואָס איז פארבונדן צו דיין קאָמפּיוטער דורך, זאָגן, אַ וסב קאַבלע, דאָס וואָלט געבן איר אַדמיניסטראַטיווע אָדער וואָרצל פּריווילאַדזשאַז אויף דיין יפאָנע און לאָזן איר טאָן שיין פיל וועלכער איר ווילן. און אַזוי עס ס 'שוין דעם פאַסאַנייטינג קאַץ און מויז שפּיל צווישן עפּל און די מנוחה פון די וועלט אין באַזונדער ווי זיי, ווי פילע קאָמפּאַניעס, פּרובירן צו שלאָס זייער שטאָפּן אַראָפּ אַזוי אַז איר קענען נאָר טאָן מיט אים וואָס זיי אויסן. אבער דאַנק צו מענטשן ווי דעם און די פארשטאנד פון נידעריק-מדרגה פרטים - און אין דעם פאַל C פּראָגראַממינג - און אַ פּלאַץ פון די באַקאַנט קאַנסטראַקץ אַז מיר ווע אנגעהויבן פּלייינג מיט, איר זענען ביכולת צו טאַקע ליווערידזש די ייַזנוואַרג אין אַ שטייגער איר זען פּאַסיק און נישט דאַווקע עטלעכע פֿירמע ענטיטי. אַזוי פֿאַר בייַשפּיל, איך האב קיין געדאַנק וואָס אַלע דעם איז טאן, אָבער געטווערסיאָן סאָונדס שיין סטרייטפאָרווערד, און עס קוקט ווי דאָס איז אַ פֿונקציע וואָס דאָס מענטש געשריבן. עס נעמט עטלעכע מין פון ינטעגער ווי אַן אַרגומענט, טוט נישט צוריקקומען עפּעס, אָבער אויס צו שלייף מיט אַ פֿאַר שלייף דאָ און אַן אויב צושטאַנד, אויב צושטאַנד ברעכן, און עפעס דערציילט צו ווערסיע נומערן אויב מיר מעגילע אַראָפּ, אַפֿילו כאָטש אַ פּלאַץ פון די טערמינען זענען געגאנגען צו זייַן נייַ. און דאָרט ס אַ גאנצע פּלאַץ פון פאַנגקשאַנז אין דאָ מיר ווע קיינמאָל געזען און זאל ניט אלץ זען איבער די לויף פון די זמאַן. אין די סוף פון די טאָג, עס גייט די זעלבע כּללים און לאָגיק וואָס מיר ווע שוין פּלייינג מיט אַזוי ווייַט. אַזוי דאָס איז ווייַט אויך אַלט צו פּלאַצן דיין יפאָנע 3ס אָדער 4ס אָדער באַלד 5ס די טעג, אָבער וויסן אַז עס ס אַלע זייער פיל דערייווד פון דעם וועלט אַז מיר ווע דייווד אין. זאל ס נעמען אַ קוק בייַ אַ ביסל מער פּשוט בייַשפּיל: דאָס איין, נאָר צו באַקומען וואָרמד אַרויף מיט עטלעכע סינטאַקס און אויך עטלעכע אנדערע דאַטן טיפּ אַז מיר ווע גערעדט וועגן אָבער האָבן ניט טאַקע געזען אין סי דאס איז אַ טעקע גערופן פּאָסיטיווע1.ק, און פּער די באַמערקונגען אין דער שפּיץ, דאָס נאָר פאדערונגען אַז אַ באַניצער צושטעלן אַ positive נומער. אַזוי עס ס 'אַ בייַשפּיל פון אַ טאָן-בשעת שלייף, וואָס איז פייַן פֿאַר באַניצער ינטעראַקטיוו מגילה ווו איר דאַרפֿן צו זאָגן די באַניצער צו טאָן עפּעס, און אויב זיי טאָן ניט קאָואַפּערייט איר שרייַען בייַ זיי אָדער אָפּוואַרפן זייער אַרייַנשרייַב. פאַל אין פונט: איך בין געגאנגען צו טאָן שורות 19 דורך 24 אַזוי לאַנג ווי דער באַניצער האט נישט געגעבן מיר אַ positive נומער. דעם פּרט דאָ אויף שורה 18, וואָס האט איך דערקלערן N אויבן דעם גאַנץ לופּינג בויען ווי קעגן צו רעכט ווייַטער צו שורה 22 ווו איך פאקטיש זאָרגן צו באַקומען ען? יאָ. [תּלמיד] פאַרנעם. >> יאָ, אַזוי דאָס אַרויסגעבן פון פאַרנעם. און אין ליימאַן ס תּנאָים, וואָס טוט פאַרנעם אָפּשיקן צו? יאָ. >> [ינאָדאַבאַל תּלמיד ענטפער] >> קענען איר רעדן אַ ביסל לאַודער? [תּלמיד] ווו איר קענען צוטריט אַז בייַטעוודיק. >> פּערפעקט. ווו איר קענען צוטריט אַ באַזונדער בייַטעוודיק. און בכלל, די הערשן פון גראָבער פינגער אַזוי ווייַט האט שוין אַז דער פאַרנעם פון עטלעכע בייַטעוודיק איז דיפיינד דורך דער מערסט פריש געגרייַזלט ברייסאַז אַז איר ווע געזען. און אַזוי אין דעם פאַל, אויב איך געמאכט דעם גרייַז פון דיקלערינג ען אויף שורה 22, אַז שורה וואָלט אַרבעט. איך וואָלט באַקומען אַן ינט, און איך וואָלט שטעלן עס אין אַז בייַטעוודיק N אין שורה 22, אָבער וואָס שורה פון קאָד וואָלט איצט האָבן קיין געדאַנק וואָס איך בין גערעדט וועגן? >> [תּלמיד] 25. [מאַלאַן] 25, און עס טורנס אויס 24 ווי געזונט ווייַל אין דעם פאַל עס פאלס אַרויס פון די געגרייַזלט ברייסאַז. אַזוי נאָר אַ קליין ביסל פון אַ צוטשעפּעניש אָבער זייער לייכט סאַלווד דורך פשוט דיקלערינג די בייַטעוודיק אַרויס פון די פֿונקציע זיך. מיר וועט זען שפּעטער הייַנט איר קענען גיין איין שריט ווייַטער און איר קען אַפֿילו באַקומען אַ ביסל פויל. און דאָס איז ניט צו זייַן רעקאַמענדיד אין אַלגעמיין, אָבער איר קען אַפֿילו באַקומען פויל און לייגן אַ בייַטעוודיק גלאָובאַלי, אַזוי צו רעדן, נישט ין פון אַ פֿונקציע, ניט ין פון אַ שלייף, אָבער אין דער טעקע זיך, אַרויס פון אַלע פון ​​די פאַנגקשאַנז איר ווע געשריבן, ווי איך האט דאָ אויף שורה 15. דאס איז בכלל פראַונד אויף, אָבער פאַרשטיין דעם איז אַ לייזונג מאל צו אנדערע פראבלעמען, ווי מיר וועט יווענטשאַוואַלי זען. אַזוי פֿאַר איצט מיר וועט לאָזן עס ווי דעם, אָבער לאָזן ס זען אויב מיר קענען רירייט דעם נאָר צו אָנהייבן יקספּרעסינג זיך אַ ביסל דיפערענטלי. דעם פּראָגראַם, נאָר צו זייַן קלאָר, איז פּאָסיטיווע1. זאל מיר גיין פאָרויס דאָ און אין מיין וואָקזאַל פֿענצטער מאַכן פּאָסיטיווע1, אַרייַן. קאָמפּילעס אָוקיי. איך בין געגאנגען צו לויפן פּאָסיטיווע1, שלאָגן אַרייַן. איך מאָנען אַז איר געבן מיר אַ positive ינטעגער. איך וועט זאָגן -1. אַז האט נישט אַרבעטן. 0, 99. וואָס מיינט צו אַרבעטן. אפֿשר נישט דעם רובֿ שטרענג פּרובירן, אָבער בייַ מינדסטער עס ס אַ פייַן מייושעוודיקייַט טשעק אַז מיר ניטאָ אויף דער רעכט שפּור. אַזוי איצט לאָזן מיר גיין פאָרויס און עפענען ווערסיע 2 פון דעם, און וואָס איז אַנדערש שוין? עס ימפּלאַמאַנץ די זעלבע זאַך, אָבער וואָס ס דזשאַמפּינג אויס ווי קלאר פאַרשידענע דאָס צייַט? דאס באָאָל אין גרין. עס איז כיילייטיד אין גרין, דעם קיווערד באקאנט ווי באָאָל, וואָס איז אַ דאַטן טיפּ. עס טוט נישט קומען געבויט אין צו אַלע ווערסיעס פון סי איר דאַרפֿן צו אַרייַננעמען אַ ספּעציפיש ביבליאָטעק. אין אונדזער פאַל, איך אַרייַנגערעכנט די קס50 ביבליאָטעק אַזוי אַז מיר האָבן צוטריט צו באָאָל. אבער אין שורה 18, מיר ויסקומען צו האָבן אַ בוליאַן ווערט דאָ גערופן דאַנקבאַר. איך קען האָבן גערופן דעם עפּעס, אָבער איך גערופן אים דאַנקבאַר נאָר צו מין פון קאַנוויי עטלעכע סעמאַנטיק טייַטש. אַזוי טכילעס אויף שורה 18, איך בין משמעות נישט דאַנקבאַר ווייַל די בוליאַן ווערט דאַנקבאַר איז ינישאַלייזד צו פאַלש אין שורה 18. און דעמאָלט עס מיינט וואָס איך ווע געטאן דאָ אין שורות 21 דורך 23 איז איך ווע נאָר מין פון ריריטאַן מיין לאָגיק. אַזוי קיין פאַנגקשאַנאַלי אַנדערש, אָבער אין שורה 22 איצט איך טשעק אויב דער ינט דער באַניצער האט צוגעשטעלט איז גרעסער ווי 0, דעמאָלט איך פשוט טוישן די ווערט פון דאַנקבאַר צו אמת. און וואָס טאָן איך טאָן אַז? ווייַל אין שורה 25, משמעות איך בין געגאנגען צו קאָנטראָלירן אַ צושטאַנד. צי דעם שלייף בשעת דאַנקבאַר איז פאַלש. אַזוי איך פארגעלייגט דעם ווי אַן אָלטערנאַטיוו צו ווערסיע 1 ווייַל עס ס בייַ מינדסטער אַ ביסל מער ינטואַטיוו טאָמער, עס ס אַ ביסל מער גראָונדעד אין ענגליש. אַזוי טאָן די פאלגענדע בשעת איר ניטאָ נישט דאַנקבאַר אָדער בשעת דאַנקבאַר איז פאַלש. און דאָס מאָל אויך איך משמעות טאָן ניט זאָרגן צו געדענקען וואָס דער באַניצער טייפּט אין ווייַל באַמערקן דאָרט ס קיין בייַטעוודיק N, אַזוי פאקטיש, אַ קליין ווייַס ליגן דאָרט. פונקטיאָנאַללי, די פּראָגראַם איז אַ ביסל אַנדערש אַמאָל מיר באַקומען צו דעם דנאָ פון עס ווייַל איך בין נישט רימעמבערינג וואָס N איז. אבער איך געוואלט צו באַווייַזן דאָ אויך אַז אַפֿילו כאָטש מיר ווע געזען געטינט און געצטרינג זייַענדיק געניצט אויף די רעכט-האַנט זייַט פון אַן יקוואַלז צייכן אַזוי ווייַט אַזוי אַז מיר געדענקען די ווערט, טעקניקלי, אַז ס 'נישט שטרענג נייטיק. אויב פֿאַר וועלכער סיבה איר נאָר טאָן ניט זאָרגן צו ראַטעווען די ווערט, איר נאָר ווילן צו קאָנטראָלירן די ווערט, באַמערקן אַז מיר קענען פשוט שרייַבן דעם ווי געטינט, עפענען פּאַרען, נאָענט פּאַרען. וואָס פונקציאָנירן איז געגאנגען צו צוריקקומען אַ ווערט, ווי מיר ווע שוין געזאגט. עס ס געגאנגען צו געבן איר צוריק אַן ינט. און אַזוי אויב איר מענטאַלי טראַכטן פון דעם געשעעניש, ווען איך טיפּ אין 99, געטינט קערט דער נומער 99, און אַזוי קאַנסעפּטשואַלי, עס ס ווי כאָטש מיין קאָד זענען פאקטיש דעם. אַזוי אויב 99 איז טאַקע גרעסער ווי 0, דעמאָלט דאַנקבאַר ווערט אמת, דעמאָלט שורה 25 ריאַלייזיז ו, מיר רע געטאן ווייַל איך בין איצט דאַנקבאַר, און אין שורה 26, מיר פשוט זאָגן, "דאַנק פֿאַר די positive ינטעגער!" וועלכער עס געטראפן צו זייַן. איצט לאָזן ס טאָן קליין סינטאַקטיק צוקער דאָ, אַזוי צו רעדן. זאל ס זען אויב מיר קענען ריין אַרויף דעם שורה 25 מיט דעם דריט און לעצט וואַריאַנט אין פּאָסיטיווע3. נאָטיץ די בלויז חילוק איצט איז וואָס שורה פון קאָד? >> [תּלמיד] 25. >> [מאַלאַן] יאָ, 25. און מיר ווע ניט טאַקע געזען דעם קונץ נאָר נאָך, אָבער מיר האט זען די עקסקלאַמיישאַן פונט אויף מאנטאג, וואָס דינאָוץ וואָס? >> [תּלמיד] ניט. >> ניט אָדער נאַגיישאַן. אַזוי נעמען אַ בוליאַן ווערט און פליפּ זייַן ווערט. אמת ווערט פאַלש, פאַלש ווערט אמת. אַזוי דעם, איך וואָלט פאָרשלאָגן, איז אַפֿילו אַ ביסל מער ינטואַטיוו אַ וועג פון שרייבן דעם קאָד ווייַל איך נאָך ינישאַלייז דאַנקבאַר צו פאַלש, איך נאָך טאָן די פאלגענדע, איך שטעלן דאַנקבאַר צו אמת ווען די צייַט קומט, אָבער איצט איר קענען טאַקע נאָר איבערזעצן דעם קאָד ווערבאַלי לינקס צו רעכט, בשעת (! דאַנקבאַר); ווייַל קלאַפּ אָדער עקסקלאַמיישאַן פונט דינאָוץ דער געדאנק פון נישט, אַזוי בשעת נישט דאַנקבאַר. אַזוי ווידער, מיר האָבן ניט באַקענענ קיין נייַ קאַנסעפּס פּער סיי. מיר גערעדט וועגן באָאָלעאַנס צוריק ווען מיר געשפילט מיט סקראַטטש, אָבער פאַרשטיין איצט מיר קענען נאָר אָנהייבן שרייבן אונדזער קאָד אין פילע פאַרשידענע וועגן. אַזוי ספּעציעל אין פּסעט1 אויב איר ניטאָ סאָרט פון סטראַגאַלינג צו רעכענען אויס די וועג צו שרייַבן עטלעכע פּראָגראַם, שאַנסן זענען איר ניטאָ אין גליק ווייַל עס קענען זייַן קיין נומער פון סאַלושאַנז אַז איר קענען פּאַסירן אויף. פֿאַר בייַשפּיל, דאָס איז נאָר 3 פֿאַר אַפֿילו די סימפּלאַסט פון מגילה. אַלע רעכט. און איצט צוריקרופן אויף מאנטאג מיר לינקס אויף דעם טאָן מיט צוריקקומען וואַלועס. אַזוי פֿאַר די זייער ערשטער מאָל מיר געשריבן אַ פּראָגראַם וואָס טוט ניט נאָר האָבן הויפּט; עס אויך האט זייַן אייגן מנהג פונקציאָנירן אַז איך געשריבן דאָ. אַזוי אין שורה 31 דורך 34 איך ווע ימפּלאַמענטאַד אַ קובע פונקציאָנירן. עס ס נישט קאָמפּלעקס. עס ס נאָר אַ * אַ * אַ אין דעם פאַל. אבער וואָס ס וויכטיק וועגן עס איז אַז איך בין גענומען אַרייַנשרייַב אין די פאָרעם פון אַ און איך בין אומגעקערט רעזולטאַט אין די פאָרעם פון אַ * אַ * אַ. אַזוי איצט איך האָבן די פיייקייַט, פיל ווי איך געניצט צו מיט פּרינף אַליין, צו רופן דעם פֿונקציע דורך פאַך דער קובע פונקציאָנירן. און דער קובע פונקציאָנירן נעמט עטלעכע אַרייַנשרייַב, און דער קובע פונקציאָנירן קערט עטלעכע רעזולטאַט. דורך קאַנטראַסט, פּרינטף נאָר האט עפּעס. עס האט נישט צוריקקומען עפּעס אַז מיר קערד וועגן, אַפֿילו כאָטש ווי אַ באַזונדער עס טוט צוריקקומען אַ ווערט; איר נאָר בכלל איגנאָרירן עס. פּרינטף נאָר האט עפּעס. עס האט אַ זייַט ווירקונג פון דרוקן צו די פאַרשטעלן. דורך קאַנטראַסט דאָ, מיר האָבן די קובע פונקציאָנירן, וואָס פאקטיש קערט עפּעס. אַזוי פֿאַר יענע באַקאַנט מיט דעם, עס ס אַ פערלי סטרייטפאָרווערד געדאַנק. אבער פֿאַר יענע ווייניקער באַקאַנט מיט דעם געדאַנק פון גייט פארביי אין ינפּוץ און געטינג צוריק אַוטפּוץ, לאָזן ס פּרובירן נאָר עפּעס סופּער פּשוט. איז ווער עס יז באַקוועם קומען אַרויף אויף בינע בעקיצער? איר האָבן צו זייַן באַקוועם מיט אַ אַפּאַראַט אויף איר ווי געזונט. יאָ? אָוקיי. וואָס ס 'דיין נאָמען? >> [תּלמיד] קען. >> קען. אַלע רעכט. קען, קומען אויף אַרויף. קען איז געגאנגען צו זייַן אַ פֿונקציע פון ​​סאָרץ דאָ. זאל ס גיין פאָרויס און טאָן דעם. זאל ס באַקומען אַ ביסל פאַנטאַזיע. פייַן צו טרעפן איר. באַגריסן צו צענטער בינע. אַלע רעכט. זאל ס שלאָגן דעם קנעפּל דאָ. אַלע רעכט. אַזוי דאָ איר האָבן אַ מאָדערן טשאַלקבאָאַרד, און וואָס איך בין איז דער הויפּט פֿונקציע, פֿאַר בייַשפּיל, און איך טאָן ניט האָבן אַ יפּאַד אין מיין האַנט. איך טאָן ניט טאַקע געדענקען ווי צו - גוט, איך קען נישט זאָגן וואָס. איך טאָן ניט טאַקע האָבן גוט קסאַוו, און אַזוי דעריבער איך ווילן איר צו דרוקן עפּעס אויף די פאַרשטעלן פֿאַר מיר. איך בין זייַענדיק די הויפּט פּראָגראַם, און איך בין געגאנגען צו האָבן איר זאָגן דעם דורך שרייבן עס אין מיין הינדל קראַצן און דעמאָלט גייט פארביי איר אַ אַרייַנשרייַב. אַזוי נאַריש כאָטש דעם געניטונג איז, די געדאנק פון פאַנגקשאַנז און פאַך אַ פֿונקציע און אומגעקערט אַ פֿונקציע טאַקע בוילז אַראָפּ צו דעם. איך בין הויפּט, איך האב נאָר געשריבן פּרינטף, ציטירן-אַנקוואָוט עפּעס אויף די פאַרשטעלן, איך בין פליסנדיק דעם פּראָגראַם, און ווי באַלד ווי פּרינטף געץ גערופן, עס נעמט איין אַרגומענט אָדער איינער פּאַראַמעטער מאל צווישן טאָפּל קוואָטעס. דאָ איז אַז אַרגומענט. איך בין גייט פארביי אים צו קען. ער איז אַ שוואַרץ קעסטל געשריבן עטלעכע נומער פון יאר צוריק אַז משמעות בלויז ווייסט ווי צו דרוקן זאכן אויף די פאַרשטעלן. אַזוי ויספירן. אַז ס 'נישט שלעכט. זייער גוט. אַזוי איצט קען איז געטאן עקסאַקיוטינג. טוט ער דאַרפֿן צו האַנט מיר עפּעס צוריק? ניט וואָס מיר ווע געזען אַזוי ווייַט. ווידער, פּרינטף טוט פאקטיש צוריקקומען אַ נומער, אָבער מיר רע געגאנגען צו איגנאָרירן אַז פֿאַר איצט ווייַל מיר ווע קיינמאָל געניצט עס. אַזוי אַז ס עס פֿאַר קען. און אַזוי איצט הויפּט נעמט איבער קאָנטראָל פון די פּראָגראַם ווידער ווייַל אַז שורה פון קאָד, פּרינטף, איז געטאן עקסאַקיוטינג. און מיר גיין וועגן אונדזער וועג, עקסאַקיוטינג וועלכער אנדערע שורות זענען דאָרט. אַזוי איצט לאָזן ס פּרובירן אַ ביסל אַנדערש בייַשפּיל. דאס מאָל דאָ לאָזן ס ערשטער קלאָר די פאַרשטעלן, און דעם צייַט מיר וועט טאָן די קובינג פונקציאָנירן, אָבער דאָס מאָל, איך דערוואַרטן אַ רעזולטאַט ווערט. אַזוי לאָזן ס גיין פאָרויס און טאָן דעם. איצט איך האָבן אַ שורה פון קאָד וואָס זאגט X געץ קובע פון ​​X. די שורה פון קאָד, צוריקרופן, קוקט ווי דאָס: X = קובע (X); אַזוי ווי איז דאָס געגאנגען צו אַרבעטן? זאל ס גיין פאָרויס און געבן איר אַ ווייַס פאַרשטעלן ווידער. איך בין געגאנגען צו שרייַבן אַראָפּ איצט די ווערט פון X, וואָס אין דעם מאָמענט אין צייַט כאַפּאַנז צו זייַן, לאָזן ס זאָגן, 2 צו האַלטן עס פּשוט. איך האב געשריבן אַראָפּ אויף אַ שטיק פון פּאַפּיר די ווערט פון 2, וואָס איז מיין ווערט X. איך האַנט אים צו קען. >> און איך נאָר שרייַבן די ענטפער? >> יאָ, לאָזן ס נאָר שרייַבן די ענטפער. אָוקיי. און איצט ער האט צו צוריקקומען מיר עפּעס. גאנץ. פייַן סעגוויי. אַזוי איצט ער הענט מיר צוריק די ווערט פון 8 אין דעם פאַל, און וואָס טאָן איך טאָן מיט אים? פאקטיש - לאָזן ס זען, באַקומען דאָס רעכט. וואָס בין איך געגאנגען צו טאָן מיט אים? איצט איך בין געגאנגען צו נעמען דעם ווערט און פאקטיש קראָם עס אין יענע זעלביקער ביטן אין זכּרון. אבער באַמערקן איך בין מין פון סטראַגאַלינג דאָ. איך בין אַ ביסל צעמישט ווייַל ווו טאָן איך פאקטיש שרייַבן די ווערט פון X, ווייַל וואָס איך ווע נאָר געטאן איז פיזיקלי האַנט קען אַ שטיק פון פּאַפּיר וואָס האט די ווערט 2, וואָס איז געווען X, און טאַקע, אַז ס דווקא וואָס געטראפן. אַזוי עס טורנס אויס אַז ווען איר רופן די פֿונקציע און איר פאָרן אין אַן אַרגומענט ווי העלא, וועלט אָדער איר פאָרן אין אַן אַרגומענט ווי 2, בכלל, איר ניטאָ גייט פארביי אין אַ קאָפּיע פון ​​וואָס אַרגומענט. און אַזוי נאָר ווי איך געשריבן אַראָפּ די נומער 2 דאָ און קאָלנער עס צו קען, וואָס מוזן מיינען אַז איך נאָך האָבן אַ קאָפּיע פון ​​דעם ווערט 2 ערגעץ ווייַל טאַקע, איצט אַז איך ווע גאַטאַן צוריק די ווערט 8, איך דאַרפֿן צו גיין צוריק אין באַראַן און פאקטיש שרייַבן אַראָפּ 8 ווו איך אַמאָל האט דער נומער 2. אַזוי וויזשוואַלי, געדענקען דעם געדאנק פון גייט פארביי אין, ממש, אַ קאָפּיע פון ​​דעם ווערט. קען טוט זייַן זאַך, הענט מיר צוריק עפּעס - אין דעם פאַל אַ ווערט ווי 8 - און דעמאָלט איך האָבן צו טאָן עפּעס מיט וואָס ווערט אויב איך ווילן צו האַלטן עס אַרום. אַזוי אַלע פון ​​דעם וועט קומען צוריק צו זייַן אַלע אויך באַקאַנט פאר לאַנג. דאנק איר אַזוי פיל פֿאַר דעם דעמאָ דאָ, קען. [אַפּלאָדיסמענטן] זייער גוט געטאן. זאל ס זען ווי אַז לעסאָף דערציילט צו עטלעכע פון ​​די פֿונקציע פאַך וואָס מיר ווע שוין טאן דאָ. זאל מיר גיין פאָרויס און ברענגען אונדז צוריק צו דער קובינג בייַשפּיל דאָ. נאָטיץ אַז אויב מיר ווילן צו פאקטיש אָנהייב גענומען דעם ווייַטער, מיר רע געגאנגען צו האָבן צו זייַן מיינדפאַל פון די פאַקט אַז די נומער X אַז ס זייַענדיק דורכגעגאנגען אין דאָ איז אַנדערש פון וואָס ס 'פאקטיש זייַענדיק דורכגעגאנגען אין צו די פֿונקציע. אַזוי ווידער, דעם פאָרן דורך קאָפּיע איז געגאנגען צו ווערן גאַנץ דזשערמיין אין נאָר אַ מאָמענט. זאל ס נעמען אַ קוק בייַ עפּעס וואָס טוט ניט גאַנץ אַרבעט רעכט נאָך. איך בין געגאנגען צו גיין פאָרויס און עפענען 1/3 וואָגן בייַשפּיל, וואָס איז פלאָד דורך נאַטור, און עס ס גערופן בוגגי3 און עס ימפּלאַמאַנץ אַ סוואַפּינג פונקציאָנירן. דאָ מיר האָבן אַ הויפּט פֿונקציע וואָס האט X און י אַרביטרעראַלי ינישאַלייזד צו 1 און 2, ריספּעקטיוולי. מיר קען נוצן געטינט, אָבער מיר נאָר דאַרפֿן אַ פּשוט געניטונג, אַזוי עס ס שווער-קאָדעד ווי 1 און 2. אין שורות 21 און 22, מיר משמעות דרוקן אויס X און י, 1 פּער שורה. דעמאָלט אויף שורה 23, איך פאָדערן איך בין סוואַפּינג די וואַלועס, פּינטעלע, פּינטעלע, פּינטעלע. איך משמעות רופן אַ פונקציאָנירן אין שורה 24 גערופן ויסבייַטן וואָס נעמט 2 טענות. עס ס טאָוטאַלי לעגיט פֿאַר פאַנגקשאַנז צו נעמען 2 טענות. מיר ווע געזען פּרינטף טאָן עס שוין. אַזוי ויסבייַטן משמעות נעמט X און י, און ווי זייַן נאָמען סאַגדזשעס, איך וואָלט האָפֿן אַז עס ס געגאנגען צו ויסבייַטן די 2 וואַלועס. אַזוי דעמאָלט איך פאָדערן אויף שורה 25 "סוואַפּפּעד!" און איך יבערדרוק X און י אונטער די האַשאָרע אַז זיי ווע טאַקע געווען סוואָפּט. אבער אויב איך פאקטיש לויפן דעם פּראָגראַם - לאָזן מיר עפענען זיך אַ וואָקזאַל פֿענצטער, לאָזן מיר מאַכן בוגגי3 - ווי די נאָמען סאַגדזשעס, דאָס איז נישט געגאנגען צו סוף געזונט ווייַל ווען איך שלאָגן אַרייַן, באַמערקן אַז X איז 1, י איז 2, און נאָך אין די סוף פון די פּראָגראַם, זיי זענען נאָך, אין פאַקט, די זעלבע. אַזוי באזירט אויף די דעמאַנסטריישאַן נאָר איצט מיט קען, וואָס ס 'פאקטיש געגאנגען אויף? זאל ס ונטערטוקנ זיך אין דעם ויסבייַטן פונקציאָנירן. עס ס סופּער קורץ. עס ס נאָר אַ ביסל שורות פון קאָד לאַנג. אבער וואָס ס די פונדאַמענטאַל פּראָבלעם באזירט אויף די פּשוט געשיכטע דערציילט זיך דאָ מיט קען? פארוואס איז ויסבייַטן צעבראכן? [תּלמיד] איר רע סטאָרינג צו אַ קאָפּיע, נישט די בייַטעוודיק. פּונקט. מיר רע סטאָרינג צו אַ קאָפּיע, נישט די בייַטעוודיק זיך. אין אנדערע ווערטער, ויסבייַטן משמעות נעמט 2 טענות, אַן ינט, און עס ס אַרביטרעראַלי גערופן אַ און ב, און אַרויף דאָ איך ווע דורכגעגאנגען אין X און י, וואָס זענען ריספּעקטיוולי 1 און 2, אָבער איך בין נישט ממש גייט פארביי אין X, איך בין נישט ממש גייט פארביי אין י, איך בין גייט פארביי אַ קאָפּיע פון ​​X און אַ קאָפּיע פון ​​י. עס ס כּמעט ווי כאָטש איר קאַפּיד און פּייסטיד אין ויסבייַטן די וואַלועס אַז איר ווילן עס צו פאקטיש מאַניפּולירן. אַזוי אויב אַז ס דעם פאַל, ווען איך דעם פּראָגראַם אָנהייב עקסאַקיוטינג שורה 35 דעמאָלט 36, ווען איך באַקומען צו שורה 37, בייַ דעם פונט אין דער געשיכטע, וואָס איז די ווערט פון אַ? אין דעם פונט אין די געשיכטע, שורה 37, וואָס איז די ווערט פון אַ בייַ דעם פונט? >> [תּלמיד] 1. [מאַלאַן] עס זאָל נאָר זייַן 1, רעכט, ווייַל X איז דורכגעגאנגען אין ווי דער ערשטער אַרגומענט, און דאָס פונקציאָנירן נאָר אַרביטרעראַלי איז פאַך זייַן ערשטער אַרגומענט אַ. סימילאַרלי איז י די רגע אַרגומענט, און עס ס נאָר אַרביטרעראַלי פאַך די רגע אַרגומענט ב. דאס דייקאַטאַמי איז פאקטיש פערלי פשוט דערקלערט. טראַכטן וועגן אים. קיינער פון אונדז האָבן באגעגנט דער מענטש וואס געשריבן פּרינטף, אַזוי שורלי, ער אָדער זי האט קיין געדאַנק וואָס אונדזער וועריאַבאַלז 30 יאר שפּעטער זענען געגאנגען צו זייַן גערופן. אַזוי עס האט צו זייַן אַ דיסטינגקשאַן צווישן וואָס איר רופן וועריאַבאַלז אין פאַנגקשאַנז איר ניטאָ שרייבן און וואָס איר רופן וועריאַבאַלז אין פאַנגקשאַנז איר ניטאָ פאַך אָדער ניצן. אַזוי אין אנדערע ווערטער, איך האב געשריבן מיין וועריאַבאַלז ווי X און י, אָבער אויב עמעצער אַנדערש האט געשריבן די ויסבייַטן פונקציאָנירן, ער אָדער זי זיכער וואָלט נישט וויסן וואָס מיין וועריאַבאַלז זענען געגאנגען צו זייַן גערופן, אַזוי פאַרשטיין אַז דאָס איז וואָס איר האָבן דעם דואַלאַטי פון נעמען. טעקניקלי, איך קען טאָן דאָס דורך צופאַל, אָבער זיי וואָלט נאָך זייַן דורכגעגאנגען אין ווי קאפיעס. עס וואָלט נאָר זייַן אַ ריין צופאַל עסטעטיקלי אויב אַז מענטש וואס געשריבן ויסבייַטן האט געניצט די זעלבע נעמען. אַזוי בייַ דעם פונט אין די געשיכטע, שורה 37, אַ איז 1, ב איז 2, און איצט איך גיינ ווייַטער צו ויסבייַטן זיי. ערשטער פון אַלע, לאָזן מיר פאקטיש טאָן דאָס פיל מער פשוט. איך טאָן ניט וויסן וואָס יענע 3 שורות פון קאָד זענען טאן. זאל מיר נאָר טאָן דאָס: ב = אַ; אַ = ב; געטאן. פארוואס איז דאָס צעבראכן, לאַדזשיקלי? עס ס מין פון די ינטואַטיוו זאַך, רעכט? אַזוי אַ ווערט בייטן און בייטן ווערט אַ, אָבער די פּראָבלעם איז אַז ווי באַלד ווי שורה 37 עקסאַקיוץ, וואָס ס די ווערט פון אַ און ב? די זעלבע, 1, ווייַל איר האָט קלאַבערד, אַזוי צו רעדן, איר ווע געביטן בייטן צו גלייַך אַ. אַזוי אַמאָל שורה 37 האט עקסאַקיוטאַד, אַז ס גרויס, איר איצט האָבן 2 קאפיעס פון די נומער 1 ין פון דעם פֿונקציע, אַזוי דעריבער ווען איר זאָגן אין שורה 38 אַ = ב, איר ניטאָ מין פון סקרוד ווייַל איר ניטאָ נאָר אַסיינינג 1-1. איר ווע מין פון פאַרפאַלן די ווערט איר קערד וועגן. אַזוי אין דער אָריגינעל ווערסיע פון ​​דעם, באַמערקן וואָס איך האבן. איך אַנשטאָט האט 1/3 שורה פון קאָד וואָס געקוקט ווי דעם. איך דערקלערן אַ צייַטווייַליק בייַטעוודיק. טמפּ איז אַ זייער פּראָסט נאָמען פֿאַר אַ צייַטווייַליק בייַטעוודיק, און עס ס אַ ינט ווייַל עס האט צו גלייַכן וואָס איך ווילן צו מאַכן אַ קאָפּיע פון. איך קראָם קאָפּיע פון ​​אַ ין פון טמפּ, אַזוי אַמאָל שורה 37 האט עקסאַקיוטאַד, די ווערט פון אַ איז - שנעל מייושעוודיקייַט טשעק - 1, די ווערט פון בייטן איז 2, און די ווערט פון טמפּ איז אויך 1. אַזוי איצט איך ויספירן שורה 38. אַמאָל שורה 38 עקסאַקיוץ, אַ נעמט אויף די ווערט פון ב. און ב האט 2, אַזוי אַ איז איצט 2. אַזוי בייַ דעם פונט אין די געשיכטע, אַ איז 2, ב איז 2, און טמפּ איז 1, אַזוי איצט לאַדזשיקלי, מיר קענען נאָר פּלאַפּ טמפּ ס 'ווערט אין ב און מיר רע געטאן. אַזוי מיר ווע סאַלווד אַז פּראָבלעם. ליידער, ווען איך לויפן דעם פּראָגראַם אין דעם פאָרעם, עס טוט נישט פאקטיש ויסבייַטן קיין וואַלועס. אבער צו זייַן קלאָר, וואָס? איך פאַרפעסטיקט די לאַדזשיקאַל פּראָבלעם פון נאָר אַ מאָמענט צוריק, אָבער ווידער, אויב איך לויפן דעם פּראָגראַם, X און י בלייַבן אַנטשיינדזשד דורך די סוף פון די פּראָגראַם 'ס דורכפירונג. [ינאָדאַבאַל תּלמיד באַמערקונג] >> מיר האָבן ניט אומגעקערט עפּעס, אַזוי אַז ס 'אמת. אבער עס טורנס אויס דאָרט ס אַ ביסל פון אַ פּראָבלעם דאָ ווייַל אַזוי ווייַט, דער בלויז זאַך מיר ווע שוין קענען צו צוריקקומען איז איין זאַך, און דאָס איז אַ ריסטריקשאַן פון סי איר קענען נאָר צוריקקומען טאַקע איינער ווערט, אין וועלכע פאַל איך בין מין פון סטאַק דאָ ווייַל איך קען צוריקקומען די נייַ ווערט פון X אָדער איך קען צוריקקומען די נייַ ווערט פון י, אָבער איך ווילן ביידע צוריק. אַזוי אומגעקערט איז ניט דער פּשוט לייזונג דאָ. אבער די פּראָבלעם פאַנדאַמענטאַלי איז וואָס? וואָס האָבן מיר פאקטיש סוואָפּט? [תּלמיד] אַ און ב. >> אַ און ב. אבער אַ און ב זענען קאפיעס פון X און י, וואָס מיטל מיר נאָר האט אַלע פון ​​דעם ווערק, מיר נאָר פארבראכט 3 מינוט גערעדט וועגן דער ויסבייַטן פונקציאָנירן און אַלע 3 פון די וועריאַבאַלז, און אַז ס גרויס, בישליימעס ריכטיק אין אפגעזונדערטקייט, אָבער אַ און ב ס פאַרנעם נאָר איז אין די שורות דאָ. אַזוי נאָר ווי אַ פֿאַר שלייף, אויב איר דערקלערן אַ ינטעגער איך ין די פֿאַר שלייף, סימילאַרלי, אויב איר ניטאָ דיקלערינג אַ און ב ין פון אַ פֿונקציע וואָס איר ווע געשריבן, זיי ניטאָ בלויז גילטיק ין פון וואָס פונקציאָנירן, וואָס מיטל ווי באַלד ווי ויסבייַטן איז געטאן עקסאַקיוטינג און מיר גיין פון שורה 24 צו שורה 25, X און י האָבן נישט געווען געביטן אין אַלע. איר נאָר ווייסטאַד אַ גאנצע פּלאַץ פון צייַט סוואַפּינג קאפיעס פון וועריאַבאַלז. אַזוי עס טורנס אויס אַז די לייזונג צו דעם איז פאקטיש ניט-קלאָר ווי דער טאָג. עס ס נישט גאַנץ גענוג צו צוריקקומען וואַלועס ווייַל מיר קענען נאָר צוריקקומען 1 ווערט, און איך טאַקע טאָן ווילן צו ויסבייַטן ביידע X און י אין דער זעלביקער צייַט, אַזוי מיר רע געגאנגען צו האָבן צו קומען צוריק צו דעם. אבער פֿאַר איצט, פאַרשטיין אַז די אַרויסגעבן פאַנדאַמענטאַלי דערייווד פון די פאַקט אַז אַ און ב זענען קאפיעס און זיי זענען אין זייער אייגן פאַרנעם. זאל ס פּרובירן צו סאָלווע דעם אין עטלעכע וועג. זאל מיר פאקטיש מעגילע צוריק דאָ און עפענען זיך, לאָזן ס זאָגן, 1/4 וואַריאַנט פון דעם, בוגגי4. וואָס וועגן דעם? דאס איז אַ ענלעך אָבער סימפּלער פּראָבלעם צו קוקן בייַ איידער מיר נעמען אַ שטעכן אין סאַלווינג עס. דעם פּראָגראַם איז גערופן ינקראַמאַנט, און עס משמעות יניטיאַליזעס אַן X ינטעגער צו 1 אין שורה 18. איך דעמאָלט פאָדערן X איז 1, איך דעמאָלט פאָדערן "ינקרעמענטינג ..." איך דעמאָלט רופן ינקראַמאַנט, אָבער דעמאָלט אין שורות 22 און 23, איך פאָדערן עס ס 'שוין ינקרעמענטעד, איך פאָדערן X איז איצט וועלכער עס איז - 2, מאַשמאָעס - אָבער דעם פּראָגראַם איז וואָגן. וואָס ס די פּראָבלעם? יאָ. >> [ינאָדאַבאַל תּלמיד ענטפער] >> עקסאַקטלי. אַזוי X האט שוין דערקלערט, דאָך, אויף שורה 18. וואָס איז ין הויפּט ס געגרייַזלט ברייסאַז. אַזוי די פּשוט ענטפֿערן דאָ איז אַז בשעת X יגזיסץ דאָ, עס טוט נישט עקסיסטירן אין שורה 32, אַזוי דעם פּראָגראַם פאקטיש וועט נישט אַפֿילו צונויפנעמען. דער קאַמפּיילער ווען איך פּרובירן קאַמפּיילינג דעם קאָד איז געגאנגען צו שרייַען בייַ מיר וועגן עטלעכע אַנדיקלערד יידענטאַפייער אָדער עפּעס צו אַז ווירקונג. אין פאַקט, לאָזן ס פּרובירן. דאס איז מאַכן בוגגי4. עס עס איז. ניצן פון אַנדיקלערד יידענטאַפייער 'X' אין שורה 32. און פאקטיש, לאָזן ס זייַן מער עקספּליסיט דאָ הייַנט אַזוי אַז דאָס איז נוצלעך אין אָפיס שעה און אין שטוב. נאָטיץ אַז עס ס אַ ביסל קריפּטיקאַללי געשריבן. אבער דער פאַקט אַז קלאַנג האט יעלד בייַ אונדז, געזאגט בוגגי4.ק: 32:5, איז פאקטיש נוצלעך. עס מיטל וואָס די טעות איז אויף שורה 32 אין כאַראַקטער שטעלע 5. אַזוי 1, 2, 3, 4, 5. אַז ס, אין פאַקט, ווו די פּראָבלעם איז. און אויך, אויך, האַלטן אין גייַסט אין אָפיס שעה און אין שטוב, איך בין מאַזלדיק דאָ. איך האָבן איין גרייַז. עס ס געגאנגען צו זייַן לעפיערעך גרינג צו פאַרריכטן. אבער אויב איר באַקומען אַ גאַנץ פאַרשטעלן פול פון אָוווערוועלמינג טעות אַרטיקלען, ווידער פאַרשטיין אַז די באָטטאָממאָסט איינער זאל נאָר זייַן סימפּטאַמאַטיק פון די ייבערשט איינער. אַזוי שטענדיק יאָגן אַראָפּ דיין באַגז פון אויבן אַראָפּ ווייַל עס זאל נאָר זייַן אַ מאַרגעריטקע קייט ווירקונג וואָס איז סאַגדזשעסטינג איר האָבן וועג מער פראבלעמען ווי איר פאקטיש טאָן. אַזוי ווי קען מיר פאַרריכטן דעם אויב מיין ציל איז צו ינקראַמאַנט X? >> [תּלמיד] מאַכן X גלאבאלע. אָוקיי, אַזוי מיר קענען מאַכן X גלאבאלע. זאל ס נעמען די דורכוועג אַז איך געווארנט וועגן פריער, אָבער כעק, מיר נאָר דאַרפֿן אַ שנעל פאַרריכטן, אַזוי לאָזן ס נאָר זאָגן ינט X אַרויף דאָ. וואָס מאכט X גלאבאלע. אַזוי איצט הויפּט האט צוטריט צו אים און ינקראַמאַנט האט צוטריט צו אים, און אַזוי לאָזן מיר גיין פאָרויס און צונויפנעמען דעם איצט. מאַכן בוגגי4, אַרייַן. מיינט צו צונויפנעמען איצט. זאל ס 'לויפן בוגגי4. און עס מיינט צו פאקטיש אַרבעט. דאס איז איינער פון די זאכן וואָס ס טאָן ווי איך זאָגן, ניט ווי איך טאָן, ווי איך ווע נאָר געטאן דאָ, ווייַל אין אַלגעמיין, אונדזער מגילה זענען געגאנגען צו באַקומען פיל מער טשיקאַווע און פיל מער ווי דעם, און אויב דיין לייזונג צו לעבן ס ​​פראבלעמען איז נאָר שטעלן אַלע די וועריאַבאַלז בייַ די שפּיץ פון דיין טעקע, זייער געשווינד טאָן מגילה באַקומען האָרריפיקאַללי שווער צו פירן. עס געץ האַרדער צו טראַכטן אַרויף נייַ בייַטעוודיק נעמען, עס געץ האַרדער צו פֿאַרשטיין וואָס בייַטעוודיק איז טאן וואָס, און אַזוי אין אַלגעמיין, דאָס איז ניט אַ גוט לייזונג. אַזוי לאָזן ס טאָן דעם בעסער. מיר טאָן נישט וועלן צו נוצן אַ גלאבאלע בייַטעוודיק דאָ. איך טאָן ווילן צו ינקראַמאַנט X, אַזוי איך קען דאָך - אין די סוף פון די טאָג, דאָס איז מין פון אַ נאַריש געשיכטע ווייַל מיר נאָר טאָן דעם - אָבער אויב איך האט ניט וויסן וועגן וואָס אָפּעראַטאָר אָדער איך איז נישט ערלויבט צו טוישן עס אין הויפּט זיך, ווי אַנדערש קען איך מאַכשער קען איבער דאָ דעם מאָל נישט צו קובע אָבער צו ינקראַמאַנט? ווי טאָן איך טוישן דעם זאַך דאָ? יאָ. [תּלמיד] פאָרן אין X און דעמאָלט צוריקקומען [ינאָדאַבאַל] >> אָוקיי, גוט. אַזוי וואָס טאָן ניט איך פאָרן אין X און דעמאָלט אלא ווי צוריקקומען עס, וואָס טאָן ניט איך נאָר טאָן צוריקקומען X + 1. א פּאָר מער זאכן האָבן צו טוישן דאָ. איך בין אויף די רעכט שפּור. וואָס אַנדערש טאָן איך דאַרפֿן צו טוויק? עמעצער אַנדערש. יאָ. [ינאָדאַבאַל תּלמיד ענטפער] איך דאַרפֿן צו טוישן די צוריקקומען טיפּ פון ינקראַמאַנט ווייַל עס ס נישט פּאָסל. פּאָסל מיטל גאָרנישט איז זייַענדיק אומגעקערט, אָבער קלאר איצט עס איז, אַזוי דעם דאַרף צו טוישן צו - >> [תּלמיד] ינט. ינט צו זייַן קאָנסיסטענט מיט וועלכער איך בין פאקטיש אומגעקערט. איצט עפּעס אַנדערש איז נאָך וואָגן דאָ. יאָ. [ינאָדאַבאַל תּלמיד ענטפער] >> [מאַלאַן] אזוי איך דאַרפֿן צו ינקראַמאַנט X? [ינאָדאַבאַל תּלמיד ענטפער] >> [מאַלאַן] אַ, אַזוי איך דאַרפֿן צו פאָרן X. אַזוי איך דאַרפֿן צו טאָן דעם דאָ. >> [ינאָדאַבאַל תּלמיד באַמערקונג] [מאַלאַן] אזוי די פּראָוטאַטייפּ, איך האָבן צו טוישן דעם אַרויף דאָ. אַזוי דאָס האט צו ווערן אַ ינט, דאָס האט צו ווערן - המם, איך פאקטיש האָבן אַ באַג אַראָפּ דאָ. זאל ס פאַרריכטן דעם איין ערשטער. וואָס זאָל דאָס פאקטיש זייַן? עס ס גאַט צו זייַן אַ ינט עפּעס. עס קען זייַן X, אָבער פראַנגקלי, אויב איר אָנהייב פאַך אַלע פון ​​דיין וועריאַבאַלז X, עס ס געגאנגען צו באַקומען ווייניקער און ווייניקער קלאָר וואָס איז וואָס. אַזוי לאָזן ס נאָר אַרביטרעראַלי קלייַבן אַ אַנדערש נאַמינג קאַנווענשאַן פֿאַר מיין העלפּער פאַנגקשאַנז, די פאַנגקשאַנז איך בין שרייבן. מיר וועט רופן עס אַ, אָדער מיר קען רופן עס - זאל ס רופן עס נומער צו זייַן אַפֿילו מער עקספּליסיט. אַזוי דעמאָלט איך האָבן צו צוריקקומען וועלכער די נומער איז פּלוס 1, און איצט איך האָבן צו טוישן 1 אנדערע זאַך אַרויף דאָ און איין אנדערע זאַך אַרויף דאָ. וואָס טאָן איך האָבן צו טוישן אויף שורה 21 ערשטער? >> [ינאָדאַבאַל תּלמיד ענטפער] [מאַלאַן] איך האָבן צו באַשטימען עס צו X. איך קענען ניט נאָר רופן ינקראַמאַנט (X). איך דאַרפֿן צו געדענקען דעם ענטפֿערן דורך טשאַנגינג די ווערט פון X אויף די לינקס-האַנט זייַט. און אַפֿילו כאָטש X איז איצט אויף די לינק און רעכט, אַז ס טאָוטאַלי פייַן ווייַל די רעכט-האַנט זייַט געץ עקסאַקיוטאַד ערשטער דעמאָלט געץ פּלאַפּט אין די לינקס-האַנט זאַך - X אין דעם פאַל. און דעמאָלט לאַסטלי, דאָס איז אַ גרינג פאַרריכטן איצט. דאס זאָל נאָר גלייַכן וואָס ס אַראָפּ אונטן, ינט נומער. אַזוי אַ גאַנץ בינטל פון ענדערונגען פֿאַר אַ טאַקע נאַריש פֿונקציע אָבער פארשטייער פון זאכן וואָס מיר וועט ינקריסינגלי ווילן צו טאָן. אַזוי מאַכן בוגגי4. איך ווע סקרוד אַרויף ערגעץ. אָה, מיין גאָט. פינף מיסטייקס אין אַ 6-שורה פּראָגראַם. אַזוי וואָס ס אומרעכט אויף שורה 18, כאַראַקטער 5? אַזוי איך האָבן צו דערקלערן דעם, ינט. זאל ס זען. עס זענען אַ גאַנץ בינטל פון אנדערע ערראָרס. אָה, מיין גאָט - 19, 18, 21 - אָבער ווידער, לאָזן ס נאָר קלאָר די פאַרשטעלן, קאָנטראָל ל דאָ, און ריראַן קלאַנג. אַזוי 5 פּראָבלעמס איז פאקטיש פּונקט וואָס 1. אַזוי איצט לאָזן ס לויפן בוגגי4, אַרייַן. ווו, X האט שוין ינקרעמענטעד ריכטיק. אַלע רעכט. קיין שאלות אויף ווי צו ינקראַמאַנט נומערן? יאָ. [ינאָדאַבאַל תּלמיד קשיא] >> גוט קשיא. ווי איז עס אַז איך קען נאָר טוישן X צו נומער און דעם פּראָגראַם וועט וויסן מיד? ווידער, טראַכטן פון אים ווי דעם אַבסטראַקציע. אַזוי אויב איך בין הויפּט און קען איז ינקראַמאַנט, פראַנגקלי, איך טאָן ניט זאָרגן וואָס קען רופט זייַן יפּאַד. איך טאָן ניט זאָרגן וואָס ער רופט עפּעס וואָס האט צו טאָן מיט זייַן ימפּלאַמענטיישאַן פון דעם פאַנגקשאַנאַליטי. דאס איז אַ ימפּלאַמענטיישאַן דעטאַל אַז איך, הויפּט, טאָן ניט האָבן צו זאָרגן וועגן. און אַזוי פשוט טשאַנגינג עס קאַנסיסטאַנטלי ין פון די פֿונקציע - נומער דאָ און נומער דאָ - איז אַלע עס נעמט אַזוי לאַנג ווי איך רעקאָמפּילע. עס ס סאָרט פון ווי אויב איר טראַכטן וועגן פילע פון ​​אונדז, יענע פון ​​איר מיט שאָפער 'ס לייסאַנסיז וואס האָבן געטריבן אָדער אויב איר ווע אַפֿילו געטריבן אין אַ מאַשין, רובֿ פון אונדז האָבן קיין געדאַנק ווי אַ מאַשין אַרבעט ונטער דער קאַפּטער. און ממש, אויב איר עפענען זיך די קאַפּטער, רובֿ פון אונדז - זיך אַרייַנגערעכנט - ביסט נישט געגאנגען צו טאַקע וויסן וואָס מיר רע קוקן בייַ, מין פון ווי איר זאל פילן מיט שטאָפּן ווי דאָס רעכט איצט. אבער מיר טאָן ניט טאַקע האָבן צו זאָרגן ווי דער מאַשין אַרבעט, מיר טאָן ניט האָבן צו זאָרגן וואָס אַלע פון ​​די ראַדז און פּיסטאָנס און קייבאַלז ין פון די מאַשין זענען פאקטיש טאן. אַזוי עפּעס ווי וואָס איר רופן די פּיסטאָן טוט נישט ענין דאָ אין דעם פאַל. זעלבע געדאַנק. יאָ. >> [ינאָדאַבאַל תּלמיד קשיא] אויב עס זענען מער ניצט פון די בייַטעוודיק קסאַ מאָמענט צוריק, איר, די פּראָגראַמיסט, וואָלט האָבן צו טוישן זיי אומעטום. אָדער איר קען ממש טאָן טעקע, מעניו, און דעריבער געפינען, פאַרבייַטן - עפּעס ווי אַז - אָבער איר זענט געגאנגען צו האָבן צו מאַכן יענע ענדערונגען זיך. איר האָבן צו זייַן קאָנסיסטענט. >> [תּלמיד] אויב עס זענען קייפל וועריאַבאַלז [ינאָדאַבאַל] א באַזונדער סדר ווי דאָ, אויב דאָס איז געווען ינט אנדערן נומער? >> [תּלמיד] ריכטיק. [מאַלאַן] יאָ. סדר ענינים ווען איר זענט פאַך די פֿונקציע. אַזוי אויב איך געווען פאַך ינקראַמאַנט דאָ מיט עפּעס קאָמע עפּעס, דאָרט ס אַ דירעקט מאַפּינג. דער ערשטער בייַטעוודיק, וועלכער עס ס גערופן, איז געמאכט אַ קאָפּיע פון ​​דער ערשטער אַרגומענט איבער דאָ. אנטשולדיגט. דאס זאָל נישט זייַן אַ פּערענטאַסיס. די רגע אַרגומענט שורות אַרויף מיט די רגע איין. אַזוי סדר, יאָ, ענינים. אַלע רעכט. אנטשולדיגט. איך גענומען די לאַנג וועג צו באַקומען דאָרט. אנדערע שאלות? אַלע רעכט. אַזוי לאָזן ס זען אויב מיר קענען ניט פּיינט אַ בילד פון וואָס ס 'פאקטיש געגאנגען אויף דאָ ונטער דער קאַפּטער, אַזוי צו רעדן. דאס איז אַ גראָדעק וואָס זאל פאָרשטעלן דיין קאָמפּיוטער ס זכּרון. אפילו אויב איר האָבן קיין געדאַנק ווי זכּרון אַרבעט אָדער ווי באַראַן מעשים, בייַ מינדסטער יבערנעמען אַז איר האָט באַנטשיז פון אים די טעג. איר ווע גאַט מעגאבייט פון עס, איר ווע גאַט גיגאבייט פון עס, און מיר וויסן פון וואָך 0 אַז אַ ביטע איז נאָר וואָס? >> [תּלמיד] 8 ביטן. 8 ביטן, רעכט? אַזוי 8 זיראָוז און 1. אַזוי אויב דיין קאָמפּיוטער האט אַ גיג פון באַראַן, 2 גיגס פון באַראַן די טעג, איר האָבן אַ ביליאָן אָדער 2000000000 ביטעס פון זכּרון אָדער בעערעך 8000000000 אָדער 16000000000 ביטן ין פון אייער קאָמפּיוטער. ניט ענלעך די ביסל וואָאָלי ווילי בייַשפּיל, עס ס נישט מאַגנעטיק פּאַרטיקאַלז טיפּיקלי ענימאָר. ינקריסינגלי - אין לאַפּטאָפּס בייַ מינדסטער - עס ס 'האַרט שטאַט דרייווז, ססדס, אַז נאָר האָבן קיין מאָווינג טיילן. עס ס אַלע עלעקטראָניש. עס ס אַלע עלעקטרע-באזירט. אַזוי טראַכטן פון דעם גראָדעק ווי נאָר רעפּריזענטינג די 1 אָדער 2 גיגאבייט פון זכּרון אַז איר האָבן. אַזוי עס ס אַ פּייַדע פון ​​זכּרון. די וועלט פון קאָמפּיוטער וויסנשאַפֿט האט סאָרט פון פּאַרטישאַנד אַוועק טשאַנגקס פון זכּרון צו טאָן פאַרשידענע זאכן. פֿאַר בייַשפּיל, אויב דאס איז דיין קאָמפּיוטער ס באַראַן, ווי סאַגדזשעסטיד דורך די גראָדעק דאָרט, עס טורנס אויס אַז דורך קאַנווענשאַן, בייַ די שפּיץ פון דיין באַראַן, אַזוי צו רעדן, איז בכלל וואָס ס גערופן אַ טעקסט אָפּשניט. יענע זענען די 0ס און 1ס אַז איר האָט צונויפגעשטעלט. אַזוי ווען מיר ווע געקוקט ונטער דער קאַפּטער אין וואָס אַ.אָוט איז, אַלע די 0ס און 1ס, ווען איר לויפן אַ פּראָגראַם, יענע 0ס און 1ס זענען לאָודיד פון דיין שווער פאָר אין עפּעס גערופן באַראַן, און אין דער באַראַן זיי ניטאָ שטעלן בייַ די שפּיץ. דערווייַל, איר האָבן אנדערע זאכן: ינישאַלייז דאַטן, וניניטיאַליזע דאַטן. יענע 2 סוואַטהס פון זכּרון אָפּשיקן צו גלאבאלע וועריאַבאַלז, וואָס איר טאָן ניט אָפֿט ניצן אָבער מאל אויב איר טאָן, זיי סוף אַרויף אַרויף דאָרט ווי געזונט. דעמאָלט דאָרט ס עטלעכע אנדערע שטאָפּן: סוויווע וועריאַבאַלז, וואָס מיר וועלן נישט פאַרברענגען פיל צייַט אויף, אָבער דעמאָלט 2 וויכטיק זאכן וואָס וועלן קומען צוריק איבער די זמאַן, אָנלייגן און קופּע. אַזוי רובֿ פון דיין קאָמפּיוטער ס זכּרון איז רעזערווירט ווען פליסנדיק אַ פּראָגראַם פֿאַר עפּעס גערופן די אָנלייגן און עפּעס גערופן די קופּע. מיר ניטאָ ניט געגאנגען צו רעדן וועגן די קופּע הייַנט, אָבער מיר וועלן רעדן וועגן דעם אָנלייגן. די אָנלייגן איז מענט צו קאַנדזשער אַרויף די וויסואַל פון די דיינינג זאַל מאָלצייַט טרייַס אין מאַדער הויז אָדער וואוהין איר פּאַסירן צו זייַן ווו די דיינינג זאַל שטעקן ריין זיי יעדער טאָג, זיי אָנלייגן זיי אַרויף פון שטאָק אויף אַרויף, און סימילאַרלי, אין זכּרון, עס איז דעם געדאַנק פון פּאַטינג עפּעס אויף אַ אָנלייגן, פּאַטינג עפּעס אויף אַ אָנלייגן, פּאַטינג עפּעס אויף אַ אָנלייגן. און וואָס טאָן מיר מיינען דורך דעם? זאל ס פארגרעסער אין אויף נאָר דער נידעריקער האַלב פון דעם בילד, דיין קאָמפּיוטער ס באַראַן, צו פאָרשלאָגן די פאלגענדע. עס טורנס אויס אַז ווען איר לויפן אַ פּראָגראַם ווי אַ.אָוט אָדער העלא - וועלכער די פּראָגראַם איז אַז איר ווע געשריבן - ווידער, יענע 0ס און 1ס זענען לאָודיד פון דיין שווער פאָר, וואָס איז לאַנג-טערמין סטאָרידזש, סטייז דאָרט אַפֿילו ווען איר ציען די צאַפּן, לאָודיד אין באַראַן. באַראַן איז פאַסטער ווי שווער דרייווז - עס ס קלענערער ווי שווער דרייווז - אָבער עס ס ווו מגילה לעבן בשעת איר ניטאָ פליסנדיק זיי. אַזוי איר טאָפּל גיט אַ פּראָגראַם אויף אַ מעק אָדער פּיסי, עס ס לאָודיד פון שווער פאָר אין באַראַן. ווי באַלד ווי עס ס לאָודיד אין באַראַן, דער 0ס און 1ס גיין אין דעם וועג שפּיץ, די אַזוי-גערופן טעקסט אָפּשניט, אָבער דעמאָלט ווי באַלד ווי דיין פּראָגראַם פאקטיש סטאַרץ פליסנדיק, דער הויפּט פֿונקציע איז גערופן, און הויפּט, ווי מיר ווע געזען, אָפֿט האט היגע וועריאַבאַלז, און עס האט ינץ און סטרינגס און טשאַרס און די ווי. אַזוי אויב דיין פּראָגראַם אַז איר האָט געשריבן אָדער די פּראָגראַם אַז איר האָט טאָפּל קליקט געניצט עטלעכע וועריאַבאַלז ין פון הויפּט, זיי סוף אַרויף בייַ די דנאָ פון דיין אָנלייגן פון זכּרון, אַזוי צו רעדן. מער קאַנקריטלי, וואָס טוט דאָס פאקטיש מיינען? דאס נאָר מיטל אַז אויב מיר זענען געגאנגען צו נומער די ביטעס פון באַראַן אין דיין קאָמפּיוטער, באַמערקן אַז דאָס זאל זייַן ביטע נומער 0, דאָס זאל זייַן ביטע נומער 1, 2, 3, 4, 5, 6, אַלע די וועג אַרויף צו 2000000000 וואָלט זייַן אַלע די וועג אַרויף דאָרט בייַ די שפּיץ. אַזוי אין אנדערע ווערטער, ווען מיר רעדן וועגן באַראַן אָדער זכּרון אין טערמינען פון ביטעס, עס נאָר מיטל אַז עמעצער האט באַשלאָסן וואָס צו נומער יעדער פון יענע טשאַנגקס פון זכּרון. אַזוי ווען איר דאַרפֿן 32 ביטן פֿאַר אַ ינט אָדער איר דאַרפֿן 8 ביטן פֿאַר אַ טשאַר, ווו טאָן זיי סוף אַרויף אין זכּרון? קאָנסעפּטואַללי, זיי נאָר סוף אַרויף בייַ די דנאָ פון דעם זאַך גערופן די אָנלייגן. אבער וואָס ס טשיקאַווע איצט איז ווען הויפּט רופט אַ פֿונקציע - רעכן אַ פֿונקציע גערופן פו, נאָר אַן אַרביטראַריש נאָמען - וואָס כאַפּאַנז איז הויפּט איז בייַ די דנאָ פון דעם אָנלייגן פון זכּרון; פו איצט איז שטעלן אויף שפּיץ פון הויפּט אין זכּרון. אַזוי קיין היגע וועריאַבאַלז אַז פו האט סוף אַרויף סאָרט פון קאַנסעפּטשואַלי אויבן יענע אין הויפּט. אויב פו רופט אן אנדער פונקציאָנירן גערופן באַר, יענע וועריאַבאַלז סוף אַרויף דאָ. אויב באַר רופט עפּעס אַנדערש, דאָ, דאָ, דאָ. אַזוי וואָס ס טשיקאַווע וועגן פליסנדיק אַ פּראָגראַם איז אַז ווי איר רופן פאַנגקשאַנז און ווי יענע פאַנגקשאַנז רופן פאַנגקשאַנז און ווי יענע פאַנגקשאַנז רופן פאַנגקשאַנז, איר בויען אַרויף דעם אָנלייגן פון פאַנגקשאַנז אין זכּרון. און נאָר אַמאָל אַ פֿונקציע קערט טאָן איר אָנהייב געטינג אַז זכּרון צוריק. אַזוי איינער פון די יזיאַסט וועגן צו לויפן אויס פון זכּרון אין אַ קאָמפּיוטער פּראָגראַם איז צו שרייַבן פאַנגקשאַנז אַז קיינמאָל צוריקקומען. אַזוי פֿאַר בייַשפּיל, לאָזן ס באַווייַזן ווי פיל מיט אַן בעקיוון וואָגן פּראָגראַם. זאל מיר גיין פאָרויס און טאָן # אַרייַננעמען <סטדיאָ.ה>, ינט הויפּט (פּאָסל), און איך בין געגאנגען צו טאָן בשעת (2> 1), וואָס מיסטאָמע וועט נישט אלץ טוישן אויף אונדז, און לאָזן מיר גיין פאָרויס איצט און טאָן פּרינטף. פאקטיש, אַז ס 'געגאנגען צו זייַן ווייניקער וויזשוואַלי טשיקאַווע. זאל ס טאָן דעם. פֿאַר ינט איך = 0; איך> 0 - לאָזן ס מאַכן דעם גרייַז - איך + +. און לאָזן ס נישט פּרינטף דאָ. זאל ס פיר וואָס איך איז געווען מבשר. זאל ס האָבן אַ אופֿן דאָ, פּאָסל צוזונג, און מיר וועט זאָגן ינט איך, און דעמאָלט איך בין געגאנגען צו זאָגן פּרינטף - ניט, לאָזן ס מאַכן דעם מער טשיקאַווע. זאל ס 'פאקטיש נישט דרוקן עפּעס בייַ אַלע. זאל ס נאָר טאָן דאָס: צוזונג (איך). אַלע רעכט. אַזוי דאָס איז וואָגן ווייַל וואָס? איך בין מאכן דעם אַרויף ווי איך גיין ווייַל דער פּראָגראַם טוט נישט פאקטיש טאָן עפּעס פון אינטערעס. אבער אַז ס 'נישט דער ציל. דער ציל איז צו שרייַבן אַ פּראָגראַם וועמענס הויפּט פֿונקציע טוט וואָס, משמעות? רופן זיך. און פאקטיש, מיר טאָן ניט דאַרפֿן די שלייף. זאל ס אַפֿילו פאַרפּאָשעטערן דעם פּונקט אַזוי ווי ניט צו פאַרלירן ראיה פון טאַקע די פונדאַמענטאַל באַג. הויפּט רופט צוזונג צו זינגען עטלעכע צוזונג, דעמאָלט איך האבן עפּעס נאַריש און איך האט צוזונג רופן צוזונג ווייַל איך אנגענומען עמעצער אַנדערש איז געגאנגען צו מאַכשער עס אפֿשר, און איצט דאָס איז נישט געגאנגען צו צונויפנעמען נאָך. איך דאַרפֿן צו טאָן וואָס? איך דאַרפֿן די פּראָוטאַטייפּ, געדענקען. אַזוי איך דאַרפֿן צו האָבן אַרויף דאָ פּאָסל צוזונג (ינט איך); אַזוי איצט אויב איך גיין אַראָפּ דאָ - פאקטיש, לאָזן ס נוצן די ביגער פֿענצטער. זאל ס גיין פאָרויס און מאַכן צוזונג. זאל ס גיין פאָרויס און מאַכן צוזונג. ניצן פון אַנדיקלערד יידענטאַפייער איך. טאַקע, וואָס איז געווען נאַריש. מיר טאָן ניט דאַרפֿן די אַרגומענט. זאל ס נאָר טאָן דעם. איך ווינטשן מיר האט אנגעהויבן דעם וועג. עס וואָלט האָבן געווען אַ פיל גרינגער פּראָגראַם צו שרייַבן. עס. איצט לאָזן ס גיין איבער צו מיין וואָקזאַל פֿענצטער, ריראַן קלאַנג, און דאָ מיר גיין. וואָס איז טאַקע שנעל. וואָס פאקטיש פּונקט געטראפן, כאָטש? נו, איצט איך וועט לייגן דעם דרוק שורה אַזוי מיר קענען זען. זאל מיר זאָגן פּרינטף ("איך בין אין דאָ") - קיין וועריאַבאַלז. מיר וועט לאָזן עס ווי אַז. זאל מיר ריראַן מאַכן. זאל מיר ריראַן צוזונג. און ... קומען אויף. האַלטן געגאנגען. ווי אַ באַזונדער, וואָס האט עס נישט קראַשט נאָך? די סעגמאַנטיישאַן שולד געטראפן סופּער שנעל פריער. [ינאָדאַבאַל תּלמיד ענטפער] >> עקסאַקטלי. אַזוי עס נעמט צייַט צו דרוקן, רעכט? עס נאָר נעמט מער אַרבעט אויף די קאָמפּיוטער ס טייל. און דאָרט עס איז: סעגמענטאַטיאָן שולד. אַזוי באַמערקן נאָר ווי שנעל מגילה לויפן. אויב איר ניטאָ ניט דרוקן עפּעס, סופּער שנעל. אבער מיר נאָך גאַט דעם סעגמאַנטיישאַן שולד ווייַל וואָס איז געווען געשעעניש? אויב איר טראַכטן וועגן ווי דיין קאָמפּיוטער ס זכּרון איז געלייגט אויס, דעם כאַפּאַנז צו זייַן הויפּט, אָבער דאָ לאָזן ס נאָר רופן דעם צוזונג, און לאָזן ס רופן דעם צוזונג. און איצט אויב איך טאָן מיין עסטעטיק רעכט, דאָס איז נאָר געגאנגען צו זאָגן צוזונג, צוזונג, צוזונג, צוזונג, צוזונג, צוזונג, צוזונג, אַד נאַוסעום, און יווענטשאַוואַלי, וואָס ס 'געגאנגען צו פּאַסירן? אויב די גרויס בילד, ממש, איז דעם, וואָס נאָר כאַפּאַנז קאַנסעפּטשואַלי? די אָנלייגן אָוווערראַנז די קופּע. אָדער, ערגער, איר נאָר באַדעקן אַלץ, אַרייַנגערעכנט די טעקסט אָפּשניט, וואָס איז די 0ס און 1ס אַז פאָרשטעלן דיין פּראָגראַם. אין קורץ, דאָס איז נאָר סופּער, סופּער שלעכט. דיין פּראָגראַם האט ספּייראַלד אויס פון קאָנטראָל. איר רע ניצן וועג מער זכּרון ווי איר בדעה אַלע ווייַל פון אַ נאַריש גרייַז אין דעם פאַל, אָדער אין דעם פאַל אַ זייער דיליבראַטלי געטאן פונקציאָנירן פאַך זיך. איצט, דאָס איז נישט אַלע שלעכט. פאַנגקשאַנז פאַך זיך פאקטיש האט גרויס מאַכט ווען איר נוצן עס ריכטיק. איך האב ניט געוויינט עס ריכטיק דאָ. אַזוי דאָס איז נישט אַלע שלעכט, אָבער דער פאַקט אַז איך קיינמאָל פאקטיש האַלטן פאַך זיך איז אַ פונדאַמענטאַל שוואַכקייַט דאָ פון דעם פּראָגראַם. אַזוי ווו זענען מיר געגאנגען מיט אַלע פון ​​דעם? וואָס ס 'טאַקע געשעעניש? ווען איך רופן די ינקראַמאַנט פונקציאָנירן ווי מיר האבן טאן אין יענע ביישפילן, איך האָבן אַ ווערט ווי 1 אַז איך פאָרן ין איך פאָרן אין אַ קאָפּיע פון ​​די נומער 1, אַזוי די פאלגענדע כאַפּאַנז. זאל ס גיין אין די ינקראַמאַנט בייַשפּיל, דעם באָכער רעכט איבער דאָ. דאָ ס וואָס ס 'פאקטיש געשעעניש. ווען איך רופן ינקראַמאַנט און איך פאָרן אין X, פּיקטאָריאַללי, וואָס ס 'געגאנגען אויף דאָ איז דעם. אויב איך האָבן די ווערט פון 1 סטאָרד דאָ און איך פאקטיש רופן ינקראַמאַנט, וואָס איז איצט גערופן צוזונג - די יפּאַד איז פארווארפן מיר אַוועק דאָ. זאל ס רופן דעם ינקראַמאַנט, און מיר טאָן ניט וויסן וואָס דאָס ווייַטער פונקציאָנירן איז געגאנגען צו זייַן. אַזוי וואָס ס 'פאקטיש געשעעניש איז דאָ ערגעץ אין הויפּט איך האָבן אַ פּייַדע פון ​​זכּרון וואָס איז סטאָרינג די נומער 1. ווען איך רופן ינקראַמאַנט, איך בין ניצן אנדערן פּייַדע פון ​​זכּרון, אָבער איצט איך האָבן די קאָפּיע פון ​​1. ווען איך ינקראַמאַנט וואָס ווערט, דאָס ווערט 2, אָבער דעמאָלט וואָס כאַפּאַנז ווי באַלד ווי ינקראַמאַנט קערט? דעם זכּרון נאָר געץ קאָלנער צוריק צו דער אַפּערייטינג סיסטעם, וואָס מיטל אַלע איר 'ווע געטאן איז גאָרנישט נוצלעך. די 1 וואָס איז געווען ערידזשנאַלי קאַנטיינד אין הויפּט איז נאָך פאקטיש דאָרט. אַזוי ווו זענען מיר געגאנגען מיט דעם? עס טורנס אויס אַז אין זכּרון איר האָבן דעם צוריק-צו-צוריק סיקוואַנס פון ביטעס אַז איר קענען שטעלן שטאָפּן אין, און עס טורנס אויס אַז מיר ווע שוין געזען עפּעס אַז ינוואַלווז פּאַטינג דאס צוריק צו צוריק צו צוריק צו צוריק. וואָס איז אַ שטריקל באזירט אויף וואָך 1 און איצט וואָך 2? עס ס נאָר אַ זאַמלונג פון אותיות. אַזוי עס טורנס אויס פּונקט ווי איר קענען לייגן נומערן אין זכּרון, סימילאַרלי קענען איר שטעלן אותיות אין זכּרון. און אַמאָל מיר אָנהייבן פּאַטינג אותיות אין זכּרון צוריק צו צוריק צו צוריק צו צוריק, עס טורנס אויס אַז ניצן די סימפּלאַסט פון זאכן ווי אַ פֿאַר שלייף אָדער אַ בשעת שלייף, מיר קענען יטעראַטע פון ​​לינקס צו רעכט איבער די אותיות אין אַ שטריקל און אָנהייב מאַסאַזשינג זיי אין פאַרשידענע אותיות בעסאַכאַקל - אַ קען ווערן בייטן, בייטן קען ווערן C - אַזוי אַז לעסאָף, מיר קענען נעמען אַן ענגליש זאַץ אַז פאקטיש מאכט זינען און בייַטן יעדער פון יענע אותיות איין אין אַ צייַט דורך גיין דורך אונדזער קאָמפּיוטער ס זכּרון לינקס צו רעכט צו פאקטיש ינקריפּט. אַזוי לאָזן ס נעמען אונדזער פינף-מינוט ברעכן דאָ, און ווען מיר קומען צוריק, מיר וועט אָנהייבן דעם פּראָצעס פון סקראַמבלינג אינפֿאָרמאַציע. אַלע רעכט. איידער מיר ונטערטוקנ זיך אין עטלעכע קריפּטאָו און די זאכן גערופן ערייז, לאָזן מיר פּויזע פֿאַר קיין שאלות ווייַל איך פילן ווי איך טאַקע מין פון מאַדאַלד עטלעכע פון ​​יענע סוגיות. אַזוי לאָזן ס פאַרריכטן איצט אויב מיר קענען. מיר נאָר גערעדט וועגן צוריקקומען וואַלועס, מיר גערעדט וועגן טענות, און מיר גערעדט וועגן דעם געדאנק, וואָס מיר וועט קומען צוריק צו אין די וואָכן צו קומען, פון וויוינג זכּרון ווי אַ גאַנץ בינטל פון די סטאַקט טרייַס, אַזוי צו רעדן, פון דנאָ אויף אַרויף, אַזאַ וואָס יעדער טאַץ אַז געץ שטעלן אויף די אָנלייגן רעפּראַזענץ אַ פֿונקציע וואָס ס דערווייַל זייַענדיק גערופן. קיין שאלות? זאל מיר פרעגן אַ קשיא דאָ. זאל מיר פאַרפּאָשעטערן דעם צוריק צו וואָס עס איז געווען איידער עטלעכע פון ​​אונדזער פריער ק & יי דער פאַקט אַז ינקראַמאַנט האט עפענען פּערענטאַסיס, ינט נומער, פֿאַרמאַכט פּערענטאַסיס - וואָס טוט ינט נומער פאָרשטעלן? [תּלמיד] אַ אַרגומענט. >> אַ אַרגומענט. אָוקיי. אבער וואָס ס אַן אַרגומענט? [ינאָדאַבאַל תּלמיד ענטפער] >> וואָס ס וואָס? >> [תּלמיד] עפּעס וואָס איר פאָרן ין אָוקיי, אַזוי עפּעס וואָס איר פאָרן ין און מער בכלל, עס ס נאָר די אַרייַנשרייַב. אויב איר זענען שרייבן אַ פֿונקציע און אַז פֿונקציע 'ס ציל אין לעבן איז צו טאָן עפּעס אַ ביסל אַנדערש יעדער צייַט איר נוצן עס, דעמאָלט דער בלויז וועג פֿאַר וואָס צו פּאַסירן טאַקע וואָלט ויסקומען צו זייַן צו צושטעלן עס מיט אַרייַנשרייַב אַזוי אַז עס קענען טאָן עפּעס אַנדערש מיט וואָס אַרייַנשרייַב יעדער צייַט. אַזוי איר דאַרפֿן צו ספּעציפיצירן צוויי זאכן ווען אַ פֿונקציע נעמט אַרייַנשרייַב. איר דאַרפֿן צו ספּעציפיצירן דער נאָמען וואָס איר ווילן צו געבן צו אַז אַרייַנשרייַב ריין פֿאַר דיין אייגן קאַנוויניאַנס אַזוי אַז איר קענען אָפּשיקן צו עס אין די פֿונקציע אַז איר זיך זענען שרייבן, ווי איך האט דאָ אין שורה 32. אבער איר אויך דאַרפֿן צו ספּעציפיצירן זייַן טיפּ ווייַל C איז אַ פּראָגראַממינג שפּראַך אַז נאָר ריקווייערז אַז אויב איר ווילן אַ בייַטעוודיק, איר האָט צו זאָגן די קאָמפּיוטער וואָס דאַטן טיפּ עס איז, אין גרויס טייל אַזוי אַז עס ווייסט ווי פילע ביטן צו אַלאַקייט פֿאַר אַז בייַטעוודיק ווייַל עס קען זייַן 6 - נעבעכדיק, עס וועט נישט זייַן 6. עס קענען זייַן 16, עס קענען זייַן 8, עס קענען זייַן 32, אַפֿילו 64, אָבער די קאָמפּיוטער דאַרף צו וויסן. איצט, דער ינט אויף די לינקס-האַנט זייַט רעפּראַזענץ וואָס, דורך קאַנטראַסט? [ינאָדאַבאַל תּלמיד ענטפער] >> וואָס ס וואָס? >> [תּלמיד] טיפּ פון פונקציאָנירן. דער טיפּ פון אַ פונקציאָנירן און, מער ספּאַסיפיקלי, דער טיפּ פון זייַן פּראָדוקציע. רעכט. אַזוי וועראַז די זאַך אין קלאַמערן רעפּראַזענץ זייַן אַרייַנשרייַב, אויב קיין, די זאַך צו די לינקס רעפּראַזענץ זייַן רעזולטאַט. און אין דעם פאַל, ינקראַמאַנט משמעות קערט אַ ינט, און אַזוי ינט איז די צוריקקומען טיפּ פון דעם פֿונקציע. וואָס טוט עס מיינען צו צוריקקומען? ממש, איר נוצן די קיווערד צוריקקומען און דעריבער אויב וואָס איר זענען אומגעקערט צו די רעכט פון די קיווערד איז אַ ינטעגער, דאַן וואָס איז טאַקע קאָנסיסטענט מיט וואָס מיר האָבן צוגעזאגט. איר קען נישט טאָן עפּעס ווי דעם - העלא, וועלט - ווייַל וואָס איז אַ שטריקל. דאָך, עס איז נישט אַ ינטעגער. אַזוי אין קורץ, די מאַסע איז טאַקע אויף אונדז, די פּראָגראַמיסט, צו זייַן ספּעציפיש ווי צו וואָס מיר רע אומגעקערט און צו דעמאָלט פאקטיש גיין וועגן אומגעקערט עס. די קאָנטעקסט דאָ איצט איז אַז דיין קאָמפּיוטער ס זכּרון איז אַ גיגאבייט, 2 גיגאבייט - וועלכער - אפֿשר עס ס 'מער, אפֿשר עס ס ווייניקער, אָבער די קאָמפּיוטער קוקן עס ווי בעת פאַרשידענע סעקשאַנז. עפּעס גייט אַראָפּ דאָרט, עפּעס אַנדערש גייט אַרויף דאָרט, פאַרשידענע שטאָפּן גייט אין דער מיטן, און הייַנט מיר נאָר אָנהייבן טעלינג די געשיכטע, אָבער מיר וועט קומען צוריק צו דעם איבער צייַט. פֿאַר איצט, דער נאָר שטיק פון זכּרון מיר טאַקע זאָרגן וועגן איז די טעקסט אָפּשניט ווייַל אַז נאָר רעפּראַזענץ די 0ס און 1ס אַז קלאַנג האט אָוטפּוטטעד. אַזוי ווען איר לויפן אַ באַפֿעל בייַ די קלאַוויאַטור ווי אַ.אָוט אָדער איר טאָפּל גיט אַ בילדל אויף מעק אַס אָדער פֿענצטער, דיין פּראָגראַם איז לאָודיד פון דיין שווער פאָר אין באַראַן און עס ס פּלאַפּט אין די שפּיץ פון דיין קאָמפּיוטער ס באַראַן, אַזוי צו רעדן. דערווייַל, ווי דיין פּראָגראַם סטאַרץ פליסנדיק און הויפּט געץ גערופן אין דער פּראָגראַם איר געשריבן אָדער די פּראָגראַם מייקראָסאָפֿט אָדער עפּל געשריבן, קיין פון זייַן היגע וועריאַבאַלז סוף אַרויף אַראָפּ דאָרט אין די דנאָ פון דיין קאָמפּיוטער ס זכּרון. אבער אויב הויפּט רופט אן אנדער פֿונקציע וואָס זיך האט וועריאַבאַלז אָדער טענות, זיי סוף אַרויף אויבן עס. און אויב אַז פונקציאָנירן רופט עפּעס, זיי סוף אַרויף אויבן עס, אויבן עס, אויבן עס. און נאָר אַמאָל אַ פֿונקציע איז געטאן עקסאַקיוטינג טוט די אָנלייגן פון טרייַס, אַזוי צו רעדן, אָנהייבן צו באַקומען נידעריקער און נידעריקער. און דאָס איז וואָס דעמאָלט, אין אַ נאַטשעל, דערקלערט וואָס ווען איר רופן קובע אָדער איר רופן ינקראַמאַנט, איר ניטאָ גייט פארביי אין אַ קאָפּיע פון ​​דעם ווערט. און וואָס אַז מיטל פּיקטאָריאַללי איז אַז איר רע ממש שרייבן די נומער 1 אין אן אנדער טייל פון זכּרון, טשאַנגינג אַז 1-2 אין די פאַל פון ינקראַמאַנט אָדער צו אַן 8 אין די פאַל פון קובע און דעמאָלט פארווארפן אַז זכּרון אַוועק ווי באַלד ווי די ינקראַמאַנט אָדער דער קובע פונקציאָנירן קערט. פראגע. [תּלמיד] וואו זענען גלאבאלע וועריאַבאַלז סטאָרד? גלאבאלע וועריאַבאַלז זענען סטאָרד אין וואָס ס דערווייַל גערופן די ינישאַלייזד דאַטן אָדער וניניטיאַליזעד דאַטן, די חילוק זייַענדיק אויב איר האָבן אַ גלאבאלע בייַטעוודיק און איר באַשטימען עס מיד אַ ווערט מיט די יקוואַלז צייכן, עס ענדס אַרויף בייַ די שפּיץ דאָרט, און אויב איר נאָר זאָגן ינט X; מיט קיין ווערט, עס ענדס אַרויף אַ ביסל נידעריקער אין באַראַן פשוט דורך קאַנווענשאַן. אנדערע שאלות? אַלע רעכט. אַזוי דעם בילד וועט קומען צוריק ווי מיר באַקומען מער שטאַרק מיט וואָס מיר קענען טאָן מיט דעם קאָמפּיוטער, אָבער פֿאַר איצט, לאָזן 'ס האָבן אַ קורץ ינטראָו צו קריפּטאָגראַפי, אַ ספּעציפיש טיפּ פון קריפּטאָגראַפי וואָס טוט ניט סאָלווע אַלע פון ​​די וועלט 'ס פראבלעמען אָבער טוט סאָלווע עטלעכע פון ​​זיי. אין דעם פאַל דאָ, מיר האָבן עפּעס גערופן סוד-שליסל קריפּטאָגראַפי. סוד-שליסל קריפּטאָגראַפי, ווי דער נאָמען סאַגדזשעס, נעמט זייַן זיכערהייַט פון אַ סוד. פֿאַר בייַשפּיל, אויב איר זענען צוריק אין מיינונג שולע און איר זענען גייט פארביי אַ ביסל סוד ליבע בריוו צו די יינגל אָדער מיידל איר זענען קראַשינג אויף, אויב איר געוואלט צו פאָרן אַז טאָן דורך די וילעם, איר מיסטאָמע וואָלט נישט שרייַבן אַזאַ אַ טאָן אין ענגליש אָדער וועלכער דיין געבוירן שפּראַך איז. אלא, איר זאל ינקריפּט עס אָדער איר זאל נאָר שיקן זיי אַ טעקסט אָנזאָג די טעג. אבער איר זאל פאקטיש פאָרן זיי אַ טאָן איבער די קלאַסצימער. און צו טאָן דעם סיקיורלי אין אַזאַ אַ וועג אַז דיין פריינט און די לערער טאָן ניט וויסן וואָס איר ניטאָ שרייבן, איר זאל קומען אַרויף מיט אַ פערלי פּשוט אַלגערידאַם, יונג כאָטש איר זאל זייַן, צו נאָר שטופּנ די ווערטער. אַזוי אַנשטאָט פון שרייבן אַ איר זאל שרייַבן ב, אַנשטאָט פון בייטן איר זאל שרייַבן C, אַנשטאָט פון C איר זאל שרייַבן די, און אַזוי אַרויס. אָדער איר קען קומען אַרויף מיט אַ מער סאַפיסטאַקייטיד איבערזעצונג פון אותיות צו פאַרשידענע אותיות. אבער די כאַפּן איז דער יינגל אָדער מיידל צו וועמען איר ניטאָ שיקן דעם טאָן דאַרף צו וויסן עפּעס, וואָס איז וואָס, דאָך? >> [תּלמיד] וואָס איר ניטאָ שיקן. וואָס דיין סוד איז, ווי וואָס איז אַז מאַפּינג צווישן אַ ס און בייטן ס און C ס און ד 'ס. איז עס נאָר אַדינג 1 צו יעדער פון די אותיות צו גיין פון אַ צו בייטן, בייטן צו C? איז עס מער קאָמפּליצירט ווי וואָס? אַזוי איר און אייער ענגשאַפט דאַרפֿן צו האָבן דעם סוד אינפֿאָרמאַציע, אָבער דאָרט ס מין פון אַ כאַפּן-22 דאָ. אויב דאָס איז די זייער ערשטער מאָל איר ניטאָ שיקן דעם ליבע בריוו דורך דער קלאַס, ווי איז אַז יינגל אָדער מיידל געגאנגען צו וויסן וואָס דער סוד אַפֿילו איז? אַזוי סוד-שליסל קריפּטאָו טוט נישט סאָלווע אַלע פון ​​די וועלט 'ס פראבלעמען, און דאָרט ס 'פאקטיש אַ שייכות דאָ אַז מיר וועט קומען צוריק צו צו זמאַן ס סוף. סימילאַרלי טאָן רובֿ פון אונדז ניט וויסן עמעצער וואָס אַרבעט, פֿאַר בייַשפּיל, בייַ Amazon.com, און נאָך פילע פון ​​אונדז האָבן מיסטאָמע געקויפט שטאָפּן בייַ Amazon.com, און מיר ווע שוין געלערנט צו יבערנעמען אַז די E-האַנדל טראַנזאַקשאַנז ביסט זיכער. די URL מיסטאָמע זאגט הטטפּס, דאָרט ס אפֿשר אַ נאַריש ביסל פּאַדלאַק בילדל ערגעץ, דאָרט ס עטלעכע מין פון קריפּטאָגראַפי סיקיורינג דיין קרעדיט קאָרט אינפֿאָרמאַציע צווישן איר און Amazon.com. און נאָך אויב קריפּטאָגראַפי ינוואַלווז געוואוסט עטלעכע סוד און נאָך איך טאָן ניט וויסן ווער עס יז בייַ אַמאַזאָן און איך ווע אַוואַדע נישט עריינדזשד קיין מין פון סוד מיט עמעצער בייַ אַמאַזאָן, ווי איז מיין קאָמפּיוטער אָדער מיין בלעטערער טאן דעם? עס טורנס אויס דאָרט ס 'אנדערע טייפּס פון קריפּטאָגראַפי בעסאַכאַקל אַז סאָלווע אַז פּראָבלעם. אבער פֿאַר הייַנט, מיר וועט פאָקוס אויף די פּשוט איינער ווו איר קענען צולייגן אין שטייַגן צו וויסן עטלעכע סוד ווי +1 אָדער עטלעכע מאַפּינג צווישן אַ ס און בייטן ס. און דער פּראָצעס פון קריפּטאָגראַפי בכלל ינוואַלווז דעם. איר האָבן עטלעכע קלאָר טעקסט, דיפּיקטיד דאָ אין לינקס, איר לויפן אים דורך עטלעכע מין פון אַלגערידאַם אָדער פּראָצעדור פֿאַר ענקריפּטינג עס - אפֿשר אַז ס 'נאָר אַ ווערט בייטן, בייטן ווערט C - און דאַן איר סוף אַרויף מיט סיפערטעקסט. דערווייַל, אַמאָל דיין ענגשאַפט נעמט דעם סוד טאָן, ער אָדער זי האט צו דעמאָלט דעקריפּט עס דורך בכלל ריווערסינג אַז אַלגערידאַם אַזוי ווי צו באַקומען צוריק דעם קלאָר טעקסט. עס זענען גשמיות ינקאַרניישאַנז פון דעם. פֿאַר בייַשפּיל, דאָס איז אַ ביסל סוד דעקאָדער רינג, און דאָס איז אַ רינג אין די געפיל אַז דאָרט ס צוויי דייאַלז דאָ. אויף די אַרויס פּעריפעריע פון ​​דעם זאַך, דאָרט ס אותיות א דורך ז, כאָטש זיי ניטאָ אין טראַפ - סדר, און אויף די ין, דאָרט ס 'פאקטיש עטלעכע נומערן אַזאַ וואָס מיט דעם רינג איר קענען מין פון אומקערן די אַרויס אָבער נישט די ין אין סדר צו שורה אַרויף נומערן מיט אותיות. פון אַ פֿילם גערופן א ניטל סטאָרי, איר וועט זען אַז ביסל ראַלפיע איז אַזוי לאָעט צו רעכענען אויס וואָס קליין אָרפאַן אַני ס סוד אָנזאָג איז געווען צו אים וואָס האט שוין קאַמיונאַקייטיד, איך טראַכטן, אין דער פאָרעם פון נומעריק אַרטיקלען אויף אַ קאַשע קעסטל און איר האט צו אָנקלייַבן אַלע די ביסל קאַרדס וואָס זענען געקומען אין די קאַשע קעסטל, איר האט צו פּאָסט זיי אין, איר האט צו באַקומען צוריק דעם סוד דעקאָדער רינג אַזוי אַז איר קענען לעסאָף רעכענען אויס וואָס די מאַפּינג איז צווישן אותיות און נומערן אָדער אותיות און אותיות. ווי אין אַ קאָמפּיוטער קענען מיר גיין וועגן ימפּלאַמענינג אָדער רעפּריזענטינג זאכן ווי דעם? מיר דאַרפֿן אַ וועג פון יקספּרעסינג זיך אַ ביסל מער פלעקסאַבלי ווי אונדזער וועריאַבאַלז אַזוי ווייַט האָבן ערלויבט. מיר ווע האט ינץ, מיר ווע האט טשאַרס, מיר ווע האט פלאָוץ און דאַבאַלז און אַ ביסל אנדערע, אָבער יענע זענען יחיד ברעקלעך פון זכּרון אַז טאָן ניט טאַקע לאָזן אונדז צו אויסדריקן זאכן ווי ווערטער און זאצן און פראַסעס. טאקע, מיר ווע גערופן אַזאַ זאכן סטרינגס, אָבער מיר צוזאָג אַז דאָס איז טאַקע נאָר אַ סימפּלאַפיקיישאַן אין די קס50 ביבליאָטעק אַז מיר רע ינטענדינג צו שאָלעכץ צוריק. און אַזוי לאָזן ס אָנהייבן צו טאָן וואָס דאָ. זאל מיר גיין פאָרויס און עפענען זיך אַ טעקע - אַלע פון ​​די טעקעס זענען פאַראַנען, ווי געוויינטלעך, אָנליין - גערופן אַררייַ.ק צו סאָלווע אַ פּראָבלעם אַנרילייטיד צו סטרינגס אָבער אַז פּאַינץ אַ בילד דאָ פון ווי מיר זאל נוצן עפּעס גערופן אַ מענגע. אַ מענגע איז אַ דאַטן טיפּ. עס ס אַ טיפּ פון בייַטעוודיק פון סאָרץ וואָס האט קייפל קלענערער דאַטן טייפּס ין פון עס צוריק צו צוריק צו צוריק צו צוריק. אַזוי פֿאַר בייַשפּיל, אויב מיר געוואלט צו שרייַבן אַ ביסל פּראָגראַם וואָס גיט איר דיין ויספרעג דורכשניטלעך פֿאַר אַ קורס ווי 50 וואָס האט 2 קוויזיז, איר געקענט זייער לייכט שרייַבן דעם פּראָגראַם באזירט אַפֿילו אויף עטלעכע פון ​​לעצטע וואָך ס מאַטעריאַל דורך ניצן געטינט און אַ פּאָר פון וועריאַבאַלז: ינט קוויז1, ינט קוויז2. און עס ס שיין סטרייטפאָרווערד. עס ס אפֿשר 10, 20 שורות פון קאָד מאַקס צו מאַכשער אַ פּראָגראַם וואָס פרעגט דער באַניצער פֿאַר 2 ויספרעג סקאָרז און דעמאָלט קאַמפּיוץ זייער דורכשניטלעך דורך אַדינג זיי צוזאַמען, דיוויידינג דורך 2, און דעמאָלט דרוקן די רעזולטאַטן. מיר קען מיסטאָמע טאָן אַז שיין גרינג איצט נאָך עטלעכע נומער פון מינוט. אבער די פּראָבלעם איז אַז רעכן אַז 50 האט 3 קוויזיז אָדער 4. רעכן אַז איר געוואלט צו נוצן די זעלבע פּראָגראַם פֿאַר אַ סאָרט וואָס האט וואכנשריפט קוויזיז. טראַכטן וועגן אַ סאָרט וואָס האט וואכנשריפט קוויזיז. אויב דאָרט ס 16 אָדער אַזוי וואָכן אין אַ זמאַן, איצט איר האָבן 16 וועריאַבאַלז: ינט קוויז1, ינט קוויז2, ינט קוויז3, ינט קוויז4. ווי באַלד ווי איר אָנהייב געזען דעם יבעריקייַט, דעם קאַפּיינג און פּאַסטינג פון קאָד, עס זאָל אָנהייבן צו מאַכן איר ווילט עס געווען אַ בעסער וועג. און טאַנגקפאַלי, ווייַל פון ערייז עס איז. אַזוי לאָזן ס טאָן דעם. ערשטער, לאָזן מיר באַקענען אַ זייער פּשוט זאַך וואָס מיר ווע נישט געניצט אַזוי ווייַט, אָבער איר וועט זען עס טייל מאָל אין קאָד. דאס איז וואָס ס 'בכלל גערופן אַ קעסיידערדיק. אַזוי עס ס אַ קעסיידערדיק אין די געפיל אַז דאָס ווערט קיינמאָל ענדערונגען. דער מענטש קאַנווענשאַן ווען שאפן אַ קעסיידערדיק איז צו נוצן אַלע הויפּטשטאָט אותיות נאָר אַזוי אַז עס טאַקע שטייט אויס אין דיין קאָד, און די ספּעציעל קיווערד אַז איר נוצן אין C איז # דעפינירן. אַזוי מיר זאָגן # דעפינירן, דעמאָלט אַ פּלאַץ, דעריבער די וואָרט וואָס איר ווילן צו נוצן פֿאַר די קעסיידערדיק ס נאָמען און דאַן די ווערט פון די קעסיידערדיק. נאָטיץ דעם איז אַנדערש פון אַסיינינג עפּעס צו אַ בייַטעוודיק. עס ס קיין יקוואַלז צייכן, דאָרט ס קיין פּינטל - קאָמע. דאס איז וואָס ס 'בכלל באקאנט ווי אַ פּרעפּראָסעססאָר דירעקטיוו, אָבער מער אויף אַז אן אנדער צייַט. פֿאַר איצט, דעם קריייץ אַ אַנטשיינדזשינג ווערט גערופן קוויזיז וועמענס פאַקטיש נומעריק ווערט איז 2. אַזוי ערגעץ איר זען קוויזיז, קוויזיז, קוויזיז איבער דעם טעקע, אַז ס נאָר די נומער 2. אויב איך קוק אין הויפּט איצט, לאָזן ס זען ווי דאָס אַרבעט. ערשטער עס קוקט אַ קליין קריפּטיק, אָבער עס ס אַלע שטאָפּן פון וואָך 1. פרעגן די באַניצער פֿאַר גראַדעס. ווי טאָן מיר טאָן דעם? אין שורה 22 - דאָס איז טאַקע די זאַפטיק טייל - איך דערקלערן אַ לאָזנ שווימען אָבער נישט נאָר אַ איין לאָזנ שווימען. איך בין דיקלערינג, אלא, אַ מענגע פון ​​פלאָוטינג-פונט וואַלועס. אַז בייַטעוודיק איז געגאנגען צו זייַן גערופן גראַדעס, ווי ימפּלייד דאָ, אָבער דער בלויז שטיק פון נייַ סינטאַקס דעמאָלט זענען די קוואַדראַט בראַקאַץ. דער פאַקט אַז איך ווע האט לאָזנ שווימען גראַדעס און דעמאָלט עפענען קאַנטיקער און דעמאָלט אַ נומער - באַמערקן אויב דאָס איז אַ קעסיידערדיק דעם איז פּונקט ווי מיר האבן דעם - דעם מיטל, "היי קאָמפּיוטער, געבן מיר 2 פלאָוץ און לאָזן ס קאַלעקטיוולי רופן זיי גראַדעס". דאס איז אין קאַנטראַסט צו אַ פיל מער טידיאַס פּראָצעס ווי דאָס: לאָזנ שווימען גראַדע1; לאָזנ שווימען גראַדע2; און אַזוי אַרויס. אַזוי אַ מענגע אַלאַוז אונדז צו מאַכשער דעם געדאַנק אָבער פיל ווייניקער מעססילי, אין אַזאַ אַ וועג וואָס מיר קענען שרייַבן 1 שורה פון קאָד אַנשטאָט פון, זאָגן, 16 פֿאַר אַ 16-וואָך זמאַן. איך האט נישט וועלן צו שווער-קאָד 2 ווייַל אויב איר טראַכטן וועגן דעם איצט לאַדזשיקלי, רעכן ווייַטער יאָר קס50 ענדערונגען צו 3 קוויזיז אַנשטאָט און איך געהאט די נומער 2 דאָ, איך האט דער נומער 2 דאָ, איך האט דער נומער 2 דאָ, דער נומער 2 דאָ. עס ווערט זייער טידיאַס און זייער גרינג צו שרויף אַרויף און צו אַקסאַדענאַלי טוישן 1 ווערט צו 3 און פאַרפירן עטלעכע אנדערע ווערט פון 2. אַזוי איך בין געגאנגען צו אַנשטאָט אַבסטראַקט דעם אַוועק און נוצן דעם קעסיידערדיק אַז, ווי זייַן נאָמען סאַגדזשעס, קיינמאָל ענדערונגען. און איצט קיין ענין צי מיר האָבן פאַרשידענע קוויזיז דעם יאָר אָדער ווייַטער, איך נאָר האָבן צו טוישן עס אין איין אָרט אַרויף דאָ אין שפּיץ. אַזוי אַז ס אַלע אַ קעסיידערדיק איז. דערווייַל, די נייַ קאַנסעפּטשואַל שטריך איז אַז פון אַ מענגע. אַזוי דער קוואַדראַט בראַקאַץ געבן מיר דעם פילע פלאָוץ און לעץ מיר קאַלעקטיוולי רופן זיי גראַדעס דאָ. אַזוי איצט לאָזן ס זען וואָס איך בין געגאנגען צו טאָן. דאָ אין שורה 24 איז דער אָנהייב פון אַ פֿאַר שלייף. דאס איז טאַקע גאָרנישט פאַנטאַזיע. עס ס נאָר ניצן קוויזיז אַנשטאָט פון אַ שווער-קאָדעד נומער. אבער דאָרט ס 'גאָרנישט ינאַלעקטשולי פאַרשידענע דאָרט פון לעצטע וואָך. דאס איז נאָר פּרינטף, אַזוי פּרינטף ("קוויז #% d פון% d:") ווייַל איך נאָר ווילן צו דרוקן אויס געבן מיר ויספרעג נומער 1 פון 2 און דעמאָלט 2 פון 2. אַזוי דאָס איז אַ ריין עסטעטיש זאַך. אבער די טשיקאַווע טייל איצט איז אין שורה 27. אין סדר צו פּלאָמבירן אין איינער פון די צוויי פּלאַסעהאָלדערס מיט אַ פלאָוטינג-פונט ווערט, איר ווידער נוצן קוואַדראַט בראַקאַץ. אין דעם פאַל, איך בין ניצן איך ווייַל דאָס פֿאַר שלייף האט אנגעהויבן מיט איך יקוואַלינג וואָס ווערט, משמעות? [תּלמיד] 0. >> [מאַלאַן] 0. אַזוי אויף דער ערשטער יטעראַטיאָן פון דעם שלייף, עס איז ווי כאָטש איך געשריבן דעם אין קאָד, אָבער אויף די רגע יטעראַטיאָן פון דעם שלייף, עס איז ווי כאָטש איך געשריבן דאָס אין מיין קאָד. אבער דער פאַקט אַז איך בין ניצן אַ בייַטעוודיק איז גאנץ ווייַל, ווי דער נאָמען סאַגדזשעס, עס ס וועריינג זייַן ווערט אויף יעדער יטעראַטיאָן, אַזוי איך בין פילונג דעם מענגע איין אָרט אין אַ צייַט. וואָס טוט דעם מענגע קוק ווי? די סיבה איך געצויגן די סופּער פּשוט גראָדעק אויף די פאַרשטעלן דאָ פריער איז געווען פֿאַר דעם סיבה. אַ מענגע איז נאָר אַ פּייַדע פון ​​זכּרון נאכגעגאנגען דורך אן אנדער פּייַדע פון ​​זכּרון נאכגעגאנגען דורך אן אנדער פּייַדע פון ​​זכּרון און אַזוי אַרויס. אַזוי אויב מיין מענגע איז פון נומער 2 אין דעם פאַל דאָ, אַלע איך וואָלט זייַן טאן דורך טייפּינג אין מיין ויספרעג סקאָרז ווי דאָ - איך גאַט 100 אויף דעם איין און דעמאָלט איך גאַט אַ 99 אויף דעם איין - דעמאָלט דעם זכּרון זאל נישט אַפֿילו זייַן געניצט ווייַל איך ווע בלויז געבעטן די קאָמפּיוטער פֿאַר אַ מענגע פון ​​גרייס 2. יענע סקווערז ביסט נאָך דאָרט, רעכט? איר נאָך האָבן 2 גיגאבייט פון באַראַן אַפֿילו אויב איר ניטאָ בלויז אַסקינג פֿאַר 2 פלאָוץ. אַזוי דער געדאַנק הינטער ערייז איז אַז די קאָמפּיוטער נאָר נעמט אַ פּייַדע פון ​​זכּרון און דעמאָלט אַפּפּאָרטיאָנס קלענערער ברעקלעך צוריק צו צוריק צו צוריק צו צוריק. און אַזוי אַז ס אַלע אַ מענגע איז. עס ס אַ קאַנטיגיואַס פּייַדע פון ​​זכּרון ין פון וואָס איר קענען שטעלן זאכן. דאס כאַפּאַנז צו דעמאָלט טאָן נאָר עטלעכע נודנע אַריטמעטיק. אויב איך מעגילע אַראָפּ דאָ, דאָס איז ווו איך דעמאָלט יטעראַטע איבער די מענגע. איך קומען אַרויף מיט די סאַמיישאַן פון אַלע פון ​​די וואַלועס אין די מענגע, און דעמאָלט איך נוצן די קייַלעכיק פונקציאָנירן דאָ צו פאקטיש טאָן די סאַכאַקל צעטיילט דורך קוויזיז. אבער לאָזן מיר כוואַליע מיין האַנט בייַ אַז ווי סאָרט פון גענוג אַריטמעטיק פֿאַר איצט. אבער אַלע אַז ס טאן פֿאַר מיר לעסאָף איז קאָמפּוטינג אַ דורכשניטלעך. אַזוי ערשטער ויספרעג פּלוס רגע ויספרעג צעטיילט דורך 2 און דעמאָלט דרוקן עס אויס ווי אַ ינט. אבער לאָזן ס איצט יבערגאַנג צו אַ אַנדערש בייַשפּיל גערופן סטרינג1, וואָס פּאַינץ אַ ענלעך בילד אָבער ניצן סטרינגס. זאל מיר גיין פאָרויס און פאַרפּאָשעטערן דאָס פֿאַר נאָר אַ מאָמענט. מוחל די ינדענטיישאַן פֿאַר איצט. נאָטיץ אין שורה 19 פון דעם בייַשפּיל, איך באַקומען אַ שטריקל פון דעם באַניצער. אבער באַמערקן וואָס איך בין ווייַטער טאן אין שורות 22 פאָרויס. איך בין פאקטיש יטעראַטינג פון איך אַרויף צו - און דאָס איז אַ נייַ קונץ - סטרלען, שטריקל לענג. דאס איז אַ פֿונקציע וואָס קומט מיט C אַז אויב איר פאָרן עס אַ שטריקל, עס דערציילט איר ווי פילע אותיות זענען אין אַז שטריקל. אַז ס אַלע. און די פאַקט אַז עס ס סטרלען אַנשטאָט פון שטריקל לענג איז נאָר ווייַל עס ס מער סאַקסינגקט. דרייַסיק יאר צוריק, מען לייקט צו שרייַבן זאכן ווי סאַקסינגקטלי ווי מעגלעך, אַזוי מיר ווע געהאלטן אַז קאַנווענשאַן דאָ. איך + + נאָר מיטל ינקראַמאַנט איך אין יעדער יטעראַטיאָן. און איצט באַמערקן דעם, וואָס איז טאַקע טשיקאַווע. אין שורה 24, איך זאָגן, "קאמפיוטער, געבן מיר אַ כאַראַקטער, 8 ביטן, און רופן עס C". אבער וואָס איז דאָס אויף די רעכט-האַנט זייַט זאגן? אין ענגליש, וואָס טוט וואָס פאָרשטעלן? [תּלמיד] דער ערשטער כאַראַקטער אין די מענגע. פּונקט. געבן מיר דער ערשטער כאַראַקטער אין די מענגע. אָדער, מער בכלל, געבן מיר דעם יטה כאַראַקטער אין די מענגע. און פאַרשטיין עס ס וויכטיק איצט אַז ווי קאָמפּיוטער סיינטיס, מיר רע פאקטיש קאַונטינג פון 0. איר טאָן ניט האָבן די דיסקרעשאַן איצט צו אָנהייבן טאן דעם. איצט איר האָבן צו ביכייוו אין לויט מיט די קאָמפּיוטער ס עקספּעקטיישאַנז און ציילן פון 0 ווייַל [0] איז געגאנגען צו זייַן דער ערשטער כאַראַקטער אין אַ שטריקל, [1] איז געגאנגען צו זייַן די רגע, [2] איז געגאנגען צו זייַן די דריט, און אַזוי אַרויס. אַזוי דעם פּראָגראַם, אויב איך צונויפנעמען עס, דאָס איז ווידער סטרינג1, אַזוי מאַכן סטרינג1, און איצט איך ווע לויפן סטרינג1 אין מיין וואָקזאַל פֿענצטער. עס ס ווארטן פֿאַר אַרייַנשרייַב, אַזוי איך בין געגאנגען צו דרוקן אין דוד, אַרייַן, און איצט עס פּרינץ דוד אַלע אויף פאַרשידענע שורות ווייַל באַמערקן וואָס איך בין טאן. איך בין דרוקן איין כאַראַקטער אין אַ צייַט. מיר וועלן נישט גיין אין דעטאַל הייַנט אויף דעם, אָבער איך אויסגעמעקט אַ מאָמענט צוריק דעם טשעק דאָ. עס טורנס אויס אַז אויב דער באַניצער איז מיסבאַכייווינג, אַדווערסעריאַל, אָדער נאָר צעמישט, איר קענען פאקטיש פאַרלאָזן צו געבן אַ שטריקל פון עטלעכע לענג. אויב איר שלאָגן דעם אומרעכט שליסל אויף די קלאַוויאַטור, איר זאל געבן קיין שטריקל בייַ אַלע, אָדער אויב איר ניטאָ בייזע, איר זאל פּרובירן צו פּאַפּ אין אַ גיגאבייט 'ס ווערט פון אַן עסיי צו פּלאָמבירן דעם שטריקל, און אויב די קאָמפּיוטער לויפט אויס פון זכּרון, עס טורנס אויס אַז מיר רע געגאנגען צו באַקומען צוריק דעם ספּעציעל ווערט גערופן נאַל. אַזוי פֿאַר איצט, נאָר וויסן אַז דאָרט ס דעם ספּעציעל ווערט גערופן נאַל וואָס וועט לאָזן אונדז צו קאָנטראָלירן ווען מיר רע אויס פון זכּרון, צווישן אנדערע זאכן. אבער אויב איך עפענען זיך איצט סטרינג2, באַמערקן איין חילוק דאָ. נאָטיץ איין חילוק דאָ מיט סטרינג2. מיט סטרינג2, דעם פֿאַר שלייף איז אַ ביסל אַנדערש. זאל מיר אויסמעקן די נוללס אַזוי אַז מיר קענען רעדן וועגן יענע אן אנדער צייַט. וואָס ס פאַרשידענע וועגן די פֿאַר שלייף דאָס צייַט? איך קענען גיין צוריק צו די פֿריִערדיקע בייַשפּיל. אַזוי אַז ס ווערסיע 2, דעם איז ווערסיע 1. 1, 2. 1, 2. די סטרלען רופן איז ווו? עס ס אין דער ערשטער טייל פון די פֿאַר שלייף. קיין געדאנקען ווי צו וואָס איך בין טאן דעם? יאָ. [תּלמיד] אזוי איר טאָן ניט רופן די פֿונקציע יעדער איין מאָל. [מאַלאַן] אזוי מיר טאָן ניט רופן די פֿונקציע יעדער איין מאָל. פּונקט. צוריקרופן פון פֿאַר לופּס אַז זיי ניטאָ סופּער פּשוט אַמאָל איר סאָרט פון פֿאַרשטיין וואָס דאָס איז די יניטיאַליזאַטיאָן, דער צושטאַנד, און די דערהייַנטיקן. די פּראָבלעם איז אַז די צושטאַנד כאַפּאַנז אויף יעדער יטעראַטיאָן פון די שלייף. און אַזוי אין דעם בייַשפּיל דאָ, וואָס איז שלעכט וועגן די פאַקט אַז דאָס איז מיין צושטאַנד? [תּלמיד] איר רע פאַך סטרלען. [מאַלאַן] איר רע פאַך סטרלען ווידער און ווידער און ווידער. אבער אַמאָל איך ווע טייפּט אין דוד, די לענג פון וואָס שטריקל איז 5, און עס ס ניט געגאנגען צו טוישן אויף יעדער יטעראַטיאָן פון די שלייף ווייַל די שטריקל איז נאָך ד-אַ-V-איך-ד. אַזוי דאָס איז אַ אָנצוהערעניש אין וואָס ס 'געגאנגען צו ווערן אַ ינקריסינגלי וויכטיק געדאַנק באקאנט ווי אַ פּלאַן באַשלוס ווו נאָר טאָן ניט מאַכן די קאָמפּיוטער טאָן ומנייטיק אַרבעט. פּונקט ווי אַ סניק פאָרויסיקע ווייַזונג פון פּסעט2, פּסעט2 אין די נאָרמאַל Edition איז געגאנגען צו אַרויסרופן איר צו פאקטיש מאַכשער עטלעכע נומער פון סיפערס, עטלעכע נומער פון ענקריפּשאַן אַלגערידאַמז, אַזוי אַז איר קענען ביידע ינקריפּט און דעקריפּט סוד אַרטיקלען פיל ווי די איין ראַלפיע דאָרט דיקאָודאַד. אין די העקער אויסגאבע פון ​​פּסעט2, מיר רע געגאנגען צו גיין אַ ביסל ווייַטער. מיר רע געגאנגען צו האַנט איר אַ טעקע פון ​​אַ פאַקטיש קאָמפּיוטער סיסטעם אַז כּולל אַ גאַנץ בינטל פון וסערנאַמעס און פאַקטיש ענקריפּטיד פּאַסווערדז, און די אַרויסרופן פֿאַר די העקער Edition איז געגאנגען צו זייַן צו פּלאַצן יענע פּאַסווערדז און רעכענען אויס וואָס קריפּטאָגראַפי אָדער וואָס סוד איז געניצט צו פאקטיש דזשענערייט יענע פּאַסווערדז. און מיר רע געגאנגען צו טאָן דאָס דורך ניצן אַ נייַ שטריך דאָ פון C אַז איך וועט געבן איר נאָר אַ דעמאָ פון באקאנט ווי באַפֿעל-שורה טענות. עס טורנס אויס, ווי עטלעכע פון ​​איר זאלט ​​האָבן געזען אין אָפּטיילונג אָדער אין טעקסטבוקס, הויפּט טוט נישט שטענדיק האָבן צו זייַן פּאָסל אין קלאַמערן. עס טורנס אויס אַז הויפּט קענען אויך זייַן געשריבן ווי דעם, מיט צוויי טענות, אַרגק און אַרגוו, ווו אַרגק איז די נומער פון ווערטער אַז איר טיפּ נאָך די פּראָגראַם 'ס נאָמען אויף דיין באַפֿעל שורה און אַרגוו איז די פאַקטיש ווערטער. און ווי דער קוואַדראַט בראַקאַץ דאָרט פֿאָרשלאָגן, אַרגוו איז משמעות אַ מענגע. עס ס געגאנגען צו זייַן אַ שטריקל נאָך אַ שטריקל נאָך אַ שטריקל אין זכּרון. אַזוי וואָס מיר רע געגאנגען צו זייַן ביכולת צו טאָן סטאַרטינג מיט פּסעט 2 איז עפּעס ווי דעם. אויב איך מאַכן אַרגוו1, וואָס איז אַ בייַשפּיל מיר וועט קומען צוריק צו אויף מאנטאג, און לויפן עס, באַמערקן אַז עס טוט נישט ויסקומען צו טאָן עפּעס נאָך. עס נאָר פּרינץ אויס זייַן אייגן נאָמען. אבער אויב איך זאָגן זייַ געזונט קלאַס, באַמערקן אַז דעם פּראָגראַם משמעות יטעראַטעס איבער יעדער פון די ווערטער וואָס זענען טייפּט אין די פּינטלעך. און דער מיטל דורך וועלכע מיר וועלן געווינען צוטריט צו ווערטער אַז דער באַניצער האט טייפּט אין די פּינטלעך איז דורך טשאַנגינג הויפּט סטאַרטינג דעם אָפּרוטעג פון ינט הויפּט (פּאָסל) צו ינט הויפּט (אַרגק, אַרגוו) און אַזוי וועט זייַן געבוירן באַפֿעל-שורה טענות. און אַמאָל איר באַקומען טאַקע סאַפיסטאַקייטיד בייַ דעם, איר וועט זייַן ביכולת צו שרייַבן טאַקע טריפּפּי מגילה אַזאַ ווי דאָס איינער דאָ, וואָס גייט אויבן און ווייַטער פון עטלעכע פון ​​די פאַנגקשאַנאַליטי מיר ווע געטאן אַזוי ווייַט אָבער אַלע גאַנץ שטאַרק. אַזוי מיר וועט לאָזן דעם מיט דעם אויף די פאַרשטעלן, און מיר וועלן זען איר אויף מאנטאג. [CS50.TV]