1 00:00:00,000 --> 00:00:11,375 2 00:00:11,375 --> 00:00:14,430 >> דוד Malan: זה CS50, וזה היא ההתחלה של שבוע אחד. 3 00:00:14,430 --> 00:00:17,930 ומה שחשבנו שהיינו לעשות היא למשוך בחזרה המסך של מכשיר שרבים 4 00:00:17,930 --> 00:00:20,970 מיש לך כנראה עבר עכשיו במשך שנים, אבל אולי לא ממש 5 00:00:20,970 --> 00:00:22,280 ידוע מה זה. 6 00:00:22,280 --> 00:00:26,000 אז המכשיר הזה כנראה ייראה מוכר לרובכם עד עכשיו. 7 00:00:26,000 --> 00:00:32,972 >> [השמעת וידאו] 8 00:00:32,972 --> 00:00:36,150 >> -נצחון מתמטי ו מיומנות מכאנית היא חדשה גדול 9 00:00:36,150 --> 00:00:39,120 מחשבון אוטומטי ב אוניברסיטת הרווארד. 10 00:00:39,120 --> 00:00:43,220 בעיות סבוכות במתמטיקה לשים באמצעות מכונת בצורה מקודדת על 11 00:00:43,220 --> 00:00:47,840 קלטת נפתרות מדויק בדקה חלק קטן מהזמן הנדרש ל 12 00:00:47,840 --> 00:00:49,090 חישוב אנושי. 13 00:00:49,090 --> 00:01:00,090 14 00:01:00,090 --> 00:01:04,080 >> שנועד לזרז את כל צורות מחקר מתמטי ומדעי, 15 00:01:04,080 --> 00:01:07,860 המוח מכאני הענק יהיה עובד עבור ארצות הברית 16 00:01:07,860 --> 00:01:09,180 חיל הים עד סוף המלחמה. 17 00:01:09,180 --> 00:01:18,180 18 00:01:18,180 --> 00:01:18,600 >> [השמעת וידאו הסוף] 19 00:01:18,600 --> 00:01:21,980 >> דוד Malan: אז זה מה שאתה רואה ב מרכז המדע, שבה 20 00:01:21,980 --> 00:01:23,540 מכונה ששוכן כעת. 21 00:01:23,540 --> 00:01:25,910 אתה בעצם רואה רק חלק ממנה. 22 00:01:25,910 --> 00:01:28,800 רק חלק נמצא כעת בתצוגה, וזה מכשיר שנקרא 23 00:01:28,800 --> 00:01:31,970 מארק אני, וזה היה למעשה מחשבון באמת ענק. 24 00:01:31,970 --> 00:01:36,250 הוא הצליח על ידי Mark II, ו זה מMark II שאנחנו באמת 25 00:01:36,250 --> 00:01:39,210 תקבל קצת מלקסיקון. 26 00:01:39,210 --> 00:01:43,780 >> זהו המקרה המתועד הראשון של משהו שאתה עומד להיות כל 27 00:01:43,780 --> 00:01:45,860 מכיר יותר מדי עם מעל במהלך הסמסטר - 28 00:01:45,860 --> 00:01:48,460 כלומר, באג. 29 00:01:48,460 --> 00:01:52,030 אז התברר בשלב מסוים סמן את המכשיר השני לא תפקד 30 00:01:52,030 --> 00:01:55,930 כמו שצריך, ואחרי בדיקה מדוקדקת יותר, אכן היה באג - עש - 31 00:01:55,930 --> 00:01:56,910 עש ש-- 32 00:01:56,910 --> 00:01:57,610 בפנים. 33 00:01:57,610 --> 00:02:03,130 ומאז, יש לנו מכונים טעויות בתוכניות כמו חרקים. 34 00:02:03,130 --> 00:02:05,330 אז עוד על כך לבוא. 35 00:02:05,330 --> 00:02:08,919 >> אם כבר מדברים על וידאו, כמו גם, אם אתה עדיין לא עשיתי זאת, יודע שהיא CS50 36 00:02:08,919 --> 00:02:09,669 ברור שצולם. 37 00:02:09,669 --> 00:02:13,330 את ההרצאות בדרך כלל לעלות מייד אחרי כיתה בסוג של טרום שחרור 38 00:02:13,330 --> 00:02:17,240 פורמט לא ערוך, ולאחר מכן יום או ימים מאוחר יותר, אנחנו מעלים את רזולוציה גבוהה יותר 39 00:02:17,240 --> 00:02:18,490 וגרסה באיכות גבוהה יותר. 40 00:02:18,490 --> 00:02:21,800 אולי אתה זוכר ונסה, שהיה לו מזל של לשחק עם Google זכוכית, 41 00:02:21,800 --> 00:02:23,540 שזכרתי לחייב את הזמן הזה. 42 00:02:23,540 --> 00:02:26,450 אז אם אתה רוצה לבוא אחרי השיעור ולשחק, הם צריכים לעבוד היום. 43 00:02:26,450 --> 00:02:30,816 ואם אתה רוצה לראות את מה שונסה ראית לפני כמה ימים, מה שתראה 44 00:02:30,816 --> 00:02:35,260 כאן - תנו לי להעלות את עוצמת הקול כאן, על המחשב הנייד שלי. 45 00:02:35,260 --> 00:02:35,690 >> [השמעת וידאו] 46 00:02:35,690 --> 00:02:37,620 >> -אז תן לי בתור זה הוא למעלה. 47 00:02:37,620 --> 00:02:38,070 בסדר. 48 00:02:38,070 --> 00:02:40,930 אז לגעת בזה. 49 00:02:40,930 --> 00:02:41,720 בסדר. 50 00:02:41,720 --> 00:02:43,470 אוקיי, זכוכית. 51 00:02:43,470 --> 00:02:44,720 להקליט וידאו. 52 00:02:44,720 --> 00:02:47,240 53 00:02:47,240 --> 00:02:48,640 >> בסדר. 54 00:02:48,640 --> 00:02:50,446 ונסה? 55 00:02:50,446 --> 00:02:50,870 >> [השמעת וידאו הסוף] 56 00:02:50,870 --> 00:02:53,485 >> דוד Malan: בסדר, אז הסיבה שזה לא עובד עבור רובכם ב 57 00:02:53,485 --> 00:02:56,540 סוף השיעור היה בגלל שהמשכתי כדי להקליט שעה של ש 58 00:02:56,540 --> 00:02:59,505 צילומים הצביעו על עצמי אחרי הנחתי את משקפיים. 59 00:02:59,505 --> 00:03:04,010 אז היום, אני אשאיר אותם, אבל תודה לך ונסה להיות כזה 60 00:03:04,010 --> 00:03:05,420 ספורט טוב. 61 00:03:05,420 --> 00:03:08,330 >> בינתיים, כמה הכרזות לפני שאנחנו לפרוץ קדימה היום. 62 00:03:08,330 --> 00:03:11,120 אז יש אחד, CS50 מסורת של עשייה מה שאנחנו יכולים כדי לנסות להפוך מאוד 63 00:03:11,120 --> 00:03:12,630 כיתה גדולה מרגישה קטנה יותר. 64 00:03:12,630 --> 00:03:16,640 ולקראת הסוף, כי, רוב בכל יום שישי, אנו מתכנסים במסעדה ב 65 00:03:16,640 --> 00:03:20,160 כיכר, אש וקרח, עם 30 או 40 חבריו לכיתה שלך, בעצמי, חלק מן 66 00:03:20,160 --> 00:03:22,520 סגל ההוראה, ואנחנו פשוט יש ארוחת צהריים נינוחות מאוד. 67 00:03:22,520 --> 00:03:26,280 לעתים קרובות אנו מזמינים את חברים מתעשייה, בוגרים של הכיתה, בוגרים של 68 00:03:26,280 --> 00:03:30,340 מכללה, באמת רק כדי לשוחח אחד את השני, לדבר על חיים שאחרי 69 00:03:30,340 --> 00:03:32,260 מכללה, חיים במכללה, וכיוצא בזה. 70 00:03:32,260 --> 00:03:35,570 אז אם אתם רוצים לקחת חלק בזה ארוחת הצהריים ראשונות מסוגו ביום שישי הקרוב בשעה 71 00:03:35,570 --> 00:03:38,640 13:15, ועד ראש ש כתובת אתר בשלב מסוים. 72 00:03:38,640 --> 00:03:40,830 >> מספר המקומות מוגבל, ולכן אנחנו נעשה כל קודם זוכה. 73 00:03:40,830 --> 00:03:43,880 אבל אנחנו נעשה את זה שוב בחוזר בסיס, אז לא לדאוג אם לא 74 00:03:43,880 --> 00:03:45,800 להפוך אותו למנה ראשונה זה. 75 00:03:45,800 --> 00:03:48,960 >> עכשיו, במונחים של המשאבים הניתנים curricularly ידי כמובן, 76 00:03:48,960 --> 00:03:51,500 יש שורה ארוכה כולו, ואם יש לך לא משך את אתר האינטרנט של הקורס 77 00:03:51,500 --> 00:03:54,310 כבר, בפרט, בהרצאות, אתה תמצא את כל מה ש 78 00:03:54,310 --> 00:03:57,070 אנחנו עשינו בשבוע שעבר הוא שם, גם בוידאו ואיזה 79 00:03:57,070 --> 00:03:58,435 של צורה אלקטרונית. 80 00:03:58,435 --> 00:04:01,210 אבל מעבר לקטעי וידאו, אתה תמצא כי עכשיו יש טקסט מלא 81 00:04:01,210 --> 00:04:03,290 תמלילים, למשל, בכל הרצאה. 82 00:04:03,290 --> 00:04:08,260 >> אז אם אנחנו באמת לחזור למסך הזה כאן עם ונסה, ולנווט 83 00:04:08,260 --> 00:04:12,010 לפינה התחתונה של המסך, תגלו שבעצם, לא בשביל 84 00:04:12,010 --> 00:04:15,060 הרצאתו של יום שישי, אבל אם נחזור ל יום רביעי, שכן תכונה זו לוקחת 85 00:04:15,060 --> 00:04:17,870 כמה ימים, אתה תמצא כי אתה יכול למעשה להרים, לטוב או ל 86 00:04:17,870 --> 00:04:22,260 גרוע מכך, כל מילה שאני או מתנדב על במה, אמר. 87 00:04:22,260 --> 00:04:23,270 ויותר מזה פשוט. 88 00:04:23,270 --> 00:04:25,700 למעשה אתה יכול לחפש אותו, אתה יכול לחץ על כל אחד מהמשפטים האלה, לקפוץ 89 00:04:25,700 --> 00:04:29,250 לנקודה זו בוידאו, בכל הכיוון והסוף של כל מה שהופך את החומר 90 00:04:29,250 --> 00:04:30,620 יותר לניווט. 91 00:04:30,620 --> 00:04:34,550 >> אבל אם אתה מעדיף שלא לעקוב אחריו בפירוט כזה, אתה תמצא, עבור 92 00:04:34,550 --> 00:04:39,710 למשל, בתפריט זה קצת כאן ל1.5x מהירות, מהירות 2x, או i F אני כבר 93 00:04:39,710 --> 00:04:42,100 מדבר מהר מדי בשבילך, מהירות 0.75x. 94 00:04:42,100 --> 00:04:45,190 אז מבין את כל זה הוא זמין שם בשבילך. 95 00:04:45,190 --> 00:04:49,120 >> אבל מעבר לכך, להרצאות, מבין כי אנחנו גם עושים במשאבים אלה 96 00:04:49,120 --> 00:04:50,530 זמין גם כן. 97 00:04:50,530 --> 00:04:55,240 שקופיות, קוד לדוגמה, כל דבר שאני עושה על במה או מראש של כיתה, 98 00:04:55,240 --> 00:04:58,160 אנחנו מתכוונים לכתוב לשם, כך שאתה יכול לשחק יחד בבית או בסנדרס. 99 00:04:58,160 --> 00:05:01,280 אבל מה גם שחשבנו שאנחנו היינו עושים את זה שנה בפעם הראשונה היא גם 100 00:05:01,280 --> 00:05:04,240 לספק לך את ערוצים מדוגמאות אלה. 101 00:05:04,240 --> 00:05:08,120 יותר ויותר, כפי שבאתי לידי ביטוי על ערך של ההרצאות של CS50, אני כבר החל 102 00:05:08,120 --> 00:05:11,450 לשאלה עד כמה שימושי זה הוא עבור אתם לשבת שם, בשבילי לעמוד 103 00:05:11,450 --> 00:05:15,020 כאן, ולי לדבר אליך, במיוחד כחומר, 104 00:05:15,020 --> 00:05:17,020 דוגמאות, לקבל יותר מורכבות. 105 00:05:17,020 --> 00:05:20,790 כי תמיד, לאחר מספר דקות, מישהו יהיה מתוך אזור, ו 106 00:05:20,790 --> 00:05:24,310 אז אתה מתגעגע לתובנה עיקרית של חלק למשל, ואז אתה בעצם 107 00:05:24,310 --> 00:05:27,720 הלך לחלק הנותר של כיתה, וזה לא השימוש הטוב ביותר של 108 00:05:27,720 --> 00:05:31,330 הזמן שלך, או, באמת, שלנו קולקטיבית כמעמד. 109 00:05:31,330 --> 00:05:33,920 >> וכן מה שחשבנו שהיינו מנסה לעשות, במיוחד עבור חלק מיותר 110 00:05:33,920 --> 00:05:37,700 דוגמאות מורכבות שאני לא יכול לעשות צדק עימו בכיתה, שאנחנו לא יכולים 111 00:05:37,700 --> 00:05:41,560 יש לי זמן בכיתה, או שאולי רק אזור בזמן, הוא שאנחנו יהיו לייצר 112 00:05:41,560 --> 00:05:45,500 סדרה של ערוצים של אלה דוגמאות, כך שאם אתה הולך, ל 113 00:05:45,500 --> 00:05:51,410 למשל, בעמוד הווידאו של יום שישי שעבר כאן תחת דוגמאות, אתה תראה ש 114 00:05:51,410 --> 00:05:54,050 ליום שישי, יש עכשיו זה לקשר לערוצים. 115 00:05:54,050 --> 00:05:55,780 והפורמט של אלה ישתנה עם הזמן. 116 00:05:55,780 --> 00:05:58,080 לעת עתה, אנו משתמשים פשוטים YouTube רשימת השמעה. 117 00:05:58,080 --> 00:06:00,980 >> אבל מה שעשיתי עם צוות ההפקה שלנו אחר כך היה הולך דרך כל 118 00:06:00,980 --> 00:06:04,480 ובכל אחת מדוגמאות האלה שוב, אני מקווה שהצבעתי בהרבה יותר גדול 119 00:06:04,480 --> 00:06:07,550 בהירות בדיוק מה את המזנונים יכול להיות או צריך להיות מכל אחד. 120 00:06:07,550 --> 00:06:10,560 אז אתה תמצא, למשל, שמעברת שבוע, כל דוגמאות הגירוד 121 00:06:10,560 --> 00:06:12,950 שעברנו עלינו נעשים ליניארי בדרך זו. 122 00:06:12,950 --> 00:06:15,840 אז תרגיש חופשי לעסוק או לא לעסוק בחומר זה. 123 00:06:15,840 --> 00:06:19,140 באמת נושא של קורס המסוים הזה הוא שיש כנראה יותר 124 00:06:19,140 --> 00:06:21,870 בדרכה של משאבים ממה שאתה יכול לספוג מעל 125 00:06:21,870 --> 00:06:23,260 במהלך סמסטר. 126 00:06:23,260 --> 00:06:23,980 >> אבל זה מכוון. 127 00:06:23,980 --> 00:06:26,990 זה אמור להיות, כך שאתה כ תלמידים בודדים יכולים עצמי לבחור 128 00:06:26,990 --> 00:06:28,070 המבוסס על סגנון הלמידה שלך. 129 00:06:28,070 --> 00:06:29,790 אז אם הרצאות לעבוד בשבילך, נהדר. 130 00:06:29,790 --> 00:06:31,090 אם חלקים יעבדו בשבילך, נהדר. 131 00:06:31,090 --> 00:06:32,930 אם ערוצים לעבודה אתה יותר טוב, נהדר. 132 00:06:32,930 --> 00:06:36,980 זה באמת יהיה תלוי בך כדי לבחור מה משאבים יעבדו הכי טובים בשבילך. 133 00:06:36,980 --> 00:06:40,380 >> לבסוף, תודה לבוגר כמובן, אנחנו גם מספקים הקנונית 134 00:06:40,380 --> 00:06:41,890 סדרה של הערות סופר. 135 00:06:41,890 --> 00:06:46,270 אז במקום להיות ראשי חבר 'ה למטה בהרצאות ורשמו 136 00:06:46,270 --> 00:06:49,880 דברים שעולים בכיתה, אנחנו, צוות, יספק לך את מה שאנחנו 137 00:06:49,880 --> 00:06:53,410 מרגיש הם קבוצה הקנונית של הערות ל לשחרר אותך מהסחת הדעת ש, כך 138 00:06:53,410 --> 00:06:57,150 אם אתה נמצא כאן ועוסק, אתה באמת עוסק במה שקורה, 139 00:06:57,150 --> 00:07:00,110 עם החברים לכיתה שלך עושים על במה, עם מה שקורה על המסך, 140 00:07:00,110 --> 00:07:03,570 ולא רק לכתוב את מילה במילה מה שקרה לי כבר אמר. 141 00:07:03,570 --> 00:07:06,730 אז מבין את כל המשאבים האלה הם זמינים לך. 142 00:07:06,730 --> 00:07:09,210 >> חתך, בתשובה לשאלות נפוצות, יתחיל ביום רביעי הקרוב. 143 00:07:09,210 --> 00:07:12,050 אנחנו בעצם לחכות עד לאחר שרוב כיתות אחרות עשו זאת, כי אנחנו יכולים 144 00:07:12,050 --> 00:07:14,420 לצמצם את מספר השינויים שאנחנו צריכים לעשות. 145 00:07:14,420 --> 00:07:20,010 אבל לבוא בסוף השבוע הזה, החל יום ראשון, יהיה מופע חד פעמי של 146 00:07:20,010 --> 00:07:21,360 מה שאנו מכנים סעיפי העל. 147 00:07:21,360 --> 00:07:23,990 אלה להצטלם למי שלא יכולים להשתתף, ובעצם, 148 00:07:23,990 --> 00:07:28,880 הראשים של הקורס ללוות אותנו דרך כמה של חלק ג'של הקורס, 149 00:07:28,880 --> 00:07:32,330 לקראת סוף הבעיה סט אחד, אשר הולך להיות C הראשון שלנו המבוסס 150 00:07:32,330 --> 00:07:33,140 סט בעיה. 151 00:07:33,140 --> 00:07:36,240 ואלה הם רק יהיו סעיפים אופציונליים בציפייה מה יהיה 152 00:07:36,240 --> 00:07:40,010 הפכו סעיפים חד פעמים הובילו ב -50 בתוספת של הקורס 153 00:07:40,010 --> 00:07:41,600 ללמד בחורים שבועי. 154 00:07:41,600 --> 00:07:45,130 בימי ראשון או בימים שני או שלישי, אנחנו יש 90 סעיפים בדקה מאוד 155 00:07:45,130 --> 00:07:48,020 מובן מסורתי, אשר יהיה הזדמנויות לידיים וביותר 156 00:07:48,020 --> 00:07:50,800 ביקורת אינטימית של החומר של הקורס. 157 00:07:50,800 --> 00:07:53,820 >> בלי שהיות, הרשה לי להציג את הראשים של הקורס, שהם 158 00:07:53,820 --> 00:07:57,380 מאחורי הקלעים עימי, מה שהופך את כל מה שיקרה. 159 00:07:57,380 --> 00:08:02,670 אם אלה כאן היום יכולים להצטרף אליי, רוב ולורן ויוסף ולוקאס, כל 160 00:08:02,670 --> 00:08:05,770 מהם היינו עם כמובן במשך זמן מה. 161 00:08:05,770 --> 00:08:08,450 RJ הוא כזה שלישי חבר בצוות שלנו. 162 00:08:08,450 --> 00:08:11,720 הוא לא יכול להיות כאן היום, אבל הוא ביקש ממני להראות את תמונה שלו. 163 00:08:11,720 --> 00:08:14,600 אני לא בטוח שהוא רוצה את זה אחד, אבל הנה הוא. 164 00:08:14,600 --> 00:08:18,350 >> ותנו לי רק לאפשר לצוות לומר שלום ולהציג את עצמם, כך ש 165 00:08:18,350 --> 00:08:22,260 אתה לומד להכיר אותם, כמו גם שלך עמית הוראה של מונח זה. 166 00:08:22,260 --> 00:08:23,490 >> LAUREN קרבאליו: היי. 167 00:08:23,490 --> 00:08:24,740 השם שלי הוא לורן קרבאליו. 168 00:08:24,740 --> 00:08:26,900 אני מורה תושב בבית וורט. 169 00:08:26,900 --> 00:08:31,120 אני גם נרגש סופר להיות ראש טלוויזיה לCS50 השנה. 170 00:08:31,120 --> 00:08:35,830 >> CS50 היא ברמה מאוד מאתגרת, כמו גם כמעמד גדול מאוד, כך שאם אתה 171 00:08:35,830 --> 00:08:38,780 יש כל חששות, אם מתחשק לך אתה נופל מאחורי, תרגיש חופשי 172 00:08:38,780 --> 00:08:43,840 להושיט יד לכל אחד מאיתנו ב heads@cs50.het, או אליי, אם אתה הייתי 173 00:08:43,840 --> 00:08:46,330 אוהבים לשחק עם הזהב שלי גור רטריבר. 174 00:08:46,330 --> 00:08:48,060 הנה לוקאס. 175 00:08:48,060 --> 00:08:48,560 >> לוקאס פרייטס: היי, חבר 'ה. 176 00:08:48,560 --> 00:08:49,330 השם שלי הוא לוקאס פרייטס. 177 00:08:49,330 --> 00:08:51,880 אני זוטר [לא ברור] 178 00:08:51,880 --> 00:08:53,630 מדעי מחשב ובלשנות. 179 00:08:53,630 --> 00:08:58,030 אני בעצם מברזיל, ואני גם מבין לימודי מזרח אסיה. 180 00:08:58,030 --> 00:09:00,740 אז אם יש לך שאלות כלשהן על מדע או שפת מחשב או 181 00:09:00,740 --> 00:09:01,870 שום דבר, רק תודיע לי. 182 00:09:01,870 --> 00:09:05,630 או CS50, במיוחד. 183 00:09:05,630 --> 00:09:05,880 >> יוסף ONG: היי. 184 00:09:05,880 --> 00:09:06,265 אני יוסף. 185 00:09:06,265 --> 00:09:11,360 אני לומד מחשב בכיר מדע בבית אליוט. 186 00:09:11,360 --> 00:09:13,500 אז, בואו נראה. 187 00:09:13,500 --> 00:09:16,530 אתה רואה סביב נושא אותי אחת המצלמות האלה עצומים. 188 00:09:16,530 --> 00:09:21,110 אני צלם צוות תושב ל50, כמו גם, ולעתים קרובות תלמידים 189 00:09:21,110 --> 00:09:25,140 לפעמים מבלבל אותי עם תייר האסיאתי. 190 00:09:25,140 --> 00:09:29,220 >> אז אם אתם רואים אותי עם מצלמה, לא לברוח. 191 00:09:29,220 --> 00:09:32,960 רק לחייך ואל תתבייש. 192 00:09:32,960 --> 00:09:34,870 ואני מקווה שאתה נהנה מ50. 193 00:09:34,870 --> 00:09:38,690 אני נהניתי מאוד כשלקחתי אותו, ובגלל זה אני כבר TFing עבור 194 00:09:38,690 --> 00:09:41,164 שלוש השנים האלה. 195 00:09:41,164 --> 00:09:41,570 >> ROB אודן: היי. 196 00:09:41,570 --> 00:09:42,550 אני רוב. 197 00:09:42,550 --> 00:09:46,240 זה הסמסטר הרביעי שלי עם CS50. 198 00:09:46,240 --> 00:09:47,430 אני רק סיים את לימודיו בחודש מאי. 199 00:09:47,430 --> 00:09:49,650 הייתי בקירקלנד. 200 00:09:49,650 --> 00:09:53,670 אני מתרגש לסמסטר זה, ואני מקווה שגם את. 201 00:09:53,670 --> 00:09:56,650 >> דוד Malan: תודה לך לשנה זו של ראשים, ול RJ גם כן. 202 00:09:56,650 --> 00:09:59,910 203 00:09:59,910 --> 00:10:02,310 >> אז כמה הערות אחרונות במשאבים. 204 00:10:02,310 --> 00:10:04,090 אחד, עמ '0 הוא מוגדר כבר. 205 00:10:04,090 --> 00:10:06,620 אחד זה קיים רק בתקן מהדורה, שנועדה עבור 206 00:10:06,620 --> 00:10:07,610 שלמותו של המעמד. 207 00:10:07,610 --> 00:10:10,940 החל עמ 'סט 1, לא יהיה מהדורות האקרים של רוב הקבוצות בעייתי, 208 00:10:10,940 --> 00:10:14,660 אשר, שוב, יכסה את החומר עם קצת יותר אתגר, ואילו 209 00:10:14,660 --> 00:10:17,400 עדיין נוגע בכמה באותם נושאים. 210 00:10:17,400 --> 00:10:21,400 האם תסתכל באתר האינטרנט של הקורס למפרט שעבור p סט 0. 211 00:10:21,400 --> 00:10:25,140 >> שעתי עבודה, יותר מדי, תתחיל השבוע, הלילה, מחר, יום רביעי, 212 00:10:25,140 --> 00:10:27,670 וביום חמישי באוכל שונים אולמות בקמפוס. 213 00:10:27,670 --> 00:10:32,140 עזיבה cs50.net/ohs למשרד שעות לקורס, ומבין את זה 214 00:10:32,140 --> 00:10:34,430 יהיו הזדמנויות מאוד מזדמנים, בהחלט, בתחילת 215 00:10:34,430 --> 00:10:37,190 סמסטר, לבוא עימך מחשב נייד במהלך פריצת המוח. 216 00:10:37,190 --> 00:10:40,500 תביא כמה חברים ולשוחח עד TFS של קורס ועם כל CAS 217 00:10:40,500 --> 00:10:41,750 שאלות שאולי יש לך. 218 00:10:41,750 --> 00:10:45,320 >> ואני לא יכול להדגיש מספיק, אפילו עבור שריטה והבעיה סט 0, יש 219 00:10:45,320 --> 00:10:47,110 באמת אין שום שאלה מטומטמת. 220 00:10:47,110 --> 00:10:51,200 אין תלמיד שלא בנוח מדי כדי לשאול שאלות. 221 00:10:51,200 --> 00:10:53,940 אל תהסס לנצל של משאב זה. 222 00:10:53,940 --> 00:10:56,430 זה יהיה שם recurringly במהלך הסמסטר, 223 00:10:56,430 --> 00:10:57,840 כידון CS50. 224 00:10:57,840 --> 00:11:00,900 זהו הדיון המקוון של הקורס פורומים בכתובת שיש. 225 00:11:00,900 --> 00:11:04,490 >> מה שאנחנו נעשה גם במהלך הרצאות היא גם לפקח על זה, בזכות 226 00:11:04,490 --> 00:11:05,580 צוות ההוראה של הקורס. 227 00:11:05,580 --> 00:11:08,390 ולכן אם יש לך שאלה ב להרצות, משום שאמרתי משהו 228 00:11:08,390 --> 00:11:11,690 גרוע או בכלל לא, בכל האמצעים, לשאול כי בזמן אמת אם יש לך שלך 229 00:11:11,690 --> 00:11:15,700 מחשב נייד או טלפון באתר, ו אנחנו נעשה את הכי טובים שלנו בזמן אמת בסמוך ל 230 00:11:15,700 --> 00:11:17,410 להגיב על זה. 231 00:11:17,410 --> 00:11:21,500 >> האם יש שאלות על CS 50? 232 00:11:21,500 --> 00:11:23,930 אז אחד הצלילים אחרונים שלי. 233 00:11:23,930 --> 00:11:25,530 נושא זה של יום שבת UNSAT. 234 00:11:25,530 --> 00:11:28,550 כפי שאתם לסיים כרטיסי הלימוד שלך, אם אתה עדיין לא עשיתי זאת, מבין כי 235 00:11:28,550 --> 00:11:32,360 חזון העל של SAT UNSAT, זמין עבור כל התלמידים, הוא באמת 236 00:11:32,360 --> 00:11:36,350 כדי לעזור לקחת את העוקץ של קורס ככה, אם אפשר לומר כך, כך שאם אתה 237 00:11:36,350 --> 00:11:40,510 למצוא את עצמך בשעתי הלילה מאוחרת, 2:00, 3:00, באמת לדפוק את הראש שלך נגד 238 00:11:40,510 --> 00:11:43,960 הקיר שבו אתה יודע שאתה 99% בדרך לשם ועד לסיום, אבל אתה 239 00:11:43,960 --> 00:11:47,510 יש כל כך הרבה דברים אחרים לעשות, אני חושב ששימוש טוב יותר, לעתים קרובות, של 240 00:11:47,510 --> 00:11:51,260 הזמן של התלמידים הוא להעביר אכן על אותם דברים אחרים, כך שאתה יכול 241 00:11:51,260 --> 00:11:52,780 לייעל את הזמן שלך בכל מקום. 242 00:11:52,780 --> 00:11:56,950 וישב UNSAT הוא מנגנון אחד שבאמצעותה אתה יכול להתנחם בעובדה 243 00:11:56,950 --> 00:12:00,530 כי 99% מהדרך לשם היא עדיין די לתקן טוב. 244 00:12:00,530 --> 00:12:03,790 >> בדומה לכך, גם אם אתה כבר נכנס כמובן ללא רקע קודם או 245 00:12:03,790 --> 00:12:07,960 כמעט באותה המידה כמו שאתה לא רקע חושב שהכיתה שלך שאולי יש לי, אמיתית 246 00:12:07,960 --> 00:12:13,210 או שקר, מבין שזה הזדמנות לקבל את הידיים מלוכלכות 247 00:12:13,210 --> 00:12:16,590 עם כמובן, לשים את האצבעות שלך ב מים, אם אפשר לומר כך, ממש כמו שאני עצמי 248 00:12:16,590 --> 00:12:18,500 עשה לפני שנים עם עובר / נכשל. 249 00:12:18,500 --> 00:12:21,850 כפי שאמרתי בשבוע שעבר, היה זה כמובן, כמו אחרים, לא היו זמינה 250 00:12:21,850 --> 00:12:25,090 עוברים / נכשל בזמן, בטח הייתי פעם לא היינו דורכים ב 251 00:12:25,090 --> 00:12:28,310 בכיתה, למרות שאני עשיתי, חמישה שבועות לאחר מכן, לשנות את דעתי, שבו אתה 252 00:12:28,310 --> 00:12:32,400 ייתכן גם כן, ולעבור ל או ממעמד מדורג מכתב. 253 00:12:32,400 --> 00:12:32,990 >> בסדר. 254 00:12:32,990 --> 00:12:37,380 אז הסתכלנו על דברים כאלה יום שישי, ואנחנו הולכים מהר מאוד 255 00:12:37,380 --> 00:12:39,890 למעבר למשהו ש נראה מסתורי יותר היום. 256 00:12:39,890 --> 00:12:42,300 אבל זה בכל זאת אותו הרעיון בסיסי. 257 00:12:42,300 --> 00:12:45,540 מה היה המונח הכללי שאנחנו משמש לתיאור פיסת הפאזל 258 00:12:45,540 --> 00:12:47,690 שנראה כמו זה? 259 00:12:47,690 --> 00:12:48,510 >> לכן, הצהרה. 260 00:12:48,510 --> 00:12:50,020 ואתה יכול לקרוא לזה בכל מספר דברים. 261 00:12:50,020 --> 00:12:51,870 אבל אנחנו פשוט קוראים לזה משפט, ושמירה על 262 00:12:51,870 --> 00:12:53,200 רק אומר לתכנית - 263 00:12:53,200 --> 00:12:55,290 או במקרה של גרד, ספרייט - 264 00:12:55,290 --> 00:12:56,520 לעשות משהו. 265 00:12:56,520 --> 00:12:58,430 תגיד שלום במקרה זה. 266 00:12:58,430 --> 00:13:01,450 >> משהו כמו זה שאנו קרא במקום מה? 267 00:13:01,450 --> 00:13:03,560 כן, כך ביטוי בוליאני. 268 00:13:03,560 --> 00:13:07,380 ביטוי בוליאני הוא רק משהו זה נכון או לא נכון, וכל כך גרד 269 00:13:07,380 --> 00:13:10,530 מושך אותם עם צורה זו, אלא גם עם סימן שאלה כדי להעביר את 270 00:13:10,530 --> 00:13:14,510 רעיון שהתשובה לשאלה זו הוא אמת או שקר, כן או לא 271 00:13:14,510 --> 00:13:15,910 אחד, 1 או 0. 272 00:13:15,910 --> 00:13:19,290 >> ואנחנו משתמשים בביטויים בוליאניים אלה בתוך מבנים כמו אלה, אשר 273 00:13:19,290 --> 00:13:21,010 קראנו מה? 274 00:13:21,010 --> 00:13:22,460 לכן, תנאי או סניף. 275 00:13:22,460 --> 00:13:25,600 והמצב שאתה רואה כאן ב יש שריטה קטנה למציינת מיקום 276 00:13:25,600 --> 00:13:28,260 פיסת הפאזל של צורה ש, המטרה שבם הוא, כך שאתה יכול 277 00:13:28,260 --> 00:13:32,670 גרור אותו ושחרר אותו על גבי ולאחר מכן להכתיב לתכנית אם זה בוליאני 278 00:13:32,670 --> 00:13:36,410 הביטוי נכון, לעשות את זה קבוצה של הוראות, זו קבוצה של ההצהרות, 279 00:13:36,410 --> 00:13:39,320 אחר לעשות את הסט שני זה של הוראות. 280 00:13:39,320 --> 00:13:41,270 >> ותזכור שאתה יכול קן הדברים האלה. 281 00:13:41,270 --> 00:13:44,170 למרות שאין הרבה מקום מבחינה ויזואלית בפיסת הפאזל ש, סריטות 282 00:13:44,170 --> 00:13:47,820 יגדל ולהתכווץ כדי להתאים מה חלקי הפאזל לגרור ולשחרר ב 283 00:13:47,820 --> 00:13:51,410 שם, כך שאתה יכול למעשה קן וזה יש מזלג דרך שלוש בדרך. 284 00:13:51,410 --> 00:13:53,870 אם, אם אחר, אחר. 285 00:13:53,870 --> 00:13:58,100 ואתה יכול גם ללכת מעבר לכך על ידי עוד קינון ובהמשך במידה צורך. 286 00:13:58,100 --> 00:14:02,520 >> אז לבסוף, ראינו מבנים כמו זה, הידוע גם בלולאה. 287 00:14:02,520 --> 00:14:05,690 וזה רק משהו שעושה משהו שוב ושוב ושוב. 288 00:14:05,690 --> 00:14:09,250 במקרה זה, זה קורה להיות סופי מספר הפעמים, אבל אנחנו גם 289 00:14:09,250 --> 00:14:12,890 ראה דוגמה שבו מספר פעמים הגיעו ממשתנות, כך שזה 290 00:14:12,890 --> 00:14:13,690 יכול להשתנות. 291 00:14:13,690 --> 00:14:16,910 וראינו גם בלוק אחר לגמרי קרא לנצח בלוק ש 292 00:14:16,910 --> 00:14:19,590 אפשרו לנו הלולאה אינסופית ארוך. 293 00:14:19,590 --> 00:14:23,300 >> אז מבנה אחד שסריטות יש 2.0 - ואלו מכם יותר 294 00:14:23,300 --> 00:14:26,330 נוח עם רקע קודם הם כבר מכיר את זה היטב 295 00:14:26,330 --> 00:14:27,080 לבנות - 296 00:14:27,080 --> 00:14:29,910 הדברים האלה שקראנו מה? 297 00:14:29,910 --> 00:14:32,540 אז אנחנו נקראים הפונקציות האלה, אחרת המכונה הליכים. 298 00:14:32,540 --> 00:14:35,030 יש הבדל סמנטי קל, אבל אנחנו קוראים להם רק פונקציות. 299 00:14:35,030 --> 00:14:39,950 >> ופונקציה, במקרה של גרד, היא פיסת הפאזל מותאמת אישית ה 300 00:14:39,950 --> 00:14:43,670 אתה בעצמך יכול ליצור, כך שיש לך פיסת הפאזל חדשה, כי בזה 301 00:14:43,670 --> 00:14:47,190 מקרה, היה קורא לשיעול, ש מופיע בין כל אחרים 302 00:14:47,190 --> 00:14:48,730 חלקי הפאזל זמינים בלגרד. 303 00:14:48,730 --> 00:14:52,010 למרות MIT לא המציא פיסת הפאזל הזה, שעשית. 304 00:14:52,010 --> 00:14:57,600 >> אז פונקציה מאפשרת לך ליצור חדש התנהגות, נותן לו שם פונקציה, ו 305 00:14:57,600 --> 00:14:59,200 אז קורא לזה, אם אפשר לומר כך. 306 00:14:59,200 --> 00:15:04,690 באמת להשתמש בו בתוכניות ושוב שוב ושוב ללא צורך לחכות 307 00:15:04,690 --> 00:15:08,600 עבור מישהו כמו MIT במורד הכביש אל להמציא פונקציונלי חדש מאפס. 308 00:15:08,600 --> 00:15:12,460 אתה בעצמך יכול לבנות פאזל אלה חתיכות בעצמך, ולאחר מכן שימוש חוזר בהם 309 00:15:12,460 --> 00:15:13,600 בתוכניות שלך. 310 00:15:13,600 --> 00:15:17,520 ואנו רואים דוגמה חוזרת שמהיום והלאה. 311 00:15:17,520 --> 00:15:20,960 >> אז היום, אנחנו עכשיו מעבר למשהו מסתורי יותר. 312 00:15:20,960 --> 00:15:24,350 אבל בסופו של היום, משהו יותר חזק ויכולת הבעה ועוד 313 00:15:24,350 --> 00:15:28,110 נציג של הנתיב שנהיה בכל הסמסטר בכל מספר 314 00:15:28,110 --> 00:15:28,800 של שפות - 315 00:15:28,800 --> 00:15:30,800 זה של קוד או קוד מקור. 316 00:15:30,800 --> 00:15:34,720 קוד מקור, מתברר, זה לא מה שמחשב 317 00:15:34,720 --> 00:15:37,400 בדרך כלל פועל למעשה. 318 00:15:37,400 --> 00:15:39,860 קוד המקור נראה משהו כזה. 319 00:15:39,860 --> 00:15:43,010 >> אז זה, הוא, שוב אולי הפשוט תכנית שאנחנו יכולים לכתוב ב 320 00:15:43,010 --> 00:15:46,670 שפה בשם C. אנחנו נתחיל להקניט זה מזה לפני זמן רב, ואם 321 00:15:46,670 --> 00:15:49,260 זה באמת נראה כמו יווני , לך עכשיו יאמין לי. 322 00:15:49,260 --> 00:15:54,040 בתוך שבוע בדיוק או שתיים של זמן, זה יהיה מוכרת מדי ולמעשה 323 00:15:54,040 --> 00:15:57,780 די מייצג של יותר ויותר דוגמאות מורכבות שבה אתה 324 00:15:57,780 --> 00:15:59,870 גם מקבל יותר בנוח. 325 00:15:59,870 --> 00:16:03,100 >> אבל אתה לא יכול פשוט להפעיל את זה סוג של קוד בדרך כלל. 326 00:16:03,100 --> 00:16:06,750 אתה צריך להפוך אותו למשהו ש המחשב עצמו מבין. 327 00:16:06,750 --> 00:16:09,840 וכל כך לזה, אנחנו צריכים משהו אנחנו הולכים לקרוא למהדר. 328 00:16:09,840 --> 00:16:13,910 מהדר הוא תכנית שלוקחת קוד מקור, כמו שראית, כמו 329 00:16:13,910 --> 00:16:17,680 קלט, והיא מייצרת ואפסים אלה כפלט, אחרת 330 00:16:17,680 --> 00:16:19,210 הידוע בשם קוד אובייקט. 331 00:16:19,210 --> 00:16:23,190 וזה אלה אפסים ואחדים ש עשויים להיראות ממש כמו זה ש 332 00:16:23,190 --> 00:16:26,310 סופו של דבר הם הבינו על ידי-Mac או במחשב האישי שלך. 333 00:16:26,310 --> 00:16:30,050 >> אם אי פעם שמע את השיווק ביטוי Intel Inside, שרק 334 00:16:30,050 --> 00:16:32,800 משמעות דבר הוא כי חברה בשם אינטל ייצרה 335 00:16:32,800 --> 00:16:34,130 מוח של המחשב שלך - 336 00:16:34,130 --> 00:16:37,270 הידוע גם במעבד, יחידת עיבוד מרכזית - 337 00:16:37,270 --> 00:16:39,640 וזה הדבר שפשוט מבין דפוסים 338 00:16:39,640 --> 00:16:40,880 של אפסים ואחדים. 339 00:16:40,880 --> 00:16:46,330 וזאת על ידי המרת קוד מקור לתוך קוד אובייקט דרך תהליך זה כאן 340 00:16:46,330 --> 00:16:49,130 שנעשה עם כמה פקודות בקצת, אתה 341 00:16:49,130 --> 00:16:53,070 דפוסי יצירה של אפסים ואחדים כי לעובדים באינטל 342 00:16:53,070 --> 00:16:56,000 החליט לייצג את ההצהרות מסוימות. 343 00:16:56,000 --> 00:16:58,810 >> עכשיו, אני לא ממש יודע באיזה הוא שרק על ידי מציץ ב 344 00:16:58,810 --> 00:16:59,890 האפסים האלה ואחדים. 345 00:16:59,890 --> 00:17:01,420 רוב בני אדם בימים אלה שלא. 346 00:17:01,420 --> 00:17:04,900 אבל באיזשהו מקום הוא דפוס של אפסים ואחדים המייצגים 347 00:17:04,900 --> 00:17:06,349 הדפסת הצהרה. 348 00:17:06,349 --> 00:17:10,460 אי שם ביכול להיות שיש שונה קבוצה של אפסים ואחדים ש 349 00:17:10,460 --> 00:17:16,940 מייצג את הרעיון של לנצח או לחזור 10 פעמים או אפילו מיאו, אם זה 350 00:17:16,940 --> 00:17:20,000 דווקא תכנית שיכולה כולל כמה צלילים. 351 00:17:20,000 --> 00:17:24,390 >> אז בקיצור, בני אדם פשוט החליטו, ממש כמו שעשינו לASCII - 352 00:17:24,390 --> 00:17:27,480 לאותיות האלפבית - בשבוע שעבר בני אדם החליטו שגם 353 00:17:27,480 --> 00:17:32,200 תבניות מורכבות יותר של אפסים ואחדים מייצג התנהגות מורכבת יותר 354 00:17:32,200 --> 00:17:35,650 כמו הדפסה או אומר או מיילל. 355 00:17:35,650 --> 00:17:38,640 וכך במשך היום, ובמידה רבה ואילך בסמסטר, ניקח ל 356 00:17:38,640 --> 00:17:41,820 מובן מאליו שמישהו הבין איך לעשות את המיפוי הזה. 357 00:17:41,820 --> 00:17:45,560 אבל אנחנו, עולים בקנה אחד עם הרעיון הזה של שכבות על גבי עבודתם של אנשים 358 00:17:45,560 --> 00:17:49,340 שבאת לפנינו, ייקח ל מובן מאליו את העובדה שזה קורה 359 00:17:49,340 --> 00:17:50,300 מתחת למכסת המנוע. 360 00:17:50,300 --> 00:17:53,840 אבל אנחנו הרבה יותר מעוניינים בניית דברים שהם יותר 361 00:17:53,840 --> 00:17:55,880 מעניין בחלק העליון של כל זה. 362 00:17:55,880 --> 00:17:58,900 >> וכך, אכן, התכנית הראשונה שלנו כתב בגרד היה פשוט סופר זה 363 00:17:58,900 --> 00:18:00,600 אחד, שלום העולם. 364 00:18:00,600 --> 00:18:05,100 ואתה יכול לחשוב על זה כעל תכנית הראשית שמסדירה סריטות של 365 00:18:05,100 --> 00:18:07,280 התנהגות כמו של יום שישי האחרון. 366 00:18:07,280 --> 00:18:11,510 >> היום, אנחנו הולכים להתחיל לתרגם גרד חתיכות הפאזל לתוך 367 00:18:11,510 --> 00:18:16,040 קוד מקור בשפה זו נקראת C, כך שזה מה שנראה כמו על 368 00:18:16,040 --> 00:18:20,230 יום שישי, החל מהיום והלאה, הוא עכשיו הולך להיראות כך. 369 00:18:20,230 --> 00:18:21,860 אמנם יותר מסתורי. 370 00:18:21,860 --> 00:18:25,010 זה די מסיח את הדעת וסוג של המוח משתק כדי לראות את כל הציטוטים 371 00:18:25,010 --> 00:18:27,760 ואת פסיק ואת סוגריים וכן הלאה. 372 00:18:27,760 --> 00:18:32,350 >> אבל אם אתה מתחיל להתעלם מכל דבר שאתה לא מבין, ובאמת נראה 373 00:18:32,350 --> 00:18:35,960 במהותו של הטקסט הלבן על מסך, אין ספק שאתם מבינים, כמו שאני עושה, 374 00:18:35,960 --> 00:18:40,360 "שלום, עולם". כי שורות עם הצהרה סגולה למעלה, ומתברר 375 00:18:40,360 --> 00:18:44,790 כי מילת המפתח הראשי הולך בשורה רעיונית עם כשירוקה 376 00:18:44,790 --> 00:18:46,350 דגל לחיצה עליו. 377 00:18:46,350 --> 00:18:49,820 >> אז במילים אחרות, בעוד שבסריטות, שלנו ליישם את תכנית שלום העולם הזה 378 00:18:49,820 --> 00:18:53,360 עם שתי החתיכות הפאזל הללו, ב-C, אנחנו הולכים ליישם את זה עם אלה 379 00:18:53,360 --> 00:18:55,510 ארבע שורות סתומות במקצת. 380 00:18:55,510 --> 00:18:58,130 אבל כפי שאנחנו לצלול עמוק יותר לתוך זה, אתה לראות שכל אחד מאלה 381 00:18:58,130 --> 00:19:02,730 תווים לבנים על המסך למעשה יש לו קצת משמעות משמעותית, 382 00:19:02,730 --> 00:19:05,880 ורוב התוכניות שלנו הולכים נראה בדיוק אותו הדבר מבחינה מבנית. 383 00:19:05,880 --> 00:19:08,980 אז הצהרה, שיהיה ברור, מה נראה כמו "העולם אומר שלום" על 384 00:19:08,980 --> 00:19:12,020 יום שישי הולך להתחיל לחפש אוהב את זה ביום שני. 385 00:19:12,020 --> 00:19:15,250 printf ("שלום, העולם"). 386 00:19:15,250 --> 00:19:17,700 ויש איזה קו נטוי מוזר n, יש סוגריים, יש 387 00:19:17,700 --> 00:19:18,490 פסיק. 388 00:19:18,490 --> 00:19:21,950 >> אבל בסופו של היום, את המפתח ממסעדה היום היא שכל מה שאנחנו עושים 389 00:19:21,950 --> 00:19:25,710 הוא תרגום דברים מתמונה בצורה לצורת טקסט. 390 00:19:25,710 --> 00:19:28,820 אז לולאה שנראית כמו זה בשבוע שעבר הוא הולך עכשיו להסתכל 391 00:19:28,820 --> 00:19:30,140 משהו כזה. 392 00:19:30,140 --> 00:19:33,020 >> ותנו לי להתכחש לה, בדיוק כמו ב שריטה, יש דרכים שונות כדי 393 00:19:33,020 --> 00:19:34,110 להשיג את אותה המטרה. 394 00:19:34,110 --> 00:19:38,860 אותו דבר בג אני לא מראה לך רק דרך לעשות את הדברים, אבל דרך אחת 395 00:19:38,860 --> 00:19:43,230 לתרגם את זה לנצח לחסום ללולאה בג 396 00:19:43,230 --> 00:19:44,980 >> זה אחד כאן, לחזור 10 פעמים. 397 00:19:44,980 --> 00:19:47,580 באמת זה סוג אחד של כפיפות אכפת הפעם הראשונה שאתה רואה את זה. 398 00:19:47,580 --> 00:19:49,860 אבל כדי ליישם את שלהלן, אנחנו הולכים להשתמש 399 00:19:49,860 --> 00:19:51,990 ללולאה, אם אפשר לומר כך. 400 00:19:51,990 --> 00:19:56,150 וברור שיש איזה תחביר זה קצת מורכב ואני שם עם 401 00:19:56,150 --> 00:19:59,740 שווה ו0, אבל ברגע שאנחנו צוללים לתוך כי היום ואילך, אתה פשוט הולך 402 00:19:59,740 --> 00:20:04,260 כדי לראות שזה כל פשוט עושה קצת חשבון בסיסי כדי להוציא אותנו מ0 403 00:20:04,260 --> 00:20:07,720 על עד 9 או 10 במקרה זה. 404 00:20:07,720 --> 00:20:11,570 >> לבסוף, עם משתנים, אתה זוכר שמשתנה הוא פיסה של שטח האחסון. 405 00:20:11,570 --> 00:20:14,290 ובכן, מה היה לנו בצד השמאל יש האחרון בשבוע שהוא הולך להסתכל קצת 406 00:20:14,290 --> 00:20:15,920 משהו כמו זה בשבוע זה. 407 00:20:15,920 --> 00:20:17,870 אבל שוב, עוד על כך שביבואו. 408 00:20:17,870 --> 00:20:20,700 >> היו לנו ביטויים בוליאניים, אשר בשבוע שעבר, שנראה כמו זה. 409 00:20:20,700 --> 00:20:23,370 הלאה השבוע, הם הולכים מתחיל להיראות קצת ככה. 410 00:20:23,370 --> 00:20:24,890 >> וזה בעצם אחד קצת מרגיע. 411 00:20:24,890 --> 00:20:27,680 זה בעצם כמעט כל כך פשוט כאובניים הירוק. 412 00:20:27,680 --> 00:20:31,115 אבל כאן יש לנו, שוב, כמה תחביר חדש עם אמפרסנד, אבל אתה יכול 413 00:20:31,115 --> 00:20:35,390 אולי לנחש אילו בסריטות, אתה אומרים-N-D, כנראה ב-C, אנחנו 414 00:20:35,390 --> 00:20:37,070 הולך להגיד אמפרסנד אמפרסנד. 415 00:20:37,070 --> 00:20:39,650 אבל כל זה יהפוך טבעי לפני זמן רב. 416 00:20:39,650 --> 00:20:40,680 >> תנאים. 417 00:20:40,680 --> 00:20:42,610 בשבוע שעבר, זה נראה כמו זה בצד השמאל. 418 00:20:42,610 --> 00:20:44,800 בשבוע זה, בצד ימין, זה הולך להיראות ככה. 419 00:20:44,800 --> 00:20:48,560 אבל שוב, היא ממסעדה המפתח כאן כי כפי שאתה רואה דברים כאלה על 420 00:20:48,560 --> 00:20:51,950 מימין, ובמיוחד אם פחות נוח, שזה סוג של מעליך 421 00:20:51,950 --> 00:20:54,950 ראש, אתה מקבל קצת המום כי באמת אין לי מושג איך אני יכול 422 00:20:54,950 --> 00:20:58,420 אולי לבוא עם כי מהתחלה - 423 00:20:58,420 --> 00:20:59,500 משחק מילים לא התכוונו - 424 00:20:59,500 --> 00:21:05,300 רק מבין שזה באמת אותו רעיון שכנראה הרגיש כל כך הרבה יותר 425 00:21:05,300 --> 00:21:06,760 טבעי בשבוע הקודם. 426 00:21:06,760 --> 00:21:10,960 ואפילו אם לא צלל לתוך סט הבעיה 0, אני מעז לומר לך תמצא 427 00:21:10,960 --> 00:21:13,790 כי את חלקי הפאזל למדי אינטואיטיבי, או לפחות 428 00:21:13,790 --> 00:21:16,050 הפך להיות כל כך לאורך זמן. 429 00:21:16,050 --> 00:21:16,990 >> אז בואו לצלול פנימה 430 00:21:16,990 --> 00:21:20,760 בואו לקבל את ידי מלוכלכות שלנו כאן עם תכנית פשוטה זו ראשונה. 431 00:21:20,760 --> 00:21:22,410 ופשוט הוא, כמובן, קרוב משפחה. 432 00:21:22,410 --> 00:21:25,190 לשם כך, אני הולך לשנות את המסכים למכשיר שנקרא 433 00:21:25,190 --> 00:21:26,150 CS50 מכשיר. 434 00:21:26,150 --> 00:21:29,700 מכשיר CS50 הוא חתיכה תוכנה שפועלת בתוך 435 00:21:29,700 --> 00:21:33,920 חלון ב-Mac שלי, ואתה יכול גם לרוץ בחלון הפנימי של המחשב שלך, שזה 436 00:21:33,920 --> 00:21:38,720 מאפשר לי יש את אותה מדויקת סביבת מחשב כמו כל TF, כפי 437 00:21:38,720 --> 00:21:40,940 כל CA, כמו כל תלמיד בכיתה. 438 00:21:40,940 --> 00:21:44,590 בגלל מכשיר CS50 הוא, פשוטו כמשמעו, מערכת הפעלה אחרת 439 00:21:44,590 --> 00:21:45,410 קרא לינוקס - 440 00:21:45,410 --> 00:21:47,160 במיוחד פדורה לינוקס - 441 00:21:47,160 --> 00:21:51,320 ואנחנו, צוות, הגדירו תהליך ההתקנה של זה 442 00:21:51,320 --> 00:21:55,200 הפעלת מערכת באופן כזה שאף אחד, יש לוגו קטן בCS50 443 00:21:55,200 --> 00:21:59,240 באמצע, שתיים, יש תפריט מותאם אישית ב תחתון, ושלוש, מבחינה פדגוגית, 444 00:21:59,240 --> 00:22:02,570 אנחנו כבר פישט את ממשק המשתמש כ עד כמה שניתן, כך שכאשר אתה 445 00:22:02,570 --> 00:22:05,540 ראשון לאתחל את הדבר הזה בעצמך Mac או PC, יש לך את אותו 446 00:22:05,540 --> 00:22:08,280 סביבה, כמו כל אחד אחר, ואתה יש את כל הכלים שאתה צריך 447 00:22:08,280 --> 00:22:11,390 לקורס מבלי להבין איך להתקין כל אחד ו 448 00:22:11,390 --> 00:22:13,280 כל כלי בנפרד. 449 00:22:13,280 --> 00:22:15,840 >> אז זה נראה יחסית כמו Mac OS או Windows. 450 00:22:15,840 --> 00:22:18,760 בפינה השמאלית התחתונה, אתה יש תפריט התחל של מהות 451 00:22:18,760 --> 00:22:20,280 מיני, או תפריט Apple. 452 00:22:20,280 --> 00:22:23,700 ואז יש לך את מה שאנחנו חושדים שיהיו להיות שלושת הסמלים הנפוצים ביותר שלך. 453 00:22:23,700 --> 00:22:24,460 אחת מהן הוא כרום. 454 00:22:24,460 --> 00:22:26,460 יש בתוך דפדפן של המכשיר. 455 00:22:26,460 --> 00:22:29,970 >> שתיים היא תכנית בשם gedit, אשר ראינו בקצרה בשבוע שעבר, שהוא 456 00:22:29,970 --> 00:22:31,310 רק עורך גרפי. 457 00:22:31,310 --> 00:22:35,350 ושלוש הוא תכנית מסוף, אשר הוא חלון שחור ולבן מ 458 00:22:35,350 --> 00:22:39,860 פעם שמאפשרת לנו להקליד יותר פקודות מסתוריות אך חזקה יותר ב 459 00:22:39,860 --> 00:22:40,660 המקלדת שלנו. 460 00:22:40,660 --> 00:22:44,220 אז אני הולך קדימה, ולחץ על gedit, והיה סמוכים ובטוח שבעיה 461 00:22:44,220 --> 00:22:48,520 להגדיר 1, להשתחרר ביום שישי, יהיה ללוות אותך לאורך כל אותם צעדים. 462 00:22:48,520 --> 00:22:51,730 >> שים לב שיש לי די פשוט ממשק משתמש בשלושה חלקים. 463 00:22:51,730 --> 00:22:54,990 בצד השמאל, יש לי גדול ריק חלון בשם קוד מקור. 464 00:22:54,990 --> 00:22:58,930 זה המקום שבי אני הולך לראות סיכום של כל קוד שאני כותב. 465 00:22:58,930 --> 00:23:01,990 בצד ימין, יש לי גדול כרטיסייה, שלא נשמרו כרגע, וזה 466 00:23:01,990 --> 00:23:03,510 שם הקוד שלי הולך ללכת. 467 00:23:03,510 --> 00:23:06,780 ועל החלק התחתון, יש לי מוטבע חלון מסוף, שחור ולבן 468 00:23:06,780 --> 00:23:12,060 תבקש שבבו אני יכול להקליד פקודות ל לקמפל ולהריץ התוכניות שלי - כי 469 00:23:12,060 --> 00:23:14,110 הוא, לבצע ולהפעיל התוכניות שלי. 470 00:23:14,110 --> 00:23:15,170 >> אז בואו נתחיל פשוט. 471 00:23:15,170 --> 00:23:17,700 תן לי לעלות לקובץ, שמור. 472 00:23:17,700 --> 00:23:20,530 אני הולך קדימה להיכנס jharvard. 473 00:23:20,530 --> 00:23:24,320 אז את המכשיר, בלי קשר למה השם שלך הוא, שייך לאחד בשם 474 00:23:24,320 --> 00:23:28,250 ג'ון הרווארד, שיש לו בית jharvard ספרייה הפנימית של שכל שלך 475 00:23:28,250 --> 00:23:29,100 קבצים ילכו. 476 00:23:29,100 --> 00:23:31,640 זה עותק של החשבון שלו משלך, כך שאנחנו לא כל השיתוף 477 00:23:31,640 --> 00:23:33,530 אותו הכונן הקשיח. 478 00:23:33,530 --> 00:23:35,580 פשוט יש לך את האשליה משלו של ג'ון הרווארד. 479 00:23:35,580 --> 00:23:38,350 >> מראש, אני ממש מותקן Dropbox. 480 00:23:38,350 --> 00:23:42,600 המכשיר מגיע עם preprepared Dropbox, כך שאם משהו ישתבש 481 00:23:42,600 --> 00:23:45,950 במהלך הסמסטר, אם יש לך מוגדר המכשיר שלך עם חינם 482 00:23:45,950 --> 00:23:48,950 חשבון Dropbox, כל הקבצים שלך להיות מגובה באופן אוטומטי, כך שאתה 483 00:23:48,950 --> 00:23:50,430 בקלות רבה ניתן לשחזר אותם. 484 00:23:50,430 --> 00:23:53,980 ואני הולך להיכנס לDropbox שלי בספרייה, ויש כבר הולך 485 00:23:53,980 --> 00:23:55,530 להיות כמה דברים אחרים שם. 486 00:23:55,530 --> 00:24:02,090 >> אבל אני הולך קדימה וללכת קובץ, שמור. 487 00:24:02,090 --> 00:24:05,930 אני הולך להיכנס לjharvard, Dropbox, ועד כאן, אני הולך 488 00:24:05,930 --> 00:24:10,590 לתת התכנית שלי פשוט סופר שם, hello.c, ולאחר מכן לשמור. 489 00:24:10,590 --> 00:24:11,810 אז יש לי את אותו ממשק עכשיו. 490 00:24:11,810 --> 00:24:14,190 דבר היחיד שהשתנה היא הלשונית למעלה. 491 00:24:14,190 --> 00:24:17,170 אז אני הולך מהר מאוד לשחזר תכנית שמן 492 00:24:17,170 --> 00:24:19,060 מחליק לפני רגע. 493 00:24:19,060 --> 00:24:25,690 >> אז לעיקרי (הריק), ולאחר מכן printf, "שלום, עולם", סתום במקצת 494 00:24:25,690 --> 00:24:29,920 הקו הנטוי N, קרוב הצעת מחיר, לסגור סוגריים, פסיק, ו 495 00:24:29,920 --> 00:24:32,030 אז Ctrl S כדי לשמור. 496 00:24:32,030 --> 00:24:34,860 והודעה כבצד את מה בדיוק הופיע כאן בצד השמאל למעלה. 497 00:24:34,860 --> 00:24:37,490 וזה לא שימושי היום, אבל יהיה שימושית לאורך זמן. 498 00:24:37,490 --> 00:24:40,160 אתה פשוט רואה, שוב, סיכום של את הקוד שכתבת. 499 00:24:40,160 --> 00:24:43,320 ובגלל שכתבתי משהו שנקרא עיקרי, זאת הסיבה העיקרית צצה המילה 500 00:24:43,320 --> 00:24:44,030 עד לשם. 501 00:24:44,030 --> 00:24:46,610 אבל על פי רוב, אנחנו לא צריך את זה היום. 502 00:24:46,610 --> 00:24:51,130 >> בסדר, אז אני טוען שזה שלי התכנית ראשונה שנכתבה בתכנות 503 00:24:51,130 --> 00:24:54,620 שפה בשם C. אנחנו יודעים מיום שישי כי מה שהדבר הזה הולך לעשות 504 00:24:54,620 --> 00:24:58,450 uninterestingly מאוד כש להפעיל אותו הוא פשוט להציג - 505 00:24:58,450 --> 00:25:01,270 במילים אחרות, להדפיס, כמו מחשב מדען הייתי אומר - 506 00:25:01,270 --> 00:25:03,310 שלום עולם על המסך. 507 00:25:03,310 --> 00:25:06,800 אז כדי לעשות את זה, תוכל להבחין שיש לי לרדת כאן למסוף שלי 508 00:25:06,800 --> 00:25:09,250 חלון, ועכשיו יש לי מצמוץ מהיר. 509 00:25:09,250 --> 00:25:15,480 אבל זה כרגע גרסה של מקלדת ספריית הבית שלי ג'ון הרווארד. 510 00:25:15,480 --> 00:25:19,610 זה מקלדת דרך שבאמצעותה כדי לנווט הכונן הקשיח שלי. 511 00:25:19,610 --> 00:25:25,380 >> אז אני לא ממש יכול להקליד כמו שאני עשיתי בשבוע שעבר לעשות שלום, כי זה 512 00:25:25,380 --> 00:25:27,230 הולך להגיד שום כלל כדי להפוך את היעד - 513 00:25:27,230 --> 00:25:27,950 משהו לא בסדר. 514 00:25:27,950 --> 00:25:31,690 אני לא ממש יודע מה זה הודעה אמצעים, אבל זה בגלל שברירת מחדל, 515 00:25:31,690 --> 00:25:35,350 כאשר חלון שחור ולבן זה פתחתי, אני פנימי של ג'ון הרווארד של 516 00:25:35,350 --> 00:25:36,160 ספריית הבית. 517 00:25:36,160 --> 00:25:39,180 אבל איפה שאני לא יחסוך תכנית ש? 518 00:25:39,180 --> 00:25:40,440 בתיקיית Dropbox שלי. 519 00:25:40,440 --> 00:25:43,110 >> עכשיו, כל אחד מאיתנו גדלנו עם מחשבים שבו אתה פשוט לחץ לחיצה כפולה 520 00:25:43,110 --> 00:25:45,610 על הסמל של תיקייה, זה נפתח, וזהו. 521 00:25:45,610 --> 00:25:48,280 זה מקום שבי הקובץ שנקרא hello.c יהיה. 522 00:25:48,280 --> 00:25:49,470 אז למעשה, בואו נעשה את זה. 523 00:25:49,470 --> 00:25:51,610 >> תן לי להמשיך ולמזער gedit בדיוק כמו שהיית על 524 00:25:51,610 --> 00:25:52,990 Windows או Mac OS. 525 00:25:52,990 --> 00:25:56,160 תן לי להיכנס לבית תיקייה בצד שמאל למעלה. 526 00:25:56,160 --> 00:25:57,620 אני אראה כאן חבורה של תיקיות. 527 00:25:57,620 --> 00:25:58,870 הנה תיקיית Dropbox שלי. 528 00:25:58,870 --> 00:26:00,770 את הסימנים ואומרים שזה היה מסונכרן. 529 00:26:00,770 --> 00:26:04,040 ויש עוד כמה דברים בפה, אבל שם לב שhello.c הוא 530 00:26:04,040 --> 00:26:04,960 אכן שם. 531 00:26:04,960 --> 00:26:08,050 >> וכך, ב-Mac OS או Windows, בדרך כלל, אני הייתי כפול לחץ על זה, זה פותח ב 532 00:26:08,050 --> 00:26:10,220 כל מה בתכנית, ואני טוב ללכת. 533 00:26:10,220 --> 00:26:13,370 אבל עכשיו, לפחות החל מיום, אנחנו צריך לקחת צעד אחורה רק כדי 534 00:26:13,370 --> 00:26:16,960 אתן לך כמה כלים בסיסיים לשלך ערכת כלי שבעזרתו לעשות יותר 535 00:26:16,960 --> 00:26:18,980 דברים רבי עוצמה לפני זמן רב. 536 00:26:18,980 --> 00:26:22,280 >> אז בהנחיה זו, שאני צריך לעשות מקבילה של לחיצה כפולה 537 00:26:22,280 --> 00:26:23,560 תיקיית Dropbox. 538 00:26:23,560 --> 00:26:29,900 וכדי לעשות את זה, אני הולך לפורמט CD לשנות את הספרייה, Dropbox, להיכנס. 539 00:26:29,900 --> 00:26:36,100 ועכשיו שים לב לסוגריים בי מה שנקרא הפקודה עכשיו אומרת שאני ב 540 00:26:36,100 --> 00:26:38,470 טילדה, קצת משורבטת סמל בפינה השמאלית העליונה של 541 00:26:38,470 --> 00:26:40,860 רוב המקלדות, / Dropbox. 542 00:26:40,860 --> 00:26:45,200 זהו רק סימון מקוצר עבור אומר אדם, אתה נמצא עכשיו בתוך 543 00:26:45,200 --> 00:26:48,650 תיקיית Dropbox, ממש כאילו היה לך לחיצה כפולה על זה. 544 00:26:48,650 --> 00:26:54,610 >> אז עכשיו אם אני הולך קדימה ולהפוך את הקלד הלו, להיכנס אליו, אני רואה מאוד מסתורי 545 00:26:54,610 --> 00:26:57,450 הפקודה, אבל לא הודעת שגיאה, כך נראה, ולאחר מכן 546 00:26:57,450 --> 00:26:59,020 עוד מהבהב הפקודה. 547 00:26:59,020 --> 00:27:04,470 ואם אתה זוכר, אי פעם כל כך מהר ביום שישי, עשינו את זה. . / שלום. 548 00:27:04,470 --> 00:27:10,000 >> מה אתה עומד לראות הוא התוצאה של הריצה שלי בתכנית זו, או, ב-Mac 549 00:27:10,000 --> 00:27:14,310 מבחינת מערכת הפעלה ומחשב, אם הייתי בדרך כלל כפול לחץ על תכנית -. אפליקציה 550 00:27:14,310 --> 00:27:17,620 תכנית או. exe, הוא נפתח חלון וריצות. 551 00:27:17,620 --> 00:27:21,920 הקלדה. / שלום היא בדיוק כמו כפול לחיצה על תכנית כדי להפעיל אותו, אבל 552 00:27:21,920 --> 00:27:23,280 שימוש במקלדת שלי. 553 00:27:23,280 --> 00:27:25,410 >> הזן, שלום עולם. 554 00:27:25,410 --> 00:27:26,150 וזהו זה. 555 00:27:26,150 --> 00:27:29,150 אז בואו להקניט זה מלבד לכך שהוא לא מרגיש יותר מדי כמו יווני. 556 00:27:29,150 --> 00:27:31,370 >> אז. / מה זה אומר? 557 00:27:31,370 --> 00:27:34,120 כל מי שאי פעם לנווט מקלדת סביבה כזאת, מה זה נקודה 558 00:27:34,120 --> 00:27:36,690 בהתייחסו ל? 559 00:27:36,690 --> 00:27:37,800 הספרייה הנוכחית. 560 00:27:37,800 --> 00:27:41,320 >> אז הספרייה הנוכחית היא רק שם נרדף לתיקייה. 561 00:27:41,320 --> 00:27:46,230 אז באומרו נקודת לוכסן, שאני אומר, לחפש תכנית בשם שלום ב 562 00:27:46,230 --> 00:27:47,250 ספרייה נוכחית - 563 00:27:47,250 --> 00:27:48,540 בתיקייה הנוכחית. 564 00:27:48,540 --> 00:27:50,480 במילים אחרות, תיקיית Dropbox שלי. 565 00:27:50,480 --> 00:27:54,220 וזו הסיבה שמכת הזן ואילך בעצם פועלת תכנית. 566 00:27:54,220 --> 00:27:58,790 >> אם אני עכשיו סוג LS, שם לב שאני רואה את הכל בתיקיית Dropbox שלי. 567 00:27:58,790 --> 00:28:02,000 קבלת Started.pdf, שDropbox נותן לך, לתמונות שלי בחינם 568 00:28:02,000 --> 00:28:05,450 הספרייה, ספרייה ציבורית, שלא נשמרו מסמך 1 שאני עשיתי בטעות 569 00:28:05,450 --> 00:28:09,730 לפני רגע, foo.c, שעשיתי קודם לכן היום, ולאחר מכן שתי שורות - 570 00:28:09,730 --> 00:28:12,090 hello.c ושלום. 571 00:28:12,090 --> 00:28:17,280 >> Hello.c היא התכנית שכתבתי עם gedit, ומה הוא שלום בירוק? 572 00:28:17,280 --> 00:28:20,920 573 00:28:20,920 --> 00:28:22,940 שלום בירוק הוא ההפעלה. 574 00:28:22,940 --> 00:28:27,020 במילים אחרות, כאשר רצתי בפקודה זו לפני רגע - תנו לי לגלגל 575 00:28:27,020 --> 00:28:28,040 אחורה בזמן - 576 00:28:28,040 --> 00:28:32,400 כשרצתי לעשות שלום, זה צעד ביניים כאן. 577 00:28:32,400 --> 00:28:34,410 וזה לקח hello.c כקלט - 578 00:28:34,410 --> 00:28:39,910 קוד מקור AKA - והיא הניבה קובץ בשם שלום כפלט, אשר 579 00:28:39,910 --> 00:28:42,510 מכיל את כל האפסים האלה ואחדים. 580 00:28:42,510 --> 00:28:47,640 ולכן, בסופו של הדבר, אני יכול למעשה להפעיל פקודה כמו. / שלום. 581 00:28:47,640 --> 00:28:53,310 בגלל Intel Inside, ההפעלה שלי המערכת, לינוקס, פותחת את האפסים האלה 582 00:28:53,310 --> 00:28:55,820 ואלה, מזינים אותם לתוך מוח של המחשב שלי - 583 00:28:55,820 --> 00:28:56,580 מעבד - 584 00:28:56,580 --> 00:29:00,460 ושהמעבד יודע, הו, הנה דפוס של אפסים ואחדים שאומר 585 00:29:00,460 --> 00:29:02,800 להדפיס את הדבר הבא על המסך. 586 00:29:02,800 --> 00:29:04,450 >> מה הדבר הבא? 587 00:29:04,450 --> 00:29:07,650 מירכאות, "שלום העולם". 588 00:29:07,650 --> 00:29:12,100 >> בסדר, אז סיכום מהיר של כמה פקודות אלה, כדי שנוכל להתחיל 589 00:29:12,100 --> 00:29:13,350 לוקח אותם כמובן מאליו. 590 00:29:13,350 --> 00:29:15,550 הרשה לי לדלג קדימה כדי שבו הפסקנו. 591 00:29:15,550 --> 00:29:22,230 ואתה זוכר שהיה לנו תקליטור בגב שלנו בסופו לפני רגע. 592 00:29:22,230 --> 00:29:24,880 אלה, אני מעז לומר, ל מטרות של היום - 593 00:29:24,880 --> 00:29:29,010 אולי בשבוע זה - את הפקודות רק ייתכן שיצטרך להקליד בשורת 594 00:29:29,010 --> 00:29:30,580 חוץ מזה יבקש לעשות. 595 00:29:30,580 --> 00:29:34,510 >> אז התקליטור עמד על מה? 596 00:29:34,510 --> 00:29:35,180 לשנות את הספרייה. 597 00:29:35,180 --> 00:29:38,010 זה פשוט שווה הערך לכפול לחיצה על תיקייה. 598 00:29:38,010 --> 00:29:41,320 וכמאמר מוסגר, אם אתה מקבל איבד אי פעם בתוכך 599 00:29:41,320 --> 00:29:43,430 מכשיר, כך שDropbox - 600 00:29:43,430 --> 00:29:45,420 אני רוצה לחזור לי ספריית jharvard - 601 00:29:45,420 --> 00:29:50,490 במקרה של ספק, תקליטור, להיכנס אליו, עם לא אחרים מילים, וזה רק רוכסנים אותך בחזרה 602 00:29:50,490 --> 00:29:53,110 למקום בו התחלת, אשר הוא קיצור דרך קטנה ונחמדה. 603 00:29:53,110 --> 00:29:54,840 >> בסדר, אז עכשיו פקודות אחרות. 604 00:29:54,840 --> 00:29:55,660 LS. 605 00:29:55,660 --> 00:29:56,840 אני הקלדתי את זה לפני רגע. 606 00:29:56,840 --> 00:29:59,500 מה אתה חושב LS מייצג? 607 00:29:59,500 --> 00:30:00,470 >> לכן, רשימה, נכון? 608 00:30:00,470 --> 00:30:03,300 חזרה היום, כאשר בני האדם באים עם פקודות אלה, שהם 609 00:30:03,300 --> 00:30:07,180 ניסינו להיות יעיל, ולא הקלד את L-I-S-T ENTER, הם 610 00:30:07,180 --> 00:30:08,470 החליט LS. 611 00:30:08,470 --> 00:30:09,080 זה בסדר. 612 00:30:09,080 --> 00:30:10,420 זה נשמע די כמו רשימה. 613 00:30:10,420 --> 00:30:13,870 בואו רק סוג LS להיכנס, וכי מפרט את הקבצים או תיקיות בי 614 00:30:13,870 --> 00:30:15,000 תיקייה נוכחית. 615 00:30:15,000 --> 00:30:17,530 >> mkdir, כנראה שאתה יכול לנחש. 616 00:30:17,530 --> 00:30:18,440 הפוך את הספרייה. 617 00:30:18,440 --> 00:30:22,010 אז אתה לא הולך לתפריט קובץ וכמה לבחור תיקייה חדשה בסביבה זו. 618 00:30:22,010 --> 00:30:27,410 במקום זאת, אתה מקליד את פקודת mkdir החלל ולאחר מכן את שמה של התיקייה 619 00:30:27,410 --> 00:30:29,850 שברצונך ליצור, וזה ייעשה. 620 00:30:29,850 --> 00:30:32,380 >> rm, אתה יכול לנחש. 621 00:30:32,380 --> 00:30:33,480 להסיר או למחוק. 622 00:30:33,480 --> 00:30:36,740 אז אם ברצונך למחוק קובץ, אתה רואה בסט הבעיה איך אתה 623 00:30:36,740 --> 00:30:37,240 יכול לעשות את זה. 624 00:30:37,240 --> 00:30:39,510 וrmdir, להסיר את הספרייה. 625 00:30:39,510 --> 00:30:42,320 >> אז, שוב, אני נוטה לטוס דרך כמה של פרטים אישיים, אחד, כי 626 00:30:42,320 --> 00:30:46,010 הם לא כל כך כיף לבלות זמן, אבל שתיים, אנו נספק לך ב 627 00:30:46,010 --> 00:30:48,720 פירוט רב יותר בכל אחת הבעיה של הקורס קובעת, במיוחד 628 00:30:48,720 --> 00:30:52,370 המהדורות הסטנדרטיות, כל אחד מהשלבים שאולי אתה צריך להקליד כל כך 629 00:30:52,370 --> 00:30:54,830 שאתה מקבל יותר ויותר נוח עם הדברים האלה. 630 00:30:54,830 --> 00:30:57,430 >> אבל עכשיו תן לי להפריד עוד דבר אחד. 631 00:30:57,430 --> 00:31:02,580 כשהקלדנו לעשות שלום לפני רגע, ראינו רצף מסתורי של פקודות. 632 00:31:02,580 --> 00:31:04,805 ראינו, שוב, לעשות שלום. 633 00:31:04,805 --> 00:31:07,640 634 00:31:07,640 --> 00:31:08,520 אוקיי, בואו נעשינו את זה. 635 00:31:08,520 --> 00:31:11,840 אני עומד לעשות טעות, אבל [לא ברור] עכשיו להודות שאני עומד 636 00:31:11,840 --> 00:31:14,400 ולעשות את זה בכוונה. 637 00:31:14,400 --> 00:31:15,810 >> מה עשיתי לא בסדר רק עכשיו? 638 00:31:15,810 --> 00:31:18,680 639 00:31:18,680 --> 00:31:21,060 כן, אז אני לא בDropbox ספרייה, כי לפני רגע 640 00:31:21,060 --> 00:31:22,720 תקליטור מוקלד ופשוט הקישו על Enter. 641 00:31:22,720 --> 00:31:25,480 שנסק בחזרה אותי למקום שבו התחלתי, וזה לא שבו הקובץ שלי 642 00:31:25,480 --> 00:31:31,720 הוא, ולכן אני באמת צריך לעשות Dropbox התקליטור להיכנס, ועכשיו אני יכול לעשות שלום rm 643 00:31:31,720 --> 00:31:34,060 הכנס, להסיר קובץ רגיל שלום. 644 00:31:34,060 --> 00:31:35,200 אני לא יודע למה זה כל כך ברור מאליהם. 645 00:31:35,200 --> 00:31:37,600 זה רק אומר שאתה בטוח אתה רוצה למחוק את שלום? 646 00:31:37,600 --> 00:31:41,510 אתה יכול להקליד Y לכן, הזן, ועכשיו זה נעלם. 647 00:31:41,510 --> 00:31:46,010 >> ועכשיו, אם אני מקליד לעשות שלום שוב, זה הולך לשחזר את קוד היעד שלי, 648 00:31:46,010 --> 00:31:47,460 לשחזר את אותם אפסים ואחדים. 649 00:31:47,460 --> 00:31:51,070 אבל מה הוא להתמודד עם הפקודה הארוכה מאוד הזה? 650 00:31:51,070 --> 00:31:53,960 ובכן, אנחנו להקניט זה לגזרים לפני זמן רב, אבל לעשות - 651 00:31:53,960 --> 00:31:55,500 אמרתי לי קצת שקר לבן לפני - 652 00:31:55,500 --> 00:31:56,880 לא מהדר. 653 00:31:56,880 --> 00:32:00,350 הפוך היא תכנית באופן אוטומטי דמויות איך להפעיל 654 00:32:00,350 --> 00:32:02,060 מהדר עבורך. 655 00:32:02,060 --> 00:32:07,490 >> אז הפקודה שאתה באמת צריך להיות פועל על מנת להמיר hello.c 656 00:32:07,490 --> 00:32:11,240 לשלום באמת נראה קצת יותר כמו זה. 657 00:32:11,240 --> 00:32:15,900 וחס ושלום יש לנו בעצם זוכר שאי פעם להקליד שכל 658 00:32:15,900 --> 00:32:17,280 רצף של פקודות בחוץ. 659 00:32:17,280 --> 00:32:21,360 המטרה לעשות בחיים היא זוכר שמידה של מורכבות עבור 660 00:32:21,360 --> 00:32:24,470 אותנו ולהפוך את מה שהיית אחר צעדים להיות מאוד משעממים. 661 00:32:24,470 --> 00:32:26,040 >> אבל אני יכול משוער ש. 662 00:32:26,040 --> 00:32:29,960 אז בכל הגיליון לרמות כאן הקטן הזה, אני יכול משוער מה היא הפקודה ש 663 00:32:29,960 --> 00:32:33,960 עושה פשוט על ידי הקלדת צלצול, שהוא שמו של מהדר נהיה 664 00:32:33,960 --> 00:32:35,170 שימוש בסמסטר הזה. 665 00:32:35,170 --> 00:32:38,500 אם מישהו מכם אי פעם עשו את iOS פיתוח עבור iPhone או iPad, 666 00:32:38,500 --> 00:32:42,930 צלצול הוא התכנית שבה השתמשת בתוך Xcode כדי להפוך את היישומים שלך. 667 00:32:42,930 --> 00:32:46,360 צלצול, אם כי, הוא רק עוד תכנית שמו אנו יכולים להקליד בשורת 668 00:32:46,360 --> 00:32:49,210 הפקודה, ועל ידי החדרת זה עכשיו, אני יכול להציג משהו שהוא 669 00:32:49,210 --> 00:32:52,410 נציג קטן של פקודות הבאות. 670 00:32:52,410 --> 00:32:53,910 אז תן לי לעשות את זה באופן ידני. 671 00:32:53,910 --> 00:32:59,240 >> אז RM שלום, ועכשיו שם לב במקרה אני, בדיוק כמו שפיות לבדוק - 672 00:32:59,240 --> 00:33:03,180 . / הלו, מה אתה חושב שאני צריך לראות אם אני עושה את זה? 673 00:33:03,180 --> 00:33:04,060 איזה סוג של שגיאה. 674 00:33:04,060 --> 00:33:05,110 אין ספריית קובץ כזה. 675 00:33:05,110 --> 00:33:06,740 כך שאף אחד בעצם די ישיר. 676 00:33:06,740 --> 00:33:08,110 >> אז עכשיו תן לי לנקות את המסך. 677 00:33:08,110 --> 00:33:11,370 שליטת S פשוט מנקה את המסך כדי להסיר חלק מסח הדעת. 678 00:33:11,370 --> 00:33:17,160 ועכשיו אני הולך באופן ידני סוג הצלצול-o שלום hello.c. 679 00:33:17,160 --> 00:33:18,890 אז מה הוא עומד לעשות את זה? 680 00:33:18,890 --> 00:33:23,820 בדיוק את אותו הדבר שעשה בשביל להפוך לנו, אבל אני לא זורק את חלק 681 00:33:23,820 --> 00:33:25,430 את המילים המיותרות. 682 00:33:25,430 --> 00:33:28,570 >> צלצול הוא התכנית שהולכת לקחת את הקובץ. ג כקלט ולייצר 683 00:33:28,570 --> 00:33:30,110 אפסים ואחדים כפלט. 684 00:33:30,110 --> 00:33:35,120 אבל-o להלן אקרא מתג או דגל. 685 00:33:35,120 --> 00:33:39,080 זוהי רק ז'רגון טכנאי לאמר זו מילה שהקלדת בשורת 686 00:33:39,080 --> 00:33:42,590 שאיכשהו משפיע על ההתנהגות של התכנית שאתה מפעיל. 687 00:33:42,590 --> 00:33:47,180 אז האם מישהו רוצה לנחש מה-O מעביר? 688 00:33:47,180 --> 00:33:47,840 >> פלט. 689 00:33:47,840 --> 00:33:52,670 זה פשוט מישהו החליט-o פירושו פלט קובץ בשם שלום ולקחת כמו 690 00:33:52,670 --> 00:33:56,440 קלט מה המילה האחרונה על הנחיה היא, hello.c, כך שאם אני מכה 691 00:33:56,440 --> 00:33:58,930 הזן עכשיו, שום דבר לא נראה שיקרה. 692 00:33:58,930 --> 00:34:02,010 ולמרבה הפלא, בעולם הזה של תכנות, אם לא קורה כלום, 693 00:34:02,010 --> 00:34:03,980 זה כנראה דבר טוב משום שאין שום שגיאה 694 00:34:03,980 --> 00:34:05,350 הודעה על המסך. 695 00:34:05,350 --> 00:34:07,190 שלום, Enter. 696 00:34:07,190 --> 00:34:08,670 התכנית שלי עכשיו יש להפעיל. 697 00:34:08,670 --> 00:34:14,517 >> אבל אני יכול לעשות דברים קטנים ומטופשים כמו זה. צלצול-O, hihihi, hello.c, 698 00:34:14,517 --> 00:34:18,590 להיכנס, ועכשיו יש לי זהה תכנית בשם hihihi. 699 00:34:18,590 --> 00:34:20,739 הוא מתנהג אותו הדבר, אבל השם שונה. 700 00:34:20,739 --> 00:34:23,360 >> אז זה רק אומר שאם אתה רוצה כדי להשפיע על ההתנהגות של 701 00:34:23,360 --> 00:34:25,909 תכנית, שאנחנו הולכים יותר ויותר לראות דברים בשם 702 00:34:25,909 --> 00:34:27,739 טיעוני שורת הפקודה. 703 00:34:27,739 --> 00:34:28,639 זהו קו. 704 00:34:28,639 --> 00:34:29,580 אתה מקליד פקודות. 705 00:34:29,580 --> 00:34:30,969 מכאן, שורת הפקודה. 706 00:34:30,969 --> 00:34:35,690 וטיעוני שורת הפקודה הם רק מילים או חתיכות קטנות של שתחביר 707 00:34:35,690 --> 00:34:40,840 איכשהו להשפיע על ההתנהגות של תוכניות שאנו מפעילים. 708 00:34:40,840 --> 00:34:44,639 >> בסדר, שהוא אולי הכי תכנית משעממת אנחנו יכולים לכתוב ולראות. 709 00:34:44,639 --> 00:34:46,670 עכשיו בואו נעשה משהו מעניין יותר. 710 00:34:46,670 --> 00:34:49,420 תן לי להמשיך וליצור קובץ חדש. 711 00:34:49,420 --> 00:34:53,139 אני הולך קדימה ולשמור את זה ב ספריית ביתו של ג'ון הרווארד כ, 712 00:34:53,139 --> 00:34:58,670 בואו נקראים לזה custom.c, להיות תכנית מותאמת אישית קטנה. 713 00:34:58,670 --> 00:35:01,920 אני הולך להתמקד בראש שלי את הלשוניות פה ולהתחיל מחדש. 714 00:35:01,920 --> 00:35:03,730 >> כולל stdio.h הסטנדרטי. 715 00:35:03,730 --> 00:35:04,990 עוד על כך באותו רגע. 716 00:35:04,990 --> 00:35:08,240 int הראשי (חלל), נוסף על כי ברגע. 717 00:35:08,240 --> 00:35:09,490 printf ("שלום, דוד"). 718 00:35:09,490 --> 00:35:12,810 719 00:35:12,810 --> 00:35:14,560 הרבה יותר מעניין, נכון? 720 00:35:14,560 --> 00:35:20,690 >> אז עכשיו, אם - לא בגלל השם שלי, רק בגלל שזה שונה - 721 00:35:20,690 --> 00:35:24,950 להפוך את המנהג להיכנס. 722 00:35:24,950 --> 00:35:26,780 אישית, הלו, דוד. 723 00:35:26,780 --> 00:35:28,020 אבל גם זה, גם זה שקר לבן. 724 00:35:28,020 --> 00:35:30,850 תכנית זו, כמו גם שניתן לכנות david.c, כי זה לא מותאם אישית 725 00:35:30,850 --> 00:35:31,880 התנהגות בכלל. 726 00:35:31,880 --> 00:35:35,080 באמת, אני רוצה תכנית ששואלת המשתמש לשם שלהם. 727 00:35:35,080 --> 00:35:36,320 >> אז איך אני עושה את זה? 728 00:35:36,320 --> 00:35:38,520 ובכן, הרשה לי לגלול למעלה לכאן. 729 00:35:38,520 --> 00:35:42,960 ולפני שאני משתמש במשפט שריטה, לפני שאני משתמש printf, 730 00:35:42,960 --> 00:35:47,600 הידוע גם בתפקוד, תן לי הראשון לשאול את המשתמש לכמה קלט. 731 00:35:47,600 --> 00:35:49,690 >> אז כדי לעשות את זה, אני צריך לעשות כמה דברים. 732 00:35:49,690 --> 00:35:53,360 אחד, אני צריך מקום לאחסון של המשתמש שם אחרי ששאלתי אותו או 733 00:35:53,360 --> 00:35:54,510 שלה על כך. 734 00:35:54,510 --> 00:36:00,120 מה לבנות אני צריך להשתמש כנראה כדי לאחסן את ערך כזה? 735 00:36:00,120 --> 00:36:00,910 משתנה. 736 00:36:00,910 --> 00:36:05,130 >> אז שלא כמו גרד, שבו אתה רק מקבל פיסת הפאזל נחמדה, הנה, יש לנו כדי 737 00:36:05,130 --> 00:36:07,620 להשתמש, כמובן, למילים לבטא את עצמנו. 738 00:36:07,620 --> 00:36:11,510 ומעתה, בכל עת שתרצה מילה או משפט, בתכנות, 739 00:36:11,510 --> 00:36:13,090 אנחנו הולכים לקרוא לזה מחרוזת. 740 00:36:13,090 --> 00:36:14,990 אז מחרוזת היא מילה או ביטוי. 741 00:36:14,990 --> 00:36:18,170 זה רצף של אפס או יותר דמויות, יותר באופן רשמי. 742 00:36:18,170 --> 00:36:22,520 >> ואם אתה רוצה משתנה כזה קיימים, יש לך לומר לי אחד. 743 00:36:22,520 --> 00:36:27,490 והדרך שבה אתה עושה את זה היא כדי אומר מחרוזת של פסיק, שבו ים יכול להיות 744 00:36:27,490 --> 00:36:28,740 כל דבר שאתה רוצה. 745 00:36:28,740 --> 00:36:30,510 למעשה, זה הוא underwhelming קטן. 746 00:36:30,510 --> 00:36:33,250 תן לי ללכת קדימה ועוד ברור קוראים לזה שם. 747 00:36:33,250 --> 00:36:36,570 תן לי את מחרוזת בשם שם. 748 00:36:36,570 --> 00:36:40,180 >> אבל עכשיו, מהו של האדם שם כברירת מחדל? 749 00:36:40,180 --> 00:36:42,930 ובכן, אם האדם לא יקליד דבר ב, כמובן, שיש הולך 750 00:36:42,930 --> 00:36:44,310 להיות שום ערך בשמו. 751 00:36:44,310 --> 00:36:48,120 ומתברר ב-C, אם אתה לא נותן משתנה ערך, זה הולך 752 00:36:48,120 --> 00:36:49,180 יש ערך זבל. 753 00:36:49,180 --> 00:36:51,650 אולי יש לו כמה אפסים ואקראיים אלה, אז אתה פשוט הולך לראות 754 00:36:51,650 --> 00:36:54,570 אשפה,, באמת על המסך אם אתה מנסה להציג אותו. 755 00:36:54,570 --> 00:36:59,800 >> אבל אני יכול לתקן את זה באומרו, למעשה, בתוך חנות בשם 756 00:36:59,800 --> 00:37:01,400 בעקבות ערך. 757 00:37:01,400 --> 00:37:09,240 הדרך בה אתה לאחסן ערכים במשתנים היא אם יש לך שם משתנה על 758 00:37:09,240 --> 00:37:13,370 עזב, אתה צריך לשים את מה שאתה איכשהו רוצה לאחסן אותו בצד הימין, ו 759 00:37:13,370 --> 00:37:17,650 תחביר שלקורה להיות כדלקמן. 760 00:37:17,650 --> 00:37:22,120 >> אנחנו כבר לא ראינו את זה קודם, אבל לקחת על אמונה לרגע שיש 761 00:37:22,120 --> 00:37:26,270 קיים הצהרה אחרת בעולם שאני הולך לקרוא לפונקציה שוב, 762 00:37:26,270 --> 00:37:28,310 ופונקציה זו היא קרא את המחרוזת. 763 00:37:28,310 --> 00:37:29,670 והיא עושה ממש את זה. 764 00:37:29,670 --> 00:37:34,680 זה איכשהו מקבל רצף של תווים מהאדם ולאחר מכן 765 00:37:34,680 --> 00:37:36,380 עושה משהו עם זה. 766 00:37:36,380 --> 00:37:38,410 >> וזה נראה כמו תחביר סתום. 767 00:37:38,410 --> 00:37:40,880 בדרך כלל, אם אתה משתמש בסימנים שווים - אתה בעולם של, יניח, 768 00:37:40,880 --> 00:37:43,740 אלגברה, ואתה בעצם X אומר שווה 1. 769 00:37:43,740 --> 00:37:46,570 כאן אנחנו לא אומרים ש שם שווה מקבלים מחרוזת. 770 00:37:46,570 --> 00:37:51,270 אנחנו אומרים חנות בשם מה בצד ימין 771 00:37:51,270 --> 00:37:52,400 זה סימן שוויון. 772 00:37:52,400 --> 00:37:55,030 סימן שוויון מייצג אופרטור ההשמה. 773 00:37:55,030 --> 00:37:58,240 זה התחביר שאומר את מה שעל יד ימין הצד בתוך מה 774 00:37:58,240 --> 00:37:59,090 בצד השמאל. 775 00:37:59,090 --> 00:38:03,040 אז לקבל מחרוזת היא חתיכה חדשה פונקציונלי, שלא רק עושה 776 00:38:03,040 --> 00:38:03,670 משהו - 777 00:38:03,670 --> 00:38:05,000 שואל את המשתמש למחרוזת - 778 00:38:05,000 --> 00:38:08,500 זה גם מחזיר אותו, אם אפשר לומר כך. 779 00:38:08,500 --> 00:38:10,690 >> אז בואו נראה מה קורה שיקרה כאן. 780 00:38:10,690 --> 00:38:14,300 אני הולך קדימה עכשיו ולהקטין את התצוגה, ואני הולך לקבל כמה 781 00:38:14,300 --> 00:38:15,780 טעויות בהנחיה שלי. 782 00:38:15,780 --> 00:38:18,750 אני הולך לעשות הקלד מותאם אישית, הזן. 783 00:38:18,750 --> 00:38:19,230 וואו. 784 00:38:19,230 --> 00:38:20,500 חבורה שלמה של טעויות. 785 00:38:20,500 --> 00:38:23,120 >> בסדר, אז זה סוג של מכריע, בוודאי בהתחלה, אבל 786 00:38:23,120 --> 00:38:27,220 מתברר כל אלה מאוד אמנם הודעות שגיאה מסתוריות הן 787 00:38:27,220 --> 00:38:30,700 בהתייחסו לכמה דפוסים ש אנחנו נתחיל לראות לאורך זמן. 788 00:38:30,700 --> 00:38:32,600 אז זה אחד אני לתלוש, בגלל שזה ראשון. 789 00:38:32,600 --> 00:38:35,700 שימוש במחרוזת מזהה לא מוצהרת. 790 00:38:35,700 --> 00:38:39,400 >> זה רק אומר שgedit, או קלאנג, במקרה זה, לא יודע 791 00:38:39,400 --> 00:38:40,780 מה שאני מתכוון במחרוזת. 792 00:38:40,780 --> 00:38:43,880 וזה בגלל בC, תכנות שפה, יש למעשה 793 00:38:43,880 --> 00:38:47,750 אין משתנים מסוג מחרוזת. 794 00:38:47,750 --> 00:38:49,810 C לא יודע שמחרוזות קיימות. 795 00:38:49,810 --> 00:38:52,260 >> אבל אנחנו, CS50 צוות, לעשות. 796 00:38:52,260 --> 00:38:57,080 וכך, לקראת מעמד, אנחנו יצר קובץ שנקרא CS50.h. 797 00:38:57,080 --> 00:39:00,060 ובתוך קובץ זה - ו נוסף על התחביר לבוא - 798 00:39:00,060 --> 00:39:03,730 בתוך קובץ זה הוא הגדרה של מה שהגדרתי 799 00:39:03,730 --> 00:39:05,340 מילולית כמחרוזת. 800 00:39:05,340 --> 00:39:09,100 אז פשוט על ידי סיום שורה אחת זה של קוד בתכנית שלי, אני נמצא עכשיו 801 00:39:09,100 --> 00:39:14,620 הוראת gedit ולעשות וקלאנג כל יהפכו במה היא מחרוזת. 802 00:39:14,620 --> 00:39:15,475 >> אני לא יודע איך עדיין. 803 00:39:15,475 --> 00:39:17,110 בעוד כמה שבועות, אנחנו יהיו לקלף בחזרה כי שכבה. 804 00:39:17,110 --> 00:39:20,340 אבל לעת עתה, יודע שזה מלמד מה מהדר 805 00:39:20,340 --> 00:39:22,020 מחרוזת היא למעשה. 806 00:39:22,020 --> 00:39:24,230 >> אז עכשיו תן לי לנקות אותי מסוף כאן למטה. 807 00:39:24,230 --> 00:39:28,530 תן לי להפעיל מחדש לעשות מותאם אישית, ואני פתר את כל הבעיות האלה. 808 00:39:28,530 --> 00:39:30,210 אז גם את זה, הוא הולך להיות מוטיב חוזר. 809 00:39:30,210 --> 00:39:34,190 כתבתי תכנית 9 קו בלבד, ו עדיין היה לי 18 שורות של שגיאות. 810 00:39:34,190 --> 00:39:35,650 זה סוג של הפחדה. 811 00:39:35,650 --> 00:39:39,260 אבל מבין שהם לעתים קרובות מפל כזה שטעות אחת קטנה מעוררת 812 00:39:39,260 --> 00:39:43,070 הבלבול למהדר, ו זה נראה הרבה יותר גרוע מזה. 813 00:39:43,070 --> 00:39:47,460 >> אז עכשיו צופה נבון יודע שאני מקבל ממחרוזת 814 00:39:47,460 --> 00:39:51,460 למשתמש, אבל אני לא ממש עושה את מה עם זה? 815 00:39:51,460 --> 00:39:53,570 אני לא ממש עושה עם זה כלום. 816 00:39:53,570 --> 00:40:01,240 אז אם בעצם אני מפעיל שוב מותאם אישית, זה הולך רק כדי לשבת שם. 817 00:40:01,240 --> 00:40:03,380 מה קורה? 818 00:40:03,380 --> 00:40:07,990 התכנית שלי נראית תקועה על מה קו, היית אומר? 819 00:40:07,990 --> 00:40:09,860 >> אז זה בעצם תקוע על קו 7. 820 00:40:09,860 --> 00:40:13,600 ואנחנו כבר לא ראינו את זה קודם, אבל על קו 7, יש, שוב, זה 821 00:40:13,600 --> 00:40:14,650 הצהרה, מקבלת מחרוזת. 822 00:40:14,650 --> 00:40:15,930 והיא עושה מה שהיא אומרת. 823 00:40:15,930 --> 00:40:18,480 היא מחכה כעת לאדם לקחת את המחרוזת. 824 00:40:18,480 --> 00:40:22,230 זה לגמרי unintuitive לי, האדם, בגלל שלא נאמר לי 825 00:40:22,230 --> 00:40:23,040 מה לעשות. 826 00:40:23,040 --> 00:40:27,320 >> אבל תן לי ללכת קדימה באמונה ו הרשה לי להעמיד פנים שרוב. 827 00:40:27,320 --> 00:40:28,500 Enter. 828 00:40:28,500 --> 00:40:30,930 זה לא התכנית שהתכוונתי. 829 00:40:30,930 --> 00:40:32,350 אז יש לנו את הבלוג הראשון שלנו. 830 00:40:32,350 --> 00:40:34,390 >> אבל בואו ננסה לחשוב בהיגיון באמצעות מדוע זה המקרה. 831 00:40:34,390 --> 00:40:36,940 ראשית, הרשה לי לתקן את הבעיה ראשונה. 832 00:40:36,940 --> 00:40:44,690 הרשה לי להוסיף כאן קו שאומר printf, מה השם שלך? 833 00:40:44,690 --> 00:40:47,700 בואו פשוט נעשה קרוב ציטוט, לסגור סוגריים. 834 00:40:47,700 --> 00:40:51,350 >> עכשיו תן לי להפעיל מחדש את התכנית. 835 00:40:51,350 --> 00:40:51,760 בעיה. 836 00:40:51,760 --> 00:40:54,690 אני לא רואה את זה. 837 00:40:54,690 --> 00:40:54,930 >> נכון. 838 00:40:54,930 --> 00:40:55,990 אני לא הידור מחדש את זה. 839 00:40:55,990 --> 00:40:59,800 אז בשפה כמו C, בגלל שאתה לשנות את קוד המקור לא אומר 840 00:40:59,800 --> 00:41:03,170 שיש לך שינה את קוד האובייקט שלך כדי ליצור קוד אובייקט חדש, 841 00:41:03,170 --> 00:41:04,330 אפסים ואחדים. חדשים 842 00:41:04,330 --> 00:41:05,590 אתה צריך להדר מחדש. 843 00:41:05,590 --> 00:41:10,300 אם אני עכשיו להפעיל מחדש מותאם אישית, הזן, אה, קצת יותר ברור. 844 00:41:10,300 --> 00:41:11,890 השם שלי הוא רוב. 845 00:41:11,890 --> 00:41:12,760 עדיין עגלה. 846 00:41:12,760 --> 00:41:14,170 >> ואני טוען שיש כמה באגים עכשיו. 847 00:41:14,170 --> 00:41:15,450 זה פשוט נראה מחריד, בכנות. 848 00:41:15,450 --> 00:41:18,980 אוהבים, מינימאלי, אני צריך מרחב שם, או להעביר 849 00:41:18,980 --> 00:41:20,330 סמן לשורה החדשה. 850 00:41:20,330 --> 00:41:21,370 >> ובעצם, קו חדש. 851 00:41:21,370 --> 00:41:24,660 זה סוג של ביטוי מפתח כאן, כי שראינו אך לא מוגדר. 852 00:41:24,660 --> 00:41:28,560 אופן שבו אתה מקבל טקסט כדי לעבור על השורה הבאה, 853 00:41:28,560 --> 00:41:29,480 אתה לא עושה את זה. 854 00:41:29,480 --> 00:41:31,070 זה מבלבל את המחשב. 855 00:41:31,070 --> 00:41:33,830 זה נראה כמו שני קווים נפרדים של קוד, אף אחת מהן 856 00:41:33,830 --> 00:41:35,010 הוא נכון באופן מושלם. 857 00:41:35,010 --> 00:41:39,380 אתה במקום להיות מפורש יותר ו אומר, תן לי קו חדש, שבו אנו 858 00:41:39,380 --> 00:41:41,810 מייצג בג עם הקו הנטוי n. 859 00:41:41,810 --> 00:41:43,230 >> אז יש כמה דמויות כאלה. 860 00:41:43,230 --> 00:41:45,080 הקו הנטוי N יהיה לתקן אסתטי ש. 861 00:41:45,080 --> 00:41:49,640 862 00:41:49,640 --> 00:41:50,870 תן לי הידור מחדש את התכנית שלי. 863 00:41:50,870 --> 00:41:52,300 תן לי להפעיל מחדש את התכנית שלי. 864 00:41:52,300 --> 00:41:53,520 >> זה נראה טוב יותר. 865 00:41:53,520 --> 00:41:56,960 זה עדיין די פרימיטיבי, אבל זה גם עדיין עגלה. 866 00:41:56,960 --> 00:41:58,090 אז יש אחד - 867 00:41:58,090 --> 00:42:01,680 אפילו אם אף פעם לא מתוכנת לפני, כנראה שאתה יכול לקחת ניחוש 868 00:42:01,680 --> 00:42:04,960 במה תכנית זו עדיין לוקה בחסרה. 869 00:42:04,960 --> 00:42:08,540 מה אני צריך לעשות את זה אני לא עשיתי עדיין? 870 00:42:08,540 --> 00:42:10,450 >> אז אני צריך לעשות בעצם משהו עם שם. 871 00:42:10,450 --> 00:42:14,190 בדיוק כמו בהתחלה, אתה באמת עשוי להקצות משתנה כמו N או 872 00:42:14,190 --> 00:42:16,150 מתפרצות כמו שעשינו שעבר שבוע - ערך. 873 00:42:16,150 --> 00:42:18,930 אבל אם אתה לא עושה שום דבר עם את זה, שום דבר לא הולך לקרות. 874 00:42:18,930 --> 00:42:20,210 >> בסדר, אז בואו נתקן. 875 00:42:20,210 --> 00:42:23,670 תן לי סוג המשתנה שלי שם, ותן לי ללכת לכאן. 876 00:42:23,670 --> 00:42:29,120 תן לי הידור מחדש, תן לי להפעיל מחדש, רוב. 877 00:42:29,120 --> 00:42:30,540 עכשיו אני סתם אידיוט, נכון? 878 00:42:30,540 --> 00:42:33,280 >> אז זה לא ממש מקבל לי יותר. 879 00:42:33,280 --> 00:42:35,850 אבל זה היה טבעי לחלוטין אינסטינקט, הייתי מתווכח, נכון? 880 00:42:35,850 --> 00:42:39,340 אם משתנה נקרא שם, ואני רוצים אותו ללכת לשם, למה שאני לא פשוט 881 00:42:39,340 --> 00:42:40,200 הקלד אותו שם? 882 00:42:40,200 --> 00:42:42,210 >> ובכן, כמובן, יש לנו כדי להבדיל את החברה 883 00:42:42,210 --> 00:42:44,070 בין מה שהיא מחרוזת? 884 00:42:44,070 --> 00:42:47,060 שימו לב שהמרכאות כאן, הלו שם? 885 00:42:47,060 --> 00:42:48,960 זה למעשה עצמו הוא מחרוזת. 886 00:42:48,960 --> 00:42:49,820 זה קוד קשה. 887 00:42:49,820 --> 00:42:50,690 זה לא מהאדם. 888 00:42:50,690 --> 00:42:54,020 זה ממני, המתכנת המקורית, אבל זה עדיין מחרוזת. 889 00:42:54,020 --> 00:42:58,300 >> אז אם אתה ממש לכתוב N--M-E בתוך של מחרוזת, מה הולך 890 00:42:58,300 --> 00:42:59,120 לקבל מודפס? 891 00:42:59,120 --> 00:43:03,660 ובכן, N--M-E. אנחנו צריכים במקום לספר printf, אינו מודפס 892 00:43:03,660 --> 00:43:04,870 את ממש שם. 893 00:43:04,870 --> 00:43:06,680 הדפס את ערכו של השם. 894 00:43:06,680 --> 00:43:08,410 >> וכדי לעשות את זה, אנחנו עושים את הפעולות הבאות. 895 00:43:08,410 --> 00:43:09,800 וזו רק מוסכמה אנושית. 896 00:43:09,800 --> 00:43:14,990 אנחנו במקום לומר% s, וכי עומד על חוט. 897 00:43:14,990 --> 00:43:19,810 ואז בסוף הציטוטים הקרובים שלי, אני הולך לשים פסיק ו 898 00:43:19,810 --> 00:43:23,790 תעבור טיעון שני להצהרה זו. 899 00:43:23,790 --> 00:43:25,970 אני הולך הקלד את השם לשם. 900 00:43:25,970 --> 00:43:27,960 >> אז עכשיו שם לב שיש לנו תחביר חדש במקצת. 901 00:43:27,960 --> 00:43:32,320 עדיין יש לנו שני סוגריים, ו מעתה הרשה לי לומר שהדברים 902 00:43:32,320 --> 00:43:36,830 בין סוגריים מייצג טיעונים לפונקציה - 903 00:43:36,830 --> 00:43:39,730 תשומות שאיכשהו הולכים כדי להשפיע על ההתנהגות שלה. 904 00:43:39,730 --> 00:43:43,010 אז לפי ההיגיון הזה, כמה ויכוחים באמת נראה printf להיות 905 00:43:43,010 --> 00:43:45,450 לוקח ברגע זה? 906 00:43:45,450 --> 00:43:48,370 >> כך זה נראה כי זה לוקח שתיים, ושאכן משתמע 907 00:43:48,370 --> 00:43:49,570 על ידי הפסיק כאן. 908 00:43:49,570 --> 00:43:51,640 אז זה טיעון אחד בין הצעות מחיר. 909 00:43:51,640 --> 00:43:54,540 למרות שיש לו פסיק בזה, הכל במרכאות, מה שאומר 910 00:43:54,540 --> 00:43:56,230 זה מחרוזת אחת ארוכה. 911 00:43:56,230 --> 00:43:58,280 פסיק, שם משתנה. 912 00:43:58,280 --> 00:44:00,680 >> אז עכשיו תן לי להתרחק. 913 00:44:00,680 --> 00:44:02,240 תן לי להפעיל מחדש את זה. 914 00:44:02,240 --> 00:44:03,490 רוב. 915 00:44:03,490 --> 00:44:06,520 לעזאזל, מה עשה לא בסדר? 916 00:44:06,520 --> 00:44:07,920 >> בסדר, אז אתה צריך להדר מחדש. 917 00:44:07,920 --> 00:44:11,030 אז שוב, טעויות קלות לעשות כבר בשלב מוקדם שוב ושוב. 918 00:44:11,030 --> 00:44:15,280 אז עכשיו מנהג להפעיל מחדש, רוב, להיכנס, וזהו. 919 00:44:15,280 --> 00:44:17,110 עכשיו יש לנו תכנית מותאמת אישית. 920 00:44:17,110 --> 00:44:21,660 >> אז עכשיו יש לי תכנית ש באמצעות כמה מאפיינים 921 00:44:21,660 --> 00:44:22,520 שהם ראויים לציון. 922 00:44:22,520 --> 00:44:27,850 אחד, אני משתמש CS50.h, אחרת המכונה ספריית CS50. 923 00:44:27,850 --> 00:44:33,050 ובתוך ספריית CS50 הם פונקציות שאנשים אחרים כתבו - 924 00:44:33,050 --> 00:44:33,980 כלומר צוות - 925 00:44:33,980 --> 00:44:36,620 כדי שתוכלו להשתמש בו, ולקבל מחרוזת היא אחד מהם. 926 00:44:36,620 --> 00:44:41,310 >> חלק הפנימי של קו 2 הוא stdio.h, ולמה זה שם? 927 00:44:41,310 --> 00:44:42,070 קח ניחוש. 928 00:44:42,070 --> 00:44:46,200 מה שקיים בתוך הורה IO סטנדרטי? 929 00:44:46,200 --> 00:44:46,940 Printf. 930 00:44:46,940 --> 00:44:49,600 אז printf, אתה לא רואה את זה בכל מקום אחר על המסך. 931 00:44:49,600 --> 00:44:51,870 זה חייב לבוא עם מחשב איכשהו. 932 00:44:51,870 --> 00:44:54,870 מאיפה זה בא? 933 00:44:54,870 --> 00:44:57,660 זה חלק פנימי של - זה הכריז, כביכול, בתוך 934 00:44:57,660 --> 00:44:59,890 קובץ שנקרא stdio.h. 935 00:44:59,890 --> 00:45:02,670 >> כעת, לדברים האלה, אנחנו נחזור לסופו של דבר, בגלל שזה קצת 936 00:45:02,670 --> 00:45:03,930 מסיח את הדעת לעת עתה. 937 00:45:03,930 --> 00:45:05,490 זה מתייחס לסוג ההחזרה שלנו. 938 00:45:05,490 --> 00:45:07,660 זה מתייחס לויכוח. 939 00:45:07,660 --> 00:45:10,230 אבל היום, אנחנו מתמקדים רק כאן בקווים אלה. 940 00:45:10,230 --> 00:45:13,280 >> אז שם מיתרים, רק כדי לסכם, מה זה עושה לי? 941 00:45:13,280 --> 00:45:16,940 942 00:45:16,940 --> 00:45:19,560 אז זה הכריז על משתנה מסוג המחרוזת. 943 00:45:19,560 --> 00:45:22,630 אז זה אמור להיות למילים, לא למספרים. 944 00:45:22,630 --> 00:45:25,530 בדיוק כמו בצד, אם אני לא רוצה שזה יהיה מספר, הייתי אומר 945 00:45:25,530 --> 00:45:26,560 משהו כמו int. 946 00:45:26,560 --> 00:45:29,740 אם אני רוצה להיות נקודה צפה ערך, משהו עם נקודה עשרונית, 947 00:45:29,740 --> 00:45:30,600 הייתי אומר לצוף. 948 00:45:30,600 --> 00:45:32,640 אבל היום, אני רק אמרתי מחרוזת. 949 00:45:32,640 --> 00:45:35,940 >> ונתתי לי משתנה זה שמו של שמו, אבל לא יכולתי 950 00:45:35,940 --> 00:45:37,240 קראתי לו שום דבר. 951 00:45:37,240 --> 00:45:39,340 למעשה, במקור, אני קורא לזה ס 952 00:45:39,340 --> 00:45:41,050 >> זה כאן, הוא רק עוד הצהרה. 953 00:45:41,050 --> 00:45:44,170 כמה ויכוחים הוא זה הצהרה לוקחת? 954 00:45:44,170 --> 00:45:47,890 אז זה פשוט לוקח אחד, וכי הוא פשוט פירוט אסתטי של 955 00:45:47,890 --> 00:45:49,610 הצגת משהו על המסך אליי. 956 00:45:49,610 --> 00:45:54,750 מהו הקו הזה עושים 8 במונחים של ההדיוט? 957 00:45:54,750 --> 00:45:57,320 >> זה מתחיל מערך משתמש - כלומר, מחרוזת - 958 00:45:57,320 --> 00:45:58,770 ומה הוא עושה עם זה? 959 00:45:58,770 --> 00:46:02,450 זה בעצם המסירה ל בחור בצד השמאל של 960 00:46:02,450 --> 00:46:07,100 סימן שוויון כך שבמקרה הזה, שם משתנה יכול למעשה לאחסן אותו. 961 00:46:07,100 --> 00:46:10,020 >> ולאחר מכן printf הוא אחר מופע של פונקציה. 962 00:46:10,020 --> 00:46:11,870 ואנחנו אומרים לקרוא לפונקציה. 963 00:46:11,870 --> 00:46:13,870 כדי להשתמש בפונקציה היא לקרוא לפונקציה. 964 00:46:13,870 --> 00:46:15,640 הדבר הזה כנראה לוקח שני טיעונים. 965 00:46:15,640 --> 00:46:18,100 זה אחד, פסיק, זה אחד. 966 00:46:18,100 --> 00:46:20,910 >> אחד זה עצמו הוא רק מחרוזת המכיל מציין מיקום. 967 00:46:20,910 --> 00:46:23,860 אמצעי% s לשים מחרוזת אחרת כאן. 968 00:46:23,860 --> 00:46:27,360 וזאת על ידי לשים את השם לאחר הפסיק, שהחדרה 969 00:46:27,360 --> 00:46:29,420 דבר זה בשבילי. 970 00:46:29,420 --> 00:46:31,300 >> אז אני יכול לעשות דברים אחרים עדיין. 971 00:46:31,300 --> 00:46:36,820 תן לי ללכת קדימה עכשיו ולעשות קצת תכנית טיפשית, אבל תן לי למחוק זאת, 972 00:46:36,820 --> 00:46:38,880 ותן לי ליצור לולאה. 973 00:46:38,880 --> 00:46:41,390 אמנם נכון. 974 00:46:41,390 --> 00:46:45,210 הסמל האמיתי הוא כמובן תמיד יהיה נכון. 975 00:46:45,210 --> 00:46:49,830 אז איזה סוג של לולאה אני גרימת על ידי כתיבת קו כזה? 976 00:46:49,830 --> 00:46:51,070 >> אז לולאה אינסופית, נכון? 977 00:46:51,070 --> 00:46:52,090 בדיוק בזמן נכון. 978 00:46:52,090 --> 00:46:56,210 אין דרך שאני יכול לשנות את המילה נכון להיות כל דבר אחר, אז זה 979 00:46:56,210 --> 00:46:57,310 פשוט הולך לרוץ לנצח. 980 00:46:57,310 --> 00:46:59,960 אז אם אי פעם באמת היה לך תכנית ב-Mac או במחשב האישי שלך, שנראה 981 00:46:59,960 --> 00:47:02,480 היה נעול, או שהוא עושה משהו ומשהו, ואתה פשוט 982 00:47:02,480 --> 00:47:05,500 לא יכול לקבל את הדבר לפרוש, אלא אם כן הפעל מחדש את המחשב שלך או למשוך את 983 00:47:05,500 --> 00:47:08,360 מנהל משימות או משהו דומה, הנה דוגמה לכך. 984 00:47:08,360 --> 00:47:14,340 >> אני יכול לומר, "אני תכנית מרכבה". ציטוט קרוב, קרוב 985 00:47:14,340 --> 00:47:15,780 סוגריים, פסיק. 986 00:47:15,780 --> 00:47:17,010 אז שוב, שים לב לדפוסים. 987 00:47:17,010 --> 00:47:21,440 אף שחלק מהתחביר שלנו הוא חדש, בעוד מילת מפתח, מילת מפתח נכון, 988 00:47:21,440 --> 00:47:23,590 ירגישו כי יש לי את אותה סוג של סוגריים מסולסלים. 989 00:47:23,590 --> 00:47:25,890 יש לי נקודה פסיק וסוגריים. 990 00:47:25,890 --> 00:47:28,000 >> אז עכשיו בואו נלך קדימה ולעבד את זה. 991 00:47:28,000 --> 00:47:29,630 הפוך מותאם אישית, מותאמת אישית. 992 00:47:29,630 --> 00:47:32,690 993 00:47:32,690 --> 00:47:36,660 לכן בשלב זה, אתה לא צריך הפעל מחדש את המכשיר שלך, בסדר? 994 00:47:36,660 --> 00:47:39,925 אז הלקח כאן הוא קל עם שתי אצבעות, הבקרה C, 995 00:47:39,925 --> 00:47:41,230 אנחנו נפסיק את תכנית. 996 00:47:41,230 --> 00:47:45,430 אבל אתה יכול לראות בדיוק למה הדבר הזה היה חוזר על עצמו שוב ושוב. 997 00:47:45,430 --> 00:47:48,080 >> אני יכול לעשות משהו קטן מורכב יותר כמו טיזר. 998 00:47:48,080 --> 00:47:49,600 אני הולך קדימה לומר את הדברים הבאים. 999 00:47:49,600 --> 00:47:55,210 לint, שהוא מספר שלם, אני הוא רק שם גנרי שאנו נותנים לרוב 1000 00:47:55,210 --> 00:47:59,500 משתנים בתכנות כשאתה פשוט לספור, שווה 0. 1001 00:47:59,500 --> 00:48:08,640 תן לי ללכת קדימה ואומרים בזמן שאני הוא, נניח, פחות מ 100, אני ועוד תוספת. 1002 00:48:08,640 --> 00:48:10,240 אנחנו לגבות לתחביר זה, אבל זה רק אומר 1003 00:48:10,240 --> 00:48:12,270 להגדיל לי שוב ושוב. 1004 00:48:12,270 --> 00:48:14,200 >> ומה שאני רוצה לעשות כאן? 1005 00:48:14,200 --> 00:48:21,130 Printf, "אני יכול לספור עד שאני." זוהי תכנית מרכבה. 1006 00:48:21,130 --> 00:48:22,450 מה שאני באמת מתכוון לכאן? 1007 00:48:22,450 --> 00:48:25,220 1008 00:48:25,220 --> 00:48:30,940 >> אחוזים לא ים, אבל לא היית מניח זה. % D הוא מספר עשרוני. 1009 00:48:30,940 --> 00:48:32,720 אני פסיק. 1010 00:48:32,720 --> 00:48:34,340 תן לי לחזור. 1011 00:48:34,340 --> 00:48:37,170 >> עכשיו תן לי לעשות עם הידור מחדש. 1012 00:48:37,170 --> 00:48:39,280 עכשיו תן לי שידור חוזר עם מנהג. 1013 00:48:39,280 --> 00:48:42,410 אני יכול לספור ממש מהר ארור כש אני כותב תכנית כמו זו. 1014 00:48:42,410 --> 00:48:45,480 >> עכשיו בואו נעשה משהו קצת לא מכוון. 1015 00:48:45,480 --> 00:48:51,220 מה דעתך על בואו נעשינו את זה בזמן שאני הוא גדול או שווה ל -0. 1016 00:48:51,220 --> 00:48:53,630 מה זה הולך לגרום? 1017 00:48:53,630 --> 00:49:01,030 אז באופן הגיוני, זה לא כל כך חכם, כי עכשיו אם אני שידור חוזר זה, לספר, 1018 00:49:01,030 --> 00:49:05,050 עכשיו אני יכול לסמוך באמת, באמת גבוה. 1019 00:49:05,050 --> 00:49:08,850 למרבה הצער, על גבוה ככל שאני יכול ספירה היא 4 מליארד דולרים, כך זה הולך 1020 00:49:08,850 --> 00:49:10,140 לקחת זמן מה. 1021 00:49:10,140 --> 00:49:13,440 >> אז למה שלא ישאירו את זה כמונו סחרור מסוכן, והבטיח כי ביום 1022 00:49:13,440 --> 00:49:15,650 יום רביעי, נראה אם תכנית זו נעשה. 1023 00:49:15,650 --> 00:49:19,260 שתיים, שנציג את עצמך איך אתה לכתוב פונקציה משלך, כך שמאוד 1024 00:49:19,260 --> 00:49:22,930 במהירות, עד יום רביעי, אנחנו יהיו, כמו שאנחנו מעבר מסריטות לתוך C, להתחיל 1025 00:49:22,930 --> 00:49:25,880 כתיבה אי פעם יותר ויותר מורכבת תוכניות לעשות הרבה, 1026 00:49:25,880 --> 00:49:27,070 הרבה יותר מזה. 1027 00:49:27,070 --> 00:49:28,766 אנחנו אראה אותך לאחר מכן. 1028 00:49:28,766 --> 00:49:31,580 >> [מחיאות כפות] 1029 00:49:31,580 --> 00:49:34,690 >> רמקול 1: בCS50 הבא, יום פאזל היה הצלחה. 1030 00:49:34,690 --> 00:49:39,690