1 00:00:00,000 --> 00:00:15,059 >> [מוסיקה מתנגנת] 2 00:00:15,059 --> 00:00:19,170 >> זהו CS50-- הרווארד המבוא של האוניברסיטה 3 00:00:19,170 --> 00:00:22,070 אל הרוחני חברות של מדעי המחשב 4 00:00:22,070 --> 00:00:23,800 ואת האמנות של תכנות. 5 00:00:23,800 --> 00:00:27,020 והשם שלי הוא דוד מלאן, ו בדיוק חשבתי הבוקר, 6 00:00:27,020 --> 00:00:33,120 זה היה מדהים 20 שנים היום מאז הפעם האחרונה ישב איפה אתם עושים עכשיו. 7 00:00:33,120 --> 00:00:33,840 >> זה היה ב -1996. 8 00:00:33,840 --> 00:00:37,550 הייתי בכיתה י ', ואני לוקח CS50 בפעם הראשונה. 9 00:00:37,550 --> 00:00:40,890 ואני עוד בכלל לא התחלתי את האומץ לקחת אותה בעצמי שנת הלימודים הראשונה, 10 00:00:40,890 --> 00:00:42,500 גם בגלל הזמן. 11 00:00:42,500 --> 00:00:44,782 מדעי המחשב לי היה סוג של אוהב, meh. 12 00:00:44,782 --> 00:00:46,990 הייתי קצת חנון גדל למעלה, אבל אני לא ממש 13 00:00:46,990 --> 00:00:49,180 יש כל אינטלקטואל עניין במה שנראה 14 00:00:49,180 --> 00:00:51,920 רק כדי להיות חבורה שלמה של אנשי תכנות כל הזמן. 15 00:00:51,920 --> 00:00:53,904 >> ואני פחדתי להיות כנה. 16 00:00:53,904 --> 00:00:56,820 הקורס ומדעי המחשב יותר היה בדרך כלל, ובמידה מסוימת, 17 00:00:56,820 --> 00:01:01,230 יש עדיין מוניטין זה של שדה צריך להיזהר, ולו רק משום כך רבים מאיתנו 18 00:01:01,230 --> 00:01:04,410 מכירים את זה ולא בטוח שזה. 19 00:01:04,410 --> 00:01:08,480 וזה באמת לא היה עד שאני קונה המעמד הזה כי בכיתה י fall-- 20 00:01:08,480 --> 00:01:10,880 וגם אז, נרשמתי רק משום professor-- 21 00:01:10,880 --> 00:01:13,950 אחד המנטורים הראשונים שלי, בריאן Kernighan כעת Princeton-- 22 00:01:13,950 --> 00:01:15,700 מותר לי לקחת את המסירה בכיתה להיכשל. 23 00:01:15,700 --> 00:01:18,020 ואכן, זה למה היום אנו מאפשרים ומעודדים 24 00:01:18,020 --> 00:01:20,030 סטודנטים לקחת את השיעור הזה ישב / unsat. 25 00:01:20,030 --> 00:01:22,040 >> ורק אז, על ידי בסוף הסמסטר 26 00:01:22,040 --> 00:01:24,870 התברר לי להגיד, וואו, זה לא היה כזה לשדה הלא מוכר. 27 00:01:24,870 --> 00:01:26,850 ואכן, זה היה מאוד מעצים שדה, 28 00:01:26,850 --> 00:01:28,970 ועוד excitingly, במיוחד בהמשך, 29 00:01:28,970 --> 00:01:32,809 כפי לקחתי קורסים לאמנויות הבמה 101 ולטינית 30 00:01:32,809 --> 00:01:34,600 ואז בסופו של דבר ארכיאולוגיה באוניברסיטה, 31 00:01:34,600 --> 00:01:37,860 עשיתי באמת מתחיל לראות את בצומת של שדה, מחשב זה 32 00:01:37,860 --> 00:01:41,979 מדע, עם הרוח, מדעי הטבע, אמנויות, רפואה, 33 00:01:41,979 --> 00:01:42,520 וכדומה. 34 00:01:42,520 --> 00:01:44,420 וכך זה מה פשוט כל כך מסודר על מדעי המחשב 35 00:01:44,420 --> 00:01:46,930 בסופו של דבר, כפי שאנו מקווים יהיה לך see-- הוא תחולתו 36 00:01:46,930 --> 00:01:50,280 לתחומים אחרים אלה, ואיך אתה יכול לקחת חלק של היום ואת הסמסטר של 37 00:01:50,280 --> 00:01:53,070 רעיונות ומיומנויות מעשיות חזרה תחום משלך, 38 00:01:53,070 --> 00:01:58,200 ולמעשה לחקור בצומת זו של מדעי הרוח ומדעי. 39 00:01:58,200 --> 00:02:02,690 >> אז 73% מכם, אם האחרון השנה היא אינדיקציה כלשהי, 40 00:02:02,690 --> 00:02:04,390 מעולם לא לקח קורס CS לפני. 41 00:02:04,390 --> 00:02:06,389 אז אם, כמוני, אתה מרגיש קצת 42 00:02:06,389 --> 00:02:09,190 מפחד, או בכנות אתה לא ממש בטוח למה אתה גם כאן. 43 00:02:09,190 --> 00:02:11,510 אולי אתה פשוט ואחריו כמה חברים אל סנדרס עכשיו. 44 00:02:11,510 --> 00:02:12,490 זה לגמרי בסדר. 45 00:02:12,490 --> 00:02:15,059 המטרה כאן היא לחבר אתה וכדי להרגיע אותך 46 00:02:15,059 --> 00:02:17,100 שאם אתה מסתכל על מנת משמאל ומימין, 47 00:02:17,100 --> 00:02:21,480 אתה הולך לראות לכיתה עם כמו ניסיון מועט או כמו הרבה 48 00:02:21,480 --> 00:02:22,890 כי ייתכן שיהיה עצמך. 49 00:02:22,890 --> 00:02:25,280 ואכן, נחלוק כמה נתונים סטטיסטיים מאוחר יותר היום 50 00:02:25,280 --> 00:02:28,120 על מה את הנתונים הדמוגרפיים של המעמד בדרך כלל להיראות. 51 00:02:28,120 --> 00:02:31,440 >> וכמו הוסיף reassurance-- ואנחנו זה זאת אומרת מאז לקחתי במשך 52 00:02:31,440 --> 00:02:33,252 ב ago-- כמה שנים הסילבוס של הקורס 53 00:02:33,252 --> 00:02:35,460 זה-- כי מה שבסופו של דבר בעניינים בקורס זה 54 00:02:35,460 --> 00:02:38,040 הוא לא כל כך איפה אתה בסופו של עד ביחס חברכם, 55 00:02:38,040 --> 00:02:43,110 אבל איפה אתה בשבוע 11, סוף סמסטר, בסופו של דבר ביחס לעצמך 56 00:02:43,110 --> 00:02:46,280 בשבוע 0, שהוא איפה אנחנו נמצאים כאן היום. 57 00:02:46,280 --> 00:02:48,704 וזה מה שהבנתי לפני כל כך הרבה שנים. 58 00:02:48,704 --> 00:02:50,620 ואני מכיר הרבה כיתות להגיד את זה, אבל זה 59 00:02:50,620 --> 00:02:52,450 במיוחד נכון במדעי המחשב. 60 00:02:52,450 --> 00:02:55,320 בסוף היום, בתחום זה הוא מוכר כפי שהיה לי 61 00:02:55,320 --> 00:02:58,590 ועלול להיות לך, הוא באמת כמעט ופתרון בעיות. 62 00:02:58,590 --> 00:03:01,324 וככזה, זה צריך זה תחולה לקבל בתחומים אחרים. 63 00:03:01,324 --> 00:03:03,490 ואכן, אם ננסה לזקק מה זה אומר, 64 00:03:03,490 --> 00:03:06,897 זו היא פתרון בעיות במהותו, אני מניח. 65 00:03:06,897 --> 00:03:09,480 יש input-- אז מה זה הוא שאתה מנסה לפתור. 66 00:03:09,480 --> 00:03:12,264 יש פלט, וזה בתקווה הפתרון לבעיה הזאת. 67 00:03:12,264 --> 00:03:14,180 ואז, כפי שהיינו אומרים במדעי המחשב, 68 00:03:14,180 --> 00:03:17,310 יש קופסה שחורה זה באמצע שאתה עושה לא בהכרח 69 00:03:17,310 --> 00:03:19,450 צריך לדאוג איך זה עובד. 70 00:03:19,450 --> 00:03:22,230 אתה עצמך בסופו של דבר אולי ליישם מה יש בפנים קופסא. 71 00:03:22,230 --> 00:03:25,194 אבל למטרות של היום ועוד בדרך כלל בחיים, כל מה שמעניין אותך 72 00:03:25,194 --> 00:03:26,610 הוא שבעיות אלה נפתרות. 73 00:03:26,610 --> 00:03:29,340 >> ומה כמובן זה בסופו של דבר על בוחנת 74 00:03:29,340 --> 00:03:31,700 בצומת של תשומות ותפוקות אלה, 75 00:03:31,700 --> 00:03:34,410 ו מה שמכונה אלגוריתמים, כפי שאנו בקרוב לראות, 76 00:03:34,410 --> 00:03:37,450 המיישמים מה הוא מתחת לשם, מכסה המנוע. 77 00:03:37,450 --> 00:03:40,487 אבל תשומות אלה ואלה outputs-- מה זה אומר בעצם? 78 00:03:40,487 --> 00:03:43,570 ובכן, בסוף היום, אנחנו צריכים כמה דרך לייצג מידע. 79 00:03:43,570 --> 00:03:46,660 הדבר נכון במיוחד בתוך מחשב, אשר כפי מפואר ומורכב כמו זה 80 00:03:46,660 --> 00:03:48,160 אולי נראה, הוא מכשיר די טפשית. 81 00:03:48,160 --> 00:03:52,240 זה לוקח electricity-- אם מ כבל או סוללה כמו input-- 82 00:03:52,240 --> 00:03:55,820 ואז זה מייצר כמה תגובות preprogramed על המסך. 83 00:03:55,820 --> 00:03:57,970 >> אבל איך אנחנו מקבלים מ מתחילתו ועד סופו שם? 84 00:03:57,970 --> 00:03:59,470 ובכן, מה בעיה שיש לפתור? 85 00:03:59,470 --> 00:04:01,050 טוב, אולי נעשה את זה, ב תחילת כל סמסטר, 86 00:04:01,050 --> 00:04:02,841 לנסות לקחת נוכחות בחדר כזה. 87 00:04:02,841 --> 00:04:04,750 אז אני יכול לעשות כמו אחד, שתיים, שלוש. 88 00:04:04,750 --> 00:04:07,060 או אולי, אם אני עשיתי את זה מין כדי לעקוב אחר 89 00:04:07,060 --> 00:04:10,560 של myself-- לעקוב אחר things-- יכולתי נגמר של אצבעות במהירות. 90 00:04:10,560 --> 00:04:14,650 אז אולי באמת כדאי לי לעשות חשיש marks-- אחד אדם, שתיים, שלוש, ארבע, חמש, שש, 91 00:04:14,650 --> 00:04:15,431 שבע, שמונה. 92 00:04:15,431 --> 00:04:17,930 וכולנו יש כנראה עשיתי את זה, אם על הידיים 93 00:04:17,930 --> 00:04:19,680 או על פיסת נייר. 94 00:04:19,680 --> 00:04:22,140 וזה בעצם רק משהו שנקרא notation-- יונארית 95 00:04:22,140 --> 00:04:26,130 שם אם יש לך רק אות אחת באלפבית, אחד או חשיש שלך 96 00:04:26,130 --> 00:04:29,440 סימן במקרה זה, עבור כל קלט שברצונך לספור, 97 00:04:29,440 --> 00:04:32,330 אתה צריך לשים את אחד מאלה letters-- אחד הסימנים האלה. 98 00:04:32,330 --> 00:04:32,510 >> בסדר. 99 00:04:32,510 --> 00:04:34,790 זה כל מה נעלה וטוב לא כל כך מסובך. 100 00:04:34,790 --> 00:04:37,800 אבל מחשבים לא כל כי הרבה יותר מסובך. 101 00:04:37,800 --> 00:04:40,770 ואכן, רובכם כנראה יודע גם אם יש לך לא באמת 102 00:04:40,770 --> 00:04:44,080 נחשב מה זה אומר, כי מחשבים מבינים רק אפסים 103 00:04:44,080 --> 00:04:45,870 ו ones-- במערכת בינארית מה שנקרא. 104 00:04:45,870 --> 00:04:49,390 אנחנו, בני האדם, לעומת זאת, כל כך הרבה יותר מתוחכם ככל 105 00:04:49,390 --> 00:04:51,770 כפי שאנו מבינים אפסים באמצעות תשיעיות. 106 00:04:51,770 --> 00:04:55,740 >> אבל גם אם בינארי הוא, בהתחלה מבט, לא כל כך מכיר, 107 00:04:55,740 --> 00:05:00,330 מסתבר שזה בדיוק כמו מערכות ואת הרעיונות שאנחנו כבר יודעים. 108 00:05:00,330 --> 00:05:02,420 כך למשל, חשוב על זה. 109 00:05:02,420 --> 00:05:03,896 זהו רק רצף של סימנים. 110 00:05:03,896 --> 00:05:05,770 וכולכם, כאשר מתבונן בו, כנראה 111 00:05:05,770 --> 00:05:09,380 חושב 123-- כלום באמת מעניין שם. 112 00:05:09,380 --> 00:05:11,940 אבל למה זה המספר הזה, 123? 113 00:05:11,940 --> 00:05:14,440 אלה הם רק גליפים על screen-- רק על דפוסים 114 00:05:14,440 --> 00:05:16,387 שמישהו משך או שהוקלד. 115 00:05:16,387 --> 00:05:18,970 אבל אם אתה אוהב אותי, אתה בטח זוכרים מבית הספר היסודי 116 00:05:18,970 --> 00:05:21,610 כי יש מין עמודות או במקומות כאן. 117 00:05:21,610 --> 00:05:25,340 יש את המקום של אחד ואת מקום של עשרה ומקום של המאה. 118 00:05:25,340 --> 00:05:29,820 והסיבה שזו 123 ו פשוט לא דפוס של שלושה סמלים 119 00:05:29,820 --> 00:05:33,090 משום, כמובן, אם אנחנו יש אחד במקום המאה, 120 00:05:33,090 --> 00:05:36,610 תעשה את המתמטיקה של 100 פעמים אחד, ואז שני במקומו של עשר. 121 00:05:36,610 --> 00:05:41,390 אז זה 10 פעמים 2, ולאחר מכן שלוש המקום של אחד וזה 1 פעמים 3. 122 00:05:41,390 --> 00:05:45,670 וכאשר אתה מוסיף את כל אלה עד, של כמובן, אתה מקבל 100 פלוס 20 פלוס 3. 123 00:05:45,670 --> 00:05:48,220 >> אז התחלנו עם רק דפוס של symbols-- alphabet-- 124 00:05:48,220 --> 00:05:51,670 אבל אז מיפה משמעות על זה בדרך של עמודות אלה. 125 00:05:51,670 --> 00:05:54,450 ובכן, מתברר כי מחשבים הם ממש לא 126 00:05:54,450 --> 00:05:56,300 כל כך שונה ממך וממני. 127 00:05:56,300 --> 00:06:01,840 אבל במקום להשתמש חזקות של 10, כך speak-- 1, 10, 100, 1,000, 128 00:06:01,840 --> 00:06:04,330 במקום 10,000 ולכן forth-- הוא למעשה 129 00:06:04,330 --> 00:06:08,930 רק להשתמש בכוחות של 2-- כך אחד, 2, 4, ולאחר מכן 130 00:06:08,930 --> 00:06:12,810 אם אנחנו שמים יותר ספרות, 8, 16, 32, 64, 128, וכן הלאה. 131 00:06:12,810 --> 00:06:16,050 וכך זה איך מחשב ייצג את המספר 0, 132 00:06:16,050 --> 00:06:17,300 בדיוק כמו שאנו, בני האדם. 133 00:06:17,300 --> 00:06:21,660 >> 0, 0, 0-- ואתה יכול לנחש מה דפוס של אפסים ואחדים, 134 00:06:21,660 --> 00:06:24,610 אם מחשב יכול רק לדבר 0 או 1-- מה 135 00:06:24,610 --> 00:06:29,110 דפוס הולך לייצג מספר בני האדם אנו יודעים כמו 1? 136 00:06:29,110 --> 00:06:30,590 Yeah-- 0, 0, 1. 137 00:06:30,590 --> 00:06:31,090 בסדר. 138 00:06:31,090 --> 00:06:35,900 אז 0, 0, 1 כך אנו מייצגים 1, לכן ייתכן שאתה נוטה אז 139 00:06:35,900 --> 00:06:39,510 כדי לייצג את המספר 2, אם אתה צריך מקום של הארבעה ומקום של שני 140 00:06:39,510 --> 00:06:48,290 כמקום אחד, אפשר לומר, גם, אם היה לנו 1 במקומו של אחד, 141 00:06:48,290 --> 00:06:50,430 ועכשיו אנחנו רוצים לספור עד 2, ייתכן 142 00:06:50,430 --> 00:06:53,310 לעשות זאת ולהשאיר את זה כדי להיות אפס. 143 00:06:53,310 --> 00:06:56,397 אבל כמובן זה לא איך השיטה העשרונית עובדת גם. 144 00:06:56,397 --> 00:06:58,230 אם תשים ספרה שניהם העמודים האלה, 145 00:06:58,230 --> 00:06:59,563 אתה חייב לעשות את החשבון. 146 00:06:59,563 --> 00:07:01,930 אז מה מספר עשיתי בטעות רק מייצג? 147 00:07:01,930 --> 00:07:06,710 >> אז זה 3, כי 2 פעמים 1 פלוס 1 פעמים 1, כמובן, נותן לנו שלוש. 148 00:07:06,710 --> 00:07:08,340 אז זה יהיה שני. 149 00:07:08,340 --> 00:07:12,730 הסיבית מעין סלטות, אם אפשר לומר כך, כמו 0 הופך אחד, ממש כמו 9 תפקידים מעל 150 00:07:12,730 --> 00:07:14,840 והופך 0 בעת נשיאת 1. 151 00:07:14,840 --> 00:07:16,510 אז זה יהיה שלוש כמובן. 152 00:07:16,510 --> 00:07:20,170 Four-- דבר מעניין נוסף קורה, איפה אלה להתהפך 153 00:07:20,170 --> 00:07:21,750 תישאי 1, אם אפשר לומר כך. 154 00:07:21,750 --> 00:07:23,320 אז זה, כמובן, הוא 4. 155 00:07:23,320 --> 00:07:25,160 >> אבל אם אתה קדימה מהר עכשיו, מה המספר הגדול ביותר שיש, 156 00:07:25,160 --> 00:07:26,660 להיות כי מחשב יכול לייצג? 157 00:07:26,660 --> 00:07:30,420 158 00:07:30,420 --> 00:07:32,380 אז זה רק שבעה במקרה זה, נכון? 159 00:07:32,380 --> 00:07:35,570 בגלל שיש לך אחד בארבעת, אחד בשני, אחד בבית אחד. 160 00:07:35,570 --> 00:07:36,900 אז זה 4 פלוס 2 פלוס 1. 161 00:07:36,900 --> 00:07:37,972 אז זה נותן לך שבע. 162 00:07:37,972 --> 00:07:39,680 ואכן, זה היה נראה במבט ראשון 163 00:07:39,680 --> 00:07:43,750 שמחשבים יכולים לסמוך לא גבוה יותר מאשר זה. 164 00:07:43,750 --> 00:07:45,210 >> אבל זה כמובן לא נכון. 165 00:07:45,210 --> 00:07:48,243 מה שאנו בני האדם עושים כאשר אנו רוצים לספור גבוה כמו 999? 166 00:07:48,243 --> 00:07:51,000 167 00:07:51,000 --> 00:07:53,900 רק לשאת את אחד ופשוט להוסיף ספרה רביעית שמאלה. 168 00:07:53,900 --> 00:07:55,070 וכך אכן שיכולנו. 169 00:07:55,070 --> 00:07:57,900 יכולנו להיות שמונה למקם ומקום של ה -16, 170 00:07:57,900 --> 00:08:02,000 ומקום של 32, 64, 128-- ואתה יכול רק להמשיך הלאה עד אינסוף. 171 00:08:02,000 --> 00:08:04,640 אז אלו אפסים ones-- system-- בינארי שנקרא 172 00:08:04,640 --> 00:08:10,290 מה הם מדען מחשב היה קורא קצת בדרך כלל, או ספרות בינאריות. 173 00:08:10,290 --> 00:08:13,590 >> אבל עכשיו, איך אנחנו מקבלים מן רעיון או את הגרפיקה של הדברים האלה 174 00:08:13,590 --> 00:08:14,620 אל מחשב בפועל? 175 00:08:14,620 --> 00:08:17,170 אנחנו נראים דילוג צעד כאן. 176 00:08:17,170 --> 00:08:20,210 ובכן, הקלט רק בסוף היום, כדי הנייד שלי כאן 177 00:08:20,210 --> 00:08:22,060 הוא זרם החשמל הזה. 178 00:08:22,060 --> 00:08:24,560 גם אם זה היה ארוך זמן מאז חשבת על 179 00:08:24,560 --> 00:08:26,580 או אף פעם לא חשבתי על כיצד פועל חשמל, 180 00:08:26,580 --> 00:08:30,909 יש אלקטרונים זורמים או החוצה, וזה סוג של קלט שלי. 181 00:08:30,909 --> 00:08:34,659 >> אז אם זה כל מה שאנחנו מקבל כקלט כאן, 182 00:08:34,659 --> 00:08:36,830 מה אנחנו יכולים לעשות עם המידע הזה? 183 00:08:36,830 --> 00:08:40,040 ובכן, אנחנו עלולים לחשוב על אפס כמו רק עדר של חשמל. 184 00:08:40,040 --> 00:08:42,540 שום דבר אינו flowinw, שום דבר הוא נעים, שום דבר לא קורה. 185 00:08:42,540 --> 00:08:44,690 זהו בדיוק המחדל state-- אפס. 186 00:08:44,690 --> 00:08:48,200 אבל אם יש חשמל זורם, למה אנחנו לא פשוט שרירותי, אך ברחבי העולם 187 00:08:48,200 --> 00:08:50,250 באופן עקבי, קוראים לזה אחד. 188 00:08:50,250 --> 00:08:54,760 >> אז פשוט על ידי זה שאין כוח, יש לנו אפס, כן כוח, 189 00:08:54,760 --> 00:08:57,520 יש לנו one-- שום כוח, כן כוח. 190 00:08:57,520 --> 00:09:01,520 וגם ככה, באמצעות משהו יותר פיזי או אלקטרוני 191 00:09:01,520 --> 00:09:05,340 אנחנו מתחילים ליישם את הרעיון הזה של משהו או להיות אחד או אפס. 192 00:09:05,340 --> 00:09:07,230 ואכן, נוכל רק לעשות את זה כאן. 193 00:09:07,230 --> 00:09:10,590 אז הנה, יש לי, לא שלוש, שמונה נורות, שכל אחת מהן 194 00:09:10,590 --> 00:09:11,810 יש מתג משלה. 195 00:09:11,810 --> 00:09:15,760 >> לכן, אם הייתי רוצה לייצג המספר שבע כאן, 196 00:09:15,760 --> 00:09:18,510 אני עלול להפעיל שלוש נורות. 197 00:09:18,510 --> 00:09:21,470 ואכן, בתוך המחשב שלי הוא מ', 198 00:09:21,470 --> 00:09:25,650 מיליארדי דברים שהם פשוט קטן יותר מזה, טרנזיסטורים שנקרא, 199 00:09:25,650 --> 00:09:27,330 מתגים, כי אתה פשוט לכבות ולהדליק. 200 00:09:27,330 --> 00:09:30,420 אז אלה big-- יחסית מתגים big-- בתוך laptop-- שלי 201 00:09:30,420 --> 00:09:32,150 הרבה, הרבה, הרבה, מתגים רבים נוספים. 202 00:09:32,150 --> 00:09:35,160 אבל כל מה שהם עושים הוא בדיוק ש-- איך להפוך משהו על, לכבות משהו. 203 00:09:35,160 --> 00:09:38,076 וככזה, מחשב יכול לייצג, עם מיליונים או מיליארדים אלה 204 00:09:38,076 --> 00:09:40,480 הטרנזיסטורים, המון המון אפסים ואחדים. 205 00:09:40,480 --> 00:09:43,160 ויש חומרה אחרת עדיין כי מאפשר לך לאחסן לטווח ארוך מידע, 206 00:09:43,160 --> 00:09:45,243 כך שכאשר אתה מושך את תקע, אתה לא מאבד את זה. 207 00:09:45,243 --> 00:09:46,900 אבל זה כבר סיפור ליום אחר. 208 00:09:46,900 --> 00:09:51,170 >> אז מה אנחנו יכולים לעשות עם פיסות אלה? 209 00:09:51,170 --> 00:09:54,309 אולי אנחנו פשוט לקחת את הלחץ של לי-- 210 00:09:54,309 --> 00:09:56,600 אולי מישהו רוצה לבוא עד כאן ולהציע הדגמה? 211 00:09:56,600 --> 00:09:57,516 ראיתי את היד הזאת ראשונה. 212 00:09:57,516 --> 00:09:58,709 מה שמך? 213 00:09:58,709 --> 00:09:59,250 MADAY: Maday. 214 00:09:59,250 --> 00:10:00,542 DAVID מלאן: Maday, יעלה לכאן. 215 00:10:00,542 --> 00:10:01,250 נעים להכיר אותך. 216 00:10:01,250 --> 00:10:02,390 MADAY: נעים לפגוש אותך. 217 00:10:02,390 --> 00:10:02,930 >> DAVID מלאן: בוא בדרך זו. 218 00:10:02,930 --> 00:10:04,182 אני לא צריך lip אותך. 219 00:10:04,182 --> 00:10:04,682 בסדר. 220 00:10:04,682 --> 00:10:11,090 אז הנה, יש לנו, notice-- אחד, two-- נצטרך לערוך כי out-- אחת, שתיים, ארבע, 221 00:10:11,090 --> 00:10:13,350 שמונה, 16, 32, 64, 128. 222 00:10:13,350 --> 00:10:14,220 הדבר נעשה בכוונה. 223 00:10:14,220 --> 00:10:17,370 יש שמונה סיביות כאן-- בינארי אפסים ואחדות digits--. 224 00:10:17,370 --> 00:10:21,460 וקצת הוא יחידה שימושית של measure-- כלא שימושי יחידת המידה 225 00:10:21,460 --> 00:10:21,999 על עצמו. 226 00:10:21,999 --> 00:10:24,290 בדרך כלל אתה רוצה לפחות שמונה דברים אלה, המוכר גם בשם 227 00:10:24,290 --> 00:10:24,790 בייט. 228 00:10:24,790 --> 00:10:26,230 אז יש לנו בייט של ביטים כאן. 229 00:10:26,230 --> 00:10:31,130 >> אז אם אנחנו רוצים לאתגר אתכם, למשל, איות, בינארי, 230 00:10:31,130 --> 00:10:33,230 ערך זה כאן-- 42. 231 00:10:33,230 --> 00:10:35,140 רוצה לקחת לדקור את זה? 232 00:10:35,140 --> 00:10:36,034 >> MADAY: [לא ברור]. 233 00:10:36,034 --> 00:10:38,700 DAVID מלאן: כן, רק לדחוף את מתגים לבנים קטנים בחזית. 234 00:10:38,700 --> 00:10:41,290 ואתה רוצה לאיית מתוך 42, וניתן לנעוץ 235 00:10:41,290 --> 00:10:44,061 הוא מתח CS50 זה כדור אם קראת את ההודעה הזאת. 236 00:10:44,061 --> 00:10:44,560 בסדר. 237 00:10:44,560 --> 00:10:46,420 אז אתה צריך 32. 238 00:10:46,420 --> 00:10:48,430 אנחנו הולכים צריכים 42. 239 00:10:48,430 --> 00:10:51,410 אז זה שמונה, אז זה 40. 240 00:10:51,410 --> 00:10:54,160 ועשה excellent-- יפה מאוד. 241 00:10:54,160 --> 00:10:55,186 תודה רבה לך. 242 00:10:55,186 --> 00:10:58,790 >> [תְשׁוּאוֹת] 243 00:10:58,790 --> 00:10:59,290 בסדר. 244 00:10:59,290 --> 00:11:00,623 אז יש לנו מתח כדור אחד יותר. 245 00:11:00,623 --> 00:11:03,595 בוא נעשה את זה פעם נוספת אם יורשה לנו. 246 00:11:03,595 --> 00:11:05,368 מתנדב אחד אחר? 247 00:11:05,368 --> 00:11:07,970 כדור מתח חינם, כדור מתח בחינם. 248 00:11:07,970 --> 00:11:08,470 בסדר. 249 00:11:08,470 --> 00:11:11,640 במהלך כאן באמצע, אתה רוצה לרדת? 250 00:11:11,640 --> 00:11:14,100 בסדר. 251 00:11:14,100 --> 00:11:15,552 אני יודע. 252 00:11:15,552 --> 00:11:16,360 הנה. 253 00:11:16,360 --> 00:11:20,818 >> אז מספרי כאן-- באים למטה. 254 00:11:20,818 --> 00:11:21,567 מה שמך? 255 00:11:21,567 --> 00:11:21,984 >> דייבי: דייבי. 256 00:11:21,984 --> 00:11:22,820 >> DAVID מלאן: דייבי. 257 00:11:22,820 --> 00:11:23,320 בסדר. 258 00:11:23,320 --> 00:11:24,810 בואו נעלה, דייבי. 259 00:11:24,810 --> 00:11:25,890 נעים להכיר אותך. 260 00:11:25,890 --> 00:11:28,639 ומה אנחנו הולכים יש לך spell-- אם אתה יכול לשהות שם 261 00:11:28,639 --> 00:11:32,810 רק moment-- אחד הוא המספר 50. 262 00:11:32,810 --> 00:11:36,293 אבל, אבל, אבל, אבל, אבל, אלה הם מגנטי ספר יסודי מסיבה. 263 00:11:36,293 --> 00:11:39,370 264 00:11:39,370 --> 00:11:43,327 פשוט יש קצת יותר קשה, בסדר? 265 00:11:43,327 --> 00:11:44,160 יש עדיין שמונה. 266 00:11:44,160 --> 00:11:46,820 267 00:11:46,820 --> 00:11:47,320 בסדר. 268 00:11:47,320 --> 00:11:48,486 אז מה יש לנו שם? 269 00:11:48,486 --> 00:11:51,356 יש לנו 32. 270 00:11:51,356 --> 00:11:54,344 נֶחְמָד. 271 00:11:54,344 --> 00:11:58,610 32 פלוס 16 נותן לנו 48-- כל כך קרוב. 272 00:11:58,610 --> 00:12:00,390 ונפלא. 273 00:12:00,390 --> 00:12:02,831 ברכות דייבי גם כן. 274 00:12:02,831 --> 00:12:05,720 >> [תְשׁוּאוֹת] 275 00:12:05,720 --> 00:12:06,516 >> בסדר. 276 00:12:06,516 --> 00:12:09,390 אז אנחנו יכולים לעשות את זה כל היום, ו הוא אינו מקבל כל כך הרבה יותר 277 00:12:09,390 --> 00:12:10,800 מעניין יותר מאתגר. 278 00:12:10,800 --> 00:12:13,250 אבל זה באמת point-- איך פשוט יחסית 279 00:12:13,250 --> 00:12:16,930 זה, בסוף היום, איזה המחשב עושה לאחסון מידע, 280 00:12:16,930 --> 00:12:21,740 כדי לשמור את הזנות, ובסופו של דבר לאחסן או לייצג יציאות אלה. 281 00:12:21,740 --> 00:12:23,750 אבל המספרים לבדם אינם כל כך מעניין. 282 00:12:23,750 --> 00:12:26,069 >> אז בני אדם, לפני כמה שנים, החלטת, אתה יודע מה? 283 00:12:26,069 --> 00:12:27,860 זה יהיה נחמד אם מחשבים היו לא רק 284 00:12:27,860 --> 00:12:31,030 מחשבונים באריתמטיקה יכול פעולות, אבל למעשה 285 00:12:31,030 --> 00:12:35,209 לעשות דברים כמו עיבוד תמלילים, או דואר אלקטרוני, או גלגולים מודרניים יותר 286 00:12:35,209 --> 00:12:36,500 אלו סוגים של טכנולוגיות. 287 00:12:36,500 --> 00:12:40,680 וכך העולם החליט באופן שרירותי, אלא אוניברסלי, 288 00:12:40,680 --> 00:12:44,380 כי אם אתה רוצה לאחסן את ההון מכתב במחשב, אתה יודע מה? 289 00:12:44,380 --> 00:12:47,730 בואו פשוט כולם מסכימים לאחסן דפוס כמה אפסים ones-- 290 00:12:47,730 --> 00:12:52,422 bits-- שבסופו של דבר מייצג את המספר העשרוני 65. 291 00:12:52,422 --> 00:12:53,630 אנחנו פשוט כולם מסכימים על זה. 292 00:12:53,630 --> 00:12:56,620 >> 66 ייצג B, 67 ייצג C, 293 00:12:56,620 --> 00:13:00,210 ויש צרורות של דפוסים אחרים של אפסים ואחדים, או מספרים בסיסיים, 294 00:13:00,210 --> 00:13:02,224 שתייצג מכתבים אחרים עדיין. 295 00:13:02,224 --> 00:13:04,390 אז אם אתה סוג של נפש לקלוט את זה לרגע, 296 00:13:04,390 --> 00:13:10,900 אני בכוונה להקים דרך אני, כאשר H 72 ואני הוא 73. 297 00:13:10,900 --> 00:13:15,830 אם מחשב אז, בהקשר של תוכנית עיבוד תמלילים או הודעת דואר אלקטרוני, 298 00:13:15,830 --> 00:13:19,620 שיתגלה מתחת למכסה המנוע יש דפוסים אלה של דפוס bits-- 299 00:13:19,620 --> 00:13:22,500 הביטים המייצגים 72, אז בן 73, אז 33-- 300 00:13:22,500 --> 00:13:26,640 מה זה יכול לאיית בתוכנית זו? 301 00:13:26,640 --> 00:13:28,150 >> אז היי, ולאחר מכן משהו. 302 00:13:28,150 --> 00:13:31,460 איננו יודעים בהכרח, אבל אכן 33-- לא על התרשים earlier-- 303 00:13:31,460 --> 00:13:33,170 היה פשוט סימן קריאה. 304 00:13:33,170 --> 00:13:38,870 אז 72 היה H, 73 הוא אני, 33 קורה להיות סימן קריאה עדיין. 305 00:13:38,870 --> 00:13:41,719 אבל זה הכל טוב ויפה, ולמעשה כיום, ולא 306 00:13:41,719 --> 00:13:43,760 פשוט להשתמש שבע או שמונה ביטים, בזכות משהו 307 00:13:43,760 --> 00:13:46,530 קרא Unicode בניגוד ל- ASCII חזרה היום, 308 00:13:46,530 --> 00:13:50,010 אנחנו באמת יכולים לייצג אפילו יותר דמויות מעניינות מסתם 309 00:13:50,010 --> 00:13:52,980 האנגלי המקורי אלה מוטים אותיות. 310 00:13:52,980 --> 00:13:56,030 אבל אנחנו גם יכולים לייצג גם דברים מסודרים כמו צבעים. 311 00:13:56,030 --> 00:13:59,750 >> אם אי פעם שמעו את ראשי התיבות RGB, אדום, ירוק, כחול, כי 312 00:13:59,750 --> 00:14:03,510 רק אומר כי מחשב משתמש בדרך כלל שלוש קבוצות של bits-- 313 00:14:03,510 --> 00:14:06,760 כמה מספר הביטים המייצגים מספר עבור כמה אדום אתה רוצה, 314 00:14:06,760 --> 00:14:08,940 אחר קבוצת ביטים עבור כמה ירוק אתה רוצה, 315 00:14:08,940 --> 00:14:11,430 ועוד מספר קבוע עבור כמה כחול אתה רוצה. 316 00:14:11,430 --> 00:14:14,457 אז מספר גדול אומר המון מספר אדום, קטן אומר שאין אדום. 317 00:14:14,457 --> 00:14:16,290 וכך אלה הם סוג ערכים באמצע כאן. 318 00:14:16,290 --> 00:14:20,180 >> אז תן לי קצת אדום, לתת לי קצת ירוק, ולתת לי קצת כחול. 319 00:14:20,180 --> 00:14:24,260 ואם אתה מערבב אותם שלושה גוונים של צבע יחד, במקרה זה, 320 00:14:24,260 --> 00:14:26,850 אתה מקבל גוון עכור זה צהוב או חום של. 321 00:14:26,850 --> 00:14:32,330 אבל זה דפוס של שמונה פלוס שמונה פלוס eight-- כך 24 bits-- 322 00:14:32,330 --> 00:14:36,550 משמאל לימין, הוא כיצד מחשב ייצג צבע מסוים. 323 00:14:36,550 --> 00:14:38,090 עכשיו זה רק נקודה על המסך. 324 00:14:38,090 --> 00:14:42,230 אם אתה נראה ממש בהישג לטלוויזיה שלך מחשב, תראה נקודות או פיקסלים. 325 00:14:42,230 --> 00:14:45,420 ואם יש לך רשת שלמה של פיקסלים, אופקי ואנכי, 326 00:14:45,420 --> 00:14:46,630 יש לך תמונות. 327 00:14:46,630 --> 00:14:49,029 ואז אם אתה לוקח תמונה ולאחר מכן לשטוף 328 00:14:49,029 --> 00:14:52,070 להציג את עצמך תמונה אחרת, אחר תמונה, תמונה אחרת, תמונה אחרת, 329 00:14:52,070 --> 00:14:54,760 ממש מהר, אתה כמובן יש סרטים. 330 00:14:54,760 --> 00:14:56,109 >> וכך להבחין בו התחלנו. 331 00:14:56,109 --> 00:14:57,650 התחלנו עם אפסים ואחדים אלה. 332 00:14:57,650 --> 00:15:00,570 עבדנו ומשם עשרוני מספרים, איך אנחנו מייצגים אותם. 333 00:15:00,570 --> 00:15:02,070 עכשיו יש לנו אותיות האלפבית. 334 00:15:02,070 --> 00:15:05,664 אבל בהקשרים אחרים לחכות, אנו יכולים להשתמש כמה חתיכות יותר הצבעים מייצגים. 335 00:15:05,664 --> 00:15:07,830 ברגע שיש לך את יכולת לייצג צבעים, 336 00:15:07,830 --> 00:15:11,200 יש לך את היכולת לייצג תמונות אנימציות 337 00:15:11,200 --> 00:15:13,780 ותווים כאלה על המסך. 338 00:15:13,780 --> 00:15:17,160 וכאשר יש לך חבורה שלמה של תמונות עפו ידי האדם בבת אחת, 339 00:15:17,160 --> 00:15:21,480 זה נראה כמו סרטי קולנוע, וכך אתה מקבל קטעי וידאו גם כן. 340 00:15:21,480 --> 00:15:23,460 >> זאת באמצעות אלה מאוד הפרימיטיבים פשוט אנחנו 341 00:15:23,460 --> 00:15:28,070 יש דרך לייצג בסופו של דבר כל צורות אלה של מדיה. 342 00:15:28,070 --> 00:15:30,450 ואנחנו כבר שוב מפוזרים ושוב ושוב, עד שאנחנו 343 00:15:30,450 --> 00:15:33,467 לקבל מן הרמה הנמוכה ביותר לרמה הגבוהה ביותר זה. 344 00:15:33,467 --> 00:15:35,550 אז זה נותן לנו את זה רעיון כללי של הפשטה. 345 00:15:35,550 --> 00:15:36,990 אבל התחלנו כאן. 346 00:15:36,990 --> 00:15:38,790 >> הנה עכשיו, נוכל לייצג מחשב 347 00:15:38,790 --> 00:15:41,920 התשומות שלנו עם אפסים ואחדים, הפלטים שלנו אפסים ואחדים, 348 00:15:41,920 --> 00:15:43,640 אבל מה מתרחש בתוך הקופסה? 349 00:15:43,640 --> 00:15:46,080 זה המקום שבו המחשב המדע נהיה מעניין. 350 00:15:46,080 --> 00:15:49,770 זה המקום שבו אתה בעצם להביא שלך המוחות עצמו לשאת לפתור בעיות. 351 00:15:49,770 --> 00:15:52,590 כעת אנו יכולים לקבוע, עבור שאר הסמסטר, כן. 352 00:15:52,590 --> 00:15:53,870 אני יודע איך עובד בינארי. 353 00:15:53,870 --> 00:15:57,942 אני זוכר איך Ascii או Unicode-- המיפוי כדי letters-- עבודות. 354 00:15:57,942 --> 00:15:59,650 וזה בהחלט עומד להיות תבוניים אנו כי 355 00:15:59,650 --> 00:16:03,470 יכול לייצג אדום וירוק כחול, ולייצג מולטימדיה, כמו גם. 356 00:16:03,470 --> 00:16:05,390 אך זהו דברים מעניינים. 357 00:16:05,390 --> 00:16:09,790 זה מה שעושה מישהו מסוגלים לפתור בעיות. 358 00:16:09,790 --> 00:16:11,980 >> ובעיה אחד כזה אנחנו אוהבים לעשות, אכן, 359 00:16:11,980 --> 00:16:15,345 הוא לוקח נוכחות, או עושה את זה באופן אלגוריתמי. 360 00:16:15,345 --> 00:16:16,470 ושוב, אני עלול לעשות את זה. 361 00:16:16,470 --> 00:16:19,580 אני עלול לעשות אחד, שתיים, שלוש, ארבע חמש, שש, שבע, שמונה ותשע. 362 00:16:19,580 --> 00:16:21,520 ואני יכול לכתוב את זה למטה כדי לעקוב אחר זה. 363 00:16:21,520 --> 00:16:23,769 אבל זה בדיוק מה שאני עושה לייצג את המידע. 364 00:16:23,769 --> 00:16:27,550 או שאני יכול לעשות את זה faster-- שתיים, ארבע, שש, שמונה, עשר, 12, 14, 16, 18, 20, 365 00:16:27,550 --> 00:16:30,380 22-- זה מרגיש כמו פעמים מהר אבל זה עדיין 366 00:16:30,380 --> 00:16:32,050 הולך לקחת הרבה זמן כולה. 367 00:16:32,050 --> 00:16:35,990 >> אבל מתברר, אם אנו ממנפים את עדיין אחר מחשבים resource-- ואכן 368 00:16:35,990 --> 00:16:38,940 יש בימים אלה מעבדים או מוח מרובים. 369 00:16:38,940 --> 00:16:41,970 מתברר מחשבים יכולים לעשות המון דברים בבת אחת, 370 00:16:41,970 --> 00:16:44,460 ואכן אנו, בחדר הזה, עשוי לייצג בדיוק זה. 371 00:16:44,460 --> 00:16:47,130 >> אז זה קצת חברתי מביך, אבל אם רצונך בכך הומור אותי 372 00:16:47,130 --> 00:16:51,550 רק תהליך בן שלושה שלבים, תן אני רוצה לשאול את כולם במקום יש רק 373 00:16:51,550 --> 00:16:54,640 לקום לרגע. 374 00:16:54,640 --> 00:16:57,380 תעמוד. 375 00:16:57,380 --> 00:17:01,580 אז תחשוב לעצמך, מספר one-- כך שכולם בחדר הזה, 376 00:17:01,580 --> 00:17:05,010 פרט לאותם אנשים שלא מחייבת, חושב מספר אחד. 377 00:17:05,010 --> 00:17:06,510 אז זה המספר שלך עכשיו. 378 00:17:06,510 --> 00:17:09,399 זהו הצעד הראשון, או בתור מדען מחשבים או מתכנת 379 00:17:09,399 --> 00:17:11,827 בדרך כלל הייתי עושה, אנחנו הולכים להתחיל לספור על אפס. 380 00:17:11,827 --> 00:17:14,410 אם המספר הקטן ביותר שביכולתנו מייצג עם הנורות האלה 381 00:17:14,410 --> 00:17:17,410 הוא אפס, רק על ידי להשאיר אותם כל זאת ממני, אני עדיף כבר 382 00:17:17,410 --> 00:17:19,271 מתחילים לספור מ אפס הוא במקום אחד. 383 00:17:19,271 --> 00:17:21,020 וכך זה מה מדעני מחשב לעשות. 384 00:17:21,020 --> 00:17:23,750 אז צעד אפס, לקום לחשוב על מספר אחד. 385 00:17:23,750 --> 00:17:26,339 השלב הבא הוא זה- זוג הסתלק עומד מישהו 386 00:17:26,339 --> 00:17:27,660 ולהוסיף המספרים שלך יחד. 387 00:17:27,660 --> 00:17:30,660 388 00:17:30,660 --> 00:17:32,850 נִפלָא. 389 00:17:32,850 --> 00:17:37,640 >> אז ברגע הזה בזמן, ממש כולם משתתפים 390 00:17:37,640 --> 00:17:41,930 הוא חושב על מספר 2, למעט עבור אדם אחד מוזר אם יש לנו 391 00:17:41,930 --> 00:17:43,450 מספר אי זוגי של אנשים בחדר. 392 00:17:43,450 --> 00:17:50,640 ועכשיו השלב השלישי כאן הולך להיות לשבת זה- אחד מכם צריך. 393 00:17:50,640 --> 00:17:54,490 אחד מכם צריך לשבת, ואם אתה עדיין עומד, 394 00:17:54,490 --> 00:17:56,590 חזור לשלב אחד. 395 00:17:56,590 --> 00:18:44,799 396 00:18:44,799 --> 00:18:45,790 בסדר. 397 00:18:45,790 --> 00:19:00,760 398 00:19:00,760 --> 00:19:01,650 בסדר. 399 00:19:01,650 --> 00:19:03,880 אז יותר ויותר אנשים צריך להיות בישיבה. 400 00:19:03,880 --> 00:19:08,280 שים לב כי זה מושרה loop-- איזשהו מחזור. 401 00:19:08,280 --> 00:19:11,983 חלק מכם צריך להיות תקוע במבוכה, הלוך ושוב הולך בין צעד אחד 402 00:19:11,983 --> 00:19:14,180 ושני, אחת שתיים, אחת ושני. 403 00:19:14,180 --> 00:19:21,190 404 00:19:21,190 --> 00:19:21,810 זה בסדר. 405 00:19:21,810 --> 00:19:22,630 באג הראשון שלנו. 406 00:19:22,630 --> 00:19:24,740 נצטרך להתמודד עם זה. 407 00:19:24,740 --> 00:19:25,320 בסדר. 408 00:19:25,320 --> 00:19:27,370 תן לי לנסות לדרבן דברים יחד. 409 00:19:27,370 --> 00:19:31,454 >> בתיאוריה, רק אדם אחד עומד כמו כולם ממשיך בזוגות. 410 00:19:31,454 --> 00:19:33,870 אבל בואו לזרז אותי דברים עם העם עדיין עומד. 411 00:19:33,870 --> 00:19:35,480 מה מספר אתה חושב? 412 00:19:35,480 --> 00:19:36,070 46. 413 00:19:36,070 --> 00:19:36,570 בסדר. 414 00:19:36,570 --> 00:19:37,820 אתם מוזמנים לשבת. 415 00:19:37,820 --> 00:19:39,190 אתם עדיין עומדים על תלם. 416 00:19:39,190 --> 00:19:42,130 מי עומד עדיין? 417 00:19:42,130 --> 00:19:45,240 מה מספר אתה חושב? 418 00:19:45,240 --> 00:19:46,160 בסדר. 419 00:19:46,160 --> 00:19:47,900 >> אז נחזור אליך. 420 00:19:47,900 --> 00:19:49,630 בחלק האחורי? 421 00:19:49,630 --> 00:19:50,790 מה זה? 422 00:19:50,790 --> 00:19:53,100 22. 423 00:19:53,100 --> 00:19:56,540 אישור למישהו אחר עד top-- כן? 424 00:19:56,540 --> 00:19:57,720 34. 425 00:19:57,720 --> 00:19:58,300 בסדר. 426 00:19:58,300 --> 00:20:02,780 הנה, כאן, כן-- שלי עד כאן? 427 00:20:02,780 --> 00:20:06,820 132, מאוד נחמד. 428 00:20:06,820 --> 00:20:08,380 22? 429 00:20:08,380 --> 00:20:08,990 >> בסדר. 430 00:20:08,990 --> 00:20:10,031 ומי עומד עדיין? 431 00:20:10,031 --> 00:20:11,000 כאן? 432 00:20:11,000 --> 00:20:14,520 46, מאוד נחמד. 433 00:20:14,520 --> 00:20:16,890 72. 434 00:20:16,890 --> 00:20:18,220 אני לא יכול לעכב עוד זמן רב. 435 00:20:18,220 --> 00:20:20,520 כֵּן? 436 00:20:20,520 --> 00:20:22,490 30, נחמד. 437 00:20:22,490 --> 00:20:24,120 כאן? 438 00:20:24,120 --> 00:20:26,200 23? 439 00:20:26,200 --> 00:20:27,270 23. 440 00:20:27,270 --> 00:20:30,920 >> ואני חושב שזה כולם חוץ ממך בחורים, בלי לחץ. 441 00:20:30,920 --> 00:20:32,860 הו חכה. 442 00:20:32,860 --> 00:20:33,360 28? 443 00:20:33,360 --> 00:20:37,500 444 00:20:37,500 --> 00:20:38,281 רק שמונה. 445 00:20:38,281 --> 00:20:38,780 בסדר. 446 00:20:38,780 --> 00:20:41,030 רק שמונה. 447 00:20:41,030 --> 00:20:42,580 כאן למטה? 448 00:20:42,580 --> 00:20:44,570 30. 449 00:20:44,570 --> 00:20:47,344 23. 450 00:20:47,344 --> 00:20:47,843 24. 451 00:20:47,843 --> 00:20:50,810 452 00:20:50,810 --> 00:20:52,310 18. 453 00:20:52,310 --> 00:20:54,690 זהו הביצוע הגרוע ביותר אלגוריתם זה אי פעם. 454 00:20:54,690 --> 00:20:55,190 בסדר. 455 00:20:55,190 --> 00:20:59,760 אז מישהו אחר? 456 00:20:59,760 --> 00:21:00,421 כל אחד אחר? 457 00:21:00,421 --> 00:21:00,920 בסדר. 458 00:21:00,920 --> 00:21:03,300 עוד אחד. 459 00:21:03,300 --> 00:21:04,400 16? 460 00:21:04,400 --> 00:21:04,900 בסדר. 461 00:21:04,900 --> 00:21:05,510 16. 462 00:21:05,510 --> 00:21:06,010 בסדר. 463 00:21:06,010 --> 00:21:09,070 כך שאם לא החמיץ לי מישהו הבוהק כאן, כאשר אני מכה על Enter, 464 00:21:09,070 --> 00:21:13,091 נוכל לראות, אלגוריתמי, את מספר כולל של אנשי סנדרס. 465 00:21:13,091 --> 00:21:16,340 כי שוב, זה כאילו כולם כפי שאתה התיישבת, עברת את המספר שלך 466 00:21:16,340 --> 00:21:19,215 למישהו אחר, למישהו אחר, למישהו אחר, כך בתיאוריה, 467 00:21:19,215 --> 00:21:22,304 בסופו של דבר, רק אחד מביך אדם ויישאר על כנם. 468 00:21:22,304 --> 00:21:22,970 אבל זה בסדר. 469 00:21:22,970 --> 00:21:24,290 האצנו את העניינים באופן ידני. 470 00:21:24,290 --> 00:21:27,590 זה במיוחד קשה לראות בחלל המסוים הזה. 471 00:21:27,590 --> 00:21:34,200 >> ואת המספר הכולל של אנשים אנחנו חושבים שיש כאן הוא 546. 472 00:21:34,200 --> 00:21:37,330 המספר הכולל הייתי ריק על ידי עמיתי הוראה, 473 00:21:37,330 --> 00:21:40,660 מי עשה את זה ישן הספר איטי דרך, הייתה 820. 474 00:21:40,660 --> 00:21:43,660 >> [צוחק] 475 00:21:43,660 --> 00:21:47,170 >> [תְשׁוּאוֹת] 476 00:21:47,170 --> 00:21:48,670 >> זה בסדר. 477 00:21:48,670 --> 00:21:50,740 אז לבטח אז, יש באגים אלה. 478 00:21:50,740 --> 00:21:51,460 וזה בסדר. 479 00:21:51,460 --> 00:21:53,810 וכך להיזכר על זה משהו בפעם הראשונה 480 00:21:53,810 --> 00:21:55,420 אתה כותב לא בהכרח עובד. 481 00:21:55,420 --> 00:21:57,620 זה קרה לי גם כאן. 482 00:21:57,620 --> 00:22:00,844 אבל בואו עכשיו לשקול כיצד נוכל ליישם את הרעיון אותו למשהו 483 00:22:00,844 --> 00:22:03,760 שאולי ראית לפני, אשר טכנולוגית הספר הישן הזה הוא כאן-- 484 00:22:03,760 --> 00:22:05,130 ספר טלפונים גדול באמת. 485 00:22:05,130 --> 00:22:09,380 ונניח כי ספר הטלפון הזה יש 1,000 דפים 1,000 שמות 486 00:22:09,380 --> 00:22:11,360 ומספרים בסדר אלפביתי בתוכו. 487 00:22:11,360 --> 00:22:14,860 >> ובכן, אנחנו יכולים סוג של להחיל דומה רעיון לבעיה פיזית מאוד זו, 488 00:22:14,860 --> 00:22:16,270 רק משתמשים בי. 489 00:22:16,270 --> 00:22:18,810 אני פשוט סוג של רימה על ידי מינוף כולכם 490 00:22:18,810 --> 00:22:23,240 עם המון המון מעבדים שונים או מוח ביצוע כמה אלגוריתם. 491 00:22:23,240 --> 00:22:25,440 אבל אם זה רק קצת לי בן, אני עדיין יכול 492 00:22:25,440 --> 00:22:29,630 למנף אותה מהות רעיון חלוקת וכובשת הבעיה 493 00:22:29,630 --> 00:22:32,970 שוב ושוב, לפיה מחצית מכם, מחצית מכם, מחצית מכם, מחצית מכם, 494 00:22:32,970 --> 00:22:35,830 תיאורטית כל הזמן בישיבה, עד נותרנו, באופן תיאורטי, 495 00:22:35,830 --> 00:22:36,990 עם אדם אחד בלבד. 496 00:22:36,990 --> 00:22:39,810 >> אז בבית הספר הישן הזה טכנולוגיה-- שאנחנו עושים לא 497 00:22:39,810 --> 00:22:43,030 צריך את זה map-- זה טכנולוגית ספר ישנה, 498 00:22:43,030 --> 00:22:47,300 נוכל להתחיל לחפש מישהו כמו מייק סמית, עמוד אחד בכל פעם. 499 00:22:47,300 --> 00:22:49,410 ואני רואה שלא, מייק הוא לא כאן. 500 00:22:49,410 --> 00:22:51,110 אני עדיין במקטע A. 501 00:22:51,110 --> 00:22:53,900 בסופו של דבר, אני מוצא עצמי בקטע B. 502 00:22:53,900 --> 00:22:56,910 וזו algorithm-- צעד אחר צעד הוראות. 503 00:22:56,910 --> 00:22:59,890 התחל בו בתחילה ואחד בכל פעם, לחפש מייק סמית. 504 00:22:59,890 --> 00:23:03,410 האם זה correct-- זה אלגוריתם או גישה? 505 00:23:03,410 --> 00:23:04,550 >> כן, זה נכון. 506 00:23:04,550 --> 00:23:06,840 אם מייק כאן, בסופו של דבר אני אביא לו. 507 00:23:06,840 --> 00:23:08,139 אבל זה לא יעיל. 508 00:23:08,139 --> 00:23:09,180 זהו כמובן מאוד איטי. 509 00:23:09,180 --> 00:23:11,340 אז אני יכול למנף את twosies אותו להתקרב. 510 00:23:11,340 --> 00:23:15,350 אני יכול לעשות מעין השנייה, ארבע, שש, שמונה, 10, 12. 511 00:23:15,350 --> 00:23:16,330 זה פי שניים יותר מהר. 512 00:23:16,330 --> 00:23:18,290 אני הולך להגיע מייק מהר אם הוא שם. 513 00:23:18,290 --> 00:23:20,770 זה נכון? 514 00:23:20,770 --> 00:23:22,320 כן, אבל שמעתי לא little--. 515 00:23:22,320 --> 00:23:24,200 עכשיו שמעתי לא. 516 00:23:24,200 --> 00:23:24,700 כֵּן. 517 00:23:24,700 --> 00:23:26,190 יש באג פוטנציאלי. 518 00:23:26,190 --> 00:23:29,374 אולי מייק רק בטעות מקבל דחוק בין שני עמודים, 519 00:23:29,374 --> 00:23:31,290 כי אני טס דרך זה שתיים בכל פעם. 520 00:23:31,290 --> 00:23:33,580 אז לפחות אנחנו צריכים קצת סוג של תיקון תנאי. 521 00:23:33,580 --> 00:23:35,330 אני צריך לומר, היי, אם פגעתי מישהו שאת 522 00:23:35,330 --> 00:23:39,190 שם מתחיל עם T במקום S, אני יותר טוב להכפיל בחזרה לפחות עמוד אחד. 523 00:23:39,190 --> 00:23:40,767 אז מרכבה בהתחלה, אבל אפשר לתקן. 524 00:23:40,767 --> 00:23:43,850 אבל אף אחד מאיתנו לא הולכים לחפש מייק סמית באמצעות טלפון הדף 1,000 525 00:23:43,850 --> 00:23:45,290 להזמין עמוד אחד בכל פעם. 526 00:23:45,290 --> 00:23:48,486 מה בן אדם נורמלי הולך לעשות? 527 00:23:48,486 --> 00:23:50,860 אתם מתכוונים ללכת S של, אם אתה יודע איפה ה- S של. 528 00:23:50,860 --> 00:23:54,230 אתה יכול ללכת בערך לאמצע או מוטה מעט לקראת הסוף. 529 00:23:54,230 --> 00:23:56,850 ואני מסתכל למטה פה אני בקטע M. 530 00:23:56,850 --> 00:23:58,952 אבל מה אתם יודעים על בעיה זו כעת, 531 00:23:58,952 --> 00:24:02,160 כי אנחנו לא בהכרח לדעת לפני עם כולנו רק לספור את עצמנו 532 00:24:02,160 --> 00:24:03,030 באופן שקול? 533 00:24:03,030 --> 00:24:06,010 ובכן, מייק הולך בבירור להיות המחצית של הספר 534 00:24:06,010 --> 00:24:07,920 אם הוא כאן בכלל, כי זה מסודר. 535 00:24:07,920 --> 00:24:10,160 >> וכך אתה יכול מאוד dramatically-- 536 00:24:10,160 --> 00:24:11,250 >> [מתנשף] 537 00:24:11,250 --> 00:24:12,300 >> אני יודע. 538 00:24:12,300 --> 00:24:16,940 >> [תְשׁוּאוֹת] 539 00:24:16,940 --> 00:24:19,450 >> זה ממש ממש קל אם אתה עושה את זה במורד עמוד השדרה שם. 540 00:24:19,450 --> 00:24:22,070 אבל אז אתה יכול לזרוק מחצית הבעיה משם. 541 00:24:22,070 --> 00:24:25,950 עכשיו, אני נשאר עם אותו problem-- למצוא מייק סמית טלפון book-- 542 00:24:25,950 --> 00:24:29,610 אבל עכשיו בספר הטלפונים מתחיל ב M והולך Z, אבל זה חצי כמו גדול. 543 00:24:29,610 --> 00:24:30,890 >> אבל זה מה מרשים. 544 00:24:30,890 --> 00:24:34,170 בדיוק כמו בתיאוריה, אתם, כאשר כל מה שאתה התיישבת רק חצי בכל פעם, 545 00:24:34,170 --> 00:24:37,150 הבעיה קבלה חצי כמו גדול, חצי גדול, שוב ושוב. 546 00:24:37,150 --> 00:24:40,260 אז יש את הבעיה הזו להיות אותה בעיה אבל חצי כמו גדול. 547 00:24:40,260 --> 00:24:42,670 עכשיו זה בעיה 250 דף. 548 00:24:42,670 --> 00:24:45,340 ברגע שאני מבין, הו, אני בסעיף T בטעות. 549 00:24:45,340 --> 00:24:46,590 אני כבר הלכתי רחוק מדי. 550 00:24:46,590 --> 00:24:48,500 אני יכול לזרוק שמחצית בספר הטלפונים משם. 551 00:24:48,500 --> 00:24:50,410 עכשיו, אני עד כדי רבע הבעיה. 552 00:24:50,410 --> 00:24:53,910 >> ואתה יכול לחזור, לחזור, לחזור עד, בתיאוריה, אתה 553 00:24:53,910 --> 00:24:55,460 נשאר עם דף אחד בלבד. 554 00:24:55,460 --> 00:24:59,010 ואם מייק הוא בדף זה, עכשיו אני יכול לפתור את הבעיה הזו. 555 00:24:59,010 --> 00:25:00,810 אבל כמה מהר עשיתי לפתור אותה? 556 00:25:00,810 --> 00:25:05,420 במקרה הראשון, לקח לי כמו אולי 1,000 צעדים כדי למצוא מייק סמית. 557 00:25:05,420 --> 00:25:09,260 זה עלול היה להימשך לי-- הרמתי את ספר הטלפונים 558 00:25:09,260 --> 00:25:11,440 ואני התחלתי לחפש עמוד אחד בכל פעם, 559 00:25:11,440 --> 00:25:13,480 ומייק עלול להיות מאוחר -1,000 עמודים. 560 00:25:13,480 --> 00:25:16,020 >> גישה שנייה אולי לוקח לי 500 צעדים, 561 00:25:16,020 --> 00:25:17,960 כי אני טס דרך שתיים בכל פעם. 562 00:25:17,960 --> 00:25:21,082 ואת הגישה השלישית אם כי, זה חזק במיוחד. 563 00:25:21,082 --> 00:25:23,790 אבל הבה נבחן מה אנחנו באמת עשה עם גישה שלישית זו. 564 00:25:23,790 --> 00:25:27,590 אני אצטרך מה אני אתקשר רק אלה דוחות כאן, אחד בכל פעם. 565 00:25:27,590 --> 00:25:28,560 קח ספר טלפון. 566 00:25:28,560 --> 00:25:30,130 פתח לאמצע בספר הטלפונים. 567 00:25:30,130 --> 00:25:31,419 תראה שמות. 568 00:25:31,419 --> 00:25:33,960 ואז הדברים מקבלים קצת יותר אינטלקטואלי מעניין, 569 00:25:33,960 --> 00:25:35,170 אם עדיין פשוט. 570 00:25:35,170 --> 00:25:38,350 אם סמית היא בין שמות על הדף הנוכחי כי, 571 00:25:38,350 --> 00:25:40,170 אז לעשות משהו על תנאי. 572 00:25:40,170 --> 00:25:41,840 זה כמו להצטלבות הדרכים. 573 00:25:41,840 --> 00:25:42,660 התקשר מייק. 574 00:25:42,660 --> 00:25:44,930 אם מייק הוא בין השמות בדף זה, בשם מייק. 575 00:25:44,930 --> 00:25:49,720 אבל לעשות רק קו ארבעה אם קו עץ, אם תרצו, הוא נכון. 576 00:25:49,720 --> 00:25:51,590 התשובה לשאלה זו היא כן. 577 00:25:51,590 --> 00:25:55,520 >> אחר אם סמית הוא מוקדם יותר book-- במילים אחרות, אם אני בקטע M 578 00:25:55,520 --> 00:25:58,540 ואני מחפש מישהו השמאל, אז מה אני צריך לעשות 579 00:25:58,540 --> 00:26:00,300 דומה הוא משהו מאוד. 580 00:26:00,300 --> 00:26:03,440 אז אני אמור להיפתח באמצע המחצית השמאלית של הספר. 581 00:26:03,440 --> 00:26:07,930 אז ללכת שמאלה, ולאחר מכן חזור לשלב שני. 582 00:26:07,930 --> 00:26:09,290 תסתכל על השמות שם. 583 00:26:09,290 --> 00:26:12,779 >> אז במילים אחרות, לעשות את אותו הדבר, אבל על בעיה כי כבר חצוי. 584 00:26:12,779 --> 00:26:13,570 אתה יודע מה עוד? 585 00:26:13,570 --> 00:26:16,470 אם סמית היא מאוחר יותר בספר מבוסס על הדף אני מסתכל, 586 00:26:16,470 --> 00:26:18,790 פתוח באמצע החצי הימני של הספר 587 00:26:18,790 --> 00:26:22,050 ואז לחזור שוב לשלב השני, else-- 588 00:26:22,050 --> 00:26:24,000 יש אפשרות רביעית כאן. 589 00:26:24,000 --> 00:26:28,830 מייק כאן או שמאלה או ימינה או אין. 590 00:26:28,830 --> 00:26:30,570 וכאן אנחנו יותר לשקול את זה. 591 00:26:30,570 --> 00:26:33,360 ואכן, אם אי פעם היה המחשב פשוט להתרסק על לך, 592 00:26:33,360 --> 00:26:36,822 כי לפעמים, אבל לא תמיד, בעקבות פשוט מתכנת אדם לא 593 00:26:36,822 --> 00:26:39,280 להבין, הו לירות, יש למעשה תרחיש רביעי זה. 594 00:26:39,280 --> 00:26:41,650 ואם אתה לא לכתוב קוד כדי להתמודד עם תרחיש זה, 595 00:26:41,650 --> 00:26:43,220 לפעמים אתה לא יודע מה המחשב עלול לעשות. 596 00:26:43,220 --> 00:26:44,770 ואכן תכנית עלולה לקרוס. 597 00:26:44,770 --> 00:26:47,550 >> אבל במקרה הזה, חשבתי על זה, ואני אמרתי, עוד נטש, 598 00:26:47,550 --> 00:26:49,850 כי זה רביעי תרחיש אפשרי לוגי. 599 00:26:49,850 --> 00:26:51,950 עכשיו, בואו פשוט להוסיף כמה אוצר מילים ולכן אנחנו 600 00:26:51,950 --> 00:26:55,320 יכול להתחיל לזרוק כל מיני מונחים כי הם אחרת די אינטואיטיבי. 601 00:26:55,320 --> 00:26:57,870 כל הדברים יש לי רק מודגש בצהוב כאן, 602 00:26:57,870 --> 00:27:00,140 אני רק הולך אל פונקציות ופרוצדורות. 603 00:27:00,140 --> 00:27:01,590 הוא סוג בדיוק של פעולות. 604 00:27:01,590 --> 00:27:04,900 אז להרים, פתוח, להסתכל בבית, לקרוא, פתוח, פתוח, 605 00:27:04,900 --> 00:27:09,170 quit-- אלה הם רק פעולות, נשלול קוראים להם יותר רשמית, פונקציות. 606 00:27:09,170 --> 00:27:11,410 >> בינתיים, עכשיו בצהוב, הדגשתי דברים 607 00:27:11,410 --> 00:27:14,084 ש-- בואו פשוט להתחיל לקרוא אותם תנאים או סניפים. 608 00:27:14,084 --> 00:27:16,750 אלו הן החלטות נקודות שבן אתה יכול ללכת בדרך זו, בדרך זו, 609 00:27:16,750 --> 00:27:18,100 או לכיוון אחר עדיין. 610 00:27:18,100 --> 00:27:19,430 אז אלה יהיו תנאים. 611 00:27:19,430 --> 00:27:20,930 ועכשיו זה אחד קצת להשתכלל. 612 00:27:20,930 --> 00:27:24,600 בואו לקרוא על שאלות אלה ביטויים בוליאני, 613 00:27:24,600 --> 00:27:26,530 אחרי מישהו עם שם המשפחה בול. 614 00:27:26,530 --> 00:27:28,340 >> וזה ביטוי בוליאני רק משהו 615 00:27:28,340 --> 00:27:30,290 זה או אמת או שקר, כן או לא. 616 00:27:30,290 --> 00:27:35,870 אז זה את השאלה שאת התשובה אתה אכפת, כדי במצב 617 00:27:35,870 --> 00:27:39,210 לבצע decision-- לחזור תשובה, ולאחר מכן ללכת שמאלה או ימינה, או משהו 618 00:27:39,210 --> 00:27:40,450 אחר לגמרי. 619 00:27:40,450 --> 00:27:42,860 >> ואז ולבסוף, אלה קווי כאן-- לחזור 620 00:27:42,860 --> 00:27:44,737 לשלב השני, לחזור לשלב two-- שיכולנו 621 00:27:44,737 --> 00:27:46,320 ליישם את הרעיון הזה בדרכים שונות. 622 00:27:46,320 --> 00:27:49,028 ואז לאלו מכם עם ניסיון בתכנות עלול לעשות 623 00:27:49,028 --> 00:27:50,670 או יכול לדמיין את עצמי עושה את זה אחרת. 624 00:27:50,670 --> 00:27:53,170 אבל למטרות של היום, זה רק את הרעיון מה שחשוב. 625 00:27:53,170 --> 00:27:55,400 זה גרימה מה אנחנו בדרך כלל נתקשר 626 00:27:55,400 --> 00:28:00,110 loop-- איזשהו מחזור, כי זה עושה לי לעשות משהו שוב. 627 00:28:00,110 --> 00:28:03,340 >> אז עכשיו, בואו פשוט לשקול כמה טוב אלגוריתם זה. 628 00:28:03,340 --> 00:28:03,899 זה נכון. 629 00:28:03,899 --> 00:28:06,940 אם מייק בספר, זה אחד אלה ארבע scenarios-- שוב ושוב 630 00:28:06,940 --> 00:28:08,023 ושוב, אנחנו נמצא אותו. 631 00:28:08,023 --> 00:28:08,890 אבל עד כמה זה טוב? 632 00:28:08,890 --> 00:28:10,150 ובכן, אין לנו מכדי להיות רשמי כאן. 633 00:28:10,150 --> 00:28:12,066 אבל בואו פשוט עלילה משהו, x ו- y, כדי לקבל 634 00:28:12,066 --> 00:28:14,470 תחושה של הצורה של בעיה זו. 635 00:28:14,470 --> 00:28:17,160 >> על ציר ה- x הוא כאן את גודל הבעיה שלי. 636 00:28:17,160 --> 00:28:20,256 והם בציר Y כאן יהיה הפעם לפתור. 637 00:28:20,256 --> 00:28:21,630 אז אולי זה מספר עמודים. 638 00:28:21,630 --> 00:28:24,400 אולי זה שני או דף turns-- מה שלא יהיה. 639 00:28:24,400 --> 00:28:27,290 עם זאת אתה רוצה לספור הוא מה התמונה הזאת תייצג. 640 00:28:27,290 --> 00:28:30,630 וזה אלגוריתם ראשון, אני הולך רק לתאר כקו ישר. 641 00:28:30,630 --> 00:28:33,120 אם יש n עמודים בספר הטלפונים, אז זה 642 00:28:33,120 --> 00:28:36,010 עלול לקחת לי כמה שיותר כצעדי n כדי למצוא מייק. 643 00:28:36,010 --> 00:28:38,930 אם Verizon או חברת הטלפון מוסיף עוד דף אחד בשנה הבאה, 644 00:28:38,930 --> 00:28:42,170 זה עלול לקחת לי עוד step-- יחידה אחת יותר זמן כדי למצוא מייק. 645 00:28:42,170 --> 00:28:44,230 אז יש רק זה אחד יחס אחד. 646 00:28:44,230 --> 00:28:45,970 זה מדרון בקו ישר. 647 00:28:45,970 --> 00:28:49,110 >> בינתיים, כי שני algorithm-- אם אני 648 00:28:49,110 --> 00:28:51,570 הולך שניים בכל שני הבאה--, ארבע, שש, שמונה, או double-- 649 00:28:51,570 --> 00:28:54,550 עובר את הדפים פעם בכל פעם, שתיים בכל פעם, 650 00:28:54,550 --> 00:28:55,710 זה עדיין בקו ישר. 651 00:28:55,710 --> 00:28:58,720 יש עכשיו אחד כדי שני יחס, אבל רק קצת נמוך. 652 00:28:58,720 --> 00:29:02,240 אז אם יש זה דפים רבים על גבי הגרף כאן בצהוב, 653 00:29:02,240 --> 00:29:04,800 זה עלול לקחת לי את זה צעדים או שניות רבים, 654 00:29:04,800 --> 00:29:07,980 אחרת זה הולך לקחת לי כפליים על הקו האדום. 655 00:29:07,980 --> 00:29:10,190 >> אבל הקו הירוק היא ממסעדה האמיתית. 656 00:29:10,190 --> 00:29:12,290 זה מה שאנחנו בדרך כלל קוראים יומן logorithm-- 657 00:29:12,290 --> 00:29:13,840 של n, כאשר n הוא מספר עמודים. 658 00:29:13,840 --> 00:29:16,450 אבל זה הצורה מה שחשוב היום, כי אין לנו 659 00:29:16,450 --> 00:29:17,950 אפילו לחשוב על התוויית נקודות. 660 00:29:17,950 --> 00:29:19,830 >> תחשוב על תרחיש קיצון. 661 00:29:19,830 --> 00:29:23,070 תניח Verizon מחר מכפיל את מספר עמודים בספר טלפונים כי, 662 00:29:23,070 --> 00:29:24,900 בין 1,000 ל -2,000. 663 00:29:24,900 --> 00:29:28,440 באלגוריתם הראשון, אני אולי לבזבז תוספת 1,000 664 00:29:28,440 --> 00:29:32,080 צעדים מחפשים מייק, רק בגלל Verizon הכפילה את גודלה של הספר. 665 00:29:32,080 --> 00:29:34,740 השני algorithm-- זה אולי לקחת לי 500 שלבים נוספים. 666 00:29:34,740 --> 00:29:38,370 1,000 דפים נוספים, אני הולך שתיים בכל הבאה-- 500 שלבים נוספים כדי למצוא מייק. 667 00:29:38,370 --> 00:29:41,020 >> אבל זה אלגוריתם שלישי סוג של הוא קסום. 668 00:29:41,020 --> 00:29:44,270 Verizon מכפילה את המספר עמודים בין 1,000 ל -2,000, 669 00:29:44,270 --> 00:29:47,730 אבל כמה עוד צעדים עושים זה לוקח אותי לחפש מייק? 670 00:29:47,730 --> 00:29:51,220 זה רק אחד, כי אני יכול רק לקרוע את ספר הטלפונים עוד פעם אחת 671 00:29:51,220 --> 00:29:55,280 מבעיה בעמוד 2,000 ל 1,000 בעיה בדף, וזהו. 672 00:29:55,280 --> 00:29:57,030 לקחתי ביס מסיבי ממנו. 673 00:29:57,030 --> 00:29:59,405 >> ואם אתה הולך ממש קיצוני, תניח את ספר טלפונים 674 00:29:59,405 --> 00:30:03,600 לחברה היה משהו מטורף כמו ספר טלפונים -4 מיליארדים דף. 675 00:30:03,600 --> 00:30:07,020 ובכן כמה צעדים אולי זה לקחת למצוא מייק סמית בתוך 4 מיליארד 676 00:30:07,020 --> 00:30:09,990 ספר הטלפונים דף? 677 00:30:09,990 --> 00:30:16,450 זה מספר גדול, אבל רק 4 מיליארד 2 מיליארד כדי 1 מיליארד כדי 500 מיליון דולר, 678 00:30:16,450 --> 00:30:18,720 250 million-- עדיין נשמע כמו מספרים גדולים, 679 00:30:18,720 --> 00:30:20,980 אבל אני מהר מאוד מקבל לערכים קטנים. 680 00:30:20,980 --> 00:30:24,790 >> ואכן, אם אני עושה את החשבון בסדר, אני יכול לחלק רק 4 מיליארד 681 00:30:24,790 --> 00:30:28,750 בכ 32 פעמים לפני אני מקבל רק עם אחד. 682 00:30:28,750 --> 00:30:31,640 אז אם זה ספר טלפונים היו 4 מיליארד עמודים, לא ביג דיל. 683 00:30:31,640 --> 00:30:35,270 תוך כמה שניות, אולי 32 שניות, יכולתי לחלק אותו לחצי 684 00:30:35,270 --> 00:30:39,560 ובסופו של דבר למצוא מייק או להסיק כי הוא לא שם. 685 00:30:39,560 --> 00:30:42,219 וזה המהות של algorithm-- אלגוריתם טוב. 686 00:30:42,219 --> 00:30:44,260 וזה אחד מטרות של מעמד כזה, 687 00:30:44,260 --> 00:30:47,350 מנסה להבין איך אני לפתור את הבעיה ולא רק בצורה נכונה, 688 00:30:47,350 --> 00:30:52,360 כמו תמיד ידעתי איך לעשות את זה אחד דף אחד בכל הבאה-- אבל נכון גם. 689 00:30:52,360 --> 00:30:55,034 כיצד ניתן לעצב טוב פתרונות לבעיות? 690 00:30:55,034 --> 00:30:57,200 אז בואו לקחת רגע כאן ולתת לך תחושה החברה 691 00:30:57,200 --> 00:31:00,260 של CS50 הקורס עצמו-- להציג כמה אנשי צוות הקורס. 692 00:31:00,260 --> 00:31:02,010 רגע לפני 2:00, אנחנו נעלה לקחת פסק זמן קצר 693 00:31:02,010 --> 00:31:03,520 כך לאלה מכם מי קניות יכול 694 00:31:03,520 --> 00:31:05,130 ברווז החוצה ולקחת להסתכל כמה סוג אחר 695 00:31:05,130 --> 00:31:06,580 ולצפות שאר הזה באינטרנט. 696 00:31:06,580 --> 00:31:09,250 אבל לעת עתה, הרשו לי להציג את CS50, המחלקה עצמה, 697 00:31:09,250 --> 00:31:11,330 ובמיוחד מה שחדש. 698 00:31:11,330 --> 00:31:13,960 >> אז באביב האחרון, אנו די ביליתי קצת הבאה-- 699 00:31:13,960 --> 00:31:17,911 הצוות של הקורס אני- לחשוב על מה זה שאנחנו רוצים CS50 להיות, 700 00:31:17,911 --> 00:31:19,910 ולחזור הראשון עקרונות, כביכול, 701 00:31:19,910 --> 00:31:22,760 לשקול מה הוא שאנחנו רוצים הקורס הזה להיראות כמו ולהיות 702 00:31:22,760 --> 00:31:23,740 כמו לסטודנטים שלו. 703 00:31:23,740 --> 00:31:26,480 וכך תראה בבעיה להגדיר אפס וכן, הזמנה 704 00:31:26,480 --> 00:31:28,780 כדי להעיף מבט כי כתובת אתר מסכמת 705 00:31:28,780 --> 00:31:33,270 חלק המניעים מאחורי בעקבות מאפיינים של סתיו 2016. 706 00:31:33,270 --> 00:31:35,570 >> אז כפי שאתם אולי שלוקטו מן TL: נדבת DR, 707 00:31:35,570 --> 00:31:39,060 הסילבוס היום וכן קטלוג הקורס השנה CS50, 708 00:31:39,060 --> 00:31:42,540 אתה צפוי רק כדי להשתתף today-- כך עבודה יפה done-- 709 00:31:42,540 --> 00:31:45,960 ואת ההרצאה האחרונה ב -21 לנובמבר. 710 00:31:45,960 --> 00:31:49,150 ואתה מוזמן אך לא צפוי הרצאות אלה באמצע, 711 00:31:49,150 --> 00:31:51,180 בגלל מה שאנחנו עושים השנה, יורה 712 00:31:51,180 --> 00:31:52,661 בזמן אמת החומר של הקורס. 713 00:31:52,661 --> 00:31:54,660 אז הכל יישאר נוכחי ושלב 714 00:31:54,660 --> 00:31:57,410 כמיטב יכולתנו can-- אקטואליה ושיחות אנשים עלולים 715 00:31:57,410 --> 00:32:00,400 להיות שיש באזור התעשייה של בעולם, אבל מה שהופך חומר 716 00:32:00,400 --> 00:32:03,892 זמין, וכתוצאה מכך, גם earlier-- להשלים עם גיליונות טקסט מלא 717 00:32:03,892 --> 00:32:05,850 ו searchability ו קישורים למשאבים אחרים. 718 00:32:05,850 --> 00:32:07,930 >> ואכן, היינו בטענה במשך זמן מה 719 00:32:07,930 --> 00:32:10,830 ואנחנו עכשיו מאמין זה, כי אנחנו יכולים ליצור, באופן דיגיטלי, 720 00:32:10,830 --> 00:32:15,170 immersive יותר, יותר משכנע חוויה חינוכית, בניגוד 721 00:32:15,170 --> 00:32:19,110 כדי איסוף כאן כ -23 פעמים באופן אישי, לשמוע שמישהו אוהב אותי 722 00:32:19,110 --> 00:32:22,925 פשוט לדבר על מדעי המחשב, בניגוד העוסקים באופן פעיל יותר. 723 00:32:22,925 --> 00:32:25,800 במקרה כזה, תראה את הסילבוס של הקורס סקיצה של הסמסטר כאן, 724 00:32:25,800 --> 00:32:27,840 יחד עם תום הלימודים, יהיה להצטלם, שאליו אתה 725 00:32:27,840 --> 00:32:29,710 בברכה, אך לא צפוי, וכאשר הם יהיו 726 00:32:29,710 --> 00:32:31,640 ישוחרר באתר של הקורס. 727 00:32:31,640 --> 00:32:34,300 >> ומה שנעשה כאן על רביעי החל מהשבוע הבא, 728 00:32:34,300 --> 00:32:37,362 הוא אינטימי הרבה יותר, עם רק אלה אנשים שרוצים להשתתף, 729 00:32:37,362 --> 00:32:39,820 נמצא במרחק מה שנקרא דרך, איפה אני ואת של הראשים כמובן 730 00:32:39,820 --> 00:32:41,730 למעשה יהפוך את הדברים קצת יותר אינטימי 731 00:32:41,730 --> 00:32:44,313 כאן למטה בתזמורת סעיף, עדיין יש כמה טכנולוגיה 732 00:32:44,313 --> 00:32:46,365 ולך דרך סט הבעיה של השבוע הנוכחי, 733 00:32:46,365 --> 00:32:50,020 ומציע לך particularly-- אם בקרב אלה פחות comfortable-- שבעתיים 734 00:32:50,020 --> 00:32:52,790 הדרכה שאולי אתה רוצה או צריך בשביל האתגר של השבוע. 735 00:32:52,790 --> 00:32:55,820 ובאופן דומה, עבור אלה שאינם יכולים להשתתף הללו באדם, לא ביג דיל. 736 00:32:55,820 --> 00:32:58,486 יש ינוהל באופן דומה אחד העובדים הבכירים של הקורס, 737 00:32:58,486 --> 00:33:02,650 Zamalya, באותה ההזדמנות מוטבעת בבעיה קובע עצמם. 738 00:33:02,650 --> 00:33:04,960 >> בעיה מגדירה השנה ישוחרר בימי שישי 739 00:33:04,960 --> 00:33:08,080 וכבר לא נעשה שבעה ימים לאחר מכן, אבל 10 ימים later-- בכוונה 740 00:33:08,080 --> 00:33:10,910 חופפים עם כל בעיה להגדיר, כדי להתאים טוב יותר, 741 00:33:10,910 --> 00:33:13,050 אנו מקווים, גאות ושפל בלוחות זמני סטודנט, 742 00:33:13,050 --> 00:33:16,550 במיוחד כאשר midterms או אתלטיקה או אקדמאים או לחוגים 743 00:33:16,550 --> 00:33:18,465 נוטים לצאת ולבוא במיוחד באמצע הסמסטר. 744 00:33:18,465 --> 00:33:21,340 זה אמור לתת לך קצת יותר שיקול באשר לשאלה האם אתה מול 745 00:33:21,340 --> 00:33:25,690 לטעון את השבוע עם CS50 או המטען זה על השבוע הבא במקום. 746 00:33:25,690 --> 00:33:28,817 אז להסתכל על הסילבוס של הקורס כאן את לוח הזמנים שלה. 747 00:33:28,817 --> 00:33:30,900 ותבחין מדי בין השינויים השנה, 748 00:33:30,900 --> 00:33:34,082 עבור אלה להכיר טוב יותר תכנות בעבר, 749 00:33:34,082 --> 00:33:36,290 נתחיל את הסמסטר כמו נעשה זאת היום Scratch, 750 00:33:36,290 --> 00:33:39,730 להתמקד בעיקר בשפה בשם C, ולאחר מכן מעבר לא 751 00:33:39,730 --> 00:33:43,430 ל- PHP, אלא שפה בשם פייתון לקראת סוף הסמסטר 752 00:33:43,430 --> 00:33:46,565 בהקשר של תכנות אינטרנט, יחד עם SQL ו- JavaScript, 753 00:33:46,565 --> 00:33:48,930 HTML, CSS, ובכל זאת יותר. 754 00:33:48,930 --> 00:33:51,790 >> ובתשובה נפוצה, זה אכן המקרה 755 00:33:51,790 --> 00:33:55,520 CS כי הוא לא מפחיד כמו פעם חשבתי שהמחיר היה, אבל זה כמו הרבה עבודה 756 00:33:55,520 --> 00:33:57,280 כפי ששמעתי זה יכול להיות. 757 00:33:57,280 --> 00:34:03,210 אך זהו יניחו כי הנה כמה נתוני הסטודנטים בסתיו 2015, 758 00:34:03,210 --> 00:34:06,460 לפיה הקווים הכחולים האופקיים לייצג את המספר הממוצע של שעות 759 00:34:06,460 --> 00:34:06,960 דיווח. 760 00:34:06,960 --> 00:34:10,570 ותראה בממוצע שש עד 10 עד 12-- אולי 16 761 00:34:10,570 --> 00:34:14,580 בערך וכן הלאה, אבל עם שונות גבוהה כדי להיות ברור. 762 00:34:14,580 --> 00:34:18,570 וכך מבין שיש לא רק תלמידים יותר נוח ופחות 763 00:34:18,570 --> 00:34:22,150 נוח בקורס, אלא תמיכה מקבילה 764 00:34:22,150 --> 00:34:25,699 מבנה להשיג אותם סטודנטים דרך הסמסטר בהצלחה. 765 00:34:25,699 --> 00:34:29,409 >> ואכן, בתשובה נפוצה, צריך אתה לוקח CS50 כשינה ראשונה? 766 00:34:29,409 --> 00:34:30,139 בהחלט. 767 00:34:30,139 --> 00:34:32,690 ואכן, אני מתחרט שלא מצא את דרכי 768 00:34:32,690 --> 00:34:35,170 או למצוא שדה חדש וכן כי בשנה הראשונה. 769 00:34:35,170 --> 00:34:39,149 וגם כדאי לכם לקחת CS50 עם קורסים אחרים, בוודאי כל well-- 770 00:34:39,149 --> 00:34:41,940 ואת העצות הכלליות נוכל לתת לתלמידים, כי CS50 כנראה 771 00:34:41,940 --> 00:34:44,929 לא מהסוג של הכיתה או בכיתה intro כי אתה צריך לקחת עם שלוש 772 00:34:44,929 --> 00:34:47,199 אחרים או ארבע כיתות p שנקבע אחרות. 773 00:34:47,199 --> 00:34:50,583 אבל אם אתה לוקח שני p-סט שני כיתות, משהו אחר, CS50, 774 00:34:50,583 --> 00:34:51,499 בהחלט לניהול. 775 00:34:51,499 --> 00:34:54,900 היו לי תלמידים רבים בעבר עשו זאת בהצלחה לא מבוטלת. 776 00:34:54,900 --> 00:34:57,490 >> וכדי להשיג אותך לכיוון כי לסיים קו בהצלחה, 777 00:34:57,490 --> 00:35:00,260 האם כמובן יש sections-- מסלולים שונים לסטודנטים 778 00:35:00,260 --> 00:35:03,100 פחות נוח, יותר נוח, ואיפשהו בין, 779 00:35:03,100 --> 00:35:04,850 לפיה במהלך של סט הבעיה הראשונה, 780 00:35:04,850 --> 00:35:06,360 תתבקש לתאר את עצמך. 781 00:35:06,360 --> 00:35:09,151 ואם אתם נמנים עם אלה פחות נוח, זה מסוג הדברים 782 00:35:09,151 --> 00:35:10,420 כי אתה פשוט יודע למדי. 783 00:35:10,420 --> 00:35:13,010 ואכן, זה היה גוברת דמוגרפית CS50 784 00:35:13,010 --> 00:35:14,090 עבור לא מעט שנים. 785 00:35:14,090 --> 00:35:17,680 >> נכון לסתיו האחרון למשל, 58% של הכיתה 786 00:35:17,680 --> 00:35:20,560 הגדירו את עצמם בין אלה פחות נוחים, 787 00:35:20,560 --> 00:35:23,210 עם 9% בקרב יותר נוח, ולאחר מכן 788 00:35:23,210 --> 00:35:25,900 התלמידים האחרים שם אדום המתאר את עצמם 789 00:35:25,900 --> 00:35:27,890 כמו איפשהו באמצע. 790 00:35:27,890 --> 00:35:31,980 ותראה כאן נושאים הכוללים ולוח זמנים של חלקים, כל אחד מהם 791 00:35:31,980 --> 00:35:34,820 מוצעים פנים אל פנים, ב בזמן אמת, עם הקורס 792 00:35:34,820 --> 00:35:38,320 צוות מדהים של עמיתי הוראה ועוזרים כמובן, שחלקם 793 00:35:38,320 --> 00:35:39,660 תפגוש בעוד רגע. 794 00:35:39,660 --> 00:35:42,993 >> סעיפים עצמם, כפי שתראו, יהיו שני להיות והשלישי והרביעי, 795 00:35:42,993 --> 00:35:45,910 כדי לאפשר לך לצלול אחרי מרתק, אם אתה כל כך 796 00:35:45,910 --> 00:35:48,110 לבחור, במהלך של להרצות כמה ימים קודם לכן. 797 00:35:48,110 --> 00:35:51,420 ואז שעות במשרד, אשר בהחלט, עם כל שנה חולפת, 798 00:35:51,420 --> 00:35:54,110 היו לא פחות של לאתגר עבור הקורס. 799 00:35:54,110 --> 00:35:57,040 והשנה, אנחנו מתכננים לא רק לכהן hours-- אחד 800 00:35:57,040 --> 00:36:00,300 על אחת ההזדמנויות לעזרה עבור סטודנטים בימי חמישי רביעי 801 00:36:00,300 --> 00:36:03,790 וראשון שהאחרונה אלה להיות אחר הצהריים על ידי עיצוב 802 00:36:03,790 --> 00:36:06,910 להפחית קצת את הלחץ כי תמיד עולה עם לילה מאוחרת 803 00:36:06,910 --> 00:36:10,180 p-settting עם תאריך יעד looming-- אבל שעות עבודה תוצענה 804 00:36:10,180 --> 00:36:14,920 בימי שני ושלישי ו רביעי, ושישי ושבת, 805 00:36:14,920 --> 00:36:17,080 תודה לחברים שלנו ב- HSA. 806 00:36:17,080 --> 00:36:20,330 >> CS50 עכשיו יש שטח משלה עבור סטודנטים וסגל CS50, 807 00:36:20,330 --> 00:36:23,070 גבי 67 רחוב הר אובורן, ממש שם בכיכר הארוורד. 808 00:36:23,070 --> 00:36:26,340 החזון שלמענו הוא CS50 של TFS ו CAs בכל ימות השבוע, 809 00:36:26,340 --> 00:36:29,052 פחות או יותר לאורך רוב ימים, יהיו שם עבור תמיכה. 810 00:36:29,052 --> 00:36:30,760 אז אם יש לך כמה שאלה על-סט p 811 00:36:30,760 --> 00:36:33,093 או שאתה מרגיש קצת חסום או קצת מבולבל, 812 00:36:33,093 --> 00:36:35,640 ו לעזאזל, יש לך שעה או חצי שעה בין מעמדות, 813 00:36:35,640 --> 00:36:38,920 במיוחד square-- אתה יכול פופ ויש שאלה זו ענתה 814 00:36:38,920 --> 00:36:41,720 יש בלבול כי clarified-- מאוד ברוח, 815 00:36:41,720 --> 00:36:45,490 אתה מכיר, של המתמטיקה מרכז השאלות במתמטיקה עצמו של המחלקה, 816 00:36:45,490 --> 00:36:49,300 אבל פחות או יותר מסביב לשעון לכל [? Gcal?] וכי נפרסם באינטרנט. 817 00:36:49,300 --> 00:36:52,400 >> ללמד שיעורים פרטיים זה זמין גם עבור אלה תלמידים, באופן חופשי מהקורס 818 00:36:52,400 --> 00:36:54,750 הצוות עצמו אם אתה רוצה יותר אינטימי אחד על אחד, 819 00:36:54,750 --> 00:36:58,940 או שניים או שלושה חברים לכיתה רק, עובד עם אחד מחברי הצוות של הקורס. 820 00:36:58,940 --> 00:37:02,320 ואכן, אלה הם רק כאן חלק מחברי הצוות של הקורס, 821 00:37:02,320 --> 00:37:04,120 כמה מהם תמצאו לפגוש בעוד רגע. 822 00:37:04,120 --> 00:37:07,440 למעשה, CS50 עצמו עמית הוראת ראש, 823 00:37:07,440 --> 00:37:09,790 ומהלך ראש עוזר, מורה, 824 00:37:09,790 --> 00:37:12,998 יכול לבוא על, הקפד להשאיר אותם להגיד שלום. 825 00:37:12,998 --> 00:37:22,498 >> [תְשׁוּאוֹת] 826 00:37:22,498 --> 00:37:23,456 דובר 1: [לא ברור]. 827 00:37:23,456 --> 00:37:51,842 828 00:37:51,842 --> 00:37:57,856 >> [תְשׁוּאוֹת] 829 00:37:57,856 --> 00:37:58,814 דובר 2: [לא ברור]. 830 00:37:58,814 --> 00:38:17,240 831 00:38:17,240 --> 00:38:27,238 >> [תְשׁוּאוֹת] 832 00:38:27,238 --> 00:38:28,196 דובר 3: [לא ברור]. 833 00:38:28,196 --> 00:38:58,951 834 00:38:58,951 --> 00:39:03,120 >> [תְשׁוּאוֹת] 835 00:39:03,120 --> 00:39:06,740 >> DAVID מלאן: ולאפשר לנו להביא על לוח שניים CS50 של רוב 836 00:39:06,740 --> 00:39:09,730 סגל בכיר, ורוב Zamayla גם כן. 837 00:39:09,730 --> 00:39:15,120 >> [תְשׁוּאוֹת] 838 00:39:15,120 --> 00:39:17,226 >> ואכן, הן ורוב Zamayla היה איתנו 839 00:39:17,226 --> 00:39:19,940 במשך זמן כה רב, כי הייתי מסוגל להיכנס של ארכיוני CS50 840 00:39:19,940 --> 00:39:22,470 ולמצוא SD מאוד זה מדה מהם השתתפות 841 00:39:22,470 --> 00:39:25,402 על הבמה עצמם לפני כמה שנים. 842 00:39:25,402 --> 00:39:26,110 ROB: [לא ברור]. 843 00:39:26,110 --> 00:39:53,660 844 00:39:53,660 --> 00:39:59,247 >> [תְשׁוּאוֹת] 845 00:39:59,247 --> 00:40:00,080 ZAMAYLA: [לא ברור] 846 00:40:00,080 --> 00:40:50,888 847 00:40:50,888 --> 00:40:52,467 >> [תְשׁוּאוֹת] 848 00:40:52,467 --> 00:40:53,425 DAVID מלאן: תודה. 849 00:40:53,425 --> 00:40:56,160 850 00:40:56,160 --> 00:40:58,030 אז בנוסף אלה צוות חברים כאן, 851 00:40:58,030 --> 00:41:01,662 יש CS50 צוות של כמעט 100 חברי הצוות, שכולם 852 00:41:01,662 --> 00:41:04,370 יהיה זמין עבור חלקים ושעות משרדים והרבה מעבר לכך. 853 00:41:04,370 --> 00:41:06,920 וכמו רוב אומר גם זה השיפוץ המשמעותי ביותר 854 00:41:06,920 --> 00:41:09,534 של CS50 ב -10 השנים כי הייתי [לא ברור]. 855 00:41:09,534 --> 00:41:12,200 [לא ברור] התמקד במיוחד במתן מבנה תמיכה, 856 00:41:12,200 --> 00:41:14,050 זמירה משם הרבה את העיקר זה כבר 857 00:41:14,050 --> 00:41:16,870 שנצבר 10 שנים התפתחויות איטרטיבי של 858 00:41:16,870 --> 00:41:18,120 על סטי הבעיה של הקורס. 859 00:41:18,120 --> 00:41:21,470 >> אז השנה, לא רק בכיתה אבל גם בצורה של הבעיה של הקורס 860 00:41:21,470 --> 00:41:24,800 סטים, אתה צריך למצוא דברים להיות יעיל יותר, גוזם, הרבה 861 00:41:24,800 --> 00:41:26,700 יותר לניהול מאשר בשנים האחרונות, כפי שאנו 862 00:41:26,700 --> 00:41:31,330 לשפוך קצת מהמטען זה שפותח על ידי הטבע של שנה מתפתחת 863 00:41:31,330 --> 00:41:32,970 אחרי שנה ולביקורות. 864 00:41:32,970 --> 00:41:35,110 אז חדש ומשופר מתחיל היום. 865 00:41:35,110 --> 00:41:37,860 >> תפגוש חלק יותר של הצוות החוצה של הקורס [לא ברור] 866 00:41:37,860 --> 00:41:40,186 בשעה 2:30, שם אנו משרתים, כמסורת, עוגה. 867 00:41:40,186 --> 00:41:42,060 יש קצת יותר עוגה מזה, אבל אתה 868 00:41:42,060 --> 00:41:44,690 ארין נפגש וטוביאס ואחרים עדיין. 869 00:41:44,690 --> 00:41:46,470 ותן לי לתת לך סיור לפני שאנו שומעים 870 00:41:46,470 --> 00:41:49,600 מכמה חברי צוות אחרים בכיתה, של מה מחכה גם כן. 871 00:41:49,600 --> 00:41:52,730 למעשה, אנחנו תמיד להתחיל של CS50 סמסטר בשבת הקרובה, 872 00:41:52,730 --> 00:41:54,330 עם מה שנקרא יום פאזל CS50. 873 00:41:54,330 --> 00:41:56,710 >> יש לזה שום קשר עם מדעי המחשב כשלעצמה, 874 00:41:56,710 --> 00:41:58,669 אבל עם על בעיה פתרון כללי יותר. 875 00:41:58,669 --> 00:42:01,210 ואם אתה כל כך לבחור לקחת חלק, לכל חלק מההזמנות, 876 00:42:01,210 --> 00:42:03,460 שאולי ראית דלת ירד או על הבמה כאן, 877 00:42:03,460 --> 00:42:05,830 זו הזדמנות בצוותים של שניים או שלושה או ארבעה, 878 00:42:05,830 --> 00:42:10,680 להשתתף עבור חידות ופיצה ופרסים ו יותר-- בשבת הקרובה, 879 00:42:10,680 --> 00:42:12,560 להישאר מכוון לפרטים. 880 00:42:12,560 --> 00:42:15,082 >> אתה תמצא גם שכל שישי, בשעת אש ושל קרח, 881 00:42:15,082 --> 00:42:16,790 אין CS50 להביא חבורה של סטודנטים כולו 882 00:42:16,790 --> 00:42:19,100 לארוחת צהריים, כדי לבצע גדול בכיתה מרגישה יותר אינטימית, 883 00:42:19,100 --> 00:42:21,820 ובאופן כללי להפגיש בוגרים וחברים מתעשייה 884 00:42:21,820 --> 00:42:24,710 לדבר על מה יש להם היה עד מאז סיים. 885 00:42:24,710 --> 00:42:27,820 בדומה לכך, השנה, תהיה לנו לחנוך את הראשון אי פעם CS50 50 886 00:42:27,820 --> 00:42:31,390 קידוד contest-- סמסטר אמצע הזדמנות לאפשר לכולם 887 00:42:31,390 --> 00:42:35,430 על להצטרף בסיס, יש אתגר של שכל נגד חברים לכיתה, 888 00:42:35,430 --> 00:42:39,250 שוב בצוותים של שניים או שלושה או ארבעה, תוך שימוש בתוכנות של היחיד 889 00:42:39,250 --> 00:42:41,920 מתמצא שאתה אז יש תחת החגורה שלך כעבור שש או שבע 890 00:42:41,920 --> 00:42:44,710 שבועות של הכיתה, והשתתפות בסוג זה של התחרות 891 00:42:44,710 --> 00:42:50,261 online-- אם תרצה לחדד משלך מיומנויות שבעתיים בכך אתגר. 892 00:42:50,261 --> 00:42:52,760 בסוף הסמסטר הוא מה שנקרא CS50 Hackathon-- 893 00:42:52,760 --> 00:42:56,970 הזדמנות שמתחיל בשעה 7:00 PM מסתיים בשעה 7:00 בבוקר, ולאורך כל הדרך 894 00:42:56,970 --> 00:43:01,900 12 שעות הערב שבו לצלול אל project-- הסופי של הקורס 895 00:43:01,900 --> 00:43:04,820 הזדמנות לעצב ליישם ביותר משהו מעניין 896 00:43:04,820 --> 00:43:06,980 לך עם ההוראה שלכם ההדרכה של הבחור. 897 00:43:06,980 --> 00:43:09,600 בסביבות השעה 9:00 לפני הצהריים אנחנו בדרך כלל לשרת פיצה, 1:00 לפנות בוקר, 898 00:43:09,600 --> 00:43:13,210 פיליפ, ואת רק מעטים מאיתנו שעדיין ער בשעה 5:00 בבוקר, 899 00:43:13,210 --> 00:43:16,310 הסעות הנם bussed במורד דרך IHOP לארוחת בוקר. 900 00:43:16,310 --> 00:43:19,340 >> ואז כמה ימים לאחר מכן הוא CS50 שנקרא fare-- 901 00:43:19,340 --> 00:43:23,450 קץ של תערוכת סמסטר ב חגיגה של כמה רחוק כל כך הרבה 902 00:43:23,450 --> 00:43:28,200 תלמידי CS50 באים בשבוע אפס כל הדרך עד שבוע, 903 00:43:28,200 --> 00:43:32,610 ו תוך התחשבות כי 73% מאלו לכיתה ושלך השנה יש 904 00:43:32,610 --> 00:43:34,840 לא לקח בכיתה CS לפני. 905 00:43:34,840 --> 00:43:39,226 למעשה, לשוב ולהדגיש עד כמה, כאן הוא פרצופים עוד כמה מצוות של CS50. 906 00:43:39,226 --> 00:43:40,184 SPEAKER 4: [לא ברור]. 907 00:43:40,184 --> 00:43:45,909 908 00:43:45,909 --> 00:43:46,867 SPEAKER 5: [לא ברור]. 909 00:43:46,867 --> 00:43:51,332 910 00:43:51,332 --> 00:43:52,290 SPEAKER 6: [לא ברור]. 911 00:43:52,290 --> 00:43:55,276 912 00:43:55,276 --> 00:43:56,234 SPEAKER 7: [לא ברור]. 913 00:43:56,234 --> 00:44:01,727 914 00:44:01,727 --> 00:44:02,643 SPEAKER 8: [לא ברור] 915 00:44:02,643 --> 00:44:10,066 916 00:44:10,066 --> 00:44:11,024 SPEAKER 9: [לא ברור]. 917 00:44:11,024 --> 00:44:14,475 918 00:44:14,475 --> 00:44:15,461 >> SPEAKER 4: [לא ברור]. 919 00:44:15,461 --> 00:44:16,461 >> SPEAKER 10: [לא ברור]. 920 00:44:16,461 --> 00:44:21,456 921 00:44:21,456 --> 00:44:23,438 SPEAKER 11: [לא ברור]. 922 00:44:23,438 --> 00:44:24,438 SPEAKER 12: [לא ברור]. 923 00:44:24,438 --> 00:44:30,438 924 00:44:30,438 --> 00:44:31,396 SPEAKER 13: [לא ברור] 925 00:44:31,396 --> 00:44:37,360 926 00:44:37,360 --> 00:44:40,342 >> SPEAKER 14: [לא ברור]. 927 00:44:40,342 --> 00:44:42,863 >> SPEAKER 13: [לא ברור]. 928 00:44:42,863 --> 00:44:43,821 SPEAKER 15: [לא ברור] 929 00:44:43,821 --> 00:44:48,785 930 00:44:48,785 --> 00:44:49,785 SPEAKER 16: [לא ברור]. 931 00:44:49,785 --> 00:44:53,761 932 00:44:53,761 --> 00:44:55,252 >> SPEAKER 11: [לא ברור] 933 00:44:55,252 --> 00:44:57,773 934 00:44:57,773 --> 00:44:58,731 SPEAKER 5: [לא ברור]. 935 00:44:58,731 --> 00:45:11,250 936 00:45:11,250 --> 00:45:15,130 DAVID מלאן: חלק מן הצוות הם עצמם קניות כיתות. 937 00:45:15,130 --> 00:45:17,760 אבל אם אותם חברים סגל CS50 נמצא כאן, 938 00:45:17,760 --> 00:45:19,230 יכול לבוא על עד לרגע. 939 00:45:19,230 --> 00:45:23,450 CS50 של TFS ו CAs ו [? צוות ?] חברי כאן-- אלה הם רק כמה 940 00:45:23,450 --> 00:45:28,880 של faces-- אחד מהם אתה פשוט ראה, וכמה other-- ועוד כמה אנשים 941 00:45:28,880 --> 00:45:30,020 עוֹד. 942 00:45:30,020 --> 00:45:33,242 למה שלא נלך קדימה ולאפשר אתם הפסקה של חמש דקות. 943 00:45:33,242 --> 00:45:35,450 אם אתה צריך להתכופף אל כיתות חנות, זה בסדר. 944 00:45:35,450 --> 00:45:38,900 ותוך חמש דקות, נצטרך לחדש, לקיחת מבט Scratch-- הראשון 945 00:45:38,900 --> 00:45:42,420 של שפת התכנות שלנו, לפגוש הצוות של הקורס כאן עוד קצת, 946 00:45:42,420 --> 00:45:45,020 ולהתמקד בסופו של דבר על בעיה להגדיר אפס. 947 00:45:45,020 --> 00:45:46,710 אז נחזור בעוד חמש דקות. 1 00:45:46,864 --> 00:45:47,370 >> בסדר. 2 00:45:47,370 --> 00:45:48,590 אז חזרנו. 3 00:45:48,590 --> 00:45:51,330 ובכל שלנו הנותרים היום זמן, המטרה 4 00:45:51,330 --> 00:45:54,320 הוא ברמה המגרשת מבחינת מינוח מסוים, 5 00:45:54,320 --> 00:45:55,297 במונחים של כמה רעיונות. 6 00:45:55,297 --> 00:45:57,380 כי אכן, לפי חלק במצעד קודם לכן, 7 00:45:57,380 --> 00:46:00,130 יש הולך להיות מגוון של רמות של ניסיון בכיתה, 8 00:46:00,130 --> 00:46:03,210 יש כמה שתלמידיהם לקח קצת תכנות לפני, 9 00:46:03,210 --> 00:46:04,200 שחלקם לא עשה זאת. 10 00:46:04,200 --> 00:46:07,430 וכך עם בעיה ראשונה זה להגדיר ועם השפה הראשונה זה 11 00:46:07,430 --> 00:46:10,830 יש לנו הזדמנות להתחיל לקחת כמובן מאליו לאחר היום 12 00:46:10,830 --> 00:46:12,960 כמה אוצר המילים רעיון משותף. 13 00:46:12,960 --> 00:46:15,590 >> ואנחנו נעשה את זה בדרך של languages-- הראשון של הקורס 14 00:46:15,590 --> 00:46:21,070 בנוסף C ו- Python ו- JavaScript ו- SQL ו- HTML ו- CSS, 15 00:46:21,070 --> 00:46:24,450 אנו נתמקד תחילה ופשוט לבעיה להגדיר אפס 16 00:46:24,450 --> 00:46:28,160 על שפה גרפית זה, שנקרא Scratch, שפותח על ידי מעבדת המדיה של MIT 17 00:46:28,160 --> 00:46:30,880 בהמשך הדרך, כדי לעזור סטודנטים וילדים במיוחד 18 00:46:30,880 --> 00:46:35,070 להתבטא algorithmically-- בצורה עקבית יותר עם מה 19 00:46:35,070 --> 00:46:37,300 נוכל לקרוא חשיבה חישובית. 20 00:46:37,300 --> 00:46:40,985 >> וזה שפה שימושית כי מהר מאוד בשבוע הבא בשבוע אחד, 21 00:46:40,985 --> 00:46:44,360 אנחנו המעבר יותר שפה מסורתית ונשגבת בשם 22 00:46:44,360 --> 00:46:46,370 C, שהוא גרידא טקסטואלי. 23 00:46:46,370 --> 00:46:48,930 אתה רק להשתמש במקלדת שלך כדי לכתוב הוראות 24 00:46:48,930 --> 00:46:50,230 כמו אלה במסך. 25 00:46:50,230 --> 00:46:52,840 אבל גם אם לא ראיתם שפת תכנות לפני, 26 00:46:52,840 --> 00:46:55,170 ב אפילו מבט זה, כל להיות זה נסתר, 27 00:46:55,170 --> 00:47:00,010 אתה בוודאי יכול לנחש כי כנראה מדפיסה Hello World. 28 00:47:00,010 --> 00:47:02,050 אבל יש הרבה תקורה התחבירית שם. 29 00:47:02,050 --> 00:47:05,770 ישנו חשיש המוזר סמל או חשיש תג למעלה. 30 00:47:05,770 --> 00:47:08,900 יש סוגר הזווית, כמה בסוגריים, סוגריים מסולסלים, חצי colon-- 31 00:47:08,900 --> 00:47:11,880 יש פשוט כל כך הרבה חזותי תחביר שמקבל בדרך. 32 00:47:11,880 --> 00:47:13,940 אנחנו מתחילים את הקורס Scratch כדי לקבל 33 00:47:13,940 --> 00:47:17,600 בעבר כל אלה אינטלקטואליים הסחות דעת לא מעניין, 34 00:47:17,600 --> 00:47:20,290 ולהתמקד במקום על הרעיונות. 35 00:47:20,290 --> 00:47:22,540 >> למעשה, זה יכול להיות לפני. 36 00:47:22,540 --> 00:47:24,830 זה, לכך, בשבוע יהיה אחרי. 37 00:47:24,830 --> 00:47:26,760 זה, ב גרפי זה Scratch השפה, 38 00:47:26,760 --> 00:47:29,870 איך אתה תגשים אותה program-- תוכנית שכאשר לרוץ, 39 00:47:29,870 --> 00:47:31,340 פשוט אומר שלום העולם. 40 00:47:31,340 --> 00:47:34,740 ומה שיפה Scratch הוא שזה תכנות גרפי זה 41 00:47:34,740 --> 00:47:38,780 סביבה המשתמשת חתיכות הפאזל או בלוקים, כי משתלבים יחד רק 42 00:47:38,780 --> 00:47:40,440 אם זה הגיוני הגיוני לעשות זאת. 43 00:47:40,440 --> 00:47:43,810 ועם שריטות אתה יכול לפתח אנימציות ומשחקים אינטראקטיביים 44 00:47:43,810 --> 00:47:47,270 ואמנות, וכל מספר דברים אתה יכול לדמיין בראש שלך, 45 00:47:47,270 --> 00:47:51,200 וליישם אותם פשוט על ידי גרירה ושחרור חתיכות הפאזל. 46 00:47:51,200 --> 00:47:54,265 >> ואכן, תהיה לנו את היכולת להביע חלק מאותם הרעיונות 47 00:47:54,265 --> 00:47:56,890 כי רק הזכרתי רגע לפני בהקשר של מייק סמית 48 00:47:56,890 --> 00:48:00,670 וחיפוש הדברים book-- טלפון כמו פונקציות, רק פעולות, 49 00:48:00,670 --> 00:48:03,070 דברים כמו לולאות שעושות דברים שוב ושוב, 50 00:48:03,070 --> 00:48:05,170 משתנה, שהוא משהו שאנחנו נכיר, 51 00:48:05,170 --> 00:48:08,086 אבל זה מוכר אולי מן algebra-- סתם איזה מציין מיקום 52 00:48:08,086 --> 00:48:10,840 לאחסן כמה בשווי עשוי לך צריך ביטויים בוליאני later--, 53 00:48:10,840 --> 00:48:13,720 איפה אלה כן לא או נכון שאלות שווא מלפני. 54 00:48:13,720 --> 00:48:17,117 התנאים הם אלה מזלגות ב road-- אלה סניפים כביכול. 55 00:48:17,117 --> 00:48:19,700 ואז יש איזה חובב תכונות שאנחנו נראה גם היום, 56 00:48:19,700 --> 00:48:22,850 מערכים וחוטים התקשרו אירועים, כי לאחר מכן ניצור שוב מעל 57 00:48:22,850 --> 00:48:24,460 זמן בשפות שונות. 58 00:48:24,460 --> 00:48:26,790 אבל Scratch מאפשרת לנו כדי לחקור את כל אלה. 59 00:48:26,790 --> 00:48:30,779 אז כאן Scratch, סגול זה החסימה כזו היא מה פונקציה היא בדרך כלל 60 00:48:30,779 --> 00:48:31,570 הולך להיראות. 61 00:48:31,570 --> 00:48:35,620 פיסת הפאזל סגולה זה כי יש כמה מילה כמו למשל, המהווה את הפעולה, 62 00:48:35,620 --> 00:48:38,490 ואז זה עלול להיות בעל טיעון או parameter-- בדרך כלשהי 63 00:48:38,490 --> 00:48:41,140 מסוג של התאמה אישית מה לחסום שעושה 64 00:48:41,140 --> 00:48:45,182 כך שזה לא נקבע מראש על ידי MIT מה הבלוק הסגול הזה אומר. 65 00:48:45,182 --> 00:48:47,390 למעשה, תראה בתוך רגע שאני מסוגל להקליד 66 00:48:47,390 --> 00:48:49,931 המילים כמו שלום עולם, או שלום דוד, או שלום Zamayla, 67 00:48:49,931 --> 00:48:53,750 או מה שאני רוצה, בטיעון לזה חידה piece-- התיבה הלבנה 68 00:48:53,750 --> 00:48:54,251 שם. 69 00:48:54,251 --> 00:48:57,166 בינתיים, אם אני רוצה לולאה, יהיו לנו לראות שיש חתיכות הפאזל 70 00:48:57,166 --> 00:48:58,640 נראה קצת כתום כזה. 71 00:48:58,640 --> 00:49:01,690 וצורתם סוג של מצביעה על כך משהו קורה שוב ושוב 72 00:49:01,690 --> 00:49:02,680 במחזור. 73 00:49:02,680 --> 00:49:06,800 >> אז אם אני עוטף גוש שלום עולם לומר עם לחסום Scratch לנצח, 74 00:49:06,800 --> 00:49:10,307 זה פשוט הולך להמשיך להגיד שלום העולם לנצח, פשוטו כמשמעו. 75 00:49:10,307 --> 00:49:12,390 בינתיים, יש עוד סוג של לולאה ב Scratch 76 00:49:12,390 --> 00:49:14,348 שאנחנו שתראה-- שידור חוזר block-- שבו, אם 77 00:49:14,348 --> 00:49:17,940 לדעת מראש כמה פעמים אתה רוצה את הלולאה לבצע 78 00:49:17,940 --> 00:49:21,850 מספר סופי של פעמים fact-- לך ניתן לציין כי על ידי הקלדת מספר 79 00:49:21,850 --> 00:49:25,380 או אפילו חיבור משתנה, כמו x או y כפי שנראה. 80 00:49:25,380 --> 00:49:27,690 >> למעשה, משתנה כמו אני במקרה זה, אשר 81 00:49:27,690 --> 00:49:30,109 הוא שם נפוץ עבור משתנה שלם כי 82 00:49:30,109 --> 00:49:31,900 רק מאחסן number-- שלם יכול להיות, 83 00:49:31,900 --> 00:49:35,470 להשתמש בבלוק כתום זה כאן להגדיר משתנים כמו שאני לאפס. 84 00:49:35,470 --> 00:49:38,900 הנה דוגמה בירוק של ביטוי בוליאני Scratch. 85 00:49:38,900 --> 00:49:43,700 למרות זאת נראה כמו מתמטיקה נוסחא, אי-שוויון במתמטיקה ככה 86 00:49:43,700 --> 00:49:45,320 באמת הם ביטויים בוליאני. 87 00:49:45,320 --> 00:49:46,570 זהו או אמת או שקר. 88 00:49:46,570 --> 00:49:48,300 אני הוא פחות מ -50. 89 00:49:48,300 --> 00:49:51,815 זה או כן או לא תשובה או תשובה אמת או שקר. 90 00:49:51,815 --> 00:49:53,940 ואנחנו בדרך כלל נתקשר אלה ביטויים בוליאני. 91 00:49:53,940 --> 00:49:55,148 וזה לא צריך להיות 50. 92 00:49:55,148 --> 00:49:57,970 זה יכול להיות x פחות מ y, גדול מ y, שווה y-- 93 00:49:57,970 --> 00:50:00,020 כל מספר של אחרים ייתכן שתתבקש שאלות. 94 00:50:00,020 --> 00:50:03,250 >> עכשיו, במבט ראשון, זה עשוי להיראות פתאום די מודגש כאן, וזה. 95 00:50:03,250 --> 00:50:06,540 אבל רעיון חכם, זה די מוכר מלפני. 96 00:50:06,540 --> 00:50:09,370 אם x קטן מ y, מאשר לומר באותה מידה. 97 00:50:09,370 --> 00:50:12,230 אחר אם x גדול מ y, אז לומר את זה. 98 00:50:12,230 --> 00:50:14,260 אחר אומר x שווה y. 99 00:50:14,260 --> 00:50:17,220 אז יש לנו כאן דוגמה שם של scenario-- שלישי 100 00:50:17,220 --> 00:50:20,600 ה- x possibility-- השלישי רק הוא או גדול יותר, נחות יותר, או שווה ל. 101 00:50:20,600 --> 00:50:22,420 אז יש לנו מזלג שלושה אופן הכביש. 102 00:50:22,420 --> 00:50:26,290 >> ושימו לב מה Scratch כאן-- מגניב, זה היה נראה, יש רק חידה אחת 103 00:50:26,290 --> 00:50:28,840 חתיכה, במקרה זה, ב אם בלוק אחר. 104 00:50:28,840 --> 00:50:32,090 ובכל זאת, זה היה נראה לרמוז שתוכל יש מזלג דרך שתי רק על הכביש. 105 00:50:32,090 --> 00:50:34,631 אתה יכול ללכת שמאלה או ימינה, אבל ומה עם זה תרחיש שלישי? 106 00:50:34,631 --> 00:50:35,760 מה אם x שווה y? 107 00:50:35,760 --> 00:50:36,500 לא עניין גדול. 108 00:50:36,500 --> 00:50:39,640 קח פיסת הפאזל אחד, לשים אחר בתוך אחד זה 109 00:50:39,640 --> 00:50:45,759 כדי ליצור את המקבילה הסמנטית אם של, אחר אם, else-- ועכשיו אתה 110 00:50:45,759 --> 00:50:47,300 יש מזלג השלוש דרך על הכביש. 111 00:50:47,300 --> 00:50:49,091 וכמו שאנחנו נראה, חתיכות הפאזל Scratch 112 00:50:49,091 --> 00:50:51,820 ניתן למתוח ולגדול, כך כמו לדחוס פנימה עוד ועוד דברים אותם. 113 00:50:51,820 --> 00:50:54,420 אתה לא צריך להתאים הכל בגודל ברירת המחדל שלה. 114 00:50:54,420 --> 00:50:56,690 >> זה משהו יהיה לנו לראות בקרוב נקרא מערך. 115 00:50:56,690 --> 00:51:00,880 זה כמו list-- דרך כלשהי לאחסון פיסות מידע מרובים 116 00:51:00,880 --> 00:51:02,886 במשתנה, ולא רק מספר. 117 00:51:02,886 --> 00:51:05,760 אלה נצטרך לראות נציג של משהו שנקרא multi-threading. 118 00:51:05,760 --> 00:51:08,280 למעשה, כל שלך מחשבי מקינטוש ומחשבים בימים אלה 119 00:51:08,280 --> 00:51:10,810 לתמוך multi-threading, מה שאומר שאתה יכול פשוטו כמשמעו 120 00:51:10,810 --> 00:51:12,390 לעשות מספר דברים בו זמנית. 121 00:51:12,390 --> 00:51:15,390 אתה יכול לקבל Microsoft Word למעלה בקדמת הבמה, עובד על מסה כמה. 122 00:51:15,390 --> 00:51:17,160 ייתכן שיש לך דפדפן בפתיחת הרקע 123 00:51:17,160 --> 00:51:18,720 G-mail או פייסבוק או משהו דומה. 124 00:51:18,720 --> 00:51:22,730 המחשב יכול לעשות מספר דברים היום כי היא ריבוי הליכים, 125 00:51:22,730 --> 00:51:26,390 ותוכניות הם נמצאים ב במיוחד הם גם ריבוי הליכים. 126 00:51:26,390 --> 00:51:28,970 >> יש דברים בשם אירועים גם בעולם של גרד, 127 00:51:28,970 --> 00:51:32,640 ואז יש הרבה יותר מדי, כדי להפוך את חתיכות הפאזל אישית שלנו אם הדברים 128 00:51:32,640 --> 00:51:34,810 לא באמת קיים מראש. 129 00:51:34,810 --> 00:51:38,260 אז בואו להניע זו כדלקמן. 130 00:51:38,260 --> 00:51:40,580 לפני כמה שנים, כשהייתי גילה לראשונה Scratch, 131 00:51:40,580 --> 00:51:43,530 כשהייתי למעשה סטודנט לתואר ב- MIT, אנחנו 132 00:51:43,530 --> 00:51:45,640 עצמנו הופקדו לעשות שיעורי בית. 133 00:51:45,640 --> 00:51:47,614 ואני implemented-- אשר, בדיעבד, 134 00:51:47,614 --> 00:51:50,780 הייתה החלטה גרועה מאוד כי זה השיר המקומם ביותר בעולם 135 00:51:50,780 --> 00:51:53,321 להקשיב במשך שמונה שעות תוך כדי עבודה על homework-- שלך 136 00:51:53,321 --> 00:51:57,180 אבל משהו שנקרא לי זמן אוסקר, שהוא אולי שיר מוכר. 137 00:51:57,180 --> 00:51:59,820 >> CS50s בעלי ירדן הייאשי, אחד שלנו בכירים יותר אנשי צוות, 138 00:51:59,820 --> 00:52:03,920 שידרגה זה לשנת 2015 ו עכשיו 2016, מאז חזרה היום, 139 00:52:03,920 --> 00:52:06,610 היה לי הכל רק הולך אל פח האשפה של אוסקר. 140 00:52:06,610 --> 00:52:09,320 עכשיו אנחנו תומכים מיחזור קומפוסט. 141 00:52:09,320 --> 00:52:12,050 >> אבל כדי לצייר את התמונה מה אנחנו יכולים לעשות כאן 142 00:52:12,050 --> 00:52:14,130 וכדי להניע חלק הדוגמאות ברמה נמוכה יותר, 143 00:52:14,130 --> 00:52:16,400 נוכל לקבל אחד אחר מתנדב רק לבוא על למעלה 144 00:52:16,400 --> 00:52:18,331 ולשחק שלי ראשון שיעורי בית אי פעם? 145 00:52:18,331 --> 00:52:18,830 בוא תעלה. 146 00:52:18,830 --> 00:52:19,250 מה שמך? 147 00:52:19,250 --> 00:52:20,030 >> הנרי: הנרי. 148 00:52:20,030 --> 00:52:22,660 >> DAVID מלאן: הנרי, יעלה לכאן. 149 00:52:22,660 --> 00:52:24,190 בוא תעלה. 150 00:52:24,190 --> 00:52:27,070 ראש בכל מקרה, ו תראה בעוד רגע, 151 00:52:27,070 --> 00:52:29,870 אני הולך קדימה ופגעתי דגל ירוק הימנית העליונה 152 00:52:29,870 --> 00:52:31,100 בפינה, כלומר ללכת. 153 00:52:31,100 --> 00:52:33,320 סמל תמרור עצור מעט הוא הולך לומר להפסיק, 154 00:52:33,320 --> 00:52:35,490 וזה היה הרגע שבו אתה מתחיל ולעצור את התוכנית. 155 00:52:35,490 --> 00:52:36,450 נעים להכיר אותך. 156 00:52:36,450 --> 00:52:36,950 בסדר. 157 00:52:36,950 --> 00:52:39,100 אז אנחנו הולכים לראות את ההוראות על המסך בעוד רגע. 158 00:52:39,100 --> 00:52:41,450 ובדיוק ידי לשחק במשחק הזה במשך כמה seconds-- תאמין לי, 159 00:52:41,450 --> 00:52:43,670 אנחנו לא הולכים רוצים לשחק כל הדרך אל end-- תרצה 160 00:52:43,670 --> 00:52:45,470 לקבל תחושה של מה שהתוכנית עושה. 161 00:52:45,470 --> 00:52:49,170 וזה יותר מסתם להתמקד הנרי להיות טוב או רע במשחק הזה, המיקוד 162 00:52:49,170 --> 00:52:52,600 וכיצד היה זה מיושם על ידי לי במקור ולאחר מכן על ידי ירדן. 163 00:52:52,600 --> 00:52:54,640 במילים אחרות, שם הם המשתנים? 164 00:52:54,640 --> 00:52:55,520 איפה הן הלולאות? 165 00:52:55,520 --> 00:52:56,520 איפה הן הפונקציות? 166 00:52:56,520 --> 00:53:00,700 ונראה אם ​​אנחנו לא רואים אלה מתחת למכסה המנוע. 167 00:53:00,700 --> 00:53:03,660 >> פשוט לחץ וגרור אשפה לסל המתאים. 168 00:53:03,660 --> 00:54:02,100 >> [מוסיקה מתנגנת] 169 00:54:02,100 --> 00:54:02,600 בסדר. 170 00:54:02,600 --> 00:54:03,160 זה טוב מאוד. 171 00:54:03,160 --> 00:54:04,286 למה לא נעצור את זה שם. 172 00:54:04,286 --> 00:54:04,786 תודה רבה לך. 173 00:54:04,786 --> 00:54:05,830 ברכות הנרי. 174 00:54:05,830 --> 00:54:07,002 תודה רבה לך. 175 00:54:07,002 --> 00:54:10,690 >> [תְשׁוּאוֹת] 176 00:54:10,690 --> 00:54:12,450 >> תארו לעצמכם באגים בתוכנית. 177 00:54:12,450 --> 00:54:15,880 אם יש בעיה שנייה בדקה ה song-- אבל כך 178 00:54:15,880 --> 00:54:17,430 מה קורה פה באמת? 179 00:54:17,430 --> 00:54:20,900 מסובך כמו שזה אולי מתחילים נוטים לקבל לאורך זמן, 180 00:54:20,900 --> 00:54:22,910 אכן יותר ויותר דברים החלו ליפול, 181 00:54:22,910 --> 00:54:25,370 מה שמעניין אצל סוג זה של, לדוגמה, בין 182 00:54:25,370 --> 00:54:27,270 ונראה כמה נוספות-- היא שאם אתה 183 00:54:27,270 --> 00:54:30,416 להסתכל על העבר המורכב או התחכום של המשחק, 184 00:54:30,416 --> 00:54:33,040 יש בניין מאוד פשוט בלוקים כי ולנגן-- שכולן, 185 00:54:33,040 --> 00:54:35,840 אם אתה לזקק אותם לאלה אבני הבניין, נגישים מאוד 186 00:54:35,840 --> 00:54:37,401 ו ישימה בפני עצמה. 187 00:54:37,401 --> 00:54:39,150 למשל, זה כבר כמה זמן, אבל אני 188 00:54:39,150 --> 00:54:42,900 די בטוח מה בתחילה עשיתי כאשר מה שהופך את המשחק הזה בפעם הראשונה 189 00:54:42,900 --> 00:54:44,787 היה לי לגמרי כמו התמהמה. 190 00:54:44,787 --> 00:54:47,120 לא התמקדתי בכלל על היגיון או את חלקי הפאזל, 191 00:54:47,120 --> 00:54:50,810 התמקדתי גרפיקת הממצא בהודעת הרחוב ואת פח האשפה 192 00:54:50,810 --> 00:54:51,540 וכל זה. 193 00:54:51,540 --> 00:54:53,456 אבל אלה היו נדרשים המרכיבים בהתחלה. 194 00:54:53,456 --> 00:54:57,220 וברגע שסיימתי להתמהמה הנחתי את מסגרת-, 195 00:54:57,220 --> 00:55:00,337 החלטתי, תן ​​לי רק לעשות אחד חתיכת נפילה לפח מהשמים. 196 00:55:00,337 --> 00:55:02,170 ואנחנו נראה Scratch תומך דברים בשם 197 00:55:02,170 --> 00:55:06,386 תווי sprites-- שיכולים יש תלבושות שונות על כך שהם 198 00:55:06,386 --> 00:55:07,010 נראה שונה. 199 00:55:07,010 --> 00:55:09,660 >> וכך שמתי אשפה תחפושת על ספרייט אחד כזה. 200 00:55:09,660 --> 00:55:12,007 ואני רק צריך את זה ליפול מהשמים. 201 00:55:12,007 --> 00:55:14,590 וכך מתברר, גרד, כמו בשפות תכנות ביותר, 202 00:55:14,590 --> 00:55:18,099 תומך מספרים אקראיים או מספרים אקראיים פסאודו קוד טכני, 203 00:55:18,099 --> 00:55:20,390 כך על ידי גרירה הפל חתיכות הפאזל מסוימות, 204 00:55:20,390 --> 00:55:22,890 הייתי מסוגל לקבל את האשפה לבוא משמאל בהתחלה. 205 00:55:22,890 --> 00:55:25,580 ואז בפעם הבאה הוא ירד, מ ימינה ואחר כך מהאמצע. 206 00:55:25,580 --> 00:55:28,060 וכל המשחק לא היה פשוט יש אשפה נופלים מהשמים. 207 00:55:28,060 --> 00:55:29,770 אתה לא יכול להצביע על זה או לחץ על זה. 208 00:55:29,770 --> 00:55:31,103 אתה לא יכול לפתוח את פח האשפה. 209 00:55:31,103 --> 00:55:32,160 אתה לא יכול לעשות שום דבר. 210 00:55:32,160 --> 00:55:34,450 אבל זה היה צעד תינוק לקראת החזון האולטימטיבי שלי. 211 00:55:34,450 --> 00:55:36,720 >> ואחרי זה, אני ממש מיושם איזשהו 212 00:55:36,720 --> 00:55:41,230 של חישה כך שאם עשית לחץ וגרור על חתיכת זבל 213 00:55:41,230 --> 00:55:44,350 על פח האשפה, אוסקר של המכסה היה לפתוח ולסגור. 214 00:55:44,350 --> 00:55:47,650 שום דבר לא יקרה לפח, אבל לפחות את המכסה היה לפתוח ולסגור. 215 00:55:47,650 --> 00:55:49,642 אז לבדוק, השלב השני של שני. 216 00:55:49,642 --> 00:55:52,100 וזה מה הולך להיות מפתח בשתי הבעיה להגדיר אפס 217 00:55:52,100 --> 00:55:55,970 ו בתכנות באופן כללי יותר, הוא לנקוט בצעדי תינוק מכוונים מאוד אלה. 218 00:55:55,970 --> 00:55:59,390 כי לא רק הוא לאפשר לך מרגיש בכנות להשיג הרבה יותר 219 00:55:59,390 --> 00:56:01,250 quickly-- שזה הדבר הכי גרוע בעולם 220 00:56:01,250 --> 00:56:06,149 מנסה ליישם את כל זמן אוסקר, אז שעות מאוחר יותר פגעו הדגל הירוק, 221 00:56:06,149 --> 00:56:08,440 ושום דבר לא עובד כצפוי כי איפה אתה בכלל 222 00:56:08,440 --> 00:56:11,150 מתחילים באגים או לפתור תוכנית? 223 00:56:11,150 --> 00:56:12,470 זה פשוט מדהים. 224 00:56:12,470 --> 00:56:16,792 >> וכך באמת חובק את הרעיון הזה של נקיטת צעדי תינוק steps-- שוב 225 00:56:16,792 --> 00:56:19,000 ו again-- בנייה משהו שהוא, בסופו של דבר, 226 00:56:19,000 --> 00:56:23,672 באמת מרשים ומורכב, אבל בהתחלה, הוא לא כמעט באותה מידה כל כך. 227 00:56:23,672 --> 00:56:24,630 למעשה, בוא נעשה את זה. 228 00:56:24,630 --> 00:56:28,989 תן לי ללכת קדימה ו-- גרד עצמו קיים באינטרנט בכתובת Scratch.MIT.edu, 229 00:56:28,989 --> 00:56:30,780 ואתה תהיה אמר כפי הרבה שוב בעיה 230 00:56:30,780 --> 00:56:34,200 להגדיר אפס, המפרט עבור וזה כבר באתר של CS50. 231 00:56:34,200 --> 00:56:35,725 >> אבל זה מה הגרד עצמו הוא. 232 00:56:35,725 --> 00:56:38,210 ויש באמת רק בשלושה תחומים עיקריים. 233 00:56:38,210 --> 00:56:40,980 בחלק העליון השאיר שם הוא השלב שנקרא. 234 00:56:40,980 --> 00:56:41,810 זהו גרד. 235 00:56:41,810 --> 00:56:43,710 תלבושת ברירת המחדל היא חתול. 236 00:56:43,710 --> 00:56:46,950 וזה העולם מלבני שבו אתה יכול move-- למעלה, למטה, שמאלה, 237 00:56:46,950 --> 00:56:48,130 שצריך לעשות ויש דברים אחרים. 238 00:56:48,130 --> 00:56:51,839 באמצע הנה הקטגוריות שלנו או משטחים של הפאזל חתיכות שלנו, 239 00:56:51,839 --> 00:56:53,630 וצבעים שונים אומר דברים שונים. 240 00:56:53,630 --> 00:56:56,520 ואם אתה לחטט, תראה דברים כמו לולאות ותנאים 241 00:56:56,520 --> 00:56:58,160 ומשתנה ומרכיבים אחרים. 242 00:56:58,160 --> 00:57:00,060 >> ואז כאן הוא האזור סקריפטים. 243 00:57:00,060 --> 00:57:03,020 זה מקום שבו אני יכול לגרור ולשחרר אלה חתיכות הפאזל לעשות דברים. 244 00:57:03,020 --> 00:57:04,690 אז בוא נעשה דבר אחד כזה. 245 00:57:04,690 --> 00:57:06,630 תן לי ללכת קדימה ו-- ואני יודע איפה זה. 246 00:57:06,630 --> 00:57:10,110 אז אני הולך מיד ללחוץ על איפה אני יודע דברים מוכנים להיות, 247 00:57:10,110 --> 00:57:13,140 אבל הצבעה ולחיצה ו לחטט הן בלתי נמנעות. 248 00:57:13,140 --> 00:57:15,320 לכן, כאשר הדגל ירוק לוחץ, מה אני רוצה לעשות? 249 00:57:15,320 --> 00:57:17,100 אני הולך לעשות את זה. 250 00:57:17,100 --> 00:57:20,699 אני הולך לגרור פאזל סגול זה חתיכה, להגיד שלום למשך שתי שניות, 251 00:57:20,699 --> 00:57:21,490 ותן לי להתקרב. 252 00:57:21,490 --> 00:57:23,865 >> ואני הולך לשנות את זה להיות מה שאני רוצה שזה להיות-- 253 00:57:23,865 --> 00:57:26,471 hello world למשך שתי שניות הוא בסדר. 254 00:57:26,471 --> 00:57:28,970 עכשיו, אני הולך ללחוץ על דגל ירוק, או אם אני באמת רוצה, 255 00:57:28,970 --> 00:57:31,820 אני יכול מלא להקרין אותו ולאחר מכן לחזור. 256 00:57:31,820 --> 00:57:34,060 זה פשוט לא מפסיק הכל בחלון אחד. 257 00:57:34,060 --> 00:57:36,141 שלום עולם flag-- ירוק. 258 00:57:36,141 --> 00:57:36,640 בסדר. 259 00:57:36,640 --> 00:57:38,789 לא כל כך מעניין. 260 00:57:38,789 --> 00:57:40,080 אז תנו לי להמשיך לעשות את זה. 261 00:57:40,080 --> 00:57:41,038 תן לי לנסות עוד אחד. 262 00:57:41,038 --> 00:57:44,740 כאשר דגל ירוק clicked-- בוא לעשות משהו כמו קול. 263 00:57:44,740 --> 00:57:46,880 ושימו לב שמתוך בתיבה בחינם אתה מקבל 264 00:57:46,880 --> 00:57:49,910 צליל חתול, כמו ספרייט מחדל. 265 00:57:49,910 --> 00:57:52,380 אז עכשיו תן לי ללכת קדימה להכות עכשיו את הדגל הירוק. 266 00:57:52,380 --> 00:57:53,224 >> [מיילל] 267 00:57:53,224 --> 00:57:54,490 >> אה. 268 00:57:54,490 --> 00:57:55,370 זה מקסים. 269 00:57:55,370 --> 00:57:57,040 אני תכנות. 270 00:57:57,040 --> 00:57:58,550 אז מה עשיתי? 271 00:57:58,550 --> 00:58:00,430 זו המקבילה של תוכנית. 272 00:58:00,430 --> 00:58:01,600 זהו כמובן סופר פשוט. 273 00:58:01,600 --> 00:58:05,300 זה באמת לא לקח כל כך הרבה מאמץ MIT עשו את רוב העבודה, 274 00:58:05,300 --> 00:58:07,890 אבל יש לי קרא לפונקציה. 275 00:58:07,890 --> 00:58:08,940 השתמשתי פונקציה. 276 00:58:08,940 --> 00:58:12,480 ביצעתי פעולה כלשהי, רק באמצעות כי פיסת הפאזל אדומה אחד. 277 00:58:12,480 --> 00:58:15,960 >> ובכן, אם אני רוצה לעשות שלושה מיילל ברציפות? 278 00:58:15,960 --> 00:58:18,570 תן לי ללכת ולעשות שניים או שלושה. 279 00:58:18,570 --> 00:58:20,910 ושימו לב שכאשר אתה לרחף הסמוכים חתיכת פאזל, 280 00:58:20,910 --> 00:58:22,970 קו לבן קטן מופיע מעין מגנטית, 281 00:58:22,970 --> 00:58:25,190 וזה יהיה לצלם יחד כאשר אתם משחררים. 282 00:58:25,190 --> 00:58:26,600 בואו לראות מה קורה כאן. 283 00:58:26,600 --> 00:58:27,920 >> [מיילל] 284 00:58:27,920 --> 00:58:32,390 285 00:58:32,390 --> 00:58:34,510 >> יש באג. 286 00:58:34,510 --> 00:58:35,650 אני רק שומע מיאו אחד. 287 00:58:35,650 --> 00:58:37,440 למה זה יכול להיות? 288 00:58:37,440 --> 00:58:39,001 כֵּן? 289 00:58:39,001 --> 00:58:39,500 כֵּן. 290 00:58:39,500 --> 00:58:41,650 אנחנו לא באמת לשמוע את זה, אבל זה אינטואיציה טובה. 291 00:58:41,650 --> 00:58:43,400 כולם מנגנים בו זמנית. 292 00:58:43,400 --> 00:58:44,000 למה? 293 00:58:44,000 --> 00:58:46,587 ובכן, המחשב הוא רק הולך לעשות מה אתה אומר את זה לעשות. 294 00:58:46,587 --> 00:58:48,670 אז אם אתה אומר, קול משחק, לנגן צליל, לנגן צליל, 295 00:58:48,670 --> 00:58:52,887 אבל אתה לא אומר את זה כדי לשחק עד וסיימת, לשחק עד שתסיים, 296 00:58:52,887 --> 00:58:54,970 זה הולך לפוצץ דרך התוכנית ממש מהר 297 00:58:54,970 --> 00:58:56,830 ואל מה אתה אומר את זה כדי לעשות רק. 298 00:58:56,830 --> 00:58:59,040 >> אז אני באמת צריך לתקן זאת בכמה דרכים. 299 00:58:59,040 --> 00:59:00,623 יכולתי פשוט לעשות את זה, להיפטר של זה. 300 00:59:00,623 --> 00:59:04,180 תנו לי לנסות את זה פאזל אחר piece-- לשחק מיאו קול עד נעשה, 301 00:59:04,180 --> 00:59:07,072 ולאחר מכן גרור שלושה אלה ולחצו Play. 302 00:59:07,072 --> 00:59:09,430 >> [מיילל] 303 00:59:09,430 --> 00:59:13,350 >> זה לא באמת מאוד-- תודה מאוד טבעי שאתם--. 304 00:59:13,350 --> 00:59:16,590 אז למה לא לתת אני- לי ללכת לשלוט כאן. 305 00:59:16,590 --> 00:59:17,090 נֶחְמָד. 306 00:59:17,090 --> 00:59:22,230 חכה שנייה אחת, ועכשיו תן לי לחזור לצלילים, והן שמיעה ממלאת עד נעשה, 307 00:59:22,230 --> 00:59:24,620 ואז תן לי לקבל לחכות שנייה אחת. 308 00:59:24,620 --> 00:59:28,692 ואז הם נתנו לי ללכת ולקבל אחד יותר קול, כאילו שכאן זה מתחיל. 309 00:59:28,692 --> 00:59:31,350 >> [מיילל] 310 00:59:31,350 --> 00:59:35,930 >> קצת יותר טבעי, אבל זה לא מאוד יעיל. 311 00:59:35,930 --> 00:59:39,830 כמו שאני משתעמם, כל להיות זה בקצרה, לחיצה הלוך ושוב 312 00:59:39,830 --> 00:59:42,724 ובאמת לשכפל work-- שלי העתקה והדבקה פחות או יותר. 313 00:59:42,724 --> 00:59:44,640 ואכן, אם אני שולט לוחץ או ממש לוחץ, 314 00:59:44,640 --> 00:59:46,500 יכולתי רק להעתיק ולהדביק. 315 00:59:46,500 --> 00:59:49,870 מה יהיה לבנות עדיף להשתמש? 316 00:59:49,870 --> 00:59:51,090 מה הרעיון מלפני? 317 00:59:51,090 --> 00:59:51,990 >> כן, כך לולאה. 318 00:59:51,990 --> 00:59:54,580 ואכן, אם אנחנו בדקנו פה ושם, אנו עלולים למצוא בדיוק את זה. 319 00:59:54,580 --> 00:59:57,730 תן לי ללכת אירועים או ליתר דיוק הבקרה. 320 00:59:57,730 --> 00:59:59,650 אז repeat-- אני לא רוצה שזה יהיה 10 פעמים. 321 00:59:59,650 --> 01:00:01,370 זה הולך לקבל מעצבן מהר. 322 01:00:01,370 --> 01:00:03,380 אבל אני אחזור על שלוש פעמים. 323 01:00:03,380 --> 01:00:06,355 תן לי לחזור להישמע להשמיע את הצליל עד שזה נעשה. 324 01:00:06,355 --> 01:00:08,480 תן לי לחזור בקרה ופשוט לחכות שנייה אחת. 325 01:00:08,480 --> 01:00:10,271 ושימו לב, אתה עלול חושב שזה לא מתאים, 326 01:00:10,271 --> 01:00:13,520 אבל שוב אם מגנטית תתנה לזה צמד במקום, הוא יצמח למלא. 327 01:00:13,520 --> 01:00:14,971 מה זה לשחק עכשיו? 328 01:00:14,971 --> 01:00:18,500 >> [מיילל] 329 01:00:18,500 --> 01:00:19,000 בסדר. 330 01:00:19,000 --> 01:00:19,660 נֶחְמָד. 331 01:00:19,660 --> 01:00:22,540 וזה מה ייקרא תוכנית זה גם נכון. 332 01:00:22,540 --> 01:00:27,590 זה יילל למדי שלוש פעמים באופן טבעי, אבל זה מתוכנן טוב יותר. 333 01:00:27,590 --> 01:00:29,580 אני משתמש פחות יתיר. 334 01:00:29,580 --> 01:00:30,970 לא להעתיק ולהדביק כל דבר. 335 01:00:30,970 --> 01:00:32,470 השתמשתי רק רעיון טוב. 336 01:00:32,470 --> 01:00:35,340 >> עכשיו, זה עדיין לא כל כך מעניין עם שריטה לא עושה 337 01:00:35,340 --> 01:00:35,930 כל דבר. 338 01:00:35,930 --> 01:00:37,388 אז בוא נעשה משהו אחר במקום. 339 01:00:37,388 --> 01:00:38,670 בוא נעשה משהו לנצח. 340 01:00:38,670 --> 01:00:39,420 ואתם יודעים מה? 341 01:00:39,420 --> 01:00:40,470 Motion נראה מעניין. 342 01:00:40,470 --> 01:00:45,760 בואו יש לו להעביר 10 צעדים פגעו לשחק עכשיו. 343 01:00:45,760 --> 01:00:46,570 >> בסדר. 344 01:00:46,570 --> 01:00:49,300 ובכן, אנו יכולים סוג של דראג אותו בחזרה, והוא עדיין 345 01:00:49,300 --> 01:00:51,250 פועל משום שהוא עושה את זה לנצח. 346 01:00:51,250 --> 01:00:53,150 אז את הלולאה עושה מה זה אומר לעשות, 347 01:00:53,150 --> 01:00:54,650 אבל זה לא כל כך מעניין. 348 01:00:54,650 --> 01:00:55,310 בוא נעשה את זה. 349 01:00:55,310 --> 01:00:59,870 הרשו לי להוסיף בדבוקת שליטה, ולהשתמש אחד מאותם תנאים בפעם הראשונה. 350 01:00:59,870 --> 01:01:03,119 >> אז זה הולך להעביר 10 steps-- 10 נקודות, 10 פיקסלים על screen-- 351 01:01:03,119 --> 01:01:04,660 אז זה הולך לשאול את השאלה הזאת. 352 01:01:04,660 --> 01:01:09,340 אם משהו הוא נכון, אז לעשות משהו בתוך בלוק זה. 353 01:01:09,340 --> 01:01:13,060 אז מתברר לו חישה כולה חבורה של expressions-- בוליאני 354 01:01:13,060 --> 01:01:16,580 שאלות של כן לא או נכון שקר form-- הרשו לי לעשות זאת. 355 01:01:16,580 --> 01:01:19,260 >> אם touching-- ואז יש הירידה הקטנה הזה למטה בתפריט. 356 01:01:19,260 --> 01:01:20,410 אני יכול parameterize זה. 357 01:01:20,410 --> 01:01:23,010 אם נגיעת edge-- באה לעשות משהו כזה. 358 01:01:23,010 --> 01:01:27,310 אז אם נגיעה edge-- תן לי לחזור תנועה. 359 01:01:27,310 --> 01:01:32,281 ולמה אנחנו לא פשוט להסתובב 180 מעלות? 360 01:01:32,281 --> 01:01:32,780 בסדר. 361 01:01:32,780 --> 01:01:35,070 אז לנצח, לעבור 10 שלבים. 362 01:01:35,070 --> 01:01:37,670 אם אתה נוגע קצה, להפוך 180 מעלות. 363 01:01:37,670 --> 01:01:39,720 וזה לא הסוף של התוכנית בגלל שאתה בתוך גוש לנצח, 364 01:01:39,720 --> 01:01:42,053 אז זה הולך ללכת שוב שוב ושוב ושוב. 365 01:01:42,053 --> 01:01:43,980 אז בואו נראה מה קורה. 366 01:01:43,980 --> 01:01:44,785 בסדר. 367 01:01:44,785 --> 01:01:48,270 כרכרה קטנה, אבל די מגניבה. 368 01:01:48,270 --> 01:01:51,710 >> ואנחנו יכולים להוסיף על זה כמה דברים טיפשיים כי הם לא כל כך אינטלקטואליים 369 01:01:51,710 --> 01:01:52,270 מעניין. 370 01:01:52,270 --> 01:01:57,210 אבל אם פגענו זה קצת מיקרופון button-- אאוץ '. 371 01:01:57,210 --> 01:01:58,480 תן לי לנקות את זה. 372 01:01:58,480 --> 01:02:01,540 תנו לי לשפר את זה כמו הם היו אומרים בטלוויזיה. 373 01:02:01,540 --> 01:02:05,400 נקה כי עד, שמור, ואת עכשיו ללכת עד סקריפטים. 374 01:02:05,400 --> 01:02:07,500 >> ועכשיו, תן לי ללכת להישמע. 375 01:02:07,500 --> 01:02:09,002 תן לי לתת לו שם. 376 01:02:09,002 --> 01:02:12,440 אני אתקשר אאוץ זה. 377 01:02:12,440 --> 01:02:13,840 ועכשיו לשחק אאוץ קול. 378 01:02:13,840 --> 01:02:16,520 שימו לב שזה מופיע טיפה קטנה למטה בתפריט. 379 01:02:16,520 --> 01:02:17,612 בוא נראה. 380 01:02:17,612 --> 01:02:20,444 >> [אאוץ] 381 01:02:20,444 --> 01:02:24,377 >> [צוחק] 382 01:02:24,377 --> 01:02:25,835 אבל אנחנו יכולים לשנות t שלו על לטוס. 383 01:02:25,835 --> 01:02:28,106 אנחנו יכולים להיות פי שניים מעצבן. 384 01:02:28,106 --> 01:02:31,760 >> [אאוץ] 385 01:02:31,760 --> 01:02:35,332 >> או אם אנחנו עושים את זה כמו 1,000 צעדים בכל הבאה-- 386 01:02:35,332 --> 01:02:39,900 387 01:02:39,900 --> 01:02:40,670 >> בסדר. 388 01:02:40,670 --> 01:02:42,295 אז אנחנו הולכים לעזוב כי אחד לבד. 389 01:02:42,295 --> 01:02:45,290 אז שוב, בנייה שאני blocks-- התחיל עם משהו פשוט סופר, 390 01:02:45,290 --> 01:02:47,930 ואז הוספתי תכונה, נוסף תכונה, הוסיף תכונה. 391 01:02:47,930 --> 01:02:50,721 ואני כבר לא מרגיש צורך לדאוג איך הראשון של תכונות אלה 392 01:02:50,721 --> 01:02:53,690 יושם בעודי ממשיך שכבת דברים על גבי. 393 01:02:53,690 --> 01:02:55,430 אז למעשה, תן לי לעשות אחד כאן אחר. 394 01:02:55,430 --> 01:03:00,580 תן לי להמשיך לפתוח קובץ הבאתי מראש, שנקרא כבשים. 395 01:03:00,580 --> 01:03:03,970 >> אז יש לה מעט שונה אופי זה נראה ככה. 396 01:03:03,970 --> 01:03:07,370 ובואו לראות אותי אם אני לא יכול לעשות משהו בעזרת מונה 397 01:03:07,370 --> 01:03:09,310 ב זה case-- משתנה שנקרא. 398 01:03:09,310 --> 01:03:15,540 אני הולך קדימה, תחת Events-- תן לי לקבל לוחצי דגל ירוק. 399 01:03:15,540 --> 01:03:19,030 אז הרשה לי ללכת נתונים, אשר אני יודע מ רק משתעשע לפני, 400 01:03:19,030 --> 01:03:20,214 מקום שבו שמשתנים. 401 01:03:20,214 --> 01:03:21,880 ואני הולך קדימה וגרור זה. 402 01:03:21,880 --> 01:03:25,144 >> אז משתנים בשם דלפק, אני הולך לאתחל את זה לאפס. 403 01:03:25,144 --> 01:03:27,560 אני יכול לקרוא לזה anything-- x או y או z-- אבל בתכנות, 404 01:03:27,560 --> 01:03:30,410 קורא משהו בתוך סמנטי דרך יעילה, כמו דלפק, 405 01:03:30,410 --> 01:03:34,540 המתאר את מה שזה לא יהיה, זה הרבה יותר קל לקרוא את הקוד שלך מאוחר יותר. 406 01:03:34,540 --> 01:03:37,460 תן לי להמשיך ולקבל לנצח לחסום כאן. 407 01:03:37,460 --> 01:03:41,289 ותן לי ללכת המבטים דף ולעשות בלוק Say. 408 01:03:41,289 --> 01:03:44,330 אבל מה זה מגניב על משתנים הוא שאני לא צריך פשוט להקליד משהו 409 01:03:44,330 --> 01:03:47,850 כמו hello world, אשר יש לנו כבר נעשה, אני במקום יכול ללכת נתונים 410 01:03:47,850 --> 01:03:50,690 וגרור משתנה שלי, ואפילו למרות הצורה לא ממש 411 01:03:50,690 --> 01:03:53,000 נראה כאילו הוא צריך להתאים, הוא יצמח למלא. 412 01:03:53,000 --> 01:03:58,396 ואני רק אומר דלפק עבור אחד spoiler-- שהדבר-- הוא הולך לספור. 413 01:03:58,396 --> 01:04:00,380 אנחנו נגיד שזה למשך שנייה אחת. 414 01:04:00,380 --> 01:04:02,840 אז אני הולך ללכת יש לו לחכות שנייה אחת, 415 01:04:02,840 --> 01:04:04,650 אז זה לא נחשב מהר מדי. 416 01:04:04,650 --> 01:04:08,430 ואז ולבסוף, לשנות דלפק על ידי one-- במילים אחרות, 417 01:04:08,430 --> 01:04:13,520 להגדיל הדלפק ידי אחד ערך נוסף ולעשות את זה לנצח. 418 01:04:13,520 --> 01:04:16,129 >> אז הכבשים מדי, כמו מתכנת, סופרת מ -0. 419 01:04:16,129 --> 01:04:20,350 420 01:04:20,350 --> 01:04:23,740 ואם נחכה מספיק זמן, הוא יעשה את זה לנצח. 421 01:04:23,740 --> 01:04:27,740 אבל זה לא בדיוק נכון, כי למעשה, כפי שאנו נגלה בשבוע אחד, 422 01:04:27,740 --> 01:04:31,871 מספרים שלמים ומחשבים באופן כללי יותר, יש טכני רק finite-- היטב, 423 01:04:31,871 --> 01:04:33,829 אלא מחשבים, כאשר הם מייצגים מספרים שלמים, 424 01:04:33,829 --> 01:04:35,670 יש רק מספר סופי של ביטים. 425 01:04:35,670 --> 01:04:37,860 הנורות האלה יש יכולים לסמוך רק כך גבוה 426 01:04:37,860 --> 01:04:39,239 לפני שאתה מחוץ נורות. 427 01:04:39,239 --> 01:04:41,590 ומחשב מדי, יש רק זיכרון כל כך הרבה, 428 01:04:41,590 --> 01:04:44,640 יש רק כל כך הרבה טרנזיסטורים, כך שהוא יכול לספור כל כך גבוה רק. 429 01:04:44,640 --> 01:04:47,409 >> אז מתברר כי הכבשים, אני חושב, יכול לספור עד 2 מיליארד 430 01:04:47,409 --> 01:04:48,409 או משהו די גדול. 431 01:04:48,409 --> 01:04:50,325 אז אנחנו לא הולכים לחכות שזה יקרה. 432 01:04:50,325 --> 01:04:54,850 אבל בסופו של דבר כמה באגים יקרו כי יכול להיות כמה עולם מאוד אמיתי 433 01:04:54,850 --> 01:04:55,970 השלכות. 434 01:04:55,970 --> 01:04:58,861 אבל מעבר הכבשים, כי רק הכניס משתנה. 435 01:04:58,861 --> 01:05:01,110 בואו נלך קדימה ולפתוח משהו שעשיתי מראש 436 01:05:01,110 --> 01:05:07,430 כאן נקרא ללטף את Cat-- ללטף את החתולה לכאן. 437 01:05:07,430 --> 01:05:10,420 ושימו לב כאן זה כמה בלוקים, אבל כאשר דגל ירוק 438 01:05:10,420 --> 01:05:12,474 נקש, לנצח ביצוע הפעולות הבאות. 439 01:05:12,474 --> 01:05:15,265 אם אתה נוגע בעכבר pointer-- כך את הסמן על המסך, 440 01:05:15,265 --> 01:05:18,529 מציאה גדולה arrow-- משחק קול ואז לחכות שתי שניות. 441 01:05:18,529 --> 01:05:19,570 ובדיוק לשם כך לנצח. 442 01:05:19,570 --> 01:05:22,619 רק זמן לחכות כדי לראות אם pointer-- 443 01:05:22,619 --> 01:05:24,710 אם החתול נוגע מצביע. 444 01:05:24,710 --> 01:05:26,060 >> אז לחצתי על כפתור ההפעלה. 445 01:05:26,060 --> 01:05:26,920 שום דבר לא קורה. 446 01:05:26,920 --> 01:05:28,980 אבל כמו שאני מזיז את הסמן מעל החתול, 447 01:05:28,980 --> 01:05:31,960 >> [מיילל] 448 01:05:31,960 --> 01:05:34,750 >> ואם אני להזיז אותו משם, לא ליטוף החתול יותר. 449 01:05:34,750 --> 01:05:38,090 אז איזה היגיון מותנה מקונן בתוך לולאה. 450 01:05:38,090 --> 01:05:43,070 מה דעתך על בדוגמה זו, בכוונה קרא אל ללטף את החתולה? 451 01:05:43,070 --> 01:05:45,253 מה זה הולך לעשות? 452 01:05:45,253 --> 01:05:47,880 >> [מיילל] 453 01:05:47,880 --> 01:05:50,215 >> למה אתה צריך לא ללטף את החתול? 454 01:05:50,215 --> 01:05:59,440 >> [מיילל] 455 01:05:59,440 --> 01:06:00,699 >> בסדר. 456 01:06:00,699 --> 01:06:03,880 אז זהו דוגמא אם אחר. 457 01:06:03,880 --> 01:06:06,482 זוהי נקודת החלטה כי זה יושב בתוך הלולאה, 458 01:06:06,482 --> 01:06:07,690 שניהם מקבלים בדק. 459 01:06:07,690 --> 01:06:08,280 זה נכון? 460 01:06:08,280 --> 01:06:08,760 זה נכון? 461 01:06:08,760 --> 01:06:09,250 זה נכון? 462 01:06:09,250 --> 01:06:09,791 זה נכון? 463 01:06:09,791 --> 01:06:11,880 ובסופו של דבר, אחד אלה הולכים ליישם 464 01:06:11,880 --> 01:06:16,480 ולכן אתה שומע גם את מיאו או שאגת האריה במקרה זה. 465 01:06:16,480 --> 01:06:21,400 >> ובכן, בוא נעשה אחד מפואר מעט יותר כי עשיתי מראש מדי-- אשכולות. 466 01:06:21,400 --> 01:06:25,210 אז חוט הוא רק אחד דברים שמחשב יכול לעשות. 467 01:06:25,210 --> 01:06:29,349 אז תכנית ריבוי הליכים היא תכנית שיכול לעשות דברים בו-זמנית. 468 01:06:29,349 --> 01:06:31,140 וכל הדוגמאות הללו עד כה היו 469 01:06:31,140 --> 01:06:35,980 רק תסריט אחד, אם אפשר speak-- תוכנית אחת כמו את זה כאן. 470 01:06:35,980 --> 01:06:38,810 אבל לב בתוכנית זו יש שני שדונים, שתי דמויות. 471 01:06:38,810 --> 01:06:40,020 האחת היא ציפור. 472 01:06:40,020 --> 01:06:40,870 האחת היא חתול. 473 01:06:40,870 --> 01:06:45,080 >> ושימו לב כאשר אני לוחץ על למטה אלה יש שמאל, הם כל התסריטים שלהם 474 01:06:45,080 --> 01:06:47,120 או תוכניות הקשורים בהם. 475 01:06:47,120 --> 01:06:49,420 ושניהם מאותם תוכניות, הודעה, התחלה 476 01:06:49,420 --> 01:06:52,600 עם כאשר clicked-- דגל ירוק בואו להסתכל cat-- 477 01:06:52,600 --> 01:06:54,030 כאשר הדגל הירוק נקש. 478 01:06:54,030 --> 01:06:58,220 וכך אכן, כשאני פגעתי לשחק עכשיו, שני דברים הולכים לקרות בבת אחת. 479 01:06:58,220 --> 01:07:01,750 החתול והציפור הן הולך לפעול בעת ובעונה אחת 480 01:07:01,750 --> 01:07:03,815 כדי ליצור את האפקט הזה. 481 01:07:03,815 --> 01:07:05,440 ואתה יכול לתאר לעצמך מה קורה. 482 01:07:05,440 --> 01:07:08,340 יש לולאה והציפור והחתול מסודר בלולאה. 483 01:07:08,340 --> 01:07:11,270 ציפור רק היא מקפצת כמו הייתי לפני כשאמרתי אאוץ '. 484 01:07:11,270 --> 01:07:13,040 אבל החתול אינו ברור יתרון. 485 01:07:13,040 --> 01:07:16,040 יש עוד גוש חישה שמצביע החתול בכוונה 486 01:07:16,040 --> 01:07:19,836 אל הציפור במקרה הזה כאן. 487 01:07:19,836 --> 01:07:22,960 כדי שנוכל ניסינו להפריד, ע"י הסתכלות באמצעות בלוקים אלה, מה קורה. 488 01:07:22,960 --> 01:07:25,460 אבל המרכיב העיקרי כאן הוא אחד. 489 01:07:25,460 --> 01:07:28,520 ציפור, כך שהמשחק הזה הוא לא boring-- או זה animation-- לחלוטין 490 01:07:28,520 --> 01:07:30,060 מתחיל ב בכיוון אקראי. 491 01:07:30,060 --> 01:07:32,890 והמחשב לקטוף מספר בין 90 ו -180 492 01:07:32,890 --> 01:07:36,110 למעשה, כך שזה מעט אנימציה שונה בכל פעם. 493 01:07:36,110 --> 01:07:39,480 >> ואז מבחין כאן, אם החתול נוגע בציפור, אז 494 01:07:39,480 --> 01:07:42,030 לשחק האריה ארבעה sound-- השאגה. 495 01:07:42,030 --> 01:07:46,330 אבל בינתיים בציפור של לוח, יש לנו את זה. 496 01:07:46,330 --> 01:07:49,229 Forever, אם לא נוגע חתול, רק להמשיך לנוע בשלושה שלבים. 497 01:07:49,229 --> 01:07:50,770 ואז הנה עוד פיסת הפאזל. 498 01:07:50,770 --> 01:07:52,030 אם אתה על סף ייאוש, להקפיץ. 499 01:07:52,030 --> 01:07:54,840 אז ציפור היא פשוט סוג של עסוק בענייניו, 500 01:07:54,840 --> 01:07:57,330 רק עף ו הקפצה, וזה באמת 501 01:07:57,330 --> 01:08:01,780 החתול היה ההיגיון המותנה כדי לקבוע אם הוא תפס את הציפור. 502 01:08:01,780 --> 01:08:02,280 בסדר. 503 01:08:02,280 --> 01:08:08,800 אז בוא נעשה אחד אחר כאן, אחד זה להיקרא היי היי היי. 504 01:08:08,800 --> 01:08:15,100 ואת זה כאן פשוט עושה זה בלולאה לנצח. 505 01:08:15,100 --> 01:08:18,925 אבל notice-- איך נעצור זו תוכנית מאוד מעצבן? 506 01:08:18,925 --> 01:08:21,600 507 01:08:21,600 --> 01:08:22,640 הכה את מקש הרווח. 508 01:08:22,640 --> 01:08:27,990 כי אם אני עושה את זה, program-- יד שמאל 509 01:08:27,990 --> 01:08:31,550 שימי לב שזו זמן הקשבתי-- הוא בעיתונות שטח המפתח. 510 01:08:31,550 --> 01:08:34,090 אם על מקש הרווח לחוץ, ואם כן, מה הוא עושה? 511 01:08:34,090 --> 01:08:35,980 הוא עושה טכניקה נפוצה מאוד. 512 01:08:35,980 --> 01:08:38,590 הצעה זו קובעת משתנה שווה ערך כלשהו. 513 01:08:38,590 --> 01:08:39,741 אבל זה מחליף ערך. 514 01:08:39,741 --> 01:08:41,490 [? אז מראה?] מבוסס על I shape-- 515 01:08:41,490 --> 01:08:43,160 יש משתנה שאני כתב מראש בשם 516 01:08:43,160 --> 01:08:44,770 מושתק, אשר רק אומר כן או לא. 517 01:08:44,770 --> 01:08:45,880 האם הקול מושתק או לא? 518 01:08:45,880 --> 01:08:46,990 אמת או שקר? 519 01:08:46,990 --> 01:08:51,580 ושים לב, אני אומר זה- אם מושתק הוא אפס, אז לשנות לאחד, 520 01:08:51,580 --> 01:08:53,840 אחר הגדיר אילם זה לאפס. 521 01:08:53,840 --> 01:08:55,540 אז פשוט הזז את הערך מאפס עד אחד. 522 01:08:55,540 --> 01:08:58,320 יכולתי done-- לשנותה משתיים לשלוש ושלוש עד שני 523 01:08:58,320 --> 01:09:00,162 או ארבעה לחמישה או ארבעה לשישה. 524 01:09:00,162 --> 01:09:01,870 אבל זה לא משנה מה מספר אני משתמש, 525 01:09:01,870 --> 01:09:04,090 כל עוד אני שומר שינוי זה ההיפך. 526 01:09:04,090 --> 01:09:07,290 >> והכי כל מתכנת היה פשוט לבחור אפס one-- שווא ואמיתי, 527 01:09:07,290 --> 01:09:09,510 מפעם לפעם on-- לייצג את. 528 01:09:09,510 --> 01:09:10,930 וזה עדיין פועל. 529 01:09:10,930 --> 01:09:12,190 אם אני לוחץ על המקש הרווח שוב 530 01:09:12,190 --> 01:09:13,590 >> [SEAL SOUNDS] 531 01:09:13,590 --> 01:09:15,440 >> התכנית עדיין פועלת. 532 01:09:15,440 --> 01:09:18,400 כי יש סקריפט אחרים זה שאומר, לנצח לבצע את הפעולות הבאות. 533 01:09:18,400 --> 01:09:21,390 534 01:09:21,390 --> 01:09:24,770 אם המשתנה המושתק שווה zero-- כך שאם אתה לא מושתק 535 01:09:24,770 --> 01:09:29,609 logic-- היא אם זה שקר או לא, ואז להשמיע את הצליל, 536 01:09:29,609 --> 01:09:30,650 בגלל שאתה לא מושתק. 537 01:09:30,650 --> 01:09:33,358 אתה צריך לשחק את הצליל ולאחר מכן חושב היי היי היי למשך שתי שניות 538 01:09:33,358 --> 01:09:35,790 ואז לחכות, ולעשות את זה שוב ושוב ושוב. 539 01:09:35,790 --> 01:09:40,760 >> וכך, בדרך זו יש לנו דרך אנשים עם-- עבור תוכניות כדי אינטראקציה. 540 01:09:40,760 --> 01:09:43,120 והם לא צריכים כמו לתארך כמו אחרים. 541 01:09:43,120 --> 01:09:46,280 למעשה, תוקעת around-- לא משחק מלים intended-- 542 01:09:46,280 --> 01:09:49,250 מישהו השקיע סכום עצום של זמן באינטרנט ביישום 543 01:09:49,250 --> 01:09:51,580 PokemonGo ב Scratch. 544 01:09:51,580 --> 01:09:55,440 זה אפילו geolocates אותך קיימברידג 'או אלסטון כאן. 545 01:09:55,440 --> 01:10:03,120 אז אם אתה רוצה לראות גם מה אנשים יכול לעשות הוא זה- תפריט מפואר מאוד. 546 01:10:03,120 --> 01:10:04,780 לחץ כאן. 547 01:10:04,780 --> 01:10:07,430 >> זה אני עם מקשי החצים שלי עכשיו. 548 01:10:07,430 --> 01:10:09,446 אני הולך אחרי זה. 549 01:10:09,446 --> 01:10:09,946 נְקִישָׁה. 550 01:10:09,946 --> 01:10:12,949 551 01:10:12,949 --> 01:10:14,240 ועכשיו אתה לוחץ על Pokeball. 552 01:10:14,240 --> 01:10:17,130 553 01:10:17,130 --> 01:10:20,260 כלומר, אני חושב שאתה אמור לסמן את Pokeball. 554 01:10:20,260 --> 01:10:20,760 בסדר. 555 01:10:20,760 --> 01:10:22,680 אז עשיתי את זה. 556 01:10:22,680 --> 01:10:23,950 אני יכול ללכת לכאן. 557 01:10:23,950 --> 01:10:27,790 והאדם הזה מיושם עוד קצת PokeBalls מעל כאן-- שלושה PokeBalls. 558 01:10:27,790 --> 01:10:29,950 >> נפרסם קישור זה באינטרנט, כך שאתה יכול לשחק. 559 01:10:29,950 --> 01:10:32,364 אבל ההודעה יש רק כמה אבני בניין בסיסיים. 560 01:10:32,364 --> 01:10:33,780 זה נראה הרבה להשתכלל, וזה. 561 01:10:33,780 --> 01:10:35,905 זה מרשים יותר ממה שהיו בדרך כלל 562 01:10:35,905 --> 01:10:37,740 לצפות, בוודאי עבור בעיה להגדיר אפס. 563 01:10:37,740 --> 01:10:40,809 אין לי מושג כמה זמן אדם זה בילה באינטרנט. 564 01:10:40,809 --> 01:10:41,850 אבל זה מכיל רק לולאה. 565 01:10:41,850 --> 01:10:43,180 יש משחק קול. 566 01:10:43,180 --> 01:10:44,850 יש איזשהו לולאה האזנה עבור אם אני 567 01:10:44,850 --> 01:10:47,558 מכה על החץ למעלה או למטה חץ או השמאל והימין, 568 01:10:47,558 --> 01:10:49,834 ולאחר מכן ואם כן, זה זז זה קצת מספר הפיקסלים. 569 01:10:49,834 --> 01:10:51,750 ואז אם אני לוחץ על ספרייט אחר, יש 570 01:10:51,750 --> 01:10:53,390 איזה אם המצב שם. 571 01:10:53,390 --> 01:10:54,806 כן, זה הוא מקבל מדי אינטנסיבי. 572 01:10:54,806 --> 01:10:56,100 אנחנו הולכים לעצור. 573 01:10:56,100 --> 01:10:57,750 זה כל אלה אבני הבניין הבסיסיות. 574 01:10:57,750 --> 01:11:01,530 אין מרכיבים אחרים אחרים מאלו בדקנו כבר. 575 01:11:01,530 --> 01:11:04,670 >> ובכל זאת, הנה, תן לי לעשות קבוצה אחת סופית של דוגמאות 576 01:11:04,670 --> 01:11:06,960 כי מצייר תמונה מדי מה אתה יכול לעשות כאן. 577 01:11:06,960 --> 01:11:10,481 הנה תוכנית פשוטה מאוד כי פשוט עושה זה- שיעול, שיעול, שיעול. 578 01:11:10,481 --> 01:11:12,480 וזה רק על סמך מה בדקנו עד כה, 579 01:11:12,480 --> 01:11:14,570 איפה את המובן מאליו הזדמנות לשיפור. 580 01:11:14,570 --> 01:11:15,570 תכנית זו היא נכונה. 581 01:11:15,570 --> 01:11:17,980 זה משתעל שלוש פעמים, וזה מה שהתכוונתי. 582 01:11:17,980 --> 01:11:19,650 אבל זה מיושם בצורה גרועה. 583 01:11:19,650 --> 01:11:20,600 הוא מעוצב בצורה קשה. 584 01:11:20,600 --> 01:11:22,000 למה? 585 01:11:22,000 --> 01:11:22,500 כֵּן. 586 01:11:22,500 --> 01:11:23,230 זה לא לולאה. 587 01:11:23,230 --> 01:11:24,610 וזה לא כל כך הרבה שזה לא לולאה, 588 01:11:24,610 --> 01:11:26,400 זה שיש הרבה יתירות. 589 01:11:26,400 --> 01:11:28,830 יש מועתק קוד מודבק, אם אפשר לומר כך. 590 01:11:28,830 --> 01:11:31,830 והפתרון כנראה אכן הוא לולאה. 591 01:11:31,830 --> 01:11:34,350 אז תן לי ללכת קדימה ולשפר עם זה. 592 01:11:34,350 --> 01:11:36,250 ואני הולך לגרור את אלה כאן. 593 01:11:36,250 --> 01:11:39,986 תן לי להמשיך ולקבל חזרה בלוק, לשנות את זה שלוש. 594 01:11:39,986 --> 01:11:41,860 אני הולך לזרוק כמה בלוקים אלה. 595 01:11:41,860 --> 01:11:43,150 >> ותבחין זה די אינטואיטיבי. 596 01:11:43,150 --> 01:11:45,691 אתה גרור ושחרר ודברים מופיע ונעלם בסופו של דבר. 597 01:11:45,691 --> 01:11:49,170 ואני רק יכול לגרור את זה כאן, עכשיו יש לי גרסה נקיה עדיין. 598 01:11:49,170 --> 01:11:50,730 אבל אתה יודע מה? 599 01:11:50,730 --> 01:11:52,940 יש זה הזדמנות עכשיו abstraction-- 600 01:11:52,940 --> 01:11:56,350 כדי להתחיל להגדיר אוצר מילים חדש כי MIT לא צפה. 601 01:11:56,350 --> 01:11:59,110 יש להמתין וחזור ו לנצח ואם, 602 01:11:59,110 --> 01:12:02,590 אבל מה אם אני רוצה להציג המילה שיעול כבלוק? 603 01:12:02,590 --> 01:12:06,230 מה אם אני רוצה חתיכת פאזל המטרה בחיים שלו היא להשתעל? 604 01:12:06,230 --> 01:12:10,720 >> ובכן, בואו נסתכל על גרסה זו כאן, אשר עשיתי כדלקמן. 605 01:12:10,720 --> 01:12:13,579 באורח פלא, אני יצרתי פיסת הפאזל הזה כאן, 606 01:12:13,579 --> 01:12:14,870 אשר Scratch מאפשרת לך לעשות. 607 01:12:14,870 --> 01:12:16,787 ואכן C ו- Python ו- JavaScript 608 01:12:16,787 --> 01:12:18,370 הולך כדי לאפשר לך לעשות גם את זה. 609 01:12:18,370 --> 01:12:21,830 אתה יכול ליצור מותאם אישית משלך חתיכות כי אתה קורא את מה שאתה רוצה. 610 01:12:21,830 --> 01:12:24,890 במקרה זה, שיעול מרגיש כמו הגדרה סבירה. 611 01:12:24,890 --> 01:12:27,880 ואז עם היצירות האלה למטה כאן אתה יכול להגדיר מה זה אומר. 612 01:12:27,880 --> 01:12:30,290 >> גררתי וירד מ לוח זה כאן-- יותר 613 01:12:30,290 --> 01:12:33,500 blocks-- גדול זה סגול סגור שבו הקלדתי שיעול 614 01:12:33,500 --> 01:12:35,290 כפי שהשם של פיסת הפאזל החדשה שלי. 615 01:12:35,290 --> 01:12:39,920 ואז אני אומר כל פעם שמשתמש קורא פיסת הפאזל שיעול החדש הזה, 616 01:12:39,920 --> 01:12:41,770 לעשות נגיד ומתנה. 617 01:12:41,770 --> 01:12:46,160 וכך עד כאן בבלוק החוזר שלי, אני יכול רק להשתעל שלוש פעמים. 618 01:12:46,160 --> 01:12:49,972 >> ואני אטען, במיוחד אם עכשיו אתה להסתיר פרט זה. 619 01:12:49,972 --> 01:12:51,430 למי אכפת איך שיעול מיושם? 620 01:12:51,430 --> 01:12:54,390 כל מה שחשוב לי בתור מתכנת שאני יכול להשתעל. 621 01:12:54,390 --> 01:12:56,280 לא אכפת לי איך לומר הוא מיושם. 622 01:12:56,280 --> 01:12:58,620 אני פשוט אכפת כי חתול יכול לומר משהו. 623 01:12:58,620 --> 01:13:02,720 אני יכול מופשט משם כי מידת הפירוט רק להתמקד במה על המסך כאן. 624 01:13:02,720 --> 01:13:04,400 אבל אני יכול לקחת את זה צעד אחד קדימה. 625 01:13:04,400 --> 01:13:08,070 >> שימו לב שגם כאן, יש לי יישם את הלולאה שלוש פעמים. 626 01:13:08,070 --> 01:13:11,560 אבל מה אם במקום אני תופס בגרסה זו? 627 01:13:11,560 --> 01:13:14,640 ומה אם במקום בגרסה זו כאן, 628 01:13:14,640 --> 01:13:18,730 אני פשוט לשנות פיסת הפאזל שלי לקחת ויכוח וקלט בפני עצמו? 629 01:13:18,730 --> 01:13:21,100 ותשומת שיכול להיות מספר כמו שלוש. 630 01:13:21,100 --> 01:13:24,580 אז עכשיו, אם אני כותב תוכנית ואני רוצה את החתול להשתעל, 631 01:13:24,580 --> 01:13:28,270 אני באמת יכול להגיד את הפאזל חתיכה כמה פעמים להשתעל, 632 01:13:28,270 --> 01:13:31,990 כי בתחתית פה, להשתכלל הגרסה של חתיכות הפאזל מותאמים אישית אלה 633 01:13:31,990 --> 01:13:34,500 מאפשר לי לציין כי שיעול בעצם לוקח 634 01:13:34,500 --> 01:13:36,951 input-- לוקח ויכוח כזה. 635 01:13:36,951 --> 01:13:37,700 ואתם יודעים מה? 636 01:13:37,700 --> 01:13:38,890 אולי אני מבין, חכה רגע. 637 01:13:38,890 --> 01:13:40,680 שיעול הוא same-- זה מן היסוד 638 01:13:40,680 --> 01:13:42,120 אותו רעיון כמו התעטשות. 639 01:13:42,120 --> 01:13:44,040 זה פשוט שונה מילה על המסך. 640 01:13:44,040 --> 01:13:46,550 אני יכול מופשט משם עוד וליישם 641 01:13:46,550 --> 01:13:48,750 הגרסה הסופית של זה שיעול, אשר במבט ראשון 642 01:13:48,750 --> 01:13:50,660 הוא הרבה יותר מורכב מחפש. 643 01:13:50,660 --> 01:13:52,140 אבל שים לב למה שעשיתי. 644 01:13:52,140 --> 01:13:55,930 יש לי עכשיו generalized-- genericized באמת-- פיסת הפאזל הזה 645 01:13:55,930 --> 01:13:59,900 להיקרא לומר מילה n פעמים. 646 01:13:59,900 --> 01:14:04,410 >> ועכשיו יש לי שתי חתיכות פאזל חדשות כאן למטה להגדיר שיעול n פעמים. 647 01:14:04,410 --> 01:14:06,790 ומה פונקצית השיעול לעשות? 648 01:14:06,790 --> 01:14:08,420 מה עושה פיסת הפאזל המותאמת אישית שלי? 649 01:14:08,420 --> 01:14:11,996 זה פשוט קורא את הגוש יניח, עובר את המילה שאני רוצה להגיד, 650 01:14:11,996 --> 01:14:13,870 עובר במספר פעמים אני רוצה לומר. 651 01:14:13,870 --> 01:14:18,210 כי עכשיו אני יכול ליישם להתעטש על ידי פשוט אומר באצ'ו, 652 01:14:18,210 --> 01:14:20,320 במקרה זה, מספר כמה פעמים. 653 01:14:20,320 --> 01:14:22,360 >> וכך אני שכבות ו שכבות. 654 01:14:22,360 --> 01:14:25,690 ושוב, המפתח כאן הוא לא איך מימשתי את זה, אבל העובדה 655 01:14:25,690 --> 01:14:28,070 שאם אני פשוט ממש להזיז אלה מהמסך, 656 01:14:28,070 --> 01:14:31,280 תראה כמה פשוט אם לא די התוכנית שלי עכשיו נראה. 657 01:14:31,280 --> 01:14:33,930 כי זה עושה מה שהוא אומר, אני כבר הפשטה 658 01:14:33,930 --> 01:14:37,640 משם מה יש בתוכו את הקופסה השחורה. זה קורה להיות מלבן סגול כאן, 659 01:14:37,640 --> 01:14:41,430 אבל אני כבר חסום במרחק מה יש בפנים כי לא אכפת לי איך זה עובד. 660 01:14:41,430 --> 01:14:43,650 אני פשוט אכפת עכשיו זה עובד. 661 01:14:43,650 --> 01:14:46,375 >> ואכן, בבעיה להגדיר אפס, זה בדיוק 662 01:14:46,375 --> 01:14:49,250 סוג של שכבות של רעיונות תמצאו יש את ההזדמנות כדי לחקור. 663 01:14:49,250 --> 01:14:53,510 זה בדיוק ההזדמנות ליישם טכניקות לפתרון הבעיה, 664 01:14:53,510 --> 01:14:55,550 למה להניח שמדובר בסביבה לא מוכרת. 665 01:14:55,550 --> 01:14:57,890 והאם כבר לא אתה מתוכנת לפני או מתוכנת לפני, 666 01:14:57,890 --> 01:14:59,500 אתה תמצא כי יש משהו קטן 667 01:14:59,500 --> 01:15:00,874 בסביבה זו לכולם. 668 01:15:00,874 --> 01:15:02,770 ועם בעיה להגדיר אחד בעוד שבוע, 669 01:15:02,770 --> 01:15:06,630 נצטרך יועבר להתמקדות על שפה ברמה גבוהה יותר הנקראת 670 01:15:06,630 --> 01:15:09,290 C-- או ליתר דיוק נמוך שפה ברמה שנקראה 671 01:15:09,290 --> 01:15:11,347 C-- זה אפילו יותר עצמה, למרות שזה 672 01:15:11,347 --> 01:15:12,930 קצת יותר נסתר במבט ראשון. 673 01:15:12,930 --> 01:15:16,740 >> ואתה תבין לכל TL של היום: DR, יש שבעיה זו להגדיר קצרה 674 01:15:16,740 --> 01:15:19,880 חלון של זמן מאשר בעתיד אלה, פשוט כי אתה צריך לתת לו דירוג בינוני 675 01:15:19,880 --> 01:15:20,420 נגיש. 676 01:15:20,420 --> 01:15:22,211 ולא לדאוג אם אתה מוסיף את כיתת הערב. 677 01:15:22,211 --> 01:15:23,920 נצטרך לטפל שלא יעבור זמן רב. 678 01:15:23,920 --> 01:15:28,480 ולפני נתפזר לעוגה, בואו לסיים עם רק מבט של שתי דקות 679 01:15:28,480 --> 01:15:30,500 ובאיזה מחכה לכם כאן CS50. 680 01:15:30,500 --> 01:15:40,950 681 01:15:40,950 --> 01:17:20,803 [מוסיקה מתנגנת] 682 01:17:20,803 --> 01:17:21,302 בסדר. 683 01:17:21,302 --> 01:17:22,690 זהו זה עבור CS50. 684 01:17:22,690 --> 01:17:23,650 אנו נראה אותך בקרוב. 685 01:17:23,650 --> 01:17:25,526 עוגה עכשיו שירתה. 686 01:17:25,526 --> 01:17:28,998 687 01:17:28,998 --> 01:18:14,267 [מוסיקה מתנגנת] 688 01:18:14,267 --> 01:18:16,350 SPEAKER 17: האם שמעת של שבתון, ראשי? 689 01:18:16,350 --> 01:18:29,490 690 01:18:29,490 --> 01:18:31,920 SPEAKER 18: אולי יש יותר מתחת למכסה המנוע. 691 01:18:31,920 --> 01:18:38,279