[Powered by Google Translate] [סעקשאַן 3] [ווייניקער באַקוועם] [נאַטע האַרדיסאָן] [האַרוואַרד אוניווערסיטעט] [דאס איז קס50.] [CS50.TV] אַלע רעכט, לאָזן ס באַקומען אנגעהויבן. באַגריסן צו וואָך 4 פון קס50. אויב איר גייז עפענען זיך אַ וועב בלעטערער און עפענען אַרויף פּסעט 3, שטופּנ מיט קס50, מיר רע געגאנגען צו אָנהייבן געגאנגען דורך דער אָפּטיילונג פון שאלות דאָרט. פּונקט ווי לעצטע וואָך, מיר וועט זייַן אַרבעט אין קס50 ספּייסאַז, אויב איר וועט אויך ציען וואָס אַרויף ווי געזונט, און אויב איר גיין פאָרויס און באַזוכן דעם לינק וואָס איך ווע גאַט אַרויף דאָ אין די שפּיץ. עס ס צייַט צו באַקומען אנגעהויבן. מיר ווע גאַט אונדזער ביסל הי פּראָגראַם דאָ. גאָרנישט משוגע. איינער פון די ערשטער זאכן איך ווילן צו טאָן מיט איר גייז הייַנט איז גיין איבער אַ ביסל סאַלושאַנז צו פּראָבלעם באַשטעטיק 1, מין פון בייַשפּיל סאַלושאַנז, נאָר אַזוי איר קענען באַקומען אַ פילן פֿאַר וואָס מינים פון קאָד שטעקן איז שרייבן, וואָס מינים פון קאָד אנדערע סטודענטן זענען שרייבן, און האָבן איר נעמען אַ קוק אין עס ווייַל איך וויסן עס ס טשודנע ווען איר פאָרלייגן אַ לייזונג צו אַ פּראָבלעם שטעלן און באַקומען באַמערקונגען אויף דיין אייגן ווערסיע, אָבער מאל עס ס נוציק צו זען ווי אנדערע מענטשן האבן עס, ספּעציעל אָנעס וואָס זענען פייַן קוקן. פֿאַר די רובֿ טייל, איך איז געווען טאַקע ימפּרעסט מיט די סאַלושאַנז אַז איר גייז געשאפן. איך האב נישט נאָך אנגעהויבן קוקן אין דיין פּראָבלעם באַשטעטיק 2ס, אָבער אויב זיי ניטאָ עפּעס ווי דער ערשטער, עס מיטל גאָרנישט אָבער גוט זאכן. אויב איר קוק אין מיין רעוויזיעס, לאָזן ס אָנהייבן אַלע די וועג אַראָפּ אין רעוויסיאָן 1, און מיר רע געגאנגען צו נעמען אַ שנעל קוק בייַ אַ מאַריאָ לייזונג. אויב איר ציען דעם אַרויף, די מגילה אַז מיר רע געגאנגען צו פאָרשטעלן זענען ריכטיק. עס זענען נישט קערעקטנאַס ישוז מיט די פראבלעמען, אָבער אלא, מיר ווילן צו רעדן אַ ביסל ביסל וועגן די פאַרשידענע פּלאַן ישוז וואָס זענען זייַענדיק געניצט דאָ. איינער פון די זאכן וואָס איז טשיקאַווע וועגן די לייזונג איז אַז עס געניצט דעם נייַ בויען גערופן פּאָונד דעפינירן, מאל אויך ריפערד צו ווי אַ האַש דעפינירן. זאל מיר פארגרעסער אין אויף עס דאָ. א # דעפינירן אַלאַוז איר צו געבן נעמען צו די נומערן אין דיין פּראָגראַם. אין דעם פאַל, די מאַקסימום הייך פון אַ פּיראַמיד אין מאַריאָ איז געווען 23 און גאַנץ ווי פּאַטינג 23 אין מיין קאָד- מיר וואָלט אָפּשיקן צו אַז ווי שווער קאָודינג 23 - אַנשטאָט דעם גיט די נאָמען מאַקס_העיגהט צו אַז נומער, אַזוי אַז אַראָפּ דאָ אין מיין טאָן-בשעת שלייף איר קענען פאקטיש אָפּשיקן צו מאַקס_העיגהט אַנשטאָט פון פּאַטינג די נומער 23 ין [תּלמיד] וואָס איז די מייַלע פון ​​טאן וואָס? אַז ס אַ גרויס קשיא. איינער איז רידאַביליטי. אַ מייַלע פון ​​ניצן דעם # דעפינירן איז רידאַביליטי. ווען איך בין לייענען דעם קאָד, איך קענען זען וואָס ס 'געגאנגען אויף. איך קענען זען אין דעם צושטאַנד דאָ אַז מיר רע טעסטינג פֿאַר די הייך זייַענדיק <0, וואָס מיר קען האָבן אויך דיפיינד צו זייַן אַ מינימום הייך אָדער אַ מין הייך. די אנדערע מייַלע איז אַז איך קענען דעריבער לייענען די מנוחה פון די שורה צו זען אַז מיר רע אויך קאָנטראָלירונג צו מאַכן זיכער אַז הייך איז נישט גרעסער ווי די מאַקס הייך, ווייַל מיר רע געגאנגען צו פאָרזעצן בשעת די הייך איז גרעסער ווי די מאַקס הייך. די אנדערע מייַלע איז-אויב איך פארגרעסער אויס אַ קליין ביסל דאָ- אויב איך לויפן דעם פּראָגראַם און איך לויפן עס, זאָגן, מיט 23 רעכט איצט, עס וועט דרוקן אויס אַלע 23 ראָוז נאָר ווי אַז. אבער זאָגן איך געוואלט צו טוישן די מאַקס הייך, און איצט איך ווילן צו שיעור די מאַקסימום הייך פון פּיראַמידס צו זייַן בלויז זאָגן-מענטש, וואָס איז געווען פאַנגקי. # אַרייַננעמען <סטדיאָ.ה>, # דעפינירן מאַקס_העיגהט, און לאָזן ס זאָגן מיר געוואלט צו שטעלן עס גלייַך צו 10. איצט בייַ דעם פונט, אַלע איך געהאט צו טאָן איז געווען טוישן עס אין דעם איין אָרט. איך קענען רעקאָמפּילע דעם קאָד, און איצט אויב איך פּרובירן און דרוקן אין 12, עס וועט פּינטלעך מיר ווידער. אין דעם פאַל, מיר רע נאָר ניצן מאַקס_העיגהט אַמאָל. עס ס נישט אַז גרויס פון אַ כאַסאַל צו גיין אין און טוישן עס אין די בשעת שלייף אויב איר דאַרפֿן צו. אבער אין מגילה ווו איר ניטאָ רעפעראַנסינג דער זעלביקער מאַגיש נומער איבער און איבער ווידער, דעם # דעפינירן מעקאַניזאַם איז טאַקע האַנטיק ווייַל איר נאָר טוישן עס איין מאָל אין די שפּיץ פון דער טעקע-עס ס טיפּיקלי ווו איר שטעלן זיי- און די טוישן פּערקאָלאַטעס דורך די מנוחה פון דער טעקע. אנדערע זאכן איך געוואלט צו טאָן אין דעם אַסיינמאַנט אַז איך געדאַנק געקוקט טאַקע פייַן, איינער איז געווען די נאַמינג פון די וועריאַבאַלז. איר זען דאָ אַז מיר ווע גאַט ינטעגער וועריאַבאַלז גערופן רודערן און גערופן הייך. ספּייסאַז, כאַשאַז, עס העלפט מאַכן די קאָד אַ ביסל מער ליינעוודיק, מאכט עס אַ ביסל מער פאַרשטיייק וואָס ס 'פאקטיש געגאנגען אויף. דאס איז אין קאַנטראַסט צו ניצן, זאָגן, טראַפ - אותיות אָדער נאָר גאַבאַלדיגוק בעסאַכאַקל. א לעצט זאַך איך וועט פונט אויס איז אַז אין פֿאַר לופּס, אָפֿט די יטעראַטאָר וועריאַבאַלז, די קאָונטערס וואָס איר נוצן אין דיין פֿאַר לופּס, עס ס נאָרמאַל און קאַנווענשאַנאַל צו אָנהייבן זיי מיט יעדער איך און דעמאָלט דזש און דעמאָלט ק און געגאנגען אויף פון דאָרט אויב איר דאַרפֿן מער וועריאַבאַלז, און דאָס איז נאָר אַ קאַנווענשאַן. עס זענען גורל פון קאַנווענשאַנז. עס דעפּענדס אויף די פּראָגראַממינג שפּראַך איר ניטאָ ניצן. אבער אין C, מיר טיפּיקלי אָנהייבן מיט איך. עס טוט נישט מאַכן זינען צו נוצן, זאָגן, אַ אָדער ב דיפּענדינג אויף די סיטואַציע. אַז ס עס פֿאַר דעם איין. אויב איר איצט ציען אַרויף רעוויסיאָן 2, איר וועט זען אן אנדער מאַריאָ, און דעם איין איז ענלעך צו די אנדערע איין אַז מיר נאָר געזען, אָבער עס טוט עפּעס מין פון קיל. אויב מיר קוקן אין דעם אָפּטיילונג רעכט דאָ ין די ינער פֿאַר שלייף, זיי ניטאָ ניצן עטלעכע משוגע קוקן סינטאַקס דאָ רעכט אין דעם ליניע. דאס איז גערופן אַ טערנאַרי אָפּעראַטאָר. עס איז אַן אויב אַנדערש סטאַטעמענט קאַנדענסט אין איין שורה. דער צושטאַנד איז דעם טייל ין קלאַמערן. עס ס עקוויוואַלענט צו זאגן אויב דזש <הייך - איך - 1. און דעמאָלט וואָס דער אינהאַלט פון אַז אויב בלאָק וואָלט זייַן זענען די פּלאַץ און דעריבער די אינהאַלט פון וואָס די אַנדערש וואָלט זייַן ביסט דעם #. עס ס יסענשאַלי אַסיינינג אַ פּלאַץ צו דעם בייַטעוודיק. עס ס פּאַטינג אַ פּלאַץ אין די אינהאַלט פון די בלאָק בייַטעוודיק, אויב דעם צושטאַנד איז באגעגנט, און אויב די צושטאַנד איז נישט באגעגנט, דעריבער די בלאָק בייַטעוודיק געץ דעם #. און דעמאָלט, פון קורס, אַנשטאָט פון בנין אַרויף אַ גאנצע שטריקל און דרוקן אַלץ אויס אין די סוף דעם לייזונג פּרינץ עס אויס איין כאַראַקטער אין אַ צייַט. שיין קיל. אן אנדער פּאָר פון זאכן צו קוקן בייַ. מיר וועט מאַך אויף צו זשעדנע. איצט אויב מיר קוקן אין זשעדנע, דעם ערשטער לייזונג ניצט די # דיפיינז גאַנץ אַ ביסל. מיר ווע גאַט איינער קעסיידערדיק דיפיינד פֿאַר יעדער פון די פאַרשידענע נומערן אין דעם פּראָגראַם. מיר ווע גאַט איינער פֿאַר סענס פּער דאָללאַר, איינער פֿאַר קוואַרטערס, דיימז, ניקאַלז, און פּעניז, און איצט אויב מיר מעגילע אַראָפּ און לייענען דעם קאָד, מיר קענען זען אַ נאָרמאַל טאָן-בשעת שלייף דרוקן אַלץ אויס. מין פון די קרוקס פון דעם פּראָבלעם איז געווען ריאַלייזינג אַז איר דארף צו בייַטן די לאָזנ שווימען אַז איר לייענען אין פון די באַניצער צו אַ ינטעגער צו אַקיעראַטלי טאָן די מאַט, און דאָס איז ווייַל מיט פלאָוטינג פונט נומערן, ווי מיר גערעדט וועגן אין לעקציע בעקיצער, עס ס ניט מעגלעך צו אַקיעראַטלי פאָרשטעלן יעדער איין ווערט אויף די נומער שורה ווייַל עס זענען ינפאַנאַטלי פילע וואַלועס צווישן 3 און, זאָגן, 3.1 אַפֿילו. איר קענען האָבן 3.01 און 3.001 און 3.0001, און איר קענען האַלטן געגאנגען. עס טורנס אויס ווען איר ניטאָ ארבעטן מיט געלט, איר אָפֿט ווילן צו בייַטן עס אין ינטעגער פֿאָרמאַט אַזוי אַז איר ניטאָ ניט לוזינג פּעניז און אַז מין פון שטאָפּן. טאן וואָס און ראַונדינג איז שליסל. דעם לייזונג געניצט אַ בישליימעס סטרייטפאָרווערד, גרויס אַלגערידאַם, וואָס דעקרעמענטעד די נומער פון סענס רוען, ערשטער דורך קוואַרטערס, דעמאָלט דורך דיימז, דעמאָלט דורך ניקאַלז, דעמאָלט דורך פּעניז, און אַדינג צו די נומער פון קאָינס יעדער צייַט. אן אנדער לייזונג אַז מיר וועט זען, ווי איך פארגרעסער אויס און גיין צו רעוויסיאָן 4, האט אַ זייער ענלעך אָנהייב אָבער אַנשטאָט געניצט דיוו און מאָד רעכט איבער דאָ צו רעכענען די נומער פון סענס. דאס, די נומער פון קוואַרטערס איז גלייַך צו די נומער פון סענס צעטיילט דורך 25, און די סיבה דאָס אַרבעט איז ווייַל מיר רע טאן ינטעגער אָפּטייל, אַזוי עס ס דיסקאַרדינג קיין רעשט. [תּלמיד] צי מיר האָבן צו באַמערקן די זוכן? עס טאַקע דעפּענדס. [תּלמיד] איר רע קאַמענטינג מער ווי קאָד רעכט דאָ. יאָ, און אַזוי עס זענען אַ בינטל פון וועריינג פילאָסאָפיעס אויף דעם. מייַן פּערזענלעך פֿילאָסאָפֿיע איז אַז דיין קאָד איז טאַקע די אמת, ווי דיין קאָד איז וואָס ס 'פאקטיש עקסאַקיוטינג אויף די קאָמפּיוטער, און אַזוי דיין קאָד זאָל זייַן ווי ליינעוודיק ווי מעגלעך צו נישט נאַסעסאַטייט ווי פילע באַמערקונגען. וואָס האט געזאגט, ווען איר זענט טאן זאכן וואָס זענען מין פון טריקי מאַטאַמאַטיקלי אָדער אַלגאָריטהמיקאַללי, עס ס 'גוט צו באַמערקונג יענע אַזוי אַז איר קענען לייגן אַן עקסטרע ויסמעסטונג, אַן עקסטרע שיכטע צו ווער סע איז לייענען אייער קאָד. אין די סאַלושאַנז, אָפֿט זיי זענען קאַמענטאַד מער שווער נאָר ווייַל מיר ווילן צו זייַן ביכולת צו פאַרשפּרייטן זיי און האָבן מענטשן קלייַבן זיי אַרויף און לייענען זיי שיין לייכט. אבער באשטימט, איך וואָלט שטימען אַז דאָס איז שווער. [תּלמיד] אבער ווען אין צווייפל, גיין כעוויער? ווען אין צווייפל, גיין כעוויער. עטלעכע מענטשן וועט מאל זאָגן צוריקקומען 0 אָדער עפּעס ווי אַז. איך טראַכטן אַז ס אַ לעכערלעך באַמערקונג. קלאר אַז ס 'וואָס ס געשעעניש. איך טאָן ניט דאַרפֿן ענגליש צו זאָגן מיר אַז. מאל מען וועט שרייַבן שטאָפּן ווי "קטהקסבאַי!" אַז ס מין פון קיוט אָבער אויך נישט- אַז ס 'נישט מאכן די חילוק צווישן קאַמענטינג ווייזט אָדער נישט. יענע מינים פון באַמערקונגען זענען נאָר המגיד, המגיד. קיל. אין דעם פונט, לאָזן ס אָנהייבן ארבעטן אויף די פּראָבלעם באַשטעטיק 3 אָפּטיילונג פון שאלות. אויב איר גייז ציען דעם אַרויף ווידער, ווי מיט לעצטע וואָך, מיר ניטאָ ניט געגאנגען צו היטן די קורצע הייזלעך אין דעם אָפּטיילונג. מיר וועט לאָזן איר גייז טאָן אַז אויף דיין אייגן צייַט און רעדן וועגן די שאלות. אבער איצט אין דעם אָפּטיילונג מיר רע געגאנגען צו פאַרברענגען אַ ביסל מער צייַט גערעדט וועגן ווייניקער פון די קאָודינג באַסיקס ווי מיר האבן לעצטע וואָך, און אַנשטאָט, מיר רע געגאנגען צו פאָקוס מער אויף אַ קליין ביסל מער פון די טעאָריע, אַזוי גערעדט וועגן ביינערי זוכן און דעמאָלט סאָרטינג. פון יענע פון ​​איר וואס האָבן שוין פאלגענדע צוזאמען מיט די לעקציע, קענען עמעצער געבן מיר אַ ריקאַפּ פון וואָס די חילוק איז צווישן ביינערי זוכן און לינעאַר זוכן? וואָס ס 'געגאנגען אויף? זיכער. לינעאַר זוכן אָנפֿרעגן דורך יעדער עלעמענט אין דער אויסגעשטעלט רשימה איינער דורך איינער דורך איינער דורך איינער דורך איינער, און ביינערי זוכן דיוויידז די רשימה אין 2 גרופּעס, טשעקס אויב די שליסלען ווערט וואָס איר ניטאָ שאַרף פֿאַר איז גרעסער ווי אָדער ווייניקער ווי די מידפּוינט ווערט אַז איר נאָר געפונען, און אויב עס ס ווייניקער ווי, עס גייט מיט דער נידעריקער רשימה און דעמאָלט דיוויידז אַז ווידער, טוט די זעלבע פֿונקציע אַלע די וועג אַראָפּ ביז עס געפינט די מידפּוינט צו זייַן גלייַך צו די ווערט זיך. רעכט. פארוואס טאָן מיר זאָרגן? פארוואס טאָן מיר רעדן וועגן ביינערי זוכן קעגן לינעאַר זוכן? יאָ. ביינערי איז אַ פּלאַץ פאַסטער, אַזוי אויב איר טאָפּל די גרייס פון דעם פּראָבלעם עס נעמט איינער מער שריט אלא ווי צוויי מאָל ווי פילע. פּונקט. אַז ס אַ גרויס ענטפֿערן. לינעאַר זוכן איז זייער פיל קאָנטראָלירונג איין עלעמענט אין אַ צייַט, און ווי מיר געזען אויף די זייער ערשטער טאָג פון לעקציע ווען דוד געגאנגען דורך זייַן טעלעפאָן בוך בייַשפּיל און ריפּט אויס איין בלאַט פון די פאָון בוך אין אַ צייַט און געהאלטן טאן אַז איבער און איבער און איבער ווידער, עס ס געגאנגען צו נעמען אים אַ טאַקע לאַנג צייַט צו געפֿינען אַבי ווער אין די טעלעפאָן בוך, סייַדן, פון קורס, ער איז געווען קוקן פֿאַר עמעצער אין דער זייער אָנהייב פון דעם אלפאבעט. מיט ביינערי זוכן, איר קענען גיין אַ פּלאַץ פאַסטער, און עס ס נישט נאָר צוויי מאָל ווי פעסט אָדער 3 מאל ווי פעסט אָדער 4 מאל ווי שנעל. אבער די פּראָבלעם געץ קלענערער און קלענערער און קלענערער פיל פאַסטער. צו אילוסטרירן דאָס, מיר וועט אָנהייבן גערעדט וועגן וואָס ס געגאנגען אויף ווען מיר שרייַבן ביינערי זוכן. די פּראָבלעם בייַ האַנט איז אַז אויב איך האָבן אַ מענגע פון ​​נומערן, זאָגן, 1, 2, 3, 5, 7, 23, 45, 78, 12,323, און דעמאָלט 9 מיט אַ טאָן פון 0ס נאָך אים, מיר ווילן צו זייַן ביכולת צו רעכענען אויס טאַקע געשווינד וואָס איז אין דעם מענגע פון ​​נומערן. איך וויסן דאָס מיינט אַ ביסל נאַריש און אַ ביסל קאַנטרייווד, ווייַל רעכט איצט עס איז. מיר האָבן אַ מענגע וואָס טוט ניט האָבן זייער פילע יסודות אין עס, און אויב איך פרעגן איינער פון איר צו רעכענען אויס צי אָדער נישט 23 איז אין די מענגע, איר קענען טאָן אַז שיין געשווינד נאָר דורך גלאַנסינג בייַ דעם און טעלינג מיר יאָ אָדער ניט. דער אַנאַלאָג צו באַטראַכטן איז ימאַדזשאַן אויב דאָס זענען געווען, זאָגן, אַ עקססעל ספּרעדשיט מיט 10,000 ראָוז, 20,000 ראָוז. פון קורס, איר קענען טאָן די באַפֿעל F אָדער די קאָנטראָל ף און קוק עפּעס אַרויף. איר קענען אויך נוצן די פילטערס און די זוכן שטאָפּן, אָבער אויב איר האט צו קוקן דורך אַז טעקע שורה ביי שורה ביי שורה, עס וואָלט נעמען איר אַ לאַנג צייַט צו געפֿינען עס. עס ס מין פון ווי אין די טעלעפאָן בוך בייַשפּיל, אויך, ווו קיינער קוקט דורך אַ טעלעפאָן בוך איין בלאַט אין אַ צייַט. טיפּיקלי, זיי טאָן עפענען עס צו די מיטל, אָדער אין דעם פאַל פון אַ פּלאַץ פון טעלעפאָן ביכער און ווערטערביכער ווו איר פאקטיש האָבן עס קיד אויף דער ערשטער בריוו, איר פליפּ צו אַז ערשטער בריוו און עפענען און אָנהייב געגאנגען דורך דאָרט. דערמאָנען מיר פון דיין נאָמען ווידער. >> סאַם. סאַם. ווי סאַם האט געזאגט, אַז לינעאַר זוכן פּראָצעס איז געגאנגען צו זייַן טאַקע פּאַמעלעך, און אַנשטאָט מיט ביינערי זוכן, די וועג דאָס אַרבעט איז אַז יעדער צייַט מיר גיין דורך אַ יטעראַטיאָן פון אונדזער שאַרף אַלגערידאַם, מיר רע געגאנגען צו טיילן די רשימה אין האַלב, יסענשאַלי, אין צוויי קלענערער רשימות. און דעמאָלט אויף דער ווייַטער יטעראַטיאָן פון די שלייף, מיר וועט טיילן עס ווידער אין אנדערע קלענערער רשימות. ווי איר קענען זען, די פּראָבלעם האלט געטינג קלענערער און קלענערער ווייַל מיר האַלטן דיסקאַרדינג האַלב פון די רשימה יעדער איין מאָל. ווי טוט דאָס אַוועקוואַרפן אַרבעט? פּונקט ווי אַ דערמאָנונג, וואָס מיר רע געגאנגען צו טאָן אויב מיר האבן אַ קאָמפּיוטער און מיר זענען געווען, זאָגן, שאַרף פֿאַר די נומער 5 אין דעם רשימה איז אַז מיר וואָלט קלייַבן אַ נומער אין דער מיטן. אין די מיטן פון דעם רשימה, ווייַל עס זענען 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 נומערן, מיר 'ד קלייַבן די נומער אָדער בייַ די 4 שטעלע אָדער בייַ די 5 שטעלע, און מיר 'ד רופן אַז די מיטל פון אונדזער רשימה. קלייַבן נומער אין מיטן. דעריבער, נאָר ווי סאַם געזאגט, מיר וועט פּרובירן צו זען אויב אַז נומער איז גלייַך צו די נומער וואָס מיר ווילן צו באַקומען אָדער אונדזער געוואלט נומער. אויב עס ס גלייַך, דעמאָלט מיר ווע געפונען עס. מיר געווינען. אויב עס ס נישט גלייַך, דעמאָלט דאָרט זענען אַ פּאָר פון קאַסעס. די צוויי פאלן זענען אָדער די נומער האט צו זייַן גרעסער ווי די נומער מיר רע קוקן בייַ, אָדער עס ס ווייניקער ווי. אויב עס ס גרעסער, מיר מאַך צו די רעכט. און אויב עס ס ווייניקער, מיר מאַך צו די לינקס. און דעמאָלט מיר איבערחזרן די גאנצע פּראָצעס ווידער אויף אָדער די רעכט העלפט אָדער די לינקס האַלב פון די רשימה. דער ערשטער פּראָבלעם אין הייַנט ס 'אָפּטיילונג איז צו רעכענען אויס ווי מיר קענען פאקטיש אָנהייבן צו אויסדריקן דעם אין C קאָד. מיר ווע גאַט דער פּסעודאָקאָדע דאָ. וואָס מיר וועט אָנהייבן טאן איז איך וועט ציען אַרויף אַ סאָרט-נייַ פּלאַץ, ראַטעווען דעם רעוויזיע אַזוי אַז מיר האָבן די הערות פֿאַר שפּעטער, מיר וועט אויסמעקן אַלע דעם, און דעמאָלט קאָפּיע און פּאַפּ פון די פּראָבלעם שטעלן דעם אינפֿאָרמאַציע אין אונדזער ספּייסאַז, און אַלעווייַ דאָס טוט נישט ברעכן. גאנץ. אויב איר גייז אַלע טאָן אַז, קאָפּי און פּאַפּ דעם קאָד אין דיין נייַ פּלאַץ, אין אַ ליידיק איינער. זאל ס פּרובירן דניאל. אויב איר צונויפנעמען און לויפן דעם פּראָגראַם, טוט עס אַרבעט? נומ >> וואָס ס עס געזאגט? עס זאגט די קאָנטראָל ריטשאַז סוף פון ניט-פּאָסל פונקציאָנירן. יאָ, אַזוי לאָזן מיר פּרובירן פליסנדיק עס. האָט איר גייז געזען דעם איידער? צי איר וויסן וואָס דאָס מיטל? אָוקיי, לאָזן ס דייסעקט דעם אַ קליין ביסל. עס ס געזאגט אין פילע.ק אויף שורה 9, זייַל 1 מיר האָבן אַ טעות, פּונקט ווי איר האט געזאגט, און עס זאגט אַז עס ס סטעמינג פון דער טעות ווארענונג און די צוריקקומען טיפּ ווארענונג. עס קוקט ווי עפּעס איז געגאנגען אויף מיט די צוריקקומען טיפּ, וואָס מאכט זינען. מיר ווע גאַט אַ ניט-פּאָסל פונקציאָנירן, וואָס מיטל אַז מיר ווע גאַט אַ פֿונקציע וואָס טוט ניט צוריקקומען פּאָסל. א פּאָסל פֿונקציע איז איינער וואָס קוקט ווי דאָס: פּאָסל פו (), און עס ס פּאָסל ווייַל די צוריקקומען טיפּ איז פּאָסל, וואָס מיטל וואָס אויב מיר האבן עפּעס אין דאָ ווי צוריקקומען 1, מיר 'ד באַקומען אַ קאַמפּיילער טעות פֿאַר דעם. אבער, מיר האָבן אַ ניט-פּאָסל פונקציאָנירן. אונדזער ניט-פּאָסל פונקציאָנירן אין דעם פאַל איז אונדזער זוכן פֿונקציע ווייַל עס האט אַ צוריקקומען טיפּ פון באָאָל. ווען עס ס זאגן אַז די קאָנטראָל ריטשאַז דער סוף פון אַ ניט-פּאָסל פונקציאָנירן, עס ס ווייַל זוכן טוט נישט האָבן אַ צוריקקומען סטאַטעמענט. עס ס ניט אומגעקערט עפּעס פון טיפּ באָאָל. מיר קענען פאַרריכטן וואָס, און וואָס טוט איר גייז טראַכטן זוכן זאָל צוריקקומען דורך פעליקייַט? וואָס זאָל זייַן די פעליקייַט צוריקקומען ווערט פון זוכן? ווייַל אַז ס וואָס מיר קענען לייגן אין די סוף. שאַרלאַט, טאָן איר האָבן קיין-? אמת אָדער פאַלש? >> אמת אָדער פאַלש. וואָס איינער? פאַלש. איך טאָן ניט וויסן. פאַלש? זאל ס פּרובירן עס. וואָס וואָלט איר זאָגן צוריקקומען פאַלש? אַז ס גרויס ינטוישאַן. [שאַרלאַט] איך טאָן ניט וויסן. מיר רע געגאנגען צו צוריקקומען פאַלש אין דעם פאַל ווייַל דאָס וועט זייַן אונדזער פעליקייַט אויב פֿאַר עטלעכע סיבה די רשימה איז ליידיק אָדער די נאָדל אַז מיר רע קוקן פֿאַר טוט נישט עקזיסטירן. דעמאָלט אין די זייער סוף, אויב מיר טאָן ניט צוריקקומען אמת פריער אין דעם פֿונקציע, מיר שטענדיק וויסן אַז דאָס פונקציאָנירן וועט זאָגן נאָופּ, עס ס נישט אין די מענגע. עס ס נישט אין די כייסטאַק. איצט אויב מיר צונויפנעמען און לויפן עס-לאָזן מיר ראַטעווען דעם אַזוי מיר קענען ציען עס אַרויף. איצט אויב מיר צונויפנעמען און לויפן אונדזער פּראָגראַם, עס טוט בויען. מיר באַקומען אונדזער ביסל פּינטלעך. אויב איך שלאָגן 4-וה-טאַקע. עס האט ניט דרוקן אויס עפּעס. עס קוקט ווי אַלץ געענדיקט אָוקיי. מיר ווע גאַט צו פּלאָמבירן דעם ין מיר גערעדט וועגן דעם אַלגערידאַם אין פּסעודאָקאָדע אַ קליין ביסל צוריק. זאל מיר זען, ראַטעווען דעם, און איך וועט ציען אַז אַלגערידאַם צוריק אַרויף ווידער. זאל ס שלאָגן דעם באָכער. נאָופּ. עס עס איז. ווי טאָן מיר טאָן דעם? וואָס וואָלט זייַן אַ גוט סטראַטעגיע פֿאַר סטאַרטינג אַוועק דעם קאָד? איר האָבן צו קלייַבן אַ נומער אין דער מיטן. ווי טאָן מיר קלייַבן אַ נומער אין די מיטן פון אַ מענגע? קיין פֿירלייגן? [תּלמיד] סטרלען צעטיילט דורך 2. סטרלען צעטיילט דורך 2. אַז ס אַ גרויס איינער. סטרלען אַרבעט מיט ספּעציעל מינים פון ערייז. וואָס מינים פון ערייז? שטריקל ערייז, כאַראַקטער ערייז. עס ס אַז זעלבע סאָרט פון באַגריף וואָס מיר ווילן צו צולייגן, אָבער מיר קענען ניט נוצן סטרלען ווייַל מיר טאָן ניט האָבן אַ מענגע פון ​​אותיות. מיר האָבן אַ מענגע פון ​​ינץ. אבער וואָס טוט סטרלען באַקומען פֿאַר אונדז? צי איר וויסן וואָס עס געץ פֿאַר אונדז? [תּלמיד] סטרלען געץ אונדז די לענג. פּונקט, עס געץ אונדז די לענג. סטרלען געץ די לענג פון די מענגע פֿאַר אונדז. ווי טאָן מיר באַקומען אַז אין אונדזער ביינערי זוכן פּראָגראַם? ווי וואָלט איר באַקומען די לענג פון אַ מענגע? [תּלמיד] סטרלען? איר קענען באַקומען די לענג פון אַ רעכט פאָרמאַטטעד C שטריקל מענגע מיט סטרלען. די פּראָבלעם, כאָטש, איז אַז מיר טאָן ניט האָבן אַ שטריקל מענגע. אויב מיר קוקן צוריק אין דעם קאָד, מיר האָבן דעם ינטעגער מענגע. ווי טאָן מיר וויסן ווי לאַנג עס איז? [תּלמיד] איז עס אַן עקוויוואַלענט איינער פֿאַר ענדפּוינט, ווי ינט ל אָדער עפּעס? עס טורנס אויס דאָרט פאקטיש איז נישט, און אַזוי אין אַ וועג, דאָס איז איינער פון יענע זאכן וואָס ס נאָר גוט צו וויסן וועגן C, אַז עס איז קיין וועג צו באַקומען די לענג פון אַ מענגע אויב אַלע איך געבן איר איז די מענגע. די סיבה עס אַרבעט מיט סטרינגס, די סיבה סטרלען מעשים, איז ווייַל אויב אַ שטריקל איז רעכט פאָרמאַטטעד, עס וועט האָבן אַז ספּעציעל \ 0 כאַראַקטער אין די זייער סוף. איר קענען אויך ימאַדזשאַן אויב איר האָבן אַ ימפּראַפּערלי פאָרמאַטטעד שטריקל און דאָרט ס קיין \ 0 כאַראַקטער דאָרט, דאַן די גאנצע זאַך טוט נישט אַרבעטן. [תּלמיד] קען איר לייגן די \ 0? מיר קען אין דעם פאַל. מיר געקענט לייגן עטלעכע סאָרט פון \ 0 אָדער עטלעכע סאָרט פון כדי מרמז צו כאַראַקטער און דאַן נוצן אַז. אבער אַז ס 'נישט גאַנץ געגאנגען צו אַרבעט ווייַל די \ 0 איז פֿאַר אַ טשאַר טיפּ, און דאָ מיר ווע גאַט ינץ. די אנדערע זאַך איז אויב מיר האבן צו נוצן אַ ספּעציעל ווערט ווי -1 צו צייכן דער סוף פון אַ מענגע דעמאָלט מיר קען קיינמאָל קראָם אַ -1 אין אונדזער ינטעגער ערייז. מיר 'ד ווערן סטאַק. עס טורנס אויס אַז דער בלויז וועג צו באַקומען די לענג פון אַ מענגע אין C איז צו פאקטיש געדענקען עס ווען איר שטעלן אים אַרויף און דעמאָלט פאָרן עס אַרום מיט די מענגע אַזוי אַז ווען איך האָבן אַ פֿונקציע וואָס ס געגאנגען צו טאָן עטלעכע ווערק אויף אַ מענגע פון ​​ינטאַדזשערז אָדער פלאָוץ אָדער דאַבאַלז אָדער וואָס האָט איר, איך אויך דאַרפֿן צו געבן די פֿונקציע די מענגע ס לענג, און אַז ס פּונקט וואָס מיר ווע געטאן דאָ אין די זוכן פונקציאָנירן. אויב איר קוק, וואָס מיר ווע געטאן ווען מיר פאָרן אין אונדזער מענגע דאָ, מיר אויך פאָרן אין די לענג, די גרייס. עס נאָר כאַפּאַנז אַז מיר האָבן גערופן דעם בייַטעוודיק דאָ, דעם פּאַראַמעטער אָדער אַרגומענט. דאס איז גערופן אַ פֿונקציע 'ס אַרגומענט רשימה אָדער פּאַראַמעטער רשימה, און די ביסט אויך גערופן טענות אָדער פּאַראַמעטערס. מענטשן נוצן פאַרשידענע תּנאָים בייַ פאַרשידענע מאל. איך מאל ינטערטשאַנגע זיי זיך. עס פּונקט אַזוי כאַפּאַנז אַז דעם בייַטעוודיק דאָ איז געהייסן סימילאַרלי צו דעם # דעפינירן אַרויף דאָ. אבער זיי ניטאָ נישט די זעלבע זאַך. די קאַפּיטאַליזיישאַן טוט ענין. אויב איר קוק אין וואָס כאַפּאַנז דאָ, מיר דערקלערן אונדזער ינט מענגע, וואָס מיר ווע גערופן נומערן. מיר ווע געגעבן עס אונדזער גרייס, וואָס קאָראַספּאַנדז צו אונדזער # דעפינירן אַרויף בייַ די שפּיץ. עס ס געגאנגען צו זייַן 8. און דעריבער ווען מיר דעמאָלט רופן אונדזער זוכן פונקציאָנירן אַראָפּ אונטן, מיר פאָרן אין די נומער מיר ווילן צו זוכן פֿאַר, וואָס מיר ווע פּראַמפּטיד, גאַטאַן פון דעם באַניצער. מיר פאָרן אין די מענגע, דעם נומערן, און דעמאָלט מיר אויך האָבן צו פאָרן אין די גרייס פון דעם מענגע, און דאַן די ווערט פון גרייס 8 געץ סטאָרד אָדער דורכגעגאנגען צו דעם ינטעגער בייַטעוודיק גערופן גרייס. מיר האָבן די גרייס פון דעם מענגע. איצט אויב מיר גיין צוריק צו וואָס מיר האבן גערעדט וועגן פריער, איך טראַכטן מיססי געבראכט אַרויף די פונט וואָס וואָס מיר דארף צו טאָן איז באַקומען די לענג פון די מענגע און טיילן עס דורך 2, און אַז וועט געבן אונדז די מידפּוינט. זאל ס זען. קען איך האָבן עמעצער שרייַבן דעם און ראַטעווען עס אין זייער אָרט? ווי וועגן לעילאַ? קען איך האָבן איר שרייַבן דאָס אין? שרייב דער ערשטער שורה ווו איר נעמען די לענג פון די מענגע און באַקומען די מידפּוינט און קראָם עס אין אַ נייַ בייַטעוודיק. איך וועט געבן איר אַ פּאָר סעקונדעס. זענט איר גרייט? [תּלמיד ינאָדאַבאַל] זיכער, קען איך האָבן איר רעכענען די מידפּוינט פון די כייסטאַק מענגע ין דער זוכן פֿונקציע ניצן די לענג פון די כייסטאַק מענגע, וואָס איז די גרייס בייַטעוודיק? גאָרנישט טריקי דאָ. [לעילאַ] פונקט גרייס / 2 און נאָר- און ראַטעווען עס, און שלאָגן די היט קנעפּל אַרויף דאָ אין די שפּיץ, און מיר וועט ציען עס אַרויף. גאנץ. עס מיר גיין. אָסאַם. ווי איז, וועט דאָס צונויפנעמען? [לעילאַ] ניין, עס דאַרף צו זייַן העכער. [נאַטע] יאָ, אַזוי וואָס טאָן מיר דאַרפֿן צו טאָן? [לעילאַ] ווי ינט מידפּוינט אָדער עפּעס. אָסאַם. יאָ, לאָזן ס טאָן אַז, ינט מידפּוינט = גרייס. וועט דעם צונויפנעמען? זאל ס אויסמעקן דעם באַמערקונג און באַקומען עס אויס פון די וועג. וואָס וועט נישט צונויפנעמען וועגן דעם? מיר ניטאָ ניט טאן עפּעס מיט ינטעגער, אַזוי מיר דאַרפֿן צו דרוקן עס אָדער עפּעס ווי אַז. יאָ, פּונקט. מיר וועט באַקומען אַ אַניוזד בייַטעוודיק. וואָס אַנדערש איז נישט געגאנגען צו אַרבעט וועגן דעם? איך טראַכטן איר האט עפּעס, סאַם. סעמיקאָלאָנס. יאָ, איך בין פעלנדיק יענע סעמיקאָלאָנס. עס ס געגאנגען צו זייַן אַ קעסיידערדיק זאַך איבער די לויף פון די טערמין. די לעצט זאַך איך וועט טאָן איז איך וועט שטעלן עטלעכע ווייַס פּלאַץ אויף יעדער זייַט פון דעם אָפּעראַטאָר דאָ, זינט אַז ס טיפּיקלי ווי מיר טאָן עס לויט צו אונדזער נוסח פירן. מיר ווע גאַט דער מידפּוינט פון אונדזער מענגע. איצט אויב מיר געדענקען צוריק צו אונדזער אַלגערידאַם, וואָס איז די רגע שריט וואָס מיר האבן צו טאָן אַמאָל מיר האָבן די מידפּוינט? [תּלמיד] אויב עס ס גרעסער [ינאָדאַבאַל]. יאָ, אַזוי מיר האָבן צו טאָן עטלעכע סאָרט פון פאַרגלייַך, און וואָס זענען מיר קאַמפּערינג דאָ? איר האט אויב עס איז גרעסער ווי. וואָס איז עס אין אַז זאַץ ריפערינג צו? די נומער וואָס קומט אַרויף, אויב אַז ס גרעסער ווי די מידפּוינט, דעמאָלט גיין אַרויף צו די מענגע? פּונקט, אַזוי די נומער וואָס קומט אַרויף ווען מיר- די נאָדל, אַזוי מיר רע קאַמפּערינג צו די נאָדל, און וואָס זענען מיר קאַמפּערינג קעגן די נאָדל? ווייַל די נאָדל איז וואָס מיר רע קוקן פֿאַר. מיר רע קאַמפּערינג עס צו באַקומען צו דעם מידפּוינט. אבער טוט עס מאַכן זינען צו טשעק צו זען אויב נאָדל = מידפּוינט? טוט וואָס מאַכן זינען? טוט אַבי ווער דיסאַגרי? זאל ס געבן עס אַ פּרובירן, אויב (נאָדל == מידפּוינט). [תּלמיד] צי פּרינטף איר געפונען עס. [נאַטע] פּרינטף ("מיר געפונען עס! \ N"); אַנדערש-אַם געגאנגען צו אָנהייבן טאן עפּעס אַנדערש דאָ. איך בין געגאנגען צו אָנהייבן פּאַטינג ברייסאַז אַרום אויב סטייטמאַנץ אַלע די צייַט נאָר ווייַל אויב מיר לייגן מער שטאָפּן, דעמאָלט מיר טאָן ניט באַקומען די קאַמפּיילערז. יאָ, סאַם. איר ווע גאַט אַ פונט. די פּראָבלעם איז אַז מידפּוינט רעפּראַזענץ אַ שטעלע אין דער מענגע, אָבער איר קענען באַקומען עס צו פאָרשטעלן די ווערט אין אַז שטעלע פון ​​די מענגע. אַז ס אַ גרויס פונט. האט יעדער יינער הערן וואָס סאַם געזאגט? ער האט געזאגט אַז מידפּוינט ווי איז רעפּראַזענץ נאָר אַ שטעלע אין דער מענגע, אָבער עס ס 'נישט די פאַקטיש עלעמענט אין דער מענגע. אויב איר טראַכטן וועגן די קאָד ווי געשריבן רעכט איצט, אויב מיר קוקן אין דעם מענגע אַראָפּ דאָ, וואָס האט 8 יסודות אין עס, וואָס איז די ווערט פון מידפּוינט געגאנגען צו זייַן אין דעם פֿונקציע? [תּלמיד] 4. [נאַטע] 4. אויב מיר קוקן פֿאַר די נומער 4 - און מיר קענען נאָר לויפן דעם קאָד און לייגן אַ ביסל טרויעריק פּנים אין דאָ ווייַל מיר האבן נישט געפֿינען עס-אויב מיר לויפן דעם קאָד ווי איז רעכט איצט, ופּלאָאַדינג עס, בנין, לאָזן מיר מעגילע אַראָפּ, און אויב מיר קוקן פֿאַר די נומער 4, מיר געפונען עס, אָבער מיר האבן נישט באַקומען דאָס צו פּרינטף יאָ. איין סיבה איז אַז מיר האבן נישט צוריקקומען אמת, אָבער האט מיר טאַקע געפֿינען די נומער 4? און סאַם איז געזאגט ניט. וואָס האט מיר געפֿינען? מיר טאַקע געפונען די מידפּוינט, וואָס אויב מיר קוקן אין די מענגע אַראָפּ דאָ, עס ס געגאנגען צו זייַן די עלעמענט אין אינדעקס 4 אַז מיר רע קוקן בייַ, וואָס איז 23. ווי טאָן מיר פאקטיש באַקומען אַז עלעמענט אין דער מידפּוינט און נישט נאָר די מידפּוינט זיך? [תּלמיד] מיר וואָלט אַרייַן טשאַר אָדער עפּעס? וואָס וואָלט אַז טאָן, נאָר אויס פון נייַגעריקייַט? קענען איר פּראָטים אַ ביסל מער? איר האָבן צו יבערמאַכן דער שטעלע אין דעם נומער, אַזוי איר ווע גאַט צו מאַכן עטלעכע קשר-איך טראַכטן עס ס טשאַר, אָבער עס זאל ניט זייַן. יאָ, אַז ס אַ גוט פונט. מיר ווע שוין טאן אַ פּלאַץ פון דעם קאַנווערטינג שטעלעס אין טשאַרס, די אותיות, אין דער ערשטער צוויי פּראָבלעם שטעלט. עס טורנס אויס אַז דאָ, דאָס איז כּמעט ענלעך צו אַקסעסינג די יטה כאַראַקטער ין אַ שטריקל, אויב וואָס מאכט זינען. דאָ מיר ווילן צו צוטריט די מידפּוינט עלעמענט. ווי טאָן מיר טאָן וואָס? קעווין, טאָן איר האָבן קיין פֿירלייגן ווי מיר זאל טאָן וואָס? איר קען טאָן כייסטאַק, עפענען קאַנטיקער, מיטן, פֿאַרמאַכט קאַנטיקער. קענען איר שרייַבן אַז פֿאַר אונדז? היט עס אין דאָ, און מיר וועט ציען אַז אַרויף. מיר רע קוקן אין דעם שורה 9, און מיר רע ריאַלייזינג אַז מיר טאָן נישט וועלן צו פאַרגלייַכן די נאָדל צו די מידפּוינט, אָבער אַנשטאָט, מיר ווילן צו פאַרגלייַכן די נאָדל צו דעם עלעמענט אין שטעלע מידפּוינט ין אונדזער כייסטאַק מענגע. קיל. עס מיר גיין. יאָ, וואָס קוקט שיין גוט, אויב (נאָדל == כייסטאַק [מידפּוינט]). מיר געפונען עס. איצט אויב מיר לויפן די קאָד-וויל צוריק אַרויף אַ קליין ביסל- עס קאַמפּיילז, עס לויפט, און איצט אויב מיר קוקן פֿאַר 4, מיר האט ניט געפֿינען עס ווייַל איצט מיר רע פאקטיש געטינג די נומער 23. מיר רע געטינג די ווערט 23, און אַז ס וואָס מיר רע קאַמפּערינג צו אונדזער נאָדל. אבער אַז ס 'גוט. אַז ס אַ שריט אין די רעכט ריכטונג. אַז ס וואָס מיר רע טריינג צו טאָן. מיר ניטאָ ניט טריינג צו פאַרגלייַכן די נאָדל קעגן שטעלעס אין דער מענגע אָבער אלא קעגן די פאַקטיש יסודות אין די מענגע. אויב מיר קוקן צוריק ווידער איצט אין דער ווייַטער שריט אין אונדזער אַלגערידאַם, וואָס איז דער ווייַטער שריט? לעילאַ שוין דערמאנט עס בעקיצער. [תּלמיד] קוק צו זען אויב עס ס גרעסער ווי אָדער ווייניקער ווי און דאַן באַשליסן וועלכע וועג צו באַוועגן. [נאַטע] יאָ, אַזוי ווי וואָלט מיר טאָן וואָס? קענען איר שטעלן אין עטלעכע-ייל ראַטעווען דעם רעוויזיע, און דעריבער אויב איר שטעלן אין עטלעכע שורות וואָס וועט טאָן וואָס. יאָ, שאַרלאַט. >> איך האב אַ קשיא. זאָל ניט עס זייַן מידפּוינט - 1 ווייַל דער ערשטער זאַך איז עס ס 0 ינדעקסט, אַזוי אויב מיר שטעלן 4, אַז ס 'נישט פאקטיש דער כאַראַקטער מיר רע קוקן פֿאַר? יא, און די אנדערע פּראָבלעם מיט וואָס איז- אַז ס אַ גרויס כאַפּן, ווייַל וואָס איז געגאנגען צו סוף אַרויף געשעעניש עפשער אויב מיר האַלטן מאָווינג און מיר טאָן ניט אלץ סטרויערן טכילעס? איך טרעפן וואָס מיר זאל סוף אַרויף טאן איז טריינג צו צוטריט די עלעמענט אין דער 8 שטעלע פון ​​די מענגע, וואָס אין דעם פאַל טוט נישט עקזיסטירן. מיר וועלן ווילן צו טאָן עטלעכע סאָרט פון אַקאַונטינג פֿאַר די פאַקט אַז מיר האָבן עטלעכע נול ינדעקסינג. [שאַרלאַט] אנטשולדיגט, איך מענט מידפּוינט - 1 אין די קוואַדראַט בראַקאַץ. מיר קענען טאָן וואָס. מיר וועט קומען צוריק צו דעם אַרויסגעבן אין נאָר אַ ביסל. אַמאָל מיר אָנהייבן צו באַקומען צו דעם פאַקטיש לופּינג, אַז ס 'ווען מיר וועט טאַקע זען דעם קומען אין שפּילן. פֿאַר דער צייַט זייַענדיק, מיר קענען טאָן דעם, אָבער איר ניטאָ טאָוטאַלי רעכט. אַז נול ינדעקסינג וועט האָבן אַ ווירקונג אַז מיר דאַרפֿן צו חשבון פֿאַר. זאל ס זען. ווי איז דער גרעסער ווי און ווייניקער ווי-? [תּלמיד] איך באַקומען ווי צו טאָן די גרעסער ווי און ווייניקער ווי טייל. איך נאָר איז ניט זיכער וואָס צו דרוקן אויב איר געפֿינען אַז עס איז ווייניקער ווי די כייסטאַק מידפּוינט אָדער גרעסער ווי. דאָ איך קענען ראַטעווען וואָס ייוו- [נאַטע] יאָ, אויב איר ראַטעווען וואָס איר ווע גאַט, און מיר וועט ציען עס אַרויף. עס מיר גיין. [תּלמיד] און איך שטעלן קשיא פֿאַלט פֿאַר וואָס איך האט ניט וויסן. [נאַטע] אַז קוקט גרויס. דאָ מיר ווע גאַט קשיא מאַרקס ווייַל מיר נאָך טאָן ניט וויסן וואָס מיר רע געגאנגען צו גאַנץ טאָן נאָך. וואָס וואָלט מיר ווילן צו טאָן-אָאָפּס, מיר ווע גאַט עטלעכע ברייסאַז אַלע פאַנגקי אויף אונדז. מיר וועט ריכטיק די ברייסאַז. עס מיר גיין. און אַזוי וואָס טאָן מיר ווילן צו טאָן, לויט צו אונדזער אַלגערידאַם, אויב מיר טאָן ניט געפֿינען די נאָדל? זאָגן אין די פאַל אַז די נאָדל איז ווייניקער ווי וואָס מיר רע קוקן בייַ. קעווין. נאָר קוק אין די לינקס האַלב. רעכט, אַזוי מיר וועט שטעלן אַ באַמערקונג אין דאָ וואָס זאגט "קוק אין לינקס האַלב." און אויב דער נאָדל איז גרעסער ווי די כייסטאַק בייַ די מידפּוינט, וואָס טאָן מיר ווילן צו טאָן? [תּלמיד] דערנאך איר קוק בייַ די רעכט האַלב. קוק בייַ די רעכט האַלב, "קוק בייַ רעכט האַלב." ניט אויך אָפּגעלאָזן. אָוקיי, אַזוי בייַ דעם פונט, דאס זענען קוקן שיין גוט. די פּראָבלעם מיט די קאָד ווי געשריבן איז וואָס? [תּלמיד] איר טאָן ניט האָבן ענדפּוינץ פֿאַר די כאַווז. רעכט, מיר טאָן ניט האָבן ענדפּוינץ פֿאַר די כאַווז. מיר אויך זענען נאָר געגאנגען צו גיין דורך דעם אַמאָל. מיר רע נאָר געגאנגען צו קוקן בייַ איין מידפּוינט. אָדער די עלעמענט איז דאָרט, אָדער עס ס נישט. אין סדר צו פאַרענדיקן דעם, מיר וועט דאַרפֿן צו טאָן עטלעכע סאָרט פון יבערכאַזערונג. מיר דאַרפֿן צו האַלטן ריפּיטינג ביז מיר געפֿינען אַז אָדער די עלעמענט איז אין דאָרט ווייַל מיר ווע נעראָוד אַראָפּ און ענדלעך געפונען עס, אָדער עס ס נישט אין דאָרט ווייַל מיר ווע געקוקט דורך אַלע פון ​​די זאכן אין די צונעמען כאַווז פון די מענגע און געפונען אַז גאָרנישט איז אין דאָרט. ווען מיר ווע גאַט דעם יבערכאַזערונג געגאנגען אויף, וואָס זענען מיר געגאנגען צו נוצן? [תּלמיד] א שלייף. עטלעכע סאָרט פון שלייף. יא. [תּלמיד] קענען מיר טאָן אַ טאָן-בשעת שלייף און האָבן עס טאָן וואָס און דעמאָלט בשעת די נאָדל טוט ניט גלייַך-אַם נישט זיכער ווו איך איז געגאנגען מיט וואָס. אבער מין פון ווי טאָן אַז ווי לאַנג ווי עס טוט נישט גלייַך דעם ווערט אַז דער באַניצער אַרייַנשרייַב. יאָ, אַזוי לאָזן ס זען, ווי זאל דאָס שרייַבן זיך? איר האט לאָזן ס נוצן אַ טאָן-בשעת שלייף. ווו טוט די טאָן אָנהייב? [תּלמיד] רעכט נאָך די גרייס / 2. [נאַטע] אָוקיי, און וואָס זענען מיר געגאנגען צו טאָן? מיר וועט פּלאָמבירן אין די בשעת שפּעטער. וואָס זענען מיר געגאנגען צו טאָן? [תּלמיד] צי נישט מיר ווילן צו טאָן אַלע די שטאָפּן מיר האָבן אין דעם אויב חלק? [נאַטע] צי אַלע דעם שטאָפּן, גרויס. קאָפּי און פּאַפּ. אָה, מענטש. זאל ס זען אויב דאָס אַרבעט, אויב מיר קענען קוויטל דאָס איבער. שיין. אָוקיי, און מיר ראַטעווען דעם אַזוי איר גייז האָבן עס. אַלע רעכט, און מיר זענען געגאנגען צו טאָן דעם בשעת- וואָס איז די בשעת צושטאַנד איר האבן נאָך? [תּלמיד] בשעת די נאָדל טוט ניט גלייַך, אַזוי ווי די עקסקלאַמיישאַן פונט. אבער איך בין נישט זיכער פּונקט וואָס אַז איז נאָך. [נאַטע] יאָ, דאָס איז איין וועג צו טאָן עס. סאַם, טאָן איר האָבן אַ באַמערקונג? [סאַם] איך דערמאנט ווען איך געקוקט אין די ווידיאס, איך גענומען אַ סקרעענשאָט פון איינער פון די-ווי ווען מיר האט די פּסעודאָקאָדע פֿאַר אים, עס איז געווען עטלעכע שייכות צווישן מאַקס און מין. איך טראַכטן עס איז געווען עפּעס ווי אויב מאַקס איז אלץ ווייניקער ווי מין. גאַט עס. [סאַם] אָדער ווי אויב מאַקס איז נישט ווייניקער ווי מין אָדער עפּעס ווי אַז, ווייַל וואָס וואָלט מיינען אַז איר ווע געזוכט אַלץ. יאָ, אַזוי וואָס טוט עס געזונט ווי מאַקס און מין זענען ריפערינג צו? [סאַם] וואַלועס אַז-ינטאַדזשערז וואָס זענען געגאנגען צו טוישן קאָרעוו צו ווו מיר שטעלן די מידפּוינט. פּונקט. [סאַם] בייַ וואָס פונט, עס ס געגאנגען צו [ינאָדאַבאַל] רעכענען די מאַקס און מין. מידפּאָינט איז דעם מאַקס און מין געדאַנק. טוט וואָס מאַכן זינען צו פאָלקס? אויב מיר זענען צו אָנהייבן זוכן בייַ ווי מיר רע געגאנגען צו טאָן דעם יטעראַטיאָן, איר ניטאָ טאָוטאַלי רעכט וואָס מיר ווילן צו נוצן עטלעכע סאָרט פון טאָן-בשעת שלייף. אבער איך טרעפן אויב מיר געדענקען וואָס ס געגאנגען אויף בייַ די אָרט פון דעם מענגע און וואָס ס 'פאקטיש געשעעניש-אַם געגאנגען צו שרייַבן איבער דאָ- בייַ די זייער ערשטער יטעראַטיאָן פון ביינערי זוכן, מיר האָבן- איך בין געגאנגען צו נוצן בייטן און E צו דינאָוט די אָנהייב. און דעמאָלט דער סוף פון אונדזער מענגע. מיר וויסן אַז די אָנהייב איז בייַ 4 רעכט איבער דאָ, און מיר וויסן אַז דער סוף איז בייַ 108. זאָגן מיר רע שאַרף פֿאַר די נומער 15. דער ערשטער צייַט מיר טאָן דעם, ווי מיר געזען פריער, די מידפּוינט איז יעדער געגאנגען צו זייַן 16 אָדער 23 דיפּענדינג אויף ווי מיר רעכענען דאס אויס. זינט יוואַנלי דיוויידינג אין די מיטל וואָלט געבן אונדז דעם אָרט צווישן 16 און 23, מיר קענען נישט יוואַנלי טיילן עס אָדער טיילן אים און באַקומען בייַ אַ אמת מידפּוינט. מיר וועט קוקן אין 16. מיר וועט פאַרשטיין "היי, 16> 15 אַז מיר רע קוקן פֿאַר." צו דאַן קוק בייַ די לינקס האַלב פון די מענגע וואָס מיר וועט סוף אַרויף טאן איז דיסקאַרדינג דאָס גאנצע אויבערשטער חלק און געזאגט, "אָוקיי, איצט אונדזער ענדפּוינט איז געגאנגען צו זייַן דאָ." דער ווייַטער יטעראַטיאָן פון אונדזער שלייף, מיר רע איצט קוקן אין דעם מענגע, יפעקטיוולי בעת דיסקאַרדיד דעם חלק ווייַל איצט אויב מיר רע גענומען די מידפּוינט צו זייַן דעם חילוק צווישן דער אָנהייב און דער סוף, מיר געפֿינען אונדזער מידפּוינט צו זייַן 8, וואָס מיר קענען דעריבער פּרובירן 8 צו זען ווו עס איז אין באַציונג צו די נומער מיר רע קוקן פֿאַר, 15, געפֿינען אַז 15 איז גרעסער, אַזוי מיר האָבן צו מאַך צו די רעכט חלק פון דער רשימה, וואָס מיר וויסן ווייַל מיר רע יומאַנז, און מיר קענען זען עס. מיר וויסן אַז די רעכט חלק איז געגאנגען צו זייַן ווו מיר געפֿינען עס, אָבער דער קאָמפּיוטער טוט ניט וויסן וואָס, אַזוי וואָס מיר וועט טאָן איז מיר וועט פאקטיש האָבן דאָס גיין אַרויף, און איצט דער אָנהייב און דער סוף זענען די זעלבע אָרט, אַזוי די מידפּוינט ווערט די בלויז נומער אין די רשימה בייַ אַז פונט, וואָס איז 15, און מיר 'ווע געפונען עס. טוט וואָס אָפּדאַך עטלעכע ליכט אויף ווו דאָס גאנצע מאַקס און מין נאָוטיישאַן איז געגאנגען, בעכעסקעם שפּור פון די ענדפּוינץ פון די מענגע אין סדר צו רעכענען אויס ווי צו שמאָל דאס אַראָפּ? וואָס וואָלט פּאַסירן אויב דאָס זענען נישט גלייַך צו 15 איצט? וואָס אויב מיר האבן קוקן פֿאַר 15 און, אַנשטאָט, דעם נומער זענען אויך 16? מיר 'ד זאָגן, "אָה, עס ס גרעסער. מיר וועלן צו גיין צוריק צו די לינקס. " און מיר 'ד מאַך אונדזער E צו די רעכט, אין וואָס פונט מיר האָבן אַ ענדפּוינט וואָס וואָלט זייַן קאַנפליקטינג. עס וואָלט ניט זייַן ביכולת צו זוכן פֿאַר קיין מער יסודות ווייַל איצט מיר האָבן אונדזער ענדפּוינט און אונדזער אָנהייב פונט, אונדזער מאַקס און אונדזער מין, זענען איצט פליפּט. מיר זוכן דורך די גאנצע מענגע. מיר קענען ניט געפֿינען עפּעס. אַז ס די פונט אין וואָס מיר 'ד ווילן צו זאָגן, "אָוקיי, מיר רע געגאנגען צו האַלטן דעם אַלגערידאַם. מיר האָבן נישט געפונען עפּעס. מיר וויסן עס ס נישט אין דאָ. " ווי איז דאָס געגאנגען? [תּלמיד] ווי פּונקט טוט די קאָמפּיוטער באַשטימען דעם סוף? ווי טוט דער סוף סוף אַרויף פאר די אָנהייב? דער סוף ענדס אַרויף פאר די אָנהייב ווייַל פון די מאַט אַז מיר רע געגאנגען צו טאָן יעדער צייַט מיר טאָן דעם. די וועג מיר ויסבייַטן איז אויב איר קוק אין די זייער ערשטער מאָל מיר טאָן דעם ויסבייַטן ווו מיר האָבן די אָנהייב בייַ 4, און דער סוף אַלע די וועג אַראָפּ בייַ 108 און אונדזער מידפּוינט, זאָגן, אין 16 - איך בין געגאנגען צו באַשטעטיק דעם צוריק צו 15-אויב מיר רע קוקן פֿאַר די 15, מיר געוואוסט אַז וואָס מיר האבן ווען מיר אָפּגעשטעלט די 16 און געזען אַז עס איז געווען גרעסער און געוואלט צו אַוועקוואַרפן די גאנצע רעכט חלק פון דער רשימה, מיר געזען אַז וואָס מיר געוואלט צו טאָן איז מאַך דעם E רעכט דאָ. יפעקטיוולי, די E גאַט אריבערגעפארן צו איינער איידער די מידפּוינט. פּונקט אַזוי, ווען מיר האבן דעם יטעראַטיאָן פון די אַלגערידאַם און די מידפּוינט איז געווען בייַ 8, מיר געפונען אַז 8 <15, אַזוי מיר געוואלט צו באַוועגן די ב איינער פאַרגאַנגענהייַט די מידפּוינט. איצט, דער אָנהייב און דער סוף זענען ביידע צוזאַמען אין דעם 15. אויב מיר 'ד שוין געשעעניש צו קוקן פֿאַר עטלעכע אנדערע ווערט, נישט 15, אָדער אויב דעם 15 האט אַנשטאָט געווען אַ 16, מיר וואָלט האָט געפונען אַז די E מיר ווילן צו רירן איין איידער די מידפּוינט. איצט די E וואָלט זייַן דאָרט פליפּט ווייניקער ווי דעם ב. זאל ס גיין דורך ווי מיר פאקטיש סוף אַרויף קאָודינג דעם אַלגערידאַם. מיר וויסן אַז מיר ווילן צו האָבן דעם מידפּוינט כעזשבן. מיר וויסן אויך אַז מיר ווילן צו שפּור דער אָנהייב און דער סוף פון דער מענגע פון אונדזער קראַנט מענגע אַזוי מיר קענען רעכענען אויס ווו דעם לינקס האַלב פון די רשימה איז און ווו די רעכט האַלב פון די רשימה איז. מיר טאָן אַז מיט יעדער אָנהייבן און סוף, אָדער מיר קענען רופן זיי מין און מאַקס. איך וועט נוצן נעמען און סוף דעם צייַט. ווען מיר נעמען, אויב מיר קוקן צוריק אין אונדזער בייַשפּיל אַראָפּ דאָ, אונדזער אָנהייב איז געווען באַשטימט צו די זייער אָנהייב פון די מענגע, ווי נאַטירלעך. וואָס אינדעקס איז דאָס? וואָס זאָל אונדזער נעמען זייַן? דניאל. [דניאל] הייַסטאַקק [0]. [נאַטע] יאָ, אַזוי מיר קען שטעלן עס גלייַך צו כייסטאַק [0]. די פּראָבלעם, כאָטש, איז אַז דאָס גיט אונדז ניט די שטעלע פון ​​דער ערשטער עלעמענט. עס גיט אונדז דער אינדעקס פון דער ערשטער עלעמענט אָדער די פאַקטיש ווערט בייַ אַז ערשטער שטעלע. [תּלמיד] אַז וועט בייַטן צו .20? [נאַטע] וואָס דאָס וועט טאָן איז-געזונט, עס וועט ניט טאָן קיין קאַנווערטינג. וואָס עס וועט טאָן איז עס וועלן קראָם אַ 4 אין נעמען, און דעמאָלט עס וועט זייַן שווער צו מאַכן קאַמפּעראַסאַנז קעגן נעמען ווייַל נעמען וועט זייַן האלטן די ווערט פון 4, וואָס איז די אָנהייב פון אונדזער מענגע, אָבער מיר ווילן צו שפּור די ינדיסעס אין די מענגע ווי קעגן צו די וואַלועס. מיר וועט פאקטיש נוצן אַ 0, ווי אַז. פֿאַר די סוף פון די מענגע-שאַרלאַט געבראכט דעם אַרויף אַ ביסל פריער. דאס איז ווו מיר וועט נעמען אין חשבון די נול ינדעקסינג. שאַרלאַט, וואָס ס די סוף פון די מענגע? וואָס איז דער אינדעקס פון דער סוף? [שאַרלאַט] גרייס - 1. יאָ, און וואָס גרייס זאָל מיר נוצן? זאָל מיר נוצן הויפּטשטאָט גרייס אָדער לאָווערקאַסע גרייס? קאַפּיטאַל גרייס. אין דעם פאַל, מיר קען נוצן הויפּטשטאָט גרייס. אויב מיר געוואלט דעם פֿונקציע צו זייַן פּאָרטאַטיוו און נוצן דעם פֿונקציע אין אנדערע מגילה, מיר קענען פאקטיש נוצן לאָווערקאַסע גרייס. עס ס פייַן אויך. אבער שאַרלאַט איז טאָוטאַלי רעכט וואָס מיר ווילן צו האָבן גרייס - 1. אין דעם פונט- [תּלמיד] ווי איז עס וואָס איר קענען נוצן ופּפּערקאַסע גרייס? ווי איז עס אַז מיר קען נוצן ופּפּערקאַסע גרייס? עס טורנס אויס אַז די # דיפיינז זענען טאַקע, אונטער די קאַפּטער, אַ טעקסט ווי געפֿינען און פאַרבייַטן, אויב וואָס מאכט זינען. ווען איר צונויפנעמען דיין קאָד, די פּרעפּראָסעססינג לבֿנה פון דער קאַמפּיילער גייט דורך דער טעקע, און עס קוקט פֿאַר אומעטום אַז איר ווע געשריבן הויפּטשטאָט גרייס, און עס ריפּלייסיז אַז טעקסט ממש מיט אַן 8, פּונקט ווי אַז. אין וואָס זינען, דאָס איז זייער אַנדערש פון אַ בייַטעוודיק. עס טוט נישט נעמען אַרויף קיין פּלאַץ אין זכּרון. עס ס אַ פּשוט טעקסט פאַרבייַטן קונץ. אין דעם פאַל, מיר רע געגאנגען צו נוצן גרייס. פון דאָ מיר טאָן ווילן צו טאָן עטלעכע סאָרט פון יבערכאַזערונג, און מיר ניטאָ אויף דער רעכט שפּור מיט אונדזער טאָן-בשעת שלייף. מיר ווילן צו טאָן עפּעס ביז אַ צושטאַנד טוט ניט האַלטן ענימאָר, און ווי מיר געזען פריער, מיר געזען אַז אַז צושטאַנד איז טאַקע אַז מיר טאָן ניט וועלן די סוף צו זייַן ווייניקער ווי די נעמען. דאס איז אונדזער סטאָפּפּינג צושטאַנד. אויב דעם אַקערז, מיר ווילן צו האַלטן און דערקלערן ווי, "היי, מיר האָבן נישט געפונען עפּעס". צו אויסדריקן דעם, מיר טאָן ווילן צו נוצן עטלעכע סאָרט פון שלייף. אין דעם פאַל, וואָלט עס זייַן אַ טאָן-בשעת שלייף, אַ פֿאַר שלייף, אַ בשעת שלייף? מיר האָבן אַ טאָן-בשעת שלייף דאָ. צי איר גייז ווי אַז צוגאַנג? צי איר טראַכטן מיר זאָל פּרובירן אַ אַנדערש צוגאַנג? קעווין, קיין געדאנקען? מיר קען האָבן אַ בשעת שלייף ווייַל מיר וויסן מאַקסימום וואָלט זייַן גרעסער ווי מין אין די אָנהייב אַניווייַס. יאָ, אַזוי דאָרט ס קיין יניטיאַליזאַטיאָן וואָס דאַרף צו פּאַסירן. יענע טאָן-בשעת לופּס זענען גרויס ווען איר האָבן צו ינישאַלייז עפּעס איידער דעמאָלט טעסטינג, וועראַז דאָ מיר וויסן אַז מיר ניטאָ ניט געגאנגען צו האַלטן רעיניטיאַליזינג ביידע נעמען און סוף יעדער קייַלעכיק פון די שלייף. מיר וויסן אַז מיר ווילן צו ינישאַלייז זיי, דעריבער טשעק אונדזער צושטאַנד. אין דעם פאַל, איך וועט פאקטיש גיין מיט אַ פּשוט בשעת שלייף. עס טורנס אויס אַז טאָן-בשעת לופּס זענען געניצט פערלי זעלטן. א פּלאַץ פון ערטער טאָן ניט אַפֿילו לערנען טאָן בשעת לופּס. זיי ניטאָ גוט פֿאַר האַנדלינג באַניצער אַרייַנשרייַב, אַזוי מיר ווע געזען אַ פּלאַץ פון זיי אַזוי ווייַט. אבער נאָרמאַל פֿאַר און בשעת לופּס ביסט אַ פּלאַץ מער פּראָסט. עס טורנס אויס אַז דעם צושטאַנד ווי געשריבן וועט ניט טאַקע טאָן אונדז פיל גוט, און וואָס איז וואָס? איך בין אנטשולדיגט, איך טאָן ניט וויסן דיין נאָמען. איך בין דזשערי. >> אנטשולדיגט? עס ס בייטן-אָ-ר-ו-איך. אָה, אָוקיי. איך טאָן ניט זען איר אויף מיין ליסטע. אָה, עס ס ווייַל-טאַקע, וואָס מאכט זינען. צי איר האָבן אַ געדאַנק פון וואָס דאָס בשעת שלייף זאל ניט אַרבעט ווי בדעה, ווי געשריבן מיט די צושטאַנד? [דזשערי] איר מיינען ווי איר ווילן אַלע די שטאָפּן נאָך עס אין דער-? יאָ, אַזוי אַז ס איינער. מיר זאל האָבן צו שטעלן אַלע פון ​​דעם שטאָפּן אין די בשעת שלייף, וואָס איז טאָוטאַלי אמת. די אנדערע זאַך אַז ס אַ ביסל מער פּראָבלעמאַטיק, כאָטש, איז אַז דאָס צושטאַנד טוט נישט אַרבעטן. [תּלמיד] איר דאַרפֿן צו פליפּ עס. רעכט, אַזוי דעם צושטאַנד וועט נישט אלץ זייַן אמת טכילעס די וועג מיר גערעדט וועגן אים. מיר ווילן צו טאָן עפּעס ביז סוף <אָנהייבן, אָבער מיר ווילן צו טאָן עפּעס בשעת אָנהייבן ≤ סוף. עס ס אַז מאַפּאָלע פון ​​די לאָגיק דאָרט. איך בין שולדיק פון געמאכט יענע מיסטייקס אַלע די צייַט. [תּלמיד] פארוואס טוט עס האָבן צו זייַן ווייניקער ווי אָדער גלייַך צו? ווייַל טאָן איר געדענקען די פאַל אַז מיר גאַט צו ווו עס איז געווען בלויז איין עלעמענט, און מיר זענען אַראָפּ, און מיר זענען קוקן אין נאָר די 15 אין אונדזער מענגע? און אונדזער אָנהייב און אונדזער סוף האבן די זעלבע עלעמענט. מיר וועלן צו מאַכן זיכער אַז מיר שעפּן אַז פאַל. אויב מיר האבן אַ גלייַך ווייניקער ווי, מיר וואָלט נאָר זייַן ביכולת צו באַקומען אַראָפּ צו אַ 2-עלעמענט מענגע. אַמאָל מיר גאַט אַראָפּ צו אַז לעצט עלעמענט, אויב וואָס זענען אונדזער עלעמענט, מיר 'ד קיינמאָל געפֿינען עס. איצט דאָ, מיר קענען טאָן פּונקט ווי איר האבן געזאגט. מיר קענען אָנהייבן פּלאָפּפּינג שטאָפּן רעכט אין די מיטל פון אונדזער בשעת שלייף. מיר קענען פּלאַפּ אין אונדזער מידפּוינט. מיר קענען נעמען אַלע פון ​​די אויב סטייטמאַנץ, ציען זיי אויס פון דעם טאָן-בשעת שלייף, פּלאַפּ זיי אין, ריין זאכן אַרויף אַ קליין ביסל, און איך וועט גיין פאָרויס און ראַטעווען דעם רעוויזיע. און בייַ דעם פונט, מיר רע געטינג שיין נאָענט. סאַם. איך טראַכטן איר אויך האָבן צו האָבן ינט מידפּוינט = גרייס - 1/2. גאַט עס, גרייס - 1/2. איז עס עפּעס אַנדערש מיר דאַרפֿן צו טוישן וועגן וואָס שורה? וואָס איז געווען אַ גוט כאַפּן. וואָס טוט גרייס טאָן? זענען מיר אלץ טשאַנגינג גרייס? אין סדר צו האַלטן די שורה ווי דעם, מיר האָבן צו טוישן די גרייס. מיר האָבן צו טוישן די גרייס יעדער צייַט מיר גיין אַרום די פֿאַר שלייף. אבער געדענקען ווען מיר זענען געגאנגען דורך אונדזער בייַשפּיל נאָר אַ קליין ביסל פריער, און מיר האט די אָנהייב אין 4 און דער סוף אַלע די וועג איבער אין 108? ווי האט מיר רעכענען די מידפּוינט? זענען מיר ניצן די נומער? אָדער מיר האבן ניצן נעמען און סוף אַנשטאָט? עס ס די חילוק צווישן די סוף און דער אָנהייב. פּונקט, און ווי פּונקט זאָל איך שרייַבן אַז, שאַרלאַט? נאָר סוף - נעמען. איר וואָלט ניט דאַרפֿן צו טאָן די - 1 ווייַל די - 1 האט שוין אַרייַנגערעכנט אין די סוף און די נעמען שוין. [נאַטע] גרויס, איר ניטאָ טאָוטאַלי רעכט. מיר טאָן ניט האָבן צו טאָן די - 1 ווייַל אַז - 1 האט שוין אַרייַנגערעכנט און אַקאַונטאַד פֿאַר ווען מיר ינישאַלייז דער סוף בייַטעוודיק. איז עס עפּעס אַנדערש איך דאַרפֿן צו טאָן סינטאַקטיקאַללי צו האָבן דעם שורה מאַכן זינען? [תּלמיד] פּלוס אָנהייבן. >> פּלוס אָנהייבן? [תּלמיד] בייַ די סוף. ווייַל עס ס נאָר קאַלקיאַלייטיד האַלב די לענג. איר דאַרפֿן צו לייגן די נעמען. [נאַטע] וואָס וואָלט דאָס רעכענען פֿאַר אונדז? אויב מיר טראַכטן וועגן סוף אויף דעם זייער ערשטער יטעראַטיאָן פון די שלייף, סוף איז געגאנגען צו זייַן אין שטעלע אינדעקס 7. אָנהייבן איז אין שטעלע 0. געדענק, מיר רע קוקן פֿאַר אָדער שטעלע 3 אָדער שטעלע 4. אויב מיר קוקן אין דעם מאַט, נאָר צו מאַכן עס אַ ביסל מער מאַמאָשעסדיק, שטעלן עטלעכע נומערן דאָ, מיר האָבן 7, 0, אַזוי 7-0, און דעמאָלט / 2 איז 3 אין ינטעגער טייל, וואָס איז. דעמאָלט טאָן מיר דאַרפֿן צו דעריבער לייג צוריק אונדזער אָנהייבן? מיר טאָן ניט אין דעם פאַל. אויף די זייער ערשטער יטעראַטיאָן, עס וועט זייַן פייַן ווייַל אָנהייבן איז 0. אבער ווי מיר פּראָגרעס, מיר טאָן טאַקע אַלע נאָר דאַרפֿן סוף - אָנהייבן / 2. עס ס איין אנדערע קונץ דאָ, און וואָס איז ניימלי איינער פון פאָרהאַנט. [תּלמיד] צי מיר דאַרפֿן קלאַמערן? [נאַטע] עקסאַקטלי, און אַז ס ווייַל אויב מיר טאָן ניט שטעלן די קלאַמערן, דעמאָלט דעם שורה וועט זייַן ינטערפּראַטאַד אַנשטאָט ווי (סוף) - (אָנהייבן / 2), וואָס מיר באשטימט טאָן ניט ווילן. וואַך אויס פֿאַר יענע פאָרהאַנט כּללים. [תּלמיד] פארוואס איז נישט עס סוף + אָנהייבן? פארוואס איז נישט עס סוף + אָנהייבן? [תּלמיד] פארוואס איז עס נישט וואָס? פארוואס וואָלט עס זייַן +? איך טראַכטן איר ניטאָ רעכט. [תּלמיד] ווייַל עס ס דורכשניטלעך? [נאַטע] סוף + אָנהייבן, איר ניטאָ טאָוטאַלי רעכט. וואַו, איך טאָוטאַלי גופט. איר רע רעכט. אויב מיר זענען טאן די מינוס, מיר וואָלט וועלן צו לייגן די נעמען צוריק ין אין דעם פאַל, איר ניטאָ זייער רעכט וואָס מיר ווילן צו נעמען די דורכשניטלעך פון די צוויי, אַזוי מיר טאָן ווילן צו לייגן זיי, ווי קעגן צו אַראָפּרעכענען זיי. [תּלמיד] עס וואָלט אויך אַרבעט אויב איר האט סוף - אָנהייבן / 2 + אָנהייבן. עס וואָלט אויב מיר טאָן-איך גלויבן אַזוי. פֿאַר בייַשפּיל, אויב מיר זענען קוקן אין נעמען, און מיר שיפטיד עס איבער דאָ צו די 15. איצט אָנהייבן איז בייַ שטעלע 2. סוף איז בייַ שטעלע 7. אויב מיר אַראָפּרעכענען זיי, מיר באַקומען 5. טיילן אַז דורך 2, מיר באַקומען 2. און דעמאָלט מיר לייגן 2 צוריק אין, און אַז געץ אונדז צו די 4 שטעלע, וואָס איז רעכט דאָ, וואָס איז די מידפּוינט. [תּלמיד] צי מיר דאַרפֿן צו נעמען קעיר פון ראַפּינג? אין וואָס זינען טאָן מיר דאַרפֿן צו נעמען קעיר פון ראַפּינג? אויב די סאַכאַקל אָדער די חילוק צווישן דיפּענדינג אויף ווי מיר טאָן עס איז ניט אַן אַפֿילו נומער. דעריבער די קאָמפּיוטער געץ צעמישט צי ווען עס ס 2.5; טאָן איר מאַך צו די לינקס אָדער צו די רעכט צו באַשליסן וואָס איז די מידפּוינט? גאַט עס. עס טורנס אויס אַז מיט ינטעגער אָפּטייל, מיר טאָן ניט אלץ באַקומען די פלאָוטינג פונט נומערן. מיר קיינמאָל באַקומען די דעצימאַל. עס ס טאָוטאַלי דיסקאַרדיד. אויב איר האָבן אַ קאָמפּיוטער טיילן צוויי ינט וועריאַבאַלז, און איינער איז 7, און דער אנדערע איז 2, איר וועט נישט באַקומען 3.5 ווי אַ רעזולטאַט. עס וועט באַקומען 3. די רעשט וועט זייַן דיסקאַרדיד, אַזוי עס ס יפעקטיוולי ראַונדינג- ניט אַ קייַלעכיק אָבער אלא אַ שטאָק, אויב איר גייז זענען באַקאַנט מיט וואָס אין מאַט, ווו איר גאָר אַוועקוואַרפן די דעצימאַל, און אַזוי איר ניטאָ יסענשאַלי טראַנגקייטינג עס אַראָפּ צו די ניראַסט גאַנץ שטעלע, צו די ניראַסט גאנצער נומער. [תּלמיד] אבער דעמאָלט אַז ס פּראָבלעמאַטיק ווייַל אויב איר האָבן אַ מענגע פון ​​7 עלעמענטן דעמאָלט אַז אויטאָמאַטיש נעמט די 3 עלעמענט אויס פון די מידפּוינט אַנשטאָט פון די 4. ווי טאָן מיר האַנדלען מיט וואָס? עס ס פּראָבלעמאַטיק ווייַל אויב מיר האבן אַ מענגע פון ​​7, עס וואָלט קלייַבן די 3 אַנשטאָט פון די 4. קען איר דערקלערן אַ ביסל מער? [תּלמיד] ווייַל אויב איר האָט 7 יסודות דעמאָלט די 4 עלעמענט וואָלט זייַן די מידפּוינט, רעכט? געדענקען דיין באַמערקונג וועגן זייַענדיק נול ינדעקסט, כאָטש. [תּלמיד] יאָ, אַזוי אין שטעלע 3. וואָס וואָלט זייַן די מידפּוינט. יאָ. אָה, אָוקיי. איך זען וואָס איר מיינען. עס ס מין פון טשודנע, ווי מיר באַקומען געוויינט צו דעם גאנצער געדאנק פון געטינג באַפרייַען פון דעסאַמאַלז. אַז ס אַ גרויס פונט. זאל ס ענדיקן דעם אַרויף. מיר ווע קאַלקיאַלייטיד אונדזער מידפּוינט. מיר רע טעסטינג צו זען אויב אונדזער נאָדל איז גלייַך צו די מיטל ווערט. מיר רע דרוקן אַז מיר געפונען עס, אָבער טאַקע, וואָס טאָן מיר ווילן צו טאָן אין דעם סיטואַציע? מיר ווע געפונען עס, אַזוי מיר ווילן צו לאָזן די קאָלער וויסן אַז מיר געפונען עס. מיר ווע גאַט אַ פֿונקציע וואָס ס אַ בוליאַן טייפּט פונקציאָנירן. די וועג מיר סיגנאַל צו די קאָלער פון אונדזער פונקציאָנירן אַז מיר רע גרייט צו גיין איז מיר זאָגן, "היי, דאָס איז אמת". ווי וואָלט מיר טאָן אַז, קעווין? איר רע נאַדינג דיין קאָפּ. >> [קעווין] לייג צוריקקומען אמת. [נאַטע] עקסאַקטלי, צוריקקומען אמת. איצט, אויב עס ס נישט גלייַך, ווי וואָלט מיר קוקן אין די לינקס העלפט? קיין געדאנקען? סטעלאַ, קיין געדאנקען? איר דאַרפֿן צו שטעלן אַ נייע שטעלע פֿאַר סוף. יאָ. אַזוי מיר האָבן צו טאָן שטעלע פון ​​מידפּוינט - דער סוף. גרויס. מיר דאַרפֿן צו שטעלן אַ נייע שטעלע פֿאַר די סוף צו קוקן בייַ די לינקס האַלב. דאס איז וואָס מיר גערעדט וועגן איידער ווו איך האַלטן געגאנגען צוריק צו דעם בייַשפּיל. איך האב די נעמען דאָ, און דעמאָלט איך האָבן די סוף אַלע די וועג איבער דאָ. ווידער, אויב מיר רע קוקן פֿאַר 15, און אונדזער מידפּוינט איז בייַ 16, און מיר פאַרשטיין, "אָאָפּס, 16 איז גרעסער. מיר ווילן צו מאַך צו די לינקס האַלב. " מיר וואָלט דעריבער מאַך די סוף צו דער 15, און מיר טאָן אַז דורך גענומען איינער אַוועק פון די מידפּוינט און באַשטעטיקן אַז ווי אונדזער נייַ סוף. פּונקט אַזוי, אויב מיר ווילן צו קוקן בייַ די רעכט העלפט, ווי וואָלט מיר טאָן וואָס? צי איר האָבן אַ געדאַנק? [תּלמיד] איר נאָר שטעלן אָנהייבן צו מידפּוינט + 1. [נאַטע] גרויס. און איצט אין די פאַל אַז מיר טאָן ניט געפֿינען עפּעס, טוט וואָס באַקומען גענומען זאָרגן פון פֿאַר אונדז? דניאל, טוט וואָס באַקומען גענומען זאָרגן פון פֿאַר אונדז? [דניאל] נומ [נאַטע] אויב מיר מאַכן עס דורך די גאנצע מענגע און מיר טאָן ניט געפֿינען עפּעס, ווו וואָלט אַז זייַן גענומען זאָרגן פון, אָדער זאָל מיר נעמען קעיר פון אים? [דניאל] די בשעת צושטאַנד. [נאַטע] יאָ, די בשעת צושטאַנד, פּונקט. עס וועט נעמען קעיר פון געגאנגען דורך די גאנצע מענגע אויב מיר טאָן ניט געפֿינען עפּעס. דאס בשעת שלייף וועט סוף. מיר וועלן קיינמאָל האָט געפּלאָנטערט דעם צושטאַנד, און מיר קענען צוריקקומען פאַלש. מיר קענען אויך לאָזן דעם אויב אין דאָ ווי דעם ווייַל אויב דאָס אויב סטאַטעמענט איז אמת, און אונדזער פונקציאָנירן וועט צוריקקומען, און אַזוי מיר וועט יסענשאַלי אַבאָרט דעם פונקציאָנירן אין דעם פונט ווען מיר צוריקקומען אמת. אבער וואָס כאַפּאַנז מיט דעם סטרוקטור דאָ? וועט דאָס אַרבעט לעגאַמרע, אָדער איז עס עטלעכע לאַדזשיקאַל פלאָ אין דאָרט? עס איז עטלעכע לאַדזשיקאַל פלאָ אין דאָרט, מיט די וועג עס ס שטעלן אַרויף. וואָס זאל עס זייַן? [תּלמיד] פארוואס טוט איר דאַרפֿן די - און + 1ס? וואָס שטעלט אונדזער מענגע אַרויף צו זייַן אונדזער נייַ לינקס האַלב און רעכט האַלב. [תּלמיד] אבער וואָס קען נישט איר טאָן עס אָן די - 1ס און + 1ס? [נאַטע] מיר קען שטעלן עס גלייַך צו די מידפּוינט? וואָס זאל זייַן פּראָבלעמאַטיק וועגן וואָס? [תּלמיד] איך טרעפן עס ס באַטלאָניש ווייַל איר ניטאָ קאָנטראָלירונג אַ ווערט אַז ס 'שוין געווען אָפּגעשטעלט. [נאַטע] עקסאַקטלי, אַזוי סאַם איז טאָוטאַלי רעכט. אויב איר שטעלן די סוף און די אָנהייבן גלייַך צו די מידפּוינט אַנשטאָט פון - 1 און + 1 רעפלעקטיוועלי, בייַ עטלעכע פונט אין דער צוקונפֿט מיר וועט סוף אַרויף קאָנטראָלירונג די מידפּוינט ווידער. [תּלמיד] איך אנגעהויבן די פּסעט, און דעמאָלט איך געהאט עפּעס ווי אַז ווו איך Forgot די + 1, און עס גאַט סטאַק אין אַ ינפאַנאַט שלייף. רעכט, ווייַל אין עטלעכע פונט איר ניטאָ קיינמאָל געגאנגען צו באַקומען נעמען און סוף צו פאקטיש אָוווערלאַפּ. קיל. עס ס איינער מער לאַדזשיקאַל פלאָ, און וואָס איז אַז דאָס זאָל באשטימט זייַן אַן אַנדערש אויב. פארוואס זאל אַז זייַן? די סיבה איז אויב עס ס נישט אַן אַנדערש אויב-האט איר זען עס, קעווין? [קעווין] יאָ, ווייַל איר ניטאָ טשאַנגינג דער סוף פונט. [נאַטע] עקסאַקטלי. מיר רע טשאַנגינג די ענדפּוינט, און אויב עס ס געשריבן ווי דעם-וויל מאַכן ספּייסאַז צווישן- עס וועט טשעק דעם פאַל. דעם פאַל, אויב עס סאַקסידז, וועט אַבאָרט אויס פון די פֿונקציע. דעמאָלט עס וועט טשעק דעם ווייַטער פאַל, און אויב דעם סאַקסידז, עס וועט סטרויערן די ענדפּוינט, און דעמאָלט עס וועט פאָרזעצן אויף און קאָנטראָלירן דעם פאַל. אבער בייַ דעם פונט, מיר טאָן ניט ווילן עס צו פאָרזעצן קאָנטראָלירונג. גליק, מיר האָבן ניט באַשטעטיק די מידפּוינט דאָ, און מיר וויסן אַז דעם פאַל וועט נישט מצליח. אבער מיר באשטימט וועלן צו שטעלן די אַנדערש אויב אין דאָרט אַפֿילו כאָטש וואָס זאל-אין דעם פאַל זינט מיר ניטאָ ניט אַדזשאַסטינג די מידפּוינט, וואָלט אַז מאַכן אַ חילוק? ניין, ווייַל די פאלן זענען אַלע ויסשליסיק. ווידער, מיין שלעכט. מיר טאָן ניט, איך טראַכטן, דאַרפֿן דאָס אַנדערש אויב. מיר קענען געבן עס אַ פּרובירן און לויפן אים און זען וואָס כאַפּאַנז. בנין, אַ טעות פארגעקומען. עס ס מיסטאָמע ווייַל איך לינקס די בייטן ס און E ס אין דאָ. צי איך האָבן קיין מער פון יענע אַרויף בייַ די שפּיץ? עס טוט נישט קוקן ווי עס. מיר פארגרעסער אויס, בויען, עס עס גייט, אַזוי איצט אויב מיר זוכן פֿאַר 15, יאָ. זאל מיר פארגרעסער ין 15, יאָ. מיר קענען לויפן עס ווידער. ופּלאָאַדינג מקור קאָד, בנין, פליסנדיק. מיר קענען זוכן פֿאַר עפּעס ווי 13, און מיר טאָן ניט באַקומען עפּעס דרוקן אויס, אַזוי עס ס ניט געפונען וואָס פֿאַר אונדז. אַז ס גרויס, ווייַל עס ס נישט אין אונדזער רשימה. מיר זענען איצט אויס פון צייַט. אַז ס 'געגאנגען צו זייַן עס פֿאַר דעם וואָך. דאַנק פֿאַר דזשוינינג, און זען איר שפּעטער. [CS50.TV]