[Powered by Google Translate] אָפּטיילונג פּראָבלעם באַשטעטיק 2: העקער אַדישאַן באַגאַזלענען באָוודען, האַרוואַרד אוניווערסיטעט דאס איז קס50. CS50.TV אַזוי, איך בין ראָב. איך בין אַ עלטער אין קירקלאַנד. דאס איז מיין דריט יאָר טפינג קס50. עס איז דער ערשטער מאָל וואָס מיר זענען טשאַנגינג פון דעם טראדיציאנעלן-לעקציע-נוסח אָפּטיילונג, ווו מיר נאָר מין פון באריכטן וואָס געטראפן אין לעקציע און דאַן איר גייז פרעגן שאלות, איצט צו זייַענדיק אַ פּלאַץ מער פּראָבלעם-באזירט, ווו מיר נוצן ספּייסאַז, און - אָה, אַזוי דער געדאַנק איז צו גיין צו אַז לינק איך געשיקט איר און דאַן איר וועט זייַן אין מיין פּלאַץ. טוט ווער עס יז נישט האָבן אַ לאַפּטאַפּ? אָוקיי. אַזוי מיר רע געגאנגען צו זייַן ניצן דעם, און מיר רע געגאנגען צו זייַן טאן פּראָבלעמס לעבן אין אָפּטיילונג און דיסקאַסינג זיי און פיגיערינג אויס וואָס ס אומרעכט און איך זאל ציען אַרויף עטלעכע פון ​​דיין קאָד, און איך זאל דיסקוטירן אייער געדאנקען. אַזוי האט ווער עס יז געהאט שוועריקייט? איר קענען שמועסן אויף די זייַט; איך טאָן ניט וויסן אויב מיר וועט האָבן סיבה פֿאַר וואָס. איצט, ווי די פֿריִערדיקע סופּערסעקטיאָן, אויב איר געווען אין אַז קלאַס, איר וויסן וואָס אַז ס וועגן. אויף אַלע פון ​​פּ שטעלט דאָרט ס געגאנגען צו זייַן די סעקשאַנז. אַזוי פּ-שטעלן 2, ספּעסאַפאַקיישאַנז, איך טרעפן איר געזען עס אויף פּ-שטעלן 1 שוין. אבער מיר קענען קוקן אין פּ-שטעלן 2 פֿאַר וואָס מיר רע געגאנגען צו זייַן געגאנגען איבער הייַנט. און איר וועט זען אַ אָפּטיילונג פון שאלות. אַזוי דאָס וועט זייַן אין אַלע פון ​​דער פּ-שטעלט; עס וועט זייַן אַ אָפּטיילונג פון שאלות. אַזוי ווייַט מיר ווע געזאגט, "באטראכט דעם אַ געלעגנהייט צו פיר." איר וועט ניט ווערן געבעטן צו פאָרלייגן דעם פּראָגראַם. דער געדאַנק איז אַז די ביסט געמיינט צו מין פון העלפן איר באַקומען אנגעהויבן מיט די פּראָבלעם שטעלן. איך טרעפן אויף די העקער Edition, אַ פּלאַץ פון זיי זענען געמיינט צו נאָר זייַן נייַ, טשיקאַווע זאכן צו לערנען. זיי זאלן ניט זייַן גלייַך אָנווענדלעך צו די פּראָבלעם שטעלן. און רעכט איצט מיר רע נישט ווייל איר פאָרלייגן זיי, אָבער אין טעאָריע, פֿאַר שפּעטער פּראָבלעם שטעלט, איר זאל פאָרלייגן זיי, און אַזוי איר קענען אָדער קומען צו אָפּטיילונג אָדער היטן די אָפּטיילונג צו באַקומען די ענטפֿערס, אָדער איר קענען נאָר באַקומען זיי אויף דיין אייגן אויב איר טאָן ניט פילן ווי ענדזשויינג מיין בייַזייַן. אַזוי די - איך טראַכטן דעם איז דער ערשטער איינער. טאַקע. אויך, אונטער די סעקשאַנז פון שאלות מיר אויך האָבן איר פרעגן שאלות וועגן די קורצע הייזלעך. אַזוי איך טרעפן, אין טעאָריע, איר ניטאָ געמיינט צו היטן די פריער קומען צו אָפּטיילונג, אָבער עס ס פייַן אויב איר טאָן ניט; מיר וועט גיין איבער זיי סייַ ווי סייַ. אַזוי מיר קענען אָנהייבן מיט די: "ווי טוט אַ בשעת שלייף אַנדערש פון אַ טאָן-בשעת שלייף? ווען איז די יענער דער הויפּט נוצלעך? " אַזוי ווער עס יז האָבן קיין -? [תּלמיד] די טאָן-בשעת שלייף וועט שטענדיק ויספירן בייַ מינדסטער אַמאָל. יא. אַזוי וואָס איז די חילוק. א בשעת שלייף - ייל נאָר טאָן עס אויף דאָ - בשעת שלייף, מיר האָבן די צושטאַנד רעכט דאָ, וועראַז אַ טאָן-בשעת, איר טאָן ניט האָבן אַ צושטאַנד ביז מיר באַקומען אַראָפּ דאָ. און אַזוי, ווען דיין פּראָגראַם ס עקסאַקיוטינג, און עס געץ צו די בשעת שלייף, עס מיד טשעקס אויב דעם צושטאַנד איז אמת. אויב אַז צושטאַנד איז נישט אמת, עס וועט נאָר האָפּקען איבער די שלייף לעגאַמרע. צי-בשעת שלייף, ווי די פּראָגראַם איז עקסאַקיוטינג, עס געץ צו די "טאָן". גאָרנישט כאַפּאַנז בייַ דעם פונט, נאָר האלט עקסאַקיוטינג. דעמאָלט ווען עס היץ די "בשעת", אויב די צושטאַנד איז אמת, עס וועט שלייף צוריק און טאָן עס ווידער און ווידער און ווידער ביז דער צושטאַנד איז נישט אמת און דעמאָלט נאָר פאלס דורך. אַזוי, דער חילוק זייַענדיק, אַז דאָס קענען האָפּקען רעכט פון די זייער אָנהייב. דאס דאַווקע עקסאַקיוץ אַמאָל און דעמאָלט קען ויספירן מער מאל אויב די צושטאַנד איז נאָך אמת. אַזוי די בשעת שלייף וועט נאָר טאָן עס אַמאָל, אָדער - די בשעת שלייף - מיר זאל נישט דאַרפֿן צו טאָן עס בייַ אַלע, זינט ווי באַלד ווי מיר באַקומען צו עס, אויב די צושטאַנד איז פאַלש, מיר וועט נאָר האָפּקען רעכט איבער אים. וועראַז טאָן-בשעת שלייף, מיר וועלן ויספירן עס אַמאָל, דאַווקע. דעריבער, ווען מיר באַקומען צו דעם צושטאַנד, מיר טשעק אויב עס ס 'אמת אָדער פאַלש. אויב עס ס 'אמת, מיר וועט טאָן עס ווידער; אויב עס ס פאַלש, מיר וועט נאָר פאָרזעצן געגאנגען. אַזוי ווען איז די יענער דער הויפּט נוצלעך? אַזוי איך קענען זאָגן אַז אין די ינטייערטי פון די 4 יאר, 3 יאר, וועלכער, אַז איך ווע שוין פּראָגראַממינג, איך האב געניצט דעם, ווי, אונטער 10 מאל. און מיסטאָמע 5 פון זיי זענען אין קס50 ווען מיר רע ינטראָודוסינג טאָן-בשעת לופּס. אַזוי ווען טאָן איר געניצט טאָן-בשעת לופּס? ווען איז די - יאָ? [תּלמיד] ווען איר ניטאָ טריינג צו באַקומען באַניצער אַרייַנשרייַב, אָדער עפּעס איר ווילן צו טשעק - יאָ. אַזוי טאָן-בשעת לופּס, באַניצער אַרייַנשרייַב איז די גרויס איינער. אַז ס וואָס אויף דער ערשטער פּאָר פּראָבלעם שטעלט, ווען איר ווילן צו פרעגן די באַניצער, ווי, "געבן מיר אַ שטריקל," איר קענען נישט פאָרזעצן ביז איר באַקומען וואָס שטריקל. און אַזוי איר, דאַווקע, דאַרפֿן צו פרעגן פֿאַר די שטריקל בייַ מינדסטער אַמאָל. אבער דעמאָלט אויב זיי ענטפֿערן עפּעס שלעכט, דעמאָלט איר דאַרפֿן צו שלייף צוריק און פרעגן ווידער. אבער אנדערע ווי באַניצער אַרייַנשרייַב, עס ס זייער זעלטן אַז איך טרעפן אַ פאַל ווו איך ווילן צו שלייף "בייַ מינדסטער אַמאָל" אָבער עפשער מער. שאלות אָדער -? האט ווער עס יז געניצט אַ טאָן-בשעת שלייף ערגעץ אַנדערש? אָוקיי. אַזוי דער ווייַטער איינער איז, "וואָס טוט אַנדיקלערד יידענטאַפייער יוזשאַוואַלי אָנווייַזן אויב אָוטפּוטטעד דורך קלאַנג? " אַזוי וואָס מין פון קאָד קען איך שרייַבן צו באַקומען 'אַנדיקלערד יידענטאַפייער?' [תּלמיד] אַז X = 2? אַזוי מיר קענען נאָר פּרובירן עס אין דאָ, X = 2. מיר וועט לויפן דעם - אָה, איך האט נישט גיט עס. אַזוי דאָ מיר באַקומען - אַלע רעכט. "ניצן פון אַנדיקלערד יידענטאַפייער X". אַזוי אַז ס די אַנדיקלערד יידענטאַפייער, אַ בייַטעוודיק. עס וועט אָפט רופן אַ בייַטעוודיק אַ יידענטאַפייער. אַזוי עס זאל נישט וויסן עס ס 'פאקטיש אַ בייַטעוודיק; עס טוט ניט וויסן וואָס עס איז. אַזוי עס ס אַ יידענטאַפייער. אַזוי וואָס איז עס אַנדיקלערד? יאָ. אַזוי צו זייַן קלאָר אויף טערמינאָלאָגיע, די דערקלערונג פון אַ בייַטעוודיק איז ווען איר זאָגן "ינט X", אָדער "שטריקל י", וועלכער. די יניטיאַליזאַטיאָן פון די בייַטעוודיק, אָדער די אַסיינמאַנט פון די בייַטעוודיק, איז ווען איר זאָגן "X = 2". אַזוי מיר קענען טאָן די אין באַזונדער טריט, ינט X, X = 2, און ביז - מיר קענען האָבן אַ בינטל פון שטאָפּן אין דאָ - אָבער ביז דעם שורה כאַפּאַנז, X איז נאָך וניניטיאַליזעד, אָבער עס האט שוין דערקלערט. און אַזוי מיר קענען דאָך טאָן עס אין 1 שורה, און איצט מיר זענען דיקלערינג און יניטיאַליזינג. שאלות? און לעסאָף, "פארוואס איז דער קיסר סייפער ניט זייער זיכער?" אַזוי ערשטער, טוט ווער עס יז ווילן צו זאָגן וואָס דער קיסר סייפער איז? [תּלמיד] קיסר סייפער נאָר איז אַז איר מאַפּע, איר שיפט יעדער בריוו, אַ זיכער נומער פון אותיות גיין איבער, און מאַך צוריק איבער, און עס ס ניט זייער זיכער ווייַל דאָרט ס נאָר 26 מעגלעך אָפּציעס און איר נאָר האָבן צו פּרובירן יעדער 1 פון יענע ביז איר באַקומען עס. טאַקע. אַזוי, איך זאָל איבערחזרן? דער קיסר סייפער, יץ - איך מיינען, איר וועט זייַן דילינג מיט אים אויף די פראבלעמען וואָס איר - אָדער איך טרעפן דעם נאָרמאַל אויסגאבע פון ​​די פּראָבלעם שטעלן אַז ס 'ניט אויף די העקער אויסגאבע. אַזוי אויף דער נאָרמאַל אויסגאבע צו די פּראָבלעם שטעלן, איר באַקומען אַ אָנזאָג ווי, "העלא, וועלט," און איר אויך האָבן אַ נומער ווי 6, און איר נעמען אַז אָנזאָג, און יעדער יחיד כאַראַקטער, איר דרייען עס דורך 6 שטעלעס אין דער אלפאבעט. אַזוי דעם 'ה' אין העלא וואָלט ווערן ה-איך-דזש-ק-ל-עם-N. אַזוי דער ערשטער בריוו וואָלט זייַן ען. מיר טאָן די זעלבע זאַך מיט E. אויב מיר האָבן אַ, ווי, ז אָדער עפּעס, דעמאָלט מיר ייַנוויקלען צוריק אַרום צו 'אַ.' אבער יעדער כאַראַקטער געץ סייקאַלד 6 אותיות שפּעטער אין די אלפאבעט, און עס ס ניט זייער זיכער זינט עס זענען בלויז 26 פּאַסאַבילאַטיז פֿאַר ווי פילע וועגן איר קען ייַנוויקלען אַ איין בריוו. אַזוי איר קענען נאָר פּרובירן אַלע 26 פון זיי און, מאַשמאָעס, פֿאַר אַ לאַנג גענוג אָנזאָג, בלויז 1 פון יענע מעגלעך 26 זאכן איז געגאנגען צו זייַן לעדזשאַבאַל, און די לעדזשאַבאַל איינער איז געגאנגען צו זייַן דער אָריגינעל אָנזאָג. אַזוי עס ס נישט אַ זייער גוט וועג פון ענקריפּטינג עפּעס בייַ אַלע. ונרעלאַטעד צו יענע קורצע הייזלעך, "וואָס איז אַ פֿונקציע?" אַזוי וואָס איז אַ פֿונקציע? יא. [תּלמיד] עס ס ווי אַ באַזונדער שטיק פון קאָד וואָס איר קענען רופן צו גיין דורך און דעמאָלט באַקומען די צוריקקומען ווערט פון וועלכער. יאָ. אַזוי איך וועט ענטפֿערן עס דורך אויך האט דער ווייַטער - אָדער איבערחזרן דורך אויך נאָר האט דער ווייַטער איינער. איר קענען נוצן פאַנגקשאַנז אַנשטאָט פון נאָר קאַפּיינג און פּאַסטינג קאָד איבער און איבער ווידער. נאָר נעמען אַז קאָד, שטעלן עס אין אַ פוקטיאָן, און דאַן איר קען נאָר רופן די פֿונקציע וואוהין איר האָבן שוין קאַפּיינג און פּאַסטינג. אַזוי פאַנגקשאַנז זענען נוצלעך. אַזוי איצט מיר וועט טאָן פאַקטיש פּראָבלעמס. דער ערשטער איינער. אַזוי דער געדאַנק פון דער ערשטער איינער איז, איר פאָרן עס אַ שטריקל, און ראַגאַרדלאַס פון דער - אָדער טוט עס זאָגן אַלע לאָווערקאַסע? עס טוט נישט זאָגן אַלע לאָווערקאַסע. אַזוי דער אָנזאָג קענען זייַן עפּעס, און - טאַקע ניט. עס טוט. "פֿאַר פּאַשטעס, איר זאלט ​​יבערנעמען אַז דער באַניצער וועט נאָר אַרייַנשרייַב לאָווערקאַסע אותיות און ספּייסאַז." אַזוי מיר פאָרן עס אַ אָנזאָג מיט בלויז לאָווערקאַסע אותיות און דעמאָלט מיר בייַטנ לויט דער ריי צווישן הויפּטשטאָט און לאָווערקאַסע - מיר טוישן די שטריקל צו זייַן הויפּטשטאָט און לאָווערקאַסע, אָלטערנייטינג. אַזוי איידער מיר געבן איר אַ רגע צו אַפֿילו ונטערטוקנ זיך אין דעם פּראָבלעם, וואָס איז דער ערשטער זאַך וואָס מיר דאַרפֿן צו טאָן? טאַקע, וואָס האט איך נאָר גיט אויף? אָה, איך נאָר קליקט אויף אַ Email אין דאָ. אַזוי דער ערשטער זאַך מיר דאַרפֿן צו טאָן - בין איך קוקן בייַ די אומרעכט איינער? איז דעם טייל פון דעם איין? ניין, יענע ביסט נאָך אין דאָרט, כאָטש. אָוקיי, נאָך דאָ. איצט מיר קענען נישט יבערנעמען -? יא. דאָ מיר קענען נישט יבערנעמען אַז עס ס נאָר לאָווערקאַסע און ספּייסאַז. אַזוי איצט מיר האָבן צו האַנדלען מיט די פאַקט אַז די אותיות קענען זייַן וועלכער מיר ווילן זיי צו זייַן. און אַזוי דער ערשטער זאַך מיר ווילן צו טאָן איז נאָר באַקומען דעם אָנזאָג. מיר נאָר דאַרפֿן צו באַקומען אַ שטריקל, שטריקל s = געצטרינג, אָוקיי. איצט דעם פּראָבלעם, עס זענען אַ פּאָר פון וועגן פון טאן עס. אבער מיר זענען געגאנגען צו ווילן צו נוצן ביטוויסע אָפּערייטערז דאָ. זענען דאָרט מענטשן וואס אָדער זענען נישט אין די סופּערסעקטיאָן, אָדער עפּעס, און טאָן ניט וויסן וואָס ביטוויסע אָפּערייטערז ביסט? אָדער ווי זיי פאַרבינדן צו אַסקי אין קיין וועג? [תּלמיד] איך איז נישט אין די סופּערסעקטיאָן, אָבער איך וויסן וואָס ביטוויסע אָפּערייטערז זענען. אָוקיי. אַזוי דעמאָלט איך טאָן ניט האָבן צו גיין איבער די באַסיקס פון זיי, אָבער איך וועט דערקלערן וואָס מיר רע געגאנגען צו ווילן צו נוצן דאָ. אַזוי 'א': ביינערי פאַרטרעטונג פון הויפּטשטאָט א, די נומער איז 65. איך בין נאָר געגאנגען צו קוקן בייַ - 41 איז געגאנגען צו זייַן 01,000,001. אַזוי אַז זאָל זייַן 65 אין דעצימאַל; אַזוי דאָס איז די ביינערי פאַרטרעטונג פון די כאַראַקטער הויפּטשטאָט יי איצט, די ביינערי פאַרטרעטונג פון די כאַראַקטער לאָווערקאַסע 'אַ' איז געגאנגען צו זייַן די זעלבע זאַך, כּמעט. איז וואָס - 6, יאָ. דאס איז רעכט. אַזוי ביינערי הויפּטשטאָט א, ביינערי לאָווערקאַסע 'אַ.' אַזוי באַמערקן אַז די חילוק צווישן א און 'אַ' איז דאָס איין ביסל. און דעם כאַפּאַנז צו זייַן די 32 ביסל, די ביסל רעפּריזענטינג די נומער 32. און וואָס מאכט זינען זינט א איז 65; 'אַ' איז 97. דער חילוק צווישן זיי איז 32. אַזוי איצט מיר וויסן מיר קענען בייַטן פון א צו 'אַ' דורך גענומען א און ביטוויסע אָרינג עס, מיט - וואָס קוקט ווי אַ 1. דאס איז אַ ביטוויסע אָדער, מיט 00100000, און אַז וועט געבן אונדז 'אַ.' און מיר קענען באַקומען פון 'אַ' צו א דורך ביטוויסע אַנדינג מיט 11, 0 אין אַז אָרט, 11,111. אַזוי דעם וועט דעמאָלט געבן אונדז פּונקט וואָס 'אַ' איז געווען; אָבער באָטל מאַכן אויס דעם יחיד ביסל, אַזוי מיר וועט האָבן 01000001; איך טאָן ניט וויסן אויב איך גערעכנט רעכט. אבער דעם טעכניק פון ביטוויסע אָרינג צו באַקומען פון הויפּטשטאָט צו לאָווערקאַסע, און ביטוויסע אַנדינג צו באַקומען פון לאָווערקאַסע צו הויפּטשטאָט איז ניט ויסשליסיק צו יי אַלע פון ​​די אותיות, ק ווס ק, ז ווס ז, אַלע פון ​​זיי זענען נאָר געגאנגען צו אַנדערש דורך דעם איין ביסל. און אַזוי איר קענען נוצן דאָס צו טוישן פון קיין לאָווערקאַסע בריוו צו קיין הויפּטשטאָט בריוו און וויצע ווערסאַ. אָוקיי. אַזוי אַן גרינג וועג פון געטינג פון דעם - אַזוי אַנשטאָט פון בעת ​​צו שרייַבן אויס וועלכער 1011111 איז - אַן גרינג וועג פון רעפּריזענטינג דעם נומער, און דאָס איז נישט איין אַז איך געגאנגען איבער אין די סופּערסעקטיאָן, אָבער טילדע (~) איז אן אנדער ביטוויסע אָפּעראַטאָר. וואָס ~ טוט איז עס קוקט אין די ביסל פאַרטרעטונג. זאל ס נעמען קיין נומער. דאס איז נאָר עטלעכע ביינערי נומער, און וואָס ~ טוט איז עס נאָר פליפּס אַלע פון ​​די ביטן. אַזוי דאָס איז געווען אַ 1, איצט אַ 0, דאָס איז אַ 0, איצט אַ 1, 010,100. אַזוי אַז ס אַלע ~ טוט. אַזוי 32 איז געגאנגען צו זייַן די נומער - באַקומען באַפרייַען פון וואָס - אַזוי 32 איז געגאנגען צו זייַן די נומער 00,100,000, און אַזוי ~ פון דעם איז געגאנגען צו זייַן דעם נומער אַרויף דאָ אַז איך אַנדעד 'אַ' מיט. טוט אַלעמען זען וואָס? דאס איז שיין פּראָסט, ווי ווען איר ווילן צו רעכענען אויס פֿאַר שפּעטער זאכן אַז מיר זאל זייַן געזען, ווען מיר ווילן צו זען אויב - אָדער מיר וועלן אַלץ, יעדער איין ביסל שטעלן חוץ פֿאַר 1 איר טענד צו טאָן ~ פון די ביסל וואָס מיר טאָן ניט וועלן שטעלן. אַזוי מיר טאָן ניט וועלן די 32 ביסל שטעלן, אַזוי מיר טאָן ~ פון 32. אָוקיי. אַזוי מיר קענען נוצן אַלע פון ​​יענע דאָ. אַלע רעכט, אַזוי עס ס פייַן אויב איר ניטאָ ניט געטאן, מיר וועלן סלאָולי גיין איבער צוזאַמען, אָדער גיין איבער דעם, אַזוי - דורך דעם. גיין דורך דעם. אַזוי מיר האָבן אונדזער שטריקל, און מיר ווילן צו שלייף איבער יעדער כאַראַקטער אין אַז שטריקל און טאָן עפּעס צו עס. אַזוי ווי טאָן מיר שלייף איבער אַ שטריקל? וואָס זאָל מיר נוצן? איך בין נישט געגאנגען צו טאָן עס אויף דאָ. יאָ. אַזוי איך האב מיין יטעראַטאָר, און ער האט עס, אָבער ווי טאָן איך וויסן ווי פילע אותיות זענען אין די שטריקל? סטרלען (s), דעמאָלט איך + +. אַזוי וואָס איך ווע געטאן דאָ איז ניט דער בעסטער וועג פון טאן זאכן. טוט ווער עס יז וויסן וואָס? ווייַל איר ניטאָ קאָנטראָלירונג די שפּראַך פון די שטריקל יעדער איין מאָל. אַזוי מיר זענען געגאנגען צו ווילן צו באַוועגן סטרלען, איך קען זאָגן אַרויף דאָ, ינט לענג = סטרלען (s), און דעמאָלט טאָן איך <לענג, און אין פאַל איר האָט נישט געזען עס פריער, איך קען אויך טאָן ינט איך = 0, לענג = סטרלען (s). און אַזוי דאָס איז עפּעס בילכער, זינט איצט איך ווע ריסטריקטיד דער פאַרנעם פון די בייַטעוודיק לענג צו נאָר דעם 'פֿאַר' שלייף, אַנשטאָט פון דיקלערינג עס איידער און אַז עס שטענדיק יגזיסץ, און אין פאַל איר האט נישט כאַפּן וואָס וואָס ס 'שלעכט, אָדער וואָס דער אָריגינעל איז געווען שלעכט, יץ - אָנהייב אין די פֿאַר שלייף. איך אָפּגעשטעלט די צושטאַנד. איז איך <די לענג פון ס? אַזוי די לענג פון ס, לאָזן ס ווערק מיט "העלא" די גאנצע צייַט. אַזוי לענג פון ס, ה-E-ל-ל-אָ. לענג איז 5. אַזוי איך = 0, לענג איז 5, אַזוי איך איז נישט <5, אַזוי די שלייף האלט. דעמאָלט מיר גיין ווידער. מיר קאָנטראָלירן די צושטאַנד. איז איך <די לענג פון העלא? אַזוי לאָזן ס טשעק די לענג פון העלא. ה-E-ל-ל-אָ. אַז ס 5; איך איז נישט <5, אַזוי מיר פאָרזעצן ווידער. אַזוי מיר זענען קאַלקיאַלייטינג, מיר זענען קאַונטינג העלא, פֿאַר יעדער יטעראַטיאָן פון די שלייף, אַפֿילו געדאַנק עס ס קיינמאָל געגאנגען צו טוישן; עס ס שטענדיק געגאנגען צו זייַן 5. אַזוי מיר נאָר געדענקען 5 אַרויף פראָנט, און איצט אַלץ ס בעסער. אַזוי יטעראַטינג איבער די גאנצע שטריקל. וואָס טאָן מיר ווילן צו טאָן פֿאַר יעדער כאַראַקטער פון דעם שטריקל? [תּלמיד גערעדט, אַנינטעלאַדזשאַבאַל] יאָ. אַזוי, אויב דער כאַראַקטער איז ניט-אַלפאַבעטיק, דעמאָלט מיר נאָר ווילן צו האָפּקען איבער אים. ווייַל מיר נאָר זאָרגן וועגן אַלפאַבעטיק אותיות; מיר קענען נישט קאַפּאַטאַלייז אַ נומער. אַזוי ווי קענען מיר טאָן דעם? אַזוי אונדזער צושטאַנד, אַזוי אויב מיר ווילן עפּעס - טשעק אויב עס ס אַלפאַבעטיקאַל. אַזוי ווי טאָן מיר קאָנטראָלירן דעם? [תּלמיד] איר קענען נאָר נוצן די פֿונקציע איז אַלף. איז אַז אַרייַנגערעכנט אין יעדער פון די, אָדער קיין אַרייַננעמען ווי, טשאַר.ה אָדער עפּעס? זאל ס נישט נוצן דעם איז אַלף פונקציאָנירן, און נוצן די עקספּליסיט - אַזוי מיר האָבן ס [איך], וואָס איז די אַכט כאַראַקטער פון ס, געדענקען אַז אַ שטריקל איז אַ מענגע פון ​​אותיות, אַזוי די אַכט כאַראַקטער פון ס. איצט, אויב עס איז אַ קאַפּיטאַל בריוו, מיר וויסן עס האט צו זייַן אין אַ ספּעציפיש קייט. און וואָס איז אַז קייט? יאָ. אַזוי אויב ס [איך] איז ≥ 65, און ס [איך] איז ≤ 90, וואָס זאָל איך טאָן אַנשטאָט? יאָ. אַזוי איר זאָל לעגאַמרע קיינמאָל אַפֿילו דאַרפֿן צו וויסן די אַסקי וואַלועס פון עפּעס אלץ. קיינמאָל טראַכטן פון די נומערן 65, 90, 97 און 102, אָדער וועלכער עס איז. איר טאָן ניט דאַרפֿן - 112? - איר טאָן ניט דאַרפֿן צו וויסן יענע בייַ אַלע. אַז ס אומרעכט אויך. נאָר נוצן די איין-ציטירן אותיות, איין ציטירן קאַנסטאַנץ. אַזוי 'א' און ווייניקער ווי 90 איז 'ז' און דאָס איז באטייטיק בעסער - איך וואָלט נישט וויסן אַוועק די שפּיץ פון מיין קאָפּ אַז ז איז 90. איך טאָן וויסן אַוועק די שפּיץ פון מיין קאָפּ אַז 'ז' איז הויפּטשטאָט ז אַזוי ווי לאַנג ווי דאָס איז אין די קייט פון הויפּטשטאָט א צו הויפּטשטאָט ז, אָדער מיר קענען טשעק פֿאַר לאָווערקאַסע, אָדער אויב עס ס אין די קייט ≥ 'אַ' און ≤ ז. אַזוי אַז ס אונדזער צושטאַנד. דער נוסח פֿאַר ווו צו שטעלן די זאכן וועריז. איך וועט טאָן עס ווי דעם. איצט, וואָס טאָן מיר ווילן צו טאָן? מיר וויסן דעם בריוו איז אַ כאַראַקטער, אַ אַלפאַבעטיקאַל כאַראַקטער. אַזוי מיר דאַרפֿן צו בייַטנ לויט דער ריי צווישן צי דאָס זאָל איצט זייַן אַ קאַפּיטאַל בריוו אָדער אַ לאָווערקאַסע בריוו. ווי טאָן מיר האַלטן שפּור פון וואָס איינער מיר ווילן עס צו זייַן? [תּלמיד קולות, אַנינטעלאַדזשאַבאַל] אַזוי יאָ, אָבער לאָזן מיר טשעק. מאָדולע 0-2 האט געזאגט, איז געווען אַ פאָרשלאָג ארלנגעווארפן אויס, און איך שטימען מיט וואָס. חוץ באַמערקן אַז, ווי - איז דאָס דער פאַל? יאָ. עס ס יעדער אנדערע איין, אָבער מיר קענען נישט מאָדולע 2 פון איך, אָדער איך מאָד 2, זינט באַמערקן אַז E איז הויפּטשטאָט און 'אַ' איז לאָווערקאַסע? אבער דאָרט ס אַ פּלאַץ סעפּערייטינג זיי? אַזוי זיי ניטאָ געגאנגען צו זייַן די זעלבע מאָד 2, אָבער זיי ניטאָ פאַרשידענע קאַסעס. [תּלמיד קשיא, אַנינטעלאַדזשאַבאַל] יאָ. אַזוי מיר רע נאָר געגאנגען צו האַלטן אַ ציילן. מיר קען אויך טאָן אַז אין דאָ אויב מיר געוואלט; וואָס זאל באַקומען אַ ביסל אַנווילדי אין די פֿאַר שלייף דעקלעריישאַנז; איך וועט לייגן עס אַרויף דאָ. אַזוי ינט ציילן = סטאַרץ בייַ 0. און אַזוי איצט, איך בין געגאנגען צו ציילן ווי פילע אַלפאַבעטיקאַל אותיות מיר ווע האט. אַזוי מיר רע ינעוואַטאַבלי געגאנגען צו ציילן + + זינט מיר געפונען אן אנדער אַלפאַבעטיקאַל כאַראַקטער. אבער, אַזוי איצט איר ניטאָ זאגן אויב ציילן מאָד 2. אַזוי וואָס אויב ציילן מאָד 2? טאַקע. איך וועט טאָן == 0 פֿאַר איצט. מיר וועט אויך גיין איבער אַז. אַזוי אויב ציילן מאָד 2 == 0, דאַן וואָס? [סטודענטן ענטפֿערן, אַנינטעלאַדזשאַבאַל] אַזוי מיר ווילן עס צו סוף אַרויף ופּפּערקאַסע. עס זענען 2 פאלן; ופּפּערקאַסע און לאָווערקאַסע זענען די 2 קאַסעס. אַזוי אויב מיר ניטאָ אין לאָווערקאַסע מיר דאַרפֿן צו מאַכן עס ופּפּערקאַסע. אויב עס ס ופּפּערקאַסע מיר טאָן ניט דאַרפֿן צו טאָן עפּעס. אבער, איז עס אַ וועג - שודאַנט האָבן פליפּט - אַז מיר טאָן ניט אַפֿילו דאַרפֿן צו קאָנטראָלירן צי עס ס ופּפּערקאַסע אָדער לאָווערקאַסע? וואָס קענען מיר טאָן צו שטענדיק מאַכן זיכער אַז מיר שטענדיק סוף אַרויף בייַ ופּפּערקאַסע? אַזוי באַמערקן וואָס מיר האבן פֿאַר לאָווערקאַסע 'אַ'; וואָס אויב מיר האבן דאָס זעלבע פּינטלעך זאַך צו ופּפּערקאַסע א? טוט ופּפּערקאַסע א טוישן, אָדער טוט דער ווערט טוישן? יאָ. אַזוי קיין הויפּטשטאָט בריוו ביטוויסע אַנדעד מיט ~ 32 איז געגאנגען צו זייַן אַז זעלביקער ופּפּערקאַסע כאַראַקטער ווייַל פֿאַר קיין ופּפּערקאַסע כאַראַקטער די 32 ביסל איז ניט שטעלן. אַזוי אויב מיר ווילן צו ברענגען דעם כאַראַקטער ס [איך], מיר ווילן עס צו ווערן לאָווערקאַסע אָדער ופּפּערקאַסע. אַזוי אויב עס איז געווען לאָווערקאַסע, עס איז איצט ופּפּערקאַסע, אויב עס איז געווען ופּפּערקאַסע, עס ס נאָך ופּפּערקאַסע, און אַז ס עס. איך געזאגט דעם אין די סופּערסעקטיאָן: איר קענען נוצן 32 אויב איר ווילן, אָבער איך טענד צו בעסער וועלן טאן 'אַ' - א, אַנשטאָט פון נאָר קלאָר 32, ווייַל עס קענען זייַן קיין אנדערע ביסל. נאָך די 32 ביסל, עס קענען זייַן קיין פון די, אָדער מיר וואָלט נישט האָבן גענוג נומערן צו פאָרשטעלן אַלע פון ​​די אותיות. אַזוי אויב איר באַקומען די 32 ביסל, עס קען זייַן די 64 ביסל, עס קען זייַן דער 128 ביסל. קיין פון יענע ביטן קען זייַן די ביסל וואָס דיסטינגגווישיז צווישן ופּפּערקאַסע און לאָווערקאַסע. איך זאָל נישט דאַרפֿן צו וויסן אַז עס ס די 32 ביסל. איך קענען נוצן דעם 'אַ' - א צו באַקומען די ביסל וואָס דיפערז צווישן די צוויי אָן נידינג צו פאַרלאָזנ אויף די מאַגיש נומער וואָס איז 32. און אַזוי איצט, אַנדערש ציילן איז געווען מאָדנע, און אַזוי וואָס טאָן איך ווילן צו טאָן? [תּלמיד ענטפֿערס, אַנינטעלאַדזשאַבאַל] [תּלמיד] וואָס ס וואָס? איך וועל טאָן עס אין 1 רגע. אַזוי איצט אויב איך ווילן צו - איך ווילן צו מאַכן זיכער די כאַראַקטער איז איצט לאָווערקאַסע, און אַזוי איך קענען אָדער דורך 32, און 32 טייַטש 'אַ' - יי אבער באַמערקן, דורך די זעלבע ריזאַנינג ווי די פֿריִערדיקע איין, אַז אויב דער בריוו איז שוין לאָווערקאַסע, דעמאָלט אָרינג דורך 32 נאָר האלט עס לאָווערקאַסע. עס האט נישט געביטן די אָריגינעל כאַראַקטער. אבער איצט איך טאָן ניט האָבן צו ויסמייַדן געזאגט, "אויב עס איז לאָווערקאַסע, נאָר פאַרגעסן וועגן אים, אויב עס ס ופּפּערקאַסע, דעמאָלט טוישן עס ". עס ס פיל מער באַקוועם צו טאָן דעם. [תּלמיד] וואָלט אַז סטראַטעגיע פון ​​סאַבטראַקטינג די ופּפּערקאַסע פון ​​די לאָווערקאַסע אַרבעט אויב עס זענען נישט 32? אויב עס איז געווען, ווי, 34 אָדער עפּעס? אַזוי, איר דאַרפֿן צו וויסן אַז די חילוק צווישן די 2 איז -? >> 1 ביסל. עס קען זייַן מער ווי 1 ביסל, ווי לאַנג ווי אַלע פון ​​דער ביטן ונטער דעם שטעלע זענען די זעלבע. אַזוי מיר דאַרפֿן בייַ מינדסטער 26 אותיות - אָדער, עס זענען 26 אותיות. אַזוי מיר דאַרפֿן בייַ מינדסטער 26 נומערן צו פאָרשטעלן די חילוק - דער חילוק צווישן א און 'אַ' האט צו זייַן בייַ מינדסטער 26, אָדער אַנדערש מיר וואָלט נישט האָבן רעפּריזענטיד אַלע די הויפּטשטאָט נומערן. אַז מיטל אַז א, אויב מיר אָנהייבן בייַ 1, עס ס געגאנגען צו נוצן אַלע פון ​​די ביטן, אַלע פון ​​די ערשטער 5 ביטן, צו פאָרשטעלן אַלץ דורך ז אַז ס וואָס דער ווייַטער ביסל, אָדער דעם ביסל, דער ווייַטער ביסל איז דער איין אַז ס אויסדערוויילט צו ויסטיילן צווישן א און 'אַ.' אַז ס אויך וואָס, אין אַסקי טיש, עס זענען 5 סימבאָלס סעפּערייטינג הויפּטשטאָט אותיות פון לאָווערקאַסע אותיות. זינט יענע זענען די סימבאָלס, די עקסטרע 5 וואָס ברענגט אַרויף דעם 32 זייַענדיק דער חילוק צווישן זיי. [תּלמיד] אזוי מיר קען טאָן עס, ווייַל אַסקי ס דיזיינד אַז וועג. יא. אבער אַסקי - דער חילוק קען אויך זייַן ביידע פון ​​די ביטן. ווי, אויב א זענען 10000001, און 'אַ' איז געווען 11100001 - איך פאַרגעסן, וועלכער. אבער אויב עס זענען געווען דאָס, דעמאָלט מיר קען נאָך נוצן 'אַ' - יי עס ס נאָר איצט די חילוק צווישן א און 'אַ' איז נאָך די 2 ביטן. איך טראַכטן עס ס געשריבן 48. איז עס 32 + 64? איך טראַכטן עס איז? עס וואָלט נאָך זייַן 2 ביטן; יעדער איין כאַראַקטער, ווי, ז און ז, ק און ק, זיי וואָלט נאָך האָבן די זעלבע פּינטלעך ביטן שטעלן חוץ פֿאַר יענע 2 ביטן. אַזוי ווי לאַנג ווי אַז ס שטענדיק אמת, ראַגאַרדלאַס פון אויב מיר רע ניצן אַסקי אָדער עטלעכע אנדערע סיסטעם, ווי לאַנג ווי עס ס נאָר אַ גאַנג נומער פון ביטן וואָס זענען פאַרשידענע פֿאַר יעדער כאַראַקטער, דעמאָלט וואָס אַרבעט פייַן. עס ס נאָר אַז 32 איז געווען שטעלן אַרויף ווייַל עס ס דער ערשטער איינער מיר קען עפשער נוצן. >> קיל. איך טענד צו בעסער, אין פאַל איר האָט נישט געזען, אויב די בלאָק איז בלויז אַ איין שורה, איר קענען באַקומען באַפרייַען פון די געגרייַזלט ברייסאַז; אַזוי איך טענד צו בעסער וועלן טאן דעם. אויך, איר וויסן ווי מיר קענען טאָן זאכן ווי ס [איך] + = 1? איר קענען אויך טאָן ס [איך] ביטוויסע און = 32. און ביטוויסע אָדער = 32. אויך, ציילן מאָד 2 == 0. אַזוי געדענקען וואָס - איך וועל נישט שרייַבן עס - קיין ניט-נול ווערט איז אמת, און 0 איז פאַלש. אַזוי "אויב ציילן מאָד 2 == 0" איז די זעלבע ווי געזאגט "אויב נישט ציילן מאָד 2." איך מיסטאָמע וואָלט האָבן נאָר ריווערסט די שורות און געזאגט, "אויב ציילן מאָד 2, טאָן די אָדער 1, אַנדערש טאָן די און 1, "אַזוי אַז איך האט ניט דאַרפֿן די" נישט ". אבער דאָס אַרבעט נאָר ווי געזונט. און וואָס אַנדערש קענען איך טאָן דאָ? איר קען פאַרבינדן זיי מיט טערנאַרי אויב איר געוואלט, אָבער דעמאָלט אַז 'ד נאָר מאַכן זאכן מעסיער און מיסטאָמע מער שווער צו לייענען, אַזוי מיר וועלן נישט טאָן אַז. ווער עס יז האָבן קיין אנדערע פֿירלייגן? איז אַז אַלע די פּראָבלעם געבעטן פֿאַר? אָה יאָ. אַזוי באַקומען באַפרייַען פון די ליידיק שורות, איצט מיר וועט דרוקן F,% s זייַענדיק די איינער פֿאַר סטרינגס, מיר וועלן דרוקן F, ס. איצט לאָזן ס לויפן עס. האט איך טאָן עפּעס פאַלש? אַז ס 'אַ \ "; איך ווילן אַן ען. אָוקיי. איצט מיר וועט לויפן עס. עס וועט מיסטאָמע שרייַען בייַ מיר. סטרלען איז אין סטרינג.ה. אַזוי דאָס איז דער פייַן זאַך וועגן קלאַנג איז עס דערציילט איר וואָס עס ס אין, אַנשטאָט פון גקק וואָס נאָר זאגט, "היי, איר Forgot עפּעס, איך טאָן ניט וויסן וואָס עס איז געווען." אבער דאָס וועט זאָגן מיר, "איר מענט צו אַרייַננעמען סטרינג.ה." אַזוי איך האט נישט פּינטלעך פֿאַר עפּעס, אַזוי עס ס נישט זאגן עפּעס. אבער מיר וועט טאָן זייער בייַשפּיל, "דאַנק 4 די לייגן". וואָס קוקט רעכט. האָאָרייַ. אַזוי אומגעקערט צו אייער הויפּט, איך כּמעט קיינמאָל טאָן עס. עס ס אַפּשאַנאַל. און הויפּט איז די בלויז פֿונקציע פֿאַר וואָס עס איז אַפּשאַנאַל. אויב איר טאָן ניט צוריקקומען עפּעס פון הויפּט, עס ס אנגענומען אַז איר מענט צו צוריקקומען 0. שאלות? אָוקיי. אַזוי איצט די רגע פּראָבלעם. "ריקאָל פון וואָך 2 ס רגע לעקציע אַז סוואַפּינג 2 וועריאַבאַלז 'וואַלועס דורך גייט פארביי יענע 2 וועריאַבאַלז צו אַ פֿונקציע (אַפֿילו אויב גערופן ויסבייַטן) טוט נישט פּונקט אַרבעט, בייַ מינדסטער נישט אָן 'פּוינטערז.' " און איגנאָרירן פּוינטערז ביז מיר באַקומען צו זיי. מיר ווילן צו ויסבייַטן 2 וועריאַבאַלז; מיר רע נישט ניצן אַ פֿונקציע צו טאָן עס. מיר ניטאָ נאָך געגאנגען צו טאָן עס אין הויפּט ווי עס זאגט. אבער צו נוצן יענע 2 וועריאַבאַלז, מיר טאָן נישט וועלן צו נוצן אַ צייַטווייַליק בייַטעוודיק. עס זענען 2 וועגן צו טאָן דעם. איר קענען טאָן עס ניצן דיין טראדיציאנעלן ביינערי אָפּערייטערז. אַזוי טוט ווער עס יז וויסן אַ שנעל און גראָב וועג פון טאן וואָס? עס זאל פאקטיש נעמען אַ מינוט פון טראכטן. אויב איך האב - איך וועט שטעלן די פּראָבלעם אַרויף ווי זיי פרעגן. אַזוי אויב איך האָבן 2 וועריאַבאַלז, א, וואָס איז נאָר אַ ינטעגער אַז זיי געבן מיר, און סאַכאַקל בייַטעוודיק ב, וואָס איז אן אנדער ינטעגער אַז איך בין געגעבן. אַזוי אויב איך האָבן די 2 וועריאַבאַלז, איצט איך ווילן צו ויסבייַטן זיי. די טראדיציאנעלן, ניצן דיין רעגולער ביינערי אָפּערייטערז, איך מיינען, ווי +, -, ÷. ניט ביטוויסע אָפּערייטערז וואָס שפּילן אויף ביינערי. אַזוי ניצן -, +, ÷, און אַלע יענע. מיר קען ויסבייַטן דורך טאן עפּעס ווי אַ = אַ + ב, און ב = אַ - ב, אַ = אַ - ב. אַזוי, מייושעוודיקייַט טשעק, און דאַן מיר וועט זען וואָס וואָס אַרבעט. זאל ס זאָגן אַ = 7, ב = 3, דעמאָלט אַ + ב איז געגאנגען צו זייַן 10. אַזוי מיר רע איצט באַשטעטיקן אַ = 10, און דאַן מיר רע טאן ב = אַ - ב. אַזוי מיר רע טאן ב = אַ - ב, וואָס איז געגאנגען צו זייַן 7, און ב = אַ - ב ווידער, אָדער אַ = אַ - ב. וואָס איז געגאנגען צו זייַן 10-7 וואָס איז 3. אַזוי איצט, ריכטיק, 'אַ' איז 7, ב איז געווען 3, און איצט בייטן איז 7 און 'אַ' איז 3. אַזוי אַז מין פון מאכט חוש; 'אַ' איז די קאָמבינאַציע פון ​​די 2 נומערן. אין דעם פונט, 'אַ' איז די קאָמבינאַציע, און דאַן מיר רע סאַבטראַקטינג אויס דער אָריגינעל ב, און דעמאָלט מיר רע סאַבטראַקטינג אויס וואָס איז געווען דער אָריגינעל 'אַ.' אבער דאָס טוט נישט אַרבעטן פֿאַר אַלע נומערן. צו זען דעם, לאָזן ס באַטראַכטן אַ סיסטעם; אַזוי מיר יוזשאַוואַלי טראַכטן פון ינטאַדזשערז ווי 32 ביטן. זאל ס ווערק אויף עפּעס אַז ס נאָר ווי 4 ביטן. אַלעווייַ איך קומען אַרויף מיט אַ גוט בייַשפּיל רעכט איצט. אַזוי, איך וויסן, דאָס וועט זייַן גרינג. זאל ס זאָגן אונדזער 2 נומערן זענען 1111, און 1111; אַזוי מיר ניטאָ אין ביינערי רעכט איצט. אין פאַקטיש דעסאַמאַלז, אויב איר ווילן צו טראַכטן פון עס אַז וועג, אַ = 15 און ב = 15. און אַזוי מיר דערוואַרטן, נאָך מיר ויסבייַטן זיי - זיי טאָן ניט אַפֿילו האָבן צו זייַן די זעלבע נומערן, אָבער איך האט עס דעם וועג. זאל ס מאַכן זיי נישט די זעלבע נומערן. זאל ס טאָן 1111 און 0001. אַזוי אַ = 15 און ב = 1. נאָך מיר ויסבייַטן זיי, מיר דערוואַרטן 'אַ' צו זייַן 1 און בייטן צו זייַן 15. אַזוי אונדזער ערשטער שריט איז אַ = אַ + ב. אונדזער נומערן זענען בלויז 4 ביטן ברייט, אַזוי 'אַ,' וואָס איז 1111, + בייטן, וואָס איז 0001, איז געגאנגען צו סוף אַרויף זייַענדיק 10000, אָבער מיר נאָר האָבן 4 ביטן. אַזוי איצט אַ = 0. און איצט מיר וועלן צו שטעלן ב = אַ - ב - פאקטיש, דעם נאָך אַרבעט אויס בישליימעס. אַ = אַ - ב - לאָזן ס זען אויב דאָס אַרבעט אויס בישליימעס. אַזוי דעמאָלט ב = 0-1, וואָס וואָלט נאָך זייַן 15, און דעריבער אַ = אַ - ב, וואָס וואָלט זייַן 1. אפֿשר דעם טוט אַרבעט. איך פילן ווי דאָרט ס אַ סיבה עס טוט נישט אַרבעט ניצן רעגולער. אָוקיי, אַזוי ארבעטן אויף די האַשאָרע אַז עס טוט נישט אַרבעטן מיט רעגולער ביינערי אַפּעריישאַנז, און איך וועל קוקן פֿאַר - איך וועל גוגל צו זען אויב אַז איז אמת. אַזוי מיר ווילן צו טאָן עס ניצן ביטוויסע אָפּערייטערז, און די קלו דאָ איז קסאָר. אַזוי, ינטראָודוסינג קסאָר (^) אויב איר האָט ניט געזען עס נאָך. עס ס, ווידער, אַ ביטוויסע אָפּעראַטאָר אַזוי עס אקטן ביסל דורך ביסל, און יץ - אויב איר האָבן די ביטן 0 און 1, דעמאָלט דעם וועט זייַן 1. אויב איר האָבן די ביטן 1 און 0, עס וועט זייַן 1, איר האָבן די ביטן 0 און 0 עס וועט זייַן 0, און אויב איר האָבן די ביטן 1 און 1 עס וועט זייַן 0. אַזוי עס ס ווי אָדער. אויב אָדער פון די ביטן זענען אמת, עס ס 1, אָבער ניט ענלעך אָדער, עס קען נישט זייַן ביידע ביטן וואָס זענען אמת. אָדער וואָלט האָבן דאָס זייַן 1, קסאָר וואָלט האָבן דאָס זייַן 0. אַזוי מיר רע געגאנגען צו ווילן צו נוצן קסאָר דאָ. טראַכטן וועגן אים פֿאַר אַ מינוט; איך בין געגאנגען צו גוגל. נו, איר קענען ניט לייענען אַז; איך בין דערווייַל אויף די קסאָר ויסבייַטן אַלגערידאַם בלאַט. אַלעווייַ דעם וועט דערקלערן וואָס איך קאַנט - דאס איז פּונקט די אַלגערידאַם אַז מיר נאָר האט. איך נאָך טאָן ניט זען וואָס - איך מוזן האָבן נאָר פּיקט אַ שלעכט בייַשפּיל, אָבער דעם פאַל ווו 'אַ' געטראפן צו ווערן 0, נאָך געטינג צו 5 ביטן, אַזוי איצט 'אַ' איז 0, וואָס איז וואָס איז גערופן "ינטעגער לויפן." לויט צו וויקיפעדיע, "ניט ענלעך די קסאָר ויסבייַטן, דעם ווערייישאַן ריקווייערז אַז עס ניצט עטלעכע מעטהאָדס צו גאַראַנטירן אַז X + י טוט ניט פאַרשאַפן אַ ינטעגער לויפן. " אַזוי דעם טוט האָבן פּראָבלעמס; דעם איז געווען ינטעגער לויפן, אָבער איך האט עפּעס פאַלש. איך בין נישט זיכער. איך וועט פּרובירן צו קומען אַרויף מיט אנדערן איינער. [תּלמיד] נו, איז ניט ינטעגער לויפן ווען איר ניטאָ טריינג צו שטעלן אַ נומער אין דאָרט ביגער ווי די סומע פון ​​ביטן איר האָבן אַלאַקייטיד? יאָ. מיר האָבן 4 ביטן. דאַץ - מיר האט 4 ביטן, מיר דעמאָלט פּרובירן צו לייגן 1 צו אים, אַזוי מיר סוף אַרויף מיט 5 ביטן. אבער די פינפט ביסל נאָר געץ שנייַדן אַוועק, יאָ. עס זאל פאקטיש - [תּלמיד] טוט וואָס וואַרפן איר אַ טעות, אָדער טוט וואָס - וואָלט וואָס וואַרפן אַ טעות? נומ אזוי דאָרט ס קיין טעות. ווען איר באַקומען צו די פֿאַרזאַמלונג מדרגה, אַ ספּעציעל ביסל ערגעץ איז באַשטימט וואָס האט דאָרט איז געווען אַן לויפן, אָבער אין C איר מין פון נאָר טאָן ניט האַנדלען מיט וואָס. איר פאקטיש קענען נישט האַנדלען מיט עס סייַדן איר נוצן ספּעציעל פֿאַרזאַמלונג ינסטראַקשאַנז אין סי זאל ס טראַכטן וועגן קסאָר ויסבייַטן. און איך טראַכטן די וויקיפעדיע אַרטיקל זאל האָבן אויך שוין זאגן אַז - אַזוי עס אויך געבראכט אַרויף מאַדזשאַלער אַריטמעטיק, אַזוי איך טרעפן איך איז געווען, אין טעאָריע, טאן מאַדזשאַלער אַריטמעטיק ווען איך געזאגט אַז 0-1 איז 15 ווידער. אַזוי אַז זאל פאקטיש - אויף אַ רעגולער פּראַסעסער וואָס טוט 0-1 = 15. זינט מיר סוף אַרויף בייַ 0, מיר אַראָפּרעכענען 1, אַזוי דעמאָלט עס נאָר ראַפּס צוריק אַרום צו 1111. אַזוי דעם אַלגערידאַם זאל פאקטיש אַרבעט, די אַ + ב, די אַ - ב, ב - אַ; וואָס זאל זייַן פייַן. אבער דאָרט ס עטלעכע פּראַסעסערז וואָס טאָן ניט טאָן אַז, און אַזוי עס וואָלט ניט זייַן פייַן אין יענע ספּעציפיש אָנעס. קסאָר ויסבייַטן וועט אַרבעטן אויף קיין פּראַסעסער. אָוקיי. דער געדאַנק איז אַז עס ס געמיינט צו זייַן די זעלבע, כאָטש. ווו מיר זענען ניצן קסאָר צו עפעס באַקומען די אינפֿאָרמאַציע פון ​​ביידע אין 1 פון די וועריאַבאַלז, און דעמאָלט ציען אויס די אינפֿאָרמאַציע פון ​​דעם יחיד וועריאַבאַלז ווידער. אַזוי טוט ווער עס יז האָבן געדאנקען / די ענטפער? [תּלמיד ענטפֿערן, אַנינטעלאַדזשאַבאַל] אַזוי דאָס זאָל אַרבעטן, און אויך, קסאָר איז קאָממוטאַטיווע. ראַגאַרדלאַס פון וואָס סדר די 2 נומערן פּאַסירן צו זייַן אין אַרויף דאָ, דעם רעזולטאַט איז געגאנגען צו זייַן די זעלבע. אַזוי אַ ^ בייטן איז ב ^ אַ. איר זאל אויך זען דאָס געשריבן ווי אַ ^ = בייטן, בייטן ^ = אַ, אַ ^ = ב ווידער. אַזוי דאָס איז רעכט, און צו זען וואָס דאָס אַרבעט, טראַכטן פון די ביטן. ניצן אַ סמאָליש נומער, לאָזן ס זאָגן 11,001, און 01,100. אַזוי דאָס איז 'אַ'; דעם איז ב. אַזוי אַ ^ = ב. מיר רע געגאנגען צו זייַן באַשטעטיקן 'אַ' = צו די קסאָר פון די 2 זאכן. אַזוי 1 ^ 0 איז 1; 1 ^ 1 איז 0; 0 ^ 1 איז 1, און 0 ^ 0 איז 0; 1 ^ 0 איז 1. אַזוי 'אַ,' אויב איר קוק בייַ די דעצימאַל נומער, עס ס געגאנגען צו זייַן - איר ניטאָ ניט געגאנגען צו זען פיל פון אַ שייכות צווישן די אָריגינעל 'אַ' און די נייַ 'אַ,' אָבער קוקן בייַ די ביטן, 'אַ' איז איצט ווי אַ מעש פון די אינפֿאָרמאַציע פון ביידע דער אָריגינעל 'אַ' און דער אָריגינעל ב. אַזוי אויב מיר נעמען ב ^ אַ, מיר זען אַז מיר וועט סוף אַרויף אין דער אָריגינעל 'אַ.' און אויב מיר נעמען די אָריגינעל 'אַ' ^ די נייַ 'אַ,' מיר זען מיר סוף אַרויף אין דער אָריגינעל ב. אַזוי (אַ ^ בייטן) ^ ב = די אָריגינעל 'אַ.' און (אַ ^ בייטן) ^ אַ = דער אָריגינעל ב. עס איז - אן אנדער וועג פון געזען דעם איז עפּעס קסאָר זיך איז שטענדיק 0. אַזוי 1101 ^ 1101, אַלע דער ביטן זענען געגאנגען צו זייַן די זעלבע. אַזוי דאָרט ס קיינמאָל געגאנגען צו זייַן אַ פאַל ווו 1 איז אַ 0 און די אנדערע איז 1. אַזוי דאָס איז 0000. די זעלבע מיט דעם. (אַ ^ בייטן) ^ בייטן איז ווי אַ ^ (ב ^ ב). (ב ^ ב) איז געגאנגען צו זייַן 0; אַ ^ 0 איז נאָר געגאנגען צו זייַן 'אַ,' זינט אַלע די ביטן זענען 0. אַזוי דער בלויז אָנעס וואָס זענען געגאנגען צו זייַן ווו 'אַ' איז געווען ערידזשנאַלי אַ 1 - האט אָנעס. און די זעלבע געדאַנק דאָ; איך בין שיין זיכער עס ס אויך קאָממוטאַטיווע. יאָ. איך האט זאָגן פאר אַז עס איז געווען קאָממוטאַטיווע. די ^ 'אַ,' און עס ס אַססאָסיאַטיווע, אַזוי איצט (ב ^ אַ) ^ ​​אַ. און מיר קענען טאָן ב ^ (אַ ^ אַ). און אַזוי ווידער, מיר באַקומען דעם אָריגינעל ב. אַזוי 'אַ' איז איצט די קאָמבינאַציע פון ​​'אַ' און ב צוזאַמען. ניצן אונדזער נייַ קאָמבאָ 'אַ' מיר זאָגן ב = קאָמבאָ 'אַ' ^ דער אָריגינעל ב, מיר באַקומען דעם אָריגינעל 'אַ.' און איצט אַ = קאָמבאָ 'אַ' ^ די נייַ ב, וואָס איז געווען דער אָריגינעל - אָדער וואָס איז איצט וואָס איז געווען 'אַ' אָדער ב. אַז ס דעם פאַל אַראָפּ דאָ. דאס איז = ב, אַלט ב. אַזוי איצט אַלץ איז צוריק אין די סוואָפּט סדר. אויב מיר פאקטיש געקוקט בייַ די ביטן, ב = אַ ^ בייטן, איז געגאנגען צו קסאָר די 2, און דער ענטפער איז געגאנגען צו זייַן דעם, און דעמאָלט אַ = אַ ^ בייטן איז קסאָרינג די 2 און דער ענטפער איז דאָס. שאלות? אָוקיי. אַזוי די לעצטע איינער איז עפּעס באטייטיק מער שווער. [תּלמיד] איך טראַכטן ער האט אַ קשיא וועגן אים. >> אָה, אנטשולדיגט. [תּלמיד] וואָס ס 'פאקטיש פאַסטער? אויב איר נוצן דעם קסאָר, אָדער איז עס אויב איר דערקלערן אַ נייַ בייַטעוודיק? אַזוי וואָס איז פאקטיש פאַסטער, דיקלערינג אַ נייַ בייַטעוודיק אָדער ניצן קסאָר צו ויסבייַטן? דער ענטפער איז, אין אַלע ליקעליהאָאָד, אַ צייַטווייַליק בייַטעוודיק. און וואָס איז ווייַל אַמאָל עס ס צונויפגעשטעלט אַראָפּ - אַזוי בייַ דער פֿאַרזאַמלונג מדרגה, דאָרט ס ניט אַזאַ זאַך ווי היגע וועריאַבאַלז אָדער קיין צייַטווייַליק וועריאַבאַלז אָדער קיין פון דעם שטאָפּן. זיי ניטאָ נאָר ווי - דאָרט ס זכּרון, און עס זענען רעגיסטערס. רעגיסטערס זענען ווו זאכן זענען אַקטיוולי געשעעניש. איר טאָן ניט לייגן 2 זאכן אין זכּרון; איר לייגן 2 זאכן אין רעגיסטערס. און איר ברענגען זאכן פון זכּרון אין רעגיסטערס צו דעריבער לייגן זיי, און דאַן איר זאל שטעלן זיי צוריק אין זכּרון, אָבער אַלע דער קאַמף כאַפּאַנז אין רעגיסטערס. אַזוי ווען איר ניטאָ ניצן די צייַטווייַליק בייַטעוודיק צוגאַנג, יוזשאַוואַלי וואָס כאַפּאַנז איז די 2 נומערן זענען שוין אין רעגיסטערס. און דעמאָלט פון וואָס פונט אויף, נאָך איר 'ווע סוואָפּט זיי, עס וועט נאָר אָנהייבן ניצן די אנדערע רעגיסטרירן. ערגעץ איר האט שוין ניצן ב, עס וועט נאָר נוצן די רעגיסטרירן וואָס איז שוין סטאָרינג 'אַ.' אַזוי עס טוט נישט דאַרפֿן צו טאָן עפּעס צו פאקטיש טאָן די ויסבייַטן. יאָ? [תּלמיד] אבער עס אויך נעמט מער זכּרון, רעכט? עס וועט נאָר נעמען מער זכּרון אויב עס דאַרף צו קראָם אַז צייַטווייַליק בייַטעוודיק. ווי אויב איר שפּעטער נוצן אַז צייַטווייַליק בייַטעוודיק ווידער ערגעץ, דעמאָלט - אָדער איר באַשטימען עפּעס צו אַז צייַטווייַליק בייַטעוודיק. אַזוי אויב בייַ קיין פונט אין צייַט 'אַ,' ב אין טעמפּ האָבן בוילעט וואַלועס אָדער עפּעס, דעמאָלט עס ס געגאנגען צו האָבן בוילעט לאָוקיישאַנז אין זכּרון, אָבער עס איז אמת אַז עס זענען פילע היגע וועריאַבאַלז וואָס וועט בלויז עקסיסטירן אין רעגיסטערס. אין וואָס פאַל, עס ס קיינמאָל שטעלן אין זכּרון, און אַזוי איר ניטאָ קיינמאָל ווייסטינג זכּרון. אָוקיי. לעצטע קשיא איז אַ ביסל מער. אַזוי דאָ, אין דעם קס50 אַפּפּליאַנסע, עס איז אַ ווערטערבוך. און די סיבה פֿאַר דעם איז ווייַל [?? ב66] איז אַ רעגע טשעקער ווו איר וועט זייַן שרייבן ניצן האַש טישן אָדער פרוווט אָדער עטלעכע דאַטן סטרוקטור. איר רע געגאנגען צו זייַן שרייבן אַ רעגע טשעקער, און איר ניטאָ געגאנגען צו זייַן ניצן דעם ווערטערבוך צו טאָן וואָס. אבער פֿאַר דעם פּראָבלעם, מיר זענען נאָר געגאנגען צו קוקן אַרויף צו זען אויב אַ איין וואָרט איז אין דער ווערטערבוך. אַזוי אַנשטאָט פון סטאָרינג די גאנצע ווערטערבוך אין עטלעכע דאַטן סטרוקטור און דעמאָלט קוקן איבער אַ גאנצע דאָקומענט צו זען אויב עפּעס ס מיספּעלד, מיר נאָר ווילן צו געפֿינען 1 וואָרט. אַזוי מיר קענען נאָר יבערקוקן איבער די גאנצע ווערטערבוך און אויב מיר קיינמאָל געפֿינען די וואָרט אין די גאנצע ווערטערבוך, דעמאָלט עס איז נישט אין דאָרט. אויב מיר יבערקוקן איבער די גאנצע ווערטערבוך און טאָן זען די וואָרט, דעמאָלט מיר רע גוט, מיר געפונען עס. עס זאגט דאָ אַז מיר ווילן צו אָנהייבן זוכן בייַ C ס טעקע-האַנדלינג פונקציאָנירן, זינט מיר ווילן צו לייענען דעם ווערטערבוך, אָבער איך וועל געבן דער אָנצוהערעניש דאָ ווי צו וואָס פאַנגקשאַנז איר זאָל טראַכטן פון. איך וועט שרייַבן זיי אויף ספּאַסעס. אַזוי די הויפּט אָנעס איר וועט וועלן צו קוקן בייַ זענען F עפענען און דעמאָלט, ינעוואַטאַבלי, F פֿאַרמאַכט, וואָס וועט גיין אין די סוף פון דיין פּראָגראַם, און F יבערקוקן F. איר קען אויך נוצן F לייענען, אָבער איר מיסטאָמע טאָן נישט וועלן צו ווייַל וואָס - איר טאָן ניט סוף אַרויף נידינג אַז. F יבערקוקן F איז וואָס איר ניטאָ געגאנגען צו זייַן ניצן צו יבערקוקן איבער דער ווערטערבוך. און אַזוי איר טאָן ניט דאַרפֿן צו קאָד אַרויף די לייזונג, נאָר פּרובירן און ווי פּסעוודאָ-קאָד דיין וועג צו אַ לייזונג, און דאַן מיר וועט דיסקוטירן עס. און פאקטיש, זינט איך שוין געגעבן איר די, אויב איר גיין אין קיין וואָקזאַל אָדער דיין אַפּפּליאַנסע ס שאָל, איך וואָלט - איך יוזשאַוואַלי - אויב איר האָט ניט געזען נאָך, איך טאָן ניט וויסן אויב איר האט אין קלאַס, אָבער מענטש, אַזוי די מענטש בלעטער, ביסט שיין נוציק פֿאַר קוקן בייַ שיין פיל קיין פונקציאָנירן. אַזוי איך קענען טאָן, ווי, מענטש F, יבערקוקן F. דאס איז איצט די אינפֿאָרמאַציע וועגן דעם יבערקוקן F משפּחה פון פאַנגקשאַנז. איך קען אויך טאָן מענטש F, עפענען, און אַז וועט געבן מיר די פרטים פון וואָס. אַזוי אויב איר וויסן וואָס פונקציאָנירן איר זענט ניצן, אָדער איר 'רע לייענען קאָד און איר זען עטלעכע פונקציאָנירן און איר ניטאָ ווי, "וואָס טוט דאָס טאָן?" נאָר מענטש וואָס פונקציאָנירן נאָמען. עס זענען אַ פּאָר פון טשודנע ביישפילן ווו איר זאל האָבן צו זאָגן ווי. מענטש 2 וואָס פונקציאָנירן נאָמען, אָדער מענטש 3 וואָס פונקציאָנירן נאָמען, אָבער איר נאָר האָבן צו טאָן אַז אויב מענטש פונקציאָנירן נאָמען טוט נישט פּאַסירן צו אַרבעט דער ערשטער צייַט. [תּלמיד] אזוי איך בין לייענען דעם מענטש בלאַט פֿאַר עפענען, אָבער איך בין נאָך צעמישט אויף ווי צו נוצן עס און דער פּראָגראַם. אָוקיי. א פּלאַץ פון די מענטש בלעטער זענען ווייניקער ווי נוציק. זיי ניטאָ מער נוציק אויב איר שוין וויסן וואָס זיי טאָן און דאַן איר נאָר דאַרפֿן צו געדענקען די סדר פון די טענות אָדער עפּעס. אָדער זיי קענען געבן איר אַ גענעראַל איבערבליק, אָבער עטלעכע פון ​​זיי זענען זייער אָוווערוועלמינג. ווי F יבערקוקן F, אויך. עס גיט איר די אינפֿאָרמאַציע פֿאַר אַלע פון ​​די פאַנגקשאַנז, און 1 שורה אַראָפּ דאָ כאַפּאַנז צו זאָגן, "ף יבערקוקן F לייענט פון די שטריקל פונט אָדער טייַך". אבער F עפענען. אַזוי, ווי וואָלט מיר נוצן F עפענען? דער געדאַנק פון אַ פּראָגראַם וואָס דאַרף צו טאָן טעקע איך / אָ איז וואָס איר ערשטער דאַרפֿן צו עפענען די טעקע איר ווילן צו טאָן דאס מיט, און ינעוואַטאַבלי, לייענען זאכן פון וואָס טעקע און טאָן שטאָפּן מיט זיי. F עפענען איז וואָס מיר נוצן צו עפענען די טעקע. די זאַך מיר באַקומען צוריק, אַזוי וואָס טעקע טאָן מיר ווילן צו עפענען, עס גיט אונדז די - אין דאָ עס זאגט "/ באַניצער / טיילן / דיקט / ווערטער". דאס איז די טעקע אַז מיר ווילן צו עפענען, און מיר ווילן צו עפענען עס - מיר האָבן צו בפירוש ספּעציפיצירן צי מיר ווילן צו עפענען עס צו לייענען אָדער אויב מיר ווילן צו עפענען עס צו שרייַבן. עס ס אַ פּאָר פון קאַמבאַניישאַנז און שטאָפּן, אָבער מיר ווילן צו עפענען דעם פֿאַר לייענען. מיר ווילן צו לייענען פון דער טעקע. אַזוי וואָס טוט דאָס צוריקקומען? עס קערט אַ טעקע שטערן (*), און איך וועט נאָר ווייַזן אַלץ אין די בייַטעוודיק F, אַזוי *, ווידער, עס ס אַ טייַטל, אָבער מיר טאָן נישט וועלן צו האַנדלען מיט פּוינטערז. איר קענען טראַכטן פון F ווי, F איז איצט די בייַטעוודיק איר ניטאָ געגאנגען צו נוצן צו פאָרשטעלן דער טעקע. אַזוי אויב איר ווילן צו לייענען פון דער טעקע, איר לייענען פון F. אויב איר ווילן צו נאָענט די טעקע, איר נאָענט F. אַזוי בייַ די סוף פון די פּראָגראַם ווען מיר ינעוואַטאַבלי ווילן צו נאָענט די טעקע, וואָס זאָל מיר טאָן? מיר ווילן צו נאָענט F. אַזוי איצט די לעצטע טעקע פונקציאָנירן אַז מיר רע געגאנגען צו ווילן צו נוצן איז יבערקוקן F, F יבערקוקן F. און וואָס וואָס טוט איז עס סקאַנז איבער דער טעקע קוקן פֿאַר אַ מוסטער צו גלייַכן. קוקן בייַ די מענטש בלאַט דאָ, מיר זען ינט F יבערקוקן F, איגנאָרירן די צוריקקומען ווערט פֿאַר איצט. דער ערשטער אַרגומענט איז די טעקע * טייַך, אַזוי דער ערשטער אַרגומענט מיר רע געגאנגען צו ווילן צו פאָרן איז F. מיר רע סקאַנינג איבער F. די רגע אַרגומענט איז אַ פֿאָרמאַט שטריקל. איך וועל געבן איר אַ פֿאָרמאַט שטריקל רעכט איצט. איך טראַכטן מיר פּאַסירן צו זאָגן, 127ס \ N, אַ פּלאַץ פון וואָס ס ומנייטיק. דער געדאַנק פון וואָס אַז פֿאָרמאַט שטריקל איז, איז איר קענען טראַכטן פון יבערקוקן F ווי דער פאַרקערט פון דרוקן F. אַזוי דרוק F, דרוק F מיר אויך נוצן דעם טיפּ פון פֿאָרמאַט פּאַראַמעטער, אָבער אין דרוק F וואָס מיר רע טאן איז - לאָזן ס קוק בייַ אַן עקוויוואַלענט. אַזוי דרוק F, און דאָרט ס 'פאקטיש אויך F דרוק F, ווו דער ערשטער אַרגומענט איז געגאנגען צו זייַן F. ווען איר דרוקן F, מיר געקענט זאָגן עפּעס ווי, "דרוק 127ס \ ען" און דעריבער אויב מיר פאָרן עס עטלעכע שטריקל, עס ס געגאנגען צו דרוקן דעם שטריקל און דעמאָלט אַ נייַ שורה. וואָס 127 מיטל, איך בין שיין זיכער, אָבער איך ווע קיינמאָל ריסטריקטיד זיך צו אים, איר וואָלט ניט אַפֿילו דאַרפֿן צו זאָגן '127 'אין די דרוק F, אָבער וואָס עס מיטל איז דרוקן די ערשטער 127 אותיות. אַזוי איך בין שיין זיכער אַז ס דער פאַל. איר קענען גוגל פֿאַר וואָס. אבער אין דער ווייַטער איינער איך בין כּמעט positive עס מיטל וואָס. אַזוי דאָס איז דרוקן די ערשטער 127 אותיות, נאכגעגאנגען דורך אַ נייַ שורה. F יבערקוקן F איצט, אַנשטאָט פון זוכן בייַ אַ בייַטעוודיק און דרוקן עס, עס ס געגאנגען צו קוקן בייַ עטלעכע שטריקל, און קראָם דער מוסטער אין דער בייַטעוודיק. זאל ס 'פאקטיש נוצן יבערקוקן F אין אַ אַנדערש בייַשפּיל. אַזוי לאָזן ס זאָגן מיר האט עטלעכע ינט, X = 4, און מיר געוואלט צו שאַפֿן אַ שטריקל געמאכט פון - געוואלט צו שאַפֿן דעם שטריקל וואָס איז געווען ווי, דאָס וועט קומען אַרויף פיל שפּעטער, עפּעס אַז ס נאָר ווי 4.דזשפּג. אַזוי דאָס זאל זייַן אַ פּראָגראַם ווו איר וועט האָבן סאַכאַקל קאָונטער, סאַכאַקל טאָמבאַנק איך, און איר ווילן צו ראַטעווען אַ בינטל פון בילדער. אַזוי איר ווילן צו ראַטעווען י.דזשפּג, ווו איך איז עטלעכע יטעראַטיאָן פון דיין שלייף. אַזוי ווי טאָן מיר מאַכן דעם שטריקל פֿאַר וואָס געפֿינען? אויב איר געוואלט צו דרוקן 4.דזשפּג, מיר קען נאָר זאָגן דרוק F,% ד.דזשפּג, און דעמאָלט עס וואָלט דרוקן פֿאַר וואָס געפֿינען. אבער אויב מיר ווילן צו ראַטעווען די שטריקל 4.דזשפּג, מיר נוצן יבערקוקן F. אַזוי שטריקל ס - פאקטיש מיר קאַנט - כאַראַקטער, טשאַר ס, לאָזן ס גיין 100. אַזוי איך נאָר דערקלערט עטלעכע מענגע פון ​​100 אותיות, און אַז ס וואָס מיר רע ינעוואַטאַבלי געגאנגען צו זייַן סטאָרינג וואָס געפֿינען ין אַזוי מיר רע געגאנגען צו נוצן יבערקוקן F, און די פֿאָרמאַט, ווי מיר וואָלט זאָגן% ד.דזשפּג אין סדר צו דרוקן 4.דזשפּג, דעם פֿאָרמאַט פון דעם איז געגאנגען צו זייַן% ד.דזשפּג. אַזוי די פֿאָרמאַט איז% ד.דזשפּג, וואָס מיר ווילן צו פאַרבייַטן% די מיט איז X, און איצט מיר דאַרפֿן צו קראָם אַז שטריקל ערגעץ. און ווו מיר רע געגאנגען צו קראָם דעם שטריקל איז אין די מענגע ס. אַזוי נאָך דעם שורה פון קאָד, ס, אויב מיר דרוקן F,% s פון די בייַטעוודיק ס, עס ס געגאנגען צו דרוקן 4.דזשפּג. אַזוי F יבערקוקן F איז די זעלבע ווי יבערקוקן F, חוץ איצט עס ס קוקן איבער דעם טעקע פֿאַר וואָס צו קראָם אין ס. אַז ס וואָס די לעצטע אַרגומענט איז געגאנגען צו זייַן. מיר ווילן צו קראָם - "סקאַן F משפּחה פון פאַנגקשאַנז סקאַנז אין ביידע לויט צו פֿאָרמאַט ווי געפרוווט אונטן. אויב קיין זענען סטאָרד אין דעם אָרט ווייזט איר זאל צוריקקומען - " ניין, מיר זאל זייַן גוט. זאל מיר טראַכטן פֿאַר אַ רגע. אַזוי יבערקוקן F טוט נישט - וואָס די כעק איז די פֿונקציע וואָס טוט וואָס? אַזוי יבערקוקן F איז נישט געגאנגען צו נעמען אַ ינטעגער און טאָן פּונקט דזשפּג. עס ס געגאנגען צו [מאַמבאַלז]. היט ינט בייַטעוודיק אין שטריקל ינט סי וואָס איז דאָס בייַטעוודיק, אָדער וואָס איז דאָס פונקציאָנירן גערופן? יא. דאַץ - יאָ. אַזוי וואָס איך איז געווען דיפיינינג צו איר פריער איז געווען s דרוק F, וואָס - וואָס מאכט פיל מער געפיל, וואָס איך געזאגט עס איז געווען פיל מער ווי דרוק F. יבערקוקן F איז נאָך מין פון ווי דרוק F, אָבער ס דרוק F איז געגאנגען צו יבערקוקן עס איבער און פאַרבייַטן די וועריאַבאַלז און איצט קראָם עס אין אַ שטריקל. אַנשטאָט פון דרוקן עס, עס סטאָרז עס אין אַ שטריקל. אַזוי איגנאָרירן אַז לעגאַמרע. איר קענען נאָך טראַכטן פון דעם פֿאָרמאַט ספּעסיפיער ווי ווי אַז פון דרוקן F. אַזוי איצט, אויב מיר געוואלט צו טאָן די 4.דזשפּג זאַך, מיר וואָלט טאָן s דרוק F, X פון דעם. אַזוי וואָס יבערקוקן F איז טאן - וואָס איז דיין קשיא געגאנגען צו זייַן? [תּלמיד] איך בין נאָר צעמישט אויף וואָס מיר רע טריינג צו טאָן רעכט דאָ מיט וואָס געפֿינען. קענען איר דערקלערן אַז 1 מער צייַט? אַזוי דאָס איז געווען - עס ס ווייניקער רעלעווענט צו F יבערקוקן F איצט; אַלעווייַ, עס וועט בונד צוריק אין עטלעכע מין פון וועג. אבער וואָס איך טכילעס איז ינטענדינג צו ווייַזן איז געווען - דאָס איז פאקטיש גלייַך באַטייַטיק צו די [?? פ 5] איר רע געגאנגען צו זייַן ניצן s דרוק F, ווו, זאָגן מיר האָבן 100 בילדער, און איר ווילן צו לייענען בילד 1.דזשפּג, 2.דזשפּג, 3.דזשפּג. אַזוי אין סדר צו טאָן וואָס, איר דאַרפֿן צו F עפענען, און דאַן איר האָבן צו פאָרן אין די שטריקל וואָס איר ווילן צו עפענען. אַזוי מיר וואָלט ווילן צו עפענען 1.דזשפּג; אין סדר צו שאַפֿן דעם שטריקל וואָס איז 1.דזשפּג, מיר טאָן s דרוק F פון% ד.דזשפּג--מיר האבן נישט טאָן פֿאַר ינט איך = 0. איך <40, איך + +. אַזוי s דרוק F% ד.דזשפּג פון איך. אַזוי נאָך דעם שורה, איצט די בייַטעוודיק אָדער די מענגע s איז געגאנגען צו 1.דזשפּג. אָדער, 0.דזשפּג, 1.דזשפּג, 2.דזשפּג. און אַזוי מיר קענען עפענען, אין דרייַ, יעדער בילד פֿאַר לייענען. אַזוי וואָס איז וואָס ס דרוק F טוט. צי איר זען וואָס ס דרוק F איז איצט טאן? [תּלמיד] אָוקיי, אַזוי עס ס גענומען - עס קריייץ אַ שטריקל, סאָמעטהינג.דזשפּג, און דעמאָלט סטאָרז עס. יא. עס קריייץ - דאָס איז אן אנדער פֿאָרמאַט שטריקל, פּונקט ווי יבערקוקן F און דרוק F, ווו עס ינסערץ אַלע פון ​​די וועריאַבאַלז אין די רגע אַרגומענט, זאל זייַן ס ווי קעגן צו איך. טאָמער - איך מיינען, אַז ס דער פאַל. אבער וועלכער דער סדר פון טענות איז. עס ס געגאנגען צו אַרייַנלייגן אַלע פון ​​די וועריאַבאַלז אין דעם פֿאָרמאַט שטריקל און דעמאָלט קראָם אין אונדזער באַפער; מיר רופן אַז אַ באַפער, עס ס ווו מיר רע סטאָרינג די שטריקל. אַזוי מיר זענען סטאָרינג ין פון s די ריכטיק-פאָרמאַטטעד שטריקל,% די בעת שוין ריפּלייסט מיט 4. [תּלמיד] אזוי אויב מיר האט דעם, איז די בייַטעוודיק F נאָר געגאנגען צו זייַן ריאַסיינד? יא. אַזוי מיר זאָל נאָענט די אָריגינעל F איידער טאן דעם. אבער - און דעריבער אויך, אויב עס זענען נישט אַ F עפענען אַרויף דאָ, דעריבער מיר וואָלט דאַרפֿן צו זאָגן - יאָ. אבער עס וואָלט עפענען אַ הונדערט פאַרשידענע טעקעס. [תּלמיד] אבער מיר וואָלט ניט זייַן ביכולת צו צוטריט אָדער - אָוקיי. אָוקיי. אַזוי יבערקוקן F, F יבערקוקן F, איז מין פון די זעלבע געדאַנק, אָבער אַנשטאָט פון, אַנשטאָט פון סטאָרינג עס אין אַ שטריקל, עס ס מער ווי איר זענט איצט געגאנגען איבער אַ שטעכן און מוסטער ריכטן קעגן אַז שטריקל און סטאָרינג די רעזולטאַטן אין וועריאַבאַלז. איר קענען נוצן יבערקוקן F צו פּאַרס איבער עפּעס ווי 4.דזשפּג, און קראָם די ינטעגער 4 אין סאַכאַקל ינט X. אַז ס וואָס מיר קענען נוצן יבערקוקן F פֿאַר. F יבערקוקן F איז געגאנגען צו טאָן אַז בייַ די באַפֿעל שורה. איך בין פאקטיש שיין זיכער דאָס איז וואָס די קס50 ביבליאָטעק טוט. אַזוי ווען איר זאָגן, "באַקומען ינט," עס ס יבערקוקן F-ינג איבער - יבערקוקן F איז די וועג איר באַקומען באַניצער אַרייַנשרייַב. F יבערקוקן F איז געגאנגען צו טאָן די זעלבע זאַך אָבער ניצן אַ טעקע צו יבערקוקן איבער. אַזוי דאָ, מיר זענען סקאַנינג איבער דעם טעקע. דער מוסטער מיר זענען טריינג צו גלייַכן איז עטלעכע שטריקל וואָס איז 127 אותיות לאַנג נאכגעגאנגען דורך אַ נייע שורה אַזוי איך בין שיין זיכער מיר קען אַפֿילו נאָר זאָגן "גלייַכן s", זינט אין דער ווערטערבוך מיר פּאַסירן צו האָבן, מיר רע געראַנטיד קיין וואָרט איז אַז לאַנג, און אויך F יבערקוקן F, איך טראַכטן, וועט האַלטן בייַ די נייַ שורה קיין ענין וואָס. אבער מיר וועט אַרייַננעמען די נייַ שורה אין די גלייַכן, און - [תּלמיד] אויב מיר האבן נישט אַרייַננעמען די נייַ שורה, וואָלט ניט עס געפֿינען טיילן פון אַ וואָרט? עס - יעדער - קוקן בייַ די ווערטערבוך - אַזוי אין דער ווערטערבוך, די זענען אַלע פון ​​אונדזער ווערטער. יעדער איינער איז אויף אַ נייע ליניע. די יבערקוקן F איז געגאנגען צו קלייַבן אַרויף דעם וואָרט. אויב מיר טאָן ניט אַרייַננעמען דעם נייַ שורה, דעמאָלט עס ס מעגלעך אַז דער ווייַטער יבערקוקן F וועט נאָר לייענען די נייַ שורה. אבער אַרייַנגערעכנט נייַ שורה דעמאָלט וועט נאָר איגנאָרירן די נייַ שורה. אבער מיר וועט קיינמאָל באַקומען טייל פון אַ וואָרט, זינט מיר זענען שטענדיק לייענען זיך צו אַ נייַ שורה, קיין ענין וואָס. [תּלמיד] אבער וואָס אויב איר זוכן פֿאַר די וואָרט "סיססאַ," ווי סיססאַ. וועט עס געפֿינען אַז, און זאָגן אים ס אַ גלייַכן? אַזוי דאָ מיר - עס וועט לייענען אין - דאָס איז פאקטיש אַ גוט פונט. מיר רע קיינמאָל ניצן די קראַנט - די וואָרט מיר רע קוקן פֿאַר איז דער ערשטער באַפֿעל שורה אַרגומענט. אַזוי שטריקל, וואָרט = אַרגוו 1. אַזוי די שטריקל מיר רע קוקן פֿאַר איז אַרגוו 1. מיר זענען נישט קוקן פֿאַר אַ וואָרט בייַ אַלע אין אונדזער יבערקוקן F. וואָס מיר זענען טאן מיט יבערקוקן F איז געטינג יעדער וואָרט אין דער ווערטערבוך, און דעמאָלט אַמאָל מיר האָבן וואָס וואָרט מיר רע געגאנגען צו נוצן סטרקמפּ צו פאַרגלייַכן זיי. מיר רע געגאנגען צו פאַרגלייַכן אונדזער וואָרט, און וואָס מיר נאָר לייענען ין אַזוי ינעוואַטאַבלי, מיר רע געגאנגען צו סוף זיך טאן אַ בינטל פון יבערקוקן עפעס ביז עס פּונקט אַזוי כאַפּאַנז אַז יבערקוקן F וועט צוריקקומען - עס וועט צוריקקומען איינער, ווי לאַנג ווי עס האט מאַטשט אַ נייַ וואָרט, און עס וועט צוריקקומען עפּעס אַנדערש ווי באַלד ווי עס האט אַנדערש צו גלייַכן דעם וואָרט. מיר זענען לייענען איבער די גאנצע ווערטערבוך, סטאָרינג שורה ביי שורה יעדער וואָרט אין די בייַטעוודיק ס. דעמאָלט מיר זענען קאַמפּערינג וואָרט מיט ס, און אויב דער פאַרגלייַך == 0, סטרקמפּ כאַפּאַנז צו ברענגען 0 אויב אַ גלייַכן איז געווען געמאכט. אַזוי אויב עס איז געווען 0, דעמאָלט מיר קענען דרוקן F, מאַטשט, אָדער וואָרט איז אין ווערטערבוך, אָדער וועלכער איר ווילן צו דרוקן F. און דעמאָלט - מיר טאָן נישט וועלן צו F נאָענט איבער און איבער ווידער. דאס איז דער מין פון זאַך מיר ווילן צו טאָן, און מיר זענען נישט נאָר קוקן פֿאַר וואָרט אין די ווערטערבוך. אַזוי מיר קען טאָן אַז, אויב מיר געוואלט צו קוקן פֿאַר זייער מוסטער, סיססאַ, ווי איר האט געזאגט פריער, אויב מיר געוואלט צו קוקן פֿאַר אַז מוסטער, דעמאָלט עס וואָלט פאַרלאָזן אין דעם פאַל ווייַל אַז ס 'נישט פאקטיש אַ וואָרט, אָבער איינער פון די ווערטער אין דער ווערטערבוך כאַפּאַנז צו האָבן אַז אין עס. אַזוי עס וואָלט גלייַכן דעם וואָרט, אָבער דעם סאַבסעט פון די וואָרט איז ניט אַ וואָרט זיך. אבער אַז ס 'נישט ווי מיר רע ניצן עס; מיר רע לייענען אין יעדער וואָרט און דעמאָלט קאַמפּערינג די וואָרט מיר האָבן מיט וואָס וואָרט. אַזוי מיר רע שטענדיק קאַמפּערינג פול ווערטער. איך קענען שיקן אויס די פיינאַלייזד סאַלושאַנז שפּעטער. דאס איז מין פון קימאַט די רעכט ענטפֿערן, איך טראַכטן. [תּלמיד באַמערקונג, אַנינטעלאַדזשאַבאַל] אָה, האט איך באַקומען באַפרייַען פון וואָס פריער? טשאַר ס, איך טרעפן מיר געזאגט 127 - איך פאַרגעסן וואָס די גרעסטער איז. מיר וועט נאָר טאָן 128; אַזוי איצט s איז לאַנג גענוג. מיר טאָן ניט דאַרפֿן צו דרוקן עפּעס. מיר רע אויך געגאנגען צו ווילן צו האָבן צו נאָענט אונדזער טעקע, און וואָס זאָל זייַן וועגן דער רעכט ענטפֿערן. CS50.TV