[Powered by Google Translate] [וואַלקטהראָוגה - פּראָבלעם באַשטעטיק 4] [זאַמילאַ טשאַן - האַרוואַרד אוניווערסיטעט] [דאס איז קס50. - CS50.TV] אַלע רעכט. העלא, אַלעמען, און באַגריסן צו וואַלקטהראָוגה 4. הייַנט אונדזער פּסעט איז פאָרענסיקס. פאָרענסיקס איז אַ טאַקע שפּאַס פּסעט אַז ינוואַלווז דילינג מיט ביטמאַפּ טעקעס צו אַנטדעקן וואס באגאנגען אַ פאַרברעכן. דעמאָלט מיר רע געגאנגען צו רעסיזע עטלעכע ביטמאַפּ טעקעס, דעמאָלט מיר רע אויך געגאנגען צו האַנדלען מיט אַ טאַקע שפּאַס טייל גערופן רעקאָווער, אין וואָס מיר רע בייסיקלי קאָלנער אַ זכּרון קאָרט אין וואָס עמעצער האט אַקסאַדענאַלי אויסגעמעקט אַלע פון ​​זייער טעקעס, און מיר רע געבעטן צו צוריקקריגן יענע טעקעס. אבער ערשטער, איידער מיר באַקומען אין די פּסעט, איך טאַקע נאָר ווילן צו גראַטולירן אַלעמען. מיר רע וועגן אין די מידפּוינט פון דעם קורס. קוויז 0 איז הינטער אונדז, און מיר ניטאָ בייַ פּסעט4, אַזוי יסענשאַלי, מיר רע אַפנ האַלבנ וועג. מיר ווע קומען אַ לאַנג וועג אויב איר קוק צוריק צו דיין פּסעץ, פּסעט0 און פּסעט1, אַזוי גראַטולירן זיך וועגן אַז, און מיר רע געגאנגען צו באַקומען אין עטלעכע טאַקע שפּאַס שטאָפּן. אַזוי אונדזער מכשירים פֿאַר דעם פּסעט, ווידער, אַנשטאָט פון פליסנדיק סודאָ יום-י דערהייַנטיקן, מיר רע קענען צו נאָר לויפן ופּדאַטע50 אויב איר ניטאָ בייַ ווערסיע 17.3 און אויבן פון די אַפּפּליאַנסע. אַזוי זייַן זיכער צו לויפן ופּדאַטע50 - עס ס אַ פּלאַץ גרינגער, אַ ביסל ווייניקער אותיות - צו מאַכן זיכער אַז איר ניטאָ בייַ די לעצט ווערסיע פון ​​די אַפּפּליאַנסע. ספּעציעל עס ס וויכטיק צו ופּדאַטע50 ווען מיר אָנהייבן ניצן קס50 קוק. אַזוי מאַכן זיכער אַז איר טאָן אַז. פֿאַר אַלע פון ​​די סעקשאַנז פֿאַר דעם פּסעט, מיר רע געגאנגען צו זייַן דילינג מיט טעקע ינפּוץ און אַוטפּוץ, טעקע איך / אָו מיר רע געגאנגען צו זייַן געגאנגען איבער אַ פּלאַץ פון מגילה וואָס האַנדלען מיט ערייז פּוינטינג צו טעקעס און זאכן ווי אַז, אַזוי מיר ווילן צו מאַכן זיכער אַז מיר רע טאַקע באַקאַנט און באַקוועם דילינג מיט ווי צו אַרייַנשרייַב און רעזולטאַט אין טעקעס. אין די פאַרשפּרייטונג קאָד פֿאַר דעם פּסעט איז אַ טעקע גערופן קאָפּי.ק, און אַז ס וואָס מיר רע געגאנגען צו געפֿינען איז געגאנגען צו זייַן טאַקע נוצלעך צו אונדז ווייַל מיר רע געגאנגען צו סוף זיך פאקטיש קאַפּיינג די קאָפּי.ק טעקע און נאָר אָלטערינג עס אַ ביסל צו זייַן ביכולת צו דערגרייכן די ערשטער 2 טיילן פון די פּראָבלעם שטעלן. און אַזוי דעמאָלט ווי איך דערמאנט פריער, מיר זענען דילינג מיט ביטמאַפּס ווי געזונט ווי דזשפּעגס. אַזוי טאַקע פארשטאנד די סטרוקטור פון ווי יענע טעקעס זענען אָרגאַניזירט, ווי מיר קענען טאַקע איבערזעצן די 0ס און 1ס אין סטרוקץ און דאס אַז מיר קענען פאקטיש פֿאַרשטיין און טייַטשן און רעדאַגירן, וואָס וועט זייַן טאַקע וויכטיק, אַזוי געגאנגען אין געפֿינען און ביטמאַפּ טעקעס און פארשטאנד די סטרוקטור פון יענע. פּסעט4, ווי געוויינטלעך, סטאַרץ מיט אַ אָפּטיילונג פון שאלות. יענע וועלן האַנדלען מיט טעקע איך / אָ און באַקומען איר צוגעוווינט צו וואָס. דעמאָלט טייל 1 איז ווהאָדוניט, אין וואָס איר ניטאָ געגעבן אַ ביטמאַפּ טעקע וואָס קוקט מין פון ווי רויט דאַץ אַלע איבער. און דעמאָלט בייסיקלי וואָס מיר רע געגאנגען צו טאָן איז נעמען דעם טעקע און נאָר רעדאַגירן עס אַ ביסל אין אַ ווערסיע וואָס מיר קענען לייענען. יסענשאַלי, אַמאָל מיר ענדיקן, מיר וועט האָבן די זעלבע טעקע, אַחוץ מיר וועט זייַן ביכולת צו זען די פאַרבאָרגן אָנזאָג פאַרבאָרגן דורך אַלע יענע רויט דאַץ. דעמאָלט רעסיזע איז אַ פּראָגראַם וואָס, געגעבן אַ טעקע און דעמאָלט געגעבן די נאָמען פון דער טעקע אַז עס אַוטפּוץ און דעמאָלט געגעבן אַ נומער ווי געזונט, וועט פאקטיש רעסיזע אַז ביטמאַפּ דורך אַז ינטעגער ווערט. דעמאָלט לאַסטלי, מיר האָבן די רעקאָווער פּסעט. מיר זענען געגעבן אַ זכּרון קאָרט און דעריבער האָבן צו צוריקקריגן אַלע פון ​​די פאָטאָס וואָס האָבן שוין אַקסאַדענאַלי אויסגעמעקט, אָבער, ווי מיר וועט לערנען, נישט פאקטיש אויסגעמעקט און אַוועקגענומען פון דער טעקע; מיר נאָר מין פון פאַרפאַלן ווו זיי זענען געווען אין דער טעקע, אָבער מיר רע געגאנגען צו צוריקקריגן אַז. גרויס. אַזוי געגאנגען אין טעקע איך / אָ ספּאַסיפיקלי, די ביסט אַ גאנצע רשימה פון פאַנגקשאַנז אַז איר וועט זייַן ניצן. איר ווע שוין געזען אַ קליין ביסל די באַסיקס פון פאָפּען, פרעד, און פווריטע, אָבער מיר רע געגאנגען צו קוקן ווייַטער אין עטלעכע טעקע איך / אָ פאַנגקשאַנז אַזאַ ווי פפּוטק, אין וואָס איר נאָר שרייַבן איין כאַראַקטער אין אַ צייַט, צו פסעעק, ווו איר מין פון מאַך די טעקע שטעלע גראדן פאָרווערדז און קאַפּויער, און דעמאָלט עטלעכע אנדערע. אבער מיר וועט גיין אין אַז אַ ביסל שפּעטער בעשאַס די פּסעט. אַזוי ערשטער, נאָר צו באַקומען אין טעקע איך / אָ איידער מיר גיין אין די פּסעט, צו עפענען אַ טעקע, פֿאַר בייַשפּיל, וואָס איר האָט צו טאָן איז פאקטיש שטעלן אַ טייַטל צו אַז טעקע. אַזוי מיר האָבן אַ טעקע * טייַטל. אין דעם פאַל, איך בין פאַך עס אַן אין טייַטל ווייַל אַז ס 'געגאנגען צו זייַן מיין ינפילע. און אַזוי איך בין געגאנגען צו ניצן די פֿונקציע פאָפּען און דעמאָלט דער נאָמען פון דער טעקע און דעמאָלט דער מאָדע אין וואָס איך בין געגאנגען צו זייַן דילינג מיט דער טעקע. אַזוי דאָרט ס "ר" אין דעם פאַל פֿאַר לייענען, "ד" פֿאַר שרייבן, און דעריבער "אַ" פֿאַר אַפּפּענדינג. פֿאַר בייַשפּיל, ווען איר ניטאָ דילינג מיט אַ ינפילע און אַלע איר ווילן צו טאָן איז לייענען די ביטן און ביטעס סטאָרד דאָרט, דעמאָלט איר ניטאָ מיסטאָמע געגאנגען צו ווילן צו נוצן "ר" ווי דיין מאָדע. ווען איר ווילן צו פאקטיש שרייַבן, מין פון מאַכן אַ נייַ טעקע, דעמאָלט וואָס מיר רע געגאנגען צו טאָן איז מיר רע געגאנגען צו עפענען די נייַ טעקע און נוצן די "ד" מאָדע פֿאַר שרייבן. אַזוי דעריבער ווען איר ניטאָ פאקטיש לייענען אין די טעקעס, די סטרוקטור איז ווי גייט. ערשטער איר אַרייַננעמען די טייַטל צו די סטרוקט וואָס וועט אַנטהאַלטן די ביטעס וואָס איר ניטאָ לייענען. אַזוי אַז ס 'געגאנגען צו זייַן דער סוף אָרט פון די ביטעס וואָס איר ניטאָ לייענען. איר רע דעמאָלט געגאנגען צו אָנווייַזן די גרייס, ווי בייסיקלי ווי פילע ביטעס דיין פּראָגראַם האט צו לייענען אין צו דער טעקע, די גרייס בייסיקלי איין עלעמענט איז, און דאַן איר ניטאָ געגאנגען צו ספּעציפיצירן ווי פילע יסודות איר ווילן צו לייענען. און דעמאָלט לעסאָף, איר האָבן צו וויסן ווו איר ניטאָ לייענען פון, אַזוי אַז ס 'געגאנגען צו זייַן דיין אין טייַטל. איך פֿאַרב-קאָדעד די ווייַל פרעד איז אויך זייער ענלעך צו פווריטע, חוץ איר ווילן צו מאַכן זיכער אַז איר נוצן די רעכט סדר, מאַכן זיכער אַז איר ניטאָ פאקטיש שרייבן צו אָדער לייענען פון די רעכט טעקע. אַזוי דעריבער ווי איידער, אויב מיר האָבן די גרייס פון די עלעמענט ווי געזונט ווי די נומער פון עלעמענטן, דעמאָלט מיר קענען שפּילן אַרום דאָ אַ קליין ביסל. זאָגן איך האָבן אַ הונט סטרוקט און אַזוי דעמאָלט איך ווילן צו לייענען צוויי הינט אין אַ צייַט. וואָס איך קען טאָן איז זאָגן די גרייס פון איין עלעמענט איז געגאנגען צו זייַן די גרייס פון איין הונט און איך בין געגאנגען צו פאקטיש לייענען צוויי פון זיי. אַלטערנאַטיוועלי, וואָס איך קען טאָן איז זאָגן איך בין נאָר געגאנגען צו לייענען איין עלעמענט און אַז איינער עלעמענט איז געגאנגען צו זייַן די גרייס פון צוויי הינט. אַזוי אַז ס ענלעכער ווי איר קענען מין פון שפּילן אַרום מיט גרייס און נומער דיפּענדינג אויף וואָס ס 'מער ינטואַטיוו צו איר. אַלע רעכט. אַזוי איצט מיר באַקומען צו שרייבן טעקעס. ווען איר ווילן צו שרייַבן אַ טעקע, דער ערשטער אַרגומענט איז פאקטיש ווו איר ניטאָ לייענען פון. אַזוי אַז ס בייסיקלי די דאַטן וואָס איר זענט געגאנגען צו שרייַבן אין דער טעקע, וואָס איז די אויס טייַטל אין די סוף. אַזוי ווען איר ניטאָ דילינג מיט די פּסעט, מאַכן זיכער איר טאָן ניט באַקומען צעמישט. אפֿשר האָבן די זוך זייַט ביי זייַט. איר קענען ציען די זוך אַרויף אין די מאַנואַל דורך טייפּינג מענטש און דעמאָלט פווריטע, פֿאַר בייַשפּיל, אין דער וואָקזאַל, אָדער איר קענען אָפּשיקן צוריק צו דעם רוק און מאַכן זיכער אַז איר ניטאָ ניצן די רעכט איין. אַזוי ווידער, פֿאַר פווריטע, ווען איר האָט אַ טעקע אַז איר ווילן צו שרייַבן אין, אַז ס 'געגאנגען צו זייַן די לעצטע אַרגומענט און אַז ס' געגאנגען צו זייַן אַ טייַטל צו אַז טעקע. אַזוי דעמאָלט אַז ס ווי מיר האַנדלען מיט שרייבן טאָמער עטלעכע ביטעס אין אַ צייַט, אָבער זאָגן איר ווילן צו נאָר שרייַבן אין נאָר איין איין כאַראַקטער. ווי מיר וועט זען שפּעטער אין דעם בייַשפּיל, אין די ביטמאַפּס מיר וועט האָבן צו נוצן וואָס. אַז ס 'ווען מיר קענען נוצן פפּוטק, יסענשאַלי נאָר פּאַטינג איין כאַראַקטער אין אַ צייַט, טשר, אין דער טעקע טייַטל, און אַז ס אונדזער אויס טייַטל דאָרט. אַזוי דעמאָלט ווען מיר זוכן אָדער שרייַבן אין אַ טעקע, דער טעקע איז בעכעסקעם שפּור פון ווו מיר זענען. אַזוי עס ס אַ סאָרט פון לויפֿער, דער טעקע שטעלע גראדן. און אַזוי ווען מיר שרייַבן אָדער לייענען ווידער אין אַ טעקע, דער טעקע פאקטיש געדענקט ווו עס איז, און אַזוי עס האלט פון ווו דער לויפֿער איז. דאס קען זייַן וווילטויק ווען איר ווילן צו, זאָגן, לייענען אין אַ זיכער סומע צו טאָן עפּעס און דעמאָלט לייענען אין די פאלגענדע סומע, אָבער מאל מיר זאל וועלן צו גיין צוריק אָדער פאקטיש אָנהייב פון אַ זיכער דערמאָנען ווערט. אַזוי דעמאָלט די פסעעק פונקציאָנירן, וואָס עס טוט איז אַלאַוז אונדז צו באַוועגן דעם לויפֿער אין אַ זיכער טעקע אַ זיכער נומער פון ביטעס. און דעמאָלט וואָס מיר האָבן צו טאָן איז ספּעציפיצירן ווו די דערמאָנען ווערט איז. אַזוי אָדער עס באוועגט פאָרויס אָדער צוריק פון ווו די לויפֿער דערווייַל איז, אָדער מיר קענען ספּעציפיצירן אַז עס זאָל נאָר מאַך אין פון דער אָנהייב פון דער טעקע אָדער פון די סוף פון דער טעקע. און אַזוי איר קענען פאָרן אין נעגאַטיוו אָדער positive וואַלועס צו סומע, און וואָס וועט מין פון מאַך די לויפֿער אָדער פאָרווערדז אָדער קאַפּויער. איידער מיר באַקומען אין די אנדערע פּסעץ, קיין פראגעס אויף טעקע איך / אָ? אָוקיי. ווי מיר באַקומען אין מער ביישפילן, פילן פֿרייַ צו האַלטן מיר פֿאַר פראגעס. אַזוי אין ווהאָדוניט, איר ניטאָ קאָלנער אַ ביטמאַפּ טעקע ענלעך צו דעם רויט איינער אויף די רוק, און עס קוקט ווי דעם - אַ בינטל פון רויט דאַץ - און איר טאָן ניט טאַקע וויסן וואָס ס 'געשריבן. אויב איר סקווינט, איר זאלט ​​זייַן ביכולת צו זען אַ קליין בלויש קאָלירן ין דער מיטן. יסענשאַלי, אַז ס ווו די טעקסט איז סטאָרד. עס איז געווען אַ מאָרד אַז געטראפן, און מיר דאַרפֿן צו געפֿינען אויס וואס האט עס. אין סדר צו טאָן אַז, מיר דאַרפֿן צו מין פון בייַטן דעם בילד אין אַ ליינעוודיק פֿאָרמאַט. אויב איר גייז אלץ געפּלאָנטערט דעם, מאל עס וואָלט זייַן קליין קיץ ווו איר וואָלט האָבן אַ magnifying גלאז מיט אַ רויט פילם. ווער עס יז? יאָ. אַזוי איר וואָלט זייַן קאָלנער עפּעס ווי דעם, איר וואָלט האָבן אַ magnifying גלאז מיט די רויט פילם איבער אים, איר וואָלט שטעלן אים איבער דעם בילד, און איר וואָלט זייַן ביכולת צו זען דעם אָנזאָג פאַרבאָרגן דערין. מיר טאָן ניט האָבן אַ magnifying גלאז מיט רויט פילם, אַזוי אַנשטאָט מיר רע געגאנגען צו מין פון מאַכן אונדזער אייגן אין דעם פּסעט. און אַזוי דער באַניצער איז געגאנגען צו אַרייַנשרייַב כודאַניט, דעמאָלט דער קלו,. במפּ, אַזוי אַז ס די ינפילע, אַז ס די רויט פּינטעלע אָנזאָג, און דעריבער זיי ניטאָ געזאגט ווערדיקט.במפּ איז געגאנגען צו זייַן אונדזער אָוטפילע. אַזוי עס ס געגאנגען צו שאַפֿן אַ נייַ ביטמאַפּ בילד ענלעך צו די קלו איינער אַחוץ אין אַ ליינעוודיק פֿאָרמאַט ווו מיר קענען זען די פאַרבאָרגן אָנזאָג. זינט מיר רע געגאנגען צו זייַן דילינג מיט עדיטינג און מאַניפּיאַלייטינג ביטמאַפּס פון עטלעכע סאָרט, מיר רע געגאנגען צו מין פון ונטערטוקנ זיך אין אין די סטרוקטור פון די ביטמאַפּ טעקעס. מיר געגאנגען איבער די אַ קליין ביסל אין לעקציע, אָבער לאָזן ס קוק אין זיי עטלעכע מער. ביטמאַפּס זענען יסענשאַלי נאָר אַן אָרדענונג פון ביטעס ווו מיר ווע ספּעסאַפייד וואָס ביטעס מיינען וואָס. אַזוי דאָ איז מין פון ווי אַ מאַפּע פון ​​די ביטמאַפּ בילד געזאגט אַז עס סטאַרץ מיט עטלעכע כעדער טעקעס, סטאַרץ מיט עטלעכע אינפֿאָרמאַציע אין דאָרט. איר זען אַז אין וועגן ביטע נומער 14 די נומער איז אנגעוויזן פון די ביטמאַפּ בילד, און עס האלט אויף. אבער דעמאָלט וואָס מיר רע טאַקע אינטערעסירט אין דאָ איז סטאַרטינג אַרום ביטע נומער 54. מיר האָבן די רגב טריפּאַלז. וואָס אַז ס 'געגאנגען צו טאָן איז אַנטהאַלטן די פאַקטיש בילדצעלן, די פֿאַרב וואַלועס. אַלץ אויבן אַז אין די כעדער איז עטלעכע אינפֿאָרמאַציע קאָראַספּאַנדינג צו די גרייס פון דעם בילד, די ברייט פון דעם בילד, און די הייך. ווען מיר גיין אין וואַטן שפּעטער אויף, מיר וועט זען וואָס די גרייס פון דעם בילד זאל זייַן אַנדערש ווי די ברייט אָדער די הייך. אַזוי דעמאָלט צו פאָרשטעלן די - די ביטמאַפּ בילדער זענען סיקוואַנסיז פון ביטעס - וואָס מיר קען טאָן איז זאָגן אָוקיי, איך בין געגאנגען צו געדענקען אַז אין אינדעקס 14, אַז ס ווו די נומער איז, פֿאַר בייַשפּיל, אָבער אַנשטאָט וואָס מיר רע געגאנגען צו טאָן צו מאַכן דאָס גרינגער איז ענקאַפּסאַלייט עס אין אַ סטרוקט. און אַזוי מיר האָבן צוויי סטרוקץ געמאכט פֿאַר אונדז, אַ ביטמאַפּפילעהעאַדער און אַ ביטמאַפּינפאָהעאַדער, און אַזוי ווען מיר לייענען אין צו אַז טעקע, דורך פעליקייַט עס ס געגאנגען צו זייַן געגאנגען אין סדר, און אַזוי אין סדר עס ס אויך געגאנגען צו פּלאָמבירן אין אין וועריאַבאַלז אַזאַ ווי ביווידטה און ביסיזע. און דעמאָלט לעסאָף, יעדער פּיקסעל איז רעפּריזענטיד דורך דרייַ ביטעס. דער ערשטער איינער איז די סומע פון ​​בלוי אין די פּיקסעל, די רגע איז די סומע פון ​​גרין, און לעסאָף, די סומע פון ​​רויט, ווו 0 איז יסענשאַלי קיין בלוי אָדער קיין גרין אָדער קיין רויט און דעמאָלט פף איז די מאַקסימום ווערט. די ביסט העקסאַדעסימאַל וואַלועס. אַזוי דעריבער אויב מיר האָבן פפ0000, דעמאָלט אַז קאָראַספּאַנדז צו די מאַקסימום סומע פון ​​בלוי און דעמאָלט קיין גרין און קיין רויט, אַזוי דעמאָלט וואָס וואָלט געבן אונדז אַ בלוי פּיקסעל. דעריבער אויב מיר האָבן פף ס אַלע אַריבער דעם ברעט, דעמאָלט אַז מיטל אַז מיר האָבן אַ ווייַס פּיקסעל. דאס איז מין פון פאַרקערט צו טיפּיקלי ווען מיר זאָגן רגב. עס ס פאקטיש געגאנגען בגר. אַזוי אויב מיר פאקטיש קוקן אין אַ בייַשפּיל פון אַ ביטמאַפּ בילד - לאָזן מיר ציען איינער אַרויף דאָ. עס ס אַ ביסל קליין. איך בין זומינג אין, און מיר קענען זען עס ס פּיקסעלאַטעד. עס קוקט ווי בלאַקס פון קאָלירן. איר האָבן ווייַס בלאַקס און דעמאָלט רויט בלאַקס. אויב איר שפּיל אין מייקראָסאָפֿט פּיינט, פֿאַר בייַשפּיל, איר קען מאַכן עפּעס ווי אַז דורך בייסיקלי נאָר געמעל זיכער סקווערז אין אַ ספּעציפיש סדר. אַזוי דעמאָלט וואָס דאָס טראַנזלייץ ​​צו אין די ביטמאַפּ איז ווי גייט. דאָ מיר האָבן ערשטער ווייַס בילדצעלן, אַז אַלע 6 זענען F ס, און דאַן מיר האָבן רויט בילדצעלן, אנגעוויזן דורך 0000פף. און אַזוי די סיקוואַנס פון ביטעס וואָס מיר האָבן ינדיקייץ ווי די ביטמאַפּ בילד איז געגאנגען צו קוקן. אַזוי וואָס איך ווע געטאן דאָ איז נאָר געשריבן אויס אַלע יענע ביטעס און דעמאָלט בונט אין די רויט אַזוי אַז איר קענען מין פון זען, אויב איר סקווינט אַ קליין ביסל, ווי אַז מין פון ינדיקייץ אַ סמיילי פּנים. די וועג וואָס ביטמאַפּ בילדער אַרבעט איז איך ענוויזשאַן עס בייסיקלי ווי אַ גריד. און אַזוי דורך פעליקייַט, יעדער רודערן פון די גריד האט צו זייַן אַ קייפל פון 4 ביטעס. אויב מיר קוקן אין אַ ביטמאַפּ בילד, איר ניטאָ פילונג אין יעדער ווערט. פֿאַר בייַשפּיל, איר זאל האָבן אַ רויט דאָ, אַ גרין דאָ, אַ בלוי דאָ, אָבער איר האָבן צו מאַכן זיכער אַז די בילד איז אָנגעפילט אין מיט אַ קייפל פון פיר ביטעס. אַזוי אויב איך ווילן מיין בילד צו זייַן דרייַ בלאַקס ברייט, דאַן איך וואָלט האָבן צו שטעלן אַ ליידיק ווערט אין די לעצטע איין צו מאַכן עס אַ קייפל פון פיר. אַזוי דעמאָלט איך וואָלט לייגן אין עפּעס וואָס מיר רע פאַך וואַטן. איך בין נאָר געגאנגען צו אָנווייַזן אַז עס מיט אַ X. איצט זאָגן מיר ווילן אַ בילד וואָס איז 7 בילדצעלן לאַנג, פֿאַר בייַשפּיל. מיר האָבן 1, 2, 3, 4, 5, 6, 7, און אַלע פון ​​וואָס איז אָנגעפילט אין מיט קאָלירן. די וועג וואָס ביטמאַפּ בילדער אַרבעט איז אַז מיר דאַרפֿן אַ 8. רעכט איצט מיר האָבן 1, 2, 3, 4, 5, 6, 7. מיר דאַרפֿן 8 ספּייסאַז פֿאַר די ביטמאַפּ בילד צו לייענען ריכטיק. אַזוי דעמאָלט וואָס מיר האָבן צו טאָן איז לייגן אין נאָר אַ ביסל פון וואַטן צו מאַכן זיכער אַז אַלע פון ​​די ווידטס זענען מונדיר און אַז אַלע פון ​​די ווידטס ביסט אַ קייפל פון 4. און אַזוי איך פריער אנגעוויזן, וואַטן ווי אַ X אָדער אַ סקוויגגלי שורה, אָבער אין די פאַקטיש ביטמאַפּ בילדער די וואַטן איז אנגעוויזן דורך אַ העקסאַדעסימאַל 0. אַזוי אַז וואָלט זייַן אַ איין כאַראַקטער, 0. וואָס זאל קומען אין האַנטיק איז די קסקסד באַפֿעל. וואָס עס טוט איז פאקטיש ווייזט איר, ווי ענלעך צו וואָס איך האט איידער מיט דער סמיילי ווען איך פאקטיש געדרוקט אויס וואָס יעדער קאָליר וואָלט זייַן פֿאַר די פּיקסעל און דעמאָלט קאָלירן-קאָדעד עס, ווען איר לויפן קסקסד מיט די פאלגענדע קאַמאַנדז, דעמאָלט עס וועט פאקטיש דרוקן אויס וואָס די פארבן זענען פֿאַר יענע בילדצעלן. וואָס איר האָט צו טאָן איז איבער דאָ איך אָנווייַזן, ווי דער-s 54 זאגט אַז איך בין געגאנגען צו אָנהייבן בייַ די 54 ביטע ווייַל איידער וואָס, געדענקען אויב מיר קוקן צוריק צו דער מאַפּע פון ​​דער ביטמאַפּס, אַז ס אַלע די כעדער אינפֿאָרמאַציע און זאכן ווי אַז. אבער וואָס מיר טאַקע זאָרגן וועגן איז די פאַקטיש בילדצעלן אַז אָנווייַזן די קאָלירן. אַזוי דורך אַדינג אין אַז פאָן,-s 54, דעמאָלט מיר רע קענען צו זען די קאָלירן וואַלועס. און טאָן ניט זאָרג וועגן דעם קאָמפּליצירט פלאַגס און זאכן ווי אַז. אין די פּראָבלעם שטעלן ספּעק, איר וועט האָבן אינסטרוקציעס אויף ווי צו נוצן קסקסד צו אַרויסווייַזן די בילדצעלן. אַזוי אויב איר זען דאָ, עס מין פון קוקט ווי אַ גרין קעסטל, דעם קליין זאַך. איך ווע קאָלירן-קאָדעד די 00פפ00 ווי בייסיקלי געזאגט קיין בלוי, אַ פּלאַץ פון גרין, און קיין רויט. אַזוי אַז קאָראַספּאַנדז צו גרין. ווי איר זען דאָ, מיר זען אַ גרין גראָדעק. דעם גרין גראָדעק איז בלויז 3 בילדצעלן ברייט, אַזוי דעמאָלט וואָס מיר האָבן צו טאָן צו מאַכן זיכער אַז די בילד איז אַ קייפל פון 4 ברייט איז לייגן אין עקסטרע וואַטן. און אַזוי דעמאָלט אַז ס ווי איר זען די 0ס דאָ. דאס וועט פאקטיש זייַן דער רעזולטאַט פון דיין רעסיזע פּסעט, יסענשאַלי גענומען די קליין ביטמאַפּ און דעמאָלט ינלאַרדזשינג עס דורך 4. און אַזוי וואָס מיר זען איז אַז פאקטיש דאָס בילד איז 12 בילדצעלן ברייט, אָבער 12 איז אַ קייפל פון 4, און אַזוי מיר פאקטיש טאָן נישט זען קיין 0ס אין די סוף ווייַל מיר טאָן ניט דאַרפֿן צו לייגן קיין ווייַל עס ס גאָר פּאַדיד. עס טוט נישט האָבן קיין מער צימער. אָוקיי. קיין שאלות וועגן וואַטן? אָוקיי. קיל. ווי איך דערמאנט פריער, די ביטמאַפּס זענען נאָר אַ סיקוואַנס פון ביטעס. און אַזוי וואָס מיר האָבן איז אַנשטאָט פון נידינג צו האַלטן שפּור פון פּונקט וואָס נומער פון ביטע קאָראַספּאַנדז צו אַ ספּעציפיש עלעמענט, מיר פאקטיש האָבן באשאפן אַ סטרוקט צו פאָרשטעלן אַז. אַזוי וואָס מיר האָבן איז אַ רגבטריפּלע סטרוקט. ווען איר האָט אַ בייַשפּיל פון אַ רגב דרייַיק, ווייַל דאָס איז אַ טיפּ דעפינירן סטרוקט, דעמאָלט איר קענען צוטריט די רגבטבלוע בייַטעוודיק, סימילאַרלי די גרין און רעד וועריאַבאַלז, וואָס וועט אָנווייַזן ווי פיל בלוי, גרין, און רויט, ריספּעקטיוולי, איר האָבן. אַזוי אויב מיר האָבן די בלוי בייַטעוודיק שטעלן צו 0, די גרין שטעלן צו פף, וואָס איז די מאַקסימום ווערט איר קענען האָבן, און דאַן די רויט בייַטעוודיק שטעלן צו 0, דעמאָלט וואָס פֿאַרב וואָלט דעם באַזונדער רגב דרייַיק פאָרשטעלן? >> [תּלמיד] גרין. גרין. פּונקט. עס ס געגאנגען צו זייַן נוצלעך צו וויסן אַז ווען איר האָט אַ בייַשפּיל פון אַ רגב דרייַיק, איר קענען פאקטיש צוטריט די סומע פון ​​קאָלירן - בלוי, גרין, און רויט - סעפּעראַטלי. איצט אַז מיר ווע גערעדט וועגן די סטרוקטור פון וואָס, לאָזן ס נעמען אַ קוק אין די במפּ טעקע. די ביסט סטרוקץ געמאכט פֿאַר איר. דאָ מיר האָבן אַ ביטמאַפּפילעהעאַדער סטרוקט. פון אינטערעס איז די גרייס. שפּעטער אויף, מיר האָבן די אינפֿאָרמאַציע כעדער, וואָס האט אַ ביסל מער זאכן וואָס זענען טשיקאַווע צו אונדז, ניימלי די נומער, די ברייט, און דער הייך. ווי מיר וועט גיין אין שפּעטער, ווען איר לייענען אין צו דער טעקע, עס אויטאָמאַטיש לייענט אין ווייַל מיר ווע שטעלן די סדר צו זייַן די זעלבע. אַזוי די ביסיזע וועט אַנטהאַלטן די רעכט ביטעס וואָס שטימען צו די פאַקטיש גרייס פון דעם בילד. און דעריבער דאָ, לאַסטלי, ווי מיר ווע גערעדט וועגן, מיר האָבן די רגבטריפּלע טיפּעדעף סטרוקט. מיר האָבן אַ רגבטבלוע, גרין, און רעד פארבונדן מיט אים. גרויס. אָוקיי. איצט אַז מיר פֿאַרשטיין ביטמאַפּס אַ קליין ביסל, פֿאַרשטיין אַז מיר האָבן אַ טעקע כעדער און אַן אינפֿאָרמאַציע כעדער פארבונדן מיט עס און דעמאָלט נאָך אַז, מיר האָבן די טשיקאַווע שטאָפּן פון די פארבן, און יענע פארבן זענען רעפּריזענטיד דורך רגבטריפּלע סטרוקץ, און יענע, אין דרייַ, האָבן דרייַ וואַלועס פארבונדן צו די בלוי, די גרין, און די רויט. אַזוי איצט, מיר קענען מין פון טראַכטן וועגן רעקאָווער אַ ביסל. אנטשולדיגט. טראַכטן וועגן ווהאָדוניט. ווען מיר האָבן אונדזער קלו טעקע, דעמאָלט וואָס מיר ווילן צו טאָן איז לייענען אין צו עס פּיקסעל דורך פּיקסעל און דעמאָלט עפעס טוישן יענע בילדצעלן אַזוי אַז מיר קענען רעזולטאַט עס אין אַ ליינעוודיק פֿאָרמאַט. און אַזוי צו רעזולטאַט עס, מיר רע געגאנגען צו שרייַבן פּיקסעל דורך פּיקסעל אין די ווערדיקט.במפּ טעקע. אַז ס מין פון אַ פּלאַץ צו טאָן. מיר פאַרשטיין אַז. אַזוי וואָס מיר ווע געטאן איז מיר ווע פאקטיש צוגעשטעלט איר מיט קאָפּי.ק. וואָס קאָפּי.ק טוט איז נאָר מאכט אַן פּינטלעך קאָפּיע פון ​​אַ געגעבן ביטמאַפּ טעקע און דעמאָלט אַוטפּוץ עס. אַזוי דאָס שוין עפענען די טעקע פֿאַר איר, לייענט אין פּיקסעל דורך פּיקסעל, און דעריבער שרייבט עס אין אין אַ רעזולטאַט טעקע. זאל ס נעמען אַ קוק בייַ אַז. דאס איז ינשורינג געהעריק באַניץ, געטינג די פילענאַמעס דאָ. וואָס דאָס טוט איז עס שטעלט די אַרייַנשרייַב טעקע צו זייַן וואָס מיר ווע דורכגעגאנגען אין אין די ינפילע דאָ, וואָס איז אונדזער רגע באַפֿעל-שורה אַרגומענט. טשעקס צו מאַכן זיכער אַז מיר קענען עפענען די טעקע. טשעקס צו מאַכן זיכער מיר קענען מאַכן אַ נייַ אָוטפילע דאָ. דעמאָלט וואָס דאָס טוט דאָ, עס נאָר בייסיקלי סטאַרץ לייענען אין צו די ביטמאַפּ טעקע פון ​​דער אָנהייב. דער אָנהייב, ווי מיר וויסן, כּולל די ביטמאַפּפילעהעאַדער, און אַזוי יענע סיקוואַנסיז פון ביטן וועט גלייַך פּלאָמבירן אין די ביטמאַפּפילעהעאַדער. אַזוי וואָס מיר האָבן דאָ איז געזאגט אַז ביטמאַפּפילעהעאַדער בף - אַז ס אונדזער נייַ בייַטעוודיק פון טיפּ ביטמאַפּפילעהעאַדער - מיר רע געגאנגען צו שטעלן ין בף וואָס מיר לייענען פון אין טייַטל, וואָס איז אונדזער ינפילע. ווי פיל טאָן מיר לייענען? מיר לייענען אין ווי פילע ביטעס מיר דאַרפֿן צו אַנטהאַלטן די גאנצע ביטמאַפּפילעהעאַדער. סימילאַרלי, אַז ס וואָס מיר טאָן פֿאַר די אינפֿאָרמאַציע כעדער. אַזוי מיר רע ממשיך צוזאמען אונדזער טעקע אין די ינפילע, און מיר רע לייענען יענע ביטן און ביטעס, און מיר רע פּלאַגינג זיי גלייַך אין אין די ינסטאַנסיז פון די וועריאַבאַלז אַז מיר רע געמאכט. דאָ מיר רע נאָר מאכן זיכער אַז די ביטמאַפּ איז אַ ביטמאַפּ. איצט מיר האָבן אַ אָוטפילע, רעכט? אַזוי ווי עס שטייט ווען מיר מאַכן עס, עס ס יסענשאַלי ליידיק. אַזוי מיר האָבן צו בייסיקלי שאַפֿן אַ נייַ ביטמאַפּ פון קראַצן. וואָס מיר טאָן איז מיר האָבן צו מאַכן זיכער אַז מיר צייכענען אין די טעקע כעדער און די אינפֿאָרמאַציע כעדער נאָר ווי די ינפילע האט. וואָס מיר טאָן איז מיר שרייַבן - און געדענקען אַז בף איז די בייַטעוודיק פון טיפּ ביטמאַפּפילעהעאַדער, אַזוי וואָס מיר טאָן איז מיר נאָר נוצן אַז צופרידן צו שרייַבן אין די אָוטפילע. דאָ, געדענקען מיר גערעדט וועגן וואַטן, ווי עס ס וויכטיק צו מאַכן זיכער אַז די סומע פון ​​בילדצעלן אַז מיר האָבן איז אַ קייפל פון 4. דאס איז אַ שיין נוצלעך פאָרמולע צו רעכענען ווי פיל וואַטן איר האָבן געגעבן די ברייט פון דיין טעקע. איך ווילן איר גייז צו געדענקען אַז אין קאָפּי.ק מיר האָבן אַ פאָרמולע פֿאַר קאַלקיאַלייטינג וואַטן. אָוקיי? אַזוי אַלעמען געדענקען אַז. גרויס. אַזוי דעמאָלט וואָס קאָפּי.ק טוט ווייַטער איז עס יטעראַטעס איבער אַלע פון ​​די סקאַנלינעס. עס גייט דורך די ראָוז ערשטער און דעמאָלט סטאָרז יעדער דרייַיק אַז עס לייענט און דעריבער שרייבט עס אין די אָוטפילע. אַזוי דעמאָלט דאָ מיר רע לייענען בלויז איין רגב דרייַיק אין אַ צייַט און דעמאָלט פּאַטינג אַז זעלביקער דרייַיק אין די אָוטפילע. די טריקי טייל איז אַז די וואַטן איז נישט אַ רגב דרייַיק, און אַזוי מיר קענען ניט נאָר לייענען אַז וואַטן סומע פון ​​רגב טריפּאַלז. וואָס מיר האָבן צו טאָן איז פאקטיש פּונקט מאַך אונדזער טעקע שטעלע גראדן, מאַך אונדזער לויפֿער, צו מין פון האָפּקען איבער אַלע די וואַטן אַזוי אַז מיר ניטאָ אין דער ווייַטער רודערן. און דעמאָלט וואָס דאָס טוט איז קאָפּי ווייזט איר ווי איר זאל וועלן צו לייגן די וואַטן. אַזוי מיר ווע קאַלקיאַלייטיד ווי פיל וואַטן מיר דאַרפֿן, אַזוי אַז מיטל אַז מיר דאַרפֿן וואַטן נומער פון 0ס. וואָס דאָס טוט איז אַ פֿאַר שלייף אַז לייגט וואַטן נומער פון 0ס אין אונדזער אָוטפילע. און דעמאָלט לעסאָף, איר נאָענט ביידע טעקעס. איר נאָענט די ינפילע ווי געזונט ווי די אָוטפילע. אַזוי אַז ס ווי קאָפּי.ק מעשים, און אַז ס 'געגאנגען צו זייַן שיין נוצלעך. אַנשטאָט פון נאָר פאקטיש גלייַך קאַפּיינג און פּאַסטינג עס אָדער נאָר קוקן אין עס און טייפּינג אין וועלכער איר ווילן, איר זאל נאָר ווילן צו ויספירן דעם באַפֿעל אין דער וואָקזאַל, קפּ קאָפּי.ק ווהאָדוניט.ק, וואָס וועט מאַכן אַ נייַ טעקע, ווהאָדוניט.ק, אַז כּולל די פּינטלעך זעלביקער צופרידן ווי קאָפּיע טוט. אַזוי דעמאָלט וואָס מיר קענען טאָן איז נוצן אַז ווי אַ פראַמעוואָרק אויף וואָס צו בויען און רעדאַגירן פֿאַר אונדזער כודאַניט טעקע. די ביסט אונדזער צו-דאס צו טאָן פֿאַר ווהאָדוניט, אָבער וואָס קאָפּי.ק טוט איז פאקטיש נעמט קעיר פון רובֿ פון זיי פֿאַר אונדז. אַזוי אַלע מיר דאַרפֿן צו טאָן ווייַטער איז טוישן די בילדצעלן ווי דארף צו פאקטיש מאַכן די טעקע ליינעוודיק. געדענק אַז פֿאַר אַ געגעבן פּיקסעל דרייַיק, אַזוי פֿאַר אַ געגעבן בייַטעוודיק פון טיפּ רגבטריפּלע, איר קענען צוטריט די בלוי, גרין, און רויט וואַלועס. אַז ס 'געגאנגען צו קומען אין האַנטיק ווייַל אויב איר קענען צוטריט זיי, אַז מיטל אַז איר קענען אויך קאָנטראָלירן זיי, און אַז מיטל אַז איר קענען אויך טוישן זיי. אַזוי ווען מיר געגאנגען צוריק צו אונדזער רויט magnifying גלאז בייַשפּיל, בייסיקלי, וואָס איז געווען אַקטינג ווי אַ סאָרט פון פילטער פֿאַר אונדז. אַזוי וואָס מיר ווילן צו טאָן איז מיר ווילן צו פילטער אַלע פון ​​די טריפּאַלז וואָס זענען קומען ין עס זענען עטלעכע פאַרשידענע וועגן צו טאָן דעם. בייסיקלי, איר קענען האָבן וועלכער טיפּ פון פילטער איר ווילן. אפֿשר איר ווילן צו טוישן אַלע רויט בילדצעלן אָדער אפֿשר איר ווילן צו טוישן אַ פאַרשידענע קאָלירן פּיקסעל צו אַ פאַרשידענע קאָלירן. אַז ס אַרויף צו איר. געדענקען אַז איר קענען קאָנטראָלירן וואָס פֿאַרב די פּיקסעל איז און דאַן איר קענען אויך טוישן עס ווי איר ניטאָ געגאנגען דורך. אָוקיי. אַזוי אַז ס ווהאָדוניט. אַמאָל איר לויפן ווהאָדוניט, איר וועט וויסן וואס די קולפּריט פון דער פאַרברעכן איז געווען. איצט מיר רע געגאנגען צו גיין צו רעסיזע. מיר רע געגאנגען צו נאָך זייַן דילינג מיט ביטמאַפּס. וואָס מיר רע געגאנגען צו טאָן איז מיר רע געגאנגען צו האָבן אַ אַרייַנשרייַב ביטמאַפּ און דעמאָלט מיר רע געגאנגען צו פאָרן אין אַ נומער און דעמאָלט באַקומען אַ אָוטפילע ביטמאַפּ ווו אַז ס בייסיקלי אונדזער ינפילע סקיילד דורך ען. זאָגן מיין טעקע איז געווען נאָר איין פּיקסעל גרויס. דעריבער אויב מיין ען איז געווען 3, סקיילינג דורך 3, דאַן איך וואָלט איבערחזרן אַז פּיקסעל N נומער פון מאל, אַזוי 3 מאל, און דעריבער אויך וואָג עס אַראָפּ 3 מאל ווי געזונט. אַזוי איר זען איך בין סקיילינג עס ווערטיקלי ווי געזונט ווי כאָריזאַנטאַלי. און דעריבער דאָ ס אַ בייַשפּיל. אויב איר האָט N = 2, איר זען אַז דער ערשטער בלוי פּיקסעל דאָרט ריפּיטיד צוויי מאל כאָריזאַנטאַלי ווי געזונט ווי צוויי מאל ווערטיקלי. און דעמאָלט וואָס האלט אויף, און אַזוי איר האָבן אַ דירעקט סקיילינג פון דיין אָריגינעל בילד דורך צוויי. אַזוי דעריבער אויב מיר זענען צו דעטאַל די פּסעודאָקאָדע פֿאַר דעם, מיר ווילן צו עפענען די טעקע. און דעמאָלט געוואוסט אַז אויב מיר גיין צוריק דאָ, מיר זען אַז דער ברייט פֿאַר די אָוטפילע איז געגאנגען צו זייַן אַנדערש ווי די ברייט פֿאַר די ינפילע. וואָס טוט וואָס מיינען? אַז מיטל אַז אונדזער כעדער אינפֿאָרמאַציע איז געגאנגען צו טוישן. און אַזוי וואָס מיר וועט ווילן צו טאָן איז דערהייַנטיקן די כעדער אינפֿאָרמאַציע, געוואוסט אַז ווען מיר לייענען אין דער טעקעס אויב איר ניטאָ אַפּערייטינג אויף די קאָפּי.ק פראַמעוואָרק, מיר שוין האָבן אַ בייַטעוודיק אַז ינדיקייץ וואָס דער נומער איז און זאכן ווי אַז. אַזוי אַמאָל איר האָבן וואָס, וואָס איר זאל וועלן צו טאָן איז טוישן יענע באַזונדער וועריאַבאַלז. געדענק, אויב איר האָבן אַ סטרוקט, ווי איר צוטריט די וועריאַבאַלז ין אַז. איר נוצן די פּינטעלע אָפּעראַטאָר, רעכט? אַזוי דעמאָלט ניצן אַז, איר וויסן אַז איר וועט דאַרפֿן צו טוישן די כעדער אינפֿאָרמאַציע. אַזוי דאָ ס נאָר אַ רשימה פון די פאַקטיש עלעמענטן וואָס זענען געגאנגען צו זייַן טשאַנגינג אין דיין טעקע. דער טעקע גרייס איז געגאנגען צו זייַן טשאַנגינג, די בילד, ווי געזונט ווי די ברייט און די הייך. אַזוי דעמאָלט געגאנגען צוריק צו דער מאַפּע פון ​​דער ביטמאַפּס, קוק אין צי עס ס דער טעקע כעדער אָדער די אינפֿאָרמאַציע כעדער אַז כּולל וואָס אינפֿאָרמאַציע און דעמאָלט טוישן ווי דארף. ווידער, זאָגן קפּ קאָפּי.ק רעסיזע.ק. אַז מיטל וואָס רעסיזע.ק איצט כּולל אַלץ וואָס ס קאַנטיינד ין קאָפּיע ווייַל קאָפּיע גיט אונדז אַ וועג פון לייענען אין צו יעדער סקאַנלינע פּיקסעל דורך פּיקסעל. חוץ איצט, אַנשטאָט פון נאָר טשאַנגינג די וואַלועס ווי מיר האבן אין ווהאָדוניט, וואָס מיר ווילן צו טאָן איז מיר ווילן צו שרייַבן אין קייפל בילדצעלן ווי לאַנג ווי אונדזער N איז גרעסער ווי 1. דעמאָלט וואָס מיר ווילן צו טאָן איז מיר ווילן צו אויסשטרעקן עס כאָריזאַנטאַלי דורך N, ווי ווויל ווי אויסשטרעקן עס ווערטיקלי דורך ען. ווי זאל מיר טאָן דעם? זאָגן דיין N איז 2 און איר האָט דעם געגעבן ינפילע. דיין לויפֿער איז געגאנגען צו אָנהייבן בייַ דער ערשטער איינער, און וואָס איר ווילן צו טאָן אויב N איז 2, איר ווילן צו דרוקן אין 2 פון יענע. אַזוי איר דרוקן אין 2 פון יענע. דעמאָלט דיין לויפֿער איז געגאנגען צו באַוועגן צו דער ווייַטער פּיקסעל, וואָס איז די רויט איינער, און עס ס געגאנגען צו דרוקן אויס 2 פון יענע רויט אָנעס, אַפּפּענדינג עס אַנטו וואָס עס ס געטאן פריער. דעמאָלט דער לויפֿער וועט קער צו דער ווייַטער פּיקסעל און ציען אין 2 פון יענע. אויב איר קוק צוריק צו דער קאָפּי.ק פראַמעוואָרק, וואָס דאָס טוט רעכט דאָ איז עס קריייץ אַ נייַ בייַשפּיל פון אַ רגב דרייַיק, אַ נייַ בייַטעוודיק גערופן דרייַיק. און דאָ ווען עס לייענט אין עס, עס לייענט פון די ינפילע 1 רגבטריפּלע און סטאָרז עס ין פון וואָס דרייַיק בייַטעוודיק. אַזוי דעמאָלט איר פאקטיש האָבן אַ בייַטעוודיק רעפּריזענטינג אַז באַזונדער פּיקסעל. דעריבער ווען איר שרייַבן, וואָס איר זאל וועלן צו טאָן איז ענקייס די פווריטע סטאַטעמענט אין אַ פֿאַר שלייף וואָס שרייבט עס אין דיין אָוטפילע ווי פילע מאל ווי דארף. אַז ס 'פּשוט גענוג. נאָר בייסיקלי איבערחזרן די שרייבן פּראָצעס N נומער פון מאל צו וואָג עס כאָריזאַנטאַלי. אבער דעמאָלט מיר האָבן צו געדענקען, אז אונדזער וואַטן איז געגאנגען צו טוישן. פריער, זאָגן מיר האט עפּעס פון לענג 3. דעמאָלט מיר וואָלט נאָר לייגן אין ווי פיל וואַטן? נאָר איין מער צו מאַכן עס אַ קייפל פון 4. אבער זאָגן מיר רע סקיילינג דעם באַזונדער בילד דורך N = 2. אַזוי דעמאָלט ווי פילע בלוי בילדצעלן וואָלט מיר האָבן בייַ דער סוף? מיר וואָלט האָבן 6. 1, 2, 3, 4, 5, 6. אַלע רעכט. 6 איז נישט אַ קייפל פון 4. וואָס ס די ניראַסט קייפל פון 4? אַז ס 'געגאנגען צו זייַן 8. אַזוי מיר רע פאקטיש געגאנגען צו האָבן 2 אותיות פון וואַטן דאָרט. טוט ווער עס יז געדענקען אויב מיר האָבן אַ פאָרמולע צו רעכענען וואַטן און ווו וואָס זאל זייַן? [ינאָדאַבאַל תּלמיד ענטפער] >> יאָ, קאָפּי.ק. רעכט. עס איז אַ פאָרמולע אין קאָפּי.ק צו רעכענען ווי פיל וואַטן איר האָבן געגעבן אַ באַזונדער ברייט פון די ביטמאַפּ בילד. אַזוי דעמאָלט אַז ס 'געגאנגען צו זייַן נוצלעך ווען איר דאַרפֿן צו לייגן אין אַ זיכער סומע פון ​​וואַטן צו פאקטיש רעכענען אויס ווי פיל וואַטן איר דאַרפֿן צו לייגן. אבער איין טאָן, כאָטש, איז אַז איר ווילן צו מאַכן זיכער אַז איר ניטאָ ניצן די רעכט גרייס. נאָר זייַן אָפּגעהיט ווייַל איר ניטאָ בייסיקלי געגאנגען צו זייַן דילינג מיט צוויי ביטמאַפּ בילדער. איר ווילן צו מאַכן זיכער אַז איר ניטאָ ניצן די רעכט איין. ווען איר ניטאָ קאַלקיאַלייטינג די וואַטן פֿאַר די אָוטפילע, איר ווילן צו נוצן די ברייט פון די אָוטפילע און ניט די ברייט פון די פֿריִערדיקע איינער. גרויס. אַז מין פון נעמט קעיר פון סטרעטשינג אַ גאַנץ ביטמאַפּ בילד כאָריזאַנטאַלי. אבער וואָס מיר ווילן צו טאָן איז פאקטיש אויסשטרעקן עס ווערטיקלי ווי געזונט. דאס איז געגאנגען צו זייַן אַ קליין ביסל טריקיער ווייַל ווען מיר ווע פאַרטיק קאַפּיינג אַ רודערן און שרייבן אַז רודערן, אונדזער לויפֿער איז געגאנגען צו זייַן אין די סוף. אַזוי אויב מיר לייענען ווידער, דעמאָלט עס ס נאָר געגאנגען צו לייענען אין צו דער ווייַטער שורה. אַזוי וואָס מיר ווילן צו טאָן איז מין פון געפֿינען עטלעכע וועג פון קאַפּיינג יענע ראָוז ווידער אָדער נאָר מין פון גענומען אַז רודערן און דעמאָלט רירייטינג עס ווידער. ווי איך מין פון אַלודאַד צו, עס זענען עטלעכע פאַרשידענע וועגן צו טאָן דעם. וואָס איר קען טאָן איז ווי איר ניטאָ געגאנגען דורך און לייענען דורך די באַזונדער סקאַנלינע און טשאַנגינג עס ווי נייטיק, דעמאָלט מין פון קראָם אַלע פון ​​יענע בילדצעלן אין אַ מענגע. דערנאך שפּעטער אויף איר וויסן אַז איר וועט דאַרפֿן צו דרוקן אויס אַז מענגע ווידער, און אַזוי איר קענען נאָר נוצן אַז מענגע צו טאָן וואָס. אן אנדער וועג צו טאָן עס איז איר קען קאָפּי אַראָפּ איין רודערן, פֿאַרשטיין אַז איר דאַרפֿן צו צייכענען אַז ווידער, אַזוי פאקטיש מאַך דיין לויפֿער, און אַז ס 'געגאנגען צו זייַן ניצן דעם אופֿן פסעעק. איר קען מאַך דיין לויפֿער אַלע די וועג צוריק און דעמאָלט איבערחזרן די קאָפּיע פּראָצעס ווידער. אַזוי אויב אונדזער סקיילינג נומער איז N, דעריבער ווי פילע מאל וואָלט מיר האָבן צו גיין צוריק און רירייט אַ שורה? >> [תּלמיד] N - 1. >> יאָ, גאנץ. N - 1. מיר ווע געטאן עס אַמאָל שוין, אַזוי דעמאָלט מיר וועט ווילן צו איבערחזרן דעם געגאנגען צוריק פּראָצעס N - 1 סומע פון ​​מאל. אָוקיי. אַזוי דאָרט איר האָבן דיין רעסיזע פונקציאָנירן. איצט מיר קענען באַקומען צו אַ טאַקע שפּאַס טייל, מיין באַליבט פּסעט, וואָס איז רעקאָווער. אַנשטאָט פון ביטמאַפּס, דאָס מאָל מיר רע דילינג מיט דזשפּעגס. מיר רע פאקטיש ניט געגעבן אַ טעקע נאָר פון דזשפּעגס, מיר רע געגעבן בייסיקלי אַ רוי זכּרון קאָרט פֿאָרמאַט. און אַזוי דעם כּולל אַ ביסל פון אינפֿאָרמאַציע און מיסט וואַלועס אין די אָנהייב, און דעמאָלט עס סטאַרץ און עס האט אַ בינטל פון געפֿינען טעקעס. אבער, מיר רע קאָלנער אַ קאָרט ווו מיר ווע אויסגעמעקט די פאָטאָס; יסענשאַלי, מיר ווע פארגעסן ווו די פאָטאָס זענען ליגן ין די קאָרט. אַזוי דעמאָלט אונדזער אַרבעט אין רעקאָווער איז צו גיין דורך דעם קאָרט פֿאָרמאַט און געפֿינען יענע בילדער ווידער. צומ גליק, די סטרוקטור פון געפֿינען טעקעס און די קאָרט טעקע איז אַ ביסל נוציק. עס באשטימט קען האָבן שוין אַ ביסל טריקיער אויב עס זענען נישט אין דעם באַזונדער פֿאָרמאַט. יעדער געפֿינען טעקע פאקטיש סטאַרץ מיט צוויי מעגלעך סיקוואַנסיז, ליסטעד אויבן. בייסיקלי, ווען איר האָט אַ נייַ געפֿינען טעקע, עס סטאַרץ מיט אָדער די סיקוואַנס פפד8 פפע0 אָדער די אנדערע איינער, פפד8 פפע1. אן אנדער נוציק זאַך צו וויסן איז וואָס דזשפּעגס זענען סטאָרד קאָנטיגואָוסלי. אַזוי ווען מען געפֿינען טעקע ענדס, די אנדערע איינער סטאַרץ. אַזוי עס איז ניט קיין מין פון אין-צווישן וואַלועס דאָרט. אַמאָל איר שלאָגן די אָנהייב פון אַ געפֿינען, אויב איר ווע שוין געווען לייענען אַ געפֿינען, איר וויסן אַז איר ווע שלאָגן די סוף פון די פֿריִערדיקע איינער און דער אָנהייב פון דער ווייַטער איינער. צו מין פון וויזשוואַלייז דעם, איך געמאכט אַ סכעמאַטיש. אן אנדער זאַך וועגן דזשפּעגס איז אַז מיר קענען לייענען זיי אין סיקוואַנסיז פון 512 ביטעס אין אַ צייַט, סימילאַרלי מיט די אָנהייב פון די קאָרט. מיר טאָן ניט דאַרפֿן צו זייַן קאָנטראָלירונג יעדער איין ביטע ווייַל וואָס וואָלט זויגן. אַזוי אַנשטאָט, וואָס מיר קענען טאָן איז פאקטיש נאָר לייענען אין 512 ביטעס אין אַ צייַט און דעריבער, אַנשטאָט פון קאָנטראָלירונג אין צווישן יענע אין יענע קליינטשיק ביסל סלייסיז, מיר קענען נאָר קאָנטראָלירן די אָנהייב פון די 512 ביטעס. יסענשאַלי, אין דעם בילד, וואָס איר זען איז אין די אָנהייב פון די קאָרט, איר האָבן וואַלועס אַז ביסט נישט טאַקע באַטייַטיק צו די פאַקטיש דזשפּעגס זיך. אבער דעמאָלט וואָס איך האב איז אַ שטערן צו אָנווייַזן איינער פון די צוויי סטאַרטינג סיקוואַנסיז פֿאַר אַ געפֿינען. אַזוי ווען איר זען אַ שטערן, איר וויסן אַז איר האָט אַ געפֿינען טעקע. און דעריבער יעדער געפֿינען טעקע איז געגאנגען צו זייַן עטלעכע קייפל פון 512 ביטעס אָבער נישט דאַווקע דער זעלביקער קייפל. דעם וועג וואָס איר וויסן אַז איר ווע שלאָגן אנדערן געפֿינען איז אויב איר שלאָגן אנדערן שטערן, אן אנדער סטאַרטינג סיקוואַנס פון ביטעס. דעמאָלט וואָס איר האָט דאָ איז איר האָבן די רויט געפֿינען טעקע ממשיך ביז איר שלאָגן אַ שטערן, וואָס איז אנגעוויזן דורך אַ נייַ קאָלירן. איר פאָרזעצן און דאַן איר שלאָגן אנדערן שטערן, איר שלאָגן אנדערן געפֿינען, איר פאָרזעצן אַלע די וועג ביז דעם סוף. איר ניטאָ בייַ די לעצטע בילד דאָ, די ראָזעווע איינער. איר גיין צו די סוף ביז איר שלאָגן די סוף פון טעקע כאַראַקטער. דאס איז געגאנגען צו זייַן טאַקע נוצלעך. א ביסל הויפּט טאַקעאַווייַס דאָ: די קאָרט טעקע טוט נישט אָנהייבן מיט אַ געפֿינען, אָבער אַמאָל אַ געפֿינען סטאַרץ, אַלע פון ​​די דזשפּעגס זענען סטאָרד זייַט ביי זייַט צו איינער דעם אנדערן. עטלעכע פּסעודאָקאָדע פֿאַר די רעקאָווער. ערשטער, מיר רע געגאנגען צו עפענען אונדזער קאָרט טעקע, און אַז ס 'געגאנגען צו זייַן ניצן אונדזער טעקע איך / אָ פאַנגקשאַנז. מיר רע געגאנגען צו איבערחזרן די פאלגענדע פּראָצעס ביז מיר ווע ריטשט די סוף פון דער טעקע. מיר רע געגאנגען צו לייענען 512 ביטעס אין אַ צייַט. און וואָס איך געזאגט דאָ איז מיר רע געגאנגען צו קראָם עס אין אַ באַפער, אַזוי בייסיקלי האַלטן אויף צו יענע 512 ביטעס ביז מיר וויסן פּונקט וואָס צו טאָן מיט זיי. דעמאָלט וואָס מיר ווילן צו טאָן איז מיר ווילן צו קאָנטראָלירן צי מיר ווע שלאָגן אַ שטערן אָדער נישט. אויב מיר 'ווע שלאָגן אַ שטערן, אויב מיר' ווע שלאָגן איינער פון די סטאַרטינג סיקוואַנסיז, דעמאָלט מיר וויסן אַז מיר ווע שלאָגן אַ נייַ געפֿינען טעקע. וואָס מיר וועט ווילן צו טאָן איז מיר רע געגאנגען צו ווילן צו שאַפֿן אַ נייַ טעקע אין אונדזער פּסעט4 Directory צו פאָרזעצן מאכן אַז טעקע. אבער אויך, אויב מיר 'ווע שוין געמאכט אַ געפֿינען פריער, דעמאָלט מיר ווילן צו סוף אַז טעקע און שטויס עס צו די פּסעט4 טעקע, ווו מיר וועט האָבן אַז טעקע סטאָרד ווייַל אויב מיר טאָן ניט ספּעציפיצירן אַז מיר ווע געענדיקט וואָס געפֿינען טעקע, דעמאָלט מיר וועט בייסיקלי האָבן אַ ינדיטערמיניט סומע. די דזשפּעגס וועט קיינמאָל סוף. אַזוי מיר ווילן צו מאַכן זיכער אַז ווען מיר רע לייענען אין צו אַ געפֿינען טעקע און שרייבן וואָס, מיר ווילן צו ספּאַסיפיקלי נאָענט אַז אין סדר צו עפענען דעם ווייַטער איינער. מיר וועט ווילן צו קאָנטראָלירן עטלעכע זאכן. מיר ווילן צו קאָנטראָלירן צי מיר ניטאָ אין דער אָנהייב פון אַ נייַ געפֿינען מיט אונדזער באַפער און אויך אויב מיר שוין האָבן געפונען אַ געפֿינען פאר ווייַל וואָס וועט טוישן דיין פּראָצעס אַ ביסל. אַזוי דאַן נאָך איר גיין דורך אַלע די וועג און איר שלאָגן דעם סוף פון דער טעקע, דעמאָלט וואָס איר וועט וועלן צו טאָן איז איר וועט וועלן צו נאָענט אַלע די טעקעס וואָס זענען דערווייַל עפענען. וואָס וועט מיסטאָמע זייַן די לעצטע געפֿינען טעקע אַז איר האָבן, ווי געזונט ווי די קאָרט טעקע אַז איר ווע שוין דילינג מיט. די לעצטע שטערונג אַז מיר דאַרפֿן צו מאַכנ איז ווי צו פאקטיש מאַכן אַ געפֿינען טעקע און ווי צו פאקטיש שטויס עס צו דער טעקע. די פּסעט ריקווייערז אַז יעדער געפֿינען אַז איר געפֿינען זייַן אין די פאלגענדע פֿאָרמאַט, ווו איר האָבן דעם נומער. דזשפּג. די נומער, אַפֿילו אויב עס ס 0, מיר רופן עס 000.דזשפּג. ווען איר געפֿינען אַ געפֿינען אין דיין פּראָגראַם, איר ניטאָ געגאנגען צו ווילן צו נאָמען עס אין די סדר אַז עס ס געפונען. וואָס טוט דאָס מיינען? מיר דאַרפֿן צו מין פון האַלטן שפּור פון ווי פילע מיר ווע געפונען און וואָס דער נומער פון יעדער געפֿינען זאָל זייַן. דאָ מיר רע געגאנגען צו נעמען מייַלע פון ​​די ספּרינטף פונקציאָנירן. ענלעך צו פּרינטף, וואָס נאָר מין פון פּרינץ אַ ווערט אויס אין דער וואָקזאַל, ספּרינטף פּרינץ דער טעקע אויס אין דער טעקע. און אַזוי וואָס דאָס וואָלט טאָן אויב איך האט ספּרינטף, טיטל, און דאַן די שטריקל דאָרט, עס וואָלט דרוקן אויס 2.דזשפּג. אַסומינג אַז איך ווע פֿאַרמאַכט מיין טעקעס ריכטיק, וואָס וואָלט אַנטהאַלטן די טעקע אַז איך האט שוין שרייבן אויס. אבער איין זאַך איז אַז די קאָד וואָס איך האָבן דאָ טוט ניט גאַנץ באַפרידיקן וואָס די פּסעט ריקווייערז. די פּסעט ריקווייערז אַז די רגע געפֿינען טעקע זאָל זייַן געהייסן 002 אַנשטאָט פון בלויז 2. אַזוי ווען איר דרוקן אויס דעם נאָמען, דעריבער טאָמער איר זאל וועלן צו יבערבייַטן די פּלאַסעהאָלדער אַ ביסל. טוט ווער עס יז געדענקען ווי מיר לאָזן פֿאַר עקסטרע ספּייסאַז ווען מיר דרוקן עפּעס? יאָ. >> [תּלמיד] איר שטעלן אַ 3 צווישן דעם פּראָצענט צייכן און די 2. >> יאָ, גאנץ. איר וועט שטעלן אַ 3 אין דעם פאַל ווייַל מיר ווילן פּלאַץ פֿאַר 3. % 3 ד וואָלט מיסטאָמע געבן איר 002.דזשפּג אַנשטאָט פון 2. דער ערשטער אַרגומענט אין די ספּרינטף פֿונקציע איז פאקטיש אַ טשאַר מענגע, וואָס מיר פריער געוואוסט ווי סטרינגס. יענע וועלן, מין פון מער ווי אַ צייטווייליגע סטאָרידזש, נאָר קראָם די ריזאַלטאַנט שטריקל. איר וועט ניט טאַקע זייַן דילינג מיט דעם, אָבער איר דאַרפֿן צו אַרייַננעמען עס. געוואוסט אַז יעדער טעקע נאָמען האט די נומער, וואָס נעמט אַרויף דרייַ אותיות, און דעמאָלט. דזשפּג, ווי לאַנג זאָל דעם מענגע זייַן? וואַרפן אויס אַ נומער. ווי פילע אותיות אין די טיטל, אין די נאָמען? אַזוי דאָרט ס 3 האַשטאַגס, צייַט, דזשפּג. >> [תּלמיד] 7. >> 7. נישט גאַנץ. מיר רע געגאנגען צו ווילן 8 ווייַל מיר ווילן צו לאָזן פֿאַר די נאַל טערמינאַטאָר ווי געזונט. צום סוף, נאָר צו ציען אויס די פּראָצעס וואָס איר וועט זייַן טאן פֿאַר רעקאָווער, איר האָבן עטלעכע אָנהייב אינפֿאָרמאַציע. איר פאָרזעצן ביז איר געפֿינען די אָנהייב פון אַ געפֿינען טעקע, און וואָס קענען זייַן אָדער איינער פון צוויי סטאַרטינג סיקוואַנסיז. איר האַלטן אויף לייענען. יעדער צעהאַקן דאָ רעפּראַזענץ 512 ביטעס. איר האַלטן אויף לייענען, האַלטן אויף לייענען ביז איר טרעפן אן אנדער סטאַרטינג סיקוואַנס. אַמאָל איר האָבן וואָס, איר סוף די קראַנט געפֿינען - אין דעם פאַל, עס ס די רויט איינער, אַזוי איר ווילן צו סוף אַז. איר ווילן צו ספּרינטף די נאָמען פון וואָס אין דיין פּסעט4 טעקע, דעמאָלט איר ווילן צו עפענען אַ נייַ געפֿינען און דעריבער האַלטן אויף לייענען ביז איר טרעפן דעם ווייַטער. האַלטן אויף לייענען, האַלטן אויף לייענען, און דעמאָלט לעסאָף, יווענטשאַוואַלי, איר ניטאָ געגאנגען צו דערגרייכן דעם סוף פון טעקע, און אַזוי איר וועט וועלן צו נאָענט די לעצטע געפֿינען אַז איר זענען ארבעטן מיט, ספּרינטף אַז אין דיין פּסעט4 טעקע, און דעמאָלט קוק אין אַלע פון ​​די בילדער וואָס איר ווע גאַטאַן. יענע בילדער זענען פאקטיש בילדער פון קס50 שטעקן, און אַזוי דאָס איז ווו די באָנוס שפּאַס טייל פון די פּסעט קומט אין איז אַז איר זענט קאַמפּיטינג אין דיין סעקשאַנז צו געפֿינען די טפס אין די בילדער און נעמען בילדער מיט זיי צו באַווייַזן אַז איר ווע געטאן די פּסעט און אַזוי איר קענען זען וואָס שטעקן מיטגלידער זענען אין די בילדער. אַזוי דעמאָלט איר נעמען בילדער מיט דעם שטעקן. מאל איר וועט האָבן צו יאָגן זיי אַראָפּ. מיסטאָמע עטלעכע פון ​​זיי וועלן פּרובירן צו לויפן אַוועק פון איר. איר נעמען בילדער מיט זיי. דאס איז אָנגאָינג. עס ס נישט רעכט ווען דער פּסעט איז רעכט. דער טערמין וועט זייַן מודיע אין די ספּעק. דעריבער אינאיינעם מיט אייער אָפּטיילונג, וועלכער אָפּטיילונג נעמט די רובֿ בילדער מיט די מערסט שטעקן מיטגלידער וועט געווינען אַ שיין אָסאַם פרייז. אַז ס מין פון ינסעניוו צו באַקומען אייער פּסעט4 פאַרטיק ווי געשווינד ווי מעגלעך ווייַל דעמאָלט איר קענען באַקומען אַראָפּ צו געשעפט גייעג אַראָפּ אַלע די פאַרשידענע קס50 שטעקן מיטגלידער. אַז ס 'נישט מאַנדאַטאָרי, כאָטש, אַזוי אַמאָל איר באַקומען די בילדער, דעמאָלט איר זענען פאַרטיק מיט פּסעט4. און איך בין פאַרטיק מיט וואַלקטהראָוגה 4, אַזוי דאנק איר אַלע פֿאַר קומען. גוט גליק מיט פאָרענסיקס. [אַפּלאָדיסמענטן] [CS50.TV]