1 00:00:00,000 --> 00:00:01,500 >> [השמעת מוסיקה] 2 00:00:01,500 --> 00:00:11,000 3 00:00:11,000 --> 00:00:16,110 >> DAVID Malan: בסדר זה CS50 וזה הסוף של שבוע אחד. 4 00:00:16,110 --> 00:00:20,760 אז אני רוצה להציג את שלי לשעבר advisee, Andel דאף, שלא רק עושה 5 00:00:20,760 --> 00:00:25,460 iPhone 5 עומד גם כן, כמו זה דוכן, הוא גם עושה את המכוניות. 6 00:00:25,460 --> 00:00:27,927 7 00:00:27,927 --> 00:00:29,510 אנסל DUFF: איך זה הולך, כולם? 8 00:00:29,510 --> 00:00:31,980 אני רק רוצה לספר לכם קצת קצת על פורמולה SAE, מהם אני 9 00:00:31,980 --> 00:00:32,604 אני הקפטן. 10 00:00:32,604 --> 00:00:33,437 זה צוות של MIT. 11 00:00:33,437 --> 00:00:35,520 אני רק רוצה להגיד לך החבר 'ה קצת על זה 12 00:00:35,520 --> 00:00:37,520 ואנו מקווים ליצור קצת עניין. 13 00:00:37,520 --> 00:00:41,590 >> אז תן לי רק לרוץ דרך כמה דברים על הקבוצה שלנו. 14 00:00:41,590 --> 00:00:43,640 אז אנחנו לחלוטין ריצת סטודנט, שבו כל 15 00:00:43,640 --> 00:00:47,300 של עיצוב החברים, לדמות, מבחן, ויצרן משנה 16 00:00:47,300 --> 00:00:48,090 של המכונית. 17 00:00:48,090 --> 00:00:51,240 יש לנו מכונת החנות שלנו ומוסכים, וN52-- או מצטער, 18 00:00:51,240 --> 00:00:54,140 N51-- שנמצא באותו הבניין כMIT מוזיאון המדע. 19 00:00:54,140 --> 00:00:55,990 ואנחנו האנשים המניע את המכונית. 20 00:00:55,990 --> 00:00:58,340 יש תחרות ארצית בתחילת הקיץ, 21 00:00:58,340 --> 00:01:01,215 ואז יש קרב יריות קטנות יותר תחרויות לאורך כל השנה. 22 00:01:01,215 --> 00:01:04,400 ואז אנחנו עושים אימוני נהג ימים כדי לקבל חברים חדשים להכיר. 23 00:01:04,400 --> 00:01:08,280 >> הימים לבנות שלנו הם על שבת 11:00-20:00. 24 00:01:08,280 --> 00:01:11,060 ארוחות צהריים וערב מטפלים של, מBertucci של וBeantown 25 00:01:11,060 --> 00:01:12,130 בהתאמה. 26 00:01:12,130 --> 00:01:15,260 יש לנו פגישה שבועית ו סמינר, שהוא לאשראי כמובן. 27 00:01:15,260 --> 00:01:18,560 שהיא חדשה כשל הסמסטר הזה, ו זה יהיה גם לסמסטר הבא, 28 00:01:18,560 --> 00:01:19,940 כך שאתה יכול לחצות-reg בשביל זה. 29 00:01:19,940 --> 00:01:22,960 ולאחר מכן יש לנו עיצוב, חנות, וימי CAD במהלך השבוע, 30 00:01:22,960 --> 00:01:26,870 ואילו חברים באופן עצמאי יהיו חלקי CAD, המניה כדי וכולי. 31 00:01:26,870 --> 00:01:29,200 >> אז לחשמלי הנדסה בצוות 32 00:01:29,200 --> 00:01:31,110 יש לנו המשיכה שלנו, מערכת מתח גבוה, 33 00:01:31,110 --> 00:01:33,390 אשר פועל בנומינלי 300 וולט, הכולל 34 00:01:33,390 --> 00:01:35,360 מנועים, בקרי מנוע, ומארזי סוללות. 35 00:01:35,360 --> 00:01:37,235 אז יש לנו נמוך מערכת מתח, אשר פועלת 36 00:01:37,235 --> 00:01:40,180 ב12 וולט, הכולל פקדים, יכולים צומת, המוח 37 00:01:40,180 --> 00:01:41,570 תיבה, ולוח המחוונים. 38 00:01:41,570 --> 00:01:43,890 ככל CS הולך, אנחנו עושים יש לי תחזוקת אתר 39 00:01:43,890 --> 00:01:47,940 שאנחנו צריכים לעשות לאירועים, חברות שינויים, תמונות חדשות, וחומר הסברה. 40 00:01:47,940 --> 00:01:51,540 ולאחר מכן יש לנו קוד ששולט מכונית לבקרת משיכה, ההשקה שלנו 41 00:01:51,540 --> 00:01:55,750 שליטה, שליטת מקף, vectoring מומנט, ומערכות בלימת רגנרטיבית, ש 42 00:01:55,750 --> 00:01:59,170 לרוץ בדרך כלל בMATLAB, Simulink, וLabView. 43 00:01:59,170 --> 00:02:00,910 >> אני אגיד לך קצת על המכונית. 44 00:02:00,910 --> 00:02:02,470 אז זה כ -500 ק"ג. 45 00:02:02,470 --> 00:02:04,285 זה כללים מוגבלים ל85 קילוואט. 46 00:02:04,285 --> 00:02:08,310 יש לו 2 207 מנועים EMRAX ב בחזרה, אחד לכל גלגל אחורי. 47 00:02:08,310 --> 00:02:11,880 יש לו סוללה חבילות שהותקן מתאי נרתיק A123 מנסרתיים, 48 00:02:11,880 --> 00:02:14,780 בהיקף של 300 וולט ו 5.6 קילוואט. 49 00:02:14,780 --> 00:02:17,950 וזה כונן ישיר עם יחס 2.64-1 כונן. 50 00:02:17,950 --> 00:02:20,970 הנה כמה תמונות ש לקח ממנו בתחרות. 51 00:02:20,970 --> 00:02:25,820 הנה קונוס גב, האף, וכאן הם מנועים, 52 00:02:25,820 --> 00:02:29,682 הדיסקים שחורים הגדולים האלה מתחת et mens manus. 53 00:02:29,682 --> 00:02:32,140 הנה שקופית שמשכתי מתוך תכנית התחרות שלנו. 54 00:02:32,140 --> 00:02:35,389 וזו רק השוואת המכונית שלנו ל כמה מכוניות זמינות מסחרי, 55 00:02:35,389 --> 00:02:38,380 כמו KTM XBOW, אריאל Atom, וCaterha M 7-280. 56 00:02:38,380 --> 00:02:42,110 אם אתה מכיר עם מחיר, כוח למשוך במשקל, דולרים לכוחות סוס, 57 00:02:42,110 --> 00:02:44,930 דולרים למומנט, והמכונית שלנו מפוצץ את כולם מחוץ למים. 58 00:02:44,930 --> 00:02:47,520 אם יש לך שאלות, לרשום כתובת דוא"ל זו. 59 00:02:47,520 --> 00:02:50,800 לירות לנו דוא"ל בfsae@mit.edu. 60 00:02:50,800 --> 00:02:53,350 >> אנו שמחים לדבר על כל דבר שאתה רוצה. 61 00:02:53,350 --> 00:02:55,600 הסטודנטים באוניברסיטת הרווארד הם סוג של המיעוט בקבוצה. 62 00:02:55,600 --> 00:02:58,350 אם יש לך שאלות כלשהן על שיעשה בבקשה לירות לנו דוא"ל, 63 00:02:58,350 --> 00:03:00,810 שמח לדבר, ואני הולך כדי לחזור חזרה אל דוד. 64 00:03:00,810 --> 00:03:01,550 תודה. 65 00:03:01,550 --> 00:03:02,466 אני מעריך את זה, חבר 'ה. 66 00:03:02,466 --> 00:03:03,615 [מחיאות כפות] 67 00:03:03,615 --> 00:03:07,080 68 00:03:07,080 --> 00:03:10,980 >> DAVID Malan: אנסל בילה את הקיץ לעבוד איתנו כאן בקמפוס בCS50 69 00:03:10,980 --> 00:03:11,480 בקיץ הזה. 70 00:03:11,480 --> 00:03:13,505 ובנוסף לעבודה על דברים כמו הנורות בינארי, 71 00:03:13,505 --> 00:03:16,090 הוא ממש ממש נפתח eyes-- ושלי בparticular-- 72 00:03:16,090 --> 00:03:20,535 למה שבאמת הצומת של לא של חומרה ותוכנה יכול להיות. 73 00:03:20,535 --> 00:03:23,410 למעשה הרבה דברים שהוא פשוט סיירתי אותך בסופו של דבר הם 74 00:03:23,410 --> 00:03:26,030 נוצר לראשונה בתוכנה, ולאחר מכן מפוברק סופו של דבר 75 00:03:26,030 --> 00:03:27,299 בעולם האמיתי בחומרה. 76 00:03:27,299 --> 00:03:29,590 אז אם אתה מעוניין ב לחקור צומת ש, 77 00:03:29,590 --> 00:03:31,430 אולי לקחת את הקבוצה. 78 00:03:31,430 --> 00:03:34,140 >> עכשיו בינתיים, אלו מכם מי הם אוהדים של טכנולוגיה, 79 00:03:34,140 --> 00:03:36,140 ומוצרי אפל ב יודעים בפרט שיש 80 00:03:36,140 --> 00:03:37,860 היה כמה הודעות אתמול. 81 00:03:37,860 --> 00:03:39,776 אבל חשבתי שכדאי להראות אתה אחד שיצא 82 00:03:39,776 --> 00:03:43,590 כמה ימים לפני ש ייתכן שלא ראה. 83 00:03:43,590 --> 00:03:46,150 >> יורגן EGHAMMER: אתה יודע, פעם אחת במשהו לזמן מה 84 00:03:46,150 --> 00:03:49,540 מגיע יחד ש משנה את הדרך בה אנו חיים. 85 00:03:49,540 --> 00:03:53,479 מכשיר כל כך פשוט ואינטואיטיבי באמצעות זה מרגיש כמעט מוכר. 86 00:03:53,479 --> 00:03:59,710 87 00:03:59,710 --> 00:04:04,138 היכרות 2,015 קטלוג איקאה. 88 00:04:04,138 --> 00:04:10,420 זה לא ספר דיגיטלי או ספר אלקטרוני, זה ספר ספר. 89 00:04:10,420 --> 00:04:14,440 >> הדבר הראשון שיש לציין הוא לא כבלים, אפילו לא כבל חשמל. 90 00:04:14,440 --> 00:04:18,519 קטלוג איקאה 2,015 מגיע טעון במלואו, 91 00:04:18,519 --> 00:04:20,550 וחיי הסוללה הוא נצחיים. 92 00:04:20,550 --> 00:04:27,300 הממשק הוא 7.5 ב -8 סנטימטרים, אבל יכול להרחיב ל15 ב -8 סנטימטרים. 93 00:04:27,300 --> 00:04:32,410 הניווט מבוסס על מישוש מגע טכנולוגיה שאתה יכול ממש להרגיש. 94 00:04:32,410 --> 00:04:37,120 >> תוכן מגיע מותקן מראש באמצעות 328 דפים בחדות גבוהה 95 00:04:37,120 --> 00:04:40,180 של רעיונות מעוררי השראה ריהוט הבית. 96 00:04:40,180 --> 00:04:43,740 כדי להתחיל לגלוש, פשוט לגעת ולגרור. 97 00:04:43,740 --> 00:04:50,870 מימין לשמאל כדי לנוע קדימה, משמאל לימין כדי להזיז לאחור. 98 00:04:50,870 --> 00:04:52,770 >> שים לב למשהו אחר? 99 00:04:52,770 --> 00:04:53,780 זה נכון. 100 00:04:53,780 --> 00:04:55,190 אין פיגור. 101 00:04:55,190 --> 00:04:58,400 כל עמוד צלול עומסים באופן מיידי, 102 00:04:58,400 --> 00:05:00,586 לא משנה כמה מהר אתה לגלול. 103 00:05:00,586 --> 00:05:03,710 אם אתה רוצה לקבל סקירה מהירה, רק להחזיק אותו בכף היד שלך, 104 00:05:03,710 --> 00:05:06,816 ורק באמצעות האגודל שלך, מהירות גלישה בתוכן. 105 00:05:06,816 --> 00:05:10,930 >> אם אתה מוצא משהו שאתה רוצה לשמור למועד מאוחר יותר, אתה יכול פשוט לסמן אותו. 106 00:05:10,930 --> 00:05:17,620 וגם אם אתה סוגר את היישום, אתה יכול למצוא בקלות את הסימנייה שוב. 107 00:05:17,620 --> 00:05:18,490 מדהים. 108 00:05:18,490 --> 00:05:20,434 >> [שחוק] 109 00:05:20,434 --> 00:05:21,406 [מחיאות כפות] 110 00:05:21,406 --> 00:05:26,760 111 00:05:26,760 --> 00:05:29,870 אז זה מביא אותנו ל סוף השבוע אחד. 112 00:05:29,870 --> 00:05:31,760 כמה הודעות עכשיו. 113 00:05:31,760 --> 00:05:33,440 אז חתך כרגע הוא בתהליך. 114 00:05:33,440 --> 00:05:36,860 עבור אל כתובת האתר כאן מתישהו בין עכשיו ויום שישי בצהריים 115 00:05:36,860 --> 00:05:39,960 כדי לציין למעשה אם אתה בין אלה פחות נוחים, יותר 116 00:05:39,960 --> 00:05:41,690 נוח, או איפשהו באמצע. 117 00:05:41,690 --> 00:05:44,511 >> זה בדרך כלל אחד מאותם דברים שאתה פשוט סוג של יודע. 118 00:05:44,511 --> 00:05:47,510 ולמעשה אלו מכם שפחות נוח כנראה יודעים כל כך הרבה, 119 00:05:47,510 --> 00:05:49,634 אלו מכם שהם יותר נוח יודע כל כך הרבה, 120 00:05:49,634 --> 00:05:54,960 ושוב, אם אתה לא בטוח ש של דליים אלה שאתה נופל לתוך אתה 121 00:05:54,960 --> 00:05:56,210 כנראה איפשהו באמצע. 122 00:05:56,210 --> 00:05:59,810 אבל היה סמוך ובטוח שאתה יכול להחליף לאחר כמה שבועות, אם יהיה בכך צורך. 123 00:05:59,810 --> 00:06:02,620 >> בינתיים, בשבוע הקרוב לא יתחילו סעיפים כשלעצמם, 124 00:06:02,620 --> 00:06:04,760 אבל קטעים סופר, ש פתוחים לכל התלמידים. 125 00:06:04,760 --> 00:06:08,220 זה ביום ראשון הקרוב במיקום ל יוכרז באתר הקורס 126 00:06:08,220 --> 00:06:10,190 תהיה לנו אחד ל אלה פחות נוחים, 127 00:06:10,190 --> 00:06:12,470 כמו גם אחד עבור אלה נוחים יותר. 128 00:06:12,470 --> 00:06:15,460 ואלה איפשהו באמצע יכול לבחור איזו משני אלה, 129 00:06:15,460 --> 00:06:17,360 או שניהם, אם תרצה, לשבת-ב. 130 00:06:17,360 --> 00:06:19,630 והמוקד של אלה יהיה סופו של דבר על C, 131 00:06:19,630 --> 00:06:22,440 שנמשיך שיחה של היום. 132 00:06:22,440 --> 00:06:25,070 >> בעיה להגדיר 0 בינתיים היא בתקווה בידיים שלך. 133 00:06:25,070 --> 00:06:27,500 באופן רשמי מחר בשל, יום חמישי, בשעתי הצהריים. 134 00:06:27,500 --> 00:06:29,490 אלא אם כן אתה במזומן באחד 5 הימים שלך בסוף, 135 00:06:29,490 --> 00:06:31,780 שיביא אותו עד יום שישי בצהריים. 136 00:06:31,780 --> 00:06:34,420 בעיה להגדיר בינתיים 1 תהיה פורסם באתר האינטרנט של הקורס. 137 00:06:34,420 --> 00:06:37,381 וזה יהיה ראשון שלנו פשיטה כתובענה לג 138 00:06:37,381 --> 00:06:40,630 ושמפרט הבעיה להגדיר ינחה אותך דרך הרבה מכניקה של מה 139 00:06:40,630 --> 00:06:43,960 התחלנו לדבר על יום שני, ואנחנו נמשיך לדבר על היום. 140 00:06:43,960 --> 00:06:46,770 C, Linux, CS50 מכשיר, כל ש 141 00:06:46,770 --> 00:06:48,990 יחכה לכם במפרט. 142 00:06:48,990 --> 00:06:52,840 >> שעות פעילות משרד הן בינתיים בהתקדמות, בחדר האוכל לתואר הראשון. 143 00:06:52,840 --> 00:06:56,240 ראש לכתובת אתר זו כאן כדי לראות לתזמן להערב ומחר, 144 00:06:56,240 --> 00:06:57,930 אם ברצונכם לקחת חלק. 145 00:06:57,930 --> 00:07:01,920 שאלות בינתיים, כך שאתה יש לי הזדמנויות לשאול שאלות 146 00:07:01,920 --> 00:07:05,860 באופן אסינכרוני, 24/7, מבין שאתה לא מוגבל לסעיפים ומשרד 147 00:07:05,860 --> 00:07:09,530 שעות, אלא בכלי זה כאן, CS50 דיון בכתובת האתר ש 148 00:07:09,530 --> 00:07:12,150 יהיה מקוון של הקורס תוכנת לוח מודעות, שדרכו 149 00:07:12,150 --> 00:07:15,030 אתה יכול לשאול את השאלות של חבריו לכיתה וגם צוות. 150 00:07:15,030 --> 00:07:18,492 אז לזכור משאב זה גם כן. 151 00:07:18,492 --> 00:07:20,200 בינתיים מסורת מתחיל ביום שישי הקרוב. 152 00:07:20,200 --> 00:07:23,200 כפי שאולי הבחין בם מן וידאו טיזר של יום רביעי שעבר, 153 00:07:23,200 --> 00:07:25,510 יש לנו מסורת ביותר בכל יום שישי בתקופת כהונתו 154 00:07:25,510 --> 00:07:28,750 לקחת כמה 50 תלמידים ו צוות למסעדה מקומית בשם 155 00:07:28,750 --> 00:07:31,510 אש וקרח, שבו אנו נמצאים הצטרף בדרך כלל על ידי כמה בוגרים 156 00:07:31,510 --> 00:07:33,850 או חברים מתעשייה לבדרך כלל שואפים 157 00:07:33,850 --> 00:07:35,780 כדי להפוך את כיתה גדולה מרגישה קטנה יותר. 158 00:07:35,780 --> 00:07:37,560 אז זה ארוחת צהריים מזדמנים לחלוטין. 159 00:07:37,560 --> 00:07:40,160 חבורה שלנו, צוות במיוחד, ישחק כיסאות מוזיקליים 160 00:07:40,160 --> 00:07:43,360 ולשוחח עם תלמידים על 50, חיים מחוץ ל50, 161 00:07:43,360 --> 00:07:46,510 חיים בעתיד, בעולם האמיתי, על הזדמנויות עבודה אני מדבר 162 00:07:46,510 --> 00:07:47,680 עם חברים בתעשייה. 163 00:07:47,680 --> 00:07:51,110 >> אז אם אתה רוצה להצטרף אלינו ביום שישי הקרוב, הראש לכתובת אתר זו כאן. 164 00:07:51,110 --> 00:07:54,180 מספר המקומות מוגבל, אבל אנחנו נעשה את זה recurringly לאורך הטווח. 165 00:07:54,180 --> 00:07:57,380 הראש יש לcs50.harvard.edu/rsvp. 166 00:07:57,380 --> 00:07:59,380 ואם אתה לא מקבל ב הפעם, לא לדאוג. 167 00:07:59,380 --> 00:08:02,390 אנחנו נעשה את זה שוב ב בשבועות הקרובים גם כן. 168 00:08:02,390 --> 00:08:05,434 >> אז זה התמונה צבענו בשבוע שעבר, 169 00:08:05,434 --> 00:08:07,350 ויש לך כנראה היה מתעסק בעד כה. 170 00:08:07,350 --> 00:08:10,360 אבל בואו ננסה להתחבר זה עכשיו למה שאנחנו הולכים לעשות היום 171 00:08:10,360 --> 00:08:11,440 ואילך. 172 00:08:11,440 --> 00:08:14,760 האם אני יכול לקבל מתנדב אחד? 173 00:08:14,760 --> 00:08:16,000 בסדר, או כמה. 174 00:08:16,000 --> 00:08:18,460 מה דעתך על כאן על הסוף, בחולצה הכחולה. 175 00:08:18,460 --> 00:08:20,329 בואו למעלה, מה השם שלך? 176 00:08:20,329 --> 00:08:20,870 ALANA: אלאנה. 177 00:08:20,870 --> 00:08:21,661 DAVID Malan: אלאנה. 178 00:08:21,661 --> 00:08:25,100 אז אלאנה, רק moment-- נחמד לפגוש את you-- 179 00:08:25,100 --> 00:08:28,260 הוא הולך לשחק את התפקיד של פונקציה זו כאן. 180 00:08:28,260 --> 00:08:31,290 הבלוק הסגול יש לנו נקרא עד כה פונקציה. 181 00:08:31,290 --> 00:08:34,830 אז מה שאני מתכוון ללכת קדימה כאן ולהציע אלאנה 182 00:08:34,830 --> 00:08:38,380 הוא מעט תג שם, כדי להפוך את ברור מה התפקיד שאתה משחק. 183 00:08:38,380 --> 00:08:39,753 >> אז אתה יהיה הבלוק למשל. 184 00:08:39,753 --> 00:08:41,419 אם אתה רוצה ללכת קדימה ולשים את זה על. 185 00:08:41,419 --> 00:08:43,169 ואנחנו הולכים לשמור את זה פשוט סופר. 186 00:08:43,169 --> 00:08:46,180 אם המטרה בהישג היד היא פשוט עכשיו ליישם עם אלאנה, 187 00:08:46,180 --> 00:08:49,710 זה מה שנקרא אומר בלוק, הנה איך זה הולך לעבוד. 188 00:08:49,710 --> 00:08:52,574 אני have-- בוא נקראים לזה טיעון או פרמטר, 189 00:08:52,574 --> 00:08:54,240 זה באמת רק גיליון נייר ריק. 190 00:08:54,240 --> 00:08:57,239 וזה לבן כדי להיות סוג של מזכיר של הקופסה הלבנה שלתוכו אתה 191 00:08:57,239 --> 00:08:58,080 יכול לכתוב מילות. 192 00:08:58,080 --> 00:09:00,660 >> בינתיים אני הולך ללכת כאן. 193 00:09:00,660 --> 00:09:06,560 אני הולך קדימה, לכתוב H-E-L-L-O פסיק עולם. 194 00:09:06,560 --> 00:09:09,972 ועכשיו אני, כמו אומר מתכנת, לא ממש יודע איך לומר משהו. 195 00:09:09,972 --> 00:09:12,180 אני יכול לבוא עם המילים, אבל אני לא בהכרח 196 00:09:12,180 --> 00:09:15,220 יודע איך לבטא את עצמי מילולי או על המסך. 197 00:09:15,220 --> 00:09:17,280 ואז מה אני הולך לעשות הוא לקחת את הקטע הזה 198 00:09:17,280 --> 00:09:21,157 פונקציונאלית, שinput-- או טענה, כפי שאנו קוראים לזה, 199 00:09:21,157 --> 00:09:23,990 שכתבתי על פיסת paper-- זה ואני הולך למיקור חוץ את זה. 200 00:09:23,990 --> 00:09:26,831 >> ואכן זה התפקיד ש פונקציות בשפת תכנות 201 00:09:26,831 --> 00:09:27,330 יכול לשחק. 202 00:09:27,330 --> 00:09:29,246 משהו כמו למשל בלוק יכול להיות במיקור חוץ 203 00:09:29,246 --> 00:09:32,074 למי שבאמת יודע מה שהיא או שהוא מדבר על. 204 00:09:32,074 --> 00:09:33,990 אז אם אתה דורך על כאן רק לרגע, 205 00:09:33,990 --> 00:09:40,092 אני הולך לעבור קלט זה כדי אלאנה, ומבקשת ממך לומר קלט זה. 206 00:09:40,092 --> 00:09:41,202 >> ALANA: שלום, עולם. 207 00:09:41,202 --> 00:09:42,160 DAVID Malan: זהו זה. 208 00:09:42,160 --> 00:09:43,326 כך שיש פונקציה. 209 00:09:43,326 --> 00:09:46,556 עכשיו אנחנו יכולים לקחת את זה קצת יותר, אנחנו יכולים לקחת צעד קדימה כאן. 210 00:09:46,556 --> 00:09:48,180 מכיוון שהיה ברור שהן משעממות. 211 00:09:48,180 --> 00:09:51,670 אז בואו עכשיו להמיר את זה ל משהו קצת יותר מתוחכם. 212 00:09:51,670 --> 00:09:53,630 >> אז זה כמובן הוא גרסת C שלנו. 213 00:09:53,630 --> 00:09:56,760 אז עכשיו אם אתה רוצה לקחת את זה את אחד, שתג שם מ, 214 00:09:56,760 --> 00:09:58,530 ובואו יש לך לשים על שם חדש. 215 00:09:58,530 --> 00:10:00,850 אבל ביסודו אתה משחק את אותו התפקיד, 216 00:10:00,850 --> 00:10:03,400 זה פשוט כל כך קורה ל להיקרא printf עכשיו. 217 00:10:03,400 --> 00:10:06,930 >> הסיפור הוא, כמובן, הולך be-- כנראה 218 00:10:06,930 --> 00:10:09,317 בדיוק כפי שunderwhelming-- הוא הולך להיות הבא. 219 00:10:09,317 --> 00:10:10,650 כעת אתה printf הפונקציה. 220 00:10:10,650 --> 00:10:13,300 אני מתקשר, או מתכנת, מי שרוצה 221 00:10:13,300 --> 00:10:15,745 לעמוד על כתפיהם של אנשים בעבר כמוך, 222 00:10:15,745 --> 00:10:18,670 שכבר הבינו איך לבעצם לכתוב משהו למטה. 223 00:10:18,670 --> 00:10:20,650 ואז זה זמן, ולא אומר את זה בוא 224 00:10:20,650 --> 00:10:22,255 למעשה להשתמש במסך שלנו כאן. 225 00:10:22,255 --> 00:10:24,130 אז אם אתם רוצים לשלב כאן, אני הולך 226 00:10:24,130 --> 00:10:27,196 לעבור את זה שוב כ קלט לחבר printf שלי. 227 00:10:27,196 --> 00:10:29,320 אם אתה יכול ללכת קדימה ו להדפיס כי על המסך, 228 00:10:29,320 --> 00:10:31,611 פשוט על ידי ציור עם שלך אצבע על המסך השחור. 229 00:10:31,611 --> 00:10:43,680 230 00:10:43,680 --> 00:10:44,180 מצוין. 231 00:10:44,180 --> 00:10:47,350 בסדר, כל כך הרבה מתח ל איך זה הולך לשחק בחוץ. 232 00:10:47,350 --> 00:10:51,390 >> אז עכשיו בואו ניקח את דברים אחד סופי חריץ, אם היינו יכולים, באופן הבא. 233 00:10:51,390 --> 00:10:53,980 אז זה תכנית C כפי שאמרנו בפעם האחרונה. 234 00:10:53,980 --> 00:10:57,460 וזה פשוט עושה את מה שעשה, זה מדפיס למסך, שלום, העולם. 235 00:10:57,460 --> 00:11:00,290 למרות שיש באופן ברור הרבה דברים מסיחים את דעת שם למעלה. 236 00:11:00,290 --> 00:11:03,630 אבל בואו ניקח את דברים ברמה גבוהה ו להציג את הגרסה זו, שזוכרת 237 00:11:03,630 --> 00:11:06,160 הייתה הגרסה השלישית ש זה הסתיים עם זמן שעבר. 238 00:11:06,160 --> 00:11:09,120 >> ועכשיו יש באופן ברור שני שימושים של printf. 239 00:11:09,120 --> 00:11:12,280 יש 2 שיחות לאלאנה במקרה זה לprintf, 240 00:11:12,280 --> 00:11:14,740 אבל יש גם שיחה לפונקציה אחרת. 241 00:11:14,740 --> 00:11:17,150 מה הפונקציה שבבירור? 242 00:11:17,150 --> 00:11:17,650 Getstring. 243 00:11:17,650 --> 00:11:18,980 >> האם אנחנו יכולים לקבל מתנדבים יותר? 244 00:11:18,980 --> 00:11:20,980 אישור, בחייך עד. 245 00:11:20,980 --> 00:11:21,805 מה שמך? 246 00:11:21,805 --> 00:11:22,990 >> חאבייר: חבייר. 247 00:11:22,990 --> 00:11:24,750 >> DAVID Malan: חבייר, לבוא בעד. 248 00:11:24,750 --> 00:11:27,270 אז התפקיד של חוויאר הוא על זה חתיכת נייר. 249 00:11:27,270 --> 00:11:28,860 שאני הולך לקרוא בשמה הגנרי של. 250 00:11:28,860 --> 00:11:32,250 עכשיו זה משתנה, זה של מחרוזת סוג, כפי שמשתמע 251 00:11:32,250 --> 00:11:34,290 על ידי שהשורה שנייה באמצע יש. 252 00:11:34,290 --> 00:11:36,540 ואני רוצה שתלך להביא לי מחרוזת. 253 00:11:36,540 --> 00:11:40,120 באופן ספציפי את הראש למטה לתזמורת סעיף ותשיג לי את שמו של מישהו, 254 00:11:40,120 --> 00:11:43,142 ולחזור עם משתנה המכיל ערך ש. 255 00:11:43,142 --> 00:11:44,225 זה יכול להיות מי שאתה רוצה. 256 00:11:44,225 --> 00:11:47,590 257 00:11:47,590 --> 00:11:48,520 >> הנה אנחנו מתחילים. 258 00:11:48,520 --> 00:11:53,620 259 00:11:53,620 --> 00:11:55,960 בסדר, חוויאר הוא כותב את שמו. 260 00:11:55,960 --> 00:12:02,210 261 00:12:02,210 --> 00:12:03,280 בסדר. 262 00:12:03,280 --> 00:12:05,740 כולנו יכול כנראה לנחש איך זה הולך לשחק בחוץ. 263 00:12:05,740 --> 00:12:07,489 אנחנו להמשיך ולהציק אולי הנקודה של מה ש 264 00:12:07,489 --> 00:12:10,320 פונקציה היא עושה, אבל בכל זאת תודה רבה לך. 265 00:12:10,320 --> 00:12:13,890 >> אז חאבייר חזר במחרוזת זו כאן, ש, לא ממש יכול לראות, 266 00:12:13,890 --> 00:12:15,800 יהונתן הוא המחרוזת שאנחנו כבר קיבלנו. 267 00:12:15,800 --> 00:12:18,330 אז עכשיו מה שאני בעצם הולך אם כי כדי לספק לאלאנה 268 00:12:18,330 --> 00:12:20,150 הוא משהו קצת שונה. 269 00:12:20,150 --> 00:12:23,800 משום שבגרסה זו של תכנית, ראשון יש לציין את השם שלך. 270 00:12:23,800 --> 00:12:26,160 אז הטיעון הראשון אני צריך לספק אלאנה 271 00:12:26,160 --> 00:12:33,030 עם הולך להיות פשוטו כמשמעו לציין את השם שלך. 272 00:12:33,030 --> 00:12:35,280 בסדר, כל כך פשוט כמו ש אני היה נותן לך את זה. 273 00:12:35,280 --> 00:12:36,730 וכשאני כותב את הטיעון הבא, אם אתה 274 00:12:36,730 --> 00:12:39,230 רוצה ללכת קדימה ולכתוב את זה על הלוח, בואו נלך קדימה 275 00:12:39,230 --> 00:12:42,659 ולעשות את הדוגמא האחרונה כאן כדי להפוך את לנקות את מה שסופו של הדבר הגיע ליקרו. 276 00:12:42,659 --> 00:12:44,450 אז תציין את השם שלך, לכתוב אותו לכיוון החלק העליון 277 00:12:44,450 --> 00:12:47,220 אם לא אכפת לך, רק כדי ש יש לנו מקום לשורה אחת שנייה. 278 00:12:47,220 --> 00:12:52,890 כי הדבר האחרון שאני הולך כדי לספק לך עכשיו עם לא אחד, 279 00:12:52,890 --> 00:12:57,220 אבל שתי פיסות נייר. 280 00:12:57,220 --> 00:12:58,074 >> בסדר. 281 00:12:58,074 --> 00:13:01,920 H-E-L-L-O פסיק ולאחר מכן שורה ריקה. 282 00:13:01,920 --> 00:13:04,780 אז מה שאני עומד למסור אלאנה עכשיו הוא משהו קצת שונה. 283 00:13:04,780 --> 00:13:08,600 לא רק שהיא מקבלת את זה, שבו למלא את החסר מייצג 284 00:13:08,600 --> 00:13:12,050 שpercent-- מה היה מציין מיקום אנחנו כבר משתמשים? 285 00:13:12,050 --> 00:13:13,890 כן, כל כך אחוזים של. 286 00:13:13,890 --> 00:13:16,530 בינתיים אני הולך לעבור שלה בטענה שנייה, ש 287 00:13:16,530 --> 00:13:19,290 זה בדיוק מה שחאבייר שנאסף מיונתן. 288 00:13:19,290 --> 00:13:20,534 >> אז תן לי לתת לך את שני אלה. 289 00:13:20,534 --> 00:13:22,575 אם אתה רוצה, ללכת קדימה והדפסה שהשפעה. 290 00:13:22,575 --> 00:13:25,660 291 00:13:25,660 --> 00:13:28,130 מה סופו של דבר שקורה עכשיו היא, אלאנה שוב 292 00:13:28,130 --> 00:13:29,410 הוא משחק את התפקיד של printf. 293 00:13:29,410 --> 00:13:32,160 חאבייר שיחק התפקיד של GetString. 294 00:13:32,160 --> 00:13:34,700 כדי שיהיה המזכרת שלך. 295 00:13:34,700 --> 00:13:39,910 וסופו של דבר מה שקורה, למרות זה כן hello-- קדימה ופסיק. 296 00:13:39,910 --> 00:13:41,410 ALANA: האם אני מקבל עדיין או לא זה? 297 00:13:41,410 --> 00:13:43,451 DAVID Malan: כן, אתה קיבל את שניהם בבת אחת. 298 00:13:43,451 --> 00:13:45,740 אז הרעיון הוא שאתה עכשיו יכול להעיף את הדף 299 00:13:45,740 --> 00:13:50,000 כדי לטפל בשני של שתי כניסות אלה. 300 00:13:50,000 --> 00:13:53,280 אז זה רק לפטיש הבית להצביע ואילו אלאנה להורג ש 301 00:13:53,280 --> 00:13:55,830 קו ירוק זה כאן, ולאחר מכן חוויאר עשה את זה עבורנו 302 00:13:55,830 --> 00:13:57,820 ותחזור אליי משהו אנחנו קוראים לזה, אבל זה היה באמת 303 00:13:57,820 --> 00:13:59,520 רק פיסת נייר משלו. 304 00:13:59,520 --> 00:14:02,320 ועכשיו אלאנה עשתה שורה שלישית זה. 305 00:14:02,320 --> 00:14:06,010 >> ולמרות שכל זה נראה כך לא ברור מאליהם מאוד אולי 306 00:14:06,010 --> 00:14:08,870 במבט ראשון, זה באמת הוא פשוט כמו ש. 307 00:14:08,870 --> 00:14:11,390 עובר תשומות מסביב, מקבל תפוקות, או 308 00:14:11,390 --> 00:14:14,560 שהחזיר פיזי משהו, או לראות תופעת לוואי כמו זה. 309 00:14:14,560 --> 00:14:17,170 משהו מבחינה ויזואלית נכתב על המסך. 310 00:14:17,170 --> 00:14:19,990 אז בואו נלך קדימה ו תודה אלאנה וחבייר, 311 00:14:19,990 --> 00:14:25,012 מי שהיה כאן למטה, ל מצטרף אלינו לכאן. 312 00:14:25,012 --> 00:14:25,934 >> [מחיאות כפות] 313 00:14:25,934 --> 00:14:29,360 314 00:14:29,360 --> 00:14:33,480 >> אז עכשיו בואו ניקח כמובן מאליו עד כמה פשוט כל זה יכול להיות. 315 00:14:33,480 --> 00:14:36,775 ובואו להמשיך למעשה לעשות משהו בקוד עצמו. 316 00:14:36,775 --> 00:14:40,620 אז על המסך כאן הוא מסך של מכשיר CS50 מה שנקרא. 317 00:14:40,620 --> 00:14:43,980 ואם היה לך ב, כ 2:00 ביום רביעי אחר הצהריים, 318 00:14:43,980 --> 00:14:46,602 להסביר לכמה חבר מה מכשיר CS50 הוא, 319 00:14:46,602 --> 00:14:48,185 איך אתה הייתי מגדיר אותו במשפט? 320 00:14:48,185 --> 00:14:52,160 321 00:14:52,160 --> 00:14:53,240 כל משפט אחד? 322 00:14:53,240 --> 00:14:54,876 כן? 323 00:14:54,876 --> 00:14:57,334 סטודנט: זה כמו תכנית זה עושה את המחשב של כולם 324 00:14:57,334 --> 00:14:58,460 לרוץ עם אותה המערכת. 325 00:14:58,460 --> 00:14:59,210 DAVID Malan: טוב! 326 00:14:59,210 --> 00:15:02,810 מדוברים בתכנית המאפשרת לכולם מחשב לפעול עם אותה המערכת. 327 00:15:02,810 --> 00:15:04,920 זה סוג של משלך עותק של הפעלה 328 00:15:04,920 --> 00:15:07,540 מערכת שקורה לי ייקרא אובונטו לינוקס. 329 00:15:07,540 --> 00:15:11,070 והיא פועלת ביעילות בתוך חלון על מק שלך או במחשב אישי, 330 00:15:11,070 --> 00:15:15,080 כך שזה דרך נכונה מחוץ לשער בשבוע 1, כולם כאן בכיתה 331 00:15:15,080 --> 00:15:17,590 יש לו גישה לאותם כלים, אותה התצורה, 332 00:15:17,590 --> 00:15:21,250 ואין ספציפי עקומה למידה לMac או מחשב אישי בפרט. 333 00:15:21,250 --> 00:15:25,620 >> עכשיו אנחנו נפתחתי, בתוך CS50 מכשיר ביום שני, בתכנית זו כאן. 334 00:15:25,620 --> 00:15:27,040 זה קורה להיקרא gedit. 335 00:15:27,040 --> 00:15:29,050 אבל זה באמת רק עורך גרפי. 336 00:15:29,050 --> 00:15:33,170 זה משהו כמו פנקס רשימות או טקסט ערוך על Windows או Mac OS, בהתאמה. 337 00:15:33,170 --> 00:15:36,720 ואני הצעתי שהיו באמת שלושה חלקים חשובים במסך זה. 338 00:15:36,720 --> 00:15:39,560 הצד העליון שבו אתה תכתוב את הקוד שלך. 339 00:15:39,560 --> 00:15:44,080 וזה שבו אנחנו מבלים הרבה משלנו שלוש דוגמאות בהרצאה של יום שני. 340 00:15:44,080 --> 00:15:47,650 התחתון אנו נקראים מה, החלון השחור הזה, כן? 341 00:15:47,650 --> 00:15:48,640 >> סטודנט: מהדר? 342 00:15:48,640 --> 00:15:51,500 >> DAVID Malan: אנחנו מהדר גישה בדרך של חלון ש. 343 00:15:51,500 --> 00:15:53,040 אבל באופן כללי יותר. 344 00:15:53,040 --> 00:15:54,540 כן, זה היה רק ​​חלון מסוף. 345 00:15:54,540 --> 00:15:57,780 זהו טווח גיל ישן שרק מתאר בעצם מצמוץ 346 00:15:57,780 --> 00:16:01,910 הפקודה, שהשנים השתמשו לפני להיות על אחד מהצגים הגדולים בסגנון CRT אלה. 347 00:16:01,910 --> 00:16:04,300 אבל בימינו זה מעין וירטואלי בתוכנה. 348 00:16:04,300 --> 00:16:06,710 וחלונות המסוף בואו לנו להקליד פקודות. 349 00:16:06,710 --> 00:16:11,750 זה סוג של הגרסה הפשוטה יותר של ממשק המשתמש או ממשק המשתמש. 350 00:16:11,750 --> 00:16:14,060 זה לא גרפי ממשק משתמש או GUI, 351 00:16:14,060 --> 00:16:17,250 זה ממשק מבוסס טקסט או ממשק שורת הפקודה. 352 00:16:17,250 --> 00:16:20,770 >> ואכן זה המקום שבי סופו של דבר הייתי מסוגל לכתוב קצת קוד. 353 00:16:20,770 --> 00:16:24,200 ברגע שכתבתי קצת קוד אם כי, זוכר שהייתי בפקודה זו. 354 00:16:24,200 --> 00:16:26,210 וכפי שהוא שם סוג של מציע, זה 355 00:16:26,210 --> 00:16:29,860 מאפשר לי לעשות תכנית בשם שלום. 356 00:16:29,860 --> 00:16:33,400 אבל מה זה באמת עושה? 357 00:16:33,400 --> 00:16:36,180 ובכן האיפור היה לוקח שלי קלט, קוד המקור שלי, 358 00:16:36,180 --> 00:16:39,380 והמרת אותו למה, סופו של דבר? 359 00:16:39,380 --> 00:16:40,060 >> קוד אובייקט. 360 00:16:40,060 --> 00:16:42,790 וקוד אובייקט הוא רק אשליה דרך לומר אפסים ואחדים. 361 00:16:42,790 --> 00:16:46,420 ואז ברגע שאני רוצה לרוץ כי קוד אובייקט, 362 00:16:46,420 --> 00:16:50,940 פעם אחת רציתי לעבור כקלט אלה אפסים ואחדים למחשב שלי 363 00:16:50,940 --> 00:16:54,430 המוח, המעבד שנקרא או יחידת עיבוד מרכזית, 364 00:16:54,430 --> 00:16:55,730 הייתי צריך להפעיל את התכנית. 365 00:16:55,730 --> 00:16:59,042 אבל זה לא היה די פשוט ביום שני כרק לחיצה כפולה על סמל מסוים. 366 00:16:59,042 --> 00:17:01,375 מה במקום שיש לי ל לעשות כדי להפעיל תכנית? 367 00:17:01,375 --> 00:17:04,130 368 00:17:04,130 --> 00:17:07,890 >> מה זה הייתה הפקודה שנייה? 369 00:17:07,890 --> 00:17:09,619 אני שומע קצת נטוי? 370 00:17:09,619 --> 00:17:10,544 כן, כן? 371 00:17:10,544 --> 00:17:12,474 >> סטודנט: דוט סלאש שמו של התכנית. 372 00:17:12,474 --> 00:17:13,349 DAVID Malan: בדיוק. 373 00:17:13,349 --> 00:17:15,030 דוט סלאש שם של התכנית. 374 00:17:15,030 --> 00:17:16,210 עכשיו מה זה אומר? 375 00:17:16,210 --> 00:17:19,470 ובכן הנקודה היא רק דרך מסתורית לומר ספרייה נוכחית. 376 00:17:19,470 --> 00:17:23,440 לא משנה מה תיקייה שנמצא בהוא הפניה כ, מיוצג כנקודה. 377 00:17:23,440 --> 00:17:26,680 הקו הנטוי הוא בדיוק מה שראית בMac OS ושל Windows במשך שנים, 378 00:17:26,680 --> 00:17:30,329 זה מפריד בין ספרייה או תיקייה ושאר כמה שם. 379 00:17:30,329 --> 00:17:32,620 בWindows זה קורה ללכת לאחור, בלינוקס ומק 380 00:17:32,620 --> 00:17:34,210 מערכת הפעלה זה קורה ללכת קדימה. 381 00:17:34,210 --> 00:17:37,560 אבל זה רק המפריד, כך שזה רק פרט תחבירי לא מעניין. 382 00:17:37,560 --> 00:17:40,440 >> החלק העסיסי של קורס הוא השם של התכנית, שלום. 383 00:17:40,440 --> 00:17:42,650 וזה מה שהופך אותו יצר למעננו. 384 00:17:42,650 --> 00:17:44,910 זה ישודר קובץ שעבורנו. 385 00:17:44,910 --> 00:17:46,700 אבל איך הגיע לנקודה ש? 386 00:17:46,700 --> 00:17:48,870 עכשיו בואו תשאלו את שאלה, מה היה באמת 387 00:17:48,870 --> 00:17:52,470 קורה כאן, לפחות עם ביחס לחלק מתחביר זה? 388 00:17:52,470 --> 00:17:57,000 >> אז במשפט או כך, איך אנחנו מסבירים שם 389 00:17:57,000 --> 00:17:59,020 שורה הראשונה זה זה מסומן בירוק? 390 00:17:59,020 --> 00:18:02,998 מה זה היה השורה הראשונה עושה, ביחס לתכנית שלי? 391 00:18:02,998 --> 00:18:03,974 כן? 392 00:18:03,974 --> 00:18:05,067 >> סטודנט: [לא ברור]. 393 00:18:05,067 --> 00:18:06,150 DAVID Malan: תגיד את זה שוב? 394 00:18:06,150 --> 00:18:08,734 סטודנט: כולל והורדה הפונקציות האחרונות [לא ברור]. 395 00:18:08,734 --> 00:18:09,483 DAVID Malan: טוב. 396 00:18:09,483 --> 00:18:11,900 כולל, אני לא אגיד הורדה, אבל בואו נגיד ש 397 00:18:11,900 --> 00:18:15,500 אנשים כוללים פונקציות ש כתב בעבר. 398 00:18:15,500 --> 00:18:18,260 ופונקציות אלה מיושמות אי שם במחשב שלי. 399 00:18:18,260 --> 00:18:20,470 מישהו כתב קובץ לפני שנים, ושקובץ 400 00:18:20,470 --> 00:18:23,490 הוא אי שם בתוך CS50 מכשיר, או על הכונן הקשיח שלי 401 00:18:23,490 --> 00:18:24,480 באופן כללי יותר. 402 00:18:24,480 --> 00:18:27,810 וכך הקו הזה אומר בעצם, ללכת למצוא את הקובץ, אני סטנדרטי / נקודת O 403 00:18:27,810 --> 00:18:31,740 h, ולהעתיק ולהדביק את התוכן שלה ממש כאן בחלק העליון של התיק שלי 404 00:18:31,740 --> 00:18:33,860 כך שאין לי ל לעשות את זה באופן ידני את עצמי. 405 00:18:33,860 --> 00:18:40,970 >> ובין החתיכות העסיסיות ביותר בתוך הקובץ שטענו היה מה פונקציה? 406 00:18:40,970 --> 00:18:45,740 מה פונקציה שאנחנו אומרים הוכרזו או מוזכר באני סטנדרטי / h הנקודה O 407 00:18:45,740 --> 00:18:47,120 רוב? סביר 408 00:18:47,120 --> 00:18:47,900 Printf, נכון? 409 00:18:47,900 --> 00:18:50,797 לא אנחנו כתבנו את printf על יום שני, זה פשוט קיים. 410 00:18:50,797 --> 00:18:52,880 בדומה אלאנה באה רק על במה והיא פשוט 411 00:18:52,880 --> 00:18:55,540 קיים וידע איך לצייר משהו על המסך, 412 00:18:55,540 --> 00:18:58,660 כך אין printf קיים במשך שנים רבות. 413 00:18:58,660 --> 00:19:00,240 ואז זה איך אנחנו לגשת אליו. 414 00:19:00,240 --> 00:19:03,280 עכשיו, אם אנחנו עוברים כאן, עיקרי היו שאנחנו דומים 415 00:19:03,280 --> 00:19:06,620 אמר לפיסת הפאזל נקרא כאשר הדגל ירוק לחץ 416 00:19:06,620 --> 00:19:07,620 בעולם של גרד. 417 00:19:07,620 --> 00:19:10,130 זה פשוט סוג של שם ברירת מחדל שבני אדם 418 00:19:10,130 --> 00:19:13,340 החליט ייצג את ברירת מחדל נקודת כניסה לתכנית. 419 00:19:13,340 --> 00:19:16,540 הנתח של קוד תכנות שמקבל להורג ראשון. 420 00:19:16,540 --> 00:19:19,700 >> בינתיים סוגריים המסולסלים אלה כמו סוג של הצורה המעוגלת 421 00:19:19,700 --> 00:19:21,410 של הרבה חתיכות צהובות שריטה אלה. 422 00:19:21,410 --> 00:19:24,860 הם סוג של לתמצת כל חבורה של הוראות יחד. 423 00:19:24,860 --> 00:19:28,350 אז זה פשוט סוג של נקשר יחד חלק מהפונקציונליות נלווה. 424 00:19:28,350 --> 00:19:33,750 printf כמובן הוא פונקציה ש מדפיס את המסך, כפי שאנו רק עשינו. 425 00:19:33,750 --> 00:19:35,190 >> מה לגבי הסוגריים האלה? 426 00:19:35,190 --> 00:19:38,770 איך היית define-- גם אם יש לך אף פעם לא מתוכנת לפני, אבל רק על סמך 427 00:19:38,770 --> 00:19:41,320 עכשיו בהגדלה אינטואיציה בתקווה, מה ש 428 00:19:41,320 --> 00:19:43,290 הם הסוגריים עושים לנו כאן? 429 00:19:43,290 --> 00:19:45,450 או את מה שהם מקיפים? 430 00:19:45,450 --> 00:19:46,360 כן? 431 00:19:46,360 --> 00:19:49,360 >> סטודנט: הם אומרים מה ש אתה הולך להדפיס עם printf. 432 00:19:49,360 --> 00:19:52,401 >> DAVID Malan: כן, הם אומרים את מה ש אתה הולך להדפיס עם printf. 433 00:19:52,401 --> 00:19:56,260 או באופן כללי יותר, הם המקיף את התשומות לפונקציה. 434 00:19:56,260 --> 00:19:58,530 אז אתה כמעט יכול לחשוב של סוגריים אלה 435 00:19:58,530 --> 00:20:01,620 כמו להיות כמו המתכת קליפ על לוח זה. 436 00:20:01,620 --> 00:20:05,940 זה מה שמחזיק, זה מה ש הולך לשמש כדי לספק טיעונים 437 00:20:05,940 --> 00:20:08,500 לפונקציה, אשר ב מקרה זה נקרא printf. 438 00:20:08,500 --> 00:20:12,390 >> אז באופן כללי כמעט בכל זמן שאנו מכנים פונקציה, 439 00:20:12,390 --> 00:20:14,280 אנחנו הולכים לראות סוגריים זוג. 440 00:20:14,280 --> 00:20:17,000 אולי עם משהו בזה, כמו עכשיו, אולי בזה שום דבר. 441 00:20:17,000 --> 00:20:19,770 אבל זה שבו היית לשים התשומות או טיעונים שנקרא 442 00:20:19,770 --> 00:20:20,680 לפונקציה. 443 00:20:20,680 --> 00:20:22,470 >> הנה טיעון אחד כזה. 444 00:20:22,470 --> 00:20:24,467 אני כבר הדגיש את הכל בין הציטוטים, 445 00:20:24,467 --> 00:20:26,300 כי מתברר בשפה זו נקראת 446 00:20:26,300 --> 00:20:29,950 C, כאשר אתה רוצה לייצג string-- שהיא מילה או צירוף מילים 447 00:20:29,950 --> 00:20:33,470 או אפילו paragraph-- שיש לך להקיף אותו במרכאות כפולות. 448 00:20:33,470 --> 00:20:35,420 ציטוטים לא יחידים, במרכאות כפולות. 449 00:20:35,420 --> 00:20:37,460 וזה בדיוק מה שעשיתי כאן. 450 00:20:37,460 --> 00:20:39,900 >> בינתיים יש פאנקי סמל לקראת הסוף שם. 451 00:20:39,900 --> 00:20:41,600 N הקו הנטוי. 452 00:20:41,600 --> 00:20:43,460 מה שאנחנו לא אומרים את זה מיוצג? 453 00:20:43,460 --> 00:20:44,093 כן? 454 00:20:44,093 --> 00:20:44,980 >> סטודנט: קו חדש. 455 00:20:44,980 --> 00:20:45,896 >> DAVID Malan: קו חדש. 456 00:20:45,896 --> 00:20:47,910 נכון, אתה לא בדרך כלל על Enter כאשר 457 00:20:47,910 --> 00:20:50,430 אתה רוצה תכנית לירוק את קו חדש. 458 00:20:50,430 --> 00:20:54,210 במקום זאת אתה אומר את זה באופן מפורש עם החתיכה אמנם המסתורית הזה 459 00:20:54,210 --> 00:20:58,770 של תחביר, n הקו הנטוי, ש אתה רוצה קו חדש ללכת לשם. 460 00:20:58,770 --> 00:20:59,810 לבסוף פסיק. 461 00:20:59,810 --> 00:21:01,560 אנחנו לא ממש מדברים יותר מדי על זה, 462 00:21:01,560 --> 00:21:04,893 וללא ספק זה יהיה הקללה של כמה הקיום שלך לבעיה הראשונה 463 00:21:04,893 --> 00:21:07,990 נקבע, כאשר אתה פשוט לא מבין שכחת משהו כמו טיפשים 464 00:21:07,990 --> 00:21:08,614 כפסיק. 465 00:21:08,614 --> 00:21:11,600 ובאופן כללי לשים את זה יהיה לתקן את בעיה. 466 00:21:11,600 --> 00:21:13,511 אבל מה זה עושה עבורנו, היית אומר? 467 00:21:13,511 --> 00:21:15,670 >> סטודנט: [לא ברור]. 468 00:21:15,670 --> 00:21:17,484 >> DAVID Malan: מצטער? 469 00:21:17,484 --> 00:21:18,532 >> סטודנט: [לא ברור]. 470 00:21:18,532 --> 00:21:19,990 DAVID Malan: גימור הצהרה. 471 00:21:19,990 --> 00:21:22,770 זה כמו סוג של תקופה ב סוף המשפט אנגלי, 472 00:21:22,770 --> 00:21:25,790 ואילו בשפה זו C זה מסתיים בהצהרה. 473 00:21:25,790 --> 00:21:29,250 הוראה של תכנות קוד שאתה רק רוצה לומר, 474 00:21:29,250 --> 00:21:30,500 אני גמרתי עם זה. 475 00:21:30,500 --> 00:21:32,240 עכשיו שם לב שזה אחד רק כאן. 476 00:21:32,240 --> 00:21:34,614 אז אתה לא רוצה לקבל ב הרגל של פסיק לשים 477 00:21:34,614 --> 00:21:36,190 אחרי כל סוגריים סגורים. 478 00:21:36,190 --> 00:21:38,610 למשל יש אף אחד הבא לביטול, ואנו 479 00:21:38,610 --> 00:21:40,430 תחזור בעתיד למה חלל אמצעים. 480 00:21:40,430 --> 00:21:44,080 אבל במקרה הזה printf שלך הוא פונקציה, או בשימוש הצהרה, 481 00:21:44,080 --> 00:21:47,420 וכך אנחנו רוצים שיהיו לי ש תחנה סופית בסוף מאוד שלו. 482 00:21:47,420 --> 00:21:50,980 >> ואני בכוונה אני קולט על ג ו בכנות הרבה שפות כמו C, C ++, 483 00:21:50,980 --> 00:21:55,000 Java, JavaScript, וכל מספר של יש לי שפות אחרות הרבה מאלה 484 00:21:55,000 --> 00:21:56,730 סוג של פרטים תחביריים. 485 00:21:56,730 --> 00:22:00,120 זה בהחלט אם אתה חדש תכנות יכול באמת להכשיל אותך. 486 00:22:00,120 --> 00:22:02,307 ואתה, לסמן שלי מילות, כמה מכם 487 00:22:02,307 --> 00:22:04,140 יש להם ניסיון זה בשעתי עבודה או בסוף 488 00:22:04,140 --> 00:22:07,554 בלילה עובד על כמה p-סט, שבו התכנית הארורה שלך פשוט לא לקמפל, 489 00:22:07,554 --> 00:22:09,470 זה לא לרוץ, יש לך אין לי מושג מה לא בסדר, 490 00:22:09,470 --> 00:22:11,513 זה נראה לגמרי מבחינה לוגית נכון לך. 491 00:22:11,513 --> 00:22:13,596 וזה בגלל ששכחת משהו כמו להכות 492 00:22:13,596 --> 00:22:15,250 פסיק בסוף איזה קו. 493 00:22:15,250 --> 00:22:17,590 >> אבל אלה הם הסוגים של דברים שאתה הולך ללמוד באופן מיידי כדי לראות. 494 00:22:17,590 --> 00:22:20,048 ואכן אלה הם הדברים שיש לי וTF של של CA 495 00:22:20,048 --> 00:22:23,210 הוכשר סוג של לראות הרבה יותר מהר ממה שאתה. 496 00:22:23,210 --> 00:22:26,610 ואז זה רק כדי לומר, כפי שאתה לצלול לתוך בעיה מוגדרת 1 במיוחד, 497 00:22:26,610 --> 00:22:28,217 לא מקבל מתוסכל מהחומר הזה. 498 00:22:28,217 --> 00:22:30,050 ברגע שאתה סוג של מתאקלם לעולם, אתה 499 00:22:30,050 --> 00:22:35,130 מתחיל לראות דברים שאתה אולי לא לראות במבט ראשון בשבוע ראשון זה. 500 00:22:35,130 --> 00:22:37,440 >> אז קוד המקור הוא משהו כזה. 501 00:22:37,440 --> 00:22:40,370 אנחנו רוצים להעביר אותו ל מהדר מה שנקרא. 502 00:22:40,370 --> 00:22:42,850 והמהדר כי כ אמרנו מספק פלט 503 00:22:42,850 --> 00:22:45,660 הידועה בשם קוד אובייקט, מה שנקרא אפסים ואחדים. 504 00:22:45,660 --> 00:22:47,747 אבל משם, מה שנותן לנו? 505 00:22:47,747 --> 00:22:49,080 ובכן, זה נותן לנו את הדפוסים הללו. 506 00:22:49,080 --> 00:22:52,020 ושוב המחשב שלך, אינטל שלך בפנים, 507 00:22:52,020 --> 00:22:54,350 מבין את הדפוסים הללו של אפסים ואחדים. 508 00:22:54,350 --> 00:22:57,300 ולפעמים הדפוס מייצג מספר עשרוני בפועל 509 00:22:57,300 --> 00:22:59,770 כפי שראינו בשבוע שעבר, לפעמים הוא מייצג מכתב 510 00:22:59,770 --> 00:23:02,730 כמו שראינו בשבוע שעבר, לפעמים היא מייצגת הוראה, 511 00:23:02,730 --> 00:23:05,460 כמו הדפסת משהו למסך. 512 00:23:05,460 --> 00:23:08,782 >> אז printf לinstance-- אלא, תן לי אחורה. 513 00:23:08,782 --> 00:23:11,240 אנחנו כבר לוקחים כמובן מאליו כי מי אפסים ואחדים הם 514 00:23:11,240 --> 00:23:14,200 המיוצר על ידי איפור בפקודה זו. 515 00:23:14,200 --> 00:23:16,050 אבל איפור הוא לא מהדר. 516 00:23:16,050 --> 00:23:19,370 לעשות הוא לא הדבר באמצע שמייצר אפסים ואחדים. 517 00:23:19,370 --> 00:23:23,780 ולא לעשות הוא פשוט מאוד נוח תכנית בשם מטרתם בחיים 518 00:23:23,780 --> 00:23:27,267 הוא למעשה כדי להבין איך לקמפל את התכנית שלך. 519 00:23:27,267 --> 00:23:29,350 ואנחנו משתמשים בו באלה שבועות הראשונים כי זה פשוט 520 00:23:29,350 --> 00:23:30,910 חוסך לנו הרבה צרות. 521 00:23:30,910 --> 00:23:34,080 >> אבל מה לעשות הוא באמת עושה כאשר אתה מהדר את שלום, 522 00:23:34,080 --> 00:23:36,690 הוא, כפי שאמרנו בפעם האחרונה, זה מחפש בכונן הקשיח 523 00:23:36,690 --> 00:23:40,620 או בתיקייה הנוכחית, ל קובץ בשם מה, כנראה? 524 00:23:40,620 --> 00:23:41,815 Hello.c, נכון? 525 00:23:41,815 --> 00:23:43,190 זה פשוט סוג של מוסכמה. 526 00:23:43,190 --> 00:23:45,620 זה שרירותי, אבל ככה דברים. 527 00:23:45,620 --> 00:23:48,620 הפוך, אם אתה רק לציין את השם של תכנית שאינו קיימת עדיין, 528 00:23:48,620 --> 00:23:52,200 זה הולך לחפש את קוד המקור בקובץ, כברירת מחדל פירוש hello.c. 529 00:23:52,200 --> 00:23:53,530 ואם הוא מוצא אותו, גדול. 530 00:23:53,530 --> 00:23:56,650 זה הולך להמיר מקור ש קוד לקוד אובייקט בשבילך. 531 00:23:56,650 --> 00:23:59,670 >> אבל הזן בכל פעם שאני כבר פגע לאחר שרץ לעשות שלום, 532 00:23:59,670 --> 00:24:03,560 אתה זוכר שראית בפעם האחרונה ארוך למדי ורצף נסתר 533 00:24:03,560 --> 00:24:06,430 של אותיות הלבנות אחרות ו דמויות על המסך? 534 00:24:06,430 --> 00:24:11,220 ובכן זה היה הפקודה בפועל, מהדר בפועל, שפעל. 535 00:24:11,220 --> 00:24:15,500 אז מהדר בפועל אנו נשתמש ביותר של הסמסטר הוא משהו שנקרא צלצול. 536 00:24:15,500 --> 00:24:19,280 חלק מכם אולי השתמש של Visual Studio לפני, או GCC, 537 00:24:19,280 --> 00:24:21,340 או כל מספר של מהדרים אחרים. 538 00:24:21,340 --> 00:24:22,620 אנו נשתמש בצלצול. 539 00:24:22,620 --> 00:24:26,950 >> וצלצול מאפשר לנו להמיר למעשה קוד המקור שלהתנגד קוד. 540 00:24:26,950 --> 00:24:29,430 מה עושה את זה בפועל אומר בפועל? 541 00:24:29,430 --> 00:24:33,390 ובכן תן לי להיכנס לאחד התיקיות שלי מעת האחרונה. 542 00:24:33,390 --> 00:24:35,760 בתוך מכשיר CS50. 543 00:24:35,760 --> 00:24:42,080 ותנו לי ללכת קדימה וליצור את זה אותו קובץ, כולל h נקודת קלט / פלט הסטנדרטי. 544 00:24:42,080 --> 00:24:42,875 void main int. 545 00:24:42,875 --> 00:24:46,000 ואנחנו נחזור בעתיד כ למה int אמצעים ומה אמצעי חלל. 546 00:24:46,000 --> 00:24:49,130 אבל לעת עתה בואו נעשה שלום n הקו הנטוי עולם, 547 00:24:49,130 --> 00:24:50,500 בדיוק כמו שעשינו על הלוח. 548 00:24:50,500 --> 00:24:53,930 >> תן לי לשמור את הקובץ הזה שנקרא hello.c. 549 00:24:53,930 --> 00:24:58,280 ועכשיו אם אני רוצה לקמפל את זה אני could-- תן לי להתקרב in-- ריצה 550 00:24:58,280 --> 00:25:00,450 לעשות שלום להיכנס. 551 00:25:00,450 --> 00:25:02,645 וזה היה שוב כי קו מאוד ברורים מאליהם. 552 00:25:02,645 --> 00:25:05,120 אבל מילה עכשיו לפחות אחד כנראה קופץ עליך. 553 00:25:05,120 --> 00:25:07,087 צלצול הוא קו שראינו לפני. 554 00:25:07,087 --> 00:25:10,420 עכשיו יש הרבה דברים אחרים בכנות שננפנף בידות שלנו להיום. 555 00:25:10,420 --> 00:25:14,020 אבל יש כמה תת קבוצות, כמה תווים בכאן 556 00:25:14,020 --> 00:25:14,907 שיש בם עניין. 557 00:25:14,907 --> 00:25:16,490 אבל אני הולך קדימה ולעשות את זה. 558 00:25:16,490 --> 00:25:18,281 אני הולך לריצה הראשונה שלום, רק כדי להוכיח 559 00:25:18,281 --> 00:25:20,320 כי זה עובד כמו שזה היה ביום שני. 560 00:25:20,320 --> 00:25:22,330 אבל עכשיו אני הולך למחוק את התכנית. 561 00:25:22,330 --> 00:25:25,870 וממש כמו שהיו לנו אלה שמות קצרים בפעם האחרונה, 562 00:25:25,870 --> 00:25:29,787 הפקודה להסרת משהו הוא rm, להסיר, להיכנס. 563 00:25:29,787 --> 00:25:31,870 אתה הולך לקבל קצת שאלות למדי נסתרות. 564 00:25:31,870 --> 00:25:35,210 קשה להאמין שאתה יכול לעשות אפילו על שאלה זו קשה להבנה. 565 00:25:35,210 --> 00:25:38,100 אבל להסיר את שלום קובץ רגיל פשוט אמצעי לעשות רצונך למחוק שלום. 566 00:25:38,100 --> 00:25:42,650 >> ואני יכול להמשיך ולהקליד y עבור כן, הזן, ועכשיו זה נעלם. 567 00:25:42,650 --> 00:25:45,130 מה שזה אומר עכשיו, אם אני לנקות המסך שלי, 568 00:25:45,130 --> 00:25:47,301 הוא שבמקום עושה לעשות hello-- 569 00:25:47,301 --> 00:25:48,800 יודע מה, אני מקבל טוב בזה. 570 00:25:48,800 --> 00:25:50,690 אני הולך להפעיל את המהדר עצמי. 571 00:25:50,690 --> 00:25:53,330 אני לא צריך איזה תכנית ל להבין מה הקובץ שלי נקרא. 572 00:25:53,330 --> 00:25:55,370 כתבתי hello.c, אני יודע מה זה נקרא, 573 00:25:55,370 --> 00:25:57,640 אני בבירור מסוגל להקליד ש. 574 00:25:57,640 --> 00:26:02,620 אז אני הולך קדימה ואל מצלצל hello.c הזן. 575 00:26:02,620 --> 00:26:03,264 >> נראה שזה עובד. 576 00:26:03,264 --> 00:26:05,930 ואין שום פלט נוסף, כי צלצול הוא מהדר. 577 00:26:05,930 --> 00:26:08,590 זה מה שההמרה קוד מקור לאפסים ואחדים. 578 00:26:08,590 --> 00:26:12,870 אז אם אני עכשיו עושה נקודה לקצץ שלום הזן, HM. 579 00:26:12,870 --> 00:26:14,630 הודעת שגיאה חדשה היום. 580 00:26:14,630 --> 00:26:17,610 אז bash הוא רק שמו של מהבהב הפקודה שבו אנו משתמשים. 581 00:26:17,610 --> 00:26:20,360 זה פשטני ברוטו, אך לעת עתה זה כל מה שהוא, 582 00:26:20,360 --> 00:26:21,401 זה הפקודה המהבהבת. 583 00:26:21,401 --> 00:26:22,880 וזו הסיבה שהוא צועק עלינו. 584 00:26:22,880 --> 00:26:25,690 >> אין כזה קובץ או ספרייה היא קצת יותר פשוט. 585 00:26:25,690 --> 00:26:28,190 אבל אין ספק שאני עשיתי שהקוד האובייקט. 586 00:26:28,190 --> 00:26:30,930 אבל המלכוד הוא, ש אם אני מקליד את הפקודה 587 00:26:30,930 --> 00:26:34,650 לפירוט התוכן של זה ספרייה, שהוא מה? 588 00:26:34,650 --> 00:26:36,210 ls לרשימה. 589 00:26:36,210 --> 00:26:39,332 יש כל מיני דברים בפה, שחלקם הגיע עם המכשיר, 590 00:26:39,332 --> 00:26:42,040 כמו תיקיית שולחן העבודה שלי, הורדות תיקייה, תיקיית Dropbox, וכל 591 00:26:42,040 --> 00:26:42,850 דברים ש. 592 00:26:42,850 --> 00:26:45,410 אבל מה שמעניין הוא hello.c, ש 593 00:26:45,410 --> 00:26:47,286 אני יצרתי לפני רגע עם gedit. 594 00:26:47,286 --> 00:26:49,160 ומה הכי המוזר מחפש שם לכאן, 595 00:26:49,160 --> 00:26:53,110 אולי כי אנחנו לא לראות בפעם האחרונה בכלל? 596 00:26:53,110 --> 00:26:54,710 >> a.out, נכון? 597 00:26:54,710 --> 00:26:56,920 אז בחזרה ביום, זה שרק הוחלט כאשר 598 00:26:56,920 --> 00:26:58,760 אתה לקמפל תכנית בפעם הראשונה, 599 00:26:58,760 --> 00:27:02,360 ולא תציינו את השם של קובץ, בואו נקראים לזה. 600 00:27:02,360 --> 00:27:05,800 וa.out רק אומר שזה היה הפלט של המהדר. 601 00:27:05,800 --> 00:27:07,790 אז זה שם נורא לתכנית. 602 00:27:07,790 --> 00:27:12,820 אבל לפי ההיגיון הזה, נקודה לקצץ ל ספרייה נוכחית, לקצץ a.out, 603 00:27:12,820 --> 00:27:16,102 צריך לומר שיש בעובדה שלי שלום תכנית העולם. 604 00:27:16,102 --> 00:27:17,560 עכשיו קצת יותר מדי לחמם את התרגיל,. 605 00:27:17,560 --> 00:27:20,420 אם אני רוצה לשנות את השם הזה קובץ, מתברר שאתה 606 00:27:20,420 --> 00:27:23,000 להעביר קובץ משם אחד למשנהו. 607 00:27:23,000 --> 00:27:28,750 a.out אז MV, ולאחר מכן אני אפשר לקרוא לזה שלום על Enter. 608 00:27:28,750 --> 00:27:30,940 אז זה הפקודה בלינוקס. 609 00:27:30,940 --> 00:27:34,370 היה לי DOS את זה לפני שנים, Windows יש חלון מסוף 610 00:27:34,370 --> 00:27:36,460 מסוג כלשהו שנראה ככה, לינוקס ומקינטוש 611 00:27:36,460 --> 00:27:38,140 יש להם מחשבים מהיר מהבהב זה. 612 00:27:38,140 --> 00:27:41,490 למרות שרובנו כנראה רק לעתים רחוקות, אם בכלל, להשתמש בו. 613 00:27:41,490 --> 00:27:44,590 >> אבל מה שעשיתי הוא לרוץ תכנית, ששמה MV, 614 00:27:44,590 --> 00:27:47,900 ואני כבר סיפקנו אותו עם שני טיעונים, אם אפשר לומר כך. 615 00:27:47,900 --> 00:27:48,630 שתי כניסות. 616 00:27:48,630 --> 00:27:50,260 a.out הוא השם המקורי. 617 00:27:50,260 --> 00:27:51,630 שלום הוא שמו החדש. 618 00:27:51,630 --> 00:27:55,670 אז אם אני עכשיו לעשות לוכסן נקודה שלום, הזן, שקיים. 619 00:27:55,670 --> 00:28:00,770 ואם אני עושה את a.out לוכסן נקודה, מה אתה מצפה שאני צריך לראות? 620 00:28:00,770 --> 00:28:02,250 >> Bash, אין כזה קובץ או ספרייה. 621 00:28:02,250 --> 00:28:03,350 כי אני פשוט שיניתי את שמו. 622 00:28:03,350 --> 00:28:04,975 אז זה לוקח קצת הזמן להתרגל אליו. 623 00:28:04,975 --> 00:28:06,977 אבל הבעיה להגדיר 1 מפרט באמת יהיה 624 00:28:06,977 --> 00:28:08,810 להחזיק את היד שלך דרך חלק מminutae זה. 625 00:28:08,810 --> 00:28:11,050 בגלל זה הוא מלא הסחת דעת אינטלקטואלית 626 00:28:11,050 --> 00:28:12,966 ממעניין יותר רעיונות בהישג היד, ש 627 00:28:12,966 --> 00:28:15,310 הוא יצירת למעשה משהו מתוך קוד. 628 00:28:15,310 --> 00:28:18,830 אבל בואו נעשה שינוי אחד עכשיו לתכנית זו. 629 00:28:18,830 --> 00:28:23,150 >> נזכיר כי הפעם האחרונה שעשיתי משהו ככה, printf לציין את השם שלך. 630 00:28:23,150 --> 00:28:25,790 ואכן אנחנו פשוט עשינו את זה על המסך הגדול שם. 631 00:28:25,790 --> 00:28:30,640 ואז עשיתי מחרוזת של מקבל GetString פארן פתוח, קרוב פארן. 632 00:28:30,640 --> 00:28:33,430 ורק קצרנות פארן סימון לסוגריים. 633 00:28:33,430 --> 00:28:36,460 אז האם GetString לקחת כל טיעונים? 634 00:28:36,460 --> 00:28:38,440 אין תשומות שלא, אבל זה צריך הסוגריים, 635 00:28:38,440 --> 00:28:41,830 כי זה מה שתוחם הייעוד של פונקציה. 636 00:28:41,830 --> 00:28:46,440 >> אז אני הולך קדימה ולנסות להפעיל את המהדר על תכנית זו עכשיו. 637 00:28:46,440 --> 00:28:50,774 hello.c הצלצול, כי אני לא שינה את שמה לעת עתה. 638 00:28:50,774 --> 00:28:51,940 ויש לי חבורה של טעויות. 639 00:28:51,940 --> 00:28:53,570 בואו להקטין את התצוגה כאן. 640 00:28:53,570 --> 00:28:55,420 אם אני לגלול מעלה שוב, כמו שאמרתי בפעם האחרונה, 641 00:28:55,420 --> 00:28:58,420 ל, אותה השגיאה הראשונה כי יש לי בפעם האחרונה. 642 00:28:58,420 --> 00:29:04,210 על קו 6 של hello.c היה לי מחרוזת מזהה לא מוצהרת, 643 00:29:04,210 --> 00:29:05,590 לא אני מתכוון סטנדרטי ב? 644 00:29:05,590 --> 00:29:06,750 אני לא עשיתי זאת. 645 00:29:06,750 --> 00:29:10,050 כי מה שיש לי טעות שנעשה בזה תכנית, אם אתה זוכר מפעם האחרונה? 646 00:29:10,050 --> 00:29:13,219 647 00:29:13,219 --> 00:29:15,010 כן, אנחנו צריכים מה שנקרא גלגלי עזר 648 00:29:15,010 --> 00:29:16,510 שאנחנו פשוט להשתמש במשך כמה שבועות. 649 00:29:16,510 --> 00:29:19,480 אבל אני צריך לציין שגם, אי שם בתוך המכשיר, 650 00:29:19,480 --> 00:29:22,720 מקורו של קובץ שכתבנו רק לפני כמה שנים. 651 00:29:22,720 --> 00:29:26,500 בתוך שהם פונקציות כמו כנראה GetString. 652 00:29:26,500 --> 00:29:35,160 אז עכשיו אם אני חוזר לכאן, להגדיל את התצוגה, וhello.c צלצול להפעיל מחדש. 653 00:29:35,160 --> 00:29:36,500 לעזאזל, שגיאה אחרת. 654 00:29:36,500 --> 00:29:38,590 אבל אנחנו לא ראינו את זה לפני. 655 00:29:38,590 --> 00:29:41,900 >> זה אחד זה קצת יותר אזוטרי להבין. 656 00:29:41,900 --> 00:29:46,910 אבל זה בכוונה תחילה על המסך, כי רצינו לספר את הסיפור הזה. 657 00:29:46,910 --> 00:29:51,280 כאשר אתה מהדר את hello.c, בדיוק כפי ש התמונה מהציעה לפני, 658 00:29:51,280 --> 00:29:54,650 אתה ממיר רק ש קוד מקור לאפסים ואחדים. 659 00:29:54,650 --> 00:30:00,340 עכשיו צוות CS50 לפני כמה שנים כתב CS50.h, וקובץ מקביל, 660 00:30:00,340 --> 00:30:01,640 CS50.c. 661 00:30:01,640 --> 00:30:04,490 ואנחנו, לפני כמה שנים, הידור קבצים אלה 662 00:30:04,490 --> 00:30:07,290 לקובץ שקורה להיקרא CS50.o. 663 00:30:07,290 --> 00:30:09,180 >> או ניתן לשנות את שמו כמה דברים שונים. 664 00:30:09,180 --> 00:30:11,054 אבל זה דרך פשוטה לחשוב על זה. 665 00:30:11,054 --> 00:30:14,960 אז אנחנו מלוקט CS50 של ספרייה לאפסים ואחדים. 666 00:30:14,960 --> 00:30:20,340 אבל בשום מקום שאני צוינו כי אני רוצה לשלב אפסים שלי 667 00:30:20,340 --> 00:30:24,030 ואלה לעולם שלומי תכנית עם האפסים ואחדים 668 00:30:24,030 --> 00:30:29,760 שצוות CS50 יצר כמה שנים לפני לתוך תכנית אחת שלמה. 669 00:30:29,760 --> 00:30:34,100 כל מה שצוינתי על ידי כתיבה hello.c צלצול הוא לקמפל hello.c. 670 00:30:34,100 --> 00:30:38,380 >> כבר לא אמר לי צלצול ל קישור באפסים ואחדים 671 00:30:38,380 --> 00:30:41,650 שצוות CS50 נוצר בשבילך לפני כמה זמן. 672 00:30:41,650 --> 00:30:48,280 אז זה תיקון קל, מקף l לקישור, CS50. 673 00:30:48,280 --> 00:30:52,600 ואנו רואים את זה שוב לא עבר זמן רב שוב ושוב. 674 00:30:52,600 --> 00:30:54,420 אבל שם לב עכשיו שלא היו תלונות. 675 00:30:54,420 --> 00:30:59,770 אז עכשיו אם אני מפעיל את הקו נטוי נקודה שלום, עכשיו זה עובד. 676 00:30:59,770 --> 00:31:03,840 למרות שזה קצת מטעה מאז אני פשוט מחדש מה קובץ? 677 00:31:03,840 --> 00:31:05,880 a.out. 678 00:31:05,880 --> 00:31:07,930 >> אז תן לי אחורה לרגע. 679 00:31:07,930 --> 00:31:10,900 התכנית אנחנו רק הידור יש לו שלוש השורות של קוד. 680 00:31:10,900 --> 00:31:14,710 כשרצתי שלום עולם, שלום רגע לפני, אני לא ראיתי את שמך. 681 00:31:14,710 --> 00:31:17,080 וזה משום שרצתי גרסה ישנה של התכנית. 682 00:31:17,080 --> 00:31:22,700 אבל אם אני אכן מפעיל a.out לוכסן הנקודה הזן, תציין את השם שלך, רוב, שלום, 683 00:31:22,700 --> 00:31:23,370 עולם. 684 00:31:23,370 --> 00:31:23,870 הממ. 685 00:31:23,870 --> 00:31:26,110 זה סוג של באג. 686 00:31:26,110 --> 00:31:28,560 התכוון כנראה לומר רוב, נכון? 687 00:31:28,560 --> 00:31:30,997 אז מה התיקון כאן בקוד. 688 00:31:30,997 --> 00:31:31,872 סטודנט: [לא ברור]. 689 00:31:31,872 --> 00:31:38,415 690 00:31:38,415 --> 00:31:39,290 DAVID Malan: בדיוק. 691 00:31:39,290 --> 00:31:43,160 אז אני פשוט צריך לעשות את זה לצבוט סופי כך שאני מעביר במציין מיקום, 692 00:31:43,160 --> 00:31:45,690 כמו למלא את החסר, כמו שעשינו לפני רגע. 693 00:31:45,690 --> 00:31:47,870 אבל אחוזים של עכשיו הממלא את החסר. 694 00:31:47,870 --> 00:31:52,100 אז לבסוף בואו לגלות אחת אחרון פרט כל כך שאין קסמים. 695 00:31:52,100 --> 00:31:54,090 אני הולך קדימה כדי להיפטר מhellow. 696 00:31:54,090 --> 00:31:56,070 אני הולך קדימה כדי להיפטר מa.out. 697 00:31:56,070 --> 00:31:58,410 אז עכשיו אין לי תוכניות, רק קוד המקור שלי. 698 00:31:58,410 --> 00:32:01,100 ואני הולך לרוץ הפקודה מעט ארוכה יותר, צלצול 699 00:32:01,100 --> 00:32:05,650 מקף o שלום LCS50 מקף hello.c. 700 00:32:05,650 --> 00:32:08,700 >> עכשיו זה מתחיל סוג של ללכת באוזן אחת ויצאתי מהשנייה אולי. 701 00:32:08,700 --> 00:32:10,366 אבל רק להפריד את מה שזה עושה. 702 00:32:10,366 --> 00:32:14,910 צלצול הוא מהדר, LCS50 המקף בכוונה ממש בסוף 703 00:32:14,910 --> 00:32:18,330 עושה מה במשפט? 704 00:32:18,330 --> 00:32:19,607 קישורים לספריית CS50. 705 00:32:19,607 --> 00:32:21,440 תופס את האפסים ו אלה שצוות עשה 706 00:32:21,440 --> 00:32:23,310 ודוחס אותם לתוך התכנית שלי. 707 00:32:23,310 --> 00:32:27,040 אז השאלה האחרונה שעל הפרק היא, מה הוא מקף o שלום כנראה 708 00:32:27,040 --> 00:32:30,530 עושה, גם אם יש לך אף פעם לא ראה תחביר זה קודם? 709 00:32:30,530 --> 00:32:34,920 >> פלט תכנית זה לא בשם a.out ברירת המחדל. 710 00:32:34,920 --> 00:32:37,330 ולא שזה בשם שלום. 711 00:32:37,330 --> 00:32:39,460 אז עכשיו אין a.out. 712 00:32:39,460 --> 00:32:42,660 אין כזה קובץ או ספרייה, כי אני במפורש אמרתי 713 00:32:42,660 --> 00:32:46,720 קורא תכנית זו שלום, כך ש עכשיו אני יכול להקליד שם כמו ש 714 00:32:46,720 --> 00:32:47,790 ויש לו להתנהג. 715 00:32:47,790 --> 00:32:50,180 >> עכשיו בכנות, ילד הוא ש לא מעניין שיש 716 00:32:50,180 --> 00:32:52,170 לזכור את כל זה פרטים קטנים קטנים, נכון? 717 00:32:52,170 --> 00:32:54,180 אז בואו נלך קדימה ו להיפטר משלום שוב. 718 00:32:54,180 --> 00:32:57,880 ובואו עכשיו לחזור לעולם ב שזה מספיק כדי לומר לעשות שלום. 719 00:32:57,880 --> 00:33:00,410 אבל זה הקסם ש לעשות הוא עושה בשבילך, 720 00:33:00,410 --> 00:33:02,320 זה השעמום ש זה עושה לך. 721 00:33:02,320 --> 00:33:04,630 והתוכניות שלנו ו בעיות לקבל יותר מורכבות, 722 00:33:04,630 --> 00:33:06,142 לעשות יהיה באמת להיות חבר שלך. 723 00:33:06,142 --> 00:33:07,850 מכיוון שלא ארוך מדי מעכשיו אנחנו הולכים 724 00:33:07,850 --> 00:33:11,150 יש תוכניות שנכתבו לא עם מספר קבצי קובץ אחד, אבל, 725 00:33:11,150 --> 00:33:16,310 ולעשות יהיה להפוך את התהליך של קומפילציה יחד את כל זה בשבילנו. 726 00:33:16,310 --> 00:33:20,620 >> אז עכשיו להדפיס. 727 00:33:20,620 --> 00:33:24,960 printf הוא בתוך קובץ זה, סטנדרטי I / h נקודת O, שראינו לפני, 728 00:33:24,960 --> 00:33:26,980 אבל יש עוד printf מזה. 729 00:33:26,980 --> 00:33:30,482 יש n הקו הנטוי ההפוך, אבל יש גם חבורה של רצפי בריחה אחרים. 730 00:33:30,482 --> 00:33:32,940 ורצף בריחה הוא רק דרך מפוארת לומר משהו 731 00:33:32,940 --> 00:33:35,990 שמתחיל עם קו נטוי, לא קו נטוי, קו נטוי, 732 00:33:35,990 --> 00:33:37,920 ועושה משהו מיוחד. 733 00:33:37,920 --> 00:33:43,770 ואנחנו לא להתעכב על רוב אלה, אבל למה הוא שם מהלך סרק ציטוט כפול, 734 00:33:43,770 --> 00:33:44,830 מה אתה חושב? 735 00:33:44,830 --> 00:33:48,010 מדוע יש הרצף המוזר הזה של דמויות, ציטוט כפול קו נטוי, 736 00:33:48,010 --> 00:33:50,505 מדוע ייתכן שיהיה שימושי? 737 00:33:50,505 --> 00:33:51,380 סטודנט: [לא ברור]. 738 00:33:51,380 --> 00:33:56,594 739 00:33:56,594 --> 00:33:57,760 DAVID Malan: בדיוק, נכון? 740 00:33:57,760 --> 00:34:01,830 היזכר תכנית שלום העולם שלנו שראינו כמה וכמה פעמים עכשיו, 741 00:34:01,830 --> 00:34:05,880 בכל פעם שראינו שעולם שלום תכנית שהיו לנו במרכאות כפולות בתוך 742 00:34:05,880 --> 00:34:08,210 מהם הוא שלום פסיק n הקו הנטוי עולם. 743 00:34:08,210 --> 00:34:10,070 אבל חושב לעצמך, מה אם אתה באמת 744 00:34:10,070 --> 00:34:12,520 רציתי להדפיס את סימן מרכאות? 745 00:34:12,520 --> 00:34:16,100 האינסטינקט הראשון שלך יכול להיות, אני לא יודע למה אולי אני רוצה do-- כאן, 746 00:34:16,100 --> 00:34:18,780 אנחנו יכולים להיות קצת פסיביים שלום חבר אגרסיווי,. 747 00:34:18,780 --> 00:34:21,350 אנחנו אולי רוצים לעשות משהו כזה. 748 00:34:21,350 --> 00:34:25,230 >> אבל למה זה עכשיו בעייתי? 749 00:34:25,230 --> 00:34:28,730 התעלמות הציטוטים המתולתל בצד ש מרכזי שנעשה עבורנו באופן אוטומטי. 750 00:34:28,730 --> 00:34:29,730 למה זה בעייתי? 751 00:34:29,730 --> 00:34:36,719 752 00:34:36,719 --> 00:34:37,270 >> בדיוק. 753 00:34:37,270 --> 00:34:39,022 בגלל שיש לי כמו 4 מרכאותינו. 754 00:34:39,022 --> 00:34:41,230 ובכן הראשון כנראה הולך עם השני, 755 00:34:41,230 --> 00:34:43,271 ואולי הרביעי אחד הולך עם שליש, 756 00:34:43,271 --> 00:34:46,170 או, אני אומר שאני אפילו לא בטוח, ולא הוא המחשב הולך להיות. 757 00:34:46,170 --> 00:34:48,352 מחשבים שוב, מהדרים שוב, הם די מטומטמים. 758 00:34:48,352 --> 00:34:50,060 הם רק יעשו את מה ש אתה אומר להם לעשות. 759 00:34:50,060 --> 00:34:54,270 ואם אתה לא חד משמעי שהם כנראה הולך לזרוק שגיאה. 760 00:34:54,270 --> 00:34:57,700 >> אם אתה לא חד משמעי לגבי איך להפוך את כריך חמאת בוטנים וריבה 761 00:34:57,700 --> 00:34:59,510 דברים מוזרים יכולים להגיע. 762 00:34:59,510 --> 00:35:00,580 זה אותו הרעיון. 763 00:35:00,580 --> 00:35:03,100 עכשיו די אם נאמרתי שיש כמה רצפי בריחה אחרים, 764 00:35:03,100 --> 00:35:04,820 אבל אנחנו נבוא לאלה לפני זמן רב. 765 00:35:04,820 --> 00:35:07,410 בעיקרו של דבר בריחה אלה רצפים מייצגים משהו 766 00:35:07,410 --> 00:35:10,480 שייתכן שלא תוכל בקלות רבה מדי על המקלדת, 767 00:35:10,480 --> 00:35:12,010 בלי לבלבל את המחשב. 768 00:35:12,010 --> 00:35:15,733 >> עכשיו בינתיים יש לנו מצייני מיקום בprintf. 769 00:35:15,733 --> 00:35:19,630 ד אחוזים, אשר יכול גם להיות כתוב כמעט בכל המקרים שאני אחוזים, 770 00:35:19,630 --> 00:35:21,610 הוא מציין מיקום עבור איזה סוג של נתונים? 771 00:35:21,610 --> 00:35:23,920 איזה סוג של ערך? 772 00:35:23,920 --> 00:35:24,920 מספר עשרוני. 773 00:35:24,920 --> 00:35:27,234 אז בעצם נתחיל באמצעות i אחוזים כי זה 774 00:35:27,234 --> 00:35:28,650 קצת פשוטה יותר, כמו מספר שלם. 775 00:35:28,650 --> 00:35:29,550 אני אחוזים. 776 00:35:29,550 --> 00:35:31,320 מספר שלם שקורה להיות עשרוני. 777 00:35:31,320 --> 00:35:35,690 >> אחוזים שלנו כבר אמרתי היה מציין מיקום של מחרוזת. 778 00:35:35,690 --> 00:35:38,630 אשר היא רק מילה, ביטוי, סעיף, מאמר, כל מה. 779 00:35:38,630 --> 00:35:40,830 זה רצף של תווים של כמה אורך. 780 00:35:40,830 --> 00:35:42,820 ואנו רואים לפני זמן רב כמה מאלה ואחרים. 781 00:35:42,820 --> 00:35:45,950 אבל אחוזים ג הוא לתו בודד. 782 00:35:45,950 --> 00:35:48,500 f אחוזים היא ל מספר עשרוני, 783 00:35:48,500 --> 00:35:50,860 כמו מספר אמיתי שיש נקודה עשרונית בזה, ש 784 00:35:50,860 --> 00:35:52,550 הוא כמובן אינו מספר שלם. 785 00:35:52,550 --> 00:35:54,670 ויש כל כמו גם חבורה של אחרים. 786 00:35:54,670 --> 00:35:56,990 >> בינתיים בC, ו בהרבה שפות, 787 00:35:56,990 --> 00:35:58,650 יש לנו נתונים מסוגים שונים. 788 00:35:58,650 --> 00:36:00,650 סוגים שונים של זכוכית קערות אם תרצה. 789 00:36:00,650 --> 00:36:03,830 הקערה הייתי בפעם האחרונה היה לכדורי פינג פונג, 790 00:36:03,830 --> 00:36:06,990 אבל אנחנו גם יכולים לאחסן שונים ערכים כמו תווים ומחרוזות 791 00:36:06,990 --> 00:36:10,820 ומספרים שלמים במכל, כמו משתנה, יש וC אלה. 792 00:36:10,820 --> 00:36:14,020 תו הוא הסוג של נתונים, סוג משתנה, 793 00:36:14,020 --> 00:36:15,700 שבו אתה יכול לאחסן אופי. 794 00:36:15,700 --> 00:36:19,560 Float הוא סוג של משתנה ב שבו אתה יכול לאחסן מספר אמיתי. 795 00:36:19,560 --> 00:36:21,220 >> Int הוא כמובן לint. 796 00:36:21,220 --> 00:36:23,760 ולא עד כדי גיחוך שם ארוך ארוך 797 00:36:23,760 --> 00:36:26,830 המקום שבו אתה יכול לאחסן במהות מספר ממש ארוך, עם אף 798 00:36:26,830 --> 00:36:29,930 יותר ספרות אז חנות כוח int טיפוסית. 799 00:36:29,930 --> 00:36:32,420 אבל אנחנו נחזור לזה לפני זמן רב. 800 00:36:32,420 --> 00:36:35,520 >> בשעתי נקודת CS50 בינתיים קובץ הכותרת האחר 801 00:36:35,520 --> 00:36:37,630 שראינו כמה פעמים בשימוש, יש 802 00:36:37,630 --> 00:36:41,350 שני סוגי נתונים אחרים ש לא קיים בC בדרך כלל. 803 00:36:41,350 --> 00:36:45,000 אחד מהם הוא מחרוזת, ואנו רואים ב כמה שבועות מה מחרוזות באמת 804 00:36:45,000 --> 00:36:46,610 הם מתחת למכסת המנוע. 805 00:36:46,610 --> 00:36:47,950 ואחד הוא בול. 806 00:36:47,950 --> 00:36:51,650 וbool הוא משתנה ש רק יכול לקחת על ערכים מסוימים. 807 00:36:51,650 --> 00:36:54,370 ורק על סמך השבוע שעבר הסבר של Scratch, 808 00:36:54,370 --> 00:36:56,680 ולאחרונה ג, מה היית לנחש 809 00:36:56,680 --> 00:37:01,770 שני ערכים אפשריים עבור כמה מיכל שהוא של bool הסוג? 810 00:37:01,770 --> 00:37:02,860 >> כן ולא. 811 00:37:02,860 --> 00:37:03,870 אחת ואפס. 812 00:37:03,870 --> 00:37:04,502 אמת או שקר. 813 00:37:04,502 --> 00:37:07,460 ואכן זה האחרון שנוטה להיות קונבנציונלי בתכנות 814 00:37:07,460 --> 00:37:10,030 שפה, משהו אומר כמו אמת או שקר. 815 00:37:10,030 --> 00:37:13,160 >> בינתיים ספריית CS50 מגיעה עם חבורה של פונקציונליות 816 00:37:13,160 --> 00:37:16,640 שצוות כתב לך, חוץ מזה פשוט מקבל מחרוזת. 817 00:37:16,640 --> 00:37:20,910 שכתבנו בפונקציות מראש ש יכול לקבל מספר שלם מהמשתמש, 818 00:37:20,910 --> 00:37:22,990 לקבל תו בודד, לקבל לצוף, ש 819 00:37:22,990 --> 00:37:25,160 הוא רק מספר עם הנקודה העשרונית. 820 00:37:25,160 --> 00:37:28,290 קבל ארוך ארוך, באמת ערך גדול מהמשתמשים. 821 00:37:28,290 --> 00:37:30,930 אז שראינו את זה רק ב פעולה בצורה של GetString. 822 00:37:30,930 --> 00:37:33,230 אבל באמצעות פונקציות אלה בקרוב תוכל לכתוב 823 00:37:33,230 --> 00:37:36,070 תוכניות שתקבלנה קלט מהמשתמש. 824 00:37:36,070 --> 00:37:39,230 >> בינתיים לשקול את זה תכנית, ולשקול 825 00:37:39,230 --> 00:37:42,600 איך אנחנו יכולים עכשיו להתחיל להוסיף לזה עם מבנים חדשים. 826 00:37:42,600 --> 00:37:44,530 סיור מערבולת מהיר ואז נראים 827 00:37:44,530 --> 00:37:47,340 בחלק כתיבת חלק תוכניות באופן ידני את עצמנו. 828 00:37:47,340 --> 00:37:49,700 מכאן ואילך אם אנחנו רוצים ליישם תנאי, 829 00:37:49,700 --> 00:37:52,790 זה לא הולך להיראות כמו חתיכה קטנה ונחמדה די חידה. 830 00:37:52,790 --> 00:37:54,460 זה הולך להיראות קצת יותר מסתורי. 831 00:37:54,460 --> 00:37:57,620 אבל זה הקנונית מבנה של מצב בג 832 00:37:57,620 --> 00:38:00,380 >> המילה אם, שני סוגריים, ובתוכה 833 00:38:00,380 --> 00:38:02,590 הוא הולך להיות מסוג כלשהו ביטוי בוליאני. 834 00:38:02,590 --> 00:38:04,999 עכשיו לוכסן הלוכסן באמצע, זה הוא 835 00:38:04,999 --> 00:38:07,290 ברגע כמו סוג של מציין מיקום קוד pseudocode. 836 00:38:07,290 --> 00:38:11,576 אבל יותר כראוי, כל שורת קוד בC שמתחילה עם קו נטוי קו נטוי 837 00:38:11,576 --> 00:38:12,850 היא תגובה. 838 00:38:12,850 --> 00:38:15,920 >> זה כמו פתק דביק, כי ייתכן לשים על מאמר, מודפס על נייר. 839 00:38:15,920 --> 00:38:17,290 זה פתק לעצמך. 840 00:38:17,290 --> 00:38:20,100 אין לו פונקציונלי השפעה על התכנית. 841 00:38:20,100 --> 00:38:23,580 זה סוג של תזכורת, זה שלך תיעוד על מה שקורה. 842 00:38:23,580 --> 00:38:25,720 אז לעשות את זה באותו הרגע הוא סוג של שומר מקום 843 00:38:25,720 --> 00:38:27,560 לכל מה שיש בפנים של סוגריים המסולסלים אלה 844 00:38:27,560 --> 00:38:29,810 סופו של דבר הוא הולך לעשות משהו. 845 00:38:29,810 --> 00:38:35,160 >> בינתיים יש לך שני מזלגות ב כביש, אם אחר לבנות כזה. 846 00:38:35,160 --> 00:38:37,024 אתה יכול אם, elseif, אחר. 847 00:38:37,024 --> 00:38:39,690 עכשיו זה ראוי לציין, במיוחד אם אתה כבר Googling סביב 848 00:38:39,690 --> 00:38:42,480 מקוון למשאבים מתוך סקרנות, או אם אתה מרים 849 00:38:42,480 --> 00:38:44,575 אחד מהקורס של ספרים מומלצים על C, 850 00:38:44,575 --> 00:38:48,430 אתה תראה שבני האדם יש הרבה העדפות שונות של איך 851 00:38:48,430 --> 00:38:50,510 לבטא את עצמם בקוד. 852 00:38:50,510 --> 00:38:53,800 יש אנשים שאוהבים לשים את סוגריים מסולסלים כפי שעשיתי כאן. 853 00:38:53,800 --> 00:38:57,760 יש אנשים שאוהבים לשים מתולתל פלטה למשל כאן. 854 00:38:57,760 --> 00:39:01,700 >> יש אנשים שאוהבים לשים את elses עד כאן ואז זה כאן. 855 00:39:01,700 --> 00:39:05,120 יש כל מספר של דרכים קוד כתיבה, ואף אחד מהם 856 00:39:05,120 --> 00:39:06,566 צודק כשלעצמו. 857 00:39:06,566 --> 00:39:08,440 למרות שיש כמה כי הם די בסדר. 858 00:39:08,440 --> 00:39:11,315 אבל יש no-- אם זה סופו של דבר ויכוח דתי מאוד. 859 00:39:11,315 --> 00:39:13,940 למעשה, אחד מהכי מעצבן דברים על מדעי מחשב 860 00:39:13,940 --> 00:39:16,310 איך דעתן מדעני מחשב יכולים להיות. 861 00:39:16,310 --> 00:39:19,880 ואתה תגלה עם זמן ש אפילו לך לפתח את העדפות אישיות 862 00:39:19,880 --> 00:39:22,130 לגבי איך הקוד שלך צריך להיראות. 863 00:39:22,130 --> 00:39:27,162 >> לא רק להתנהג, לא רק ליצור פלט, אבל איך זה צריך להיראות מבחינה אסתטית. 864 00:39:27,162 --> 00:39:30,120 אז מה שנעשינו הוא ידריך אותך לאורך את הדרך ל, לעת עתה לפחות, 865 00:39:30,120 --> 00:39:34,825 סגנון CS50 סטנדרטי שלפחות שומר על דברים אחידים וקל לקריאה. 866 00:39:34,825 --> 00:39:37,330 אבל נוסף על אלה הבחנות לפני זמן רב. 867 00:39:37,330 --> 00:39:41,830 >> ביטוי בוליאני בC, אם אתה רציתי לומר אם מצב זה הוא אמיתי 868 00:39:41,830 --> 00:39:44,650 ומצב אחר זה הוא נכון, אתה לא כותב את המילה 869 00:39:44,650 --> 00:39:46,610 ו, כפי שהיית באנגלית. 870 00:39:46,610 --> 00:39:50,580 אתה במקום להשתמש אמפרסנד אמפרסנד, מסיבות שנחזור ל. 871 00:39:50,580 --> 00:39:54,520 אם אתה רוצה לומר או שאתה משתמש בשני קווים אנכיים, שעל לוח מקשים של ארה"ב 872 00:39:54,520 --> 00:39:57,650 הוא בדרך כלל מעל לזן הבא מפתח לקו הנטוי. 873 00:39:57,650 --> 00:40:03,080 וזה רק אומר שאם מצב זה או מצב אחר זה נכון לעשות את זה. 874 00:40:03,080 --> 00:40:05,210 >> בינתיים יש את זה דבר מטורף, ש 875 00:40:05,210 --> 00:40:07,760 יהיה לך הזדמנות להשתמש פעם בכמה זמן. 876 00:40:07,760 --> 00:40:10,390 אבל זה רק חלופי דרך להביע את עצמך. 877 00:40:10,390 --> 00:40:12,400 זה, לעת עתה, בוא קובע, זה רק 878 00:40:12,400 --> 00:40:16,880 דרך פאנקי נוספת להביע אם, elseif, elseif, elseif, elseif. 879 00:40:16,880 --> 00:40:19,720 זה פשוט מעוצב במונחים של מקרים, שבו אתה, פשוטו כמשמעו, 880 00:40:19,720 --> 00:40:23,420 למנות את הערכים ש אולי כדאי לך לבדוק. 881 00:40:23,420 --> 00:40:24,410 >> בינתיים לולאות. 882 00:40:24,410 --> 00:40:26,842 ראינו השוואה של גרד עם לולאה. 883 00:40:26,842 --> 00:40:29,550 ואני הולך לנופף את היד שלי ב מה כל אחד מהדברים האלה אומר. 884 00:40:29,550 --> 00:40:33,520 אבל שים לב שלולאה יהיה מאוד לעתים קרובות להתחיל עם מילת המפתח. 885 00:40:33,520 --> 00:40:36,350 או שזה יתחיל עם זמן שמילת המפתח. 886 00:40:36,350 --> 00:40:41,360 או שזה יתחיל עם מילות מפתח לעשות, ומסתיים בעת שמילת המפתח. 887 00:40:41,360 --> 00:40:43,920 >> אבל מה שאנחנו עומדים לראות הוא דברים יותר כמו זה. 888 00:40:43,920 --> 00:40:47,950 הנה, באופן כללי בC, איך אתה יכול להצהיר על משתנה ולתת לו ערך. 889 00:40:47,950 --> 00:40:50,610 ב C זה לא יספיק, כמו בסריטות, אתה פשוט 890 00:40:50,610 --> 00:40:52,810 אומר לי משהו משתנה בשם. 891 00:40:52,810 --> 00:40:55,960 אתה צריך להגיד לי C, ולספר לי המהדר שלך, לייתר דיוק, 892 00:40:55,960 --> 00:40:58,680 איזה סוג של ערך אתה רוצה לשים בקערת הזכוכית. 893 00:40:58,680 --> 00:40:59,610 >> האם זה מספר שלם? 894 00:40:59,610 --> 00:41:02,210 אם כך, יש לך ל פשוטו כמשמעו אומר int ולאחר מכן 895 00:41:02,210 --> 00:41:04,220 השם המשתנה, לאחר מכן פסיק. 896 00:41:04,220 --> 00:41:08,050 אם, במקום זאת רצה מחרוזת וקרא זה זה כמו שאני עשיתי בקוד שלי כאן היום, 897 00:41:08,050 --> 00:41:10,920 היית אומר פסיק של המחרוזת. 898 00:41:10,920 --> 00:41:14,200 ברגע שאתה רוצה לתת לו ערך אז אתה יכול להשתמש בסימן השוויון, 899 00:41:14,200 --> 00:41:16,211 הידוע גם ב אופרטור השמה. 900 00:41:16,211 --> 00:41:17,960 ושים לב איך כל אחד שורות קוד הבאות 901 00:41:17,960 --> 00:41:20,650 יש פסיק בסוף זה. 902 00:41:20,650 --> 00:41:22,550 >> אבל בכנות, זה פשוט נראה קצת מכוער. 903 00:41:22,550 --> 00:41:26,580 למה אני לא יכול להגיד למחשב, לתת לי שלי משתנה ולאתחל אותו לאפס. 904 00:41:26,580 --> 00:41:28,380 כלומר, תן לי קערת זכוכית ריקה. 905 00:41:28,380 --> 00:41:28,980 בזמן שאתה יכול. 906 00:41:28,980 --> 00:41:32,250 וכך אחד של פסק הדין קורא יגיד לך צריך לעשות בחינה סגנונית לאורך זמן 907 00:41:32,250 --> 00:41:36,290 הוא, אתה כותב את הקוד שלך כמו זה, או אתה סוג של לנקות אותו ולהרשים 908 00:41:36,290 --> 00:41:39,040 אנשים על ידי כתיבת שני קווים כאחד. 909 00:41:39,040 --> 00:41:41,830 וזה ייחשב בדרך כלל דרך אלגנטית יותר 910 00:41:41,830 --> 00:41:43,870 כתיבת הקוד שלך מבחינה סגנונית. 911 00:41:43,870 --> 00:41:45,200 >> פונקציות אנחנו כמובן ראינו. 912 00:41:45,200 --> 00:41:46,340 הם הולכים לקחת את הפורמט הזה. 913 00:41:46,340 --> 00:41:48,881 השם של פונקציה, כמה סוגריים, ולאחר מכן אולי קצת 914 00:41:48,881 --> 00:41:49,910 דברים בפנים. 915 00:41:49,910 --> 00:41:52,540 או שאולי אתה רואה את השימושים של צד פונקציות מרובות 916 00:41:52,540 --> 00:41:55,980 לצד זה, כמו משהו כזה. 917 00:41:55,980 --> 00:41:59,390 עכשיו כמשיק, עושה הבדיחה הזאת עכשיו הגיונית? 918 00:41:59,390 --> 00:42:03,566 919 00:42:03,566 --> 00:42:04,960 >> [שחוק] 920 00:42:04,960 --> 00:42:09,360 זה לא אומר שזה מצחיק, אבל זה אין אולי לעשות יותר הגיוני. 921 00:42:09,360 --> 00:42:12,140 אז עכשיו בואו נלך ל מכשיר CS50 לרגע. 922 00:42:12,140 --> 00:42:14,640 ותנו לי לפתוח את טיזר אחד כאן. 923 00:42:14,640 --> 00:42:17,470 >> ואכן אחת הסיבות להצגת קטלוג איקאה 924 00:42:17,470 --> 00:42:20,080 ומהבהב התמונה של iPhone לפני קצת 925 00:42:20,080 --> 00:42:24,700 היה למעשה לקשור ביחד עובדה שרק לפני כמה שנים, בשנת 2007, 926 00:42:24,700 --> 00:42:26,540 פיסת הקוד זה הייתה שוחרר, ש 927 00:42:26,540 --> 00:42:29,820 אחד מיישום הראשון של פיסת התוכנה 928 00:42:29,820 --> 00:42:31,494 שעושה מה שנקרא jailbreaking. 929 00:42:31,494 --> 00:42:34,410 למי שלא מכיר, jailbreaking משהו כמו טלפון או iPhone 930 00:42:34,410 --> 00:42:37,680 משמעות הדבר היא במהות חישוב איך לעשות את הדברים 931 00:42:37,680 --> 00:42:39,864 עם זה שהחברה שעשה את זה לא התכוון. 932 00:42:39,864 --> 00:42:42,780 כמו שאתה רוצה להתקין מסוים תוכנה שלא בחנות היישומים, 933 00:42:42,780 --> 00:42:45,405 Jailbreaking הטלפון שלך ש אתה עושה את דברים כמו ושעוד. 934 00:42:45,405 --> 00:42:47,447 אבל מה שהיה כיף ב 2007-- ויש כבר 935 00:42:47,447 --> 00:42:49,780 עשרות גרסאות שונות מהדברים האלה מאז, 936 00:42:49,780 --> 00:42:53,540 בכל מיני languages-- הוא ש תכנית זו כאן, בשם iUnlock, 937 00:42:53,540 --> 00:42:57,036 למעשה נכתב בג ולכן אני עצרתי את קוד המקור של זה, 938 00:42:57,036 --> 00:42:59,910 רק כדי להראות סוג של לך כמה קווי הדמיון עם בונה 939 00:42:59,910 --> 00:43:01,450 אנחנו כבר דנים בכך הרבה. 940 00:43:01,450 --> 00:43:05,150 עכשיו יש הרבה יותר מורכבות כאן ממה שראינו כבר בכיתה. 941 00:43:05,150 --> 00:43:07,160 תן לי לגלול למעלה קצת כאן. 942 00:43:07,160 --> 00:43:11,520 >> אבל שים לב these-- גם אנחנו שמים לב כמה things-- שלא להבחין שורות אלה כאן, 943 00:43:11,520 --> 00:43:14,090 כולל h נקודת קלט / פלט הסטנדרטי. 944 00:43:14,090 --> 00:43:17,660 וall-- קו 24, please-- שם לב שאני סטנדרטי / פלט 945 00:43:17,660 --> 00:43:21,380 h נקודה וחבורה של אחרת לגמרי קבצים שאנשים אחרים כנראה 946 00:43:21,380 --> 00:43:22,160 כתב. 947 00:43:22,160 --> 00:43:24,850 ואם אנחנו לגלול למטה דרך זה, קטן באופן שרירותי, 948 00:43:24,850 --> 00:43:27,910 שים לב אני לא יודע איך לכתוב כל זה בעצמי בהכרח עדיין, 949 00:43:27,910 --> 00:43:28,880 אבל יש אם. 950 00:43:28,880 --> 00:43:30,400 אז כנראה יש לזה סניף. 951 00:43:30,400 --> 00:43:33,210 >> ואם אני לגלול למטה קצת עוד יש עוד אם. 952 00:43:33,210 --> 00:43:38,210 אם אני לגלול למעלה, אני חושב ש סביב קו 100 ראיתי ל. 953 00:43:38,210 --> 00:43:40,020 אז אני לא ממש בטוח איך זה עובד עדיין, 954 00:43:40,020 --> 00:43:43,180 אבל זה ללולאה שהולכת תן לי לחזר כמה וכמה פעמים. 955 00:43:43,180 --> 00:43:45,230 ואם אני לגלול את כל בדרך לתחתית 956 00:43:45,230 --> 00:43:51,020 אני רואה שיש לתפקד כאן למטה נקרא 957 00:43:51,020 --> 00:43:54,570 עיקרי, וכמה נקודות זכות נוספות להנאת הקריאה שלך. 958 00:43:54,570 --> 00:43:57,830 >> אז זה רק לsay-- ונשים את זה באינטרנט בין המקור של הקורס 959 00:43:57,830 --> 00:44:01,480 קוד today-- שאפילו חלק מאלה מכשירים שאנחנו לוקחים כמובן מאליו, 960 00:44:01,480 --> 00:44:05,130 בסופו של היום אתה עדיין באמצעות מבנים בסיסיים אלה שיש לנו 961 00:44:05,130 --> 00:44:07,430 כבר מציג כבר עד כה. 962 00:44:07,430 --> 00:44:08,620 זה מספיק שאחד. 963 00:44:08,620 --> 00:44:11,480 בסדר, אז עכשיו בואו למעשה לבנות משהו. 964 00:44:11,480 --> 00:44:15,640 >> בואו נלך מעבר למשהו כמו hello.c, ולפתוח את זה, 965 00:44:15,640 --> 00:44:17,170 בואו לכתוב תכנית זו כאן. 966 00:44:17,170 --> 00:44:19,850 אני הולך קדימה, לכתוב תכנית בשם adder.c, 967 00:44:19,850 --> 00:44:23,310 מטרתם בחיים הולכת להיות כמו המחשבון פשוט הסופר הראשון שלי 968 00:44:23,310 --> 00:44:24,840 זה מוסיף כמה מספרים רק. 969 00:44:24,840 --> 00:44:27,050 לא בגלל שזה קשה בעיה, אלא משום שהיא 970 00:44:27,050 --> 00:44:29,390 מאפשר לי לקשור עכשיו יחד כמה דברים. 971 00:44:29,390 --> 00:44:33,100 אז אני הולך קדימה ולכלול אני סטנדרטי / h נקודת O וh נקודת CS50. 972 00:44:33,100 --> 00:44:34,670 אני הולך לומר void main int. 973 00:44:34,670 --> 00:44:36,545 ושוב בעתיד אנחנו נחזור אליו 974 00:44:36,545 --> 00:44:38,560 בהקשר זה ובאמצעים החלל. 975 00:44:38,560 --> 00:44:43,340 >> ועכשיו אני הולך להגיד משהו כמו printf, תן לי את מספר שלם. 976 00:44:43,340 --> 00:44:47,610 ועכשיו על הקו השני שלי, איך אני מבטא את עצמי כזה 977 00:44:47,610 --> 00:44:50,980 כי אני רוצה להצהיר על משתנה זה הולך לאחסן int? 978 00:44:50,980 --> 00:44:55,470 פשוטו כמשמעו מה אני מקליד אם אני רוצה ליצור משתנה שמאחסן int 979 00:44:55,470 --> 00:44:58,270 היית אומר? 980 00:44:58,270 --> 00:44:59,650 int שווה getint. 981 00:44:59,650 --> 00:45:00,485 בטוח, כך שעובד. 982 00:45:00,485 --> 00:45:02,360 ורק לשם עקביות עם קוד שתהיה 983 00:45:02,360 --> 00:45:04,485 לראות באינטרנט, תן לי שינוי זה לx, רק בגלל שx 984 00:45:04,485 --> 00:45:06,830 הוא שם משתנה נפוץ להשתמש, לפחות באלגברה. 985 00:45:06,830 --> 00:45:08,720 עכשיו תנו לי ללכת קדימה ולעשות printf שוב. 986 00:45:08,720 --> 00:45:10,692 תן לי את מספר שלם אחר. 987 00:45:10,692 --> 00:45:12,900 ועכשיו אני הולך לסוג של ללמוד מדפוס ש, 988 00:45:12,900 --> 00:45:14,490 אני הולך לומר y int מקבל GetInt. 989 00:45:14,490 --> 00:45:16,340 >> ואנחנו כבר לא בשימוש GetInt לפני, אבל רק 990 00:45:16,340 --> 00:45:19,860 כמו GetString הולך ומקבל מחרוזת, כמו חוויאר עשה מהקהל, 991 00:45:19,860 --> 00:45:22,780 באופן דומה עושה GetInt תתחיל להבהב הפקודה. 992 00:45:22,780 --> 00:45:26,750 וביעילות מחכה למשתמש כדי לתת לו מספר שלם, על ידי ההקלדה ב 993 00:45:26,750 --> 00:45:27,900 ולהכות על Enter. 994 00:45:27,900 --> 00:45:30,850 עכשיו סוף סוף אני הולך לעשות זה, printf הסכום of-- 995 00:45:30,850 --> 00:45:36,080 ותן לי להביא now-- המפואר אני אחוזים ואני אחוזים הוא הווה 996 00:45:36,080 --> 00:45:39,270 אני קריאת n קו נטוי נקודה. 997 00:45:39,270 --> 00:45:42,750 ומה אתה חושב שאני הולך ל לשים בחברה כתשומות נוספות 998 00:45:42,750 --> 00:45:44,620 לprintf? 999 00:45:44,620 --> 00:45:47,380 >> אני לא רוצה לומר פשוטו כמשמעו לצטט x סוף ציטוט. 1000 00:45:47,380 --> 00:45:52,210 אני רוצה לכיתה בx ו לאחר מכן, ועכשיו בואו לקבל מפואר 1001 00:45:52,210 --> 00:45:54,420 ובואו פשוט להניח אנחנו יכולים לעשות מה שאנחנו רוצים. 1002 00:45:54,420 --> 00:45:56,330 מה אתה רוצה להגיד? 1003 00:45:56,330 --> 00:45:57,070 X ועוד Y. 1004 00:45:57,070 --> 00:45:58,520 ואכן זה יעבוד. 1005 00:45:58,520 --> 00:46:01,760 זה מינימאלי שפות תכנות מבין חשבון בסיסי, 1006 00:46:01,760 --> 00:46:03,500 וכך זה צריכה למעשה עבודה. 1007 00:46:03,500 --> 00:46:06,730 >> אז תן לי ללכת קדימה ועושים אפעה בחלון השחור ולבן שלי 1008 00:46:06,730 --> 00:46:08,090 כאן למטה, הזן. 1009 00:46:08,090 --> 00:46:10,830 שורה נסתר, אבל אין שגיאה הודעה, כך שזה טוב. 1010 00:46:10,830 --> 00:46:14,410 דוט לקצץ אפעה, לתת לי מספר שלם, 1. 1011 00:46:14,410 --> 00:46:16,230 תן לי את מספר שלם אחר, 2. 1012 00:46:16,230 --> 00:46:18,770 הסכום של 1 ו -2 הוא 3. 1013 00:46:18,770 --> 00:46:21,730 >> בסדר, אז די טריוויאלי תכנית, אבל מה זה נעשה? 1014 00:46:21,730 --> 00:46:25,680 זה אפשר לי להשתמש בפונקציה קורא כאן, לקרוא לפונקציה אחרת כאן, 1015 00:46:25,680 --> 00:46:29,260 שתי שיחות לGetInt, שיחה שלישית לprintf, 1016 00:46:29,260 --> 00:46:30,720 ולאחר מכן באמצעות מצייני מיקום אלה. 1017 00:46:30,720 --> 00:46:33,160 אז זה קצת יותר מתוחכם יותר מהפעם האחרונה. 1018 00:46:33,160 --> 00:46:35,260 אבל מה אם אני רוצה לקבל קצת מגדלת? 1019 00:46:35,260 --> 00:46:38,900 >> תן לי ללכת קדימה ועכשיו לעשות את זה. 1020 00:46:38,900 --> 00:46:42,890 תן לי ללכת קדימה וליצור קובץ חדש בשם תנאים אפס. 1021 00:46:42,890 --> 00:46:44,890 ואני הולך להציל כמה זמן למען כיתות 1022 00:46:44,890 --> 00:46:48,260 ופשוט להדביק שב קוד כנקודת התחלה. 1023 00:46:48,260 --> 00:46:51,510 ועכשיו אני רק הולך לשים משהו חדש כאן באמצע. 1024 00:46:51,510 --> 00:46:55,889 אז printf הייתי רוצה שלם בבקשה. 1025 00:46:55,889 --> 00:46:58,180 וכל הקוד הזה הוא זמין באתר האינטרנט של הקורס, 1026 00:46:58,180 --> 00:47:00,556 אתה לא צריך להקליד את כל זה בכיתה אם אתה מעדיף שלא. 1027 00:47:00,556 --> 00:47:02,638 int, ועכשיו אני הולך להשתמש, במקום x, y, 1028 00:47:02,638 --> 00:47:05,270 אני הולך להשתמש בn, שהוא כנראה השם הנפוץ ביותר 1029 00:47:05,270 --> 00:47:09,220 עבור מספר שלם בתוכנת מחשב. 1030 00:47:09,220 --> 00:47:12,060 ועכשיו אני רוצה לעשות פסק דין קטן כאן. 1031 00:47:12,060 --> 00:47:15,460 אני הולך כדי לראות אם n גדול מ 0, אז 1032 00:47:15,460 --> 00:47:23,670 אני הולך לומר אופס printf--, printf-- שבחרת מספר חיובי, 1033 00:47:23,670 --> 00:47:25,370 n קו נטוי סימן קריאה. 1034 00:47:25,370 --> 00:47:26,460 סגור את זה. 1035 00:47:26,460 --> 00:47:33,150 אחר אני הולך להדפיס את printf אתה הרים מספר שלילי. 1036 00:47:33,150 --> 00:47:35,377 >> עכשיו לפני שאתה צועק עליי, בואו נריץ את התכנית. 1037 00:47:35,377 --> 00:47:36,210 תן לי ללכת לכאן. 1038 00:47:36,210 --> 00:47:40,730 וכיצד אוכל לקמפל תכנית נקרא מקף תנאי 0? 1039 00:47:40,730 --> 00:47:42,300 הפוך מקף תנאי 0. 1040 00:47:42,300 --> 00:47:45,560 סוג של שם טיפשי, but-- לכל הרוחות. 1041 00:47:45,560 --> 00:47:47,560 אישור, רגע הוראה טוב. 1042 00:47:47,560 --> 00:47:48,410 למה שתשבור? 1043 00:47:48,410 --> 00:47:51,360 1044 00:47:51,360 --> 00:47:54,710 >> מה שאני לא קורא בטעות קובץ זה? 1045 00:47:54,710 --> 00:47:56,876 סוג של אתה יכול להסיק מהכרטיסייה עד כאן. 1046 00:47:56,876 --> 00:47:58,750 אז זה לא רע שאני עשה את זה, כי זה 1047 00:47:58,750 --> 00:48:00,208 יקרה אולי לחלק מכם. 1048 00:48:00,208 --> 00:48:03,880 אז אני בשם בטעות שלי מצב קוד מקור 0. 1049 00:48:03,880 --> 00:48:09,950 אבל צריך את קוד המקור שלי על ידי אמנה להיות בקובץ שנקרא מצב 0 מקף ג, 1050 00:48:09,950 --> 00:48:11,720 או מה שהנקודה ג. 1051 00:48:11,720 --> 00:48:12,610 >> אז תן לי לתקן את זה. 1052 00:48:12,610 --> 00:48:16,880 בדיוק כמו Microsoft Word אני יכול לעלות לשמירה ובלעשות מצב 0 נקודה ג. 1053 00:48:16,880 --> 00:48:20,100 עכשיו רק כדי להיות מסודר אני הולך קדימה ולהסיר 1054 00:48:20,100 --> 00:48:23,020 מצב 0, שהיה הגרסה הישנה שלי. 1055 00:48:23,020 --> 00:48:26,550 ועכשיו בואו עושים מצב 0, הזן. 1056 00:48:26,550 --> 00:48:27,870 אישור, נראה טוב. 1057 00:48:27,870 --> 00:48:29,510 >> מצב 0, הזן. 1058 00:48:29,510 --> 00:48:33,530 אני רוצה שלם בבקשה, 50, אתה הרים מספר חיובי. 1059 00:48:33,530 --> 00:48:35,390 עכשיו מה דעתך על 50 שליליים? 1060 00:48:35,390 --> 00:48:37,660 אתה הרים מספר שלילי. 1061 00:48:37,660 --> 00:48:39,605 מה דעתך על עכשיו, 0. 1062 00:48:39,605 --> 00:48:42,250 1063 00:48:42,250 --> 00:48:45,350 די בטוח ש0 לא שליליים. 1064 00:48:45,350 --> 00:48:47,780 >> אז זה סוג של באג לוגי. 1065 00:48:47,780 --> 00:48:50,680 כיצד אוכל לתקן את זה? 1066 00:48:50,680 --> 00:48:57,260 אחר אם n הוא פחות מ 0, לעשות את זה, אחר יכול להיות לנו סניף שלוש דרך לכאן, 1067 00:48:57,260 --> 00:49:01,740 printf שבחרת 0. 1068 00:49:01,740 --> 00:49:06,150 אז עכשיו אם אני מפעיל מחדש זה תכנית, לאחר קומפילציה זה 1069 00:49:06,150 --> 00:49:10,790 שוב עם איפור, ועכשיו הפעל מחדש מצב 0, מה שאני רואה כאן 1070 00:49:10,790 --> 00:49:14,570 הוא 0 נותן לי פלט ש. 1071 00:49:14,570 --> 00:49:16,280 אז לאן אנחנו הולכים עם זה? 1072 00:49:16,280 --> 00:49:18,930 >> ובכן זה קל מאוד לאבד את הראייה של היער מרוב העצים. 1073 00:49:18,930 --> 00:49:23,590 וכך לאפשר לנו להגיע למסקנה עם וידאו 2 ו1/2 רגע זה 1074 00:49:23,590 --> 00:49:25,710 שסופו של דבר הוא קצת של מודעה של גוגל, 1075 00:49:25,710 --> 00:49:28,850 אבל זה באמת הוא עדות ל מה גם באמצעות בניין הבסיסי אלה 1076 00:49:28,850 --> 00:49:33,020 לוקינו סופו של דבר יכולים לעשות פעם אחת יש לנו קצת תכנות 1077 00:49:33,020 --> 00:49:34,463 מתמצא תחת חגורות שלנו. 1078 00:49:34,463 --> 00:49:35,150 >> [השמעת מוסיקה] 1079 00:49:35,150 --> 00:49:38,370 1080 00:49:38,370 --> 00:49:40,540 >> SAROO ברירלי (קריינות): זה היה לפני 26 שנים, 1081 00:49:40,540 --> 00:49:42,470 ובדיוק עמד להפוך 5. 1082 00:49:42,470 --> 00:49:45,465 הגענו לתחנת הרכבת ו על על הרכבת שלנו יחד. 1083 00:49:45,465 --> 00:49:48,010 האח שלי פשוט אמרתי שאני להישאר כאן, ואני אחזור. 1084 00:49:48,010 --> 00:49:51,140 ואני רק חשבתי, גם אתה יודע, אני יכול גם פשוט ללכת לישון 1085 00:49:51,140 --> 00:49:52,690 והוא פשוט להעיר אותי. 1086 00:49:52,690 --> 00:49:55,145 וכשהתעוררתי הבא היום, כל הקרון 1087 00:49:55,145 --> 00:49:59,125 הייתה ריק ברכבת דוהרת, רוח רפאים רכבת לוקחת אותי אני לא יודע מאיפה. 1088 00:49:59,125 --> 00:50:01,980 1089 00:50:01,980 --> 00:50:06,280 >> אני מאומץ מחוץ לאוסטרליה, למשפחה אוסטרלית. 1090 00:50:06,280 --> 00:50:09,710 ואמא קשטה חדר עם המפה של הודו, 1091 00:50:09,710 --> 00:50:11,950 שהיא הניחה ליד המיטה שלי. 1092 00:50:11,950 --> 00:50:15,830 התעוררתי כל בוקר רואה מפה ש, ומכאן 1093 00:50:15,830 --> 00:50:18,530 זה המשיך סוג של הזיכרונות בחיים. 1094 00:50:18,530 --> 00:50:20,530 אנשים היו אומרים, אתה מנסה למצוא מחט 1095 00:50:20,530 --> 00:50:23,560 בערימת שחת, Saroo אף פעם לא תמצא את זה. 1096 00:50:23,560 --> 00:50:28,540 >> הייתי הבזיק של המקומות שאני נהג ללכת, ההבזקים של המשפחה שלי 1097 00:50:28,540 --> 00:50:29,890 פרצופים. 1098 00:50:29,890 --> 00:50:34,060 הייתה התמונה של האמא שלי, יושב ברגליים משוכלות, 1099 00:50:34,060 --> 00:50:35,740 רק צופה לה לבכות. 1100 00:50:35,740 --> 00:50:38,160 חיים הוא פשוט כל כך קשה. 1101 00:50:38,160 --> 00:50:41,237 זה היה אוצר שלי. 1102 00:50:41,237 --> 00:50:44,320 ואני מסתכל על מפת גוגל ו הבין שיש Google Earth, וכן. 1103 00:50:44,320 --> 00:50:48,140 בעולם שבו אתה יכול להתקרב ל, התחלתי לקבל את כל המחשבות האלה 1104 00:50:48,140 --> 00:50:51,500 ומה אפשרויות כי זה יכול לעשות בשבילי. 1105 00:50:51,500 --> 00:50:54,890 אמרתי לעצמי, אתה יודע, יש לך קיבלתי את כל זכרונות צילום אלה 1106 00:50:54,890 --> 00:50:58,590 וציוני דרך מאיפה אתה, ו אתה יודע מה העיר נראית כמו. 1107 00:50:58,590 --> 00:51:03,060 זה יכול להיות יישום ש אתה יכול להשתמש בו כדי למצוא את הדרך חזרה. 1108 00:51:03,060 --> 00:51:06,720 >> חשבתי, גם אני אשים נקודה על תחנת רכבת בכלכתה, 1109 00:51:06,720 --> 00:51:10,890 וקו רדיוס, אתה יודע, שאתה יש בחיפוש באזור זה. 1110 00:51:10,890 --> 00:51:13,750 באתי סוג של מעבר פסי רכבת אלה. 1111 00:51:13,750 --> 00:51:18,160 ואני התחלתי לעקוב אחריו, ו הגעתי לתחנת רכבת ש 1112 00:51:18,160 --> 00:51:22,228 שיקף את אותה תמונה שהיה בזיכרונות שלי. 1113 00:51:22,228 --> 00:51:23,707 כל מה שתאם. 1114 00:51:23,707 --> 00:51:27,950 אני רק חשבתי שכן, אני יודע לאן אני הולך. 1115 00:51:27,950 --> 00:51:30,116 אני רק הולך לתת לי המפה שיש לי בראש שלי 1116 00:51:30,116 --> 00:51:33,080 להוביל אותי ולקחת אותי בחזרה לעיר הולדתו שלי. 1117 00:51:33,080 --> 00:51:36,420 >> הגעתי לפתחה של הבית שאני נולדתי. 1118 00:51:36,420 --> 00:51:39,140 והסתובבתי -15 מטר מעבר לפינה, 1119 00:51:39,140 --> 00:51:42,980 היה שלוש נשים עומדות מחוץ, צמוד זה לזה. 1120 00:51:42,980 --> 00:51:47,830 ואמצע אחד צעד קדימה, ו אני רק חשבתי, זה הוא האמא שלך. 1121 00:51:47,830 --> 00:51:53,450 היא התקרבה אליו, חיבק אותי, ו היינו שם בערך חמש דקות. 1122 00:51:53,450 --> 00:51:56,530 1123 00:51:56,530 --> 00:51:59,000 >> היא תפסה את היד שלי ו היא לקחה אותי לבית 1124 00:51:59,000 --> 00:52:02,450 ולי בטלפון, שבו היא צלצל לאחותי ואחי 1125 00:52:02,450 --> 00:52:05,600 לומר את זה, אתה יודע, האח שלך יש רק 1126 00:52:05,600 --> 00:52:09,340 כל פתאומי הופיע כמו רוח רפאים. 1127 00:52:09,340 --> 00:52:12,440 ולאחר מכן המשפחה התאחדה שוב. 1128 00:52:12,440 --> 00:52:15,110 כל מה שהכל טוב, אני עזרתי לי האמא שלי, 1129 00:52:15,110 --> 00:52:17,110 היא לא חייבת להיות עמל בפרך. 1130 00:52:17,110 --> 00:52:19,555 היא יכולה לחיות את שארית חייה בשלום. 1131 00:52:19,555 --> 00:52:23,460 >> זה היה מחט בערימת שחת, אבל המחט הייתה שם. 1132 00:52:23,460 --> 00:52:24,400 כל מה שיש שם. 1133 00:52:24,400 --> 00:52:28,260 כל מה שיש לנו בעולם הוא ברז של כפתור. 1134 00:52:28,260 --> 00:52:32,010 אבל אתה צריך שתהיה לו הרצון ו הנחישות לרצות את זה. 1135 00:52:32,010 --> 00:52:32,950 >> [השמעת מוסיקה] 1136 00:52:32,950 --> 00:52:36,420 1137 00:52:36,420 --> 00:52:38,170 DAVID Malan: להפליא המלצה מתוקה 1138 00:52:38,170 --> 00:52:40,540 רק מה שאתה יכול עכשיו לעשות עם טכנולוגיה. 1139 00:52:40,540 --> 00:52:43,390 אנחנו אראה אותך בשבוע הבא. 1140 00:52:43,390 --> 00:52:44,374